Skip to content

fix fetcher issue - #1441

Merged
priosshrsth merged 5 commits into
productionfrom
main
Aug 27, 2026
Merged

fix fetcher issue#1441
priosshrsth merged 5 commits into
productionfrom
main

Conversation

@priosshrsth

Copy link
Copy Markdown
Collaborator

No description provided.

SandipBajracharya and others added 5 commits August 26, 2026 18:56
… Labels rows

softDeleteAllSubtasks and deleteAllAssigneeTasks deleted rows keyed on the task
label string with no workspaceId filter. Labels has no workspaceId and prefixes
derive from brand/company names, so strings like THE10-001 collide across
workspaces and deletes wiped other workspaces' tasks.

- softDeleteAllSubtasks: select id (not label) and deleteMany by id + workspaceId
- deleteAllAssigneeTasks: drop the unscoped label.deleteMany
- Remove LabelMappingService.deleteLabel and its call sites; Labels is a
  next-number registry where orphan rows are harmless and deleting them rolls
  the counter back, causing duplicate label reissue

Co-Authored-By: Claude Opus 4.8 <[email protected]>
- Unit: softDeleteAllSubtasks and deleteAllAssigneeTasks delete by id/assignee
  scoped to workspaceId and never touch Labels rows
- Integration: two workspaces sharing a label string; deleting one workspace's
  tree soft-deletes only its own subtree and leaves the other untouched
- seedTask: optional label so integration tests can seed colliding labels

Co-Authored-By: Claude Opus 4.8 <[email protected]>
authenticate.test.ts failed to load: p-retry and is-network-error are pure ESM
and next/jest only transforms packages listed in transpilePackages.

- next.config.js: transpile p-retry / is-network-error (also adds ngrok dev origin)
- authenticate.test.ts: update the public-route source fallback assertion from
  "public" to "platform" to match the intentional change in commit eb76729
  (was hidden while the suite couldn't load)

Co-Authored-By: Claude Opus 4.8 <[email protected]>
…tibility

Stops generating per-task label codes and deletes LabelMappingService and the
Labels registry table. Keeps the Tasks.label column (now @default('')) so the
public automation API stays backward compatible: pre-existing tasks keep their
codes, new tasks return ''.

- Public API: label retained in PublicTaskDtoSchema + serializer, with a
  serializer test locking the contract (empty for new, preserved for old).
- Internal app no longer uses label — drag preview shows the workflow-state
  icon, the breadcrumb shows the task title, the search filter drops the label
  matcher.
- Breadcrumb: desktop truncates the title at 25 chars; below 600px it uses a
  shorter 12-char title to avoid the platform header overflowing.
- Migration (edited in place): set Tasks.label DEFAULT '' and DROP TABLE Labels
  (the column is kept, not dropped).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
… Sentry (#1439)

* OUT-4027 | Fix 500 when deleting a task whose label row is missing (#1397)
@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
tasks-app Ready Ready Preview Aug 27, 2026 6:06am

Request Review

@greptile-apps

greptile-apps Bot commented Aug 27, 2026

Copy link
Copy Markdown

Greptile Summary

This PR removes generated task-label infrastructure while retaining the public API’s legacy label field, scopes cascading task deletion by task ID and workspace, and handles rejected SWR mutations.

  • Drops the Labels table and defaults new task labels to an empty string.
  • Removes label generation, filtering, breadcrumb, drag-preview, and cleanup dependencies.
  • Adds workspace-isolation tests for task and subtask deletion.
  • Awaits optimistic mutations so rejected requests reach rollback cleanup.
  • Adds support for the ngrok-free.app development origin and transpiles ESM retry dependencies.

Confidence Score: 5/5

The PR appears safe to merge with no concrete blocking or independently actionable non-blocking issues identified.

The removed label infrastructure has no remaining runtime references, public label compatibility remains backed by a non-null database default, deletion is workspace-scoped, and the mutation changes correctly route asynchronous failures through existing rollback cleanup.

Important Files Changed

Filename Overview
prisma/migrations/20260825000000_drop_task_label_and_labels_table/migration.sql Sets the retained task-label column default to an empty string and removes the now-unused Labels table.
prisma/schema/task.prisma Keeps the task label non-null for public compatibility while allowing creation paths to omit it.
src/app/api/tasks/tasks.service.ts Removes label generation and cleanup from private task lifecycle operations while preserving workspace-scoped task behavior.
src/app/api/tasks/public/public.service.ts Removes label mapping from public lifecycle operations; the retained database default supplies new labels.
src/app/api/tasks/subtasks.service.ts Replaces label-based descendant deletion with task-ID deletion explicitly scoped to the acting workspace.
src/types/dto/tasks.dto.ts Removes labels from private task and ancestor DTO types without changing the separate public DTO contract.
src/app/detail/ui/Subtasks.tsx Awaits optimistic creation mutation and handles background revalidation rejection to avoid unhandled promises.
src/app/detail/ui/ActivityWrapper.tsx Awaits optimistic comment mutation and catches debounced activity-refresh failures.
src/app/configure-tasks-app/ui/Subtemplates.tsx Awaits optimistic subtemplate creation and catches debounced refresh failures.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Create task] --> B[Tasks row]
  B --> C[label defaults to empty string]
  C --> D[Private task views omit label]
  C --> E[Public serializer preserves label field]
  F[Delete parent task] --> G[Resolve descendant IDs by workspace]
  G --> H[Soft-delete matching task IDs]
Loading

Reviews (1): Last reviewed commit: "OUT-4109 | Handle SWR mutate rejections ..." | Re-trigger Greptile

@priosshrsth
priosshrsth merged commit 8a92f3e into production Aug 27, 2026
3 checks passed
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