Commit graph

4751 commits

Author SHA1 Message Date
Rafael
350aa8240a Update timestamps in background 2022-01-05 09:27:52 -05:00
Rafael
ab9252e06f Refactor dateTime component and getTimeAgoStr function to prevent displaying comments as 'in a few seconds' 2022-01-05 09:27:52 -05:00
Rafael
2c8ad2b89a Use Memo on markdown-preview component to avoid re-render 2022-01-05 09:27:52 -05:00
Rafael
f568f97e5e Fix content toggles and Header Title 2022-01-05 09:27:52 -05:00
Rafael
09ba036380 Improve header title and change icon to cog 2022-01-05 09:27:52 -05:00
Rafael
6f3dbad6e2 Remove unnecessary class for stickers 2022-01-05 09:27:52 -05:00
Rafael
ec68f102a7 Add toggle for timestamps 2022-01-05 09:27:52 -05:00
Rafael
4a73fbf688 Add timestamp on mouseover 2022-01-05 09:27:52 -05:00
infinite-persistence
6583b6a636 Sync: fix new user sign up flow
## Issue
- When signing up, the "channel suggestions" page was stuck because `prefsReady` was never set as `preference_get` was never called.
- It was never called due to the optimizations to skip it when there is no difference between the local and server wallet.

## Change
- The first ever `sync/get` will result in a "no wallet" error, and there is already a `catch` to handle it. But the change in 38c13cf5 caused the `catch` to be skipped and went directly to `sync_apply` instead. Although the `catch` is also doing the same thing (`sync_apply`), it also has an additional callback to call `preference_get`.
    - Fixed by ensuring this scenario ends up in the `catch` block like it was originally intended.
