-
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
-
c4e9e4e646
fix(seed): use SQLAlchemy .is_not(None) instead of Python 'is not None' in queries
Samir Boulahtit
2026-03-04 23:55:00 +01:00
-
8c449d7baa
docs(deployment): add full network architecture diagram
Samir Boulahtit
2026-03-04 23:41:54 +01:00
-
820ab1aaa4
feat(i18n): add multilingual platform descriptions and HostWizard demo data
Samir Boulahtit
2026-03-04 23:38:52 +01:00
-
2268f32f51
docs(security): update Hetzner guide with all security hardening for rebuild
Samir Boulahtit
2026-03-04 23:33:53 +01:00
-
b68d542258
fix(security): harden Redis auth, restrict /metrics, document Gitea port fix
Samir Boulahtit
2026-03-04 23:15:15 +01:00
-
a7392de9f6
fix(security): close exposed PostgreSQL and Redis ports (BSI/CERT-Bund report)
Samir Boulahtit
2026-03-04 22:31:07 +01:00
-
3c7e4458af
fix(i18n): translate pricing tiers, features, and content pages
Samir Boulahtit
2026-03-04 07:48:15 +01:00
-
8b147f53c6
feat(hosting): add HostWizard platform module and fix migration chain
Samir Boulahtit
2026-03-03 19:34:56 +01:00
-
784bcb9d23
docs(i18n): document CMS template translations and multi-language content pages
Samir Boulahtit
2026-03-03 18:00:00 +01:00
-
b8aa484653
feat(i18n): complete post-launch i18n phases 5-8
Samir Boulahtit
2026-03-03 05:50:06 +01:00
-
05c53e1865
docs(deployment): add verified full reset procedure to Hetzner guide
Samir Boulahtit
2026-03-01 23:21:52 +01:00
-
6dec1e3ca6
fix(ops): add missing env_file to celery-beat and quiet Stripe log spam
Samir Boulahtit
2026-03-01 22:33:54 +01:00
-
f631283286
docs(deployment): update memory limits and celery concurrency across all guides
Samir Boulahtit
2026-03-01 22:21:25 +01:00
-
f631322b4e
fix(ops): rebalance container memory limits to prevent celery OOM kills
Samir Boulahtit
2026-03-01 22:15:35 +01:00
-
e61e02fb39
fix(redis): configure maxmemory and eviction policy to prevent OOM
Samir Boulahtit
2026-03-01 17:57:38 +01:00
-
b5b73559b5
refactor(platform): make base template fully CMS-driven and platform-aware
Samir Boulahtit
2026-03-01 17:41:24 +01:00
-
28dca65a06
fix(cms): filter pricing tiers by platform_id on homepage
Samir Boulahtit
2026-03-01 13:09:34 +01:00
-
adbecd360b
feat(cms): CMS-driven homepages, products section, placeholder resolution
Samir Boulahtit
2026-03-01 12:12:20 +01:00
-
ef9ea29643
feat: module-driven onboarding system + simplified 3-step signup
Samir Boulahtit
2026-02-28 23:39:42 +01:00
-
f8a2394da5
fix: replace missing 'envelope' icon with 'mail' across modules
Samir Boulahtit
2026-02-28 21:53:40 +01:00
-
4d07418f44
fix(prospecting): replace missing icons with available registry icons
Samir Boulahtit
2026-02-28 19:23:02 +01:00
-
bf64f82613
docs: add prospecting module pages to mkdocs nav
Samir Boulahtit
2026-02-28 19:18:55 +01:00