Commit graph

499 commits

Author SHA1 Message Date
teidesu
d4f07aa07c feat(tl): added types for reactions, also added ability to augment schema from file 2021-07-25 23:19:12 +03:00
teidesu
2f1c8548a0 build: renamed to mtqt 2021-07-25 21:03:40 +03:00
teidesu
7775ff4eaa feat(client): replyToThreadId field for Message 2021-07-25 21:01:38 +03:00
teidesu
7f112f51a2 fix(core): updated for newer mtproto schema 2021-07-25 15:44:55 +03:00
teidesu
cc8c974e23 feat(client): getDiscussionMessage method 2021-07-25 14:00:51 +03:00
teidesu
b03e2f4f0b fix(tl): updated schema
god i love when telegram changes schema in a backwards-incompatible way and doesn't change layer number because they dont give a slightest fuck on third party mtproto implementations
2021-07-24 23:21:52 +03:00
teidesu
87de39a6fb fix(client): gallery defaults to true for answerInlineQuery 2021-07-24 22:43:14 +03:00
teidesu
f3e7de5c8c feat(core): override layer number 2021-07-24 17:00:20 +03:00
teidesu
cb2df91187 fix(client): optional params in sendCopy 2021-07-23 23:09:32 +03:00
teidesu
abe6cef377 fix(html): added htm alias for prettier users 2021-07-23 23:03:03 +03:00
teidesu
0525a59ab3 fix(client): better inspection of buffers 2021-07-22 01:54:00 +03:00
teidesu
4b417afd81 feat(client): isValidSticker field 2021-07-22 01:47:06 +03:00
teidesu
4c717ffc63 fix(voice): proper handling of waveforms 2021-07-22 01:46:31 +03:00
teidesu
96d133dd2f fix(markdown): proper handling of non-link [] groups 2021-07-20 03:26:00 +03:00
teidesu
3b523598ad build: changed license to lgplv3 2021-07-19 03:57:47 +03:00
teidesu
8c62b56acc fix(node): cli input for start() method, not run() 2021-07-18 22:08:50 +03:00
teidesu
199e0a2a7d fix(dispatcher): adding raw handlers
removed from codegen and forgot to add in code, i'm dumb 🤷
2021-07-17 19:08:13 +03:00
teidesu
aa09262aae fix(client): proper handling of last messages 2021-07-17 18:46:42 +03:00
teidesu
627fdbed2f refactor(dispatcher): big refactor, moved updates parsing to client, separated raw updates from parsed, moved Conversation to client package 2021-07-17 17:26:31 +03:00
teidesu
8fb099cfeb fix(core): proper browser support
not much really, fixed exports for webpack, fixed binary mode for websocket
2021-07-16 04:31:04 +03:00
teidesu
5b9ddc1f7b refactor(dispatcher): UpdateInfo<...> to ParsedUpdate 2021-07-14 22:34:03 +03:00
teidesu
6d8c7fee78 refactor: less obscure transport names 2021-07-14 21:08:13 +03:00
teidesu
c8c0b4a320 fix(client): export defaultDcs 2021-07-14 20:58:27 +03:00
teidesu
a7f7e245d8 fix(node): changed default session file name 2021-07-14 16:35:53 +03:00
teidesu
244948149a fix(tl): updated errors 2021-07-14 16:34:33 +03:00
teidesu
0a39d8a2d5 fix(client): fixed imports 2021-07-14 16:34:15 +03:00
teidesu
3fcdd03877 feat(dispatcher): lastMessage and lastReceivedMessage getters for Conversation 2021-07-10 16:12:31 +03:00
teidesu
66e623f21d docs(dispatcher): improved docs for Conversation 2021-07-10 16:05:20 +03:00
teidesu
b9b2b9f6ba feat(dispatcher): Conversation class 2021-07-10 15:10:43 +03:00
teidesu
2f8b3472d1 feat(client): deleteScheduledMessages method 2021-07-10 15:00:40 +03:00
teidesu
ca1e5c9efa feat(client): sendScheduled and getScheduledMessages methods 2021-07-10 01:19:59 +03:00
teidesu
a33548e790 fix(client): correct sending of newly uploaded files in media groups 2021-07-10 01:09:49 +03:00
teidesu
b38f2cd6ae fix(client): hide inputPhoto from inspection 2021-07-10 00:54:43 +03:00
teidesu
6acb638c6a fix(client): correct handling of multiple peers in getPeerDialog
i swear it worked. idk how.
2021-07-09 23:34:46 +03:00
teidesu
300f10074a feat(client): getPeerDialogs method 2021-07-09 22:50:04 +03:00
teidesu
77d597e4db feat(dispatcher): history read update
also fixed imports/exports
2021-07-09 19:41:02 +03:00
teidesu
817eb3aa8d fix(client): mention and permanentMention now return formatted string with parse mode
also slightly improved docs on permanentMention
2021-07-09 17:00:45 +03:00
teidesu
d611f91f19 feat: parse mode template literals override default/passed parse mode 2021-07-09 16:39:45 +03:00
teidesu
be8ffe5b5b feat(dispatcher): text-related filters (equals, contains, starts/ends with) 2021-07-09 01:50:39 +03:00
teidesu
c33646943c fix(dispatcher): middleware and event emitter related fixes 2021-07-09 01:49:53 +03:00
teidesu
28c70a89ba fix(client): correct handling of pts in updateShortSentMessage
i am fucking stupid and can't read my own code
2021-07-09 01:46:37 +03:00
teidesu
967de3391d fix(client): fixed media-related bound methods, added method for sending media groups 2021-07-08 17:22:18 +03:00
teidesu
231b10d8cd feat(dispatcher): made Dispatcher an EventEmitter
this adds a second option for updates dispatching which is not governed by any propagation or stuff.
useful for advanced use-cases.
2021-07-07 23:36:57 +03:00
teidesu
7c3f5cafa6 feat(dispatcher): deeplink filter 2021-07-06 18:38:06 +03:00
teidesu
c2130dec9f build(tl): updated to layer 131 2021-07-06 18:02:26 +03:00
teidesu
69fffd468c fix(client): use nextRate in searchGlobal 2021-07-06 16:50:46 +03:00
teidesu
afd6f54e54 feat(client): mustReply parameter 2021-07-06 02:36:20 +03:00
teidesu
d5e595d7cf fix: added MessageNotFoundError, improved getMessages, fixed methods that use it 2021-07-06 02:24:58 +03:00
teidesu
36ba4c3b87 feat(client): bot keyboard builder 2021-07-06 01:11:06 +03:00
teidesu
6215892090 fix(tl): fix optionals generation
i am fucking dumb
2021-07-05 22:46:36 +03:00
teidesu
ed0198f057 fix(tl): made randomId field required
i wanted to make it auto-fill itself but decided it would be too much hassle
2021-07-05 20:43:42 +03:00
teidesu
8b6d587399 fix(client): improved own username handling 2021-07-05 17:26:30 +03:00
teidesu
be506f5ed7 feat(client): stickerset thumbnails
also fixed a few issues with file ids for thumbnails
2021-07-05 16:06:49 +03:00
teidesu
0d32731b7a fix(file-id): invalid type for stickerSetThumbnailVersion 2021-07-05 15:39:06 +03:00
teidesu
82db8453fc feat(dispatcher): basic middleware functionality 2021-07-03 16:42:41 +03:00
teidesu
17c2edde7e fix(client): further improved handling of updateShortSentMessage 2021-07-03 01:21:54 +03:00
teidesu
54f95bcaa6 fix(client): handle users index for sendText short update 2021-07-03 00:23:41 +03:00
teidesu
e4b1932ca6 feat(client): force text mention for .mention() 2021-07-02 21:32:12 +03:00
teidesu
9ed51fd996 fix: made .mention() work with tagged templates 2021-07-02 21:28:30 +03:00
teidesu
733a1ab84f feat: html and markdown tagged template helpers 2021-07-02 20:20:29 +03:00
teidesu
03cb8fd5e8 docs(client): updated docs for createStickerSet 2021-07-02 19:52:14 +03:00
teidesu
14d2f9ff08 feat(client): inputPhoto getter for Photo 2021-07-02 17:10:57 +03:00
teidesu
23bc4b5e30 feat(client): uploadMedia method 2021-07-02 17:04:45 +03:00
teidesu
94a65b1a74 feat(client): set profile photo from file id or input photo 2021-07-02 16:27:08 +03:00
teidesu
d0e3ebda80 refactor: use type discrimination for media types in Message
this should result in cleaner code without the need to import everything
2021-07-01 22:20:16 +03:00
teidesu
abbebeddf9 feat(client): isGroup getter for Chat 2021-06-30 02:01:11 +03:00
teidesu
2220371efd feat(dispatcher): conditional error propagation to client 2021-06-27 23:59:04 +03:00
teidesu
80e889d95f fix(client): inline mode related improvements 2021-06-27 23:57:27 +03:00
teidesu
596362bb89 fix(tl): automatically resolve conflicts if layer is different 2021-06-27 15:06:42 +03:00
teidesu
ef68b414ad fix(tl): correctly handle constructors without id 2021-06-27 01:08:38 +03:00
teidesu
58f73b6709 fix(client): improved inspection 2021-06-27 00:27:39 +03:00
teidesu
274a05dc9e fix(node): made .run sync
forgot the entire idea of .run, lol. i should get some sleep ig
2021-06-26 23:51:48 +03:00
teidesu
c826c831e2 fix(client): made params optional in InlineQuery#answer 2021-06-26 23:45:59 +03:00
teidesu
0ea953732b fix(dispatcher): removed @internal from non-filtered on* methods
i probably am in fact stupid
2021-06-26 23:34:08 +03:00
teidesu
66c4b0e0b0 fix: updated tl version in the rest of the packages
webstorm for some fucking reason decided not to save some package.json files lol
2021-06-26 23:13:40 +03:00
teidesu
e7f15ec009 fix(node): close readline instance to avoid hanging processes 2021-06-26 22:57:00 +03:00
teidesu
42f6ed1357 feat(client): bot commands related methods 2021-06-26 19:45:06 +03:00
teidesu
f520470fad fix(file-id): updated file id computation for layer 130 2021-06-26 17:13:32 +03:00
teidesu
090f42e559 build(tl): updated to layer 130 2021-06-26 17:13:13 +03:00
teidesu
1abfc56474 feat(tl): merge schemas from tdlib and tdesktop 2021-06-26 16:22:19 +03:00
teidesu
cf7f8e74ea feat(dispatcher): throttle now actually throttles, and does not throw an error 2021-06-25 22:37:26 +03:00
teidesu
54e5374273 fix(client): remove empty from inspection 2021-06-24 20:15:12 +03:00
teidesu
00d9228c1c feat(dispatcher): provide custom default state for wizard 2021-06-24 01:12:20 +03:00
teidesu
a2ad4128f1 fix(dispatcher): default state for merge 2021-06-24 01:12:00 +03:00
teidesu
3c79c56879 fix(client): made _normalizeInputFile and _normalizeInputMedia public 2021-06-24 00:15:12 +03:00
teidesu
bf84556776 fix(client): made _handleUpdate method public 2021-06-24 00:13:10 +03:00
teidesu
028e331cb6 fix(markdown): properly handle square brackets that are not links 2021-06-23 17:08:23 +03:00
teidesu
c3ee177b4c fix(sqlite): parse entity from binary before returning
i am a bit stupid~
2021-06-23 17:08:09 +03:00
teidesu
c8dae335e8 feat: vacuum storage to reduce its size 2021-06-20 18:18:06 +03:00
teidesu
b45cc0df69 feat: rate limiting 2021-06-20 17:54:28 +03:00
teidesu
6b622f8399 fix(dispatcher): exported defaultStateKeyDelegate 2021-06-20 03:17:04 +03:00
teidesu
481f0db129 fix(dispatcher): provide state type information to filters 2021-06-20 02:52:19 +03:00
teidesu
5e7706a5a3 feat(dispatcher): callback data builder 2021-06-20 01:29:40 +03:00
teidesu
2ee5f1e279 fix(node): export html and md parsers 2021-06-20 00:43:31 +03:00
teidesu
92233d6d09 fix(client): do not pass empty message if no edit 2021-06-20 00:42:49 +03:00
teidesu
73d9a850ee fix(client): exported MessageAction and MessageMedia 2021-06-19 23:41:29 +03:00
teidesu
035435900b feat(dispatcher): filters.start filter for /start 2021-06-19 20:59:35 +03:00
teidesu
fbb5d7005f feat(dispatcher): support regex commands 2021-06-19 20:53:51 +03:00
teidesu
2682392d26 feat(client): mention() method for Chat
mostly done to unify User | Chat type interface and further simplify usage of msg.sender
2021-06-19 20:25:30 +03:00
teidesu
1238e7c32c fix(dispatcher): improved typings for action filter 2021-06-19 20:11:06 +03:00
teidesu
f44bf77a07 feat(dispatcher): support usernames and me/self in userId and chatId filters 2021-06-19 19:53:31 +03:00
teidesu
f2671d3c0b fix(dispatcher): handle commands that contain bot username 2021-06-18 19:21:22 +03:00
teidesu
1371f935cd fix(client): do not dispatch empty messages
this happens when the difference contains messages from other bots that the current bot can't see.
2021-06-18 19:20:58 +03:00
teidesu
645bd46e9d fix(markup): support link starting with // 2021-06-18 18:06:39 +03:00
teidesu
e3b2f747a9 feat(client): override caption and entities for sendMedia 2021-06-18 17:44:52 +03:00
teidesu
cbb8549068 fix(client): params type for answerMedia 2021-06-18 17:33:39 +03:00
teidesu
08517810fc fix(node): do not add handlers if bot token is passed 2021-06-18 17:16:10 +03:00
teidesu
b4716f321b tests(core): added fuzz tests for auth_key 2021-06-16 18:21:54 +03:00
teidesu
5849ce0e1b fix(core): better handling for additional connections 2021-06-16 18:21:17 +03:00
teidesu
77022e29c9 tests(core): added e2e and fuzzing tests 2021-06-15 03:12:22 +03:00
teidesu
0a45f5e71a fix(core): check for correct padding 2021-06-15 03:11:52 +03:00
teidesu
9928a9156a fix(client): redundant resends 2021-06-15 03:11:11 +03:00
teidesu
6c8eeb01d2 feat(dispatcher): wizard scene 2021-06-14 19:01:02 +03:00
teidesu
257f5392ea refactor(dispatcher): use enum instead of symbols for propagation 2021-06-14 18:58:07 +03:00
teidesu
707e317e16 stuff 2021-06-12 01:13:02 +03:00
teidesu
46317e8ddb fix(dispatcher): optimized every & some functions, improved types for them 2021-06-11 16:39:27 +03:00
teidesu
079d65b38d build: preparing for publish, day 6
i am slowly descending to madness

