Skip to content

fix: unify Living UI dev/live lifecycle to stop live pb_data wipes - #427

Merged
ahmad-ajmal merged 6 commits into
V1.4.2from
bug/fix-livingui-production-dev-environment
Aug 21, 2026
Merged

ahmad-ajmal merged 6 commits into
V1.4.2from
bug/fix-livingui-production-dev-environment

Conversation

@ahmad-ajmal

Copy link
Copy Markdown
Collaborator

No description provided.

@ahmad-ajmal
ahmad-ajmal requested a review from zfoong August 19, 2026 16:24
@ahmad-ajmal ahmad-ajmal self-assigned this Aug 19, 2026
@ahmad-ajmal ahmad-ajmal added bug Something isn't working priority: high labels Aug 19, 2026
@ahmad-ajmal
ahmad-ajmal marked this pull request as draft August 19, 2026 16:31
@ahmad-ajmal
ahmad-ajmal marked this pull request as ready for review August 19, 2026 17:24
@ahmad-ajmal
ahmad-ajmal merged commit b13ce93 into V1.4.2 Aug 21, 2026
3 checks passed
@ahmad-ajmal ahmad-ajmal mentioned this pull request Aug 24, 2026
ahmad-ajmal added a commit that referenced this pull request Aug 28, 2026
* Changed AI enhance reasoning to stick to the chosen language unless stated so.

* If the input is empty, stop enhancing and reset to false state.

* Updated chat.tsx as i committed the wrong version.

* Fix issue #416

* Added loading spinner to + button for visual communication.

* Disabled send and dictate button, added 'no entry' thing when hovering on dictate.

* splash page loading animation

* Added 30s timeout - needs testing?

* make chat input disabled

* Remove outdated sections in living UI setting page

* introduce graph into the memory system

* fix coloring issue on nodes

* remove pending visualization

* Update graph UI and update relevent memories preview logic

* entity in memory graph are stored and retrieved as embedding

* Advertisement Widget

Advertisement widget for CraftBot dashboard

* Update memory setting page and added configurable memory processing condition

* improve welcome widget

* minor update to the token usage widget

* Code clean up and refactor

* refactor memory system and consolidate magic numbers into a file

* fix entities and connection pipeline

* bug:invoking skill and command cause new chat session to stuck

* Added new guide tour with driver js

* update guide text

* Added more providers and provider refactor

* fix: merge reset-agent chat options and refresh the session list

* feat: agent questions with suggested responses (pinned question box)

* bug:fix run shell mangle issue on windows

* Fix message disappearing issue

* fix event stream summarization failed and chat session UI scrolling issue

* bug:fix reset agent require refresh to take effect

