No description
Find a file
dakkar c927c30567 mark grouped notifs by oldest id - sort-of fix 1139
Misskey's code does the same, but our groups behave differently enough
that this may be not the best choice

for example, let's say we have:

- notifications 1-5 for reaction to note A
- notifications 6-8 for reaction to note B
- notifications 9-12 for reaction to note A
- notification 13-19 for non-groupable events
- notification 20 for reaction to note A

and that events happened one every minute (so the last notification is
from 20 minutes ago)

client requests the most recent 10 notifications; we fetch
notifications 1-10, and reply:

- grouped id 6 for reactions 6-8 to note B
- grouped id 10 for reactions 1-5, 9-10 to note A

then the client requests 10 more notifications, untilId=10; we fetch
notifications 11-20, and reply:

- non-grouped notifications 13-19
- grouped id 20 for reactions 11,12,20 to note A

because we sort by id, and also the `createdAt` marks the _newest_
event in each group, the client will then show:

  6 reactions to note B, 6 minutes ago
  4 reactions to note A, 1 minute ago
  notifications 13-19, 13 minutes to 19 minutes ago
  3 reactions to note A, 11 minutes ago

I don't know how to make this work better ☹
2025-07-03 14:16:20 +01:00
.config comment new property 2025-05-30 12:29:07 -04:00
.devcontainer add mediaDirectory config option to configure location of uploaded media 2025-05-26 22:52:00 +10:00
.gitlab use template variables for MR template 2025-01-02 13:14:16 +00:00
.okteto ok-to-test with okteto (#8799) 2022-06-09 00:50:23 +09:00
.vscode fix(dev): vscode-jest: Deprecated: Please use jest.runMode instead. 2024-03-14 17:42:30 +09:00
assets Merge branch 'develop' into merge/2025-03-24 2025-04-24 13:07:41 -04:00
chart merge from misskey-develop 2025-04-02 22:29:14 -04:00
cypress enable TypeScript incremental mode to speed up IDEs 2025-05-28 21:31:39 -04:00
eslint explicit licence in eslint files 2024-10-22 19:24:19 +01:00
fluent-emojis@cae981eb4c feat: introduce fluent emoji 2022-12-26 16:04:56 +09:00
idea feat(frontend): 設定の検索 (#15505) 2025-03-06 23:15:19 +09:00
locales show signup reason in user admin screen 2025-06-13 20:01:06 -04:00
packages mark grouped notifs by oldest id - sort-of fix 1139 2025-07-03 14:16:20 +01:00
scripts Merge branch 'misskey-develop' into merge/2025-03-24 2025-04-29 15:54:11 -04:00
sharkey-locales show signup reason in user admin screen 2025-06-13 20:01:06 -04:00
tossface-emojis@3c0ac3f7bd upd: add tossface emojis as an option 2024-01-04 20:42:25 +01:00
.dockerignore refactor: misskey-assetsサブモジュールを削除 (#12818) 2024-07-18 01:47:11 +09:00
.dockleignore fix: aptのキャッシュを削除しないようにする (#9803) 2023-02-05 14:15:59 +09:00
.editorconfig cleanup: trim trailing whitespace (#11136) 2023-07-08 07:08:16 +09:00
.gitattributes 改行コードをLFに統一 (#9926) 2023-02-14 13:13:34 +09:00
.gitignore add TS caches to gitignore 2025-05-28 21:31:40 -04:00
.gitlab-ci.yml run more tests, now they pass 2025-02-06 10:45:05 +00:00
.gitmodules Merge remote-tracking branch 'misskey/master' into feature/misskey-2024.07 2024-08-02 12:25:58 +01:00
.node-version update node to 22.11.0 (#14869) 2024-11-13 19:43:36 +09:00
.npmrc merge upstream 2025-03-25 16:14:53 -04:00
.vsls.json Add .vsls.json 2018-08-13 00:24:45 +09:00
CHANGELOG.md Merge branch 'misskey-develop' into merge/2025-03-24 2025-04-29 15:54:11 -04:00
CODE_OF_CONDUCT.md docs: Update Code of Conduct to version 2.1 (#12150) 2023-11-13 16:52:54 +09:00
codecov.yml Update codecov.yml 2023-02-26 14:17:29 +09:00
compose.local-db.yml chore(docker-compose): 推奨の名前にする (#14096) 2024-06-28 11:16:12 +09:00
compose_example.yml suggest using a more recent meilisearch 2025-02-23 13:27:19 +00:00
CONTRIBUTING.md document cache implementations 2025-06-09 11:02:53 -04:00
COPYING 2025 (#15203) 2025-01-04 14:37:14 +09:00
crowdin.yml make en-US our crowdin source 2024-10-08 15:20:52 -03:00
cypress.config.ts update cypress 2022-06-11 15:53:45 +09:00
Dockerfile update package list for docker 2025-06-19 08:26:00 +00:00
healthcheck.sh Merge remote-tracking branch 'misskey/release/2024.5.0' into future 2024-05-31 12:26:07 +01:00
IMPORTANT_NOTES.md Update IMPORTANT_NOTES.md 2024-03-13 00:17:57 +00:00
LICENSE Use AGPLv3 2018-03-28 22:56:28 +09:00
package.json set version for release 2025.4.3 2025-06-16 14:57:15 +01:00
pnpm-lock.yaml downgrade htmlparser2 to match cheerio 2025-06-12 21:18:52 -04:00
pnpm-workspace.yaml Merge branch 'misskey-develop' into merge/2025-03-24 2025-04-05 12:24:00 -04:00
Procfile Create Procfile 2019-04-05 18:17:30 +09:00
README.md fix: Sharkey's logo is missing 2025-04-20 13:19:28 +02:00
renovate.json5 fix(ci): change Chromatic build to be triggered when frontend package.json is edited instead of lockfile (#15793) 2025-04-27 10:49:23 +09:00
ROADMAP.md Update ROADMAP.md 2024-01-04 08:44:38 +09:00
SECURITY.md merge upstream 2025-02-03 2025-02-03 14:36:09 -05:00
UPGRADE_NOTES.md convert Authorized Fetch to a setting and add support for hybrid mode (essential metadata only) 2025-03-16 10:07:57 -04:00

Sharkey logo

🌎 Sharkey is an open source, decentralized social media platform that's free forever! 🚀


create an instance become a contributor join the community donate

Features

  • ActivityPub support
    Not on Sharkey? No problem! Not only can Sharkey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed!
  • Federated Backgrounds and Music status
    You can add a background to your profile as well as a music status via ListenBrainz, show everyone what music you are currently listening to
  • Mastodon API
    Sharkey implements the Mastodon API unlike normal Misskey
  • UI/UX Improvements
    Sharkey makes some UI/UX improvements to make it easier to navigate
  • Sign-Up Approval
    With Sharkey, you can enable sign-ups, subject to manual moderator approval and mandatory user-provided reasons for joining.
  • Rich Web UI
    Sharkey has a rich and easy to use Web UI! It is highly customizable, from changing the layout and adding widgets to making custom themes. Furthermore, plugins can be created using AiScript, an original programming language.
  • And much more...

Documentation

Sharkey Documentation can be found at Sharkey Documentation