image-sequencer icon indicating copy to clipboard operation
image-sequencer copied to clipboard

Add Image source to urlHash upon loading an image

Open harshkhandeparkar opened this issue 5 years ago • 15 comments

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:

  1. 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.

  2. 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!

harshkhandeparkar avatar Dec 24 '19 19:12 harshkhandeparkar

@publiclab/is-reviewers

harshkhandeparkar avatar Dec 24 '19 19:12 harshkhandeparkar

Hey! I would like to claim it.

DevanshCodes avatar Dec 28 '19 15:12 DevanshCodes

Go ahead.

harshkhandeparkar avatar Dec 29 '19 06:12 harshkhandeparkar

hi, is this issue still available?

greyGroot avatar Dec 30 '19 13:12 greyGroot

hey @greyGroot you can go ahead if you want, I solved first-timers issue once. You can take it.

DevanshCodes avatar Dec 30 '19 17:12 DevanshCodes

I also just have made contribution to publicLab in other project. So I'm pass.

greyGroot avatar Dec 30 '19 19:12 greyGroot

@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.

harshkhandeparkar avatar Dec 31 '19 12:12 harshkhandeparkar

Hey, @HarshKhandeparkar I would like to claim this issue.

NitinBhasneria avatar Jan 07 '20 11:01 NitinBhasneria

Go ahead. You can ask here if you need any help.

harshkhandeparkar avatar Jan 07 '20 17:01 harshkhandeparkar

hi, is this issue still available?

cocolin041 avatar Jan 21 '20 21:01 cocolin041

@HarshKhandeparkar Can I work on this issue?

AmanR28 avatar Jan 25 '20 09:01 AmanR28

Anyone who wants to work on this, just start working and open a PR :)

harshkhandeparkar avatar Jul 08 '20 06:07 harshkhandeparkar

hello, is this issue still available?

aktamoli0910 avatar Jun 11 '21 09:06 aktamoli0910

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 ?

jywarren avatar Jun 11 '21 14:06 jywarren

really large data-urls

Didn't think about it :sweat_smile:

harshkhandeparkar avatar Jun 11 '21 15:06 harshkhandeparkar