Commit Graph
105 Commits
Author SHA1 Message Date
Manuel Raynaud ef3e2dd034 (helm) create helm chart for drive
Create the first helm chart version and make it works with tilt.
2025-04-02 08:19:28 +02:00
Manuel Raynaud 66dd8a7e11 🔧(back) update logging config in settings
Update the logging config to remove usage of level configuration in the
handler
2025-04-02 08:19:28 +02:00
Manuel Raynaud 211914b148 💩(front) build application with --no-lint option
We have to build the application using the --no-lint option for now.
2025-04-02 08:19:28 +02:00
Manuel Raynaud f9cc6b9b38 🔧(front) add Dockerfile
Add a dockerfile to build the front application. Also configure compose
and Makefile to build the image and run the container
2025-04-02 08:19:28 +02:00
Nathan Vasse 7310b99829 🏷️(front) fix build
In order to build images we need to make sure the build does not
fail.
2025-04-01 16:31:18 +02:00
Manuel Raynaud 85d7ebb2d3 🐛(back) check title unicity when renaming an existing one
An item title can be updated. Check title unicity constraint on this
case.
2025-04-01 13:43:36 +02:00
Manuel Raynaud 4558e0aad5 🐛(back) allow to create an item with same title of a deleted one
When an item is deleted, then creating a new item with the same title
should be possible.
2025-04-01 13:43:36 +02:00
Manuel Raynaud c195e8cf45 🐛(back) allow more file extensions
The regex validating a file extension was to restrictive allowing only
alpha characters with a fix length of 3 or 4. We need to handle all
possible extension but also files without extension.
2025-03-31 15:56:28 +02:00
Manuel Raynaud 857d603d08 🐛(back) manage filename with special characters
We want to save the original filename so it can contains white spaces
and special characters in it. When we receive the origin headers, this
one is url encoded. We need to unquote it in order to compute the S3
signature.
2025-03-31 15:56:28 +02:00
Manuel Raynaud 3979a600c8 ️(back) use redis as session backend in developement
We want to persist the session during development. Otherwise the session
is reset everytime the server is restart. This behavior make developing
bot a front and back feature a nigthmare, we spend our time login again
and again
2025-03-31 15:56:28 +02:00
Nathan Vasse f82d8678a0 ♻️(front) tiny bit of cleanup
Just in order to take into account the feedback from the review.
2025-03-31 12:14:42 +02:00
Nathan Vasse 2da8e683b6 (front) add dropdown to import button
We want to open two kind of file picker, one for files and the other
for folders. Important: at the moment it is not possible to select
multiple folders at once via filer picker.
Also I used a bit of a hackish approach with webkit features and
two input file in order to make the two work, but no other alternative
is given from react drop zone at the moment due to the limitation of
the File System API.
2025-03-31 12:14:42 +02:00
Nathan Vasse c6f2b18974 (front) add files and folder upload
This feature adds complexity to the upload code. So in order to keep
it isolated, I created dedicated hooks. Also the dropZone logic is
brung up to the ExplorerContext in order to make available dropzone
context to the ExplorerTree.
2025-03-31 12:14:42 +02:00
Nathan Vasse 19c10bf89b ♻️(front) create dedicated createFolder mutation
This mutation will also be used by the hybrid upload of files and
folders.
2025-03-31 12:14:42 +02:00
Nathan Vasse 6ec45bb772 ♻️(front) add AppError
The current errorToString was showing complete javascript errors.
Which is not what we want, it those cases we want to show generic
errors, technical informations are not needed to users. So to
make sure some error are shown to the users, use AppError.
2025-03-31 12:14:42 +02:00
Manuel Raynaud dc5219bbc3 (back) fix update tests 2025-03-31 10:54:05 +02:00
Manuel Raynaud 2e954ae6e0 🔧(dev) add cursor rule for django code
We apply a cursor rule to the project related to the django application.
This rule is heavily inspired from the posthog's rule.
2025-03-31 10:45:51 +02:00
Manuel Raynaud cccc868b10 🐛(compose) use good development nginx config
The nginx config used by the nginx service running in compose is not the
good one. Fixing it should fixing access to the medias.
2025-03-31 10:31:39 +02:00
Nathan Vasse 3e1abbe615 ♻️(front) delete duplicate item action
We won't implement this feature in v1.

Fixes #61
2025-03-25 16:37:30 +01:00
Nathan Vasse c869f69e4a 🐛(front) fix create folder input zombie state
When closing and re-opening modal, the input contains the previous
entered value but with a buggy label.

Fixes #57
2025-03-25 16:37:30 +01:00
Nathan Vasse 611fade22b (front) add rename item modal
This modal is used to rename item. It preselect the filename without
its extension.
2025-03-25 16:37:30 +01:00
Nathan Vasse 53bebe5617 (front) add rhf input component
This component is used to make rhf work correctly with cunningham.
2025-03-25 16:37:30 +01:00
Nathan Vasse ebf7d38548 ♻️(front) make dedicated file for folder create modal
Nothing huge to say here, just make comply the gitlint.
2025-03-25 16:37:30 +01:00
Nathan Vasse 0ceb132536 (front) add optimistic update mutation
This mutation is used to perform update mutations.
2025-03-25 16:37:30 +01:00
Nathan Vasse 9459ccb2fd (front) add getExtension function
This function is useful to guess to extension of an item.
2025-03-25 16:37:30 +01:00
Nathan Vasse 07847d112b (front) add update item method to drivers
We need this method to perform various update operations.
2025-03-25 16:37:30 +01:00
Nathan Vasse c5b287403f ♻️(front) add dot env proper setup
We need to publish these defaults in order to make bootstrap work.
2025-03-25 09:38:38 +01:00
Nathan Vasse 2e7f2e40b8 (front) handle item title overflow in explorer
When there is a an overflow, we display a tooltip on hover.

