Age | Commit message (Collapse) | Author |
|
|
|
STANDARD)
|
|
|
|
|
|
|
|
|
|
|
|
Simplify attachments extension code
Add exception catcher to catch any errors during startup
Change remove several non-really-supported XMPP Extensions
Start rewriting the transport to work with API v5.42
|
|
Add hash attribute to caps (sha-1), plus mod_iq_disco was modified to answer disco requests which are asked with it's node
Move setConfig out of the Chat class
Prevent the user copy (vk ghost) from joining the chat
Prevent inviting the user to the chat if they're already in
Use http://jabber.org/protocol/muc instead of gc-1.0
Fix re-registration without removing the old one
Remove I am a ghost option to not confuse users
Change http links to https ones
Use message type normal when answering to the captcha command
|
|
Add parser for “url” attachment
Fix stickers sending
|
|
Fixed messing up messages in a groupchat
Fixed XHTML-IM for groupchats and private chats
Added cache for user information requests, which will make transport use less API requests
Fixed users' fall-out from Poll
Added ability to use message's body from the poll answer without an extra request
Added MORE poll debug
Fixed crashlog writing in longpoll.py
Fixed exception when user had no attribute “vk”
Fixed messing up users settings when they used different letter case
Added a logline parameter to the APIBinding class which will make debug easier
Added debug for slooooooooow requests
Extended global message feature. Now it's like the servers' one
Fixed token checking
Fixed error when transport sent offline presences to users with several resources
Added sticker sending (XHTML-IM)
|
|
|
|
VK class
New logic in mod_iq_register
Overall code quality changes.
|
|
The most hard thing was rewriting the core and modules to follow PEP8
guidelines. Still not complete. And will not be completed.
Changed config defaults (especially port and pidFile fields)
New config option: RUN_AS to run the transport as a specified user (root
access required, I think). Plugin variables removed as well.
Parts of the code in core was split into the modules: defaults (for
default variables), settings (for user/transport settings), longpoll
(for longpoll, obviously), utils (for cross-module used functions)
Removed unneeded API-call in avatar_hash plugin. Now we hash all user's
friends avatars
Removed plugin-specific variables from the core.
Fixed watcher messages
The code of vkapi module (APIBinding class) was split into a
PasswordLogin and APIBinding classes.
New error handling by vkapi: if it receives “too fast” error, it
increases waiting timeout for 0.05 sec until it'll be fine
Brand new API for modules
In conclusion, I can say that the transport has gone through a huge code
cleanup process. I cleaned up especially the core, library and modules.
Well, you can see the diff anyways.
Meet a brand new VK4XMPP v3.0
And I really hope it will be the last commit. Really, it's enough, I'm
done.
|
|
Fixed user deletion in user_activity
Fixed a typo in groupchats.py
|
|
groupchat”
New option in transport settings: Transport now can automatically call a Dalek to exterminate user when they leave a chat
New plugin: interpreter; replaces mod_msg_main features: eval and exec. Now you can disable such commands for better security
|
|
Added new events: 08 and 09 (see plugin .example.py for more information)
Replaced code “with Database(...” by runDatabaseQuery()
Added last_used timestamp for groupchats
Added inactive groupchats exterminator
Groupchats are now kept in the database, so nothing will be missed or messed
As groupchats are now in the database, the function that was calling for Daleks to exterminate a chat was completely rewritten, so now Daleks don't have to exterminate any VK administrator to find out the groupchat owner
TransportFeatures and UserFeatures was cleared in the kernel and now they must be filled by modules and extensions
Added "force_vk_date" to user's settings to force VK timestamp for messages
A brand new Module Loader that allows you easy to load, unload and reload any module
A bit of optimizations for html unescape
As there are new events: 08 and 09, the Watcher now is a plugin
Kilobytes replaced by Megabytes in stats
Fixed exec command, now it execs the code in the main globals()
|
|
Fixed TypeError in groupchats.py in users list update
Fixed retrying of groupchats creation in groupcahts.py (now it shouldn't start dozens of threads)
Same as in groupchats as described in the line above fixed the same error in statustovk.py extension
Fixed fake user deletion after captcha challenge was completed by a user
Fixed transport freeze while working in longpoll
Fixed transport freeze while sending a message or handling any method in the main thread
Added feature to unload any module
Vcard requests will be highly limited for the transport stability and such
Most of the handlers were switched to threaded mode
|
|
Fixed formatting error somewhere in groupchats.py
Little core refactoring. Still trying to figure out why the hell the transport freezes
sometimes.
Updated locale, a little
Fixed #82 ("VK" object has no attr[..]; not tested, but should work fine)
Fixed #83. Transport was completely untied from simpleapps.ru. Feel free to make your own
registration url
Fixed #84. Password registration should work fine now
|
|
groupchats logic improvements, removed trailing spaces, unused variables, etc
|
|
|
|
Details:
* Attachments in forwarded messages is now have spacer just like text
* Fixed zero-id error in groupchats (lol, how many times it was fixed)
* Probably fixed error when user has handled when he was offline (not in Transport dictionary)
* A little code cleanup in captcha_forms.py, mod_iq_register.py and other files
* Extended groupchats debug. There was no jids for whom groupchats were created
* Added priority for ujson usage instead of simplejson (it faster)
* Fixed a little typo in runThread() and also added 3 retries
* Forced "account.setOffline" method call, because it wasn't called at all
* User will be deleted from database if record exists (now i wonder why i did it)
* Fixed socket.timeout in utils.getLinkData (vk, i "love" you!)
* Extended xmpp.DataForms() support in utils.buildDataForm()
* Fixed AttributeError() in mod_xhtml
* A little translations fixes
Well, that's a really huge list for project that not-supported-anymore, but project should NOT have errors when
it development is stopped.
|
|
Let's look what have i done:
* implemented adhoc (it really works!).
** Features:
*** admin: global message, user deletion, online/all users list,
*** user: user can turn off groupchats handling, user can allow transport to publish his status text in VK (NEW TOKEN NEEDED)
* user/admin features in adhoc
* increased extensions features (status change, user online/offline)
* added avatar hashes which is now is optional feature (extension, configurable, look new config)
* smart registration: whatever user change (get token automatically or not) transport will "understand" what user want to do
* new settings which is could be added by extensions will be hooked in adhoc automatically (look extensions/status-to-vk.py for example)
* VK.com access number is now exists as global variable VK_ACCESS which could be changed by plugins as well
* transport will notify user if registration by password was failed by captcha or other things
* registration link now contain hash ("#") which is mean access rights
|
|
Groupchat fixes: duplicate user was needed to know to whom the message was sent, now user replaced by
TransportID
api timeout fixes
registration fix
|
|
|
|
Most of functions working with VK or operates VK datas moved in VK class
Fixed issue when disco was handled before other handlers
Something else?
Fixed #29
|
|
API advanced logging
forwarded messages fix
|
|
Fixed crash on urn:xmpp:receipts
|
|
Deleted all handlers and now they're separately stored in the modules directory
Added js sources which transport uses instead of local handling
Fixed couple typos in translations
Forward messages now have things called "spacers" in start of line
Users is now handling in separate threads
And there are more changes...
|