Commit graph libervia-backend/src
Author SHA1 Message Date
Goffi
b07afe6971 plugin invitations: fixed url_template check 2017-04-16 17:57:40 +02:00
Goffi
9d60e145c0 tools/common (uri): added a method to build URI 2017-04-16 17:55:10 +02:00
Goffi
feac2da87d plugin invitations: added modify method (+ bridge) and fixed email setting in extra 2017-04-03 00:23:01 +02:00
Goffi
697da436af plugin XEP-0060: node create/delete improvments:
- use client instead of profile for createNode and deleteNode
    - new bridge method psCreateNode
    - renamed psDeleteNode to psNodeDelete
2017-04-03 00:22:58 +02:00
Goffi
6b0c5dc01a tmp(wokkel/pubsub): fixed configuration parsing 2017-04-03 00:13:33 +02:00
Goffi
0c01779ae7 tools(common/uri): XMPP uri parsing module, first draft 2017-03-29 21:04:43 +02:00
Goffi
f12d873897 plugin invitations: added getInvitation method, it return invitation data and raise an error if it is not found 2017-03-29 19:42:42 +02:00
Goffi
e70fc0d62f plugin invitations: invitation id and invitee jid are now added to return dict in invitationCreate, bridge signature has changed too 2017-03-29 19:35:55 +02:00
Goffi
594cf2d02a plugin invitations: raise ValueError if url_template and message_body are both not specified 2017-03-29 19:30:29 +02:00
Goffi
06fd34fe5e memory (persistent, sqlite): fixed getPrivates bug with keys arguments and its use in LazyPersistentBinaryDict 2017-03-29 19:27:52 +02:00
Goffi
d067b1b8be plugin invitations: fixed leak of uuid in jid 2017-03-26 21:23:03 +02:00
Goffi
f829ef828b plugin XEP-0060: added setNodeAffiliations and its bridge method (psNodeAffiliationsSet) 2017-03-26 18:06:58 +02:00
Goffi
b211d3afe6 tmp(wokkel/pubsub): removed affiliations attribute which was there twice + added missing _render_affiliations 2017-03-26 16:57:53 +02:00
Goffi
d3b9f16860 plugin XEP-0060: added affiliation handling:
New methods getAffiliations (for checking affiliation by any entity) and getNodeAffiliations (for checking the affiliations of a node, for the owner), and theirs corresponding bridge methods.
2017-03-23 21:01:51 +01:00
Goffi
bc08258fe7 tmp (wokkel/pubsub): fixed affiliations (normal entity) handling 2017-03-23 20:59:25 +01:00
Goffi
425d342183 plugin groupblog, XEP-0060: added ACCESS_PUBLISHER_ROSTER and switched to it in groupblog 2017-03-23 09:11:25 +01:00
Goffi
2db9c76c4a tmp (wokkel/pubsub): fixed configuration setting 2017-03-23 09:07:10 +01:00
Goffi
34f6f89025 plugin XEP-0060: added setConfiguration/psNodeConfigurationSet + fix in tmp.wokkel.pubsub 2017-03-14 00:18:02 +01:00
Goffi
a022ae21af plugin XEP-0060: added getConfiguration ad psNodeConfigurationGet bridge method 2017-03-13 23:18:00 +01:00
Goffi
ba8534ee4f plugin XEP-0060: renamed psGet bridge method to psItemGet 2017-03-13 23:17:13 +01:00
Goffi
20ffb6d2eb plugin XEP-0060: added psGet bridge method 2017-03-12 23:28:04 +01:00
Goffi
d7d5ca1d18 plugin invitations: first draft:
/!\ new dependency: shortuuid
Plugin invitations allows to invite somebody without XMPP account, using an unique identifier.
The various arguments are explained in the docstring.
2017-03-12 19:35:36 +01:00
Goffi
94370a8da3 plugin XEP-0077: minor raise fix 2017-03-12 19:33:25 +01:00
Goffi
ceab0c6bdc memory (persistent, sqlite): better private values handling + new LazyPersistentBinaryDict:
- merged private values method handling in sqlite, and added a keys arguments to get only some keys
    - LazyPersistentBinaryDict allow to get values in database only when they are needed, saving memory for big data