bugs fixed, stuff exported, and maybe something else
2021-06-10 02:31:48 +03:00
teidesu
c46f113f1f build: preparing for publish x5
at this point i'm way too tired to describe what happened.
stuff added, stuff removed, stuff fixed, i don't even remember anymore lol
2021-06-09 01:47:22 +03:00
teidesu
bcce752dfd build: preparing for publish x4
at this point i'm too tired to describe what happened
2021-06-08 00:37:13 +03:00
teidesu
7a0de134ba feat(dispatcher): local error handling 2021-06-07 23:59:17 +03:00
teidesu
8cbd6e14c8 build: prepare to publish x3
various package json fixes, improved node meta-package
2021-06-07 18:32:29 +03:00
teidesu
21d69e466e fix: handle private chat sender 2021-06-07 15:27:16 +03:00
teidesu
280c9f51aa build: preparing to publish (part 2)
fixed imports, package.json files, improved package generation for certain packages, and more (i'm too lazy to describe all the magic that i've done)
2021-06-06 19:23:43 +03:00
teidesu
ae2dbcf03f build: fixed scripts, eslintignore, fixed linter warnings and re-formatted with prettier 2021-06-06 15:20:41 +03:00
teidesu
5e05b099ed build: moved tl-reference to top layer to avoid cluttering yarn.lock with frontend deps 2021-06-06 15:02:06 +03:00
teidesu
1d21cd5e65 build: preparing to publish 2021-06-06 00:37:44 +03:00
teidesu
2cd443d6d1 feat(client): string sessions 2021-06-05 20:25:08 +03:00
teidesu
68ea4080df feat(core): handle AUTH_KEY_UNREGISTERED error 2021-06-05 18:56:43 +03:00
teidesu
79af4c4425 fix(tl-ref): history section navigation for prod 2021-06-05 18:33:35 +03:00
teidesu
599250d0af feat(tl-ref): history section, containing type history and older schemas 2021-06-05 17:46:58 +03:00
teidesu
685d75effd docs(tl): replace male pronouns with gender-neutral 2021-06-03 18:59:43 +03:00
teidesu
ecca291eba fix(dispatcher): handle custom key in getState 2021-05-31 23:29:26 +03:00
teidesu
9da72daac7 fix(dispatcher): do not propagate state and scene to children 2021-05-31 23:20:20 +03:00
teidesu
2c36d9cbf2 refactor(client): split reply* methods to reply* and answer* 2021-05-31 23:12:35 +03:00
teidesu
6ffb8616e3 fix(sqlite): handle stored objects from older incompatible tl layers 2021-05-31 22:56:58 +03:00
teidesu
d70ccaa1ad fix(client): improved channels difference loading 2021-05-31 22:50:39 +03:00
teidesu
1e9c4de86d fix(client): do not call toJSON for buffers 2021-05-31 22:36:48 +03:00
teidesu
2daf497cc4 feat: updated to TL layer 129 2021-05-31 22:36:26 +03:00
teidesu
d50a25eab9 feat(client): support comments and reply threads 2021-05-27 15:57:05 +03:00
teidesu
a0294b9a64 feat(dispatcher): fsm and scenes 2021-05-27 01:02:31 +03:00
teidesu
3845153871 docs(client): added info about "send when online" scheduled messages 2021-05-25 11:58:14 +03:00
teidesu
60162c88bc fix(client): avoid redundant help.getConfig call 2021-05-24 23:03:29 +03:00
teidesu
2dbd592206 docs(mtproxy): fixed jsdoc comment of MtProxyTcpTransport 2021-05-24 20:31:52 +03:00
teidesu
2bd94782e9 feat: mtproxy support
also some refactor in core transports
2021-05-24 20:29:18 +03:00
teidesu
76f078d931 fix(client): fixed imports in inline-utils.ts 2021-05-23 21:16:08 +03:00
teidesu
a2013acaf6 refactor: moved urlsafe base64 functions to core and exported them 2021-05-23 20:33:10 +03:00
teidesu
98fe7e3d31 refactor(dispatcher): avoid parsing unhandled updates 2021-05-23 15:38:03 +03:00
teidesu
b926178b9d refactor(dispatcher): store and lookup handlers by their type
avoids redundant loops over all registered handlers
2021-05-23 14:43:40 +03:00
teidesu
2d335af78e fix(dispatcher): reuse parsed updates in child dispatchers 2021-05-23 14:16:01 +03:00
teidesu
8e81ce21f2 fix(dispatcher): scheduled flag for new scheduled messages 2021-05-23 14:04:28 +03:00
teidesu
4599272c7c fix(client): do not catch up channels if disabled 2021-05-23 14:02:44 +03:00
teidesu
78bdc5fb01 fix(socks-proxy): remove headers field
faulty copypaste 🤷
2021-05-23 13:49:34 +03:00
teidesu
1b3f02f5f4 refactor: use Buffer.isBuffer 2021-05-23 13:42:38 +03:00
teidesu
1c4d9c1ab3 feat(core): change transport at runtime 2021-05-23 13:35:03 +03:00
teidesu
256b219247 feat: support socks4/5 proxies 2021-05-23 12:27:16 +03:00
teidesu
67a22ef1f2 feat(http-proxy): include proxy details in the error 2021-05-23 11:04:46 +03:00
teidesu
a46c6e8894 feat: support http(s) proxies 2021-05-23 01:56:59 +03:00
teidesu
649f86f3ed fix(client): avoid secondary db calls in resolvePeer 2021-05-22 18:58:17 +03:00
teidesu
126ed3016d feat: sqlite backed session for node js 2021-05-22 18:20:07 +03:00
teidesu
3ecef3bde4 feat(core): exported debounce function, implemented and exported throttle function. 2021-05-22 16:52:35 +03:00
teidesu
c228085bfe feat(client): improved min peers and short updates handling 2021-05-22 14:41:11 +03:00
teidesu
19d675e0fb feat(core): utf string length calculation optimization
only has effect on in-browser use when the Buffer is polyfilled, since with BrowserBuffer we had to write it twice.
2021-05-21 23:24:52 +03:00
teidesu
ee369a1c83 feat(core): int64 write optimization
this optimization gives about 10x performance boost on systems that support BigInt, and about 2x on those that don't
2021-05-21 22:15:25 +03:00
teidesu
c3fce178b6 feat: only update changed updates state (i.e. dont save pts if it hasnt changed) 2021-05-21 00:24:54 +03:00
teidesu
2660120e8f feat(core): support seq in updates 2021-05-19 21:21:12 +03:00
teidesu
910361ccab feat(core): implemented and exported lru map 2021-05-19 20:30:23 +03:00
teidesu
bdaa571777 feat(client): only send modified channel pts to storage 2021-05-19 17:37:11 +03:00
teidesu
82fb3d7e44 refactor: moved async lock to core and exported it 2021-05-16 23:05:53 +03:00
teidesu
9d8b09c5ff build: fixed node native addon build 2021-05-16 15:50:31 +03:00
teidesu
633f1fdf4d feat(client): editAdminRights method 2021-05-16 14:55:17 +03:00
teidesu
32ef1c59ad fix(client): handle updates in getNearbyChats method 2021-05-16 14:46:40 +03:00
teidesu
9bee00e584 fix(client): sendMediaGroup returns all sent messages 2021-05-16 14:43:23 +03:00
teidesu
e6e28399b0 refactor: prefer switches over ifs when possible 2021-05-16 14:32:36 +03:00
teidesu
f9336841ab feat(client): support inline message media contact 2021-05-16 13:49:32 +03:00
teidesu
d75071c284 refactor(client): made builder methods modify existing object instead of spreading, and also improved docs 2021-05-16 13:44:59 +03:00
teidesu
803daecdf3 feat(dispatcher): deleted messages update 2021-05-16 13:06:26 +03:00
teidesu
6e86ca464a feat(client): getCallbackAnswer method 2021-05-16 12:59:00 +03:00
teidesu
b4f731d831 feat(core): support rpc timeouts (for real) 2021-05-16 12:50:09 +03:00
teidesu
c092347b63 fix(client): fixed game highscore exports 2021-05-16 02:52:51 +03:00
teidesu
4852fe0301 feat(core): support rpc timeouts 2021-05-16 02:52:13 +03:00
teidesu
a6217c682d feat(core): support rpc timeouts 2021-05-16 02:50:43 +03:00
teidesu
fd1897651b feat(client): game high scores related methods 2021-05-16 02:21:59 +03:00
teidesu
b29883116b refactor(client): moved handling of inline messages to a separate method 2021-05-16 02:09:51 +03:00
teidesu
f45b602423 fix(tl): improved bot-only methods detection 2021-05-16 02:07:23 +03:00
teidesu
97ba7652ff refactor: use constructor check instead of instanceof where possible
this might just have introduced a bunch of errors, but ill test later
2021-05-15 21:17:49 +03:00
teidesu
f7e8051a94 refactor(client): made resolvePeer return InputPeer, and removed now redundant normalizeTo calls 2021-05-15 20:25:59 +03:00
teidesu
b634aa01eb feat(client): markChatUnread method
now i might be stupid
2021-05-12 22:37:09 +03:00
teidesu
482c71690d feat(client): markChatUnread method 2021-05-12 22:36:03 +03:00
teidesu
8cf4ce5533 feat(client): readHistory method and related bound methods 2021-05-12 22:31:29 +03:00
teidesu
4f40571455 feat(client): unpinAllMessages method 2021-05-12 22:18:08 +03:00
teidesu
79a8962284 feat(client): chat restrictions related methods 2021-05-12 22:07:00 +03:00
teidesu
30253c83c7 refactor(client): normalized MtCuteTypeAssertionError errors 2021-05-12 18:16:50 +03:00
teidesu
9be7b0d6c9 refactor: prefer switches to else-if chains 2021-05-12 17:58:45 +03:00
teidesu
6879ae945a feat(tl): generate switches instead of OR expressions
switches are WAY faster.
2021-05-11 23:27:09 +03:00
teidesu
f19fdf76b8 refactor(client): improve resolvePeer normalization 2021-05-11 23:21:35 +03:00
teidesu
8b3caeb3d0 feat(client): resolvePeerMany method 2021-05-11 22:43:11 +03:00
teidesu
46973c4830 fix(dispatcher): fixed field names because webstorm sucks 2021-05-11 22:34:13 +03:00
teidesu
5b3d7a3b09 refactor(client): normalized boolean fields 2021-05-11 22:10:14 +03:00
teidesu
d8cd13fd60 refactor(client): use ReadonlyArray for getter return types 2021-05-11 22:02:00 +03:00
teidesu
61778dba8e Merge remote-tracking branch 'origin/master' into master 2021-05-11 21:47:10 +03:00