giseldo/neodataset huggingface dataset:
[UI] introduce Service Assemblies

Show the service assemblies in the tree:
 - they are just under a container
 - the SUs are still under the component (they have exactly one component)
 - the SUs are also visible under their SA (they have exactly one SA for now...)

The SA overview should show:
 - the list of its SUs with the possibility to click on them to go to their overview

The SU overview should show (when clicking from its tree node under a component or an SA):
 - a link to their SA and a link to their component

Story points: 5.0
[API] SA lifecycle management

After #319 is done, we can introduce:
 - `PUT` on `/workspaces/ID/serviceassemblies/ID` for changing state
 - `SA_STATE_CHANGE` event in SSE

We should also remove:
 - `PUT` on `/workspaces/ID/serviceunits/ID` for changing state
 

This maybe means that the `SU_STATE_CHANGE` event will be removed but maybe not...

Story points: 3.0
[API] introduce Service Assemblies in backend

Introduce:
 - `GET` on `/serviceassemblies/ID` for read operations
 - `serviceassemblies` field in `/workspaces/ID` response
 - `serviceassemblies` field in the `WORKSPACE_CONTENT` SSE event
 - `serviceassembly` field in the SU responses

For this we may need to:
 - add some migration db step to create the existing SUs corresponding SAs and move their state to it
 - change some URLs and datatypes on the frontend for it to continue to work as before (e.g., changing the state of an SU by changing the state of its SA).

Story points: 4.0
Event from the SSE shouldn't redirect people that didn't initiate the action!

Currently, when we receive an event from the SSE about a new deployed component, SU, unloaded artefact, deleted bus, etc, everybody gets redirected to the newly deployed component or su.
But if I am not the initiator of the action, I don't want that!

The solution should be done by differentiating the direct result of the action (the success of the http call) from the indirect result of the action (the receival of the event from the SSE).

Story points: 3.0
Opened container content page interferes with workspace change

