What APIs are missing from Harbour?

I believe direction was added already in 5.3.

I believe direction was added already in 5.3.

Maybe, but its still larger than 5.2 :slight_smile:

There is branch labelled 5.4 in gitlab that received some love one month ago :

So there may be some upgrade of this package in the pipeline.

7 Likes

Interesting. I guess version 5.5 changed the license or something else is preventing branch mer-stable-on-5.6 to be merged. Or it is a hobby by Jolla engineers to go through random Qt versions, as in 5.9, 5.6, 5.4…

2 Likes

everything for share plugins.

tranferengine it is, i think

6 Likes
2 Likes

as mentioned before:

  • sharing: not only for “share plugins” but also allowing apps to share content (e.g. File Browser)
  • MPRIS for media players: for lockscreen and for headset buttons
  • custom keyboard layouts: adding them as patches is easy but an “official” way would be much better
  • expanding sections: I’ve written too many custom section components…
  • simpler releases: it is extremely tedious to release updates if you have multiple apps that should get a new release in OpenRepos, Jolla store, and Github (or any less evil forge); worst is after OS updates

not mentioned yet:

  • native tab bar components: ideally one like the Clock app uses, and another one with icons (like in Piepmatz, or here: https://github.com/ichthyosaurus/sf-docked-tab-bar); important: it has to adapt to horizontal layouts
  • custom auto completion like the Calendar app uses when adding a new event: the AutoFill component is currently in Sailfish.Silica.private and needs a custom database directory (or something…)
5 Likes

This is what I would like to have for my own projects:

In general: more low level access to the hardware (e.g., plain C++ APIs without Qt). Note that this probably does not make sense for the stability-focused Harbour store but only for a RPM repo (or store) featuring experimental/“not-guaranteed-to-work-in-the-next-release” applications.

Specifically: gstreamer1.0 (already mentioned in https://github.com/sailfishos/sdk-harbour-rpmvalidator/issues/126, see also https://gitlab.com/takimata/harbour-sailstream/-/blob/master/rpm/harbour-sailstream.yaml)

2 Likes

That’s a Santa Claus wishlist thread, right ? :smiley:

There are several missing APIs (or undocumented, which is the same):

  • phone interaction. Being notified when there is a phone call incoming, in progress, etc. Use case: lower the volume, on screen notification or automatic pause of kodi when an incoming call arrives.
  • already noted, but using physical buttons. APIs are there, but forbidden in harbour.
  • access to lock screen. Adding custom actions to lock screen.
  • access to accounts. I currently have six nextcloud related apps (and mostly use fuoten, talk, belacina, and notes). Each of them needs a separate configuration. It would be nice to have access to the system-wide account to avoid that step.
  • openssl 1.1 (currently only 1.0 is available). If i understood correctly the last community meeting log it’s on its way.
  • the alphabetical quick index used in people’s view should be available to other apps
  • more generally, all qml layoutting components used in sailfish interface should be available for apps (the tab view of the clock app, for example)
  • a documentation on « what to do if you require a lib that is present in sfos but not part of the public api » (the issue i had with poppler). Since bundling the libs is an allowed operation for harbour, it should be documented.

Well, that’s already a big list, i’ll stop here. I’m aware that several features on this list would require a permission from the user (i do not want a random app to access my phone data or my nextcloud account), so that would be a prerequisite.

3 Likes

For SailfishConnect (KDEConnect) needed:

  • Interface to read contacts, read SMS history and send SMS to send SMS from computer
  • libdbus for monitoring notifications (DBus’s BecomeMonitor, seems not possible with QtDBus)
  • Allow background services
  • Qt5Feedback for remote keyboard
  • API to create share plugin
  • Silica Component to select a folder

For other apps:

8 Likes

I’m just a simple user and no dev, but there are some things I’d like to see in especially Multimedia apps that may require a specific api if I’m right. I also don’t know which of these can be used free, but a native and built-in possibility to stream from device to DLNA, Miracast, Chromecast and Airplay would be nice.

Another thing would be the implementation of Strato HiDrive (https://developer.hidrive.com/) as another cloud service.

(And sorry if my post may be a little bit off-topic.)

Another thing that’s a bit off-putting in Harbour is the website. It’s not an API but not less important. The quick links at the bottom are either broken or lead to wrong pages.

Then there’s the terms of service: the terms available via the quick link at the bottom (here) are older than the ones you have to accept when creating a new account (here).

The old terms (“Last updated 10 03, 2013”) state:

  1. License grants

By submitting your application to the Jolla Application Store, you grant us a nonexclusive, worldwide, and royalty-free license to copy, distribute and make available and use your applications and use your branding material you submit with your application (including your name) solely for the purposes of i) distributing the applications through our Jolla Application Store, and ii) promoting your applications and their inclusion in our Jolla Application Store.
[…]

This is concise and mostly fine, as you are not allowed to modify my materials and your use is restricted to the “Jolla Application Store”.

The new terms (“Last updated October, 3, 2017”) state:

  1. Ownership

[…]
In some cases you might be able to submit your own materials into our Services. We claim no intellectual property rights over such material. Your materials remain yours. However, unless and until otherwise expressly informed by you, you grant us a non-exclusive, royalty-free, worldwide and perpetual right to use, modify, distribute, and prepare derivative works of, such material solely in our Services. This right must be perpetual, as we do not have the technical capability to manually remove all material you might have submitted to our Services.

I do not see a reason why the rights other than distribution (“use”, modify, derive) should be necessary for making my apps available in Harbour. Also, “Services” is defined as “the services we make available to you, and/or our website(s)” which can mean anything. This makes me uncomfortable with using Harbour.

2 Likes

right, Okboard and the layouts should be in the store too

this thread basically asks: why do you release your native app in openrepos and not in official store ?

so yes, wrong thread.

touche!
id assume the fact jolla cant guarantee the removal 100% of any material would fall under the redistribution term.

I don’t quite understand what you mean. Did I totally misread something?

Sailfish Secrets
MPRIS
Multiple Binaries
Systemd user services

3 Likes

ähhhhm… MESSAGING :wink:

What do you mean with messaging? Websocket support? Are Websockets currently unallowed?

From the top of my head, for Whisperfish (apart from the obvious “I want to use Rust”):

  • Contact API, to list contacts (look-up based on phone number). We’re currently reading contacts.db rawly, I don’t like it :slight_smile:
  • I use some Silica components that are undocumented/in Sailfish.Silica.private: mainly BubbleBackground would be nice to have. I think Nico from Konheko would like that too.
  • A background daemon, although not planned in the near future, will be added to Whisperfish one day.
1 Like