beat issueshttps://gitlab.idiap.ch/groups/beat/-/issues2019-07-04T08:37:00Zhttps://gitlab.idiap.ch/beat/beat.web/-/issues/400[algorithms] When sharing, cannot fine-tune source-code visibility of libraries2019-07-04T08:37:00ZAndré Anjos[algorithms] When sharing, cannot fine-tune source-code visibility of librariesA functionality like the one for attestation/experiments would be a good enhancement.A functionality like the one for attestation/experiments would be a good enhancement.https://gitlab.idiap.ch/beat/beat.web/-/issues/390[experiments] Clicking 'save' button brings to the list of experiments2019-07-04T08:37:00ZPavel KORSHUNOV[experiments] Clicking 'save' button brings to the list of experimentsOn the experiment editing page, when I click 'Save' button, it brings me to the list of all the experiments, so if I want to continue editing the experiment, I have to click on its name in the list again and wait for it to load.
Inst...On the experiment editing page, when I click 'Save' button, it brings me to the list of all the experiments, so if I want to continue editing the experiment, I have to click on its name in the list again and wait for it to load.
Instead, when clicking 'Save', can it just save experiment and continue staying on the same editing page?
In any case, if I want to see the list of experiments, I can click in the corresponding section of the experiment's name at the top of the page.Philip ABBETPhilip ABBEThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/225When opening a new algorithm, editor checks for "integer" dataformat that mig...2019-07-02T13:24:53ZZohreh MOSTAANIWhen opening a new algorithm, editor checks for "integer" dataformat that might not be available.When you try to make a new algorithm it gives and error "Reference dataformats [integer, integer] not found". The reason is that to make the correct template for the algorithm the editor checks for "integer" data format to exist, otherwi...When you try to make a new algorithm it gives and error "Reference dataformats [integer, integer] not found". The reason is that to make the correct template for the algorithm the editor checks for "integer" data format to exist, otherwise it gives an error. Even though the dataformat "integer" seems very obvious to be a part of a typical custom prefix, it is not the case.
There are two solutions to this problem:
1. When the user wants to make a new algorithm a message pops up and says "you need this, do you want me to create it"
2. At the beginning when the editor checks the sanity of the prefix the same window pops up. (similar to the behaviour regarding protocoltemplates)
Steps to reproduce:
- Open editor v2.
- Go to File -> New -> algorithm -> New.
- Press ok.
It gives the error "Reference dataformats [integer, integer] not found".
It should just make a new algorithm and such underlying issues should be transparent to the user as much as possible.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/docs/-/issues/8Various documentation warnings2019-07-02T10:29:31ZAndré AnjosVarious documentation warningsThere are some various documentation warnings being emitted with the current aggregated documentation. While some are OK-ish, others are not. We need to go through all of these and correct them ASAP.There are some various documentation warnings being emitted with the current aggregated documentation. While some are OK-ish, others are not. We need to go through all of these and correct them ASAP.Zohreh MOSTAANIZohreh MOSTAANIhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/240ParameterWidget needs better size handling2019-07-02T08:56:34ZSamuel GAISTParameterWidget needs better size handlingSummary
ParameterWidget has way too much white space when showing "small" editors
Steps to reproduce
Open a plotter and look at the parameters
What is the current bug behavior?
Depending on the type of parameter and it's setup, th...Summary
ParameterWidget has way too much white space when showing "small" editors
Steps to reproduce
Open a plotter and look at the parameters
What is the current bug behavior?
Depending on the type of parameter and it's setup, there's too much vertical
space.
What is the expected correct behavior?
We should have the editor take just the height needed.
Possible fixes
The widget should be resized when the current editor changes[v2] 1 - Edition/Visualization for small editorsSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.core/-/issues/83Test prefix: plotters empty uses not present2019-06-28T13:14:47ZFlavio TARSETTITest prefix: plotters empty uses not presentThis issue tracks inconsistency with the json libraries management in the plotter and other editors such as the library editor.
Description of the issue:
In the test prefix, the plotters contain a "uses" key targeting the libraries th...This issue tracks inconsistency with the json libraries management in the plotter and other editors such as the library editor.
Description of the issue:
In the test prefix, the plotters contain a "uses" key targeting the libraries that are used.
When used we have:
```python
"uses": {
"baselib": "plot/baselib/1"
}
```
When no libraries are defined I was expecting to have something like this:
```python
"uses": {}
```
However we get no "uses" key in the dictionary at all. This is counter-intuitive and works at the opposite of what is done for the libraries editor where no libraries used mean having:
```python
"uses": {}
```
in the json file.Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/docs/-/issues/11Inter-package documentation links are broken2019-06-28T11:36:28ZAndré AnjosInter-package documentation links are brokenInter-package documentation links are not correct at build time because of dependencies or rather depending on packages that are not dependencies (beat.doc is not a dependency of beat.core). The documentation conf.py file should try to g...Inter-package documentation links are not correct at build time because of dependencies or rather depending on packages that are not dependencies (beat.doc is not a dependency of beat.core). The documentation conf.py file should try to grab information from the package like version and the URL for the final documentation from environment variables.Zohreh MOSTAANIZohreh MOSTAANIhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/229Adding the name of the asset being edited on the top of the edit/json widget2019-06-28T09:58:15ZZohreh MOSTAANIAdding the name of the asset being edited on the top of the edit/json widgetIt is necessary to have the name of the asset being edited somewhere on the right side of the editor. The reason is that at the moment if you have an asset open, and on the list of the assets on the left you click on some other thing, on...It is necessary to have the name of the asset being edited somewhere on the right side of the editor. The reason is that at the moment if you have an asset open, and on the list of the assets on the left you click on some other thing, only once (not double click), that object gets the focus but it is not open. Therefore what you see that is selected is not what is being actually edited.
The idea is to add the name of the asses on the top of the edit/json widget.
If we have the name there it will be useful if there are multiple windows open. see #228.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/238disable focus for mouse wheel on the spinboxes2019-06-28T07:58:17ZZohreh MOSTAANIdisable focus for mouse wheel on the spinboxesThe issue is that when you are scrolling on an editor page that includes spinboxes (a big dataformat), the focus of the mouse can easily change to one of the spinboxes. You are scrolling down and suddenly it stops scrolling, by the time ...The issue is that when you are scrolling on an editor page that includes spinboxes (a big dataformat), the focus of the mouse can easily change to one of the spinboxes. You are scrolling down and suddenly it stops scrolling, by the time you realize why it is not scrolling the value of some of the spinboxes have already changed and it is safe to assume that user does not know the previous value!
If this focus functionality is disabled the problem will probably is solved.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.tutorial.prefix/-/issues/3Plotterparameters contain a mix of changed/unchanged values2019-06-27T15:22:34ZFlavio TARSETTIPlotterparameters contain a mix of changed/unchanged valuesPlotterparameters should `ONLY` contain in the json file and show what differs from its plotter (that's how it was implemented on beat.web)
I see 2 issues here:
1) Some default unchanged values are present
2) Some other values are not ...Plotterparameters should `ONLY` contain in the json file and show what differs from its plotter (that's how it was implemented on beat.web)
I see 2 issues here:
1) Some default unchanged values are present
2) Some other values are not present
We have to stick to either one solution or the other `rewrite all parameters or ONLY the changed ones`Flavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.web/-/issues/530CI currently failing on missing PNG output for dot2019-06-26T07:58:38ZAndré AnjosCI currently failing on missing PNG output for dotThe CI on the master branch is failing on 2 tests from beat/beat.cmdline (involving the use of graphviz via a `draw` command).
The relevant output is the following (from, e.g., https://gitlab.idiap.ch/beat/beat.web/-/jobs/167089):
```t...The CI on the master branch is failing on 2 tests from beat/beat.cmdline (involving the use of graphviz via a `draw` command).
The relevant output is the following (from, e.g., https://gitlab.idiap.ch/beat/beat.web/-/jobs/167089):
```text
Warning: Could not load "/scratch/builds/iJyPBhV4/0/beat/beat.web/miniconda/envs/beat-web/lib/graphviz/libgvplugin_pango.so.6" - file not found
Warning: Could not load "/scratch/builds/iJyPBhV4/0/beat/beat.web/miniconda/envs/beat-web/lib/graphviz/libgvplugin_pango.so.6" - file not found
Format: "png" not recognized. Use one of: canon cmap cmapx cmapx_np dot dot_json eps fig gv imap imap_np ismap json json0 mp pdf pic plain plain-ext png pov ps ps2 svg svgz tk vml vmlz xdot xdot1.2 xdot1.4 xdot_json
...
subprocess.CalledProcessError: Command '['dot', '-Tpng', '-O', '/tmp/beat.core.testw6ox_zkl.tmpdir/experiments/user/user/double_triangle/1/double_triangle']' returned non-zero exit status 1.
```
So, the `dot` command is failing on the beat.web CI, which uses the raw shell in the builder.
The test of beat/beat.cmdline passes with flying colors (https://gitlab.idiap.ch/beat/beat.web/-/jobs/167089), **but** all drawing tests are skipped in this case!
On the mac this seems to work flawlessly, but not on the shell-based CI.https://gitlab.idiap.ch/beat/beat.editor/-/issues/213Plotter Parameter issue on creation2019-06-25T09:28:05ZFlavio TARSETTIPlotter Parameter issue on creation**Summary**
The plotterparameter editor on beat.editor is not consistent with the behavior we have on the web platform. It doesn't save the changes but all the fields from the plotter it targets.
**Steps to reproduce**
When creating a...**Summary**
The plotterparameter editor on beat.editor is not consistent with the behavior we have on the web platform. It doesn't save the changes but all the fields from the plotter it targets.
**Steps to reproduce**
When creating a new plotter parameter, **ONLY** the updated parameters from the plotter should be saved in the `json`, **not everything**.
Each time an entry is modified, it's added to the json data of the plotterparameter. Unchanged values shouldn't be updated and saved if they were never touched.
**What is the current bug behavior?**
All parameters from the plotter get saved to the newly created plotterparameter.
**What is the expected correct behavior?**
They should be shown visually without being saved in the json data file
**Relevant logs and/or screenshots**
Please have a look on the beat web platform for a better understanding of the problem
`This is what is shown on screen after creation and during edition:`
![plotterparameter_test_shown_1](/uploads/170dbbf47a4825da12d183dbb611d580/plotterparameter_test_shown_1.png)
![plotterparameter_test_shown_2](/uploads/c22520078288c6e2fd89b386d4e5a9c3/plotterparameter_test_shown_2.png)
`This is what is saved after update on one field:`
![plotterparameter_test](/uploads/634b95fc785b1cf9655c0045d58f1f26/plotterparameter_test.png)
`This is what we have after creation or small update on one field on beat.editor:`
![plotterparameter_beat_editor](/uploads/215b46102267f5a9278504f71de9feab/plotterparameter_beat_editor.png)
**Possible fixes**
Having a signal that checks which parameter field has been updated[v1] Ongoing patching until [v2] is readyJaden DIEFENBAUGHJaden DIEFENBAUGHhttps://gitlab.idiap.ch/beat/beat.core/-/issues/82Improve duplicate key handling2019-06-19T05:13:48ZSamuel GAISTImprove duplicate key handlingThis issue tracks the implementation of duplicated key handling in JSON files used.
In normal situation, the files should be edited and stored using beat/beat.editor> or currently still beat/beat.web> however if one does edit the declar...This issue tracks the implementation of duplicated key handling in JSON files used.
In normal situation, the files should be edited and stored using beat/beat.editor> or currently still beat/beat.web> however if one does edit the declaration file by hand, errors like duplicated key might be introduced which won't be caught as loading a JSON file line by line will result in a dictionary with the last entry being used (which is normal behavior when dealing with dictionary type of containers).
In our case, the system will generate an error so that nothing will run with unexpected values.Soft loopsSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.examples/-/issues/15String default values used in place of float for float types for plotters2019-06-17T06:02:28ZFlavio TARSETTIString default values used in place of float for float types for plottersString default are used in place of float for float types for plotters.
This affects the implementation of the "Plotter Editor" especially at the creation of the spinboxes that checks strictly for the correct typeString default are used in place of float for float types for plotters.
This affects the implementation of the "Plotter Editor" especially at the creation of the spinboxes that checks strictly for the correct typeFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.backend.python/-/issues/25Handle duplicate key in json data2019-06-17T05:48:34ZSamuel GAISTHandle duplicate key in json dataCurrently loading a json file that contains a key multiple times will result in the last entry being used.
To avoid getting strange result, implement a hook that will raise an error and stop there.Currently loading a json file that contains a key multiple times will result in the last entry being used.
To avoid getting strange result, implement a hook that will raise an error and stop there.Soft loopsSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.tutorial.prefix/-/issues/2String default values used in place of float for float types for plotters2019-06-07T20:07:18ZFlavio TARSETTIString default values used in place of float for float types for plottersString default are used in place of float for float types for plotters.
This affects the implementation of the "Plotter Editor" especially at the creation of the spinboxes that checks strictly for the correct typeString default are used in place of float for float types for plotters.
This affects the implementation of the "Plotter Editor" especially at the creation of the spinboxes that checks strictly for the correct typeFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/219AssetModel latest only feature is incomplete2019-06-03T09:36:59ZSamuel GAISTAssetModel latest only feature is incompleteSummary
The "latest only" property implement of AssetModel is currently incomplete and does not work for all asset types.
Steps to reproduce
```
model = AssetModel()
model.prefix_path = "path/to/prefix"
model.asset_type = "AssetType....Summary
The "latest only" property implement of AssetModel is currently incomplete and does not work for all asset types.
Steps to reproduce
```
model = AssetModel()
model.prefix_path = "path/to/prefix"
model.asset_type = "AssetType.DATAFORMAT"
asset_list = model.stringList()
model.setLatestOnlyEnabled(False)
full_asset_list = model.stringList()
assert asset_list != full_asset_list
assert len(asset_list) < len(full_asset_list)
```
What is the current bug behavior?
The same list of assets is returned for types that are neither database nor protocol templates.
What is the expected correct behavior?
The two lists should be different if the prefix contains several versions of these assets
Possible fixes
Implement the same "un-filtering" for all assets where it make sense.
The fix will require beat/beat.core!76[v2] 1 - Edition/Visualization for small editorsSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.core/-/issues/76Clean up the schemas2019-06-02T02:18:24ZJaden DIEFENBAUGHClean up the schemas(@samuel.gaist this is the issue for our email discussion)
Both !55 and !65 showed that there were places to improve the schema. This issue expands on those MRs' work by using the v6/v7 json schema features (where appropriate) and addin...(@samuel.gaist this is the issue for our email discussion)
Both !55 and !65 showed that there were places to improve the schema. This issue expands on those MRs' work by using the v6/v7 json schema features (where appropriate) and adding tests to complicated parts of the schema. Right now I know of a couple of things that need to be done:
- [x] Use the `const` schema keyword instead of the `enum` with only one choice. This issue is documented in the schema, e.g. in beat.core/beat/core/schema/algorithm/3.json:
```json
115- "type": {
116: "$comment": "Change enum to const when tools allow v6 json schema",
117- "type": "string",
118- "enum": ["loop_user"]
119- }
--
144- "type": {
145: "$comment": "Change enum to const when tools allow v6 json schema",
146- "type": "string",
147- "enum": ["loop"]
148- }
```
- [ ] Use the `if`/`then`/`else` keywords from json schema v7 to represent more complex logic (e.g. the changes to algorithm parameters in !65)
- As found in !65, there are parts of the schema that aren't tested thoroughly. This is nebulous issue, however, so @flavio.tarsetti @samuel.gaist could you maybe specify what I should do here, so I don't go off the rails?
(As other issues are isolated, I'll add them to the list)Jaden DIEFENBAUGHJaden DIEFENBAUGHhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/218Docker BEAT environment support2019-05-29T12:25:07ZSamuel GAISTDocker BEAT environment supportIn order to setup an experiment, one need the list of localy available environments.
To avoid the detection being done at each start, a cache file will be created when needed.In order to setup an experiment, one need the list of localy available environments.
To avoid the detection being done at each start, a cache file will be created when needed.[v2] 3 - Experiment editorSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.examples/-/issues/14Wrong algorithm V1 parameters value in declaration2019-05-28T14:45:18ZSamuel GAISTWrong algorithm V1 parameters value in declarationFollowing the development of beat/beat.core!65, it has been discovered that part of the v1 algorithms provided by this repository have an issue: some of their numerical parameters have their default value stored as string rather than num...Following the development of beat/beat.core!65, it has been discovered that part of the v1 algorithms provided by this repository have an issue: some of their numerical parameters have their default value stored as string rather than number.
This was fixed by !19 and !20 however, taking into account that the live platform has already some experiment that ran using these algorithm, updating them will break the cache (which in itself is not an issue) but also would require to re-run certified experiment which is a no-go.
The decided course of action is the following:
- Reverse !19
- Reverse the last fixes done in !20
- Implement a fully self-contained algorithm version 1 schema (done in beat/beat.core!65)
This will allow to have algorithm using still using the V1 left untouched while enforcing the correct data types for newer algorithms.Samuel GAISTSamuel GAIST