Subscribe to future posts here
Energy from the Community
The fact you’re reading this newsletter means you’re most likely a reader of the Sailfish forum. Given this, we thought it would be interesting to take a look at some of the Sailfish OS apps designed to make interacting with the forum as frictionless as possible. Carry on reading beyond for the Repository Roundup, where dcaliste brings us a summary and analysis of all the changes to the Sailfish repositories. Then we wrap up the newsletter with our regular look at the latest apps that have made it into the Jolla Store this fortnight.
But let’s start with those forum apps. The forum describes itself as being “for you to discuss all things Sailfish OS” and goes on to offer an invitation “to join the Sailfish family”. I think that’s a pretty good description, and across the forum you’ll find a mixture of discussion, questions (usually with answers alongside), bug reports, announcements and more. It feels very much like the community it is: welcoming to both old hands at and new converts to Sailfish OS.
Most users will access the forum through a Web browser on a desktop, laptop, tablet or phone. The forum design is responsive, meaning that it tries to render a sensible version of itself to suit the screen size in use. On a small device such as a phone it does a pretty good job of hiding anything superfluous and focusing on the most important content: the categories and the most recently updated posts.
In general that’s all great, but sometimes it’s useful to have something more bespoke and tailored. That’s where the Sailfish OS Forum Viewer comes in.
The app is maintained and primarily developed by szopin, but the list of a dozen more contributors shown on the About page is a testament to the importance and vitality of the app. It offers a lightweight and simple way to stay up-to-date with activity on the forum without the need to make a visit to the webpage each time.
In its default mode the app will provide a list of the most recently updated topics on the forum, each entry showing the topic title, time of the last update and any tags that have been attached to the topic. To the left of each entry are badges to indicate how many posts are in the topic, and in some cases a small tick to indicate the topic has been marked as “solved”. On the right of each entry we have the category, including a coloured lozenge making it easy to check the category at a glance.
These summaries allow you to check what’s changed at a glance, and quickly decide whether to drill down into a topic.
Another mode allows you to replace the list of most recently updated with a list of the top topics (that is, the topics with the most posts).
Alternatively, if you already have something in mind you can select an individual category and show just the most recently updated posts within it.
Finally there’s also a very effective Search capability that allows you to scan through the forum to identify topics and posts containing the specified keywords.
From any of these views, selecting a topic opens a page showing the entire thread rendered in the classic Sailfish style. It’s ever-so-slightly simplified compared to the web page, but still manages to capture all of the main elements: text styles, links, emojis, website preview embeds, formatted code. In the case of formatted code, long press on a post to allow the use of a clever alternative view that will wrap the code in a sensible way, better for viewing in narrow portrait mode (although the app supports landscape mode as well). You can even review the revision history of a post without leaving the app.
If you’re just interested in keeping up-to-date, these capabilities are likely more than enough. But you can take it a step further if you provide your login credentials. This grants you additional powers: you can now like and reply to posts, create new topics, and check your personal notifications.
There are still some things you’ll be best off visiting the website for. For example, while you can open up and reply to direct messages that appear in your notification list, you can’t manage your direct communications more generally.
Sailfish OS Forum Viewer is an impressive app, and makes interacting with the forum on your phone really straightforward. However, if you’re thinking submitting a bug report to the forum using the app, then hold up! Because there’s a recent addition to the Sailfish app ecosystem that goes by the name of Bugger! (in the sense of “to show annoyance”) and which offers an even better way to submit nicely structured bug reports to the forum.
The Bugger! app is the brainchild of Peter G. (nephros), a member of the now infamous Bug Coordination Team. The team performs many important steps before passing any bug on to be considered for inclusion in Jolla’s internal bug database. One of them is ensuring the bug contains all of the crucial pieces of information needed, and is structured using the standard layout.
While the forum itself does encourage users by including a template with inline instructions, when submitting bugs through the website the user is given complete latitude to change the structure, leave fields empty and so on. Bugger! on the other hand provides much more robust pre-submission checks. If any crucial information is missing, such as the steps needed to reproduce the bug, the app will politely but emphatically refuse to submit the report. It automatically provides the details of the device it’s running on, as well as the use of third party app repositories. Finally it provides a number of easily selectable options for those that reduce to a finite set of answers.
It manages to both simplify the process of submission for the user, while also helping improve the overall quality of the report.
There’s no need to provide a username or password to the app: once you’re happy with your report, and once Bugger! is also happy with it, submit it and the browser will be opened with a beautifully pre-formatted bug report containing all of the information. From here, make any final edits, and hit “Create Topic” to publish it to the forum.
The Sailfish OS Forum viewer is available from both the Jolla Store and OpenRepos, with version 1.5.0 being the most recent available; while version 0.9.8 of Bugger! can be found on both OpenRepos and Chum.
Taken together, the two apps are great companions for anyone using the forum, and I’d encourage you to take a look at them.
Repository roundup
Update of the base packages continues, with an upgrade of the multimedia handling (GStreamer and co., but also FFMPEG). We’ve also seen some interesting fixes coming in the repositories these last 15 days: pvuorela solving the impossibility to enter a password for protected PDF documents or slava plugging a CPU leak in Ofono. Speaking of telephony framework, mal has started pushing source code for “new radio” technology, a step for 5G support…
Document stack
-
tracker
, desktop-neutral metadata database and search tool, upgrade to 3.3.3 from mal is now done, it was previously 3.2.1. -
tracker-miners
, metadata extractors for tracker, upgrade to 3.3.1 from mal has also been accepted. -
poppler
, the PDF (rendering) library, attah’s work on to upgrading to the latest upstream version 22.09.0 has been merged. attah updated his initial pull request where the update was proposed for version 22.08.0, since the 22.09.0 was published during the review process. -
sailfish-office
, the document application, pvuorela fixed an issue blocking the input field for password protected document.
Audio / video stack
-
ffmpeg
, a framework to encode and decode multimedia resources, mal updated and merged his pull request to upgrade to the latest upstream version 5.1.1 (5.1.1 was published during the review process of the pull request while it was previously proposing to upgrade to 5.1.0). -
thumbnaild
, the daemon generating image and video thumbnails, mal reworked thelibav
code to adapt to API changes introduced byffmpeg
5.0. mal also fix an issue when the codec required more data by sending theEAGAIN
error code. -
droidmedia
, Android media wrapper library, mal is exposing in a pull request the AV1 decoder from Android version 10. elros34 is proposing to add support for theAudioSessionInfo
structure if it is present in the audio policy service file. -
gst-droid
, plugin for GStreamer allowing to use hardware accelerated codecs, mal is exposing the AV1 decoder to GStreamer, disabled by default. -
gstreamer
, a multimedia framework, mal has merged in his commit to upgrade to latest upstream version 1.20.3 (from version 1.18.5). -
gst-plugins-base
, base plugins for GStreamer, mal is proposing to update to version 1.20.3 from 1.18.5. He’s also proposing the upgrade on thegst-plugins-good
,gst-plugins-bad
andgst-libav
repositories.
Bluetooth stack
-
bluez5
, the Linux Bluetooth stack, mal has merged his pull request to upgrade to version 5.65, current version being 5.63.
Calendar stack
-
nemo-qml-plugin-calendar
, the QML bindings for calendar events, dcaliste is proposing the extend the filter possibility of theAgendaModel
to include only non all-day events. Previously, existing filters allow to include only all day events, or event to report only one event per notebook (used for instance in the month view to show the coloured dots per day).
Telephony stack
-
ofono
, the telephony library, slava fixes an issue with Ofono eating up CPU time because of unclosed file descriptors. This may be a definitive fix for this reported issue in the forum. mal is currently working on adding support in a working branch for the NR technology. -
libgofono
, a glib-based wrapper for ofono D-Bus interfaces, mal is also doing the same here. -
liqofonoext
, a library for accessing Sailfish OS specific ofono extensions, mal is also doing the same for the Qt bindings.
OS low-level
-
nfcd
, the daemon handling NFC communication, slava pushed several commits, fixing issues in the unit tests, adding new tests and fixing a link issue (making the app crashes when calling symbols that were marked as weak). -
signon-plugin-oauth2
, a plugin to handle OAuth2 protocol, tomin updated the plugin from version 0.15 o version 0.25. He also cleaned up the spec file and drop the packaging for Qt4. -
busybox
, a single binary which includes versions of a large number of system commands, direc85 is proposing a pull request to both print Unicode characters in e.g.ls
output, and render them correctly in command input, e.g.mv
orcp
filenames. See this forum thread for more context and discussion.
Python development
-
python3-pytz
, an interface to the timezone data in Python, vige added this package to Sailfish OS. -
python3-babel
, a python package for localisation, vige added this package to Sailfish OS. -
python3-sphinx
, a documentation builder in python, vige upgraded the package to 1.3.5 and switch to submodule for repository handling.
QML bindings
-
nemo-qml-plugin-dbus
, QML bindings for D-Bus, pvuorela merged an alternative to the pull request initiated by herrie82 which adapts the code for more recent versions of Qt.
OS build
-
scratchbox2
, the cross-compilation tool used by the SDK, two pull requests from martyone previously merged, are pending for reversion. martyone is mentioning that the task related to the initial commits has been put on hold for now. -
meego-rpm-config
, specific rpm configuration files for Sailfish OS, martyone accepted the pull request from direc85 who cherry-picked a patch to strip more than 256 symbols from packaged binaries and libraries. This helps building Whisperfish, as discussed in this forum thread.
Documentation
-
kf5bluezqt
, the KDE framework handling Bluetooth, in the process of allowing this BT library in Harbour, vige is proposing to package the documentation for publication. -
docs.sailfishos.org
, the documentation website sources, various changes happened:- thigg proposition to add a troubleshoot section to the QMLlive documentation page has been published.
- rainemak removed references to WebKit for HTML rendering, like in email application.
- rainemak mentions the correct GLibC version, namely 2.30.
- rainemak fixed the links of QtBase repository and udisk2 one in the architecture page.
- jovirkku is proposing a new page listing current OS issues.
Software engineering
-
telepathy-gabble
, a Jabber/XMPP connection manager, martyone added a patch to use deterministic numbers in the documentation. -
speex
, a library handling a free codec for speech, mal is proposing to drop one patch helping build reproducibility since the feature is now handled by a new global rpm macro. -
rpm
, a software package format and tools, martyone is adding a patch so that generated *.pyc and *.pyo files are now using a fixed modification date from the source files they correspond to ; and adjust it later in a second pull request. -
zstd
, short for Zstandard, is a fast lossless compression algorithm, martyone added a patch to ensure build reproducibility by sorting the list of source files passed to the linker. -
wireless-regdb
, the wireless regulatory database, martyone cleanups a bit the spec file and added a patch to call python3. -
setup
, a set of system configuration and setup files, martyone added a patch to ensure build reproducibility. -
libsolv
, a library for package dependency solving, martyone added a patch to ensure build reproducibility by re-enabling theNDEBUG
macro. -
libphonenumber
, a library for manipulating international phone numbers, martyone merged his patch to ensure build reproducibility by sorting sources during build. -
swi-prolog
, Prolog interpreter, martyone added a patch to ensure build reproducibility. -
build-compare
, scripts to find out if the build result differs to a former build, martyone added a patch to ignore the checksum parts (which vary depending on a temporary key).
SDK
-
sailfish-qtcreator
, the Qt IDE, deepbluev7’s patch on a compile script to fix an issue with an argument string being passed as a translation unit has been merged in by martyone. -
sdk-harbour-rpmvalidator
, the harbour validation scripts, vige, has added more APIs:- for accounts, with its QML components,
- for Python with (pytz package. In spec file, mention
Requires: python3dist(pytz)
, - for telephony, with its QML components,
- for Bluetooth access, with its QML components and the lower level access framework BluezQt from KDE. Use a declaration like
Requires: qml(org.kde.bluezqt)
in the spec file. - and a warning about the fact that these newly allowed QML components may not be as stable as harbour rules used to ensure.
-
sdk-setup
, part of the Sailfish SDK, martyone had a pull request not to consider changed snapshot as outdated.
App roundup
There’s been a flurry of submissions to the Jolla Store this fortnight, not doubt the fruits of summer-coding campaigns, and something we’re always happy to see. In this edition we’re just going to focus on a smaller collection of them; we’ll aim to work through the backlog in future newsletters. Nevertheless, it’s nice to see both some of our regularly updated apps here today, alongside some apps that whilst not new, haven’t been featured in the newsletter previously.
Evento
Evento is another app with a lively update timetable. Created by Samuel Kron (black_sheep_dev), it allows you to either count up from or down to specific events. For example, fill it up with the Birthdays of your loved ones, and it will give you a running update on how many days left you have to find them that perfect gift. Or configure it with your date of birth and it will tell you how many days you’ve spent on this earth.
To put it another way, it’s an app that can provide both practical value, and act as an idle curio. With the latest version you can set events to recur weekly, monthly or annually for even greater value.
By entering the release date of 30th August into the app itself, I can quickly see that — at time of going to press — version 0.3.1 of Evento has been available from the Jolla Store for a total of nine days. It’s also available from OpenRepos and Chum (although the latter is still awaiting the latest release).
Podcatcher
Although not a new app, this is the first time we’ve featured Podcatcher from Moritz Carmesin (Carolus) in the newsletter. It didn’t get a mention back in June 2021 as one of Adam Piggz’s most-used apps though.
Podcatcher is a rather slick podcast subscription app, from which you can search for, subscribe to and automatically download podcasts on topics ranging from Anger to Zumba.
The ability to search the online catalogue is my favourite feature — it really is amazing how many niche yet fascinating podcast series there are out there — but even if you already have a regular set of podcasts you want to listen to, Podcatcher provides a simple way to download them, with many useful and easily configurable options.
Previous versions of the app delegated the task of playing the resulting audio files to your preferred external media player app. The latest version also incorporates its own media player which you can use instead. This built-in player works very well, but my own preference will be to stick with an external player.
Version 2.0.0 also improves memory usage, and the result is an app that worked very well in my testing. It’s available from both the Jolla Store and OpenRepos.
Patience Deck
No doubt the latest update of Patience Deck from Tomi Leppänen (tomin) can be put down to a summer-coding blitz. Patience Deck allows you to play a large number of the many, many, many different variants of playing-card-based Solitaire that exist in the world. Honestly it’s astonishing there are so many variants, and also astonishing how Patience Deck manages to support all of the different rules so seamlessly.
Besides the incredible breadth of games, some of the other nice features of Patience Deck include the multiple card styles that provide a helpful balance between authenticity and clarity; the clean interface and the smooth animation. One of my favourite aspects of the app is the way it provides clearly written rules for all of the games provided, so you don’t have to go digging around the Internet (or — more likely in my case — spending hours dragging cards randomly in an attempt to reverse-engineered the rules).
The latest version offers up some nice improvements when searching amongst the 81 supported game types, as well as a nice animated card movement when you drop the cards in mid-air. They now swoosh to their intended location rather than snapping there immediately; a nice touch.
Version 0.9.1 of the ever-improving Patience Deck is available from the Jolla Store and OpenRepos.
Frome
The final app of our roundup, From from Rustem Abzalov (arustg) offers a simple way to calculate percentages. Frome gets a little slicker with each release, and the user interface has seen some small improvements in the latest version, combining the two menus (at the top and bottom) into just a single pull-up menu from the bottom. The app also gains Swedish translations courtesy of eson57 and some bugfixes.
The app is pretty simple: enter a percentage p, hit the percentage key, enter a number n, hit the equals key. The resulting calculation (n - p * n) is output to the screen, alongside the history of your previous entries.
You can still change the layout from left to right handed, and the About page still has a snazzy rotating icon. But while the app works perfectly well, I’d love it if there were an option to calculate a straight percentage (p * n), either through the settings or with an extra button on the on-screen keyboard. It’s this latter calculation I find myself needing most often in my daily life, and it would save me having to do an extra subtraction in my head each time.
From is nevertheless a nice app, improving all the time, and with version 0.4.2 available from both the Jolla Store and OpenRepos.
Please feed us your news
We hope you enjoyed this fortnight’s community news. This is your news, and frankly we can’t always keep up with all the exciting stuff happening in the Sailfish community, so please help us out by replying to this post in the forum if you’d like to see something included.
And do also join us at our community meetings on IRC, Matrix and Telegram. It’s a great place to discuss any of the content you see here, ask questions and share your ideas. The next meeting will be on the 29th September.