Commit graph

484 commits

Author SHA1 Message Date
Lim Chee Aun
2031e88d87 Better handling of failures
Some mastodon instances are getting hit hard
2023-01-01 15:28:07 +08:00
Lim Chee Aun
842db90f9c Handle context API call fail error 2023-01-01 12:02:11 +08:00
Lim Chee Aun
ac91dc7983 Make this manual opt-in 2023-01-01 08:51:56 +08:00
Lim Chee Aun
895602e446 Gosh this need to be low threshold
It's actually % of the full height of the element. So if the status is super long (100K chars), it'll never be 0.25
2022-12-31 23:58:48 +08:00
Lim Chee Aun
b12b0c588d Experimental j,k,o,esc,backspace shortcuts 2022-12-31 09:52:31 +08:00
Lim Chee Aun
c0234dd26e Add focus for notification block too 2022-12-30 23:08:55 +08:00
Lim Chee Aun
d605fc6ebe Fix missing border 2022-12-30 20:39:27 +08:00
Lim Chee Aun
9201f7a118 First step in making things focusable 2022-12-30 20:37:57 +08:00
Lim Chee Aun
123d2469f6 Don't show hero pointer when loading 2022-12-30 13:26:05 +08:00
Lim Chee Aun
3338c49c25 Fix threshold for larger-than-viewport statuses 2022-12-29 16:15:58 +08:00
Lim Chee Aun
5804ddbdb9 Add all the focuses 2022-12-29 16:11:58 +08:00
Lim Chee Aun
bdcefb1ab0 Add a nice pointer 2022-12-29 11:47:10 +08:00
Lim Chee Aun
353c911232 Temporarily disable this now 2022-12-29 10:27:36 +08:00
Lim Chee Aun
7e3733d79e Delay hero status fetch if already cached
The context call is more important
2022-12-28 18:06:05 +08:00
Lim Chee Aun
2dca345818 More breathing space after the negative top margin hack 2022-12-28 00:24:36 +08:00
Lim Chee Aun
e7cff25337 Fix wrong logic for silent fail
Some mastodon instances are getting swamped
2022-12-27 21:30:18 +08:00
Lim Chee Aun
fb88129ae7 Check for ref before access scrollTop 2022-12-27 09:05:45 +08:00
Lim Chee Aun
6da4834b71 Change back to limit 1
Sometimes, there's really just one new status update.
2022-12-26 01:09:53 +08:00
Lim Chee Aun
c75bf36345 Try dblclick for reloading
Not sure if this'll work on touch-based devices. Also good for debugging.
2022-12-25 23:53:18 +08:00
Lim Chee Aun
86f38ee3b8 Fix Account sheet relationship check not working when clicking from Settings page
This is because accounts from different instances have different IDs!

They're NOT unique cross-instance. So while on one instance, cannot use the account ID of the other instance to query for relationship because the ID doesn't exist on *current* instance.
2022-12-25 23:31:50 +08:00
Lim Chee Aun
318c2aeffc Upgrade masto.js to V5
- Fix all breaking changes
- Have to manual remove null/undefined values before creating statuses
- Have to recreate iterator instance if start from scratch because can't pass args in next()
2022-12-25 23:28:55 +08:00
Lim Chee Aun
cf4fbc8553 Make sheet have header and body section 2022-12-25 18:01:01 +08:00
Lim Chee Aun
ec67811823 Smart status heading + tap to scroll to hero status
I'll probably need to componentize relative-time, it's getting not DRY
2022-12-24 22:26:43 +08:00
Lim Chee Aun
8eec844781 Scroll-to-top for Notifications 2022-12-24 17:54:42 +08:00
Lim Chee Aun
42fa30d8f8 Move the onVisibilityChange API check to app.jsx
Doesn't make sense to make it part of Home. Also add in Notifications check.
2022-12-24 10:26:05 +08:00
Lim Chee Aun
f8fac1294b Fixes & adjustments to statuses in Status page 2022-12-24 01:11:11 +08:00
Lim Chee Aun
dd99d186bf Add one more case for scrolling 2022-12-23 23:42:41 +08:00
Lim Chee Aun
fcd29d4bdc Aesthetic changes
- Icon change for "Unlisted"
- Dynamic text size for compose field depending on char count
2022-12-23 21:25:01 +08:00
Lim Chee Aun
a2e55eca90 Make fetches concurrent 2022-12-23 12:30:49 +08:00
Lim Chee Aun
fe78ac5fa0 Fix userInitiated undefined 2022-12-23 12:30:07 +08:00
Lim Chee Aun
d3e3e47527 Fix logic for cached statuses 2022-12-23 11:28:25 +08:00
Lim Chee Aun
7e84088d67 Handle case when too many sub-comments
For now, encourage clicking on status to see more replies instead of expanding the sub-comments
Feels "wasted" since the comments are already loaded but it's just too much scrolling

