Issues

Report bugs and request features to help improve the platform.

2

GDPR / Email Compliance for Legacy User Outreach

In Progress

## Problem We plan to email up to 39K legacy users who signed up 8–14 years ago on salon.io. Under GDPR (EU users are the majority), we need a compliant basis for contacting them. ## Requirements ### Legal Basis - **Legitimate interest** (Art. 6(1)(f) GDPR) is the most viable basis — we have an existing customer relationship and are informing them about a successor service for their data/content. - Document the legitimate interest assessment (LIA) before sending. ### Email Content Requirements - Every email must include a working **unsubscribe link** (one-click, per CAN-SPAM and GDPR) - Every email must link to the **privacy policy**: https://docs.salon.io/docs/en/legal/privacy - Every email must link to the **terms of service**: https://docs.salon.io/docs/en/legal/terms - Emails must clearly identify the sender (salon.io / New Salon, Stefan) - Physical address in footer (required by CAN-SPAM, good practice for GDPR) ### Technical Requirements - Resend supports one-click unsubscribe headers (List-Unsubscribe) - CRM must track unsubscribe status — never re-email someone who unsubscribed - SPF/DKIM/DMARC must be configured on sending domain before any volume send - Bounce handling: remove hard bounces from future sends ### Tiered Send Strategy (Risk Mitigation) - **Test batch**: 10 emails to known addresses — verify deliverability - **Tier 1**: 210 VIP users — warm, engaged, low risk - **Tier 2–6**: Graduated sends per [Kickfund PRD](https://docs.salon.io/docs/en/legal/terms) - **Tier 8**: 32K bulk send — only after earlier tiers prove deliverability and low complaint rates - Monitor spam complaint rate: stay under 0.1% (Google/Yahoo requirement) ### Data Handling - Legacy user emails stored in MongoDB (CRM). Do not export to third-party tools without DPA. - Users who migrate to New Salon consent to new [Terms](https://docs.salon.io/docs/en/legal/terms) and [Privacy Policy](https://docs.salon.io/docs/en/legal/privacy) during signup/account linking. - Provide data export/deletion path for legacy users who request it (GDPR Art. 15/17) ## Acceptance Criteria - [ ] Legitimate Interest Assessment documented - [ ] Unsubscribe mechanism working in Resend - [ ] CRM tracks unsubscribe status per user - [ ] SPF/DKIM/DMARC verified on sending domain - [ ] Email templates include: unsubscribe link, privacy policy link, terms link, physical address - [ ] Bounce handling configured - [ ] Test batch sent and verified before Tier 1

#43 opened by pew16 days ago
0
2

[editor] Mux video uploads

Planned

- Upload API: signed URLs for direct browser-to-Mux upload - Upload UI: drag-drop in VideoEditPanel, progress bar, processing status - Playback: HLS adaptive streaming, poster/thumbnail, autoplay/loop/muted controls - Tier gating: Free=0, Basic=5, Premium=25, Pro=unlimited **Files:** `src/components/editor/VideoEditPanel.tsx`, new `src/lib/mux.ts`, new `app/api/video/upload/route.ts`

#26 opened by SALabout 1 month ago
0
2

[migration] Fix fixed-width layout mapping and import all i18n versions

In Progress

- Account for legacy `margin-right`, `padding` values when calculating column config - Map legacy `fixedwidthconfig` gap/margin to new column layout gutter setting - Preserve visual density (e.g. 3 items at 300px with 10px gap on 960px container = 3 columns with 10px gutter) - Import ALL i18n language variants (currently only imports German preferentially) - Set `default_language` from legacy user language field, `languages` array from found content **Files:** `app/api/migration/import-stream/route.ts`, `src/lib/legacy-layout-mapper.ts`

#22 opened by SALabout 1 month ago
0
1

Slideshow playback is unreliable (does not start or stops prematurely)

Open

The slideshow mode does not run reliably. In some cases, the slideshow does not start at all. In other cases, it starts but stops after a few images (e.g. after 2–3 slides). This issue occurs inconsistently and affects both desktop and mobile devices.

