VideoPlayer's mediaPlayerReady listener called mediaPlayer.audio().setVolume(100)
on every freshly created VLC player. On Windows, VLCJ routes setVolume through
WASAPI's ISimpleAudioVolume, which is the per-app entry in the Windows Volume
Mixer — so every video playback snapped SimpleX Chat's mixer volume back to 100%,
overriding the user's own setting.
The call was also redundant: VLCJ's default volume for a new MediaPlayer is
already 100, and the only path that previously used setVolume (enableSound) has
been disabled since VLCJ issue #985 ("Impossible to change volume for only one
player. It changes for every player.").
Dropping the setVolume(100) line fixes the Windows regression without changing
playback loudness on any platform. AudioPlayer / SoundPlayer / CallSoundsPlayer
use a singleton VLC player and never called setVolume, so voice messages and
ringtones are unaffected.
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* website: tune section heading and body text styles
Headings: weight 300→400, line-height 1.05→1. Body: explicit line-height 1.2.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* line height
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Fix spelling, grammar, and punctuation issues across documentation
and website content including subject-verb agreement, missing articles,
typos, and broken code snippets.
* desktop: fix sending files with + in file name
Use RFC 3986 URI encoding (File.toURI()) instead of application/x-www-form-urlencoded
(URLEncoder/URLDecoder) for file path URIs. URLDecoder treated literal + as space,
corrupting filenames containing + on desktop.
* less breaking approach
What changed:
Stronger privacy commitments:
- explicitly states that preset servers do not log IP addresses.
- you can verify clients and servers via reproducible builds.
- quantum-resistant end-to-end encryption.
- messages are irreversibly removed from preset servers on delivery or after 21 days.
- transparency commitment by client apps.
New private one-time connection links and public addresses:
- your profile data is encrypted on the server - only people with the link can access it, not the servers.
- one-time link profile data is removed once the connection is established.
Public channels (beta):
- chat relays are used to deliver messages to channel subscribers.
- chat relays cannot identify subscribers.
---------
* ios: sharing channel links/cards
* update nix shas
* improve
* fix preview
* change condition
* move button for owner
* refactor
* refactor 2
* fix sheets
* MsgChatLink JSON encoding
* correct default icon when editing group profile
* drop link from card
* card layout
* strip link from text
* remove file ref
* share via chat when created
* rename file, do not show text when there is no text
* better card layout
* padding, info string
* add log
* padding
* text layout
* warning emoji if signature verification failed
* chat link preview in chat list
* description
* alert information
* tappable preview
* better
* conditional border color
* sending and forwarding views
* small link icons for forwarding
* strip link in one place
* forwarded context
* quote view for chat links
* reduce diff, remove unnecessary changes
* simplify
* trim description
* diff
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
* core: share links to channels and verify shared links when connecting
* refactor
* improve
* refactor case
* simplify
* exctract encodeChatBinding
* share api
* corrections
Co-authored-by: Evgeny <evgeny@poberezkin.com>
* tests
* verify signature in the tests
* drop signature if context does not match on reception
* try to test "fake" forward
* fix
* fix direct chat sharing test
* channel test
* sign link
* rename api
* refactor view
* chal link item CLI view, tests
* clean up
* share channel in channel as channel
* query plan
* fix test
* refactor
* whitespace
* simpler
* refactor
* dont use partial field update
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
* strip ios like in android
* remove strip-unneeded in mac
* strip only simplex-chat libs
* flake.nix: strip only local symbols in MacOS library
* flake.nix: make libs writable
* flake.nix: better strip placement
* reduce framework size by exporting only public API symbols