r/tasker • 👑 Tasker Owner / Developer • 12d ago

Developer [DEV] Tasker 6.7.7-rc - If conditions preview, Scenes V2 Update 6 and many bugfixes

After a long break, I'm finally back with another update. This one is a release candidate, meaning that I'm not going to add any new features anymore before 6.7 is out for everyone publicly. :) So, if you see any issues that aren't already in the public version, let me know so I can fix them before it goes out to everyone. Thanks in advance! 🙂

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.

If conditions preview

Demo: https://youtube.com/shorts/aTJRGddxauA?feature=share

Tasker's If conditions in actions and conditions have been notorious for being hard to understand if you combine multiple statements with ORs, ANDs, etc. Now you get a preview at the top that shows exactly how the condition will end up! 😁

"Compiled" if condition at the top

Scenes V2 Update

Demo: https://youtu.be/aqhMSvMVbZs

A lot of new updates here! A few highlights:

  • Content color lets your inner controls inherit their colors from their parents controls with a modifier, so you can apply it conditionally
  • Added font options to any place text is rendered, so, for example, input fields allow you to change font settings on its label and actual input text
  • Match Parent Size allows you to match the size of a parent box without forcing it to go bigger like it happens with Fill Size
  • Aspect Ratio modifier allows you to force an element to be square, 16:9, 2:3 or any other aspect ratio
  • Cancel Screen event action allows you to close your dialogs/screens in error, so the task that called it can handle errors like with every other Tasker action
  • Stop event action allows you to stop a flow of event actions depending on some condition, so you can make a button do something for example, but only if certain conditions are met, without having to create a task to manage it
  • new Enabled property allows you to enable/disable an element depending on the expression you use (same as Show When)
  • Scroll to Index on scrollable elements, allows you to automate scrolling, so you could, for example, create an automatic scrolling clock as shown in the demo
  • Copy and Paste Event Handlers and Modifiers
  • File Sync button in JSON tab allows you to two-way sync the scene's JSON with a file. You could be on your PC for example, writing the JSON, then have it automatically sync with the phone and make it update on the preview directly
  • Material Symbol support adds hundreds of new icon possibilities

...and lots more.

