alexandresoro / ouca Goto Github PK
View Code? Open in Web Editor NEWOù ça ? - An app for naturalists to manage and view their wildlife observations.
Home Page: https://ou-ca.app
License: Mozilla Public License 2.0
Où ça ? - An app for naturalists to manage and view their wildlife observations.
Home Page: https://ou-ca.app
License: Mozilla Public License 2.0
Looks related to a recent change, but when loading the app after login, looks like there's a full page reload
When using search filters (e.g. by observer), the species tab can be sorted by observations count.
However, the number of observations displayed is the total number from any observer - which is not consistent with the sort that is filtered.
My guess is that the filter is ignored when querying the count.
We should either fix that, or deal with it to avoid confusion (remove the sort, hide the count?)
Mieux gérer l'erreur pour qu'elle soit claire pour l'utilisateur
Seems like an obvious feature but UI/UX to be discussed.
Probably linked to the fact that there's no encompassing polygon to build, so no bounding box, so no zoom.
To investigate:
Looks like the page gets "reloaded" whenever the snackbar gets dismissed
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.
Dockerfile
node 18-alpine
node 18-alpine
Dockerfile.ci
node 18-alpine
.github/workflows/_build.yml
.github/workflows/_deploy-cloudflare.yml
.github/workflows/build-branch.yml
.github/workflows/validate-pr.yaml
package.json
packages/backend/package.json
packages/cloudflare-functions/package.json
packages/common/package.json
packages/eslint-config/package.json
packages/frontend/package.json
When you use a single account, there could be ways to skip the auth panel and do a silent login there?
Il faudrait :
{statusCode: 500, error: "Internal Server Error",…}
error
:
"Internal Server Error"
message
:
"Query violates a unique integrity constraint. duplicate key value violates unique constraint "idx_16490_primary""
statusCode
:
500
Est-ce que la distance peut vraiment être 0 ?
This is basically implementing the feature present in the legacy version.
De la même couleur que les valeurs des autres champs
When retrieving observations from search, it may be useful to display the total count of matching values somewhere in the UI.
To be done for observations, as it makes less sense for species.
For example, since the migration to infinite query, there are cases where whenever one deletes an entity, the UI is not refreshed.
That's not always like this and I haven't found no pattern.
More on GlitchTip-79
Pour tous les types d'entité du référentiel
Par contre si on scroll jusqu'en bas de la table elle apparait.
Même problème quand on modifie la commune.
Find a way to show which input has the focus.
Implement a disabled button whenever sumbit is already ongoing
Behavior should be similar to the current inventory panel.
This is due to missing error handling w/ the new kysely queries.
We need to add a proper mechanism for that.
Basically the error thrown is a DatabaseError
that is straight from pg
here: https://github.com/brianc/node-postgres/blob/9c3ecdca6953b8cde01fcb6ab6042e8274dc2e9b/packages/pg-protocol/src/messages.ts#L97
So we need to wrap these raw errors to own errors that are:
Open questions:
Found while working on #1218
We should remove coercion to number or check that the number is valid.
In DB this is currently a number.
Keep in mind that we should move that to a string someday.
Looks related to the introduction of "after" layer that seems to trigger issues whenever the related layer is not present yet
Modifier une estimation du nombre -> inverser la valeur de indénombrable
Sauvegarder
Cliquer sur modifier -> la valeur d'indénombrable affichée est toujours l'ancienne valeur
Modifier le nom d'un estimation du nombre (ou autre entité)
Sauvegarder
Cliquer sur modifier -> l'ancienne valeur apparait dans le formulaire et on ne peut pas sauvegarder le formulaire. Par contre si on remet la valeur actuelle on peut sauvegarder.
In the old app, it was possible to create a new inventory from an existing one.
This was done at entry level.
Whenever the inventory was updated and save, the user could either update the inventory, or create a new inventory only for this entry.
This was not necessarily easy to understand
Here the UI is different, so this is an opportunity the rework the flow to be easier to understand.
So the way this could be implemented would be to allow selection on UI side of entries, and provide an action to assign them to another existing inventory.
The minor drawback for now is that the new inventory would need to be created beforehand.
API part has to be implemented too.
A good solution would be to design a "bulk" update API on /entries
that does not currently exists.
By looking at some Grafana logs, it looks that jobs can get removed.
A previous fix on infra side showed that redis was set without persistence and could lose jobs. This has been fixed.
However now, I suspect this could be a combination of RollingUpdate + the way we destroy jobs when shutting down. If the first pod is terminated after, I guess that it cleans the job just created.
Need to look at the docs to check if we can be less brutal on destruction while making sure that jobs can get updated or deleted properly if needed.
If not possible, maybe we'll have to switch to rolling updates just for that.
When opening a popover, the difference between popover and background content is not that obvious.
If we could do somthing like blurring the background or similar, it would help.
I already has a look earlier and did not seem obvious between daisyui and headlessui
E.g. quand il y a des données (foreign key)
The requests that contain a body are currently sent with text/plain
MIME type.
This is why we parse all inputs before zod.
We should:
application/json
is accepted on API routes.A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.