Skip to content

Conversation

@gmaclennan
Copy link
Member

@gmaclennan gmaclennan commented Dec 5, 2025

Routes for the Map-Sharer (although Map Receiver would use the DELETE route)

  • POST /mapShares { mapId: string }: create a map share, returns MapShare type. Data populated internally by the server (bounds, zoom, estimated size)
  • GET /mapShares/:shareId: get MapShare info for a shareId
  • GET /mapShares/:shareId/events: state change events, including bytesDownloaded for state: 'downloading' events.
  • GET /mapShares/:shareId/download: SMP file for share
  • DELETE /mapShares/:shareId: cancel / delete a map share

Routes for Map Receiver:

  • POST /downloads MapShare: start downloading a map share (or reject). Returns { downloadId: string }
  • GET /downloads/:downloadId: MapShare with current state.
  • GET /downloads/:downloadId/events: state change events, including bytesDownloaded
  • DELETE /downloads/:downloadId: cancel download

On Map-sharer side, frontend:

  1. POST /mapShares to create the share
  2. Call mapeoProject.members.sendMapShare(mapShare)
  3. Listen on /mapShares/:shareId/events
  4. To cancel DELETE /mapShares/:shareId

On Map-sharer side, Core backend:

  1. project.members.sendMapShare(mapShare: MapShare) sends message as extension over project creator core

On Map-receiver side, frontend:

  1. Listen on mapeoProject.on('map-share')
  2. POST /downloads to start downloading or reject
  3. listen on GET /downloads/:downloadId/events for progress
  4. To cancel DELETE /downloads/:shareId

On Map-receiver side, backend:

  1. Listen on project creator core for mapShare extension messages, then emit event map-share

The rest of the backend code will all be in the map server, e.g. in the map server on the receiver, POST /downloads will start a download from GET /mapShares/:mapShareId on the map-sharer, and stream events to any connections to GET /downloads/:downloadId/events

@gmaclennan gmaclennan self-assigned this Dec 5, 2025
@socket-security
Copy link

socket-security bot commented Dec 5, 2025

@socket-security
Copy link

socket-security bot commented Dec 5, 2025

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm safer-buffer is 94.0% likely obfuscated

Confidence: 0.94

Location: Package overview

From: package-lock.jsonnpm/[email protected]npm/[email protected]

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at [email protected].

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/[email protected]. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@gmaclennan gmaclennan force-pushed the feat/initial-implementation branch from 60f488d to 0bd8a1e Compare December 10, 2025 15:18
@gmaclennan gmaclennan changed the title WIP: reader-watch & tests WIP: initial implementation Dec 10, 2025
@gmaclennan
Copy link
Member Author

replaced with #3

@gmaclennan gmaclennan closed this Dec 16, 2025
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