Commit graph

1970 commits

Author SHA1 Message Date
infinite-persistence 163a10602c
CodeSplit: Show top loading bar while fetching
TODO: Get the primary color programatically
2021-06-25 16:00:46 +08:00
infinite-persistence aaffd3b089
CodeSplit: Load 3rd-party css before ours.
A temporary solution until we code-split css.
2021-06-25 16:00:45 +08:00
infinite-persistence 60afbaf873
CodeSplit: Consolidate "secondary" chunk.
These are chunks that will be requested immediately after ui.js when opening the homepage, so consolidate them into 1 chunk to reduce network overhead.

More work can/should be done to reduce the secondary chunk.
2021-06-25 16:00:44 +08:00
infinite-persistence 3539031e5a
CodeSplit: Initial work 2021-06-25 16:00:44 +08:00
infinite-persistence 5a467af1f0
i18n 2021-06-25 09:19:17 +08:00
saltrafael 2bfc5d7669 Don't allow editing someone else's Channel 2021-06-23 15:21:49 -04:00
saltrafael 852819dd00 Add back re-direct 2021-06-23 15:21:49 -04:00
saltrafael 360f64e71f Fix repost deletion 2021-06-23 15:21:49 -04:00
infinite-persistence aa8b26b5ca Wunderbar: immediate feedback to convey status
Make immediate GUI feedback to convey the current status, which can be the following:
- typing
- waiting lighthouse results
- waiting claim resolve
- no results or failed.
2021-06-23 14:15:59 -04:00
infinite-persistence 36ac9e038d Wunderbar: change throttle to debounce + add min chars
## Issue
6314: prevent lighthouse spam from wunderbar

## Changes
- Wunderbar: change throttle to debounce + add min chars.
- useLighthouse: added option to not throttle.
2021-06-23 14:15:59 -04:00
infinite-persistence 2ba3f05725 FileThumbnail: don't go through optimizer if GIF
## Issue
6301: don't use CDN for GIF thumbnails

## Note
Just a minor mistake in the recent thumbnail refactoring; left out the handling when `allowGif` is true.
2021-06-23 14:15:37 -04:00
zeppi 1b528ea856 remove google sidebar ads 2021-06-23 08:54:19 -04:00
zeppi 16cfe1c815 remove junk 2021-06-22 14:18:31 -04:00
DispatchCommit d83856c6cf define magic numbers as constants 2021-06-22 07:42:52 -07:00
Dispatch f6176f048d
Merge pull request #6268 from saltrafael/scrollback
Button to scroll to recent live chats (scroll to bottom)
2021-06-22 07:29:21 -07:00
saltrafael 2fcc57dbba lint 2021-06-21 11:06:16 -03:00
saltrafael 52f15df5a3 Only show when not at most recent comment 2021-06-21 10:51:07 -03:00
infinite-persistence 7d9fe35d18 i18n 2021-06-21 18:21:18 +08:00
infinite-persistence 244f5ecaa4 Fix videos not switching when floating player is up
## Issue
6278 Video doesn't switch when floating player is up

## Notes
Not sure why the double `src` call is needed, but it is.
2021-06-19 11:23:29 -04:00
infinite-persistence 3db845b9bf
Allow creators to assign moderators from a comment context-menu. 2021-06-19 18:00:02 +08:00
infinite-persistence 9f9d0a651b Moderation: resolve chan name or URL instead of using Lighthouse.
While Lighthouse allows looser searching like "Tom from LBRY", it doesn't show the expected results when direct channel name with partial ID is entered to disambiguate.
2021-06-19 17:11:45 +08:00
zeppi 13c2c8a9ab small i18n fixes 2021-06-18 19:08:08 -04:00
infinite-persistence fbcb740dc9 Move 'Download' and 'Report Content' into overflow menu.
## Issue
6236 Add context menu to file page

## Notes
The download button actually handles a lot of things -- generating 'streamingUrl', differences between Web and Desktop, download progress for Desktop, etc.  A simpler fix would be to put something else (maybe "Share") into the overflow menu instead.

Anyway, went ahead to do it per 6236, but retained the item for Desktop since we need a progress label.
2021-06-18 15:50:13 -04:00
infinite-persistence 337cfd8769 Moderator Delegation GUI 2021-06-18 15:46:51 -04:00
infinite-persistence 60780db94b Fetch "am I" list at startup.
This is the list of channels that authorized me as a moderator.

Similar to `moderation.BlockList`, this will only be fetched at startup/reload for now. I don't think there is a need to constantly monitor this. Users just need to refresh to see the moderator GUI elements after the delegator has granted them access.
2021-06-18 15:46:51 -04:00
infinite-persistence 510056a479 WunderBar customizations for re-use 2021-06-18 15:46:51 -04:00
infinite-persistence d6ac2c7954 Comments: enable 'enable_comments' flag
## Issue
Closes 6159 "Support Comments Enabled/Disabled for comment.List API"

## New behavior
- `disable-comments` tag will block the comments component entirely.
- `settings.commentsEnabled`:
  - When false, will pause comment fetching, posting and replying.
  - Any already-fetched comments will stay on screen (unless user reloads/F5).
2021-06-18 15:46:51 -04:00
zeppi 1a30cb6586 clean 2021-06-18 10:57:19 -04:00
zeppi 2268ab01fb app works when id api fails 2021-06-18 10:57:19 -04:00
infinite-persistence 701ec0a473 Fix remaining "Collection" strings to "List" 2021-06-18 22:31:10 +08:00
saltrafael aea22d10ee Button to scroll to recent live chats (scroll to bottom) 2021-06-18 10:40:52 -03:00
zeppi 03e921e6df use commentron for live view counts 2021-06-17 14:58:55 -04:00
zeppi eb0992879c sidebar channels no staked 2021-06-17 10:44:10 -04:00
Marios Vladimerou d8b40931f3 Show channel thumbnails in side menu 2021-06-17 10:28:16 -04:00
infinite-persistence 72a4ed107b i18n and various minor fixes 2021-06-17 17:05:24 +08:00
zeppi 60130ec91e gah 2021-06-16 16:03:08 -04:00
zeppi 0d41ba59b3 forbid playlist embed in share 2021-06-16 16:03:08 -04:00
zeppi 6f2ef41230 fix popup 2021-06-16 13:08:30 -04:00
zeppi 8fa55082d5 remove sub heart on collections 2021-06-16 13:01:30 -04:00
zeppi 932a202573 lists help copy 2021-06-16 13:01:02 -04:00
zeppi 3d83354533 fix simplesite crash 2021-06-16 12:56:44 -04:00
Thomas Zarebczan 7a852462f9
copy for lists feature 2021-06-16 11:19:41 -04:00
zeppi ff5c28a70f lists for all 2021-06-15 18:37:35 -04:00
zeppi 179f16470b fix menu separators 2021-06-15 18:37:35 -04:00
zeppi 7457eebd88 clarify incognito claim 2021-06-15 18:37:35 -04:00
zeppi ce6ae9402b lists help copy 2021-06-15 18:37:35 -04:00
zeppi 761974ca6f extra collection publish buttons, styling 2021-06-15 18:37:35 -04:00
saltrafael c92bcc945f remove analytics 2021-06-15 13:47:56 -04:00
saltrafael 32d2ac2fc9 better handle reposts 2021-06-15 13:47:56 -04:00
saltrafael 6629ea6041 final code touches 2021-06-15 13:47:56 -04:00
saltrafael d553c1170e fix showcase for list items 2021-06-15 13:47:56 -04:00
saltrafael 3aa7c754aa lint 2021-06-15 13:47:56 -04:00
saltrafael 055811957b allow delete repost, small block fix, lint 2021-06-15 13:47:56 -04:00
saltrafael 3cd2548206 delete repost 2021-06-15 13:47:56 -04:00
saltrafael 4ef8247985 remove redundancy when buttons are already on page 2021-06-15 13:47:56 -04:00
saltrafael 3a6bddc588 fix multiple channels analytics bug 2021-06-15 13:47:56 -04:00
saltrafael 32d624b807 allow unblock/mute own 2021-06-15 13:47:56 -04:00
saltrafael 2aaa9f358b Additional pop up menu options 2021-06-15 13:47:56 -04:00
infinite-persistence 524370711c
WaitUntilOnPage: Reduce debounce ms; remove unused hack
(1) Reduced the debouncing duration so that the final element can be rendered asap after visible.
  - If the user is scrolling non-stop, it would continue to debounce and the GUI ends up not showing the final element.
  - 25ms seems enough to prevent the initial false-positive that occurs in the scenario of "adjacent/upper elements resized late, so our element was briefly on screen when mounted". If not enough, we can make this a parameter.

