Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use a fully static seshat build #631

Merged
merged 12 commits into from
Apr 24, 2023
Merged

Conversation

MatMaul
Copy link
Contributor

@MatMaul MatMaul commented Apr 17, 2023

Signed-off-by: Mathieu Velten mathieuv@matrix.org

Checklist

  • Ensure your code works with manual testing
  • Linter and other CI checks pass
  • Sign-off given on the changes (see CONTRIBUTING.md)

Here's what your changelog entry will look like:

✨ Features

  • Use a fully static seshat build (#631). Contributed by @MatMaul.

@MatMaul MatMaul requested review from a team as code owners April 17, 2023 12:09
@MatMaul MatMaul requested review from t3chguy and andybalaam April 17, 2023 12:09
@MatMaul MatMaul marked this pull request as draft April 17, 2023 12:26
Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like it always builds a static sqlcipher, if that is the case we need to

  • Remove docs about SQLCIPHER_STATIC
  • Stop using SQLCIPHER_STATIC in CI
  • Remove dependency on libsqlcipher0

.github/workflows/build_linux.yaml Outdated Show resolved Hide resolved
@t3chguy t3chguy removed the request for review from andybalaam April 17, 2023 12:34
@MatMaul
Copy link
Contributor Author

MatMaul commented Apr 17, 2023

This looks like it always builds a static sqlcipher, if that is the case we need to

* Remove docs about SQLCIPHER_STATIC

* Stop using SQLCIPHER_STATIC in CI

* Remove dependency on libsqlcipher0

Will do, thanks for the early review. I am mainly using this PR as a way to validate the build on all platforms for now, I forgot to put a draft at first, sorry for the RR.

@MatMaul MatMaul force-pushed the mv/seshat-static branch 3 times, most recently from 3c1a021 to 80664bf Compare April 21, 2023 08:19
@t3chguy
Copy link
Member

t3chguy commented Apr 21, 2023

Under a very basic test I had mostly success:

Windows x64
image

macOS ARM64
image

Linux aarch64 system libsqlcipher
image

Linux aarch64 bundled sqlcipher
image

debian@debian:~$ element-desktop 
Seshat unexpected error: Error: /opt/Element/resources/app.asar.unpacked/node_modules/matrix-seshat/index.node: undefined symbol: sqlite3_changes64
    at process.func [as dlopen] (node:electron/js2c/asar_bundle:2:1822)
    at Module._extensions..node (node:internal/modules/cjs/loader:1326:18)
    at Object.func [as .node] (node:electron/js2c/asar_bundle:2:2049)
    at Module.load (node:internal/modules/cjs/loader:1096:32)
    at Module._load (node:internal/modules/cjs/loader:937:12)
    at f._load (node:electron/js2c/asar_bundle:2:13330)
    at Module.require (node:internal/modules/cjs/loader:1120:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/opt/Element/resources/app.asar/node_modules/matrix-seshat/index.js:16:22)
    at Module._compile (node:internal/modules/cjs/loader:1241:14) {
  code: 'ERR_DLOPEN_FAILED'
}

@MatMaul MatMaul marked this pull request as ready for review April 24, 2023 10:15
Copy link
Member

@t3chguy t3chguy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks sane other than docs/native-node-modules.md needing an update

scripts/hak/hakEnv.ts Outdated Show resolved Hide resolved
hak/matrix-seshat/build.ts Outdated Show resolved Hide resolved
Mathieu Velten and others added 2 commits April 24, 2023 13:27
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
@t3chguy t3chguy enabled auto-merge (squash) April 24, 2023 12:10
@t3chguy t3chguy merged commit cf94a1e into element-hq:develop Apr 24, 2023
su-ex added a commit to SchildiChat/element-desktop that referenced this pull request Jul 31, 2023
* If you package Element Desktop with a static sqlcipher, you may need to tweak some build scripts: SQLCIPHER_STATIC became SQLCIPHER_BUNDLED, and OpenSSL is now included too.
* Start packaging for Debian & Ubuntu aarch64 ([\element-hq#895](element-hq#895)).
* Use a fully static seshat build ([\element-hq#631](element-hq#631)). Contributed by @MatMaul.
* Improve Content-Security-Policy ([\#25210](element-hq/element-web#25210)).
* Add UIFeature.locationSharing to hide location sharing ([\#10727](matrix-org/matrix-react-sdk#10727)).
* Memoize field validation results ([\#10714](matrix-org/matrix-react-sdk#10714)).
* Commands for plain text editor ([\#10567](matrix-org/matrix-react-sdk#10567)). Contributed by @alunturner.
* Allow 16 lines of text in the rich text editors ([\#10670](matrix-org/matrix-react-sdk#10670)). Contributed by @alunturner.
* Bail out of `RoomSettingsDialog` when room is not found ([\#10662](matrix-org/matrix-react-sdk#10662)). Contributed by @kerryarchibald.
* Element-R: Populate device list for right-panel ([\#10671](matrix-org/matrix-react-sdk#10671)). Contributed by @florianduros.
* Make existing and new issue URLs configurable ([\#10710](matrix-org/matrix-react-sdk#10710)). Fixes element-hq/element-web#24424.
* Fix usages of ARIA tabpanel ([\#10628](matrix-org/matrix-react-sdk#10628)). Fixes element-hq/element-web#25016.
* Element-R: Starting a DMs with a user ([\#10673](matrix-org/matrix-react-sdk#10673)). Contributed by @florianduros.
* ARIA Accessibility improvements ([\#10675](matrix-org/matrix-react-sdk#10675)).
* ARIA Accessibility improvements ([\#10674](matrix-org/matrix-react-sdk#10674)).
* Add arrow key controls to emoji and reaction pickers ([\#10637](matrix-org/matrix-react-sdk#10637)). Fixes element-hq/element-web#17189.
* Translate credits in help about section ([\#10676](matrix-org/matrix-react-sdk#10676)).
* Fix macos update check exploding ([\element-hq#944](element-hq#944)). Fixes element-hq#668.
* Fix: reveal images when image previews are disabled ([\#10781](matrix-org/matrix-react-sdk#10781)). Fixes element-hq/element-web#25271. Contributed by @kerryarchibald.
* Workaround Squirrel.Mac wedging app restart after failed update check ([\element-hq#629](element-hq#629)).
* Fix autocomplete not resetting properly on message send ([\#10741](matrix-org/matrix-react-sdk#10741)). Fixes element-hq/element-web#25170.
* Fix start_sso not working with guests disabled ([\#10720](matrix-org/matrix-react-sdk#10720)). Fixes element-hq/element-web#16624.
* Fix soft crash with Element call widgets ([\#10684](matrix-org/matrix-react-sdk#10684)).
* Send correct receipt when marking a room as read ([\#10730](matrix-org/matrix-react-sdk#10730)). Fixes element-hq/element-web#25207.
* Offload some more waveform processing onto a worker ([\#9223](matrix-org/matrix-react-sdk#9223)). Fixes element-hq/element-web#19756.
* Consolidate login errors ([\#10722](matrix-org/matrix-react-sdk#10722)). Fixes element-hq/element-web#17520.
* Fix all rooms search generating permalinks to wrong room id ([\#10625](matrix-org/matrix-react-sdk#10625)). Fixes element-hq/element-web#25115.
* Posthog properly handle Analytics ID changing from under us ([\#10702](matrix-org/matrix-react-sdk#10702)). Fixes element-hq/element-web#25187.
* Fix Clock being read as an absolute time rather than duration ([\#10706](matrix-org/matrix-react-sdk#10706)). Fixes element-hq/element-web#22582.
* Properly translate errors in `ChangePassword.tsx` so they show up translated to the user but not in our logs ([\#10615](matrix-org/matrix-react-sdk#10615)). Fixes element-hq/element-web#9597. Contributed by @MadLittleMods.
* Honour feature toggles in guest mode ([\#10651](matrix-org/matrix-react-sdk#10651)). Fixes element-hq/element-web#24513. Contributed by @andybalaam.
* Fix default content in devtools event sender ([\#10699](matrix-org/matrix-react-sdk#10699)). Contributed by @tulir.
* Fix a crash when a call ends while you're in it ([\#10681](matrix-org/matrix-react-sdk#10681)). Fixes element-hq/element-web#25153.
* Fix lack of screen reader indication when triggering auto complete ([\#10664](matrix-org/matrix-react-sdk#10664)). Fixes element-hq/element-web#11011.
* Fix typing tile duplicating users ([\#10678](matrix-org/matrix-react-sdk#10678)). Fixes element-hq/element-web#25165.
* Fix wrong room topic tooltip position ([\#10667](matrix-org/matrix-react-sdk#10667)). Fixes element-hq/element-web#25158.
* Fix create subspace dialog not working ([\#10652](matrix-org/matrix-react-sdk#10652)). Fixes element-hq/element-web#24882.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants