-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Export all user Memos as a .zip of Markdown files #2854
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM otherwise
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your contribution!
@boojack I saw you changed exporting to be unary instead of streaming. The reason I made it streaming in the first place was to support larger file sizes. I believe gRPC only support 4MB payloads by default. If/when resource export support is added, it is likely that the exports zip folders will be larger than 4MB. |
@nalderto Yeah, my commit 1e07b70 is going to solve an issue #2907
It looks like it's the maximum size of the request, not the response. grpc/grpc-web#1182, https://github.com/grpc/grpc-go/blob/master/server.go#L388 If there is still a problem, we can adjust the maximum value, or even switch to streaming. |
@boojack Ah, you're right about it just being for requests. Thanks for fixing that! |
This PR adds an "Export Memos" button to the Setting => My Account page. This will download a zip folder, generated by the server, containing all of the user's Memos in Markdown files. The individual memos filenames are named after their creation date in RFC3339 format. This PR is should partially address this #2211 to improve exports with Memos.
I also resolved some memory leaks with downloading images and files in the share dialog.
This is a second attempt after this PR. This time, I am using a gRPC steaming endpoint to download the .zip file.
