UI.X 2

UI.X 2 [Paid] 2025-03-05

No permission to buy ($59.50)
I did a search and this has been addressed before, but I didn't see an actual solution - any emails sent from the forum have HUGE text. I'm using UI.X Material style, but the same thing happens whether I'm using Material or straight up UI.X 2. ANY help would be GREATLY appreciated. Thank you!
@l3ta - What was your solution?
 
I did a search and this has been addressed before, but I didn't see an actual solution - any emails sent from the forum have HUGE text. I'm using UI.X Material style, but the same thing happens whether I'm using Material or straight up UI.X 2. ANY help would be GREATLY appreciated. Thank you!
@l3ta - What was your solution?

In this case, it's a relatively easy fix; under Appearance -> Templates, click on the "email" tab. Open the core.less template (it is absolutely critical that you be on the e-mail tab for this), and you should see the following section:

Less:
// UI.X Font Sizes

/* solution for pxs */
@fontSizeNormal: unit((10 * @xf-fontSizeNormal), px);
@fontSizeLarge: unit((10 * @xf-fontSizeLarge), px);
@fontSizeLarger: unit((10 * @xf-fontSizeLarger), px);
@fontSizeLargest: unit((10 * @xf-fontSizeLargest), px);
@fontSizeSmall: unit((10 * @xf-fontSizeSmall), px);


/* solution for rems
@fontSizeNormal: (0.625 * @xf-fontSizeNormal);
@fontSizeLarge: (0.625 * @xf-fontSizeLarge);
@fontSizeLarger: (0.625 * @xf-fontSizeLarger);
@fontSizeLargest: (0.625 * @xf-fontSizeLargest);
@fontSizeSmall: (0.625 * @xf-fontSizeSmall);*/

Just replace that section with the following:

Less:
// UI.X Font Sizes

/* solution for pxs
@fontSizeNormal: unit((10 * @xf-fontSizeNormal), px);
@fontSizeLarge: unit((10 * @xf-fontSizeLarge), px);
@fontSizeLarger: unit((10 * @xf-fontSizeLarger), px);
@fontSizeLargest: unit((10 * @xf-fontSizeLargest), px);
@fontSizeSmall: unit((10 * @xf-fontSizeSmall), px);
 */

/* solution for rems */
@fontSizeNormal: (0.625 * @xf-fontSizeNormal);
@fontSizeLarge: (0.625 * @xf-fontSizeLarge);
@fontSizeLarger: (0.625 * @xf-fontSizeLarger);
@fontSizeLargest: (0.625 * @xf-fontSizeLargest);
@fontSizeSmall: (0.625 * @xf-fontSizeSmall);
 
In this case, it's a relatively easy fix; under Appearance -> Templates, click on the "email" tab. Open the core.less template (it is absolutely critical that you be on the e-mail tab for this), and you should see the following section:

Less:
// UI.X Font Sizes

/* solution for pxs */
@fontSizeNormal: unit((10 * @xf-fontSizeNormal), px);
@fontSizeLarge: unit((10 * @xf-fontSizeLarge), px);
@fontSizeLarger: unit((10 * @xf-fontSizeLarger), px);
@fontSizeLargest: unit((10 * @xf-fontSizeLargest), px);
@fontSizeSmall: unit((10 * @xf-fontSizeSmall), px);


/* solution for rems
@fontSizeNormal: (0.625 * @xf-fontSizeNormal);
@fontSizeLarge: (0.625 * @xf-fontSizeLarge);
@fontSizeLarger: (0.625 * @xf-fontSizeLarger);
@fontSizeLargest: (0.625 * @xf-fontSizeLargest);
@fontSizeSmall: (0.625 * @xf-fontSizeSmall);*/

Just replace that section with the following:

Less:
// UI.X Font Sizes

/* solution for pxs
@fontSizeNormal: unit((10 * @xf-fontSizeNormal), px);
@fontSizeLarge: unit((10 * @xf-fontSizeLarge), px);
@fontSizeLarger: unit((10 * @xf-fontSizeLarger), px);
@fontSizeLargest: unit((10 * @xf-fontSizeLargest), px);
@fontSizeSmall: unit((10 * @xf-fontSizeSmall), px);
 */

