Commit graph

10 commits

Author SHA1 Message Date
annelin 4dfd278a39 Release 2.0.0
! Backward compatibility with old sessions file (sessions.db) is broken due to planned config variables in future. New format is:
 :sessions
   jid@server
     :login: '1234567890'

— Huge code refactoring and readability improvement
— Removed XMPP features jabber:iq:register (will now try to log in after subscription request) and jabber:iq:gateway (since it does not working on foreign servers?)
— Reworked application logic — now code in `xmppcomponent.rb` only used to XMPP jobs and `telegramclient.rb` aims Telegram.
  Because of that, commands like /login /code /password are moved out to `telegramclient.rb` and now are parts of internal command to gateway (chat id 0)
— Reworked /chat and /gateway command list — please, just send /help to gateway or any active chat.
— Improved stability (I hope so...)
— Any other small (and not only) unlisted and forgotten changes..
2019-08-08 13:51:33 +03:00
annelin da2de42645 Release 1.2
[!] Using YAML serilaization instead of sqlite3. You may convert your SQLite db to YAML format using this:
    (echo "---"; sqlite3 users.db 'select jid,login from users'|sed "s/|/: \'/g;s/$/\'/g") > users.dat

[FIX] Fixed repllies
[UPD] Sending presence probe after disconnect received — maybe there are another XMPP resource? ☺
[UPD] When XMPP user goes online if Telegram session already established -- resync statuses with Telegram network to get all contacts online immediately
2019-06-11 16:24:44 +03:00
annelin b160e6f2ff Release 1.1
Now reading messages instant (if we're online), otherwise we will got duplicate updates.
Code optimizations and simplifications.
Added missing dependency (fileutils)
2019-05-31 14:30:25 +03:00
annelin dc615f977c Release 1.0.
[NEW] implemented XEP-0030 (Service Discovery) — you can now see transport in service discovery
[NEW] implemented XEP-0077 (In-Band Registration) — now you can also start session from GUI Jabber client
[NEW] implemented XEP-0100 iq:jabber:gateway — you can now add Telegram contact from your GUI Jabber client
[NEW] implemented presence cache. now sending presences once a minute to prevent presence flooding
[FIX] fixed online presence after establishing telegram session and offline after disposing session
[FIX] won't use tdlib message database anymore, implemented our own messages cache
[FIX] show "chat created" message correctly
[FIX] fixed /info command
[FIX] fixed closing secret chats
[UPD] now you can start secret chat directly by sending /secret to contact
[UPD] /debug renamed to /info, now shows active sesions, removed memory profiling as it does not helps
[UPD] removed main loop (but still shutting down correctly) — use systemd etc. to restart transport correctly
2019-05-07 22:22:26 +03:00
annelin 88c7eb09da Release 1.0-beta1. Some more tests and here we go..
Warning! It is beta software and it has not been tested thoroughly.

[UPD] Code restructurization. Removed unneccessary XMPPSession class.
[UPD] Recuded memory consumption.
[UPD] Seems like memory leaks fixed too, need test a bit longer
[UPD] Now running in forever-loop, use double Ctrl+C to quit
[ADD] Admin commands /sessions, /debug and /restart
[ADD] New config parameters: xmpp->debug to print XML stream and xmpp->admins[] to give access to above mentioned /commands
[ADD] We can now use memory profiler to get detailed memory usage information: run application with --profiler key (and also gem install memprof2) (yes, fucking leaks...)
[FIX] Fixed secret chat closing (I hope so...)
2019-05-04 23:17:29 +03:00
annelin 61a42e63b4 Release 0.9
[UPD] Now gracefully closes all Telegram and XMPP connections when SIGINT received.

I do not fucking know how to deal with memory leaks in Ruby. I tried literally everything.
Unloading TD class, forcing garbage collection, et cetera — nothing helps, it just runs a gig in two days.

So, now we have to kill -INT our transport every... six hours, for example, and monitor/reconnect (for example with systemd).
Fuck ruby & tdlib. Hate.
2019-05-04 05:40:02 +03:00
annelin 12191222b0 Release 0.4
[NEW] vCard support
[UPD] improved overall stability, no longer use threads
[UPD] no longer using tdlib messages and chats database — now correctly /leaving chats
[UPD] removed /info command because of vCards support
2019-04-13 17:42:56 +03:00
annelin 714d9b4f41 Release v0.2
[FIX] fixed code/password forever waiting
[UPD] now completely removing session (from fs too) when /logout
[UPD] most of log messages moved to debug
[UPD] updated help message
2019-04-09 09:42:42 +03:00
annelin 857e8bd202 Release v0.1
[+] New config options (see config.yml.example)
[+] Storing transport sessions in sqlite db
[+] Auto connecting if we have stored session JID that came online
[+] Auto disconnecting when JID going offline
[+] Roster and status synchronisation with Telegram contact list
[+] Added Edited and Deleted Messages support
[+] Add Files (Audio, Photo, Documents, Stickers) support
[+] Added incoming text formatting with MSG ID, user names and login
[~] Some new config options (see config.yml.example)
[~] Some code refactoring
2019-04-07 14:58:07 +03:00
annelin 08540206f0 Renamed files and libs
Added config file (config.yml)
Changed logger implementation
Correct Telegram session terminating
2019-04-06 10:29:48 +03:00