Skip to content

feat: Add "Import your data" — bulk JSON vent import#6

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/sync-data-between-linear-tools
Draft

feat: Add "Import your data" — bulk JSON vent import#6
Copilot wants to merge 2 commits intomainfrom
copilot/sync-data-between-linear-tools

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 27, 2026

Adds a self-serve data import flow so users can bring existing vents into TouchBase from external tools via a structured JSON file.

Changes

API — POST /api/import

  • Accepts { vents: ImportVent[] } payload, max 100 per batch
  • Each vent validated (content 1–280 chars) and run through the existing agentic moderation pipeline before insertion
  • Returns { imported: number, errors: string[] }

UI — /import page

  • Drag-and-drop or file-picker for .json uploads
  • Preview up to 10 entries before committing; shows skipped-entry count on success

Navigation

  • Added Import 📥 tab to bottom nav between Vent and Profile

Types (src/lib/types.ts)

export interface ImportVent {
  content: string;
  createdAt?: string;
  anonymous?: boolean;   // defaults true
  authorHandle?: string;
  tags?: string[];
}
export interface ImportPayload { vents?: ImportVent[] }
export interface ImportResult  { imported: number; errors: string[] }

Infra / Docs

  • apphosting.yaml — Firebase App Hosting config (0–10 instances, 512 MiB)
  • blueprint.md — canonical project reference: features, API table, data models, production checklist
  • .gitignore — excludes node_modules/, .next/, env files (was missing)
Original prompt

Issue Title: Import your data
Issue Description: Sync data between Linear and your other tools.

import-your-data.png

Whether you're exploring Linear, running a pilot, or ready for full migration, we’ve got you covered. 

Exploring Linear:

  • Pitch Linear
    Build your business case and get organizational buy-in
  • Run a pilot
    Test Linear with a small team before rolling out company-wide

Ready to migrate:

  • Migration guide
    Step-by-step process for importing data and rolling out Linear

If you have any questions hit ? in the bottom left > Contact us.

contactlinear (1).gif

next.config.ts

tsconfig.json

next-env.d.ts

package-lock.json

README.md

components.json

eslint.config.mjs

studio.json

postcss.config.mjs

tailwind.config.ts

package.json

tsconfig.tsbuildinfo

apphosting.yaml

blueprint.md

backend.json
Fixes https://linear.app/elbowfox/issue/ELB-4/import-your-data
Branch Name should include the identifier "ELB-4"

Issue Comments:
Comment by User c19cf82a-7804-4f4b-880c-15ae12a75067 (2026-03-27T17:57:46.923Z):
https://github.com/elbowfox/touch-base

Comment by User (2026-03-27T17:49:43.894Z):
This thread is for an agent session with githubcopilot.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 27, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
touch-base Ready Ready Preview, Comment Mar 27, 2026 6:11pm

Agent-Logs-Url: https://github.com/elbowfox/touch-base/sessions/6c3b69b5-bdf2-495e-b9b9-53f6ce1a95a7

Co-authored-by: elbowfox <78412639+elbowfox@users.noreply.github.com>
@ecc-tools
Copy link
Copy Markdown

ecc-tools bot commented Mar 27, 2026

Analyzing 200 commits...

@ecc-tools
Copy link
Copy Markdown

ecc-tools bot commented Mar 27, 2026

Analysis Failed

Not Found - https://docs.github.com/rest/git/refs#get-a-reference

Troubleshooting
Cause Resolution
Large repository Analysis may timeout on repos with extensive history
API rate limits Wait 15 minutes before retrying
Network issues Queue timeout is 15 minutes; retry may succeed
Permissions Verify app has Contents: Read access

Retry: /ecc-tools analyze


Report Issue | ECC Tools

Copilot AI changed the title [WIP] Sync data between Linear and other tools feat: Add "Import your data" — bulk JSON vent import Mar 27, 2026
Copilot AI requested a review from elbowfox March 27, 2026 18:13
@elbowfox
Copy link
Copy Markdown
Owner

elbowfox commented Apr 4, 2026

Get rid of the vent import, the whole point of TouchBase is to be a trusted (by default) and dynamic environment for spontaneous bursts of anonymous vulnerability and desperation to become complete human experiences, by continuing on from the desperation and despair, to the connection...the comfort, the kinship, commensuration, and ultimately, catharsis. This is supposed to be an ephemeral albeit eternal instance of human experience in its most contagious and raw form.

@elbowfox
Copy link
Copy Markdown
Owner

elbowfox commented Apr 4, 2026

Meaning there's no place for "stored" feelings. You come to touch base with other beings suffering or searching or seeking solace, touch base with yourself, your own humanity, you're here to GET RID to LET GO to LAY DOWN your heavy ass feelings and emotions, NOT FUCKING CONVERT THEM INTO IMMUTABLE DIGITAL ARTIFACTS FOR FUCK SAKE.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants