Community meeting on 30th May 2024

Name: jojomen
Topic: Software licences
TIme needed: 5 minutes

Please elaborate a bit on the good news about the GPL v3 “not being a problem” (announced during Love Day) and the possibility to open source parts (like happened briefly in October last year)

(edit for clarity and incorporating note from @nephros )

6 Likes

Just to be precise: GPLv3 (specifically the “Anti-Tivoization Clause”) is what was seen a problem for the Jolla Business. (Because this clause was designed to be precisely that.)

1 Like

I’d add to that:
Are there any plans to allow offloading some of the compute to a desktop/laptop with an nvidia gpu? (sitting on the same home wlan as the mind2)
How is jolla planning to deal with ISPs that don’t offer public ip? Wireguard wouldn’t work afaik as it needs a public IP, only something like ZeroTierOne but that requires a third party and puts the privacy at risk, or is Jolla going to provide such service?
(pls just add it to the bucket of questions, the meetings are always during worktime for me, so won’t be able to attend)

1 Like
  • Name/IRC nick: Matti Viljanen (direc85)
  • Topic: Catching Ctrl-Enter in QML
  • Some details about the topic: Many desktop chat applications can be configured so that while typing a message, Enter on the keyboard makes a new line and Ctrl-Enter or Shift-Enter sends the message. Using a Bluetooth or USB keyboard with Sailfish OS, it doesn’t seem to be possible to catch the modifier keys in QML TextArea item to replicate the behaviour. Is it possible to catch the modifiers, and if so, how could it be done? If not, would it be possible to have this feature in a future release?
  • Approx. time needed: 10 minutes
  • Substitute (optional): None needed, this is a quite simple question.

PS. Yes, the context is Whisperfish here, but this should apply to Messages and other messaging applications too - if they choose to implement it. There are plenty of other keyboard-navigation ideas I have, but let’s start with this first.

  • Name/IRC nick: Matti Viljanen (direc85)
  • Topic: Delete email action for events view
  • Some details about the topic: As I receive quite a lot of update notifications via email, and just reading the title is enough, it would be handy if there was a third action for the email in events view - deleting the email. I’m sure others users too would find good use of the feature. Some applications already provide more than two actions, for example WhatsApp messages offer three actions, so that shouldn’t be an issue. Could this feature be added to to Email in a future release?
  • Approx. time needed: 10 minutes
  • Substitute (optional): None
9 Likes
  • Name/IRC nick: Ruben - rubdos - De Smet
  • Topic: Ruby dropped from repos
  • Some details about the topic: The changelog of 4.6.0.11 mentioned the removal of Ruby from the SailfishOS repositories. I’m probably the only one using it (the university restaurant menu gets pushed to my Pebble over DBUS with that script), but I’d love to know the reasoning behind this.
  • Approx. time needed: 2 min
  • Substitute (optional): n.a.

N.b., if it’s indeed dropped indefinitely, I’ll just ChatGPT/copilot-rewrite my script to Python.

1 Like
  • Name/IRC nick: PeegeeTips
  • Topic: SailfishOS licence for 10iv and 10v - separate devices/licences, or considered as one?
  • Some details about the topic: an XA2 licence technically covered six sub-variants: XA2 (single/dual), XA2 Ultra (single/dual), XA2 Plus (single/dual). Given that the 10iv has been included after then end of sales life of its successor the 10v (and thus limited availability), and has been included mainly because it has near identical hardware to its successor (and thus low support cost), would it be reasonable to expect Jolla to sell a licence product that works with either device? i.e. there is a 10ii licence, there is a 10iii licence, and there is a 10iv/v licence. Justification - both devices are becoming harder to find, having a joint licence simply provides ease of mind that you can get a licence safe in the knowledge that it will work on whatever handset you can find that is still available to buy.
  • Approx. time needed: 2m
  • Substitute (optional): not available to attend - apologies

This came a bit too late but we’ll cover this one with a separate answer to your question.

2 Likes

Minutes: #sailfishos-meeting: Sailfish OS, open source, collaboration -- 30th May 2024
Minutes (text): https://irclogs.sailfishos.org/meetings/sailfishos-meeting/2024/sailfishos-meeting.2024-05-30-07.00.txt
Log: #sailfishos-meeting log

4 Likes

Ran into that problem with my pevious ISP. Configured a TOR hidden service for ssh on my home PC and TOR on my Jolla as a SOCKS-proxy. With a small configuration for ssh that setup allowed to log in via ssh and forward ports. I never attempted tunnelling though. Here is the relevant part of ~/.ssh/config:

Host hostname
    hostname hidden-service-host.onion
    User username-on-home-pc
    proxyCommand socat - SOCKS4A:127.0.0.1:%h:%p,socksport=9050
1 Like

Jolla Mind discord server

Looool, dropped
Seriously, proprietary, closed source, banning users of reverse engineered clients etcetc, irc too old for new investors?

2 Likes

