Commit graph

103 commits

Author SHA1 Message Date
bb7baf263b
refactor(core)!: extracted some of the default behaviour into middlewares
breaking: global `floodSleepThreshold` and `maxRetryCount` are now configured via middlewares:
```ts
const tg = new TelegramClient({
  network: {
    middlewares: networkMiddlewares.basic({
      floodWaiter: { maxWait: 5000, maxRetries: 5 },
      internalErrors: { maxRetries: 5 }
    })
  }
})
```
2024-07-16 23:30:05 +03:00
c5438a2f29
feat(core): outgoing request middlewares 2024-07-16 23:00:02 +03:00
d4d3f1becc
chore(core): improved error logging 2024-07-12 17:54:52 +03:00
aa604e4d98
chore(core): lowered default log level to warning 2024-07-08 13:55:39 +03:00
c667399b4d
refactor(core): monadic internal handling of rpc errors 2024-07-06 22:10:05 +03:00
28b2efbb08
fix(core): round value in randomBigIntInRange 2024-06-27 23:44:32 +03:00
85f6610e09
fix(core): fixed some dangling timers 2024-06-25 00:01:49 +03:00
0b57a7be51
feat(core): initial chatlist support 2024-06-02 18:27:48 +03:00
c5d115f088
chore: use target=es2022 with useDefineForClassFields=true 2024-04-14 22:18:53 +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
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
852bc10629
fix(core): session import/export
closes #17
2024-02-22 15:22:22 +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
809e794816
test: added factorization tests 2024-02-08 04:10:09 +03:00
27e14472ff
feat: app config manager 2024-02-05 01:44:51 +03:00
ac3b5df9a0
refactor!: renamed MaybeAsync -> MaybePromise 2024-02-03 21:56:44 +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
02a6a0e133
fix(core): proper exit cleanup in json file 2023-12-19 02:24:19 +03:00
712c1e8348
fix(client): added true assertions to methods returning Bool 2023-12-16 19:00:13 +03:00
d1e4a15f81
feat(core): requests chaining 2023-12-11 00:07:41 +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
13be8482e0
refactor: moved test utils to @mtcute/test 2023-11-13 20:14:32 +03:00
08d3afadd8
test(core): more transport tests 2023-11-13 10:43:56 +03: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
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
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
0054491665
feat(core): helpers for deeplinks 2023-10-22 23:42:10 +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
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
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
e771e592fd
feat: assertTypeIsNot
closes MTQ-64
2023-09-24 02:40:41 +03:00