2017-03-12 19:33:17 +01:00
Goffi
25c07ce105 plugin account, tools: some cleaning account + email and password tools:
- plugin misc account has been reordered and cleaned a bit.
    - new xmpp_domain setting is used to get the domain name of main XMPP server
    - password generation method has been moved to tools.utils
    - email sending method has been moved to tools.email
2017-03-12 19:32:59 +01:00
Goffi
7c58313ed0 plugin XEP-0077: added inBandAccountNew, inBandUnregister and inBandPasswordChange bridge methods 2017-03-09 23:07:38 +01:00
Goffi
06be5a58aa plugin account: removed dependency to Prosody/prosodyctl and properly use in-band registration instead 2017-03-09 00:06:13 +01:00
Goffi
1c64f98989 plugin XEP-0077: added changePassword and removeRegistration methods 2017-03-09 00:06:13 +01:00
Goffi
52dce48694 core (params): removed registerNewAccount button: it is misplaced and more confusing than useful, may come back in the future 2017-03-09 00:06:09 +01:00
Goffi
d1ba64c780 core, plugin XEP-0077: in-band registration fix and move:
in-band was partially in core for historical reason, it has been moved to XEP-0077, and fixed. It is still incomplete, but should work for basic accounts creation.
2017-03-08 20:59:31 +01:00
Goffi
0257809292 i18n: updated sat.po 2017-03-06 21:22:59 +01:00
Goffi
a4934b1955 tools(templates): workflow improvments:
- template theme can be specified in parenthesis: (some_theme)path/to/template.html. Withtout parenthesis, "default" is used
    - static content are supposed to be in [theme]/static, error pages in [theme]/error/[err_code].html
    - default page are used in some case (2 for now): if error page with specified code doesn't exists, a base page is used, and if a page doesn't exist for a theme, the same one for default theme is looked for
    - CSS files are automatically found for HTML pages
    - CSS files can be split, the'll be added in the template according to the page requested.
    - theme CSS file is looked for, and if not found the default theme equivalent is looked for.
    - each element of a path can be associated to a CSS file, and styles.css is always there. For instance if blog/articles.html is requested, the following CSS can be included: "styles.css", "blog.css", "blog_article.css". They all must be in /static
    - if the automatic finding of CSS files is not wanted, css_files arguments can be used instead, with full relative path (i.e. including theme)
    - CSS files can be merged and included inline with css_inline argument
    - root_path can be specified, it will be used as a prefix for static files
    - requested theme (which may differ from actual theme, e.g. if the template is not found and default one is used instead) is available in template with "theme" variable
    - added getThemeAndRoot method to retrieve theme and theme root path from template
2017-03-05 23:41:10 +01:00
Goffi
085ed041e7 core, bridge: renamed getProfileName to profileNameGet according to new conventions 2017-03-05 21:36:01 +01:00
Goffi
9b0542fb46 core, frontends: various fixes for Libervia:
- quick_app: don't fail when we can't get autodisconnect parameter
    - bridge: removed useless BridgeFrontend parent class
    - use of TypeError, unicode and list to workaround Pyjamas incompatibilities
2017-02-26 18:23:01 +01:00
Goffi
27f5dd80bf core (memory/cache): escape profile when creating cache dir 2017-02-26 18:20:27 +01:00
Goffi
4a36fba066 tools (common): fixed tty detection when isatty is not available 2017-02-23 07:33:30 +01:00
Goffi
8d578cec3b core (tools/common): data objects first draft:
this module aims is to help manipulate complex data from bridge, mainly for the template system.
    It is in common and not only in frontends as it may be used in some case by backend, if it needs to use template system in the future.