(2) Removed `lastUpdateDate` that was a quick hack for Recommended section. We don't use it on that element anymore, so remove the hack to keep the file clean.
2021-06-15 16:28:11 +08:00
infinite-persistence df2c274216
WaitUntilOnPage: handle large items; add optional placeholder element.
(1) The previous code assumed the element is always smaller than the screen. When used on large items like "homepage categories", it'll never load because the element exceeds the screen width or height.

(2) Added optional placeholder element. This allows us to put a cheaper element while waiting, so that the layout doesn't shift when we finally render. This is visually better when scrolling, and complies with Web Vitals.
2021-06-15 16:28:10 +08:00
saltrafael 79fb020fc8 Don't reset content language on edit 2021-06-14 14:53:14 -04:00
zeppi f91940a8b3 remove stuff 2021-06-14 11:55:50 -04:00
zeppi fca900fb9d default top to all-time on channel content 2021-06-14 11:55:50 -04:00
zeppi f149410902 thumbnail fix 2021-06-14 11:55:50 -04:00
zeppi 5680b19dc8 add lists modal stuff 2021-06-14 11:55:50 -04:00
infinite-persistence cbf0be3f3c
i18n update request from translators 2021-06-13 15:46:18 +08:00
infinite-persistence c2ff765a60 Revert "Don't reset content language on edit"
This reverts commit 09aceb6295.
2021-06-13 15:45:15 +08:00
saltrafael 7483429ee6 Handle comment + tip failure, don't re-support 2021-06-11 17:14:17 -04:00
saltrafael 09aceb6295 Don't reset content language on edit 2021-06-11 17:01:20 -04:00
zeppi eff948f786 toms fix for player timeout bug 2021-06-11 13:40:01 -04:00
zeppi d55ef7e899 Empty states for channel tabs 2021-06-10 17:47:02 -04:00
zeppi f258de54b0 fix list order down 2021-06-10 17:47:02 -04:00
zeppi 9b7c8fd642 sharing with lId, fix autoplay bump, 2021-06-10 17:47:02 -04:00
zeppi 78ce17844b limit lists page display count and improve empty state 2021-06-10 17:47:02 -04:00
infinite-persistence 47539edcab Fix lint (removal of videoFetchDuration) 2021-06-10 10:14:52 -04:00
infinite-persistence 617ab25f6e Fix Reddit-share tooltip + i18n update 2021-06-10 07:59:58 +08:00
Andrey Beletsky 27abc1e9d3 Remove erroneous multiplication of time to start by 1000 2021-06-08 13:42:40 -04:00
zeppi ca116ba010 wip
wip

wip - everything but publish, autoplay, and styling

collection publishing

add channel to collection publish

cleanup

wip

bump

clear mass add after success

move collection item management controls

redirect replace to published collection id

bump

playlist selector on create

bump

use new collection add ui element

bump

wip

gitignore

add content json

wip

bump

context add to playlist

basic collections page style pass wip

wip: edits, buttons, styles...

change fileAuthor to claimAuthor

update, pending bugfixes, delete modal progress, collection header, other bugfixes

bump

cleaning

show page bugfix

builtin collection headers

no playlists, no grid title

wip

style tweaks

use normal looking claim previews for collection tiles

add collection changes

style library previews

collection menulist for delete/view on library

delete modal works for unpublished

rearrange collection publish tabs

clean up collection publishing and items

show on odysee

begin collectoin edit header and css renaming

better thumbnails

bump

fix collection publish redirect

view collection in menu does something

copy and thumbs

list previews, pending, context menus, list page

enter to add collection, lists page empty state

playable lists only, delete feature, bump

put fileListDownloaded back

better collection titles

improve collection claim details

fix horiz more icon

fix up channel page

style, copy, bump

refactor preview overlay properties,
fix reposts showing as floppydisk
add watch later toast,
small overlay properties on wunderbar results,
fix collection actions buttons

bump

cleanup

cleaning, refactoring

bump

preview thumb styling, cleanup

support discover page lists search

sync, bump

bump, fix sync more

enforce builtin order for now

new lists page empty state

try to indicate unpublished edits in lists

bump

fix autoplay and linting

consts, fix autoplay

bugs

fixes

cleanup

fix, bump

lists experimental ui, fixes

refactor listIndex out

hack in collection fallback thumb

bump
2021-06-08 13:25:52 -04:00
infinite-persistence 3abaed0f17
Sort all language dropdowns, not just in the Settings Page. 2021-06-07 10:15:07 +08:00
infinite-persistence bd8172693c Re-enable "file download" in Odysee
## Issue
Closes 6167 Make downloading more intuitive / obvious in web mode
2021-06-07 09:18:08 +08:00
infinite-persistence fae90c4ba1
i18n update
- Screen readers will announce an <img> tag as that, so no need to say "image" again in the `alt` text.
2021-06-07 09:15:55 +08:00
infinite-persistence f1bf067ebd Combine Buy and Swap
## Issue
5873 Unify swap and buy flow // swaps round 2

## Changes
- Added "Buy|Swap" tab in the Buy Page and display the Swap component when needed.
- Removed 'Swap' button from Wallet Page.
- "Buy More" and related tooltips updated to "Buy or Swap Credits".
2021-06-05 10:07:38 +08:00
Anthony 272eb90392 remove native controls for ios 2021-06-04 15:41:42 -04:00
Anthony eef218a807 use video js viewer for ios and add playsinline 2021-06-04 15:41:42 -04:00
Thomas Zarebczan b8c5a0ed29
Add support for reward approval prompt 2021-06-03 14:54:06 -04:00
zeppi 3ce551f106 copy 2021-06-03 12:08:46 -04:00
zeppi 28a3db28b7 use tag to disable interactions on livestreams 2021-06-03 12:08:46 -04:00
zeppi f386352be3 fix lint 2021-06-02 22:42:50 -04:00
Jeremy Kauffman 22447aa20a
shorter text on sign up 2021-06-02 13:42:30 -04:00
infinite-persistence a613f28bc8 Login graphic improvements
1. Lock the width of the second pane so that the layout doesn't shift after the image is fetched.
2. The image is huge, so pass through the optimizer.
  - Wait until the container is mounted to get the exact image width.

Unfortunately, it still takes 0.8s on average to fetch the image, regardless of how small the image has been optimized.
Login graphic improvements

1. Lock the width of the second pane so that the layout doesn't shift after the image is fetched.
2. The image is huge, so pass through the optimizer.
  - Wait until the container is mounted to get the exact image width.

Unfortunately, it still takes 1s (on average) to fetch the image, regardless of how small the image has been optimized.
2021-06-02 08:24:35 +08:00
infinite-persistence dec38e1770 ChannelThumbnail: use 1x1 transparent image as starting point instead of 'undefined'.
## Issue
6135

While waiting for the lazy-loader IntersectionObserver to initialize, and for the real image to be fetched, an undefined `src` results in the "broken image" thumbnail.

