gogram icon indicating copy to clipboard operation
gogram copied to clipboard

TODO List

Open AmarnathCJD opened this issue 1 year ago • 14 comments

  • [x] logging fixes (properly inherit levels across cache,mtproto,dispatcher and client loggers), color fix
  • [x] cache some mis issue on .Min and channel ig, code below.
  • [x] cache disable completely option
  • [x] fix missing caches thingy often reported
  • [x] add cache config, to impl properly
  • [x] make sure all peers go into cache
  • [x] #168
  • [x] revamp button building
  • [x] Telethon to gogram session
  • [x] pyrogram to gogram session
  • [x] full Ipv6 support (dc4 ipaddressv6 is not reachable) (tg side issue)
  • [x] file dl/ul - fix, stablize
  • [x] fix GetDC() returning wrong dc
  • [x] update to layer 195
  • [x] progress bar - fix
  • [x] memory leak maybe, fixed, killing all open connections after use (fixed)
  • [x] progress bar, check it again
  • [x] #171
  • [x] documentation website here
  • [x] fix generated tl files, doc strings (i.e, remove htmls etc)
  • [x] reqPqMuti mtproto internal method added for cdn dc rsa fingerprint
  • [x] connect to cdn dc, add rsa keys.
  • [x] cache issue channel, user objects sometimes not readded because their input peers are present
  • [x] ForceFile option ignored (fixed)
  • [x] update calls and group video call examples
  • [x] Iter (dialogs|messages|history|participants) custom methods
  • [x] fix get (dialogs|messages|history|chatmembers) methods to support the limts,etc and not only first 100/200
  • [x] cache lockout issue on file read error (fixed)
  • [x] add logger color customisation config
  • [x] advanced logging, with custom interface support too
  • [x] wa (webassembly) support maybe? (ws), done, but need sm more atches, like prevent file ops
  • [ ] (?) maybe unnessary - but write metadata to downloaded vids
  • [x] reconnect timeout ?? (Logs Below) (done)
  • [~] high load update gap? (maybe need to qts pts) (70% done)
  • [x] conversations handler hanging whole update system
  • [x] priotity and grouping for handlers (revamped)
  • [x] media metadata parsing without ffmpeg
  • [x] replace all math/rand with crypto/rand
  • [x] edit message with empty caption
  • [x] fix memory leaks due to requests being stuck forever
  • [x] custom dialog type for easy itering of dialogs
  • [x] add method name for Flood logs to identify
  • [x] enhance peer caching with debounced file r/w and username support #252
  • [x] concurrent map r/w issue fix #254
  • [x] add file size too in custom botfileid to make possible use fileid for filedownload
  • [x] remove forced ^ handler prefix
  • [x] tcp state enhancement to better wait till conencttion is established
  • [x] mtproxy support (done)
  • [x] faketls
  • [x] websocket connection type
  • [x] obfuscated transport
  • [ ] perfect forward secrecy (almost done)
  • [x] e2e chats
  • [x] wasm support
  • [x] upload and downlaod file there is something still unstable related to progress ig
  • [x] revamp progress bar of files
  • [x] calc curr speed instead of avg speed
  • [x] reconnection of sender connections (added ping)
  • [x] play live stream, support using rtml and ffmpeg
  • [x] qr login support, in terminal, with no external libs hopefully
  • [x] revamp authprompt nd qr auth, to be more robust and clean
  • [x] cache able to pass databse or custom persistent storage
  • [x] bind cache to specific userid
  • [x] fix mtproxy not working for some newer types.
  • [x] implement paddedIntermediate type transport mode
  • [ ] mtproxy obf put new hk_lm level obfuscation for client hello
  • [x] End to end encryption support.
  • [x] End to end files sending
  • [x] there is issues with reconnect logic, check
  • [ ] context timeout exceeded on RPC calls, check.

AmarnathCJD avatar Nov 08 '24 06:11 AmarnathCJD

d, err := client.GetDialogs(&tg.DialogOptions{
	Limit: 500,
})
for _, v := range d {
	switch dx := v.(type) {
	case *tg.DialogObj:
		peer, err := client.GetSendablePeer(dx.Peer)
		if err != nil {
			client.Logger.Error(err)
			continue
		}

		switch peer.(type) {
		case *tg.InputPeerChannel:
			channel, _ := client.GetChannel(peer.(*tg.InputPeerChannel).ChannelID)
			client.Logger.Info(fmt.Sprintf("Channel: %s", channel.Title))
		case *tg.InputPeerChat:
			chat, _ := client.GetChat(peer.(*tg.InputPeerChat).ChatID)
			client.Logger.Info(fmt.Sprintf("Chat: %s", chat.Title))
		}
	}
}

FIXED

AmarnathCJD avatar Nov 30 '24 18:11 AmarnathCJD

2024/12/16 09:03:36 [error] gogram [mtproto] {pbot} - reconnecting: recreating connection: creating transport: setup connection: dialing tcp: dial tcp 91.108.56.104:443: connect: connection timed out
2024/12/16 09:05:51 [error] gogram [mtproto] {pbot} - creating connection: creating transport: setup connection: dialing tcp: dial tcp 91.108.56.104:443: connect: connection timed out
2024/12/16 09:05:51 [error] gogram [mtproto] {pbot} - reconnecting: recreating connection: creating transport: setup connection: dialing tcp: dial tcp 91.108.56.104:443: connect: connection timed out

AmarnathCJD avatar Dec 27 '24 10:12 AmarnathCJD

topic support in sendmessage (done) cheeck wait event of conversation (working)

AmarnathCJD avatar Jan 27 '25 19:01 AmarnathCJD

errors on nil type in rawHandler, got when adding WaitEvent Onclick etc, investigate further, it sometimes hangs the whole client btw

so critical.

AmarnathCJD avatar Nov 11 '25 18:11 AmarnathCJD

@AmarnathCJD hey, can i get log about :

" reconnect timeout ?? (Logs Below) (done) [~] high load update gap? (maybe need to qts pts) (70% done)"

Maybe I can take a look

ohmyarthur avatar Nov 15 '25 08:11 ohmyarthur

@AmarnathCJD hey, can i get log about :

" reconnect timeout ?? (Logs Below) (done) [~] high load update gap? (maybe need to qts pts) (70% done)"

Maybe I can take a look

" reconnect timeout ?? (Logs Below) (done) - this is fixed

[~] high load update gap? (maybe need to qts pts) (70% done)" this one is that UpdatesTooLong and ChannelUpdatesTooLong bascially getdiffand get channel diff implkmentation. https://github.com/AmarnathCJD/gogram/blob/960f365345e0216bbbd2f927edbe4ca4b78ea14e/telegram/updates.go#L1665

needs a high load bot or a bigspammy channel to test ig

AmarnathCJD avatar Nov 15 '25 08:11 AmarnathCJD