#47 opened by benjakon4 days ago
0
1

[billing] Enable Stripe Tax for EU VAT compliance

Planned

Enable automatic_tax in Stripe checkout sessions. Requires EU OSS registration. Add tax_id_collection for B2B reverse charge. Full checklist in docs/ongoing/TAX-AND-PAYMENTS-PLAN.md (all items unchecked). Split from #14 — tier enforcement is complete, Tax is not started.

#42 opened by SAL7 days ago
0
1

Public User Profile Page

Planned

Public-facing user profile page. Frontend design penned out in new-salon-app/new-salon-profile.pen.

#40 opened by SAL12 days ago
0
1

Consolidated Onboarding & Legacy User Migration (LUM) Process

In Progress

starting from the request invite flow, the admin invite flow, the user invites users flow, user questionaire etc. we need "Complete your Profile" Message Complete your Profile make users aware of profile customisation. "You can customise your profile now or do it later." Migration -Emails, communication angle: "Claiming your unique username now is a smart move, though!" update Migration Dashboard http://localhost:3006/legacy/migration-status Migration Status Dashboard add email campaign features from http://localhost:3006/legacy/overdue to Migration Status Dashboard make sure legacy user are identified and are allowed to claim their legacy username and member status as a site tier. legacy user badge. member since remember legacy join date. so we can show on user profle , e.g. "Joined January 2013" we already have very elaborated migration process and legacy salon api on username/settings/migration this should evolve or sync with legacy user account claim process

#38 opened by SAL12 days ago
1
1

Salon Editor. Better Message/Modal when user creates page with existing slug

Open

user: "trying to create a page called "home" gives error, probably because internally you have home by default"

#36 opened by SAL12 days ago
0
1

Add a "Newsletter" block type

In Progress

New block type with a simple email input + submit button Stores the Mailchimp list URL in block settings Posts directly to Mailchimp's form action URL (no API key needed) Gives you styling control that matches the site theme Requires: new block type in src/types/blocks.ts, renderer, editor UI

#32 opened by SAL18 days ago
1
1

Affiliate Program — "New Salon Partners"

Planned

## Summary Implement an affiliate/referral program that turns paying customers into a scalable growth channel. The program — called "New Salon Partners" — lets any paying customer earn 20% recurring commissions for 12 months on referred subscriptions, with partner perks and milestone rewards. ## Program Structure **Eligibility:** Any paying customer (Basic, Premium, Pro, or Pro Lifetime) with at least one active subscription. No application process — auto-eligible. **Commission Model: 20% Recurring for 12 Months** | Detail | Value | |---|---| | Rate | 20% of referred customer's subscription revenue | | Type | Recurring — pays on every successful renewal | | Duration | 12 months from referred customer's first payment | | Cookie window | 90 days | | Attribution | Last-click with referral code override | **Revenue per Referral:** | Referred Tier | Monthly Commission | Total over 12 months | |---|---|---| | Basic (€10/mo) | €2/mo | €24 | | Premium (€20/mo) | €4/mo | €48 | | Pro (€40/mo) | €8/mo | €96 | | Pro Lifetime (€399-499) | €79.80-99.80 (one-time) | €79.80-99.80 | **Payouts:** €25 minimum threshold, monthly on the 15th. Options: PayPal, bank transfer, or account credit. **Tier Bonuses:** Pro/Pro Lifetime affiliates get 25% commission instead of 20%. ## Partner Perks | Perk | Requirement | |---|---| | Partner badge on profile | Any paid tier | | Referral dashboard | Any paid tier | | Early access to features | 5+ referrals | | Partner directory listing | 10+ referrals | | Priority support | 10+ referrals | | Annual partner spotlight | Top 10 partners | ## Milestone Rewards | Milestone | Reward | |---|---| | First referral | Welcome Partner email + badge | | 5 paying referrals | 1 month free on current tier | | 10 paying referrals | Lifetime "Founding Partner" badge + directory listing | | 25 paying referrals | Free upgrade to next tier for 6 months | | 50 paying referrals | Pro Lifetime granted | ## Implementation Plan ### Phase 1: Launch with Rewardful (Pre-Launch → Launch Day) - Sign up for Rewardful ($49/mo), connect Stripe, configure 20%/12mo/90-day - Add Rewardful tracking script + Stripe checkout metadata integration - Update `/{username}/settings/invite` with referral link and basic stats - Create `/partners` landing page ### Phase 2: Custom Build (when 50+ active affiliates) - Full custom solution with Supabase tables (`affiliates`, `referral_conversions`, `affiliate_payouts`, `referral_clicks`) - Integrated dashboard in settings, partner badges, milestone automation - Stripe webhook integration for automatic commission tracking ## Revenue Impact (Conservative Estimate, Year 1) - 20 active affiliates × 3 referrals each = 60 new paying customers - Annual revenue from referrals: €10,800 - Commission cost: €2,160 + €540 (Rewardful) - **Net revenue gain: €8,100** ## Competitor Comparison | Platform | Commission | Type | Cookie | |---|---|---|---| | Squarespace | $100-200 | One-time | 30 days | | Wix | $100 | One-time | 30 days | | Webflow | 50% | Recurring, 12 months | 90 days | | **New Salon** | 20% | Recurring, 12 months | 90 days | *Full spec: `new-salon-app/docs/ongoing/AFFILIATE-PROGRAM-PLAN.md`*

