Commit graph

3555 commits

Author SHA1 Message Date
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 f94f98e0f3 ViewPastSwaps: limit to 10 entries + other fixes
(1) Due to IAPI/commerce query limit, and also to not pollute the wallet with infinite chargeCodes, we'll only show the last 10 swaps. Beamer mentioned that it's possible to tracked back the past chargeCodes of the user, and potential provide a `list` endpoint to handle disputes.

(2) If a user explicitly removed an entry, don't repopulate that entry even if websocket returned an updated status for it. While it might be useful to handle accidental removals, it looks weird when the list gets repopulated with 'Expired' entries.

(3) Add sanitization when repopulating the chargeCodes from the wallet data (i.e. remove 'null' entries).

(4) Always repopulate the list per wallet data so every instance looks the same.
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 d1e83fcee2 Run doNotificationSocketConnect for CoinSwapStatus 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
Sean Yesmunt bf24bd3193 fix related button toggle color on dark mode 2021-04-12 21:43:41 -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 216d0fefa0
fix typo 2021-04-12 13:14:20 -04:00
Sean Yesmunt e08b71774c pre-roll ads 2021-04-12 12:55:06 -04:00
Sean Yesmunt ae980bc142 use isChannel from parseURI 2021-04-12 12:24:04 -04:00
zeppi 57dfaab1ea fix show yrbl empty 2021-04-12 12:24:04 -04:00
zeppi eea3497845 fix publish something empty 2021-04-12 12:24:04 -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
infinite-persistence 3bab4feeca Update GUI to use queried notification filter.
- Re-organize the return statement of 'NotificationsPage' a bit, otherwise the entire page will reload (blink) every time the drop-down value is changed due to the 'fetching' flag.

- Retained the original behavior of (only showing a blank page + spinner) on the very first load. I think there is merit in not showing the buttons immediately (e.g. when not logged in and `/$/notifications` is accessed directly).
2021-04-08 14:28:21 -04:00
infinite-persistence b8ec0c9967 Augment doNotificationList to get a filtered list.
Initially, the filtered list was done at the component level, and the list was simply a subset of `notifications`. But due to the limit issue explained in 5694, we now query the filtered list instead.

Considerations:
- The filtered list could contain items not listed in the 'All' list. We could add a string at the bottom of 'All' that says "not all items retrieved" if this confuses the user.
- The unseen count needs to be based on 'All' and not the filtered one, so that data needs to be stashed somehow (can't re-use the array).

Use 2 arrays for now instead of trying to accumulate "all" and "filtered" into 1 array.
2021-04-08 14:28:21 -04:00
infinite-persistence 4252db91f9 Add new notification filter api params 2021-04-08 14:28:21 -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 8111b8d9dc Only concatenate results if 'from !== 0' 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 a9cae23d87 getSearchQueryString: add "time_filter" option 2021-04-07 12:08:17 -04:00
infinite-persistence 2cc049bb83 getSearchQueryString: add "exact" option to include surrounding quotes. 2021-04-07 12:08:17 -04:00
infinite-persistence dc06e2da99 getSearchQueryString: add "sort_by" options 2021-04-07 12:08:17 -04:00
infinite-persistence 1ee05d1f7f getSearchQueryString: customizations for SIMPLE_SITE.
- This change makes it work for both Desktop and Odysee. When merging back to Odysee, just take the file from `master` (barring any changes from someone else).

- Given that we'll be opening up the search filter for Odysee, the only "simple site" customization that was back-ported is `free_only=true`.
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 e23a6f3cd6 fix notice-message spacing on livestream page 2021-04-06 17:20:21 -04:00
seanyesmunt 15fea9fe1f fix livestream comment spacing 2021-04-06 17:01:31 -04:00
seanyesmunt e3ea004f67 revert e3a478adc3 2021-04-06 15:42:27 -04:00
seanyesmunt 0d41e6d88d Revert "Simplify language lists"
This reverts commit 27d43b2b41.
2021-04-06 15:42:27 -04:00
Stefan Sundin d5ba66ca1a Add a min-width to the "Automatic dark mode" inputs to stop UI shifting when clicking the "24-hour clock" checkbox. I have no idea where this should go so I just put it somewhere. 2021-04-06 13:00:10 -04:00
Stefan Sundin aff8cfdf9c Fix the "Automatic dark mode" labels having the same name. Now the correct input is selected when clicking the "To" label. 2021-04-06 13:00:10 -04:00
Stefan Sundin 56d4a677a5 Also format the "Automatic dark mode" clocks. 2021-04-06 13:00:10 -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 a99042b60b remove extra comment 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
Sean Yesmunt 64928213bf fix websockets not reconnecting
When it gets closed, even for errors, it doesn't always go into Socket.onerror. Add the reconnection logic back to just onclose (like it was before)
2021-04-05 14:33:37 -04:00
Sean Yesmunt 4a33e4dce5 style updates 2021-04-05 14:32:37 -04:00
saltrafael 3e1f6cdf4d Highlight comments made by content owner 2021-04-05 14:32:37 -04:00
zeppi 3c3fc90b6a review changes 2021-04-05 13:26:52 -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
infinite-persistence b17ba20fd5 Change: 'Wikang Filipino' --> 'Filipino'
I think both are acceptable, but the latter seems more popular. Doing this change as we'll be sorting the list.
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
Sean Yesmunt 3cdeb98ea8 fix date on short post titles
always send it to a new line
2021-04-04 23:32:47 -04:00
infinite-persistence 52f068cead Add: Japanese, Afrikaans, Filipino, Thai and Vietnamese
## Issue
Closes 5646: Add more completed language translations

## Notes
SDK uses RFC 5646 format, which led me to
https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry. Took the codes from here. They match what's already used in Transifex, so that's good.
2021-04-04 22:54:33 -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
Louis Sandoval d58d96b8dd Fixes #5822 display of upload date and view count on smaller screens 2021-04-04 22:51:07 -04:00
Sean Yesmunt 105fe85504 more robust check on channel name 2021-04-04 22:16:45 -04:00
Sean Yesmunt 03ef30eb40 claim email_verified reward on channel/new page 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 991b45d831 fix typo
took commit from #5790 since it was merging into the odysee branch
2021-04-02 16:17:50 -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 9e86cab4eb fix livestream redirect to dashboard 2021-03-26 18:43:09 -04:00
zeppi 8755c634ad bugfix 2021-03-26 18:43:09 -04:00