Commit graph

439 commits

Author SHA1 Message Date
c5ce2c321d
build: some fixes + made @mtcute/test esm-only 2024-04-14 22:18:53 +03:00
ae8ab45a74
chore: fixed remaining type errors 2024-04-14 22:18:53 +03:00
c5d115f088
chore: use target=es2022 with useDefineForClassFields=true 2024-04-14 22:18:53 +03:00
9491b2b1e6
fix: use node: scheme for node imports 2024-04-14 22:18:53 +03:00
ac8d63a669
chore(core)!: inlined dcOption parsing in string sessions
breaking: readStringSession now accepts only one argument
2024-04-14 18:07:10 +03:00
f24f41b646
chore(core): added deprecation notice for v1-2 session strings 2024-04-14 17:52:47 +03:00
32e29715ad
fix(core): automatically add relevant file extension 2024-04-14 05:47:30 +03:00
48d8d58bbf
0.10.2 2024-04-13 07:05:36 +03:00
f527ca49cf
fix(core): hopefully fixed typescript performace issues with tg.call
closes #30
2024-04-13 00:31:33 +03:00
7dca68d6b9 v0.10.1 2024-04-05 17:24:59 +00:00
3f0e95ef31
feat(core): joinTextWithEntities method in utils 2024-04-05 18:19:52 +03:00
c962155c2e v0.10.0 2024-04-01 17:32:17 +00:00
bf2f7999a6
feat!: updated to 177 layer
breaking: `.createGroup` now returns `CreateGroupResult`
2024-04-01 15:22:40 +03:00
dc1624e8bc
v0.9.2 2024-04-01 14:29:48 +03:00
9091a10537
fix(core): hopefully fix duplicating msg_id leading to bad_msg_container 64 2024-03-30 16:27:59 +03:00
e20bc02a0b v0.9.1 2024-03-29 18:18:21 +00:00
5ab251cafe
fix(core): improved state_req handling 2024-03-29 09:34:39 +03:00
d577f0ed9b
fix(core): improved state_req handling 2024-03-28 18:12:32 +03:00
ff6ffaf31f v0.9.0 2024-03-23 22:57:57 +00:00
bcbf0d6b8c
Merge branch 'master' into sqlite-abstract 2024-03-23 21:32:37 +03:00
1e780ec4af
feat: @mtcute/bun package for initial first-class bun support 2024-03-23 18:13:31 +03:00
0a072ce6a5
chore: lowercase name 2024-03-20 13:56:18 +03:00
142dddd253
refactor: moved most of sqlite implementation to core 2024-03-20 01:17:58 +03:00
3074e9bbf5
build(deps): updated vitest 2024-03-17 21:46:51 +03:00
b04db0ba6a v0.8.0 2024-03-17 06:49:36 +00:00
6828d56317
feat(tl): updated to layer 176 2024-03-17 08:29:46 +03:00
14a54f5a25
fix(core): check for message id in _findMessageInUpdate 2024-03-17 06:23:40 +03:00
81a12a8088
fix(core): send connection state through worker 2024-03-17 00:36:09 +03:00
f7d6e6730b
feat(core): withParams method 2024-03-17 00:31:58 +03:00
03c8f24f2f
docs: fixed typedoc configs 2024-03-15 23:38:39 +03:00
c9a4558e5c
fix: download threads never connecting 2024-03-15 03:20:59 +03:00
ab2425a26e
feat: support for "updating" states + improved catch up a bit 2024-03-15 00:02:04 +03:00
83746aa460
feat: initial support for connection states 2024-03-12 13:15:27 +03:00
a0b3e9cc6e
chore: avoid using namespaces in favor of esm 2024-03-07 18:11:02 +03:00
6756c78065
docs: updated readmes 2024-03-07 05:35:37 +03:00
b9f8fd58db
fix(core): try to use symbol for platform 2024-03-07 05:35:37 +03:00
d87a11b52e
build: added sideEffects: false 2024-03-07 05:35:37 +03:00
42f1482d7f
build(core): improved tree-shakeability 2024-03-07 05:35:37 +03:00
fbf5c8f4bc
chore!: removed @mtcute/wasm dependency from core
breaking: `WasmCryptoProvider` no longer exists
2024-03-07 05:35:37 +03:00
14549020aa
test(e2e): added worker tests 2024-03-07 05:35:36 +03:00
cbc2002781
chore: worker 2024-03-07 05:35:36 +03:00
fb72d3194d
fix: properly handle file uploads + downloading as node stream 2024-03-07 05:35:36 +03:00
a2739b678c
chore!: started extracting platform-specific stuff into separate packages 2024-03-07 05:35:36 +03:00
ceb606a347
fix(core): hide _parsedStatus from inspect 2024-03-07 05:35:36 +03:00
930d0558f3 v0.7.3 2024-02-28 11:03:43 +00:00
be899afca2
fix(core): infinite bad_msg_notification 17 when system time is wrong 2024-02-28 13:18:36 +03:00
371aea910b v0.7.2 2024-02-22 13:57:33 +00:00
8f0e072f4a
fix(core): string session
closes #17
2024-02-22 16:30:17 +03:00
5e3b6aa626 v0.7.1 2024-02-22 12:41:11 +00:00
852bc10629
fix(core): session import/export
closes #17
2024-02-22 15:22:22 +03:00
8c38f836dd
feat(core): export all methods in methods.js 2024-02-21 21:44:19 +03:00
6c36cf2a72
chore: initial bun support 2024-02-20 00:55:41 +03:00
54c904d3fa
fix(core): avoid imports from tty 2024-02-20 00:28:12 +03:00
2c6162987d v0.7.0 2024-02-19 18:36:06 +00:00
2d01b38e95
feat(core): support new message actions 2024-02-19 20:45:53 +03:00
8460cc3ade
feat(tl): updated to 174 layer 2024-02-19 20:37:36 +03:00
a17604b623
fix(core): websocket reconnection
lol. lmao, even
2024-02-08 04:14:43 +03:00
5d137a9125
fix(core): check pq for primality 2024-02-08 04:10:41 +03:00
809e794816
test: added factorization tests 2024-02-08 04:10:09 +03:00
99bd1bc313
feat: resolveUser and resolveChannel methods + refactor to use them 2024-02-06 00:25:08 +03:00
27e14472ff
feat: app config manager 2024-02-05 01:44:51 +03:00
e6c7af6ed2
feat: updated to layer 173 2024-02-04 18:28:27 +03:00
7036fe1e97
fix: fixed handling of -404 2024-02-03 22:08:19 +03:00
ac3b5df9a0
refactor!: renamed MaybeAsync -> MaybePromise 2024-02-03 21:56:44 +03:00
20a46c54a8
fix: e2e 2024-02-03 13:26:21 +03:00
6768b15514
fix: tests 2024-02-03 11:57:40 +03:00
c8e026dc03
refactor!: merged client into core + fixed dispatcher for new storage 2024-01-31 19:30:57 +03:00
eca99a7535
refactor!: large refactor of storage implementation
breaking: pretty much the entire storage thing has been overhauled.
migrations from older versions **are not** available, please do them manually through string sessions
2024-01-04 00:22:26 +03:00
f72b810214 v0.6.0 2023-12-29 12:57:36 +00:00
70413dd7b0 v0.5.0 2023-12-29 12:27:13 +00:00
9459748d0d v0.4.0 2023-12-26 22:12:09 +00:00
ca1916c5cb
fix(core): do not close connection by inactivity when there are pending queries 2023-12-23 21:58:36 +03:00
7e0f172aa8
fix(core): incomplete session reset 2023-12-20 14:00:29 +03:00
c538c2b059
fix(core): allow storage reset to be async 2023-12-19 23:44:39 +03:00
02a6a0e133
fix(core): proper exit cleanup in json file 2023-12-19 02:24:19 +03:00
d56fb16fc1 v0.3.0 2023-12-18 11:51:40 +00:00
4f7fd24dd9
chore(core): expose init params in .params field 2023-12-16 20:00:31 +03:00
dfed3c2761
chore(core)!: disallow passing api id as string 2023-12-16 19:55:29 +03:00
7a0d8ecef2
chore(core): various improvements 2023-12-16 19:52:44 +03:00
712c1e8348
fix(client): added true assertions to methods returning Bool 2023-12-16 19:00:13 +03:00
38358622e7
feat(core): allow passing rpc call options by proxy 2023-12-13 18:30:28 +03:00
314bfa0fec
fix(core): export MemoryStorage 2023-12-13 17:19:10 +03:00
56c2085190
feat(core)!: future salts storage
breaking: `ITelegramStorage` interface changed
2023-12-12 00:23:34 +03:00
987de6571a
feat(core): handle future salts 2023-12-11 06:15:31 +03:00
ce2d1b0a9a
fix(core): getState requests not scheduling properly 2023-12-11 01:03:19 +03:00
d1e4a15f81
feat(core): requests chaining 2023-12-11 00:07:41 +03:00
aaa2875fe1
fix(core): support opting out of -503 resending 2023-12-08 20:33:41 +03:00
b6fac0785c
fix(core): cleanly close connection on inactivity timeout 2023-12-08 06:31:17 +03:00
799fce4152 v0.2.3 2023-12-04 14:11:30 +00:00
e42a73fd07
fix(core): session exporting while on default dc 2023-12-04 16:28:25 +03:00
465da7aa9d v0.2.2 2023-12-04 12:58:37 +00:00
d4555f107e
fix(core): apparently re-export from tl
apparently due to some issue in vite `export *` from cjs module doesnt export shit
2023-12-04 15:40:17 +03:00
7a89e5049e
fix(client): save storage after each api call
idk might rollback later
2023-12-04 15:10:13 +03:00
72dd8f5b2c v0.2.0 2023-12-02 17:38:41 +00:00
0b2ae3aac6
fix: import compatibility with ts-node/esm
see https://github.com/TypeStrong/ts-node/issues/1934
2023-12-02 04:10:31 +03:00
c42c629475
feat(client): allow implicit storage usage 2023-11-30 23:53:33 +03:00
93ddc6a58c
chore!: do not default to MemoryStorage 2023-11-30 22:57:10 +03:00
8214750055
chore: deprecated json-based storages 2023-11-30 22:40:38 +03:00
1f53923dfc
feat(core): indexeddb storage 2023-11-30 22:20:16 +03:00
a36cdf1d20
test: run tests in browser 2023-11-30 00:20:37 +03:00
b25f9dddfa
feat!: support min updates
breaking: changed `ITelegramStorage` interface, changed tl schema a bit
2023-11-27 06:33:32 +03:00
48411323af
fix(core): fixes for highload bots 2023-11-25 18:15:34 +03:00
77c46736da v0.1.2 2023-11-17 15:27:10 +00:00
0d3c18b885
fix(core): some dumb null checks 2023-11-17 18:09:35 +03:00
4a027d5498
test(client): test coverage for client utils 2023-11-16 02:42:02 +03:00
484149eae9
test(core): more tests! 2023-11-14 04:37:00 +03:00
13be8482e0
refactor: moved test utils to @mtcute/test 2023-11-13 20:14:32 +03:00
9d12b715c7
chore: moved most configs to .config 2023-11-13 13:28:11 +03:00
08d3afadd8
test(core): more transport tests 2023-11-13 10:43:56 +03:00
6e3394316e v0.1.1 2023-11-12 16:36:12 +00:00
f525c12f83
fix: auth storage fixes
- .reset() no longer resets auth keys by default
- auth keys are stored immediately in sqlite
- update loop fixes for logout
- tests for sqlite storage

