Commit graph

237 commits

Author SHA1 Message Date
8965273172
test(dispatcher): some tests 2023-11-19 04:30:16 +03:00
77c46736da v0.1.2 2023-11-17 15:27:10 +00:00
dbe5ff190e
fix(dispatcher): allow empty filter in callback data builder 2023-11-16 02:42:02 +03:00
9d12b715c7
chore: moved most configs to .config 2023-11-13 13:28:11 +03:00
6e3394316e v0.1.1 2023-11-12 16:36:12 +00:00
8204dc86a4
chore: removed dispatcher dep from core (again), improved build script 2023-11-12 01:17:20 +03:00
96a443f8d3
test: moved to vitest from mocha/chai
damn vitest is so good
2023-11-09 00:20:43 +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
0ef2eeb082
fix(dispatcher): reset state when entering another scene 2023-10-29 16:58:47 +03:00
fc42dcb973
feat: updated to layer 166 2023-10-29 08:14:00 +03:00
fdec2b8621
fix: improved surface api 2023-10-29 00:48:37 +03:00
9791f8faae
docs: updated typedoc, added ci, fixed some docs 2023-10-27 14:25:21 +03:00
f3609fedca
fix: tests 2023-10-26 23:54:04 +03:00
022481966b
refactor(dispatcher): improved surface api 2023-10-26 22:22:40 +03:00
c061581abb
chore: various surface api improvements & fixes 2023-10-24 11:49:17 +03:00
c3d954f334
fix(dispatcher): state fixes + better wizard interface 2023-10-23 11:43:24 +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
c7d82d41f0
feat: message groups 2023-10-06 01:47:45 +03:00
7abcc6188a
feat: stories and boosts
closes MTQ-51
2023-10-04 19:26:21 +03:00
7ff433ed0a
refactor: import tl from core/client, not tl 2023-09-24 03:37:34 +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
6e8351ac01
refactor: extracted dispatcher filters into multiple files 2023-09-21 14:48:08 +03:00
7a6a30ea5c
chore: export core utils from @mtcute/core/utils 2023-09-21 13:18:09 +03:00
81ce550604
chore: improved eslint config
closes MTQ-54
2023-09-03 02:37:51 +03:00
754a288c87
fix: fixes after layer bump 2023-07-20 19:01:34 +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
teidesu
8df099fcb8 feat: updated to layer 150 2022-12-07 14:13:24 +03:00
teidesu
70b09903f1 feat(client): support pre-checkout queries 2022-10-30 20:51:50 +03:00
teidesu
89fd8e8ef0 feat(tl): updated schema to 147 2022-10-30 18:49:55 +03:00
teidesu
8adb79511f feat(tl): updated layer to 146 2022-09-28 00:42:21 +03:00
teidesu
443786a35b build: fixed build for client and dispatcher packages 2022-09-12 19:50:39 +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
eaa517a5c3 feat(client): support custom emojis 2022-08-18 19:52:24 +03:00
teidesu
b34a90ec30 build: updated layer to 144 2022-08-12 16:17:35 +03:00
teidesu
a3aca20099 build: updated name in package.json files 2022-07-18 23:32:11 +03:00
teidesu
e68c9f4bb5 refactor: prettier-ed code, rearranged imports, fixed tests 2022-06-30 16:32:56 +03:00
teidesu
f2eb033e91 fix(dispatcher): fix not dispatching to children
i dont fucking know why that code didn't work, i hate js
2022-06-30 16:24:13 +03:00
teidesu
2c3529870a feat(client): updated to layer 143
also fixed some minor bugs
2022-06-18 22:47:31 +03:00
teidesu
e0d1102408 fix(tl): bumped minor version 2022-06-05 23:05:15 +03:00
teidesu
0633d0a817 fix(dispatcher): handlers without filters 2022-05-14 21:38:41 +03:00
teidesu
9034810ccd tl: updated to layer 142 2022-05-14 20:30:36 +03:00
teidesu
63d0ea2ddf feat(client): support join requests 2022-05-09 17:25:38 +03:00
teidesu
e187f8697e feat(filters): filter by sticker type 2022-05-06 20:02:54 +03:00
teidesu
9543f64558 feat(client): sticker choosing typing event
also prettier fucked everything up, fixed that
2022-05-06 17:53:44 +03:00
teidesu
252f94a594 fix(dispatcher): implemented userId filter
it got commented out when migrating to 64-bit ids, then i moved to using native numbers for them and forgot to update the filter
2022-05-06 13:56:15 +03:00
teidesu
a7e866f3eb refactor: assertNever util, use it in most places
haven't used it in some just yet because not everything is implemented (particularly, newer attachment types, typings, admin events, etc.)
2022-05-06 13:50:30 +03:00
teidesu
a1ea1315df tl: updated to layer 140 2022-04-28 17:23:44 +03:00
teidesu
2289cc690d build: migrated to pnpm, updated and cleaned up deps 2022-04-28 16:58:09 +03:00
teidesu
9493759572 build: updated to layer 139
didn't add any new layers' features, only bumped layer
2022-04-01 22:17:10 +03:00
teidesu
ec736f8590 some changes
i've been wanting to name a commit like this for my entire life, lol. seriously though, a lot has changed:
 - extracted TL-related stuff to `@mtcute/tl-utils` and `@mtcute/tl-runtime`, rewrote codegen in TS
 - updated to layer 134, moved to int64 identifiers
 - rewritten networking (mtproto), rewritten updates handling
 - *lots* of refactoring

 still a very early version though, there are a lot of improvements to be made, but at least it runs, lol

 also tl-reference will not be updated anytime soon because i want to rewrite it
