Draft or long-running issues, WIP, triage, and additional references or context re open issues.
- [ ]
pre-commit run --all-files
under server (.pre-commit-config.yaml) runs for all files incl. client.
- [ ] 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
, andtabView
. Why not use a localptOptions
withmergeSections="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 usept
?) - [-] Customize UI components: additional items
- [X]
CardLink
vs. PrimeVueCard
. - [X] Clean
SectionLayout
. - [ ] Why
SectionLayout
withsecondary="true"
in dark mode have a white border at the top?
- [X]
- [ ]
TreeSelect
,MultiSelect
, andDropdown
root class shape commented out, using localpt
, as I couldn’t get it to work, in particular in grid (Compare), but we should leave this untouched. - [ ] (Browse)
InputText
andDialog
localpt
has no effect with alpha modifier for secondary color using **Wind** preset. Temporarily removed/50
fordialog
andinputtext
(focus). Localpt
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.
- [X] [2024-02-03 Fri] Add missing stubs for flask-cors, requests, etc.
- [X] [2024-02-03 Fir]
# type: ignore
top level does not work for scimodom.api.models. File excluded: ~/prj/RMapDFGTRR319/repositories/scimodom/server/pyproject.toml
- [ ] 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 bytest_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 testDatasetImportError
,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…
- [ ] 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 toFileService
. Also now theAssemblyFileType
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
. IsNone
supposed to be a string orNone
? And why not use defaultLax
? - [ ] vars
- Shouldn’t default for
is_strand
beTrue
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 nop-error
, etc. - [ ] store
- Import/use pinia before router. Options vs. Composition. Add pinia as argument to router
beforeEach
. Checkways-to-use-pinia
.
- [ ] Vueuse (title)
- [ ] Loading bar at the top