2017-02-21 21:01:40 +01:00
Goffi
23cb2e5843 core (tools/common): template renderer first draft:
jinja integration is being rewritten to be used not only in Libervia, this is a first step which put the renderer in backend/frontends tools.
    The renderer is mainly HTML oriented, but may be used for other files.
    sat_templates dependency is needed to use it.
2017-02-21 21:01:39 +01:00
Goffi
bc5f57702f core (constants), tools (common/ansi): moved ANSI escape codes to a dedicated class, with helper methods 2017-02-16 00:44:54 +01:00
Goffi
84fd46d62c tools (common/data_format): added dict2iterdict to yield dictionary from serialised complex values 2017-02-16 00:40:50 +01:00
Goffi
9608829d3b plugins XEP-0033, XEP-0280, text commands: fixed method renaming after client refactoring 2017-02-13 20:59:09 +01:00
Goffi
0a2a18ebaf core(memory.disco), bridge: discoInfos and discoItems now handle node 2017-02-12 21:17:56 +01:00
Goffi
749bd76f62 plugin XEP-0045: fix after client refactoring 2017-02-12 21:17:56 +01:00
Goffi
3bc851abf2 core (memory/disco): getInfos now handle node + use client instead of profile in many methods 2017-02-12 20:43:20 +01:00
Goffi
a205ff4e90 core: added release name in constants + full version 2017-02-12 19:23:34 +01:00
Goffi
85f3bd5988 core, frontends: getProfilesList renamed to profilesGetList + behaviour change:
- profilesGetList now handles clients and components boolean arguments, to filter profiles
    - jp: added --clients and --components options to profile/list
    - profilesGetList now returns sorted profiles
2017-02-12 19:08:52 +01:00
Goffi
ac7d587c49 core (plugins): added missing contants + use of new constants in PLUGIN_INFO 2017-02-12 18:59:10 +01:00
Goffi
97337202cb core, jp: component handling + client handling refactoring:
- SàT can now handle components
    - plugin have now a "modes" key in PLUGIN_INFO where they declare if they can be used with clients and or components. They default to be client only.
    - components are really similar to clients, but with some changes in behaviour:
        * component has "entry point", which is a special plugin with a componentStart method, which is called just after component is connected
        * trigger end with a different suffixes (e.g. profileConnected vs profileConnectedComponent), so a plugin which manage both clients and components can have different workflow
        * for clients, only triggers of plugins handling client mode are launched
        * for components, only triggers of plugins needed in dependencies are launched. They all must handle component mode.
        * component have a sendHistory attribute (False by default) which can be set to True to allow saving sent messages into history
        * for convenience, "client" is still used in method even if it can now be a component
        * a new "component" boolean attribute tells if we have a component or a client
        * components have to add themselve Message protocol
        * roster and presence protocols are not added for components
        * component default port is 5347 (which is Prosody's default port)
    - asyncCreateProfile has been renamed for profileCreate, both to follow new naming convention and to prepare the transition to fully asynchronous bridge
    - createProfile has a new "component" attribute. When used to create a component, it must be set to a component entry point
    - jp: added --component argument to profile/create
    - disconnect bridge method is now asynchronous, this way frontends can know when disconnection is finished
    - new PI_* constants for PLUGIN_INFO values (not used everywhere yet)
    - client/component connection workflow has been moved to their classes instead of being a host methods
    - host.messageSend is now client.sendMessage, and former client.sendMessage is now client.sendMessageData.
    - identities are now handled in client.identities list, so it can be updated dynamically by plugins (in the future, frontends should be able to update them too through bridge)
    - profileConnecting* profileConnected* profileDisconnected* and getHandler now all use client instead of profile
2017-02-12 17:55:43 +01:00
Goffi
9b2923f161 memory (sqlite): introduced component table, schema updated:
components are special profiles, entry_point will be the plugin to launch when they are connected.
2017-02-07 00:15:03 +01:00
Goffi
b5f1e45d4e core, bridge, frontends: renamed asyncConnect to connect, and added options parameters (not used yet) 2017-02-06 22:54:43 +01:00