Skip to content

And drawing the channels screen does not depend on another namespace - #796

Merged
sridharkalaibala merged 1 commit into
developfrom
fix/the-channels-screen-draws-on-its-own
Sep 16, 2026
Merged

sridharkalaibala merged 1 commit into
developfrom
fix/the-channels-screen-draws-on-its-own

Conversation

@sridharkalaibala

Copy link
Copy Markdown
Contributor

Develop's Desktop tests are red without this. #795 merged its first commit; this
was the second, and it did not travel. Two tests in
tests/online-ordering-screen.test.js fail on develop right now.

What broke

salesChannels.load() called PosnicPro.settings.showSilenceRule(). The channels
screen is lifted out and run on its own in that suite, where PosnicPro.settings does
not exist, so load() threw on the reach across.

Not only a harness problem. A load() that throws leaves Delivery Partners with no
partners and Restaurant with no venues or charges - and collect() reads those same
rows back out of the DOM, so the next Save would write the empty screen over the real
ones. That is the shape of the channel-settings-split bug, arriving through a namespace
instead of a tab id.

The fix

The helper moves onto the module whose screen the control is actually on, and its
change handler is bound beside the other channel-screen handlers.

tests/online-ordering-screen.test.js 21/21, and the settings, channel-roundtrip and
dead-selector suites with it.

salesChannels.load() called PosnicPro.settings.showSilenceRule(). The
channels screen is lifted out and run on its own in
tests/online-ordering-screen.test.js, where PosnicPro.settings does not
exist, so load() threw on the reach across.

Not only a harness problem. A load() that throws leaves Delivery Partners
with no partners and Restaurant with no venues or charges - and collect()
reads those same rows back out of the DOM, so the next Save would write
the empty screen over the real ones. That is the shape of the channel
settings split bug, arriving through a namespace instead of a tab id.

So the helper moves onto the module whose screen the control is on, and
its handler is bound beside the other channel-screen handlers.
@sridharkalaibala
sridharkalaibala merged commit 84ee8ad into develop Sep 16, 2026
9 checks passed
@github-actions github-actions Bot added the ready for QA Merged to develop and live on develop.posnic.io - anyone can test it label Sep 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Merged to develop. Anyone can test this - you do not need write access.

Try it at https://develop.posnic.io, or run it yourself:

git fetch origin develop && git checkout develop
npm install && npm --prefix api install
npm run dev   # then http://localhost:3000

When you have tested it, say what you did and what happened, and set
QA passed or QA failed. If you cannot set labels, just comment -
a maintainer will.

Reporting that something is broken is as useful as fixing it. It is
better found here than by a shopkeeper.

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

Labels

ready for QA Merged to develop and live on develop.posnic.io - anyone can test it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant