BTHLABS-58: Share Extension in Apple Apps

This commit is contained in:
2025-10-04 08:02:13 +02:00
parent 0c12f52569
commit 99e9226338
122 changed files with 5488 additions and 411 deletions

View File

@@ -82,6 +82,7 @@ const manifestJsonOutputPlugin = () => {
if (IS_PRODUCTION === false) {
result.name = '__MSG_extension_name_development__';
result.action.default_title = '__MSG_extension_name_development__';
}
return JSON.stringify(result, null, 2);

View File

@@ -1,21 +1,27 @@
import HotPocketExtension from '../common';
const POST_AUTH_PATH = '/integrations/extension/post-authenticate/';
const ACCOUNTS_RPC_PATH = '/accounts/rpc/';
const RPC_PATH = '/rpc/';
let authSessionToken = null;
let accountsRPCURL = null;
let rpcURL = null;
const updateRpcURL = () => {
const updateRpcURLs = () => {
accountsRPCURL = null;
rpcURL = null;
if (HotPocketExtension.base_url !== null) {
rpcURL = (new URL(RPC_PATH, HotPocketExtension.base_url)).toString();
accountsRPCURL = (new URL(ACCOUNTS_RPC_PATH, HotPocketExtension.base_url)).toString();
}
HotPocketExtension.LOGGER.debug(
'HotPocketExtension.background.updateRpcURL()',
'HotPocketExtension.background.updateRpcURLs()',
HotPocketExtension.base_url,
rpcURL,
accountsRPCURL,
);
};
@@ -127,7 +133,7 @@ const doCreateAndStoreAccessToken = async (authKey) => {
);
const [accessToken, error] = await executeJSONRPCCall(
rpcURL, accessTokenCall, {accessToken: null},
accountsRPCURL, accessTokenCall, {accessToken: null},
);
if (error === null) {
@@ -210,7 +216,7 @@ const doCheckAuth = async (accessToken) => {
[accessToken, getAccessTokenMeta()],
);
const [result, error] = await executeJSONRPCCall(rpcURL, call, {
const [result, error] = await executeJSONRPCCall(accountsRPCURL, call, {
accessToken,
});
@@ -239,7 +245,7 @@ const doSetupRPC = async () => {
let accessToken = null;
if (storageResult.baseURL) {
HotPocketExtension.base_url = storageResult.baseURL;
updateRpcURL();
updateRpcURLs();
accessToken = await doCheckAuth(
storageResult.accessToken || null,
@@ -280,7 +286,7 @@ const doSendTabMessage = (tab, message) => {
const doUpdateBaseURL = (nextBaseURL) => {
HotPocketExtension.base_url = nextBaseURL;
updateRpcURL();
updateRpcURLs();
HotPocketExtension.api.storage.local.
set({
@@ -378,7 +384,7 @@ export default ({...configuration}) => {
background: true,
});
updateRpcURL();
updateRpcURLs();
HotPocketExtension.api.tabs.onCreated.addListener(onTabCreated);

View File

@@ -45,20 +45,21 @@ body, html {
<p class="fs-3 mb-0">HotPocket by BTHLabs</p>
</div>
<div class="card-body">
<form id="PreauthForm" method="post">
<form id="PreauthForm" method="post" novalidate>
<div id="div_id_base_url" class="mb-3">
<label for="id_base_url" class="form-label requiredField">
HotPocket Instance URL<span class="asteriskField">*</span>
</label>
<input
autocapitalize="none"
autocomplete="off"
autofocus
class="textinput form-control"
id="id_base_url"
maxlength="255"
name="domain"
required
type="text"
type="url"
>
<div class="form-text">
Enter the URL to your HotPocket instance, e.g. <code>https://my.hotpocket.app/</code>.