#29 opened by SAL23 days ago
0
1

SLN Phase 1: Internal Credit Ledger System

Planned

## Summary Implement the SLN credit economy as an internal ledger on Supabase. This is Phase 1 of the SAL Protocol — a launch-ready credit system with zero blockchain dependency. Users see "credits" or "SLN balance" while the underlying mechanics are forward-compatible with on-chain settlement in later phases. ## Key Details **Exchange Rate:** Fixed at 1000 SLN = €10 (1 SLN = €0.01) **Onboarding:** New users receive +100 SLN (~€1.00) on email confirmation, plus 5 invite slots. **Invite System:** - Sending an invite costs 20 SLN - When invitee publishes a site: inviter gets +100 SLN (5x return) - When invitee upgrades to Basic: inviter gets +500 SLN bonus + 200 SLN commission - When invitee upgrades to Premium/Pro: inviter gets +1000 SLN bonus + 400-800 SLN commission - Maximum return per invite: 1,600 SLN on 20 SLN investment (80x) **Commission on Upgrades:** 20% of the subscription's first payment, converted to SLN at fixed rate. Recurring commissions deferred to Phase 2. **Spending SLN (at launch):** - Send invite: 20 SLN - Apply as subscription discount: 1:1 at €0.01/SLN - Upgrade to Basic Monthly: 1000 SLN - Cash out: Min 1000 SLN (€10), PayPal or bank transfer, manual review, monthly **Credit Expiry:** 24 months of account inactivity (no login) ## Database Changes - Extend `user_profiles` with `sln_balance`, `invite_slots_total`, `invite_slots_used` - New table: `sln_transactions` (full double-entry ledger with type, amount, balance_after) - New table: `sln_cashout_requests` (manual payout queue) - Extend `invite_requests` with inviter tracking - Atomic `credit_sln` RPC function for all balance mutations - Daily reconciliation query to verify balance integrity ## New API Routes | Route | Method | Purpose | |---|---|---| | `/api/sln/balance` | GET | Current SLN balance and slot count | | `/api/sln/transactions` | GET | Paginated transaction history | | `/api/sln/cashout` | POST | Submit cash-out request | | `/api/sln/apply-discount` | POST | Calculate SLN discount for checkout | | `/api/admin/sln/cashouts` | GET | Pending cash-out requests (admin) | | `/api/admin/sln/cashouts/[id]` | PATCH | Approve/reject cash-out | | `/api/admin/sln/adjust` | POST | Manual balance adjustment | ## Integration Points 1. **Signup flow** — +100 SLN on email confirmation 2. **Invite flow** — SLN debit on send, reward on invitee site publish 3. **Stripe webhook** — Commission on referred user's first subscription payment 4. **Checkout flow** — SLN discount support with atomic debit on payment confirmation 5. **Settings page** — Replace invite placeholder with full balance/transaction/cashout UI ## Phase 2 Migration Path Phase 1 Supabase ledger maps 1:1 to Phase 2 on-chain (BSV-20 SLN tokens). User balances minted as tokens, transaction history archived, UI stays the same. Only visible change is a wallet connection step. *Full spec: `new-salon-app/docs/ongoing/SLN-PHASE-1-INTERNAL-LEDGER.md`*

