Skip to content
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

Maximize URL length for sharing workflows #80

Closed
1 of 2 tasks
fsteeg opened this issue Jan 25, 2022 · 4 comments
Closed
1 of 2 tasks

Maximize URL length for sharing workflows #80

fsteeg opened this issue Jan 25, 2022 · 4 comments
Assignees
Milestone

Comments

@fsteeg
Copy link
Member

fsteeg commented Jan 25, 2022

  • Use max settings that work with Firefox, Chrome, and our backend server
  • Look into possible string compression algorithms to use on the query params

Functional review: @TobiasNx
Code review: @fsteeg

@katauber
Copy link
Member

katauber commented Mar 4, 2022

The current status of this issue (on branch 80-maximizeUrlLength):
I found out that there is a problem opening the share link of this example. When the query params contains a url the url is not properly query encoded. This seems to be a problem of the used library lambdaisland.uri. BUT I testet a much shorter example with an url and although the url was not properly encoded, the share link can be openend (I tested with the workflow link). So I don't know what's the problem with the given example.
I didn't really start with the second part of the issue but here is what I planned to do:
I didn't found a library which works for clojure and clojurescript, so I decided to use Java classes (Deflater and Inflater) and a Javascript lib (not determined which but there are some) to use the zlib algorithm.
Problems I see:

  1. after encoding the string there is a byte array, how to convert the byte array in a string again to use it for the url
  2. like most compression algorithms there is real compression when the input is large enough. Should only be compressed when the input is large enough and how to mark that?

I hope this information helps to finish what I couldn't finish.

@fsteeg
Copy link
Member Author

fsteeg commented May 13, 2022

The current state looks good and seems to work well with larger examples, see the (work in progress) workshop examples deployed at https://test.metafacture.org/playground/ (Load Examples -> workshop).

Using string compression was just an additional idea, I suggest we skip that for now. Regarding the issues with longer links and URLs, I think we should look into that when it comes up in a concrete use case.

For now, this is a big step forward to creating useful examples for the workshop and beyond, so I think we should merge and deploy that state to production. Assigning @TobiasNx for functional review.

@TobiasNx
Copy link
Contributor

The examples look good. It seems that the changes helped with longer URLs/examples.
I agree with your suggestion to put further changes for longer exapmles/urls on hold for now.

@TobiasNx TobiasNx assigned fsteeg and unassigned fsteeg and TobiasNx May 17, 2022
@fsteeg
Copy link
Member Author

fsteeg commented May 20, 2022

Merged 80-maximizeUrlLength with fafc143.

Deployed to https://metafacture.org/playground, closing.

@fsteeg fsteeg closed this as completed May 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants