Commit graph

4,761 commits

Author SHA1 Message Date
Goffi
bc3abd6920 tools (common/async_process): fixed stderr handling + added global "run" 2020-02-09 23:56:40 +01:00
Goffi
d0741de2ad core (memory/crypto): replaced PyCrypto by cryptography:
`PyCrypto` is unmaintained for years but was used in SàT for password hashing. This patch
fixes that by replacing `PyCrypto` by the reference `cryptography` module which is well
maintained.

The behaviour stays the same (except that previously async `hash`, `encrypt` and `decrypt`
methods are now synchronous, as they are quick and using a deferToThread may actually be
more resource intensive than using blocking methods).

It is planed to improve `memory.crypto` by using more up-to-date cryptography/hashing
algorithms in the future.

PyCrypto is no more a dependency of SàT
2020-02-09 23:50:26 +01:00
Goffi
5ef5f4aabf quick_frontend (app, widget): CagouWidget.onSelected is called when the widget is selected:
A property is now used to manage `selected_widget` in QuickApp, and widget's onSelected
method is called when suitable.
2020-02-09 23:50:21 +01:00
Goffi
9a9adb36cb quick frontend (app): added "explicit_close" to deleteWidget, and use it on mucRoomLeftHandler:
This flag can be used by frontends to decide if the widget must be really closed or not
(otherwise, it may be interesting to keep a widget in memory to avoir recreating a new one
each time that the chat must be displayed).
2020-02-06 00:01:36 +01:00
Goffi
5fae77187a tools (images): fixed type for recommended_size. 2020-02-05 23:59:19 +01:00
Goffi
d75bbaec4c core (memory/disco): fixed checkFeature return Failure:
it seems that instanciating a Failure with a class name is not working anymore, so the
exceptions.FeatureNotFound is instanciated now.
2020-02-04 19:59:42 +01:00
Goffi
ef1cd09c14 plugin XEP-0363: fixed errback args in fileHTTPUpload 2020-02-04 18:24:15 +01:00
Goffi
120289f08f plugin android: attach an action dict to notification:
instead of calling plyer's generic notify, AndroidNotification is now inherited to add a
SàT specific behaviour: a "sat_action" dictionary is now attached, to indicate to the
frontend what to do when the notification is opened.
2020-02-03 13:49:45 +01:00
Goffi
1a2078739e core (xmpp): avoid starting several clients at the same time:
a check is done to avoid running startConnection several times at once, which would lead
to the creation of several SatXMPPEntity instances at the same time, resulting in many
issues.

If startConnection is called while a previous one is not finished yet, a CancelError is
now raised.
2020-02-03 13:46:24 +01:00
Goffi
beb098b20a core (memory/disco): fixed failure creation in infosEb 2020-02-03 13:42:43 +01:00
Goffi
60522948f5 changelog: update 2020-01-29 20:52:23 +01:00
Goffi
45ebb5859d doc (profile): added --autoconnect info 2020-01-29 20:52:57 +01:00
Goffi
8d1305764a core (xmpp): use a stable resource (sat.[shortuuid]) instead of server one if nothing is specified 2020-01-29 20:21:21 +01:00
Goffi
ec5a51bebb core: log filenames of read config files 2020-01-29 19:42:02 +01:00
Goffi
3d86f0c983 core (constants): use parent of "sat" module dir as last config path 2020-01-29 19:28:08 +01:00
Goffi
6be3915b55 core (constants): missing trailing / 2020-01-29 19:21:16 +01:00
Goffi
21591bce92 core (constants): don't parse sat.conf from current dir anymore + parse root_dir last 2020-01-29 19:12:46 +01:00
Goffi
7f2c6cd8a6 core (constants): parse sat.conf from sat module dir 2020-01-29 19:05:41 +01:00
Goffi
4cb56362ec bridge (dbus): new bridge_dbus_int_prefix option (in [DEFAULT] settings) to change interface prefix 2020-01-29 18:54:40 +01:00
Goffi
c00fe7f1e6 plugin XEP-0384: fixed exception catching on getItems 2020-01-29 18:31:47 +01:00
Goffi
8937201eed plugin XEP-0280: handle CCed messages without "to" 2020-01-29 17:39:00 +01:00
Goffi
53cc1f1bac core: fixed findByFeatures:
jids where not correctly put in `found_own` and `found_roster` lists.
2020-01-29 12:38:48 +01:00
Goffi
b1edf2198c plugin XEP-0198: minor log formatting 2020-01-29 11:19:47 +01:00
Goffi
aadf9ed7e4 core (xmpp): raise InternalError when a new profile Client is created while there is already one in host 2020-01-29 11:00:14 +01:00
Goffi
e1a44cf4e4 fixed shebangs 2020-01-29 10:07:00 +01:00
Goffi
a39349fe64 dates update 2020-01-29 09:50:54 +01:00
Goffi
b0dd28a346 core (xmpp): don't purge entity on disconnect if continueTrying is set 2020-01-28 22:42:10 +01:00
Goffi
4eeb1ef3e8 plugin manhole: added d to namespace as shortcut for defer.ensureDeferred 2020-01-28 22:27:42 +01:00
Goffi
8252c15beb plugin XEP-0198: don't crash when xmlstream has been closed 2020-01-28 22:26:12 +01:00
Goffi
655361db1b plugin ip: fixed IP detection with external website 2020-01-27 19:53:31 +01:00
Goffi
5ffa208962 tools (common/files_utils): fixed get_unique_name when path is a str and not a Path 2020-01-27 19:53:31 +01:00
Goffi
af4320dfbe quick frontend (app): log own jid when received 2020-01-27 19:53:31 +01:00
Goffi
b5303be035 plugin XEP-0184: show a warning and the message XML on missing id 2020-01-27 19:53:31 +01:00
Goffi
f496dfc640 core (memory): avoid session locking if profileAuthenticate is called twice quickly 2020-01-27 19:52:49 +01:00
Goffi
c82ca04673 android: deactivate annoying jnius logs when DEBUG is set 2020-01-27 19:52:46 +01:00
Goffi
764e247a0a plugin manhole: added "C" to namespace 2020-01-26 18:08:10 +01:00
Goffi
c951c67698 plugin android: reconnect profiles with autoconnect if network is activated:
if network is activated, we check that all profiles with autoconnect are indeed connected,
and reconnect them if necesssary.
2020-01-26 18:08:09 +01:00
Goffi
a485709173 plugin android: added a profileAutoconnectGet method:
this method will be called by frontend to know which profile to connect automatically
(when the frontend has been closed and is reopened, this will avoid to have to go through
the profileManager again).
2020-01-25 21:08:41 +01:00
Goffi
87659cf0f0 core (memory/params): added extra argument to filter out params notably in getParamsUI:
In some case, it may be desirable for a frontend to not expose some parameters to user
(e.g. it is the case on Android with the `autoconnect_backend` parameter). An new `extra`
parameter has been added to a couple of parameters method for that: it can contain the
`ignore` key with a list of [category, name] of parameters to skip.
2020-01-25 21:08:40 +01:00
Goffi
610a8ff10b jp (profile): added --autoconnect argument in modify and create + use output in info 2020-01-25 21:08:39 +01:00
Goffi
da3b7b5fea jp (common): various Table fixes:
- renamed fromDict to more accurate fromListDict
- fixed handling of None filter in fromListDict
- fixes show_header when no header exist
- escape headers when using namedtuple, so it won't fail
2020-01-25 21:08:37 +01:00
Goffi
1d91db6f2c core: backend autoconnection:
A new Connection/autoconnect_backend param can be set for a profile or component to be
started automatically with backend. This is specially useful for components, but can be
useful for client profile too (e.g. on Android we need to start profile with backend to
get notifications, this part will come with following commits).

The new Sqlite.getIndParamValues method allows to retrieve the same parameters for all
profiles.
2020-01-25 21:08:32 +01:00
Goffi
d73fed6f24 doc (jp/message): typo 2020-01-25 21:08:29 +01:00
Goffi
9dc875550c quick frontend (app): call getReady once connected to bridge:
namespaces and encryption plugins are only retrieved once backend is ready, else they may
not yet be available (can happen notably when the backend is start at the same time as the
frontend, e.g. on Android).
2020-01-25 21:08:26 +01:00
Goffi
f85fb751fa core: added a debug log when a namespace is registered 2020-01-25 21:08:25 +01:00
Goffi
eca0f773cf quick frontend (widgets): don't use *args for onDelete + more debug logs 2020-01-17 20:27:35 +01:00
Goffi
d9e1ba8ce1 quick frontend (widgets): some more errors handling in getOrCreateWidget 2020-01-17 18:47:02 +01:00
Goffi
6bff1bdc33 quick frontend (widgets): fixed widget creation in getOrCreateWidget:
when a new widget was created, it was overwritting the exiting instances list. This patch
fixes it.
2020-01-17 17:55:57 +01:00
Goffi
6a18650a99 quick frontend (app): removed workaround for pyjamas 2020-01-17 15:27:39 +01:00
Goffi
f1372b6b94 quick frontend (widgets): added "widget_hash" helper property 2020-01-17 15:26:44 +01:00