#28 opened by SAL23 days ago
0
1

Textblock Edit Panel Update

Open

enhance the ui for the image block settings panel

#27 opened by Peter Langmacher29 days ago
0
1

[editor] Sections as collections of any tagged asset type

In Progress

- Extend CollectionConfig with `collectionSource`: pages / images / text / video / all - Collection rendering per source type: pages as page cards, images as masonry grid, text as list, video as video grid - Extend `CollectionSettings.tsx` with source type selector - Preview count updates live - Add to collection shortcut from asset gallery (tag assignment) **Files:** `src/components/salon/editor/CollectionSettings.tsx`, `src/types/blocks.ts`, `src/hooks/use-collection.ts`

#23 opened by SALabout 1 month ago
0
1

[platform] Landing page overhaul

Planned

- Redesign hero with clearer value proposition for creative professionals - Showcase real user sites (pull from actual published sites) - Per-site pricing calculator with interactive slider - Migration CTA for legacy salon.io users - Mobile-first responsive design **Files:** `src/components/landing/NewSalonLanding.tsx`

#24 opened by SALabout 1 month ago
0
1

[migration] Import logo, navigation style, collections, captions

Planned

- Import site logo from legacy profile (`header_image`, `logo` field) - Translate legacy nav styles: horizontal, vertical to sidebar, center to horizontal-centered, none to horizontal - Import navigation colors and font settings - Detect legacy filtered pages and create collection-enabled sections with tag filters - Full caption import from `asset.title` and `i18n.[lang].title` (not just alt text) **Files:** `app/api/migration/import-stream/route.ts`, `src/lib/migration/legacy-service.ts`

#21 opened by SALabout 1 month ago
0
1

[editor] Refactor and polish Image + Text edit panels

In Progress

- ImageEditPanel (62KB) extract into sub-components - TextEditPanel (70KB) extract into sub-components - Consistent UX: crop/resize, caption editing, alt text, formatting toolbar - Style preset picker more prominent in text panel - Cross-project section copy (user feedback) - Image opacity control (user feedback) **Files:** `src/components/editor/ImageEditPanel.tsx`, `src/components/editor/TextEditPanel.tsx`

#16 opened by SALabout 1 month ago
0
1

[editor] Asset tagging - tags on images, text, and video

In Progress

- Database: create `tags` + `asset_tags` join tables (normalized approach) - Add TagInput to image, text, and video edit panels - Asset gallery: tag display on thumbnails, filtering by tag, bulk tag assignment - Tag cloud of used tags - Sort by tag, date, size, name **Files:** Supabase migration, `ImageEditPanel.tsx`, `TextEditPanel.tsx`, `VideoEditPanel.tsx`, `AssetGallery.tsx`

#19 opened by SALabout 1 month ago
0
1

[billing] Redesign pricing page for per-site model

Planned

- Rewrite `PricingPage.tsx` with per-site calculator - "How many sites do you need?" slider showing monthly total - First site full price, additional sites at 50% - Lifetime Pro section: early bird 399 / regular 499, 2 Pro sites included **Files:** `src/components/landing/PricingPage.tsx`

#15 opened by SALabout 1 month ago
0
1

[editor] Custom theme editing - colors, fonts, per-section overrides

In Progress

- Expand SiteThemeSelector from presets-only to custom editing - Allow editing individual colors within a preset (primary, secondary, accent, background, text) - Typography presets: Google Fonts subset (20-30 curated fonts), font size scale selector - Per-section style overrides (color scheme, font override) - Live preview as colors/fonts change **Files:** `src/components/theme/SiteThemeSelector.tsx`, `src/types/site-theme.ts`

