* core: small text markdown
* ios: small markdown
* desktop, android: small markdown
* fix font size
* small markdown on website
* update ios core library
* update bot api docs
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* core: add custom data commands, fix groups parser
- Add APISetGroupCustomData and APISetContactCustomData to ChatCommand,
with parsers (/_set custom #, /_set custom @) and processors
following the APISetChatUIThemes pattern
- Fix APIListGroups parser missing space ("/_groups" -> "/_groups ")
to align with auto-generated cmdString
- Add chatCommandsDocsData entries for APISetGroupCustomData,
APISetContactCustomData, and APISetUserAutoAcceptMemberContacts
* core: named fields for codegen, run codegen
- Use named record fields for APISetGroupCustomData,
APISetContactCustomData, APISetUserAutoAcceptMemberContacts
(required for chatCommandsDocsData field resolution)
- Fix OnOff field name to "onOff" (avoids clash with User field)
- Remove APISetUserAutoAcceptMemberContacts from undocumentedCommands
- Regenerate COMMANDS.md and commands.ts
* nodejs: add ChatApi wrappers for custom data and apiGetChat
- apiSetGroupCustomData, apiSetContactCustomData
- apiSetAutoAcceptMemberContacts
- apiGetChat (manual wrapper, APIGetChat undocumented)
* core: change msg_content_tag stored as blob to text
* track if items have links and use has_link when searching for links (MCLink_ MsgContentTag is passed)
* fix test (broken in master)
* merge migrations, update api and schema
* minor fixes
* tests
* update plans
* update migrations
* core: add custom indexed columns to groups and contacts
* directory: use database (TODO search/listing)
* triggers to maintain current member count
* update simplexmq, fix tests, use summary from GroupInfo
* fix all directory tests
* remove acceptance fields from group reg
* enable all tests
* clean up
* postgres migrations, fixes
* query plans
* use function in postgres triggers, improve sqlite query
* fix export/import
* update schema
* prevent admins from promoting groups when approving
* update listing every 5 minutes
* website: directory page
* core: use markdown in directory entries
* render markdown on directory page
* update markdown
* toggle secrets on click
* update listings asynchronously
* add group links to the listing
* cleanup
* better directory layout with pagination
* script to run website
* update page navigation
* search
* readable markdown colors, better "read less"
* core: atomic update of directory listings, to avoid files unavailable
* fix symlink, sort entries on page with new first
* update listings every 15 min, add activeAt time
* fix sorting in the page and listing url
* replace simplex:/ links on desktop
* bots: generate code for TypeScript types module from Haskell tests
* types for API events and command responses
* code for chat command types
* license, readme
* fix array types
* fix more types
* add response type
* add Connect command to docs/ts
* update typescript client package to use auto-generated types
* core: split response to two types, to improve iOS parsing memory usage
* ios: split core events to separate types
* comment
* limit more events to CLI
* fix parser
* simplemq
* core: member mentions, types and rfc
* update
* update rfc
* save/get mentions (WIP)
* markdown
* store received mentions and userMention flag
* sent mentions
* update message with mentions
* db queries
* CLI mentions, test passes
* use maps for mentions
* tests
* comment
* save mentions on sent messages
* postresql schema
* refactor
* M.empty
* include both displayName and localAlias into MentionedMemberInfo
* fix saving sent mentions
* include mentions in previews
* update plans
* android, desktop: landscape calls on Android and better local camera ratio management
The main thing is that now when exiting from CallActivity while in call
audio devices are not reset to default. It allows to have landscape mode
enabled
* styles
* fix changing calls
* android, desktop: don't stop audio track on Android in calls
There is a problem related to managing selected audio output device in
call. When microphone is disabled, WebView turns speaker on without
need. No way to prevent it was found yet. This is temporary workaround
that makes everything work except it makes microphone icon visible in
status bar (microphone is not used actually in that moment)
* enabled=false
* android, desktop: checking for camera in calls and handle uninitialized call
* explanation for situation without permission
* reorder
* reorder
* strings
* font
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android, desktop: calls switching from audio to video and back
* refactor
* working all 4 streams with mute handling differently
* changes
* changes
* wrong file
* changes
* padding
* android camera service type
* icons, sizes, clickable
* refactor
* Revert "android camera service type"
This reverts commit 9878ff38e9.
* late init camera permissions
* enabling camera sooner than call establishes (not fully done)
* changes
* alpha
* fixes for Safari
* enhancements
* fix Safari sound
* padding between buttons on desktop
* android default values for padding
* changes
* calls without encryption are supported and flipping camera on some devices works
* unused param
* logs
* background color
* play local video in Safari
* no line height
* removed one listener from per frame processing
* enhancements
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* android: ability to hide active call
* enhancements
* fixed some problems and adapted to lock screen usage
* change
* reduce diff
* dealing with disable PiP by user
* fix back action
* fix hidden information on view rotation while info collapsed
* better info showing
* status bar color and user icon
* reorder
* experiment
* icon placement
* enhancements
* back button
* invitation accepted state handling
* awesome background work
* better service interaction and UI
* disabled call overlay when call ends and ability to accept a new call from the same contact while previous call is not ended
* incomming call alert
* enhancements
* text
* text2
* top area
* faster ending call
* a lot of enhancements
* paddings
* icon position
* move icon
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* desktop: screen sharing
* use async function
* fit/fill of the video
* disconnect camera button from screen share
* enable video on audio call
* temp
* Revert "temp"
This reverts commit 8f8a2f7f88.
* Revert "enable video on audio call"
This reverts commit 120068d09a.
* different logic
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* android, desktop: support calls on desktop and moved www dir to different root
* add page title, fix links on Android, change timeouts
* using worker in desktop Chrome and Safari
* ui changes
* end call button in app bar
* fix android
* a lot of enhancements
* fix after merge master
* layout
* sound play on call
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* ios: native WebRTC
* add video showing
* make async function better working with main thread
* wrapped code in main actor, just in case
* small change
* a little better
* enable relay
* removed unused code
* allow switching calls
* testing
* enable encryption
* testing more
* another test
* one more test
* fix remote unencrypted video
* deleted unused code related to PixelBuffer
* added MediaEncryption playground
* better playground
* better playground
* fixes
* use new encryption api
* media encryption works
* small changes
* added lib dependency
* use commit reference for lib instead of version
* video format, PIP size
* remove sample.js
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
* ios: support query string parameters in ICE server addresses
* android: support query params in ICE server address, add transport=TCP to default servers