Skip to content

New Website, Branding & UX Improvements, Security Hardening, and Security Patches - #69

Merged
Skyfay merged 9 commits into
mainfrom
dev
Jul 30, 2026
Merged

New Website, Branding & UX Improvements, Security Hardening, and Security Patches#69
Skyfay merged 9 commits into
mainfrom
dev

Conversation

@Skyfay

@Skyfay Skyfay commented Jul 30, 2026

Copy link
Copy Markdown
Owner

No description provided.

Skyfay and others added 8 commits July 30, 2026 19:49
Replaced `pnpm outdated --recursive` with a dedicated `scripts/check-updates.sh` runner and wired it to `pnpm update:check`. The new script checks each workspace package separately, prints clearer per-package results, adds a final summary of packages with available updates, and exits successfully even when updates are found. Updated the changelog under CI/CD to document the behavior change.
This adds a secure `/branding/` static middleware with `BRANDING_DIR` support, path and symlink containment checks, image allowlisting, and stronger `CUSTOM_LOGO` validation including warnings for external hosts. On the web side, it introduces optional local upload renaming in My Uploads, improves download UX by unlocking metadata before transfer, reusing derived secrets to avoid redundant password work, and keeps password errors visible on repeated attempts. It also includes logo fallback handling, scroll and filename readability fixes, updated i18n strings, expanded tests, and related environment and self-hosting docs updates.
Upgrades vulnerable packages across the monorepo, including hono and @hono/node-server on the server, dompurify and react-router on the web app, and next/next-mdx-remote/eslint-config-next on the docs site. Web routing imports were switched from react-router-dom to react-router to match the dependency change. Root pnpm overrides were tightened for postcss, sharp, and brace-expansion, an unused autoprefixer dependency was removed, and the changelog now documents the security advisories addressed.
Replaced the old `.github` Copilot/agent instruction files with a full `CLAUDE.md` guide system at the repo root and per workspace (`apps/*`, `packages/crypto`, `docs`, `website`, `workers`), plus a new Claude skill for adding known error toasts. Updated `.gitignore` to keep shared `.claude` agents/skills tracked while leaving personal config local, and updated docs references that previously pointed to deleted instruction files. Also added a changelog note for the client TUI fix that correctly displays unlimited note view limits as `∞`.
Recover file, note, and legacy download links when a mail security gateway percent-encodes the fragment into the path, warn recipients that the key was exposed, and add coverage for the toast timing that makes that warning visible. On the server, replace the default request logger with a redacting wrapper so rewritten links cannot leak keys into app logs, and document the proxy and threat-model implications.
Expand the threat model and troubleshooting guidance for mail gateway link rewriting. The docs now spell out which pieces an instance operator could access, why deletion is limited when backups exist, and how a separately shared password preserves zero-knowledge protection.
Sync the 2.12.0 release version across the root workspace and packages, including the client's exported APP_VERSION. Finalize the changelog by promoting vNEXT to the released 2.12.0 entry and update the published Docker tags for the release.
@gitguardian

gitguardian Bot commented Jul 30, 2026

Copy link
Copy Markdown

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@codecov

codecov Bot commented Jul 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Adds edge-case coverage across server and web tests: branding static handling now covers unserved directory-like asset paths, encoded traversal/malformed URLs, broad mount behavior, and blocked directory creation. Hook tests add unlock error-path regressions in `useDownload` and ensure `renameUpload` only updates the targeted row in `useUploadHistory`. Root ESLint config now excludes `website/` and package scripts run website lint separately to avoid the ESLint 10 vs Next plugin conflict.
@Skyfay
Skyfay merged commit ceeaac1 into main Jul 30, 2026
9 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