-
fd0de714a4
fix(loyalty): update delete tests for soft-delete behavior
Samir Boulahtit
2026-03-29 12:28:27 +02:00
-
c6b155520c
docs: add security hardening plan from 360 audit
Samir Boulahtit
2026-03-28 21:17:48 +01:00
-
66b77e747d
fix(storefront): add icons.js to storefront login page
Samir Boulahtit
2026-03-28 21:16:13 +01:00
-
71b5eb1758
fix(ui): add window.FRONTEND_TYPE to standalone login pages
Samir Boulahtit
2026-03-28 21:10:39 +01:00
-
b4f01210d9
fix(ui): inject window.FRONTEND_TYPE from server + rename SHOP→STOREFRONT
Samir Boulahtit
2026-03-28 21:08:59 +01:00
-
9bceeaac9c
feat(arch): implement soft delete for business-critical models
Samir Boulahtit
2026-03-28 21:08:07 +01:00
-
332960de30
fix(tenancy): fix team CRUD bugs + add member integration tests
Samir Boulahtit
2026-03-28 21:06:21 +01:00
-
0455e63a2e
feat(tenancy): add merchant team CRUD with multi-store hub view
Samir Boulahtit
2026-03-24 18:57:45 +01:00
-
aaed1b2d01
fix(tenancy): use correct Merchant.name field in team service
Samir Boulahtit
2026-03-23 21:58:46 +01:00
-
9dee534b2f
fix(tenancy): correct API path for merchant team page
Samir Boulahtit
2026-03-23 21:56:49 +01:00
-
beef3ce76b
fix(arch): extend TPL-009 block name check to merchant templates
Samir Boulahtit
2026-03-23 21:55:06 +01:00
-
884a694718
fix(tenancy): use correct block name for merchant team page scripts
Samir Boulahtit
2026-03-23 21:50:49 +01:00
-
4cafbe9610
fix(tenancy): use Python .lower() instead of JS .toLowerCase() in template
Samir Boulahtit
2026-03-23 21:48:33 +01:00
-
19923ed26b
fix(loyalty): remove avatar circle from transactions list
Samir Boulahtit
2026-03-23 21:45:45 +01:00
-
46f8d227b8
fix(loyalty): remove card_number display from transactions list
Samir Boulahtit
2026-03-23 21:44:45 +01:00
-
95e4956216
fix(loyalty): make edit PIN modal read-only except for PIN code
Samir Boulahtit
2026-03-23 21:36:11 +01:00
-
77e520bbce
fix(loyalty): use correct no-results text in PIN staff autocomplete
Samir Boulahtit
2026-03-23 21:33:09 +01:00
-
518bace534
refactor(loyalty): use search_autocomplete macro for staff PIN lookup
Samir Boulahtit
2026-03-23 21:30:10 +01:00
-
fcde2d68fc
fix(loyalty): use SQL func.replace() for card number search
Samir Boulahtit
2026-03-23 21:25:28 +01:00
-
5a33f68743
refactor(loyalty): use search_autocomplete macro for terminal lookup
Samir Boulahtit
2026-03-23 21:24:00 +01:00
-
040cbd1962
feat(loyalty): add customer autocomplete to terminal search
Samir Boulahtit
2026-03-23 21:21:36 +01:00
-
b679c9687d
fix(loyalty): only show staff dropdown after typing, not on focus
Samir Boulahtit
2026-03-23 21:14:35 +01:00
-
314360a394
fix(loyalty): clear staff_id when autocomplete selection is removed
Samir Boulahtit
2026-03-23 21:13:44 +01:00
-
44a0c38016
fix(loyalty): remove broken pagination from pins list
Samir Boulahtit
2026-03-23 21:12:08 +01:00
-
da9e1ab293
fix(core): handle 204 No Content in apiClient JSON parsing
Samir Boulahtit
2026-03-23 21:10:17 +01:00
-
5de297a804
fix(loyalty): fix edit/delete button handlers in pins list
Samir Boulahtit
2026-03-23 21:07:21 +01:00
-
4429674100
feat(loyalty): add staff autocomplete to PIN management
Samir Boulahtit
2026-03-23 20:58:10 +01:00
-
316ec42566
fix(loyalty): use card_id instead of id in terminal JS
Samir Boulahtit
2026-03-23 20:50:20 +01:00
-
894832c62b
fix(loyalty): add all 27 remaining missing i18n keys
Samir Boulahtit
2026-03-23 20:29:21 +01:00
-
1d90bfe044
fix(loyalty): align menu item IDs with URL segments for sidebar highlight
Samir Boulahtit
2026-03-23 18:32:50 +01:00
-
ce0caa5685
fix(core): don't overwrite currentPage set by child Alpine components
Samir Boulahtit
2026-03-23 18:22:20 +01:00
-
33f823aba0
fix(loyalty): rename table_* locale keys to col_* matching template references
Samir Boulahtit
2026-03-23 18:15:20 +01:00
-
edd55cd2fd
fix: context-aware back button for cross-module admin navigation
Samir Boulahtit
2026-03-23 16:37:28 +01:00
-
f3344b2859
fix(loyalty): open View Merchant link in new tab to preserve loyalty context
Samir Boulahtit
2026-03-23 16:21:39 +01:00
-
1107de989b
fix(loyalty): pass merchant name server-side to admin on-behalf headers
Samir Boulahtit
2026-03-23 14:15:05 +01:00
-
a423bcf03e
fix(loyalty): show merchant name in admin on-behalf page headers
Samir Boulahtit
2026-03-23 14:03:18 +01:00
-
661547f6cf
docs: update deployment docs for CI timeouts, build info, and prod safety
Samir Boulahtit
2026-03-23 14:00:35 +01:00
-
3015a490f9
fix: mount .build-info as volume instead of relying on COPY
Samir Boulahtit
2026-03-23 13:53:42 +01:00
-
5b4ed79f87
fix(loyalty): add GET /merchants/{merchant_id}/program to admin API
Samir Boulahtit
2026-03-23 12:33:41 +01:00
-
52a5f941fe
fix(loyalty): resolve 40 missing i18n keys across all frontends
Samir Boulahtit
2026-03-22 20:52:38 +01:00
-
6161d69ba2
feat(loyalty): cross-persona page alignment with shared components
Samir Boulahtit
2026-03-22 19:28:07 +01:00
-
f41f72b86f
ci: increase pytest timeout to 150min for CAX11 runner
Samir Boulahtit
2026-03-22 19:17:51 +01:00
-
644bf158cd
chore: dev/prod Docker compose separation with safety docs
Samir Boulahtit
2026-03-22 16:16:29 +01:00
-
f89c0382f0
feat(loyalty): wallet debug page, Google Wallet fixes, and module config env_file standardization
Samir Boulahtit
2026-03-19 22:18:39 +01:00
-
11b8e31a29
ci: run unit tests only, disable verbose output and logging overhead
Samir Boulahtit
2026-03-19 22:11:02 +01:00
-
0ddef13124
ci: split unit and integration tests into separate steps
Samir Boulahtit
2026-03-19 21:10:50 +01:00
-
60bed05d3f
ci: disable coverage in CI and increase timeout to 90min
Samir Boulahtit
2026-03-19 19:36:58 +01:00
-
40da2d6b11
feat: add build info (commit SHA + deploy timestamp) to health endpoint and admin sidebar
Samir Boulahtit
2026-03-18 22:35:01 +01:00
-
d96e0ea1b4
ops: rebalance container memory limits (node-exporter 32m, cadvisor 192m)
Samir Boulahtit
2026-03-17 23:31:55 +01:00
-
7d652716bb
feat(loyalty): production readiness round 2 — 12 security, integrity & correctness fixes
Samir Boulahtit
2026-03-16 23:37:23 +01:00
-
b6047f5b7d
feat(loyalty): Google Wallet production readiness — 10 hardening items
Samir Boulahtit
2026-03-16 00:18:13 +01:00
-
366d4b9765
ci: add pytest job timeout and per-test timeout to prevent silent CI failures
Samir Boulahtit
2026-03-15 22:09:12 +01:00
-
540205402f
feat(middleware): harden routing with fail-closed policy, custom subdomain management, and perf fixes
Samir Boulahtit
2026-03-15 18:13:01 +01:00
-
07fab01f6a
feat(dev_tools): add tenant isolation audit to diagnostics page
Samir Boulahtit
2026-03-15 16:53:21 +01:00
-
6c07f6cbb2
fix(i18n): complete translations for production launch and fix CMS store context
Samir Boulahtit
2026-03-14 23:38:54 +01:00
-
bc7431943a
fix: make storefront API referer extraction platform-aware and fix script loading
Samir Boulahtit
2026-03-14 20:01:07 +01:00
-
adec17cd02
docs(deployment): add future scaling section for 50+ custom domains
Samir Boulahtit
2026-03-14 19:41:35 +01:00
-
a28d5d1de5
fix(i18n): convert remaining $t() to server-side _() and fix store dashboard language
Samir Boulahtit
2026-03-14 17:00:42 +01:00
-
502473eee4
feat(seed): add WizaMart merchant with OMS trial and wizamart.com custom domain
Samir Boulahtit
2026-03-14 14:33:31 +01:00
-
183f55c7b3
docs(deployment): add runbooks for store subdomains, custom domains, and new platforms
Samir Boulahtit
2026-03-14 12:31:56 +01:00
-
169a774b9c
feat(i18n): add reactive Alpine $t() magic and fix storefront language variable
Samir Boulahtit
2026-03-14 04:50:46 +01:00
-
ebbe6d62b8
refactor(dev-tools): replace _simulate_store_detection with real StoreContextManager method
Samir Boulahtit
2026-03-14 04:49:59 +01:00
-
c2c0e3c740
refactor: rename platform_domain → main_domain to avoid confusion with platform.domain
Samir Boulahtit
2026-03-14 04:45:28 +01:00
-
4a1f71a312
fix(loyalty): resolve critical production readiness issues
Samir Boulahtit
2026-03-13 23:18:18 +01:00
-
5dd5e01dc6
fix: skip custom domain store detection for platform domains
Samir Boulahtit
2026-03-13 23:06:49 +01:00
-
694a1cd1a5
feat(loyalty): add full i18n support for all loyalty module pages
Samir Boulahtit
2026-03-13 19:53:17 +01:00
-
826ef2ddd2
chore: add LOYALTY_GOOGLE_WALLET_ORIGINS to .env.example
Samir Boulahtit
2026-03-12 22:34:32 +01:00
-
a1cc05cd3d
fix(tests): remove stale onboarding redirect tests and mock billing limits
Samir Boulahtit
2026-03-12 22:32:35 +01:00
-
19d267587b
fix(loyalty): use private key PEM for JWT signing instead of RSASigner.key
Samir Boulahtit
2026-03-12 22:31:02 +01:00
-
9a13aee8ed
feat: add module-aware test impact analysis and fix CI test scope
Samir Boulahtit
2026-03-12 22:29:31 +01:00
-
9c39a9703f
fix(tenancy): mock billing limit check in store creation unit test
Samir Boulahtit
2026-03-11 23:47:51 +01:00
-
395707951e
fix: move IMPORT-002 suppression to from-line for validator detection
Samir Boulahtit
2026-03-11 23:44:16 +01:00
-
34bf961309
fix: resolve all 19 architecture validator warnings
Samir Boulahtit
2026-03-11 23:43:12 +01:00
-
44acf5e442
fix(dev_tools): resolve architecture validator warnings
Samir Boulahtit
2026-03-11 23:15:10 +01:00
-
b3224ba13d
fix(loyalty): replace broad exception handlers with specific types and rename onboarding service
Samir Boulahtit
2026-03-11 23:09:23 +01:00
-
93b7279c3a
fix(loyalty): guard feature provider usage methods against None db session
Samir Boulahtit
2026-03-11 22:31:34 +01:00
-
29d942322d
feat(loyalty): make logo URL mandatory on program edit forms
Samir Boulahtit
2026-03-11 20:08:38 +01:00
-
8c8975239a
feat(loyalty): fix Google Wallet integration and improve enrollment flow
Samir Boulahtit
2026-03-11 17:32:55 +01:00
-
f766a72480
feat: enable dev debug toolbar on admin, merchant, and storefront panels
Samir Boulahtit
2026-03-11 15:55:29 +01:00
-
618376aa39
feat(dev_tools): add diagnostics hub with permissions audit tool
Samir Boulahtit
2026-03-11 15:44:49 +01:00
-
efca9734d2
test(loyalty): add integration and unit tests for analytics, pages, and stats
Samir Boulahtit
2026-03-11 11:32:06 +01:00
-
6acd783754
feat(loyalty): refactor analytics into shared template and add merchant stats API
Samir Boulahtit
2026-03-11 11:08:16 +01:00
-
8cf5da6914
feat: add SQL query presets, shared program form, and loyalty API/admin improvements
Samir Boulahtit
2026-03-10 22:53:19 +01:00
-
eee33d6a1b
feat(loyalty): align program view, edit, and analytics pages across all frontends
Samir Boulahtit
2026-03-10 22:51:26 +01:00
-
aefca3115e
feat(dev_tools): add translation editor for browsing and editing UI translations
Samir Boulahtit
2026-03-10 22:44:41 +01:00
-
319900623a
feat: add SQL query tool, platform debug, loyalty settings, and multi-module improvements
Samir Boulahtit
2026-03-10 20:08:07 +01:00
-
a77a8a3a98
feat: multi-module improvements across merchant, store, i18n, and customer systems
Samir Boulahtit
2026-03-08 23:48:25 +01:00
-
f141cc4e6a
docs: migrate module documentation to single source of truth
Samir Boulahtit
2026-03-08 23:38:37 +01:00
-
2287f4597d
feat(hosting,prospecting): add hosting unit tests and fix template bugs
Samir Boulahtit
2026-03-07 06:18:26 +01:00
-
8136739233
feat(docker): add healthchecks for celery-beat and node-exporter
Samir Boulahtit
2026-03-06 23:56:56 +01:00
-
2ca313c3c7
fix(docker): increase celery-beat memory limit to 256m
Samir Boulahtit
2026-03-06 23:45:03 +01:00
-
27802e47c2
feat(i18n): add missing fr/de/lb translations for 6 email templates
Samir Boulahtit
2026-03-06 23:31:45 +01:00
-
14d5ff97f3
fix(prospecting): add missing pagination computed properties to JS components
Samir Boulahtit
2026-03-06 23:27:46 +01:00
-
b9b8ffadcb
fix(prospecting): add missing /prospecting prefix and fix broken template macros
Samir Boulahtit
2026-03-06 23:23:09 +01:00
-
31ced5f759
fix(docker): fix flower and redis-exporter healthchecks
Samir Boulahtit
2026-03-06 23:17:47 +01:00
-
802cc6b137
refactor(templates): migrate 5 admin pages to shared entity selector macros
Samir Boulahtit
2026-03-06 23:11:58 +01:00
-
45260b6b82
feat(admin): separate platform CRUD from CMS, add entity selector macro
Samir Boulahtit
2026-03-06 22:40:15 +01:00
-
fa758b7e31
fix(i18n): use get_translated_description() in platform base template
Samir Boulahtit
2026-03-05 19:50:14 +01:00
-
a099bfdc48
docs(deployment): add git pull step to full reset procedure
Samir Boulahtit
2026-03-05 19:34:40 +01:00
-
cb9a829684
fix(tests): add main platform fixture to store dashboard tests
Samir Boulahtit
2026-03-05 17:28:46 +01:00