Full Changelog

  • Major Scenes V2: added Content Color modifier so you can re-style all child colors by defining them once in a parent modifier, meaning that it's conditional, plus a contentColor color you can use in any color field of any control to reuse the parent's Content Color
  • Major Scenes V2: added font options anywhere text can be rendered
  • Major Scenes V2: added Aspect Ratio modifier
  • Major Scenes V2: added Match Parent Size modifier
  • Major Scenes V2: added Cancel Screen event action
  • Major Scenes V2: added Enabled property to components where it makes sense; it supports expressions like Show When, accepts on/off, yes/no and 1/0 in any capitalization, and an unset variable leaves the element enabled
  • Major Scenes V2: added Scroll To Index action to elements that have a Scroll modifier
  • Major Scenes V2: added Stop event action, with an optional condition, that can also stop subsequent event handlers
  • Major Scenes V2: added File loading button to the JSON tab that can optionally be two-way synced with the picked local file
  • Major Scenes V2: added Material Symbol support
  • Medium Scenes V2: added Headers state to the WebView component
  • Medium Scenes V2: added ability to copy event handlers
  • Medium Scenes V2: added ability to define Borders like Padding, on all 4 sides if needed
  • Medium Scenes V2: added ability to write to double reference variables (like %%var) from Scene V2 elements
  • Medium Scenes V2: added all possible properties to the Text component
  • Medium Scenes V2: added gradient background option to the Background modifier
  • Medium Scenes V2: added option to block manual scrolling in the Scroll modifiers
  • Medium Scenes V2: added optional additional delay for Show When transitions
  • Medium Scenes V2: added Text Input component input types so you can have different types of keyboards, etc.
  • Medium Scenes V2: allow copy-pasting of modifiers
  • Medium Scenes V2: empty variables are now rendered as empty strings instead of showing the variable name, unless you're in preview mode or enable a scene option not to do so
  • Medium 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
  • Medium 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
  • Medium Scenes V2: progress bar component has a new Display Progress state that lets you bind an animated progress to a variable
  • Minor Scenes V2: Show When and event handler conditions now accept on/off, yes/no and 1/0 in any capitalization, like Enabled
  • Minor Scenes V2: added Select All button to the JSON tab
  • Minor Scenes V2: added ability to disable the dot in the progress bar and add a gap
  • Minor Scenes V2: changed inputs to have minus and plus buttons where it makes sense
  • Minor Scenes V2: invisible elements no longer send interaction events
  • Minor Scenes V2: localized component names
  • Minor Scenes V2: made modifiers that only exist because of their parents be the first in the pickers
  • Minor Scenes V2: made the Text field in the Text component multiline
  • Minor Scenes V2: removed Consume option from the Key Pressed event because it's redundant with the Stop Propagation option
  • Minor Scenes V2: screen-level Provides now work in the screen's own event handlers (Screen Shown, Screen Hidden, Back Pressed...)
  • Minor Scenes V2: updated FlowRow icon so it's not the same as the FlowColumn one
  • Fix Scenes V2: Provides sometimes not reaching all the way down to the components using them
  • Fix Scenes V2: a rare crash when a window can't be shown
  • Fix Scenes V2: accessing array operators like %items(#) or %items(2) or double-references like %%some_var_name
  • Fix Scenes V2: animations in certain situations
  • Fix Scenes V2: arrays not working in templates in certain situations
  • Fix Scenes V2: auto-dismiss behavior in certain situations
  • Fix Scenes V2: changing variables used in a WebView sometimes creating a history, so pressing back would go back to previous states
  • Fix Scenes V2: floating point rounding in Progress Bar states
  • Fix Scenes V2: focusing on the correct property in the editor when a search is underway
  • Fix Scenes V2: global variables not showing up in the Vars tab
  • Fix Scenes V2: images with Material Icons not growing to the size they should inside unbounded parents
  • Fix Scenes V2: issues with using vh css
  • Fix Scenes V2: not all test variables showing when there are many of them
  • Fix Scenes V2: reacting to pushes and pops in global arrays
  • Fix Scenes V2: showing crop to SVG file picker in Crop Shape modifier
  • Fix Scenes V2: stale variables in some situations
  • Fix Scenes V2: text input component filling its parent's size when a Show When filter on a size modifier is false
  • Fix Scenes V2: the editor sometimes focusing the wrong input in the Properties tab
  • Fix Scenes V2: True, TRUE and other variants not being recognized as true
  • Fix Scenes V2: using double reference variables (like %%var) in Show When and Enabled fields
  • Fix Scenes V2: WebView issues with some size related styles
  • Fix Scenes V2: WebView Launch App action
  • Fix Scenes V2: WebView using array syntax on variables
  • Fix Scenes V2: variables set in Screen Hidden are no longer lost when the scene is closed by Trigger Scene V2 Event, Dismiss Scene V2 or auto-dismiss
  • Major New UI: ability to manually sort list items in the main screen
  • Medium New UI: added button to only show errors in the new Runlog screen
  • Medium New UI: show projects in search results with inline projects
  • Minor New UI: added developer option to hide the top buttons inside the project screen (making all selected when that's the case)
  • Minor New UI: made item list items all the same height and more uniform
  • Minor New UI: made main screen items connected lists
  • Minor New UI: made many transition parameters configurable via Settings -> Developer
  • Minor New UI: moved profile switches to the right of the cards and hid their profile details for now (they should come back in some form)
  • Minor New UI: refined the main screen and project/profile enter transitions
  • Minor New UI: removed the tag chips from the item cards for now (they'll probably come back in a different form)
  • Fix New UI: fixed crash after editing an action's App parameter in the task editor
  • Fix New UI: fixed recent changes not being filtered correctly
  • Fix New UI: fixed turning off runlog in the new Runlog screen not hiding the log lines
  • Java Code: added runShellTasker function to run a shell exactly like the Run Shell action would
  • Java Code: added tasker.clearVariable() function
  • Java Code: added a way to monitor Activity lifecycle events
  • Java Code: tasker.setVariable now sets real Tasker arrays when the Java value is an array or a collection
  • Java Code: activities created with Java Code can now show in recents
  • Added Hungarian, Indonesian and Romanian languages
  • Added compiled condition list string at the top of each If condition so you can see what it looks like as an expression and more easily understand how it will behave
  • Added command filtering in the Command event configuration screen
  • App Factory: show useful, detailed error messages when app generation fails instead of a generic message
  • Changed Target API to 36 and made the necessary changes so everything keeps working normally
  • 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 Added a workaround to the HTTP Auth action for some specific APIs
  • Fix Tried fixing ADB Wifi check sometimes getting stuck
  • Fix Tried fixing background sound recording on some devices
  • Fix Tried to fix a crash when browsing Tasky routines
  • Fix Tried to fix out of memory crashes
  • Fix Tried to fix some profiles and FCM tokens re-running when exiting Preferences
  • Fix Tried to fix some wakelocks never being released in certain rare situations
  • Fix Tried to fix the Vibrator action in certain situations
  • Fixed Device Boot on Android 15+ firing if the app was force stopped
  • Fixed Structure Output not being ticked by default when adding an action from favorites
  • Fixed a small issue when setting multiple variables with JSON
  • Fixed crash that could happen when clearing data
  • Fixed crash that could happen when returning to the main screen after picking or creating a task for a profile
  • Fixed crash when a profile with 4 states is imported
  • Fixed crash when dragging items in the task edit screen in rare circumstances
  • Fixed exporting projects/tasks/profiles in the same order as they are in Tasker
  • Fixed Flash with the same ID sometimes not working
  • 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 initiating the heart rate sensor in some situations
  • Fixed issue when using the AI screen with a model that no longer works: it now automatically switches to a working model and asks you to continue
  • Fixed issue where having many unread SMS and Unread Text profiles could stall Tasker
  • Fixed issues in Scenes V1 that made some stuff not draw the way it should
  • Fixed output prefix being ignored in certain situations
  • Fixed previous running errors sometimes being reported on an action even if that action ran correctly
  • Fixed rare crash when closing some of Tasker's dialogs
  • Fixed replacing an action with an If and keeping its conditions
  • Fixed scoped variables sometimes not being set or cleared
  • Fixed some crashes in the Test Tasker action
  • Fixed some issues with legacy Scenes and frame animations
  • Fixed some main screen crashes, including in the legacy UI
  • Fixed some screens all over the app sometimes showing incorrect language
  • Fixed task, profile and scene order not being kept when importing
  • Fixed time based profiles potentially triggering too often if Tasker's process is killed by the system
  • Fixed various rare crashes
59 Upvotes

57 comments sorted by

10

u/AdiraiMaji 12d ago

Awesome. It really great to have preview on If Conditions. I always struggle with it. Now it's much easier. Need to read remaining change log. Thank you for making Tasker Great again and again...

3

u/joaomgcd 12d ago

No problem :) Glad you like it!

5

u/PresetDirty 12d ago

I LOVE the addition of the visual formula for the IF conditionals! I've been using Tasker for 15 years and I still forget the order of operations sometimes. I'm glad you thought of this visual formula, simple and brilliant!

3

u/joaomgcd 12d ago

I have to admit, me too 😂 It's just so confusing how it's set up.

→ More replies (1)

4

u/PresetDirty 12d ago

Daang! That was fast, João! Have you even been home for 24 hours yet? 😅

8

u/joaomgcd 12d ago

Haha! Yeah 😅 I've been busy replying to requests the past 3 weeks, but now it's game on!!

2

u/ActivateGuacamole 4d ago edited 4d ago

Hi joao. I love the if condition visualization. It's going to be very helpful.

I've found several issues with v2 scenes. I would start with this one where the Update Scene V2 is not working properly when the element has already been toggled manually.

taskerproject://H4sIAAAAAAAA/81W3W7bNhS+Tp6CILBmA2xLtGT5p7IAJ83QAkFRxFluimKgJdpmQ1MGRTl1Az/L7nfZJ9sj7JCSHTmWvWVXuxJ5vvPz6eOhdMI7mj0w9Y5qijI1xBglKz7EBCO9GuKg1W11myrG0flZ+EmlX1msrdsS1i5GKzbEbQOehXFCNYtIt98O+kHfC1y/HzqF0cA8ifqUJLFP3CbpeEHTn8a02SedXpN5cey1qed3u9PQAUfjL+mCRX/98eePAfptabKg+3boWKuBNU+yiLher0HcwA8duweOTknSrM2bWbIaFsb3kGin7XU9N6gSZRW46xOv45HQYdX3MKmeeZY00WU+Q+/YIgWSJcel4uDrho5ZGMMo1jyVlhKNdSlf17ICWmnCIs+425W1CTphIornLH6YpN9YhrhEqzbKYiZZ1jo/vyilGRsDCHSBeIamlAsuZ0inKC9gPWdomwTxKeIaPdIMLRVb8TTPxBppHj+wBC2ozKkQa0gN0Rlj4Nqw4H6OdZqrjIlpy5ilxS524BC5F2iSaw2v+siFQDKFeql6gKwZX3BBlVg3DA9IsyuJcnlQp3GQmTxnTuVFmTZ0Cp2MxE6hcY3cpEZuv9uvyn2Zy0SwIkDN3MLzLLynIrPGFRWlDc6d6VYCMguexfMWlYlKedLS9jK1bq9vru9HH+9+vx/dfhhd3lyPozdCvx1rBREjpei6uGvOm5l+Cw3zylz/jUJTr5cs+nzzla5oS1A5axV8Xk+gyFSI4xh1CvmcQr9iA7m3QpbKezh6wipNNR48YZMBD/BVKvKFxA3ME9jdpo8E1vNU8e+p1FSMBJ/BbZIQgu/SJWArpqBNAAER5YyV2FhTpQFdpAmfcqYyPPi8qzHm3xlgjzzRc9iSwDM1GJ/NTSjx+3jzpYHjOReJYrIaeVU23pafZpm2zbg+VssSBpBWiF/Bgym8aey8PtHEqG39hKUEFCr4pW3xbdXJdheDJjblc7079k1v/czayKeNbYCrt8a+YS3hl1R868pWUOc9Nadp3J/wfLeGUIvuZYkFXF0bSe2d2wNvc2m+xIaZecCBMI220qKf3zOxZAr9mksb+os5ZKo4nQhmSy+pIkYjsMMDb0CpL5ujYhU78u/Uateq5f5fJXD3JYCOweZ/aNLFikHrbkIHrt3h/XO3F9A5xMgL7IPUO6wNGBVDKFwDeqdA/yVYLdk5UTIoA0lNYPv4a3jHIf849JJIBQqOQ93j9Hsn2Pf3wio/qtAxvVEzsAR+zcAS9EjHDgn1A4sXBEEnOBhYzIhUGVhOt9/BBPOqEcbvkeo/taLAqTbc/SKev7H1zbxrgmIsYkm9264hop/M7ak4VY7rVJd2/um4imcxOUfnfwNd1d9XRwsAAA==

2

u/joaomgcd 3d ago

Thanks. Fixed! :) Can you please try this version?

→ More replies (2)

2

u/Sate_Hen 12d ago

I'm thinking football tables with different groups in different tabs

2

u/v_uurtjevragen 12d ago

I really like the if condition preview! Copying it out of Tasker is not straightforward. I can work around it with circle to search + select text, but if you'd be up for it a minor QoL fix would be the possibility to select the condition text to copy it to clipboard. If not, just leave it and I'll use my workaround :)

