Commit graph

4185 commits

Author SHA1 Message Date
Hazelnoot
b6a71d2362 merge: make DynamicNote less dynamic - helps with #1059 (!1041)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1041

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-24 21:08:38 +00:00
Marie
b05b4ec74d merge: Cleanup admin user UI (!1012)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1012

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-23 11:21:29 +00:00
Hazelnoot
639556201a merge: Add warning banner about word mute limitations (resolves #784) (!1017)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1017

Closes #784

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-23 11:14:15 +00:00
dakkar
5a961119a7 ask to reload when changing noteDesign
since it's not longer super-dynamic
2025-05-21 18:32:43 +01:00
dakkar
7c61b57939 make sure that the DynamicNote component is *not* computed
my current hypothesis to explain #1059:

- we have a timeline, with some notes
- a new note arrives on the websocket
- we replace the items in the pagination inside the timeline
- vue starts re-rendering the notes, using the `:key` values to know
  which ones to leave there and which ones to move / add / delete
- since DynamicNote is `computed`, every time vue needs to instantiate
  it, it does an `await`
- so if another note is waiting in the websocket buffer, it gets
  processed *while vue is rendering*
- processing the new note cause the `items` map (and the array
  computed from it) to be replaced
- at this point vue may well get a new iterator from the start of the
  new list of items, after it had already decided that the first few
  notes did not need to be changed
- which manifests as new notes appearing in the middle of the
  timeline!
- and after enough new notes have arrived, all the old notes are out
  of the items map, so their elements have all been deleted, and
  "normality" is restored

this makes sense in my head, let's see if this change actually fixes
the problem
2025-05-21 18:27:39 +01:00
Hazelnoot
2b2afdd53a look at renoteId / replyId in case the renote / reply was not packed 2025-05-21 08:33:41 -04:00
Hazelnoot
aaba16c91b exclude reply OP from preview 2025-05-21 08:31:14 -04:00
Hazelnoot
28551c8103 use config.url instead of "https://${config.host}" 2025-05-21 08:27:23 -04:00
Hazelnoot
e74fde8b31 optimize extractUrlFromMfm 2025-05-20 22:33:14 -04:00
Hazelnoot
dc1adcc491 skip resolving preview when a link is known to be recursive 2025-05-20 21:37:25 -04:00
Hazelnoot
38d4a7fd56 don't recursively render note previews 2025-05-20 21:21:42 -04:00
Hazelnoot
6c77be64b6 merge: Fix "fetch linked note" button for AP previews (!1037)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1037

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-20 22:03:53 +00:00
Hazelnoot
e167ddd72d fix unknownUrl value 2025-05-19 18:50:13 -04:00
Hazelnoot
be1326372b add missing import file extension 2025-05-19 18:27:20 -04:00
Hazelnoot
f8c53466ef make sure that the "fetch linked note" button actually remembers that the note is fetched 2025-05-19 10:57:42 -04:00
Hazelnoot
c412f5d69a extract common translation UI into SkNoteTranslation.vue 2025-05-18 14:51:22 -04:00
Hazelnoot
cbb0f5a964 fix type errors in note translation source 2025-05-18 14:03:40 -04:00
Hazelnoot
10a2f32947 fix spurious "translation failed" errors in MkNoteSub 2025-05-18 14:01:47 -04:00
Marie
1801cbd278 merge: set transparent background for naked containers - fix 1063 (!1033)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1033

Closes #1063

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-17 19:53:48 +00:00
dakkar
d9f5c108b0 set transparent background for naked containers - fix 1063
`MkContainer` gained a background for its `.content` element, but that
needs to be overridden by the `naked` option (used for transparent
widgets)
2025-05-17 13:26:16 +01:00
Hazelnoot
2fdec0ce29 add option to put Translate button in the note toolbar 2025-05-16 20:00:48 -04:00
Hazelnoot
8c346eebc3 allow staff to assign roles to remote users 2025-05-16 17:40:10 -04:00
Hazelnoot
76a229620d allow staff to un-assign conditional roles that have been erroneously assigned (such as by changing a role type) 2025-05-16 17:40:10 -04:00
Hazelnoot
812602ed19 fix expand/collapse icons for roles 2025-05-16 17:40:10 -04:00
Hazelnoot
1fcca626ca fix error when expanding conditional role 2025-05-16 17:40:10 -04:00
Hazelnoot
b9109e5bb3 fix prop type for MKRolePreview 2025-05-16 17:40:10 -04:00
Hazelnoot
20e9c02431 add missing "inline" tag to reset password button 2025-05-16 17:40:10 -04:00
Hazelnoot
d47d7c1b7d remove extra <template> tag from ips block 2025-05-16 17:40:10 -04:00
Hazelnoot
1ac8ceb8a6 collapse moderation note if empty 2025-05-16 17:40:10 -04:00
Hazelnoot
d717df938b cleanup admin user UI
* hide inaccessible controls
* hide irrelevant controls
* remove duplicate components
* collapse details behind sections
* group all buttons
* apply semantic "warning" styles to buttons
* add follow stats
* translate untranslated strings
* group related controls
* resolve some lint errors
2025-05-16 17:40:06 -04:00
Hazelnoot
2da1590e8a add "accent" styling to MkButton 2025-05-16 17:39:43 -04:00
Hazelnoot
fd339717c7 respect animation prefs in MkNumber 2025-05-16 17:39:43 -04:00
dakkar
323ad31605 await reverseConcat
before d7784ea4ff
`moreFetching.value=false` happened after the `nextTick` inside
`reverseConcat` had completed, but after that commit, it happens
immediately (as part of the try/finally)

this _probably_ doesn't matter, but let's avoid changes we didn't
intend
2025-05-15 15:11:18 +01:00
Hazelnoot
b7b30bde5d use /users endpoint for explore exclusively (restore original behavior) 2025-05-14 23:25:40 -04:00
Hazelnoot
bb8609d0f0 rename popularUsersLocal.host to popularUsersLocal.name 2025-05-14 23:25:22 -04:00
Hazelnoot
36e1ad0f56 fix lint and TS errors in explore.users.vue 2025-05-14 23:24:51 -04:00
Hazelnoot
57d32ea900 enforce "can trend" role policy in trending user page 2025-05-14 23:24:51 -04:00
Hazelnoot
81910cf725 add new featured tab for "users popular locally" 2025-05-14 23:24:48 -04:00
Hazelnoot
2e4ec0dd9e add role policy to allow note trending 2025-05-14 23:24:24 -04:00
Hazelnoot
535d316839 add warning banner about word mute limitations 2025-05-14 23:18:14 -04:00
Marie
1bed360444 merge: Fix "show muted word" setting (!1016)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1016

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-14 18:37:11 +00:00
Marie
7b0ee41c77 merge: Cache note translations in Redis (!1027)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1027

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-14 18:36:53 +00:00
Hazelnoot
8348a36f24 cleanup, simplify, and merge duplicate word mute implementations 2025-05-13 22:58:24 -04:00
Hazelnoot
e7db6e5569 remove use of watch in external-services.vue 2025-05-13 22:32:49 -04:00
Hazelnoot
b52db71e18 factor out shared word mute logic 2025-05-12 23:28:55 -04:00
Hazelnoot
f62249635f add manual save button to translation timeout field 2025-05-12 21:56:59 -04:00
Hazelnoot
e7ee2cc398 add configurable timeout for note translations 2025-05-12 21:48:21 -04:00
Hazelnoot
1a3c6f25a2 simplify access to showSoftWordMutedWord 2025-05-12 21:46:03 -04:00
Hazelnoot
5cb0129c49 show muted words in following feed 2025-05-12 21:46:03 -04:00
Hazelnoot
05e5be8218 show muted words in NoteDetailed / NoteSub components 2025-05-12 21:46:03 -04:00