#17 opened by SALabout 1 month ago
0
1

[billing] Stripe Tax + per-site tier enforcement

Planned

- Enable Stripe Tax for EU VAT compliance (needs EU OSS registration) - Update `tier-enforcement.ts` to read `websites.tier` instead of `user_profiles.tier` - Webhook handler to update `websites.tier` on subscription changes **Files:** `src/lib/tier-enforcement.ts`, `app/api/webhooks/stripe/route.ts`

#14 opened by SALabout 1 month ago
0
1

auto hide navigation

Open

allow Navigation to hide automatically. expand on hoover.

#13 opened by benjakonabout 1 month ago
0
1

Node Based Salon Generator

Open

bases on vercel's workflow builder, inspired by vuo

#2 opened by SAL4 months ago
2
0

Preserve scroll position when switching between edit and view mode

Open

Description: When switching between edit and view mode, the page automatically jumps back to the top. This interrupts the workflow, especially when working on longer pages, as the user has to manually scroll back to the previous position each time. Suggested solution: Preserve the current scroll position when switching between edit and view mode. Benefit: This would create a smoother and more efficient workflow, especially for longer pages, by maintaining context and reducing unnecessary navigation. Optional enhancement: Make this behavior configurable (e.g. “preserve scroll position” vs. “always scroll to top”), allowing users to choose the behavior that best fits their workflow.

#52 opened by benjakon2 days ago
0
0

Support video content in layouts (e.g. embedded or linked videos)

Open

Currently, it is only possible to integrate video content via external embeds (e.g. YouTube or Vimeo). There is no option to use video files directly within layouts. This limits the ability to include moving image content in a simple and flexible way. Suggested solution: Allow the use of video files directly within layouts, either via upload or by linking to external sources. Benefit: This would make it possible to integrate moving image content more easily and flexibly, enhancing the visual possibilities and overall design of a page. As motion content has become a standard element in modern web design, this feature would align the tool with common expectations and evolving design practices.

#51 opened by benjakon2 days ago
0
0

Display background image in Lightbox view

Open

In the previous version of Salon, the background image was visible in Lightbox mode, which helped maintain the visual context of the page. Currently, when opening images in the Lightbox view, the background image is not displayed. While it is possible to adjust the background color, there is no option to display the background image in this mode. Suggested solution: Enable the background image to be displayed in the Lightbox view. Benefit: This would preserve the overall visual design and atmosphere when viewing images in Lightbox mode, creating a more consistent and immersive user experience.

#50 opened by benjakon2 days ago
0
0

Add eyedropper tool for picking colors from canvas

Open

Currently, background colors can be selected using the built-in color picker (including hex input and predefined color options). However, it is not possible to pick a color directly from the canvas or from images within the workspace. This makes it difficult to match colors precisely when working with existing visual elements. Suggested solution: Add an eyedropper tool that allows users to sample colors directly from the canvas or uploaded images. Benefit: This would enable faster and more accurate color matching, improving design consistency and streamlining the workflow. It would also align the tool with standard functionality found in many design applications.

#49 opened by benjakon2 days ago
0
0

horizontal canvas in fixed height layout mode

Open

In the previous version of Salon, it was possible to create and adjust horizontal canvases with groups of images in just a few simple steps. This was very convenient and the layout option I used most. In the new version of Salon, the horizontal canvas option is only available in canvas mode. While this works great for many cases, it can be unnecessarily time-consuming for many common use cases. For example, if I want to arrange a series of images (e.g. 20 images of the same size with consistent spacing) in a horizontal row, doing this in canvas mode requires a lot of manual work. Any changes (such as size, spacing, or order) also have to be adjusted manually and individually for each image. Suggested solution: Enable horizontal canvas in fixed height layout mode, with flexible options for sizing and spacing. Benefit: This would allow for quick and efficient creation and adjustment of consistent horizontal image rows, while avoiding the manual overhead required in canvas mode. It would significantly improve workflow efficiency for common horizontal layout tasks.