Also auto-open if the sub-comments are not a lot.
2022-12-23 00:30:55 +08:00
Lim Chee Aun
de409bd668 Fix empty statuses when (pre)loading homeNew 2022-12-22 21:38:43 +08:00
Lim Chee Aun
ade3ebb5ae Experiment: new reply/thread "badges"
Also totally forced one-lined the name text + date at the top of a status
2022-12-22 10:35:39 +08:00
Lim Chee Aun
6c0aedcd3e Fix new posts check not working 2022-12-22 08:39:01 +08:00
Lim Chee Aun
eba78e3f07 Time to embrace sheets
.box class is just… weird…
2022-12-21 20:00:45 +08:00
Lim Chee Aun
3b6f0f277e Rewrite whole scroll logic for Status page
Handle 3 cases, all written down in comments.

Crossing my fingers 🤞🤞🤞
2022-12-21 18:02:13 +08:00
Lim Chee Aun
237ceae356 Visual indicator that it tries to get new updates
Probably too subtle. Loader also only appears after 1s delay 😆
2022-12-21 08:54:39 +08:00
Lim Chee Aun
becb8aa89d Emphasize mentions on notifications 2022-12-21 08:48:11 +08:00
Lim Chee Aun
3589438556 Fix clash of styles
.status got overriden 😂 (maybe I should scope the CSS or something)
2022-12-21 07:42:48 +08:00
Lim Chee Aun
a9538e6cf0 Beautify log in page a little 2022-12-21 01:04:04 +08:00
Lim Chee Aun
e80e09c398 Need a little padding as breathing space 2022-12-21 01:03:49 +08:00
Lim Chee Aun
04323f05ff Experimental: caching status + context
Cache all statuses from Status page so that it can load faster when
navigating between statuses. Uses sessionStorage
2022-12-21 01:02:48 +08:00
Lim Chee Aun
8babc97877 Fix status jumping bug
This part is too complex.
The thread can get very fancy and it's impossible to handle all use-cases without a lot of code.
Solution is just fading all of them out while loading.
2022-12-20 15:32:31 +08:00
Lim Chee Aun
c116db79cc Have fun with welcome page 2022-12-20 00:16:45 +08:00
Lim Chee Aun
ad2bebec0e Bump notifications limit 2022-12-20 00:11:55 +08:00
Lim Chee Aun
99357dc887 Shorten number for replies count 2022-12-19 17:38:20 +08:00
Lim Chee Aun
9beee6cb37 Revert back to 'X' instead of '<'
It can be confused with the browser back button. It doesn't function as back button as well
2022-12-19 16:25:57 +08:00
Lim Chee Aun
681dfaaaff Auto-open details and hide summary button
Only show toggle comments button if there are many statuses
2022-12-19 10:05:27 +08:00
Lim Chee Aun
141f4a94dc Fix "show more" appearing below the faux padding 2022-12-19 10:04:50 +08:00
Lim Chee Aun
0a4898059b Set to 2 2022-12-19 10:04:11 +08:00
Lim Chee Aun
f110ac6812 Fix flash of un-nested comments 2022-12-19 00:19:19 +08:00
Lim Chee Aun
a029c7ccae Change from 'x' to '<' on Status page 2022-12-18 20:53:32 +08:00
Lim Chee Aun
2f24713d71 Real nested comments
- Collapsed/expandable replies
- Pagination for many many comments
2022-12-18 20:46:13 +08:00
Lim Chee Aun
9eb40d165f Only snap to top when there are ancestors 2022-12-18 13:43:34 +08:00
Lim Chee Aun
548af18bee Only show "New posts" when more than 1 new post 2022-12-18 11:53:58 +08:00
Lim Chee Aun
03b319a517 Make loading new posts less destructive 2022-12-18 11:53:41 +08:00
Lim Chee Aun
16ae8af889 Replace deprecated methods 2022-12-18 11:52:53 +08:00
Lim Chee Aun
6e09d5f836 Fix .insignificant class affecting other elements
Remove them because they were used in previous discarded design
2022-12-18 01:14:44 +08:00
Lim Chee Aun
72b0931554 Super lazy way to implement "only mentions" in Notifications
#OnlyMentions

