1
0
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
2022-06-09 00:50:23 +09:00
2025-04-02 22:29:14 -04:00
2024-10-22 19:24:19 +01:00
2025-02-06 10:45:05 +00:00
2024-11-13 19:43:36 +09:00
2025-03-25 16:14:53 -04:00
2023-02-26 14:17:29 +09:00
2025-01-04 14:37:14 +09:00
2024-10-08 15:20:52 -03:00
2022-06-11 15:53:45 +09:00
2024-03-13 00:17:57 +00:00
2025-05-08 11:37:06 +01:00
2025-05-21 18:26:49 +01:00
2019-04-05 18:17:30 +09:00
2025-04-20 13:19:28 +02:00
2024-01-04 08:44:38 +09:00
2025-02-03 14:36:09 -05: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

S
Description
Mirror of the Pawkey source code
Readme AGPL-3.0 176 MiB
Languages
TypeScript 64.4%
Vue 29.1%
JavaScript 5.9%
SCSS 0.3%
Pug 0.2%