## Fix
Use a transparent image as the starting point. This visually retains the current behavior but minus the "broken image" part.
2021-06-02 08:20:37 +08:00
infinite-persistence eba8de1cda i18n update 2021-06-01 13:33:58 -04:00
infinite-persistence 315bbe21b1 Open the sidebar by default
## Issue
Closes "6112 Side menu expanded by default unless collapsed by user"
2021-06-01 11:16:08 -04:00
infinite-persistence d6d1cf58e9 Fix SidebarNavigation key errors 2021-06-01 11:15:30 -04:00
infinite-persistence 6043b6101b ClaimTilesDiscover: pause visual update until new results are fetched
## Issue
GUI fix for 5979 `claim search runs twice sometimes and "refreshes" view`

The search query might encounter minor alterations after rendered (e.g. for the case of 5979, the `moderation.Blocklist` data came late). The code currently resets the result to 0 before initiating `claim_search`, so we see the GUI blink.

## Idea
There is a possibility that the query-change does not alter the final results in the end. Instead of reseting to the results to zero, hold on to the previous results until the fetch is done.

## Known issue
The tiles no longer blink if there is no change, but the "LIVE" indicator still does. I didn't want to propagate the info too deep, so leaving as is for now. It can be considered a feature ("blinking LIVE indicator" :))

## Results
- No blinking if results stay the same.
- Minimal tile-shifting if new ones are added or removed.
- In the current Odysee homepage, reduced React commits from 88 to 76 (save some CPU cycles).
2021-05-27 13:50:59 -04:00
infinite-persistence 1b3fec0452 Add sign-in graphics for SIMPLE_SITE
Homepages repo: `Issue 64 - Add new graphics to odysee sign in`
2021-05-27 14:21:16 +08:00
infinite-persistence 82aaf361f1 Hide "control tags" except when creating/editing claims.
## Changes:
1) TagSearch: hide the "control tags" in the Creator Settings page (irrelevant).
2) TagSearch: show the "control tags" when creating/editing Channel (let's use `setting.CommentsEnabled` instead).
3) TagSearch: show the "control tags" when creating/editing Content (`disable-comments` can be used to block comments at the per-claim level, e.g. allow comments in general but block only for specific claims).

## Missing pieces:
For (2) and (3), some work is needed to hide the comment GUI when `setting.CommentsEnabled` is disabled for a particular channel. That flag is not ready in Commentron yet, so I'm not sure how this will be done at the moment. In other words, the checkbox does nothing at the moment.

## Potential flaw:
This change will hide all control tags. If we have more tags in the future and would like to selectively disable some, we'll have to change this parameter to an array instead. Since the usage is not widespread at the moment, a single `disableControlFlag` seems cleaner (don't over-think it yet).
2021-05-26 15:38:29 -04:00
infinite-persistence 2b70ad667b Add/implement SettingsCreatorPage 2021-05-26 15:38:29 -04:00
infinite-persistence b2c2096da5 TagsSearch: tweaks to allow re-use beyond tags
- Allow 'followed' and 'unfollowed' list to be overridden via props.
- Allow labels to be overridden via props.
- Add ability to disable "Suggestions"
2021-05-26 15:38:29 -04:00
infinite-persistence 1008724761 Fix lint 2021-05-26 15:38:29 -04:00
infinite-persistence cded632fd2
DateTime: avoid unnecessary update (#6110)
## Issue
Part of `5834 Performance investigation`

In a homepage with 120 tiles, the lists get rendered 3 times during initial update. The sub-components are updating recursively (will investigate), so instead of 120 DateTime renders, we have 1000+ renders.

The resolved DateTime string for `timeAgo` rarely changes, and even if the string was "a few seconds ago", there's no real need to constantly update it.

## Change
Require a minimum 1-minute delta when deciding whether the component should update. Clients can change this value as needed.

## Test
- [x] Verified `shouldComponentUpdate` doesn't end up taking more time than not having it (it's in micro-second range, compared to the millisecond render).
- [x] Profiler showed no significant improvement for low number of DateTime components, but for the 120 DateTime case, almost 1/4 of a second is saved.
2021-05-24 18:29:58 -04:00
infinite-persistence 9e13596104 Fix 5932 "no way to buy Paid Images or Posts"
- FileRenderInitiator: we don't display if it's not Audio or Video ("playables"). But only do that if it's free or was purchased, otherwise there's no button to buy it.