Fixes #58
2025-03-24 17:38:10 +01:00
Nathan Vasse 2d128b3041 (front) add keyboard navigation into explorer
This is a first approach, not guaranteed to be bullet proof in terms
of accessbility.
2025-03-24 17:15:24 +01:00
Nathan Vasse 0d59190192 (front) make unique item delete work
This comes along with the multiple item deletion, we want to allow
unique deletion via the action menu.
2025-03-24 17:15:24 +01:00
Nathan Vasse 61eea3725d ♻️(front) make use of the new mutation
Make use of the new hook in the selection bar as well as listen to
keyboard shortcuts to delete.
2025-03-24 17:15:24 +01:00
Nathan Vasse 0655e99c35 🌐(front) update delete i18n
This new translation is more appropriate for one item deletion.
2025-03-24 17:15:24 +01:00
Nathan Vasse d18ab72723 (front) add useMutations dedicated hook
As we need to use this hook from multiple places, let's create
a dedicated centralized mutation.
2025-03-24 17:15:24 +01:00
Manuel Raynaud 4035107ada 💚(back) fix tests related to expose filename in the serializer 2025-03-21 16:12:05 +01:00
Manuel Raynaud f452c497b6 💻(user) fix the User.language
The use of a lazy function here make the Django migration
detector to generate a migration every time we run `makemigrations`.
This is not mandatory to have a lazy here as the settings are loaded
once at runtime beginning.
As the choices makes noop migrations, we directly use the setting in
the initial migration.
2025-03-21 15:42:23 +01:00
Manuel Raynaud 32864214f8 (back) create a default workspace on user creation
When a user is created, no matter the way it is created, a default
workspace is created for him.
2025-03-21 15:42:23 +01:00
Manuel Raynaud 9cbdee4788 (back) add main_workspace property ot Item model
We want to flag an item as a main workspace. To do that a new property
main_workspace has been added to the Item model.
2025-03-21 15:42:23 +01:00
Manuel Raynaud f4a6b9603a (back) enhance ordering on /items and /children
We want to manage more property for the ordering on /items and
/children. The type is added to the existing list.
2025-03-21 14:52:20 +01:00
Nathan Vasse c6f029f30c (back) add filename into Item serializer
We need this attribute in order to guess the extension of each
file on the frontend side.
2025-03-21 14:28:04 +01:00
Nathan Vasse 7b93d63d81 (front) add file logo in explorer
Enhance the ui by providing appropriate icon for file based on their
mime types.
2025-03-21 14:28:04 +01:00
Nathan Vasse d013ea0c61 🐛(front) fix frontend auth redirect
Due to the previous addition of throw on api error, this component
was not catching the error instead of redirecting to login.
2025-03-19 15:54:04 +01:00
Nathan Vasse f95dcd7a36 ♻️(front) tidy up a bit
Small refactors here and there, nothing much complicated.
2025-03-19 15:45:21 +01:00
Nathan Vasse dd660939e7 ♻️(front) make error handling work on file upload
Using mutateAsync makes the automatic global handling of error
don't work. It forces to catch the error locally each time, while
this is a strange behavior, this is totally assumed by
react query authors. So to bypass this while preversing the
sequential execution of uploading, we need to refactor this that
way.
2025-03-19 15:45:21 +01:00
Nathan Vasse ab8e77bc76 (front) display error toast
When a react query query or mutation is trigerring an error we
automatically display a toast with the most appropriate message
possible. It is also possible to bypass this automatic behavior
by giving a flag to the meta attribute of useQuery or useMutation.
2025-03-19 15:45:21 +01:00
Nathan Vasse b4c734e60a (front) add toast type info and error
We need to have multiple types of toast to display various infos.
2025-03-19 15:45:21 +01:00
Nathan Vasse aa2d52a5d2 ♻️(front) make fetchAPI throw on error
We want to trigger error handling mecanism when the response code
is not ok.
2025-03-19 15:45:21 +01:00
Nathan Vasse 19178e0ca4 (front) add tooltip on update at
In will be usefull in some cases to know the exact date time string.
2025-03-19 15:45:08 +01:00
Nathan Vasse 796036c741 (front) add x time go in explorer
We want to display easy to read date to improve readability.
2025-03-19 15:45:08 +01:00
Nathan Vasse 8e7a8a3f1d (front) open file on double click
I just have to add a body to this commit to pass gitlint :).
2025-03-19 15:45:08 +01:00
Manuel Raynaud e7b7a6186b (back) expose mimetype property in Item serializers
The front application needs to know the file mimetype. We have this
information in the database, we add it yo the item serializers.
2025-03-19 15:38:24 +01:00