Skip to content

Commit

Permalink
MNT bump to 3.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
eboileau committed Jan 15, 2025
1 parent f600e7c commit 6f04c01
Show file tree
Hide file tree
Showing 23 changed files with 2,409 additions and 1,209 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/), and this

## [Release candidate] - started 2025-01

## [3.1.1] - 2025-01-15

### Fixed

- ValidationError for IntersectResponse in `/api/v0/modification/target/RBP?` (Bed6Record DTO).
- EUFID link in ModificationSiteTable.

### Changed

- dev and tests dependencies
- node/npm version

## [3.1.0] - 2025-01-08

### Added
Expand Down
124 changes: 29 additions & 95 deletions TODO.org
Original file line number Diff line number Diff line change
Expand Up @@ -5,122 +5,56 @@ Draft or long-running issues, WIP, triage, and additional references or context

* TODO SCIMODOM DRAFT ISSUES

** TODO MAINTENANCE [0/1]
** TODO STYLE [0/9]

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

** TODO STYLE [11/23]

- [ ] DEADLINE: <2024-09-30 Mon> To harmonize style across views, components, and presets (colours, behaviour, dark mode, /etc./).

- [X] CascadeSelect /cf./ [[https://github.com/dieterich-lab/scimodom/issues/103][Cascade truncated.]]
- [X] CascadeSelect "No available options" is not defined, /cf./ TreeSelect or Dropdown. Styling is different.
- [X] 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.
- [X] ~DataTable~: ~stripedRows~ for dark mode.
- [ ] Logos are displayed in ~dark:greyscale~ in dark mode; ~dark:invert~ only inverts the color.
- [ ] Charts do not look great in dark mode.
- [ ] ~VirtualScroll~ not working, see [[https://github.com/primefaces/primevue-tailwind/issues/108][Missing preset for VirtualScroller]] and [[https://github.com/primefaces/primevue-tailwind/issues/168][VirtualScroller not working with DataTabe.]]
As of v4.1.1, the new Tailwind styles have been rewritten using the preprocessor approach with ~@apply~ instead of pass-through.
As a result this issue is not relevant any more. We're using [email protected].0~. Updating to latest version will most likely
break. See also https://tailwind.primevue.org/vite/.
As of v4.1.1, the new Tailwind styles have been rewritten using the preprocessor approach with ~@apply~ instead of pass-through.
We're currently using [email protected].1~ and [email protected]~. Updating to PrimeVue v4.2 will most likely
break the application, /cf./ https://tailwind.primevue.org/vite/.
- [ ] Unpredictable color for ring (dark mode). This is an example of a more general problem.
UiStyle ~inputTextDefaultClasses~ redefines the ring color /e.g./ inside ~InputText~ in ~FormTextInput.vue~, but when
~parent.instance.$name !== 'InputGroup'~ the default preset values somehow overwrite the style, even though the latter is
applied afterwards. When need to use ~:ptOptions="{ mergeProps: true }"~, because we don't want to rewrite the style entirely.
applied afterwards. When need to use ~:ptOptions="{ mergeProps: true }"~ because we don't want to rewrite the style entirely.
Modifying a value in ~ui_style.ts~ works only temporarily or unpredictably, and /e.g./ adding ~!~ does not work, as
it overwrites the ~errorClasses~. See [[https://github.com/tailwindlabs/tailwindcss/discussions/12733][Which bg color should be apply, when multiply bg-color class was appled to the same element?]]
for an explanation and possible ways to solve this.
- [X] Placeholder text color ~TreeSelect~ /vs./ ~MultiSelect~.
- [X] 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 [[https://github.com/dieterich-lab/scimodom/issues/64][Add icon to InputText not working]].
- [X] 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~?)
- [-] [[https://github.com/dieterich-lab/scimodom/issues/18][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.
- [X] (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.
- [X] To harmonize ~DataTable~ header across views.
for an explanation and possible ways to solve this. /cf./ above PrimeVue upgrade.
- [ ] ~DataTable~ filters /e.g./ ~filterMatchModeDropdown~ show a mix of primary and default green colors.
- [ ] Why does ~SectionLayout~ with ~secondary="true"~ has a white border at the top in dark mode?
- [ ] Add p-float-label?
- [ ] ~Divider~ styling, thickness and color.
- [X] Custom style ~FormTextInput~ (class/style binding), incl.secondary colour for sign up.
- [X] 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 [[https://github.com/dieterich-lab/scimodom/issues/94][Dataset upload progress]].

** TODO PEP/TYPING [2/2]

- [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:
[[file:~/prj/RMapDFGTRR319/repositories/scimodom/server/pyproject.toml::"scimodom.utils.models.py"]]
- [ ] Add ~MeterGroup~ or ~ProgessBar~ for upload? See also [[https://github.com/dieterich-lab/scimodom/issues/94][Dataset upload progress]].

** TODO TESTS [6/8]
** TODO TESTS [1/2]

- [ ] warnings :: freezgun, pydantic
- [X] update :: Warnings and deprecation summary.
- [ ] refactor :: ~test_dataset~ and ~test_validator~ still depend on the importer, /cf./ mock importer in ~test_dataset_api~.

- [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 [[https://github.com/dieterich-lab/scimodom/issues/119][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...

** TODO GENERAL [1/11]
** TODO GENERAL [1/7]

- [ ] 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 [[https://github.com/dieterich-lab/scimodom/issues/119][Annotation services]].
- [ ] refactor :: Setup is not fully sorted: the case of import tables and ~IMPORT_DIR~, /cf./ [[https://github.com/dieterich-lab/scimodom/issues/126][startup]] and [[https://github.com/dieterich-lab/scimodom/issues/116][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 [[file: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 [[https://github.com/dieterich-lab/scimodom/issues/152][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=.
- [ ] question :: Usage of Flask ~SESSION_COOKIE_SAMESITE~. Is ~None~ supposed to be a string or ~None~? And why not use default ~Lax~?

- [X] Export file naming convention is inconsistent between Search, Browse, and Compare.
- [ ] ~TaxaSelection~ has modification id props and watches it, but it never uses it?
- [ ] The CJS build of Vite's Node API is deprecated, see [[https://vite.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated][Vite CJS node API deprecated]] for more details.
- [ ] Error handling for data import remains somewhat inconsistent. The interface ~DatasetPostRequest~ defines what information is
transferred to the backend for data upload (management API). The ~source~ for upload is the full path to the temporary ~file_id~.
The ~error_summary~ (~BedImportTooManyErrors~) is defined by the ~TextFileReader.report_error~, and reports the full path to the
~file_id~, which is irrelevant for the user in general. This is also used in Comparison (dataset API), where the actual file name
is available and used as a source, with useful information for the user. In handling other similar errors, the source is never
reported /e.g./ in the case of ~BedImportEmptyFile~, this is not shown in ~user_message~, but in ~message~. I don't know what are the
security implications in all cases.
- [ ] On "auto log out" /e.g./ refresh, accessing URL via address, /etc./, unexpected behavior is sometimes observed, /e.g./ the
dialog box is not systematically showing up. The ~Not logged in.~ message at the top left is awkward.

*** TODO FEATURE REQUEST [0/2]

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


* SCIMODOM OPEN ISSUES

** REFERENCES


* SCIMODOM CLOSED ISSUES

* LONG-TERM

** IMPROVEMENTS
Expand Down
Loading

0 comments on commit 6f04c01

Please sign in to comment.