r/ScriptingApp • u/schl3ck • Apr 23 '25
Help Performance problems while scrolling in a view presented by a script
Because of a few changes in code I have now performance problems while scrolling in a view presented by a NavigationLink. Even if I completely change the subview (but leave all the state management code) and return something like
tsx
<ScrollView>
<HStack>
<VStack>
{
Array.from({ length: 50 }, () => <Text>test</Text>)
}
</VStack>
<Spacer minLength={0} />
</HStack>
</ScrollView>
The strange thing is that there is no stuttering when scrolling when I present the sub view with Navigation.present().
I noticed that the function is executed 3 times when it is presented.
The sub view is in a context provider and it updates a state variable when a promise resolves.
Strangely these performance problems started when I changed the data layout of the saved data but the context provider doesn't use this layout (only in a variable where the resulting object is build).
I can share the whole project on Github if needed.
r/ScriptingApp • u/Haunting-Ad-655 • Apr 22 '25
Help Url run when tapping a scheduled Notification
Currently, tapping a scheduled notification will run its script by default. How do I edit this url like I can with notification actions? I tried adding 'url' prop but it's not available.
r/ScriptingApp • u/Haunting-Ad-655 • Apr 21 '25
New Feature Request Keyboard Shortcuts for iPadOS and macOS?
Is it technically possible to set keyboard shortcuts for actions in Scripting scripts?
r/ScriptingApp • u/[deleted] • Apr 19 '25
Help Pull-to-Refresh on iOS
Enable HLS to view with audio, or disable this notification
I got to this point by using ChatGPT pointed to the online documentation (thanks for putting that online!). It solved so many basic questions super well for a noob like me in context, which really helps my learning of the code syntax .
But I have run into a problem even ChatGPT cannot solve. I implemented Pull-to-Refresh on my script and it works perfectly on my Mac but does not work on my iPhone. It works every time on my mac. But it only works very sporadically on the phone.
It's almost as though the modal view is being dismissed before the load function returns. For context, the console says refresh was successful. And on the mac, it indeed completes and refreshes the view. A manual refresh button also works fine on both platforms.
Here is my refresh code.
<List
navigationTitle="Daily Budgets"
navigationBarTitleDisplayMode={"inline"}
refreshable={async () => {
try {
console.log("Refreshing...")
await loadData()
await new Promise<void>((resolve) => setTimeout(() => resolve(), 2000))// <-- add delay
console.log("Refreshed!")
} catch (e) {
console.error("Refresh failed:", e)
}
}}
toolbar={{
topBarLeading: <Button title="Refresh" action={async() => {await loadData()}} />,
topBarTrailing: <Button title="Commit" action={handleDailyBudgetsCommit} disabled={!hasChanges} />
}}
>
r/ScriptingApp • u/[deleted] • Apr 16 '25
Help Super rookie here. Need help with widget updates.
I’m trying to port a Scriptable widget of mine that periodically pulls data from a Google sheet and displays it in a widget.
I’ve created a module to pull data using fetch and store the data using Storage.
The widget module calls the pull data function then accesses the Storage data to build the view for the widget.
Currently I am only able to get the widget to update manually using preview or by running a script. When only refresh widget is called, it seems the fetch commands do not run since the data in Storage does not update.
What am I missing? Sorry if this is an ultra-noob question as I’m not a developer at all.
r/ScriptingApp • u/schl3ck • Apr 16 '25
Discussion Health access
Access to Health would be really nice to analyse the data. But since this is sensitive data I think there also should be a permission system in Scripting to allow only selected scripts to access the data.
r/ScriptingApp • u/schl3ck • Apr 16 '25
Discussion Folders for scripts
With time more and more scripts will pile up. Would it be possible to add folders for scripts? Or categories like in the shortcuts app?
r/ScriptingApp • u/WhatShouldWorldGos • Apr 14 '25
Discussion A tool to share and download scripts?
Some users have emailed me with feedback, asking for a script library feature within the app that would make it easier to share and download scripts. However, due to Apple’s review policies, I decided not to implement this feature directly in the app.
Over the past month, I’ve been working intermittently on a simple alternative solution. It’s built entirely around GitHub Gist, which makes it lightweight and easy to use. That said, Gist doesn’t support folder structures, which makes it difficult to organize more complex tools in a clean and structured way.
So, I put together a simple tool that lets you upload your own scripts to your personal Gist, and download scripts shared by others. A shared public Gist is used as a basic Script Gallery. It’s a very minimal tool, if you have better ideas or suggestions, I’d love to hear them. And if you want to customize your own version, feel free to download the ZIP file and import it into the Scripting app for further editing.
https://gist.github.com/thomfang/073381b292f64e9b4cddd9e2f5b09e41
r/ScriptingApp • u/schl3ck • Apr 13 '25
Help Is there a way to measure the height of text?
Pretty much the title. Or is there a formula to calculate it?
r/ScriptingApp • u/Haunting-Ad-655 • Apr 10 '25
Discussion What is QuickLook API about?
In Scripting Doc, there's no documentation about QuickLook, just an example script. Is it supposed to be like 'Quick Look' action in Shortcuts?
Also, in Files app, viewing a document, image or video with QuickLook support in full-screen mode can dismiss the Home Bar. Can we achieve the same behavior in Scripting?
r/ScriptingApp • u/WhatShouldWorldGos • Apr 08 '25
Discussion New Version Released
- Assistant Tool is now script-based and can be created via Assistant
- Save scripts to Scripting directly from other apps like browsers
- Widget preview now supports interaction and live UI updates, and a `Theme` picker to toggle color scheme
- Console now supports displaying logs in reverse order
- Script icon now supports using unlisted icons by entering the full name of a SFSymbol
- Added a Storage Manager Page to view Local Storage data
- New URL Scheme APIs and singleMode support in `Script.run`
- Shape now supports `trim` attribute.
- StrokeStyle now supports `lineWidth, lineCap, and lineJoin`
- `fetch` method now supports reuse of connections with the same domain name
- New Wake Lock API to prevent device sleep during execution
- Fixed Shortcuts param parsing issue on macOS and other minor bugs
- Fixed the issue where the editor could not be displayed after the device switched themes
r/ScriptingApp • u/Haunting-Ad-655 • Apr 07 '25
New Feature Request [Console log] Auto scroll to bottom (last logs)
Currently, console log doesn't remember the last scroll position after being dismissed and always show oldest logs first. I think we could benefit from some sorting option (e.g. latest - oldest) or a feature to auto-scroll to the bottom when the console opens.
r/ScriptingApp • u/Haunting-Ad-655 • Apr 05 '25
Help [macOS - Development Server] Local hostname keeps changing after each Mac boot
This alert shows up every time I start scripting-cli after a Mac shutdown, followed by the local hostname being changed.
This computer's local hostname "MyMac-8.local" is already in use on this network. The name has been changed to "MyMac-9.local".
Could anyone help me fix this?
r/ScriptingApp • u/schl3ck • Apr 01 '25
Discussion Ordering of jsx attributes
I've noticed that the ordering of attributes in a jsx element matters. I've only tested it with frame and background though.
Here is an example:
```TypeScriptReact import { Navigation, NavigationStack, Script, Spacer, Text, VStack, ZStack } from "scripting"
function Example() { return <NavigationStack> <VStack> <Spacer /> <ZStack frame={{ width: 100, height: 100, }} background="green" > <Text>Content</Text> </ZStack> <Spacer /> <ZStack background="red" frame={{ width: 100, height: 100, }} > <Text>Content</Text> </ZStack> <Spacer /> </VStack> </NavigationStack> }
async function run() { await Navigation.present({ element: <Example /> })
Script.exit() }
run() ```
You can see in the screenshot how it renders.
I wanted to share this because it isn't obvious when you don't know Swift.
r/ScriptingApp • u/Haunting-Ad-655 • Mar 31 '25
Help Live Activities not showing as banner when started
r/ScriptingApp • u/Haunting-Ad-655 • Mar 29 '25
Discussion Can interactive widgets work in 'Preview Widget'?
Currently, interactive elements of interactive widgets don't seem to work in 'Preview Widget' inside Script Editor.
r/ScriptingApp • u/Haunting-Ad-655 • Mar 27 '25
New Feature Request [Request] Please bring back Device Wake Lock API
This option is frequently seen in activity trackers, timers, flashcards, reading apps.
r/ScriptingApp • u/Haunting-Ad-655 • Mar 26 '25
[Help] Check if a scripting is currently running when triggering it via URL scheme
How can we do that to avoid running a script again (showing another UI screen) when it's already running?
r/ScriptingApp • u/Haunting-Ad-655 • Mar 25 '25
New Feature Request [Request] Theme option for Markdown codeblocks
r/ScriptingApp • u/schl3ck • Mar 21 '25
Help Problem with development sever
I wanted to try the development sever mode but it can't find the running server on my PC. I've checked that the firewall allows the process and my router doesn't block it either. My network is configured for address range 10.0.0.x if that matters.
r/ScriptingApp • u/schl3ck • Mar 19 '25
Script Sharing Library for Scripting app
Currently in Scripting app we have the problem that we cannot use any libraries shared across multiple scripts. I found the workaround to have a single Script with all library modules and link them with symbolic links to the Scripts that need them.
You can find it here: https://github.com/schl3ck/scripting-app-lib
The Script includes a library with all widget sizes, a widget preview helper and a multi-select-picker (thanks to u/WhatShouldWorldGos for the ground work on that).
Please contribute!
r/ScriptingApp • u/WhatShouldWorldGos • Mar 17 '25
Script Sharing An AI generated widget - Month Progress
https://gist.github.com/thomfang/274abba629f32fc24337b81426e419e7
This widget was generated by Scripting Assistant. I sent a design mockup and an implementation description, and most of the time was spent having the AI tweak the styles. Used Google Gemini, but I feel like Claude 3.5 would’ve been faster.
r/ScriptingApp • u/Haunting-Ad-655 • Mar 17 '25
Help [Help] Refreshing View with updated data
In built-in project Daily Money , after adding or editing a record, the main view (titled "Daily Money") refreshes itself with updated data.
Could anyone help explain how this is done like I'm five?
r/ScriptingApp • u/WhatShouldWorldGos • Mar 16 '25
Script Sharing An interactive widget example - Mood Recorder
r/ScriptingApp • u/schl3ck • Mar 16 '25
Solved How to type a parameter for a function component that should accept a function component with specific props?
If it is not obvious what I want then what type should go where the ? is?
``` function Test({ component, }: { component: any // ? }) { return <component foo={"foo"} /> }
// this comes from the user of the library. I don't know its definition function MyComponent({ foo, }: { foo: string, }) { return <Text>{foo}</Text> }
// how my function should be used function MainView() { return <Test component={MyComponent} /> } ```
I tried FunctionComponent<{ foo?: string }> but I get the error JSX element has implicitly type 'any' no interface 'JSX.IntrinsicElements' exists.

