Skip to content

iOS Share Extension successfully saves bookmark but leaves originating app frozen/unresponsive #3018

Description

@RocknRowan

Describe the Bug

Description

When sharing a URL to Karakeep using the iOS Share Sheet, the bookmark is successfully created on the Karakeep server, but after the Karakeep share extension finishes, the originating application becomes unresponsive.

I have reproduced this with both Safari and Facebook.

The bookmark itself is saved correctly and appears immediately in the Karakeep iOS app and in the Karakeep web interface. The problem appears to occur after/during dismissal of the Karakeep share extension and return to the originating application.

Environment

Karakeep iOS app: 1.10.0
Karakeep server: 0.33.2
iPhone: iOS 26.0
Self-hosted Karakeep using Docker
Remote connection through Tailscale Serve / HTTPS
Karakeep server configured in the iOS app using an HTTPS Tailscale hostname
Tested while iPhone was using 5G cellular, not local Wi-Fi

Steps to reproduce

Open Safari or Facebook on the iPhone.
Open a webpage/post containing a URL.
Tap Share.
Select Karakeep from the iOS Share Sheet.
Karakeep displays the "Hoarding..." process.
The bookmark is successfully sent to the server.
Return to the originating application.

Actual result

The bookmark is successfully created.

It appears immediately in:

the Karakeep iOS application
the Karakeep web interface on the server

However, the originating application (tested with both Safari and Facebook) becomes frozen/unresponsive after the Karakeep share operation. Touch/interaction with the originating app no longer works normally and the application must be closed/reopened.

On an earlier attempt I also received:

fetch failed: FetchRequestCanceledException: Fetch request has been canceled (at Expo/NativeResponse.swift:63)

That occurred while troubleshooting the mobile server connection. After changing the mobile Karakeep server from a local HTTP address to the working Tailscale HTTPS endpoint, bookmark saving now succeeds reliably, but the originating-app freeze still occurs.

Expected result

After Karakeep successfully saves the bookmark, the share extension should dismiss and return control to the originating application without leaving that application unresponsive.

Additional observations

The server/network connection appears to be working correctly:

Karakeep iOS reports server version 0.33.2
Bookmarks submitted through the Share Sheet reach the server successfully.
New bookmarks appear immediately in the Karakeep iOS app.
The same freeze occurs from more than one originating application (Safari and Facebook).

This makes the issue appear related to the iOS Share Extension completion/dismissal behavior, rather than failure to communicate with the Karakeep server.

Steps to Reproduce

Steps to reproduce

Open Safari or Facebook on the iPhone.
Open a webpage/post containing a URL.
Tap Share.
Select Karakeep from the iOS Share Sheet.
Karakeep displays the "Hoarding..." process.
The bookmark is successfully sent to the server.
Return to the originating application.

Expected Behaviour

No freeze of sharing application.

After Karakeep successfully saves the bookmark, the share extension should dismiss and return control to the originating application without leaving that application unresponsive.

Screenshots or Additional Context

No response

Device Details

iphone 16

Exact Karakeep Version

Karakeep iOS app: 1.10.0 Karakeep server: 0.33.2

Environment Details

Karakeep iOS app: 1.10.0 Karakeep server: 0.33.2 iPhone: iOS 26.0 Self-hosted Karakeep using Docker Remote connection through Tailscale Serve / HTTPS Karakeep server configured in the iOS app using an HTTPS Tailscale hostname Tested while iPhone was using 5G cellular, not local Wi-Fi

Debug Logs

See above.

Have you checked the troubleshooting guide?

  • I have checked the troubleshooting guide and I haven't found a solution to my problem

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstatus/untriagedThis issue needs triaging to confirm it

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions