image-sequencer
image-sequencer copied to clipboard
Add Image source to urlHash upon loading an image
Hi, this is a first-timers-only issue. This means we've worked to make it more legible to folks who either haven't contributed to our codebase before, or even folks who haven't contributed to open source before.
If that's you, we're interested in helping you take the first step and can answer questions and help you out as you do. Note that we're especially interested in contributions from people from groups underrepresented in free and open-source software!
We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝
If you have contributed before, consider leaving this one for someone new and looking through our general help wanted issues. Thanks!
What is to be done?
ImageSequencer's UI can read module information from the URL.
e.g. https://beta.sequencer.publiclab.org/examples/#steps=contrast{contrast:-31},saturation{}
will load a sequence with contrast and saturation.
Similarly, a URL containing #src={some-dataurl/link}
will start a sequence with a preloaded image. But when a new image is added through the UI, the #src
for the image is not added to the URL.
You will have to make it so that the dataURL of the loaded image is added to the URL. Refer:
- https://github.com/publiclab/image-sequencer/blob/main/examples/lib/urlHash.js
- #src from URL is loaded https://github.com/publiclab/image-sequencer/blob/c370a8b4ea20267462f8fa559608618ca168e457/examples/demo.js#L78-L83
- https://github.com/publiclab/image-sequencer/blob/main/src/ui/LoadImage.js
You can refer to the above files but your final changes will mostly be in the demo.js
file. You can make changes to other files if you feel it is necessary.
🤔 What you will need to know.
Nothing. This issue is meant to welcome you to Open Source :) We are happy to walk you through the process.
📋 Step by Step
-
[ ] 🙋 Claim this issue: Comment below. If someone else has claimed it, ask if they've opened a pull request already and if they're stuck -- maybe you can help them solve a problem or move it along!
-
[ ] 📝 Modify the file demo.js
-
[ ] 💾 Commit your changes
-
[ ] 🔀 Start a Pull Request. There are two ways how you can start a pull request:
-
If you are familiar with the terminal or would like to learn it, here is a great tutorial on how to send a pull request using the terminal.
-
You can also edit files directly in your browser and open a pull request from there.
- [ ] 🏁 Done Ask in comments for a review :)
Please keep us updated
💬⏰ - We encourage contributors to be respectful to the community and provide an update within a week of claiming a first-timers-only issue. We're happy to keep it assigned to you as long as you need it if you update us with a request for more time or help, but if we don't see any activity a week after you claim it we may reassign it to give someone else a chance. Thank you in advance!
If this happens to you, don't sweat it! Grab another open issue.
Is someone else already working on this?
🔗- We encourage contributors to link to the original issue in their pull request so all users can easily see if someone's already started on it.
👥- If someone seems stuck, offer them some help! Otherwise, take a look at some other issues you can help with. Thanks!
🤔❓ Questions?
Leave a comment below!
@publiclab/is-reviewers
Hey! I would like to claim it.
Go ahead.
hi, is this issue still available?
hey @greyGroot you can go ahead if you want, I solved first-timers issue once. You can take it.
I also just have made contribution to publicLab in other project. So I'm pass.
@DevanshCodes only one first-timer issue is allowed per person. These issues are just made to welcome people to open source. You completed one. Congrats! You contributed to Open Source. There are many other (non-FTO issues), you can work on one of those. I'm sure you'll find one.
Hey, @HarshKhandeparkar I would like to claim this issue.
Go ahead. You can ask here if you need any help.
hi, is this issue still available?
@HarshKhandeparkar Can I work on this issue?
Anyone who wants to work on this, just start working and open a PR :)
hello, is this issue still available?
I think this could still work -- but @harshkhandeparkar are we concerned about really large data-urls? also, dragging in an image would then change the URL making the sequence harder to save. I think unfortunately this one needs a bit more discussion before it is ready!
I wonder if we should offer a button (near save buttons) that generates such a URL "with the current image preserved". It could also warn if the image is too big, and offer (maybe with a prompt()
?) to cancel, based on the size of the image?
What do you think, @harshkhandeparkar ?
really large data-urls
Didn't think about it :sweat_smile: