Skip to content

Sync with upstream (spacebarchat/server)#134

Merged
erkinalp merged 61 commits intodefaultfrom
devin/1771167016-sync-upstream
Feb 15, 2026
Merged

Sync with upstream (spacebarchat/server)#134
erkinalp merged 61 commits intodefaultfrom
devin/1771167016-sync-upstream

Conversation

@devin-ai-integration
Copy link

Sync with upstream (spacebarchat/server)

Summary

Merges the latest changes from spacebarchat/server (upstream) into the default branch. This brings in ~59 upstream commits including:

  • Build system overhaul: CommonJS → NodeNext modules, vendored lambert-server, dropped missing-native-js-functions
  • Major dependency updates: Express v4→v5, file-type v16→v21, bcrypt v5→v6, nodemailer v6→v7, TypeORM v0.3.26→v0.3.28, and many more
  • Docker/CI: Replaced Dockerfile with Nix-based Docker builds
  • Admin API: New C# admin API in extra/admin-api/
  • New features: Settings protos, cloud attachments, message preloading, interactions (incomplete), automod improvements, guild discovery fields, ZSTD gateway compression
  • Bug fixes: nodemailer import fix, SMTP smarthost support, referenced message polyfill optimization (Message.fillReplies), vanity URLs

Merge resolution details:

  • Message.ts: Added upstream's fillReplies() static method and toJSON(shallow) parameter while preserving fork's reply_ids and withSignedAttachments. Changed upstream's || null to || undefined in fillReplies to match the existing referenced_message?: Message type.
  • messages/index.ts: Removed the inline polyfill block (now handled by Message.fillReplies() called earlier), preserved fork's populateForwardLinks.
  • Translation.ts: Added as unknown as RequestHandler cast to fix Express v5 type incompatibility with i18next-http-middleware.
  • assets/openapi.json and assets/schemas.json: Regenerated by pre-commit hook after merge.

Review & Testing Checklist for Human

  • Verify Message.fillReplies behavior: The upstream used || null but I changed to || undefined to satisfy the referenced_message?: Message type. Confirm undefined behaves correctly downstream (in toJSON, gateway dispatch, and client rendering of replies).
  • Check toJSON output completeness: The merged toJSON now includes reply_ids (fork), pinned, thread, referenced_message (upstream). Verify no fields are missing or duplicated vs. what clients expect.
  • Test Translation.ts cast: The as unknown as RequestHandler cast works at runtime but masks a real type mismatch between i18next-http-middleware and Express v5. Verify i18n middleware still functions (test with a non-English locale).
  • Client smoke test: Connect a Discord-compatible client to a local instance and verify: message sending/receiving, reply rendering, message pinning, guild creation, and attachment uploads all work.
  • Verify fork-specific features still work: Lobby endpoints, volatile mode, forward links (populateForwardLinks), custom message routing, and PIN_MESSAGES permission split.

Notes

  • Requested by: @erkinalp
  • Link to Devin run: https://app.devin.ai/sessions/c8fac0e50e164129ba446e3cff4e32ea
  • The pre-commit hooks (tsc, eslint, prettier, schema/openapi generation) all passed locally.
  • No end-to-end testing was performed; only TypeScript compilation and linting were verified.
  • The upstream has a "no AI contributions" policy, but this fork does not, so this merge is acceptable here.

@devin-ai-integration
Copy link
Author

Original prompt from Erkin
@erkinalp/anticensor sync with upstream

You only need to look in the following repo: erkinalp/anticensor

@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@erkinalp erkinalp removed their assignment Feb 15, 2026
@erkinalp erkinalp merged commit 72861bf into default Feb 15, 2026
2 checks passed
@erkinalp erkinalp deleted the devin/1771167016-sync-upstream branch February 15, 2026 18:58
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.

6 participants