Hi everyone! It's that time of the year again! š
I had another release ready but I think it's safer to not put it on Google Play because I won't be able to provide any support for it.
You can still try the new release though! But use it at your own risk! Should be fine though š š
Get it right awayĀ here. (Direct-Purchase VersionĀ here). App Factory UpdateĀ here.
In the meantime, if you have any issues, check this list and maybe your issue is listed there with a fix!
Cheers and see you soon!
Here's the full changelog for this version (not very well ordered, but good enough š [some features were already from the previous release]):
Scenes V2: added font options anywhere text can be rendered
Scenes V2: added Aspect Ratio modifier
Scenes V2: added all possible properties to the Text component
Scenes V2: added Cancel Screen event action
Scenes V2: added Enabled property to components where it makes sense
Scenes V2: added Headers state to WebView component
Scenes V2: added Material Symbol support
Scenes V2: added optional additional delay for Show When transitions
Scenes V2: added Text Input Component's input types so you can have different types of keyboards, etc on it
Scenes V2: allow copy-pasting of modifiers
Scenes V2: made Button a component with a slot so you can fully customize the text inside it or even use any other component in it
Scenes V2: made flexbox accept booleans in direction, so you can easily toggle it with the Toggle Variable event action and separated Reverse from direction
Scenes V2: progress bar component new state Display Progress allowing you to bind an animated progress to a variable
Scenes V2: added ability to disable the dot in progress bar and add a gap
Scenes V2: changed inputs to have minus and plus buttons where it makes sense
Scenes V2: localize component names
Scenes V2: made modifiers that only exist because of their parents be the first in the pickers
Scenes V2: made the Text field in the Text component be multiline
Scenes V2: removed Consume option for Key Pressed event because it's redundant with the Stop Propagation option
Scenes V2: updated FlowRow icon so it's not the same as the FlowColumn
Fix Scenes V2: fixed accessing array operators like %items(#) or %items(2) or double-references like %%some_var_name
Fix Scenes V2: fixed auto-dismiss behavior in certain situations
Fix Scenes V2: fixed bug where changing variables used in a WebView would create a history so pressing back would go to previous states
Fix Scenes V2: fixed images with Material Icons not growing to the size they should inside unbounded parents
Fix Scenes V2: fixed issue with floating point rounding in Progress Bar states
Fix Scenes V2: fixed issues with using vh css
Fix Scenes V2: fixed reacting to push and pops in global arrays
Fix Scenes V2: fixed showing crop to SVG file picker in Crop Shape modifier
Fix Scenes V2: fixed stale variables in some situations
Fix Scenes V2: fixed text input component filling to parent's size when Show When filter on a size modifier is false
Fix Scenes V2: fixed WebView issues with some size related styles
Fix Scenes V2: fixed WebView Launch App action
New UI: ability to manually sort list items in the main UI screen
New UI: added button to only show errors in new Runlog screen
New UI: show projects in search results with inline projects
New UI: added developer option to hide the top buttons inside the project screen (making all selected when that's the case)
New UI: made item list items all the same height and more uniform
New UI: made main screen items connected lists
New UI: made many transition parameters configurable via Settings -> Developer
New UI: moved profile switches to the right of the cards and hid their profile details for now (should come back in the future in some form)
New UI: refined the main screen and project/profile enter transitions
New UI: removed the tag chips from the item cards for now (probably will come back in a different form)
Fix New UI: fixed recent changes not being filtered correctly
Fix New UI: fixed turning off runlog in new Runlog screen not hiding the log lines
Added runShellTasker function to the Java Code action so you can run a shell exactly like the Run Shell action would
App Factory: show useful, detailed error messages when app generation fails instead of a generic message
Warn when you try to write a very large variable, so you're more aware of potential flaws in your setup
Widgets V2: added Material Symbol support
Fix some screens all over the app sometimes showing incorrect language
Fix Tried to fix a crash when browsing Tasky routines
Fixed a small issue when setting multiple variables with JSON
Fixed crash when clearing data that could sometimes happen
Fixed how pushing/popping a global array drives the Variable Set event: it now fires for every array position the operation shifts, instead of just one. Popping also fires Variable Cleared for the removed top element.
Fixed issue where editing a profile's Wifi Connected condition would deactivate that profile
Sign up for the beta and download from Google PlayĀ here.
Note: Google Play might take a while to update. If you donāt want to wait for the Google Play update, get it right awayĀ here. (Direct-Purchase VersionĀ here). App Factory UpdateĀ here.
I'm giving another concept a try: instead of having a sidebar with projects, how about putting them inline directly?
When you go in and out of a project you see this:
As you can see, you have the 3 familiar tabs (Profiles/Tasks/Scenes). You can select multiple at the same time like you see on the screen, or you can select one at a time to just see those types of items.
Projects are automatically color coded based on the project's icon. Here's a project with a green icon:
As you can see it tints the whole UI based on the color of the icon.
Let me know how you like this variant of the UI.
I'm also thinking of trying yet another version where there are no tabs inside a project and instead they are in collapsible groups, kinda like this:
If you can, try out the inline projects variant and let me know which of the 3 variants makes the most sense to you and why :)
The functionality of the runlog screen remains the same as before but it has a much cleaner and easy to follow UI. You can clearly see where a task starts and ends and follow its actions visually and see which ones succeeded and which failed.
Material Symbols are a icon font that can be adapted into different situations. For example, they can represent state where the otline variant represents an inactive state and the filled variant represesnts the active state
These can be used in their configurable form, where you manually specify a bunch of their attributes (like in the Notify action), or in their automatic form where their configuration is automatically set (like in the Set up Quick Setting Tile action where the icon is filled or outlined depending on the QS Tile state).
In the legacy UI, if you give a Project one of these icons, it'll also change from outline to filled depending if the project is selected or not.
It's now super easy to put your Tasker arrays into scenes with the new Arrays Merge Template element.
In this example, I would have 2 arrays:
%icon
%item
each with their corresponding icon images and labels. With this simple component...
...I can expand those 2 arrays together into a list of rows dynamically built from those arrays!
Saved Component Templates
You can now long click any element on the tree and save it as a Component Template with a name and description. Then you can simply insert it into your tree like any other component. :)
Show When Animations
When a component has its Show When field set, you can now set animations that define how that component shows up and goes away. You can choose various types of animations.
For example, by combining a dark transparent background that fades in with a dialog that slides up, you can create an Android-like popup dialog!
SVG Crop
You can now crop any element in a Scene with an SVG. And it's not only a visual crop, it's a functional one too! For example, you can create a button like this
and when you click anywhere where it's white, the button won't be triggered! You really have to press the green part for it to register the click! This allows you to create UIs in any shape imaginable that behave like you expect it to!
WebView
Webviews can now call many, many Tasker actions via JavaScript. You can use await to wait for them to finish, so you can easily call multiple actions in a row in a controlled fashion!
Here's a simple example of doing 3 actions in a row:
This makes elements be drag handles in all directions or just horizontally or just vertically.
Full Changelog
Major Scenes V2: Added the "Arrays Merge Template" component, a built-in way to handle Tasker array merging to build sub-components.
Major Scenes V2: Components can now animate in and out (Fade, Scale, Slide or Expand) whenever their "Show When" condition toggles their visibility.
Major Scenes V2: WebViews can now call many Tasker actions directly from JavaScript via the Tasker.* bridge.
Major Scenes V2: An HTML element inside a WebView can act as a drag handle to move the overlay it lives in.
Major Scenes V2: You can now save a component as a template to easily reuse it across your scenes.
Major Scenes V2: You can now crop any component to the shape of an SVG file.
Major Scenes V2: Added the "Trigger Scene V2 Event" Tasker action.
Medium Scenes V2: Added "matches" (Tasker pattern matching) and "matchesr" (regex matching) expressions to the "Show When" and "Apply When" fields.
Medium Scenes V2: Added a "Variable Clear" event action.
Medium Scenes V2: The Switch component now has a Thumb slot so you can set an image in the switch's thumb and you can also select different colors for different parts of it.
Medium Scenes V2: WebViews now receive the full Material 3 color palette (primary, secondary, surface, etc.) so your HTML can match the app theme.
Minor Scenes V2: The task name field in Events -> Run Task now follows the same caps rules as other task name fields.
Minor Scenes V2: When creating a task with a name, use the same "first letter of each word uppercase" rule as elsewhere in the app.
Fix Scenes V2: components that have indexes are now 1-based instead of 0-based
Fix Scenes V2: fixed "Screen Hidden" event not firing in certain situations
Fix Scenes V2: fixed background of invisible component wrongly showing
Fix Scenes V2: fixed crash when picking a variable if the user has tens of thousands of variables
Fix Scenes V2: fixed crash when using a slider in some situations
Fix Scenes V2: fixed images filling their container by default when they shouldn't
Fix Scenes V2: fixed images not loading if they had hidden spaces before or after the file name
Fix Scenes V2: fixed multiline input text box not filling the full vertical space it needed
Fix Scenes V2: fixed setting a variable in a WebView affecting a variable used in a separate component on the same screen
Fix Scenes V2: fixed some things not working when showing through the "SCENES" tab or the new UI
Fix Scenes V2: fixed updating a variable array in a scene leaving old elements there
Fix Scenes V2: fixed using two "Overlay With Result" scenes in a row with the same id ending the second one prematurely
Fix Scenes V2: segmented buttons that are "gone" now behave as expected
Fix Scenes V2: WebView now uses the correct system theme (dark/light)
Fix Scenes V2: when a task is renamed, all the task references in Scenes V2 are updated with the new name
Major New UI: Redesigned the RunLog screen to make it more readable.
Major New UI: Added a setting to show projects as items in the main list instead of the sidebar, including sorting them and creating new projects from the NEW FAB.
Major New UI: Project icons based on apps now use the app background in a folder shape with the foreground on top.
Major New UI: Inside a project you can select several of the Profiles/Tasks/Scenes tabs at once, so the list shows all their items together.
Medium New UI: The Project enabled/disabled toggle now works, and profiles in a disabled project show as paused on their switches.
Minor New UI: Added an icon to scenes so they're more easily distinguished.
Minor New UI: Added an option to hide the sidebar when collapsed.
Minor New UI: Added an option to not show the All button when there are projects other than the default one.
Minor New UI: Don't confirm project deletion if it's empty.
Minor New UI: In the task edit screen, moved the search bar to the bottom when adding a new action.
Minor New UI: Made sorting smarter, showing you the items you expect more often.
Minor New UI: Show full names of items in the main list instead of truncating them.
Minor New UI: Show project names instead of just initials when the sidebar is collapsed.
Minor New UI: Updated "Last run" to "Activity".
Minor New UI: When creating a task with a name, use the same "first letter of each word uppercase" rule as the main screen.
Minor New UI: When editing a task, after expanding a text field, allow the editor to show more lines so it's easier to edit larger pieces of text.
Fix New UI: don't show the pending changes banner when exiting the scene editor without saving
Fix New UI: fixed all projects with app icons showing with the same icon
Fix New UI: fixed always scrolling to the profiles when exiting a project
Fix New UI: fixed bottom sheet flickering when deleting a project
Fix New UI: fixed project search box cursor color in dark mode
Fix New UI: fixed search for actions when adding a new action
Fix New UI: fixed some app icons not loading properly
Fix New UI: fixed tag selector bottom sheet moving too far up when the keyboard is showing
Major Added Material Symbols to the app, a large icon set you can now use across Tasker for things like project and task icons, and also Notify action and Quick Setting Tiles action.
Medium Added Run Shell related functions to the Java Code action.
Medium Added tasker.getImageBuffer() and tasker.hasImageBuffer() to the Java Code action.
Medium The "Multiple Variables Set" action can now write JSON.
Medium You can now override the app name when generating an app from Tasker.
Minor Added a "Continue Task Immediately" option to the "Widget V2" action.
Minor Tasker automatically saves your setup before entering the AI screen in the legacy UI so you don't lose changes made in the meantime.
Minor Added a language selector to the first screen shown when you first open the app.
Minor Added a "Separator" option to the "Widget V2" action to configure the separator for its various list fields.
Minor Changed the order of the "Set up Quick Setting Tile" action to make it more logical and easier to use.
Fix Attempted again to fix a crash that only appears in app factory apps
Fix crash where in rare situations projects could end up with the same ids
Fixed DND action so that it can't be overrun by Silent/Vibrate
Fixed image in "Text/Image Dialog" action sometimes being hidden by text that is too long
Fixed issue where running many remote actions in quick succession could cause some of them to not run on the receiving device
Fix issue where sometimes a profile doesn't save its state after saving Tasker's setup
Fixed issue where sometimes the QS Tile wouldn't dismiss the notification shade
Fixed profiles (e.g. Wifi Connected) sometimes running their exit tasks when exiting Tasker's Preferences screen
Fixed Shizuku breaking clipboard monitoring
Fixed showing the number of actions over 100 in the legacy UI
Fixed situation where receive intent could be triggered twice with just 1 intent
Fixed some error messages when wrongfully using JSON writing
Fix Tried fixing a rare crash that can occur when editing legacy scenes
Fix Tried to fix issue where wait action becomes stuck in some circumstances
Fix Tried to fix rare situations where Tasker would get stuck not accepting any new tasks (sometimes related with the HTTP Request action)
Fixed updating Quick Setting Tiles on global variable changes to only happen when the variable isn't a built-in variable
Fixed writing JSON to project/profile/task variables with native Tasker JSON writing
Fixed some crashes
If you can, let me know what you think about the Projects in Sidebar vs Inline vs Collapsible! Thank you!
I was wondering for a while about this. I had filed a request back then to have taskernet to automatically show a tag if a taskernet has Java code & Java function action.
Most of my shares here recently were all Java code and written with the help of AI. I was wondering about AI flag as well.
What do you think?
Edit.
My concern is that as of now the user doesn't have a way to make informed decisions easily.
Some may care enough about how a taskernet is made due to various reasons.
Ethical & Environmental reasons. You know like how people prefer to buy organic labeled foods? Similar to that, some may not want to run a project generated with AI tools.
Trust. Some user may not prefer to run a java code from someone they don't trust.
Hi guys, I'm new to Tasker, basically I'm in the following situation:
I bought a small android device, a 4 inch mp3 player to be exact and want to use it as my life's "command center" of sorts and set up a convoluted system for alarms, routines, to dos and conditional reminders and repetitions for each, basically have a "state machine" for my daily life.
I tried a small sample scene where it just beeped every x minutes or showed me a random thing and it seems like Tasker will be able to do everything I need it to, but as you can imagine setting things up is a pain in the ass on such a small device.
Is there a way to set everything up on my PC for example and move it over? I only found some old posts talking about this and thought maybe things changed, but the general consensus seems to either remote into the device or use an Android emulator, work things out and then export. Is there a better way? How do you guys deal with your more complicated setups?
EDIT: tried scrcpy, seems to be a good inbetween solution but I'm not sure this is where I want to end up long term
Trying to use this on my new Galay Fold8 Ultra. The add event fails with an "Error 2". It still works fine on my old Fold5. Can anyone help. Is it something differently configured on my new phone or is this something that Google/Samsung has changed on new OS. Seems to me every new iteration removes some capability.
A user commented here and for some reason deleted his comment. My mistake was going into "Saved Components", i needed to click on the plus button the same as i would add any element and then you can search it using the search engine or by the category you set your component.
----------------------------
In Scenes V2 Joao introduce option to save a template and save a component, i can't seems to make save component work for me. I can save as component and then when i try to load it using the "Saved Components" option it doesn't do anything.
I've been tinkering with Tasker and I cannot get this to work properly. I used to have a Samsung phone that you could easily achieve volume limits during certain days and times via the modes and routines app. No longer on a Samsung phone which does not have this capability so I wanted to use Tasker to achieve this. I would like the volume and notification limits to be at 50% during working hours and then set to muted not during working hours.
⢠Has all the Tasker List Dialog features for Select Single mode
⢠Preset a default filter
⢠Returns the value of Filter
⢠Optional sticky filter
⢠Active filter text turns red so it's obvious the list is filteredĀ
⢠Unlimited buttons - all buttons are in a horizontal scrolling line.
⢠Returns both button text and button index
⢠Dialog closes cleanly if Tasker loses the foreground
⢠All input and output variables are available in taskers Variable List
⢠Separate, clearly named input/output variables
⢠Custom prefix variable support so multiple instances can have independent variables
⢠Built-in setup mode generates the complete prefixed variable list and copies it to the clipboard for pasting into Tasker's Multiple Variables Set action
⢠Warns when a previously used prefix is reused
Sticky Filter:
This retains the value of the filter when the action is closed for x minutes or permanently, so the next time you show this list that filter is already set.
For example:
`10` = remember the last filter for 10 minutes
`1440` = remember it for one day
'-1'Ā = PermanentĀ
blank = sticky filtering disabled
The filter is stored separately for each JLD prefix. If the remembered filter has expired, the configured default filter is used instead.
This has been especially useful for large Tasker lists where I repeatedly reopen the same dialog and don't want to re-enter the search every time.
Set Up:
- Paste Both the Multiple Variable Set action and the Java Code Action into your Task.
- Long Press and manually run (play) the Java code action.
- A Dialog will Allow you to set the Prefix for the action and its variables. ('pics' in this example)
- Paste the resulting list into the Multiple Variable Set action.
- Set the values of the relevant "in" (input) variables.
-Ā The 'out' (output) variables do not get any values set. They are only there so they get included in the Tasker Variables list to assist when setting up your additional actions.Ā
Most setups focus purely on aesthetics; this one is designed to turn a modern phone from a doomscrolling machine into a focused productivity assistant.
Instead of letting notifications dictate your day, this entire layout flips the dynamic from **Push** (the phone demanding attention) to **Pull** (you deciding when to interact).
**The Home Screen Layout:**
* \*\*Top Utility Hub:\*\*Quick-access Gemini shortcuts (voice, camera, and text input) paired right above a Swyp Launcher widget (Draw, Index, Type, Voice) for lightning-fast, friction-free app launching and input.
* **The Centerpiece:** A dedicated Google Tasks & Calendar glance widget right in the center so the primary focus is always on what needs to get done next.
* **The "Basic" Folder:** Contains strictly utility and essentialsāwhat youād expect on a classic dumbphone (Phone, Messages, Contacts, Calculator, Calendar, Clock, Camera, Files, Photos, Recorder, Settings).
* **The "Consuming" Folder:** Houses apps that inherently pull for attention (YouTube, streaming apps, TV remotes). Every single notification in this folder is permanently killed. It only gets opened on purpose.
* **Bottom Bar:** Quick-launch search bar with dedicated music search, voice query, and Lens at thumb level for immediate utility.
**The End Goal:** No red badges, random pings, or endless algorithmic feeds pulling you down a rabbit hole. The device sits quietly as a streamlined productivity tool until you make a conscious decision to pick it up and use it.
Hi , I think one ui needs additional flag to show the live activity notification in now bar. Its discussed here, as of now the live activity notification are displayed as normal in One ui
The flag is com.samsung.android.support.ongoing_activity , can it be implemented for samsung device??
I know another workaround is to enable live activity for all apps in dev options but it doesnt go well with banking apps.
I have created a simple test scene v2 to experiment with something.
I have a checkbox that's hidden and should only appear when the output variable of the textbox startswith "https://x.com/".
I have set the "Show when" setting of the checkbox to match the pattern %tbox matches "https://x.com/"*, but that doesn't work. It does work when switching the comparison from "Matches Pattern" to "Contains (Case-Insensitive)", but that is not ideal since it will also enable the checkbox if the var was also "123https://x.com/" and I only want it to do so if it starts with the pattern. I played around with the pattern and don't think I'm doing something wrong?
With the introduction of App Bubbles in Android 17, I'm trying to find a way to launch an app as a bubble using Tasker. I can't figure out if this is currently possible (note this is not the same as the launch app in free-form pop-up mode Samsung has had for a while).
For a while now I keep on getting a notification titled "Authorization Needed" with the message "Click here to authorize Tasker". So, that is what I do.
I am wondering what is causing that - and why it is happening frequently. There is no error message or apparent reason for this to be happening.
I am on the 6.7.6 beta on a Pixel 8 Pro, rooted with the latest version of Evolution X (Android 16).
Any ideas? Thank you in advance for the assistance.
I use Bluetooth tethering with KDE Connect to connect my phone to my laptop when on networks with device isolation. Unfortunately, it turns off every time my phone restarts and I'm wondering if it's possible to set up Tasker to enable it on boot.
I saw that there's an action (and also Delta) to enable the WiFi hotspot, but nothing for Bluetooth. Is it possible without rooting or dealing with AutoInput?
Added automatic greeting playback triggered by events such as Bluetooth connection, CarPlay/Android Auto connection, ACC activation on aftermarket Android car screens, or when the car's Android box starts up. (You can enable multiple connection types simultaneously, set connection priorities, and choose to cancel remaining triggers after 60 seconds or a custom duration.)
ā Features:
\- Automatic greeting playback upon startup
\- Custom text input for the app to read aloud
\- Option to add your own pre-recorded greeting audio
\- Adjustable text-to-speech speed and pitch
\- Adjustable playback volume
\- Option to set an intro song or background music for text greetings
\- Feature to launch any installed app after the greeting finishes
\- Automatic updates for new versions
Premium Features (Activation code required)
\- Launch another app after the greeting plays
\- Minimized window / floating button mode
\- Multiple greeting playback (sequential or random playback from your added list)
\- Scheduled greeting playback based on preset time slots
\- Automatic greeting playback triggered by events: Bluetooth connection, CarPlay/Android Auto, ACC activation on aftermarket Android car screens, or car Android box startup (multiple connection types can be enabled simultaneously) ...connections; you can set connection priorities and choose to automatically terminate remaining connections after 60 seconds or a longer custom duration)
Notes:
\- The app may not be compatible with certain devices.
\- Upon the first launch, you must connect to a nearby Wi-Fi network.
\- To use this alongside Android Auto, you can install intermediary apps such as MacroDroid, Tasker, Automate, or Autostart.
\- Before adding a greeting MP3 file, ensure the filename contains no diacritics or special characters and uses the lowercase extension ".mp3".
\- Some device interfaces lack the feature to trigger the greeting upon startup; you can install an app like Autostart (or use the app's built-in extended features) to resolve this.
I saw a thing about an iPhone feature where you can have it discreetly take 2 photos from front and back and send them back with the phones location to a person when they text you a certain phrase. I thought it was fun and wanted to do it myself.
I've got my profile/task setup to work when a person from a contact group sends me a certain phrase in texts. I can have it take the photos but I can't figure out how to make compose MMS work.
I've tried googling things and even using chatGPT but it seems like it just makes it extremely complicated. It starts shifting to wanting me to use "Send Intent" and using "Java Function" or "Java Scriptlet" and nothing was working.
If someone knows how I can take 2 photos and attach it to a message then send it, I'd be grateful.
Edit: I don't want to use emails, that defeats the purpose of the task. Also, I thought I included this originally but I'm on S24 Ultra. Latest update.
I have a JavaScriptlet action doing a synchronous fetch:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.dictionaryapi.dev/api/v2/entries/en/pickle', false);
xhr.send();
With Wi-Fi confirmed on, this call never returns ā no exception thrown, no xhr.status reached, nothing. I've got logging immediately before and after the xhr.send() line; the "before" log always fires, the "after" log never does. It just sits there indefinitely (I've waited several minutes with no resolution).
The odd part: I have a different JavaScriptlet action, in the same project, doing the exact same synchronous XHR pattern against a different host (scraping a webpage), and that one works reliably every time.
With Wi-Fi off, the same dictionaryapi.dev call fails immediately and cleanly with "Failed to execute 'send' on 'XMLHttpRequest': Failed to load '...'", caught by my try/catch as expected ā so the failure path works fine, it's only the success/hang path against this specific host that's broken.
Has anyone run into a host-specific hang like this with Tasker's JS XMLHttpRequest? Possibly a TLS/cert compatibility issue with this particular API, or something about redirects/response headers it doesn't like? Is there a way to set an explicit timeout on a synchronous XHR call from a JavaScriptlet, or should I be doing this asynchronously instead to avoid blocking the task indefinitely?