Commit graph

294 commits

Author SHA1 Message Date
Lim Chee Aun
58c6b6349c Time to embrace prefers-reduced-motion with picture 2023-08-08 15:34:24 +08:00
Lim Chee Aun
a8c7e08f3f Treat posts from groups differently from boosts 2023-08-07 21:26:43 +08:00
Lim Chee Aun
4bf6b00b94 Shorten shortenNumber code 2023-07-23 14:09:39 +08:00
Lim Chee Aun
32a853ecc0 Make auto inline translation as a setting, turned off by default 2023-07-22 20:59:07 +08:00
Lim Chee Aun
ff41cd3563 Replace (most) alert/confirms with alternative UI
Everything might break lol
2023-07-17 21:01:00 +08:00
Lim Chee Aun
afc13c0d7e Fix fn not refreshed in useInterval 2023-07-13 20:11:23 +08:00
Lim Chee Aun
b02cae4967 Try use more system locale
Hopefully locale doesn't change half way
2023-07-08 13:43:25 +08:00
Lim Chee Aun
2eba4eaf59 Prevent re-render timeline in multi-column mode 2023-07-05 16:59:28 +08:00
Lim Chee Aun
c61e9bb61c Update account info if there's name or avatar change 2023-06-28 17:38:01 +08:00
Lim Chee Aun
fe713edee9 Unfurl Pleroma links 2023-06-27 12:19:55 +08:00
Lim Chee Aun
8d35d476e3 Fix nav menu overlapping tab bar
Also allow custom padding into safeBoundingBoxPadding function
2023-06-15 18:03:37 +08:00
Lim Chee Aun
3b3e0e6fde EmojiText component replacing dangerouslySetInnerHTML 2023-06-14 17:37:41 +08:00
Lim Chee Aun
d2826085e1 useLayoutEffect instead 2023-06-14 16:15:25 +08:00
Lim Chee Aun
ddbca53a72 Safe to reuse getComputedStyle 2023-06-14 11:15:40 +08:00
Lim Chee Aun
db602147ab Handle GoToSocial links 2023-06-13 21:08:59 +08:00
Lim Chee Aun
a1ee5be54b Upgrade react-menu and bug fixes 2023-06-13 17:46:37 +08:00
Lim Chee Aun
58eea41b56 Scale down avatar size for non-parent-author posts in grouped contexts
Experimental!
2023-06-11 23:57:53 +08:00
Lim Chee Aun
cab2e47a77 Perf fixes 2023-06-11 23:31:14 +08:00
Lim Chee Aun
676fa6fbc9 Fix error when language code is "startrek_it"
Srsly why…
2023-06-05 11:40:30 +08:00
Lim Chee Aun
753789c0c7 Try/catch match because it throws when there's invalid language code 2023-05-20 14:14:35 +08:00
Lim Chee Aun
0df21af374 Handle cases when statusID is not used 2023-05-20 01:06:16 +08:00
Lim Chee Aun
9bb66e57ae Show the error too
This is getting annoying
2023-05-12 00:05:22 +08:00
Lim Chee Aun
4d14da35a4 More sort, still not perfect
This proves to be more difficult than I thought
2023-05-11 18:20:34 +08:00
Lim Chee Aun
edf7f6039c More sort, still not perfect
This proves to be more difficult than I thought
2023-05-11 18:13:13 +08:00
Lim Chee Aun
b8d7e18371 Fix sort, this was reversed 2023-05-10 10:02:50 +08:00
Lim Chee Aun
d264af14f1 Try handle case when configured instance domain is different than the actual instance domain
Honestly how do I even test if this will work
2023-05-09 18:48:19 +08:00
Lim Chee Aun
d95ef309ca Quick fix html escaping bug 2023-05-08 12:08:26 +08:00
Lim Chee Aun
711842916d New experiment: auto refresh 2023-05-05 17:53:16 +08:00
Lim Chee Aun
1f5d74d78e More checks on thread contexts
Some instances return really wacky order of posts
2023-05-05 16:59:06 +08:00
Lim Chee Aun
d55bd95c72 Fix link detection 2023-05-05 08:54:06 +08:00
Lim Chee Aun
ef06faf259 Notifications popover, for larger screens 2023-04-30 21:03:09 +08:00
Lim Chee Aun
80d8d287a3 Handle mentions & hashtags that has @ or # BEFORE the link 2023-04-27 19:52:03 +08:00
Lim Chee Aun
2b4efc6f04 Render Misskey and Calckey QTs too 2023-04-25 11:16:00 +08:00
Lim Chee Aun
338b556e34 Only consider "stuffing" if there are more than 3 hashtags 2023-04-23 22:00:32 +08:00
Lim Chee Aun
4281a91e48 New feature: cloak mode 2023-04-23 12:08:41 +08:00
Lim Chee Aun
861a596d4e Fix double ## and scan all links instead 2023-04-23 09:02:19 +08:00
Lim Chee Aun
8d42e33f71 Small tooltip for hashtag stuffing 2023-04-23 08:55:22 +08:00
Lim Chee Aun
3eaf3ef62b New experiment: rendering quote toots 2023-04-23 00:55:47 +08:00
Lim Chee Aun
7a7693ae52 New feature: hashtag stuffing collapsing 2023-04-20 18:56:22 +08:00
Lim Chee Aun
b2827e690d Better handling of mentions 2023-04-20 13:40:42 +08:00
Lim Chee Aun
b63269e42a Handle urls from root 2023-04-17 18:56:09 +08:00
Lim Chee Aun
39ec0d29e2 Fix wrong API call when adding new account 2023-04-16 13:52:16 +08:00
Lim Chee Aun
5598059715 Spanify un-spanned mentions 2023-04-14 21:02:29 +08:00
Lim Chee Aun
f303c6d36c Rewrite status page + media modal
Media modals now have their own URLs
2023-04-14 15:30:04 +08:00
Lim Chee Aun
a60ad33b47 Prevent useTitle from rerendering 2023-04-14 15:28:52 +08:00
Lim Chee Aun
f9217ac16f Fix boost dedupe bug, it was too powerful 2023-04-09 11:36:18 +08:00
Lim Chee Aun
4b42118742 Only show boosts carousel if there are >10 items 2023-04-05 18:52:15 +08:00
Lim Chee Aun
a41871ae4b Experimental feature: translate bio 2023-03-29 01:12:59 +08:00
Lim Chee Aun
f160a576d6 Add settings to hide translate button for certain languages 2023-03-28 19:04:52 +08:00
Lim Chee Aun
12a4b4b3b8 Fix some toots gone missing 2023-03-27 16:46:51 +08:00
Lim Chee Aun
4358f12106 Remove test 2023-03-27 16:46:40 +08:00
Lim Chee Aun
06edafa5f8 Need more debug info for dedupe boosts 2023-03-27 15:05:07 +08:00
Lim Chee Aun
caee38c98f New experiment: dedupe boosts and group context 2023-03-26 23:18:36 +08:00
Lim Chee Aun
5208df4a28 Fix filter logic 2023-03-23 21:49:09 +08:00
Lim Chee Aun
422813be9c New experimental Filtered Posts UI 2023-03-22 00:09:36 +08:00
Lim Chee Aun
bc4dfaf62f Add previewMode 2023-03-16 13:02:46 +08:00
Lim Chee Aun
e0e1196c9e Make account info load wayyyy faster on Profile page 2023-03-11 21:33:55 +08:00
Lim Chee Aun
b4f8f92431 Another bug fix 2023-03-11 09:13:11 +08:00
Lim Chee Aun
731f91122b Fix toggle values for settings for translation 2023-03-09 13:20:01 +08:00
Lim Chee Aun
cff8c90478 Quick fix for back link not working for unfurled mastodon links
This is obviously the wrong 'location'
2023-03-08 23:33:53 +08:00
Lim Chee Aun
73b8294811 Split Accounts away from Settings
Very MVP, even #settings-container is the same for now
2023-03-08 00:32:33 +08:00
Lim Chee Aun
355b3be6e9 Alrighty, let's test this post translation out! 2023-03-07 22:38:06 +08:00
Lim Chee Aun
af7c9bc1b1 Differentiate clickable vs static toasts 2023-03-06 16:01:33 +08:00
Lim Chee Aun
d86a69903f Need more datetime detail for Edit History 2023-03-03 18:11:37 +08:00
Lim Chee Aun
50fd06057f Refactor niceDateTime out 2023-03-01 20:07:22 +08:00
Lim Chee Aun
a86daaac0b Fix useScroll bug 2023-02-28 21:56:41 +08:00
Lim Chee Aun
b2b8b58863 Very basic update checker 2023-02-28 15:27:42 +08:00
Lim Chee Aun
0bc009140e It's time to bring back the tab bar 2023-02-27 23:59:41 +08:00
Lim Chee Aun
8aaba24d1f Add 'more' menu
- Refactor Toast
- Fix locale for datetime strings in status
- Nicer shadow for menus
2023-02-27 00:55:04 +08:00
Lim Chee Aun
aca3cb677b Sometimes need exact distance instead ratio 2023-02-25 10:50:02 +08:00
Lim Chee Aun
9e867c7af5 Fix title not working when not logged in
Welcome page's useTitle overridden other page's useTitle
2023-02-25 10:03:34 +08:00
Lim Chee Aun
3c8ba1c34e Need to pass instance here too 2023-02-24 00:50:06 +08:00
Lim Chee Aun
e2a679e202 memoize status calls 2023-02-23 22:53:12 +08:00
Lim Chee Aun
e6d6adb480 First small step to resolving mastodon links
And open them inside Phanpy instead of like an external link
2023-02-23 16:45:53 +08:00
Lim Chee Aun
2120a1e28e Still got to make sure instance is lowercase
Also, spellcheck={false} > spellcheck="false"
2023-02-22 09:46:50 +08:00
Lim Chee Aun
5c6c9a43f2 Fix regression: threadify stopped working
This is due to status key changed with extra instance string
2023-02-19 21:16:23 +08:00
Lim Chee Aun
522d55ebb8 New experiment: multi-column mode 2023-02-18 20:48:24 +08:00
Lim Chee Aun
4337c89ddf Add one more hide modal 2023-02-17 11:29:53 +08:00
Lim Chee Aun
ca943cbc5a A bit late to fix this but better be consistent 2023-02-17 10:17:41 +08:00
Lim Chee Aun
82c8247ac8 Fix infinite loop bug!! 2023-02-17 01:54:19 +08:00
Lim Chee Aun
7aba448f42 Handle multi-paragraph code blocks
This ain't going to be fun if the HTML gets messier in the future
2023-02-16 21:51:22 +08:00
Lim Chee Aun
0bef245c83 New feature: Shortcuts 2023-02-16 17:52:16 +08:00
Lim Chee Aun
255ca8eaa6 Support edit media description for Mastodon v4.1 2023-02-13 01:21:18 +08:00
Lim Chee Aun
25ff2b9176 Smarter distancing for useScroll 2023-02-12 17:46:20 +08:00
Lim Chee Aun
0b6dd07eee Rewrote notifications, again 2023-02-12 17:38:50 +08:00
Lim Chee Aun
55d8908cf5 For page not loading when logged out
Because path is undefined
2023-02-11 19:36:28 +08:00
Lim Chee Aun
26f8b618a5 At this point, better write my own matchPath right? 2023-02-11 18:19:23 +08:00
Lim Chee Aun
863ac2663c Fix titles 2023-02-11 17:57:26 +08:00
Lim Chee Aun
a4df58d297 Immediately I found a bug right after I toot about it 2023-02-10 01:01:06 +08:00
Lim Chee Aun
91aeed5fe6 Respect your preferences 2023-02-09 23:59:57 +08:00
Lim Chee Aun
58d4ca0ff2 Finally replace Home 2023-02-09 22:27:49 +08:00
Lim Chee Aun
129417bad3 Fix wrong links 2023-02-09 17:41:42 +08:00
Lim Chee Aun
f511b0a5ab More code porting 2023-02-08 19:11:33 +08:00
Lim Chee Aun
9921e487e8 Minimum viable Home → Following port 2023-02-08 00:31:46 +08:00
Lim Chee Aun
1357c1b2bd Fix more edge cases after breaking changes 2023-02-06 16:35:03 +08:00
Lim Chee Aun
a130743d4c Breaking: refactor all masto API calls
Everything need to be instance-aware!
2023-02-06 00:17:19 +08:00
Lim Chee Aun
e0bab6c70a More refactoring work 2023-02-03 21:08:08 +08:00
Lim Chee Aun
e95954a7fd Begin work on account-specific store
1. Move boostsCarousel setting to account-specific, sadly no migration from previous setting
2. Cache last notification to prevent keep getting unread notification badge
2023-02-02 17:29:57 +08:00
Lim Chee Aun
fa3ee31cd3 Fix #55 2023-02-02 10:30:16 +08:00
Lim Chee Aun
bbb3017b2d Quietly handle hashtag links
No follow/unfollow yet.
2023-01-31 19:31:25 +08:00
Lim Chee Aun
969fddc581 Time for use-debounce
Try a leading debounce here
2023-01-30 20:51:06 +08:00
Lim Chee Aun
292186e918 New UI experiment: media modal + status detail page
- Extracted out the media modal and media component from Status
- Use :has CSS selector to do most of the layout work
- Expecting edge case UI bugs
2023-01-29 15:23:53 +08:00
Lim Chee Aun
ae37d58826 Fix document.title not working properly 2023-01-29 15:22:16 +08:00
Lim Chee Aun
aaeca7dd03 Refactor out a Timeline component
Also replace login() with createClient() for faster log in
2023-01-28 18:52:18 +08:00
Lim Chee Aun
816653e2e6 Add j/k keyboard navigation to status page
At the same time, fix shift+k not working in Home page
2023-01-27 20:54:18 +08:00
Lim Chee Aun
e83d128f62 Rewrite Notifications page + experimental fix on getting/showing updates 2023-01-27 11:47:30 +08:00
Lim Chee Aun
4c05692ef5 This account resolving thingie is getting ridiculous 2023-01-22 20:29:48 +08:00
Lim Chee Aun
952f048913 Fix disabling Boosts Carousel not working 2023-01-21 23:36:31 +08:00
Lim Chee Aun
baf139762c Scroll start logic should work when overscroll too 2023-01-20 16:05:27 +08:00
Lim Chee Aun
e382cad22a Enable Boosts Carousel by default
Fix the logic here
2023-01-17 10:06:19 +08:00
Lim Chee Aun
62a3ba7c5f Bug fixes for boosts carousel + scrolling 2023-01-16 20:32:30 +08:00
Lim Chee Aun
e2139399ee New experiment: Boosts Carousel™️ 2023-01-14 19:42:04 +08:00
Lim Chee Aun
71b50382e9 New feature: Unsent Drafts
For now, this only works for unsent unsaved drafts e.g. the browser kill the page without giving the user the chance to discard
2023-01-13 15:30:09 +08:00
Lim Chee Aun
dfaec0605a Can re-use the UID as new window target name! 2023-01-11 23:23:49 +08:00
Lim Chee Aun
e2b6f2df6a Auto-threadify when open a status page with context 2023-01-11 17:45:37 +08:00
Lim Chee Aun
a421406a11 DRY get current Account 2023-01-11 13:28:42 +08:00
Lim Chee Aun
292f337a44 Yes, never forget the reblogs 2023-01-10 22:58:54 +08:00
Lim Chee Aun
c4236e6de7 New feature: thread numbering 2023-01-10 19:59:02 +08:00
Lim Chee Aun
13c3b8fa3b Finally DRY this saving status code 2023-01-09 19:11:34 +08:00
Lim Chee Aun
41df88e625 Perf fixes
Turns out, adding an object to states.statuses proxyMap object, re-render ALL statuses
2023-01-07 20:26:23 +08:00
Lim Chee Aun
ee9bfe6331 Lots of tiny adjustments 2023-01-07 14:45:04 +08:00
Lim Chee Aun
de45a0f9d5 Update useScroll to check distance in threshold instead of pixels 2023-01-05 15:29:11 +08:00
Lim Chee Aun
1f12c53ee1 Refactor textarea and chars count meter
It won't re-render on every key press anymore
2023-01-04 19:03:11 +08:00
Lim Chee Aun
5074716378 Set scroll threshold for up/down
Else it'll be too trippy
2023-01-02 23:16:49 +08:00
Lim Chee Aun
39124ccc70 Add experimental scroll-based effects
- Scroll to top = refresh Home
- Scroll up/down = show/hide header and compose button
- Scroll near bottom = load next statuses
- Move Compose button to only at Home instead of 'App' level
2023-01-02 21:36:24 +08:00
Lim Chee Aun
334584ecef Fix HTML inside code blocks being rendered 2022-12-26 18:04:49 +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
31e2196cd6 Safeguard for unknown HTML cases in status content
1. Mark up code blocks first because anything inside code blocks cannot be "enhanced".
2. Set default rejects for elements that don't need to be "enhanced". Not a complete list but best-effort. Probably allowlist works better than blocklist, but some content doesn't even start with any parent nodes.
2022-12-23 09:20:34 +08:00
Lim Chee Aun
1c98433333 Linkify twitter usernames
This is due to some folks cross-posting from Twitter.
2022-12-23 00:40:25 +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
39efda9e38 Track spoilers
Turns out I'm using WeakMap wrong
2022-12-20 19:14:50 +08:00
Lim Chee Aun
509c1d971e Return 0 if no html 2022-12-19 17:30:10 +08:00
Lim Chee Aun
dc37100442 Refactor Carousel 2022-12-18 22:56:00 +08:00
Lim Chee Aun
d0579a57d6 Fix bug when text nodes contain HTML <>
Text nodes don't escape them
2022-12-17 17:24:26 +08:00
Lim Chee Aun
665b908698 Put names into every export 2022-12-16 13:27:04 +08:00
Lim Chee Aun
2ddc1b8005 Better document titles for pop-out compose window 2022-12-15 17:11:15 +08:00
Lim Chee Aun
58860c334c Responsive font size based on content length
The shorter, the larger font-size
2022-12-15 00:41:48 +08:00
Lim Chee Aun
e2346bc32a Shift+click to open compose window
- Fixes for closing
- Easier code for checking if can close window
2022-12-13 21:54:16 +08:00
Lim Chee Aun
3e80ee03f3 Simpler code for content enhancement
Also fixed some shortcodes not converted
2022-12-13 20:15:02 +08:00
Lim Chee Aun
d32d9c62eb Style backtick inline codes
The tree walker code is generated via Copilot, hope it works
2022-12-12 21:51:59 +08:00
Lim Chee Aun
9c5586e43b This "@" icon for direct-visibility posts is very confusing
Change to the envelope icon for now
2022-12-11 10:56:09 +08:00
Lim Chee Aun
039d4661fb Remove target=_blank from username links
Mobile Safari ignores the click preventDefault and not show the Account popover. Removing target_blank fixes this ignorance

Kinda hacky fix for now
2022-12-11 09:28:02 +08:00
Lim Chee Aun
b26f1204c7 Enhance the account note and make sure links open in new window 2022-12-10 19:16:11 +08:00
Lim Chee Aun
2b9390a0a1 Initial commit 2022-12-10 17:14:48 +08:00