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