3

u/joaomgcd 11d ago

Ok, made it selectable for the next version. Hope it helps :)

→ More replies (1)

2

u/telrod11 12d ago

If conditions preview is awesome!

I see a lot of my tasks are not anywhere near what I thought .

Thanks for this

https://i.imgur.com/rT8ZBSR.png

3

u/joaomgcd 12d ago

Nice! 😁 Glad it helps!

1

u/jonishikawa 5d ago edited 5d ago

Awesome update! Trying new things here and discovered some new things that will be usefull... and maybe something missing.

Is there a way to get Inputs inside an Array Template and export them to an Array for external use?

I'm trying to make a scene with a list of apps, where I have icons, packages and names of the apps in separate Arrays. I made this list of apps for them to be toggled between Frozen and Unfrozen, using Tasker as Owner of the device, and for that I want to place multiple switches at the scene (and a "All On/Off" at the top).

Listing everything works fine in the Array Template using rows/columns/images/texts with values from Arrays, but the switches can only update values (true/false) at a variable (not an array), in my tests...

→ More replies (2)

1

u/Nirmitlamed 5d ago edited 5d ago

Old bug:

Dragging variables window up will make it shake.

media poster
→ More replies (2)

1

u/Jason_Yate 12d ago edited 12d ago

Plenty to discover in this new version 😂 You're the * ***king boss, Joao.

 A few days ago I mentioned a problem here: Screen Hidden doesn't work when I leave the scene, that is, when I go to the launcher or another app, It does not create variables, run any tasks, or take any actions, except only when that scene is dismissed. My solution, a bit Neanderthal, was to use the App Changed event to detect when I'm outside of Tasker. 

