Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/fix-emoji-sync-upstream-1183.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
default: patch
---

Pull in upstream `v1.18.3` emoji updates, refresh Twemoji and emoji detection data, and fix Charm's remaining inline and picker emoji alignment regressions on mobile.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Sable Client Changelog

## 1.18.3 (2026-06-17)

### Fixes

* Fixed broken Twemoji rendering and updated emoji picker, autocomplete, and jumbo detection for new emojis. ([#957](<https://github.com/SableClient/Sable/pull/957>) by @7w1)
* Updated various dependencies. ([#957](<https://github.com/SableClient/Sable/pull/957>) by @7w1)

## 1.18.2 (2026-06-17)

### Fixes
Expand Down
4 changes: 2 additions & 2 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

nixConfig = {
bash-prompt = "\\[\\e[1;35m\\]sable\\[\\e[0m\\]"; # bold magenta
bash-prompt-suffix = " \\[\\e[0;36m\\]>\\[\\e[0m\\] "; # cyan >
bash-prompt-suffix = " \\[\\e[0;36m\\]>\\[\\e[0m\\] "; # cyan >
};

outputs =
Expand Down Expand Up @@ -118,7 +118,7 @@

android = pkgs.mkShell {
name = "sable dev environment (android)";
inherit (baseShell) nativeBuildInputs buildInputs; # <-- shellHook removed here
inherit (baseShell) nativeBuildInputs buildInputs;

packages = baseShell.packages ++ (with pkgs; [
jdk
Expand Down
90 changes: 48 additions & 42 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,88 +39,89 @@
"lint:normalize-imports": "node scripts/normalize-imports.js"
},
"dependencies": {
"@arborium/arborium": "^2.16.0",
"@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
"@arborium/arborium": "^2.18.0",
"@atlaskit/pragmatic-drag-and-drop": "^1.8.1",
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^1.4.0",
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.1.0",
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.2.0",
"@fontsource-variable/nunito": "5.2.7",
"@fontsource/space-mono": "5.2.9",
"@phosphor-icons/react": "^2.1.10",
"@sableclient/tauri-plugin-notifications-api": "git+https://github.com/SableClient/tauri-plugin-notifications.git#9d15b2b2c8798dc29ce723d743f0f3b4921d6a54",
"@sableclient/twemoji-font": "^1.0.2",
"@sentry/react": "^10.43.0",
"@tanstack/react-query": "^5.90.21",
"@tanstack/react-query-devtools": "^5.91.3",
"@tanstack/react-virtual": "^3.13.19",
"@sableclient/twemoji-font": "^1.0.3",
"@sentry/react": "^10.58.0",
"@tanstack/react-query": "^5.101.0",
"@tanstack/react-query-devtools": "^5.101.0",
"@tanstack/react-virtual": "^3.14.3",
"@tauri-apps/api": "2.11.0",
"@tauri-apps/plugin-deep-link": "2.4.9",
"@tauri-apps/plugin-http": "2.5.9",
"@tauri-apps/plugin-opener": "2.5.4",
"@tauri-apps/plugin-os": "2.3.2",
"@tauri-apps/plugin-store": "^2.4.3",
"@use-gesture/react": "10.3.1",
"@vanilla-extract/css": "^1.18.0",
"@vanilla-extract/css": "^1.20.1",
"@vanilla-extract/recipes": "^0.5.7",
"@vanilla-extract/vite-plugin": "^5.1.4",
"@vanilla-extract/vite-plugin": "^5.2.2",
"await-to-js": "^3.0.0",
"badwords-list": "^2.0.1-4",
"badwords-list": "2.0.1-4",
"blurhash": "^2.0.5",
"browser-encrypt-attachment": "^0.3.0",
"chroma-js": "^3.2.0",
"classnames": "^2.5.1",
"dayjs": "^1.11.21",
"domhandler": "^5.0.3",
"dompurify": "^3.4.9",
"emojibase": "^15.3.1",
"emojibase-data": "^15.3.2",
"dompurify": "^3.4.10",
"emoji-regex": "^10.6.0",
"emojibase": "^17.0.0",
"emojibase-data": "^17.0.0",
"eventemitter3": "^5.0.4",
"file-saver": "^2.0.5",
"focus-trap-react": "^10.3.1",
"folds": "^2.6.2",
"html-dom-parser": "^5.1.8",
"html-react-parser": "^4.2.10",
"i18next": "^25.8.13",
"i18next": "^25.10.10",
"i18next-browser-languagedetector": "^8.2.1",
"i18next-http-backend": "^3.0.5",
"i18next-http-backend": "^2.7.3",
"immer": "^9.0.21",
"is-hotkey": "^0.2.0",
"jotai": "^2.18.0",
"katex": "^0.16.45",
"jotai": "^2.20.1",
"katex": "^0.16.47",
"leaflet": "1.9.4",
"linkify-react": "^4.3.3",
"linkifyjs": "^4.3.3",
"marked": "^18.0.5",
"matrix-js-sdk": "^38.4.0",
"matrix-widget-api": "^1.16.1",
"matrix-widget-api": "^1.17.0",
"minisearch": "7.2.0",
"motion": "12.35.0",
"pdfjs-dist": "^5.4.624",
"pdfjs-dist": "^5.7.284",
"react": "^18.3.1",
"react-aria": "^3.46.0",
"react-aria": "^3.49.0",
"react-blurhash": "^0.3.0",
"react-colorful": "^5.7.0",
"react-dom": "^18.3.1",
"react-google-recaptcha": "^2.1.0",
"react-i18next": "^16.5.4",
"react-i18next": "^16.6.6",
"react-leaflet": "^4.2.1",
"react-range": "^1.10.0",
"react-router-dom": "^6.30.3",
"slate": "^0.123.0",
"slate-dom": "^0.123.0",
"react-router-dom": "^6.30.4",
"slate": "^0.124.1",
"slate-dom": "^0.124.1",
"slate-history": "^0.113.1",
"slate-react": "^0.123.0",
"slate-react": "^0.124.2",
"ua-parser-js": "^1.0.41",
"virtua": "^0.49.1",
"workbox-precaching": "^7.4.0"
"workbox-precaching": "^7.4.1"
},
"devDependencies": {
"@cloudflare/vite-plugin": "^1.26.0",
"@cloudflare/vite-plugin": "^1.41.0",
"@esbuild-plugins/node-globals-polyfill": "^0.2.3",
"@playwright/test": "^1.61.0",
"@rollup/plugin-inject": "^5.0.5",
"@rollup/plugin-wasm": "^6.2.2",
"@sableclient/sable-call-embedded": "v1.1.4",
"@sentry/vite-plugin": "^5.1.1",
"@sableclient/sable-call-embedded": "1.1.4",
"@sentry/vite-plugin": "^5.3.0",
"@tauri-apps/cli": "2.11.0",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.2",
Expand All @@ -130,28 +131,33 @@
"@types/is-hotkey": "^0.1.10",
"@types/leaflet": "^1.9.21",
"@types/node": "24.10.13",
"@types/react": "^18.3.28",
"@types/react": "^18.3.31",
"@types/react-dom": "^18.3.7",
"@types/react-google-recaptcha": "^2.1.9",
"@types/ua-parser-js": "^0.7.39",
"@vitejs/plugin-react": "^5.1.4",
"@vitest/coverage-v8": "^4.1.0",
"@vitest/ui": "^4.1.0",
"@vitejs/plugin-react": "^5.2.0",
"@vitest/coverage-v8": "^4.1.9",
"@vitest/ui": "^4.1.9",
"buffer": "^6.0.3",
"cloudflared": "^0.7.1",
"jsdom": "^29.0.0",
"jsdom": "^29.1.1",
"knip": "5.85.0",
"oxfmt": "^0.45.0",
"oxlint": "^1.70.0",
"oxlint-tsgolint": "^0.21.0",
"oxlint-tsgolint": "^0.23.0",
"typescript": "^5.9.3",
"vite": "^7.3.1",
"vite-plugin-compression2": "2.5.0",
"vite-plugin-pwa": "^1.2.0",
"vite-plugin-static-copy": "^3.2.0",
"vite": "^7.3.5",
"vite-plugin-compression2": "^2.5.3",
"vite-plugin-pwa": "^1.3.0",
"vite-plugin-static-copy": "^3.4.0",
"vite-plugin-svgr": "4.5.0",
"vite-plugin-top-level-await": "^1.6.0",
"vitest": "^4.1.0",
"wrangler": "^4.70.0"
"vitest": "^4.1.9",
"wrangler": "^4.101.0"
},
"pnpm": {
"overrides": {
"jsdom>undici": "^7.28.0"
}
}
}
Loading
Loading