beat.editor issueshttps://gitlab.idiap.ch/beat/beat.editor/-/issues2019-10-02T12:00:49Zhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/248QMenu for push button lifetime issue2019-10-02T12:00:49ZSamuel GAISTQMenu for push button lifetime issueSummary
While doing tests to check whether PySide2 could be used, an issue has been found with the handling of QMenu when used in a helper function to generate a QPushButton, the related QMenu and QActions.
On return of the method, th...Summary
While doing tests to check whether PySide2 could be used, an issue has been found with the handling of QMenu when used in a helper function to generate a QPushButton, the related QMenu and QActions.
On return of the method, the QMenu object is destroyed with PySide2 while not with PyQt5.
This is likely related to the fact that QPushButton::setMenu does not take ownership of the QMenu. So it likely is garbage collected at the end of the method.
Steps to reproduce
```
import sys
from PySide2.QtWidgets import QApplication
from PySide2.QtWidgets import QAction
from PySide2.QtWidgets import QMenu
from PySide2.QtWidgets import QPushButton
def build_button_with_menu():
button = QPushButton("The button")
menu = QMenu("The menu")
button.setMenu(menu)
action = menu.addAction("The action")
return button, action
app = QApplication(sys.argv)
button, action = build_button_with_menu()
action.triggered.connect(app.quit)
sys.exit(app.exec_())
```
What is the current bug behavior?
This will trigger a property error saying that triggered has no connect property.
Checking the action itself will show the correct type but the signal object related methods will be missing.
What is the expected correct behavior?
No error, the connection gets created, the button is shown and when clicking on the action, the application should stop.
Possible fixes
The fix is to give the QMenu a parent, in this case, the button itself, so its lifetime doesn't end with the end of the method.[v2] 1 - Edition/Visualization for small editorsSamuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/246Correct base types management in AssetModel2020-08-10T08:39:27ZSamuel GAISTCorrect base types management in AssetModelSummary
The DataFormat base types provided through AssetModel shall not be used everywhere a DataFormat is used.
An analysis must be done to determine where exactly it make sense to have them and also if they must be made availble toge...Summary
The DataFormat base types provided through AssetModel shall not be used everywhere a DataFormat is used.
An analysis must be done to determine where exactly it make sense to have them and also if they must be made availble together with the other Dataformats provided by the prefix.
AssetModel shall be purged from these types and a dedicated subclass created if it makes sense to provide them all in one or more places in the code.
Depending also on whether these base types should be the only type used, another model might be created or [QStringListModel](https://doc.qt.io/qt-5/qstringlistmodel.html) used directly in these cases.[v2] 1 - Edition/Visualization for small editorsFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/245Improve error handling2019-12-11T09:57:48ZSamuel GAISTImprove error handlingSummary
Currently, there's lot of code triggering a RuntimeError which in turn will make beat.editor stop.
Most of these situations should be gracefully handled. If possible, a fix should be proposed to the user so he can continue work...Summary
Currently, there's lot of code triggering a RuntimeError which in turn will make beat.editor stop.
Most of these situations should be gracefully handled. If possible, a fix should be proposed to the user so he can continue working.
Steps to reproduce
1) Create a new Plotter
2) Load the plotter
This will make beat.editor crash as the new Plotter will be based on the prototype that contains an invalid entry.
This situation is already reported in #244
What is the current bug behavior?
beat.editor will end there
What is the expected correct behavior?
beat.editor should not stop
Possible fixes
The user should get a message about what is going wrong. If possible a fix should be proposed and applied if accepted.
In any case, the editor should continue working.[v2] 1 - Edition/Visualization for small editorsFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/244Improve plotter new creation handling2019-10-04T15:12:49ZSamuel GAISTImprove plotter new creation handlingSummary
Currently when creating a new Plotter, the prototype contains "plot/unknown/1".
This has problematic implications:
- The editor will fail to load it
- Test will fail because the editor can't load that dataformat
Steps to repr...Summary
Currently when creating a new Plotter, the prototype contains "plot/unknown/1".
This has problematic implications:
- The editor will fail to load it
- Test will fail because the editor can't load that dataformat
Steps to reproduce
1) Click on new
2) Select Plotter
3) Try to edit the plotter created
What is the current bug behavior?
An error is raised and it make the application fail
What is the expected correct behavior?
Either:
- Show a dialog asking to select a dataformat to use.
- Select a suitable dataformat from the prefix. Maybe a simple default like for the algorithm prototype.
Possible fixes
One possibility could be to have a method called after the dialog has been closed that can be re-implemented in sub-classes to do whatever is needed for the newly created object.
Another would be to move the dialog logic in its own method so re-implementing _createNewAsset would be easier.
Note that this affects beat/beat.editor!101[v2] 1 - Edition/Visualization for small editorsFlavio TARSETTIFlavio TARSETTIhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/242Delete button does not ask for confirmation if you are deleting an asset that...2019-10-04T15:12:53ZZohreh MOSTAANIDelete button does not ask for confirmation if you are deleting an asset that is not being edited at the time.If you are editing an asset and delete the same asset the dialogue box says something like "you are about to delete the asset you are editing currently, are you sure", but if you try to delete another asset while you are still editing an...If you are editing an asset and delete the same asset the dialogue box says something like "you are about to delete the asset you are editing currently, are you sure", but if you try to delete another asset while you are still editing another asset (This is possible because you are able to borrows the files on the left of the editor window), it just deletes the asset without asking any confirmation. This is not good since users can delete some files by accident and there is no way to recover them from the editor at the moment (there is no undo).https://gitlab.idiap.ch/beat/beat.editor/-/issues/241Make the size of the dialogue boxes changable2020-02-26T11:01:22ZZohreh MOSTAANIMake the size of the dialogue boxes changableWhen you are saving an asset the name of the asset being saved is written on the top of the dialogue box in the format <username>/<asset_name>/<version> , which usually is a long string but the size of the dialogue box is very small and ...When you are saving an asset the name of the asset being saved is written on the top of the dialogue box in the format <username>/<asset_name>/<version> , which usually is a long string but the size of the dialogue box is very small and this string is not readable. Also the user cannot change the size of the box as well which means cannot read the name of the asset being saved. This can be problematic as explained in #230 (closed bug).
The dialogue box for deleting an asset is also fixed in size. At the moment there is no name on the top of the dialogue box but it may become necessary in the future.Flavio TARSETTIFlavio TARSETTIhttps://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.editor/-/issues/233An empty json file in the wrong directory format crashes the editor2019-10-04T15:12:53ZZohreh MOSTAANIAn empty json file in the wrong directory format crashes the editorIf a user adds an empty json file in the wrong directory structure using file manager or command line like following:
Usually this is the correct structure:
prefix/dataformats/<username>/<dataformatname>/1.json
Lets make a file directly...If a user adds an empty json file in the wrong directory structure using file manager or command line like following:
Usually this is the correct structure:
prefix/dataformats/<username>/<dataformatname>/1.json
Lets make a file directly in <username> folder so we will have:
prefix/dataformats/<username>/1.json
If the editor is already open it shows it in the list of the files without giving any warning to the user. But then if you open this new json file the editor will close and this error is shown in the log:
```
Traceback (most recent call last):
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/widgets/assetwidget.py", line 356, in loadAsset
self.watcher.addPath(self.current_asset.declaration_path)
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/backend/asset.py", line 208, in declaration_path
storage = self.type.storage(self.prefix, self.name)
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/src/beat.backend.python/beat/backend/python/dataformat.py", line 77, in __init__
raise RuntimeError("invalid dataformat name: `%s'" % name)
RuntimeError: invalid dataformat name: `zmostaani/1'
Aborted
```
Now if you try to run the editor again this will be the error:
```
Traceback (most recent call last):
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/widgets/dataformateditor.py", line 601, in <lambda>
lambda: self.dataformat_model.setPrefixPath(self.prefix_path)
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/backend/assetmodel.py", line 182, in setPrefixPath
self.reload()
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/backend/assetmodel.py", line 119, in reload
json_files = _find_json_files(asset_folder)
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/backend/assetmodel.py", line 70, in _find_json_files
asset_items = os.scandir(path)
NotADirectoryError: [Errno 20] Not a directory: '/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.zmostaani.prefix/prefix/dataformats/zmostaani/1.json'
Aborted
```
Even though users are not supposed to make such problematic files but they may by accident and just having log information might not be enough. see #232Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/232An empty json file in the correct directory structure crashes the editor2019-10-04T15:12:53ZZohreh MOSTAANIAn empty json file in the correct directory structure crashes the editorAt the moment it is assumed the prefix is completely valid. If a user adds an empty json file (using file manager or command line for example $ touch 1.json) in the correct directory format, if the editor is open it is shown on the list ...At the moment it is assumed the prefix is completely valid. If a user adds an empty json file (using file manager or command line for example $ touch 1.json) in the correct directory format, if the editor is open it is shown on the list of the available asset, without any error or warning. But is you click on it the editor will close completely and there is a log error.
```
Traceback (most recent call last):
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/widgets/assetwidget.py", line 358, in loadAsset
self.__update_content()
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/widgets/assetwidget.py", line 214, in __update_content
editor.load_json(json.loads(json_data))
File "/idiap/user/zmostaani/miniconda3/envs/beat2/lib/python3.6/site-packages/simplejson/__init__.py", line 518, in loads
return _default_decoder.decode(s)
File "/idiap/user/zmostaani/miniconda3/envs/beat2/lib/python3.6/site-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/idiap/user/zmostaani/miniconda3/envs/beat2/lib/python3.6/site-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Aborted
```
After the editor crashes you can run it again. It will run containing the mistaken json file. Now assume you know where the problem is and this time you learnt your lesson and you want to use editor to delete the asset. Go to the file in question. Right click on it and choose delete. Again the editor crashes and this is in the log info:
```
Traceback (most recent call last):
File "/remote/idiap.svm/user.active/zmostaani/experiments/beat/beat.editor/beat/editor/widgets/assetwidget.py", line 321, in deleteAsset
if self.current_asset.declaration_path == file_path:
AttributeError: 'NoneType' object has no attribute 'declaration_path'
Aborted
```
You can only remove it now is to use file manager or command line again.
It would be good to handle such instances more gracefully and more informative for the user since it is not easy from this log to understand where the problem is unless the user remembers exactly what they have done to cause this problem. It is not always the case :D
Also if we have multiple instance of editor open from terminal (see #228) and lose this information completely it would be even worse.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/231The cleanup for the content widget is not done properly.2019-10-04T15:12:53ZZohreh MOSTAANIThe cleanup for the content widget is not done properly.The issue is that if you edit an asset (tested with dataformat), and then open another dataformat without saving the previous one the content of what you have opened past will be shown in the one that has not been saved, instead of it be...The issue is that if you edit an asset (tested with dataformat), and then open another dataformat without saving the previous one the content of what you have opened past will be shown in the one that has not been saved, instead of it being in the previous state.
I realize that you don't even need to make a new dataformat. To reproduce the issue, you just need to have several dataformat from one or more than one user available. Start opening them one after another and look at the change in the content!
The issue comes from how the widgets are being cleaned before a new asset is open. The content from previous asset is not cleaned fully and what you see as the newly open asset is not it's own content but information from the leftovers.Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/226When a new/new version of an asset is made, it is not obvious to the user sin...2019-10-04T15:12:51ZZohreh MOSTAANIWhen a new/new version of an asset is made, it is not obvious to the user since it doesn't pop open.At the moment, when you make a new/new version of a asset, it only creates a file in the corresponding directory, but it doesn't actually open the file in the editor, ready to be edited. The user needs to go back through the list of file...At the moment, when you make a new/new version of a asset, it only creates a file in the corresponding directory, but it doesn't actually open the file in the editor, ready to be edited. The user needs to go back through the list of files to find it and open it manually.
This approach not only is not intuitive, but also it can get very confusing very fast especially if you have so many assets with similar names. It is usually the case when you are testing experiments just with minor changes.https://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/beat.editor/-/issues/224Automatic conversion to v2 for databases2020-02-20T13:32:19ZZohreh MOSTAANIAutomatic conversion to v2 for databasesAt the moment all the database objects available in the test prefix (and probably the user's custom prefix) are not using "schema_version": 2. All the databases written in the previous version of the schema are read-only, therefore if a ...At the moment all the database objects available in the test prefix (and probably the user's custom prefix) are not using "schema_version": 2. All the databases written in the previous version of the schema are read-only, therefore if a user wants to make a new version of a database, it is again read-only (not editable) which defeats the purpose of making a new version!
It is reasonable that when the user makes a new version of a database, instead of ending up with a read-only file, a new file for the database using "schema_version": 2 is created.
It will be good also that a message is shown to the user that there is a change in the schema_version, so they are aware of the change, and they won't be surprised when they look at the json file.
Steps to reproduce:
- Open editor v2.
- Go to File -> New -> databases -> New version
- Click on Ok
the created database is read-only.https://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.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.editor/-/issues/207Parameter issue: choice list2020-02-12T12:35:42ZFlavio TARSETTIParameter issue: choice listOn the parameter selection of an algorithm when we have the choice that is selected
2 issues here:
a) In the choice list we can have string, int, float or anything though the type selected is int for example
b) If we have entered stri...On the parameter selection of an algorithm when we have the choice that is selected
2 issues here:
a) In the choice list we can have string, int, float or anything though the type selected is int for example
b) If we have entered strings for example, we can change to another type and the choice list is still available.
For both of these bugs, the valid flag is also still there.
In other words, here we have another input validation problem here.https://gitlab.idiap.ch/beat/beat.editor/-/issues/206Parameter issue with range for algorithms2019-09-27T14:33:20ZFlavio TARSETTIParameter issue with range for algorithms@jdiefenbaugh :
When selecting the range for a parameter in an algorithm, the minimum value can be bigger than the maximum value.
Looks like a small check between these two min-max is missing here...
This needs to be fixed.@jdiefenbaugh :
When selecting the range for a parameter in an algorithm, the minimum value can be bigger than the maximum value.
Looks like a small check between these two min-max is missing here...
This needs to be fixed.Jaden DIEFENBAUGHJaden DIEFENBAUGHhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/205Algorithm Editor Parameter: unknown types "array" and "dict"2019-09-27T11:58:26ZFlavio TARSETTIAlgorithm Editor Parameter: unknown types "array" and "dict"@jdiefenbaugh : from where does these 2 types "array" and "dict" come from ?
As can be seen here from the `basetype` field in `beat/core/schema/common/1.json` these 2 types are non existant in any of these schema, which makes me wonder w...@jdiefenbaugh : from where does these 2 types "array" and "dict" come from ?
As can be seen here from the `basetype` field in `beat/core/schema/common/1.json` these 2 types are non existant in any of these schema, which makes me wonder where did you get them from ?
As it should always follow a specific schema from beat.coreJaden DIEFENBAUGHJaden DIEFENBAUGHhttps://gitlab.idiap.ch/beat/beat.editor/-/issues/202`bdt create` can't reconcile beat.cmdline with specified devel packages2019-03-09T09:22:14ZJaden DIEFENBAUGH`bdt create` can't reconcile beat.cmdline with specified devel packagesRunning `bdt create -vv --python=3.6 beat_editor` on master will fail, conda unable to find compatible `beat.cmdline` & `bob-devel` versions:
```
Solving environment: ...working... failed
UnsatisfiableError: The following specifications...Running `bdt create -vv --python=3.6 beat_editor` on master will fail, conda unable to find compatible `beat.cmdline` & `bob-devel` versions:
```
Solving environment: ...working... failed
UnsatisfiableError: The following specifications were found to be in conflict:
- beat.cmdline
- bob-devel=2019.02.11
Use "conda search <package> --info" to see the dependencies for each package.
Traceback (most recent call last):
File "/home/jae/miniconda3/envs/bdt/bin/bdt", line 11, in <module>
sys.exit(main())
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/bob/devtools/scripts/bdt.py", line 42, in _decorator
value = view_func(*args, **kwargs)
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/bob/devtools/scripts/create.py", line 145, in create
dry_run, use_local)
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/bob/devtools/build.py", line 285, in conda_create
run_cmdline(cmd)
File "/home/jae/miniconda3/envs/bdt/lib/python3.6/site-packages/bob/devtools/bootstrap.py", line 118, in run_cmdline
(' '.join(cmd), p.returncode))
RuntimeError: command `/home/jae/miniconda3/bin/conda create --yes --name beat_editor_2 --override-channels --channel=http://www.idiap.ch/software/bob/conda/label/beta --channel=http://www.idiap.ch/software/bob/conda --channel=defaults beat-devel=2019.02.11.* beat.cmdline bob-devel=2019.02.11.* bob.buildout bob.extension ca-certificates certifi coverage docopt flask flask-cors flask-restful ipdb jinja2 libedit libffi libgcc libgcc-ng libstdcxx-ng mr.developer ncurses nodejs nodejs nose openssl pip python python>=3.6,<3.7.0a0 readline setuptools setuptools simplejson sphinx sphinx_rtd_theme sqlite tk wheel xz zlib' exited with error state (1)
```
I'm not sure if this is a `beat.editor`, `beat.cmdline`, or `bob.devtools` issue, so I'm opening it here first since this is where I encountered it.
After messing around with everything, I found a hack to fix this - change the pinned versions of `bob_devel` and `beat_devel` in `miniconda3/envs/bdt/lib/python3.6/site-packages/bob/devtools/data/conda_build_config.yaml:52` to use versions released in 2018:
```yaml
# This version of bob-devel will be used at test time of packages:
bob_devel:
- 2018.*
#2019.02.11
# This version of beat-devel will be used at test time of packages. Notice it
# uses bob-devel and should have a version that is greater or equal its value
beat_devel:
- 2018.*
#2019.02.11
```
Hopefully this is just a conda config issue for `beat.editor` or `beat.cmdline`, but maybe we need a custom `config.yaml` to pass to the `--config` flag in `bdt create`?
(I encountered this error when working on #201)Samuel GAISTSamuel GAISThttps://gitlab.idiap.ch/beat/beat.editor/-/issues/200Package.json became package.json.template2019-02-27T19:58:34ZJaden DIEFENBAUGHPackage.json became package.json.templateWhat happened? Renaming `package.json` to `package.json.template` breaks *alot* of stuff as everything nodejs-based assumes there's a file called `package.json` at the package root.What happened? Renaming `package.json` to `package.json.template` breaks *alot* of stuff as everything nodejs-based assumes there's a file called `package.json` at the package root.