2021-11-23 00:03:59 +03:00
teidesu
9b5ca0cb2a refactor: improved logging, moved to custom logger instead of debug 2021-08-14 12:57:26 +03:00
teidesu
4b22ee5b25 rename back to mtcute
idk lol
2021-08-05 20:38:24 +03:00
teidesu
6be71c3572 feat(client): support updateBotStopped 2021-08-04 13:23:39 +03:00
teidesu
a8d3543e64 build: preparing for publish, moved to strict typescript, fixed some stuff 2021-07-30 17:40:50 +03:00
teidesu
2f1c8548a0 build: renamed to mtqt 2021-07-25 21:03:40 +03:00
teidesu
3b523598ad build: changed license to lgplv3 2021-07-19 03:57:47 +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
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
5b9ddc1f7b refactor(dispatcher): UpdateInfo<...> to ParsedUpdate 2021-07-14 22:34:03 +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
77d597e4db feat(dispatcher): history read update
also fixed imports/exports
2021-07-09 19:41:02 +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
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
8b6d587399 fix(client): improved own username handling 2021-07-05 17:26:30 +03:00
teidesu
82db8453fc feat(dispatcher): basic middleware functionality 2021-07-03 16:42:41 +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
2220371efd feat(dispatcher): conditional error propagation to client 2021-06-27 23:59:04 +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
090f42e559 build(tl): updated to layer 130 2021-06-26 17:13:13 +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
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
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
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
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
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
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
7a0de134ba feat(dispatcher): local error handling 2021-06-07 23:59:17 +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
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
a0294b9a64 feat(dispatcher): fsm and scenes 2021-05-27 01:02:31 +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
e6e28399b0 refactor: prefer switches over ifs when possible 2021-05-16 14:32:36 +03:00
teidesu
803daecdf3 feat(dispatcher): deleted messages update 2021-05-16 13:06:26 +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
46973c4830 fix(dispatcher): fixed field names because webstorm sucks 2021-05-11 22:34:13 +03:00
teidesu
d8cd13fd60 refactor(client): use ReadonlyArray for getter return types 2021-05-11 22:02:00 +03:00
teidesu
0f1edcfcf7 refactor: use UsersIndex and ChatsIndex types instead of bare record types 2021-05-11 21:46:59 +03:00
teidesu
db0d5f51e4 feat(dispatcher): filtering for service messages, by chat type and for text-only msgs 2021-05-10 17:30:05 +03:00
teidesu
cb01d8250e feat(client): renamed inputMediaTl to inputMedia and added it to every kind of media
also fixed imports/exports
2021-05-08 17:53:59 +03:00
teidesu
002d949a13 feat: user status and typing related methods and updates 2021-05-08 16:35:25 +03:00
teidesu
d36c1781bd feat(dispatcher): support poll related updates
also fixed a few type and export issues, and changed poll option generation to match tdlib and others
2021-05-07 15:37:17 +03:00
teidesu
6db771e3da feat(client): a lot of changes
- support web documents
 - support previews for locations
 - unify media interfaces, merge everything into sendMedia
 - support invoices, polls, venues (both sending and receiving)
2021-05-07 14:26:29 +03:00
teidesu
00c308dca7 feat(dispatcher): support more types in regex filter, inline filter for callback queries 2021-05-05 02:05:27 +03:00
teidesu
1fb7057866 feat: support callback queries 2021-05-05 01:50:04 +03:00
teidesu
95f6515340 fix(dispatcher/codegem): added @internal mark, also removed console log call 2021-05-05 00:45:09 +03:00
teidesu
1c1aed147a refactor(dispatcher): codegen for update types
i'm just too lazy to be bothered with pasting that. also, i forgot to implement builder for editMessage, teehee~
2021-05-05 00:43:35 +03:00
teidesu
23dcc4c1e5 feat: support for chosen inline query results 2021-05-04 14:07:40 +03:00
teidesu
3336f295ee feat: basic inline queries support (only articles for now) 2021-04-28 23:00:51 +03:00
teidesu
8bb23cd464 feat(dispatcher): chatMemberSelf filter 2021-04-27 20:42:23 +03:00
teidesu
fa3c719312 feat(dispatcher): support chat member updates 2021-04-27 20:31:04 +03:00
teidesu
70c01a62a3 refactor(updates): extracted dispatcher to own package, fixed various update related bugs 2021-04-23 22:35:37 +03:00