#48 opened by benjakon2 days ago
0
0

Allow moving multiple selected elements in Canvas layout mode

Open

Description: In the Canvas layout, it is currently possible to move individual images or the entire layout, but not multiple selected elements at once. This often limits the full potential of the Canvas layout mode. For example, if I need to create space in the middle of a longer and possibly complex layout, I cannot shift a group of elements (e.g. all items on one side) together. Instead, I have to move each element individually to make space for the image I want to insert. This can result in having to partially dismantle and rebuild the layout. Since this mode enables highly customized and intricate designs, this may require undoing work that took significant time and effort to create. Suggested solution: Allow selecting multiple assets (e.g. via the Assets panel) and moving them as a group, similar to layer selection in design tools like Photoshop. Benefit: This would make editing layouts in Canvas mode much faster and more efficient, both for simple arrangements (e.g. inserting an image into a row of elements) and for more complex compositions. It would also better support the intuitive creative potential of the Canvas workflow by preserving carefully arranged layouts and avoiding unnecessary rework. This improvement would benefit both horizontal and vertical use cases.

#46 opened by benjakon4 days ago
0
0

Canvas layout resets settings during use of horizontal scrolling

Open

When using the Canvas layout in combination with horizontal scrolling, the page frequently resets partially after closing the editor or switching between edit and preview modes. This results in multiple layout settings being changed or lost without user input. Examples of affected settings include: - Background color - Horizontal / vertical orientation - Overall layout size - Layout position - Lightbox (enabled/disabled) - Section width and padding Expected behavior: All layout settings should persist consistently after switching modes or reopening the page. Actual behavior: Various layout settings reset randomly, causing loss of work and requiring repeated adjustments. Impact: This is a critical issue, especially for complex layouts, as it can result in significant time loss and repeated manual reconfiguration.

#45 opened by benjakon4 days ago
0
0

Background image scales incorrectly in "Variable Size" layout

Open

When using the "Variable Size" layout option, the background image is displayed at a much larger scale than intended. The same background image behaves correctly in all other layout options, where it keeps the selected size. The issue only occurs when "Variable Size" is enabled.

#44 opened by benjakon4 days ago
0
0

Make sure google indexes everything properly

Open

correct canonical URLs on custom domains etc etc) so your users have good SEO, also make sure its only accessible on the custom domain when user sets one, and that the salon url redirects properly to the custom domain to avoid dublicate content issues and when users port sites from the old salon, the redirects must pass the link juice (301 redirect vs 302)

#37 opened by SAL12 days ago
0
0

Integrate Agent Browser for automated E2E testing & QA

Open

