Repository navigation
HAN-5: Scaffold StashtagAI Expo app, Supabase schema, link intake and lists - #1
Open
StashtagAI wants to merge 2 commits into
Open
StashtagAI wants to merge 2 commits into
StashtagAI wants to merge 2 commits into
Conversation
- Expo SDK 58 + Expo Router + TypeScript; iOS-first, Android and web build - app.json (StashtagAI, ai.stashtag.app) and eas.json dev/preview/production profiles - Supabase client with email magic-link + one-time-code auth - Migration: links, categories (kind eats|trips|recipes|do), lists, items, tags arrays, RLS per user, https/host allowlist check on links.url - Link intake with exact-host Instagram/TikTok allowlist (unit-tested) - Lists browser: Category > List > Items with sample data until processing lands - README, CI (typecheck, lint, test) Co-Authored-By: Paperclip <noreply@paperclip.ing> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Supabase magic-link email carries no code unless the template is edited, so the board could not finish signing in on the iOS build. Password sign-in/sign-up is now the default; the magic link stays as an alternative. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is the first scaffold of the StashtagAI app. It is built with Expo SDK 58, Expo Router and TypeScript. iOS is the main target, and Android and web also build.
app.jsonsets the name StashtagAI and the bundle ID and packageai.stashtag.app.eas.jsonhas these profiles:development(iOS simulator)development-devicepreviewproductionEXPO_PUBLIC_SUPABASE_URLandEXPO_PUBLIC_SUPABASE_ANON_KEY. No keys are committed.supabase/migrations/20261106000000_init_schema.sql):links,categories(akindenum ofeats|trips|recipes|do),listsanditems, plustags text[]columns.pendingand cannot update them.links.urlcheck constraint enforces https and the exact host allowlist.process-linkalready writes (HAN-6).src/lib/link-filter.ts):instagram.com.evil.com,evil.com/?u=instagram.com, userinfo (user@host), ports, a trailing dot, punycode and non-https schemes.src/constants/theme.ts, accessed throughuseTheme(), so HAN-10 can restyle the app in one place.Verification
npm run typecheck,npm run lintandnpm testall pass (22 of 22 tests).expo exportbundles successfully for web, iOS and Android.authschema and checked 23 RLS and constraint cases:donerow, an insert for another user, a duplicate link, a client update, and attaching a list to another user's category.process-link's conflict targets work.pendingwith a clean URL), then Lists > Restaurants > Denver.Not yet run: the real iOS simulator. This Linux host has no Xcode. Run
npm run ioson macOS, oreas build --profile development --platform ios.Board setup
supabase link --project-ref qzaijqrkriuhlqbwmyto, thensupabase db push.stashtag://auth/callbackand your web origins.{{ .Token }}to the magic-link email template.eas initto attach the EAS project ID.🤖 Generated with Claude Code