Compare commits

...

351 Commits

Author SHA1 Message Date
SpiritCroc
eff14caec3 Upstream 1.11.95 2025-03-15 16:56:27 +01:00
SpiritCroc
a9f81d8ebe Bump to 1.11.90 2025-01-16 09:00:26 +01:00
SpiritCroc
a1299ffb15 Bump to v1.11.89 2024-12-19 11:00:38 +01:00
SpiritCroc
240975cfe6 Update to Element v1.11.88 2024-12-17 18:10:32 +01:00
SpiritCroc
59fab598d2 Update to upstream v1.11.87 2024-12-03 19:56:44 +01:00
SpiritCroc
f8ecb305f6 Drop caption fixup patch
Has been added upstream in v1.11.87
2024-12-03 19:52:46 +01:00
SpiritCroc
dfbb5e7fc7
Merge pull request #274 from luixxiul/icon_gen.sh
Replace element-app-logo.png
2024-12-01 20:38:01 +01:00
Suguru Hirahara
10bc489f2b
Replace element-app-logo.png
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2024-12-01 12:53:44 -05:00
SpiritCroc
459c1f7630 Disable showing people in spaces by default 2024-11-30 19:48:17 +01:00
SpiritCroc
40203b4ed7 Update IRC improvement patch
Includes https://github.com/SchildiChat/element-web/pull/5
2024-11-29 13:28:59 +01:00
SpiritCroc
c03ef20e5d RELEASE.md: Fix wrong make target name 2024-11-27 16:58:39 +01:00
SpiritCroc
e718080611 Cherry-pick search fix from upstream develop 2024-11-25 14:11:50 +01:00
SpiritCroc
e30832e7f8 Add IRC layout community contribution
Closes https://github.com/SchildiChat/schildichat-desktop/pull/269

Co-authored-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2024-11-23 12:10:01 +01:00
SpiritCroc
ba3cf70b3b Upstream v1.11.86 2024-11-23 11:26:04 +01:00
SpiritCroc
491ad5ac75 Upstream v1.11.85 2024-11-13 15:07:08 +01:00
SpiritCroc
122f9d3033 Upstream v1.11.84 2024-11-10 12:03:00 +01:00
SpiritCroc
735143f88b [HACK] Get captions to show in bubble layout again
Timestamp position is bad with this, and probably has other bugs now too
2024-10-31 17:35:34 +01:00
SpiritCroc
86812e67e0 push_current_sc_branches.sh: Exclude compound for now 2024-10-30 19:46:24 +01:00
SpiritCroc
aa69433842 Upstream v1.11.84-rc.0: Get rid of matrix-react-sdk 2024-10-30 19:43:20 +01:00
SpiritCroc
9f65d55aad Upstream 1.11.83 2024-10-29 17:12:51 +01:00
SpiritCroc
82bcf74d8e apply_patches.sh: Re-enable element-web 2024-10-29 17:04:30 +01:00
SpiritCroc
44ea087c1a Schildify login screen a bit better 2024-10-27 20:11:15 +01:00
SpiritCroc
720ec98278 Enable chat previews by default 2024-10-27 19:27:04 +01:00
SpiritCroc
17c8d2e7f4 Properly .gitignore and make clean sc-cpd-overrides.css 2024-10-26 09:33:05 +02:00
SpiritCroc
840d1f60ea Fork compound-web and make tooltip design less bad 2024-10-25 18:35:10 +02:00
SpiritCroc
5bda6c96d6 Fix tray icon after upstream merge 2024-10-22 20:10:23 +02:00
SpiritCroc
ba6fe489e3 Upstream v1.11.82 2024-10-22 19:59:07 +02:00
SpiritCroc
f9686103b7 Remove caption patch that upstream merged, and squash SC CSS patches 2024-10-22 19:13:11 +02:00
SpiritCroc
a18b08ff06 Rename web app on release
Don't know why it's being called element right now, but we can rename
it afterwards anyway
2024-10-21 21:22:00 +02:00
SpiritCroc
d08d00eb09 Get Fedora-based build to work again 2024-10-21 20:20:28 +02:00
SpiritCroc
6b2b1a6968 Update README 2024-10-20 18:16:01 +02:00
SpiritCroc
c6286dafc7 Add dedicated linux-container-release make target
Windows targets should be compiled on windows natively
2024-10-20 17:15:27 +02:00
SpiritCroc
630f4f786e Fix webapp compile on Windows 2024-10-20 17:01:12 +02:00
SpiritCroc
a8eb3ece19 Stop requiring webapp symlink
Causes issues on Windows-native compile
2024-10-20 15:35:27 +02:00
SpiritCroc
85546de7b7 Fix rpm build with debian 2024-10-20 15:32:25 +02:00
SpiritCroc
8e8d874236 Prepare prerelease 2024-10-19 17:26:17 +02:00
SpiritCroc
70a053f7d9 Update containers and fix some release builds 2024-10-19 17:25:46 +02:00
SpiritCroc
a8f231f80f Remove outdated publish_release.sh
This script pushes branches in the old style, use
push_current_sc_branches.sh instead.
2024-10-19 15:35:40 +02:00
SpiritCroc
8069120847 Tweak dark theme text colors a bit more 2024-10-18 18:15:42 +02:00
SpiritCroc
915e74ae7a Enable custom emote rendering by default 2024-10-17 19:41:46 +02:00
SpiritCroc
d9984f6f40 Better dark theme secondary text color 2024-10-17 19:37:44 +02:00
SpiritCroc
f00efcb568 Switch to less aggressive hover color 2024-10-17 19:24:05 +02:00
SpiritCroc
8f8ba87d7c Keep naming it SchildiChatAlpha to separate .config dirs from old 2024-10-17 18:34:46 +02:00
SpiritCroc
c66d4c4371 push_current_sc_branches.sh: Allow passing arguments to git push 2024-10-17 18:34:16 +02:00
SpiritCroc
f9c56fa484 Don't welcome to Element 2024-10-17 18:21:24 +02:00
SpiritCroc
522095b79e Rebase to v1.11.81 2024-10-17 18:11:47 +02:00
SpiritCroc
dba9c78816 Rename binary to schildichat-desktop-alpha
This will be the official successor to old schildichat-desktop builds,
so drop "lite" from any user-facing naming.
2024-10-17 18:06:19 +02:00
SpiritCroc
7fbca648df Always show timestamps by default 2024-10-13 13:53:24 +02:00
SpiritCroc
a130372946 Fix missed element logo svg for icon_gen.sh 2024-10-13 13:46:34 +02:00
SpiritCroc
239da124ad Always round corners for message bubbles 2024-10-13 13:30:45 +02:00
SpiritCroc
3b246ff33f Update patches with more theme tweaks 2024-10-13 13:07:44 +02:00
SpiritCroc
0e85ad2ccb Try out some darker background 2024-10-13 13:03:21 +02:00
SpiritCroc
df81140151 Initial compound-based SC theme bringup 2024-10-13 12:33:26 +02:00
SpiritCroc
fc0edf9dca Update to 1.11.80 2024-10-09 08:04:03 +02:00
SpiritCroc
8de7f8f846 Some more tooling updates & Update to v1.11.79 2024-10-06 17:29:45 +02:00
SpiritCroc
4c8f9de4e8 Re-enable auto-commit for icons and theme 2024-10-06 17:11:27 +02:00
SpiritCroc
ebc3498510 Checkout release-specific branch names in our repos 2024-10-06 12:26:39 +02:00
SpiritCroc
c7181068c6 [TMP] Disable automatic commit for now
Need to revise how we do branches
2024-10-06 12:19:47 +02:00
SpiritCroc
055866f599 Update upstream remote for add_upstream 2024-10-06 12:16:19 +02:00
SpiritCroc
b214e8d568 Bump patches to 1.11.77 2024-09-10 17:59:46 +02:00
SpiritCroc
2ff1578a57 Automatic theme update 2024-09-10 17:58:07 +02:00
SpiritCroc
983cba224f [WIP] Add back theming 2024-09-01 21:15:31 +02:00
SpiritCroc
4696cee8c4 Add back icon generation 2024-08-30 19:54:55 +02:00
SpiritCroc
f3b47d4f38 Stop the search bar wobble to restore my sanity 2024-08-19 20:33:08 +02:00
SpiritCroc
642da40810 Update patches to v1.11.74 2024-08-18 11:51:12 +02:00
SpiritCroc
94c72f7f45 generate_patches.sh: Remove accidentally commited hardcoded value 2024-08-18 11:50:42 +02:00
SpiritCroc
a49c66538c Make merge_helpers.sh smarter if you have the commit around 2024-08-18 11:45:47 +02:00
SpiritCroc
a23614d3de Update patches to 1.11.73 2024-08-07 08:21:27 +02:00
SpiritCroc
b04c8cc063 Move apply_patches to its own script 2024-08-07 08:06:46 +02:00
SpiritCroc
977e955265 Do not add spaces spaces to breadcrumbs 2024-06-21 20:10:03 +02:00
SpiritCroc
2c65d8e567 Update README.md for the curious 2024-06-01 10:37:41 +02:00
SpiritCroc
1489beb322 Show space overview on space switch 2024-05-30 15:07:55 +02:00
SpiritCroc
34c14329f2 Add back wider width limit for text reactions 2024-05-29 20:05:42 +02:00
SpiritCroc
a670bf6bea Add back freeform reactions 2024-05-29 19:35:18 +02:00
SpiritCroc
108a76376c Include DMs in space unread counts 2024-05-26 11:59:51 +02:00
SpiritCroc
0fb8fa0931 Update patches 2024-05-10 19:03:54 +02:00
SpiritCroc
634049ce7a Exclude reactions from room previews 2024-05-09 09:39:30 +02:00
SpiritCroc
649a7f00bf Add FEATURES.md 2024-05-09 09:36:23 +02:00
SpiritCroc
511c1c8da8 Render captions 2024-05-09 09:33:20 +02:00
SpiritCroc
8b9c72584b merge_upstream.sh: Do not recreate patches by default 2024-05-09 09:31:24 +02:00
SpiritCroc
11adc81230 Do not sort muted chats at the bottom 2024-05-08 15:36:09 +02:00
SpiritCroc
9242672525 merge_upstream.sh: Add flag to skip patch generation
Also checkout upstream/master for all repos until we push our own again.
2024-05-07 08:33:48 +02:00
SpiritCroc
b0d22fba6b Update config overlays 2024-05-06 20:18:53 +02:00
SpiritCroc
6a6c997c1c Merge remote-tracking branch 'origin/sc' into lite 2024-05-05 16:39:14 +02:00
SpiritCroc
b059c2f83d Update setup.sh for seshat 2024-05-05 13:30:23 +02:00
SpiritCroc
8f70dea230 Automate rebase with patches 2024-05-05 11:29:58 +02:00
SpiritCroc
eb706739a9 Update patches: disable sticky rooms, bring back unified room list 2024-05-05 11:29:04 +02:00
SpiritCroc
f67822feab merge_upstream.sh --checkout: re-apply our patches 2024-05-05 09:32:17 +02:00
SpiritCroc
b353040947 Collect MVP patches for rebase 2024-05-05 09:07:33 +02:00
SpiritCroc
a95402e0a7 Import theme.sh from matrix-react-sdk
Original history:

    commit 3ac1d305c420a23cab13c4f1756742663dddfe5a
    Author: su-ex <codeworks@supercable.onl>

        Make linter happier

    commit 1cea13f3c55f353fd3bac1110214de54ba3d6ade
    Author: su-ex <codeworks@supercable.onl>

        Make linter happier

    commit a29fbec8465ed803e44c386395bf81945b417175
    Author: su-ex <codeworks@supercable.onl>

        Fix codeblock background and border

    commit 0f9478f023f050a46788a4cb8a988d7a80afe57b
    Merge: a1e6fe4d42 1f3ad86106
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.65.0' into sc

    commit ae33cfe40daa995ff4944b5a6d53a3fbfcd824e2
    Merge: be6ad48996 8219e44596
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.64.1' into sc

    commit 8126c80e45eefac0a2e42381c45461552ac7521f
    Merge: 4e56372068 cf36acaa41
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.63.0' into sc

    commit 98e270faeb43e823bb04d9ee75883fd41adfc1c4
    Author: su-ex <codeworks@supercable.onl>

        theme.sh: scss --> pcss

    commit 8513eaa1390922f05d498c8490737be95c6b5ce8
    Author: su-ex <codeworks@supercable.onl>

        Change red the second

    commit 002d1365346f53261cf67427f383aea85655b3b3
    Author: su-ex <codeworks@supercable.onl>

        Better pill and alert colors

    commit 1ad4250029b8c3a06d588d80b1e06a9a051e48e0
    Merge: 158486173b b5fdf11a03
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.45.0' into sc

    commit c1a277047410e74ae24d3737fe514c7579f98878
    Author: su-ex <codeworks@supercable.onl>

        Fix themes
        - Rebase on Element
        - Better pills

    commit 6e73e67e7e98b3b35804aafa1349b38ad66eac08
    Author: su-ex <codeworks@supercable.onl>

        Fix $presence-offline not visible with light theme if room tile selected

    commit 9092353573307888b64fa1d0b841b43520b26e20
    Author: su-ex <codeworks@supercable.onl>

        theme.sh: Move clean git state check inside correct folder

    commit 6dd1575cadda61502eb509757182377c06adfd27
    Merge: d30537548c cc296ef3da
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.42.1' into sc

    commit f3da66ac6aec0e726f37dc114466642e907b9cf5
    Author: su-ex <codeworks@supercable.onl>

        Allow theme.sh being run without commit

    commit 44fce0c9120bd29ac4d2673589c56d05f2dc5aeb
    Author: su-ex <codeworks@supercable.onl>

        More pill stuff:
        - Consider custom themes
        - Same colors for other users and rooms
        - Less lighter dark bg

    commit 0b012f748750db67f1618c4aeb1b16c87403fb41
    Author: su-ex <codeworks@supercable.onl>

        Make pill background actually lighter tham the background with the dark theme

    commit c1cde5ad305610245af6c155dbddfb17e2962e24
    Author: su-ex <codeworks@supercable.onl>

        Fix other user pills not visible with dark theme

    commit 973ddf8edc3fd4583961c65909bbc279dc36f847
    Merge: 56b7e84a4c b856083716
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.36.0' into sc

    commit 515ee58343ac057ccaea75476377078f5ff99bc0
    Merge: ae37a2dc79 bb55c76d81
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.35.1' into sc

    commit c6f67a0bce737e2d3f19bda4e07dab91e6b8fd33
    Merge: 9e709b6699 27e2faaf64
    Author: su-ex <codeworks@supercable.onl>

        Merge tag 'v3.34.0' into sc

    commit 3c6579e953662e46454b5e3140ad37262d34709c
    Author: su-ex <codeworks@supercable.onl>

        theme.sh update

    commit 7bf38e0802b549184158c049a3c2efc162cb4b8e
    Author: su-ex <codeworks@supercable.onl>

        Some after merge fixes

    commit e2d95dab547d944c4b4c04aac8c52cedcafddd4e
    Merge: 8ee39e7f15 e4f27f04b9
    Author: su-ex <codeworks@supercable.onl>

        Merge remote-tracking branch 'upstream/master' into sc

    commit 508e1653131481bde34b70c7737e5c1f09d5cb2a
    Merge: 351fd94451 e77f7319f2
    Author: su-ex <codeworks@supercable.onl>

        Merge remote-tracking branch 'upstream/master' into sc

    commit 525337fd829e5f778fcab8de68a5fcb078ab8c38
    Author: su-ex <codeworks@supercable.onl>

        Add some colors to theme.sh

    commit e918256a19bc195fd7bf3afa44144804390d6ff3
    Author: su-ex <codeworks@supercable.onl>

        Don't let automatic theme update fail if there was nothing to commit

    commit 09ce713cecd749c195264f8051572bb0db05b496
    Author: SpiritCroc <dev@spiritcroc.de>

        Fix some theme inconsistencies

    commit 196bed3bf5ce9b006005f32092e6dbc898ac30ce
    Author: SpiritCroc <dev@spiritcroc.de>

        Update theme.sh

    commit 53ad57e118b2c14b8dcc6bf6821dde80df980626
    Author: SpiritCroc <dev@spiritcroc.de>

        Update theme.sh

    commit be4d6751620d73a256337803ad5f9d9b47463c56
    Author: SpiritCroc <dev@spiritcroc.de>

        theme.sh: Improve unread badge bg color

    commit d91294f6ee0b92c37d7770f77f043f82fd1f2b58
    Author: SpiritCroc <dev@spiritcroc.de>

        Add theme.sh
2024-04-27 18:01:16 +02:00
su-ex
a1458b136b
New release v1.11.36-sc.3 2024-02-26 10:57:25 +01:00
su-ex
4b0435ef3b
Fix fedora container build
See: https://stackoverflow.com/a/74330717/4515820
2024-02-26 10:45:34 +01:00
su-ex
48fb86093a
New release v1.11.36-sc.2 2024-02-25 21:01:22 +01:00
su-ex
4dcd73f083
Changed sqlcipher variable name 2024-02-25 20:56:48 +01:00
su-ex
9f8bad4ea5
New release v1.11.36-sc.1 2024-02-25 20:36:56 +01:00
su-ex
ab496f7977
Fully containerized release builds 2024-02-25 20:36:48 +01:00
su-ex
9241a6d044
Use fully qualified name here as well 2024-02-24 22:29:48 +01:00
su-ex
446b55792f
This got lost while rebasing 2024-02-24 22:28:53 +01:00
su-ex
1338cf0604
Fix containerbuilds, also always use host directory as project directory 2024-02-24 21:46:25 +01:00
SpiritCroc
90912a5d07 Fix debian container compile 2024-02-24 20:00:45 +01:00
su-ex
e9faf9ab15
Bump node version from 16 to 18 2024-02-24 19:43:25 +01:00
su-ex
aae0f2868e
New test release v1.11.36-sc.0.test.2 2024-02-24 19:37:16 +01:00
su-ex
5f41b4c654
New test release v1.11.36-sc.0.test.1 2024-02-24 19:21:05 +01:00
su-ex
2597454e96
New test release v1.11.35-sc.0.test.1 2024-02-22 19:56:41 +01:00
su-ex
cb6f6d9901
New test release v1.11.34-sc.0.test.1 2024-02-22 19:24:36 +01:00
su-ex
8cf7414a85
New test release v1.11.33-sc.0.test.2 2023-12-13 02:28:15 +01:00
su-ex
2c9f4caa8b
New test release v1.11.33-sc.0.test.1 2023-12-13 02:28:08 +01:00
SpiritCroc
a2c3639112 Bootstrap schildi-lite 2023-12-03 11:45:56 +01:00
Sebastian Walz
8a1b9ab40f Update flake.lock 2023-11-07 23:24:52 +01:00
su-ex
143bf7af1e
merge-upstream.sh: Allow merging specific version 2023-07-31 15:11:53 +02:00
Xenine
e68cd72772 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (52 of 52 strings)

Translation: SchildiChat/schildichat-deskop/matrix-react-sdk
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/matrix-react-sdk/zh_Hans/
2023-05-15 23:01:59 +00:00
Linerly
3ac88b9132 Translated using Weblate (Indonesian)
Currently translated at 100.0% (52 of 52 strings)

Translation: SchildiChat/schildichat-deskop/matrix-react-sdk
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/matrix-react-sdk/id/
2023-05-09 17:00:37 +00:00
waclaw66
9561c95bb6 Translated using Weblate (Czech)
Currently translated at 100.0% (52 of 52 strings)

Translation: SchildiChat/schildichat-deskop/matrix-react-sdk
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/matrix-react-sdk/cs/
2023-05-09 17:00:37 +00:00
misibacsi
a8be3ffcde Translated using Weblate (Hungarian)
Currently translated at 50.9% (26 of 51 strings)

Translation: SchildiChat/schildichat-deskop/matrix-react-sdk
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/matrix-react-sdk/hu/
2023-05-09 17:00:37 +00:00
su-ex
0ba494e955
Use llvm instead llvm15 for Fedora 2023-04-25 23:53:41 +02:00
su-ex
be44d4a1a6
New release v1.11.30-sc.2 2023-04-25 23:23:49 +02:00
su-ex
f9ab1ef2e0
New release v1.11.30-sc.1 2023-04-25 22:59:51 +02:00
su-ex
1a485faf72
New test release v1.11.29-sc.0.test.3 2023-04-22 12:30:03 +02:00
su-ex
64557e1da9
New test release v1.11.29-sc.0.test.2 2023-04-22 12:25:57 +02:00
su-ex
5122f0e870
Add missing string for freeform reactions 2023-04-22 12:25:57 +02:00
SpiritCroc
0eb99a6a60 Make fixup: also check if yarn cache is broken and clean it if necessary
If `yarn cache list` fails, this can also lead to weird errors during
fixup, like
```
error /schildichat-desktop/matrix-react-sdk/node_modules/cypress: Command failed.
Exit code: 1
Command: node index.js --exec install
Arguments:
Directory: /schildichat-desktop/matrix-react-sdk/node_modules/cypress
Output:
node:internal/modules/cjs/loader:433
      throw err;
      ^

Error: Cannot find module '/schildichat-desktop/matrix-react-sdk/node_modules/human-signals/build/src/main.js'. Please verify that the package.json has a valid "main" entry
    at tryPackage (node:internal/modules/cjs/loader:425:19)
    at Function.Module._findPath (node:internal/modules/cjs/loader:638:18)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1012:27)
    at Function.Module._load (node:internal/modules/cjs/loader:871:27)
    at Module.require (node:internal/modules/cjs/loader:1098:19)
    at require (node:internal/modules/cjs/helpers:108:18)
    at Object.<anonymous> (/schildichat-desktop/matrix-react-sdk/node_modules/execa/lib/error.js:2:25)
    at Module._compile (node:internal/modules/cjs/loader:1196:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1250:10)
    at Module.load (node:internal/modules/cjs/loader:1074:32) {
  code: 'MODULE_NOT_FOUND',
  path: '/schildichat-desktop/matrix-react-sdk/node_modules/human-signals
```
2023-04-22 10:41:59 +02:00
SpiritCroc
979be00158 Add script to completely reset repos from leftovers 2023-04-22 10:41:59 +02:00
su-ex
10a5112285
ruby fpm also needs its dependencies for Fedora 2023-04-21 12:47:41 +02:00
su-ex
40c598e91b
llvm15 seems to be necessary for Fedora 38 with rust 2023-04-21 12:37:58 +02:00
su-ex
1e0e3b718c
New test release v1.11.29-sc.0.test.1 2023-04-21 12:32:00 +02:00
misibacsi
219c0e3cf7 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/schildichat-deskop/element-desktop
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/element-desktop/hu/
2023-04-20 21:06:03 +00:00
Michele Agostinelli
0ecdbb1bb8 Translated using Weblate (Italian)
Currently translated at 62.7% (32 of 51 strings)

Translation: SchildiChat/schildichat-deskop/matrix-react-sdk
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/matrix-react-sdk/it/
2023-04-07 11:40:28 +00:00
su-ex
c5042532eb
automatic_i18n_adjustment: It's still Element Call 2023-04-07 12:57:44 +02:00
su-ex
b3516d1621
New test release v1.11.28-sc.0.test.1 2023-04-02 02:30:27 +02:00
su-ex
788816299c
New release v1.11.26-sc.1 2023-03-28 20:59:25 +02:00
su-ex
2e3d370c38
New test release v1.11.25-sc.0.test.1 2023-03-16 00:10:51 +01:00
su-ex
d977e5c753
New test release v1.11.24-sc.0.test.1 2023-03-15 21:43:57 +01:00
Felipe Nogueira
0ef609f57b Translated using Weblate (Portuguese (Brazil))
Currently translated at 82.3% (42 of 51 strings)

Translation: SchildiChat/schildichat-deskop/matrix-react-sdk
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/matrix-react-sdk/pt_BR/
2023-03-03 19:00:13 +00:00
su-ex
2066ef2623
New test release v1.11.23-sc.0.test.1 2023-03-01 00:21:34 +01:00
waclaw66
b0177a4276 Translated using Weblate (Czech)
Currently translated at 100.0% (51 of 51 strings)

Translation: SchildiChat/schildichat-deskop/matrix-react-sdk
Translate-URL: https://weblate.spiritcroc.de/projects/schildichat/matrix-react-sdk/cs/
2023-02-04 06:42:18 +00:00
su-ex
87e7893d07
New release v1.11.22-sc.1 2023-02-01 20:32:07 +01:00
su-ex
ae4eb4c3da
New test release v1.11.22-sc.0.test.1 2023-02-01 16:51:20 +01:00
su-ex
32f58e1c3f
New test release v1.11.20-sc.0.test.1 2023-01-30 23:43:21 +01:00
su-ex
db908634ea
New test release v1.11.19-sc.0.test.1 2023-01-19 18:22:08 +01:00
su-ex
965a3b2d0e
New test release v1.11.17-sc.0.test.1 2023-01-15 13:18:24 +01:00
su-ex
775fb00b75
Adjust default config.json to changed property names 2023-01-15 12:31:07 +01:00
SpiritCroc
9d4602fea6 Add stale automation github action 2022-12-23 10:14:00 +01:00
su-ex
eb17c2ad94
New test release v1.11.16-sc.0.test.1 2022-12-06 20:08:30 +01:00
su-ex
a4ab5f55c9
New test release v1.11.15-sc.0.test.2 2022-12-04 02:56:38 +01:00
su-ex
fc27cbfd74
Allow building using containers
Co-authored-by: Paarth Shah <mail@shahpaarth.com>