- We also did some optimization in the callback to skip the final `preference_get` if there is no difference in hash. But for the case of signing up, we do want to run it (so that `prefsReady` and other stuff gets initialized), so pass `hasNewData = true` to the callback.
2022-01-05 04:00:12 -05:00
infinite-persistence
128e51a4f6 Add env to auto report new strings in console
Need to debounce to prevent over-reporting. 2s seems to be the minimum.
2022-01-05 00:26:31 -08:00
Anthony
cac05d5714 more touchups 2022-01-04 18:05:10 -05:00
Anthony
e3395e31ba refactor ad implementation 2022-01-04 18:05:10 -05:00
Anthony
28bcb96ec7 autoscroll on home page and dont run ads js at all for firefox android 2022-01-04 18:05:10 -05:00
Dan Peterson
24cc07c09b escape referrerQuery in the oEmebed xml generator 2022-01-04 17:19:55 -05:00
Dan Peterson
5cf78e792b
Make sure view count fetch runs when claim ID changes. (#617) 2022-01-04 12:40:31 -06:00
Rafael
b0dbdeae27 Allow to remove my superchats 2022-01-04 09:04:59 -05:00
infinite-persistence
d03f80c6b1 Skip 'install/new' if web already exists
## Issue
Part of 385 "Defer api.odysee.com calls to their respective pages / install new"
2022-01-04 08:54:30 -05:00
infinite-persistence
1f5f8f1213 Remove unused firebase and domain parameter 2022-01-04 08:54:30 -05:00
infinite-persistence
e5a2e3961e Remove unused items 2022-01-04 08:54:30 -05:00
infinite-persistence
7a4866b269
Temporarily disable Buy due to Moonpay integration down 2022-01-04 09:37:11 +08:00
infinite-persistence
1cc2132a28 Uploads: prevent perpetual locked upload
## Issue
- Closes 592 Force clear stuck upload
- It was possible for an upload to stay "locked" e.g. when browser is killed.

## Change
When refreshing or opening a new tab, always clear the locks. The on-going sessions will re-lock them immediately.
2022-01-03 12:10:55 -05:00
infinite-persistence
fad3f6ed78 Notifications: handle view while fetching categories
## Issue
"No notifications" briefly appear when your previous filter is not "All".

## Change
When splitting up the category-fetch, the render logic was not updated accordingly.
2022-01-03 11:58:48 -05:00
infinite-persistence
449398b88f
Lint/format 2022-01-03 17:01:10 +08:00
infinite-persistence
5948ee0d80
i18n: restore ability to retrieve new i18n strings
## Issue
In the original Desktop code, new strings encountered during runtime will be automatically added to the local `app-strings.json` file. The feature is unavailable in Web because writing to file would require explicit permissions.

## Change
Partially restore the functionality by saving the strings to memory and retrieving it from the console via `copy(window.new_strings)`. It's a little bit of manual work, but I think it is good as it forces a sanity check before committing (previously, experimental/developmental strings are committed and being translated in Transifex).
2022-01-03 10:36:12 +08:00
infinite-persistence
2e50497bc1
i18n: add flow + some cleanup 2022-01-03 09:50:19 +08:00
infinite-persistence
49c6559049
i18n: remove unused 'app' code
We'll be adding a 'web' version next...
2022-01-03 09:50:19 +08:00
Thomas Zarebczan
ce37e06e10 Revert "Fix publish form when editing livestream (#565)"
This reverts commit da06c14e60.
2021-12-31 13:28:19 -05:00
Dan Peterson
da06c14e60
Fix publish form when editing livestream (#565)
* Update publish form when editing livestream + update to radios for liveststream release time

* Fix bug where upload tools may remain visible upon switching upload type, even when no option to upload is available.

* move publish source state up, when editing livestream only show scheduling option when source is none.

* Reset any set release time if switching to live stream mode.

* Update date/time cmpnts to reset any chnages they made on umount. Update schedule date/time cmpnt to clear release time when selecting anytime option.

* Additional filtering of internal tags

* Default to replay view when editing a liveststream
2021-12-31 11:20:54 -06:00
Rafael
e94f66a5fe Fix stakedLevel looking looking for wrong prop 2021-12-31 05:52:56 -08:00
Thomas Zarebczan
5d1e6a8f7c
fix crash
https://odysee.com/@ShapeShiftDAOLatam:e/giveth-es:a
2021-12-30 16:08:34 -05:00
Dan Peterson
78d8446a0b Strip internal tag prefix from form labels 2021-12-30 16:05:51 -05:00
Dan Peterson
a96d2a47be Create new anytime form state to explicitly set to release to now. Clear internal scheduled tag when editing. 2021-12-30 15:21:59 -05:00
Dan Peterson
399c4eb56d revert commit - wrong branch 2021-12-30 15:21:59 -05:00
Dan Peterson
a92e9c9973 clear/reset release time if switching to livestream mode 2021-12-30 15:21:59 -05:00
Dan Peterson
1c58b6a10c remove prefix from disable-support 2021-12-30 15:21:59 -05:00
Dan Peterson
fcd2157050 update prefix to c: 2021-12-30 15:21:59 -05:00
Dan Peterson
194d42bf8c Update tag prefix to be consistent with "internal" naming convention used in code. 2021-12-30 15:21:59 -05:00
Dan Peterson
a8209ee38b Temporarily remove tag filter on upcoming (will be added back soon) 2021-12-30 15:21:59 -05:00
Dan Peterson
563e6b2c2f Add prefix to all internal tags 2021-12-30 15:21:59 -05:00
Dan Peterson
33cce4bbcd Update so that any edited streams without a date/time change still get the tag if needed. 2021-12-30 15:21:59 -05:00
Dan Peterson
356c5bf30f - Add a system-level tag for scheduled live streams
- Query for that tag in the upcoming section
- Improve special tag organization
- Filter out the internal tags in the UI
- Add missing types to publish state
2021-12-30 15:21:59 -05:00
infinite-persistence
0ccf9f2c05 Handle removed livestream comments 2021-12-30 11:55:44 -05:00
infinite-persistence
12eeb06c40 LivestreamComment: pass Comment prop instead of individual values
The number of props to pass is getting out hand, so just pass the Comment object directly.

Also, moved the "is my comment" check into LivestreamComment, so we don't need to pass it as a prop from the parent.
2021-12-30 11:55:44 -05:00
infinite-persistence
39a0beb4ee Remove channel_list from end of Sync Loop
## Issue
- Slow for users with many channels.
- The need to do it in Sync Loop is more applicable to Desktop.

## Approach
- Just remove it from sync loop.
- It will still be called when entering `/$/channels`, so that's an alternative to fix things when it is out of sync.
2021-12-29 21:16:20 -05:00
Rafael
cd9dc5cf96 Highlight chat message if your channel is mentioned 2021-12-29 16:13:57 -05:00
Dan Peterson
c22a3048dc Make sure user is available (ie. backend api not down) 2021-12-29 15:45:10 -05:00
Rafael
2c43076497 Fix header menu on password reset page 2021-12-29 15:40:15 -05:00
infinite-persistence
b6d21692e6 Fix broken startup sync-lock
## Issue
In 38c13cf5, an additional `doGetAndPopulatePreferences` was added in `doSignIn` to ensure we have populated the preferences at least once. With that, `doHandleSyncComplete` can skip `doGetAndPopulatePreferences` is there is no change in the hash.

The addition broke the "initial sync lock", thus incorrectly allowing users to change preferences when the process is not completed.

## Change
I think the additional call is no longer needed since we now store a local hash for comparison, so `doGetAndPopulatePreferences` wouldn't be incorrectly skipped in the first ever `doHandleSyncComplete`.
2021-12-29 10:32:38 -05:00
infinite-persistence
2ea37e7708 Settings: Change button from "Back" to "Save"
Changes aren't being saved until user leaves the page, so this change would reflect that better.
2021-12-29 10:32:38 -05:00
infinite-persistence
d7e3127e65 Sync: handle fast-actions being reverted
## Repro
1. Follow a channel.
2. When `preference_set` is sent, unfollow the channel.
3. A few seconds later, the final setting reflects (1) instead of (2).

The current sync loop involves doing a final `sync/get` at the end. While not necessary for the scenario above, the code flow covers various cases, so it's still needed for now.

## Approach
Implement an abort mechanism to the sync-loop.

When syncing from the `buildSharedStateMiddleware` loop, generate an ID for each sync session, and only store the latest one. Pass the ID to the completion-callback (and other places as needed), so we can check if our session is still the latest one before executing the callback.

The check for invalidation can also be placed in more places to cut off the sync process earlier, but it's only done for 2 critical places for now.
2021-12-29 10:32:38 -05:00