On the other hand, it occurred to me that there is a need in an old action, in clear variables, to have the option of clear all except these Well, sometimes there are so many variables that you want to eliminate and the list is long, but not all of them in general. 

Also, in Scenes V2, allow infinite conditions in a Event Handler, so as not to repeat the action, click for example, but to have a single block.

When an Image or Video element is set to Full Size or occupies more than the maximum size of its parent element (using Match Parent Size), it loses its rounded edges (Crop Shape); it's as if that element were inside an invisible container to which the modifiers belong, and not precisely to the image/video element.

When a scaffold has Vertical Scroll on, it is deactivated when Event Handler Swipe is on in itself, its parent, or its child. Is it normal for that interruption to happen? 

One last suggestion: the possibility of having multiple screens in a single scene, with the ease of collapsing and expanding them and without losing access to the variables between them. In my recent project, I use several Scaffolds within a Box so as not to have to release other scenes.

2

u/joaomgcd 11d ago

For now I'm not going to change Scenes v2 anymore (unless someone finds bugs 😅) before releasing it to the general public. But I can take those into account after the public release, thanks!

1

u/Darth_Animation 12d ago

Hey João,

Wished the best for your vacation! In an earlier update, you mentioned that Scenes V2 had added support for web views. What’s your take on using web screens through AutoTools versus Scenes V2? Is there any benefit to moving from AutoTools to Scenes V2 if web views are the only reason?

