mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-07-18 20:26:58 +00:00
* cli: add --relay-address-server option for chat relay New CLI flag --relay-address-server SERVER selects the SMP server used for the chat relay address link created at startup. Only valid together with --relay; errors out otherwise. Threads Maybe SMPServerWithAuth through APICreateMyAddress to the new agent createConnection parameter. * cli: add --user-display-name option Selects or creates the active user non-interactively: - no active user: create one with the given display name - active user with matching localDisplayName: continue - active user with different name: exit with error Mutually exclusive with --create-bot-display-name. * cli: add --user-image-file option Sets the active user's profile image from a .png/.jpg/.jpeg file at startup. Reads file, base64-encodes as data URL, and updates the user profile directly in the DB - no notification is sent to existing contacts. Skips the update if the stored image already matches. Requires --user-display-name. * cli: address PR review comments - rename APICreateMyAddress field srv_ to server_ - extract repeated `loop` and putStrLn from createActiveUser via prompt where-clause - fuse u_ inspection: validate active user display name in the same case that creates the user when missing * cli: enforce profile image size limit in --user-image-file Reject the file if the encoded data URL exceeds 12500 bytes - matches the cap mobile and desktop UIs pass to resizeImageToStrSize for profile images. Without this, oversized images would be silently set on the user profile. * core: validate profile image size in chat commands Enforced in CreateActiveUser, updateProfile_, newGroup, runUpdateGroupProfile via checkProfileImageSize; max 12500 bytes (matches mobile UIs). * fix: thread new ChatOpts/CoreChatOpts fields through bot/test constructors * bots/docs: filter hidden params before type introspection Hide APICreateMyAddress server_ field so the bot doc generator does not try to introspect SMPServerWithAuth (an unregistered type). * core: validate full encoded profile size Add checkProfileSize / checkGroupProfileSize that encode the full ChatMessage and check against maxEncodedInfoLength, so a long displayName/bio combined with a near-max image is also caught at command time instead of failing later at send time with CEException. Run alongside the existing checkProfileImageSize (image-only cap of 12500 bytes, matching mobile UIs) in CreateActiveUser, updateProfile_, newGroup, runUpdateGroupProfile. Update genProfileImg to fit the cap. * cli: add --headless option for chat relay Skips interactive prompts (relay address creation, display name) so the chat relay can run non-interactively as a service. Requires --relay; creating a new profile also requires --user-display-name. * test: cover profile image size limit and address server Adds tests for two new capabilities: - profile image size validation rejects oversized images - /_address with a server pins the address to the requested SMP server * core: update simplexmq (pass optional SMP server to prepareConnectionLink) * cli: add /set profile image file, fix image flag Add "/set profile image file <path>" command to set the profile image from a .png/.jpg/.jpeg file in a running session. Make --user-image-file create-only: for an existing user it now no-ops with a note instead of failing with "chat not started" (the update ran before the chat controller was started). * core: unify image loading and profile size checks - loadImageFile (CLI) and readProfileImageFile (command) now share one loadImageData; removes the duplicated mime/base64 encoding and its decodeUtf8/safeDecodeUtf8 divergence. A missing --user-image-file no longer crashes with an uncaught IOException, and empty files are rejected. - checkProfileSize/checkGroupProfileSize share checkInfoSize. - --relay-address-server/--headless requires-relay checks use errorWithoutStackTrace, matching the adjacent validation (no callstack dump). * bots/docs: document UpdateProfileImageFromFile as a CLI command
75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
packages: .
|
|
-- packages: . ../simplexmq
|
|
-- packages: . ../simplexmq ../direct-sqlcipher ../sqlcipher-simple
|
|
|
|
-- uncomment two sections below to run tests with coverage
|
|
-- package *
|
|
-- coverage: True
|
|
-- library-coverage: True
|
|
|
|
-- package attoparsec
|
|
-- coverage: False
|
|
-- library-coverage: False
|
|
|
|
index-state: 2023-12-12T00:00:00Z
|
|
|
|
package cryptostore
|
|
flags: +use_crypton
|
|
|
|
constraints: zip +disable-bzip2 +disable-zstd
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/simplexmq.git
|
|
tag: 399c5fe8c62efd3e0b47f1e2469542621362ef77
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/hs-socks.git
|
|
tag: a30cc7a79a08d8108316094f8f2f82a0c5e1ac51
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/direct-sqlcipher.git
|
|
tag: f814ee68b16a9447fbb467ccc8f29bdd3546bfd9
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/sqlcipher-simple.git
|
|
tag: a46bd361a19376c5211f1058908fc0ae6bf42446
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/aeson.git
|
|
tag: aab7b5a14d6c5ea64c64dcaee418de1bb00dcc2b
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/haskell-terminal.git
|
|
tag: f708b00009b54890172068f168bf98508ffcd495
|
|
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/android-support.git
|
|
tag: 9aa09f148089d6752ce563b14c2df1895718d806
|
|
|
|
-- TODO this fork is only needed to compile with GHC 8.10.7 - it allows previous base version
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/zip.git
|
|
tag: 2eff156c3aac389e35d38bf10a52733d7061640a
|
|
|
|
-- waiting for published warp-tls-3.4.7
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/yesodweb/wai.git
|
|
tag: ec5e017d896a78e787a5acea62b37a4e677dec2e
|
|
subdir: warp-tls
|
|
|
|
-- backported fork due http-5.0
|
|
source-repository-package
|
|
type: git
|
|
location: https://github.com/simplex-chat/wai.git
|
|
tag: 2f6e5aa5f05ba9140ac99e195ee647b4f7d926b0
|
|
subdir: warp
|