* fix: unify Living UI dev/live lifecycle to stop live pb_data wipes (#427)

* fix: unify Living UI dev/live lifecycle to stop live pb_data wipes

* feat: scheduled + pre-promote backups of Living UI live data

* change delete orphan living UI project to log only

* set living UI launch by default and optimize launch time

* fix: naming fix + backup on reset agent

* fix: restore UI + restore from leftover backups

---------

Co-authored-by: CraftBot <craftbot@craftbot.dev>

* fix and improve reset agent feature from merge

* bug:schedule task list action parameter bug

* update intsaller check in run script

* fix multiple file indexing issue

* Feature/multiaccount integrations (#419)

* feat(integrations): multi-account support with aliases and per-account listeners

Rebuilt the integration layer as a host-agnostic package (supersedes
PR #370; design: docs/plans/multi-account-v2-plan.md). The 10 major
integrations now hold a primary account plus any number of additional
accounts with nicknames (shared across the Google family).

- AccountSet document store: atomic writes, deterministic account
  resolution, one-time migration of existing credential files
- 10 providers / 397 operations; @action wrappers are generated, with
  the account param injected centrally so no action can bypass it
- OAuth account choosers fixed (Google/Outlook select_account)
- Manage-accounts modal with staged edits and add-account OAuth
- Gmail/Outlook/Slack listeners run per account, triggers account-tagged
- Router extracts account qualifiers ("my job email") and sees live
  account lists just-in-time

516 tests passing, tsc clean. closes #368

* integrations: multi-account for all 23 platforms via auth-layer bridge

Legacy platforms get thin v2 providers (identity + login + bound client +
listener); their existing actions stay and become account-aware centrally
(contextvar hint + run_client routing + schema injection into 676 actions).
whatsapp_web moves from a singleton Node bridge to per-identity bridges
with QR sessions and a max_accounts cap; telegram_user logs in via
two-phase phone->code(+2FA) token connect.

Also fixes: fcntl broke the v2 system on Windows (msvcrt locking);
list/info/metrics read legacy cred files so v2 connects showed
disconnected; notion token connects could silently overwrite the first
account. Adds manage_integration_account agent action and Living UI
account param. 609 tests green.

* Integrations Fix + media recieve

* fix(integrations): resolve tester-reported failures across Jira, disconnect, Lark, WhatsApp, and notifications

* fix(integrations): gmail forwards carry the original body, whatsapp replies route to the receiving account, discord multi-server sends land once in the right channel

* feat(whatsapp): desktop-parity session durability — per-account session actor with supervised reconnect/heartbeat, bridge.js generation rewrite (no synthetic ready, PID-exact kills), LinkFlow QR with idempotent completion, legacy single-account path removed

* fix(whatsapp): adopt the live bridge at link instead of restart-from-disk (torn LocalAuth), park never-connected sessions as needs-relink, resolve account="primary"

* feat(whatsapp): migrate bridge from whatsapp-web.js/Chromium to Baileys — protocol-native WebSocket, plain-file sessions, ~50MB/account, legacy system fully removed (existing accounts re-link once via QR)

* install whatsapp bridge

* update multiaccount integration setting UI

* use SVGL for integration logo

* fix: env install for transformers

---------

Co-authored-by: CraftBot <craftbot@craftbot.dev>

* fix: import external apps

* Document + version fix

* memory entity connection processed by deterministic pipeline for now

* Add guided tour for memory panel

* Update multiple options UI

* fix: update node install

* fix: normalise python

* fix: windows dll issue

* feat: scoped walk-verify - the verifier decides what to re-test

* feat: make Living UI marketplace branch configurable

* refactor: Cleanup legacy integrations code

* hard onboarding step upgrad

* Overwrite ENTITIES.md with clean data

* Fix local LLM provider dropdown, server url input, and test connection issue

* Fix question UI and updated AGENT.md to fit the latest update

* Give agent more context of living UI, memory and integration

* fix provider issue with openai and gemini

* fix: version name + event stream summarization

* fix: tunnel fix for pocketbase

* fix: marketplace name normalization

* fix: delete dead file

* fix: cleanup dead file references

---------

Co-authored-by: RooberSmoth <96537304+RooberSmoth@users.noreply.github.com>
Co-authored-by: CraftBot <craftbot@craftbot.dev>
Co-authored-by: イツミネ <tham_yikfoong@outlook.com>
Co-authored-by: Aima <aimaajmal91203@gmail.com>
Co-authored-by: false200 <214800619+false200@users.noreply.github.com>
Co-authored-by: CraftOS <thamyikfoong@craftos.net>
@ahmad-ajmal ahmad-ajmal mentioned this pull request Aug 28, 2026
ahmad-ajmal added a commit that referenced this pull request Aug 28, 2026
* V1.4.2 (#432)

* Changed AI enhance reasoning to stick to the chosen language unless stated so.

* If the input is empty, stop enhancing and reset to false state.

* Updated chat.tsx as i committed the wrong version.

* Fix issue #416

* Added loading spinner to + button for visual communication.

* Disabled send and dictate button, added 'no entry' thing when hovering on dictate.

* splash page loading animation

* Added 30s timeout - needs testing?

* make chat input disabled

* Remove outdated sections in living UI setting page

* introduce graph into the memory system

* fix coloring issue on nodes

* remove pending visualization

* Update graph UI and update relevent memories preview logic

* entity in memory graph are stored and retrieved as embedding

* Advertisement Widget

Advertisement widget for CraftBot dashboard

* Update memory setting page and added configurable memory processing condition

* improve welcome widget

* minor update to the token usage widget

* Code clean up and refactor

* refactor memory system and consolidate magic numbers into a file

* fix entities and connection pipeline

* bug:invoking skill and command cause new chat session to stuck

* Added new guide tour with driver js

* update guide text

* Added more providers and provider refactor

* fix: merge reset-agent chat options and refresh the session list

* feat: agent questions with suggested responses (pinned question box)

* bug:fix run shell mangle issue on windows

* Fix message disappearing issue

* fix event stream summarization failed and chat session UI scrolling issue

* bug:fix reset agent require refresh to take effect

* fix: unify Living UI dev/live lifecycle to stop live pb_data wipes (#427)

* fix: unify Living UI dev/live lifecycle to stop live pb_data wipes

* feat: scheduled + pre-promote backups of Living UI live data

* change delete orphan living UI project to log only

* set living UI launch by default and optimize launch time

* fix: naming fix + backup on reset agent

* fix: restore UI + restore from leftover backups

---------

Co-authored-by: CraftBot <craftbot@craftbot.dev>

* fix and improve reset agent feature from merge

* bug:schedule task list action parameter bug

* update intsaller check in run script

* fix multiple file indexing issue

* Feature/multiaccount integrations (#419)

* feat(integrations): multi-account support with aliases and per-account listeners

Rebuilt the integration layer as a host-agnostic package (supersedes
PR #370; design: docs/plans/multi-account-v2-plan.md). The 10 major
integrations now hold a primary account plus any number of additional
accounts with nicknames (shared across the Google family).

- AccountSet document store: atomic writes, deterministic account
  resolution, one-time migration of existing credential files
- 10 providers / 397 operations; @action wrappers are generated, with
  the account param injected centrally so no action can bypass it
- OAuth account choosers fixed (Google/Outlook select_account)
- Manage-accounts modal with staged edits and add-account OAuth
- Gmail/Outlook/Slack listeners run per account, triggers account-tagged
- Router extracts account qualifiers ("my job email") and sees live
  account lists just-in-time

516 tests passing, tsc clean. closes #368

* integrations: multi-account for all 23 platforms via auth-layer bridge

Legacy platforms get thin v2 providers (identity + login + bound client +
listener); their existing actions stay and become account-aware centrally
(contextvar hint + run_client routing + schema injection into 676 actions).
whatsapp_web moves from a singleton Node bridge to per-identity bridges
with QR sessions and a max_accounts cap; telegram_user logs in via
two-phase phone->code(+2FA) token connect.

Also fixes: fcntl broke the v2 system on Windows (msvcrt locking);
list/info/metrics read legacy cred files so v2 connects showed
disconnected; notion token connects could silently overwrite the first
account. Adds manage_integration_account agent action and Living UI
account param. 609 tests green.

* Integrations Fix + media recieve

* fix(integrations): resolve tester-reported failures across Jira, disconnect, Lark, WhatsApp, and notifications

* fix(integrations): gmail forwards carry the original body, whatsapp replies route to the receiving account, discord multi-server sends land once in the right channel

* feat(whatsapp): desktop-parity session durability — per-account session actor with supervised reconnect/heartbeat, bridge.js generation rewrite (no synthetic ready, PID-exact kills), LinkFlow QR with idempotent completion, legacy single-account path removed

* fix(whatsapp): adopt the live bridge at link instead of restart-from-disk (torn LocalAuth), park never-connected sessions as needs-relink, resolve account="primary"

* feat(whatsapp): migrate bridge from whatsapp-web.js/Chromium to Baileys — protocol-native WebSocket, plain-file sessions, ~50MB/account, legacy system fully removed (existing accounts re-link once via QR)

* install whatsapp bridge

* update multiaccount integration setting UI

* use SVGL for integration logo

* fix: env install for transformers

---------

Co-authored-by: CraftBot <craftbot@craftbot.dev>

* fix: import external apps

* Document + version fix

* memory entity connection processed by deterministic pipeline for now

* Add guided tour for memory panel

* Update multiple options UI

* fix: update node install

* fix: normalise python

* fix: windows dll issue

* feat: scoped walk-verify - the verifier decides what to re-test

* feat: make Living UI marketplace branch configurable

* refactor: Cleanup legacy integrations code

* hard onboarding step upgrad

* Overwrite ENTITIES.md with clean data

* Fix local LLM provider dropdown, server url input, and test connection issue

* Fix question UI and updated AGENT.md to fit the latest update

* Give agent more context of living UI, memory and integration

* fix provider issue with openai and gemini

* fix: version name + event stream summarization

* fix: tunnel fix for pocketbase

* fix: marketplace name normalization

* fix: delete dead file

* fix: cleanup dead file references

---------

Co-authored-by: RooberSmoth <96537304+RooberSmoth@users.noreply.github.com>
Co-authored-by: CraftBot <craftbot@craftbot.dev>
Co-authored-by: イツミネ <tham_yikfoong@outlook.com>
Co-authored-by: Aima <aimaajmal91203@gmail.com>
Co-authored-by: false200 <214800619+false200@users.noreply.github.com>
Co-authored-by: CraftOS <thamyikfoong@craftos.net>

* fix: lint + formatting

* fix: formatter

---------

Co-authored-by: RooberSmoth <96537304+RooberSmoth@users.noreply.github.com>
Co-authored-by: CraftBot <craftbot@craftbot.dev>
Co-authored-by: イツミネ <tham_yikfoong@outlook.com>
Co-authored-by: Aima <aimaajmal91203@gmail.com>
Co-authored-by: false200 <214800619+false200@users.noreply.github.com>
Co-authored-by: CraftOS <thamyikfoong@craftos.net>
@ahmad-ajmal ahmad-ajmal mentioned this pull request Aug 28, 2026
zfoong added a commit that referenced this pull request Aug 29, 2026
* Changed AI enhance reasoning to stick to the chosen language unless stated so.

* If the input is empty, stop enhancing and reset to false state.

* Updated chat.tsx as i committed the wrong version.

* Fix issue #416

* Added loading spinner to + button for visual communication.

* Disabled send and dictate button, added 'no entry' thing when hovering on dictate.

* splash page loading animation

* Added 30s timeout - needs testing?

* make chat input disabled

* Remove outdated sections in living UI setting page

* introduce graph into the memory system

* fix coloring issue on nodes

* remove pending visualization

* Update graph UI and update relevent memories preview logic

* entity in memory graph are stored and retrieved as embedding

* Advertisement Widget

Advertisement widget for CraftBot dashboard

* Update memory setting page and added configurable memory processing condition

* improve welcome widget

* minor update to the token usage widget

* Code clean up and refactor

* refactor memory system and consolidate magic numbers into a file

* fix entities and connection pipeline

* bug:invoking skill and command cause new chat session to stuck

* Added new guide tour with driver js

* update guide text

* Added more providers and provider refactor

* fix: merge reset-agent chat options and refresh the session list

* feat: agent questions with suggested responses (pinned question box)

* bug:fix run shell mangle issue on windows

* Fix message disappearing issue

* fix event stream summarization failed and chat session UI scrolling issue

* bug:fix reset agent require refresh to take effect

* fix: unify Living UI dev/live lifecycle to stop live pb_data wipes (#427)

* fix: unify Living UI dev/live lifecycle to stop live pb_data wipes

* feat: scheduled + pre-promote backups of Living UI live data

* change delete orphan living UI project to log only

* set living UI launch by default and optimize launch time

* fix: naming fix + backup on reset agent

* fix: restore UI + restore from leftover backups

---------

Co-authored-by: CraftBot <craftbot@craftbot.dev>

* fix and improve reset agent feature from merge

* bug:schedule task list action parameter bug

* update intsaller check in run script

* fix multiple file indexing issue

* Feature/multiaccount integrations (#419)

* feat(integrations): multi-account support with aliases and per-account listeners

Rebuilt the integration layer as a host-agnostic package (supersedes
PR #370; design: docs/plans/multi-account-v2-plan.md). The 10 major
integrations now hold a primary account plus any number of additional
accounts with nicknames (shared across the Google family).

- AccountSet document store: atomic writes, deterministic account
  resolution, one-time migration of existing credential files
- 10 providers / 397 operations; @action wrappers are generated, with
  the account param injected centrally so no action can bypass it
- OAuth account choosers fixed (Google/Outlook select_account)
- Manage-accounts modal with staged edits and add-account OAuth
- Gmail/Outlook/Slack listeners run per account, triggers account-tagged
- Router extracts account qualifiers ("my job email") and sees live
  account lists just-in-time

516 tests passing, tsc clean. closes #368

* integrations: multi-account for all 23 platforms via auth-layer bridge

Legacy platforms get thin v2 providers (identity + login + bound client +
listener); their existing actions stay and become account-aware centrally
(contextvar hint + run_client routing + schema injection into 676 actions).
whatsapp_web moves from a singleton Node bridge to per-identity bridges
with QR sessions and a max_accounts cap; telegram_user logs in via
two-phase phone->code(+2FA) token connect.

Also fixes: fcntl broke the v2 system on Windows (msvcrt locking);
list/info/metrics read legacy cred files so v2 connects showed
disconnected; notion token connects could silently overwrite the first
account. Adds manage_integration_account agent action and Living UI
account param. 609 tests green.

* Integrations Fix + media recieve

* fix(integrations): resolve tester-reported failures across Jira, disconnect, Lark, WhatsApp, and notifications

* fix(integrations): gmail forwards carry the original body, whatsapp replies route to the receiving account, discord multi-server sends land once in the right channel

* feat(whatsapp): desktop-parity session durability — per-account session actor with supervised reconnect/heartbeat, bridge.js generation rewrite (no synthetic ready, PID-exact kills), LinkFlow QR with idempotent completion, legacy single-account path removed

* fix(whatsapp): adopt the live bridge at link instead of restart-from-disk (torn LocalAuth), park never-connected sessions as needs-relink, resolve account="primary"

* feat(whatsapp): migrate bridge from whatsapp-web.js/Chromium to Baileys — protocol-native WebSocket, plain-file sessions, ~50MB/account, legacy system fully removed (existing accounts re-link once via QR)

* install whatsapp bridge

* update multiaccount integration setting UI

* use SVGL for integration logo

* fix: env install for transformers

---------

Co-authored-by: CraftBot <craftbot@craftbot.dev>

* fix: import external apps

* Document + version fix

* memory entity connection processed by deterministic pipeline for now

* Add guided tour for memory panel

* Update multiple options UI

* fix: update node install

* fix: normalise python

* fix: windows dll issue

* feat: scoped walk-verify - the verifier decides what to re-test

* feat: make Living UI marketplace branch configurable

* refactor: Cleanup legacy integrations code

* hard onboarding step upgrad

* Overwrite ENTITIES.md with clean data

* Fix local LLM provider dropdown, server url input, and test connection issue

* Fix question UI and updated AGENT.md to fit the latest update

* Give agent more context of living UI, memory and integration

* fix provider issue with openai and gemini

* fix: version name + event stream summarization

* fix: tunnel fix for pocketbase

* fix: marketplace name normalization

* fix: delete dead file

* fix: cleanup dead file references

---------

Co-authored-by: RooberSmoth <96537304+RooberSmoth@users.noreply.github.com>
Co-authored-by: CraftBot <craftbot@craftbot.dev>
Co-authored-by: イツミネ <tham_yikfoong@outlook.com>
Co-authored-by: Aima <aimaajmal91203@gmail.com>
Co-authored-by: false200 <214800619+false200@users.noreply.github.com>
Co-authored-by: CraftOS <thamyikfoong@craftos.net>
@zfoong
zfoong deleted the bug/fix-livingui-production-dev-environment branch September 29, 2026 06:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority: high

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant