Commit graph

21401 commits

Author SHA1 Message Date
ed515cc24c Send notifications also when the tab is not visible 2022-10-16 15:08:25 +01:00
e44be45c90 Produce sourcemaps always (debugging on prod is hard) 2022-10-16 15:08:25 +01:00
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
a903263e00 Apparently unbundling mfm-js is bad for yarn dev 2022-10-16 15:08:25 +01:00
ac1072fd52 Split bundles harder 2022-10-16 15:08:25 +01:00
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
24a10acd34 client: Add colour coding to make people distinguishable despite
changing pfps
2022-10-16 15:08:25 +01:00
98a15fd080 Compact mentions to just heads inside notifications 2022-10-16 15:08:25 +01:00
7e635d23d3 Preview existing replies in tooltip when hovering reply button 2022-10-16 15:08:25 +01:00
427e36e7ec Preview replied-to note in tooltip when hovering the arrow 2022-10-16 15:08:24 +01:00
fd477f0ad2 Exclude CW'd posts from supercompact collapsing 2022-10-16 15:08:24 +01:00
1258a588c7 Collapse inline replied-to post to make it more compact 2022-10-16 15:08:24 +01:00
b541ecb099 Shorten notification text by capping it at 75 chars 2022-10-16 15:08:24 +01:00
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
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
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
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
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
93d81bd695 chore: Provide type for toggleReaction 2022-10-16 15:08:24 +01:00
f1775debb5 backend: Provide type for signedGet 2022-10-16 15:08:24 +01:00
58002cac58 Trash integrations lmao 2022-10-16 15:08:23 +01:00
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
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
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
92bfbc0bb6 Mock types for redis-lock 2022-10-16 15:08:23 +01:00
5bb2d0f284 Retouch types in server index 2022-10-16 15:08:23 +01:00
7205021d62 Fix type errors in withPackedNote 2022-10-16 15:08:23 +01:00
b1d133c3d5 Deal with withPackedNote(onNote) types in stream channels 2022-10-16 15:08:23 +01:00
56f577ddb8 Fix type import in stream emitter typing 2022-10-16 15:08:23 +01:00
12dd7deac5 Remove authentication type edge case in streaming init 2022-10-16 15:08:23 +01:00
f0b0e46e45 Reassure typechecker about token in authenticate 2022-10-16 15:08:22 +01:00
71f339b23a Broaden type in authenticate as undefined is also nullable 2022-10-16 15:08:22 +01:00
0120dee999 Upgrade bull-board to unify misaligned types in its packages 2022-10-16 15:08:22 +01:00
9f3b85527d Fix types in summaly connector 2022-10-16 15:08:22 +01:00
79c71bf22a Fix type errors in logger service 2022-10-16 15:08:22 +01:00
957a69779a Fix typos in syslog initialization 2022-10-16 15:08:22 +01:00
80a2bc401a Remove some uses of as any[] 2022-10-16 15:08:22 +01:00
f17eb379ac Provide intermediate type to calm typechecker down in i18n 2022-10-16 15:08:22 +01:00
4568fba7a9 Mock typings for twemoji-parser's regex file 2022-10-16 15:08:22 +01:00
40998587b3 Add packages for purportedly missing types 2022-10-16 15:08:22 +01:00
d1924e875a build: Force resolution of types/node 2022-10-16 15:08:21 +01:00
655f7a8dfc Narrow type of isPureRenote 2022-10-16 15:08:21 +01:00
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
d762143b89 backend: fixup missing deadTime and incorrect import 2022-10-16 09:32:01 -04:00
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
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
756ecbb1f7
fix type error 2022-10-16 04:20:11 +02:00
b431471fd1
update SECURITY.md 2022-10-16 00:28:00 +02:00
48023a0814
add link to external CSS snippets 2022-10-14 17:11:06 +02:00
8721e8844a
client: fix vue warning
> Invalid prop: type check failed for prop "modelValue". Expected String | Number, got Null
2022-10-14 16:55:37 +02:00