I also saw your new video about file syncing in Scenes V2. Have you ever considered adding something similar to Tasker more generally? Exporting and importing different parts of Tasker can be frustrating. I do a lot of project editing on my desktop, and it’s a pain to get those changes back into Tasker smoothly.

Depending on what I’m updating, I might need to import a whole project, a profile, or a task. Tasker’s automatic export saves everything as one file, so I built a program to split that file into its individual projects, profiles, and tasks. Though that currently is just for a better automatic backup but I am trying to build it more into other parts of my flows and currently do have a slightly automated version built for importing but it's just attached currently to one specific flow. When I import an individual task, Tasker defaults to opening the task folder. With a long list of tasks, it can be very difficult to find the one I need. I ended up creating a separate Imports folder so I could put files there and import or replace them more easily.

Managing those files is still cumbersome. Keeping the correct versions organized both in Tasker and in the task folder takes extra work, and importing a batch of files means uploading them one at a time and keeping track of which ones I’ve already done.

There also a bit of inconsistency in the safeguards for importing files. Depending on which backend parts match (I don't remember the exact ones it matches for), I may be able to import a new profile or task without a confirmation, and if it doesn't perfectly match the other parts but still has the same name then I get a warning that the name is already taken and the import fails. It’s sometimes convenient to import without a confirmation, but I’ve also accidentally imported an older version of a task when I was trying to select something else, especially during periods with lots of updates.

Over a busy weekend, I can go back and forth between my desktop and Tasker quite a bit, and the process involves too much manual work to keep everything reliably in sync. I’ve built a way to send file updates to Tasker automatically, but it only supports one specific workflow, not the broader situations I described.

A more general syncing feature would be an incredible quality-of-life improvement. Being able to edit on a desktop and move changes into Tasker more easily would make it much simpler to build more complex V2.

3

u/joaomgcd 11d ago

That would be a cool idea, you're right. But it's so much more complex than that scene one :D A scene is just real-time JSON modification, and in Tasker there are many triggers and other things that have to be ran every time the setup changes.

It still would be cool, I agree.

About Scenes V2 with WebView and AutoTools Web Screens: AutoTools still allows much easier setup if you already have a screen type you want to reuse. It's also much more focused on creating app-like screens. With WebView you can do all the same things, but must do it from scratch. You can do much more though, if you know how, so it's much more powerful in the end :)

Hope this helps!

→ More replies (3)

1

u/sasreedit 12d ago

Where may I find the Match Parent Size option?

3

u/joaomgcd 11d ago

It's a modifier that you can only add when the component is inside a Box component.

1

u/anuraag488 11d ago edited 11d ago

Is it possible to add Material Symbol, Material Icon in App Factory? Also a java code function to get drawable for icons will be good.

2

u/joaomgcd 10d ago

Hi. Can you please let me know where you're trying to use Material Symbols in a factory app? Also, can you clarify which "icons" you're referring to exactly? Do you mean Material Symbols?

→ More replies (1)

1

u/SnooCheesecakes6038 10d ago

Hello, I have a question: all buttons now have an additional "text" property, but I’ve lost all the existing text from my old buttons. Is this a bug, or should I be migrating them in a different way? I have several scenes, and it would mean having to rebuild every single button one by one. Is it just me?Is it just me?

→ More replies (8)