Could have make another tab that makes another request to /notifications but I feel lazy
2022-12-18 01:04:26 +08:00
Lim Chee Aun
665b908698 Put names into every export 2022-12-16 13:27:04 +08:00
Lim Chee Aun
94dd2bf627 Fix spoiler content accidentally get leaked in document.title
- Also add quotes
- Add comment to why use 64 chars (soft) limit
2022-12-15 17:14:33 +08:00
Lim Chee Aun
95519a538e Some breathing space for "Show more" button 2022-12-15 17:00:11 +08:00
Lim Chee Aun
56cab34a9c Test add last build time and commit hash 2022-12-15 14:42:34 +08:00
Lim Chee Aun
ca98863c01 Fix bug when the first notification is already a grouped one 2022-12-15 13:11:28 +08:00
Lim Chee Aun
ca71d45a77 Fix wrong isSelf logic 2022-12-15 01:45:36 +08:00
Lim Chee Aun
735cbf05b7 Very embarrassing mistake
Why do I even name such bad variable names
2022-12-14 22:53:14 +08:00
Lim Chee Aun
fa1769c3c2 New feature: Grouped notifications
- Grouped based on notification.type and notification.status.id
- Crossing fingers here
2022-12-14 22:46:50 +08:00
Lim Chee Aun
6195f45800 Remove unused code 2022-12-13 20:42:19 +08:00
Lim Chee Aun
3396aa2512 Fix InView creating div inside ul
Make it create li but only observe one of the skeleton instead
2022-12-12 22:42:58 +08:00
Lim Chee Aun
21cfec3386 Remove console logs 2022-12-12 08:47:11 +08:00
Lim Chee Aun
cb64f5ffda Add "Edited at" meta with Edit History modal
Much refactor, kinda ugly code still.

Edit History design is still very basic.
2022-12-11 21:22:22 +08:00
Lim Chee Aun
6f3eae15b6 Fix missing boost icon 2022-12-11 17:10:10 +08:00
Lim Chee Aun
9f9395d965 Better copy to differentiate poll created vs voted 2022-12-11 12:15:39 +08:00
Lim Chee Aun
3bee69dc84 Clear notificationsNew when loading fresh 2022-12-11 12:07:36 +08:00
Lim Chee Aun
5aa9649935 Convert all outlines to borders
Because Safari ain't respecting border-radius with outlines
2022-12-11 00:52:04 +08:00
Lim Chee Aun
f41ca129c2 Fix Notifications link on Home header triggering scroll-to-top 2022-12-10 23:45:52 +08:00
Lim Chee Aun
b3941462d6 Facepalm moment
s/created_at/createdAt
2022-12-10 21:23:19 +08:00
Lim Chee Aun
d884cddf16 Fix bugs on status page 2022-12-10 21:19:38 +08:00
Lim Chee Aun
46d5e20008 Code cleanup on Settings page 2022-12-10 20:48:48 +08:00
Lim Chee Aun
33637c76d1 Let's change this and see if it's annoying 2022-12-10 20:48:09 +08:00
Lim Chee Aun
d11a47bdbc Add link to github repo and myself 2022-12-10 20:47:34 +08:00
Lim Chee Aun
3778a11629 Fix logo 2022-12-10 17:38:20 +08:00
Lim Chee Aun
2b9390a0a1 Initial commit 2022-12-10 17:14:48 +08:00