mokshablr
2
18
mokshablr

@lemdro.id

Software engineer, backend mostly. I like my code in production.

I make Gander, an open source file viewer for Android.

mokshablr 0 points 4 days ago

Thanks! What's the lean build, a stripped-down phone? If a file doesn't open, do let me know.

path: 0 26232474 26265758, hotness: undefined, score: 0, children: 1
mokshablr 17 points 14 days ago

F-Droid is the one I actually want. The request has been open since July (https://gitlab.com/fdroid/rfp/-/issues/4138) but nobody from F-Droid has reviewed it yet, which seems to be normal there.

The one thing I expect review to bring up is that the renderers are vendored as minified JavaScript, and I've offered to swap in unminified copies or build them from source. Meanwhile, the APK on GitHub releases works with Obtainium.

path: 0 26095118 26095629, hotness: undefined, score: 17, children: 3
mokshablr 16 points 13 days ago path: 0 26110938 26111896, hotness: undefined, score: 16, children: 6
mokshablr 15 points 14 days ago

Fair question. A lot of it(the README and code) was written with AI assistance under my direction, and every push runs with a the test suite in CI.

The no-permissions claim doesn't depend on trusting that tho.. the build fails if a permission is added, the About screen on the app also shows what Android says the app requests(isnt hardcoded), and it's open-source MIT licensed, so the code is there to read.

If you find something bad in it, you can open an issue and I'll definitely be there to look into it.

path: 0 26095687 26095795, hotness: undefined, score: 15, children: 3
mokshablr 10 points 13 days ago

A lot of it was written with AI, yes, under my direction, and every push runs the test suite in CI.

The no-permissions part doesn't rest on trusting the code, though. The build fails if a permission is added, the About screen shows what Android says the app requests, and it's MIT, so the code is there to read.

If anything in it looks wrong, open an issue and I'll look into it: https://github.com/mokshablr/gander/issues

path: 0 26114002 26114426, hotness: undefined, score: 10, children: 2
mokshablr 6 points 14 days ago path: 0 26095118 26095629 26096861 26097711, hotness: undefined, score: 6, children: 1
mokshablr 4 points 13 days ago

Glad the pptx worked!

The name is from "take a gander" which is like slang for "take a look". A gander is also a male goose hence the icon. 😛

Gander treats every file as untrusted. Documents render in a WebView that runs only Gander's own scripts and loads nothing except Gander's own code and the file you opened. With no internet permission, a file that got past that still couldn't reach the network.

Nobody outside has audited it yet, and you're right that it wouldn't hurt. SECURITY.md lists what a file should never be able to do, and how to report one privately: https://github.com/...

path: 0 26113432 26113879, hotness: undefined, score: 4, children: 0
mokshablr 4 points 13 days ago

It's a good one. It installs apps straight from their GitHub releases and keeps them updated. Gander's README has a one-tap link to add it.

path: 0 26110938 26111896 26111969 26112379, hotness: undefined, score: 4, children: 3
mokshablr 4 points 14 days ago

Thank you! Gander was built with a privacy-first approach since the beginning.

path: 0 26095556 26095699, hotness: undefined, score: 4, children: 0
mokshablr 3 points 13 days ago

well no more of that now, glad i got to share 😄

path: 0 26110938 26111896 26111969 26112379 26113023 26113240, hotness: undefined, score: 3, children: 1
mokshablr 2 points a month ago

Crazy how I didn't hear about this

path: 0 25902745, hotness: undefined, score: 2, children: 0
mokshablr 2 points 14 days ago

System. Gander has no TTS of its own.. it uses TalkBack or whichever screen reader you're on to read the document, PDF text included.

And no root functions, it's a viewer and asks for no permissions at all!

path: 0 26095266 26095659, hotness: undefined, score: 2, children: 0
mokshablr 2 points 13 days ago

lmaoo

path: 0 26115300 26115815, hotness: undefined, score: 2, children: 0
mokshablr 2 points 13 days ago

Thank you, that means a lot!

path: 0 26114002 26114426 26120677 26121203, hotness: undefined, score: 2, children: 0
mokshablr 2 points 13 days ago path: 0 26122828 26123928, hotness: undefined, score: 2, children: 0
mokshablr 1 point 13 days ago

Haha, thanks! If you set it up on their phones setting it as default should open most files that they want to opened without having to install another app 😂

path: 0 26122029 26123919, hotness: undefined, score: 1, children: 0
mokshablr 0 points 12 days ago

Obtainium already works with the GitHub releases, and the README has a one-tap link for it.

There's no edit feature, but the viewer's Share button hands the file to any app that accepts it so that should work for what you said.

path: 0 26125286 26127415, hotness: undefined, score: 0, children: 2
mokshablr 0 points 12 days ago

Glad Obtainium works now! Fair point on the share sheet, a button that only lists the apps that can open that file type would be nicer.

path: 0 26125286 26127415 26127556 26131432, hotness: undefined, score: 0, children: 0

thanks for using Leebra!

go to feed...