Skip to content

T-X-D-D Support#1598

Merged
Nick (ingalls) merged 2 commits into
mainfrom
feature/t-x-d-d
Jul 21, 2026
Merged

T-X-D-D Support#1598
Nick (ingalls) merged 2 commits into
mainfrom
feature/t-x-d-d

Conversation

@ingalls

Copy link
Copy Markdown
Member

Context

  • 🚀 Allow deleting features remotely via t-x-d-d messages

Copilot AI review requested due to automatic review settings July 21, 2026 13:15
@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 11 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
api/web/src/workers/atlas-connection.ts 0.00% 11 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds client-side handling for remote CoT delete tasking (t-x-d-d) in the web Atlas connection worker, enabling incoming task messages to remove (or immediately stale-out) referenced features in the local store.

Changes:

  • Implement t-x-d-d task handling in AtlasConnection to remove or stale linked CoT items, while blocking deletion of Mission-origin items.
  • Bump API dependencies (notably @tak-ps/node-cot, sharp, c8) and update api/package-lock.json accordingly.
  • Regenerate/update api/derived-types.d.ts (openapi-typescript output), resulting in significant endpoint typing churn.

Reviewed changes

Copilot reviewed 2 out of 4 changed files in this pull request and generated 2 comments.

File Description
api/web/src/workers/atlas-connection.ts Adds t-x-d-d processing logic to remove or stale linked CoT features, with Mission-origin guard.
api/package.json Updates API dependency versions (including @tak-ps/node-cot, sharp, c8) and package version.
api/package-lock.json Lockfile refresh reflecting dependency upgrades and transitive changes.
api/derived-types.d.ts Regenerated OpenAPI TypeScript definitions with substantial typing reordering/additions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread api/package.json
Comment thread api/web/src/workers/atlas-connection.ts
Copilot AI review requested due to automatic review settings July 21, 2026 13:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 4 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

api/web/src/workers/atlas-connection.ts:249

  • The t-x-d-d handler applies server-driven state changes using the normal client mutation paths, which can trigger outbound API writes. Specifically, cot.update(...) may call save() (PUT) for archived features, and atlas.db.remove(...) may issue a DELETE for archived features. For server-originated delete/stale tasking, these should be applied locally without re-saving/re-deleting over the network to avoid circular sync and permission/404 noise.
                    const forcedelete = task.properties.forcedelete === true;

                    for (const link of task.properties.links || []) {
                        if (!link.uid) continue;

                        const cot = await this.atlas.db.get(link.uid);

                        if (!cot) continue;

                        // Don't allow remote access to a Data Sync Mission (Priv. Escalation)
                        if (cot.origin.mode === OriginMode.MISSION) {
                            console.warn(`Ignoring t-x-d-d for ${link.uid} as it originates from a Mission`);
                            continue;
                        }

                        if (forcedelete) {
                            await this.atlas.db.remove(link.uid);
                        } else {
                            await cot.update({
                                properties: {
                                    ...cot.properties,
                                    stale: new Date().toISOString()
                                }
                            });
                        }

@ingalls
Nick (ingalls) merged commit 6362fa1 into main Jul 21, 2026
15 of 16 checks passed
@ingalls
Nick (ingalls) deleted the feature/t-x-d-d branch July 21, 2026 14:15
takwerx added a commit to takwerx/infra-TAK that referenced this pull request Jul 22, 2026
New marketplace entry (ping-style direct clone):
https://github.com/clptak/cloudtak-plugin-search-containment @ d9c1a21 (scanned).
ATAK Chokepoint-style SAR containment — ring offset from a mission shape/line/
manual point, numbered markers at trail-network crossings, posted to the active
DataSync mission. Browser-only (no server routes, no new ports/auth paths); all
network via CloudTAK's own std()/server helpers. /module-scan PASS — one LOW:
no LICENSE file yet (author asked to add; ping is MIT). Universal dev switch
applies automatically (repo currently has main only).

cloudtak-replay-plugin (dfndr13) assessed and PARKED: targets pre-hub/api-split
CloudTAK (api/routes/, api/lib/ — neither exists at our 13.50 pin; connection-
pool.ts moved to api/stateful/lib/) and needs core-file patches the installer
does not and should not apply. Revisit when upstream PR dfpc-coe/CloudTAK#1598
lands or the plugin ships a 13.45+ split-contract version.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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