Skip to content

Latest commit

 

History

History
119 lines (86 loc) · 7.26 KB

TODO.org

File metadata and controls

119 lines (86 loc) · 7.26 KB

SCIMODOM TODOs

Draft or long-running issues, WIP, triage, and additional references or context re open issues.

SCIMODOM DRAFT ISSUES

MAINTENANCE [0/1]

  • [ ] pre-commit run --all-files under server (.pre-commit-config.yaml) runs for all files incl. client.

STYLE [2/22]

  • [ ] DEADLINE: <2024-09-30 Mon> To harmonize style across views, components, and presets (colours, behaviour, dark mode, etc.).
  • [ ] CascadeSelect cf. Cascade truncated.
  • [ ] CascadeSelect “No available options” is not defined, cf. TreeSelect or Dropdown. Styling is different.
  • [ ] In ProjectMetadata,vue, some placeholders are grey, others are black/darker (resp. lighter in dark mode).
  • [ ] Dark mode (specific issues)
    • [ ] Logos are displayed in greyscale in dark mode, as invert also inverts the colors. Otherwise, we may have to use 2 logos, or create SVGs.
    • [ ] DataTable: stripedRows for dark mode.
  • [ ] VirtualScroll not working, see Missing preset for VirtualScroller and VirtualScroller not working with DataTabe.
  • [ ] Placeholder text color TreeSelect vs. MultiSelect.
  • [ ] Default preset color is secondary for DataTable, Paginator, and tabView. Why not use a local ptOptions with mergeSections="false"? Else this has to be documented.
  • [ ] Use fill and stroke for svg/icons, instead of text color, see also Add icon to InputText not working.
  • [ ] Button presets adapted for primary and secondary by redefining the API for severity. Should we redefine the API or add another option, or just leave it as is?
  • [ ] DataTable filters e.g. filterMatchModeDropdown show a mix of primary and default green colors (where is this defined in presets? Can we use pt?)
  • [-] Customize UI components: additional items
    • [X] CardLink vs. PrimeVue Card.
    • [X] Clean SectionLayout.
    • [ ] Why SectionLayout with secondary="true" in dark mode have a white border at the top?
  • [ ] TreeSelect, MultiSelect, and Dropdown root class shape commented out, using local pt, as I couldn’t get it to work, in particular in grid (Compare), but we should leave this untouched.
  • [ ] (Browse) InputText and Dialog local pt has no effect with alpha modifier for secondary color using **Wind** preset. Temporarily removed /50 for dialog and inputtext (focus). Local pt description currently follows the **Lara** preset.
  • [ ] To harmonize DataTable header across views.
  • [ ] Add p-float-label?
  • [ ] Divider styling, thickness and color.
  • [X] Custom style FormTextInput (class/style binding), incl.secondary colour for sign up.
  • [ ] Form validation and warnings/messages styling/text for login/sign up/reset components.
  • [ ] Large numbers don’t show nicely in the Search paginator.
  • [X] Outdated presets for Lara. Remove?
  • [ ] Add MeterGroup or ProgessBar for upload? See also Dataset upload progress.

PEP/TYPING [2/2]

TESTS [6/8]

[ ] warnings
freezgun, pydantic
[X] refactor
Use tests/fixtures throughout wherever possible. Some tests may still contain redundant locally defined fixtures. conftest.py::data_path is only used by test_import_data, this should be simplified cf. tool.pytest.ini_options.
[ ] refactor
test_ensembl subject to Annotation services. Currently it is not possible to fully isolate these tests.
[X] missing
test_dataset does not test DatasetImportError, SelectionNotFoundError, DatasetExistsError.
[X] missing
Integration tests.
[X] missing
Missing models in test_bedtools_dto, test_project_dto, etc.
[X] missing
test_bedtools has limited scope, some protected methods are not tested (isolation?). Everything that touches annotation is not really tested (see related tests if testing could be reasonnably divided/isolated).
  • [X] EUFID length is not validated? See e.g. dataset fixture. Same for random SMIDs…

GENERAL [1/11]

[ ] dependencies
Pandas is used only in SetupService.
[ ] refactor
FileService “mixes” os and pathlib, and this also causes a number of typing errors; and there are some methods that should be protected that are not. The “chain file constructor” should go to FileService. Also now the AssemblyFileType is problematic (type warnings). This should be addressed with refactoring of Annotation services.
[ ] refactor
Setup is not fully sorted: the case of import tables and IMPORT_DIR, cf. startup and directory permission, is still to be addressed.
[ ] vars
Usage of Flask SESSION_COOKIE_SAMESITE. Is None supposed to be a string or None? And why not use default Lax?
[ ] vars
Shouldn’t default for is_strand be True in repositories/scimodom/server/src/scimodom/api/dataset.py? Also, how do we handle undefined strand in general e.g. in comparisons?
[X] docs
Update GitHub installation instructions, e.g. add instructions how to create project/data for testing, add dumps for testing, import tables, etc. Some instructions are wrong, for instance the pip install command misses the “dot”. How to mock login (login may be tricky e.g. with google accounts)?
[ ] validation
Project or dataset title is a VARCHAR(255). Form validation is done in the client, but should be systematically implemented for the API (and include other fields with constraints, see also Not all API endpoints are fine). The CLI validates title for dataset, but not for project, metadata, or batch.
[ ] forms
When adding more than 1 metadata sheet, the assembly is reset, also resetting the model. This is not critical, since the user is requested to confirm the assembly as input anyway, but maybe this can be simplified?
[ ] forms
Add lazy validation to form fields, in particular for login/sign up? Check also strict, see https://github.com/jquense/yup
[ ] forms
Do not load the full yup package. Customize validation (login vs. sign up) and revisit messages. See e.g. https://tailwind.primevue.org/inputtext/#helptext. Classes are wrong, there is no p-error, etc.
[ ] store
Import/use pinia before router. Options vs. Composition. Add pinia as argument to router beforeEach. Check ways-to-use-pinia.

FEATURE REQUEST [0/2]

  • [ ] Vueuse (title)
  • [ ] Loading bar at the top

SCIMODOM OPEN ISSUES

REFERENCES

SCIMODOM CLOSED ISSUES

LONG-TERM

IMPROVEMENTS

QUESTIONS