you don’t need copilot. I’ll happily translate it into:
scheme (guile is around if you install @tomin 's patience deck).
awk/sed/sh (and obviously curl)
or python. though, python is the only language copilot is good at, so maybe I should avoid going there :slight_smile:

python team is also the only one to get fired from google

2 Likes

Well, no, but it’s so awfully stupidly simple that GPT3.5 will probably get it correct from the first try.

Now that’s an interesting one. You’ll need Dbus, Json and some time processing, but I suppose there are Guile libs that do that? Scheme does have a special place in my heart :slight_smile:

Here’s the script for reference:

#!/usr/bin/env ruby

require 'bundler/setup'

require "rubygems"
require "net/http"
require "pp"
require "time"
require "cgi"
require "dbus"

require "json"

VUB_RESTO_URL = URI("https://vub-resto.opencloudedge.be/v1/etterbeek.nl.json")

TUSSENFIX = "\n"

EMOJI = {
  "Soup" => "🥣",
  "Soep" => "🥣",
  "Menu 1" => "🍲",
  "Menu 2" => "🍳",
  "Veggie" => "🥗",
  "Fish" => "🐟",
  "Vis" => "🐟",
  "Pasta" => "🍝",
  "Wok" => "🥢",
}
EMOJI.default = "🥙"

def get_JSON()
  res = nil
  uri = URI(VUB_RESTO_URL)

  Net::HTTP.start(uri.host, uri.port,
                  :use_ssl => uri.scheme == "https") do |http|
    request = Net::HTTP::Get.new uri.request_uri

    res = http.request request
    return res.body
  end
end

def postit(data, location)
  parsed_data = JSON.parse(data)

  rockwork_svc = DBus.session_bus["org.rockwork"]
  mgr = rockwork_svc["/org/rockwork/Manager"]
  mgr = mgr["org.rockwork.Manager"]

  pebbles = mgr.ListWatches()
  pebbles.map! { |pebble_name|
    pebble = rockwork_svc[pebble_name]
    pebble["org.rockwork.Pebble"]
  }

  parsed_data.each do |node|
    today = Date.strptime(node["date"], "%Y-%m-%d")
    noon = DateTime.new(today.year, today.month, today.day, 12, 0, 0, Time.now.getlocal.zone)

    lines = []
    headings = []
    paragraphs = []

    items = node["menus"]
    until items.empty?
      dish = items.shift

      headings.push(dish["name"])
      paragraphs.push(dish["dish"])
      line = "#{EMOJI[dish["name"]]} #{dish["name"]}: #{dish["dish"]}"
      lines.push(line)
    end

    pin = {
      id: "vub-resto-" + node["date"],
      time: noon.iso8601,
      duration: 60, # 1h
      layout: {
        type: "genericPin",
        title: "Resto menu",
        body: lines.join(TUSSENFIX),
        lastUpdated: DateTime.now.iso8601,
        tinyIcon: "system://images/DINNER_RESERVATION",
        headings: headings,
        paragraphs: paragraphs,
      }
    }
    puts pin
    puts JSON.generate(pin)
    pebbles.each do |pebble|
      pebble.insertTimelinePin(JSON.generate(pin))
    end
  end
end

if ENV["VUBFOOD_LOCATION"].nil?
  warn "location not set, assume etterbeek"
  location = :etterbeek
elsif ENV["VUBFOOD_LOCATION"].downcase == "etterbeek"
  location = :etterbeek
elsif ENV["VUBFOOD_LOCATION"].downcase == "jette"
  location = :jette
end

postit(get_JSON(), location)

It may or may not be an immediate adaption of the Ruby script that I used for posting this to Matrix, which may or may not be an immediate translation of the Ruby script that people used to post this to IRC :smiley:

1 Like

Ah, I just checked on the phone:
curl https://vub-resto.opencloudedge.be/v1/etterbeek.nl.json | jq ‘.[] | select(.date == “2024-05-31”)’ | grep dish is pretty speedy. I’ve forgotten how to use map in jq, but I’d do this with jq. not sure if that’s more or less efficient since jq is a language itself.

Yeh, I don’t think it’d be that difficult to throw it together in bash with jq, but then again I’d have to have jq around :smiley:
Most of the things you’d need here are by default on SF in Python afaik.

I have jq on the phone (it’s in the repos) for fetching calendar entries and pushing them into the calendar. I also use it for test scripts for my crappy weather app. I’ll take a look later just for laughs since the calendar script is a similar problem. But you’ll have it done before I get to it, I suspect :slight_smile: I do believe all the necessary bits for a python version are there.

1 Like

Thank you for responding to the many questions brought to this community meeting!

I’ll eagerly wait for future news on the source code license(s), and I’ll start a topic on developer device licenses. (Also, thank you for yearly and perpetual license options!)

The seeming lack of kernel and driver support on the Jolla Community Phone 2 was something of a disappointment. While Xperia hardware has generally been nice, some functionality has stayed in a (semi-?)broken state even though Sony have released updates. I would expect more from a new “reference device”.

The Discord invite link for the Mind2 in the meeting minutes seems to have expired. The one provided on the https://www.jollamind2.com page may be good (it hadn’t expired, but I still couldn’t register).

2 Likes

I suppose the main purpose of C2 - as a reference phone for developers - is to have a high-quality, closer-to-hardware port available for both the sailors and the community. In that regard the specs are somewhat secondary, as long as they are adequate (which they are IMO). Having a cooperating manufacturer with adequate support, and knowing the availability/manufacturability of the device to some time into the future are way more important, I think.

And soon^tm there should be X10IV/V support, which have a lot more to offer in the specs department! Things are looking quite good actually, aren’t they?

1 Like

I agree, which is why I’m a bit disappointed. My impression from the reply is that this will be no different than for the Xperias. I may still get the C2, though.