jamulussoftware / jamulus

Jamulus enables musicians to perform real-time jam sessions over the internet.

Home Page:https://jamulus.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Prepare release 3.10.0

ann0see opened this issue · comments

Target timeline

Scheduled feature freeze / Start of translation process: 2023-07-30
Targeted translation completion date: 2023-08-20
Approximate release date: 2023-09-03
Current state: Released

Checklist

  • Assign this issue to the release shepherd who is in charge of managing this checklist. (skipped)
  • Pin this issue
  • Ensure that all issues/PR targeted for this release are done by checking the Project board with the appropriate filter for this release. Remind main developers to review entries in Waiting on team state.
  • Agree to de-tag unfinished Issues/PRs.
  • Declare a freeze for code and website by updating this Issue and adding a comment. PRs can still be worked on and may get reviewed, but must not be merged unless agreed explicitly.
  • Check the needs documentation label for any outstanding PRs flagged for this release and remove that label if done.
  • Start App translations (moved in 3.10.0 - template to be updated)
    • Generate .ts files in main via lupdate and merge to main
    • Create issues on Github, assigned to translators, for the new release: (skipped due to overhead - should we simplify this?)
      • Check if the list of translators in tools/create-translation-issues.sh is up-to-date. (skipped?)
      • Make sure issue text is up-to-date.
      • Create a translation issue for each language with tools/create-translation-issues.sh using app argument.
    • Create an announcement on Weblate telling translators about the new release
  • Start Website translations
    • Check ./Jamulus -h output against the Include-Client/Server-Commands.md pages and man page (distributions/Jamulus.1). Update if necessary.
    • Check for broken links
    • Open a Pull Request from next-release to release, set it as "Draft", sanity check for conflicts and any obvious problems.
    • Declare a full freeze of the next-release and release branch. No changes should be made from now on to ensure translators don't have to work twice.
    • Create an announcement on Weblate telling translators about the new release
    • Create issues on Github, assigned to translators, for the new release: (skipped due to overhead - should we simplify this?)
      • Check if the list of translators in tools/create-translation-issues.sh is up-to-date.
      • Make sure issue text is up-to-date.
      • Add any URLs that will need localization into the "New/Changed screenshots" section.
      • Create a translation issue for each language with tools/create-translation-issues.sh using web argument (see notes in script).
    • If anyone finds critical issues now, all translators must be made aware of them and all languages should be updated.
  • Update the Changelog
  • Tag a beta release
    • Inform emlynmac for signing on macOS, and upload signed binary from his repo to ours
    • Announce the beta release on Github Discussions. Pin the thread.
    • Get feedback on the stability and resource usage (memleaks?, crashes?, installation issues?) of the beta release
  • Finish App translations
    • Review translation and/or Weblate PRs according to release process checklist
    • Wait for all PRs to be merged (missing translations will revert to English automatically).
    • Check for conflicting accelerator keys (see tools/checkkeys.pl)
    • Generate .qm files via lrelease Jamulus.pro
  • Finish Website translations (including new screenshots)
    • Wait for all PRs to be merged (missing translations will revert to English automatically)
    • Check for broken links
  • Check the milestone for mergable stuff again
  • Update the Changelog
  • Tag a release candidate (inform emlynmac for signing on macOS and upload signed binary from his repo to ours).
    • Announce the release candidate on Github Discussions. Pin the thread. Unpin and lock the beta thread.
    • Draft an announcement, include all contributors via tools/get_release_contributors.py
  • Update the version number in Jamulus.pro and add the release date to the Changelog header and commit
  • Update the Changelog
  • Tag this commit as r3_y_z
    • Wait for the build to complete
    • Contact emlynmac for signing on macOS and upload signed binary from his repo to ours.
    • Do a smoke test for Windows/Mac/Linux -- Do the binaries start/connect properly? Can earlier Jamulus versions properly connect to a server based on the new release?
    • Force tag that tag as latest and push.
    • Upload the artifacts to SourceForge and set defaults.
    • Update download links on the website by editing _config.yml in next-release
    • Disable branch protection rule of the release branch by clicking on "Edit" on the Branches page and adding a _ behind release. (Not needed in this release)
    • Publish Website release by squashing and merging next-release into release
    • Enable branch protection rule of the release branch after the site and the .po files are published by removing the _ from the branch protection rule you edited on the Branches page. (Not needed in this release)
  • Announce the new release with a summary of changes (+ link to the changelog for details) and a link to the download page
    • On Github Discussions in the Announcements section. Lock the announcement thread. Pin the thread. Unpin and lock release candidate thread.
    • On Facebook in the group "Jamulus (official group)". Turn off replies.
  • Trigger the update notification by updating both Update Check Servers with the new version (@pljones for update02, email corrados for update01)
  • [Prepare Jamulus.pro (dev suffix) and ChangeLog (add a header) for the next release
  • Check that all Issues and PRs tagged for this release are in Done/Closed state.
  • Close the release milestone in both jamulus and jamuluswebsite repos
  • Create a milestone for the next minor release in jamulus and jamuluswebsite repos
  • Update this template in https://jamulus.io/contribute/Release-Process with any improvements if needed.
  • Unpin and close this issue
  • Determine if a release retrospective is needed, create on Discussions if required

I think if we get the GPG key sorted out, only documentation is missing.

Release announcement should document that < Windows 10 devices will no longer work and macOS legacy is now no longer officially supported.

Find Merge commits since last release tag (r3_9_1) where no milestone has been set (so they're not set for 3.10.0, although they're in it) - for jamulussoftware/jamulus:
echo '{ "merge_commits": ['; git log --graph --oneline r3_9_1.. | grep '^\*' | grep 'Merge' | sed -e 's/^.* #\([0-9]*\).*$/\1/' | while read pr; do gh pr view --json number,author,assignees,state,milestone $pr | jq -cM 'select(.milestone.title != "Release 3.10.0") | { "number": .number, "author": .author.login, "assignees": .assignees|map(.login), "state": .state, "milestone": .milestone.title}'; done; echo ']'; echo '}'

{ "merge_commits": [
    {"number":3057,"author":"ann0see","assignees":[],"state":"MERGED","milestone":null},
    {"number":3053,"author":"app/dependabot","assignees":[],"state":"MERGED","milestone":null},
    {"number":3051,"author":"app/github-actions","assignees":[],"state":"MERGED","milestone":null},
    {"number":2833,"author":"ann0see","assignees":[],"state":"MERGED","milestone":null},
    {"number":3025,"author":"app/github-actions","assignees":[],"state":"MERGED","milestone":null},
    {"number":3015,"author":"app/github-actions","assignees":[],"state":"MERGED","milestone":null},
    {"number":2964,"author":"app/dependabot","assignees":[],"state":"CLOSED","milestone":null}
]}

I'll get those updated.

These appear to be the commits to jamulussoftware/jamulus main without a PR:

* / / 4237dcb2 Add JSON- RPC server connection tips (#3101)
* | | | 0fc62759 Update qm files
* | | | e25567a5 Update .ts files
* | | da4fee94 Display server title correctly in dark mode (#3008)
* / / / 07722bfa Update .qm files
* | dd01e008 Maintenance: Remove references to master branch
* 70757086 Set version to 3.9.1dev

4237dcb and da4fee9 had PRs but presumably not merge commits.

07722bf, 0fc6275 and e25567a appear to relate to weblate - not sure why these were merged to main directly?

dd01e00 this looks like the only one without a PR that possibly "should" have had one. I've mentioned it in #2840, which looks like the right issue for it.

7075708 documented in the 3.9.1 preparation guide.

Qm and ts file updates are not PR worthy, I'd say. We'll push these directly to main per release process.

The squashes are due to PRs which had too many commits.

I was going to do a similar review of jamulussoftware/jamuluswebsite but ... it looks like it works differently in general, without merge commits. That means finding the PRs is difficult.

I noticed there are two commits on release called

RELEASE: Update Website for post 3.9.1 release

3c06e15d 2022-10-18 (#853) and 4712042b 2022-11-01 (#866) - but there's no actual release tag.

HEAD of release is at 818929de 2023-06-21.

On next-release, there's a whole load of commits from 10058386 2022-11-02 through to 99637288 2023-06-20 before:

  • 5615c9f8 2023-06-21 Merge release into next-release [github-actions[bot]]

and, of course, some more after.

The website doesn't have a tag since the release branch is basically the current state. In the beginning we thought that for each release we'd have a squash.

I believe we can declare a freeze for the code after #3106 is merged. The website still needs some investigation (man page check, broken links, macOS change)

Updated checklist with Weblate amendments.

https://github.com/jamulussoftware/jamuluswebsite/blob/next-release/wiki/en/Running-a-Server.md#server-mode-related-options is probably the new link to server commands.

Findings:
jamulus -h needs an update from directoryserver --> directoryaddress (and the man page)
I think the website is up to date.

The code seems to be correct. Not sure why Jamulus -h outputs the wrong help text. Will compile again.

Updated the .ts and .qm files now: 8aa28e9

The code seems to be correct. Not sure why Jamulus -h outputs the wrong help text. Will compile again.

I get

  -e, --directoryaddress  address of the Directory with which to register
                          (or 'localhost' to run as a Directory)

Yes. After a new compile it's ok. Probably I used an outdated version

I'd declare the code now as frozen. The website has some smaller PRs.

We can Tag a beta soon. @pljones feel free to do so

Are we still raising translation issues?

  1. Notify all the translators that translation is required
    Use tools/create-translation-issues.sh to create and assign issues (see usage notes in script). Also post on GH and Discord to notify.

Yes. (But only for the app for now as the website is still in progress - macOS is outstanding).

And does this look okay from the Autobuild?

Run ./.github/autobuild/get_build_vars.py
JAMULUS_PRO_VERSION='3.10.0beta1'
building a version of type "release": 3.10.0beta1
BUILD_VERSION='3.10.0beta1'
PUBLISH_TO_RELEASE='false'

OK, the translations script has a problem:

$ ./tools/create-translation-issues.sh 3.10.0 2023-08-20 app
Creating app translation issues
Creating Issue to translate de_DE for 3.10.0
Updating Issue to translate de_DE for 3.10.0
Creating Issue to translate es_ES for 3.10.0
Updating Issue to translate es_ES for 3.10.0
Creating Issue to translate fr_FR for 3.10.0
Updating Issue to translate fr_FR for 3.10.0
Creating Issue to translate it_IT for 3.10.0
Updating Issue to translate it_IT for 3.10.0
Creating Issue to translate ko_KR for 3.10.0
GraphQL: Could not resolve to a User with the login of 'bagjunggyu'. (u000)

If the assigned user isn't visible on Github, the script bails out. It would be better if it assigned it to whoever's running the script...

I've applied:

  • 5beaac4 2023-07-30 create-translation-issues: remove "bagjunggyu" and use gh login [Peter L Jones]

@pljones I think you need to tag the commit as r3_9_1beta1 (due to our bad naming, I think it's not r3_10_0beta1, however, tagging it as RC is probably best as we're further in the release then last time. So for RCs r3_10_0rc1 would be ok)

Also something broke the release checklist... Probably the script overwrote it ;-) (see description of this issue.)

Also something broke the release checklist... Probably the script overwrote it ;-) (see description of this issue.)

Ugh.... I was wondering where the Korean had gone. How on earth did it manage that!

Better check that commit I made ... :(

No problem - the edit history is still there. I've created #3133

@pljones I think you need to tag the commit as r3_9_1beta1 (due to our bad naming, I think it's not r3_10_0beta1, however, tagging it as RC is probably best as we're further in the release then last time. So for RCs r3_10_0rc1 would be ok)

The Release Process should explain the naming convention clearly... I thought I'd followed it but was a bit suspicious...

See edited by pljones:
grafik

... should explain the naming convention clearly... I thought I'd followed it but was a bit suspicious...

Agree. I think we can also change the convention - but this needs to be documented...

Check if the list of translators in tools/create-translation-issues.sh is up-to-date

@pljones I think you're working on that. I'll post a note on weblate.

@emlynmac we've pushed a RC. Could you please push the code to your repo that we have a signed pre release?

8c68afa 2023-07-30 (HEAD -> main, origin/main) create-translation-issues: improve search for existing issues [Peter L Jones]

This should improve the check for existing issues to prevent what happened earlier happening again. (There were two matches for the Korean title search - this issue and the one that had been created. Unfortunately, the script chose this one to update as the body didn't match... I've changed how the search works to use a jq check, which eliminates the problem.)

Create an announcement on Weblate telling translators about the new release

Um, not sure about how to do this. The link doesn't do anything for me? (I'm probably not in the translators group.)

You need to have a Weblate account. You can create it by logging in via GitHub. But I already did that for the app

Yeah, I logged in using my Github account... OK, I'll leave that as having been done.

Problems with ./tools/get_release_contributors.py for the contributors, too:
(... represents an obfuscated email address)

$ ./tools/get_release_contributors.py --from r3_9_1 --to r3_10_0rc1 --repo .
WARNING unable to find a github profile with public email ...
WARNING unable to find a github profile with public email ...
WARNING unable to find a github profile with public email ...
WARNING unable to find a github profile with public email ...
Code contributors: @ann0see, @comradekingu, @danryu, @declension, @hoffie, @ignotus666, @mcfnord, @pljones, @Rob-NY
WARNING unable to find a github profile with public email ...
WARNING unable to find a github profile with public email ...
WARNING unable to find a github profile with public email ...
WARNING 4882f002c87a6942f435eb5510d44e3add3fd3d3 has not GitHub author, saving as empty
WARNING unable to find a github profile with public email ...
WARNING 4c8ff3341743283e70f729a03744248d633da480 has not GitHub author, saving as empty
WARNING unable to extract GitHub login or real name from '...'
WARNING unable to find a github profile with public email ...
WARNING dcc70e25e7196214d7902f08877d9b6c2566763f has not GitHub author, saving as empty
WARNING unable to find a github profile with public email ...
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING 9d94ede14c5423fa295757ecfc7334574b993b07 has not GitHub author, saving as empty
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING 4d3f66b3a65a1d294e9767d703e5ca5be69e72f9 has not GitHub author, saving as empty
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING 7ba3a94010200993f16fa2402137ee4efb579d5b has not GitHub author, saving as empty
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING 0430616a9ed13b3fe74cf8a43dfde83f6481e839 has not GitHub author, saving as empty
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
WARNING 553e87ac46a8aa27cb843a8b0e9e08722ea7510e has not GitHub author, saving as empty
WARNING search/users for ... failed with code 403
WARNING 0dab0e2568205af7882a71e38d8a0b3d94a14abe has not GitHub author, saving as empty
WARNING search/users for ... failed with code 403
WARNING search/users for ... failed with code 403
Traceback (most recent call last):
  File "..../tools/get_release_contributors.py", line 286, in <module>
    main(args.from_, args.to)
  File "..../tools/get_release_contributors.py", line 180, in main
    print_app_translators(from_, to)
  File "..../tools/get_release_contributors.py", line 194, in print_app_translators
    return print_contributors('Application translators', ['src/translation'], from_, to)
  File "..../tools/get_release_contributors.py", line 202, in print_contributors
    contributors = [u for u in find_contributors(git_log_selector, from_, to) if
  File "..../tools/get_release_contributors.py", line 253, in find_contributors
    return sorted(contributors, key=str.casefold)
TypeError: descriptor 'casefold' for 'str' objects doesn't apply to a 'NoneType' object

There's one line saying

Code contributors: @ann0see, @comradekingu, @danryu, @declension, @hoffie, @ignotus666, @mcfnord, @pljones, @Rob-NY

which might be correct...

I think I remember why we had one version before the release for betas: It was to avoid triggering the update message

I think I remember why we had one version before the release for betas: It was to avoid triggering the update message

We should neither offer nor accept non-release versions from the update checks...

I think that's already fixed.

Yeah, I thought so. 👍

@ignotus666 @trebmuh @jujudusud due to massive conflicts, I'll probably need to reset the Website weblate.

(I was too quick by merging my PRs)

Thanks for getting on top of the Weblate stuff!

As the nb_NO translation is only 46% complete, should we drop it from the app entirely - or at least mention that, unless we get a maintainer, it will be dropped from the next release?

The sv_SE and sk_SK are heading below 50% coverage, too, so it might be worth highlighting them as well.

Dropping no. But mentioning is ok.

Since the website PRs have been merged, I'll declare the website as frozen now.

Unfortunately Weblate is currently not available

@jamulussoftware/translators the Website is now frozen too. You can now start translating as no changes are planned. If you no longer want to contribute, please comment in this issue (#3094) if you want to be added as translator, please comment too. We are especially in need of a translator for nb_NO. More translators for ko_KR and de_DE would be appreciated too.

the Website is now frozen too. You can now start translating as no changes are planned.

Is there a list of images that needs updating?

No. I think that the settings needs updating for Audio alerts/small network buffers. But I'm not aware of much more.

Based upon my memory of the translation, also Server options images need updating. Was hoping it was already checked :)

EDIT: Server images no longer part of the documentation, so only the three images for settings in client need to be updated.

Based upon my memory of the translation, also Server options images need updating. Was hoping it was already checked :)

We removed the server screenshots (people running GUI servers are a small minority we think, and the GUI should be self-explanatory against the command line docs, we hope)

Oh actually, the "self labelling" check boxes are new I think?

https://user-images.githubusercontent.com/1549463/248553489-9ef871f6-32d1-4a2a-9f6f-29e23c40a629.png
https://user-images.githubusercontent.com/1549463/248553617-bdeb935a-c923-44a8-86d3-1f14d0fb0355.png
https://user-images.githubusercontent.com/1549463/248553725-353df7ba-f232-45a5-9f18-bdb8c630a1a8.png

settings-profile.inc
settings-network.inc
settings-advanced.inc

Beyond 3.10.0 the app strings need work just as much as the website needs something like https://github.com/jamulussoftware/jamuluswebsite/pull/843/files

If it was all translated now, I don't see how accuracy could be maintained.
Taking the quesswork out of fixing or commenting on some of https://hosted.weblate.org/zen/jamulus/jamulus-app/nb_NO/?q=state:empty would help a lot.

I've applied some of your suggestions for the release of the next website release. Others can follow in future.

For the strings in the app I'd say it's worth collecting a list of problems and also trying to get them in sync with our style guide. But that's all part of another GitHub issue.

https://user-images.githubusercontent.com/1549463/248553725-353df7ba-f232-45a5-9f18-bdb8c630a1a8.png

@gilgongo, which OS are you using to test/generate the images? The Input Balance slider seems odd like this.

https://user-images.githubusercontent.com/1549463/248553725-353df7ba-f232-45a5-9f18-bdb8c630a1a8.png

@gilgongo, which OS are you using to test/generate the images? The Input Balance slider seems odd like this.

I don't think I took these screenshots. Was it @pljones as part of #2996 ?

Seems like Linux to me. Maybe lxqt as desktop

https://user-images.githubusercontent.com/1549463/248553725-353df7ba-f232-45a5-9f18-bdb8c630a1a8.png

@gilgongo, which OS are you using to test/generate the images? The Input Balance slider seems odd like this.

Odd in what way?

Windows:
image

Linux (KDE Plasma 5.24.7, Breeze):
image

Odd in what way?

Odd in that the slider is filled with blue on the left side in Linux, while on windows the slider is the same left and right and only the knob has a colour.

It depends on the skins. It would be different on a different theme on Linux. Qt will use the system theme (particularly on KDE, as that's Qt-based). It would be different on Windows if I had a dark theme or chose different colour highlights, I think.

Just meant the left and right side of a "center" balance slider looks odd to me like this.

image

Got to admit, I am mainly a Windows user (so also used how Qt styles this by default in Windows). It does seem though that this can be defined in a stylesheet setting as well so we can get a consistent look on both platforms.

It's moving from 0% right to 100% right. So when centred, it's 50% filled in. I don't know if there's a way of telling the Qt widget that "50%" means zero and it should fill from there to the handle.

Technically correct indeed, but not from a users point of view. Also when you move the slider to the Left, the value reads R -50, not 0% and when you move it to the right it reads L -50. As the Center position is defined as being the 0 point.

On Windows it just does not show the "filling" in the groove which could be due to some size logic or other OS related item.
Checking now if by setting a stylesheet option will disable the filling in Linux as well. I did not find any information on defining the center as 0.

Checking now if by setting a stylesheet option will disable the filling in Linux as well. I did not find any information on defining the center as 0.

It is possible to get the similar look on Windows and Linux (and think macOS) using a stylesheet, though the stylesheet will change the appearance as well. Think (not sure) that using the stylesheet also effects color and how it is inherited from the OS settings. Guess will leave it as is for now.

@emlynmac Are you around this coming week? We're intending to have the app finalised tomorrow, so cutting a second rc will be possible - it would be good to have this signed.

Then we'll be looking to release 2023-09-03, so we'll be looking to get that signed as soon as possible. Would that be okay?

@henkdegroot,

On Windows it just does not show the "filling" in the groove which could be due to some size logic or other OS related item.

Or styling on a particular Windows version skin.

Checking now if by setting a stylesheet option will disable the filling in Linux as well. I did not find any information on defining the center as 0.

For info, Android looks pretty much the same as Linux (different font, though):
Screenshot_20230819-134937-snip

One downside with the stylesheet is that it also removes the ticks. You can get them back but then you need to write your own function for that. Guessing the Windows platform is the odd one in this case. On Windows, this does not only apply to the balance fader but also to the mixer faders. Not sure if it is important enough to change, I never missed it when I use Jamulus on Windows.

@jamulussoftware/translators The website is now locked again - I'll run linkcheck on the website.

@jamulussoftware/translators The website is now unlocked and the most serious issues have been fixed.

Once the last Weblate PR is merged, we should check accelerator key clashes and push a RC

Check for conflicting accelerator keys (see tools/checkkeys.pl)

I ran tools/checkkeys.pl from the commandline in the root directory and got


Possible duplicate hotkeys:

@softins does that mean that everything is ok?

This is the weblate translator list:

* Korean

    * ann0see <redacted> (5)
    * Allan Nordhøy <redacted> (16)
    * 이정희 <redacted> (338)


* Polish

    * Cloudburst <redacted> (1)
    * Eryk Michalak <redacted> (25)
    * ann0see <redacted> (27)


* Swedish

    * Skarvinius <redacted> (1)


* Dutch

    * ann0see <redacted> (1)
    * jerone <redacted> (5)
    * Henk De Groot <redacted> (1207)


* Italian

    * Allan Nordhøy <redacted> (12)
    * ann0see <redacted> (16)
    * ignotus <redacted> (21)
    * Massimo Pissarello <redacted> (33)
    * Gico2006 <redacted> (137)
    * Giuseppe <redacted> (152)


* German

    * Katja Flinzner <redacted> (1)
    * Deleted User <redacted> (2)
    * Allan Nordhøy <redacted> (3)
    * Iva Hristova <redacted> (9)
    * ignotus <redacted> (19)
    * Ettore Atalan <redacted> (102)
    * ann0see <redacted> (552)


* French

    * ann0see <redacted> (47)
    * cosas <redacted> (93)
    * Julien Taverna <redacted> (763)
    * Olivier Humbert <redacted> (884)


* Chinese (Simplified)

    * 이정희 <redacted> (1)
    * ann0see <redacted> (1)
    * Kingo Bingo <redacted> (1)
    * SoulGI <redacted> (1)
    * Gary Wang <redacted> (2)
    * Allan Nordhøy <redacted> (12)
    * ignotus <redacted> (21)
    * Jason Li <redacted> (21)
    * yangyangdaji <redacted> (806)


* Norwegian Bokmål

    * Wdt@.+_- <redacted> (9)
    * Allan Nordhøy <redacted> (322)


* Portuguese (Portugal)

    * Allan Nordhøy <redacted> (3)
    * Melcon Moraes <redacted> (5)
    * ignotus <redacted> (24)


* Spanish

    * Allan Nordhøy <redacted> (1)
    * ann0see <redacted> (2)
    * gallegonovato <redacted> (50)
    * ignotus <redacted> (550)


* Portuguese (Brazil)

    * Allan Nordhøy <redacted> (2)
    * Felipe Nogueira <redacted> (8)
    * Zer0-Zer0 <redacted> (19)
    * Adonias Almeida <redacted> (26)
    * gbonaspetti <redacted> (59)
    * Melcon Moraes <redacted> (75)

got from https://hosted.weblate.org/projects/jamulus/#reports

Check for conflicting accelerator keys (see tools/checkkeys.pl)

I ran tools/checkkeys.pl from the commandline in the root directory and got


Possible duplicate hotkeys:

@softins does that mean that everything is ok?

It was only ever an aid to manual checking, not a fully automated check. I haven't tried it recently, but will have a go on the current main.

Pushed RC 2 - there's a formatting error with the translators in the changelog, I believe it must be updated anyway https://github.com/jamulussoftware/jamulus/releases

@emlynmac I've pushed the RC to your repo now. It's building.

Ok. It seems as if the signing was broken due to the update. We need to supply the appstore-connect-team-id @emlynmac how should we proceed? Can you add this to your repo?

Check for conflicting accelerator keys (see tools/checkkeys.pl)

I ran tools/checkkeys.pl from the commandline in the root directory and got


Possible duplicate hotkeys:

@softins does that mean that everything is ok?

It was only ever an aid to manual checking, not a fully automated check. I haven't tried it recently, but will have a go on the current main.

The checkkeys.pl script needs to be run in the src/translation directory, where the *.ts files are. Otherwise, it just exits without doing anything. So:

tony@pi:~/jamulus $ cd src/translation
tony@pi:~/jamulus/src/translation $ ../../tools/checkkeys.pl
Language: de_DE
Language: es_ES
Language: fr_FR
......

I have just run it in the current main branch, and the output is at https://gist.github.com/softins/65a46e8aa1582a028ebc9bc97fce667f

Where multiple items are listed for a key, it is necessary manually to check and understand whether those items are conflicting in the same context, or are independent, for example by being in different drop-down menus. I never worked out how to enhance the script to be able to do so intelligently itself.

Ok. Thank you very much for the information. I think this should be documented somewhere.

I am just going through the manual checking on 3.10.0rc2. Almost all ok, but a small number of conflicts. I will raise a PR for the corrections today or tomorrow.

I am just going through the manual checking on 3.10.0rc2. Almost all ok, but a small number of conflicts. I will raise a PR for the corrections today or tomorrow.

See #3156

Hm. Don't the app translations need completing and builds created so that the new screenshots for the website translations can be done? At the moment, the app translation follows the website - it should really come first.

Yes. That would make more sense

Hm. Don't the app translations need completing and builds created so that the new screenshots for the website translations can be done? At the moment, the app translation follows the website - it should really come first.

We need to split the translation project on Weblate as it is on github. Then it will be possible. In addition, the issues need to go into the right project on github, the script also needs to be split.

The script has app and web arguments and should create the issues in the right project already. (Not checked - no reason it shouldn't, though.) The script could (does?) support separate app and web translator lists, too. My main concern is that it can't notify Weblate translators directly yet.

Hm. Don't the app translations need completing and builds created so that the new screenshots for the website translations can be done? At the moment, the app translation follows the website - it should really come first.

The checklist has Finish App Translation (which includes generating .qm files) before Finish Website Translation (or did you already update that?)

Localized screenshots would be great, but source strings ones would help in the same manner.
If not fully automated, maybe put off the localized ones till all source strings are in good shape.
It is possible to manually arrange the listing of components on Weblate, by attributing priority.
Not sure that is the issue raised.
There is an API to reach translators via announcements.

(or did you already update that?)

Yeah, updated this - not the template.

@comradekingu @pljones thanks for the information. Could you please put this information into https://github.com/orgs/jamulussoftware/discussions/3140 I hope that we can make the Weblate process a bit more smooth.

#3164 needs a change log entry. Also the Weblate PRs need to be documented.

@pljones @gilgongo could you please have a look at the release announcement? From first sight, I believe we are almost ready to tag the release.

I believe we need a release retrospective here - especially for the weblate stuff raised by @pljones ...

Ok. Tagged the release: https://github.com/jamulussoftware/jamulus/releases/tag/r3_10_0 Waiting on the build.

Smoke tests:

  • Linux Debian x86_64 build works (also installed via repo)
  • macOS Client (Intel non legacy) works
  • Windows 10 11 - ASIO4ALL doesn't open but JACK Router shows output. Needs an external test Tested working by DonC

Windows 11 tested for ASIO (via ReaRoute) and JACK (also using ReaRoute... I like Reaper).

@corrados I believe we can update the Directories to the new Release?

We're only missing a signed macOS build. @emlynmac is AFK for the moment, so this could take some time.

It's done:
grafik
Thank you for creating the new version :-)

Thank you very much @corrados

Both there now:
image
image

OK... if we're going to push our Debian/Ubuntu repo, we should change the front page "Download" links so the Debian/Ubuntu one points to the guide on setting up the install repo.
image
So Debian/Ubuntu should be Debian/Ubuntu. (And change Download to Install, too.)

One line version, by the way:

{ curl -s https://raw.githubusercontent.com/jamulussoftware/jamulus/main/linux/setup_repo.sh \
  && echo 'apt install jamulus'; } | sudo bash -e

(or apt install jamulus-headless). Note that I got

E: Could not get lock /var/lib/apt/lists/lock. It is held by process 145119 (apt-get)
E: Unable to lock directory /var/lib/apt/lists/

because apt-daily.service was running (in fact, mine had crashed a couple of days ago, so it was worth me finding out!).

Facebook announcement posted.

[ ] Update this template in https://jamulus.io/contribute/Release-Process with any improvements if needed.

Moving to release retro, closing here.

Unpinned and closed.