/* solution for rems */
@fontSizeNormal: (0.625 * @xf-fontSizeNormal);
@fontSizeLarge: (0.625 * @xf-fontSizeLarge);
@fontSizeLarger: (0.625 * @xf-fontSizeLarger);
@fontSizeLargest: (0.625 * @xf-fontSizeLargest);
@fontSizeSmall: (0.625 * @xf-fontSizeSmall);

Thank you!
 
Last edited:
Will this skin be merged with the dark version so we can use the toggle to switch?
We have a version of UIX that supports variations in development, but we haven't settled on a release yet (and I will note that it will exist separately from base UIX); we had been holding off for XF to fix a few color function issues, but no idea when that'll happen.
 
I'm trying to safely disable & uninstall the UI.X addon. After disabling got a bunch of code_cache templater errors (UIX themes are not enabled though use a bunch of TH addons), presumably pre-compiled templates still have references to some UIX specific methods etc.

What's the cleanest way to remove it? Full uninstall? Should I rebuild master data after or do a recompile-templates? I generally disable addons, monitor then uninstall but this one is a bit funkier.

It's an awesome theme and great support from TH so hats off to all of you for putting up with the peanut gallery.

I'll bring it back eventually - just trying something new for now.

Help always welcomed.
 
I'm trying to safely disable & uninstall the UI.X addon. After disabling got a bunch of code_cache templater errors (UIX themes are not enabled though use a bunch of TH addons), presumably pre-compiled templates still have references to some UIX specific methods etc.

What's the cleanest way to remove it? Full uninstall? Should I rebuild master data after or do a recompile-templates? I generally disable addons, monitor then uninstall but this one is a bit funkier.

It's an awesome theme and great support from TH so hats off to all of you for putting up with the peanut gallery.

I'll bring it back eventually - just trying something new for now.

Help always welcomed.
There shouldn’t be any issues. Set board default style to something else. Set admin style to new default. Turn off style. You could uninstall but there is no advantage
 
There shouldn’t be any issues. Set board default style to something else. Set admin style to new default. Turn off style. You could uninstall but there is no advantage

Thanks, so the template code cache errors when I disable are not significant?
 
The UI.X theme functions should only be being used within UI.X family themes, so it would only throw errors if the theme was still in use. The themes would need to be disabled too if the addon is disabled.
 
The UI.X theme functions should only be being used within UI.X family themes, so it would only throw errors if the theme was still in use. The themes would need to be disabled too if the addon is disabled.

Thanks Matt, that's what I assumed and themes are disabled fully yet still hit these errors. I will attempt again and capture the errors.
 
Actually, there are a few template mods that the UI.X addon applies, but it shouldn't be anything significant (and ordinarily wouldn't cause errors when disabled).
 
Would need to know what templates and what the error is I guess, and what URL it says it was triggered from. If the themes are disabled then no functions should be being called and if the addon is disabled then template modifications wouldn't be applied, so there shouldn't be any UI.X functions running anywhere unless they've been manually inserted into other templates.
 
I will be back with evidence :)

Retracing my steps I did forget to disable the UIX addon when I did the XF2.3 upgrade, didn't cause any issues but noteworthy. Also running full page and session cache in redis, cloudflare addon. Only thing I can imagine is this was cached somewhere.

Rando errors were generated by random users in random threads. I could not reproduce any front end errors myself.

Anyway, disabled it again and will try to reproduce this.
 
It would make sense if there were errors during the addon deactivation process, as in while it was running through the steps in the ACP someone loaded a page and it logged an error, that's a common problem. But once it's disabled, there would only be ongoing errors if either XF has incorrectly unapplied a template modification, or the function was manually used somewhere. Guest caching clears after a few minutes if XF doesn't automatically clear that when recompiling templates.
 
