Skip to content

perf(memory): combine websocket and tasks backend#4870

Draft
Meierschlumpf wants to merge 1 commit intodevfrom
memory/combine-ws-tasks
Draft

perf(memory): combine websocket and tasks backend#4870
Meierschlumpf wants to merge 1 commit intodevfrom
memory/combine-ws-tasks

Conversation

@Meierschlumpf
Copy link
Member

@Meierschlumpf Meierschlumpf commented Jan 18, 2026


Homarr

Thank you for your contribution. Please ensure that your pull request meets the following pull request:

  • Builds without warnings or errors (pnpm build, autofix with pnpm format:fix)
  • Pull request targets dev branch
  • Commits follow the conventional commits guideline
  • No shorthand variable names are used (eg. x, y, i or any abbrevation)
  • Documentation is up to date. Create a pull request here.
  • Remove other parts of websocket part
  • Test thoroughly on different environments

In a test of multiple changes over 10 minutes where every 10 seconds it would call the docker containers endpoint of my main local homarr instance.
I got the following results:

Name Average Min Max
latest dev image 595mb 587mb 598mb
memory-combine-ws-tasks 434mb 430mb 437mb
difference -161mb -157mb -161mb

Related to #3759

@Meierschlumpf Meierschlumpf self-assigned this Jan 18, 2026
@Meierschlumpf Meierschlumpf requested a review from a team as a code owner January 18, 2026 12:52
@deepsource-io
Copy link
Contributor

deepsource-io bot commented Jan 18, 2026

Here's the code health analysis summary for commits 939996f..69e77a7. View details on DeepSource ↗.

Analysis Summary

AnalyzerStatusSummaryLink
DeepSource JavaScript LogoJavaScript✅ SuccessView Check ↗

💡 If you’re a repository administrator, you can configure the quality gates from the settings.

Copy link
Member

@manuel-rw manuel-rw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good, but be careful with potential breaking changes.


const constructWebsocketUrl = () => {
const fallback = `${getWebSocketProtocol()}://localhost:3001/websockets`;
const fallback = `${getWebSocketProtocol()}://localhost:3002/websockets`;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be a breaking change for Promox and other from-source installations, correct?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No as they are also using the nginx proxy it should be fine

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll test it in different environments (my windows docker desktop and my NAS running linux with docker)

@Meierschlumpf Meierschlumpf marked this pull request as draft January 19, 2026 21:39
@manuel-rw
Copy link
Member

Any update on this @Meierschlumpf ?

@Meierschlumpf
Copy link
Member Author

No, sorry haven't worked on it for a while

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants