corewala / buran Goto Github PK
View Code? Open in Web Editor NEWGemini browser for Android
License: GNU General Public License v3.0
Gemini browser for Android
License: GNU General Public License v3.0
...looks like a privacy leak imho
v1.9 self built
When I first start Buran, it uses the light "theme" even though I have it configured to use the "dark" theme. I have to go into the settings screen, select a different theme, then select "dark" for it to use the dark theme again.
In the screen shot, you can see the "light" colored theme being used by the settings screen, despite the "Dark" theme being selected.
If I use another app, and swap back, the dark them is still in use. However if I'm running to many other applications, and switch back to Buran, it uses the light theme again. I assume Android is suspending/killing Buran, and then restarting it.
If it matters, I am using a Kindle Fire 7 9th Generation (running FireOS 7, which is based on Android 9)
I noticed that Buran v1.12 is failing to connect to a capsule when other Gemini clients do. Specifically this when accessing the capsule gemini://lark.gay/
I am seeing a dialog that reads:
Error
Bad response: Server Error:
Connection closed by peer
I'm running Buran v1.12 on a Amazon Fire tablet, with the latest updates to the OS.
I suspect this might be a TLS issue, and the ciphers Buran is offering in the TLS handshake don't align with what the server wants. Or it could be something else entirely. Below is the outout of sslscan
, which shows what ciphers and key exchanges a TLS-protected service supports. This may aid your debugging:
$ sslscan lark.gay:1965
Version: 2.1.2
OpenSSL 3.2.0 23 Nov 2023
Connected to 137.184.49.7
Testing SSL server lark.gay on port 1965 using SNI name lark.gay
SSL/TLS Protocols:
SSLv2 disabled
SSLv3 disabled
TLSv1.0 disabled
TLSv1.1 disabled
TLSv1.2 enabled
TLSv1.3 enabled
TLS Fallback SCSV:
Server does not support TLS Fallback SCSV
TLS renegotiation:
Session renegotiation not supported
TLS Compression:
OpenSSL version does not support compression
Rebuild with zlib1g-dev package for zlib support
Heartbleed:
TLSv1.3 not vulnerable to heartbleed
TLSv1.2 not vulnerable to heartbleed
Supported Server Cipher(s):
Preferred TLSv1.3 128 bits TLS_AES_128_GCM_SHA256 Curve 25519 DHE 253
Accepted TLSv1.3 256 bits TLS_AES_256_GCM_SHA384 Curve 25519 DHE 253
Accepted TLSv1.3 256 bits TLS_CHACHA20_POLY1305_SHA256 Curve 25519 DHE 253
Preferred TLSv1.2 256 bits ECDHE-ECDSA-AES256-GCM-SHA384 Curve 25519 DHE 253
Accepted TLSv1.2 256 bits ECDHE-ECDSA-CHACHA20-POLY1305 Curve 25519 DHE 253
Accepted TLSv1.2 128 bits ECDHE-ECDSA-AES128-GCM-SHA256 Curve 25519 DHE 253
Server Key Exchange Group(s):
TLSv1.3 128 bits secp256r1 (NIST P-256)
TLSv1.3 192 bits secp384r1 (NIST P-384)
TLSv1.3 128 bits x25519
TLSv1.2 128 bits secp256r1 (NIST P-256)
TLSv1.2 192 bits secp384r1 (NIST P-384)
TLSv1.2 128 bits x25519
SSL Certificate:
Signature Algorithm: ED25519
Public Key: Unknown
Subject: lark.gay
Altnames: DNS:lark.gay
Issuer: lark.gay
Not valid before: Jan 1 00:00:00 1975 GMT
Not valid after: Jan 1 00:00:00 4096 GMT
Launcher3 crashes every 2 seconds after installing Buran. Crashes stop after Buran is removed.
Android: 6.0.1
I'm noticing something odd with 31 redirects.
Going to gemini://gemi.dev/tests/
link works just fine:
Going to gemini://gemi.dev/tests
(no trailing slash), the serve sends a 31
redirect to gemini://gemi.dev/tests/
. Other clients follow it. Buran 1.12 just spins and spins the progress bar
Can you reproduce it? Its kind of driving me crazy
According to gemini spec paragraph 5.4.3
Any line whose first three characters are "```" (i.e. three consecutive back ticks with no leading whitespace) are preformatted toggle lines. These lines should NOT be included in the rendered output shown to the user. Instead, these lines toggle the parser between preformatted mode being "on" or "off".
So, that implies, toggles may not be paired, and there could be only one ``` in file. However, Buran doesn't render text from ``` to end of file at all
Steps to reproduce:
I have a CGI in Gemini that returns a different image each time you load it:
gemini://gemi.dev/cgi-bin/xkcd.cgi
This displays a random image of the XKCD comic. If you go to that URL, and refresh the page, other Gemini clients like Lagrange or Elaho will show a new image each time. Buran keeps showing the same image over and over. Looking at my capsule logs, I can see that Buran is making another request each time, and is getting a different sized resource each time.
This same issue exists in Ariane as well.
Expected Behavior: If Buran gets a different response for an image, it should display a different image
If it matters, I am using a Kindle Fire 7 9th Generation (running FireOS 7, which is based on Android 9)
The last packaged release of Buran is v.1.12 from November of 2022. Since then, you have fixed some critical bugs, most importantly #33.
I don't have an easy way to build my own version of Buran, bundle it into an apk, and deploy it to my Android device. Can you please bundle an official v.1.13 release that will include these bug fixes?
Thanks
Expected Behavior: Buran should not crash. Ideally Buran should detect if the device is in Airplane mode (or otherwise not connected to the internet) and display an error message like "Device is in Airplane mode" or "Device does not have internet access"
If it helps you debug it, this same issue exists in Ariane as well.
If it matters, I am using a Kindle Fire 7 9th Generation (running FireOS 7, which is based on Android 9)
Noticed this rendering bug when looking at antenna yesterday.
The 2nd link ("2022-05-17 Curiouser and Curiouser: More Chilly Weather improvements") from the top wraps onto 2 lines, but has a weird, extra underline in between the 2 lines. Strangely, this does no appear to effect other links that wrap onto 2 lines (e.g. the link for "2022-05-16 Idiomdrottning: When the EU wanted to own all computers" ).
The only thing different about that line is the emoji 🤨.
Scrolling down I see 2 more Antenna posts where an emoji is used on a line that wraps and you get the same effect:
It looks like the emoji on the SpellBinding post also seems to "push down" the underline, but the bio waste symbol in StackSmith's post does not. Perhaps that's a different unicode character? I suspect if the SpellBinding line was longer we would see a problem with wrapping.
Here is the gemtext of Antenna right now so you can better test this.
(BTW, thanks for all the incredible bug fixes you have been doing recently! In the last few months Buran has become a very stable and enjoyable gemini client)
When I navigate to this URL in Buran v1.10, I get a hard crash. No message is displayed, the app just closes:
gemini://gem.pwarren.id.au/gemlog/2020-08-18.gmi
To help with testing, you can start on the following page. The first link causes the crash:
gemini://going-flying.com/~mernisse/11.gmi
For some reason a lot of the known hosts on geminispace.info won't load. They do in another gemini browser (deedum).
Examples:
gemini://159.89.115.225
gemini://aaoth.xyz/visual
Potentially related, I can't get images to load either, and when I try to save the image using the three dot menu, it saves a corrupted file.
Thanks for all your hard work on Buran. I updated to 1.8 but found a few bugs. The biggest is that click the home button causes the app to hard crash.
I'm getting a Connection error screen when the app starts up:
This only happens if the app is not running, and you start it, as opposed to resuming it while already running.
Unfortunately issue #12 crashes the app completely, so when I start Buran again, I get this dialog
Consider making the "History" view look more like the Bookmarks view. Specifically the Bookmarks view shows the Title of a page, (if one could be extracted), and nicely displays even long URLs:
I can understand not showing the full URL, but I suggest truncating it nicely like
gemini://example.com/a-very-long-url-that-needs-to-be...
Also valuable would be a time/date stamp of when the history entry was visited.
hello,
I noticed a render bug in Buran. Consider this Gemtext:
* hello I'm a list item!
*I'm a line* that starts with italics!
Buran renders both of that as list items, but the Gemtext spec says list lines start with *
(*
and a space) not just *`.
Here is a test page:
gemini://gemi.dev/tests/bug1.gmi
Noticed Buran 1.9 crashes on these links:
gemini://the-brannons.com/about
gemini://the-brannons.com/posts
Both return a 31 redirect without a leading /.
e.g.:
gemini://the-brannons.com
/about return 31 about/
Noticing a problem when clicking on links that have other links URL encoded in them.
Here is a page from Gemipedia. It contains links to images.
gemini://gemi.dev/cgi-bin/wp.cgi/images?Moon
The Urls in the links contain an HTTP URL that is passed via the query string. Looking at the Gemtext, you can see a properly encoded URL:
# Image Gallery: Moon
[...snip...]
=> /cgi-bin/wp.cgi/media/media.jpg?https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2Fe%2Fe1%2FFullMoon2010.jpg%2F440px-FullMoon2010.jpg The near side of the Moon (north is at top)
When clicking with this link with Buran v1.7, this is the incoming URL that I see in my logs:
gemini://gemi.dev/cgi-bin/wp.cgi/media/media.jpg?https%3A/upload.wikimedia.org/wikipedia/commons/thumb/e/e1/FullMoon2010.jpg/440px-FullMoon2010.jpg
Notice that the /
characters in the query string are not sent URL encoded. It also appears that the //
in the https://
has be reduced down to a single /
.
When I make this request with Lagrange or other clients, I see the correct URL requested in my logs:
gemini://gemi.dev/cgi-bin/wp.cgi/media/media.jpg?https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2Fe%2Fe1%2FFullMoon2010.jpg%2F440px-FullMoon2010.jpg
The biggest issue here is changing the encoded //
to a single /
, This means my server-side code gets an invalid URL from the query string, and I cannot fetch the needed image
Hello, I really like your browser. I have a problem with the links to gemini capsules. In the page if the link does not have a / at the end, the link does not work. Good day and thanks again.
Example from "gemini://158.nu/images/full/imitation/2021-06-30-0024.jpg". The page that it is linked from, "gemini://158.nu/imitation.gmi", spits out tons of errors as well.
Originally posted by @Silent-Hunter in #33 (comment)
I'm seeing something super strange in Buran 1.12:
This image does not render: gemini://circadian.gemlog.org/img/vr-sculptvr.jpeg
Instead I get the "Image" dialog, with no image rendered:
Even stranger, this image is linked from this Gemtext page:
gemini://circadian.gemlog.org/2023-05-19-the-state-of-vr.gmi
The image is under the "Spectacular Multiplayer" heading, with the label "Screenshot".
When you click this image link in Buran 1.12, it alternates between displaying a "Permanent Failure" error dialog:
and displaying the "Image" dialog with no image rendered. It is super strange
Buran thinks that mailto:
links are gemini://
links with a relative URL.
If you are on gemini://example.com/
and click this link like
=> mailto:[email protected] Email me
Buran goes to the URL: gemini://example.com/mailto:[email protected]
instead of what it should do, which is go to mailto:[email protected]
which will launch the associated mail program (or nothing at all)
You don't need to specifically code for mailto:
proper URL parsing would detect this. Parsing mailto:[email protected]
should show a fully qualified URL with a scheme of mailto:
. Its not a relative URL, because :
is a reserved, general delimiter (according to the URL Generic Syntax RFC linked off the Gemini protocol spec) and it has to be escaped if used outside of the delimited between scheme or between hostname and port in the authority. Basically use a proper URL parsing library and you will be fine
This is a really odd error, but it is consistent and repeatable. When attempting to load certain URLs, I will get this error message:
This is odd for several reasons, so I will try to provide as much information as I can:
localhost
. I'm on a capsule (gemi.dev
) and I'm clicking a link to that same capsule (as an example lets say gemini://gemi.dev/example?foo
")gemini://gemi.dev/other-example
doesn't trigger the error), so I'm not sure why a "Connection Error" is happening. Clearly Buran can connect to the host and get responses.from /;; (port X)
part of the error message increases by 6.I'm not sure if this will reproduce for you. I'm on the page:
gemini://gemi.dev/cgi-bin/wp.cgi/view?f101
. Click thing the links for "F-101 Voodoo" or "Dominican frigate" cause the error. Clicking on "General Electric F101" does not.
Like I said it's weird. It only happens on URLs with query strings. I have seen this happen on other capsules like search engines as well.
In Buran 1.12, I'm getting the following error when trying to access a capsule:
Error
Bad response: Server Error:
Handshake failed
The URL is gemini://gemini.locrian.zone/gemlog/darkmode.gmi, but I get the same error for any page on that Capsule.
This capsule works fine in other clients like Lagrange. I assume there is a problem with the TLS library/support that Buran has. I used openssl s_client -connect gemini.locrian.zone:1965
to see more about the TLS handshake:
CONNECTED(00000005)
depth=0 CN = gemini.locrian.zone
verify error:num=18:self-signed certificate
verify return:1
depth=0 CN = gemini.locrian.zone
verify return:1
---
Certificate chain
0 s:CN = gemini.locrian.zone
i:CN = gemini.locrian.zone
a:PKEY: ED25519, 256 (bit); sigalg: ED25519
v:NotBefore: Dec 4 20:35:43 2022 GMT; NotAfter: Dec 4 20:35:43 2023 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIBUDCCAQKgAwIBAgIRAOOnMbTyI5ypHG2Mj3TUzG0wBQYDK2VwMB4xHDAaBgNV
BAMTE2dlbWluaS5sb2NyaWFuLnpvbmUwHhcNMjIxMjA0MjAzNTQzWhcNMjMxMjA0
MjAzNTQzWjAeMRwwGgYDVQQDExNnZW1pbmkubG9jcmlhbi56b25lMCowBQYDK2Vw
AyEA8iJz0LjhdK9mJZpkYTNVDoCvavccx3JBKMskAsDVAXSjVTBTMA4GA1UdDwEB
/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB4GA1Ud
EQQXMBWCE2dlbWluaS5sb2NyaWFuLnpvbmUwBQYDK2VwA0EArEy6sqzS9X2sKJXo
iFNXBgal9RLXt08YjiuHYsQPVzGEE27cNMHiOiF0cIA1XvQAPh2zTxVVMQPM6E7V
fVCSDw==
-----END CERTIFICATE-----
subject=CN = gemini.locrian.zone
issuer=CN = gemini.locrian.zone
---
No client certificate CA names sent
Peer signature type: Ed25519
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 688 bytes and written 385 bytes
Verification error: self-signed certificate
---
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 256 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 18 (self-signed certificate)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
Protocol : TLSv1.3
Cipher : TLS_AES_128_GCM_SHA256
Session-ID: 25AC10AD9A84E9D3F61487E5956538DFBDA2D20E1DA8C773F19D5E89B85A9EDF
Session-ID-ctx:
Resumption PSK: 3D2C4C61E98086285EE763ED1F657C9F63D740867729AE385576BB04792A489A
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 604800 (seconds)
TLS session ticket:
0000 - bf 5f 20 94 99 3a 0a a8-03 a0 fa d2 21 f1 ef 64 ._ ..:......!..d
0010 - da 41 af fe 12 54 45 ed-16 1f 98 0c d1 c8 97 77 .A...TE........w
0020 - 52 b8 07 ad a4 93 0f f9-07 b3 dd 3f ca 98 1a 28 R..........?...(
0030 - e2 65 fc 67 bf f1 31 7d-07 cb 00 3a c4 09 fe 43 .e.g..1}...:...C
0040 - e6 d6 16 a9 f2 f7 2b d6-c6 e0 90 50 64 37 6e cb ......+....Pd7n.
0050 - 34 16 48 e9 7a c0 ea 92-67 55 53 a8 ea 54 bc dd 4.H.z...gUS..T..
0060 - 94 6b 83 55 e1 2b 6e 5b-13 f2 40 67 68 c8 e8 5d .k.U.+n[..@gh..]
0070 - fd .
Start Time: 1692703689
Timeout : 7200 (sec)
Verify return code: 18 (self-signed certificate)
Extended master secret: no
Max Early Data: 0
---
read R BLOCK
The to-do list items could be moved into github discussions (if enabled) or issues in a project board. And some clarification could be provided for some of the points:
Not sure this is related to any of the similar connection issues.
Hadn't updated my apps in a bit. My ROMs had Buran 1.6 (all good except dark theme never sticks). On both Nougat and Oreo, v1.8 produces a toast at the bottom that says "No internet connection". Not even allowed to tap into the address bar, keyboard will not show.
Uninstalled and tried v1.7. Same results. Version 1.6 is fine. Went back and forth between all three versions on both devices to verify behavior. Only 1.6 works.
Recorded a log but couldn't find any errors related to the app. Will check again and attach or haste.bin it.
Android 9 and 11, no issues with v1.8.
Edit: Sorry! Didn't see the todo list🤦
This is an annoyance more than broken functionality. Buran 1.8 fixes the issue #3 which is great. I use the dark theme because I primarily use Buran at night before going to sleep. Unfortunately, when the app starts (not when resuming) Buran displays an all-white screen for maybe a second before it then switches to using the dark theme. This is a surprise and kind of hurts my eyes.
This is especially prone to happen because of issues #12, which causes Buran to completely start more often
I've been playing with Duckling Proxy, which is a gemini-to-HTTP gateway.
Basically this acts as a proxy, converting HTML to gemtext on the fly, and responding with the appropriate gemini response codes/lines.
Other clients like Amfora, AV-98, and Lagrange allow you to define an HTTP proxy. When you click a link line in gemtext that points to an HTTP/HTTPS url, the client instead connects to the proxy and uses the HTTP(S) URL as the gemini request line. This is really cool since it makes it trivial to access images, etc, that happen to be linked.
From a developer perspective its nice since everything is still gemini requests and responses. Your HTTP link handling logic changes (handle it yourself vs pass to external program based on whether the proxy is configured), and perhaps the logic about what URLs are allowed to make it into gemini requests
I would suggest this as a cool feature for Buran. It would be inside of Settings, so it would not be disruptive to the normal user experience.
If you'd like to experiment, I actually run a public Duckling proxy that you can play with:
gemini://gemi.dev/stargate.gmi
I've discovered this app because it was added to the f-droid izzyondroid repository, I'm wondering if you would like to publish the app also in the official f-droid repo.
F-droid (https://f-droid.org/) is an alternative android app store that provides exclusively floss apps.
Trying to fix #20 I've put a
(space) instead of a link (I don't want/have a link anyway).
The app crashes continuously now and never starts:
FATAL EXCEPTION: main
Process: corewala.gemini.buran, PID: 29258
java.lang.RuntimeException: Unable to start activity ComponentInfo{corewala.gemini.buran/corewala.buran.ui.GemActivity}: java.lang.IllegalArgumentException: Illegal character in path at index 0:
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3432)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3596)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2067)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7705)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
Caused by: java.lang.IllegalArgumentException: Illegal character in path at index 0:
at java.net.URI.create(URI.java:848)
at l2.g.b(Unknown Source:4)
at o2.r.d(Unknown Source:17)
at o2.r.c(Unknown Source:5)
at corewala.buran.ui.GemActivity.onCreate(Unknown Source:20)
at android.app.Activity.performCreate(Activity.java:7994)
at android.app.Activity.performCreate(Activity.java:7978)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1310)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3405)
... 11 more
Caused by: java.net.URISyntaxException: Illegal character in path at index 0:
at java.net.URI$Parser.fail(URI.java:2893)
at java.net.URI$Parser.checkChars(URI.java:3066)
at java.net.URI$Parser.parseHierarchical(URI.java:3150)
at java.net.URI$Parser.parse(URI.java:3108)
at java.net.URI.<init>(URI.java:584)
at java.net.URI.create(URI.java:846)
... 19 more
Buran 1.12 is not properly resolving relative URLs. Specifically, Buran is not removing "dot segments" (e.g. ../
or ./
) which is required by RFC 3986 when resolving URLs.
Look at this URL:
gemini://rawtext.club/~winter/gemlog/2023/8-18.gmi
At the bottom of the page there is a link line:
=> .. gemlog
This relative URL should be resolved to the fully qualified URL gemini://rawtext.club/~winter/gemlog/
, which should then be sent in the Gemini request. Instead, it Buran sends the URL gemini://rawtext.club/~winter/gemlog/2023/..
in the request. While some servers may handle that URL, most don't, including that capsule, which returns a 50
server error saying it's a bad request.
When resolving relative URLs, you should use the algorithm described in section 5.2 of RFC 3986, specifically section 5.2.4: Remove Dot Segments. Most URL libraries do this automatically when parsing/resolving URLs. Perhaps Buran is using an out-of-date library, or not using a proper URL parsing library.
Buran 1.12 does not render the following image:
gemini://mntn.xyz/posts/2021-10-09-dithering-an-idea-whose-time-has-finally-come/219009.png
It only displays the "Image" dialog window, with it all empty. This is different than #48, where requesting the image alternates between a "Permanent Error" warning and an empty Image dialog. In this case, only an empty Image dialog is shown, every time you try to view the image.
That image is linked off this page:
gemini://mntn.xyz/posts/2021-10-09-dithering-an-idea-whose-time-has-finally-come/
With the link label "Dithered image"
When try to browse "gemini://compudanzas.net/" on Buran and open a link, the browser shows the loading animation and it doesn't stop.
When copying the address, links appear to have extra "./" inserted. For example "gemini://compudanzas.net/./jarotsim.gmi". After manually removing them, the page loads without error. Also, if I try to open a link multiple times, more "./" are inserted.
Bizarely, this issue only seems to affects compudanzas, other websites I've tried load perfectly fine, even if the "./" are manually added.
Steps to reproduce:
Having multiple tabs would be amazing for browsing. Is that planned?
Buran ignores the enter key on my phone with a physical keyboard and thus I cannot visit any capsules that I type in the box.
Right now Buran uses TLGS as its search engine and there is no way to change this.
TLGS is great, but I'd like to use Kennedy (gemini://kennedy.gemi.dev).
Suggestion 1: Provide a list of search engines the user can choose (TLGS, Kennedy, and Geminispace.info)
Suggestion 2: Allow users to define their own search engine: Most ask that you specify the URL to use for the search, and the search terms are sent as a query string on that URL. This is approach is great since a) you don't have to maintain a list of search engines and b) it allows users to add search for specific sites or CGI's that have popped up, such as the recipe search or the Wikipedia frontend.
Buran 1.8 (and probably earlier) is not properly rendering Header lines that don't use whitespace between the #
and the header text.
According to the Gemtext spec, whitespace after the #
in a header is optional:
Lines beginning with "#" are heading lines. Heading lines consist of one,
two or three consecutive "#" characters, followed by optional whitespace,
followed by heading text.
But saw this while browsing:
#New things with the capsule ##New Hosting Provider The ...
gemini://tilde.team/~smokey/logs/2022-05-25-new-things.gmi
Looks like Buran is assuming there is whitespace after the '#' and skipping the first character of the text
When accessing this capsule, Buran takes ~2 minutes 15 seconds before displaying a timeout error
gemini://54.203.8.106/
This is a very long time, during which the user only sees a loading animation. I suggest a much shorter timeout limit (say 30 seconds)
v1.9 self built
Open the app
Block the home capsule loading (#20)
Put any link in the browser address bar: gemini://drewdevault.com
Press ENTER
FATAL EXCEPTION: main
Process: corewala.gemini.buran, PID: 2609
java.util.NoSuchElementException: List is empty.
at w2.f.C(Unknown Source:2)
at h.h.k(Unknown Source:4)
at corewala.buran.ui.GemActivity.D(Unknown Source:6)
at corewala.buran.ui.GemActivity.z(Unknown Source:2)
at corewala.buran.ui.GemActivity.y(Unknown Source:1)
at corewala.buran.ui.GemActivity$c.a(Unknown Source:1)
at corewala.buran.ui.GemActivity$g.onEditorAction(Unknown Source:3)
at android.widget.TextView.onEditorAction(TextView.java:7075)
at com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:138)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:363)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:93)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7705)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
Going back in history to a page with inline images sometimes loads the wrong image from cache
Hello,
I run a community site with a private EC key. However, Buran does not seem to be able to open it. (I hope I have worded it correctly. I'm not that familiar with cryptography terms).
Same for deedum (snoe/deedum#67).
OS information:
CalyxOS 3.5.1 based on LineageOS
Android 12
and
LineageOS for MircoG
Android 11
There was no commits for more than a year. Is this project abandoned?
I have a Gemini CGI that displays different images based on the query string. However Buran keeps displaying the same image, even though the query string has changed.
I run a Gemini mirror of the XKCD web comic. The comic number to display is passed via the query string. These 2 gemini links show different images in Elaho, Lagrange, and other Gemini clients
gemini://gemi.dev/cgi-bin/xkcd.cgi?55
gemini://gemi.dev/cgi-bin/xkcd.cgi?60
However Buran shows the same image for both. This same issue exists in Ariane as well.
If it matters, I am using a Kindle Fire 7 9th Generation (running FireOS 7, which is based on Android 9)
I noticed a bug in present in both Buran v1.10 and v1.11.
Relative URLs that are just query strings are not properly resolved. Consider I'm on page gemini://gemi.dev/example
and it has a link line like this:
=> ?test test list
Clicking that should send a request for gemini://gemi.dev/example?test
but instead it send a request for gemini://gemi.dev/?test
You can see an actual example with my Where in the World game: gemini://gemi.dev/cgi-bin/witw.cgi/play
Go to that page, then scroll down and click a link for a country. All those links are of the form:
=> ?,AF Afghanistan
So when you click Afghanistan the URL you should go to is gemini://gemi.dev/cgi-bin/witw.cgi/play?,AF
but Buran is sending a request to gemini://gemi.dev/cgi-bin/witw.cgi/?,AF
Hello. I would like to help in the Spanish translation of Buran. Is there a way to get in touch if you agree?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.