☒ how are you initializing the datepicker? If you have a separate JS file and doing something like a turbolinks:load, make sure that you change those to a turbo:load. Alternatively, I'd recommend making the datepicker a small stimulus controller to initialize it. It will help keep the logic separate and also "just work" when turbo replaces the frame.
I would probably avoid doing window scrolling directly as that could have strange behaviors. You could instead do linking to id tags (anchors) which would scroll the window to the new elements. However, that could also be a bit strange as it would update the history. You would probably need to do something with turbo:before-visit to make sure that you're not creating additional requests back to the server if an anchor tag is present and also check if the user is scrolling to escape the visit entirely.
☒ very good point. I didn't pick up on it because it looked like the cropping was working as intended, but you're absolutely right that it is best to not try to add strings together, but rather numbers.
☒ It's likely some kind of issue with improper codecs or something. I do use handbrake on all of my videos before I upload them. I use the Web 1080p conversion. I don't know what that translates to on ffmpeg, but you might need to do some kind of transcoding before creating the variants.