Skip to content

fix: workspace invitation page not showing workspaces#7

Merged
vamsi merged 3 commits into
makeplane:stage-releasefrom
dakshesh14:main
Nov 28, 2022
Merged

fix: workspace invitation page not showing workspaces#7
vamsi merged 3 commits into
makeplane:stage-releasefrom
dakshesh14:main

Conversation

@dakshesh14

@dakshesh14 dakshesh14 commented Nov 25, 2022

Copy link
Copy Markdown
Contributor

fix:

  • workspace invitation page, showing all the workspaces if there's no invitation to the user
  • user has the option to choose from existing workspaces instead of the "create workspace" button
  • made auth wrapper working
  • added wrapper in protected routes and removed from public pages

@vercel

vercel Bot commented Nov 25, 2022

Copy link
Copy Markdown

@dakshesh14 is attempting to deploy a commit to the Caravel Team on Vercel.

A member of the Team first needs to authorize it.

fix: - made wrapper working - used it in protected routes & removed it from public routes
@vamsi vamsi merged commit 0be30c0 into makeplane:stage-release Nov 28, 2022
akushonkamen pushed a commit to akushonkamen/plane that referenced this pull request Apr 6, 2026
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
codecsrayo referenced this pull request in codecsrayo/plane Apr 17, 2026
…structure

Log #7: sustituye any en app_installation.service.ts y select-repository.tsx
por los tipos compartidos añadidos en @plane/types.

Archivos tocados:
- services/app_installation.service.ts: los 4 métodos pierden any.
  addInstallationApp(data: TProviderInstallPayload) -> Promise<IWorkspaceIntegration>.
  addSlackChannel -> Promise<ISlackIntegration>.
  getSlackChannelDetail -> Promise<ISlackIntegration[]>.
  removeSlackChannel -> Promise<void>.
- components/integration/github/select-repository.tsx: type GithubReposResponse
  local eliminado; Props usa IGithubRepoInfo y IGithubRepositoriesResponse.
  value: string | null | undefined. onChange: (IGithubRepoInfo | undefined) => void.
- app/(all)/auth/{github,gitlab,slack}/callback/page.tsx: payloads install
  tipados explicitamente. setup_action se estrecha a 'install' | 'update'
  (antes cualquier string via ??).

Bug oculto que any enmascaraba (fix incluido):
- components/project/integration-card.tsx: handleChange destructuraba
  'html_url' (key inexistente; el backend usa 'url') y 'owner: { login }'
  (owner es string, no objeto). En runtime login y html_url eran siempre
  undefined y se enviaban así al backend. Fix: destructure correcto
  { url, owner, id, name } con repo: IGithubRepoInfo. Comentario inline
  explicando el fix. Toast de exito ajustado para usar 'owner' en lugar
  del ya inexistente 'login'.

Antipatron no atendido (fuera de alcance, queda flaggeado para PR futuro):
- projectService.syncGithubRepository y getProjectGithubRepository apuntan
  a /projects/{pid}/workspace-integrations/{id}/github-repository-sync/,
  que no existe ni en Django ni en Rust. La ruta real es workspace-scoped:
  /workspace-integrations/github/repo-syncs/.
- integration-card.tsx L108 accede syncedGithubRepository[0].repo_detail.*
  pero el backend list devuelve repo_owner/repo_name planos.
- DTO Rust WorkspaceIntegrationResponse es subset del Django
  WorkspaceIntegrationSerializer(__all__). Divergencia de paridad.
codecsrayo referenced this pull request in codecsrayo/plane Apr 17, 2026
Issues resolved
───────────────
#6 – silent catch in CopyField / copyWebhookSecret
  • copy-field.tsx: catch block now calls setToast(ERROR) instead of
    swallowing the clipboard failure silently.
  • integrations/form.tsx copyWebhookSecret: same pattern applied.

#7 – console.error as the sole error handler
  • integrations/form.tsx handleToggle: .catch(console.error) replaced
    with .catch(() => setToast(ERROR, 'Toggle failed')).
  • integrations/form.tsx onSubmit: removed stray console.error(err);
    setToast(ERROR) was already present, console call was redundant.
  • authentication/github/form.tsx onSubmit: console.error(err) replaced
    with setToast(ERROR, 'Save failed').

#8 – fragile typeof window origin expression
  • Added hooks/use-origin.ts: wraps window.location.origin in useMemo,
    guaranteeing the value is resolved at component-mount time (fully
    hydrated context) and never re-evaluated on re-renders.
  • authentication/github/form.tsx: replaced inline ternary with
    const windowOrigin = useOrigin(); API_BASE_URL priority preserved.
  • integrations/form.tsx: replaced inline ternary with useOrigin().