Closes #145
2022-12-04 02:37:55 +01:00
su-ex
51e7d4b67b
New test release v1.11.15-sc.0.test.1 2022-11-26 00:30:33 +01:00
su-ex
92ac040175
Renovate config.json
- default_server_name --> default_server_config
- Add more room directories
2022-11-15 23:39:05 +01:00
su-ex
0bfa5733d5
New test release v1.11.14-sc.0.test.1 2022-11-12 11:28:31 +01:00
su-ex
b6fe959153
Meh, flathub seems to require PRs now 🐐 2022-11-05 22:42:14 +01:00
su-ex
3c405aeaf6
New release v1.11.13-sc.1 2022-11-05 20:22:09 +01:00
su-ex
e26d244c1e
New test release v1.11.13-sc.0.test.1 2022-11-04 21:17:04 +01:00
su-ex
6bc26949c1
New test release v1.11.12-sc.0.test.2 2022-10-30 12:08:59 +01:00
su-ex
e22b6bb031
New test release v1.11.12-sc.0.test.1 2022-10-29 23:41:13 +02:00
autoteelar
ae1e15dcef Translated using Weblate (Japanese)
Currently translated at 1.9% (1 of 51 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/ja/
2022-10-27 11:11:02 +02:00
Weblate
92599de20a Added translation using Weblate (Japanese) 2022-10-26 10:50:50 +02:00
Weblate
c2318080eb Added translation using Weblate (Japanese) 2022-10-26 10:50:49 +02:00
autoteelar
b9d35c0cc1 Added translation using Weblate (Japanese) 2022-10-26 10:50:41 +02:00
su-ex
77fbeb625c
New release v1.11.8-sc.1 2022-09-28 19:49:26 +02:00
su-ex
95d46b08b4
New test release v1.11.6-sc.0.test.3 2022-09-28 14:34:33 +02:00
su-ex
a7c084d6f8
New test release v1.11.6-sc.0.test.2 2022-09-28 13:35:57 +02:00
su-ex
6c5136d844
New test release v1.11.6-sc.0.test.1 2022-09-28 13:08:02 +02:00
Anonimas
fc8900cf13 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (51 of 51 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/lt/
2022-09-17 20:10:47 +02:00
su-ex
e886c4c135
New test release v1.11.5-sc.0.test.1 2022-09-15 17:46:31 +02:00
su-ex
30dc3ba5b9
readme: Debian node 16 2022-09-03 23:11:51 +02:00
su-ex
dfa7921f9a
Makefile: fixup just too useful everywhere 2022-09-03 22:26:58 +02:00
su-ex
cd8998da62
Add script for changelog generation 2022-09-03 22:04:10 +02:00
su-ex
05ff60b4c3
New release v1.11.4-sc.1 2022-09-03 19:02:18 +02:00
su-ex
04cb55d6c3
New test release v1.11.4-sc.0.test.2 2022-09-03 16:29:29 +02:00
su-ex
a2a87f04ca
New test release v1.11.4-sc.0.test.1 2022-09-03 16:08:46 +02:00
su-ex
7f80df5ca6
New test release v1.11.3-sc.0.test.1 2022-08-22 23:33:14 +02:00
Allan Nordhøy
3757d1d7d6 Translated using Weblate (Norwegian Bokmål)
Currently translated at 66.6% (34 of 51 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/nb_NO/
2022-08-04 04:04:39 +02:00
su-ex
2bccbdbe57
New test release v1.11.1-sc.0.test.1 2022-08-01 11:57:31 +02:00
pixelcode
5ce4f71da2 Translated using Weblate (German)
Currently translated at 100.0% (51 of 51 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2022-07-29 11:04:37 +02:00
Linerly
0f691d4dc6 Translated using Weblate (Indonesian)
Currently translated at 100.0% (51 of 51 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/id/
2022-07-17 02:04:32 +02:00
joshua
97d058da1b Translated using Weblate (Swedish)
Currently translated at 100.0% (51 of 51 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2022-07-17 02:04:32 +02:00
waclaw66
a96278bc44 Translated using Weblate (Czech)
Currently translated at 100.0% (51 of 51 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2022-07-17 02:04:31 +02:00
su-ex
8dfcd78f01
New test release v1.11.0-sc.0.test.2 2022-07-14 12:03:01 +02:00
su-ex
c8df36cfc6
Add new strings for sound pack 2022-07-14 12:02:48 +02:00
su-ex
c9333c24d5
New test release v1.11.0-sc.0.test.1 2022-07-07 19:01:48 +02:00
metezd
a89a4bc9e0 Translated using Weblate (Turkish)
Currently translated at 95.8% (46 of 48 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/tr/
2022-06-29 15:04:25 +02:00
metezd
01895fc35c Translated using Weblate (Turkish)
Currently translated at 39.5% (19 of 48 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/tr/
2022-06-26 16:04:24 +02:00
metezd
e0ee5eaaef Translated using Weblate (Turkish)
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/tr/
2022-06-24 10:04:22 +02:00
Weblate
4d6909368b Added translation using Weblate (Turkish) 2022-06-22 09:02:59 +02:00
Weblate
8d2e87e3ff Added translation using Weblate (Turkish) 2022-06-22 09:02:56 +02:00
Weblate
89e4c0444e Added translation using Weblate (Turkish) 2022-06-22 09:02:54 +02:00
Linerly
cddd80ae2a Translated using Weblate (Indonesian)
Currently translated at 100.0% (48 of 48 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/id/
2022-06-21 09:04:22 +02:00
joshua
4650aa2ec1 Translated using Weblate (Swedish)
Currently translated at 100.0% (48 of 48 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2022-06-21 09:04:22 +02:00
waclaw66
6aaa75d991 Translated using Weblate (Czech)
Currently translated at 100.0% (48 of 48 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2022-06-21 09:04:21 +02:00
su-ex
714ea6d9e4
New test release v1.10.15-sc.0.test.2 2022-06-18 19:41:42 +02:00
su-ex
2a4d537607 Translated using Weblate (German)
Currently translated at 100.0% (48 of 48 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2022-06-18 19:40:27 +02:00
su-ex
0595d1d099
Add new border radius strings 2022-06-18 19:23:39 +02:00
su-ex
4349e1116e
New test release v1.10.15-sc.0.test.1 2022-06-16 18:43:13 +02:00
su-ex
b7dfafa250
sqlciper whyever ... 2022-06-09 19:16:41 +02:00
su-ex
50e2b95737
New test release v1.10.14-sc.0.test.1 2022-06-07 16:49:40 +02:00
su-ex
0d28fedcd1
New test release v1.10.13-sc.0.test.3 2022-06-04 19:14:31 +02:00
su-ex
67d0129df1
Update feature list 2022-06-03 10:22:16 +02:00
su-ex
7010bc8eef
New test release v1.10.13-sc.0.test.2 2022-05-30 17:41:41 +02:00
su-ex
a8d635c26f
New test release v1.10.13-sc.0.test.1 2022-05-28 15:22:24 +02:00
su-ex
dffc2ad920
Preemptively add static sqlcipher flag
See: https://github.com/vector-im/element-desktop/blob/develop/docs/native-node-modules.md#statically-linking-libsqlcipher
2022-05-28 14:24:00 +02:00
su-ex
3d5935fc27
Add some Debian build dependencies 2022-05-14 00:26:14 +02:00
su-ex
74127c8d7b
New release v1.10.12-sc.1 2022-05-13 23:01:59 +02:00
su-ex
01506eb519
New test release v1.10.12-sc.0.test.1 2022-05-11 01:56:07 +02:00
su-ex
b6ed8d444b
New test release v1.10.11-sc.0.test.3 2022-05-09 09:42:44 +02:00
su-ex
febe7e7184
Merge remote-tracking branch 'weblate/sc' into sc 2022-05-09 09:41:26 +02:00
su-ex
b110f12655
New test release v1.10.11-sc.0.test.3 2022-05-09 09:37:17 +02:00
Lynn Nakanishi Lin(林中西)
7b8af07aef Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (44 of 44 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/zh_Hans/
2022-05-05 04:55:57 +02:00
su-ex
dbda42b528
New test release v1.10.11-sc.0.test.2 2022-05-01 19:14:00 +02:00
su-ex
921f3c5a0a
New test release v1.10.11-sc.0.test.1 2022-04-30 13:52:59 +02:00
su-ex
72166a9a90
Remove reskindex 2022-04-30 13:48:37 +02:00
su-ex
3b2da6b386
New test release v1.10.10-sc.0.test.3 2022-04-30 11:59:31 +02:00
su-ex
982c2ac09b
New test release v1.10.10-sc.0.test.2 2022-04-30 11:58:48 +02:00
su-ex
58e2f34b63
New test release v1.10.10-sc.0.test.1 2022-04-16 21:36:25 +02:00
su-ex
3d67db61b6
Use signed tags 2022-04-16 21:36:25 +02:00
joshua
ad2fc85f24
Translated using Weblate (Swedish)
Currently translated at 100.0% (44 of 44 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2022-04-16 21:36:25 +02:00
Linerly
a20f05c933
Translated using Weblate (Indonesian)
Currently translated at 100.0% (44 of 44 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/id/
2022-04-16 21:36:25 +02:00
waclaw66
3b5d16de82
Translated using Weblate (Czech)
Currently translated at 100.0% (44 of 44 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2022-04-16 21:36:25 +02:00
su-ex
7b4678e91d
Add Debian signing key to readme 2022-04-16 16:13:26 +02:00
su-ex
fe615fa099
New test release v1.10.8-sc.0.test.2 2022-04-01 17:34:31 +02:00
su-ex
a0f99d1c86
New test release v1.10.8-sc.0.test.1 2022-04-01 13:50:19 +02:00
su-ex
1e90e778bb
Add new string for disabling home meta space 2022-04-01 13:48:40 +02:00
su-ex
0bc5275d14
New test release v1.10.7-sc.0.test.1 2022-03-17 11:14:21 +01:00
Linerly
79ac866bed Translated using Weblate (Indonesian)
Currently translated at 100.0% (43 of 43 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/id/
2022-03-16 23:52:58 +01:00
joshua
bcf9db8b8f Translated using Weblate (Swedish)
Currently translated at 100.0% (43 of 43 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2022-03-07 11:44:58 +01:00
su-ex
dd75a20e7a Translated using Weblate (German)
Currently translated at 100.0% (43 of 43 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2022-03-07 11:44:58 +01:00
waclaw66
c07881ba34 Translated using Weblate (Czech)
Currently translated at 100.0% (43 of 43 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2022-03-07 11:44:58 +01:00
su-ex
3957463f72
New test release v1.10.6-sc.0.test.3 2022-03-07 09:57:07 +01:00
su-ex
d0b9a59e59
Let version bump scripts add tags 2022-03-07 09:55:58 +01:00
su-ex
40694fb207
sqlcipher now statically linked 2022-03-07 09:34:07 +01:00
su-ex
5a232a27db
New test release v1.10.6-sc.0.test.2 2022-03-05 01:40:52 +01:00
su-ex
602d6bcc91
Add string 2022-03-05 01:36:42 +01:00
su-ex
768b648981
New test release v1.10.6-sc.0.test.1 2022-03-05 01:32:50 +01:00
waclaw66
909043215f Translated using Weblate (Czech)
Currently translated at 100.0% (42 of 42 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2022-03-02 17:44:56 +01:00
Linerly
7228bf7fee Translated using Weblate (Indonesian)
Currently translated at 100.0% (42 of 42 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/id/
2022-03-01 09:44:56 +01:00
joshua
84be27839c Translated using Weblate (Swedish)
Currently translated at 100.0% (42 of 42 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2022-03-01 09:44:56 +01:00
su-ex
c655803783
New release v1.10.4-sc.1 2022-02-27 19:45:35 +01:00
su-ex
cf10ad7893
Add string for YouTube embed player option 2022-02-27 19:37:37 +01:00
su-ex
edb8bd0a58
Merge remote-tracking branch 'weblate/sc' into sc 2022-02-27 19:35:03 +01:00
su-ex
605966fc32
Revert "Try Element nightly AUR search in encrypted rooms fix"
This reverts commit fd8bca4d20c642877546e00f7a45fe0bf3af13a3.
2022-02-27 19:24:46 +01:00
su-ex
db1d3e4e8a
Reset AUR bin pkgrel 2022-02-26 11:39:22 +01:00
mezysinc
74bb708796 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (41 of 41 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/pt_BR/
2022-02-17 21:39:01 +01:00
su-ex
3a8eecb023
New test release v1.10.3-sc.0.test.1 2022-02-15 01:36:47 +01:00
su-ex
a689c01b0e
Add map_style_url to sc config 2022-02-15 00:50:29 +01:00
su-ex
7a96f32c3f
New test release v1.10.1-sc.0.test.1 2022-02-01 19:52:34 +01:00
su-ex
867ca2ceaa
local-pkgbuild: Actually fix search in encrypted rooms 2022-01-31 23:52:13 +01:00
su-ex
57be42182b
New test release v1.10.0-sc.0.test.1 2022-01-31 23:19:40 +01:00
su-ex
47e56badc4
New test release v1.9.9-sc.0.test.1 2022-01-26 23:47:55 +01:00
su-ex
9d595d6087
Allow react sdk theme.sh being run without commit 2022-01-26 23:47:11 +01:00
su-ex
c4e17a1bc4
Let sc.0.test.0 be the initial version after a merge 2022-01-17 21:27:44 +01:00
su-ex
3c9487541b
New release v1.9.8-sc.1 2021-12-31 03:48:23 +01:00
su-ex
4a52399ec2
Always run setup to get yarn links in place (again) 2021-12-30 01:20:07 +01:00
su-ex
c27c617d14
New test release v1.9.8-sc.0.test.3 2021-12-30 00:39:29 +01:00
su-ex
764f0767c7
sc update announcement room toast now uses hardcoded alias 2021-12-30 00:39:06 +01:00
su-ex
fd8bca4d20
Try Element nightly AUR search in encrypted rooms fix
https://aur.archlinux.org/cgit/aur.git/commit/?h=element-desktop-nightly-bin&id=ca89fc1f025d30512c53abbe87cff61c7739c69b
2021-12-27 22:35:40 +01:00
su-ex
52bfca57fb
New test release v1.9.8-sc.0.test.2 2021-12-27 22:30:13 +01:00
su-ex
5dfc140993
Let version bumps autocommit everything 2021-12-27 22:29:51 +01:00
su-ex
50dde2a683
Revert "Every build after a merge is a new test build"
This reverts commit 31c746c5d22e260e919ab4afb099d025bc0499b8.
2021-12-27 22:29:13 +01:00
Shahed Hosseini
8ada69cbcd Translated using Weblate (Persian)
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/fa/
2021-12-20 01:06:48 +01:00
su-ex
5aaedf0f19
Update submodules 2021-12-13 17:05:52 +01:00
su-ex
a03a0dd01e
New release v1.9.7-sc.1 2021-12-13 16:55:54 +01:00
su-ex
5a04ec7c3c
New test release v1.9.6-sc.0.test.3 2021-12-13 16:15:38 +01:00
su-ex
718c2a57bd
New test release v1.9.6-sc.0.test.2 2021-12-12 17:19:12 +01:00
su-ex
5abd379edb
Update Debian dependencies for bullseye 2021-12-10 13:27:45 +01:00
Lynn Nakanishi Lin(林中西)
9e03657ec4 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (41 of 41 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/zh_Hans/
2021-12-05 21:06:44 +01:00
su-ex
05e8426172
New release v1.9.5-sc.2 2021-12-03 17:28:50 +01:00
su-ex
8bbae92dce
New release v1.9.5-sc.1 2021-12-03 16:27:05 +01:00
Linerly
8d64b69523 Translated using Weblate (Indonesian)
Currently translated at 100.0% (41 of 41 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/id/
2021-12-03 14:06:43 +01:00
waclaw66
b3623fea39 Translated using Weblate (Czech)
Currently translated at 100.0% (41 of 41 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2021-11-27 14:06:42 +01:00
Weblate
f5d6de5a99 Added translation using Weblate (Bulgarian) 2021-11-26 11:26:24 +01:00
Weblate
a574c196ca Added translation using Weblate (Bulgarian) 2021-11-26 11:26:20 +01:00
Weblate
2b11d57d03 Added translation using Weblate (Bulgarian) 2021-11-26 11:26:17 +01:00
su-ex
ae7e3c11b7 Translated using Weblate (German)
Currently translated at 100.0% (41 of 41 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2021-11-26 01:06:41 +01:00
joshua
eebf90e664 Translated using Weblate (Swedish)
Currently translated at 100.0% (41 of 41 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2021-11-19 14:06:39 +01:00
waclaw66
74d6ac6092 Translated using Weblate (Czech)
Currently translated at 100.0% (41 of 41 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2021-11-19 14:06:38 +01:00
Linerly
71fbf37b8a Translated using Weblate (Indonesian)
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/id/
2021-11-17 18:11:30 +01:00
Linerly
c91c02231d Translated using Weblate (Indonesian)
Currently translated at 100.0% (38 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/id/
2021-11-17 18:11:30 +01:00
SpiritCroc
c1397c5ff1 Add string overlays for mark as (un)read 2021-11-17 16:27:56 +01:00
Lynn Nakanishi Lin
6507aa195d Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/zh_Hant/
2021-11-07 23:06:35 +01:00
Lynn Nakanishi Lin
80d380aa18 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (38 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/zh_Hans/
2021-11-07 23:06:35 +01:00
Lynn Nakanishi Lin
a45d2ec0dc Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/zh_Hans/
2021-11-07 23:06:34 +01:00
Weblate
bab64d3a11 Added translation using Weblate (Chinese (Traditional)) 2021-11-06 22:19:51 +01:00
Weblate
1c3f68a0a2 Added translation using Weblate (Chinese (Traditional)) 2021-11-06 22:19:50 +01:00
Lynn Nakanishi Lin
43bd5860f8 Added translation using Weblate (Chinese (Traditional)) 2021-11-06 22:19:48 +01:00
Weblate
b952f0c90c Added translation using Weblate (Chinese (Simplified)) 2021-11-06 22:15:35 +01:00
Weblate
9bc7439399 Added translation using Weblate (Chinese (Simplified)) 2021-11-06 22:15:27 +01:00
Lynn Nakanishi Lin
59e8830550 Added translation using Weblate (Chinese (Simplified)) 2021-11-06 22:15:24 +01:00
inkhorn
61e5e05bf7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/pt_BR/
2021-10-26 01:06:31 +02:00
inkhorn
7bbeed7e44 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (38 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/pt_BR/
2021-10-26 01:06:30 +02:00
twann
a70fbc26d5 Translated using Weblate (French)
Currently translated at 60.5% (23 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/fr/
2021-10-24 01:06:29 +02:00
Nikita Epifanov
2503792cdb Translated using Weblate (Russian)
Currently translated at 100.0% (38 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/ru/
2021-10-17 01:04:31 +02:00
dc7ia
e72f0869d8 Translated using Weblate (Swedish)
Currently translated at 94.7% (36 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2021-10-17 01:04:31 +02:00
twann
7f11a25859 Translated using Weblate (French)
Currently translated at 21.0% (8 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/fr/
2021-10-17 01:04:31 +02:00
su-ex
5c3fe626cd
bash increment failed this way for whatever reason 2021-10-17 00:49:17 +02:00
su-ex
24803095bb
Don't rely on upstream/master 2021-10-16 23:46:56 +02:00
su-ex
31c746c5d2
Every build after a merge is a new test build 2021-10-14 18:11:21 +02:00
Govindas
079575eb20 Translated using Weblate (Lithuanian)
Currently translated at 50.0% (19 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/lt/
2021-10-11 16:24:31 +02:00
Weblate
db8da648b5 Added translation using Weblate (Indonesian) 2021-10-11 16:24:31 +02:00
Weblate
9240a11f59 Added translation using Weblate (Indonesian) 2021-10-11 16:24:31 +02:00
Weblate
57a5141051 Added translation using Weblate (Indonesian) 2021-10-11 16:24:31 +02:00
waclaw66
37622b25ea Translated using Weblate (Czech)
Currently translated at 100.0% (38 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2021-10-11 16:24:31 +02:00
su-ex
c0e608b2a9
Merge pull request #106 from yu-re-ka/feature-unvendor-yarn2nix
nix: update nixpkgs, unvendor yarn2nix
2021-10-11 15:30:38 +02:00
Yureka
e153a52c84
nix: update nixpkgs, unvendor yarn2nix 2021-10-10 23:36:06 +02:00
su-ex
50d8b024b6
Add helper scripts 2021-10-08 17:03:28 +02:00
su-ex
bfb1270131
New release v1.9.0-sc.1 2021-10-07 23:07:18 +02:00
su-ex
5dcd48b4d5 Translated using Weblate (German)
Currently translated at 100.0% (38 of 38 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2021-10-07 23:00:31 +02:00
su-ex
bd2d3d27a3
Add some sc specific strings 2021-10-07 22:50:36 +02:00
su-ex
a1dcd4c7a3
Merge remote-tracking branch 'weblate/sc' into sc 2021-09-28 17:27:07 +02:00
su-ex
32a1898fc0
Use new helpers in merge script 2021-09-28 17:26:53 +02:00
su-ex
d674744588
Add version helpers
Close #97
Co-authored-by: Finn Behrens <me@kloenk.dev>
2021-09-28 17:23:48 +02:00
su-ex
8ecdbb82b0
Add helpers for overlaying package.json 2021-09-28 12:46:07 +02:00
Weblate
a2d5ca9656 Added translation using Weblate (Vietnamese) 2021-09-27 11:05:12 +02:00
Weblate
307541ac00 Added translation using Weblate (Vietnamese) 2021-09-27 11:05:10 +02:00
Weblate
11cef45048 Added translation using Weblate (Vietnamese) 2021-09-27 11:05:09 +02:00
su-ex
312b0ef380 Translated using Weblate (German)
Currently translated at 100.0% (33 of 33 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2021-09-23 17:54:15 +02:00
waclaw66
9ca2ebb64f Translated using Weblate (Czech)
Currently translated at 100.0% (33 of 33 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2021-09-23 17:54:15 +02:00
waclaw66
a88415936c Translated using Weblate (Czech)
Currently translated at 100.0% (29 of 29 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2021-09-23 17:22:27 +02:00
dc7ia
b3b5688a42 Translated using Weblate (Swedish)
Currently translated at 93.1% (27 of 29 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2021-09-23 17:22:27 +02:00
Vib
48fca325c9 Translated using Weblate (Romanian)
Currently translated at 89.6% (26 of 29 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/ro/
2021-09-23 17:22:27 +02:00
su-ex
e79c17cb87
Add sc specific strings 2021-09-23 17:21:51 +02:00
su-ex
4f8f3eebaa
New release v1.8.5-sc1 2021-09-21 20:56:44 +02:00
su-ex
caaee3f4bf
Restructure release targets and add rpm 2021-09-21 15:18:07 +02:00
su-ex
bd63523d99
Make the different branches even more clear 2021-09-21 15:04:35 +02:00
su-ex
c5d87b2e47
Information about branches 2021-09-21 14:48:36 +02:00
su-ex
bf43efd0f3
Fetch upstream for latest strings 2021-09-18 00:21:21 +02:00
su-ex
737b93d446 Translated using Weblate (German)
Currently translated at 100.0% (29 of 29 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2021-09-17 13:05:58 +02:00
su-ex
af167b4bf0 Translated using Weblate (German)
Currently translated at 100.0% (29 of 29 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2021-09-17 12:57:46 +02:00
Vib
4149d72d02 Translated using Weblate (Romanian)
Currently translated at 53.3% (8 of 15 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/ro/
2021-09-17 12:57:46 +02:00
su-ex
5214a1795e
User name color modes: In direct chats --> For people 2021-09-17 12:57:29 +02:00
su-ex
71535bf430
Add some sc specific strings 2021-09-17 12:33:15 +02:00
Vib
62f491e1c8 Translated using Weblate (Romanian)
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/ro/
2021-09-16 09:17:18 +02:00
Vib
d3a6bba0d1 Translated using Weblate (Romanian)
Currently translated at 6.6% (1 of 15 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/ro/
2021-09-16 09:17:18 +02:00
Weblate
39d2d7eb6b Added translation using Weblate (Romanian) 2021-09-16 09:17:18 +02:00
Weblate
cbcbe0b6f1 Added translation using Weblate (Romanian) 2021-09-16 09:17:18 +02:00
Weblate
7ad043a3e2 Added translation using Weblate (Romanian) 2021-09-16 09:17:18 +02:00
dc7ia
582177aaec Translated using Weblate (Swedish)
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/sv/
2021-09-16 09:17:18 +02:00
dc7ia
001b397053 Translated using Weblate (Swedish)
Currently translated at 100.0% (15 of 15 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/sv/
2021-09-16 09:17:18 +02:00
RandomItalianGuy
953232860f Translated using Weblate (Italian)
Currently translated at 100.0% (1 of 1 strings)

Translation: SchildiChat/element-desktop
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/element-desktop/it/
2021-09-16 09:17:18 +02:00
RandomItalianGuy
a2f955a39a Translated using Weblate (Italian)
Currently translated at 73.3% (11 of 15 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/it/
2021-09-16 09:17:18 +02:00
su-ex
550085f7d6 Translated using Weblate (German)
Currently translated at 100.0% (15 of 15 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/de/
2021-09-16 09:17:18 +02:00
waclaw66
61ddf415f4 Translated using Weblate (Czech)
Currently translated at 100.0% (15 of 15 strings)

Translation: SchildiChat/matrix-react-sdk
Translate-URL: https://weblate.bubu1.eu/projects/schildichat/matrix-react-sdk/cs/
2021-09-16 09:17:18 +02:00
su-ex
769579b766
Merge pull request #98 from yu-re-ka/feature/vendor-yarn2nix
nix: temporarily vendor yarn2nix
2021-09-16 09:17:11 +02:00
Yureka
5ab48849f7
nix: temporarily vendor yarn2nix 2021-09-15 21:06:18 +02:00
Weblate
049377ae8b
Added translation using Weblate (Italian) 2021-09-15 10:08:31 +02:00
Weblate
c301b602f8
Added translation using Weblate (Italian) 2021-09-15 10:08:31 +02:00
Weblate
f2cb4fd658
Added translation using Weblate (Italian) 2021-09-15 10:08:31 +02:00
Weblate
1ff4e15d78
Added translation using Weblate (Swedish) 2021-09-15 10:08:31 +02:00
Weblate
501c88aae8
Added translation using Weblate (Swedish) 2021-09-15 10:08:31 +02:00
Weblate
51d92e8f54
Added translation using Weblate (Swedish) 2021-09-15 10:08:31 +02:00
su-ex
f0c2fa1d85
Merge pull request #95 from nyantec/flake-default-app
flake: add default apps
2021-09-15 09:31:16 +02:00
Finn Behrens
7fab0738a7 flake: add default apps
Signed-off-by: Finn Behrens <me@kloenk.dev>
2021-09-15 09:27:53 +02:00
su-ex
b0fa36abac
Not sc specific string 2021-09-14 12:08:35 +02:00
su-ex
b4b17cc015
Really fix flathub deploy script 2021-09-14 01:36:17 +02:00
117 changed files with 29519 additions and 354 deletions

1
.containerignore Normal file
View File

@ -0,0 +1 @@
release/

17
.github/workflows/stale.yml vendored Normal file
View File

@ -0,0 +1,17 @@
name: 'Close stale issues'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v6
with:
stale-issue-message: 'This issue is stale because it has been open 150 days with no activity. Remove stale label or comment or this will be closed in 14 days.'
days-before-issue-stale: 150
days-before-issue-close: 14
days-before-pr-stale: -1
days-before-pr-close: -1
exempt-issue-labels: 'longterm,enhancement,parity-with-android,prio:medium,prio:high,electron issue,encrypted room search,build infrastructure'

6
.gitmodules vendored
View File

@ -1,12 +1,12 @@
[submodule "matrix-js-sdk"]
path = matrix-js-sdk
url = https://github.com/SchildiChat/matrix-js-sdk.git
[submodule "matrix-react-sdk"]
path = matrix-react-sdk
url = https://github.com/SchildiChat/matrix-react-sdk.git
[submodule "element-web"]
path = element-web
url = https://github.com/SchildiChat/element-web.git
[submodule "element-desktop"]
path = element-desktop
url = https://github.com/SchildiChat/element-desktop.git
[submodule "compound-web"]
path = compound-web
url = https://github.com/SchildiChat/compound-web.git

28
Containerfile.debian Normal file
View File

@ -0,0 +1,28 @@
ARG NODE_VERSION
FROM docker.io/node:${NODE_VERSION}-bookworm
RUN apt-get -qq update && apt-get -qq install --no-install-recommends -y \
curl \
g++ \
gcc \
git \
jq \
libarchive-tools \
libsecret-1-dev \
libsqlcipher-dev \
libssl-dev \
make \
openssl \
pkg-config \
python3 \
rpm \
tcl \
vim
RUN ln -s /usr/bin/python3 /usr/bin/python
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal
WORKDIR /project

22
Containerfile.fedora Normal file
View File

@ -0,0 +1,22 @@
FROM docker.io/fedora:40
RUN dnf install -y openssl openssl-devel cargo llvm libsecret libsecret-devel sqlcipher sqlcipher-devel g++ ruby-devel gcc make rpm-build libffi-devel tcl libxcrypt-compat pkgconf perl python3-setuptools
# node setup
ARG NODE_VERSION
RUN mkdir -p /usr/local/n
RUN mkdir -p /usr/local/bin /usr/local/lib /usr/local/include /usr/local/share
RUN curl -L https://raw.githubusercontent.com/tj/n/master/bin/n -o n
RUN bash n ${NODE_VERSION}
RUN npm install -g n
RUN npm install -g yarn
RUN npm install -g node-gyp
RUN gem install --no-user-install --no-document fpm
RUN ln -s /usr/bin/python3 /usr/bin/python
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal
WORKDIR /project

13
Containerfile.windows Normal file
View File

@ -0,0 +1,13 @@
ARG CONTAINER_IMAGE_DEBIAN
FROM ${CONTAINER_IMAGE_DEBIAN}:latest
RUN dpkg --add-architecture i386 && apt-get update && apt-get install --no-install-recommends -y \
wine \
wine32 \
wine64 \
libwine \
libwine:i386 \
fonts-wine \
zip
WORKDIR /project

35
FEATURES.md Normal file
View File

@ -0,0 +1,35 @@
# Features and changes compared to upstream
Note that this list may be incomplete or outdated.
## General UI
- Schildi theme
- Some changed settings defaults
## Chat overview ("room list")
- Unified room list instead of separating DMs and groups (TODO: setting)
- Do not exclude currently selected room when updating room sort order
- Do not force muted rooms to be sorted at the bottom
- Hide reactions from room previews
- Show unread state of muted rooms
- Increase default visible tiles before collapsing each section
- Include DMs in space unread counts
- Show space overview rather then jumping to last opened room when switching space
- Do not add spaces to recently opened rooms list ("breadcrumbs")
## Conversation screen
- Allow sending freeform reactions
- Less restrictive width limit for rendering text reactions
## Non-core community contributions
Following features and changes are community-maintained, i.e. do not embody core SchildiChat features and may be dropped in future releases in case they cause a notable maintenance burden.
- [Improved IRC layout](https://github.com/SchildiChat/schildichat-desktop/pull/269)

View File

@ -1,13 +1,19 @@
.PHONY: all setup regenerate-i18n reskindex web desktop-common linux debian rpm pacman local-pkgbuild local-pkgbuild-install windows windows-portable
.PHONY: all setup regenerate-i18n web desktop-common linux debian rpm pacman local-pkgbuild local-pkgbuild-install windows windows-portable
.PHONY: web-release debian-release rpm-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release
.PHONY: macos-common macos macos-mas macos-release macos-mas-release icns
.PHONY: clean
.PHONY: container-build-debian container-build-fedora container-build-windows
.PHONY: container-web-release container-debian-release container-rpm-release container-appimage-release container-windows-release container-release container-local-pkgbuild
.PHONY: linux-container-release container-debian-based-release
.PHONY: clean undo_setup fixup
.PHONY: fix_yarn_cache
CFGDIR ?= configs/sc
all: web
YARN ?= yarnpkg
CONTAINER_ENGINE ?= podman
NODE_VERSION ?= 22
VERSION := $(shell grep version element-desktop/package.json | sed 's|.*: \"\(.*\)\",|\1|')
WEB_APP_NAME := $(shell grep '"name"' element-web/package.json | head -n 1 | sed 's|.*: \"\(.*\)\",|\1|')
@ -16,7 +22,8 @@ PRODUCT_NAME := $(shell grep '"productName"' element-desktop/package.json | sed
WEB_OUT := element-web/dist
WEB_OUT_DIST_VERSION := $(VERSION)
OUT_WEB := $(WEB_OUT)/$(WEB_APP_NAME)-$(WEB_OUT_DIST_VERSION).tar.gz
#OUT_WEB := $(WEB_OUT)/$(WEB_APP_NAME)-$(WEB_OUT_DIST_VERSION).tar.gz
OUT_WEB := $(WEB_OUT)/element-$(WEB_OUT_DIST_VERSION).tar.gz
DESKTOP_OUT := element-desktop/dist
OUT_DEB64 := $(DESKTOP_OUT)/$(DESKTOP_APP_NAME)_$(VERSION)_amd64.deb
@ -32,6 +39,10 @@ OUT_WIN64_PORTABLE_BETTER_NAME := $(PRODUCT_NAME)_win-portable_v$(VERSION)
OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION)-universal.dmg
OUT_MACOS_MAS := $(DESKTOP_OUT)/mas-universal/$(PRODUCT_NAME).app
CONTAINER_IMAGE_DEBIAN := schildichat-desktop-containerbuild-debian
CONTAINER_IMAGE_FEDORA := schildichat-desktop-containerbuild-fedora
CONTAINER_IMAGE_WINDOWS := schildichat-desktop-containerbuild-windows
RELEASE_DIR := release
CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION)
@ -43,7 +54,7 @@ CSC_NAME ?=
-include release.mk
setup:
if [ ! -L "element-desktop/webapp" ]; then ./setup.sh; fi
./setup.sh
element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset/*)
@ -60,19 +71,15 @@ icns: element-desktop/build/icon.icns element-desktop/build/dmg.icns
regenerate-i18n: setup
./regenerate_i18n.sh
reskindex: setup
$(YARN) --cwd matrix-react-sdk reskindex
$(YARN) --cwd element-web reskindex
web: export DIST_VERSION=$(WEB_OUT_DIST_VERSION)
web: setup reskindex
web: setup
cp $(CFGDIR)/config.json element-web/
$(YARN) --cwd element-web dist
echo "$(VERSION)" > element-web/webapp/version
desktop-common: web
$(YARN) --cwd element-desktop run fetch --cfgdir ''
$(YARN) --cwd element-desktop run build:native
SQLCIPHER_BUNDLED=1 $(YARN) --cwd element-desktop run build:native
macos-common: web icns
$(YARN) --cwd element-desktop run fetch --cfgdir ''
@ -118,7 +125,7 @@ local-pkgbuild-install: local-pkgbuild
web-release: web
mkdir -p $(CURRENT_RELEASE_DIR)
cp $(OUT_WEB) $(CURRENT_RELEASE_DIR)
cp $(OUT_WEB) $(CURRENT_RELEASE_DIR)/${WEB_APP_NAME}-$(WEB_OUT_DIST_VERSION).tar.gz
debian-release: debian
mkdir -p $(CURRENT_RELEASE_DIR)
@ -157,16 +164,65 @@ macos-mas-release: macos-mas
mkdir -p $(CURRENT_RELEASE_DIR)
cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR)
bom.lock: element-desktop/yarn.lock element-web/yarn.lock matrix-js-sdk/yarn.lock matrix-react-sdk/yarn.lock
container-build-debian:
$(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_DEBIAN) -f Containerfile.debian --build-arg NODE_VERSION=$(NODE_VERSION) .
container-build-fedora:
$(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_FEDORA) -f Containerfile.fedora --build-arg NODE_VERSION=$(NODE_VERSION) .
container-build-windows: container-build-debian
$(CONTAINER_ENGINE) build --security-opt seccomp=unconfined --security-opt label=disable -t $(CONTAINER_IMAGE_WINDOWS) -f Containerfile.windows --build-arg CONTAINER_IMAGE_DEBIAN=$(CONTAINER_IMAGE_DEBIAN) .
container-web-release: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release
container-debian-release: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make debian-release
# For all releases which are fine being built from Debian
container-debian-based-release: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make web-release debian-release appimage-release
container-rpm-release: container-build-fedora
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release
container-appimage-release: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make appimage-release
container-windows-release: container-build-windows
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_WINDOWS):latest make windows-release
container-release: container-build-windows #container-build-fedora
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_WINDOWS):latest make web-release debian-release appimage-release rpm-release windows-setup-release windows-portable-release
#$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_FEDORA):latest make rpm-release
# For all Linux releases we build
linux-container-release: container-debian-based-release container-rpm-release
container-local-pkgbuild: container-build-debian
$(CONTAINER_ENGINE) run --rm -ti -v $(PWD):/project --security-opt seccomp=unconfined --security-opt label=disable $(CONTAINER_IMAGE_DEBIAN):latest make local-pkgbuild
bom.lock: element-desktop/yarn.lock element-web/yarn.lock matrix-js-sdk/yarn.lock
./build-bom.sh
bom: bom.lock
fix_yarn_cache:
$(YARN) cache list || $(YARN) cache clean
clean:
$(YARN) --cwd matrix-js-sdk clean
$(YARN) --cwd matrix-react-sdk clean
$(YARN) --cwd element-web clean
$(YARN) --cwd element-desktop clean
rm -f element-desktop/webapp
rm -f element-desktop/webapp || true
rm -rf element-web/dist
rm -rf local-pkgbuild
rm -f bom.lock
rm -f element-web/res/css/sc-cpd-overrides.css
undo_setup:
rm -rf element-desktop/node_modules element-web/node_modules matrix-js-sdk/node_modules i18n-helper/node_modules element-desktop/.hak
fixup: undo_setup fix_yarn_cache
make setup
make clean
make setup

146
README.md
View File

@ -1,29 +1,98 @@
# SchildiChat Web/Desktop
SchildiChat Web/Desktop is a fork of Element [Web](https://github.com/vector-im/element-web)/[Desktop](https://github.com/vector-im/element-desktop).
SchildiChat Web/Desktop is a fork of Element [Web](https://github.com/element-hq/element-web)/[Desktop](https://github.com/element-hq/element-desktop).
The most important changes of SchildiChat Web/Desktop compared to Element Web/Desktop are:
- A unified chat list for both direct and group chats
- Message bubbles
- Bigger items in the room list
- &hellip; and more!
Desktop downloads with installation instructions are listed on our website: [https://schildi.chat/desktop](https://schildi.chat/desktop)
Hosted web variant: [https://app.schildi.chat/](https://app.schildi.chat/)
## Initial build setup
Feel free to [join the discussion on matrix](https://matrix.to/#/#schildichat-web:matrix.org).
```
git clone -b lite --recurse-submodules https://github.com/SchildiChat/schildichat-desktop.git
cd schildichat-desktop
make setup # optional step if using the other make targets
```
<img src="https://raw.githubusercontent.com/SchildiChat/schildichat-desktop/sc/screenshots/1.png"/>
## Building on Linux
Easiest to build on Linux is using `podman`, i.e. use one of the following make targets:
```
make container-appimage-release
make container-debian-release
make container-rpm-release
make container-web-release
```
## Windows building dependencies
To build on Windows, use [Element's](https://web-docs.element.dev/Element%20Desktop/windows-requirements.html) guide as starting point.
Some additional notes I found useful:
### Before build
To prepare your build environment for VSC tools (use 2022 rather than 2019 mentioned upstream:
```
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64
```
Additionally, make sure some programs are in your `PATH`:
```
export PATH="/C/Strawberry/perl/bin:$PATH:/C/Program Files/NASM:/C/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.41.34120/bin/Hostx64/x64/"
```
- Strawberry perl needs to go before possibly already installed `/usr/bin/perl`
- NASM needs to be available
- `nmake` bundled with VSC wasn't available without adding that additionally (make sure the version is correct for what you installed)
### Additional packages not mentioned upstream
```
npm install yarn
npm install gyp
npm install electron-builder
npm install @electron/fuses
pip install setuptools
```
To update outdated npm packages:
```
npm outdated
npm update <name>
```
### Troubleshooting
- `yarn link` fails with permission denied: [kill any running nodejs task](https://stackoverflow.com/questions/64603970/an-unexpected-error-occurred-eperm-operation-not-permitted-in-yarn)
- `electron-builder` fails to extract `winCodeSign`:
- Download [source code](https://github.com/electron-userland/electron-builder-binaries/releases/tag/winCodeSign-2.6.0) manually
- Extract `electron-builder-binaries-winCodeSign-2.6.0.zip\electron-builder-binaries-winCodeSign-2.6.0\winCodeSign` to your `AppData\Local\electron-builder\Cache\winCodeSign\winCodeSign-2.6.0
- [Source](https://github.com/electron-userland/electron-builder/issues/8149#issuecomment-2328460139)
## Release builds
See [here](RELEASE.md).
## Old build instructions, to be revised in the future
## Building SchildiChat Web/Desktop
This particular repo is a wrapper project for element-desktop, element-web, matrix-react-sdk and matrix-js-sdk. It's the recommended starting point to build SchildiChat for Web **and** Desktop.
This particular repo is a wrapper project for element-desktop, element-web, and matrix-js-sdk. It's the recommended starting point to build SchildiChat for Web **and** Desktop.
The `master` branch contains the latest release.
Development happens in the `sc` branch, which might be **broken at any time**!
<pre><code><b>schildichat-desktop</b> <i>&lt;-- this repo</i> (recommended starting point to build SchildiChat for Web <b>and</b> Desktop)
|-- <a href="https://github.com/SchildiChat/element-desktop">element-desktop</a> (electron wrapper)
|-- <a href="https://github.com/SchildiChat/element-web">element-web</a> ("skin" for matrix-react-sdk)
|-- <a href="https://github.com/SchildiChat/matrix-react-sdk">matrix-react-sdk</a> (most of the development happens here)
|-- <a href="https://github.com/SchildiChat/element-web">element-web</a> (most of the development happens here)
`-- <a href="https://github.com/SchildiChat/matrix-js-sdk">matrix-js-sdk</a> (Matrix client js sdk)
</code></pre>
@ -33,11 +102,12 @@ This particular repo is a wrapper project for element-desktop, element-web, matr
Since Debian is usually slow to update packages on its stable releases,
some dependencies might not be recent enough to build SchildiChat.
The following are the dependencies required to build SchildiChat Web/Desktop on Debian 10:
The following are the dependencies required to build SchildiChat Web/Desktop on Debian 11 (bullseye):
```
# apt install vim curl git make gcc g++ libsqlcipher-dev pkg-config libsecret-1-dev bsdtar
# curl -sL https://deb.nodesource.com/setup_14.x | bash -
# apt install vim curl git make gcc g++ python jq libsqlcipher-dev pkg-config libsecret-1-dev libarchive-tools openssl libssl-dev tcl
# curl -sL https://deb.nodesource.com/setup_16.x | bash -
# apt update
# apt install nodejs
@ -72,35 +142,27 @@ or set `CSC_NAME` to your certificate name or id.
To notarize a build with Apple set `NOTARIZE_APPLE_ID` to your AppleID and set the keychain item
`NOTARIZE_CREDS` to an App specific AppleID password.
### Initial setup
```
git clone --recurse-submodules https://github.com/SchildiChat/schildichat-desktop.git
cd schildichat-desktop
make setup # optional step if using the other make targets
```
### Create release builds
Those are the builds distributed via GitHub releases.
```
# The single make targets are explained below
make [{web|debian|windows-setup|windows-portable|macos}-release]
make {web|debian|windows-setup|windows-portable|macos|...}-release
```
After that these packages which belong to to their respective make target should appear in release/\<version\>/:
- `web`: _schildichat-web-\<version\>.tar.gz_: archive that can be unpacked and served by a **web** server (copy `config.sample.json` to `config.json` and adjust the [configuration](https://github.com/SchildiChat/element-web/blob/sc/docs/config.md) to your likings)
- `debian`: file ready for installation on a **Debian Linux** (based) system via `dpkg -i schildichat-desktop_<version>_amd64.deb`
- `windows-setup`: _SchildiChat_Setup_v\<version\>.exe_: file ready for **installation** on a **Windows** system
- `windows-portable`: _SchildiChat_win-portable_v\<version\>.zip_: **portable** version for a **Windows** system take SchildiChat together with your login data around with you (the archive contains a readme with **instructions** and **notes**)
- `macos`: Build a *.dmg for macOS
- `macos-mas`: Build a *.pkg for release in the Mac App Store
After that these packages which belong to their respective make target should appear in release/\<version\>/.
#### Additional make targets not used for GitHub releases
- `pacman`: file ready for installation on an **Arch Linux** (based) system via `pacman -U schildichat-desktop-<version>.pacman`
#### Builds distributed via GitHub releases
- `web`: _schildichat-web-\<version\>.tar.gz_: Archive that can be unpacked and served by a **web** server (copy `config.sample.json` to `config.json` and adjust the [configuration](https://github.com/SchildiChat/element-web/blob/sc/docs/config.md) to your likings)
- `debian`: File ready for installation on a **Debian Linux** (based) system via `dpkg -i schildichat-desktop_<version>_amd64.deb`
- `windows-setup`: _SchildiChat_Setup_v\<version\>.exe_: File ready for **installation** on a **Windows** system
- `windows-portable`: _SchildiChat_win-portable_v\<version\>.zip_: **Portable** version for a **Windows** system take SchildiChat together with your login data around with you (the archive contains a readme with **instructions** and **notes**)
- `macos`: Build a *.dmg for **macOS**
#### Additional `{...}-release` targets not used for GitHub releases
- `pacman`: File ready for installation on an **Arch Linux** (based) system via `pacman -U schildichat-desktop-<version>.pacman`
- `rpm`: Build a *.rpm for Linux
- `windows-unpacked`: _SchildiChat_win-unpacked_v\<version\>.zip_: **unpacked** archive for a **Windows** system
- `macos-mas`: Build a *.pkg for release in the Mac App Store
### Build SchildiChat Web and deploy it directly to your web server
@ -115,3 +177,13 @@ your-deploy-%: CFGDIR := $(YOUR_CFGDIR)
your-deploy-web: web
rsync --info=progress2 -rup --del element-web/webapp/ you@yourwebserver:/the/folder/served/for/schildi/
```
# Merge helpers
## Add upstream repo remotes
```
source merge_helpers.sh
forall_repos add_upstream
```

26
RELEASE.md Normal file
View File

@ -0,0 +1,26 @@
# Releasing SchildiChat deskop
## Build Linux releases
On a Linux machine with podman:
```
make linux-container-release
```
## Build Windows releases
On a Windows machine in git bash (**not** WSL), run:
```
make windows-setup-release
```
## Upload the release
Copy the Windows-generated `.exe` from the `release` directory into the release directory on your Linux machine.
Then (after ensuring you have a GitHub API token setup for the script to pick up):
```
./deploy/create-github-release.sh
```

38
apply_patches.sh Executable file
View File

@ -0,0 +1,38 @@
#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
print_section() {
local msg="$1"
echo "##############################################################"
echo "# $msg"
echo "##############################################################"
}
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
# Apply our patches
#print_section "Apply patches to matrix-js-sdk"
#apply_patches matrix-js-sdk
print_section "Apply patches to element-web"
apply_patches element-web
print_section "Apply patches to element-desktop"
apply_patches element-desktop
# Automatic adjustments
#print_section "Apply i18n"
#automatic_i18n_adjustment
print_section "Apply automatic package adjustments"
automatic_packagejson_adjustment
# Automatic theme and icon update
print_section "Apply automatic theme updates"
./theme.sh y
print_section "Generate icons"
./graphics/icon_gen.sh y
popd > /dev/null

View File

@ -5,8 +5,6 @@ cat element-web/yarn.lock >> bom.lock
echo "" >> bom.lock
cat matrix-js-sdk/yarn.lock >> bom.lock
echo "" >> bom.lock
cat matrix-react-sdk/yarn.lock >> bom.lock
echo "" >> bom.lock
# matrix-seshat
cat << EOF >> bom.lock

29
bump_release_version.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
# Check branch
check_branch $branch
forall_repos check_branch $branch
# Ensure clean git state
forall_repos check_clean_git
bump_release_version
# Get version string
get_current_versions
get_versions_string
# Add everything
git add -A
git commit --allow-empty -m "New release v$versions_string"
git tag -s "v$versions_string" -m "New release v$versions_string"
popd > /dev/null

29
bump_test_version.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
# Check branch
check_branch $branch
forall_repos check_branch $branch
# Ensure clean git state
forall_repos check_clean_git
bump_test_version
# Get version string
get_current_versions
get_versions_string
# Add everything
git add -A
git commit --allow-empty -m "New test release v$versions_string"
git tag -s "v$versions_string" -m "New test release v$versions_string"
popd > /dev/null

1
compound-web Submodule

@ -0,0 +1 @@
Subproject commit 57ee5bfdf13c58ca3bcbc2d0eb2993d7b4a0b89d

View File

@ -1,6 +1,11 @@
{
"update_base_url": null,
"default_server_name": "matrix.org",
"default_server_config": {
"m.homeserver": {
"base_url": "https://matrix-client.matrix.org",
"server_name": "matrix.org"
}
},
"brand": "SchildiChat",
"integrations_ui_url": "https://scalar.vector.im/",
"integrations_rest_url": "https://scalar.vector.im/api",
@ -11,10 +16,13 @@
"https://scalar-staging.vector.im/api",
"https://scalar-staging.riot.im/scalar/api"
],
"showLabsSettings": true,
"roomDirectory": {
"show_labs_settings": true,
"room_directory": {
"servers": [
"matrix.org"
"matrix.org",
"gitter.im",
"libera.chat",
"schildi.chat"
]
},
"enable_presence_by_hs_url": {
@ -27,11 +35,5 @@
"text": "Privacy Policy"
}
],
"sc_update_announcement_room": {
"room_id_or_alias": "!JwTYjASnrfLEJQGQvt:matrix.org",
"via_servers": [
"supercable.onl",
"spiritcroc.de"
]
}
"map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx"
}

View File

@ -10,12 +10,21 @@ set -e
version="$1"
releasepath="$2"
github_api_token=`cat ~/githubtoken`
if [ -z "$version" ] || [ -z "$releasepath" ]; then
echo "Usage: $0 <version> <releasepath>"
exit 1
fi
if [ -z "$GITHUB_API_TOKEN" ]; then
github_api_token=`cat ~/githubtoken`
else
github_api_token="$GITHUB_API_TOKEN"
fi
release_notes_file="/tmp/scrn.md"
owner=SchildiChat
repo=schildichat-desktop
target=master
target=lite
# Define variables
GH_API="https://api.github.com"
@ -37,7 +46,7 @@ json_string=`jq -n --arg tag "v$version" --arg target "$target" --arg body "$rel
name: $tag,
body: $body,
draft: true,
prerelease: false
prerelease: true
}'`
# echo "$json_string"
res=`echo "$json_string" | curl -sH "$AUTH" $GH_REPO/releases -d @-`

View File

@ -21,6 +21,7 @@ git fetch
git reset --hard origin/master
sed -i "s|^_pkgver=.*$|_pkgver=$version|" PKGBUILD
sed -i "s|^pkgrel=.*$|pkgrel=1|" PKGBUILD
sed -i "s|^sha256sums=('.*'$|sha256sums=('$sha256sum'|" PKGBUILD
makepkg --printsrcinfo > .SRCINFO

View File

@ -20,10 +20,13 @@ debdate=$(date +%Y-%m-%d -r $debpath)
pushd "$repopath" > /dev/null
git fetch
git checkout master
git reset --hard origin/master
git checkout -B "release-v$version"
yamlFile="chat.schildi.desktop.yaml"
xmlFile="chat.schildi.desktop.appdata.xml"
xmlFile="chat.schildi.desktop.metainfo.xml"
sed -i "s|url: .* #SC:url|url: $downloadurl #SC:url|" "$yamlFile"
sed -i "s|sha256: .* #SC:sha256|sha256: $sha256sum #SC:sha256|" "$yamlFile"
@ -33,8 +36,8 @@ sed -i "s|^\s\s<releases>$| <releases>\n <release version=\"$version\" date=
git add $yamlFile $xmlFile
git commit -m "Bump version to v$version"
git push
git push -f --set-upstream origin "release-v$version"
popd > /dev/null
echo "Release v$version published on flathub!"
echo "Release v$version published on flathub, now merge that branch as PR: https://github.com/flathub/chat.schildi.desktop/"

@ -1 +1 @@
Subproject commit de5f137d4e37c7527596b4d910cb13a23b090dca
Subproject commit 7d95337b9b4847752b4d7ffac8a894c7bdc7d7ac

@ -1 +1 @@
Subproject commit 615ecdc6d663431807884d4bb7c1d66ea684a3c9
Subproject commit 702182d503b5afdb262634384606797dde103a4d

8
flake.lock generated
View File

@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1630504215,
"narHash": "sha256-H5pzwo7z3e7ZatwuwWY25oZSejchO+ZH/XtMi8/PXLw=",
"owner": "yu-re-ka",
"lastModified": 1699380656,
"narHash": "sha256-H9kQH3J2Z15Ady3zVQsN/tXv8qnRr+p1B0eUkR1bKfE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "979e5916df0e6830a2b1ee999632de9a9d2beb23",
"rev": "03e7a22654c44489a0a70ea0e237de3e512cd8a6",
"type": "github"
},
"original": {

View File

@ -25,5 +25,20 @@
schildichat-desktop-wayland
;
}) nixpkgsFor;
defaultPackage = forAllSystems (system: self.packages.${system}.schildichat-desktop);
apps = forAllSystems(system: {
schildichat-desktop = {
type = "app";
program = "${self.packages.${system}.schildichat-desktop}/bin/schildichat-desktop";
};
schildichat-desktop-wayland = {
type = "app";
program = "${self.packages.${system}.schildichat-desktop-wayland}/bin/schildichat-desktop";
};
});
defaultApp = forAllSystems (system: self.apps.${system}.schildichat-desktop);
};
}

61
generate_changelog.sh Executable file
View File

@ -0,0 +1,61 @@
#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
# Check branch
check_branch $branch
forall_repos check_branch $branch
# Ensure clean git state
forall_repos check_clean_git
# Fetch upstream
forall_repos git fetch origin > /dev/null 2>/dev/null
forall_repos git fetch upstream > /dev/null 2>/dev/null
(
# Add new line below git log: https://unix.stackexchange.com/a/345558
get_latest_upstream_tag
forelement_repos git log --pretty=format:"- %s" "sc" "^$latest_upstream_tag" "^master" \
| printf '%s\n' "$(cat)" \
| sed "s|Merge tag '\\(.*\\)' into sc.*|Update codebase to Element \1|" \
| sed "s|Merge tag '\\(.*\\)' into merge.*|Update codebase to Element \1|"
get_current_mxsdk_tags
pushd "matrix-js-sdk" > /dev/null
git log --pretty=format:"- %s" "sc" "^$current_mxjssdk_tag" "^master" \
| printf '%s\n' "$(cat)" \
| grep -v "Merge .*tag"
popd > /dev/null
pushd "matrix-react-sdk" > /dev/null
git log --pretty=format:"- %s" "sc" "^$current_mxreactsdk_tag" "^master" \
| printf '%s\n' "$(cat)" \
| grep -v "Merge .*tag"
popd > /dev/null
) \
| grep -v "Automatic i18n reversion" \
| grep -v "Automatic package.json reversion" \
| grep -v "Merge .*branch" \
| grep -v "Automatic theme update" \
| grep -v "Automatic package.json adjustment" \
| grep -v "Automatic i18n adjustment" \
| grep -v "Update version to .*-sc\\..*" \
| grep -v "\\.sh" \
| grep -v "\\.md" \
| grep -v "Added translation using Weblate" \
| grep -v "Translated using Weblate" \
| grep -v "weblate/sc" \
| grep -v "\\[.*merge.*\\]" \
| awk '!seen[$0]++' `# https://stackoverflow.com/a/1444448` \
|| echo "No significant changes since the last stable release"
popd > /dev/null

44
generate_patches.sh Executable file
View File

@ -0,0 +1,44 @@
#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
persist_patches() {
local repo="$(realpath "$1")"
local patch_dir="$SCHILDI_ROOT/patches/$(basename "$1")"
if [ ! -d "$repo" ]; then
echo "Unknown repo: $repo"
return 1
fi
pushd "$repo"
if [ -d "$patch_dir" ]; then
echo "Clearing old patches..."
rm "$patch_dir"/*
else
echo "Creating new patch dir $patch_dir..."
mkdir "$patch_dir"
fi
# Assume we forked from a tag starting with 'v' (our own tags start with sc_)
local fork_point=`git describe --tags --match 'v*'| sed 's|-[^-]*-[^-]*$||'`
echo "Creating new patches from $fork_point"
git format-patch -k "$fork_point".. -o "$patch_dir"
echo "Clearing automated commits from patches"
find "$patch_dir" -name "*-Automatic-package.json-adjustment.patch" -exec rm {} \;
find "$patch_dir" -name "*-Automatic-icon-update.patch" -exec rm {} \;
find "$patch_dir" -name "*-Automatic-theme-update.patch" -exec rm {} \;
find "$patch_dir" -name "*-Automatic-setup-commit.patch" -exec rm {} \;
find "$patch_dir" -name "*-Update-version-to-*.patch" -exec rm {} \;
popd
}
persist_patches element-desktop
persist_patches element-web
#persist_patches matrix-js-sdk
popd > /dev/null

815
graphics/feature_image.svg Normal file
View File

@ -0,0 +1,815 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
sodipodi:docname="feature_image.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
id="svg1224"
version="1.1"
viewBox="0 0 270.93333 132.29167"
height="500"
width="1024"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs1218">
<linearGradient
id="linearGradient1"
inkscape:collect="always">
<stop
style="stop-color:#0a5c7c;stop-opacity:1;"
offset="0"
id="stop2" />
<stop
style="stop-color:#001a2a;stop-opacity:1;"
offset="1"
id="stop1" />
</linearGradient>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2036"
x="-0.13812872"
y="-0.16452942"
width="1.2762574"
height="1.3290588">
<feFlood
flood-opacity="0.501961"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2026" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2028" />
<feGaussianBlur
in="composite1"
stdDeviation="1.5"
result="blur"
id="feGaussianBlur2030" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2032" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2034" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2965-4"
x="-0.21722835"
y="-0.25923403"
width="1.4344567"
height="1.5184681">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2955-7" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2957-6" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2959-56" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2961-9" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2963-3" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2953-7"
x="-0.32309693"
y="-0.25279658"
width="1.6461939"
height="1.5055932">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2943-4" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2945-5" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2947-2" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2949-5" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2951-4" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2989-7"
x="-0.23252267"
y="-0.46413375"
width="1.4650453"
height="1.9282675">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2979-4" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2981-4" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2983-3" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2985-07" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2987-8" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2977-6"
x="-0.3235366"
y="-0.25277925"
width="1.6470732"
height="1.5055585">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2967-8" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2969-84" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2971-31" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2973-4" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2975-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter1778-20"
x="-0.071003587"
y="-0.3840027"
width="1.1420072"
height="1.7680054">
<feFlood
flood-opacity="0.501961"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood1768-6" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite1770-8" />
<feGaussianBlur
in="composite1"
stdDeviation="5"
result="blur"
id="feGaussianBlur1772-9" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset1774-2" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite1776-6" />
</filter>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient1"
id="radialGradient2"
cx="58.048798"
cy="-112.54058"
fx="58.048798"
fy="-112.54058"
r="33.780365"
gradientTransform="matrix(-6.2100452,0.00407995,-0.0033846,-5.1506999,495.81504,-579.41311)"
gradientUnits="userSpaceOnUse" />
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2"
x="-0.057143129"
y="-0.26463369"
width="1.1142863"
height="1.5292674">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood1" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur1" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset1" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite1" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite2" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter4"
x="-0.040001377"
y="-0.06584548"
width="1.0800028"
height="1.131691">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood2" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur2" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset2" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite3" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite4" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter6"
x="-0.042308918"
y="-0.099385318"
width="1.0846178"
height="1.1987706">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood4" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur4" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset4" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite5" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite6" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter13"
x="-0.057149831"
y="-0.066851122"
width="1.1142997"
height="1.1337022">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood12" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur12" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset12" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite12" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite13" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2-3"
x="-0.057143129"
y="-0.26463369"
width="1.1142863"
height="1.5292674">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood1-6" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur1-7" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset1-5" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite1-3" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite2-5" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter4-6"
x="-0.040001377"
y="-0.06584548"
width="1.0800028"
height="1.131691">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood2-2" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur2-9" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset2-1" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite3-2" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite4-7" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter6-0"
x="-0.042308918"
y="-0.099385318"
width="1.0846178"
height="1.1987706">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood4-9" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur4-3" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset4-6" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite5-0" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite6-6" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter13-2"
x="-0.057149831"
y="-0.066851122"
width="1.1142997"
height="1.1337022">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood12-6" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur12-1" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset12-8" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite12-7" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite13-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2-3-5"
x="-0.057143129"
y="-0.26463369"
width="1.1142863"
height="1.5292674">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood1-6-9" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur1-7-2" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset1-5-2" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite1-3-8" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite2-5-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter4-6-7"
x="-0.040001377"
y="-0.06584548"
width="1.0800028"
height="1.131691">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood2-2-3" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur2-9-6" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset2-1-1" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite3-2-2" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite4-7-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter6-0-3"
x="-0.042308918"
y="-0.099385318"
width="1.0846178"
height="1.1987706">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood4-9-1" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur4-3-9" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset4-6-4" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite5-0-7" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite6-6-8" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter13-2-4"
x="-0.057149831"
y="-0.066851122"
width="1.1142997"
height="1.1337022">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood12-6-5" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur12-1-0" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset12-8-3" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite12-7-6" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite13-9-1" />
</filter>
</defs>
<sodipodi:namedview
inkscape:window-maximized="0"
inkscape:window-y="0"
inkscape:window-x="0"
inkscape:window-height="2113"
inkscape:window-width="3840"
units="px"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="470.73109"
inkscape:cx="594.47477"
inkscape:zoom="0.98994949"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata1221">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<rect
style="fill:url(#radialGradient2);stroke:none;stroke-width:2.93304;stroke-linejoin:round"
id="rect1"
width="270.93335"
height="132.29167"
x="0"
y="0" />
<g
id="g2-2"
transform="matrix(-1.594384,0,0,1.5943814,341.71584,-85.591264)">
<path
id="path1-2-6-0"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter2-3)"
d="m 131.95298,130.05572 -16.01513,5.95434 4.06075,12.18394 h 18 z m -66.03453,3.06114 c 0.591926,1.32709 -0.153511,3.3108 -2.919861,6.07714 L 53.999,148.19354 71.998589,148.194 84.06424,136.11351 Z"
sodipodi:nodetypes="ccccccscccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-2-7-2"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter4-6)"
d="m 151.8621,67.80338 c -7.31987,-0.24 -14.58332,5.39078 -16.86328,14.39062 -2.99994,11.999783 -3.0001,12.000123 -9,18.00001 -11.99978,11.9998 -30.00071,18.00011 -66.000018,24 -5.999894,0.95998 -8.997855,3.00041 -11.997802,6.00036 8.311322,0 16.615171,0.002 17.948974,2.99183 l 18.048836,3.00781 c 11.99979,5.99991 19.98068,5.99991 31.98048,0 l 16.01953,-6 c 0,0 6.00011,-24.0001 12,-30 5.99989,-5.999887 6.00011,0 12,0 5.99989,0 11.99805,-6.000167 11.99805,-15.00001 0,-2.99994 0.002,-9.0001 -8.99805,-15 -2.09997,-1.43997 -4.55682,-2.27062 -7.13672,-2.39062 z m -85.765642,65.87696 c 0.0048,0.0269 0.0079,0.0547 0.01172,0.082 -0.0038,-0.0273 -0.0069,-0.0551 -0.01172,-0.082 z m 0.0293,0.54883 c -0.0021,0.0384 -0.004,0.0761 -0.0078,0.11523 0.0038,-0.0391 0.0057,-0.0769 0.0078,-0.11523 z m -0.107422,0.65039 c -0.0073,0.0267 -0.01157,0.0512 -0.01953,0.0781 0.0079,-0.027 0.01231,-0.0515 0.01953,-0.0781 z m -0.654297,1.43555 c -0.222659,0.36603 -0.500167,0.7568 -0.828125,1.16797 0.327872,-0.41123 0.605727,-0.80194 0.828125,-1.16797 z m -1.085937,1.47851 c -0.372584,0.44383 -0.782042,0.90314 -1.279297,1.40039 0.496681,-0.49668 0.907296,-0.9571 1.279297,-1.40039 z"
sodipodi:nodetypes="cccccccccsssccccccccccccccccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-3"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter6-0)"
d="M 90,70.205078 A 35.999403,35.999385 0 0 0 54,106.20312 c 0,3.59995 0.780871,6.47968 1.380859,9.59961 35.51933,-5.87988 54.359411,-12.05918 64.199221,-21.95898 l 3,-3 C 116.64017,78.243986 103.91976,70.205078 90,70.205078 Z m 77.45117,19.535156 C 165.84103,96.15802 160.92131,100.19531 156,100.19531 c -5.99988,0 -6.00012,-5.999874 -12,0 -3.16399,3.164 -6.30176,11.2911 -8.58594,18.30664 h 0.004 c 2.28351,-7.01319 5.41893,-15.13572 8.58203,-18.29883 5.99988,-5.999869 6.00012,1e-5 12,0 4.9235,0 9.84339,-4.040099 11.45117,-10.462886 z"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
d="m 172.34987,97.828382 c -11.37062,-16.4492 -40.97915,4.018018 -40.97915,4.018018 0,0 -19.73895,13.64478 -23.02883,15.91894 -3.28981,2.27415 -4.30548,7.83811 -4.30548,7.83811 l -3.28987,2.27415 -9.09654,-13.15933 3.289881,-2.27415 c 0,0 5.563959,1.01566 8.853779,-1.25842 0.65795,-0.4548 2.30289,-1.5919 4.2768,-2.9564 -3.76897,0.17459 -7.00575,-0.99143 -8.825099,-3.6233 -4.09339,-5.921678 0.74423,-15.099988 11.271689,-22.377228 10.52745,-7.27725 20.82301,-8.55991 24.91646,-2.63823 1.3645,1.97392 1.74201,4.63002 1.23418,7.412 7.4165,-7.55762 15.21502,-18.78268 8.39257,-28.65213 l 3.28987,-2.27415 27.28962,39.47797 -3.28988,2.27415 m -58.87642,-11.32281 c -7.56662,5.23049 -11.66901,11.9558 -9.62231,14.916638 2.04675,2.96084 9.78772,1.49932 17.35434,-3.731228 7.56662,-5.23049 11.669,-11.9558 9.62231,-14.91664 -2.04675,-2.96084 -9.78773,-1.49926 -17.35434,3.73123 z"
id="path1-5-7"
style="fill:#fdd835;fill-opacity:1;stroke-width:3.99934;filter:url(#filter13-2)"
transform="matrix(0.256099,-0.0405621,0.0405621,0.256099,64.048763,73.297633)" />
</g>
<g
id="g2-2-0"
transform="matrix(1.594384,0,0,1.5943814,-70.782467,-85.591264)">
<path
id="path1-2-6-0-6"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter2-3-5)"
d="m 131.95298,130.05572 -16.01513,5.95434 4.06075,12.18394 h 18 z m -66.03453,3.06114 c 0.591926,1.32709 -0.153511,3.3108 -2.919861,6.07714 L 53.999,148.19354 71.998589,148.194 84.06424,136.11351 Z"
sodipodi:nodetypes="ccccccscccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-2-7-2-3"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter4-6-7)"
d="m 151.8621,67.80338 c -7.31987,-0.24 -14.58332,5.39078 -16.86328,14.39062 -2.99994,11.999783 -3.0001,12.000123 -9,18.00001 -11.99978,11.9998 -30.00071,18.00011 -66.000018,24 -5.999894,0.95998 -8.997855,3.00041 -11.997802,6.00036 8.311322,0 16.615171,0.002 17.948974,2.99183 l 18.048836,3.00781 c 11.99979,5.99991 19.98068,5.99991 31.98048,0 l 16.01953,-6 c 0,0 6.00011,-24.0001 12,-30 5.99989,-5.999887 6.00011,0 12,0 5.99989,0 11.99805,-6.000167 11.99805,-15.00001 0,-2.99994 0.002,-9.0001 -8.99805,-15 -2.09997,-1.43997 -4.55682,-2.27062 -7.13672,-2.39062 z m -85.765642,65.87696 c 0.0048,0.0269 0.0079,0.0547 0.01172,0.082 -0.0038,-0.0273 -0.0069,-0.0551 -0.01172,-0.082 z m 0.0293,0.54883 c -0.0021,0.0384 -0.004,0.0761 -0.0078,0.11523 0.0038,-0.0391 0.0057,-0.0769 0.0078,-0.11523 z m -0.107422,0.65039 c -0.0073,0.0267 -0.01157,0.0512 -0.01953,0.0781 0.0079,-0.027 0.01231,-0.0515 0.01953,-0.0781 z m -0.654297,1.43555 c -0.222659,0.36603 -0.500167,0.7568 -0.828125,1.16797 0.327872,-0.41123 0.605727,-0.80194 0.828125,-1.16797 z m -1.085937,1.47851 c -0.372584,0.44383 -0.782042,0.90314 -1.279297,1.40039 0.496681,-0.49668 0.907296,-0.9571 1.279297,-1.40039 z"
sodipodi:nodetypes="cccccccccsssccccccccccccccccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-3-2"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter6-0-3)"
d="M 90,70.205078 A 35.999403,35.999385 0 0 0 54,106.20312 c 0,3.59995 0.780871,6.47968 1.380859,9.59961 35.51933,-5.87988 54.359411,-12.05918 64.199221,-21.95898 l 3,-3 C 116.64017,78.243986 103.91976,70.205078 90,70.205078 Z m 77.45117,19.535156 C 165.84103,96.15802 160.92131,100.19531 156,100.19531 c -5.99988,0 -6.00012,-5.999874 -12,0 -3.16399,3.164 -6.30176,11.2911 -8.58594,18.30664 h 0.004 c 2.28351,-7.01319 5.41893,-15.13572 8.58203,-18.29883 5.99988,-5.999869 6.00012,1e-5 12,0 4.9235,0 9.84339,-4.040099 11.45117,-10.462886 z"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
d="m 172.34987,97.828382 c -11.37062,-16.4492 -40.97915,4.018018 -40.97915,4.018018 0,0 -19.73895,13.64478 -23.02883,15.91894 -3.28981,2.27415 -4.30548,7.83811 -4.30548,7.83811 l -3.28987,2.27415 -9.09654,-13.15933 3.289881,-2.27415 c 0,0 5.563959,1.01566 8.853779,-1.25842 0.65795,-0.4548 2.30289,-1.5919 4.2768,-2.9564 -3.76897,0.17459 -7.00575,-0.99143 -8.825099,-3.6233 -4.09339,-5.921678 0.74423,-15.099988 11.271689,-22.377228 10.52745,-7.27725 20.82301,-8.55991 24.91646,-2.63823 1.3645,1.97392 1.74201,4.63002 1.23418,7.412 7.4165,-7.55762 15.21502,-18.78268 8.39257,-28.65213 l 3.28987,-2.27415 27.28962,39.47797 -3.28988,2.27415 m -58.87642,-11.32281 c -7.56662,5.23049 -11.66901,11.9558 -9.62231,14.916638 2.04675,2.96084 9.78772,1.49932 17.35434,-3.731228 7.56662,-5.23049 11.669,-11.9558 9.62231,-14.91664 -2.04675,-2.96084 -9.78773,-1.49926 -17.35434,3.73123 z"
id="path1-5-7-0"
style="fill:#fdd835;fill-opacity:1;stroke-width:3.99934;filter:url(#filter13-2-4)"
transform="matrix(0.256099,-0.0405621,0.0405621,0.256099,64.048763,73.297633)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -0,0 +1,784 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
sodipodi:docname="feature_image_transparent.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
id="svg1224"
version="1.1"
viewBox="0 0 270.93333 132.29167"
height="500"
width="1024"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs1218">
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2036"
x="-0.13812872"
y="-0.16452942"
width="1.2762574"
height="1.3290588">
<feFlood
flood-opacity="0.501961"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2026" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2028" />
<feGaussianBlur
in="composite1"
stdDeviation="1.5"
result="blur"
id="feGaussianBlur2030" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2032" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2034" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2965-4"
x="-0.21722835"
y="-0.25923403"
width="1.4344567"
height="1.5184681">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2955-7" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2957-6" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2959-56" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2961-9" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2963-3" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2953-7"
x="-0.32309693"
y="-0.25279658"
width="1.6461939"
height="1.5055932">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2943-4" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2945-5" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2947-2" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2949-5" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2951-4" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2989-7"
x="-0.23252267"
y="-0.46413375"
width="1.4650453"
height="1.9282675">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2979-4" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2981-4" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2983-3" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2985-07" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2987-8" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2977-6"
x="-0.3235366"
y="-0.25277925"
width="1.6470732"
height="1.5055585">
<feFlood
flood-opacity="0.8"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood2967-8" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite2969-84" />
<feGaussianBlur
in="composite1"
stdDeviation="8"
result="blur"
id="feGaussianBlur2971-31" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset2973-4" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite2975-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter1778-20"
x="-0.071003587"
y="-0.3840027"
width="1.1420072"
height="1.7680054">
<feFlood
flood-opacity="0.501961"
flood-color="rgb(0,0,0)"
result="flood"
id="feFlood1768-6" />
<feComposite
in="flood"
in2="SourceGraphic"
operator="out"
result="composite1"
id="feComposite1770-8" />
<feGaussianBlur
in="composite1"
stdDeviation="5"
result="blur"
id="feGaussianBlur1772-9" />
<feOffset
dx="0"
dy="0"
result="offset"
id="feOffset1774-2" />
<feComposite
in="offset"
in2="SourceGraphic"
operator="atop"
result="composite2"
id="feComposite1776-6" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2"
x="-0.057143129"
y="-0.26463369"
width="1.1142863"
height="1.5292674">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood1" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur1" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset1" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite1" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite2" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter4"
x="-0.040001377"
y="-0.06584548"
width="1.0800028"
height="1.131691">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood2" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur2" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset2" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite3" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite4" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter6"
x="-0.042308918"
y="-0.099385318"
width="1.0846178"
height="1.1987706">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood4" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur4" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset4" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite5" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite6" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter13"
x="-0.057149831"
y="-0.066851122"
width="1.1142997"
height="1.1337022">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood12" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur12" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset12" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite12" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite13" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2-3"
x="-0.057143129"
y="-0.26463369"
width="1.1142863"
height="1.5292674">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood1-6" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur1-7" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset1-5" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite1-3" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite2-5" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter4-6"
x="-0.040001377"
y="-0.06584548"
width="1.0800028"
height="1.131691">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood2-2" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur2-9" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset2-1" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite3-2" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite4-7" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter6-0"
x="-0.042308918"
y="-0.099385318"
width="1.0846178"
height="1.1987706">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood4-9" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur4-3" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset4-6" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite5-0" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite6-6" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter13-2"
x="-0.057149831"
y="-0.066851122"
width="1.1142997"
height="1.1337022">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood12-6" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur12-1" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset12-8" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite12-7" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite13-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter2-3-5"
x="-0.057143129"
y="-0.26463369"
width="1.1142863"
height="1.5292674">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood1-6-9" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur1-7-2" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset1-5-2" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite1-3-8" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite2-5-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter4-6-7"
x="-0.040001377"
y="-0.06584548"
width="1.0800028"
height="1.131691">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood2-2-3" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur2-9-6" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset2-1-1" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite3-2-2" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite4-7-9" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter6-0-3"
x="-0.042308918"
y="-0.099385318"
width="1.0846178"
height="1.1987706">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood4-9-1" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur4-3-9" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset4-6-4" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite5-0-7" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite6-6-8" />
</filter>
<filter
style="color-interpolation-filters:sRGB"
inkscape:label="Drop Shadow"
id="filter13-2-4"
x="-0.057149831"
y="-0.066851122"
width="1.1142997"
height="1.1337022">
<feFlood
result="flood"
in="SourceGraphic"
flood-opacity="0.258824"
flood-color="rgb(0,0,0)"
id="feFlood12-6-5" />
<feGaussianBlur
result="blur"
in="SourceGraphic"
stdDeviation="2.000000"
id="feGaussianBlur12-1-0" />
<feOffset
result="offset"
in="blur"
dx="0.000000"
dy="0.000000"
id="feOffset12-8-3" />
<feComposite
result="comp1"
operator="out"
in="flood"
in2="offset"
id="feComposite12-7-6" />
<feComposite
result="comp2"
operator="atop"
in="comp1"
in2="SourceGraphic"
id="feComposite13-9-1" />
</filter>
</defs>
<sodipodi:namedview
inkscape:window-maximized="0"
inkscape:window-y="0"
inkscape:window-x="0"
inkscape:window-height="2111"
inkscape:window-width="956"
units="px"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="-747.51288"
inkscape:cx="509.11688"
inkscape:zoom="0.24748737"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<metadata
id="metadata1221">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<g
id="g2-2"
transform="matrix(-1.594384,0,0,1.5943814,341.71584,-85.591264)">
<path
id="path1-2-6-0"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter2-3)"
d="m 131.95298,130.05572 -16.01513,5.95434 4.06075,12.18394 h 18 z m -66.03453,3.06114 c 0.591926,1.32709 -0.153511,3.3108 -2.919861,6.07714 L 53.999,148.19354 71.998589,148.194 84.06424,136.11351 Z"
sodipodi:nodetypes="ccccccscccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-2-7-2"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter4-6)"
d="m 151.8621,67.80338 c -7.31987,-0.24 -14.58332,5.39078 -16.86328,14.39062 -2.99994,11.999783 -3.0001,12.000123 -9,18.00001 -11.99978,11.9998 -30.00071,18.00011 -66.000018,24 -5.999894,0.95998 -8.997855,3.00041 -11.997802,6.00036 8.311322,0 16.615171,0.002 17.948974,2.99183 l 18.048836,3.00781 c 11.99979,5.99991 19.98068,5.99991 31.98048,0 l 16.01953,-6 c 0,0 6.00011,-24.0001 12,-30 5.99989,-5.999887 6.00011,0 12,0 5.99989,0 11.99805,-6.000167 11.99805,-15.00001 0,-2.99994 0.002,-9.0001 -8.99805,-15 -2.09997,-1.43997 -4.55682,-2.27062 -7.13672,-2.39062 z m -85.765642,65.87696 c 0.0048,0.0269 0.0079,0.0547 0.01172,0.082 -0.0038,-0.0273 -0.0069,-0.0551 -0.01172,-0.082 z m 0.0293,0.54883 c -0.0021,0.0384 -0.004,0.0761 -0.0078,0.11523 0.0038,-0.0391 0.0057,-0.0769 0.0078,-0.11523 z m -0.107422,0.65039 c -0.0073,0.0267 -0.01157,0.0512 -0.01953,0.0781 0.0079,-0.027 0.01231,-0.0515 0.01953,-0.0781 z m -0.654297,1.43555 c -0.222659,0.36603 -0.500167,0.7568 -0.828125,1.16797 0.327872,-0.41123 0.605727,-0.80194 0.828125,-1.16797 z m -1.085937,1.47851 c -0.372584,0.44383 -0.782042,0.90314 -1.279297,1.40039 0.496681,-0.49668 0.907296,-0.9571 1.279297,-1.40039 z"
sodipodi:nodetypes="cccccccccsssccccccccccccccccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-3"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter6-0)"
d="M 90,70.205078 A 35.999403,35.999385 0 0 0 54,106.20312 c 0,3.59995 0.780871,6.47968 1.380859,9.59961 35.51933,-5.87988 54.359411,-12.05918 64.199221,-21.95898 l 3,-3 C 116.64017,78.243986 103.91976,70.205078 90,70.205078 Z m 77.45117,19.535156 C 165.84103,96.15802 160.92131,100.19531 156,100.19531 c -5.99988,0 -6.00012,-5.999874 -12,0 -3.16399,3.164 -6.30176,11.2911 -8.58594,18.30664 h 0.004 c 2.28351,-7.01319 5.41893,-15.13572 8.58203,-18.29883 5.99988,-5.999869 6.00012,1e-5 12,0 4.9235,0 9.84339,-4.040099 11.45117,-10.462886 z"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
d="m 172.34987,97.828382 c -11.37062,-16.4492 -40.97915,4.018018 -40.97915,4.018018 0,0 -19.73895,13.64478 -23.02883,15.91894 -3.28981,2.27415 -4.30548,7.83811 -4.30548,7.83811 l -3.28987,2.27415 -9.09654,-13.15933 3.289881,-2.27415 c 0,0 5.563959,1.01566 8.853779,-1.25842 0.65795,-0.4548 2.30289,-1.5919 4.2768,-2.9564 -3.76897,0.17459 -7.00575,-0.99143 -8.825099,-3.6233 -4.09339,-5.921678 0.74423,-15.099988 11.271689,-22.377228 10.52745,-7.27725 20.82301,-8.55991 24.91646,-2.63823 1.3645,1.97392 1.74201,4.63002 1.23418,7.412 7.4165,-7.55762 15.21502,-18.78268 8.39257,-28.65213 l 3.28987,-2.27415 27.28962,39.47797 -3.28988,2.27415 m -58.87642,-11.32281 c -7.56662,5.23049 -11.66901,11.9558 -9.62231,14.916638 2.04675,2.96084 9.78772,1.49932 17.35434,-3.731228 7.56662,-5.23049 11.669,-11.9558 9.62231,-14.91664 -2.04675,-2.96084 -9.78773,-1.49926 -17.35434,3.73123 z"
id="path1-5-7"
style="fill:#fdd835;fill-opacity:1;stroke-width:3.99934;filter:url(#filter13-2)"
transform="matrix(0.256099,-0.0405621,0.0405621,0.256099,64.048763,73.297633)" />
</g>
<g
id="g2-2-0"
transform="matrix(1.594384,0,0,1.5943814,-70.782467,-85.591264)">
<path
id="path1-2-6-0-6"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter2-3-5)"
d="m 131.95298,130.05572 -16.01513,5.95434 4.06075,12.18394 h 18 z m -66.03453,3.06114 c 0.591926,1.32709 -0.153511,3.3108 -2.919861,6.07714 L 53.999,148.19354 71.998589,148.194 84.06424,136.11351 Z"
sodipodi:nodetypes="ccccccscccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-2-7-2-3"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter4-6-7)"
d="m 151.8621,67.80338 c -7.31987,-0.24 -14.58332,5.39078 -16.86328,14.39062 -2.99994,11.999783 -3.0001,12.000123 -9,18.00001 -11.99978,11.9998 -30.00071,18.00011 -66.000018,24 -5.999894,0.95998 -8.997855,3.00041 -11.997802,6.00036 8.311322,0 16.615171,0.002 17.948974,2.99183 l 18.048836,3.00781 c 11.99979,5.99991 19.98068,5.99991 31.98048,0 l 16.01953,-6 c 0,0 6.00011,-24.0001 12,-30 5.99989,-5.999887 6.00011,0 12,0 5.99989,0 11.99805,-6.000167 11.99805,-15.00001 0,-2.99994 0.002,-9.0001 -8.99805,-15 -2.09997,-1.43997 -4.55682,-2.27062 -7.13672,-2.39062 z m -85.765642,65.87696 c 0.0048,0.0269 0.0079,0.0547 0.01172,0.082 -0.0038,-0.0273 -0.0069,-0.0551 -0.01172,-0.082 z m 0.0293,0.54883 c -0.0021,0.0384 -0.004,0.0761 -0.0078,0.11523 0.0038,-0.0391 0.0057,-0.0769 0.0078,-0.11523 z m -0.107422,0.65039 c -0.0073,0.0267 -0.01157,0.0512 -0.01953,0.0781 0.0079,-0.027 0.01231,-0.0515 0.01953,-0.0781 z m -0.654297,1.43555 c -0.222659,0.36603 -0.500167,0.7568 -0.828125,1.16797 0.327872,-0.41123 0.605727,-0.80194 0.828125,-1.16797 z m -1.085937,1.47851 c -0.372584,0.44383 -0.782042,0.90314 -1.279297,1.40039 0.496681,-0.49668 0.907296,-0.9571 1.279297,-1.40039 z"
sodipodi:nodetypes="cccccccccsssccccccccccccccccc"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
id="path1-3-2"
style="fill:#8bc34a;fill-opacity:1;stroke-width:5.99989;filter:url(#filter6-0-3)"
d="M 90,70.205078 A 35.999403,35.999385 0 0 0 54,106.20312 c 0,3.59995 0.780871,6.47968 1.380859,9.59961 35.51933,-5.87988 54.359411,-12.05918 64.199221,-21.95898 l 3,-3 C 116.64017,78.243986 103.91976,70.205078 90,70.205078 Z m 77.45117,19.535156 C 165.84103,96.15802 160.92131,100.19531 156,100.19531 c -5.99988,0 -6.00012,-5.999874 -12,0 -3.16399,3.164 -6.30176,11.2911 -8.58594,18.30664 h 0.004 c 2.28351,-7.01319 5.41893,-15.13572 8.58203,-18.29883 5.99988,-5.999869 6.00012,1e-5 12,0 4.9235,0 9.84339,-4.040099 11.45117,-10.462886 z"
transform="matrix(0.2561001,-0.04056227,0.04056227,0.2561001,77.322414,74.043198)" />
<path
d="m 172.34987,97.828382 c -11.37062,-16.4492 -40.97915,4.018018 -40.97915,4.018018 0,0 -19.73895,13.64478 -23.02883,15.91894 -3.28981,2.27415 -4.30548,7.83811 -4.30548,7.83811 l -3.28987,2.27415 -9.09654,-13.15933 3.289881,-2.27415 c 0,0 5.563959,1.01566 8.853779,-1.25842 0.65795,-0.4548 2.30289,-1.5919 4.2768,-2.9564 -3.76897,0.17459 -7.00575,-0.99143 -8.825099,-3.6233 -4.09339,-5.921678 0.74423,-15.099988 11.271689,-22.377228 10.52745,-7.27725 20.82301,-8.55991 24.91646,-2.63823 1.3645,1.97392 1.74201,4.63002 1.23418,7.412 7.4165,-7.55762 15.21502,-18.78268 8.39257,-28.65213 l 3.28987,-2.27415 27.28962,39.47797 -3.28988,2.27415 m -58.87642,-11.32281 c -7.56662,5.23049 -11.66901,11.9558 -9.62231,14.916638 2.04675,2.96084 9.78772,1.49932 17.35434,-3.731228 7.56662,-5.23049 11.669,-11.9558 9.62231,-14.91664 -2.04675,-2.96084 -9.78773,-1.49926 -17.35434,3.73123 z"
id="path1-5-7-0"
style="fill:#fdd835;fill-opacity:1;stroke-width:3.99934;filter:url(#filter13-2-4)"
transform="matrix(0.256099,-0.0405621,0.0405621,0.256099,64.048763,73.297633)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

2243
graphics/ic_launcher_sc.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 68 KiB

101
graphics/icon_gen.sh Executable file
View File

@ -0,0 +1,101 @@
#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
automatic_commit="$1"
SCHILDI_ROOT="$mydir/.."
source "$SCHILDI_ROOT/merge_helpers.sh"
if [[ "$automatic_commit" == [Yy]* ]]; then
forelement_repos check_clean_git
fi
export_rect() {
w="$1"
h="$2"
in="$3"
out="$4"
inkscape -w "$w" -h "$h" --export-filename="$out" -C "$in"
}
export_square() {
size="$1"
in="$2"
out="$3"
export_rect "$1" "$size" "$in" "$out"
}
repo_dir="$SCHILDI_ROOT/element-web"
base_out="$repo_dir/res/vector-icons"
for i in 1024 120 150 152 180 24 300 44 48 50 76 88; do
export_square "$i" "$mydir/ic_launcher_sc.svg" "$base_out/$i.png"
done
for i in 114 120 144 152 180 57 60 72 76; do
export_square "$i" "$mydir/store_icon.svg" "$base_out/apple-touch-icon-$i.png"
done
for i in 150 310 70; do
export_square "$i" "$mydir/store_icon.svg" "$base_out/mstile-$i.png"
done
# TODO fix measures of input to have correct measures for export here again
export_rect 1024 500 "$mydir/feature_image_transparent.svg" "$base_out/1240x600.png"
export_rect 512 250 "$mydir/feature_image_transparent.svg" "$base_out/620x300.png"
export_rect 256 125 "$mydir/feature_image.svg" "$base_out/mstile-310x150.png"
magick "$base_out/48.png" "$base_out/favicon.ico"
rm "$base_out/48.png" # this was only created for favicon.ico
for f in "$base_out"/*.png; do
pngcrush -ow "$f"
done
cp "$mydir/ic_launcher_sc.svg" "$repo_dir/res/themes/element/img/logos/element-logo.svg"
export_square 320 "$mydir/ic_launcher_sc.svg" "$repo_dir/res/themes/element/img/logos/element-app-logo.png"
repo_dir="$SCHILDI_ROOT/element-desktop"
base_out="$repo_dir/res/img"
export_square 256 "$mydir/ic_launcher_sc.svg" "$base_out/element.png"
magick "$base_out/element.png" "$base_out/element.ico"
# TODO monochrome icon? Unless https://github.com/element-hq/element-desktop/pull/1934 is what we'll end with
export_square 256 "$mydir/ic_launcher_sc.svg" "$base_out/monochrome.png"
magick "$base_out/element.png" "$base_out/monochrome.ico"
for f in "$base_out"/*.png; do
pngcrush -ow "$f"
done
base_out="$repo_dir/build"
for i in 16 24 48 64 96 128 256 512 1024; do
export_square "$i" "$mydir/ic_launcher_sc.svg" "$base_out/icons/$i"x"$i.png"
done
export_square "320" "$mydir/ic_launcher_sc.svg" "$base_out/install-spinner.png"
pngcrush "$base_out/install-spinner.png"
magick "$base_out/install-spinner.png" "$base_out/install-spinner.gif"
rm "$base_out/install-spinner.png"
magick "$base_out/icons/256x256.png" "$base_out/icon.ico"
magick "$base_out/icons/1024x1024.png" "$base_out/icon.icns"
rm "$base_out/icons/1024x1024.png"
for f in "$base_out/icons"/*.png; do
pngcrush -ow "$f"
done
if [[ "$automatic_commit" == [Yy]* ]]; then
forelement_repos commit_if_dirty "Automatic icon update"
fi

1
graphics/store_icon.svg Symbolic link
View File

@ -0,0 +1 @@
ic_launcher_sc.svg

15
hard_reset_repos.sh Executable file
View File

@ -0,0 +1,15 @@
#!/bin/bash
set -e
mydir="$(dirname "$(realpath "$0")")"
cd "$mydir"
source ./merge_helpers.sh
# Note: this doesn't delete files starting with a dot,
# and in particular not the '.git' directory, which we
# want to keep
forall_repos bash -c 'rm -rf *'
forall_repos git reset HEAD --hard

View File

@ -35,7 +35,13 @@ function writeStrings(p, strings) {
let strings = readStrings(p);
for (const key of Object.keys(strings)) {
strings[key] = strings[key].replace(/Element/g, "SchildiChat").replace(/element\.io/g, "schildi.chat");
strings[key] = strings[key]
.replace(/Element/g, "SchildiChat")
.replace(/element\.io/g, "schildi.chat")
// It's still Element Call
.replace(/SchildiChat Call/g, "Element Call")
.replace(/SchildiChat-Call/g, "Element-Call");
}
if (overlayPath) {

View File

@ -0,0 +1 @@
{}

View File

@ -1 +1,3 @@
{}
{
"Show": "نشان دادن"
}

View File

@ -1 +1,3 @@
{}
{
"Show": "Mutat"
}

View File

@ -0,0 +1,3 @@
{
"Show": "Tampilkan"
}

View File

@ -0,0 +1,3 @@
{
"Show": "Visualizza"
}

View File

@ -0,0 +1 @@
{}

View File

@ -1 +1,3 @@
{}
{
"Show": "Mostrar"
}

View File

@ -0,0 +1,3 @@
{
"Show": "Arată"
}

View File

@ -0,0 +1,3 @@
{
"Show": "Visa"
}

View File

@ -0,0 +1,3 @@
{
"Show": "Göster"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,3 @@
{
"Show": "显示"
}

View File

@ -0,0 +1,3 @@
{
"Show": "顯示"
}

View File

@ -0,0 +1 @@
{}

View File

@ -1 +1,3 @@
{}
{
"Welcome to SchildiChat": "Welcome to SchildiChat"
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1 @@
{}

View File

@ -9,5 +9,47 @@
"Show people and rooms in a combined list": "Zobrazit lidi a místnosti v kombinovaném seznamu",
"Update notifications": "Aktualizace oznámení",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Chcete se připojit k místnosti, která vás bude informovat o nových verzích? To je užitečné zejména v případě, že vaše platforma nepodporuje automatické aktualizace SchildiChatu (např. Windows a macOS).",
"Don't ask again": "Neptat se znovu"
"Don't ask again": "Neptat se znovu",
"System": "Systém",
"Light theme": "Světlý motiv",
"Dark theme": "Tmavý motiv",
"Add custom theme": "Přidat vlastní motiv",
"Theme in use": "Používaný motiv",
"User name color mode": "Barevný režim uživatelského jména",
"Uniform": "Jednotný",
"PowerLevel": "Úroveň oprávnění",
"MXID": "MXID",
"In group chats": "Ve skupinových chatech",
"In public rooms": "Ve veřejných místnostech",
"All rooms you're in will appear in Home.": "Všechny místnosti, ve kterých se nacházíte, se zobrazí v Úvodu.",
"Show all rooms in Home": "Zobrazit všechny místnosti v Úvodu",
"Show people in spaces": "Ukázat lidi v prostorech",
"Show notification badges for People in Spaces": "Zobrazit odznaky oznámení pro Lidé v prostorech",
"Return to the room previously opened in a space": "Návrat do dříve otevřené místnosti v prostoru",
"If disabled, the space overview will be shown when switching to another space.": "Pokud je vypnuto, zobrazí se při přepnutí do jiného prostoru přehled prostorů.",
"For people": "Pro osoby",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Pokud je zakázáno, můžete stále přidávat chaty s lidmi do osobních prostorů. Pokud je povoleno, automaticky se zobrazí všichni, kteří jsou členy daného prostoru.",
"Intermediate: medium sized avatar with single-line preview": "Střední: středně velký avatar s jednořádkovým náhledem",
"Roomy: big avatar with two-line preview": "Prostorný: velký avatar s dvouřádkovým náhledem",
"Room list style": "Styl seznamu místností",
"Compact: tiny avatar together with name and preview in one line": "Kompaktní: malý avatar spolu se jménem a náhledem v jednom řádku",
"Show advanced theme settings": "Zobrazit pokročilá nastavení motivu",
"Theme": "Motiv",
"Room list": "Seznam místností",
"Font size and typeface": "Velikost a typ písma",
"Hide advanced theme settings": "Skrýt pokročilá nastavení motivu",
"Mark rooms as unread": "Povolit označování chatů jako nepřečtených",
"Mark as unread": "Označit jako nepřečtené",
"Mark as read": "Označit jako přečtené",
"Enable YouTube embed player": "Povolí vložený přehrávač YouTube",
"Collapse additional buttons": "Sbalit další tlačítka",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Úvod je užitečný pro získání přehledu o všem. Mějte na paměti, že její vypnutí může způsobit, že nebudete moci zobrazit některé místnosti.",
"Corners": "Rohy",
"Round": "Oblé",
"Extra round": "Kulaté",
"Mixed": "Smíšené",
"Sound pack": "Balíček zvuků",
"Schildi: Softer sounds for reduced anxiety": "Schildi: Jemnější zvuky pro snížení úzkosti",
"Classic: The same sharp sounds as Element": "Klasické: Stejně ostré zvuky jako Element",
"React with \"%(reaction)s\"": "Reagovat pomocí \"%(reaction)s\""
}

View File

@ -86,7 +86,7 @@
"Enable experimental, compact IRC style layout": "Kompaktes, experimentelles Layout im IRC-Stil aktivieren",
"Enable layout with message bubbles": "Layout mit Sprechblasen aktivieren",
"Show message bubbles on one side only": "Sprechblasen nur auf einer Seite anzeigen",
"Show message bubbles depending on the width either on both sides or only on one side": "Sprechblasen abhänging von der Breite auf beiden Seiten oder nur einer Seite anzeigen",
"Show message bubbles depending on the width either on both sides or only on one side": "Sprechblasen abhängig von der Breite auf beiden Seiten oder nur einer Seite anzeigen",
"%(brand)s can't securely cache encrypted messages locally while running in a web browser. Use <desktopLink>%(brand)s Desktop</desktopLink> for encrypted messages to appear in search results.": "%(brand)s kann verschlüsselte Nachrichten nicht sicher während der Ausführung im Browser durchsuchen. Benutze <desktopLink>%(brand)s Desktop</desktopLink>, um verschlüsselte Nachrichten in den Suchergebnissen angezeigt zu bekommen.",
"Use default": "Standardeinstellungen benutzen",
"Your firewall or anti-virus is blocking the request.": "Deine Firewall oder dein Antivirenprogramm blockiert die Anfrage.",
@ -109,5 +109,47 @@
"Show people and rooms in a combined list": "Personen und Räume in einer gemeinsamen Liste anzeigen",
"Update notifications": "Updatebenachrichtigungen",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Möchtest du einem Raum beitreten, der dich über neue Updates informiert? Das ist besonders nützlich, wenn deine Plattform keine automatischen Updates für SchildiChat unterstützt (z. B. Windows und macOS).",
"Don't ask again": "Nicht erneut fragen"
"Don't ask again": "Nicht erneut fragen",
"Light theme": "Helles Design",
"Dark theme": "Dunkles Design",
"System": "System",
"Add custom theme": "Benutzerdefiniertes Design hinzufügen",
"Theme in use": "Design in Verwendung",
"Uniform": "Einfarbig",
"PowerLevel": "Berechtigungslevel",
"MXID": "MXID",
"In direct chats": "In direkten Chats",
"In group chats": "In Gruppenchats",
"Show all rooms in Home": "Alle Räume auf der Startseite zeigen",
"Show notification badges for People in Spaces": "Benachrichtigungssymbol für Personen in Spaces zeigen",
"Return to the room previously opened in a space": "In den zuvor geöffneten Raum in einem Space zurückkehren",
"If disabled, the space overview will be shown when switching to another space.": "Wenn deaktiviert, wird die Space-Übersicht beim Wechsel zu einem anderen Space angezeigt.",
"User name color mode": "Farbmodus der Benutzernamen",
"In public rooms": "In öffentlichen Räumen",
"All rooms you're in will appear in Home.": "Alle Räume, in denen du dich befindest, werden auf der Startseite angezeigt.",
"Show people in spaces": "Personen in Spaces anzeigen",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Falls deaktiviert, kannst du trotzdem Direktnachrichten in privaten Spaces hinzufügen. Falls aktiviert, wirst du alle Mitglieder des Spaces sehen.",
"For people": "Für Personen",
"Intermediate: medium sized avatar with single-line preview": "Zwischending: mittelgroßer Avatar mit einer einzeiligen Vorschau",
"Roomy: big avatar with two-line preview": "Geräumig: großer Avatar mit einer zweizeiligen Vorschau",
"Room list style": "Stil der Raumliste",
"Compact: tiny avatar together with name and preview in one line": "Kompakt: winziger Avatar zusammen mit dem Namen und der Vorschau in einer Zeile",
"Hide advanced theme settings": "Erweiterte Designeinstellungen ausblenden",
"Theme": "Design",
"Room list": "Raumliste",
"Font size and typeface": "Schriftgröße und Schriftart",
"Show advanced theme settings": "Erweiterte Designeinstellungen anzeigen",
"Mark rooms as unread": "Erlaube Chats als ungelesen zu markieren",
"Mark as read": "Als gelesen markieren",
"Mark as unread": "Als ungelesen markieren",
"Enable YouTube embed player": "Eingebetteten YouTube-Player aktivieren",
"Collapse additional buttons": "Zusätzliche Buttons einklappen",
"Round": "Rund",
"Mixed": "Gemischt",
"Corners": "Ecken",
"Extra round": "Extra rund",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Die Startseite hilft dir, einen Überblick über deine Chats zu bekommen. Bedenke, dass die Deaktivierung dazu führen kann, dass du bestimmte Räume nicht sehen kannst.",
"Classic: The same sharp sounds as Element": "Klassisch: Die gleichen scharfen Geräusche wie in Element",
"Sound pack": "Geräuschpaket",
"Schildi: Softer sounds for reduced anxiety": "Schildi: Sanftere Klänge für weniger Angstgefühle"
}

View File

@ -11,8 +11,44 @@
"Don't ask again": "Don't ask again",
"System": "System",
"Add custom theme": "Add custom theme",
"Add theme": "Add theme",
"Theme in use": "Theme in use",
"Light theme": "Light theme",
"Dark theme": "Dark theme"
"Dark theme": "Dark theme",
"User name color mode": "User name color mode",
"Uniform": "Uniform",
"PowerLevel": "PowerLevel",
"MXID": "MXID",
"For people": "For people",
"In group chats": "In group chats",
"In public rooms": "In public rooms",
"Show all rooms in Home": "Show all rooms in Home",
"All rooms you're in will appear in Home.": "All rooms you're in will appear in Home.",
"Show people in spaces": "Show people in spaces",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.",
"Show notification badges for People in Spaces": "Show notification badges for People in Spaces",
"Return to the room previously opened in a space": "Return to the room previously opened in a space",
"If disabled, the space overview will be shown when switching to another space.": "If disabled, the space overview will be shown when switching to another space.",
"Compact: tiny avatar together with name and preview in one line": "Compact: tiny avatar together with name and preview in one line",
"Intermediate: medium sized avatar with single-line preview": "Intermediate: medium sized avatar with single-line preview",
"Roomy: big avatar with two-line preview": "Roomy: big avatar with two-line preview",
"Room list style": "Room list style",
"Hide advanced theme settings": "Hide advanced theme settings",
"Show advanced theme settings": "Show advanced theme settings",
"Theme": "Theme",
"Room list": "Room list",
"Font size and typeface": "Font size and typeface",
"Mark rooms as unread": "Allow marking chats as unread",
"Mark as unread": "Mark as unread",
"Mark as read": "Mark as read",
"Enable YouTube embed player": "Enable YouTube embed player",
"Collapse additional buttons": "Collapse additional buttons",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.",
"Corners": "Corners",
"Round": "Round",
"Extra round": "Extra round",
"Mixed": "Mixed",
"Sound pack": "Sound pack",
"Schildi: Softer sounds for reduced anxiety": "Schildi: Softer sounds for reduced anxiety",
"Classic: The same sharp sounds as Element": "Classic: The same sharp sounds as Element",
"React with \"%(reaction)s\"": "React with \"%(reaction)s\""
}

View File

@ -5,5 +5,24 @@
"Normal priority": "Priorité normale",
"Message layout": "Disposition des messages",
"Modern": "Moderne",
"Show people and rooms in a combined list": "Afficher les personnes et les salons dans une liste combinée"
"Show people and rooms in a combined list": "Afficher les personnes et les salons dans une liste combinée",
"Update notifications": "Mettre à jour les notifications",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Souhaitez-vous rejoindre un salon vous notifiant à propos des nouvelles versions ? Cela est surtout utile si votre plateforme ne supporte pas les mises à jour automatiques pour SchildiChat (par ex. Windows et macOS).",
"Don't ask again": "Ne plus demander",
"System": "Système",
"Add custom theme": "Ajouter un thème personnalisé",
"Theme in use": "Thème utilisé",
"Light theme": "Thème lumineux",
"Dark theme": "Thème sombre",
"Uniform": "Uniforme",
"MXID": "MXID",
"In group chats": "Dans les chats de groupe",
"In public rooms": "Dans les salons publiques",
"All rooms you're in will appear in Home.": "Tous les salons dans lesquels vous êtes apparaîtront dans Accueil",
"Show people in spaces": "Afficher les personnes dans les espaces",
"Show notification badges for People in Spaces": "Afficher les badges de notifications pour les Personnes dans les Espaces",
"User name color mode": "Mode de couleur des noms d'utilisateur",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Si désactivé, vous pouvez toujours ajouter Messages Directs à votre Espace Personnel. Si activé, vous verrez automatiquement toutes les personnes qui sont membres de l'Espace.",
"For people": "Pour les personnes",
"Show all rooms in Home": "Afficher tous les salons dans Accueil"
}

View File

@ -3,5 +3,27 @@
"Show message bubbles on one side only": "Üzenetbuborékok megjelenítése csak az egyik oldalon",
"Message bubbles": "Üzenet buborékok",
"Show message bubbles depending on the width either on both sides or only on one side": "Üzenetbuborékok megjelenítése a szélességtől függően mindkét oldalon vagy csak az egyik oldalon",
"Normal priority": "Normál prioritás"
"Normal priority": "Normál prioritás",
"Show people and rooms in a combined list": "Személyek és szobák megjelenítése egy egyesített listában",
"Update notifications": "Értesítések frissítése",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Szeretne csatlakozni olyan szobához, amely értesíti Önt az új megjelenésekről? Ez különösen akkor hasznos, ha az Ön platformja nem támogatja a SchildiChat automatikus frissítéseit (pl. Windows és macOS).",
"System": "Rendszer",
"Show all rooms in Home": "Az összes szoba megjelenítése a kezdőoldalon",
"All rooms you're in will appear in Home.": "Az összes szoba, amelyben tartózkodik, megjelenik a Kezdőlapon.",
"Mark as read": "Olvasottnak jelöl",
"Enable YouTube embed player": "YouTube beágyazott lejátszó engedélyezése",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "A Kezdőlap hasznos ahhoz, hogy mindenről áttekintést kapjunk. Ne feledje, hogy a kikapcsolásával bizonyos szobákat nem fog látni.",
"Schildi: Softer sounds for reduced anxiety": "Schildi: Lágyabb hangok a kevesebb stresszért",
"Sound pack": "Hangcsomag",
"Classic: The same sharp sounds as Element": "Klasszikus: Ugyanazok az éles hangok, mint az Elementnél",
"Don't ask again": "Ne kérdezze újra",
"Light theme": "Világos téma",
"Dark theme": "Sötét téma",
"Mark as unread": "Olvasatlannak jelöl",
"Collapse additional buttons": "További gombok összecsukása",
"Theme": "Téma",
"Room list": "Szobák listája",
"Font size and typeface": "Betűméret és betűtípus",
"Message layout": "Üzenetek elrendezése",
"Modern": "Modern"
}

View File

@ -0,0 +1,54 @@
{
"Normal priority": "Prioritas normal",
"Message layout": "Tata letak pesan",
"Modern": "Modern",
"Show people and rooms in a combined list": "Tampilkan pengguna dan ruangan di daftar gabungan",
"Don't ask again": "Jangan tanya lagi",
"System": "Sistem",
"Add custom theme": "Tambahkan tema kustom",
"Theme in use": "Tema digunakan",
"Light theme": "Tema terang",
"Dark theme": "Tema gelap",
"User name color mode": "Mode warna nama pengguna",
"Uniform": "Seragam",
"PowerLevel": "TingkatDaya",
"MXID": "MXID",
"In group chats": "Di grup",
"In public rooms": "Di ruangan publik",
"Show all rooms in Home": "Tampilkan semua ruangan di Beranda",
"All rooms you're in will appear in Home.": "Semua ruangan yang Anda bergabung akan ditampilkan di Beranda.",
"Show notification badges for People in Spaces": "Tampilkan lencana pemberitahuan untuk Orang di Space",
"Show people in spaces": "Tampilkan orang di space",
"For people": "Untuk orang-orang",
"Return to the room previously opened in a space": "Kembali ke ruangan yang sebelumnya dibuka di sebuah space",
"If disabled, the space overview will be shown when switching to another space.": "Jika dinonaktifkan, ikhtisar space akan ditampilkan saat ganti ke space yang lain.",
"Compact: tiny avatar together with name and preview in one line": "Kecil: avatar kecil dengan nama dan tampilan di satu baris",
"Roomy: big avatar with two-line preview": "Luas: avatar besar dengan tampilan dua baris",
"Room list style": "Gaya daftar ruangan",
"Hide advanced theme settings": "Sembunyikan pengaturan tema lanjutan",
"Show advanced theme settings": "Tampilkan pengaturan tema lanjutan",
"Theme": "Tema",
"Room list": "Daftar ruangan",
"Font size and typeface": "Ukuran fon dan jenis huruf",
"Show message bubbles on one side only": "Tampilkan gelembung pesan di satu sisi saja",
"Show message bubbles depending on the width either on both sides or only on one side": "Tampilkan gelembung pesan tergantung pada lebarnya baik di kedua sisi atau hanya di satu sisi",
"Message bubbles": "Gelembung pesan",
"Update notifications": "Notifikasi peningkatan",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Apakah Anda ingin bergabung ke ruangan yang memberitahu Anda tentang rilis yang baru? Ini sangat berguna jika platform Anda tidak mendukung pembaruan otomatis untuk SchildiChat (mis. Windows dan macOS).",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Jika dinonaktifkan, Anda masih dapat menambahkan Pesan Langsung ke Space Personal. Jika diaktifkan, Anda akan otomatis melihat semua orang yang juga ada di Spacenya.",
"Intermediate: medium sized avatar with single-line preview": "Sedang: avatar sedang dengan tampilan satu baris",
"Mark rooms as unread": "Perbolehkan menandai obrolan sebagai dibaca",
"Mark as unread": "Tandai sebagai belum dibaca",
"Mark as read": "Tandai sebagai dibaca",
"Enable YouTube embed player": "Aktifkan pemain YouTube tersemat",
"Collapse additional buttons": "Sembunyikan tombol tambahan",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Beranda berguna untuk mendapatkan ikhtisar segalanya. Menonaktifkan Beranda mungkin dapat membuat Anda tidak dapat melihat beberapa ruangan.",
"Corners": "Sudut",
"Round": "Bulat",
"Extra round": "Ekstra bulat",
"Mixed": "Campur",
"Sound pack": "Paket suara",
"Schildi: Softer sounds for reduced anxiety": "Schildi: Suara lebih lembut untuk mengurangi kecemasan",
"Classic: The same sharp sounds as Element": "Klasik: Suara keras yang biasa seperti Element",
"React with \"%(reaction)s\"": "Reaksi dengan \"%(reaction)s\""
}

View File

@ -0,0 +1,34 @@
{
"Modern": "Moderno",
"Show people and rooms in a combined list": "Visualizza persone e stanze in una lista combinata",
"Update notifications": "Aggiorna notifiche",
"Don't ask again": "Non chiedere di nuovo",
"System": "Sistema",
"Add custom theme": "Aggiungi tema personalizzato",
"Theme in use": "Tema in uso",
"Light theme": "Tema chiaro",
"Dark theme": "Tema scuro",
"Normal priority": "Priorità normale",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Vuoi entrare in una stanza che ti notificherà riguardo nuove release? Sarebbe comodo particolarmente se la tua piattaforma non supporta aggiornamenti automatici (Come per esempio Windows o MacOS.)",
"Show message bubbles on one side only": "Visualizza bolle messaggi su un lato solo",
"Show message bubbles depending on the width either on both sides or only on one side": "Visualizza bolle messaggi in base alla lunghezza di entrambi i lati o di uno solo",
"User name color mode": "Modalità colore nome utente",
"Room list style": "Stile lista stanze",
"Theme": "Tema",
"Show all rooms in Home": "Visualizza tutte le stanze nella Home",
"All rooms you're in will appear in Home.": "Tutte le stanze in cui partecipi appariranno nella Home.",
"For people": "Per le persone",
"Room list": "Lista stanze",
"Show advanced theme settings": "Visualizza impostazioni avanzate tema",
"Mark rooms as unread": "Permetti di segnare le chat come non lette",
"Message bubbles": "Bolle messaggi",
"Message layout": "Impaginazione messaggi",
"Mark as unread": "Segna come non letto",
"Uniform": "Uniforme",
"Show people in spaces": "Visualizza persone negli spazi",
"MXID": "MXID",
"In public rooms": "Nelle stanze pubbliche",
"In group chats": "Nelle chat di gruppo",
"Font size and typeface": "Dimensione e tipo carattere",
"Hide advanced theme settings": "Nascondi impostazioni avanzate tema"
}

View File

@ -0,0 +1,3 @@
{
"Normal priority": "常優先度"
}

View File

@ -3,5 +3,51 @@
"Modern": "Modernus",
"Message bubbles": "Žinučių burbulai",
"Message layout": "Žinučių išdėstymas",
"Show people and rooms in a combined list": "Asmenų ir kambarių rodymas bendrame sąraše"
"Show people and rooms in a combined list": "Asmenų ir kambarių rodymas bendrame sąraše",
"Room list": "Kambarių sąrašas",
"Show message bubbles on one side only": "Rodyti žinučių burbulus tik vienoje pusėje",
"Update notifications": "Atnaujinimų pranešimai",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Ar jūs norite prisijungti prie kambario kuris praneš jums apie atnaujinimus? Tai yra labai naudinga jei jūsų platforma nepalaiko automatinių SchildiChat atnaujinimų (pvz. Windows ir macOS).",
"Don't ask again": "Nebeklausti",
"System": "Sistema",
"Theme in use": "Tema naudojama",
"Light theme": "Šviesi tema",
"Dark theme": "Tamsi tema",
"MXID": "MXID",
"In group chats": "Pokalbių grupėse",
"In public rooms": "Viešuose kambariuose",
"Show all rooms in Home": "Rodyti visus kambarius Pradžioje",
"All rooms you're in will appear in Home.": "Visi kambariai kuriuose esate bus rodomi Pradžioje.",
"Hide advanced theme settings": "Slėpti išplėstinius temos nustatymus",
"Show advanced theme settings": "Rodyti išplėstinius temos nustatymus",
"Theme": "Tema",
"Font size and typeface": "Šrifto dydis ir raštas",
"Show message bubbles depending on the width either on both sides or only on one side": "Rodyti žinučių burbulus, priklausomai nuo pločio, abiejose pusėse arba tik vienoje pusėje",
"Sound pack": "Garso paketas",
"Schildi: Softer sounds for reduced anxiety": "Schildi: švelnesni garsai sumažintam nerimui",
"Classic: The same sharp sounds as Element": "Klasikiniai: Tie patys aštrūs garsai kaip ir Element",
"Enable YouTube embed player": "Įgalinti YouTube įterptą grotuvą",
"Add custom theme": "Pridėti pasirinktinę temą",
"Mark as unread": "Žymėti kaip neskaitytą",
"Mark as read": "Žymėti kaip perskaitytą",
"User name color mode": "Naudotojo vardo spalvų režimas",
"Uniform": "Vienodi",
"Show notification badges for People in Spaces": "Rodyti pranešimų ženkliukus žmonėms erdvėse",
"Return to the room previously opened in a space": "Grįžti į anksčiau atidarytą kambarį erdvėje",
"If disabled, the space overview will be shown when switching to another space.": "Jei išjungta, perjungiant į kitą erdvę bus rodoma erdvės apžvalga.",
"Room list style": "Kambarių sąrašo stilius",
"Compact: tiny avatar together with name and preview in one line": "Kompaktiška: mažytis avataras kartu su vardu ir peržiūra vienoje eilutėje",
"Intermediate: medium sized avatar with single-line preview": "Vidutinis: vidutinio dydžio avataras su vienos eilutės peržiūra",
"Roomy: big avatar with two-line preview": "Erdvus: didelis avataras su dviejų eilučių peržiūra",
"PowerLevel": "Galios lygis",
"For people": "Žmonėms",
"Show people in spaces": "Rodyti žmones erdvėse",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Jei išjungta, vis tiek galite pridėti tiesioginius pokalbius į asmenines erdves. Jei ši funkcija įjungta, automatiškai matysite visus, kurie yra erdvės nariai.",
"Mark rooms as unread": "Leisti žymėti pokalbius kaip neskaitytus",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Pradžia yra naudinga, kad galėtumėte viską apžvelgti. Turėkite omenyje, kad ją išjungę galite nematyti tam tikrų kambarių.",
"Collapse additional buttons": "Sulankstyti papildomus mygtukus",
"Corners": "Kampai",
"Round": "Apvalus",
"Extra round": "Ypač apvalus",
"Mixed": "Mišrus"
}

View File

@ -8,5 +8,29 @@
"Show message bubbles on one side only": "Vis meldingsbobler kun på én side",
"Show message bubbles depending on the width either on both sides or only on one side": "Vis meldingsbobler avhengig av bredden enten på begge sider eller kun på én side",
"Don't ask again": "Ikke spør igjen",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Ønsker du at et rom skal gi deg merknader om nye utgivelser? Dette er spesielt nyttig hvis din plattform ikke støtter automatiske oppdateringer for SchildiChat (f.eks. Windows og macOS)."
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Ønsker du at et rom skal gi deg merknader om nye utgivelser? Dette er spesielt nyttig hvis din plattform ikke støtter automatiske oppdateringer for SchildiChat (f.eks. Windows og macOS).",
"Hide advanced theme settings": "Skjul avanserte draktinnstillinger",
"Show advanced theme settings": "Vis avanserte draktinnstillinger",
"Theme": "Drakt",
"Room list": "Romliste",
"Font size and typeface": "Størrelse på og type skrift",
"Sound pack": "Lydpakke",
"Schildi: Softer sounds for reduced anxiety": "Schildi: Mykere lyder for mindre angst",
"System": "System",
"Add custom theme": "Legg til egendefinert drakt",
"Theme in use": "Drakt i bruk",
"Light theme": "Lys drakt",
"Dark theme": "Mørk drakt",
"Mark as read": "Marker som lest",
"Mark rooms as unread": "Tillat markering av sludringer som uleste",
"Mark as unread": "Marker som ulest",
"In group chats": "I gruppesludringer",
"In public rooms": "I offentlige rom",
"For people": "For folk",
"Classic: The same sharp sounds as Element": "Klassisk: Samme skarpe lyder som Element",
"Collapse additional buttons": "Fold sammen ytterligere knapper",
"Corners": "Hjørner",
"Round": "Runde",
"Extra round": "Ekstra runde",
"Mixed": "Blandet"
}

View File

@ -3,5 +3,43 @@
"Message bubbles": "Bolhas de mensagens",
"Normal priority": "Prioridade normal",
"Show message bubbles on one side only": "Mostrar bolhas de mensagem em apenas um lado",
"Show message bubbles depending on the width either on both sides or only on one side": "Mostrar bolhas de mensagem dependendo da largura de ambos os lados ou somente de um lado"
"Show message bubbles depending on the width either on both sides or only on one side": "Mostrar bolhas de mensagem dependendo da largura de ambos os lados ou somente de um lado",
"Hide advanced theme settings": "Ocultar configurações de tema avançadas",
"Show advanced theme settings": "Mostrar configurações de tema avançadas",
"Theme": "Tema",
"Room list": "Lista de salas",
"Font size and typeface": "Tamanho da fonte e tipo de letra",
"Message layout": "Layout da mensagem",
"Modern": "Moderno",
"Show people and rooms in a combined list": "Mostrar pessoas e salas em uma lista combinada",
"Update notifications": "Atualizar notificações",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Você quer participar numa sala para ser notificado sobre novos lançamentos? Isto é especialmente útil se a sua plataforma não suportar atualizações automáticas para SchildiChat (tipo Windows e macOS).",
"Don't ask again": "Não pergunte novamente",
"System": "Sistema",
"Add custom theme": "Adicionar tema personalizado",
"Theme in use": "Tema em uso",
"Dark theme": "Tema escuro",
"Light theme": "Tema claro",
"Uniform": "comum",
"PowerLevel": "Nível de poder",
"MXID": "MXID",
"In group chats": "Em conversas de grupo",
"In public rooms": "Em salas públicas",
"All rooms you're in will appear in Home.": "Todos as salas em que você estiver aparecerão em Início.",
"Show all rooms in Home": "Mostrar todos as salas em Início",
"Show people in spaces": "Mostrar as pessoas em espaços",
"Show notification badges for People in Spaces": "Mostrar símbolo de notificação para Pessoas em Espaços",
"Return to the room previously opened in a space": "Retornar à sala previamente aberta em um espaço",
"If disabled, the space overview will be shown when switching to another space.": "Se desativado, a visão geral do espaço será mostrada ao mudar para outro espaço.",
"For people": "Para pessoas",
"User name color mode": "Modo de cor baseado em nome do usuário",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Se estiver desativado, você ainda pode adicionar Mensagens Diretas aos Espaços Pessoais. Se ativado, você verá automaticamente todos os que são membros do Espaço.",
"Compact: tiny avatar together with name and preview in one line": "Compacto: avatar minúsculo junto com o nome e visualização em uma linha",
"Intermediate: medium sized avatar with single-line preview": "Intermédio: avatar de tamanho médio com visualização de uma linha",
"Roomy: big avatar with two-line preview": "Amplo: grande avatar com visualização em duas linhas",
"Room list style": "Estilo da lista de salas",
"Mark rooms as unread": "Permitir markar conversas como não lidos",
"Mark as unread": "Markar como não lido",
"Mark as read": "Markar como lido",
"Collapse additional buttons": "Recolher botões adicionais"
}

View File

@ -0,0 +1,28 @@
{
"Show message bubbles on one side only": "Arata bulele mesajelor pe o singură parte",
"Show message bubbles depending on the width either on both sides or only on one side": "Arată bulele mesajelor bazat fie pe lățimea ambelor părți sau o singură parte",
"Message bubbles": "Bulele mesajelor",
"Normal priority": "Prioritate normală",
"Message layout": "Așezarea mesajului",
"Modern": "Modern",
"Show people and rooms in a combined list": "Arată persoanele și camerele într-o listă combinată",
"Update notifications": "Actualizează notificările",
"Don't ask again": "Nu întreba din nou",
"System": "Sistem",
"Add custom theme": "Adaugă o temă proprie",
"Theme in use": "Temă în folosință",
"Light theme": "Temă luminoasă",
"Dark theme": "Temă întunecată",
"Uniform": "Uniform",
"In group chats": "În chaturile de grup",
"In public rooms": "În camerele publice",
"All rooms you're in will appear in Home.": "Toate camerele în care te afli vor apărea în Pagina principala",
"Show people in spaces": "Arată persoanele în spații",
"Show notification badges for People in Spaces": "Arată simboluri de notificare pentru Persoanele din Spații",
"Return to the room previously opened in a space": "Întoarce-te spre camera deschisă ultima oară într-un spațiu",
"If disabled, the space overview will be shown when switching to another space.": "Dacă e dezactivat, se va arăta vederea de ansamblu a spațiului când schimbi pe alt spațiu.",
"For people": "Pentru persoane",
"User name color mode": "Modul culorilor utilizatorilor",
"Show all rooms in Home": "Arată toate camerele în Pagina principală",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Dacă e dezactivat, încă poți adăuga Mesaje Directe în Spații Personale. Dacă e activat, vei vedea toți membrii Spațiului automat."
}

View File

@ -9,5 +9,33 @@
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Вы хотите присоединиться к комнате, уведомляющей вас о новых релизах? Это особенно полезно, если ваша платформа не поддерживает автоматические обновления для SchildiChat (например, Windows и macOS).",
"Show people and rooms in a combined list": "Показать людей и комнаты в объединенном списке",
"Update notifications": "Уведомления об обновлениях",
"Don't ask again": "Не спрашивать больше"
"Don't ask again": "Не спрашивать больше",
"Hide advanced theme settings": "Скрыть расширенные настройки темы",
"Show advanced theme settings": "Показать расширенные настройки темы",
"Theme": "Тема",
"Room list": "Список комнат",
"Font size and typeface": "Размер и начертание шрифта",
"Light theme": "Светлая тема",
"Dark theme": "Тёмная тема",
"System": "Система",
"Add custom theme": "Добавить пользовательскую тему",
"Theme in use": "Используемая тема",
"In group chats": "В групповых чатах",
"In public rooms": "В публичных комнатах",
"PowerLevel": "Уровень прав",
"MXID": "MXID",
"Show all rooms in Home": "Показать все комнаты в Начале",
"Show notification badges for People in Spaces": "Показывать значки уведомлений для людей в пространствах",
"Return to the room previously opened in a space": "Возврат в комнату, ранее открытую в пространстве",
"If disabled, the space overview will be shown when switching to another space.": "Если отключить, то при переключении на другое пространство будет отображаться обзор пространства.",
"Uniform": "Одинаковый",
"All rooms you're in will appear in Home.": "Все комнаты, в которых вы находитесь, будут отображаться в Начале.",
"Show people in spaces": "Показать людей в пространствах",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Если этот параметр отключен, вы по-прежнему можете добавлять личные сообщения в личные пространства. Если включено, вы будете автоматически видеть всех, кто является членом пространства.",
"Compact: tiny avatar together with name and preview in one line": "Компактный: крошечный аватар вместе с именем и превью в одной строке",
"User name color mode": "Имя пользователя цветовой режим",
"For people": "Для людей",
"Room list style": "Стиль списка комнат",
"Intermediate: medium sized avatar with single-line preview": "Средний: аватар среднего размера с однострочным превью",
"Roomy: big avatar with two-line preview": "Вместительный: большой аватар с двухстрочным превью"
}

View File

@ -0,0 +1,53 @@
{
"Message bubbles": "Meddelandebubblor",
"Normal priority": "Normal prioritet",
"Message layout": "Meddelande layout",
"Modern": "Modern",
"Show people and rooms in a combined list": "Visa personer och rum i en kombinerad lista",
"Update notifications": "Uppdatera meddelanden",
"Don't ask again": "Fråga inte igen",
"System": "System",
"Add custom theme": "Lägg till anpassat tema",
"Theme in use": "Tema i bruk",
"Light theme": "Ljus tema",
"Dark theme": "Mörkt tema",
"Show message bubbles on one side only": "Visa meddelandebubblor bara på ena sidan",
"Show message bubbles depending on the width either on both sides or only on one side": "Visa meddelandebubblor beroende på bredden antingen på båda sidor eller bara på ena sidan",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Vill du gå med i ett rum som informerar dig om nya utgåvor? Detta är särskilt användbart om din plattform inte stöder automatiska uppdateringar för SchildiChat (t.ex.Windows och macOS).",
"Uniform": "Enhetlig",
"PowerLevel": "PowerLevel",
"MXID": "MXID",
"In group chats": "I gruppchattar",
"In public rooms": "I offentliga rum",
"Show all rooms in Home": "Visa alla rum i Home",
"Show people in spaces": "Visa människor i Spaces",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Om den är inaktiverad kan du fortfarande lägga till direktmeddelanden till personliga utrymmen. Om den är aktiverad ser du automatiskt alla som är medlem i Space.",
"Show notification badges for People in Spaces": "Visa meddelandemärken för personer in Spaces",
"Return to the room previously opened in a space": "Återgå till rummet som tidigare öppnats i ett Space",
"If disabled, the space overview will be shown when switching to another space.": "Om den är inaktiverad visas utrymmeöversikten när du byter till ett annat utrymme.",
"For people": "För folk",
"User name color mode": "Användarnamns färgläge",
"All rooms you're in will appear in Home.": "Alla rum du befinner dig i visas i Home.",
"Show advanced theme settings": "Visa avancerade temainställningar",
"Theme": "tema",
"Room list": "Rumslista",
"Font size and typeface": "Teckenstorlek och typsnitt",
"Hide advanced theme settings": "Dölj avancerade temainställningar",
"Compact: tiny avatar together with name and preview in one line": "Kompakt: liten avatar tillsammans med namn och förhandsvisning på en rad",
"Intermediate: medium sized avatar with single-line preview": "Medel: medelstor avatar med enradig förhandsvisning",
"Roomy: big avatar with two-line preview": "Rymlig: stor avatar med förhandsvisning med två rader",
"Room list style": "Rumslista stil",
"Mark as unread": "markera som oläst",
"Mark as read": "markera som läst",
"Mark rooms as unread": "Tillåt att chattar markeras som olästa",
"Enable YouTube embed player": "Aktivera inbäddad YouTube-spelare",
"Collapse additional buttons": "Dölj ytterligare knappar",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Home är användbart för att få en överblick över allt. Tänk på att om du inaktiverar den kan du inte se vissa rum.",
"Round": "Runda",
"Extra round": "Extrarunda",
"Mixed": "Blandad",
"Corners": "Hörn",
"Sound pack": "Ljudpaket",
"Schildi: Softer sounds for reduced anxiety": "Schildi: Mjukare ljud för minskad ångest",
"Classic: The same sharp sounds as Element": "Klassisk: Samma skarpa ljud som Element"
}

View File

@ -0,0 +1,48 @@
{
"Show message bubbles on one side only": "Mesaj baloncuklarını yalnızca bir tarafta göster",
"Show message bubbles depending on the width either on both sides or only on one side": "Genişliğe bağlı olarak mesaj baloncuklarını her iki tarafta veya sadece bir tarafta göster",
"Message bubbles": "Mesaj baloncukları",
"Normal priority": "Normal öncelik",
"Message layout": "Mesaj düzeni",
"Modern": "Modern",
"Update notifications": "Güncelleme bildirimleri",
"Don't ask again": "Bir daha sorma",
"System": "Sistem",
"Add custom theme": "Özel tema ekle",
"Theme in use": "Tema kullanımda",
"Light theme": "Açık tema",
"Dark theme": "Koyu tema",
"Uniform": "Düzenli",
"For people": "İnsanlar için",
"In group chats": "Grup sohbetlerinde",
"In public rooms": "Halka açık odalarda",
"Show people and rooms in a combined list": "Kişileri ve odaları birleşik bir listede göster",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "Yeni sürümler hakkında sizi bilgilendiren bir odaya katılmak ister misiniz? Bu oda özellikle platformunuz SchildiChat için otomatik güncellemeleri desteklemiyorsa (ör. Windows ve macOS) kullanışlıdır.",
"If disabled, the space overview will be shown when switching to another space.": "Devre dışı bırakılırsa, başka bir alana geçerken alana ilişkin genel görünüm gösterilir.",
"Mark as unread": "Okunmadı olarak işaretle",
"User name color mode": "Kullanıcı adı renk modu",
"Show people in spaces": "İnsanları alanlarda göster",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "Devre dışı bırakılmışsa, kişisel alanlara direkt mesajlar eklemeye devam edebilirsiniz. Etkinleştirilirse, alana üye olan herkesi otomatik olarak görürsünüz.",
"Show notification badges for People in Spaces": "Alanlardaki Kişiler için bildirim rozetlerini göster",
"Return to the room previously opened in a space": "Bir alanda daha önce açılmış olan odaya geri dön",
"Compact: tiny avatar together with name and preview in one line": "Sıkıştırılmış: tek satırda isim ve önizleme ile birlikte küçük avatar",
"Intermediate: medium sized avatar with single-line preview": "Orta: tek satır önizlemeli orta boy avatar",
"Roomy: big avatar with two-line preview": "Ferah: iki satırlık önizleme ile büyük avatar",
"Room list style": "Oda listesi tarzı",
"Hide advanced theme settings": "Gelişmiş tema ayarlarını gizle",
"Show all rooms in Home": "Ana sayfadaki tüm odaları göster",
"All rooms you're in will appear in Home.": "Bulunduğunuz tüm odalar ana sayfada görünecektir.",
"Show advanced theme settings": "Gelişmiş tema ayarlarını göster",
"Theme": "Tema",
"Font size and typeface": "Yazı tipi boyutu ve yazı karakteri",
"Room list": "Oda sıralaması",
"Mark rooms as unread": "Sohbetleri okunmamış olarak işaretlemeye izin ver",
"Mark as read": "Okundu olarak işaretle",
"Enable YouTube embed player": "YouTube gömülü oynatıcıyı etkinleştir",
"Collapse additional buttons": "Ek düğmeleri daralt",
"Corners": "Köşeler",
"Round": "Yuvarlak",
"Extra round": "Fazladan yuvarlak",
"Mixed": "Karışık",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "Ana sayfa, her şeye genel bir bakış elde etmek için kullanışlıdır. Devre dışı bırakıldığında belirli odaları göremeyebileceğinizi unutmayın."
}

View File

@ -0,0 +1 @@
{}

View File

@ -0,0 +1,54 @@
{
"Message bubbles": "消息气泡",
"Normal priority": "正常优先级",
"Message layout": "消息布局",
"Modern": "现代",
"Show people and rooms in a combined list": "使用组合列表显示所有人员和房间",
"Update notifications": "更新通知",
"Don't ask again": "不再询问",
"System": "系统",
"Add custom theme": "添加自定义主题",
"Theme in use": "当前主题",
"User name color mode": "用户名颜色模式",
"Light theme": "浅色主题",
"Dark theme": "深色主题",
"Uniform": "单色",
"In group chats": "群聊",
"For people": "私聊",
"All rooms you're in will appear in Home.": "你加入的所有聊天室都会显示在主页。",
"In public rooms": "公共聊天室",
"Show people in spaces": "显示空间中的人",
"Show all rooms in Home": "在主页显示所有聊天室",
"If disabled, you can still add Direct Messages to Personal Spaces. If enabled, you'll automatically see everyone who is a member of the Space.": "如果禁用,你仍可以将私聊添加至个人空间。若启用,你将自动看见空间中的每位成员。",
"Show notification badges for People in Spaces": "为空间中的人显示通知标志",
"PowerLevel": "根据权限等级自动设定",
"MXID": "根据 Matrix ID 自动设定",
"Return to the room previously opened in a space": "返回先前在空间中打开的聊天室",
"If disabled, the space overview will be shown when switching to another space.": "如果禁用,切换到其他空间时将显示空间概览。",
"Compact: tiny avatar together with name and preview in one line": "紧凑:在一行中包含小头像、用户名和消息预览",
"Intermediate: medium sized avatar with single-line preview": "中等:中等大小头像,用户名与消息预览在头像旁以单行宽度分列",
"Roomy: big avatar with two-line preview": "宽敞:大尺寸头像,用户名与消息预览在头像旁以双行宽度分列",
"Hide advanced theme settings": "隐藏高级主题设置",
"Show advanced theme settings": "显示高级主题设置",
"Theme": "主题",
"Room list": "聊天室列表",
"Font size and typeface": "字号与字型",
"Show message bubbles on one side only": "仅在一侧显示消息气泡",
"Room list style": "聊天室列表样式",
"Show message bubbles depending on the width either on both sides or only on one side": "根据窗口大小智能切换消息气泡的显示样式",
"Do you want to join a room notifying you about new releases? This is especially useful if your platform doesn't support automatic updates for SchildiChat (e.g. Windows and macOS).": "您想加入一个用来通知版本更新的房间吗?如果您的平台不支持自动更新 SchildiChat例如 Windows 和 macOS这将非常有用。",
"Mark as read": "标记为已读",
"Mark rooms as unread": "允许将聊天记录标记为未读",
"Mark as unread": "标记为未读",
"Home is useful for getting an overview of everything. Keep in mind that disabling it could leave you unable to see certain rooms.": "主页对于概览所有消息来说非常有用。请注意:禁用主页可能会让您无法看到某些房间。",
"Enable YouTube embed player": "启用 YouTube 嵌入式播放器",
"Collapse additional buttons": "折叠额外的按钮",
"Round": "圆角",
"React with \"%(reaction)s\"": "与 \"%(reaction)s\" 互动",
"Schildi: Softer sounds for reduced anxiety": "Schildi: 舒缓音效以减少焦虑",
"Mixed": "混合",
"Extra round": "超圆角",
"Sound pack": "音频包",
"Classic: The same sharp sounds as Element": "Classic: 与 Element 相同的尖锐声音",
"Corners": "边缘"
}

View File

@ -0,0 +1 @@
{}

View File

@ -10,7 +10,7 @@ pkgdesc="SchildiChat is a Matrix client based on Element with a more traditional
arch=('x86_64')
url="https://schildi.chat"
license=('Apache')
depends=('sqlcipher')
depends=()
provides=('---appName---')
conflicts=('---appName---')
source=("---debName---"
@ -22,4 +22,5 @@ package() {
msg2 "Extracting the data.tar.xz..."
bsdtar -xf data.tar.xz -C "$pkgdir/"
install -Dm755 "${srcdir}"/---appName---.sh "${pkgdir}"/usr/bin/---appName---
sed -i 's|^Exec=.*|Exec=/usr/bin/---appName--- %u|' "${pkgdir}"/usr/share/applications/---appName---.desktop
}

@ -1 +1 @@
Subproject commit 4bc4575eb65aa68ea8080f5de2072a5949ca8c6d
Subproject commit 5f3f08071fbab8bc6af08b0d940189a513f572e2

@ -1 +0,0 @@
Subproject commit 55874eaa27ac68daa1fd67f739945cf51551f4ef

View File

@ -1,6 +1,10 @@
#!/bin/bash
SCHILDI_ROOT="$(dirname "$(realpath "$0")")"
if [ -z "$SCHILDI_ROOT" ]; then
SCHILDI_ROOT="$(dirname "$(realpath "$0")")"
fi
branch=${BRANCH:-"lite"}
i18n_helper_path="$SCHILDI_ROOT/i18n-helper/index.js"
i18n_path="src/i18n/strings"
@ -10,16 +14,16 @@ yarn=yarnpkg
add_upstream() {
if git remote | grep -q upstream; then
echo "Remote named upstream already exists!"
return 1
echo "Remote named upstream already exists, deleting..."
git remote remove upstream
fi
local sc_remote="$(git remote -v|grep origin|grep fetch|sed 's|.*\t\(.*\) (fetch)|\1|')"
if echo "$sc_remote" | grep -q matrix; then
local sc_remote="$(git remote -v|grep origin|grep fetch|sed 's|.*\t\(.*\) (fetch)|\1|;s|git@github.com:|https://github.com/|')"
if echo "$sc_remote" | grep -q matrix-js-sdk; then
# matrix.org repo
local upstream_remote="$(echo "$sc_remote" | sed 's|SchildiChat|matrix-org|')"
elif echo "$sc_remote" | grep -q element; then
elif echo "$sc_remote" | grep -q "element\\|compound-web"; then
# vector-im repo
local upstream_remote="$(echo "$sc_remote" | sed 's|SchildiChat|vector-im|')"
local upstream_remote="$(echo "$sc_remote" | sed 's|SchildiChat|element-hq|')"
else
echo "Don't know upstream repo for $sc_remote"
return 1
@ -30,18 +34,27 @@ add_upstream() {
}
forall_repos() {
pushd "$SCHILDI_ROOT/matrix-js-sdk"
"$@"
popd
pushd "$SCHILDI_ROOT/matrix-react-sdk"
"$@"
popd
pushd "$SCHILDI_ROOT/element-web"
"$@"
popd
pushd "$SCHILDI_ROOT/element-desktop"
"$@"
popd
for repo in "matrix-js-sdk" "element-web" "element-desktop" "compound-web"; do
pushd "$SCHILDI_ROOT/$repo" > /dev/null
"$@"
popd > /dev/null
done
}
forelement_repos() {
for repo in "element-web" "element-desktop"; do
pushd "$SCHILDI_ROOT/$repo" > /dev/null
"$@"
popd > /dev/null
done
}
for_main_repos() {
for repo in "matrix-js-sdk" "element-web" "element-desktop"; do
pushd "$SCHILDI_ROOT/$repo" > /dev/null
"$@"
popd > /dev/null
done
}
ensure_yes() {
@ -70,9 +83,10 @@ check_clean_git() {
revert_i18n_changes() {
local i18n_path="$1"
local skip_commit="$2"
local revision="$2"
local skip_commit="$3"
git checkout upstream/master -- "$i18n_path"
git checkout "$revision" -- "$i18n_path"
if [[ "$skip_commit" != [Yy]* ]]; then
git commit -m "Automatic i18n reversion" || true
@ -89,27 +103,22 @@ apply_i18n_changes() {
automatic_i18n_reversion() {
local skip_commit="$1"
pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
revert_i18n_changes "$i18n_path" $skip_commit
popd > /dev/null
local current_upstream_tag
get_current_upstream_tag
local current_mxjssdk_tag
get_current_mxsdk_tags
pushd "$SCHILDI_ROOT/element-web" > /dev/null
revert_i18n_changes "$i18n_path" $skip_commit
revert_i18n_changes "$i18n_path" "$current_upstream_tag" "$skip_commit"
popd > /dev/null
pushd "$SCHILDI_ROOT/element-desktop" > /dev/null
revert_i18n_changes "$i18n_path" $skip_commit
revert_i18n_changes "$i18n_path" "$current_upstream_tag" "$skip_commit"
popd > /dev/null
}
automatic_i18n_adjustment() {
# matrix-react-sdk
pushd "$SCHILDI_ROOT/matrix-react-sdk" > /dev/null
$yarn i18n
node "$i18n_helper_path" "$SCHILDI_ROOT/matrix-react-sdk/$i18n_path" "$i18n_overlay_path/matrix-react-sdk"
apply_i18n_changes "$i18n_path"
popd > /dev/null
# element-web
pushd "$SCHILDI_ROOT/element-web" > /dev/null
$yarn i18n
@ -124,3 +133,164 @@ automatic_i18n_adjustment() {
apply_i18n_changes "$i18n_path"
popd > /dev/null
}
get_current_versions() {
local version=`cat "$SCHILDI_ROOT/element-web/package.json" | jq .version -r`
if [[ "$version" =~ ([0-9\.]*)(-sc\.([0-9]+)(\.test.([0-9]+))?)? ]]; then
upstream="${BASH_REMATCH[1]}"
release="${BASH_REMATCH[3]}"
test="${BASH_REMATCH[5]}"
fi
versions=("${upstream:-"0.0.1"}" "${release:-"0"}" "${test:-"0"}")
}
get_versions_string() {
versions_string="${versions[0]}-sc.${versions[1]}"
# both zero means the initial version after a merge
if [[ ${versions[1]} -eq 0 || ${versions[2]} -gt 0 ]]; then
versions_string+=".test.${versions[2]}"
fi
}
write_version() {
local file="$1"
local versions_string
get_versions_string
new_content=`jq --arg version "$versions_string" '.version = $version' "$file"`
echo "$new_content" > "$file"
git add "$file"
git commit -m "Update version to $versions_string" || true
}
bump_test_version() {
local versions
get_current_versions
# increment test version
versions[2]=$((versions[2] + 1))
forelement_repos write_version "package.json"
}
bump_release_version() {
local versions
get_current_versions
# increment release version
versions[1]=$((versions[1] + 1))
# set test version to 0
versions[2]=0
forelement_repos write_version "package.json"
}
revert_packagejson_changes() {
local path="$1"
local revision="$2"
local skip_commit="$3"
git checkout "$revision" -- "$path"
if [[ "$skip_commit" != [Yy]* ]]; then
git commit -m "Automatic package.json reversion" || true
fi
}
apply_packagejson_overlay() {
local orig_path="$1"
local overlay_path="../overlay/$(basename "$PWD")/package.json"
# see: https://stackoverflow.com/a/24904276
new_content=`jq -s '.[0] * .[1]' "$orig_path" "$overlay_path" | sed 's| | |g'`
echo "$new_content" > "$orig_path"
git add "$orig_path"
git commit -m "Automatic package.json adjustment" || true
}
automatic_packagejson_reversion() {
local skip_commit="$1"
local current_upstream_tag
get_current_upstream_tag
forelement_repos revert_packagejson_changes "package.json" "$current_upstream_tag" "$skip_commit"
}
automatic_packagejson_adjustment() {
local versions
get_current_versions
forelement_repos apply_packagejson_overlay "package.json"
forelement_repos write_version "package.json"
}
get_latest_upstream_tag() {
pushd "$SCHILDI_ROOT/element-web" > /dev/null
git fetch upstream
latest_upstream_tag=`git for-each-ref --sort=creatordate --format '%(refname) %(creatordate)' refs/tags | sed -nr 's|refs/tags/(v[0-9]+(\.[0-9]+(\.[0-9]+)?)?) .*|\1|p' | tail -n 1`
popd > /dev/null
}
get_current_upstream_tag() {
local versions
get_current_versions
current_upstream_tag="v${versions[0]}"
}
get_current_mxsdk_tags() {
current_mxjssdk_tag="v$(cat "$SCHILDI_ROOT/element-web/package.json" | jq '.dependencies["matrix-js-sdk"]' -r)"
}
apply_patches() {
local repo="$(realpath "$1")"
local patch_dir="$SCHILDI_ROOT/patches/$(basename "$1")"
if [ ! -d "$repo" ]; then
echo "Unknown repo: $repo"
return 1
fi
if [ ! -d "$patch_dir" ]; then
echo "No patches found at $patch_dir"
return 1
fi
pushd "$repo"
for patch in "$patch_dir"/*; do
echo "Applying $patch to $repo..."
git am "$patch" || on_apply_patch_fail_try_original_commit "$patch" "$repo"
done
popd
}
on_apply_patch_fail_try_original_commit() {
local patch="$1"
local repo="$2"
local orig_commit="$(head -n 1 "$patch"|sed 's|From ||;s| .*||')"
echo "Applying $patch failed, trying with original commit $orig_commit..."
git am --abort
git cherry-pick "$orig_commit" || on_apply_patch_fail "$patch" "$repo" "$orig_commit"
}
on_apply_patch_fail() {
local patch="$1"
local repo="$2"
local orig_commit="$3"
echo "----------------------------------"
echo "Applying patch failed, please commit manually!"
echo "Patch: $patch"
echo "Repo: $repo"
echo "Original commit: $(head -n 1 "$patch"|sed 's|From ||;s| .*||')"
echo "----------------------------------"
read -p "Press enter after committing resolved conflicts: "
}
commit_if_dirty() {
local message="$1"
# see: https://devops.stackexchange.com/a/5443
git add -A
git diff-index --quiet HEAD || git commit -m "$message"
}

View File

@ -3,36 +3,56 @@
set -e
mydir="$(dirname "$(realpath "$0")")"
branch=${BRANCH:-"sc"}
# Update patches?
if [ "$1" = "-u" ]; then
keep_patches=0
shift
else
keep_patches=1
fi
pushd "$mydir" > /dev/null
source ./merge_helpers.sh
# Check branch
check_branch $branch
forall_repos check_branch $branch
# Persist current state
if [ "$keep_patches" = 0 ]; then
./generate_patches.sh
fi
# Ensure clean git state
forall_repos check_clean_git
# Abandon all local submodule state
forall_repos git reset --hard
git submodule update -f --recursive
# Automatic i18n reversion
automatic_i18n_reversion
# Merge
# Fetch upstream
forall_repos git fetch upstream
forall_repos git merge upstream/master
# Check if specific version to merge passed
if [ -z "$1" ]; then
get_latest_upstream_tag
else
latest_upstream_tag="$1"
fi
sc_branch_name="sc_$latest_upstream_tag"
forelement_repos git checkout "$latest_upstream_tag" -B "$sc_branch_name"
get_current_mxsdk_tags
pushd "matrix-js-sdk" > /dev/null
git checkout "$current_mxjssdk_tag" -B "$sc_branch_name"
popd > /dev/null
# Refresh environment
make clean
make setup
forall_repos commit_if_dirty "Automatic setup commit"
# Automatic i18n adjustment
automatic_i18n_adjustment
./apply_patches.sh
# Automatic theme update
pushd "matrix-react-sdk" > /dev/null
./theme.sh
popd > /dev/null
compound_web_version=`cat element-web/package.json|grep compound-web|sed 's|.*: \"\(.*\)",|\1|;s|\^||'`
echo "TODO: merge compound web at $compound_web_version"
popd > /dev/null

View File

@ -1,17 +0,0 @@
final: prev: {
cleanSchildichatDesktopSource = src: with final.lib; cleanSourceWith {
filter = name: type: cleanSourceFilter name type
&& !(hasInfix "/node_modules/" name)
&& !(hasInfix "/nix/" name && hasSuffix ".nix" name)
;
inherit src;
};
schildichat-web = final.callPackage ./schildichat-web.nix {};
schildichat-desktop = final.callPackage ./schildichat-desktop.nix {
inherit (final.darwin.apple_sdk.frameworks) Security AppKit CoreServices;
};
schildichat-desktop-wayland = final.callPackage ./schildichat-desktop.nix {
inherit (final.darwin.apple_sdk.frameworks) Security AppKit CoreServices;
useWayland = true;
};
}

View File

@ -1,109 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, makeDesktopItem
, mkYarnPackage
, electron
, element-desktop # for native modules
, schildichat-web
, callPackage
, Security
, AppKit
, CoreServices
, useWayland ? false
, cleanSchildichatDesktopSource
, schildichat-desktop-src ? ../.
}:
let
packageJSON = schildichat-desktop-src + "/element-desktop/package.json";
yarnLock = schildichat-desktop-src + "/element-desktop/yarn.lock";
package = builtins.fromJSON (builtins.readFile packageJSON);
pname = "schildichat-desktop";
version = package.version;
executableName = pname;
electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
in mkYarnPackage rec {
inherit pname version packageJSON;
src = cleanSchildichatDesktopSource (schildichat-desktop-src + "/element-desktop");
nativeBuildInputs = [ makeWrapper ];
inherit (element-desktop) seshat keytar;
buildPhase = ''
runHook preBuild
export HOME=$(mktemp -d)
pushd deps/schildichat-desktop/
npx tsc
yarn run i18n
node ./scripts/copy-res.js
popd
rm -rf node_modules/matrix-seshat node_modules/keytar
ln -s $keytar node_modules/keytar
ln -s $seshat node_modules/matrix-seshat
runHook postBuild
'';
installPhase = ''
runHook preInstall
# resources
mkdir -p "$out/share/element"
ln -s '${schildichat-web}' "$out/share/element/webapp"
cp -r './deps/schildichat-desktop' "$out/share/element/electron"
cp -r './deps/schildichat-desktop/res/img' "$out/share/element"
rm "$out/share/element/electron/node_modules"
cp -r './node_modules' "$out/share/element/electron"
cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
# icons
for icon in $out/share/element/electron/build/icons/*.png; do
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/element.png"
done
# desktop item
mkdir -p "$out/share"
ln -s "${desktopItem}/share/applications" "$out/share/applications"
# executable wrapper
makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
--add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
runHook postInstall
'';
# Do not attempt generating a tarball for element-web again.
# note: `doDist = false;` does not work.
distPhase = ''
true
'';
# The desktop item properties should be kept in sync with data from upstream:
# https://github.com/vector-im/element-desktop/blob/develop/package.json
desktopItem = makeDesktopItem {
name = "schildichat-desktop";
exec = "${executableName} %u";
icon = "schildichat";
desktopName = "SchildiChat";
genericName = "Matrix Client";
categories = "Network;InstantMessaging;Chat;";
extraEntries = ''
StartupWMClass=schildichat
MimeType=x-scheme-handler/element;
'';
};
}

View File

@ -1,75 +0,0 @@
{ stdenv
, mkYarnModules
, nodejs
, cleanSchildichatDesktopSource
, schildichat-desktop-src ? ../.
, ...
}:
let
packageJSON = schildichat-desktop-src + "/element-web/package.json";
yarnLock = schildichat-desktop-src + "/element-web/yarn.lock";
package = builtins.fromJSON (builtins.readFile packageJSON);
pname = "schildichat-web";
version = package.version;
modules = mkYarnModules {
name = "${pname}-modules-${version}";
inherit pname version packageJSON yarnLock;
};
in stdenv.mkDerivation {
inherit pname version;
src = cleanSchildichatDesktopSource schildichat-desktop-src;
buildInputs = [ nodejs ];
postPatch = ''
patchShebangs .
'';
configurePhase = ''
runHook preConfigure
cp configs/sc/config.json element-web/
cp -r ${modules}/node_modules node_modules
chmod u+rwX -R node_modules
rm -rf node_modules/matrix-react-sdk
ln -s $PWD/matrix-react-sdk node_modules/
ln -s $PWD/node_modules matrix-react-sdk/
ln -s $PWD/node_modules element-web/
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
pushd matrix-react-sdk
node_modules/.bin/reskindex -h ../element-web/src/header
popd
pushd element-web
node scripts/copy-res.js
node_modules/.bin/reskindex -h ../element-web/src/header
node_modules/.bin/webpack --progress --mode production
popd
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -r element-web/webapp $out
runHook postInstall
'';
passthru = {
inherit modules;
};
}

View File

@ -0,0 +1,10 @@
{
"name": "schildichat-desktop-alpha",
"productName": "SchildiChatAlpha",
"description": "A Matrix Client based on Element with some changes and tweaks",
"author": "SchildiChat",
"repository": {
"url": "https://github.com/SchildiChat/schildichat-desktop"
},
"homepage": "https://schildi.chat/"
}

View File

@ -0,0 +1,8 @@
{
"name": "schildichat-web-alpha",
"description": "A Matrix Client based on Element with some changes and tweaks",
"author": "SchildiChat",
"repository": {
"url": "https://github.com/SchildiChat/schildichat-desktop"
}
}

View File

@ -0,0 +1,62 @@
From 1f589d9bb0c332ccb55d51f824f707385d80fbc0 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Sat, 2 Dec 2023 12:57:26 +0100
Subject: Add back schildi fetch-package.ts modifications
---
scripts/fetch-package.ts | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/scripts/fetch-package.ts b/scripts/fetch-package.ts
index 7282945..4be7ab0 100644
--- a/scripts/fetch-package.ts
+++ b/scripts/fetch-package.ts
@@ -54,6 +54,7 @@ async function main(): Promise<number | undefined> {
let filename: string | undefined;
let url: string | undefined;
let setVersion = false;
+ const sc = true;
while (process.argv.length > 2) {
switch (process.argv[2]) {
@@ -82,7 +83,9 @@ async function main(): Promise<number | undefined> {
process.argv.shift();
}
- if (targetVersion === undefined) {
+ if (sc) {
+ // nothing
+ } else if (targetVersion === undefined) {
targetVersion = "v" + riotDesktopPackageJson.version;
} else if (targetVersion !== "develop") {
setVersion = true; // version was specified
@@ -92,7 +95,7 @@ async function main(): Promise<number | undefined> {
filename = "develop.tar.gz";
url = DEVELOP_TGZ_URL;
verify = false; // develop builds aren't signed
- } else if (targetVersion.includes("://")) {
+ } else if (targetVersion?.includes("://")) {
filename = targetVersion.substring(targetVersion.lastIndexOf("/") + 1);
url = targetVersion;
verify = false; // manually verified
@@ -146,12 +149,15 @@ async function main(): Promise<number | undefined> {
}
let haveDeploy = false;
- let expectedDeployDir = path.join(deployDir, path.basename(filename).replace(/\.tar\.gz/, ""));
+ let expectedDeployDir = sc ? "../element-web/webapp" : path.join(deployDir, path.basename(filename).replace(/\.tar\.gz/, ""));
try {
await fs.opendir(expectedDeployDir);
console.log(expectedDeployDir + "already exists");
haveDeploy = true;
- } catch {}
+ } catch (e) {
+ console.log("Not a valid webapp dir: " + expectedDeployDir, e);
+ return 1;
+ }
if (!haveDeploy) {
const outPath = path.join(pkgDir, filename);
--
2.48.1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
From c3cf43a61f54bb688b32c881564a181485170013 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Sun, 27 Oct 2024 19:38:47 +0100
Subject: Don't welcome to Element
---
res/welcome.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/res/welcome.html b/res/welcome.html
index ef2d43bd8f..5b71670f4f 100644
--- a/res/welcome.html
+++ b/res/welcome.html
@@ -169,7 +169,7 @@ we don't have an account and should hide them. No account == no guest account ei
<a href="https://element.io" target="_blank" rel="noopener">
<img src="$logoUrl" alt="" class="mx_Logo" />
</a>
- <h1 class="mx_Header_title">_t("welcome_to_element")</h1>
+ <h1 class="mx_Header_title">_t("Welcome to SchildiChat")</h1>
<!-- XXX: Our translations system isn't smart enough to recognize variables in the HTML, so we manually do it -->
<h4 class="mx_Header_subtitle">_t("powered_by_matrix_with_logo")</h4>
<div class="mx_ButtonGroup">
--
2.48.1

View File

@ -0,0 +1,25 @@
From 61fd7f169e275a27d168d1afe436c5dd34dbc09a Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Sun, 27 Oct 2024 19:55:30 +0100
Subject: Stronger login background to ensure contrast of our icon with our bg
---
src/components/views/auth/AuthPage.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/components/views/auth/AuthPage.tsx b/src/components/views/auth/AuthPage.tsx
index 3c7fe2503e..64163e837c 100644
--- a/src/components/views/auth/AuthPage.tsx
+++ b/src/components/views/auth/AuthPage.tsx
@@ -58,7 +58,7 @@ export default class AuthPage extends React.PureComponent<React.PropsWithChildre
const modalContentStyle: React.CSSProperties = {
display: "flex",
zIndex: 1,
- background: "rgba(255, 255, 255, 0.59)",
+ background: "linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.7))",
borderRadius: "8px",
};
--
2.48.1

View File

@ -0,0 +1,30 @@
From 460db57d64132c244504f2f046f7473b30359e7d Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Sun, 27 Oct 2024 20:07:30 +0100
Subject: Schildify login footer
---
src/components/views/auth/AuthFooter.tsx | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/components/views/auth/AuthFooter.tsx b/src/components/views/auth/AuthFooter.tsx
index f609b4792a..8abcc8fa37 100644
--- a/src/components/views/auth/AuthFooter.tsx
+++ b/src/components/views/auth/AuthFooter.tsx
@@ -15,9 +15,13 @@ import { _t } from "../../../languageHandler";
const AuthFooter = (): ReactElement => {
const brandingConfig = SdkConfig.getObject("branding");
const links = brandingConfig?.get("auth_footer_links") ?? [
+ /*
{ text: "Blog", url: "https://element.io/blog" },
{ text: "Mastodon", url: "https://mastodon.matrix.org/@Element" },
{ text: "GitHub", url: "https://github.com/element-hq/element-web" },
+ */
+ { text: "About", url: "https://schildi.chat" },
+ { text: "GitHub", url: "https://github.com/schildichat/schildichat-desktop" },
];
const authFooterLinks: JSX.Element[] = [];
--
2.48.1

View File

@ -0,0 +1,29 @@
From 12b585464c5d85df4d210862543018a28b815bd0 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Tue, 18 Jan 2022 13:28:22 +0100
Subject: Disable sticky rooms
---
src/stores/room-list/algorithms/Algorithm.ts | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/stores/room-list/algorithms/Algorithm.ts b/src/stores/room-list/algorithms/Algorithm.ts
index 5419a6e47c..25d6b78fde 100644
--- a/src/stores/room-list/algorithms/Algorithm.ts
+++ b/src/stores/room-list/algorithms/Algorithm.ts
@@ -159,8 +159,10 @@ export class Algorithm extends EventEmitter {
this.recalculateActiveCallRooms(tagId);
}
- private updateStickyRoom(val: Room | null): void {
- this.doUpdateStickyRoom(val);
+ private updateStickyRoom(val: Room) {
+ // Schildi: we don't want it sticky
+ this.doUpdateStickyRoom(null);
+ //this.doUpdateStickyRoom(val);
this._lastStickyRoom = null; // clear to indicate we're done changing
}
--
2.48.1

View File

@ -0,0 +1,267 @@
From c14f17a15c7a4f22126eba9a92a417732fe3f659 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Sun, 5 May 2024 10:12:17 +0200
Subject: Bring back unified room list
Remaining TODO:
- Hook up setting to UI again (better with own SC-specific screen?)
Co-authored-by: su-ex <codeworks@supercable.onl>
---
src/components/views/rooms/LegacyRoomList.tsx | 39 ++++++++++++++++++-
src/settings/Settings.tsx | 8 ++++
src/stores/room-list/RoomListStore.ts | 19 ++++++++-
src/stores/room-list/algorithms/Algorithm.ts | 20 ++++++++--
src/stores/room-list/models.ts | 2 +
5 files changed, 83 insertions(+), 5 deletions(-)
diff --git a/src/components/views/rooms/LegacyRoomList.tsx b/src/components/views/rooms/LegacyRoomList.tsx
index a940484b16..663f741fed 100644
--- a/src/components/views/rooms/LegacyRoomList.tsx
+++ b/src/components/views/rooms/LegacyRoomList.tsx
@@ -83,11 +83,13 @@ interface IState {
sublists: ITagMap;
currentRoomId?: string;
suggestedRooms: ISuggestedRoom[];
+ unifiedRoomList: boolean;
}
export const TAG_ORDER: TagID[] = [
DefaultTagID.Invite,
DefaultTagID.Favourite,
+ DefaultTagID.Unified,
DefaultTagID.DM,
DefaultTagID.Untagged,
DefaultTagID.Conference,
@@ -100,6 +102,7 @@ export const TAG_ORDER: TagID[] = [
// but we'd have to make sure that rooms you weren't in were hidden.
];
const ALWAYS_VISIBLE_TAGS: TagID[] = [DefaultTagID.DM, DefaultTagID.Untagged];
+const ALWAYS_VISIBLE_UNIFIED_TAGS: TagID[] = [DefaultTagID.Unified];
interface ITagAesthetics {
sectionLabel: TranslationKey;
@@ -377,6 +380,17 @@ const UntaggedAuxButton: React.FC<IAuxButtonProps> = ({ tabIndex }) => {
return null;
};
+const UnifiedAuxButton: React.FC<IAuxButtonProps> = (iAuxButtonProps: IAuxButtonProps) => {
+ return (
+ <>
+ {/* eslint-disable-next-line new-cap */}
+ {DmAuxButton(iAuxButtonProps)}
+ {/* eslint-disable-next-line new-cap */}
+ {UntaggedAuxButton(iAuxButtonProps)}
+ </>
+ );
+};
+
const TAG_AESTHETICS: TagAestheticsMap = {
[DefaultTagID.Invite]: {
sectionLabel: _td("action|invites_list"),
@@ -394,6 +408,12 @@ const TAG_AESTHETICS: TagAestheticsMap = {
defaultHidden: false,
AuxButtonComponent: DmAuxButton,
},
+ [DefaultTagID.Unified]: {
+ sectionLabel: _td("Normal priority"),
+ isInvite: false,
+ defaultHidden: false,
+ AuxButtonComponent: UnifiedAuxButton,
+ },
[DefaultTagID.Conference]: {
sectionLabel: _td("voip|metaspace_video_rooms|conference_room_section"),
isInvite: false,
@@ -432,6 +452,7 @@ const TAG_AESTHETICS: TagAestheticsMap = {
export default class LegacyRoomList extends React.PureComponent<IProps, IState> {
private dispatcherRef?: string;
+ private readonly unifiedRoomListWatcherRef: string;
private treeRef = createRef<HTMLDivElement>();
public static contextType = MatrixClientContext;
@@ -443,7 +464,14 @@ export default class LegacyRoomList extends React.PureComponent<IProps, IState>
this.state = {
sublists: {},
suggestedRooms: SpaceStore.instance.suggestedRooms,
+ unifiedRoomList: SettingsStore.getValue("unifiedRoomList"),
};
+
+ this.unifiedRoomListWatcherRef = SettingsStore.watchSetting(
+ "unifiedRoomList",
+ null,
+ this.onUnifiedRoomListChange,
+ );
}
public componentDidMount(): void {
@@ -459,6 +487,7 @@ export default class LegacyRoomList extends React.PureComponent<IProps, IState>
SpaceStore.instance.off(UPDATE_SUGGESTED_ROOMS, this.updateSuggestedRooms);
RoomListStore.instance.off(LISTS_UPDATE_EVENT, this.updateLists);
defaultDispatcher.unregister(this.dispatcherRef);
+ SettingsStore.unwatchSetting(this.unifiedRoomListWatcherRef);
SdkContextClass.instance.roomViewStore.off(UPDATE_EVENT, this.onRoomViewStoreUpdate);
LegacyCallHandler.instance.off(LegacyCallHandlerEvent.ProtocolSupport, this.updateProtocolSupport);
}
@@ -467,6 +496,12 @@ export default class LegacyRoomList extends React.PureComponent<IProps, IState>
this.updateLists();
};
+ private onUnifiedRoomListChange = (): void => {
+ this.setState({
+ unifiedRoomList: SettingsStore.getValue("unifiedRoomList"),
+ });
+ };
+
private onRoomViewStoreUpdate = (): void => {
this.setState({
currentRoomId: SdkContextClass.instance.roomViewStore.getRoomId() ?? undefined,
@@ -605,7 +640,9 @@ export default class LegacyRoomList extends React.PureComponent<IProps, IState>
const aesthetics = TAG_AESTHETICS[orderedTagId];
if (!aesthetics) throw new Error(`Tag ${orderedTagId} does not have aesthetics`);
- let alwaysVisible = ALWAYS_VISIBLE_TAGS.includes(orderedTagId);
+ let alwaysVisible = (
+ this.state.unifiedRoomList ? ALWAYS_VISIBLE_UNIFIED_TAGS : ALWAYS_VISIBLE_TAGS
+ ).includes(orderedTagId);
if (
(this.props.activeSpace === MetaSpace.Favourites && orderedTagId !== DefaultTagID.Favourite) ||
(this.props.activeSpace === MetaSpace.People && orderedTagId !== DefaultTagID.DM) ||
diff --git a/src/settings/Settings.tsx b/src/settings/Settings.tsx
index 439b0c112f..5d06388535 100644
--- a/src/settings/Settings.tsx
+++ b/src/settings/Settings.tsx
@@ -351,6 +351,14 @@ export type FeatureSettingKey = Assignable<Settings, IFeature>;
export type BooleanSettingKey = Assignable<Settings, IBaseSetting<boolean>> | FeatureSettingKey;
export const SETTINGS: Settings = {
+ // SC settings start
+ "unifiedRoomList": {
+ supportedLevels: LEVELS_ACCOUNT_SETTINGS,
+ displayName: _td("Show people and rooms in a combined list"),
+ default: true,
+ controller: new ReloadOnChangeController(),
+ },
+ // SC settings end
"feature_video_rooms": {
isFeature: true,
labsGroup: LabGroup.VoiceAndVideo,
diff --git a/src/stores/room-list/RoomListStore.ts b/src/stores/room-list/RoomListStore.ts
index e1d2f7b7e8..64c757c377 100644
--- a/src/stores/room-list/RoomListStore.ts
+++ b/src/stores/room-list/RoomListStore.ts
@@ -502,6 +502,9 @@ export class RoomListStoreClass extends AsyncStoreWithClient<EmptyObject> implem
this.setAndPersistListOrder(tag, listOrder);
}
}
+
+ // SC: Unified list for DMs and groups
+ this.algorithm.setUnifiedRoomList(SettingsStore.getValue("unifiedRoomList"));
}
private onAlgorithmListUpdated = (forceUpdate: boolean): void => {
@@ -615,7 +618,21 @@ export class RoomListStoreClass extends AsyncStoreWithClient<EmptyObject> implem
*/
public getTagsForRoom(room: Room): TagID[] {
const algorithmTags = this.algorithm.getTagsForRoom(room);
- if (!algorithmTags) return [DefaultTagID.Untagged];
+ if (!algorithmTags) {
+ if (SettingsStore.getValue("unifiedRoomList")) {
+ return [DefaultTagID.Unified];
+ } else {
+ return [DefaultTagID.Untagged];
+ }
+ }
+ const dmTagIndex = algorithmTags.indexOf(DefaultTagID.DM);
+ if (dmTagIndex !== -1) {
+ algorithmTags[dmTagIndex] = DefaultTagID.Unified;
+ }
+ const untaggedTagIndex = algorithmTags.indexOf(DefaultTagID.Untagged);
+ if (untaggedTagIndex !== -1) {
+ algorithmTags[untaggedTagIndex] = DefaultTagID.Unified;
+ }
return algorithmTags;
}
diff --git a/src/stores/room-list/algorithms/Algorithm.ts b/src/stores/room-list/algorithms/Algorithm.ts
index 25d6b78fde..f3fc3899d0 100644
--- a/src/stores/room-list/algorithms/Algorithm.ts
+++ b/src/stores/room-list/algorithms/Algorithm.ts
@@ -75,6 +75,7 @@ export class Algorithm extends EventEmitter {
* Set to true to suspend emissions of algorithm updates.
*/
public updatesInhibited = false;
+ private unifiedRoomList: boolean = true;
public start(): void {
CallStore.instance.on(CallStoreEvent.ConnectedCalls, this.onConnectedCalls);
@@ -106,6 +107,10 @@ export class Algorithm extends EventEmitter {
return this._cachedRooms;
}
+ public setUnifiedRoomList(unifiedRoomList: boolean): void {
+ this.unifiedRoomList = unifiedRoomList;
+ }
+
/**
* Awaitable version of the sticky room setter.
* @param val The new room to sticky.
@@ -513,7 +518,10 @@ export class Algorithm extends EventEmitter {
}
if (!inTag) {
- if (DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
+ if (this.unifiedRoomList) {
+ // SC: Unified room list for DMs and groups
+ newTags[DefaultTagID.Unified].push(room);
+ } else if (DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
newTags[DefaultTagID.DM].push(room);
} else {
newTags[DefaultTagID.Untagged].push(room);
@@ -557,7 +565,13 @@ export class Algorithm extends EventEmitter {
tags.push(...this.getTagsOfJoinedRoom(room));
}
- if (!tags.length) tags.push(DefaultTagID.Untagged);
+ if (!tags.length) {
+ if (this.unifiedRoomList) {
+ tags.push(DefaultTagID.Unified);
+ } else {
+ tags.push(DefaultTagID.Untagged);
+ }
+ }
return tags;
}
@@ -567,7 +581,7 @@ export class Algorithm extends EventEmitter {
if (tags.length === 0) {
// Check to see if it's a DM if it isn't anything else
- if (DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
+ if (DMRoomMap.shared().getUserIdForRoomId(room.roomId) && !this.unifiedRoomList) {
tags = [DefaultTagID.DM];
}
}
diff --git a/src/stores/room-list/models.ts b/src/stores/room-list/models.ts
index 78823cbc42..00883e2ad6 100644
--- a/src/stores/room-list/models.ts
+++ b/src/stores/room-list/models.ts
@@ -13,6 +13,7 @@ export enum DefaultTagID {
LowPriority = "m.lowpriority",
Favourite = "m.favourite",
DM = "im.vector.fake.direct",
+ Unified = "chat.schildi.fake.unified",
Conference = "im.vector.fake.conferences",
ServerNotice = "m.server_notice",
Suggested = "im.vector.fake.suggested",
@@ -21,6 +22,7 @@ export enum DefaultTagID {
export const OrderedDefaultTagIDs = [
DefaultTagID.Invite,
DefaultTagID.Favourite,
+ DefaultTagID.Unified,
DefaultTagID.DM,
DefaultTagID.Conference,
DefaultTagID.Untagged,
--
2.48.1

View File

@ -0,0 +1,25 @@
From 2180196ba74a9526d0a68ad17328631d9b661cd2 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Sun, 17 Dec 2023 11:11:58 +0100
Subject: Don't sort muted rooms to bottom, I still want to see them.
---
.../room-list/algorithms/list-ordering/OrderingAlgorithm.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/stores/room-list/algorithms/list-ordering/OrderingAlgorithm.ts b/src/stores/room-list/algorithms/list-ordering/OrderingAlgorithm.ts
index 0f95fe78c2..2de554c357 100644
--- a/src/stores/room-list/algorithms/list-ordering/OrderingAlgorithm.ts
+++ b/src/stores/room-list/algorithms/list-ordering/OrderingAlgorithm.ts
@@ -38,7 +38,7 @@ export abstract class OrderingAlgorithm {
}
public get isMutedToBottom(): boolean {
- return this.sortingAlgorithm === SortAlgorithm.Recent;
+ return this.sortingAlgorithm === SortAlgorithm.Recent && false;
}
/**
--
2.48.1

View File

@ -0,0 +1,29 @@
From 27d4baaaf19f3d80ec7d5617e54bd7621090d6a4 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Thu, 14 Dec 2023 10:32:10 +0100
Subject: Don't preview reactions
---
src/stores/room-list/MessagePreviewStore.ts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/stores/room-list/MessagePreviewStore.ts b/src/stores/room-list/MessagePreviewStore.ts
index 51e413940d..7775d1e52a 100644
--- a/src/stores/room-list/MessagePreviewStore.ts
+++ b/src/stores/room-list/MessagePreviewStore.ts
@@ -63,10 +63,12 @@ const PREVIEWS: Record<
isState: false,
previewer: new StickerEventPreview(),
},
+ /*
"m.reaction": {
isState: false,
previewer: new ReactionEventPreview(),
},
+ */
[M_POLL_START.name]: {
isState: false,
previewer: new PollStartEventPreview(),
--
2.48.1

View File

@ -0,0 +1,30 @@
From db8b600a3695f35e70cb0c2a9f6b3cba99d2bfae Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Wed, 17 Nov 2021 12:50:25 +0100
Subject: Hide the "mute" notification state the same way as the other states
This can get in the way of the "marked as unread" icon otherwise.
Furthermore, I didn't really like it showing there persistently either
way.
---
src/components/views/rooms/RoomTile.tsx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/components/views/rooms/RoomTile.tsx b/src/components/views/rooms/RoomTile.tsx
index 3eafb671cb..c9dcd00fd0 100644
--- a/src/components/views/rooms/RoomTile.tsx
+++ b/src/components/views/rooms/RoomTile.tsx
@@ -300,7 +300,9 @@ class RoomTile extends React.PureComponent<Props, State> {
// Only show the icon by default if the room is overridden to muted.
// TODO: [FTUE Notifications] Probably need to detect global mute state
- mx_RoomTile_notificationsButton_show: state === RoomNotifState.Mute,
+ //mx_RoomTile_notificationsButton_show: state === RoomNotifState.Mute,
+ // SchildiChat: never show the icon by default. This gets in the way of the "marked as unread" icon.
+ mx_RoomTile_notificationsButton_show: false,
});
return (
--
2.48.1

View File

@ -0,0 +1,25 @@
From 773a15b9d4a880d4fa9ddf06bda99c6d15316bb4 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Fri, 10 May 2024 18:58:32 +0200
Subject: Allow muted rooms to render as unread
---
src/RoomNotifs.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/RoomNotifs.ts b/src/RoomNotifs.ts
index e6064d2691..37838c79b5 100644
--- a/src/RoomNotifs.ts
+++ b/src/RoomNotifs.ts
@@ -255,7 +255,7 @@ export function determineUnreadState(
return { symbol: "!", count: 1, level: NotificationLevel.Highlight };
}
- if (getRoomNotifsState(room.client, room.roomId) === RoomNotifState.Mute) {
+ if (false && getRoomNotifsState(room.client, room.roomId) === RoomNotifState.Mute) {
return { symbol: null, count: 0, level: NotificationLevel.None };
}
--
2.48.1

View File

@ -0,0 +1,25 @@
From 52ee72a4f5ba98cee0eb6ce60aaac29daa2ce119 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Sun, 30 Aug 2020 15:33:01 +0200
Subject: Increase default visible tiles
---
src/stores/room-list/ListLayout.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/stores/room-list/ListLayout.ts b/src/stores/room-list/ListLayout.ts
index a4468dfffe..a4ae9bbc1d 100644
--- a/src/stores/room-list/ListLayout.ts
+++ b/src/stores/room-list/ListLayout.ts
@@ -74,7 +74,7 @@ export class ListLayout {
public get defaultVisibleTiles(): number {
// This number is what "feels right", and mostly subject to design's opinion.
- return 8;
+ return 50;
}
public tilesWithPadding(n: number, paddingPx: number): number {
--
2.48.1

View File

@ -0,0 +1,92 @@
From 75cf379cff65aa966ad3fc1acc5371c96e19c121 Mon Sep 17 00:00:00 2001
From: su-ex <codeworks@supercable.onl>
Date: Sun, 26 May 2024 10:43:36 +0200
Subject: Bring back showSpaceDMBadges setting, force-enabled for now
TODO settings UI
Co-authored-by: SpiritCroc <dev@spiritcroc.de>
---
src/settings/Settings.tsx | 5 +++++
src/stores/spaces/SpaceStore.ts | 25 +++++++++++++++++++++++++
2 files changed, 30 insertions(+)
diff --git a/src/settings/Settings.tsx b/src/settings/Settings.tsx
index 5d06388535..5ca4cbc3e8 100644
--- a/src/settings/Settings.tsx
+++ b/src/settings/Settings.tsx
@@ -358,6 +358,11 @@ export const SETTINGS: Settings = {
default: true,
controller: new ReloadOnChangeController(),
},
+ "Spaces.showSpaceDMBadges": {
+ displayName: _td("Show notification badges for People in Spaces"),
+ supportedLevels: LEVELS_ACCOUNT_SETTINGS,
+ default: true,
+ },
// SC settings end
"feature_video_rooms": {
isFeature: true,
diff --git a/src/stores/spaces/SpaceStore.ts b/src/stores/spaces/SpaceStore.ts
index 690beaa0b7..fcd7ff659b 100644
--- a/src/stores/spaces/SpaceStore.ts
+++ b/src/stores/spaces/SpaceStore.ts
@@ -155,9 +155,17 @@ export class SpaceStoreClass extends AsyncStoreWithClient<EmptyObject> {
private _msc3946ProcessDynamicPredecessor: boolean = SettingsStore.getValue("feature_dynamic_room_predecessors");
private _storeReadyDeferred = defer();
+ // SC start
+ private _showSpaceDMBadges = true;
+ // SC end
+
public constructor() {
super(defaultDispatcher, {});
+ // SC start
+ SettingsStore.monitorSetting("Spaces.showSpaceDMBadges", null);
+ // SC end
+
SettingsStore.monitorSetting("Spaces.allRoomsInHome", null);
SettingsStore.monitorSetting("Spaces.enabledMetaSpaces", null);
SettingsStore.monitorSetting("Spaces.showPeopleInSpace", null);
@@ -215,6 +223,10 @@ export class SpaceStoreClass extends AsyncStoreWithClient<EmptyObject> {
return this._allRoomsInHome;
}
+ public get showSpaceDMBadges(): boolean { // SC
+ return this._showSpaceDMBadges;
+ }
+
public setActiveRoomInSpace(space: SpaceKey): void {
if (!isMetaSpace(space) && !this.matrixClient?.getRoom(space)?.isSpaceRoom()) return;
if (space !== this.activeSpace) this.setActiveSpace(space, false);
@@ -724,6 +736,10 @@ export class SpaceStoreClass extends AsyncStoreWithClient<EmptyObject> {
if (room.isSpaceRoom() || !flattenedRoomsForSpace.has(room.roomId)) return false;
+ if (this.showSpaceDMBadges) { // SC
+ return true;
+ }
+
if (dmBadgeSpace && DMRoomMap.shared().getUserIdForRoomId(room.roomId)) {
return s === dmBadgeSpace;
}
@@ -1301,6 +1317,15 @@ export class SpaceStoreClass extends AsyncStoreWithClient<EmptyObject> {
break;
}
+ case "Spaces.showSpaceDMBadges": { // SC
+ const newValue = SettingsStore.getValue("Spaces.showSpaceDMBadges");
+ if (this.showSpaceDMBadges !== newValue) {
+ this._showSpaceDMBadges = newValue;
+ this.rebuildSpaceHierarchy(); // rebuild everything
+ }
+ break;
+ }
+
case "Spaces.enabledMetaSpaces": {
const newValue = SettingsStore.getValue("Spaces.enabledMetaSpaces");
const enabledMetaSpaces = this.metaSpaceOrder.filter((k) => newValue[k]);
--
2.48.1

View File

@ -0,0 +1,135 @@
From dbd02e7c0b1c63d432adb2d78c4ed5cb701092f7 Mon Sep 17 00:00:00 2001
From: SpiritCroc <dev@spiritcroc.de>
Date: Wed, 29 May 2024 19:32:42 +0200
Subject: Squashed: Freeform reactions from tadzik/freeform-reactions-upstream
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
commit 9eea56b0080db3720efa49b457707bcde3be6474
Merge: 06f81c9662 8570f16e31
Author: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Date: Tue Jun 20 09:57:19 2023 +0200
Merge branch 'develop' into tadzik/freeform-reactions-upstream
commit 06f81c9662fbe033b4eac859d7e14e0ab24a6e91
Merge: ad4fef85b1 0d6a550c33
Author: Michael Telatynski <7t3chguy@gmail.com>
Date: Wed Aug 31 09:06:49 2022 +0100
Merge branch 'develop' into tadzik/freeform-reactions
commit ad4fef85b160087b8017b9ae9cf9aebfd5348f41
Merge: 689b57c0b9 5aae974e93
Author: Tadeusz Sośnierz <tadzik@tadzik.net>
Date: Sun Aug 28 10:11:48 2022 +0200
Merge branch 'develop' into tadzik/freeform-reactions
commit 689b57c0b91e12907a8dbc3fac3ed10302a11e4a
Author: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Date: Fri May 20 10:35:06 2022 +0200
Fix conflict resolution fail in EmojiPicker
commit 70a8e212b748584949b37bc99b72acffce2fd148
Merge: 215df55f13 a0cdc93642
Author: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Date: Fri May 20 10:25:17 2022 +0200
Merge branch 'develop' into tadzik/freeform-reactions-upstream
commit 215df55f13162bdc8eb13da5219763c56f560dd0
Author: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Date: Tue Aug 17 16:30:06 2021 +0200
Disable freeform emoji reactions in the message composer
commit 6bb8263007e077d22929fcc1fb439d94a4f15c6f
Author: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Date: Tue Aug 17 12:12:28 2021 +0200
Add more typing to EmojiPicker
commit b2a1728318a8a5496345797995c1ec09ae3f88e6
Author: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Date: Tue Aug 17 11:52:35 2021 +0200
Make free-form reaction button translatable
commit f4adaf00b805baba454fbceb41cc5c081ec886a7
Author: Tadeusz Sośnierz <tadeusz@sosnierz.com>
Date: Tue Aug 17 11:29:22 2021 +0200
Allow sending free-form reactions
Signed-off-by: Tadeusz Sośnierz <tadeusz@sosnierz.com>
---
src/components/views/emojipicker/EmojiPicker.tsx | 16 ++++++++++++++++
.../views/emojipicker/ReactionPicker.tsx | 1 +
2 files changed, 17 insertions(+)
diff --git a/src/components/views/emojipicker/EmojiPicker.tsx b/src/components/views/emojipicker/EmojiPicker.tsx
index 71659d579b..4acbfd1fcb 100644
--- a/src/components/views/emojipicker/EmojiPicker.tsx
+++ b/src/components/views/emojipicker/EmojiPicker.tsx
@@ -29,6 +29,8 @@ import { Key } from "../../../Keyboard";
import { clamp } from "../../../utils/numbers";
import { type ButtonEvent } from "../elements/AccessibleButton";
+import AccessibleButton from '../elements/AccessibleButton';
+
export const CATEGORY_HEADER_HEIGHT = 20;
export const EMOJI_HEIGHT = 35;
export const EMOJIS_PER_ROW = 8;
@@ -36,6 +38,7 @@ export const EMOJIS_PER_ROW = 8;
const ZERO_WIDTH_JOINER = "\u200D";
interface IProps {
+ allowUnlisted?: boolean;
selectedEmojis?: Set<string>;
onChoose(unicode: string): boolean;
onFinished(): void;
@@ -337,6 +340,10 @@ class EmojiPicker extends React.Component<IProps, IState> {
}
};
+ private reactWith = (reaction: string): void => {
+ this.props.onChoose(reaction);
+ };
+
private static categoryHeightForEmojiCount(count: number): number {
if (count === 0) {
return 0;
@@ -392,6 +399,15 @@ class EmojiPicker extends React.Component<IProps, IState> {
return categoryElement;
})}
</AutoHideScrollbar>
+ {
+ (this.props.allowUnlisted && this.state.filter) &&
+ <AccessibleButton
+ kind="link"
+ onClick={() => this.reactWith(this.state.filter)}
+ >
+ { _t('React with "%(reaction)s"', { reaction: this.state.filter }) }
+ </AccessibleButton>
+ }
{this.state.previewEmoji ? (
<Preview emoji={this.state.previewEmoji} />
) : (
diff --git a/src/components/views/emojipicker/ReactionPicker.tsx b/src/components/views/emojipicker/ReactionPicker.tsx
index 8509b4014a..5e9ea0fd60 100644
--- a/src/components/views/emojipicker/ReactionPicker.tsx
+++ b/src/components/views/emojipicker/ReactionPicker.tsx
@@ -126,6 +126,7 @@ class ReactionPicker extends React.Component<IProps, IState> {
public render(): React.ReactNode {
return (
<EmojiPicker
+ allowUnlisted={true}
onChoose={this.onChoose}
isEmojiDisabled={this.isEmojiDisabled}
onFinished={this.props.onFinished}
--
2.48.1

View File

@ -0,0 +1,32 @@
From fcc37848fb0e949888a77325a4990639a3661d8e Mon Sep 17 00:00:00 2001
From: su-ex <codeworks@supercable.onl>
Date: Sat, 22 Apr 2023 12:15:18 +0200
Subject: Allow reactions to take more space
---
res/css/views/messages/_ReactionsRowButton.pcss | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/res/css/views/messages/_ReactionsRowButton.pcss b/res/css/views/messages/_ReactionsRowButton.pcss
index 917bcfbb84..75ec572c9e 100644
--- a/res/css/views/messages/_ReactionsRowButton.pcss
+++ b/res/css/views/messages/_ReactionsRowButton.pcss
@@ -14,6 +14,7 @@ Please see LICENSE files in the repository root for full details.
background-color: var(--cpd-color-gray-200);
user-select: none;
align-items: center;
+ max-width: calc(100% - 40px);;
&.mx_ReactionsRowButton_selected {
background-color: $accent-300;
@@ -25,7 +26,6 @@ Please see LICENSE files in the repository root for full details.
}
.mx_ReactionsRowButton_content {
- max-width: 100px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
--
2.48.1

Some files were not shown because too many files have changed in this diff Show More