giles
3b24cf45e5
Add PYTHONPATH=/app so Hypercorn spawn workers find app module
...
Build and Deploy / build-and-deploy (push) Successful in 1m40s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 14:01:33 +00:00
giles
a6ed49d0c1
Update shared submodule: rename logging → log_config
...
Build and Deploy / build-and-deploy (push) Successful in 1m19s
Fixes stdlib logging shadow that caused circular import in Docker.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 13:55:51 +00:00
giles
62000256aa
Replace shared_lib submodule with shared for decoupling deploy
...
Build and Deploy / build-and-deploy (push) Successful in 1m11s
- Swap shared_lib submodule → shared (tracking decoupling branch)
- Dockerfile: shared_lib/ → shared/, remove bp symlink hack
- CI: trigger on decoupling branch, use dynamic ref_name
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 13:29:25 +00:00
giles
079293eb2c
fix: update market template to use container refs, add config
...
- Template uses m.page.slug instead of m.post.slug
- Add app-config.yaml
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 12:50:48 +00:00
giles
478636f799
feat: decouple market from shared_lib, add app-owned models
...
Phase 1-3 of decoupling:
- path_setup.py adds project root to sys.path
- Market-owned models in market/models/ (market, market_place)
- All imports updated: shared.infrastructure, shared.db, shared.browser, etc.
- MarketPlace uses container_type/container_id instead of post_id FK
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 12:46:32 +00:00
giles
41b4e0fe24
fix: remove existing bp dir before symlinking in Dockerfile
...
Build and Deploy / build-and-deploy (push) Successful in 48s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 01:08:09 +00:00
giles
b8f57ef92f
fix: register cart loader so g.cart is available for product cart route
...
Build and Deploy / build-and-deploy (push) Successful in 35s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 00:52:29 +00:00
giles
20fde958ec
fix: correct endpoint name to market.browse.product.cart
...
Build and Deploy / build-and-deploy (push) Successful in 38s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 00:41:00 +00:00
giles
9ee0c91106
fix: use url_for for cart/product URLs to include page/market slugs
...
Build and Deploy / build-and-deploy (push) Successful in 35s
market_url() generates URLs without the /<page_slug>/<market_slug>
prefix, causing 405 on POST /cart. url_for() auto-injects the slugs
via url_defaults.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 00:30:02 +00:00
giles
fd205b9b61
fix: inject post data via blueprint context processor
...
Build and Deploy / build-and-deploy (push) Successful in 33s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 00:17:13 +00:00
giles
2788e24ec8
fix: inject post data into template context for post header row
...
Build and Deploy / build-and-deploy (push) Successful in 36s
The post header bar needs `post` in the template context to render
the page link, feature image, and nav. Added context processor to
spread g.post_data into templates, matching the events app pattern.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-11 00:12:35 +00:00
giles
863429d51b
fix: add post header bar to market pages and show market name
...
Build and Deploy / build-and-deploy (push) Successful in 36s
- Add post header row to market/index.html template chain
- Fix OOB templates to include post header on HTMX navigation
- Show market name instead of static coop_title in header
- Restore trailing slash on POST /cart/ route; fix templates to
include trailing slash in cart URLs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 23:55:16 +00:00
giles
93e1e6d41e
fix: remove trailing slash from POST /cart route
...
Build and Deploy / build-and-deploy (push) Successful in 39s
Templates generate URLs without trailing slash via market_url(), but
the route required one. POST requests don't get redirected by Werkzeug,
causing a 405 MethodNotAllowed.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 23:52:25 +00:00
giles
7065acb94d
chore: move repo to ~/rose-ash/ and add configurable CI paths
...
Build and Deploy / build-and-deploy (push) Successful in 47s
REPO_DIR points to /root/rose-ash/market, COOP_DIR to /root/coop.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 22:05:42 +00:00
giles
9fb26129b6
chore: update shared_lib submodule to Phase 4
...
Build and Deploy / build-and-deploy (push) Successful in 1m8s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 21:47:46 +00:00
giles
6a378a2425
fix: use cart_url() instead of url_for('cart.view_cart') for cross-app redirect
...
Build and Deploy / build-and-deploy (push) Successful in 57s
The market app doesn't have a cart blueprint registered, so url_for()
would fail. Uses the cross-app cart_url() helper instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 21:45:54 +00:00
giles
6459e2406e
chore: update shared_lib submodule to Phase 3
...
Build and Deploy / build-and-deploy (push) Successful in 33s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 20:54:19 +00:00
giles
ce1847e06c
feat: set market_place_id on CartItem when adding to cart (Phase 3)
...
Track which market a cart item came from by setting market_place_id
from g.market.id on new CartItem creation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 20:49:37 +00:00
giles
98abe5a0de
fix: rename post slug URL param to page_slug to avoid collision
...
Build and Deploy / build-and-deploy (push) Successful in 39s
The market blueprint already uses <slug> for product routes,
so the app-level prefix uses <page_slug> instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 20:20:49 +00:00
giles
6202b31e8e
fix: nest market blueprint under post slug /<slug>/<market_slug>/
...
Build and Deploy / build-and-deploy (push) Successful in 43s
Market app now follows the events app pattern — URLs include
the post slug prefix (e.g. /market/suma-market/). Hydrate
loads both post and market, verifying market belongs to post.
Scraper default URLs updated accordingly.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 20:15:45 +00:00
giles
b831d01113
chore: update shared_lib submodule
...
Build and Deploy / build-and-deploy (push) Successful in 39s
Market top menu link now goes to coop blog page.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 20:08:06 +00:00
giles
2a1ef78653
chore: update shared_lib submodule
...
Build and Deploy / build-and-deploy (push) Successful in 37s
Picks up market links in post nav entries template.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 20:01:00 +00:00
giles
33a30bef06
fix: remove duplicate market_slug in blueprint registration
...
Build and Deploy / build-and-deploy (push) Successful in 41s
The url_prefix was being set both in register_market_bp() and
app.register_blueprint(), causing a SyntaxError from duplicate
route parameter.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 18:26:26 +00:00
giles
803a1d44e0
chore: update shared_lib submodule for MarketPlace model
...
Build and Deploy / build-and-deploy (push) Successful in 38s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 18:16:28 +00:00
giles
9b2687b039
feat: restructure market app with per-market URL scoping
...
Build and Deploy / build-and-deploy (push) Successful in 41s
- URL structure changes from /<route> to /<market_slug>/<route>
- Root / shows markets listing page
- app.py: url_value_preprocessor, url_defaults, hydrate_market (events app pattern)
- Browse queries (db_nav, db_products_nocounts, db_products_counts) accept market_id
- _productInfo reads g.market.id to scope all queries
- save_nav accepts market_id, sets on new NavTop rows
- API save_nav passes g.market.id
- Scraper default URLs point to /suma-market/ on port 8001
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 18:08:48 +00:00
giles
6a266bd94d
chore: update shared_lib (fix settings cog visibility)
...
Build and Deploy / build-and-deploy (push) Successful in 43s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 13:23:05 +00:00
giles
c6dbbcac52
chore: update shared_lib (fix stale blog.post.calendars refs)
...
Build and Deploy / build-and-deploy (push) Successful in 42s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 13:03:37 +00:00
giles
d743c69eec
chore: update shared_lib (remove console.log)
...
Build and Deploy / build-and-deploy (push) Successful in 42s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 11:51:41 +00:00
giles
a6471c0412
chore: update shared_lib submodule
...
Build and Deploy / build-and-deploy (push) Successful in 34s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 10:55:15 +00:00
giles
21e1db4b5d
chore: update shared_lib submodule (post slug in events_url paths)
...
Build and Deploy / build-and-deploy (push) Successful in 35s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 10:37:01 +00:00
giles
ac3ed87351
chore: update shared_lib submodule
...
Build and Deploy / build-and-deploy (push) Successful in 35s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 09:40:54 +00:00
giles
88c38c0e74
fix: add cart identity stub for product blueprint
...
Build and Deploy / build-and-deploy (push) Successful in 40s
Product routes lazily import current_cart_identity from cart.services.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 01:18:53 +00:00
giles
efe769a0fc
fix: add cart services stub for product blueprint dependency
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Product routes import total() from cart.services — provide a minimal
copy so the market image can start independently.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 01:16:00 +00:00
giles
601a696ecb
fix: add register_product to bp/__init__.py (needed by browse)
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 00:34:39 +00:00
giles
e737a953a6
fix: add proper register_market_bp export to bp/__init__.py
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 00:28:46 +00:00
giles
b129986078
fix: add bp symlink in Dockerfile for suma_browser.app.bp import path
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 00:24:19 +00:00
giles
14c72b868a
fix: Dockerfile, entrypoint, and CI for multi-repo deployment
...
Build and Deploy / build-and-deploy (push) Has been cancelled
- Fix requirements.txt path to shared_lib/requirements.txt
- Remove alembic migrations (managed by blog service)
- Fix APP_MODULE default to app:app
- CI: add git submodule update, deploy shared coop stack from /root/coop
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 00:14:03 +00:00
giles
dc7c989834
feat: add shared library as git submodule
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 23:41:50 +00:00
giles
6271a715a1
feat: initialize market app with browsing, product, and scraping code
...
Build and Deploy / build-and-deploy (push) Has been cancelled
Split from coop monolith. Includes:
- Market/browse/product blueprints
- Product sync API
- Suma scraping pipeline
- Templates for market, browse, and product views
- Dockerfile and CI workflow for independent deployment
2026-02-09 23:16:34 +00:00