Bonus – stale state-setter calls in handleGithubPrivateKeyUpload
  • setIsGithubPrivateKeySaved(false) / setGithubPrivateKeyLabel(name)
    were calling non-existent setters left over from a prior refactor
    that converted those fields to derived constants. Replaced with
    setLocalKeyState('unsaved'); filename feedback retained via toast.
codecsrayo referenced this pull request in codecsrayo/plane Apr 18, 2026
…providers (#7)

- Compute knownProvider (string | undefined) before any hook call
- Pass undefined as useIntegrationPopup.provider → hook skips listener setup
- Pass null as SWR key when provider is unknown → suppresses network request
- Use knownProvider directly for providerKey — already narrowed, no extra cast
- Early-return guard updated to use knownProvider (avoids calling isKnownIntegrationProvider twice)
trussell86 added a commit to trussell86/Debt.com-Pulse that referenced this pull request Apr 23, 2026
Completes the rebrand pass for surfaces driven by `apps/api/plane/seeds/data/`.
When a new workspace opens to an empty demo project, the `name` fields from
these JSON files drive browser tab titles (via ${project.name} - <layout>
page-title templates). Previously tabs read "Plane Demo Project" / "Welcome
to Plane 👋" / "Cycle 1: Getting Started with Plane".

- projects.json: "Plane Demo Project" → "Pulse Demo Project" (and description
  rebranded to match). Identifier `PDP` unchanged.
- cycles.json: "Cycle 1: Getting Started with Plane" → "...with Pulse".
- issues.json: first issue "Welcome to Plane 👋" → "Welcome to Pulse 👋".

The body copy inside `description_html` / `description_stripped` still
references "Plane" ~12 times across the seven demo issues (e.g. "A Project
in Plane is like a sprint"). Left alone because the HTML is dense and embeds
`docs.plane.so` URLs we can't rewrite. Flagged as known debt in
REBRAND_NOTES.md risk makeplane#7 — fix when demo content matters, or delete the
seed entirely.

JSON format can't carry in-file DEBTCOM-CUSTOM markers; the CUSTOMIZATIONS.md
rows (added in the next commit) are the only signal during upstream merges.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
trussell86 added a commit to trussell86/Debt.com-Pulse that referenced this pull request Apr 25, 2026
Quick-win batch addressing items makeplane#1, makeplane#2, makeplane#6, makeplane#7 from the Apr 24 polish list.

makeplane#2 Home → Dashboard. i18n override on `home.title` flips the sidebar nav
   label and breadcrumb. Merged into the existing `home.*` override block
   to avoid duplicate-key lint.

makeplane#1 Remove "Manage widgets" button from `(projects)/header.tsx`. Plane
   rendered it on the right to open the widget-toggle modal; we replaced
   the widget surface entirely with PulseHomePage. Drops `Button`,
   `Shapes`, and `useHome` imports.

makeplane#6 Remove Stickies. Drop the `:workspaceSlug/stickies` route from
   `core.ts` and the `stickies` entry from
   `WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS`. Source under
   `apps/web/core/components/stickies/*` left orphaned. Both removed
   blocks have the upstream snippet preserved as a comment for revert.

makeplane#7 Hide Publish project. Both CustomMenu.MenuItem render sites
   (sidebar's `projects-list-item.tsx`, navigation's
   `project-actions-menu.tsx`) had the JSX deleted entirely (with the
   upstream block preserved as a comment for revert). Plane projects =
   teams in our model — long-lived backlogs, not public-facing
   campaigns. PublishProjectModal source + project-publish store stay
   orphaned. `Share2` import removed from both files; `isAdmin` and
   `onPublishModal` variables retained for type stability (callers
   don't need to change) and `void`-referenced to silence unused-var
   warnings.

Pre-existing upstream lint warts surfaced by these touches (a11y on
a span trigger, no-shadow + exhaustive-deps in a drag-and-drop hook)
silenced via file-level `eslint-disable` blocks per the established
DEBTCOM pattern.

makeplane#10 (Live websocket "Connection lost") not in this commit — needs a
Railway-side action (deploy the Live service + set LIVE_UPSTREAM on
the gateway). Code is ready; runbook delivered separately.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
trussell86 added a commit to trussell86/Debt.com-Pulse that referenced this pull request May 15, 2026
Before: one pin = one IssueComment in the activity feed. A
designer dropping 8 pins on the same image in 30 seconds spawned
8 separate bridge comments — accurate but noisy.

Now: when the same actor drops multiple pins on the same asset
within a 5-minute window, the signal UPDATES the existing bridge
comment in place to aggregate them, instead of creating a new
row. Different actor, different asset, different issue, or after
the window expires → fresh bridge as before.

Title and body adapt:

  1 pin   →  "Markup makeplane#3 on cover_v2.png"
              <thumbnail>
              > Move headline left, increase line height
              View on canvas →

  3 pins  →  "Markups makeplane#3-makeplane#5 on cover_v2.png"      (consecutive)
              <thumbnail>
              • makeplane#3: Move headline left
              • makeplane#4: Logo color is off
              • makeplane#5: Footer text too small
              View on canvas →   ← points to pin makeplane#5 (latest)

  Gappy   →  "Markups makeplane#3, makeplane#5, makeplane#7"   (non-consecutive runs join)
  Mixed   →  "Markups makeplane#3-makeplane#5, makeplane#8-makeplane#9" (runs of consecutive ids)

Aggregator state (asset_id, pin_numbers, excerpts,
latest_annotation_id) lives in comment_json._debtcom_bridge.
Hidden from TipTap so it doesn't confuse the editor; survives
DB round-trips. If the user manually edits the bridge comment
via the UI, Plane's editor overwrites comment_json and our
metadata gets wiped — future pins then create a fresh bridge.
Acceptable trade-off; users editing auto-posts is rare.

Implementation notes:
- 5-min window (_BRIDGE_AGGREGATION_WINDOW) is a module
  constant — tune if review volume changes.
- The annotation-create response still inlines the (possibly-
  aggregated) bridge via _bridge_comment_id stash, so the
  frontend splices the updated row into the mobx comment
  store without a refetch. The id stays stable across
  aggregations, so the splice is an in-place update.
- comment_stripped is auto-derived by IssueComment.save() via
  strip_tags(comment_html), so we don't have to keep it in
  sync manually.
- "View on canvas →" link now points at the LATEST pin in the
  aggregated run, since that's the most recent feedback the
  reader probably wants to see.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
blitzy Bot pushed a commit to Blitzy-Sandbox/blitzy-makeplane that referenced this pull request May 25, 2026
…SDoc

Resolves CP1 QA findings 1-15 (CRITICAL hallucinations) + 16 (MINOR markdown bold):

Critical cross-reference accuracy fixes:
- Issue #1: ce/store/issue/issue-details/activity.store.ts (was core/)
- Issue #2: ce/components/command-palette/ (was core/) — 6 sites
- Issue makeplane#3-4: dashboard/dashboards/** paths replaced with actual
  consumer paths (analytics, helpers/dashboard.helper.ts, home/widgets)
  or INTENT UNCLEAR for orphaned constants — 16 sites
- Issue makeplane#5: description editor paths point to actual locations
- Issue makeplane#6: workspace/billing/ (was workspace-billing/) — 5 sites
- Issue makeplane#7: inbox/modals/create-modal/ (was intake/) — 1 site
- Issue makeplane#8: workspace-notifications/ (was notifications/) — 8 sites
- Issue makeplane#9: removed duplicate fabricated profile/settings/ path — 2 sites
- Issue makeplane#10: project-states/ (was states/) — 4 sites
- Issue makeplane#11: workspace/views/ (was workspace-views/) — 1 site
- Issue makeplane#12: INTENT UNCLEAR for EAuthenticationPageType and
  USER_ALLOWED_PERMISSIONS (no consumers found) — 2 sites
- Issue makeplane#13: issues/issue-layouts/filters/ (was issues/filters/) — 8 sites
- Issue makeplane#14: db/models/integration/ (was app/views/integration/) — 1 site
- Issue makeplane#15: removed hallucinated ::ProjectLink Django class symbol;
  added INTENT UNCLEAR flag for missing backend mirror — 1 site

Documentation standards fix (MINOR):
- Issue makeplane#16: removed 7 instances of markdown bold (**...**) in JSDoc
  per AAP §0.2.3 (no markdown boilerplate)

Per AAP §0.2.3 ambiguity protocol ("Flag, do not invent"), unverifiable
consumer locations are flagged with INTENT UNCLEAR rather than guessed.

Validation: zero new TS errors (Gate 3 PASS); zero new lint/format
violations; no imports/exports changed; no behavior changes — JSDoc-only
edits in 22 files across packages/types/src/ and packages/constants/src/.
ColeEdanza added a commit to ColeEdanza/plane that referenced this pull request May 26, 2026
…lapse, footer, sidebar groups

Five compound UI changes implementing the Plane.so blog redesign (items makeplane#2,
makeplane#3, makeplane#5, makeplane#6, makeplane#7; makeplane#1/makeplane#4/makeplane#8/makeplane#9/makeplane#10/makeplane#11 out of scope per Cole).

- Compact parent pill next to the work-item ID (new IssueParentPill in
  parent/pill.tsx); fat parent breadcrumb row above the title removed in
  both the full-screen page and all peek modes.
- Inline properties row under the title: Assignee, Priority, Start, Due as
  borderless pills with vertical dividers (border-strong), text-body-sm font,
  gap-x-5 spacing, hover background via transparent-with-text variant. State
  stays in the peek header from prior commit 03d84b1.
- DescriptionCollapse wrapper around the rich-text editor: clamps to ~200px
  via ResizeObserver, fade gradient when collapsed, auto-expands on focus,
  Show more / Show less toggle. Wraps both surfaces.
- IssueMetadataFooter at the bottom of main content: created-by, created,
  updated, and completed (when set) in a compact row with full-timestamp
  hover tooltips.
- Sidebar regrouped into three collapsible sections (Properties / Project
  structure / Custom properties). Assignee, Priority, Start, Due removed
  from the sidebar since they're inline now. Parent stays as the only way
  to *add* a parent when none is set.

Title bumped from text-20 to text-28 font-semibold leading-snug py-1; the
prior leading-tight clipped ascenders inside the auto-resize textarea.

Touches:
  apps/web/core/components/issues/issue-detail/main-content.tsx
  apps/web/core/components/issues/issue-detail/sidebar.tsx
  apps/web/core/components/issues/issue-detail/parent/index.ts
  apps/web/core/components/issues/peek-overview/issue-detail.tsx
  + 4 new files:
    parent/pill.tsx, inline-properties.tsx,
    description-collapse.tsx, metadata-footer.tsx

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
blitzy Bot pushed a commit to Blitzy-Sandbox/blitzy-makeplane that referenced this pull request Jun 2, 2026
…e issues

Targeted, behavior-only source fixes for 8 runtime findings from QA Checkpoint 9
(real-time collaboration + integration E2E). No new dependencies, no .env
changes, no refactoring -- consistent with the branch's established remediation
pattern (cf. d061338, which resolved Checkpoint 8 with behavioral fixes while
preserving the documentation-AAP system boundaries).

apps/live (Directive 4 surface):
- #1 CSRF persistence (CRITICAL): ProjectPageService now extracts the session
  `csrftoken` cookie from the forwarded WS-handshake Cookie header and echoes it
  as the `X-CSRFToken` header, so service-to-service PATCHes (page description,
  title, HTML->binary backfill) pass apps/api's restored DRF CSRF enforcement
  instead of failing 403. Cascades to resolve makeplane#6 and the Info-3 doc-bloat.
- #2 + makeplane#5 unhandled-rejection crashes (CRITICAL): subscribe the `hocuspocus:admin`
  channel on a DEDICATED duplicated ioredis connection so the base
  @hocuspocus/extension-redis `messageBuffer` Yjs decoder never receives admin
  JSON (the lib0 "Unexpected end of array" / "Invalid typed array length"
  rejections). Added a defensive try/catch around force-close teardown in
  database.ts as defense-in-depth.
- makeplane#6 HTML->binary backfill silent crash (CRITICAL): resolved downstream of #1
  (the 403 was the trigger); backfill now persists and the process stays alive.
- makeplane#3 WS 1006 / makeplane#4 process crash (CRITICAL): no source change required -- makeplane#3 is a
  dev-only HMR/upgrade-timing artifact that self-recovers; makeplane#4's crash root causes
  are eliminated by #1/#2/makeplane#5/makeplane#6 and the existing non-exiting global handlers.

apps/api (Directive 1 surface):
- makeplane#7 webhook 5xx not retried (CRITICAL): raise requests.RequestException on a
  >=500 response so Celery's autoretry_for drives the backoff/retry and the
  retry-exhaustion branch deactivates the webhook (tech spec 4.5). 4xx remain
  permanent (logged, not retried).
- makeplane#8 notification print() swallow (MAJOR): replace the bare `print(e)` with
  `logger.exception(...)` via a `plane.worker` logger so failures surface with a
  full traceback; the task stays fire-and-forget (no re-raise).

Deferred:
- makeplane#9 MinIO dev endpoint (MINOR): the only fix requires editing apps/api/.env,
  which is forbidden by the AAP system boundary ("No .env files modified");
  dev-only, not a production bug per QA's own assessment.

Verification: all 8 actionable findings runtime-verified against the full
Docker stack (apps/api + Celery + apps/live + apps/web). Static gates green --
pydocstyle --convention=pep257 (apps/api/plane) zero errors; `turbo run
check:types` 18/18 successful; oxlint/oxfmt clean on the 3 TS files; ruff clean
on the 2 Python files.
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.

3 participants