Commit Graph

  • 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