## Overview Integrate [Agent Browser](https://agent-browser.dev/) — a headless browser automation CLI built for AI agents — to enable automated end-to-end testing, migration verification, and quality assurance across the New Salon platform. Agent Browser uses a Rust CLI + Playwright daemon architecture with a token-efficient "refs" system (~200-400 tokens vs ~3000-5000 for full DOM), making it ideal for AI-driven testing workflows. --- ## Implementation Plan ### Phase 1: Setup & Infrastructure - Install Agent Browser CLI (npm or Homebrew) - Configure daemon settings for our development environment - Set up test runner scripts in `package.json` (e.g., `npm run test:e2e`) - Create `/tests/e2e/` directory structure with shared utilities - Document setup in CLAUDE.md and developer onboarding guide ### Phase 2: Layout Engine Visual Testing - Write automated visual tests for all 8 layout engines: - Canvas: free-form positioning, block overlap, z-index - Mosaic: tile responsiveness, aspect ratios - Slideshow: navigation, transitions, caption display - Justified: row filling, aspect-ratio preservation - Column: snap-to-grid, responsive breakpoints - Fixed Height: row height consistency, floating images - Variable Size: masonry layout, variable widths - Square: uniform aspect ratio grid alignment - Screenshot comparison baselines for each engine - Test across viewport sizes (mobile, tablet, desktop) ### Phase 3: Editor Flow Testing - Block CRUD operations (create, edit, delete, reorder) - Drag-and-drop interactions via @dnd-kit - Section management (add, reorder, delete sections) - Panel interactions (Page, Section, Layout tabs) - Navigation editor flows - Theme switching and preview - Rich text editing (TipTap) interactions ### Phase 4: Migration Verification - Automated comparison between legacy salon.io pages and migrated new.salon.io pages - Fetch legacy page via salon.io JSON API - Render migrated version and capture screenshots - Pixel-diff or structural comparison reporting - Batch verification across migrated user sites ### Phase 5: Payment & Auth Flow Testing - Stripe Checkout session creation and redirect - Subscription management (upgrade, downgrade, cancel, reactivate) - Customer Portal access and navigation - Test all 5 tiers: Free, Basic, Premium, Pro, Pro Lifetime - Webhook handling verification - Auth flows: sign up, sign in, password reset, magic links ### Phase 6: Public Site & SEO Auditing - Crawl published user sites for meta tag verification - OpenGraph and social sharing preview validation - Accessibility audit (WCAG compliance checks) - Custom domain routing and SSL verification - Content width modes (full-bleed, full, wide, inset) rendering - Theme CSS variable application on public pages ### Phase 7: CI/CD Integration - Add Agent Browser tests to Vercel deployment pipeline - Post-deploy smoke tests on preview and production URLs - Failure alerting and screenshot capture on test failures - Test result reporting and trend tracking - Multi-session isolation for parallel test execution --- ## Key Benefits - **Token efficiency**: Refs system uses 10-20x fewer tokens than full DOM, reducing AI testing costs - **Multi-session isolation**: Test authenticated vs anonymous views simultaneously - **CLI-first**: Easy to script into CI/CD pipelines - **Cross-platform**: Works on macOS, Linux, Windows ## Dependencies - Agent Browser CLI (Rust + Node.js) - Playwright (managed by Agent Browser daemon) - Chrome/Chromium browser ## Notes - We already have Playwright MCP connected — Agent Browser complements it for CI/CD and batch testing - Start with Phase 1-2 post-launch (after March 13, 2026) - Prioritize layout engine visual testing as highest-value first use case

#33 opened by SAL12 days ago
0
0

Mobile Optimisation and Device Preview

In Progress

we need a total reality check and overhaul of mobile and device preview. both are pretty much broken now whats expected is that when a user selects mobile device preview, a special panel in sidebar opens, with 3 main tabs section, navigation, style for every section the user should be able to select alternative layout type for mobile. note, that the user should not be able to edit content when in mobile preview mode, but only change/optimise a subset of settings for mobile display

#31 opened by SAL20 days ago
1
0

[social] Follows, likes, posts, feed, discover

Planned

- Database: `follows`, `likes`, `posts` tables - Post types: site published (auto), page added (auto), image shared, text post, repost - Following feed (content from people you follow) - Discover feed (trending/new content across platform) - Like button on sites, pages, images - Follow/unfollow on user profiles - Basic in-app notification system **Files:** Supabase migration, new components in `src/components/social/`

#25 opened by SALabout 1 month ago
0
0

[editor] Multi-language content support

Planned

- Database: `content_translations` table + `languages`/`default_language` columns on `websites` - Editor: floating toolbar language switcher pill (only when 2+ languages enabled) - Viewer: `?lang=de` URL param, `Accept-Language` detection, `hreflang` SEO tags - Translatable content: text blocks, image captions/alt, page titles/descriptions, nav labels, site title **Files:** Supabase migration, `src/hooks/use-translations.ts`, `EditorLayout.tsx`, `TextEditPanel.tsx`, `ImageEditPanel.tsx`

#20 opened by SALabout 1 month ago
0
0

[editor] Color picker overhaul - recent colors, smart suggestions

Open

- Unified color picker behavior across all panels (text, backgrounds, navigation, theme) - Always show: recent colors (last 8 used), theme colors, standard presets - Compact mode for inline use, expanded mode for detailed editing - Smart suggestions: complementary colors from site theme, high-contrast options against background **Files:** `src/components/ui/color-picker.tsx`

#18 opened by SALabout 1 month ago
0