[GH-ISSUE #1460] Live state synchronization of projects using websockets #6403

Open
opened 2026-04-20 17:00:13 -05:00 by GiteaMirror · 3 comments
Owner

Originally created by @hdev1 on GitHub (Sep 10, 2025).
Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/1460

Description

I have had Vikunja deployed as the main project management tool in our software development company for a year now, almost exclusively in the kanban mode. As the company has grown, the lack of synchronicity when multiple people work on the same board has caused a bit of friction. A reload is required every so often to see what the board actually looks like. Sometimes a user thinks they've moved a card, only to reload and find it somewhere else.

I would propose synchronizing the state in the frontend through websockets. I'd also be happy to tackle this myself in the coming while, as it's a feature that would add a lot of value to both my personal and company workflow. Do you think this feature is feasible in the current architecture?

Thank you in advance.

Which alternatives did you consider using instead?

Auto-reloading tab on idle, requires setup on every user, and at the end of the day its still a workaround.

Originally created by @hdev1 on GitHub (Sep 10, 2025). Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/1460 ### Description I have had Vikunja deployed as the main project management tool in our software development company for a year now, almost exclusively in the kanban mode. As the company has grown, the lack of synchronicity when multiple people work on the same board has caused a bit of friction. A reload is required every so often to see what the board actually looks like. Sometimes a user thinks they've moved a card, only to reload and find it somewhere else. I would propose synchronizing the state in the frontend through websockets. I'd also be happy to tackle this myself in the coming while, as it's a feature that would add a lot of value to both my personal and company workflow. Do you think this feature is feasible in the current architecture? Thank you in advance. ### Which alternatives did you consider using instead? Auto-reloading tab on idle, requires setup on every user, and at the end of the day its still a workaround.
GiteaMirror added the area/syncarea/kanban labels 2026-04-20 17:00:13 -05:00
Author
Owner

@kolaente commented on GitHub (Sep 11, 2025):

This is a hard problem to solve. State needs to be updated in several places at once, updates need to be propagated properly etc.

I plan to implement this at some point, just can't give you an estimate of when this will be the case.

I'm currently in talks with a few stakeholders to get this funded (happy to talk more about this if you/your company is interested). I'd estimate this to be somewhere in the 10k € range, crowdfunding of sorts will get the price down for everyone. Generally, big things like this are hard to get right and take up a lot of my time when contributed, especially since I'll have to maintain the thing in the long run.

<!-- gh-comment-id:3278977745 --> @kolaente commented on GitHub (Sep 11, 2025): This is a hard problem to solve. State needs to be updated in several places at once, updates need to be propagated properly etc. I plan to implement this at some point, just can't give you an estimate of when this will be the case. I'm currently in talks with a few stakeholders to get this funded (happy to talk more about this if you/your company is interested). I'd estimate this to be somewhere in the 10k € range, crowdfunding of sorts will get the price down for everyone. Generally, big things like this are hard to get right and take up a lot of my time when contributed, especially since I'll have to maintain the thing in the long run.
Author
Owner

@hdev1 commented on GitHub (Sep 11, 2025):

Very understandable. Thanks for the quick reply. I'd be happy to wait for an eventual implementation, as it is not absolutely mission-critical for me, just very nice-to-have. And if I end up getting the time to open a PR myself I'll circle back to this issue.

<!-- gh-comment-id:3279511932 --> @hdev1 commented on GitHub (Sep 11, 2025): Very understandable. Thanks for the quick reply. I'd be happy to wait for an eventual implementation, as it is not absolutely mission-critical for me, just very nice-to-have. And if I end up getting the time to open a PR myself I'll circle back to this issue.
Author
Owner

@jlaffaye commented on GitHub (Sep 12, 2025):

In this case, server sent events are probably better suited to propagate changes to clients.
We dont really need the bidirectional aspect of websockets, changes by the client would still call the regular API to mutate state. And websockets can be challenging when using a proxy in front of the application.

<!-- gh-comment-id:3285332895 --> @jlaffaye commented on GitHub (Sep 12, 2025): In this case, [server sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events) are probably better suited to propagate changes to clients. We dont really need the bidirectional aspect of websockets, changes by the client would still call the regular API to mutate state. And websockets can be challenging when using a proxy in front of the application.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#6403