- FileRenderInline: if the user have not purchased it, don't show anything (not even the spinner).
2021-05-24 11:07:13 -04:00
infinite-persistence b101cb304f Auto fetch paid-content if already paid.
Seems odd to force users to manually "play" purchased files.
2021-05-24 11:07:13 -04:00
Thomas Zarebczan b4da616176
Fetch last 75 comments for livestreams
We only show 75 anyway...
2021-05-21 15:48:43 -04:00
saltrafael 2852138c3a
allow sending directly to a channel or content address (#5990)
* allow sending directly to a channel or content address
2021-05-20 15:30:40 -04:00
infinite-persistence 2dac41e5e5
Mute video when autoplay is blocked by browser policy (#6087)
## Issue
When opening a video directly in Chrome Incognito, the video should autoplay (since that's the default Lbry setting), but it doesn't due to browser policy
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

## Changes
- We don't want to forcefully mute the video when `autoplay=true`; we just want to do it when the browser policy is applied.
- Fortunately, there is already an existing code-block for us to check that.

## Test cases
- [x] "Autoplay=Off" should not be affected.
- [x] After manually unmuting, the next autoplayed video should not be muted (this is "user interacted" opening, so the policy allows autoplay)
- [x] If manually muting, the next autoplayed video should retain user's last setting.

## Known issues
- I've seen `error` occasionally being undefined in the `catch` block. In those cases, the solution doesn't work. We could remove `if (player.autoplay() && !player.muted())` and simply just try muting it, but for now it's better to ensure `NotAllowedError` is due to unmuted first before applying the fix.
- This doesn't work for Firefox as there is an explicit "Allow Autoplay" button in the address bar that user needs to click themselves. Applies to all sites.
2021-05-19 11:56:54 -04:00
infinite-persistence df03cf1032
Skip thumbnail fetch if autoplay is ON (#6084)
It's useful to show the thumbnail as the player's backdrop when Video Autoplay is OFF, but it's a wasted fetch when it's ON because the videojs component will be blocking it.

Although it's the same image as the ClaimPreview, this one will be in full size, so a fetch will always happen.

Aside: videojs handles the backdrop for the audio and embed case, so this change won't affect those items.
```
  <VideoJs
    poster={isAudio || (embedded && !autoplayIfEmbedded) ? thumbnail : ''}
  />
```

Future: for "mobile + autoplay=OFF", we should consider using the optimized thumbnail. 6074 should help.
2021-05-18 01:48:23 -04:00
saltrafael 31a84828cc
improve logic for own comments showing first (#6073) 2021-05-17 15:55:23 -04:00
infinite-persistence 2a6df18b72
ChannelThumbnail fixes (#6075)
* Restore "use cdn for channel thumbnails"

This reverts commit e7adc607fa.

* ChannelThumbnail: disable optimization in Channel Page and for GIFs

## Issue
5564: Don't use optimized URLs on channel pages (profile/banner)

## Notes
This is not the best/full solution yet, but it is better than what we have to today (one step in the right direction).

Optimized channel thumbnail size is currently hardcoded to a lowest common denominator.
- Pro(s):
  - For images used in multiple places (different sizes) in a page, the total time needed to get the optimized version for each size is too much. Also, the optimizer seems to increase the size of the image in some cases. So, getting 1 image and re-using it is faster for this scenario.
  - Simpler code (no need to mount first -> get dimension -> load image)
- Cons:
  - We aren't fully optimizing the size, so not really addressing Core Web Vitals score problem.
    - e.g. in the front page, we could have used a smaller image for the channel thumbnails.
  - We haven't address the problem with large screen sizes.

* Restore channel selector

This reverts b5cc0bb42d

* ChannelThumbnail: fix lazy-loading

- Closes 6066: Revisit lazy-loading Channel thumbnails
- Properly fixes 5933: Thumbnail lazy-load causes ChannelSelector icon to not update.
    - Add effect-dependency on `channelThumbnail` and `thumbError`.
- Really perform the lazy-loading now.
    - `data-src` was not used, so it wasn't actually lazy loading previously.
2021-05-17 15:51:21 -04:00
infinite-persistence 73f6d207ea Restore "Autoplay media files" behavior
## Issue
Closes 6078 `"Autoplay media files = disable" is broken`

`if (-1)` is "truthy"
2021-05-18 01:57:16 +08:00
infinite-persistence 354027a5f4
i18n update (#6039)
* Don't translate non-English strings

This requires an accompanying change in the homepages repo.

* Translate swap errors.

* i18n update

- Add missing sub-strings.
- Removed 'video stonks'.
- Added 'Nothing here...'
- Updated notifications drop-down strings.
- Add latest "mayo" meme.

* Remove strings that can't be translated due to dynamic values.
2021-05-15 02:01:00 -04:00
mayeaux 2292f790a0
force autoplay when timestamped (#6064) 2021-05-15 01:59:21 -04:00
saltrafael 3131b48c77
Fix blocking/muting issues on channel pages (#6034)
* dont use no_channel_ids on channel content claim search

* ClaimMenuList not filtering own content initially

* fix errors

Co-authored-by: Thomas Zarebczan <thomas.zarebczan@gmail.com>
2021-05-15 01:53:56 -04:00
infinite-persistence c85d7f12c8
Livestream-only query cleanup. (#6036)
This completes the change in c24c016e, covering ClaimListDiscover as well.
2021-05-15 01:52:24 -04:00
saltrafael e5795baa10
own comments show first in controversial / best #5905 (#5939)
* own comments show first in controversial / best #5905

* workaround to place my recent comment at the top

* only most recent comment

* lint fix

Co-authored-by: Thomas Zarebczan <thomas.zarebczan@gmail.com>
2021-05-15 00:56:58 -04:00
infinite-persistence 698bd5eef1
Continuation of "Add release date field #5514" (#6049)
* Release date -- initial attempt (squashed and rebased)

- Use white color for calendar buttons in release date input
- Update icon color for release date input
- Allow to set time in release date and display it under additional options
- Add release date field

* Upgrade to latest react-datetime-picker.

I believe this also picks up the y18n security fix.

* Handle dark theme and general style fixes.

* [+redux] Change how release_time is edited.

- `releaseTime` is now a number instead of a string, matching `release_time`. It was getting confusing what the variable units were.

- `releaseTime` will always match `release_time` for an edit. It will be used in the GUI to reset just the date to the original, instead of having to reset the entire form.

- `releaseTimeEdited` will be used by `updatePublishForm` in the GUI to represent the desired new release time. Set to `undefined` if we don't want to change the date.

* Add 'Reset|Now|Default' buttons instead of overloading the date-picker's "X" button.

Before this, the "X" button resets to the original (previous) publish date for Edits, and resets to current time for New Claims. This is very confusing, so added explicit text-based buttons -- hopefully this is more intuitive.

* bump redux to master

Co-authored-by: Franco Montenegro <franco.montenegro.ruke@gmail.com>
Co-authored-by: Thomas Zarebczan <thomas.zarebczan@gmail.com>
2021-05-15 00:10:28 -04:00
infinite-persistence 4dc333de41
Fix blank gif avatars (#6060)
## Issue
6010: hyperchat send display issues with GIF profiles

The FreezeFrameWrapper have no `src` to freeze due to the lazy loading.

## Fix
Delay the freezing by making the lazy-load effect return a state to indicate when then `src` has been loaded.

Since the lazy-loader will `unobserve` after loading, the state will never go back to false, so we don't need to handle the case of preventing `new FreezeFrameWrapper` from being called multiple times from it's effect.
2021-05-14 11:00:07 -04:00
infinite-persistence ee1825f5f1
Notification: handle "creator_comment" (#6069)
## Issue
Closes 6022 Notifications: Creator Commented

## Changes
- Beautify - show creator icon instead of generic bell.
- Link to comment directly instead of the claim.
2021-05-14 10:59:36 -04:00
infinite-persistence 645f8ef452
Posts: restore "Tip unlock | Claim details" component (#6051)
* Add ICON.INFO - "i" within a circle.

Basically, an inverted ICON.ALERT.

* Posts: restore "Tip unlock | Claim details" component

## Issue
5882: tip unlock + claim id detials missing from markdown posts view

## Notes
The easiest solution would be to put `FileDescription` into posts, but I think that goes against the clean up of the Post layout, where the focus should be on the content. The faded style of the File Details section seems too distracting, plus we don't want the File Description anyway.

Fixed by:
- Make the existing "LBC amount" clickable to show credit details. An additional padlock will appear if the content is yours and you have tips to unlock.
- Add an "info" icon beside it to show file details.

These "link" buttons are usually lit, but I dimmed it in this case to make them stand out less. Again, focusing on Post content instead of buttons.
2021-05-12 14:26:47 -04:00
infinite-persistence 02fdb1e6df
Notification: further handle "missed_out" + other tweaks (#6052)
* Show full notification text via tooltip

The tooltip fixes the system notifications problem (mentioned below), and also allows one to quickly read the entire comment without actually having to visit the comment.

Currently, we only show about 50 characters in the notification, truncating it to an ellipsis when exceeded.

This is not much of a problem for dynamic text (e.g. comments) since the full text can be seen after clicking on the notification (brings you to the comment). For system notifications, this is problematic since there's no other way to know what the full text was.

Tried to dynamically change the font size to auto fit, but it wasn't fruitful. Even if it did work, it'll probably won't be legible for a 2000-character comment, plus the entire list will look weird with various font sizes.

* Beautify "missed out" notification; bring user to Verify page.

## Issue
6021: Notifications: Missed Out

## Changes
- The notification already brings the user to the `/rewards`. Tweaked it to directly enter the Verify Page.
- Use LBC icon instead of generic bell for this notification.
2021-05-12 13:51:55 -04:00
saltrafael 355dd8e755
remove emojis from reporting (#6042) 2021-05-12 10:19:45 -04:00
zeppi c24c016eb7 livestream fixes from odysee 2021-05-04 23:00:43 -04:00
Thomas Zarebczan de8d139351
Force page size to 50 on live streams 2021-05-04 14:12:51 -04:00
infinite-persistence c32a95a885
Livestream comment delete/edit fix (#5971)
* Fix ability to delete own comments in livestream

## Issue
5832: can't remove own comments in live stream mode (if you have multiple channels?)

Looks like it was just missing `commentIsMine` for the new component.

* Disable editing livestream comments

It doesn't do anything at the moment, anyways.

* Disable deleting hyperchats

The "total tipped" will get deducted when hyperchats are deleted, which doesn't make sense (doesn't reflect actual total that the creator received).
2021-05-04 11:08:36 -04:00
infinite-persistence 432c1233b6
Swap: populate 'status' from 'btc/swap' response instead of waiting for first websocket input. (#5997)
* Swap: populate 'status' from 'btc/swap' response instead of waiting for first websocket input.

## Issue
Clsoes 5975: swap stop at processing even though response comes through

## Notes
Occasionally, the first websocket message doesn't come through (seems like the commerce didn't send?). There's really no need to wait for one more 'status=NEW' message to ensure the right data is being populated (being over-cautious here).

* Beautify the "exact amount" advice.
2021-05-04 11:08:01 -04:00
Thomas Zarebczan 09ee081218 remove stream_types from live
and fix homepage too
2021-04-30 17:55:33 -04:00
Sean Yesmunt b9a7f9673d remove has_source param from livestream claim_search on homepage 2021-04-30 16:53:17 -04:00
Sean Yesmunt ce71393d83 theme orginization and cleanup 2021-04-30 15:05:58 -04:00
infinite-persistence 742110c81c Homepage|Discover: hide livestreams, then append active livestreams at the top.
This essentially hides inactive livestreams from the list.
2021-04-30 14:11:42 -04:00
infinite-persistence ec5e14ca96 ClaimListDiscover: perform secondary has_no_search search as well. 2021-04-30 14:11:42 -04:00
infinite-persistence c2a766a3e8 ClaimListDiscover: repeat livestream-sorting changes in ClaimTilesDiscover 2021-04-30 14:11:42 -04:00
infinite-persistence 8919cba43c Refactor livestream sorting into 'prioritizeActiveLivestreams' 2021-04-30 14:11:42 -04:00
infinite-persistence 6ef42cd121 Run 'claim_search' with 'has_no_source' to bring up buried active livestreams.
Scenarios where active livestreams will not appear:
- creation date is way back.
- homepage section options excludes livestreams.

Make an explicit `claim_search` but with `has_no_source` if the client wants `liveLivestreamsFirst`.

If there are lots of channels with livestreams, there's a possibility that the final list will be larger than what was requested. We could trim it to be within the original `options.pageSize` range, but I left that out for now.
2021-04-30 14:11:42 -04:00
infinite-persistence 41380d20df Homepage: move "LIVE" livestreams to the front. 2021-04-30 14:11:42 -04:00
infinite-persistence 3a884152b1 ClaimPreviewTile: add attribute to show "LIVE" tag.
It would have been a clean implementation through `renderProperties`, but due to the need to adjust the opacity of `claim-preview__file-property-overlay` (the parent elemtn), I ended up having to create a new `live` attribute.
2021-04-30 14:11:42 -04:00
Sean Yesmunt 44195ec239 fix lbc-message to prevent incorrect 'Credits' replacement 2021-04-30 12:45:46 -04:00
Sean Yesmunt ded48bcc3d wrap notification text in <LbcMessage> to handle text with 'LBC' 2021-04-30 12:45:46 -04:00
Sean Yesmunt f04267ffc6 don't resolve all comment author uris 2021-04-30 12:45:46 -04:00
zeppi b9fc9b6319 allow unsubscribe from deleted channels by navigating from sidebar 2021-04-30 11:06:34 -04:00
zeppi fe86010be5 More master reconciliation
rewards page recon

router recon

uEmailVerify recon

uPVerify recon

rm style

app/view recon

channel page recon

chanFol recon

syncPassword recon

fileDesc recon

web/redirect recon

wip

page/view recon
2021-04-27 23:05:38 -04:00
Sean Yesmunt 778250aa0e fix role=button on all cards and add correct release_time flag to livestreamLink 2021-04-27 13:40:40 -04:00
zeppi 830375cb32 fix disabled publish form 2021-04-27 09:22:11 -04:00
infinite-persistence b0996d4d18 Mobile: make double-tap match the arrow keys (+/-5s instead of 10s)
## Issue
One of the items in 5865 Video shortcut issues

This one is not really an issue, but it would be nice to match what the arrow keys are doing. Also, in slower regions, seeking 10s will almost always end up buffering.
2021-04-27 09:26:19 +08:00
Sean Yesmunt f2d83cbf9d fetch ads provider for all homepage videos (but still only show ads for unauth users) 2021-04-26 16:38:33 -04:00
zeppi b10b79432f autofollow waits for prefs ready 2021-04-26 14:59:15 -04:00
infinite-persistence e2db26c595 Fix channel links being filtered by Staked Level
## Issue
Channel links were showing the "This channel isn't staking enough LBRY Credits for link previews." -- channel links shouldn't be showing previews in the first place.

## Change
Moved the logic into `ClaimLink`, which is the better place to put it anyway. I think I was trying to not touch as many components as possible (i.e. not passing `allowPreview` down too many layers) in the initial implementation. This caused the `isChannel` consideration to be missed.
2021-04-26 14:51:58 -04:00
Sean Yesmunt 1e2919531b use blocked/muted uris in not_channel_ids for claim_search 2021-04-26 13:27:13 -04:00
infinite-persistence 955f5ac0df Block encoded thumbnail URLs ('data:image')
These only work in the `selectThumbnail` component. If it's small enough, it'll get past the transaction limit-check, but ultimately it doesn't appear correctly in the claim list.

It'll probably appear correctly if we tweak the ClaimPreview code, but since this also fails the Google Video metadata test, I think we should disallow this.

## Issue
5923
2021-04-26 12:24:19 -04:00
infinite-persistence 364db9dafa Propagate thumbnail errors to PublishFormData
Thumbnail errors were just being used in `selectThumbnail`. The form doesn't know about it and was using allowing invalid thumbnails like 'helloworld' to pass through.
2021-04-26 12:24:19 -04:00
infinite-persistence 1911a5132b PublishFormError: look at 'thumbnail' instead of 'thumbnail_url'
I believe the rest of the GUI is setting 'thumbnail'.
'thumbnail_url' is only populated right before publishing.

So, the flag was always false -- we just never see the error on screen because the component is incorrectly hidden (fix for this is coming up next...)
2021-04-26 12:24:19 -04:00
Sean Yesmunt d4fa45b257 fix hyperchat size when thumbanil is gif and fix totalAmount calculation 2021-04-26 00:32:52 -04:00
Sean Yesmunt 7531a2c21a add back blocked/muted channels to homepage claim_search 2021-04-24 01:00:02 -04:00
Sean Yesmunt 6d89f0df7e hyperchats 2021-04-23 16:20:17 -04:00
zeppi f5f3bf21ee bugfixes 2021-04-23 14:51:09 -04:00
infinite-persistence b0193202d1
Re-add ability to export transactions (#5899)
* FileExporter: add 'fetch' hook + Web support

* Re-add ability to export transactions

Closes 4793: Export Wallet History For Taxation Purposes

* Move file-creation to the background.

Don't let the file-creation process block the GUI.

Requires lbry-redux update.

* Bump redux | doFetchTransactions: bump pageSize to 999999; remove doFetchSupport

* bump redux

Co-authored-by: Thomas Zarebczan <thomas.zarebczan@gmail.com>
2021-04-23 12:10:37 -04:00
infinite-persistence b5cc0bb42d Disable thumbnail lazy-load for Channels
## Issue
5933: Thumbnail lazy-load causes ChannelSelector icon to not update
2021-04-23 00:23:36 -04:00
zeppi 9b82f57006 livestream related publish fixes 2021-04-22 10:59:03 -04:00
Thomas Zarebczan 5ac9e70304
warning about exact amount 2021-04-21 15:27:01 -04:00
infinite-persistence 47d5de1fca
Swap: Don't copy the currency, only amount (#5915)
* CopyableText: add 'onCopy' for clients to change the text-selection

* Swap: only copy the amount (without currency)

## Issue
5873: Rounds 2 of LBC swaps

## Notes
It was an intended feature to include the currency -- I can paste the full string into my note book, while pasting into wallet apps like Exodus will automatically trim off the currency anyway.

Regardless, removed the 'feature' :D
2021-04-21 11:36:34 -04:00
infinite-persistence cb2c33a35f Implement ReportContent page 2021-04-21 10:49:31 -04:00
infinite-persistence 3a09bb18e3 Reporting: use upcoming new Page 2021-04-21 10:49:31 -04:00
Sean Yesmunt a4ce82e97f allow comment blocking on all claims 2021-04-19 15:55:11 -04:00
Sean Yesmunt 27b1101d12 don't pass streamTypes to homepage following section
so the following section shows all file types
2021-04-19 15:55:11 -04:00
Sean Yesmunt 0083a29231 force thumbnail for uploads 2021-04-19 15:55:11 -04:00
Max Kotlan 1279a6eaaf Fixed and cleaned up Hotkeys. Fixed overlapping lbry hotkeys with browser hotkeys 2021-04-19 13:34:10 -04:00
Sean Yesmunt fdeea30a4a livestream notification styling 2021-04-16 15:58:26 -04:00
Thomas Zarebczan 9689ef72a1
Odysee audio support (#5897) 2021-04-15 22:52:41 -04:00
Thomas Zarebczan 56cf3464ab
Make other crypto clearer until we can show rates 2021-04-15 10:06:26 -04:00
Sean Yesmunt e4a3e54613 move lazy loading effect into effects/ 2021-04-14 15:25:19 -04:00
Louis Sandoval a7cb0e240e Fix #5795 - Claim images not lazy loaded 2021-04-14 15:25:19 -04:00
zeppi fe69ef2c90 allow non video selection when not odysee 2021-04-14 15:06:08 -04:00
Sean Yesmunt 42dcd34d49 trigger file/view event for livestream claims 2021-04-14 12:26:33 -04:00
Sean Yesmunt 2d9fac46a5 open the floodgates 2021-04-14 11:00:36 -04:00
jessopb 989126c603
Feat publish replays on master (#5863)
* provide livestream replay publish via url
2021-04-14 00:06:11 -04:00
Sean Yesmunt 9f3d779cf2 add tags to mobile navigation and add manage tags link on tag page 2021-04-13 17:08:24 -04:00
Sean Yesmunt 27c7a8a31e comment out swap button until api is ready 2021-04-13 14:08:25 -04:00
infinite-persistence e9c386678b Don't link to external blockchain explorers
It's unclear whether the use is ok or not without consent. Etherscan.io says consent is required.

Better be on the safe side.
2021-04-13 14:02:25 -04:00
infinite-persistence ca40e0287b Swap the order of LBC vs BTC as the entry point 2021-04-13 14:02:25 -04:00
infinite-persistence 7cf5c1f6fe CoinSwap: websocket + multi-coin
- For the active swap, switch from polling to websocket. The returned data is now the Charge data from the commerce, so some parsing will be required.

- Allow the user to send other coins that the commerce supports.

- Only save the 'chargeCode' to the wallet. The other data can be repopulated from this.

- Store the receipt currency. I'm not sure if the commerce supports sending bits from various coins. Take the coin that came with the 'COMPLETED' message for now.

- Fix 'lbc' calculation to match IAPI side.

- Allow users to see full detauls from "View Past Swaps".

- String cleanup

- GUI cleanup.
2021-04-13 14:02:25 -04:00
infinite-persistence a76f4e4dfe Fix table wrapping
Wrap second column instead of making it scroll horizontally.
2021-04-13 14:02:25 -04:00
infinite-persistence 23072f1a46 Coin-swap: Handle "Confirming" state 2021-04-13 14:02:25 -04:00
infinite-persistence 7c25de1e58 Coin-swap: require authentication
While it would be nice if we can swap anonymously through Desktop, the IAPI will tie a wallet address with an account. Final decision is to require authentication.
2021-04-13 14:02:25 -04:00
infinite-persistence d63cb0dc2d Past swaps: show the amount of BTCs that we are waiting for. 2021-04-13 14:02:25 -04:00
infinite-persistence b2630f6f21 Save entire swap info instead of just the address.
- Users should be able to see the entered and promised amount, otherwise they might forget how much to send over.
- This change also prepares for the future upgrade to support multiple coins.
2021-04-13 14:02:25 -04:00
infinite-persistence 9c808e2b5e Implement Swap BTC page 2021-04-13 14:02:25 -04:00
infinite-persistence 8e6604cfa6 Add blank Swap page 2021-04-13 14:02:25 -04:00
infinite-persistence 28260c27d1 SendLBC: switch from Modal to Page 2021-04-13 14:02:25 -04:00
infinite-persistence 5d31dc536c ReceiveLBC: switch from Modal to Page 2021-04-13 14:02:25 -04:00
zeppi fbff266b28 add br mindblown icon 2021-04-13 13:22:02 -04:00
Sean Yesmunt a23f0cb30f add back tags search 2021-04-13 13:21:44 -04:00
infinite-persistence 3406c2f800 Wunderbar: handle 'shift+home' key not highlighting text
## Issue
- Patch for 5316: "Home and End keys not working in search box"

## Notes
Seems like 'shift+home' wasn't highlighting the text. 'shift+end' works.

Was pretty sure I tested that previously. Anyway, adding the direction variable seems to fix it.
2021-04-12 14:58:42 -04:00
infinite-persistence 294866fb4b Search: fix 'x' appearing incorrectly
- Need to handle the 'undefined' case. The change will cover undefined, null and blank string (blank string === 'All').
2021-04-12 14:58:25 -04:00
Sean Yesmunt e08b71774c pre-roll ads 2021-04-12 12:55:06 -04:00
seanyesmunt f5125b25c2 update livestream eligibilty
add CHANNEL_STAKED_LEVEL_LIVESTREAM to config set to level 5
use odysee_live_enabled tag on users insead of experimental_ui
2021-04-12 11:17:17 -04:00
infinite-persistence 47c2d4633d ReportCreate: Fix anonymous url prefix
## Issue
5857 Channel does not update on display when reposting (but actually does)
2021-04-09 17:05:20 -04:00
infinite-persistence f344096da4 SearchOptions: label fixes
## Issue
5842: search filters fall out
2021-04-09 11:27:25 -04:00
infinite-persistence fb839b92ef Only apply Staked Levels to Comments (allow it in Posts)
Blocking videos and images was too limiting, plus the system was intended to block spammy comments in the first place.
2021-04-09 11:27:07 -04:00
infinite-persistence 5bc462927a SimpleImageLink: simplify + use 'src' as last resort
- The icon makes the screen too busy when there are lots of images in a page.

- Use src as the last resort for the text (I though `title` and `alt` was mandatory in markdown; apparently not).
2021-04-09 11:27:07 -04:00
infinite-persistence 20a28865fe Fix "channel levels" being applied to all MarkdownPreview usages.
`stakedLevel` is only provided when needed (comments, etc.), so when it's null, resume normal operation.
2021-04-09 11:27:07 -04:00
seanyesmunt fbd90b8f3e style pass 2021-04-08 12:40:07 -04:00
saltrafael 1d74b364e5 Keep just More From for now 2021-04-08 12:40:07 -04:00
saltrafael 6718d87848 Recommended bar: extra options for ease of discovery 2021-04-08 12:40:07 -04:00
seanyesmunt 6ccbbebad9 limit simple site search options to just video and text 2021-04-07 14:13:40 -04:00
seanyesmunt 6718f153a9 style pass 2021-04-07 12:08:17 -04:00
infinite-persistence 72443d4d2e Reset the search page when options changed. 2021-04-07 12:08:17 -04:00
infinite-persistence 340c883ac7 Disable 'last hour'
Requires further work in IAPI
2021-04-07 12:08:17 -04:00
infinite-persistence 855ae15a27 Search: infinite scroll 2021-04-07 12:08:17 -04:00
infinite-persistence 5421a64b65 Revamp search filters
## Issue
4945: Simplify / revamp search filters for odysee (and lbry.tv)

## Changes
- Tweaked the "claim type = file | channel | everything" a little to hopefully make it more intuitive.
- Added "Sort By".
- Added "Upload Date".
- Fixed the affected files to handle both Desktop and Odysee.
- Tweaked the layout to be more condensed so that we can see some results as we change the filter.
- Added animations.
- Added "Exact match" option that helps user to surround with quotes.
2021-04-07 12:08:17 -04:00
infinite-persistence c73ba60ef5 Revert "Use blank poster and advisory when preview is blocked by insufficient stake."
This reverts commit 9d1cf97aef.
2021-04-07 00:39:35 -04:00
seanyesmunt 0d41e6d88d Revert "Simplify language lists"
This reverts commit 27d43b2b41.
2021-04-06 15:42:27 -04:00
Stefan Sundin 039264531f Add 24-hour clock setting. 2021-04-06 13:00:10 -04:00
infinite-persistence f3869ddb78 Markdown: inline image preview for Level 4 and above only 2021-04-06 12:55:33 -04:00
infinite-persistence 9d1cf97aef Use blank poster and advisory when preview is blocked by insufficient stake.
## Issue
- Redo 5636: Disable video previews in comments/posts made by channels below a certain channel staked level
- Closes 5738: expand video preview level requierment to markdown images also
2021-04-06 12:55:33 -04:00
infinite-persistence 2a31678632 Fix tooltip not working in <Icon>
According to https://stackoverflow.com/questions/10643426/how-to-add-a-tooltip-to-an-svg-graphic, the tooltip needs to be a child `title` element, not the attribute.
2021-04-06 12:55:33 -04:00
Sean Yesmunt 7c83fa662c
bump comments length to 75 2021-04-05 21:45:42 -04:00
Sean Yesmunt 707ad5d4de re-enable pdfs on web 2021-04-05 15:06:56 -04:00
Sean Yesmunt 822ab329ac undo my weird changes - simplify logic 2021-04-05 15:06:56 -04:00
infinite-persistence 51bbda75ee Sort the language list (correctly) 2021-04-05 14:45:21 -04:00
saltrafael 3e1f6cdf4d Highlight comments made by content owner 2021-04-05 14:32:37 -04:00
zeppi 14685e11af clean up publishing on desktop 2021-04-05 13:26:52 -04:00
zeppi 9468f2b0f2 update master with some odysee changes 2021-04-05 13:26:52 -04:00
infinite-persistence bfcdbd575f Sort the language list
I think using the 'values' for the keys should be fine since each language name is unique. A key-clash would also help us catch mistakes like not differentiating sub-languages if support any (e.g. "English" vs. "English (British)")

Had to cast to String for lint.
2021-04-05 01:56:49 -04:00
Jeremy Kauffman 281fad7382 copy pass 2021-04-04 23:32:47 -04:00
Sean Yesmunt 21ad5077f7 add helplbrysavecrypto prompt and fix file page UI bugs 2021-04-04 23:32:47 -04:00
infinite-persistence 81e4730037 Simplify language lists
- SUPPORTED_SUB_LANGUAGE_CODES[] that I introduced was pretty redundant when SUPPORTED_LANGUAGES[] already hold the information. The logic to ignore sub-languages (i.e. reduce the locale's "en-GB" to "en" is now located in getDefaultLanguage()).

- SUPPORTED_BROWSER_LANGUAGES[] and SUPPORTED_LANGUAGES[] look so similar and hard to tell what the former is for at first glance. The functionality to map 'zh-CN' to 'zh-Hans' is now handled by resolveLanguageAlias(), which makes the intention clearer.

This leaves us with a single list -- SUPPORTED_LANGUAGES[], whose key also tells us the desired language code to use.
Also, clients now need to call `resolveLanguageAlias` to map any language code aliases, as they differ depending on how it is queried (e.g. `navigator.language` vs. `app.getLocal()` uses different standards).

I think we no longer need to explicitly migrate existing user's 'zh-CN' into 'zh-Hans' because the rest of the system will always use the desired language code as long as 'resolveLanguageAlias' is called appropriately. e.g. the system uses `selectLanguage` and `selectLanguage` calls `resolveLanguageAlias`.
2021-04-04 22:54:33 -04:00
Sean Yesmunt 105fe85504 more robust check on channel name 2021-04-04 22:16:45 -04:00
Sean Yesmunt 650ce42dc0 open livestream channel create redirect in new tab
so users can keep the stream going while they do sign up stuff
2021-04-04 22:16:45 -04:00
DispatchCommit bb56de1d4f fix scrolling issue, limit length of chat history 2021-04-04 21:43:44 -04:00
Stefan Sundin 92e55c7d5f Add a title with the exact date to dateTime elements that use timeAgo. 2021-04-03 00:32:06 -04:00
Sean Yesmunt ac18b85c34 sandbox iframe react component 2021-04-02 18:11:23 -04:00
Sean Yesmunt ddd6a8d191 i18n 2021-04-02 15:44:00 -04:00
r0ckinn e1531b03bf minor improvement: if not live yet, say users are waiting instead of watching 2021-04-02 15:44:00 -04:00
infinite-persistence f0d0992d20 Fix broken video embed
## Issue
Closes 5811: Video-embed in markdown-post is broken

- Revert "Fix 'makeSelectIsPlaying' to look at 'playing' instead of 'primary'." dabdc980a1.
- Revert "Fix 'isPlaying' to reflect 'playing' instead of 'primary' URI" 351890decf.

Reverting means "Deleting MD from downloads list causes spinning icon to run forever 4959" gets re-opened, but this is a way less severe issue to leave in.
2021-04-02 14:44:22 -04:00
infinite-persistence d279d70770 Fix autoplay in floating mode
Closes 5000: AutoPlay in Floating Player only works one time

Factor out the code that queries the recommendation. It needs to be called in two places:
(1) `RecommendedContent` - need to cover the case of floating player + visit another video page.
(2) When video is floating and autoplayed the next video.
2021-04-02 14:35:18 -04:00
jessopb 8ab0bcd545
clear publishing on publish load (#5807) 2021-04-02 11:55:41 -04:00
jessopb 9cd86be04f
use show mature selector (#5803) 2021-03-31 16:55:26 -04:00
infinite-persistence 4a0aea15a6 i18n: missing translation + emoji fixes 2021-03-29 15:50:21 -04:00
infinite-persistence 2037dfbd03 prepareEdit: ensure 'incognito' is false when channel is active.
## Issue
Closes #5720: Edit: channel-selector should re-populate with original channel

## Notes
'incognito' was not set to false, causing the 'ChannelSelector' to select Anonymous.
2021-03-29 08:42:58 +08:00
zeppi 5982b61f0d oops 2021-03-26 18:43:09 -04:00
zeppi ad10250e16 review changes 2021-03-26 18:43:09 -04:00
zeppi 8755c634ad bugfix 2021-03-26 18:43:09 -04:00
zeppi 777566f414 replace instead of push on publishform 2021-03-26 18:43:09 -04:00
zeppi 713109167c publish, edit, remote_url publish 2021-03-26 18:43:09 -04:00
zeppi f091da3c54 use new isLivestream (placeholder stream) selector 2021-03-25 20:14:24 -04:00
zeppi da60104c96 pending and publish 2021-03-25 16:40:17 -04:00
zeppi 7fdc3d2919 fix crash on invite page 2021-03-25 16:38:25 -04:00
infinite-persistence e70eb3b5bc Tip-unlock: add tooltip and related strings 2021-03-25 15:35:53 -04:00
infinite-persistence 5d4828514c Improve mature-tagging message
## Issue
Closes 5747: Typo on Create Livestream page
2021-03-25 15:35:53 -04:00
zeppi ba4a29c102 hide livestream claims in previews if no flag 2021-03-25 15:31:31 -04:00
Sean Yesmunt 64e8c8e095 use comment component for livestream comments 2021-03-25 15:08:05 -04:00
zeppi d8a5ca082b no livestream price on odysee 2021-03-25 13:53:42 -04:00
zeppi 81b9b0d801 copy for buttons and modals for livestream
redirect on success to dashboard
2021-03-24 13:36:50 -04:00
zeppi 995f51711f use pending livestreams on dash, filter modes 2021-03-24 13:36:50 -04:00
zeppi 137c268a7b add livestream icons 2021-03-24 12:13:26 -04:00
infinite-persistence 43965ddf72 i18n: Livestream strings 2021-03-24 09:09:24 +08:00
infinite-persistence a36a8023c7 Support = Boost | Tip
## Issue
Closes 5226: Figure out odysee-friendly way to re-enable supports

This essentially re-enables staking (now called "Boost") for Odysee.
2021-03-23 20:01:55 -04:00
infinite-persistence 3b960aa0a0 Back-port changes from Odysee to master 2021-03-23 20:01:55 -04:00
Dispatch d362fe0d75
hide livestream on upload form if not experimental UI (#5735) 2021-03-23 13:27:30 -04:00
Dispatch a258fcb039
Merge pull request #5691 from lbryio/feat/go-live
[feat] Add LiveStreaming Support
2021-03-22 16:48:10 -07:00
Thomas Zarebczan b261763402
Add note about editing while transfer is active 2021-03-22 18:56:50 -04:00
DispatchCommit a4a714a561 please work this time 2021-03-22 15:42:51 -07:00
DispatchCommit 3446b63768 coerce null to empty string for flow
this is a bad way to satisfy flow, probably, but it'll work.
2021-03-22 15:30:30 -07:00
DispatchCommit 7a327596cd i hate flow 2021-03-22 15:30:29 -07:00
DispatchCommit 0ec31d3c29 fix slow mode chat
set last comment time when comment is submitted
2021-03-22 15:30:26 -07:00
DispatchCommit 1e0afd1b86 Add live detection to livestream page
- reduce interval from 15 seconds to 10 seconds
2021-03-22 15:30:24 -07:00
DispatchCommit 816bd07570 Improve live detection on channel page
Call bitwave live API immediately on page load.
Reduce poll to 15 second interval
Fix incorrect data parsing
2021-03-22 15:30:23 -07:00
DispatchCommit 76ac4c19b9 Hookup new live detection API 2021-03-22 15:30:22 -07:00
Sean Yesmunt ca569dc4a7 wire up bitwave api 2021-03-22 15:30:21 -07:00
Sean Yesmunt 5aaa038d3f random fixes for livestreaming 2021-03-22 15:30:19 -07:00
Sean Yesmunt 204f24354f hide date for livestream claims 2021-03-22 15:30:17 -07:00
Sean Yesmunt 0f24f3fdfd use has_no_source to check if claim is a livestream 2021-03-22 15:30:16 -07:00
Sean Yesmunt e5fc28821a add ENABLE_NO_SOURCE_CLAIMS to config
this sets has_source:true if the variable is true to non-odysee apps won't be shown livestream claims
2021-03-22 15:30:15 -07:00
Sean Yesmunt dcd0528fda disconnect from comment websocket when leaving livestream page 2021-03-22 15:30:14 -07:00
Sean Yesmunt 3644eed49b fix first livestream comment not being displayed 2021-03-22 15:30:13 -07:00
Sean Yesmunt 3aead19b47 style cleanup 2021-03-22 15:30:11 -07:00
DispatchCommit 874188a973 Allow for specifying a type query to pre-select upload type
e.g. https://odysee.com/$/upload?type=livestream
2021-03-22 15:30:10 -07:00
DispatchCommit 92e320e384 Fix livestream Title Section 2021-03-22 15:30:06 -07:00
DispatchCommit 2ac5ad0201 fix minor bugs
- remove anon option in channel dropdown when livestream tab is selected
- attempt to fill publish form with current active channel name just prior to publishing to (edge condition)
  - edge condition occurs when user fills out form fully. User switches to Post (which allows anon in drop down selector). User selects Anon channel, then switches back to the livestream tab. The form was previously updated with `channel: undefined` but does not get changed when clicking the livestream tab. So we just updated the form one last time prior to publishing as a livestream
- Show most recent livestream claim on livestream setup page instead of first livestream claim
2021-03-22 15:30:05 -07:00
Sean Yesmunt da3e3c8404 add new 'livestream' publish mode 2021-03-22 15:30:03 -07:00
DispatchCommit 40035ae4ad fix lbry-redux import typo 2021-03-22 15:30:02 -07:00
Sean Yesmunt 73f593ddb3 bring in livestream changes from odysee 2021-03-22 15:30:01 -07:00
DispatchCommit 02c0882d90 Create livestream page and generate signed streamkey 2021-03-22 15:29:59 -07:00
DispatchCommit 51a940ed62 Add Go Live to header dropdown 2021-03-22 15:29:58 -07:00
infinite-persistence 5d40a4c9f6 Markdown editor: Remove character limit
## Issue
Closes 5687: Ensure post mode has no text limit

## Changes
- `type="markdown"` can now have unlimited length if clients don't define `textAreaMaxWidth`.
- The internal default limit of 2000 is narrowed down to `type=textarea`.
2021-03-21 21:00:16 -04:00
Sean Yesmunt 1aaaf118c5 remove signup nudge in sidebar for lbry.tv 2021-03-21 20:48:27 -04:00
DispatchCommit 954966abbb fix linting errors 2021-03-21 20:36:50 -04:00
r0ckinn 6b8554517c also add keybinds for volume 2021-03-21 20:36:50 -04:00
r0ckinn 6b3dce0450 improve keyboard shortcuts 2021-03-21 20:36:50 -04:00
infinite-persistence ede83f358d Fix autoplay infinite loop
## Issue
Closes 3661: Autoplay + Related go into loops ( infinite ) sometimes

## GUI
Push the actual "next" item into the top of the list.

## History search
1. Skip if the next item is itself.
2. The URL stored in the history comes in various forms, so a direct comparison won't work.
  - There's also a weird case where the URL differs by just a little (p.09 vs p-09), but with the same claim ID:

lbry://vacuum-tube-computer-p.09-–-building#5212bc8bc63c373e2bf1ebc5b765595ed7b6514d
lbry://vacuum-tube-computer-p-09-–-building#5212bc8bc63c373e2bf1ebc5b765595ed7b6514d

Check the claim_id as well to cover cases like these.
2021-03-21 20:15:33 -04:00
infinite-persistence 59b7975085 Fix lint 2021-03-21 20:15:33 -04:00
Sean Yesmunt 63453284dd add lbry.tv is shutting down message 2021-03-19 17:58:05 -04:00
Sean Yesmunt a8cc4cefb0 remove has_source param until wallet server bug is fixed 2021-03-19 11:57:10 -04:00
infinite-persistence 895f25cc8c i18n: Reward cards
Note that `subtitle` doesn't need the translation macro as `LbcMessage` would do it.
2021-03-19 11:27:10 -04:00
Sean Yesmunt c08e4eed9c prevent release notes from extending beyond height of app 2021-03-18 18:17:10 -04:00
Sean Yesmunt e967f2e1ad add ENABLE_NO_SOURCE_CLAIMS to config
this sets has_source:true if the variable is true to non-odysee apps won't be shown livestream claims
2021-03-18 12:07:27 -04:00
Sean Yesmunt 0eaa5dadcf bump channel search limit to 50 2021-03-17 16:19:13 -04:00
Sean Yesmunt 2d6292bd6f don't show placeholder if claim already exists
so the claim is shown even if we re-resolve it
2021-03-17 16:19:13 -04:00
Sean Yesmunt 19023a31d0 ensure lbrytv api status is web only 2021-03-16 22:19:03 -04:00
Sean Yesmunt 7b446d1982 show correct amount on post staked amount 2021-03-16 14:38:33 -04:00
infinite-persistence b467873f0b Notification bell shows is_read, not is_seen
## Issue
Closes 5664: notification bell shows is_read, not is_seen
2021-03-16 11:39:52 -04:00