Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
768 commits
Select commit Hold shift + click to select a range
061fea5
Say which account connects the till, because the wrong one looks right
sridharkalaibala Aug 28, 2026
9f7e3b0
Point "go to website" at the website, not a deleted machine
sridharkalaibala Aug 28, 2026
5660e2a
Link to the SSO path the CDN actually forwards
sridharkalaibala Aug 28, 2026
80cf676
Pin that the SSO routes are uncacheable
sridharkalaibala Aug 28, 2026
5c6e493
The installer can pair a till with a code
sridharkalaibala Aug 29, 2026
717bc9a
Send "Save and start selling" to the sale screen
sridharkalaibala Aug 30, 2026
74e6d94
Do not change the page under a modal that is still closing
sridharkalaibala Aug 30, 2026
9099fb6
Stage the demo photographs once, not once per currency
sridharkalaibala Aug 30, 2026
1fb2bc4
Create no tax at all for a country whose tax we do not know
sridharkalaibala Aug 30, 2026
130265e
Fourteen countries' tax rates, read from their own tax authorities
sridharkalaibala Aug 30, 2026
214d3d7
Stock a shop with people from where it trades, not from Chennai
sridharkalaibala Aug 30, 2026
1c031ff
Let a shard serve its shop list from a file, and scope one to a machine
sridharkalaibala Aug 30, 2026
0fed343
Let a shard be told which shop by a header, not by rewriting Host
sridharkalaibala Aug 31, 2026
48745fe
Make demo sales visible to the reports that aggregate them
sridharkalaibala Aug 31, 2026
81fad1b
Say where a signup came from, and hide Customer Dues without credit
sridharkalaibala Aug 31, 2026
511a463
Refuse to install over a shop that already exists
sridharkalaibala Aug 31, 2026
bcfbb32
Ask for the branch count only when the repository can answer
sridharkalaibala Aug 31, 2026
26d737e
Bump the api-patch-and-minor group across 1 directory with 16 updates
dependabot[bot] Aug 31, 2026
4a480a7
Count how complete each language actually is
sridharkalaibala Sep 1, 2026
0ae8a66
Make the language a code, and the words data (L1)
sridharkalaibala Sep 1, 2026
fc2d384
Add contributor quickstart
sridharkalaibala Sep 1, 2026
8075e97
One page per screen, not one per language (L3)
sridharkalaibala Sep 1, 2026
b7e25ff
Keep the shop's language when the connection goes (L4)
sridharkalaibala Sep 1, 2026
fa28b58
Adding a language is now a file and a line (L5)
sridharkalaibala Sep 1, 2026
ab5fb98
Format country tax setup files
sridharkalaibala Sep 1, 2026
4e6eccf
Require explicit billing smoke tenant
sridharkalaibala Sep 1, 2026
2422ce1
Give a translator the sentence, not the identifier
sridharkalaibala Sep 1, 2026
f0bfb51
Strip markup indentation from the worksheet's English
sridharkalaibala Sep 1, 2026
7bdee40
Keep translator worksheets out of the repository
sridharkalaibala Sep 1, 2026
81a7278
Add acceptance criteria guidance for contributors
sridharkalaibala Sep 1, 2026
2f3d76c
Merge acceptance criteria guidance
sridharkalaibala Sep 1, 2026
1fa3daa
Edit buttons say Edit, not Edited
sridharkalaibala Sep 1, 2026
d1899d1
Find the translation mistakes a non-speaker can find
sridharkalaibala Sep 1, 2026
925102f
Make a translation contributable without reading the codebase (P1)
sridharkalaibala Sep 1, 2026
1e20d0a
fix: resolve #52 Package notices: document exact bundled MongoDB version
IbrahimCodes347 Sep 1, 2026
9d562b4
Run Posnic in a browser (P2)
sridharkalaibala Sep 1, 2026
d2c38d0
Run CI on develop as well as main
sridharkalaibala Sep 1, 2026
3ebc9f2
develop, its rules, and the QA loop (P3)
sridharkalaibala Sep 1, 2026
a16fc31
Deploy develop to its own sandbox, isolated on purpose (P4)
sridharkalaibala Sep 1, 2026
5b361e6
Keep develop from drifting behind main, by asking rather than pushing
sridharkalaibala Sep 1, 2026
aedf363
Record owner shadow sign-ins as shop opens
sridharkalaibala Sep 1, 2026
f52aec3
Merge owner shadow login activity fix
sridharkalaibala Sep 1, 2026
f7001c7
Format owner shadow activity fix
sridharkalaibala Sep 1, 2026
0b3fe19
The QA loop and the release promotion (P5)
sridharkalaibala Sep 1, 2026
fe68adf
Check the develop box by address, not by hostname
sridharkalaibala Sep 1, 2026
460316a
Make the sandbox reproducible instead of remembered
sridharkalaibala Sep 1, 2026
f2789bb
A sandbox with a shop in it, and four people to be (P4)
sridharkalaibala Sep 1, 2026
1d6fa86
ci: run Scorecard on default branch
sridharkalaibala Sep 1, 2026
4ae81e9
test: align Scorecard branch assertion
sridharkalaibala Sep 1, 2026
3138166
One demo-login panel, and addresses you can actually read
sridharkalaibala Sep 2, 2026
5365fe9
Check the app, not nginx's redirect
sridharkalaibala Sep 2, 2026
680863c
Drop yargs from the frontend build
sridharkalaibala Sep 2, 2026
1d19679
Bump the frontend-build-tools group across 1 directory with 4 updates
dependabot[bot] Sep 2, 2026
f652bf4
Merge pull request #104 from Posnic/codex/fix-scorecard-default-branch
sridharkalaibala Sep 2, 2026
04f5e10
Merge pull request #437 from Posnic/dependabot/npm_and_yarn/frontend/…
sridharkalaibala Sep 2, 2026
7646456
ci: pin sandbox pm2 dependency
sridharkalaibala Sep 2, 2026
a08059d
Tell people they can run Posnic on their own server
sridharkalaibala Sep 2, 2026
45e7d47
Merge pull request #440 from Posnic/docs/self-hosting
sridharkalaibala Sep 2, 2026
641f13e
fix: harden self-hosting installer defaults
sridharkalaibala Sep 2, 2026
3844051
Commit scripts executable, and prove it stays that way
sridharkalaibala Sep 2, 2026
388e655
fix: make self-hosting installer executable
sridharkalaibala Sep 2, 2026
98dc078
fix: diff translation checks against checkout
sridharkalaibala Sep 2, 2026
0b111b0
Seed twelve language packs from a shared glossary, gated as drafts
sridharkalaibala Sep 2, 2026
4399f95
Stop the translations check failing every translation PR
sridharkalaibala Sep 2, 2026
e2016d8
Merge pull request #444 from Posnic/i18n/seed-language-drafts
sridharkalaibala Sep 2, 2026
01f6c35
Separate the desktop and server installs in the README
sridharkalaibala Sep 2, 2026
e58b74f
Merge pull request #441 from Posnic/codex/harden-self-hosting-installer
sridharkalaibala Sep 2, 2026
40886f4
Merge pull request #447 from Posnic/docs/readme-install-paths
sridharkalaibala Sep 2, 2026
6744475
Improve POS discovery metadata
sridharkalaibala Sep 2, 2026
346e477
Fix 30 broken documentation links, and check them from now on
sridharkalaibala Sep 2, 2026
7b2d321
Say what a failed sign-in probably means, and record password changes
sridharkalaibala Sep 2, 2026
6b2bf99
Format the login message constant the way api/ prettier wants
sridharkalaibala Sep 2, 2026
f62f1a6
Send the password-reset link to the shop, not to localhost
sridharkalaibala Sep 2, 2026
f228009
Sync the forgot-password unit test with the new signature
sridharkalaibala Sep 2, 2026
4cf31a5
Give a locked-out shop a way back in without us
sridharkalaibala Sep 2, 2026
d735a4d
Invoices: the bill before the sale, mirrored from the sale it becomes
sridharkalaibala Sep 2, 2026
2c6d18e
Merge pull request #453 from Posnic/auth/reset-link-points-at-the-shop
sridharkalaibala Sep 2, 2026
a562b8e
Improve Linux discovery metadata
sridharkalaibala Sep 2, 2026
a277201
Merge remote-tracking branch 'origin/develop' into codex5_stream
sridharkalaibala Sep 2, 2026
5e30251
Every language ships, complete and honestly labelled
sridharkalaibala Sep 2, 2026
ede9dd2
Merge remote-tracking branch 'origin/develop' into auth/login-message…
sridharkalaibala Sep 2, 2026
5d7d876
Document India GST e-invoicing: research, readiness and feature design
sridharkalaibala Sep 2, 2026
6a59f44
Merge pull request #451 from Posnic/auth/login-message-and-password-a…
sridharkalaibala Sep 2, 2026
4644845
Merge branch 'develop' into docs/fix-broken-links
sridharkalaibala Sep 2, 2026
12adcea
Merge branch 'develop' into codex5_stream
sridharkalaibala Sep 2, 2026
60c4320
The API tests learn the languages the app now offers
sridharkalaibala Sep 2, 2026
2409e30
Merge branch 'develop' into claude1_stream
sridharkalaibala Sep 2, 2026
2db240f
Merge pull request #455 from Posnic/claude1_stream
sridharkalaibala Sep 2, 2026
c2d11e8
Fix i18n English restore XSS sink
sridharkalaibala Sep 2, 2026
5c87ab8
Merge remote-tracking branch 'origin/develop' into codex5_stream
sridharkalaibala Sep 2, 2026
362a1c1
The language menu shows every flag, and the Arabic row reads like the…
sridharkalaibala Sep 2, 2026
55b41d1
Invoices follow the standard: a draft is a proforma, Issue books the …
sridharkalaibala Sep 2, 2026
72c2d54
Merge pull request #454 from Posnic/claude2_stream
sridharkalaibala Sep 2, 2026
401a1bc
Merge pull request #458 from Posnic/claude1_stream
sridharkalaibala Sep 2, 2026
5e02b81
Merge pull request #457 from Posnic/codex/fix-i18n-restore-xss
sridharkalaibala Sep 2, 2026
ab48699
Merge pull request #456 from Posnic/claude3_stream
sridharkalaibala Sep 2, 2026
ed139fb
Merge pull request #450 from Posnic/docs/fix-broken-links
sridharkalaibala Sep 2, 2026
b47b0ec
Merge branch 'develop' into codex5_stream
sridharkalaibala Sep 2, 2026
53bd6a3
Merge branch 'develop' into codex/pin-sandbox-pm2
sridharkalaibala Sep 2, 2026
94e947b
Merge branch 'develop' into dependabot/npm_and_yarn/api/api-patch-and…
sridharkalaibala Sep 2, 2026
79a71ec
Merge pull request #449 from Posnic/codex5_stream
sridharkalaibala Sep 2, 2026
fc290d4
Merge branch 'develop' into codex/pin-sandbox-pm2
sridharkalaibala Sep 2, 2026
cf7d2d7
The header says the language you just chose, and the login page can c…
sridharkalaibala Sep 2, 2026
caef716
The payment note on an invoice was lost between two edits, and a mock…
sridharkalaibala Sep 2, 2026
854c431
fix: rate limit legacy invoice routes
sridharkalaibala Sep 2, 2026
f9c79c5
Merge branch 'develop' into codex/pin-sandbox-pm2
sridharkalaibala Sep 2, 2026
7a3e004
Merge pull request #460 from Posnic/codex/rate-limit-invoices
sridharkalaibala Sep 2, 2026
0da37e8
Merge branch 'develop' into claude2_stream
sridharkalaibala Sep 2, 2026
5511671
Merge pull request #459 from Posnic/claude2_stream
sridharkalaibala Sep 2, 2026
7978954
Merge branch 'develop' into codex/fix-translation-ci-head
sridharkalaibala Sep 2, 2026
cb52c9c
Merge branch 'main' into fix-issue-52
sridharkalaibala Sep 2, 2026
cfb6d04
Merge branch 'develop' into dependabot/npm_and_yarn/api/api-patch-and…
sridharkalaibala Sep 2, 2026
397fdd6
Align project metadata with posnic.io
sridharkalaibala Sep 2, 2026
807c76f
Refresh release baseline references
sridharkalaibala Sep 2, 2026
72bbd72
Update THIRD-PARTY-NOTICES.md
IbrahimCodes347 Sep 2, 2026
d280156
Merge pull request #461 from Posnic/codex5_stream
sridharkalaibala Sep 2, 2026
1bdfb68
Improve first-run shop onboarding
sridharkalaibala Sep 2, 2026
2fe4a45
Merge branch 'main' into develop
sridharkalaibala Sep 2, 2026
905ea63
Merge branch 'main' into fix-issue-52
IbrahimCodes347 Sep 2, 2026
1f30b3b
Update THIRD-PARTY-NOTICES.md
IbrahimCodes347 Sep 2, 2026
0ce5a0e
Close the CodeQL findings on the release: a pack can no longer run sc…
sridharkalaibala Sep 2, 2026
aac0d4e
docs: add app review checklist examples
ShravyaHegade Sep 2, 2026
0641bc0
Make first-run setup assistant nonblocking
sridharkalaibala Sep 2, 2026
2a0efa0
Merge branch 'main' into develop
sridharkalaibala Sep 2, 2026
8c9e3e6
Take the fixed qs, so the release stops failing its packaging check
sridharkalaibala Sep 2, 2026
f4cf997
Fix dataset demo activity seeding
sridharkalaibala Sep 2, 2026
896b9b2
Merge demo data activity seeding fix
sridharkalaibala Sep 2, 2026
6b91bb2
Take the fixed qs, so the release stops failing its packaging check
sridharkalaibala Sep 2, 2026
89ee8ec
Format demo activity regression test
sridharkalaibala Sep 2, 2026
498f437
Merge demo test cleanup and qs advisory fix
sridharkalaibala Sep 2, 2026
88f8c8b
Publish app-domain discovery files
sridharkalaibala Sep 2, 2026
0aa60b4
Bump API qs lockfile version
sridharkalaibala Sep 2, 2026
1d6af34
Add canonical POS app metadata
sridharkalaibala Sep 2, 2026
11aa0cc
Keep clean first-run shops empty
sridharkalaibala Sep 2, 2026
d8d81fd
Merge clean first-run shop fix
sridharkalaibala Sep 2, 2026
d1f5284
Merge branch 'develop' into deps/qs-advisory
sridharkalaibala Sep 2, 2026
2dd729d
Merge branch 'develop' into security/codeql-pr448
sridharkalaibala Sep 2, 2026
f39039a
Merge branch 'main' into develop
sridharkalaibala Sep 2, 2026
f504d31
Merge branch 'develop' into security/codeql-pr448
sridharkalaibala Sep 2, 2026
cf9ebd2
Merge pull request #464 from Posnic/deps/qs-advisory
sridharkalaibala Sep 2, 2026
c3cd10e
Merge pull request #462 from Posnic/security/codeql-pr448
sridharkalaibala Sep 2, 2026
7430f8c
Merge pull request #448 from Posnic/develop
sridharkalaibala Sep 2, 2026
ebf5396
Bump fast-uri from 3.1.5 to 3.1.7
dependabot[bot] Sep 2, 2026
7a767fa
Bump @xmldom/xmldom from 0.8.13 to 0.8.15
dependabot[bot] Sep 2, 2026
6940d54
Update guide tour test for settings path
sridharkalaibala Sep 2, 2026
09d597c
Offer a Cloud shop its own account, and unbreak develop
sridharkalaibala Sep 2, 2026
b35637e
Assert the features contract, not that it is empty
sridharkalaibala Sep 2, 2026
29e6861
test: cover tour save navigation flag
sridharkalaibala Sep 2, 2026
5a45592
Offer Quotes when Invoices goes on, and the other way round
sridharkalaibala Sep 2, 2026
92e5485
Draw the default branch picture instead of shipping clipart
sridharkalaibala Sep 2, 2026
e499884
Keep first-run setup inline
sridharkalaibala Sep 2, 2026
740d6f8
Refresh API docs for starter locale
sridharkalaibala Sep 2, 2026
2556c5a
Center first-run close icon
sridharkalaibala Sep 2, 2026
fee8f0c
fix: secure S3 user image deletion
atomnoid Sep 2, 2026
34cfec4
Add German, and pick the next languages from where signups come from
sridharkalaibala Sep 3, 2026
9de7e53
Merge German language pack and signup-driven language queue
sridharkalaibala Sep 3, 2026
3c5c325
Tell an open we performed from one the customer chose
sridharkalaibala Sep 3, 2026
424a667
Offer the desktop app once, mid-session, in a browser
sridharkalaibala Sep 3, 2026
0af6606
Take the em dashes out of the product
sridharkalaibala Sep 3, 2026
386fb02
Rewrite the sentences rather than leaving a hyphen mid-clause
sridharkalaibala Sep 3, 2026
480a392
test: cover tour save navigation flag
sridharkalaibala Sep 2, 2026
e549649
test: cover tour save navigation flag
sridharkalaibala Sep 2, 2026
0f6d51d
test: cover tour save navigation flag
sridharkalaibala Sep 2, 2026
f9d3550
Merge pull request #473 from Posnic/auth/tag-signup-open
sridharkalaibala Sep 3, 2026
de38651
Merge pull request #475 from Posnic/copy/no-em-dashes
sridharkalaibala Sep 3, 2026
20fc518
Merge branch 'develop' into fix/s3-user-image-deletion
sridharkalaibala Sep 3, 2026
94f0207
Ship Swahili, Dutch and Italian - complete, not partial
sridharkalaibala Sep 3, 2026
e48ae70
Merge Swahili, Dutch and Italian language packs
sridharkalaibala Sep 3, 2026
155b3a9
Publish the English behind each key, so a pack can be edited from out…
sridharkalaibala Sep 3, 2026
bd930a9
Merge published English key map
sridharkalaibala Sep 3, 2026
2d3db70
Merge pull request #28 from atomnoid/fix/s3-user-image-deletion
sridharkalaibala Sep 3, 2026
61e5641
Merge branch 'develop' into promo/desktop-poster
sridharkalaibala Sep 3, 2026
424f982
Merge pull request #474 from Posnic/promo/desktop-poster
sridharkalaibala Sep 3, 2026
8181692
Merge branch 'develop' into feat/pair-quotes-invoices
sridharkalaibala Sep 3, 2026
00df0e9
Merge pull request #470 from Posnic/codex/fix-guide-tour-assertion
sridharkalaibala Sep 3, 2026
239092b
Merge branch 'develop' into codex5_stream
sridharkalaibala Sep 3, 2026
4fa68a1
Clearing your own photo must not depend on the bucket
sridharkalaibala Sep 3, 2026
8209833
Merge pull request #471 from Posnic/feat/pair-quotes-invoices
sridharkalaibala Sep 3, 2026
ee8c68f
Merge pull request #468 from Posnic/dependabot/npm_and_yarn/xmldom/xm…
sridharkalaibala Sep 3, 2026
fa57535
Merge pull request #467 from Posnic/dependabot/npm_and_yarn/fast-uri-…
sridharkalaibala Sep 3, 2026
8cb5fe1
Merge pull request #466 from Posnic/codex5_stream
sridharkalaibala Sep 3, 2026
2c674c8
Merge pull request #463 from ShravyaHegade/docs/app-review-checklist
sridharkalaibala Sep 3, 2026
bcaff12
Merge pull request #443 from Posnic/codex/fix-translation-ci-head
sridharkalaibala Sep 3, 2026
2708fe6
Merge pull request #439 from Posnic/codex/pin-sandbox-pm2
sridharkalaibala Sep 3, 2026
b6317e7
Merge pull request #26 from Posnic/dependabot/npm_and_yarn/api/api-pa…
sridharkalaibala Sep 3, 2026
83475ce
Stop the tour test failing over where a line sits
sridharkalaibala Sep 3, 2026
51ef6b9
Merge develop into the main sync, keeping the tour assertion that holds
sridharkalaibala Sep 3, 2026
5a274f1
Regenerate the English key map after the merge
sridharkalaibala Sep 3, 2026
da11464
Bump the actions group across 1 directory with 4 updates
dependabot[bot] Sep 3, 2026
e0aa756
Merge pull request #472 from Posnic/sync/main-to-develop
sridharkalaibala Sep 3, 2026
53869f8
Merge pull request #469 from Posnic/feat/posnic-account-link
sridharkalaibala Sep 3, 2026
18e51e4
Merge branch 'develop' into fix/executable-bit
sridharkalaibala Sep 3, 2026
dc869d6
Add the account link key to the published English map
sridharkalaibala Sep 3, 2026
ce78816
Merge branch 'develop' into fix/executable-bit
sridharkalaibala Sep 3, 2026
546712d
Merge branch 'develop' into dependabot/github_actions/actions-8d3bc9ceea
sridharkalaibala Sep 3, 2026
515094c
Merge branch 'develop' into fix-issue-52
sridharkalaibala Sep 3, 2026
3a18487
Merge pull request #442 from Posnic/fix/executable-bit
sridharkalaibala Sep 3, 2026
133555c
Approve the codeql-action commit this bump moves to
sridharkalaibala Sep 3, 2026
ca275fe
Merge pull request #56 from ansarifahad7577-sketch/fix-issue-52
sridharkalaibala Sep 3, 2026
3217bed
Merge branch 'develop' into dependabot/github_actions/actions-8d3bc9ceea
sridharkalaibala Sep 3, 2026
40a21f4
Merge pull request #438 from Posnic/dependabot/github_actions/actions…
sridharkalaibala Sep 3, 2026
a3a7588
Salvage the two live parts of #15 and #16, which are 395 commits stale
sridharkalaibala Sep 3, 2026
a6f041e
test(webhooks): cover bounded retry and safe dead letters
flowpatch-reliability Sep 3, 2026
fb41a1e
test: add embedded external link fixture
atomnoid Sep 3, 2026
2da0938
Merge pull request #477 from atomnoid/fix/embedded-app-external-link-…
sridharkalaibala Sep 4, 2026
72a5137
Every screen reaches the packs, and the last four languages get their…
sridharkalaibala Sep 4, 2026
d5adccf
Merge pull request #476 from flowpatch-reliability/webhook-retry-dead…
sridharkalaibala Sep 4, 2026
a229b3e
fix(i18n): use lang_customer_title for Customer heading in transactio…
siddheshbandgar Sep 4, 2026
01824d3
fix(i18n): use lang_customer_title for Customer heading in transactio…
siddheshbandgar Sep 4, 2026
e807c4a
Five more packs, and the scanner stops harvesting its own documentation
sridharkalaibala Sep 4, 2026
4bba379
The dashboard boots again: a translation call cannot run while the fi…
sridharkalaibala Sep 4, 2026
f912db7
The reports menu, the bell feed and the date presets speak the langua…
sridharkalaibala Sep 4, 2026
3991e47
Report titles keep their key too, and every pack clears 54%
sridharkalaibala Sep 4, 2026
b8ad720
chore: format API sources before commit
sridharkalaibala Sep 4, 2026
40e91b0
Nothing a translator writes is thrown away any more
sridharkalaibala Sep 4, 2026
53511f4
Merge branch 'develop' into fix/customer-transaction-heading
siddheshbandgar Sep 4, 2026
0143cf5
Merge branch 'develop' into fix/customer-transaction-heading
siddheshbandgar Sep 4, 2026
0ddff3a
Six languages reach 69%, Telugu 85%
sridharkalaibala Sep 4, 2026
5179833
Hindi joins Telugu at 84%, and the last two prompts keep their words
sridharkalaibala Sep 4, 2026
c9319f3
Merge branch 'develop' into fix/customer-transaction-heading
siddheshbandgar Sep 4, 2026
76666f2
Portuguese to 69%, and the permission columns say Read in Nepali
sridharkalaibala Sep 4, 2026
87cbc45
Indonesian reaches 69%
sridharkalaibala Sep 4, 2026
b72d4f8
Tamil reaches 84%
sridharkalaibala Sep 4, 2026
f6b2253
"Left" stops meaning two things, and the gaps report counts only real…
sridharkalaibala Sep 4, 2026
561fa36
Kannada reaches 69%
sridharkalaibala Sep 4, 2026
7bf44f9
Italian reaches 69%: twelve of eighteen languages now clear two thirds
sridharkalaibala Sep 4, 2026
6966d5d
Kiswahili reaches 69%
sridharkalaibala Sep 4, 2026
e679825
Merge branch 'develop' into fix/customer-transaction-heading
siddheshbandgar Sep 4, 2026
abec783
Thai reaches 84%
sridharkalaibala Sep 4, 2026
6c38607
Telugu is the first pack past 99%
sridharkalaibala Sep 4, 2026
a915207
Sinhala reaches 69%: every language now clears two thirds
sridharkalaibala Sep 4, 2026
4b793c3
Nepali reaches 84%
sridharkalaibala Sep 4, 2026
46c9c4a
Tamil joins Telugu at 100%
sridharkalaibala Sep 4, 2026
c615857
French reaches 84%
sridharkalaibala Sep 4, 2026
ad6c70b
Arabic reaches 84%
sridharkalaibala Sep 4, 2026
eef7256
Malayalam reaches 84%
sridharkalaibala Sep 4, 2026
90bc6fb
Spanish reaches 84%
sridharkalaibala Sep 4, 2026
4d1b77a
Kannada reaches 84%
sridharkalaibala Sep 4, 2026
a24984f
Portuguese reaches 84%
sridharkalaibala Sep 4, 2026
85115e7
Indonesian reaches 84%
sridharkalaibala Sep 4, 2026
340ff20
Dutch reaches 84%
sridharkalaibala Sep 4, 2026
d856eb3
Italian reaches 84%
sridharkalaibala Sep 4, 2026
2b0e798
Merge branch 'develop' into fix/customer-transaction-heading
siddheshbandgar Sep 4, 2026
595df5c
Kiswahili reaches 84%
sridharkalaibala Sep 4, 2026
b604ec3
Merge branch 'develop' into fix/customer-transaction-heading
siddheshbandgar Sep 4, 2026
161c51c
German and Thai reach 100%, and two last labels find their keys
sridharkalaibala Sep 4, 2026
53c6db0
Kiswahili reaches 100%, and a merge token stops being translated
sridharkalaibala Sep 4, 2026
0bad673
Italian, Dutch and Sinhala advance, and a brand is spelled again
sridharkalaibala Sep 4, 2026
3d2fde8
Five more packs complete, and the last English on the page finds a key
sridharkalaibala Sep 4, 2026
6edefbb
Merge branch 'develop' into fix/customer-transaction-heading
sridharkalaibala Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file modified .githooks/security-audit.js
100644 → 100755
Empty file.
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md → .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Roughly in order, starting at the lowest step that fits:
severe act — harassment, threats, or deliberately putting shops' data at risk.

