Commit Graph

21405 Commits

Author SHA1 Message Date
Michcio ebc1b09298 Tear out the easily breaking early boot error page 2022-10-17 16:05:55 +01:00
Michcio 52cbda91b9 Start dev faster if possible by not cleaning before 2022-10-17 16:05:55 +01:00
Michcio ef77f281a6 Change icons for visibilities and make public visibility icon show up in
feed too
2022-10-17 16:05:54 +01:00
Chloe Kudryavtsev 010a65dd92 client: replace blinking indicator with icon colouring
It was annoying, and turns out, also a CPU hog!

Changelog: Removed
2022-10-17 16:05:50 +01:00
Michcio ed515cc24c Send notifications also when the tab is not visible 2022-10-16 15:08:25 +01:00
Michcio e44be45c90 Produce sourcemaps always (debugging on prod is hard) 2022-10-16 15:08:25 +01:00
Michcio 8fcfdc88d8 Replace toast (sorry!) notifications with browser ones
Icons don't work in Safari just because they don't lmao

This is just barely tested, bear with me
2022-10-16 15:08:25 +01:00
Michcio a903263e00 Apparently unbundling mfm-js is bad for yarn dev 2022-10-16 15:08:25 +01:00
Michcio ac1072fd52 Split bundles harder 2022-10-16 15:08:25 +01:00
Michcio ba331f771d client: Replace CRC32 with FNV1a in colour hashing
Paste fnv-plus directly to save bundle size
2022-10-16 15:08:25 +01:00
Michcio 24a10acd34 client: Add colour coding to make people distinguishable despite
changing pfps
2022-10-16 15:08:25 +01:00
Michcio 98a15fd080 Compact mentions to just heads inside notifications 2022-10-16 15:08:25 +01:00
Michcio 7e635d23d3 Preview existing replies in tooltip when hovering reply button 2022-10-16 15:08:25 +01:00
Michcio 427e36e7ec Preview replied-to note in tooltip when hovering the arrow 2022-10-16 15:08:24 +01:00
Michcio fd477f0ad2 Exclude CW'd posts from supercompact collapsing 2022-10-16 15:08:24 +01:00
Michcio 1258a588c7 Collapse inline replied-to post to make it more compact 2022-10-16 15:08:24 +01:00
Michcio b541ecb099 Shorten notification text by capping it at 75 chars 2022-10-16 15:08:24 +01:00
Michał Sidor 8840724a7c Show reacting people next to reaction buttons
This change replaces the reaction count on the reaction buttons under
the post with micro avatars of the people reacting. This makes the
whole thing feel more personal IMHO.

Performance concerns: because the posts by themselves only contain
reaction counts, this means executing an extra API call is done to
fetch the list of users who reacted. This was already being done when
hovering a reaction button, and my Raspberry Pi is doing pretty fine
despite this patch.

Further development was done to lazify the API call, so now
reaction avatars are now fetched only when the reaction bar
slides into view. This should lower the load a bit.

Borrowed some ideas from code at https://medium.com/js-dojo/lazy-rendering-in-vue-to-improve-performance-dcccd445d5f

TODO: check there might be a glitch when adding a reaction
because it is already in view
2022-10-16 15:08:24 +01:00
Michał Sidor 191b2692d2 Modify social timeline to exclude convos with only 1 person I like
This is an attempt at introducing filtering of replies in timeline in the
style of Mastodon or Pleroma's "only replies directed at me or someone I follow".

Currently one way this surely fails is that self-replies by someone I follow in
a conversation solely with someone I don't follow will pass this filter, and
I will see a conversation I don't want to see.

This probably needs more testing to verify that it's doing what's expected of it.
2022-10-16 15:08:24 +01:00
Michał Sidor b74c924f66 My instance-specific assets and client defaults
I change the favicons and change some of the device-stored
client settings so that I don't have to set them on every
device every time.
2022-10-16 15:08:24 +01:00
Michcio fb42e40958 Add Cherry Bleu theme variant
This is my modification of the dark cherry theme, caused by my
annoyance that you can set a wallpaper in the client, but it's
invisible almost all the time.

What I tried to do here is make a lot more things transparent,
so that the wallpaper would be visible more. It also looks nasty
in some situations, but this is an acceptable tradeoff for me
personally.
2022-10-16 15:08:24 +01:00
Michcio 49d861c6e6 Trim the browser targets list in the transpilation config
I only use Safari (and sometimes Firefox, but not much), and I do not
particularly care for visitors to my instance, so this is again an attempt
at allowing the compiler to be more reckless wrt polyfilling to minimize
generated code.
2022-10-16 15:08:24 +01:00
Michcio 93d81bd695 chore: Provide type for toggleReaction 2022-10-16 15:08:24 +01:00
Michcio f1775debb5 backend: Provide type for signedGet 2022-10-16 15:08:24 +01:00
Michcio 58002cac58 Trash integrations lmao 2022-10-16 15:08:23 +01:00
Michcio 6aa52ecbfa Remove Cypress from dependencies
I don't run e2e tests, and my instance is a Raspberry Pi, and so installing
Cypress is an extra gigabyte of disk space wasted for me.
2022-10-16 15:08:23 +01:00
Michcio 045c9bf088 Remove Deck UI
I'm not sure this even makes sense, I was just trying to remove more code
from the client.
2022-10-16 15:08:23 +01:00
Michcio f53ff2089b Remove all right click context menu functionality
The context menus provided by Misskey, overriding the browser context menus
on right click, were driving me very angry. This makes it much easier to copy
image URLs or even just do a quick "Inspect element".

Side victims: the reaction picker context menu feature. I never used it, so
I am only guessing what it was doing, but since I removed the whole underlying
mechanic, it only felt right to yeet the feature too.
2022-10-16 15:08:23 +01:00
Michcio 92bfbc0bb6 Mock types for redis-lock 2022-10-16 15:08:23 +01:00
Michcio 5bb2d0f284 Retouch types in server index 2022-10-16 15:08:23 +01:00
Michcio 7205021d62 Fix type errors in withPackedNote 2022-10-16 15:08:23 +01:00
Michcio b1d133c3d5 Deal with withPackedNote(onNote) types in stream channels 2022-10-16 15:08:23 +01:00
Michcio 56f577ddb8 Fix type import in stream emitter typing 2022-10-16 15:08:23 +01:00
Michcio 12dd7deac5 Remove authentication type edge case in streaming init 2022-10-16 15:08:23 +01:00
Michcio f0b0e46e45 Reassure typechecker about token in authenticate 2022-10-16 15:08:22 +01:00
Michcio 71f339b23a Broaden type in authenticate as undefined is also nullable 2022-10-16 15:08:22 +01:00
Michcio 0120dee999 Upgrade bull-board to unify misaligned types in its packages 2022-10-16 15:08:22 +01:00
Michcio 9f3b85527d Fix types in summaly connector 2022-10-16 15:08:22 +01:00
Michcio 79c71bf22a Fix type errors in logger service 2022-10-16 15:08:22 +01:00
Michcio 957a69779a Fix typos in syslog initialization 2022-10-16 15:08:22 +01:00
Michcio 80a2bc401a Remove some uses of `as any[]` 2022-10-16 15:08:22 +01:00
Michcio f17eb379ac Provide intermediate type to calm typechecker down in i18n 2022-10-16 15:08:22 +01:00
Michcio 4568fba7a9 Mock typings for twemoji-parser's regex file 2022-10-16 15:08:22 +01:00
Michcio 40998587b3 Add packages for purportedly missing types 2022-10-16 15:08:22 +01:00
Michcio d1924e875a build: Force resolution of types/node 2022-10-16 15:08:21 +01:00
Michcio 655f7a8dfc Narrow type of isPureRenote 2022-10-16 15:08:21 +01:00
Chloe Kudryavtsev 811d5cd0d7 Merge pull request 'deliver Delete activities to all known instances' (#198) from deliver-delete-everyone into main
Reviewed-on: FoundKeyGang/FoundKey#198
2022-10-16 13:46:23 +00:00
Chloe Kudryavtsev d762143b89 backend: fixup missing deadTime and incorrect import 2022-10-16 09:32:01 -04:00
Chloe Kudryavtsev 21c1e5c06c backend: simplify suspended and dead queries
This should also have better latency due to being a single query.
Furthermore, it's no longer a linear scan, since host is indexed.
Would be cool to simplify it further to a single query for blocks also...
Why exactly are blocks not in the db?
2022-10-16 09:22:05 -04:00
Chloe Kudryavtsev 91a4f38871 backend: add automatic dead instance detection
It works by having a day-long cache of
"when did we last successfully communicate with this instance?"
Anything over a specified threshold (1 month) will act as though the instance
is suspended - all outgoing jobs are dropped on processing.
The day-long cache is in place because the ordering is necessarily a
linear scan.
Once an instance comes back online, we will detect that is the case as soon as
we receive an activity from them (which will update the "last communicated at")
field.

Potential future TODOs:
* Improve the caching system, it's actually pretty inefficient as it is.
  CacheBox with a call override?
* Think of ways to make it not-a-linear-scan, since the instances table can get
  pretty big. It's around 4500 on toast cafe.

ChangeLog: Added
2022-10-16 12:16:04 +00:00