Commit Graph

14603 Commits

Author SHA1 Message Date
Yann Leboulanger 9ec14d35cb add .gitlab-ci.yml 2017-08-09 22:04:47 +02:00
Yann Leboulanger b5c3b15c0f Fix running tests 2017-08-09 21:05:45 +02:00
Philipp Hörist c57af6dade Retract nickname from pubsub correctly 2017-08-08 19:58:20 +02:00
Philipp Hörist f3bdb596bd Refactor remove_roster()
- Execute as script to save roundtrips
2017-08-08 18:53:25 +02:00
Philipp Hörist 10b0865291 Refactor set_room_last_message_time()
- Dont depend on get_jid_id(), this saves roundtrips
2017-08-08 18:22:29 +02:00
Philipp Hörist c53e2b1bb9 Dont try to insert if JID is already in DB
- This is added because even an ignored INSERT raises the
autoincrement value of the table.
This means the jid id gets high really fast.
2017-08-08 18:22:29 +02:00
Philipp Hörist f88e8d835b Remove old DB methods 2017-08-08 18:22:29 +02:00
Philipp Hörist 25a764a656 Port logging incoming messages to new DB API 2017-08-08 18:22:23 +02:00
Philipp Hörist 8c920b35ff Move logging GC messages into connection_handlers
- It should be where all other message received handlers are
- Port to new DB API
2017-08-08 15:24:41 +02:00
Philipp Hörist 608655deed Use new DB API for logging status and errors 2017-08-08 14:41:55 +02:00
Philipp Hörist 635ce52856 PluginManager: prefer plugins in user path
As we always load plugins from the user path first, we should not
reload them later from Gajims plugin base dir
2017-08-07 20:02:03 +02:00
Philipp Hörist 7e0e4cced0 PluginManager: remove plugin path from sys.path
Remove plugin path from sys.path after importing.

If we scan multiple plugin dirs and never remove the path from
sys.path, it is hard to predict from which path python will import
a package.

The chance that the same plugin package is in multiple plugin paths
is high.
2017-08-07 19:28:54 +02:00
Philipp Hörist 413c7f52d7 Add senders attr to Jingle FT
This is a MUST see https://xmpp.org/extensions/xep-0234.html

Fixes #8662
2017-08-07 17:41:32 +02:00
Philipp Hörist 1eeb53bee6 Use correct file date on Jingle FT
- XEP-0234 demands UTC
- we missed the 'Z' at the end
- simplified the code
2017-08-07 13:34:23 +02:00
Philipp Hörist a2e2fb2ed1 Remove useless code
Simplify whats left
2017-08-02 23:40:55 +02:00
Philipp Hörist 9d2898bb35 Log sent messages with new logger method
- also save stanza id to the DB
2017-08-02 23:34:24 +02:00
Philipp Hörist a01611178d Logger: dont try to parse None with json 2017-08-02 21:32:59 +02:00
Philipp Hörist 0c6002b9ac Zeroconf: handle only zeroconf messages 2017-08-02 21:03:12 +02:00
Philipp Hörist e2d61012c6 Windows Build: compile GLib schemas 2017-08-02 20:13:35 +02:00
Philipp Hörist 97f6b84b90 Remove old unused code 2017-08-02 19:24:09 +02:00
Philipp Hörist 4247746c36 Bookmark Window: Make it resizable 2017-08-02 19:16:08 +02:00
Philipp Hörist f1a29fcb6a About Dialog: Update Copyright 2017-08-02 18:59:21 +02:00
Philipp Hörist 6f3c21118f Stay compatible to python 3.4
Fixes #8690
2017-08-02 18:57:02 +02:00
Philipp Hörist bc7ce12932 Merge branch 'logger' into 'master'
New logging methods and more MAM refactoring

See merge request !112
2017-08-01 23:09:22 +02:00
Philipp Hörist 651611b28b Improve timestamp usage for MAM
- Use new parse_datetime() method
- Drop message with error if MAM doesnt supply a timestamp.
- If the user supplys an own timestamp, save it so we can decide in the
future how to display it.
2017-08-01 21:43:28 +02:00
Philipp Hörist e24d4f8caf Fix receiving MAM Messages from ourself
This is a regression from the refactoring
2017-08-01 21:39:11 +02:00
Philipp Hörist 1f5e927ca6 Use new DB methods for MAM Messages
- also push a new MamDecryptedMessageReceived
event after disco instead of writing directly to the DB
2017-08-01 21:39:11 +02:00
Philipp Hörist 16fd64873e Add new logger methods
Goal is to make the logger module easier to maintain in the future

