0000000000000000000000000000000000000000 076e3557d7729958b6fbfb1f1b97d3f2df0d738a Igor Vinogradov 1783710101 +0300 commit (initial): POC of a Latvian car-parts price comparator (M1-M3) 076e3557d7729958b6fbfb1f1b97d3f2df0d738a 432ff27c99c23cbce9ceb2ff878458488b962c58 Igor Vinogradov 1783711921 +0300 commit: M4: add EOLTAS.lv store; abandon headless Tier-2 path 432ff27c99c23cbce9ceb2ff878458488b962c58 549654463bcd86275fcc0aa0d8b631b246a163e8 Igor Vinogradov 1783748537 +0300 commit: Add carparts.lv store (single-call TecDoc JSON API) 549654463bcd86275fcc0aa0d8b631b246a163e8 b480edbe56aafbb0a41c24c3e170ae5bb15d94d1 Igor Vinogradov 1783754246 +0300 commit: Document M4 store-viability round (5 candidates investigated) b480edbe56aafbb0a41c24c3e170ae5bb15d94d1 104c3f039a7370810ee4b9ea0102db58350b48f8 Igor Vinogradov 1783757186 +0300 commit: Add handler.lv store (5th) via its open marketplace API 104c3f039a7370810ee4b9ea0102db58350b48f8 104c3f039a7370810ee4b9ea0102db58350b48f8 Igor Vinogradov 1783929499 +0300 checkout: moving from main to feat/walled-stores-and-ic24 104c3f039a7370810ee4b9ea0102db58350b48f8 b9b45e7d04901db78c60cfe9e241eb4e4fa3d62b Igor Vinogradov 1783929499 +0300 commit: Add walled/browser-routed store subsystem + ic24; fetch all stores at once b9b45e7d04901db78c60cfe9e241eb4e4fa3d62b 104c3f039a7370810ee4b9ea0102db58350b48f8 Igor Vinogradov 1783929543 +0300 checkout: moving from feat/walled-stores-and-ic24 to main 104c3f039a7370810ee4b9ea0102db58350b48f8 b9b45e7d04901db78c60cfe9e241eb4e4fa3d62b Igor Vinogradov 1783929543 +0300 merge feat/walled-stores-and-ic24: Fast-forward b9b45e7d04901db78c60cfe9e241eb4e4fa3d62b a90d9f240b06c847a1ab8f070780603b61649d7e Igor Vinogradov 1783940507 +0300 commit: Single-source API contract: shared/contract.ts, structured inStock, error codes a90d9f240b06c847a1ab8f070780603b61649d7e 2c2be7fcf17ccda2db5db83599834930874638e8 Igor Vinogradov 1783940957 +0300 commit: PoliteHttp: serialize per-store requests, refine breaker policy, add tests 2c2be7fcf17ccda2db5db83599834930874638e8 736bbfa3c8dd53dcce30a7f00bd8ca4bc0308c93 Igor Vinogradov 1783941032 +0300 commit: Cache: validate reads against OfferSchema; drop the frontend's stale-shape workaround 736bbfa3c8dd53dcce30a7f00bd8ca4bc0308c93 b18460aafd1ffe29990e907b042728168debb198 Igor Vinogradov 1783941137 +0300 commit: Frontend: survive /api/stores failure, abort superseded searches b18460aafd1ffe29990e907b042728168debb198 3078788299aec1fe78cc1bc7dafcbb86cd29c1cc Igor Vinogradov 1783941681 +0300 commit: Composition root: config module, FetchContext DI, one sqlite handle, graceful shutdown 3078788299aec1fe78cc1bc7dafcbb86cd29c1cc e742686e6777d62f951939ab0d2e3ef3fd305628 Igor Vinogradov 1783941705 +0300 commit (amend): Composition root: config module, FetchContext DI, one sqlite handle, graceful shutdown e742686e6777d62f951939ab0d2e3ef3fd305628 785c9a2fd0cb0ef2ee3a7116416e3f5429ca31b7 Igor Vinogradov 1783941862 +0300 commit: Validate route inputs with Fastify schemas 785c9a2fd0cb0ef2ee3a7116416e3f5429ca31b7 497063880f97fc966a3464b8c25c8498779541aa Igor Vinogradov 1783941993 +0300 commit: Adapters: shared validPrice/lazyImageUrl helpers, consistent price handling 497063880f97fc966a3464b8c25c8498779541aa 7c8f607685f61ffb6526127b1bbd0414542e7f39 Igor Vinogradov 1783942184 +0300 commit: Extract variant grouping into a pure, tested module 7c8f607685f61ffb6526127b1bbd0414542e7f39 8cf98efc35b546c5f86a958a7e5febb2b3349ea6 Igor Vinogradov 1783942234 +0300 commit: Tests: SearchService outcome mapping 8cf98efc35b546c5f86a958a7e5febb2b3349ea6 55b4fab14b8d38e89743b44d9b9611f49bbcbb65 Igor Vinogradov 1783943042 +0300 commit: Tooling: ESLint (backend + angular-eslint), CI workflow, root README, a11y polish 55b4fab14b8d38e89743b44d9b9611f49bbcbb65 b28f1f8283c833b28e01c619bbe0632a92acbc71 Igor Vinogradov 1784034496 +0300 commit: Add persistent purchase planning and offer refresh b28f1f8283c833b28e01c619bbe0632a92acbc71 d681939ea64d5f18ea2f658388f10807819dec3a Igor Vinogradov 1784100193 +0300 commit: Docs: open-source distribution strategy, standalone app & adapter-set plans d681939ea64d5f18ea2f658388f10807819dec3a b0f1015a69286c1d9fb3bba0d4c812557878bec3 Igor Vinogradov 1784102676 +0300 commit: Implement standalone app phase A seams b0f1015a69286c1d9fb3bba0d4c812557878bec3 55fcc16139fd452d013177001b8008cd1551d235 Igor Vinogradov 1784104795 +0300 commit: Validate Electron browser compatibility 55fcc16139fd452d013177001b8008cd1551d235 190f8bde74341ae0a05d1f4dfa83133c5633f933 Igor Vinogradov 1784106923 +0300 commit: Implement standalone app phase C engine 190f8bde74341ae0a05d1f4dfa83133c5633f933 4239ea58d16d36348989384b699f5e1b5f4dea67 Igor Vinogradov 1784115520 +0300 commit: Implement Electron desktop distribution 4239ea58d16d36348989384b699f5e1b5f4dea67 0609fb92ac5c3e7df8e648de80407243bbedcb9a Igor Vinogradov 1784122069 +0300 commit: Implement desktop packaging and updates 0609fb92ac5c3e7df8e648de80407243bbedcb9a 293addd143429f1bcdfe0cfcf5669853c8628c1d Igor Vinogradov 1784131093 +0300 commit: Validate Android distribution feasibility 293addd143429f1bcdfe0cfcf5669853c8628c1d 64f8e84a0d0991e92ad787fd92470d9b0ff82fe0 Igor Vinogradov 1784186213 +0300 commit: feat: complete Phase G Android app 64f8e84a0d0991e92ad787fd92470d9b0ff82fe0 f53abdd95bf9ead8dacb20d2d61e2106afdface8 Igor Vinogradov 1784192728 +0300 commit: Adapt application shell for native platforms f53abdd95bf9ead8dacb20d2d61e2106afdface8 396be132b46a760aed0b4f513ad0f8c8ad3db579 Igor Vinogradov 1784201731 +0300 commit: Fix desktop challenge session handling 396be132b46a760aed0b4f513ad0f8c8ad3db579 522250cf5b0373d249b2506254259a9d2650d7fc Igor Vinogradov 1784271375 +0300 commit: feat: add persistent search history 522250cf5b0373d249b2506254259a9d2650d7fc 362a007cde9280ecf8d969bc0e668dd87337281e Igor Vinogradov 1784292730 +0300 commit: fix shell scrollbar and add glass header 362a007cde9280ecf8d969bc0e668dd87337281e cdcf21e8cce24a534a88e324ff519dcd2f7d5927 Igor Vinogradov 1784397709 +0300 commit: fix: harden store challenge handling and diagnostics cdcf21e8cce24a534a88e324ff519dcd2f7d5927 b034a9b7cbec62e4e59ac5c5a7f1ae5267a74251 Igor Vinogradov 1784635026 +0300 commit: Add mobile store progress bottom sheet b034a9b7cbec62e4e59ac5c5a7f1ae5267a74251 48207afe962f45b23d9e9537b57c8bb5dbeae444 Igor Vinogradov 1784635917 +0300 commit: Refactor frontend into feature components 48207afe962f45b23d9e9537b57c8bb5dbeae444 186d422bd25fbaf749da8d31d35e7283baf8b3a5 Igor Vinogradov 1784710522 +0300 commit: Add localized settings and diagnostics