mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-06-29 04:39:53 +00:00
Merge branch 'master' into ep/disable-background
This commit is contained in:
commit
c23b1182ff
19 changed files with 8839 additions and 8601 deletions
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"originHash" : "33afc44be5f4225325b3cb940ed71b6cbf3ef97290d348d7b6803697bcd0637d",
|
"originHash" : "60aeecb7917535a5e44ade0dbb5411ab112a959283e565a04c212c8af4e7dee9",
|
||||||
"pins" : [
|
"pins" : [
|
||||||
{
|
{
|
||||||
"identity" : "codescanner",
|
"identity" : "codescanner",
|
||||||
|
@ -10,6 +10,15 @@
|
||||||
"version" : "2.5.0"
|
"version" : "2.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"identity" : "elegant-emoji-picker",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/Finalet/Elegant-Emoji-Picker",
|
||||||
|
"state" : {
|
||||||
|
"branch" : "main",
|
||||||
|
"revision" : "71d2d46092b4d550cc593614efc06438f845f6e6"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"identity" : "ink",
|
"identity" : "ink",
|
||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
|
|
|
@ -19,9 +19,9 @@ import GHC.Generics (Generic)
|
||||||
import Network.Socket
|
import Network.Socket
|
||||||
import qualified Network.WebSockets as WS
|
import qualified Network.WebSockets as WS
|
||||||
import Numeric.Natural (Natural)
|
import Numeric.Natural (Natural)
|
||||||
import Simplex.Chat
|
|
||||||
import Simplex.Chat.Controller
|
import Simplex.Chat.Controller
|
||||||
import Simplex.Chat.Core
|
import Simplex.Chat.Core
|
||||||
|
import Simplex.Chat.Library.Commands
|
||||||
import Simplex.Chat.Options
|
import Simplex.Chat.Options
|
||||||
import Simplex.Messaging.Transport.Server (runLocalTCPServer)
|
import Simplex.Messaging.Transport.Server (runLocalTCPServer)
|
||||||
import Simplex.Messaging.Util (raceAny_)
|
import Simplex.Messaging.Util (raceAny_)
|
||||||
|
|
|
@ -12,7 +12,7 @@ constraints: zip +disable-bzip2 +disable-zstd
|
||||||
source-repository-package
|
source-repository-package
|
||||||
type: git
|
type: git
|
||||||
location: https://github.com/simplex-chat/simplexmq.git
|
location: https://github.com/simplex-chat/simplexmq.git
|
||||||
tag: fef63f90832454fb85481fc7b90eae9d81871f34
|
tag: 4e4f8f2ad12ff180ca3eaf1ee18d1eb931711a61
|
||||||
|
|
||||||
source-repository-package
|
source-repository-package
|
||||||
type: git
|
type: git
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"https://github.com/simplex-chat/simplexmq.git"."fef63f90832454fb85481fc7b90eae9d81871f34" = "1fnv4aqf81hlvdbvqinwnrkck7r1y20rnrbm551mh1w7d0wn5xj7";
|
"https://github.com/simplex-chat/simplexmq.git"."4e4f8f2ad12ff180ca3eaf1ee18d1eb931711a61" = "1vjs8i654nz6zd9ny4qicfwlfvqljvzchx0m1dw3ka1xlvnr1pig";
|
||||||
"https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38";
|
"https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38";
|
||||||
"https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d";
|
"https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d";
|
||||||
"https://github.com/simplex-chat/sqlcipher-simple.git"."a46bd361a19376c5211f1058908fc0ae6bf42446" = "1z0r78d8f0812kxbgsm735qf6xx8lvaz27k1a0b4a2m0sshpd5gl";
|
"https://github.com/simplex-chat/sqlcipher-simple.git"."a46bd361a19376c5211f1058908fc0ae6bf42446" = "1z0r78d8f0812kxbgsm735qf6xx8lvaz27k1a0b4a2m0sshpd5gl";
|
||||||
|
|
|
@ -35,6 +35,9 @@ library
|
||||||
Simplex.Chat.Core
|
Simplex.Chat.Core
|
||||||
Simplex.Chat.Files
|
Simplex.Chat.Files
|
||||||
Simplex.Chat.Help
|
Simplex.Chat.Help
|
||||||
|
Simplex.Chat.Library.Commands
|
||||||
|
Simplex.Chat.Library.Internal
|
||||||
|
Simplex.Chat.Library.Subscriber
|
||||||
Simplex.Chat.Markdown
|
Simplex.Chat.Markdown
|
||||||
Simplex.Chat.Messages
|
Simplex.Chat.Messages
|
||||||
Simplex.Chat.Messages.Batch
|
Simplex.Chat.Messages.Batch
|
||||||
|
|
8597
src/Simplex/Chat.hs
8597
src/Simplex/Chat.hs
File diff suppressed because one or more lines are too long
|
@ -21,11 +21,12 @@ import Data.Time.Clock (getCurrentTime)
|
||||||
import Data.Time.LocalTime (getCurrentTimeZone)
|
import Data.Time.LocalTime (getCurrentTimeZone)
|
||||||
import Simplex.Chat
|
import Simplex.Chat
|
||||||
import Simplex.Chat.Controller
|
import Simplex.Chat.Controller
|
||||||
|
import Simplex.Chat.Library.Commands
|
||||||
import Simplex.Chat.Options (ChatOpts (..), CoreChatOpts (..))
|
import Simplex.Chat.Options (ChatOpts (..), CoreChatOpts (..))
|
||||||
import Simplex.Chat.Store.Profiles
|
import Simplex.Chat.Store.Profiles
|
||||||
import Simplex.Chat.Types
|
import Simplex.Chat.Types
|
||||||
import Simplex.Chat.View (serializeChatResponse)
|
import Simplex.Chat.View (serializeChatResponse)
|
||||||
import Simplex.Messaging.Agent.Store.SQLite (SQLiteStore, withTransaction, MigrationConfirmation (..))
|
import Simplex.Messaging.Agent.Store.SQLite (MigrationConfirmation (..), SQLiteStore, withTransaction)
|
||||||
import System.Exit (exitFailure)
|
import System.Exit (exitFailure)
|
||||||
import System.IO (hFlush, stdout)
|
import System.IO (hFlush, stdout)
|
||||||
import Text.Read (readMaybe)
|
import Text.Read (readMaybe)
|
||||||
|
|
3992
src/Simplex/Chat/Library/Commands.hs
Normal file
3992
src/Simplex/Chat/Library/Commands.hs
Normal file
File diff suppressed because it is too large
Load diff
1919
src/Simplex/Chat/Library/Internal.hs
Normal file
1919
src/Simplex/Chat/Library/Internal.hs
Normal file
File diff suppressed because one or more lines are too long
2887
src/Simplex/Chat/Library/Subscriber.hs
Normal file
2887
src/Simplex/Chat/Library/Subscriber.hs
Normal file
File diff suppressed because it is too large
Load diff
|
@ -36,6 +36,7 @@ import Foreign.Storable (poke)
|
||||||
import GHC.IO.Encoding (setFileSystemEncoding, setForeignEncoding, setLocaleEncoding)
|
import GHC.IO.Encoding (setFileSystemEncoding, setForeignEncoding, setLocaleEncoding)
|
||||||
import Simplex.Chat
|
import Simplex.Chat
|
||||||
import Simplex.Chat.Controller
|
import Simplex.Chat.Controller
|
||||||
|
import Simplex.Chat.Library.Commands
|
||||||
import Simplex.Chat.Markdown (ParsedMarkdown (..), parseMaybeMarkdownList)
|
import Simplex.Chat.Markdown (ParsedMarkdown (..), parseMaybeMarkdownList)
|
||||||
import Simplex.Chat.Mobile.File
|
import Simplex.Chat.Mobile.File
|
||||||
import Simplex.Chat.Mobile.Shared
|
import Simplex.Chat.Mobile.Shared
|
||||||
|
|
|
@ -14,10 +14,11 @@ import qualified Data.Text as T
|
||||||
import Data.Text.Encoding (encodeUtf8)
|
import Data.Text.Encoding (encodeUtf8)
|
||||||
import Database.SQLite.Simple (SQLError (..))
|
import Database.SQLite.Simple (SQLError (..))
|
||||||
import qualified Database.SQLite.Simple as DB
|
import qualified Database.SQLite.Simple as DB
|
||||||
import Simplex.Chat (_defaultNtfServers, defaultChatConfig, operatorSimpleXChat)
|
import Simplex.Chat (defaultChatConfig, operatorSimpleXChat)
|
||||||
import Simplex.Chat.Controller
|
import Simplex.Chat.Controller
|
||||||
import Simplex.Chat.Core
|
import Simplex.Chat.Core
|
||||||
import Simplex.Chat.Help (chatWelcome)
|
import Simplex.Chat.Help (chatWelcome)
|
||||||
|
import Simplex.Chat.Library.Commands (_defaultNtfServers)
|
||||||
import Simplex.Chat.Operators
|
import Simplex.Chat.Operators
|
||||||
import Simplex.Chat.Options
|
import Simplex.Chat.Options
|
||||||
import Simplex.Chat.Terminal.Input
|
import Simplex.Chat.Terminal.Input
|
||||||
|
|
|
@ -29,8 +29,8 @@ import Database.SQLite.Simple (Only (..))
|
||||||
import qualified Database.SQLite.Simple as SQL
|
import qualified Database.SQLite.Simple as SQL
|
||||||
import Database.SQLite.Simple.QQ (sql)
|
import Database.SQLite.Simple.QQ (sql)
|
||||||
import GHC.Weak (deRefWeak)
|
import GHC.Weak (deRefWeak)
|
||||||
import Simplex.Chat
|
|
||||||
import Simplex.Chat.Controller
|
import Simplex.Chat.Controller
|
||||||
|
import Simplex.Chat.Library.Commands
|
||||||
import Simplex.Chat.Messages
|
import Simplex.Chat.Messages
|
||||||
import Simplex.Chat.Messages.CIContent
|
import Simplex.Chat.Messages.CIContent
|
||||||
import Simplex.Chat.Styled
|
import Simplex.Chat.Styled
|
||||||
|
|
|
@ -21,8 +21,8 @@ import Data.Text (Text)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import Data.Time.Clock (getCurrentTime)
|
import Data.Time.Clock (getCurrentTime)
|
||||||
import Data.Time.LocalTime (getCurrentTimeZone)
|
import Data.Time.LocalTime (getCurrentTimeZone)
|
||||||
import Simplex.Chat (execChatCommand, processChatCommand)
|
|
||||||
import Simplex.Chat.Controller
|
import Simplex.Chat.Controller
|
||||||
|
import Simplex.Chat.Library.Commands (execChatCommand, processChatCommand)
|
||||||
import Simplex.Chat.Markdown
|
import Simplex.Chat.Markdown
|
||||||
import Simplex.Chat.Messages
|
import Simplex.Chat.Messages
|
||||||
import Simplex.Chat.Messages.CIContent (CIContent (..), SMsgDirection (..))
|
import Simplex.Chat.Messages.CIContent (CIContent (..), SMsgDirection (..))
|
||||||
|
|
|
@ -36,10 +36,11 @@ import Data.Time.Format (defaultTimeLocale, formatTime)
|
||||||
import qualified Data.Version as V
|
import qualified Data.Version as V
|
||||||
import qualified Network.HTTP.Types as Q
|
import qualified Network.HTTP.Types as Q
|
||||||
import Numeric (showFFloat)
|
import Numeric (showFFloat)
|
||||||
import Simplex.Chat (defaultChatConfig, maxImageSize)
|
import Simplex.Chat (defaultChatConfig)
|
||||||
import Simplex.Chat.Call
|
import Simplex.Chat.Call
|
||||||
import Simplex.Chat.Controller
|
import Simplex.Chat.Controller
|
||||||
import Simplex.Chat.Help
|
import Simplex.Chat.Help
|
||||||
|
import Simplex.Chat.Library.Commands (maxImageSize)
|
||||||
import Simplex.Chat.Markdown
|
import Simplex.Chat.Markdown
|
||||||
import Simplex.Chat.Messages hiding (NewChatItem (..))
|
import Simplex.Chat.Messages hiding (NewChatItem (..))
|
||||||
import Simplex.Chat.Messages.CIContent
|
import Simplex.Chat.Messages.CIContent
|
||||||
|
|
|
@ -27,6 +27,7 @@ import Network.Socket
|
||||||
import Simplex.Chat
|
import Simplex.Chat
|
||||||
import Simplex.Chat.Controller (ChatCommand (..), ChatConfig (..), ChatController (..), ChatDatabase (..), ChatLogLevel (..), defaultSimpleNetCfg)
|
import Simplex.Chat.Controller (ChatCommand (..), ChatConfig (..), ChatController (..), ChatDatabase (..), ChatLogLevel (..), defaultSimpleNetCfg)
|
||||||
import Simplex.Chat.Core
|
import Simplex.Chat.Core
|
||||||
|
import Simplex.Chat.Library.Commands
|
||||||
import Simplex.Chat.Options
|
import Simplex.Chat.Options
|
||||||
import Simplex.Chat.Protocol (currentChatVersion, pqEncryptionCompressionVersion)
|
import Simplex.Chat.Protocol (currentChatVersion, pqEncryptionCompressionVersion)
|
||||||
import Simplex.Chat.Store
|
import Simplex.Chat.Store
|
||||||
|
|
|
@ -14,8 +14,8 @@ import qualified Data.Aeson as J
|
||||||
import qualified Data.ByteString.Char8 as B
|
import qualified Data.ByteString.Char8 as B
|
||||||
import qualified Data.ByteString.Lazy.Char8 as LB
|
import qualified Data.ByteString.Lazy.Char8 as LB
|
||||||
import Network.HTTP.Types.URI (urlEncode)
|
import Network.HTTP.Types.URI (urlEncode)
|
||||||
import Simplex.Chat (roundedFDCount)
|
|
||||||
import Simplex.Chat.Controller (ChatConfig (..))
|
import Simplex.Chat.Controller (ChatConfig (..))
|
||||||
|
import Simplex.Chat.Library.Internal (roundedFDCount)
|
||||||
import Simplex.Chat.Mobile.File
|
import Simplex.Chat.Mobile.File
|
||||||
import Simplex.Chat.Options (ChatOpts (..))
|
import Simplex.Chat.Options (ChatOpts (..))
|
||||||
import Simplex.FileTransfer.Server.Env (XFTPServerConfig (..))
|
import Simplex.FileTransfer.Server.Env (XFTPServerConfig (..))
|
||||||
|
|
|
@ -9,9 +9,9 @@ import Control.Concurrent (threadDelay)
|
||||||
import qualified Data.ByteString.Char8 as B
|
import qualified Data.ByteString.Char8 as B
|
||||||
import Data.List (intercalate)
|
import Data.List (intercalate)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import System.Directory (copyFile, doesFileExist, removeFile)
|
import Simplex.Chat.Library.Commands (fixedImagePreview)
|
||||||
import Simplex.Chat (fixedImagePreview)
|
|
||||||
import Simplex.Chat.Types (ImageData (..))
|
import Simplex.Chat.Types (ImageData (..))
|
||||||
|
import System.Directory (copyFile, doesFileExist, removeFile)
|
||||||
import Test.Hspec hiding (it)
|
import Test.Hspec hiding (it)
|
||||||
|
|
||||||
chatForwardTests :: SpecWith FilePath
|
chatForwardTests :: SpecWith FilePath
|
||||||
|
@ -740,7 +740,7 @@ testMultiForwardFiles =
|
||||||
|
|
||||||
-- IDs to forward
|
-- IDs to forward
|
||||||
let msgId1 = (read msgIdZero :: Int) + 1
|
let msgId1 = (read msgIdZero :: Int) + 1
|
||||||
msgIds = intercalate "," $ map (show . (msgId1 +)) [0..5]
|
msgIds = intercalate "," $ map (show . (msgId1 +)) [0 .. 5]
|
||||||
bob ##> ("/_forward plan @2 " <> msgIds)
|
bob ##> ("/_forward plan @2 " <> msgIds)
|
||||||
bob <## "Files can be received: 1, 2, 3, 4"
|
bob <## "Files can be received: 1, 2, 3, 4"
|
||||||
bob <## "5 message(s) out of 6 can be forwarded"
|
bob <## "5 message(s) out of 6 can be forwarded"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
module ValidNames where
|
module ValidNames where
|
||||||
|
|
||||||
import Simplex.Chat
|
import Simplex.Chat.Library.Commands
|
||||||
import Test.Hspec
|
import Test.Hspec
|
||||||
|
|
||||||
validNameTests :: Spec
|
validNameTests :: Spec
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue