-
4cc1c3a423
feat(payment): FlatRender Pay (ZarinPal broker) checkout + webhook
main
soroush.asadi
2026-06-26 04:20:02 +03:30
-
b0896dc777
feat(pos): bridge the card terminal through the print agent + LAN auto-detect
soroush.asadi
2026-06-25 14:01:21 +03:30
-
f368765419
fix(pos): charge the server amount, and don't book unconfirmed card payments
soroush.asadi
2026-06-25 13:13:21 +03:30
-
197f6f2d38
feat(print): dashboard UI for print servers + auto-discovered printer pickers
soroush.asadi
2026-06-25 12:28:27 +03:30
-
7d5af0c81b
feat(print): Windows print agent — the cloud↔LAN bridge (Phase 3)
soroush.asadi
2026-06-25 12:16:28 +03:30
-
9e47a4e60c
feat(print): route print jobs through a local agent, fall back to TCP
soroush.asadi
2026-06-25 12:07:16 +03:30
-
cb57c61a11
feat(print): cloud↔local print-agent foundation (hub, pairing, registry)
soroush.asadi
2026-06-25 12:02:25 +03:30
-
67450393fc
fix(pos): cashier can't delete/reduce an item already sent to the kitchen
soroush.asadi
2026-06-25 11:40:13 +03:30
-
ae5c750d34
fix(notifications): don't lose live alerts until a page refresh
soroush.asadi
2026-06-25 11:28:47 +03:30
-
f985deb233
fix(offline): stop the sync queue badge getting stuck above zero
soroush.asadi
2026-06-25 11:28:47 +03:30
-
27ca80fd54
fix(orders): block cancelling an order once the kitchen has started it
soroush.asadi
2026-06-25 10:41:30 +03:30
-
b162335b48
feat(notifications): proactively ask the browser for popup permission
soroush.asadi
2026-06-25 10:32:12 +03:30
-
27b3ac60c7
feat(menu): per-item print station (cold bar / kitchen / barista)
soroush.asadi
2026-06-25 10:08:07 +03:30
-
aede5bfd97
refactor(hr): move Custom Roles from Settings into the HR section
soroush.asadi
2026-06-25 09:38:55 +03:30
-
eaf911e12c
fix(pos): alert on waiter calls / guest orders on the POS & queue display
soroush.asadi
2026-06-25 09:27:54 +03:30
-
166f2b2586
fix(seo): self-canonical + unique description on 6 pages that deduped to home
soroush.asadi
2026-06-24 21:32:08 +03:30
-
8ea98bdc09
fix(seo): website/koja base URL defaulted to localhost → de-indexed in GSC
soroush.asadi
2026-06-22 18:58:38 +03:30
-
72abf05a5f
fix(dashboard): review fixes — error toasts, dedupe socket, POS guards
soroush.asadi
2026-06-22 15:54:02 +03:30
-
63e3cb6962
fix(security,pos): close payment/push/PII gaps from app review
soroush.asadi
2026-06-22 15:40:20 +03:30
-
c360fbb068
feat(orders): recent orders view with receipt / kitchen / bar reprint
soroush.asadi
2026-06-21 23:15:34 +03:30
-
1264606410
fix(pos): show the post-payment receipt sheet (was rendered in the wrong view)
soroush.asadi
2026-06-21 22:17:14 +03:30
-
cad5ba6ea3
fix(pos): make the per-item note obvious with an explicit button
soroush.asadi
2026-06-21 22:10:29 +03:30
-
5596e8dbc5
chore(pos): fully remove the classic POS
soroush.asadi
2026-06-21 19:42:32 +03:30
-
46f962eb75
fix(pos): keep the receipt printable after paying an order
soroush.asadi
2026-06-21 19:14:01 +03:30
-
6184c83fa7
feat(pos): print customer receipt from the POS page
soroush.asadi
2026-06-21 14:18:20 +03:30
-
0c2ded4070
feat(pos): set a per-item note on each cart line in POS v2
soroush.asadi
2026-06-21 14:05:00 +03:30
-
2a24798a59
feat(audit): show actor full name + role in logs, click to view details
soroush.asadi
2026-06-21 11:24:06 +03:30
-
6d71770f2e
fix(auth): redirect already-signed-in users away from the register page
soroush.asadi
2026-06-21 11:11:10 +03:30
-
fd1f985597
fix(auth): redirect already-signed-in users away from the login page
soroush.asadi
2026-06-21 10:39:27 +03:30
-
d261c13175
docs(website): note KDS station tabs in the kitchen-display guide
soroush.asadi
2026-06-21 10:29:15 +03:30
-
958addf734
feat(kds): filter the kitchen display by station (kitchen / bar)
soroush.asadi
2026-06-21 10:27:40 +03:30
-
8703e9cf87
docs(website): knowledge-base guide for printing (receipt, kitchen, bar)
soroush.asadi
2026-06-21 09:58:22 +03:30
-
fb6a20eaa1
feat(print): separate kitchen & bar printers via print stations UI
soroush.asadi
2026-06-21 09:56:14 +03:30
-
97bd63015f
docs(website): knowledge-base guides for notifications & roles + sitemap docs pages
soroush.asadi
2026-06-21 07:19:23 +03:30
-
3dfcb1585b
feat(notifications): click a notification to jump to its related page
soroush.asadi
2026-06-21 06:08:18 +03:30
-
2cff5051ac
feat(rbac): gate pages and action buttons in the UI by permission
soroush.asadi
2026-06-21 05:58:56 +03:30
-
53d90fa357
feat(rbac): full permission catalog in the custom-role matrix UI (fa/en/ar)
soroush.asadi
2026-06-21 05:49:11 +03:30
-
7a5ea75b50
feat(rbac): enforce permissions on every café write endpoint
soroush.asadi
2026-06-21 05:43:07 +03:30
-
236013f53c
feat(rbac): full-CRUD permission catalog + per-role matrix
soroush.asadi
2026-06-21 05:27:02 +03:30
-
170a9aa7ac
feat(dashboard): Notifications & sound settings panel (fa/en/ar)
soroush.asadi
2026-06-21 05:08:39 +03:30
-
149a4d88cd
feat(dashboard): configurable notification sound, desktop popups & tab unread badge
soroush.asadi
2026-06-21 05:08:02 +03:30
-
aebfa825cd
feat: custom roles with per-permission matrix for café owners
soroush.asadi
2026-06-21 03:12:43 +03:30
-
73a5e5183b
fix(seed): IgnoreQueryFilters on all seeder queries + sitemap invalid date guard
soroush.asadi
2026-06-20 15:54:07 +03:30
-
1daa6d452c
fix(admin): admin OTP login always failed — rate-limit key clobbered the OTP
soroush.asadi
2026-06-17 08:42:45 +03:30
-
24fbbcb01c
fix(admin): don't prefill a fake phone on the admin login in production
soroush.asadi
2026-06-17 00:44:57 +03:30
-
a967e5d211
fix(admin): keep admin panel logged in — refresh the token instead of dying at 7 days
soroush.asadi
2026-06-15 20:57:21 +03:30
-
82d1cf8e9e
fix(auth): stop logging users out on every deploy
soroush.asadi
2026-06-15 20:42:38 +03:30
-
837805b6b8
fix(brand): real Meezi launcher icon for meezi_app (was default Flutter)
soroush.asadi
2026-06-15 19:52:34 +03:30
-
d4d7b7e679
feat(website): full Meezi knowledge base with per-feature wireframes
soroush.asadi
2026-06-15 19:00:10 +03:30
-
32a7cf5b25
ops: nightly DB backup + self-hosted uptime monitoring
soroush.asadi
2026-06-15 18:45:07 +03:30
-
d407f0b3e9
fix(brand): real Meezi icon/favicon on website + admin (was missing)
soroush.asadi
2026-06-15 18:37:21 +03:30
-
72ab09189c
fix(brand): real transparent Meezi icon + guest-menu image placeholder
soroush.asadi
2026-06-15 18:17:52 +03:30
-
456a446850
feat(meta): per-page titles + favicon/app icons + PWA across the panel
soroush.asadi
2026-06-15 15:47:00 +03:30
-
4523c8861f
feat(ui): grouped thousands separators for price/amount inputs
soroush.asadi
2026-06-15 15:46:25 +03:30
-
a855cf1d80
feat(auth): admin-issued café recovery key login
soroush.asadi
2026-06-15 15:10:11 +03:30
-
76d4434581
fix(qr): guest menu 500 (SSR) + remove café discovery from owner panel
soroush.asadi
2026-06-15 15:08:48 +03:30
-
9765491f6f
fix(prod): payment/tax gateways never fake success outside Development
soroush.asadi
2026-06-12 10:16:01 +03:30
-
00649d0248
feat(sms): bring-your-own-provider — cafés use their own SMS account
soroush.asadi
2026-06-12 09:23:50 +03:30
-
615d5348de
fix(subscription): plan comparison + checkout read the live plan catalog
soroush.asadi
2026-06-12 08:16:29 +03:30
-
74f46a4781
fix(dashboard): Set spread → Array.from for CI tsconfig target
soroush.asadi
2026-06-12 01:30:21 +03:30
-
c47922414a
feat: اصلاح سند payment corrections + audit-log & daily P&L views
soroush.asadi
2026-06-12 01:24:19 +03:30
-
2a4cf1d20b
feat(dashboard): Jalali date pickers + mobile/tablet responsive shell
soroush.asadi
2026-06-11 23:10:38 +03:30
-
d811b7d6d5
feat(dashboard): simplify navigation — frequency-based IA
soroush.asadi
2026-06-11 22:06:59 +03:30
-
e0c786fcd1
ci: drop AIA cert fetch — mirror chain is fixed at the source
soroush.asadi
2026-06-11 21:29:31 +03:30
-
bafbfbcadf
ci: fix Trust step crash in sh — replace pipefail with POSIX set -eu
soroush.asadi
2026-06-07 08:28:52 +03:30
-
206cd7d3c3
ci: fix Trust step — add shell: bash (act runner defaults to sh, no pipefail)
soroush.asadi
2026-06-07 08:17:54 +03:30
-
7b77bb4722
ci: verbose diagnostic Trust step to pinpoint PartialChain cause
soroush.asadi
2026-06-07 08:09:18 +03:30
-
1db8a8f08c
fix(ci): fetch ISRG Root YR root cert at build time + belt-and-suspenders
soroush.asadi
2026-06-07 07:34:52 +03:30
-
82145b0d21
feat(pos2): add dashboard exit button to POS board header
soroush.asadi
2026-06-07 07:23:14 +03:30
-
59486cdf24
fix(pos2): wait for branch before fetching menu + add left category sidebar
soroush.asadi
2026-06-07 07:10:03 +03:30
-
f02f78a97c
fix(pos): POS v2 menu empty — resolve a valid branch like classic POS
soroush.asadi
2026-06-04 06:17:37 +03:30
-
cc0933c514
fix(auth): don't log out fullscreen routes (POS/queue) on refresh
soroush.asadi
2026-06-04 05:56:11 +03:30
-
7c35984096
feat(pos): default the pay sheet to Card
soroush.asadi
2026-06-04 05:38:13 +03:30
-
bf0ca68fa6
feat(pos): show Card first in pay sheet, keep Cash as default
soroush.asadi
2026-06-04 05:32:26 +03:30
-
6778c32028
feat(pos): POS v2 feature parity + promote to default /pos
soroush.asadi
2026-06-04 05:16:52 +03:30
-
75a0a1c834
feat(pos): wire POS v2 to live data (board, orders, payments)
soroush.asadi
2026-06-04 00:16:37 +03:30
-
8a8eaf37e0
chore: never line-ending-convert cert files (.crt/.pem/.cer)
soroush.asadi
2026-06-03 23:23:42 +03:30
-
9a27858125
ci: trust Nexus mirror CA in backend dotnet restore (fixes skipped deploys)
soroush.asadi
2026-06-03 23:22:57 +03:30
-
5078af2dd7
feat(pos): clickable POS v2 redesign prototype at /pos2 (static, no backend)
soroush.asadi
2026-06-03 17:23:58 +03:30
-
4123654077
build(meezi_app): Android Maven mirrors for Iran (Aliyun)
soroush.asadi
2026-06-03 10:50:17 +03:30
-
55e0c9499d
content(website): reflect latest features across all pages
soroush.asadi
2026-06-03 08:37:42 +03:30
-
c8ea364ca2
build(meezi_app): Flutter Koja now builds for web (mirror + platform gen + fixes)
soroush.asadi
2026-06-03 08:20:37 +03:30
-
af1794925d
feat(meezi_app): café profile parity — cover, open badge, gallery, hours (code-only)
soroush.asadi
2026-06-03 08:00:22 +03:30
-
2652736d31
feat(meezi_app): discovery screen parity — rich filters + taxonomy (code-only)
soroush.asadi
2026-06-03 07:52:49 +03:30
-
1d79dde5e1
feat(meezi_app): Meezi green theme + rich discovery API (Koja parity, code-only)
soroush.asadi
2026-06-03 07:33:12 +03:30
-
45dab8b253
test: update ReportPlanGate test for maxDays signature
soroush.asadi
2026-06-03 07:00:49 +03:30
-
e46d833371
feat(plans): report-history + AI-3D limits read from the catalog (S3 finish)
soroush.asadi
2026-06-03 06:57:59 +03:30
-
dcdb0d5747
feat(realtime): global guest-order alert on the dashboard
soroush.asadi
2026-06-03 02:42:29 +03:30
-
9b2f15151d
feat(website): reflect new features + 5-tier pricing
soroush.asadi
2026-06-03 02:20:16 +03:30
-
7d06f149d3
feat(plans): menu watermark on Free (removed by paid feature)
soroush.asadi
2026-06-03 02:10:24 +03:30
-
2487f9e30f
feat(plans): Stage 3b — DB-driven gates for reviews/styling/limits
soroush.asadi
2026-06-03 01:40:00 +03:30
-
8f738f6469
feat(plans): Stage 4 — full admin plan/feature editor
soroush.asadi
2026-06-03 01:11:18 +03:30
-
7f52b2823f
feat(plans): Stage 3a — enforce tables cap from the DB catalog
soroush.asadi
2026-06-03 00:58:49 +03:30
-
c5d5a4006a
feat(plans): Stage 2 — seed 5-tier matrix + feature catalog (editable defaults)
soroush.asadi
2026-06-03 00:53:02 +03:30
-
4cb640814a
feat(plans): Stage 1 — Starter tier + admin-editable limit model
soroush.asadi
2026-06-03 00:40:37 +03:30
-
4c98c2cce1
feat(auth): extend token lifetimes for long offline gaps
soroush.asadi
2026-06-02 23:47:06 +03:30
-
db0c3a4a02
feat(hr): add employees from the dashboard
soroush.asadi
2026-06-02 23:28:36 +03:30
-
f1756b491e
feat(admin): rich text editor for blog content (TipTap)
soroush.asadi
2026-06-02 22:25:47 +03:30
-
97a9481627
feat(media): content-hash dedup for uploads + media-library endpoint
soroush.asadi
2026-06-02 22:16:11 +03:30
-
eb165db182
feat(offline): make every dashboard write durable offline (P2–P5)
soroush.asadi
2026-06-02 18:34:54 +03:30