• chevron_right

      Jérôme Poisson: SàT progress note 2020-W31

      goffi · news.movim.eu / PlanetJabber · Monday, 3 August, 2020 - 06:05 · 3 minutes

    Hello, it's time for a summer progress note.

    Libervia has seen a major UI revamp with a new theme based on Bulma CSS framework.

    I've been hesitating for long to use a CSS framework, and the default theme has been home made with CSS classes following BEM naming convention. On the paper it's nice because you can easily extend it without breaking accidentally other components/pages, but in practice that was more work for a not so great result regarding the UI. It could become nice with time and efforts, but I'm desperately lacking time, and I rather put my efforts on other things.

    So I've decided to work on theming and try the Bulma framework, on which I was keeping an eye for a little while. I was so far quite reluctant to use super popular CSS frameworks, because we tend to end with all websites looking the same, but I have to admit that using one save a LOT of time, and the result is clean and good looking with little effort.

    Here is a screenshot of the forum page with the new theme:

    new "bulma" theme in Libervia

    Last time I've explained how I have implemented dynamic part of Libervia with Brython. This is now completed by the use of Nunjucks for dynamic templating. The goal is to have the same templates in the backend and in the browser, and Nunjucks is more or less compatible with Jinja2. I say "more or less" because some features, filters or extensions are missing. To work around that, I've implemented myself missing filters ( xmlattr for instance), or a way to parse keyword arguments with Nunjucks convention. Nunjucks doesn't handle kwargs in macros so I've add to rewrite macros where it was used. The most tricky part was the use of i18n extension : Nunjucks doesn't have it, and thus it was failing when reaching a {% trans %} tag. I've had to implement an extension myself, but for now it doesn't translate and just returns the string unmodified.

    Finally, it's working quite well, and the same templates can be used for static (backend) and dynamic (in browser) parts. This is particularly useful when you're doing a website which can be used without JavaScript, and which is enhanced when JavaScript is activated.

    I've implemented server part of HTTP File Upload in the file sharing component included with SàT. This way you can see all files uploaded (with SàT or any other XMPP client) in your uploads directory, and you can delete them, which is something I was badly missing from current ecosystem.

    Deletion is currently done using Ad-Hoc Commands , but I'm planning to move at some point to a PubSub based file sharing which would give all we need to manage correctly deletion or notifications. There is some work to do on the standards first, that's why I haven't done it from the beginning.

    In addition to the ability to delete files, there is no upload limit with SàT file sharing component. Instead there will be a quota system (not implemented yet).

    Some import mechanism should come soon, at least to import files uploaded on Prosody HTTP Upload, so the switch to SàT file sharing component will be easy.

    I've put some efforts on the photo album, the goal is to have something simple and straightforward to use, working well on desktop or mobiles platforms, with or without touchscreen. There is a permission system to indicate who can view the pictures. From Libervia, pictures are currently uploaded with HTTP Upload (with some specific headers to indicate the path of the albums), until I have time to implement Jingle with WebRTC (maybe in next version?).

    Here is a screenshot of the photo album with the new theme:

    photo album in Libervia with "bulma" theme

    I'm currently putting my effort to make SàT/Libervia a good fit for sharing with family or close friends, little communities or small team. In other words a familial social network.

    If everything goes well, I have good hopes to go beta in August and release 0.8 somewhere in September.

    That's all for this note! As usual, feedbacks are welcome.

    • wifi_tethering open_in_new

      This post is public

      www.goffi.org /b/n9nzn3ySF7Lv4pYBpTqYtP/progress-note

    • chevron_right

      Jérôme Poisson: SàT progress note 2020-W31

      goffi · news.movim.eu / PlanetJabber · Monday, 3 August, 2020 - 06:05 · 4 minutes

    <div><p>Hello, it's time for a summer progress note.</p><p>Libervia has seen a major UI revamp with a new theme based on Bulma CSS framework. </p><p>I've been hesitating for long to use a CSS framework, and the default theme has been home made with CSS classes following BEM naming convention. On the paper it's nice because you can easily extend it without breaking accidentally other components/pages, but in practice that was more work for a not so great result regarding the UI. It could become nice with time and efforts, but I'm desperately lacking time, and I rather put my efforts on other things.</p><p>So I've decided to work on theming and try the Bulma framework, on which I was keeping an eye for a little while. I was so far quite reluctant to use super popular CSS frameworks, because we tend to end with all websites looking the same, but I have to admit that using one save a LOT of time, and the result is clean and good looking with little effort.</p><p>Here is a screenshot of the forum page with the new theme:</p><p><img alt="new &quot;bulma&quot; theme in Libervia" src="https://upload.goffi.org/upload/aCcRWJ_u8urLbpHy/libervia_theme_bulma_forum.jpg"/></p><p>Last time I've explained how I have implemented dynamic part of Libervia with Brython. This is now completed by the use of Nunjucks for dynamic templating. The goal is to have the same templates in the backend and in the browser, and Nunjucks is more or less compatible with Jinja2. I say "more or less" because some features, filters or extensions are missing. To work around that, I've implemented myself missing filters (<a href="https://jinja.palletsprojects.com/en/2.10.x/templates/#xmlattr">xmlattr</a> for instance), or a way to parse keyword arguments with Nunjucks convention. Nunjucks doesn't handle <a href="https://jinja.palletsprojects.com/en/2.10.x/templates/#macros">kwargs in macros</a> so I've add to rewrite macros where it was used. The most tricky part was the use of <a href="https://jinja.palletsprojects.com/en/2.10.x/templates/#i18n">i18n extension</a>: Nunjucks doesn't have it, and thus it was failing when reaching a <code>{% trans %}</code> tag. I've had to implement an extension myself, but for now it doesn't translate and just returns the string unmodified. </p><p>Finally, it's working quite well, and the same templates can be used for static (backend) and dynamic (in browser) parts. This is particularly useful when you're doing a website which can be used without JavaScript, and which is enhanced when JavaScript is activated.</p><p>I've implemented server part of <a href="https://xmpp.org/extensions/xep-0363.html">HTTP File Upload</a> in the file sharing component included with SàT. This way you can see all files uploaded (with SàT or any other XMPP client) in your <code>uploads</code> directory, and you can delete them, which is something I was badly missing from current ecosystem.</p><p>Deletion is currently done using <a href="https://xmpp.org/extensions/xep-0050.html">Ad-Hoc Commands</a>, but I'm planning to move at some point to a PubSub based file sharing which would give all we need to manage correctly deletion or notifications. There is some work to do on the standards first, that's why I haven't done it from the beginning.</p><p>In addition to the ability to delete files, there is no upload limit with SàT file sharing component. Instead there will be a quota system (not implemented yet).</p><p>Some import mechanism should come soon, at least to import files uploaded on Prosody HTTP Upload, so the switch to SàT file sharing component will be easy.</p><p>I've put some efforts on the photo album, the goal is to have something simple and straightforward to use, working well on desktop or mobiles platforms, with or without touchscreen. There is a permission system to indicate who can view the pictures. From Libervia, pictures are currently uploaded with HTTP Upload (with some specific headers to indicate the path of the albums), until I have time to implement Jingle with WebRTC (maybe in next version?).</p><p>Here is a screenshot of the photo album with the new theme:</p><p><img alt="photo album in Libervia with &quot;bulma&quot; theme" src="https://upload.goffi.org/upload/b7A8uVHU7Q35nNxG/libervia_theme_bulma_photos.jpg"/></p><p>I'm currently putting my effort to make SàT/Libervia a good fit for sharing with family or close friends, little communities or small team. In other words a familial social network.</p><p>If everything goes well, I have good hopes to go beta in August and release 0.8 somewhere in September.</p><p>That's all for this note! As usual, feedbacks are welcome.</p></div>
    • wifi_tethering open_in_new

      This post is public

      www.goffi.org /b/n9nzn3ySF7Lv4pYBpTqYtP/progress-note

    • chevron_right

      Peter Saint-Andre: How Useful Is Philosophy, Really?

      Peter Saint-Andre · news.movim.eu / PlanetJabber · Monday, 3 August, 2020 - 00:00

    It's a commonplace of research into human behavior that most of what you do is caused by your inborn personality traits, your underlying biology, the society and location and class and family into which you're born and in which you're raised, and so on - plus a smattering of luck and chance events. It can seem that all these causes conspire to leave little room for your ideals and aspirations and worldview and conscious choices to have much of an impact....
    • wifi_tethering open_in_new

      This post is public

      stpeter.im /journal/1645.html

    • chevron_right

      Aditya Borikar: Chapter 11: TLS - The Last Stage

      Aditya Borikar · news.movim.eu / PlanetJabber · Sunday, 2 August, 2020 - 00:00 · 1 minute

    Hi,
    The primary task I am focussed on currently is to fix any flaw I come across in the code base. This week I stumbled upon multiple instances where workflow could have been better.

    A tiny but significant change made at the start of this week is the removal of smack-tcp from the websocket module. Remains from previous approach (eg: failureMap inside okHttpWebsocketImpl, not so useful - boolean usingHttp inside transport descriptor) have been removed. Exception descriptions now show meaningful messages instead of `ClassName@someHexNum`. WebsocketRemoteConnectionEndpoints no longer hassle by extracting host, port and scheme from the endpoint obtained through http lookup. Instead WebsocketRemoteConnectionEndpoint conveniently wraps the endpoint inside a URI.

    Logging descriptor has been changed significantly and is now moved inside okHttp's dedicated package. It no longer extends okHttp's Interceptor and now depends on SmackDebugger. Even so I am still trying to figure my way around debuggers. Improvements have been made to the core class - OkHttpWebsocketImpl, for the closingWebsocket phase.

    The most important learning this week explained to me by my mentors,

    wss_vs_ws.jpg


    The websocket subprotocol states that TLS cannot be used at XMPP subprotocol layer instead it should be enabled at at the websocket layer. So whenever, we use an endpoint using `wss` scheme, it refers to an endpoint secured by TLS. This concept has now been realised inside websocket module. When SecurityMode is set to `disabled` it connects only to endpoints with `ws` uri scheme. When SecurityMode is set to `required` connection is established only with endpoints with `wss` uri scheme. Incase we preferrably want to connect to a secure endpoint but are open to establish connection with insecure endpoints if something goes wrong, we can use SecurityMode `if-possible`.

    This was my first week of the last phase. See you later.
    • wifi_tethering open_in_new

      This post is public

      adiaholic.github.io /gsoc2020/2020/08/02/Chapter-11-TLS.html

    • chevron_right

      Ignite Realtime Blog: JSXC web client now available as a plugin for Openfire!

      guus · news.movim.eu / PlanetJabber · Saturday, 1 August, 2020 - 21:34

    The Ignite Realtime community is happy to announce the immediate availability of a new plugin for Openfire that makes available the JSXC web client to your users!

    JSXC is a feature rich web client, which, among others, supports video calls and screen sharing. For more information on its features and usage, please visit its project web page at https://www.jsxc.org

    Much like the inVerse and Candy plugins for Openfire, the new JSXC plugin installs a pre-configured version of JSXC in an embedded web server that is ready for use out-of-the-box. Install the plugin, and point your users at the URL where the webclient is available (by default: https://<your-server-name>:7443/jsxc/ ) and they’re ready to go!

    Your instance of Openfire should automatically display the availability of the new plugin in the next few hours. Alternatively, you can download the the plugin directly from the JSXC plugin archive page .

    As always, we’d love your feedback on our work! Stop by our support groupchat to get in touch, or leave a message on our community site .

    For other release announcements and news follow us on Twitter

    1 post - 1 participant

    Read full topic

    • wifi_tethering open_in_new

      This post is public

      discourse.igniterealtime.org /t/jsxc-web-client-now-available-as-a-plugin-for-openfire/88467

    • chevron_right

      Monal IM: Final betas for 4.7 out

      Anu · news.movim.eu / PlanetJabber · Wednesday, 29 July, 2020 - 18:06

    The final betas for Monal 4.7 for iOS and mac are out. I hope to release to the app store this week.

    Notable changes:

    1. New title bar in chat
    2. Show when user was last seen online ( XEP 0319 : Last User Interaction in Presence )
    3. Show typing notification (XEP-0085: Chat State Notifications)
    4. XMPP blocking (XEP-0191: Blocking Command)
    5. Fixed ui glitch that shows incorrect unread mesages
    6. Added button to mark all messages as read
    7. Many other Ui and stability improvements
    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/final-betas-for-4-7-out/

    • chevron_right

      Monal IM: Update chat ui and new betas

      Anu · news.movim.eu / PlanetJabber · Sunday, 19 July, 2020 - 18:50

    I’m going to say 4.7 is feature complete. There are new betas for iOS and mac. In addition to stability fixes, notable is typing notifications as well as the new top nav bar.

    Many thanks for Thilo and Friedrich who did most of the coding for this release.

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/update-chat-ui-and-new-betas/

    • chevron_right

      Monal IM: New betas out

      Anu · news.movim.eu / PlanetJabber · Wednesday, 24 June, 2020 - 20:37

    There are new mac and iOS betas out. Mac should resolve a badge issue where the wrong number of unread was shown. Both have debug logging enabled

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/new-betas-out/

    • chevron_right

      Prosodical Thoughts: Prosody 0.11.5 released

      The Prosody Team · news.movim.eu / PlanetJabber · Tuesday, 24 March, 2020 - 21:41

    We are pleased to announce a new minor release from our stable branch.This release mostly adds command line flags to force foreground or background operation, which replaces and deprecates the ‘daemonize’ option in the config file.A summary of changes in this release:Fixes and improvements prosody / mod_posix: Support for command-line flags to override ‘daemonize’ config option Minor changes mod_websocket: Clear mask bit when reflecting ping frames (fixes #1484: Websocket masks pong answer) Download As usual, download instructions for many platforms can be found on our download page
    • wifi_tethering open_in_new

      This post is public

      blog.prosody.im /prosody-0.11.5-released/