likely closes #13 (?)
2023-11-12 07:51:30 +03:00
8204dc86a4
chore: removed dispatcher dep from core (again), improved build script 2023-11-12 01:17:20 +03:00
964f47497c
chore(core): moved random to crypto provider, added tests for functions relying on rng 2023-11-12 00:36:00 +03:00
e31ecbd3d1
test(core): improved test coverage 2023-11-11 18:38:57 +03:00
96a443f8d3
test: moved to vitest from mocha/chai
damn vitest is so good
2023-11-09 00:20:43 +03:00
1abf35e30c
feat: basic test utils 2023-11-08 17:28:45 +03:00
18178b438d
feat(wasm): added sha1/256 to wasm, removed most of async in crypto 2023-11-08 00:53:15 +03:00
70f4e40ef5
chore: embraced native bigints 2023-11-06 02:28:35 +03:00
eec142f0e5
feat: wasm! 🚀 2023-11-04 06:44:18 +03:00
4c42304a79
build: extracted custom build config to packages themselves 2023-11-02 21:23:17 +03:00
e0f4b0d7b5
build(deps): removed @types/node and file-type 2023-11-02 19:40:14 +03:00
59c6ae4cbf v0.1.0 2023-11-01 19:56:23 +00:00
871f161694
docs: updated packages readmes 2023-11-01 14:05:45 +03:00
958f7ff81c
ci: release building 2023-11-01 01:03:49 +03:00
103901ed21
build: use workspace:^ to link monorepo deps 2023-10-31 20:55:56 +03:00
220b564d52
chore: set version to 0.1.0 2023-10-30 14:59:34 +03:00
73cd1e7dc9
docs: use @default jsdoc tag 2023-10-29 20:25:06 +03:00
fc42dcb973
feat: updated to layer 166 2023-10-29 08:14:00 +03:00
9791f8faae
docs: updated typedoc, added ci, fixed some docs 2023-10-27 14:25:21 +03:00
c061581abb
chore: various surface api improvements & fixes 2023-10-24 11:49:17 +03:00
21d7488788
fix(core): allow empty startgroup parameter 2023-10-23 19:17:04 +03:00
3d7004fda5
fix: exports 2023-10-23 18:51:24 +03:00
0054491665
feat(core): helpers for deeplinks 2023-10-22 23:42:10 +03:00
15c855df84
fix: more fixes for web 2023-10-21 01:42:27 +03:00
dafe631435
fix: migrated to web streams 2023-10-20 00:41:47 +03:00
Alina Tumanova
f5976a2d74
ESM + end-to-end tests (#11)
* feat: moved tl-runtime to esm and native ArrayBuffers

* feat: migration to esm

* fix(core): web-related fixes

* test: finally, some good fucking e2e

* chore: fixed linters etc

* ci: added e2e to ci

* build(tl): fixed gen-code on node 20

* fix: codegen Uint8Array, not Buffer

never `git reset --hard` kids

* build: only do type-aware linting for `packages/*`

* build: ignore no-unresolved in ci for e2e

* fix: node 16 doesn't have subtle crypto apparently?

* fix(tests): use Uint8Array

for gods sake please can i just merge this already

* ci: don't parallel tasks in ci

because machines are utter garbage and it may just randomly break

* ci: pass secrets to e2e tests

* ci: separate cli command for ci

apparently im retarded

* fix: run codegen in e2e

im actually retarded

* ci: more fixes for e2e

* ci: debugging stuff

* ci: still debugging

* ci: hopefully fix ci???
2023-10-16 19:23:53 +03:00
b5c7a6b90d
chore: change license to MIT 2023-10-12 07:26:26 +03:00
337418a34c feat: contexts 2023-10-11 08:42:37 +03:00
a03d73503a refactor: initial support for esm
also fixed all circular imports and added checking for them via dpdm
2023-10-11 08:42:37 +03:00
a6726ccb40 build(deps): bumped prettier to 3.0.3 2023-10-11 08:42:37 +03:00
85ca3b4603
feat: abort signals 2023-10-05 18:10:15 +03:00
ec55cb37f7
chore: export Long from core 2023-10-05 01:47:14 +03:00
e4e51f7d90
docs: fixed nbsp handling, updated to layer 165 2023-10-03 19:34:12 +03:00
544e5a68dc
feat: opt-in error reporting 2023-10-03 02:49:53 +03:00
82994408a2
feat: refactor some iterable methods to have non-iterable counterpart 2023-09-29 17:02:36 +03:00
dbcd3f0911
feat(tl): updated to 164 layer 2023-09-24 20:22:09 +03:00
e771e592fd
feat: assertTypeIsNot
closes MTQ-64
2023-09-24 02:40:41 +03:00
befbceaf8a
chore: changed prettier width to 120 2023-09-24 01:32:22 +03:00
976c25141c
refactor: move errors to core 2023-09-22 15:32:28 +03:00
7a6a30ea5c
chore: export core utils from @mtcute/core/utils 2023-09-21 13:18:09 +03:00
5a3b101c9f
chore: avoid using {}, use Maps instead 2023-09-19 01:33:47 +03:00
80d4c59c69
fix: lru map doesn't update links
closes #8
2023-09-18 19:40:09 +03:00
7bf63b2507
fix: dont export everything on first connection 2023-09-18 03:16:29 +03:00
aa863c6a2f
chore: added no-console rule 2023-09-07 22:25:50 +03:00
4b7d7d2e35
refactor: reworked errors codegen 2023-09-06 23:54:51 +03:00
81ce550604
chore: improved eslint config
closes MTQ-54
2023-09-03 02:37:51 +03:00
a679f364fd
fix: fixed upload and download for new networking 2023-08-23 23:49:47 +03:00
4a0d6fbc88
fix: fixed upload and download for new networking 2023-08-23 22:11:42 +03:00
85c43d804d
fix: client and updates fixes 2023-08-12 22:40:37 +03:00
2b1bac053e
feat: support for tmp_sessions 2023-08-12 18:26:46 +03:00
01d476d19a
feat: support for dc switches, session import/export, rpc sending 2023-08-11 23:59:24 +03:00
743058a020
fix: rebase fixes 2023-07-24 00:14:37 +03:00
eb585fc3f1
build: fixes after rebase 2023-07-24 00:14:37 +03:00
teidesu
0b4edbf70e
feat(core): update connection count and pfs usage on the go
holy shit i actually made it 🫣
2023-07-24 00:14:37 +03:00
teidesu
f68d83da06
feat(core): sync keys between connections, exclusive lock for auth
in other words, only one main connection does authorization, others wait
2023-07-24 00:14:37 +03:00
teidesu
bd5130c77b
fix(core): use existing auth_key from storage 2023-07-24 00:14:37 +03:00
teidesu
a23197df91
feat(core): (initial) support pfs 2023-07-24 00:14:37 +03:00
teidesu
c9a86c28f0
feat(core): support %h for non-buffer types in logger 2023-07-24 00:14:37 +03:00
teidesu
27d3058408
fix(core): destroy_session requests not being sent
i am actually retarded
2023-07-24 00:14:36 +03:00
teidesu
6eed69ad02
refactor: extracted auth key management to AuthKey class 2023-07-24 00:14:36 +03:00
teidesu
4f834afc6a
refactor: (initial) extracted connection management to NetworkManager 2023-07-24 00:14:29 +03:00
teidesu
76639d2993
fix(early-timer): rescheduling inside handler getting instantly reset 2023-07-24 00:13:44 +03:00
teidesu
4848c4e62d
refactor: extracted dc config management to separate class 2023-07-24 00:13:42 +03:00
6a2c5d90b7
fix: error on extra fields in TelegramClient#call + related fixes 2023-07-24 00:12:17 +03:00
6221a8716f
fix: handle vectors of primitives in rpc_result 2023-07-20 22:07:07 +03:00
d3338f6614
fix: build fixes + updated to 160 schema 2023-07-20 17:51:24 +03:00
d88bc0ea60
chore: code quality improvements
improved eslint config, fixed linter issues, added husky
2023-06-05 00:30:48 +00:00
0471310382
chore: better dependencies management
updated and pinned dependencies
added validation for external deps conflicts
removed tl-reference
2023-06-04 17:00:33 +00:00
c591f96b81
fix: local floodwait handler fix
im actually retarded lmao
2023-06-04 16:04:46 +00:00
teidesu
8df099fcb8 feat: updated to layer 150 2022-12-07 14:13:24 +03:00
teidesu
7d10e65ecc fix: properly handle peers without access hash 2022-10-30 20:25:49 +03:00
teidesu
89fd8e8ef0 feat(tl): updated schema to 147 2022-10-30 18:49:55 +03:00
teidesu
416b3d9ef9 refactor: exported string session parsing/serialization to a module 2022-10-09 20:49:39 +03:00
teidesu
8adb79511f feat(tl): updated layer to 146 2022-09-28 00:42:21 +03:00
teidesu
d0ea4ed5ca refactor: changed stylizing of the name (MTCute -> mtcute) 2022-09-14 16:18:56 +03:00
teidesu
77bfef98d1 feat: updated to 145 layer 2022-09-12 13:54:33 +03:00
teidesu
ea299cacca docs: improve documentation 2022-08-29 16:22:57 +03:00
teidesu
7b7fdc7092 docs: removed typedoc-plugin-coverage
it works like shit
2022-08-28 17:56:56 +03:00
teidesu
390b65f796 build(docs): api reference generation improvements
- added readme in each package
- updated typedoc, fixed related issues
- use @link instead of @see
- moved configs to typedoc.js, improved exclusion of unneeded stuff
- custom plugin for typedoc for cross-package references
- preparing to move documentation to separate repository
2022-08-24 23:37:26 +03:00
teidesu
b34a90ec30 build: updated layer to 144 2022-08-12 16:17:35 +03:00
teidesu
537b7d0462 feat(core): support overwriting existing session with session strings 2022-07-31 08:01:40 +03:00
teidesu
2a97616d80 fix(codegen): fixed typings codegen, added a test 2022-07-23 05:03:38 +03:00
teidesu
a3aca20099 build: updated name in package.json files 2022-07-18 23:32:11 +03:00
teidesu
715f4f8a68 fix(core): write buffers to log as trimmed base64 2022-07-10 01:11:24 +03:00
teidesu
e68c9f4bb5 refactor: prettier-ed code, rearranged imports, fixed tests 2022-06-30 16:32:56 +03:00
teidesu
fdcd9e0c5b fix(core): fixed orphan timer when multiple usable events are emitted 2022-06-30 15:56:58 +03:00
teidesu
1a60b39214 build: added script for bumping version with dependencies 2022-06-29 22:00:34 +03:00
teidesu
967c10b25c fix(core): never use ipv6 dc when not using ipv6 2022-06-28 23:13:56 +03:00
teidesu
2c3529870a feat(client): updated to layer 143
also fixed some minor bugs
2022-06-18 22:47:31 +03:00
teidesu
a864eacfd4 feat(core): added keylen and algo in pbkdf2 (attempt 2, i am retarded) 2022-06-12 19:29:38 +03:00