If one clicks on a container of a bus (e.g., http://linagora.gitlab.io/petals-cockpit/#/workspaces/idWks0/petals/containers/idCont0) and tries to change workspace, the following error happens:
```
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'containers' of undefined
TypeError: Cannot read property 'containers' of undefined
```

Most certainly because closing the workspace remove whatever is needed by the container content page.

Best would be to completely avoid that situation by not closing the workspace until the url changed.

Story points: 2.0
Components lifecycle management UI

See #11 

It should be using a PUT on /workspaces/WID/components/COMPID with a body:
```
{
    "state": "Started"
}
```

Note that the possible transitions are:
- shutdown->Started
- shutdown->Unloaded
- stopped->Started
- stopped->Unloaded
- started->Stopped
- loaded->Unloaded
- loaded->Started

And also it can't be unloaded if there is SUs deployed on it.

Note also that the CONFLICT status code will be returned if the transition is not valid.
So there is no way to go directly to the shutdown and loaded states, but they are states where a component can be!

You will also get an event on the SSE of type `COMPONENT_STATE_CHANGE` containing something like:
```
{
    "id": 24,
    "state": "Started"
}
```

Story points: 2.0
SU lifecycle management UI

See #12.

It should be using a PUT on /workspaces/WID/serviceunits/SUID with a body:
```
{
    "state": "Started"
}
```

Note that the possible transitions are:
- shutdown->Started
- shutdown->Unloaded
- stopped->Started
- stopped->Unloaded
- started->Stopped

Note also that the CONFLICT status code will be returned if the transition is not valid.

So there is no way to go directly to the shutdown state, but it is a state where an SU can be!

You will also get an event on the SSE of type `SU_STATE_CHANGE` containing something like:
```
{
    "id": 24,
    "state": "Started"
}
```

Story points: 3.0
Is python a prerequisite on windows ?

#### Steps to reproduce

<!-- Describe what you did (step-by-step) so we can reproduce: -->

* Execute the vbs file

#### Result
this: ![image](/uploads/69d3ee8c3df56e52aff05977b9df399a/image.png)

What it says in french is it cant find python 38 dll. Do we need python to be preinstalled and on PATH ?
#### Version
Both the stable and experimental version had this issue.
<!-- List Operating System and Glaxnimate version
From Glaxnimate you can go to "Help > About... > System" and click "Copy"
then paste here the information -->

<!-- Example file:
Attach a sample file (or files) highlighting the issue, if appropriate. -->

Story points: 3.0
Please add /usr/include/ffmpeg and /usr/lib64 to FindLibav.cmake

Please add /usr/include/ffmpeg to Libav_${comp_short}_INCLUDE_DIR search paths and /usr/lib64 to Libav_${comp_short}_LIBRARY search paths in cmake/modules/FindLibav.cmake.

Fedora-based distros use this paths for ffmpeg includes and for 64bit libraries.

Thank you.

Story points: 1.0
Scaling issue

#### Steps to reproduce

* open Glaxnimate
* load the appended file
* Go to Document > Resize
* try to resize document with either arrows or typing in a size (there might be different behaviour when appending a number to delting the contents of the textbox and writing in a new one)

#### Result

* the width for example does only go high to 703 and then flips back to 700 (I suppose it is rounding float values in the back, that is why I can do up to 3)
* I expected it to be able to go to my target resolution of 1280px

#### Version

```
Glaxnimate: 0.3.0-41-g998e16d
System: Windows 10 Version 2004
Kernel: winnt 10.0.19041
CPU: x86_64
Application Qt: 5.15.1
System Qt: 5.15.1
ZLib: 1.2.11
Potrace: potracelib 1.16
```


#### Example file:

![Information_Model.svg](/uploads/2bb88d7cf66ddeb7e204670a4c1ab8e3/Information_Model.svg)

Story points: 2.0
Python related Issues on Windows

#### Steps to reproduce

Download and start Glaxnimate for Windows

Start a Python based Plugin like Hello World and Recolor

#### Result

Python based plugins like Hello World and Recolor are crashing the application without a crashlog, log, or any other notice

#### Version

```
Glaxnimate: 0.2.0-77-g893d668
System: Windows 10 Version 2004
Kernel: winnt 10.0.19041
CPU: x86_64
Application Qt: 5.15.1
System Qt: 5.15.1
ZLib: 1.2.11
Potrace: potracelib 1.16
```

Story points: 10.0
Windows: Dark Mode issues

#### Steps to reproduce

downloaded v0.3.0 for Windows and opened it.
Changed theme to dark one in Edit > Preferences > Widget Theme > System Default -> Dark
hit apply

#### Result

The Dark Theme does not get applied correctly. A few fields are white; making it hard to read.

#### Version

```
Glaxnimate: 0.2.0-77-g893d668
System: Windows 10 Version 2004
Kernel: winnt 10.0.19041
CPU: x86_64
Application Qt: 5.15.1
System Qt: 5.15.1
ZLib: 1.2.11
Potrace: potracelib 1.16
```

### Example File

![dark-mode](/uploads/31cef7bff294ba2d546e1bd54222d6fa/dark-mode.PNG)

Story points: 5.0
Can't Install v0.3.0 on Arch Linux (Arch based OS. via AUR glaxnimate-bin)

#### Steps to reproduce

following the instructions from the homepage: 
git clone https://aur.archlinux.org/glaxnimate-bin.git
cd glaxnimate-bin
makepkg -rsi

#### Result

error with wrong sha occures.
[glaxnimate_sha1sums_error.txt](/uploads/2b085fffa69f4d55061dc64214492f6f/glaxnimate_sha1sums_error.txt)

correcting the sha zu the correct one from the downloaded debian package results in the following error:
[glaxnimate_error.txt](/uploads/b7285f5fb4ad8b6f03e23cd7e1af5aec/glaxnimate_error.txt)

the second one seemingly correspondents to the issue: #194 maybe the first one, too.

#### Version

```
uname -a
Linux _PCNAME_ 5.9.2-arch1-1 #1 SMP PREEMPT Thu, 29 Oct 2020 17:01:28 +0000 x86_64 GNU/Linux
glaxnimate v0.3.0
```

Story points: 4.0
Can't Install v0.3.0 on Kali Linux (Debian Based OS)

#### Steps to reproduce

downloaded the debian package from the stable downloads section: https://glaxnimate.mattbas.org/download/#stable-releases
downloading that file: https://gitlab.com/mattbas/glaxnimate/-/jobs/artifacts/release/raw/build/glaxnimate.deb?job=linux%3Adeb
running sudo apt install ./glaxnimate.deb in the downloads Folder

#### Result

this error Log occurs:
```
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'glaxnimate' instead of './glaxnimate.deb'
The following additional packages will be installed:
  libpotrace0
The following NEW packages will be installed:
  glaxnimate libpotrace0
0 upgraded, 2 newly installed, 0 to remove and 111 not upgraded.
Need to get 26.2 kB/9,977 kB of archives.
After this operation, 55.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 /home/kali/Downloads/glaxnimate.deb glaxnimate amd64 0.3.0+deb-893d668b [9,951 kB]
Get:2 http://kali.download/kali kali-rolling/main amd64 libpotrace0 amd64 1.16-2 [26.2 kB]
Fetched 26.2 kB in 1s (35.3 kB/s) 
Selecting previously unselected package libpotrace0:amd64.
(Reading database ... 277166 files and directories currently installed.)
Preparing to unpack .../libpotrace0_1.16-2_amd64.deb ...
Unpacking libpotrace0:amd64 (1.16-2) ...
dpkg: warning: parsing file '/var/lib/dpkg/tmp.ci/control' near line 2:
 'Depends' field, reference to 'libpotrace0':
 implicit exact match on version number, suggest using '=' instead
Selecting previously unselected package glaxnimate.
Preparing to unpack .../kali/Downloads/glaxnimate.deb ...
Unpacking glaxnimate (0.3.0+deb-893d668b) ...
dpkg: error processing archive /home/kali/Downloads/glaxnimate.deb (--unpack):
 unable to create '/usr/share/glaxnimate/glaxnimate/lib/python-lottie/addons/blender/lottie_io/lottie/__init__.py.dpkg-new' (while processing './usr/share/glaxnimate/glaxnimate/lib/python-lottie/addons/blender/lottie_io/lottie/__init__.py'): No such file or directory
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
 /home/kali/Downloads/glaxnimate.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
```

#### Version

```
uname -a
Linux kali 5.7.0-kali1-amd64 #1 SMP Debian 5.7.6-1kali2 (2020-07-01) x86_64 GNU/Linux
```
glaxnimate version 0.3.0

Story points: 4.0
Icons missing  in I/O "windows" -  GNU/Linux Appimage

Hello, 

when i load or save the project , icons are missing in the  I/O( open, save, import, etc...) "windows"'

Beside that i cannot resize the  I/O "windows".

![missing3](/uploads/68d5ec1bd4aa20ca3de51a39b19a5e0d/missing3.png)

Story points: 3.0
UI Problem with GNU/Linux Appimage

Hello,
i have a problem with the UI and Appimage ( GNU/Linux).
In particular the timeline is  "compressed" or not completely visible.

```
System:
0.1.4+appimage-ffd62d22
Pop!_OS 20.04 LTS
linux 5.4.0-7642-generic
x86_64
5.15.0
5.15.0

Monitor 4K ( 3840x2160) - monitor scale 200%
```

I tried also to load the app with `Exec=env QT_SCALE_FACTOR=1.6` but it's not working.

EDIT: updated Screnshot:

![scale16](/uploads/1faed74e285f26bef29269322264894d/scale16.png)

Story points: 5.0
Insert Image file name type masks are offset somehow

#### Steps to reproduce

1. Open Glaxnimate
2. Insert Image...
3. Select the PNG file name type
4. Select the SVG file name type

#### Result

Actual result: Selecting the PNG file type here causes it to match JPG files, and selecting the SVG file type causes it to match PNG files.

#### Version

macOS 11.4
Glaxnimate 0.4.3-11-g8157dfe

Story points: 6.0
Trace crashes on Apple Silicon

#### Steps to reproduce

1. Installed dependencies with Brew
2. Built using slightly modified build steps to find the correct paths
3. Opened it
4. Inserted an image
5. Right clicked on the layer
6. Selected Trace...

#### Result

Expected: Apparently a trace dialog should open?
What really happened: It crashed.

#### Version

macOS 11.4
Glaxnimate 0.4.3-11-g8157dfe

Attaching logs:
[glaxnimate_trace_crash_log.txt](/uploads/157a48558ffcf91f8e432c38b6b6ae3d/glaxnimate_trace_crash_log.txt)

Story points: 7.0
trace - color management improvements

An undo for the auto detect colours would be nice, and/or some way to lock in certain colours so they don't get reselected, eg I want to pick a couple of colours and not have them forgotten because I clicked auto to see what it would pick

A way to remove a specific colour would also be cool (although I just saw you can rearrange the list and then remove the last one, I still think it'd be more intuitive if there was just an "x" for each colour or something)

Story points: 5.0
Add CMake Dependencies into AUR packages

in the AUR packages [glaxnimate-bin](https://aur.archlinux.org/packages/glaxnimate-bin/) and [glaxnimate-git](https://aur.archlinux.org/packages/glaxnimate-git/) is [cmake](https://archlinux.org/packages/extra/x86_64/cmake/) in the dependencies list missing. it is needed. i repoted the issue in the telegram group (i am thecraftguy).

Story points: 2.0
Dotlottie Export

Steps to reproduce

<!-- Describe what you did (step-by-step) so we can reproduce: -->

* Open Glaxnimate
* Draw any random vector object like square or star
* Export as dotLottie

#### Result

<!-- Describe what happened and what the expected result would be -->
Export stops halfway, message appears "plugin raised an exeption", no export of file occurs


<!-- List Operating System and Glaxnimate version
Glaxnimate: 0.5.2+win-09923d6f
System: Windows 11 Version 22H2
Kernel: winnt 10.0.22621
CPU: x86_64
Application Qt: 6.4.2
System Qt: 6.4.2
ZLib: 1.2.13
Potrace: potracelib 1.16
Libav: Lavu56.70.100, Lavf58.76.100, Lavc58.134.100, SwS5.9.100
libarchive: 3.6.2


<!-- Example file:
Attach a sample file (or files) highlighting the issue, if appropriate. -->

Story points: 3.0
New layer does not get a range of frames when made - properties shows 1st frame 0 and last frame -1

A peculiar problem which I so far have just ignored because it was possible to set the frames in properties afterwards but when using a free form line this is impractical. Basically a new layer does not get a range of frames when made - properties shows 1st frame 0 and last frame -1 - so it is not visible. This can be changed in properties as mentioned. It happens in Glaxnimate: 0.5.2+appimage-757aea71 on Linux Mint 21.1 but in the stable version 0.5.1 it doesn't happen here a new layer is give a default range of 0 to 180 making it fully visible. Is there a setting/preference which needs to be set in the 0.5.2?

Glaxnimate: 0.5.2+appimage-757aea71
System: Linux Mint 21.1
Kernel: linux 5.15.0-60-generic
CPU: x86_64
Application Qt: 5.15.2
System Qt: 5.15.2
ZLib: 1.2.11
Potrace: potracelib 1.13
Libav: Lavu56.70.100, Lavf58.76.100, Lavc58.134.100, SwS5.9.100
libarchive: 3.1.2


![new_path_layer_no_frames](/uploads/8fb80f25e52db2165b6200be86663770/new_path_layer_no_frames.png)

Story points: 2.0
app icon not showing in the gnome app grid when installed as flatpak

Thanks for the great app!

There is a small issue regarding the app icon in the app drawer: is not shown when the app is installed as a flatpak at least on my machine.

I *think* it is because while the app icon itself is installed as `org.mattbas.Glaxnimate.svg`, the icon name referenced in the desktop file is `glaxnimate`. Changing it to `org.mattbas.Glaxnimate` fixes it. ( [flatpak documentation](https://docs.flatpak.org/en/latest/freedesktop-quick-reference.html) )

Story points: 1.0
dev version 12th february crashes on image export on linux 21.1 mint

I tried the DEV version from CET evening today 12th feb. 

Glaxnimate: 0.5.1+appimage-ce927c1f
System: Linux Mint 21.1
Kernel: linux 5.15.0-58-generic
CPU: x86_64
Application Qt: 5.15.2
System Qt: 5.15.2
ZLib: 1.2.11
Potrace: potracelib 1.14
Libav: Lavu56.70.100, Lavf58.76.100, Lavc58.134.100, SwS5.9.100
libarchive: 3.2.2

Unfortunately it crashes on attempting to export to images. In the export menu it does not allow you to select a folder - it just shuts down. And I was silly enough to delete the older DEV appimage which was working fine. Is it possible to be able to download the older DEVs so I can export to images again?

Story points: 3.0
Import from Lottiefiles seems to be broken on Linux

#### Steps to reproduce

<!-- Describe what you did (step-by-step) so we can reproduce: -->

* Open Glaxnimate
* Click on "File", then on "Import from LottieFiles"
* Search for "Let it snow"
* Click on second file top left, called "let it snow"
* Click on "Import" button

#### Result

Error message pops up:
![image](/uploads/57388829b1ca61733b73e82fa0ac8266/image.png)

#### Version

Glaxnimate: 0.5.1+flatpak-69-g56a4473f
System: Arch Linux
Kernel: linux 6.1.10-AMD-znver2
CPU: x86_64
Application Qt: 5.15.8
System Qt: 5.15.8
ZLib: 1.2.13
Potrace: potracelib 1.16
Libav: Lavu57.28.100, Lavf59.27.100, Lavc59.37.100, SwS6.7.100
libarchive: 3.6.2


<--------------------->
Additional information:

This is the glaxnimate-git package on Arch Linux. 
I have seen the same issue with the glaxnimate package. 
This issue is also present on every lottie file I have tried to import. 
Saving the file to disk and then importing it has the same results.

I don't have other operating systems to try on, so I don't know if it's related to my OS, some version of a package in my OS or anything. 
A few months ago Arch moved away from python2, and it's now depreciated, with python3 taking it's place. These two are not exactly compatible, so if you are using python scripts to handle the import this may be where the issue lies.

Story points: 2.0
Error could not load first frame for Animation timing

When animating a counter with an SVG from Inkscape (counting from 1960 to 1970 using text), the first timing (visibility) settings (25 f each decade) works fine however the last 3 looses their timings. When reopening the project file giving the error - could not load first frame for Animation timing. Is there a maximum of timings you can set and I have exceeded the limit?

![loosing_timings_set](/uploads/37b025e7541fd80d105d1690633168f0/loosing_timings_set.png)

![loosing_timings_set_error](/uploads/44e778a38d04a474a255274db7bc4a80/loosing_timings_set_error.png)

![loosing_timings_lost](/uploads/68d8d728dbb07021f9d20b3dcead8272/loosing_timings_lost.png)

Story points: 2.0
Export options using video

The export option for video: When I choose video as output from a 24 fps 1920x1080 canvas the video file is rather poor and blocky as is usual for a low bitrate and low quality settings. I have tried to max out the bitrate at 10000 which improves the video but I would still want it to improve. If I analyse the output video in mediainfo I get a rather low bit rate of just under 2000 kps. How can I further improve the video quality. I see that other output formats are supported like H264 and H265 but how are they selected?

Glaxnimate: 0.5.1+appimage-214afdfb (DEV version)
System: Linux Mint 21.1
Kernel: linux 5.15.0-57-generic
CPU: x86_64
Application Qt: 5.15.0
System Qt: 5.15.0
ZLib: 1.2.11
Potrace: potracelib 1.13
Libav: Lavu56.70.100, Lavf58.76.100, Lavc58.134.100, SwS5.9.100
libarchive: 3.1.2

![export_options](/uploads/6fa4251f4a5843684ba65f9ce0cf0607/export_options.png)
![export_video_mp4_bitrate](/uploads/cf88b7cd07114627ab2e441d4b49618b/export_video_mp4_bitrate.png)
![media_info_video_mp4_bitrate](/uploads/07e3ac60e2e0180f5e89eee6aa37246d/media_info_video_mp4_bitrate.png)
![video_export_formats](/uploads/f87428e8b9d9cbcfb45a0924d7e4c88b/video_export_formats.png)

Story points: 7.0
Deb package 0.5.1 fails to install on Debian 11 Bullseye due to libpython 3.10 requirement

I noticed that the stable Deb package (version `0.5.1+deb-3a75daf1`) installation results in a broken package on Debian 11 Bullseye. This is due to the missing dependency on libpython 3.10. This cannot be satisfied in Debian 11 (which has Python 3.9, see https://tracker.debian.org/pkg/python3-defaults).

My workaround suggestion (in the absence of a second Deb package) is to specify this specific dependency in the [Deb section of the download page](https://glaxnimate.mattbas.org/download/#deb-package). Something like "requires Python 3.10".

Story points: 1.0
Export frames as png

Can an option be added to export an animation as individual pngs (or exrs, tiffs, jpgs etc)?

I'm using 0.5.1+deb-da745bc5 and there appear to be no lossless image output options

![Screenshot_from_2022-10-10_21-14-44](/uploads/a11c818f9a4871fa3480a27d57410172/Screenshot_from_2022-10-10_21-14-44.png)

Story points: 3.0
Window too big for the resolution of my laptop

#### Steps to reproduce

* Set your resolution to 1366x768
* Open Glaxnimate

#### Result

First, when I opened it for the first time the window was filing more than the screen. I used holded <kbd>SUPER</kbd> to resize the window, and although horizontally the window fit, I couldn't resize the window any more vertically. To deal with this I had to hold <kbd>SUPER</kbd> everytime I needed to go to the timeline.

#### Version

OS: Fedora Linux 36 (Workstation Edition) <br />
GNOME VERSION: 42.4 <br />
Glaxnimate: 0.5.1 <br />
System: KDE Flatpak runtime <br />
Kernel: linux 5.19.7-200.fc36.x86_64 <br />
CPU: x86_64 <br />
Application Qt: 5.15.6 <br />
System Qt: 5.15.6 <br />
ZLib: 1.2.11 <br />
Potrace: potracelib 1.16 <br />
Libav: Lavu57.28.100, Lavf59.27.100, Lavc59.37.100, SwS6.7.100 <br />
libarchive: 3.5.2

![Kooha-2022-10-06-21-21-04](/uploads/1d48e0020af539bd564f0978308482f0/Kooha-2022-10-06-21-21-04.webm)

Story points: 5.0
[RAWR] BUG: SAVE, REOPEN wrong path or node...

hi

i find bug for RAWR for save the project.

reproduce:
-import file SVG in glaxnimate
-save in RAWR
-close glaxnimate
-reopen Glaxnimate; open file rawr

there is missed path or open the path, (wrong saving in rawr)

so i did tested for JSON (not rawr)
result correct path/node..

here file SVG (inkscape)
![bug.svg](/uploads/ddcf39b18c67b3e9548d62f356020d2e/bug.svg)


**this is BUG**

here file RAWR (imported from file svg)
[bug-rawr.rawr](/uploads/e57b0078ae7119fdbb3ddaa5cac96f9c/bug-rawr.rawr)

from file RAWR to JSON: same issue bug
[bug-rawr-to-json.json](/uploads/935c657906bedc92cf3d2f2413db4d46/bug-rawr-to-json.json)


**this is not BUG**

from file SVG (import) to JSON: WORKS, not bug
[bug-svg-to-json.json](/uploads/b7a34abc5986b1e2fa42781746ac5bdc/bug-svg-to-json.json)

Story points: 2.0
Incomplete gradient colours warning info during import

When importing a file, warnings about gradient colours are shown (Invalid value for ..). Whether the extended logs should be implemented that can tell more specifically what is wrong with the colours?\
![sand_glass_import_gradient_errors](/uploads/b97472c4236dd586849f49c2e94e7669/sand_glass_import_gradient_errors.png)

Example: [sand-glass_orig](https://gitlab.com/mattbas/glaxnimate/uploads/881eefd153c8e9eeb29a869402481f3e/sand-glass_orig.tgs) #512

Story points: 2.0
[0.5.0] - Unable to download Source Tarball

#### Steps to reproduce

<!-- Describe what you did (step-by-step) so we can reproduce: -->

* Navigate to https://gitlab.com/mattbas/glaxnimate/-/releases/0.5.0
* Click on "Source Tarball" in the "Download" table (https://gitlab.com/mattbas/glaxnimate/-/jobs/artifacts/0.5.0/raw/glaxnimate-src.tar.gz?job=tarball)

#### Result

Error 404 - Page Not Found

#### Additional information
https://glaxnimate.mattbas.org/download/ with https://gitlab.com/mattbas/glaxnimate/-/jobs/artifacts/release/raw/glaxnimate-src.tar.gz?job=tarball is *not* a viable alternative to this as it's missing any kind of version reference in either the url or the file name itself, e.g. we package 0.5.0, tarball gets updated and our 0.5.0 package starts to build 0.6.0 - you get the idea.

Story points: 2.0