I dove into "how upload many photos from camera in #TurboNative land" again today.

I called in my Competent #JavaScript, #Kotlin, and #Swift colleague, A (not on the Fediverse, AFAIK).

She recommended we confirm we have permissions to use the camera and stepped me through requesting permissions for #Android in a #TurboAndroid app, mostly by talking me through this #TurboAndroid github issue https://github.com/hotwired/turbo-android/issues/336

After about an hour, we were able to prompt for permissions and confirm that they were granted!

But sadly, still no joy.

We dug into the Uppy source code; which led to this little line here: https://github.com/transloadit/uppy/blob/bdc485d52753ec0bac29cfdd25c1bd824060ba20/packages/%40uppy/dashboard/src/components/AddFiles.tsx#L81

Because we don't *explicitly set the facing mode*, Uppy wasn't setting the `capture` attribute on the Input!

So after adding `{ videoConstraints: { facingMode: 'environment' } ` to the Uppy AWS plugin, we can capture photos on #Web, #TurboIOS and #TurboNative without any changes to the Swift/Kotlin code.

😭 😭 😭

But at least the fix is a 4 line solution now.

Granting device camera access to my website · Issue #336 · hotwired/turbo-android

Hi 👋 I'm having some issues trying to access Camera capabilities in my Android App. I am building an app where one of the functionalities is to use the camera, display it on the page and scan QR co...

GitHub

Today’s adventure started hopeful. I managed to get the #Uppy Webcam plugin mostly working across Web, Android, and iOS; and then my #LocalStack S3 bucket dumped its CORS configuration so my #Tailscale funnel that I use to expose my local #Rails server to the #TurboNative apps got rejected.

But before I reapplied the CORS config I tried to update the `is-mobile` package for some reason and now even after reverting and nuking `node_modules` Uppy Webcam doesn’t want to use the Android native webcam anymore and I have no idea why

😭😭😭

I’ve been working on a feature for a #TurboNative app.

We want to allow folks to take multiple photos and upload them all together.

folks must be able to *capture* photos directly through the app, with no photos aren’t stored to their device camera roll (for Very Good Reasons)

We’re using the #Uppy dashboard to provide the core experience, which works pretty well; but the out of the box flow for taking a photo is three or so taps *per photo* on iOS, and doesn’t allow access to the camera on Android.

So tomorrow I am going to try and wrangle the Uppy Webcam plugin to see if it will let me take 3~8 photos in a row and upload them all at the end of the session.

If that doesn’t work, I may have to figure out how to pass messages between the web app and the IOS and android apps for native photo capturing and inject thise into Uppy…

😭😭😭

This feels complicated! `input type=“file” capture multiple` should be sufficient

😭😭😭

#Rails #JavaScript #Turbo #iOS #Android #WebStandards #Programming

🎄 Ready for a holiday side-project?

Don't miss our latest Ruby for All episode where Julie asks @joemasilotti how to get started with Turbo Native. It's a game-changer for Rails developers, so don't let it pass you by! #TurboNative @rails

https://share.snipd.com/post/e4307e15-61e1-421f-8a95-14384754e082

Posted snip by @andrewmcodes: Hot to Get Started with Turbo Native

2min snip from Building Rails-Powered Mobile Apps with Joe Masilotti | Ruby for All

Posted snip by @andrewmcodes: Hot to Get Started with Turbo Native

Is there some Turbo Native + Flutter integration somewhere? A Google search is useless since "turbo flutter" is also a thing 🧐

#Turbo #TurboNative #Strada #Flutter

Strada officially launched! | Masilotti.com https://masilotti.com/strada-launch/

How Strada with #turboNative renders both HTML and iOS native buttons.

I've been meaning to look into Hotwire and Turbolinks years ago but never had a cool web project to even start with this. Naturally I didn't understand the docs either. So Joe's overview is very useful!

Strada officially launched! | Masilotti.com

A first look at Strada, the last missing piece of Hotwire. Let's explore how it unlocks native components driven by the web in Turbo Native apps.

Masilotti.com

The video of my talk about Turbo Native at @lrug a couple of weeks ago is now up!

https://assets.lrug.org/videos/2023/march/ayush-newatia-native-apps-are-dead-long-live-native-apps-lrug-mar-2023.mp4

Sadly it didn't make the cut for RailsConf, but hoping to take it to a few other conferences this year.

#rails #ruby #turbo #turbonative

WOW... Just closed a Vivaldi browser window that was minimized for about 1 year... full of links to React Native...
I am actually excited to restart that R&D project, but this time with Turbo Native #rails #TurboNative