aaad
5f43c2faa2
* Never return broken notifications #409
Since notifications are stored in Redis, we can't expect relational
integrity: deleting a user will *not* delete notifications that
mention it.
But if we return notifications with missing bits (a `follow` without a
`user`, for example), the frontend will get very confused and throw an
exception while trying to render them.
This change makes sure we never expose those broken notifications. For
uniformity, I've applied the same logic to notes and roles mentioned
in notifications, even if nobody reported breakage in those cases.
Tested by creating a few types of notifications with a `notifierId`,
then deleting their user.
(cherry picked from commit
|
||
---|---|---|
.config | ||
.devcontainer | ||
.github | ||
.okteto | ||
.vscode | ||
assets | ||
chart | ||
cypress | ||
fluent-emojis@cae981eb4c | ||
locales | ||
misskey-assets@0179793ec8 | ||
packages | ||
scripts | ||
.dockerignore | ||
.dockleignore | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.node-version | ||
.npmrc | ||
.vsls.json | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
codecov.yml | ||
CONTRIBUTING.md | ||
COPYING | ||
crowdin.yml | ||
cypress.config.ts | ||
docker-compose_example.yml | ||
docker-compose.local-db.yml | ||
Dockerfile | ||
healthcheck.sh | ||
LICENSE | ||
package.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
Procfile | ||
README.md | ||
ROADMAP.md | ||
SECURITY.md |
✨ Features
- ActivityPub support
Not on Misskey? No problem! Not only can Misskey instances talk to each other, but you can make friends with people on other networks like Mastodon and Pixelfed! - Reactions
You can add emoji reactions to any post! No longer are you bound by a like button, show everyone exactly how you feel with the tap of a button. - Drive
With Misskey's built in drive, you get cloud storage right in your social media, where you can upload any files, make folders, and find media from posts you've made! - Rich Web UI
Misskey 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
Misskey Documentation can be found at Misskey Hub, some of the links and graphics above also lead to specific portions of it.
Sponsors
Thanks
Thanks to Chromatic for providing the visual testing platform that helps us review UI changes and catch visual regressions.
Thanks to Codecov for providing the code coverage platform that helps us improve our test coverage.
Thanks to Crowdin for providing the localization platform that helps us translate Misskey into many languages.
Thanks to Docker for providing the container platform that helps us run Misskey in production.