Here are the errors that I see a few hours after disabling UIX. It's not a timing thing @mattrogowski. I'm well seasoned to uninstall runtime issues over the years :) These are regularly accumulating. I saw some generated by threads also yesterday which was super interesting given none of my TH themes are active or open to users (and I didn't generate them either).


I'm thinking don't disable and just outright uninstall UIX?


Error 1:
  • TypeError: Template public:setup_custom.less error: Unsupported operand types: string + string
  • internal_data/code_cache/templates/l1/s7/public/setup_custom.less.php:26
  • Generated by: Unknown account
  • Dec 3, 2024 at 7:33 AM

Stack trace​

#0 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(XF\Mail\Templater), Array, NULL)
#1 src/XF/Template/Templater.php(1874): XF\Template\Templater->renderTemplate('setup_custom.le...', Array)
#2 internal_data/code_cache/templates/l1/s7/public/setup.less.php(1038): XF\Template\Templater->includeTemplate('public:setup_cu...', Array)
#3 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(XF\Mail\Templater), Array, NULL)
#4 src/XF/CssRenderer.php(766): XF\Template\Templater->renderTemplate('setup.less', Array)
#5 src/XF/CssRenderer.php(426): XF\CssRenderer->getLessPrepend()
#6 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('email:core.less', '// NOTE: THIS D...')
#7 src/XF/CssRenderer.php(279): XF\CssRenderer->renderTemplate('email:core.less', NULL)
#8 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#9 src/XF/Mail/Styler.php(70): XF\CssRenderer->render(Array, false)
#10 src/XF/Mail/Styler.php(57): XF\Mail\Styler->renderCoreCss()
#11 src/XF/Mail/Styler.php(31): XF\Mail\Styler->getEmailCss(Object(XF\Language))
#12 src/XF/Mail/Mailer.php(202): XF\Mail\Styler->styleHtml('<!DOCTYPE html>...', true, Object(XF\Language))
#13 src/addons/DigitalPoint/Analytics/XF/Mail/Mailer.php(35): XF\Mail\Mailer->renderMailTemplate('payment_receive...', Array, Object(XF\Language), Object(Andrew\ModeratorPanel\XF\Entity\User))
#14 src/XF/Mail/Mail.php(420): DigitalPoint\Analytics\XF\Mail\Mailer->renderMailTemplate('payment_receive...', Array, Object(XF\Language), Object(Andrew\ModeratorPanel\XF\Entity\User))
#15 src/XF/Mail/Mail.php(492): XF\Mail\Mail->renderTemplate()
#16 src/XF/Mail/Mail.php(568): XF\Mail\Mail->getSendableEmail()
#17 src/XF/Purchasable/AbstractPurchasable.php(170): XF\Mail\Mail->send()
#18 src/addons/ThemeHouse/Monetize/XF/Purchasable/UserUpgrade.php(94): XF\Purchasable\AbstractPurchasable->sendPaymentReceipt(Object(XF\Payment\CallbackState))
#19 src/XF/Payment/AbstractProvider.php(215): ThemeHouse\Monetize\XF\Purchasable\UserUpgrade->sendPaymentReceipt(Object(XF\Payment\CallbackState))
#20 payment_callback.php(67): XF\Payment\AbstractProvider->completeTransaction(Object(XF\Payment\CallbackState))
#21 {main}

Request state​

array(4) {
["url"] => string(40) "/payment_callback.php?_xfProvider=stripe"
["referrer"] => bool(false)
["_GET"] => array(1) {
["_xfProvider"] => string(6) "stripe"
}
["_POST"] => array(0) {
}
}

Error 2:

  • ErrorException: Template error: [E_USER_WARNING] Function uix_intval is unknown
  • src/XF/Template/Templater.php:1198
  • Generated by: Unknown account
  • Dec 3, 2024 at 7:33 AM

Stack trace​

#0 [internal function]: XF\Template\Templater->handleTemplateError(512, '[E_USER_WARNING...', '/home/nginx/dom...', 1198)
#1 src/XF/Template/Templater.php(1198): trigger_error('Function uix_in...', 512)
#2 internal_data/code_cache/templates/l1/s7/public/setup_custom.less.php(26): XF\Template\Templater->func('uix_intval', Array, false)
#3 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(XF\Mail\Templater), Array, NULL)
#4 src/XF/Template/Templater.php(1874): XF\Template\Templater->renderTemplate('setup_custom.le...', Array)
#5 internal_data/code_cache/templates/l1/s7/public/setup.less.php(1038): XF\Template\Templater->includeTemplate('public:setup_cu...', Array)
#6 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(XF\Mail\Templater), Array, NULL)
#7 src/XF/CssRenderer.php(766): XF\Template\Templater->renderTemplate('setup.less', Array)
#8 src/XF/CssRenderer.php(426): XF\CssRenderer->getLessPrepend()
#9 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('email:core.less', '// NOTE: THIS D...')
#10 src/XF/CssRenderer.php(279): XF\CssRenderer->renderTemplate('email:core.less', NULL)
#11 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#12 src/XF/Mail/Styler.php(70): XF\CssRenderer->render(Array, false)
#13 src/XF/Mail/Styler.php(57): XF\Mail\Styler->renderCoreCss()
#14 src/XF/Mail/Styler.php(31): XF\Mail\Styler->getEmailCss(Object(XF\Language))
#15 src/XF/Mail/Mailer.php(202): XF\Mail\Styler->styleHtml('<!DOCTYPE html>...', true, Object(XF\Language))
#16 src/addons/DigitalPoint/Analytics/XF/Mail/Mailer.php(35): XF\Mail\Mailer->renderMailTemplate('payment_receive...', Array, Object(XF\Language), Object(Andrew\ModeratorPanel\XF\Entity\User))
#17 src/XF/Mail/Mail.php(420): DigitalPoint\Analytics\XF\Mail\Mailer->renderMailTemplate('payment_receive...', Array, Object(XF\Language), Object(Andrew\ModeratorPanel\XF\Entity\User))
#18 src/XF/Mail/Mail.php(492): XF\Mail\Mail->renderTemplate()
#19 src/XF/Mail/Mail.php(568): XF\Mail\Mail->getSendableEmail()
#20 src/XF/Purchasable/AbstractPurchasable.php(170): XF\Mail\Mail->send()
#21 src/addons/ThemeHouse/Monetize/XF/Purchasable/UserUpgrade.php(94): XF\Purchasable\AbstractPurchasable->sendPaymentReceipt(Object(XF\Payment\CallbackState))
#22 src/XF/Payment/AbstractProvider.php(215): ThemeHouse\Monetize\XF\Purchasable\UserUpgrade->sendPaymentReceipt(Object(XF\Payment\CallbackState))
#23 payment_callback.php(67): XF\Payment\AbstractProvider->completeTransaction(Object(XF\Payment\CallbackState))
#24 {main}

Request state​

array(4) {
["url"] => string(40) "/payment_callback.php?_xfProvider=stripe"
["referrer"] => bool(false)
["_GET"] => array(1) {
["_xfProvider"] => string(6) "stripe"
}
["_POST"] => array(0) {
}
}

ERROR 3:

  • XF\CssRenderException: Error rendering template public:uix_extendedFooter.less: .m-pageWidth is undefined in public:uix_extendedFooter.less (on or near line 1150)
  • src/XF/CssRenderException.php:89
  • Generated by: Unknown account
  • Dec 3, 2024 at 6:50 AM

Stack trace​

1147 |
1148 | .pageContent {
1149 |
1150| .m-pageWidth();
1151 |
1152 | padding:0;
1153 |
------------

#0 src/XF/CssRenderer.php(435): XF\CssRenderException::createFromLessException(Object(Less_Exception_Compiler), 'public:uix_exte...', '// Note that th...')
#1 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('public:uix_exte...', '// Note that th...')
#2 src/XF/CssRenderer.php(279): XF\CssRenderer->renderTemplate('public:uix_exte...', NULL)
#3 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#4 src/XF/CssWriter.php(60): XF\CssRenderer->render(Array)
#5 css.php(32): XF\CssWriter->run(Array, 7, 1, 'b7871e69b6cd120...')
#6 {main}

-------------

Previous Less_Exception_Compiler: .m-pageWidth is undefined in anonymous-file-5235.less - src/vendor/oyejorge/less.php/lib/Less/Tree/Mixin/Call.php:149
#0 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(147): Less_Tree_Mixin_Call->compile(Object(Less_Environment))
#1 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(90): Less_Tree_Ruleset->EvalMixinCalls(Object(Less_Tree_Ruleset), Object(Less_Environment), 2)
#2 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#3 src/vendor/oyejorge/less.php/lib/Less/Tree/Ruleset.php(95): Less_Tree_Ruleset->compile(Object(Less_Environment))
#4 src/vendor/oyejorge/less.php/lib/Less/Parser.php(181): Less_Tree_Ruleset->compile(Object(Less_Environment))
#5 src/XF/CssRenderer.php(431): Less_Parser->getCss()
#6 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('public:uix_exte...', '// Note that th...')
#7 src/XF/CssRenderer.php(279): XF\CssRenderer->renderTemplate('public:uix_exte...', NULL)
#8 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#9 src/XF/CssWriter.php(60): XF\CssRenderer->render(Array)
#10 css.php(32): XF\CssWriter->run(Array, 7, 1, 'b7871e69b6cd120...')
#11 {main}

Request state​

array(4) {
["url"] => string(567) "/css.php?css=public%3Aalnb_navigation.less%2Cpublic%3Aeditor.less%2Cpublic%3Amessage.less%2Cpublic%3Anotices.less%2Cpublic%3Aozzmodz_badges.less%2Cpublic%3Aozzmodz_badges_featured_badges.less%2Cpublic%3Ashare_controls.less%2Cpublic%3AsvAlertImprovements.less%2Cpublic%3Ath_covers.less%2Cpublic%3Ath_nodeStyling_nodes.7.less%2Cpublic%3Ath_uix_threadStarterPost.less%2Cpublic%3Athstyleswitch.less%2Cpublic%3Auix.less%2Cpublic%3Auix_extendedFooter.less%2Cpublic%3Auix_socialMedia.less%2Cpublic%3Aextra.less&s=7&l=1&d=1717121498&k=b7871e69b6cd120fd7fd307163bc048be14a4514"
["referrer"] => bool(false)
["_GET"] => array(5) {
["css"] => string(428) "public:alnb_navigation.less,public:editor.less,public:message.less,public:notices.less,public:ozzmodz_badges.less,public:ozzmodz_badges_featured_badges.less,public:share_controls.less,public:svAlertImprovements.less,public:th_covers.less,public:th_nodeStyling_nodes.7.less,public:th_uix_threadStarterPost.less,public:thstyleswitch.less,public:uix.less,public:uix_extendedFooter.less,public:uix_socialMedia.less,public:extra.less"
["s"] => string(1) "7"
["l"] => string(1) "1"
["d"] => string(10) "1717121498"
["k"] => string(40) "b7871e69b6cd120fd7fd307163bc048be14a4514"
}
["_POST"] => array(0) {
}
}
ERROR 4:

  • TypeError: Template public:setup_custom.less error: Unsupported operand types: string + string
  • internal_data/code_cache/templates/l1/s7/public/setup_custom.less.php:26
  • Generated by: Unknown account
  • Dec 3, 2024 at 6:52 AM

Stack trace​

#0 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#1 src/XF/Template/Templater.php(1874): XF\Template\Templater->renderTemplate('setup_custom.le...', Array)
#2 internal_data/code_cache/templates/l1/s7/public/setup.less.php(1038): XF\Template\Templater->includeTemplate('public:setup_cu...', Array)
#3 src/XF/Template/Templater.php(1800): XF\Template\Templater->{closure}(Object(SV\StandardLib\XF\Template\Templater), Array, NULL)
#4 src/XF/CssRenderer.php(766): XF\Template\Templater->renderTemplate('setup.less', Array)
#5 src/XF/CssRenderer.php(426): XF\CssRenderer->getLessPrepend()
#6 src/XF/CssRenderer.php(371): XF\CssRenderer->renderToCss('public:core.les...', 'iframe[data-s9e...')
#7 src/XF/CssRenderer.php(279): XF\CssRenderer->renderTemplate('public:core.les...', NULL)
#8 src/XF/CssRenderer.php(135): XF\CssRenderer->renderTemplates(Array, Array, Array)
#9 src/XF/CssWriter.php(60): XF\CssRenderer->render(Array)
#10 css.php(32): XF\CssWriter->run(Array, 7, 1, 'b3f3e112884f0d6...')
#11 {main}

Request state​

array(4) {
["url"] => string(161) "/css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Acore.less%2Cpublic%3Aapp.less%2C&s=7&l=1&d=1717121498&k=b3f3e112884f0d62be0c9179d65beb19302ee635"
["referrer"] => bool(false)
["_GET"] => array(5) {
["css"] => string(68) "public:normalize.css,public:fa.css,public:core.less,public:app.less,"
["s"] => string(1) "7"
["l"] => string(1) "1"
["d"] => string(10) "1717121498"
["k"] => string(40) "b3f3e112884f0d62be0c9179d65beb19302ee635"
}
["_POST"] => array(0) {
}
}
 
Last edited:
Back
Top Bottom