- extract deduplication out into a own method, so we can use it
on its own in some other places.

- add new insert_into_logs() method
the DB fields we want to write to are passed as arguments, this makes
it so we dont have to change the method when we add or remove DB fields
in the future.

- instead of using get_jid_id() all around gajim to get the jid_id
before we write to the DB, we only have to pass the jid to
insert_into_logs(), it makes sure to get the correct jid_id or add
one in case it doesnt exist.
2017-08-01 21:39:06 +02:00
Philipp Hörist 6925ce0628 Merge branch 'master' into 'master'
Add a new XEP-0082 parsing method

See merge request !111
2017-08-01 20:57:15 +02:00
Philipp Hörist 0fee27928d Add a new XEP-0082 parsing method
This handles every possible XEP-0082 timestamp

It has some additional options:

- Check if a timestring is a valid UTC timestamp, as required by some
XEPs (for example: XEP-0203)
- Return timestamp as datetime in UTC
- Return timestamp as datetime in localtime
- Return timestamp as epoch
2017-08-01 20:53:00 +02:00
Yann Leboulanger 63112d394e Add Catalan translation file 2017-08-01 14:05:53 +02:00
Philipp Hörist e493606070 Fix typo 2017-07-31 19:30:18 +02:00
Yann Leboulanger 6a95fe79ae Merge branch 'xep-0319' into 'master'
Xep 0319

See merge request !110
2017-07-31 19:16:27 +02:00
Yann Leboulanger 28917aaf56 Do not use XEP-0012 anymore to know idle time. Use XEP-0319 2017-07-31 19:14:12 +02:00
Philipp Hörist 850e273605 Correctly remove timeout source
Set source IDs to None after removing the source
except when shutting down, because the Control ist destroyed anyway

Only try to remove if we have a source ID
2017-07-31 02:59:52 +02:00
Philipp Hörist 81566df8a1 Fix some regressions with MAM
- On single messages use the bare JID for DB querys
- Add more debug logging
- Some light refactoring
2017-07-30 23:04:50 +02:00
Philipp Hörist c1decf682b Adapt to latest nbxmpp changes 2017-07-29 21:35:45 +02:00
Philipp Hörist 05b509e008 Remove old ScrolledWindow from GroupchatControl 2017-07-28 21:39:11 +02:00
Philipp Hörist b8aaf09c13 Fix infinite expand of MessageTextView
- The 'configure-event' does not trigger anymore when connected to
the MessageTextView. The reason is unknown.

- Use our own ScrolledWindow Widget instead so we can better control
the dimension of the MessageTextView
2017-07-28 20:40:30 +02:00
Philipp Hörist c963fc5dcc Fix use of deprecated method 2017-07-28 20:40:09 +02:00
Philipp Hörist 766458f394 HistorySync: Connect to different event for counting
This lets us better count how many messages we retrieved
2017-07-28 14:51:54 +02:00
Philipp Hörist 9bca51eb69 Implement XEP-0359 Stable Stanza IDs
- This allows us to better deduplicate Messages on MAM syncs
2017-07-28 14:03:14 +02:00
Philipp Hörist 8558a43651 Update config setting description
We dont use 0136 anymore
2017-07-28 00:34:18 +02:00
Philipp Hörist 9ff601d03b Remove XEP-0136 support 2017-07-28 00:07:49 +02:00
Philipp Hörist 1e313cc7e2 Improve getting own jid
We get our full JID on the bind event.
After that it is saved in the `registered_name` attr on the Connection
Object.

In case the bind never occured we get the bare JID from config.
2017-07-27 22:14:29 +02:00
Philipp Hörist 914935f864 Use right amount of arguments on pack_start 2017-07-27 21:50:38 +02:00
Philipp Hörist f449acd815 Refactor MamDecryptedMessageReceivedEvent
- Condition type = groupchat is not needed because we drop messages
type groupchat that come from the user archive. To get these messages
we will query the MUC.

- Because of this the logging method save_if_not_exists() can be much
simpler
2017-07-27 21:46:19 +02:00
Philipp Hörist cb90f9decd Merge branch 'logger' into 'master'
Refactor Logger

See merge request !108
2017-07-27 11:57:09 +02:00
Philipp Hörist fe1f2c0103 Dont drop MAM Message on missing stanza-id
A missing stanza ID means, we will have to take some measures to make
sure we get no duplicates in the Database later on.

Also fix getting the origin-id. Third time is a charm.
2017-07-27 03:33:19 +02:00
Philipp Hörist 9d6e3f4323 Get the ID attr of origin-id instead of the Node 2017-07-26 02:41:08 +02:00