Decisions are made by the maintainers, currently as described in
[GOVERNANCE.md](GOVERNANCE.md#where-the-project-is-today). If you believe one
[GOVERNANCE.md](../docs/GOVERNANCE.md#where-the-project-is-today). If you believe one
was wrong, say so at the same address; where a second maintainer exists, they
review it.

Expand Down
65 changes: 55 additions & 10 deletions CONTRIBUTING.md → .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ hardware quirks from real shops.

## Getting started

If this is your first Posnic contribution, start with the
[contributor quickstart](../docs/CONTRIBUTOR_QUICKSTART.md). It has the local
setup commands, common test commands, and task map for translations, GST,
e-invoicing, AI helper work, integrations and hardware evidence.

```bash
git clone https://github.com/Posnic/POS.git
cd POS
Expand All @@ -18,20 +23,28 @@ You do **not** need to install MongoDB. Posnic bundles its own and picks a port
derived from the application name, so it never collides with a database you
already run. The first launch takes a few minutes while it unpacks.

- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) — full developer guide: tests,
- [Contributor quickstart](../docs/CONTRIBUTOR_QUICKSTART.md) — first setup,
task map and test matrix
- [docs/DEVELOPMENT.md](../docs/DEVELOPMENT.md) — full developer guide: tests,
linting, conventions, and what not to rename
- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — how the pieces fit together
- [docs/API.md](docs/API.md) — REST reference, 478 endpoints
- [docs/BUILD_INSTRUCTIONS.md](docs/BUILD_INSTRUCTIONS.md) — installer builds
- [docs/ARCHITECTURE.md](../docs/ARCHITECTURE.md) — how the pieces fit together
- [docs/API.md](../docs/API.md) — REST reference
- [docs/BUILD_INSTRUCTIONS.md](../docs/BUILD_INSTRUCTIONS.md) — installer builds

## How to contribute

1. **Open an issue first** for anything non-trivial — a bug report or a short
proposal for a feature. It avoids wasted work on both sides.
2. Fork, create a branch (`fix/receipt-rounding`, `feat/tamil-translation`).
3. Keep pull requests focused — one change per PR.
4. Match the style of the surrounding code; avoid drive-by reformatting.
5. Run the tests: `cd api && npm test` (7,744 unit tests, about a minute), plus
2. Pick a task from the
[contributor roadmap](https://github.com/Posnic/POS/issues/35) or the
[`good first issue`](https://github.com/Posnic/POS/labels/good%20first%20issue)
label.
3. Read the issue acceptance criteria and choose one small checkbox or PR slice.
If the issue does not yet define "done", start by proposing that checklist.
4. Fork, create a branch (`fix/receipt-rounding`, `feat/tamil-translation`).
5. Keep pull requests focused — one change per PR.
6. Match the style of the surrounding code; avoid drive-by reformatting.
7. Run the tests: `cd api && npm test` (7,744 unit tests, about a minute), plus
`npm test` at the repo root for the desktop side (294 more). Both should pass on a
clean checkout — if they do not, that is worth an issue on its own.

Expand All @@ -46,7 +59,7 @@ that one is yours.
**Do not rename a persisted field or collection in a pull request.** Those names
travel over the sync wire to desktop installations that cannot be force-updated,
so renaming them needs a versioned migration. See
[docs/DEVELOPMENT.md](docs/DEVELOPMENT.md#what-not-to-rename).
[docs/DEVELOPMENT.md](../docs/DEVELOPMENT.md#what-not-to-rename).

## What happens to your pull request

Expand All @@ -55,7 +68,7 @@ So you know what you are waiting for.
1. **CI runs** — unit tests, the desktop tests, lint, the packaging check and
the API docs check. All of them gate: if CI is red, the pull request waits.
2. **A maintainer reads it.** Usually within a week. The project is small; see
[GOVERNANCE.md](GOVERNANCE.md).
[GOVERNANCE.md](../docs/GOVERNANCE.md).
3. **You may get comments.** Comments are not rejection. A pull request with
twenty comments is one someone is taking seriously.
4. **It merges**, or it does not — and if it does not, the reason is written in
Expand Down Expand Up @@ -99,6 +112,38 @@ Two things worth repeating here:
are trying to do tells us more than the button you imagined, and often has a
better answer.

## Contribute evidence without changing code

Reproducible observations are useful contributions. They help turn a broad
feature statement into a versioned result with an exact input, environment and
limitation.

- If you are reviewing Posnic independently, start with the public
[review brief](https://posnic.com/assets/posnic-independent-review-brief.txt)
and [24-control protocol](https://posnic.com/assets/posnic-independent-review-protocol.csv).
Review access does not require payment, positive coverage, a backlink or
advance approval. Publish failures, conflicts and untested areas as well as
successful results.
- Run the public
[vendor-neutral POS acceptance fixture](https://posnic.com/open-source-pos-benchmark#vendor-neutral-pos-acceptance-fixture)
and submit the structured
[acceptance result form](https://github.com/Posnic/POS/issues/new?template=pos_acceptance_run.yml).
- Test an exact printer, scanner, cash drawer, scale or display against the
[hardware matrix](../docs/HARDWARE_MATRIX.md), then submit the structured
[hardware evidence form](https://github.com/Posnic/POS/issues/new?template=hardware_evidence.yml).
- If you operate, piloted, installed, evaluated or stopped using Posnic, read
the [adoption evidence policy](../docs/ADOPTION_EVIDENCE.md) and submit a
structured
[deployment evidence report](https://github.com/Posnic/POS/issues/new?template=deployment_evidence.yml).
Failures, workarounds and reasons not to adopt are useful evidence.
- Read [ROADMAP.md](../docs/ROADMAP.md) for the current evidence gaps and the boundary
between released, reproduced, in-validation and planned work.

An evidence issue is public and is not a certification or testimonial. Use
fictional transactions and remove customer data, payment data, credentials,
tokens, production logs and database files before attaching anything. Security
problems still go through [SECURITY.md](SECURITY.md), never a public issue.

## Sign your commits (DCO)

We use the [Developer Certificate of Origin](https://developercertificate.org/).
Expand Down
4 changes: 4 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
blank_issues_enabled: false

contact_links:
- name: Start contributing
url: https://github.com/Posnic/POS/blob/main/docs/CONTRIBUTOR_QUICKSTART.md
about: Local setup, test commands, good first issues, PR flow and safety rules.

- name: Question or help using Posnic
url: https://github.com/Posnic/POS/discussions/categories/q-a
about: How do I do X, is this normal, hardware advice. Faster than an issue.
Expand Down
154 changes: 154 additions & 0 deletions .github/ISSUE_TEMPLATE/deployment_evidence.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
name: Real deployment evidence report
description: Report bounded, versioned experience from operating or evaluating Posnic
title: "[Deployment evidence]: "
labels: []
body:
- type: markdown
attributes:
value: |
Use this form for honest experience from a real deployment, pilot, installation, or sustained evaluation. Failures, workarounds, stopped trials, and reasons Posnic was not selected are as useful as successful use.

GitHub issues are public. Do not include customer records, card or bank data, credentials, tokens, tax identifiers, staff identities, production database files, private logs, an exact shop address, or anything you are not authorised to publish.

A submitted report is not automatically a testimonial, case study, certification, endorsement, uptime claim, or proof that another business will obtain the same result.

- type: dropdown
id: reporter_relationship
attributes:
label: Your relationship to this deployment
options:
- Business owner or operator
- Employee using Posnic at work
- Installer, consultant, or implementation partner
- Independent evaluator or researcher
- Posnic employee, contractor, affiliate, or investor
- Former user or stopped pilot
- Other relationship explained below
validations:
required: true

- type: textarea
id: relationship_details
attributes:
label: Relationship and financial disclosure
description: State who selected, configured, paid for, supplied, or reviewed the software and disclose any payment, free service, discount, employment, referral, or other material connection to Posnic.
placeholder: I operate the shop and used the free local edition; no payment or incentive was received for this report.
validations:
required: true

- type: input
id: product_identity
attributes:
label: Exact Posnic version or source commit
description: Include the release tag, About-screen version, or full source commit. Add the package filename and SHA-256 when available.
placeholder: v1.3.0, Posnic-1.3.0-windows-x64-installer.exe, SHA-256 ...
validations:
required: true

- type: dropdown
id: deployment_status
attributes:
label: Deployment status
options:
- Currently used for live business operations
- Time-bounded live pilot
- Production-like evaluation with synthetic data
- Installation or migration attempt that stopped
- Previously used and no longer in use
validations:
required: true

- type: input
id: observation_window
attributes:
label: Observation window
description: Give calendar dates or a bounded duration. Do not say "for a while".
placeholder: 1 June 2026 to 31 July 2026, or 12 operating days
validations:
required: true

- type: input
id: market_scope
attributes:
label: Country, business type, and deployment size
description: Country and state or region are enough. Do not publish an exact address. Use a range for staff or transaction volume if the exact value is sensitive.
placeholder: India, Tamil Nadu; one bakery; one till; 1-5 staff
validations:
required: true

- type: input
id: environment
attributes:
label: Operating system and relevant hardware
description: Include OS version, architecture, installation type, and only the exact device models relevant to your observations.
placeholder: Windows 11 23H2 x64; local edition; printer model and connection if discussed
validations:
required: true

- type: checkboxes
id: workflows_observed
attributes:
label: Workflows actually observed
description: Select only paths used during the stated window. Explain depth and exceptions below.
options:
- label: Installation, setup, or migration
- label: Catalog, stock, or purchasing
- label: Sale, tender recording, receipt, or return
- label: Restaurant, table, kitchen, or kiosk workflow
- label: Register, close, report, or export
- label: Backup, restore, restart, or outage recovery
- label: Printer, scanner, drawer, scale, or display
- label: Multi-till, branch, sync, or Posnic Cloud
- label: Support, issue reporting, or update process
validations:
required: true

- type: textarea
id: observed_results
attributes:
label: What happened
description: Describe expected and observed behavior with counts or dates where you can support them. Include failures, retries, workarounds, abandoned paths, and unresolved issues.
placeholder: What was attempted; what worked; what failed; what changed; links to related public issues.
validations:
required: true

- type: textarea
id: evidence_and_method
attributes:
label: Evidence and method
description: Explain how the observations were recorded. Link public issues or attach only synthetic, aggregated, or fully redacted material.
placeholder: Version screen, synthetic test receipt, issue links, redacted setup notes, or measured aggregate with its calculation.
validations:
required: true

- type: textarea
id: limitations
attributes:
label: Limitations and untested paths
description: State what this report does not establish, including workflows, platforms, hardware, providers, countries, loads, recovery conditions, or time periods not observed.
validations:
required: true

- type: dropdown
id: citation_permission
attributes:
label: Permission to cite this report
description: This choice can be changed later by commenting on the issue. Separate written approval is still required before publishing a named business case study, logo, quotation, or private evidence.
options:
- Do not use this as marketing; keep it as a public issue only
- Posnic may link to this public issue with my GitHub username only
- Posnic may summarise this public report after I approve the exact wording
validations:
required: true

- type: checkboxes
id: public_data_confirmation
attributes:
label: Public report confirmation
options:
- label: I am authorised to publish this report and removed private customer, payment, staff, credential, tax, address, log, and database data.
required: true
- label: I disclosed my relationship and any payment, free service, discount, referral, employment, or other material connection.
required: true
- label: I understand that maintainers may ask for correction, label the result unverified, or close it without turning it into a marketing claim.
required: true
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,19 @@ the one you had in mind.
<!-- Optional. If you have a shape in mind, describe it - but the problem above
matters more. -->

## Acceptance criteria

<!--
What must be true before this issue can be closed? Keep these specific and
testable. A maintainer may edit this into smaller PR-sized steps before code
starts.
-->

- [ ] The user can...
- [ ] The app still...
- [ ] Tests or evidence prove...
- [ ] Documentation or operator wording explains...

## Does it need an internet connection?

<!-- The local edition must work fully offline. Anything that needs a
Expand Down
83 changes: 83 additions & 0 deletions .github/ISSUE_TEMPLATE/hardware_evidence.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: POS hardware evidence report
description: Report a reproducible observation for an exact printer, scanner, drawer, scale, or display
title: "[Hardware evidence]: "
labels: []
body:
- type: markdown
attributes:
value: |
A source path or protocol test is not the same as a physical-device result. Name the exact device and environment so another person can reproduce the observation.

GitHub issues are public. Use fictional transactions and remove customer data, payment data, credentials, tokens, production logs, serial numbers that identify an owner, and database files.

- type: dropdown
id: device_type
attributes:
label: Device type
options:
- Receipt printer
- Barcode scanner
- Cash drawer
- Weighing scale
- Customer or second display
- Other POS peripheral
validations:
required: true

- type: input
id: device_identity
attributes:
label: Manufacturer and exact model
placeholder: Manufacturer, model, hardware revision if visible
validations:
required: true

- type: input
id: connection
attributes:
label: Connection, cable, driver, and protocol
placeholder: USB, driver version, ESC/POS mode, serial settings, or network path
validations:
required: true

- type: input
id: software_environment
attributes:
label: Posnic version, operating system, and architecture
placeholder: Posnic v1.3.0, Windows 11 23H2 x64
validations:
required: true

- type: textarea
id: test_method
attributes:
label: Test method
description: Describe setup and the exact normal, disconnect, retry, restart, malformed-input, or recovery paths tested.
validations:
required: true

- type: textarea
id: observed_results
attributes:
label: Expected and observed results
description: Record each pass, failure, partial result, and error message. Attach fully redacted evidence where useful.
validations:
required: true

- type: textarea
id: limitations
attributes:
label: Limitations and untested paths
description: State what this observation does not prove, including other firmware, drivers, cables, platforms, receipt widths, loads, or recovery conditions.
validations:
required: true

- type: checkboxes
id: public_data_confirmation
attributes:
label: Public evidence confirmation
options:
- label: I used fictional or fully redacted records and included no secrets, customer data, payment data, or production database content.
required: true
- label: I understand that one report is not an automatic hardware certification or universal compatibility claim.
required: true
Loading
Loading