diff --git a/apps/extension/CHANGELOG.md b/apps/extension/CHANGELOG.md index 2c15df3..dcf1890 100644 --- a/apps/extension/CHANGELOG.md +++ b/apps/extension/CHANGELOG.md @@ -1,6 +1,5 @@ # Changelog - ## extension-v0.1.4 [compare changes](https://github.com/Ripwords/ReproJs/compare/extension-v0.1.3...extension-v0.1.4) @@ -23,27 +22,20 @@ ### 🚀 Enhancements - -### 🔥 Performance - +- **shared:** Add volume series to AdminOverviewDTO ([c0e3a70](https://github.com/Ripwords/ReproJs/commit/c0e3a70)) ### 🩹 Fixes +- **release:** Scope each package's CHANGELOG to its own paths ([b1bb22c](https://github.com/Ripwords/ReproJs/commit/b1bb22c)) +- **sdk-ui:** Stop annotation shortcuts firing while typing text labels ([4ff661f](https://github.com/Ripwords/ReproJs/commit/4ff661f)) ### 💅 Refactors - -### 📖 Documentation - +- **comments:** Move CreateCommentBody schema to @reprojs/shared ([0d14acd](https://github.com/Ripwords/ReproJs/commit/0d14acd)) ### 🏡 Chore - -### ✅ Tests - - -### 🤖 CI - +- **release:** Sdk-v0.4.1 ([6524efc](https://github.com/Ripwords/ReproJs/commit/6524efc)) ### ❤️ Contributors @@ -55,27 +47,60 @@ ### 🚀 Enhancements +- **shared:** Add AdminOverviewDTO for admin overview dashboard ([f76efdb](https://github.com/Ripwords/ReproJs/commit/f76efdb)) +- **shared:** Add 'manager' to ProjectRole enum ([2996a41](https://github.com/Ripwords/ReproJs/commit/2996a41)) +- **shared:** Add source discriminator and mobile device fields to ReportContext/SystemInfo ([2f6effc](https://github.com/Ripwords/ReproJs/commit/2f6effc)) +- **shared:** Add source and devicePlatform to ReportSummaryDTO ([95ed429](https://github.com/Ripwords/ReproJs/commit/95ed429)) +- **expo:** Config normalizer and internal context shape ([50e2018](https://github.com/Ripwords/ReproJs/commit/50e2018)) +- **shared:** ReportSummaryDTO.assignees (array); TriagePatchInput.assigneeIds ([572ae66](https://github.com/Ripwords/ReproJs/commit/572ae66)) +- **shared:** Add milestone + githubAssigneeLogins to reports DTOs ([4c64078](https://github.com/Ripwords/ReproJs/commit/4c64078)) +- **integrations:** PushOnEdit UI toggle for GitHub integration ([dfd32b2](https://github.com/Ripwords/ReproJs/commit/dfd32b2)) +- **integration-api:** Expose autoCreateOnIntake toggle ([1574a7d](https://github.com/Ripwords/ReproJs/commit/1574a7d)) +- **shared:** Comment DTOs ([2485a18](https://github.com/Ripwords/ReproJs/commit/2485a18)) +- **github:** Create custom labels in linked repo from the picker ([18ad810](https://github.com/Ripwords/ReproJs/commit/18ad810)) +- **sdk-utils:** Add canonical theme tokens shared by web and expo SDKs ([989d8e3](https://github.com/Ripwords/ReproJs/commit/989d8e3)) +- **sdk-utils:** Add Attachment shape and validateAttachments helper ([a6c8159](https://github.com/Ripwords/ReproJs/commit/a6c8159)) +- **ui:** Add themeToCssVars helper that emits flame/mist tokens as CSS vars ([1a2e692](https://github.com/Ripwords/ReproJs/commit/1a2e692)) +- **ui:** Inject flame/mist CSS vars into shadow root at mount ([91a883b](https://github.com/Ripwords/ReproJs/commit/91a883b)) +- **ui:** Add PrimaryButton, SecondaryButton, FieldLabel, StepIndicator, WizardHeader ([61404b5](https://github.com/Ripwords/ReproJs/commit/61404b5)) +- **ui:** Add StepDetails (replaces step-describe in 3-step wizard) ([1077c55](https://github.com/Ripwords/ReproJs/commit/1077c55)) +- **ui:** Add StepReview with 'Included in this report' summary ([da15040](https://github.com/Ripwords/ReproJs/commit/da15040)) +- **ui:** Replace 2-step wizard with annotate → details → review flow ([25c916f](https://github.com/Ripwords/ReproJs/commit/25c916f)) +- **ui:** Add AttachmentList with hybrid thumbnail + chip rendering ([b8070d6](https://github.com/Ripwords/ReproJs/commit/b8070d6)) +- **sdk-web:** Add user attachments end-to-end ([46af0bb](https://github.com/Ripwords/ReproJs/commit/46af0bb)) +- **shared:** Add user-file kind and filename field to AttachmentDTO ([dd715e5](https://github.com/Ripwords/ReproJs/commit/dd715e5)) +- **ui:** Side-by-side details layout + paste-to-attach screenshots ([4452729](https://github.com/Ripwords/ReproJs/commit/4452729)) +- **ui:** Inflight toast + clamav scan visibility ([23b9349](https://github.com/Ripwords/ReproJs/commit/23b9349)) +- **dashboard:** Show clamav scan report on user-file attachments ([368d63b](https://github.com/Ripwords/ReproJs/commit/368d63b)) +- **expo:** Pick attachments from Photos / Files / Clipboard ([0cc0bf5](https://github.com/Ripwords/ReproJs/commit/0cc0bf5)) +- **extension:** Retheme popup + options to flame/mist tokens ([2708f72](https://github.com/Ripwords/ReproJs/commit/2708f72)) ### 🩹 Fixes +- **docs:** Update URLs after repo rename to ReproJs ([ee6ff03](https://github.com/Ripwords/ReproJs/commit/ee6ff03)) +- **sdk-utils:** Hermes-safe newShapeId — fall back when crypto.randomUUID missing ([a3c218b](https://github.com/Ripwords/ReproJs/commit/a3c218b)) +- **github:** Subscribe to issue_comment/label/milestone/member events + activity feed tag rendering ([40e160c](https://github.com/Ripwords/ReproJs/commit/40e160c)) ### 💅 Refactors - -### 📖 Documentation - +- **sdk-utils:** Extract ring-buffer from @reprojs/ui ([998a4e1](https://github.com/Ripwords/ReproJs/commit/998a4e1)) +- **sdk-utils:** Extract redact from @reprojs/ui ([0b1406b](https://github.com/Ripwords/ReproJs/commit/0b1406b)) +- **sdk-utils:** Extract breadcrumbs from @reprojs/ui ([eceb072](https://github.com/Ripwords/ReproJs/commit/eceb072)) +- **sdk-utils:** Extract annotation tool geometry from @reprojs/ui ([bac4449](https://github.com/Ripwords/ReproJs/commit/bac4449)) +- **dev:** Move hardcoded tunnel host + demo endpoint out of tracked files ([17ae31c](https://github.com/Ripwords/ReproJs/commit/17ae31c)) +- **assignees:** Github-only, drop dashboard-user linking ([557d2d6](https://github.com/Ripwords/ReproJs/commit/557d2d6)) +- **ui:** Switch styles to CSS custom properties from sdk-utils tokens ([ede8899](https://github.com/Ripwords/ReproJs/commit/ede8899)) ### 🏡 Chore +- **sdk-utils:** Scaffold package ([abd9d08](https://github.com/Ripwords/ReproJs/commit/abd9d08)) +- **github-app:** Default auto_create_on_intake to true for new installs ([a7fbab1](https://github.com/Ripwords/ReproJs/commit/a7fbab1)) +- **release:** Sdk-v0.4.0 ([5868b7e](https://github.com/Ripwords/ReproJs/commit/5868b7e)) ### ✅ Tests - -### 🎨 Styles - - -### 🤖 CI - +- **shared:** Align ReportSummaryDTO test with new assignees/milestone shape ([9dca620](https://github.com/Ripwords/ReproJs/commit/9dca620)) +- **extension:** Rename Playwright e2e spec to .e2e.ts so bun test skips it ([11149b5](https://github.com/Ripwords/ReproJs/commit/11149b5)) ### ❤️ Contributors @@ -88,39 +113,182 @@ ### 🚀 Enhancements - -### 🔥 Performance - +- **shared:** Add zod schemas and DTOs for projects, users, settings ([705e1be](https://github.com/Ripwords/ReproJs/commit/705e1be)) +- **shared:** Add report context, intake input, and viewer DTOs ([d6a934e](https://github.com/Ripwords/ReproJs/commit/d6a934e)) +- **dashboard:** Add reports viewer page and embed-key management in settings ([da7aaf5](https://github.com/Ripwords/ReproJs/commit/da7aaf5)) +- **sdk:** Add config resolution with tests ([29228d6](https://github.com/Ripwords/ReproJs/commit/29228d6)) +- **sdk:** Add context gatherer with tests ([93347dd](https://github.com/Ripwords/ReproJs/commit/93347dd)) +- **sdk:** Add screenshot wrapper with tests ([27df685](https://github.com/Ripwords/ReproJs/commit/27df685)) +- **sdk:** Add intake client and public init/open/close/identify API ([b19a4b5](https://github.com/Ripwords/ReproJs/commit/b19a4b5)) +- **sdk-ui:** Add Launcher and Reporter Preact components with scoped styles ([189e175](https://github.com/Ripwords/ReproJs/commit/189e175)) +- **sdk-ui:** Wire UI mount, static import from core, CSS inlined as text ([8000003](https://github.com/Ripwords/ReproJs/commit/8000003)) +- **sdk-ui:** Add demo playground served by Bun on :4000 ([0d81746](https://github.com/Ripwords/ReproJs/commit/0d81746)) +- **sdk-ui:** Add annotation types and install @preact/signals ([cd2e627](https://github.com/Ripwords/ReproJs/commit/cd2e627)) +- **sdk-ui:** Add remappable shortcut map with tests ([a04dc29](https://github.com/Ripwords/ReproJs/commit/a04dc29)) +- **sdk-ui:** Add viewport transform helpers with tests ([61bd3d5](https://github.com/Ripwords/ReproJs/commit/61bd3d5)) +- **sdk-ui:** Add annotation store with undo/redo via Preact signals ([ea619e1](https://github.com/Ripwords/ReproJs/commit/ea619e1)) +- **sdk-ui:** Add deterministic word-wrap with tests ([a3a4e6f](https://github.com/Ripwords/ReproJs/commit/a3a4e6f)) +- **sdk-ui:** Add pure render function with per-shape drawing and tests ([393fdcf](https://github.com/Ripwords/ReproJs/commit/393fdcf)) +- **sdk-ui:** Add flatten(bg, shapes) for submit-time rasterization ([8eaf66d](https://github.com/Ripwords/ReproJs/commit/8eaf66d)) +- **sdk-ui:** Add ToolHandler interface and arrow tool with tests ([fb1b07c](https://github.com/Ripwords/ReproJs/commit/fb1b07c)) +- **sdk-ui:** Add rect tool with normalization and tests ([968dd89](https://github.com/Ripwords/ReproJs/commit/968dd89)) +- **sdk-ui:** Add pen tool with pressure-aware downsampling and tests ([6904ee5](https://github.com/Ripwords/ReproJs/commit/6904ee5)) +- **sdk-ui:** Add highlight tool with tests ([5cd7f35](https://github.com/Ripwords/ReproJs/commit/5cd7f35)) +- **sdk-ui:** Add text tool drag-rect phase with tests ([8f3dab1](https://github.com/Ripwords/ReproJs/commit/8f3dab1)) +- **sdk-ui:** Add interactive Canvas with Pointer Events, pan, zoom, and text input overlay ([4a7d3e4](https://github.com/Ripwords/ReproJs/commit/4a7d3e4)) +- **sdk-ui:** Add tool picker (tools + palette + stroke + undo/redo/clear) ([4633948](https://github.com/Ripwords/ReproJs/commit/4633948)) +- **sdk-ui:** Add wizard step 2 (describe + annotated preview) ([4b9463d](https://github.com/Ripwords/ReproJs/commit/4b9463d)) +- **sdk-ui:** Add wizard step 1 (annotation canvas + tool picker + shortcuts) ([3e00855](https://github.com/Ripwords/ReproJs/commit/3e00855)) +- **sdk-ui:** Replace Reporter with two-step wizard; widen onSubmit with screenshot ([8a48b9b](https://github.com/Ripwords/ReproJs/commit/8a48b9b)) +- **sdk-ui:** Add bounded RingBuffer for collectors ([35fb23c](https://github.com/Ripwords/ReproJs/commit/35fb23c)) +- **sdk-ui:** Add safe serializer with truncation + default string redactors ([7d4add2](https://github.com/Ripwords/ReproJs/commit/7d4add2)) +- **sdk-ui:** Add redaction engine (cookies, headers, URL params, bodies) ([54e2802](https://github.com/Ripwords/ReproJs/commit/54e2802)) +- **sdk-ui:** Add systemInfo snapshot with inline type (swapped in Task 11) ([a8efc20](https://github.com/Ripwords/ReproJs/commit/a8efc20)) +- **sdk-ui:** Add cookies collector with redaction ([ffb5148](https://github.com/Ripwords/ReproJs/commit/ffb5148)) +- **sdk-ui:** Add breadcrumbs collector backing feedback.log() ([4866dd2](https://github.com/Ripwords/ReproJs/commit/4866dd2)) +- **sdk-ui:** Add console collector (log/info/warn/error/debug) with stack on warn+error ([3ceb50c](https://github.com/Ripwords/ReproJs/commit/3ceb50c)) +- **sdk-ui:** Add network collector (fetch + XHR) with body/header/URL redaction ([aab1f1b](https://github.com/Ripwords/ReproJs/commit/aab1f1b)) +- **sdk-ui:** Add registerAllCollectors orchestration with beforeSend sandbox ([9d35872](https://github.com/Ripwords/ReproJs/commit/9d35872)) +- **shared:** Add SystemInfo/CookieEntry/LogsAttachment + extend ReportContext ([80e524e](https://github.com/Ripwords/ReproJs/commit/80e524e)) +- **sdk:** Wire collectors into init, expose feedback.log(), send logs multipart ([2cb48b7](https://github.com/Ripwords/ReproJs/commit/2cb48b7)) +- **sdk-ui:** Capture uncaught window errors + unhandled rejections as error entries ([4bfaa84](https://github.com/Ripwords/ReproJs/commit/4bfaa84)) +- **sdk-ui:** Enrich captured fetch metadata (body descriptors, Content-Length size, Request headers) ([215d307](https://github.com/Ripwords/ReproJs/commit/215d307)) +- **sdk-ui:** Deep-inspect request bodies + demo harness for full capture ([f7df3a0](https://github.com/Ripwords/ReproJs/commit/f7df3a0)) +- **shared:** Add triage enums + Event/Patch/Bulk DTOs; extend ReportSummaryDTO ([8b4123c](https://github.com/Ripwords/ReproJs/commit/8b4123c)) +- **db:** Add github_issue_* columns on reports + github_unlinked event kind ([e65fce3](https://github.com/Ripwords/ReproJs/commit/e65fce3)) +- **shared:** Add GitHub integration Zod DTOs ([badd95b](https://github.com/Ripwords/ReproJs/commit/badd95b)) +- **dashboard:** Drawer GitHub row — linked/unlinked/unlink dialog + DTO extension ([2679168](https://github.com/Ripwords/ReproJs/commit/2679168)) +- **dashboard:** Project overview page + drop project slug ([273a177](https://github.com/Ripwords/ReproJs/commit/273a177)) +- **auth:** Email domain sign-up gate; drop install-name setting ([69a08aa](https://github.com/Ripwords/ReproJs/commit/69a08aa)) +- **shared:** Anti-abuse fields on intake + daily cap on projects ([817f821](https://github.com/Ripwords/ReproJs/commit/817f821)) +- **sdk:** Honeypot input + dwell tracking ([cb41a6c](https://github.com/Ripwords/ReproJs/commit/cb41a6c)) +- **recorder:** Scaffold package ([8859019](https://github.com/Ripwords/ReproJs/commit/8859019)) +- **recorder:** Rrweb-compatible event type definitions ([735657a](https://github.com/Ripwords/ReproJs/commit/735657a)) +- **recorder:** Size+time-bounded event buffer with eviction ([3b0a61e](https://github.com/Ripwords/ReproJs/commit/3b0a61e)) +- **recorder:** Masking predicate with strict/moderate/minimal modes ([23a2ad3](https://github.com/Ripwords/ReproJs/commit/23a2ad3)) +- **recorder:** Gzip events with truncate-and-retry for size cap ([6a013bb](https://github.com/Ripwords/ReproJs/commit/6a013bb)) +- **recorder:** Two-way DOM-node id map ([9521502](https://github.com/Ripwords/ReproJs/commit/9521502)) +- **recorder:** Serialize DOM nodes to rrweb-compatible shape with masking ([04b4920](https://github.com/Ripwords/ReproJs/commit/04b4920)) +- **recorder:** Full-snapshot emitter (Meta + FullSnapshot events) ([84900d5](https://github.com/Ripwords/ReproJs/commit/84900d5)) +- **recorder:** MutationObserver wrapper with masking on newly-added nodes ([839e599](https://github.com/Ripwords/ReproJs/commit/839e599)) +- **recorder:** Input, mouse-interaction, scroll, viewport observers ([39c1262](https://github.com/Ripwords/ReproJs/commit/39c1262)) +- **recorder:** Orchestrator + public API (start/stop/pause/resume/flushGzipped) ([aa7ebe7](https://github.com/Ripwords/ReproJs/commit/aa7ebe7)) +- **sdk:** Replay collector adapter; wire into registerAllCollectors ([530a9d2](https://github.com/Ripwords/ReproJs/commit/530a9d2)) +- **shared:** IntakeResponse schema with replayStored/replayDisabled flags ([f399f49](https://github.com/Ripwords/ReproJs/commit/f399f49)) +- **sdk:** Core submit path attaches replay part; honors replayDisabled response ([6c1346a](https://github.com/Ripwords/ReproJs/commit/6c1346a)) +- **dashboard:** Project settings toggle for replay ([2265eb1](https://github.com/Ripwords/ReproJs/commit/2265eb1)) +- **dashboard:** Replace native confirm() with in-app confirm dialogs ([f587750](https://github.com/Ripwords/ReproJs/commit/f587750)) +- **sdk-core:** Pixel-perfect screen-capture path via getDisplayMedia ([a93a239](https://github.com/Ripwords/ReproJs/commit/a93a239)) +- **sdk:** Pause replay buffer while the report wizard is open ([bd64ef3](https://github.com/Ripwords/ReproJs/commit/bd64ef3)) +- **shared:** Project invitation DTOs and inputs ([f7f38e3](https://github.com/Ripwords/ReproJs/commit/f7f38e3)) +- **extension:** Scaffold apps/extension MV3 + crxjs skeleton ([62a36a5](https://github.com/Ripwords/ReproJs/commit/62a36a5)) +- **extension:** Add chrome.storage.local config wrapper ([9a03d07](https://github.com/Ripwords/ReproJs/commit/9a03d07)) +- **extension:** Add origin matching utility ([b9fd648](https://github.com/Ripwords/ReproJs/commit/b9fd648)) +- **extension:** Add chrome.permissions helpers ([e1b166e](https://github.com/Ripwords/ReproJs/commit/e1b166e)) +- **extension:** Add SDK sync script ([1d940b8](https://github.com/Ripwords/ReproJs/commit/1d940b8)) +- **extension:** Inject SDK via chrome.scripting on tab load ([5384731](https://github.com/Ripwords/ReproJs/commit/5384731)) +- **extension:** Popup shell + config list component ([1720e78](https://github.com/Ripwords/ReproJs/commit/1720e78)) +- **extension:** Add-config form with permission request ([282f7ce](https://github.com/Ripwords/ReproJs/commit/282f7ce)) +- **extension:** Sync icons from dashboard SVG at build time ([613f82b](https://github.com/Ripwords/ReproJs/commit/613f82b)) +- **extension:** Proxy SDK fetch through the service worker ([ff40433](https://github.com/Ripwords/ReproJs/commit/ff40433)) +- **extension:** Redesign popup/options + fix first-add race ([318666d](https://github.com/Ripwords/ReproJs/commit/318666d)) +- **extension:** Remember last intake endpoint in Add form ([e9f7b91](https://github.com/Ripwords/ReproJs/commit/e9f7b91)) +- **extension:** Pre-fill Add form with active tab's origin ([ef78c25](https://github.com/Ripwords/ReproJs/commit/ef78c25)) ### 🩹 Fixes +- **sdk-ui:** Inline CSS into IIFE bundle via generated string module ([31a1789](https://github.com/Ripwords/ReproJs/commit/31a1789)) +- **sdk-ui:** Render draft text-box outline + stop shortcuts leaking into textarea ([2c7dbb2](https://github.com/Ripwords/ReproJs/commit/2c7dbb2)) +- **sdk-ui:** Render bg and shapes at the same transform; honor DPR ([e812f3b](https://github.com/Ripwords/ReproJs/commit/e812f3b)) +- **sdk-ui:** Use navigator.userAgentData.platform to avoid MacIntel on Apple Silicon ([b436a57](https://github.com/Ripwords/ReproJs/commit/b436a57)) +- **sdk-ui:** Submit via button onClick instead of native form submit ([7044f93](https://github.com/Ripwords/ReproJs/commit/7044f93)) +- **sdk-ui:** Remove