Legacy UI whole app gradle 8.1.2

About this issue

When I put the code to use in only one module it works with the following workaround:
implementation("com.mikepenz:aboutlibraries:10.8.3") {
exclude group: 'com.mikepenz', module: 'aboutlibraries-core'
}
But when I want to apply it to the whole app then it on synchronize gives an error without the above workaround or using the above workaround it gives a blank page in user interface of android app

Details
com.android.tools.build:gradle:8.1.2
id 'com.mikepenz.aboutlibraries.plugin' version "10.8.3"

Can you please provide more details? Which error do you get?

when I don't use the workaround sometimes I can sync and sometimes not the gradle files. But even if I can sync gradle files I get during building my apk the following error (similar error when I can't sync gradle files):
Duplicate class com.mikepenz.aboutlibraries.Libs found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.Libs$Builder found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.Libs$Builder$build$$inlined$sortedBy$1 found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.entity.Developer found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.entity.Funding found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.entity.Library found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.entity.License found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.entity.Organization found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.entity.Scm found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
Duplicate class com.mikepenz.aboutlibraries.util.Result found in modules jetified-aboutlibraries-core-jvm-10.8.3 (com.mikepenz:aboutlibraries-core-jvm:10.8.3) and jetified-aboutlibraries-core-release-runtime (com.mikepenz:aboutlibraries-core-android:10.8.3)
when I use the workaround I can sync gradle and build apk but running the app when it needs to display the package list it displays empty and in logcat I found the following:
Unable to read the library information
java.lang.IllegalStateException: Please provide the required library data via the available APIs.
Depending on the platform this can be done for example via LibsBuilder().withJson().
For Android there exists an LibsBuilder.withContext(), automatically loading the aboutlibraries.json file from the raw resources folder.
When using compose or other parent modules, please check their corresponding APIs.
at com.mikepenz.aboutlibraries.Libs$Builder.build(Libs.kt:37)
at com.mikepenz.aboutlibraries.viewmodel.LibsViewModel$listItems$1$1.invokeSuspend(LibsViewModel.kt:85)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

This looks to be like 2 different reports.
For the first: It seems the jettifier is somehow duplicating classes. Do you really still need the jettifier in your app?
For the second. Please make sure the plugin is properly applied, and the generation of the meta data works. (the build folder should contain the json output, unless you have it configured to manually generate the data?)

Currently I have only one module and use the module wide solution. I can't remove jetifier without some medium work. On the other hand in the second case I see in logcat:
Unable to retrieve library information given the raw resource identifier.
Please make sure either the gradle plugin is properly set up, or the file is manually provided.
I am setting up the gradle plugin like following:
plugins {
id 'com.mikepenz.aboutlibraries.plugin' version "10.8.3"
}
Is that OK?

I removed the jetifier and still get the duplicate class error.

Could it be possibly similar problem like: https://github.com/mikepenz/AboutLibraries/issues/881#issuecomment-1604480293

I have the same issue on def latestAboutLibsRelease = '10.9.2.
    //implementation "com.mikepenz:aboutlibraries-core:${latestAboutLibsRelease}"
    //implementation "com.mikepenz:aboutlibraries:${latestAboutLibsRelease}"

produces:
java.lang.ClassNotFoundException: Didn't find class "com.mikepenz.aboutlibraries.util.AndroidExtensionsKt"
Some more stack trace
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/mikepenz/aboutlibraries/util/AndroidExtensionsKt;
at com.mikepenz.aboutlibraries.ui.LibsSupportFragment$viewModel$2.invoke(LibsSupportFragment.kt:54)
at com.mikepenz.aboutlibraries.ui.LibsSupportFragment$viewModel$2.invoke(LibsSupportFragment.kt:47)
at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:47)
at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:35)
at com.mikepenz.aboutlibraries.ui.LibsSupportFragment.getViewModel(LibsSupportFragment.kt:47)
at com.mikepenz.aboutlibraries.ui.LibsSupportFragment.access$getViewModel(LibsSupportFragment.kt:42)
at com.mikepenz.aboutlibraries.ui.LibsSupportFragment$onCreateView$2$1$1.invokeSuspend(LibsSupportFragment.kt:95)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
Using this workaround
implementation("com.mikepenz:aboutlibraries-core-android:${latestAboutLibsRelease}")
    implementation("com.mikepenz:aboutlibraries:${latestAboutLibsRelease}") {
        exclude group: 'com.mikepenz', module: 'aboutlibraries-core'
    }

works, but the list of libraries is empty.
My build.gradle
buildscript {
....
}

plugins {
    id 'com.mikepenz.aboutlibraries.plugin' version "10.9.2"
}

App level
plugins {
    id 'com.mikepenz.aboutlibraries.plugin'
}

Code to call the library:
            new LibsBuilder()
                    .withAboutIconShown(true)
                    .withAboutVersionShown(true)
                    .withAboutDescription(getString(R.string.about_tv_main))
                    .withAboutSpecial1(getString(R.string.privacy_policy))
                    .withListener(...)
                    .start(this);

build/generated/aboutLibraries is empty
Using Pixel6 API 33 for testing, java project.

is the build/generated/aboutlibraries staying empty even when doing a clean build?
if you manually run the gradle task, would it have dependencies resolved?
./gradlew findLibraries

What gradle version are you using?

Using Gradle 8.4.
./gradlew findLibraries
let to
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap

Changing
#org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M"
to
org.gradle.jvmargs=-Xmx1024m
in gradle.properties
solved this issue.
The library still isn't working after clean rebuild. (No build/generated/aboutlibraries folder available)
./gradlew findLibraries
Calculating task graph as no configuration cache is available for tasks: findLibraries

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'Flatlife'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve com.android.tools.build:gradle:8.0.2.
     Required by:
         project :
      > No matching variant of com.android.tools.build:gradle:8.0.2 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.4' but:
          - Variant 'apiElements' capability com.android.tools.build:gradle:8.0.2 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'javadocElements' capability com.android.tools.build:gradle:8.0.2 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'runtimeElements' capability com.android.tools.build:gradle:8.0.2 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'sourcesElements' capability com.android.tools.build:gradle:8.0.2 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
   > Could not resolve androidx.navigation:navigation-safe-args-gradle-plugin:2.7.1.
     Required by:
         project :
      > No matching variant of androidx.navigation:navigation-safe-args-gradle-plugin:2.7.1 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.4' but:
          - Variant 'apiElements' capability androidx.navigation:navigation-safe-args-gradle-plugin:2.7.1 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'runtimeElements' capability androidx.navigation:navigation-safe-args-gradle-plugin:2.7.1 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'sourcesElements' capability androidx.navigation:navigation-safe-args-gradle-plugin:2.7.1 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
   > Could not resolve com.google.gms:google-services:4.4.0.
     Required by:
         project :
      > No matching variant of com.google.gms:google-services:4.4.0 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.4' but:
          - Variant 'apiElements' capability com.google.gms:google-services:4.4.0 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'javadocElements' capability com.google.gms:google-services:4.4.0 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'runtimeElements' capability com.google.gms:google-services:4.4.0 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')
          - Variant 'sourcesElements' capability com.google.gms:google-services:4.4.0 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 8)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.4')

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 2s
Configuration cache entry stored.

When I try to build a realease build I also get this:
C:/Users/.../.gradle/caches/transforms-3/3da79f2f13a3f61c7d4287911f5a6908/transformed/aboutlibraries-10.9.2/jars/classes.jar!/META-INF/aboutlibraries.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.

Project is written in java. Only external libraries might use kotlin. I do not have anything related to kotlin defined in my build.gradle files

Please have a look on this MWE: https://github.com/dhoehl/LibraryTest
It demonstrates the crash if this code is not used:
implementation("com.mikepenz:aboutlibraries-core-android:${latestAboutLibsRelease}")
    implementation("com.mikepenz:aboutlibraries:${latestAboutLibsRelease}") {
        exclude group: 'com.mikepenz', module: 'aboutlibraries-core'
    }

and it also demonstrates the missing json file (and resulting empty library screen. Simply change the build.gradle to reproduce both errors
    //Uncomment this and comment block (2) will let the app crash
    //Block (1)
    //implementation "com.mikepenz:aboutlibraries-core:${latestAboutLibsRelease}"
    //implementation "com.mikepenz:aboutlibraries:${latestAboutLibsRelease}"

    //Uncomment this and comment block (1) so the app will start library screen but without any library present
    //Block (2)
    implementation("com.mikepenz:aboutlibraries-core-android:${latestAboutLibsRelease}")
    implementation("com.mikepenz:aboutlibraries:${latestAboutLibsRelease}") {
        exclude group: 'com.mikepenz', module: 'aboutlibraries-core'
    }

I have some new insights:
Using this at top level gradle will reproduce the error (no json file in build folder)
plugins {
    id 'com.mikepenz.aboutlibraries.plugin' version "10.9.2"
}

But using this in top level gradle resp. in module gradle will produce the json file. In my MWE example this solves all issues and creates a full working library screen.
plugins {
    id 'com.mikepenz.aboutlibraries.plugin' version "10.9.2" apply false
}

plugins {
    id 'com.mikepenz.aboutlibraries.plugin'
}

In my production app this helped as well. The screen is not blank anymore and the app does not throw an exception. Nevertheless the json that is produces is empty. The build log gives me the following output for every library:
> Task :app:prepareLibraryDefinitionsDebug
--> Retrieved no components for: androidx.activity:activity:1.8.0
--> Retrieved no components for: androidx.activity:activity-ktx:1.8.0
--> Retrieved no components for: androidx.annotation:annotation-experimental:1.3.0
--> Retrieved no components for: androidx.annotation:annotation-jvm:1.6.0
--> Retrieved no components for: androidx.appcompat:appcompat:1.6.1
--> Retrieved no components for: androidx.appcompat:appcompat-resources:1.6.1
--> Retrieved no components for: androidx.arch.core:core-common:2.2.0
...

I could not figure out the difference between the MWE and my real app. But we are getting closer to a solution, I think.
I deleted .idea, .gradle and build dir still get the same result.

Add this org.gradle.unsafe.configuration-cache=false to your gradle.properties file. With the above fix and workarounds the library works again finally.
So it was the gradle configuration cache after all

Thank you for the update @dhoehl

Closing as config cache problems are tracked here: https://github.com/mikepenz/AboutLibraries/issues/839


Template or backtick strings keep being indented

This is likely related to #53, but occurs regardless if formatJSXExpressions is true or false
Using esformatter 0.9.3 and esformatter-jsx 5.0.4
.esformatter:
{
	"preset": "default",
	"plugins": [
		"esformatter-jsx"
	]
}

Initial input:
function render(count) {
    return (
        <FormattedMessage
            id="some.id"
            defaultMessage={`You have {count, plural,
                =0 {no Items}
                one {one Item}
                other {{count} Items}
            }`}
            description="Description goes here"
            values={{ count }}
        />
    );
}

First output:
function render(count) {
  return (
    <FormattedMessage id="some.id" defaultMessage={ `You have {count, plural,
                                                                =0 {no Items}
                                                                one {one Item}
                                                                other {{count} Items}
                                                            }` } description="Description goes here" values={ { count } } />
    );
}

Second output:
function render(count) {
  return (
    <FormattedMessage id="some.id" defaultMessage={ `You have {count, plural,
                                                                                =0 {no Items}
                                                                                one {one Item}
                                                                                other {{count} Items}
                                                                                }` } description="Description goes here" values={ { count } } />
    );
}

Third output:
function render(count) {
  return (
    <FormattedMessage id="some.id" defaultMessage={ `You have {count, plural,
                                                                                =0 {no Items}
                                                                                one {one Item}
                                                                                other {{count} Items}
                                                                                }` } description="Description goes here" values={ { count } } />
    );
}

Also see #70 for a PR to verify reformatting

definitively an ugly bug. :(
Will try to take a look at it now

I just published a new version with this fixed. Let me know if there is any instance where it fails...
demo

@royriojas Your demo duplicates the backtick string in the inner backtick string.
Also, the indentation bug is present if you do something akin to
<Comp prop={fn`
  hello
`}

@ckknight I have to update the demo to use the latest. That shouldn't be happening with the latest.
For the other one I will investigate. Would you matter to create a new issue for the tags in backtips? please.


subpaths issue

https://github.com/pyblish/pyblish-maya
has 1 folder as subpath, and requirements file
not sure how this would be installed by maya, since it's a python module

since this is a pip package, there s no need to install this through plugget.


Difficulty getting react-gridstack up and running

Hi,
I'm having difficulty getting started with this module. I have created a very small project to try and run the example in README.md but am getting the console error:
Uncaught TypeError: (0 , _jquery2.default)(...).gridstack is not a function
I've attached a zip of the small project that is causing the error. Is there a problem with the way I am importing this in index.js or webpack.config.js?
t22.zip
Thanks!

Chris

got the same issue, described it here already Uncaught TypeError: (0 , _jquery2.default)(...).gridstack is not a function


ionic/iOS - sendCall UI not showing until app is closed

Hi,
I'm working with ionic 3 on ios. The CordovaCall plugin receiveCall function works perfectly, but when running sendCall, the CallKit UI doesn't show (success callbacks run, no errors are fired) - until the app is closed, at which point the CallKit UI will show with 'Call Failed'.
Logs from xcode:
2018-10-08 09:46:22.892724+0100 testApp[369:12557] starting testOutgoingCall
2018-10-08 09:46:22.952566+0100 testApp[369:12557] Configuring Audio
2018-10-08 09:46:23.149775+0100 testApp[369:12557] activated audio

Simplest code to test sendCall:
(<any>window).cordova.plugins.CordovaCall.sendCall('Test outgoing');
Possibly related to this? https://github.com/WebsiteBeaver/CordovaCall/issues/34
Any direction would be much appreciated.
Thanks!

facing same issue, call ui is not coming up but success callback is fired. iOS 12

Have tried this again with a fresh app, no other plugins, same code as above. Same result - no call UI shown until I close the app, at which point it shows "Call failed".
Logs:
2018-10-11 11:28:13.512996+0100 cordovaCallTest[3457:989841] starting testOutgoingCall
2018-10-11 11:28:13.558152+0100 cordovaCallTest[3457:989841] Configuring Audio
2018-10-11 11:28:13.699323+0100 cordovaCallTest[3457:989841] activated audio
Running on iOS 11.4.1

working on android for me, but i get the same result on ios..

Has anyone solved the problem?

Issue has not been resolved - a bug in the cordova plugin as far as I can tell.
@dmarcs can you comment if a fix is possible? We appreciate your hard work on this plugin, but this is a major issue :(

After some experiments and finding a solution to the problem, I realized that is not a mistake in the plugin. This interface behavior is based on the CallKit implementation. I created a new test project on objective-c with CallKit and saw the same behavior. Video link explains how it works:
https://developer.apple.com/videos/play/wwdc2016/230/

hi @GMK82 , I´m having the same issue, in iOS and Android: i´m not able to show the callkit UI when making a call.
Could you please tell us what did you do to address the issue?
The video you attached is great, so clear explanation of what´s behind callkit, but i don´t get to see the relationship with our issue. Sorry for my ignorance.
There is another thread (#79) related to this issue with further info.


Add grammar files for alter index

Description
Add grammar files for Alter Index. Implementation will be in a later PR.
This PR is to allow new grammar files to sync to sql plugin.
Issues Resolved

#278

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks for the review. Could you help merge it, thanks! @dai-chen

Just confirming, With clause is required instead of optional?

Yes. Alter Index is used for changing the options in With clause.


[Bug]: it's actually a vital error.

Contact Details
What happened?
When I were making interaction with sydney,then I tried to intercept the requests.
I found that,cookies are clearly visible in the headers while sending requests,that can be used to perform any illegal purposes.
Please add a support to encrypt or any way to hide the original bing cookie to keep it private.
Steps to Reproduce
1.I started chatting
2. After some conversation,i intercepted the requests.
3. Found critical Infos like bing cookies are public.
What browsers are you seeing the problem on?
Chrome, Mobile (Android)
Relevant log output
No response
Screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I don’t know what version you’re on but this concern is already taken care of on latest. It sounds like you’re not on latest.
First off, you need to submit your keys/cookies unencrypted the first time. From there on out the server will encrypt your credentials and they are not transmitted from frontend to server or vice versa any longer.
secondly, the only way to properly protect yourself from man-in-the-middle attacks is to use a secure transport layer (HTTPS): https://stackoverflow.com/questions/55284590/node-js-server-request-to-https-enough-for-encryption


Disable next button when working with groupCells properly

Fixes #78.

So sorry this slipped by me. Not sure why I don't seem to get notifications from this one repo.
Will try to review/test this weekend.


[issue] Parse input spaces properly

Tab autocomplete works with directories with spaces but only when spaces are not typed directly. Example:
On Windows I want to autocomplete "C:\Program Files", I have to type "C:\Program" and press tab. When I type "C:\Program<space>F" and press tab, it won't autocomplete. Issue also exists on Linux.

Thanks for the comment!


comments updates

local run: pytest .\tests -m "not dut and not l1_manual"
================================================== 15 passed, 5 deselected in 2195.79s (0:36:35) ===================================================
(current) PS C:\Users\rangabar.KEYSIGHT\Documents\GitHub\snappi-tests>

@Rangababu-R are these results from the run on ixnetwork ? what's the status on athena (since it would require some script changes) ?

@Rangababu-R are these results from the run on ixnetwork ? what's the status on athena (since it would require some script changes) ?

yes, these are for Ixnetwork. still needs to validate against Athena


Add layer name to statistics box?

It's a little bit subtle that the ROI statistics refers to the current active layer. Maybe adding the layer name at the top of the statistics box would make this more obvious?

Implemented in #110.


Feature/ng after view checked

This fixes (or works-around) the ExpressionChangedAfterItHasBeenCheckedError errors that we kept getting when enableProd() is removed;
Additionally, several other things were changed:

all bodybuilder query building functions have been moved to its own query-builder service, no other service or component should be using bodybuilder
search.component default test have been enabled
default query-builder test is added
search table (along with the tag cloud) has been moved to the search-results component

In the future, tag cloud should be its own component.  And the sidebar should also be its own component.

Codecov Report

Merging #87 into develop will decrease coverage by 6.89%.
The diff coverage is 34.01%.

@@            Coverage Diff             @@
##           develop      #87     +/-   ##
==========================================
- Coverage     72.3%   65.41%   -6.9%
==========================================
  Files           82       87      +5
  Lines         1914     2403    +489
  Branches       238      312     +74
==========================================
+ Hits          1384     1572    +188
- Misses         379      669    +290
- Partials       151      162     +11

Impacted Files
Coverage Δ

src/app/search/elastic-search-client.ts
100% <100%> (ø)

.../search/advancedsearch/advancedsearch.component.ts
65.38% <100%> (ø)
:arrow_up:

src/app/search/search.service.ts
35.04% <100%> (+2.29%)
:arrow_up:

src/app/search/query-builder.service.ts
12.5% <12.5%> (ø)

src/app/search/search.component.ts
38.64% <52.27%> (ø)

.../search/search-results/search-results.component.ts
56.25% <56.25%> (ø)

src/app/shared/dockstore.model.ts
100% <0%> (ø)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8e30f36...9868d16. Read the comment docs.

wow, that's a pretty huge coverage decrease.


Enable strict in TypeScript sample

Closes #2779

Coverage increased (+3.6%) to 86.087% when pulling 41c694149cc6694bcc991996abe7e5b671b644fd on typescript-sample-strict into c0ea7ea9006713f2ea4dd7798d1dfb4e92010dba on dev.

Coverage increased (+3.6%) to 86.087% when pulling 41c694149cc6694bcc991996abe7e5b671b644fd on typescript-sample-strict into c0ea7ea9006713f2ea4dd7798d1dfb4e92010dba on dev.


Documentation links are not working.

There is injector error for ui-router when I checked the console.

same problem


Outrageous variance of latency in prod

In the prod environment, requests may take from half a second (bad, but usable) to more than 2 seconds (absurdly slow).
Interestingly, when we tested that environment before, the problem could only be reproduced from outside the cluster, which led us to conclude the network was just slow; but now, this happens even when sending requests from within the app container.
Reproducer
Log into a terminal on prod, then run this:
function query() { curl -sS -o /dev/null -w "$2,%{time_total}\n" "$1/api/guides/search?q=$2"; }; export -f query ; function benchmark() { curl -s https://quarkus.io/guides/hibernate-orm | tr -c '[:alnum:]' ' ' | sed -E 's/\s+/\n/g' | grep -v '^$' | xargs -I '{}' bash -c 'query "$@"' _ "$1" \{\}; }
benchmark localhost:8080

You'll get something like this within the prod container (little to no network overhead!):
DOCTYPE,0.109458
html,0.730111
html,2.202754
head,1.154456
title,0.841987
Using,1.175135
Hibernate,1.077278
ORM,2.202671
and,0.005574
Jakarta,0.792851
Persistence,0.899881
Quarkus,0.402898
title,0.956753
meta,2.203943
charset,2.202902
utf,2.202180
8,0.334238
meta,0.702194
name,2.202897
viewport,0.004739
content,0.282583
width,0.013304
device,0.671223
width,0.013273
initial,2.202420
scale,1.154155
1,0.477228
meta,0.426395
http,0.922965
equiv,2.203212
Content,0.362585
Security,0.344922
Policy,2.202977
content,0.468521
default,2.762873
src,0.279919
https,0.649843
dpm,0.004572
demdex,0.011351
net,2.212220
https,0.424428
analytics,0.974756
ossupstream,0.004484
org,0.899732
https,0.918954
search,0.897728
quarkus,0.599171
io,1.165841
script,2.203324
src,0.295588
self,1.020111
unsafe,0.077396
eval,0.856906
sha256,2.202551
ANpuoVzuSex6VhqpYgsG25OHWVA1I,0.065386
F6aGU04LoI,0.015847
5s,2.206016
sha256,0.967667
ipy9P,0.004608
3rZZW06mTLAR0EnXvxSNcnfSDPLDuh3kzbB1w,0.004902
js,0.943815
bizographics,0.004806
com,2.202516
https,0.668666
www,0.950869
redhat,0.037909
com,1.147529
https,0.678858
static,0.472487
redhat,0.048886
com,2.202363
assets,0.014118
adobedtm,0.004497
com,2.202495
jsonip,0.015979
com,2.203200
https,2.203308
ajax,0.075323
googleapis,0.005189
com,2.277368
https,0.634071
use,0.327698
fontawesome,0.004703
com,2.207481
https,2.203786
app,2.201994
mailjet,0.025175
com,2.203270
http,0.698329
www,0.739247
youtube,0.004310
com,2.323479
http,0.726036
www,0.856315
googleadservices,0.004128
com,2.202558
https,2.202691
googleads,0.033978
g,0.070877
doubleclick,0.007469
net,2.203135
https,2.203513
dpm,0.005090
demdex,0.003698
net,1.140691
https,2.203119
giscus,0.005854
app,0.707628
https,2.202671
analytics,0.445782
ossupstream,0.004443
org,0.706696
style,1.038720
src,0.360500
self,2.203311
https,0.720581
fonts,0.031133
googleapis,0.025645
com,1.134066
https,1.202885
use,0.362669
fontawesome,0.007371
com,2.207774
img,0.021032
src,0.667094
self,0.683208
https,0.909267
analytics,0.413196
ossupstream,0.004325
org,0.475986
media,1.076396
src,0.274180
self,0.894732
frame,2.202541
src,0.576205
https,2.202200
www,2.203063
youtube,0.006180
com,1.090934

I suspect we might not be giving enough CPU or memory to the OpenSearch cluster...
Here are the metrics while running the "benchmark":

BTW OpenSearch logs only mention "running full sweep" every 5minutes, which is normal: https://forum.opensearch.org/t/jobsweeper-what-does-it-do-and-should-it-run-so-often/2263
We might want to enable slow logs...

Hmm, one of the node has this though:
[2024-01-17T08:40:32,294][WARN ][o.o.s.b.SearchBackpressureService] [search-backend-2] [monitor_only mode] cancelling task [104082] due to high resource consumption [heap usage exceeded [44.3mb >= 26.3mb]]
[2024-01-17T08:42:57,135][INFO ][o.o.j.s.JobSweeper       ] [search-backend-2] Running full sweep
[2024-01-17T08:47:57,135][INFO ][o.o.j.s.JobSweeper       ] [search-backend-2] Running full sweep
[2024-01-17T08:52:57,135][INFO ][o.o.j.s.JobSweeper       ] [search-backend-2] Running full sweep
[2024-01-17T08:53:17,789][WARN ][o.o.s.b.SearchBackpressureService] [search-backend-2] [monitor_only mode] cancelling task [105614] due to high resource consumption [heap usage exceeded [224.8mb >= 158.8mb]]

I just compared numbers with the app running in dev mode on my machine. We definitely can do better with a different setup:

#147 seems to have improved numbers radically on staging:
DOCTYPE,0.544337
html,2.202547
html,1.062048
head,2.202470
title,0.655201
Using,0.582620
Hibernate,0.876457
ORM,1.072598
and,0.015666
Jakarta,0.328665
Persistence,0.704781
Quarkus,0.577906
title,0.623003
meta,0.427350
charset,0.535435
utf,0.596604
8,0.362106
meta,0.647506
name,1.046652
viewport,0.028322
^C
sh-4.4$ benchmark localhost:8080
DOCTYPE,0.111144
html,0.594007
html,0.628614
head,0.614885
title,0.541877
Using,0.289632
Hibernate,0.691145
ORM,0.690788
and,0.010526
Jakarta,0.309335
Persistence,0.687116
Quarkus,0.301538
title,0.693011
meta,0.436521
charset,0.532264
utf,0.568828
8,0.406567
meta,0.452762
name,0.916533
viewport,0.011984
content,0.335838
width,0.030592
device,0.241723
width,0.019924
initial,0.937839
scale,0.395314
1,0.512188
meta,0.462084
http,0.418967
equiv,0.598068
Content,0.332391
Security,0.358716
Policy,0.526373
content,0.304796
default,2.204182
src,0.501652
https,0.423663
dpm,0.010287
demdex,0.010522
net,0.573289
https,0.444182
analytics,0.273856
ossupstream,0.011330
org,0.351882
https,0.444152
search,0.647035
quarkus,0.331372
io,1.038557
script,0.618166
src,0.332196
self,0.439970
unsafe,0.061414
eval,0.396258
sha256,0.383358
ANpuoVzuSex6VhqpYgsG25OHWVA1I,0.009020
F6aGU04LoI,0.009851
5s,0.429688
sha256,0.361290
ipy9P,0.012367
3rZZW06mTLAR0EnXvxSNcnfSDPLDuh3kzbB1w,0.009243
js,0.606053
bizographics,0.010443
com,0.659405
https,0.410259
www,0.468549
redhat,0.047109
com,0.680510
https,0.540453
static,0.556675
redhat,0.056470
com,0.704743
assets,0.027610
adobedtm,0.007057
com,0.657336
jsonip,0.011655
com,0.711424
https,0.405607
ajax,0.046170
googleapis,0.015735
com,0.702099
https,0.418146
use,0.412289
fontawesome,0.009318
com,0.650506
https,0.449405
app,0.355214
mailjet,0.024929
com,0.669471
http,0.404864
www,0.451040
youtube,0.008561
com,0.661096
http,0.411000
www,0.450282
googleadservices,0.013112
com,0.694944
https,0.465166
googleads,0.008428
g,0.068582
doubleclick,0.008452
net,0.611512
https,0.407844
dpm,0.008046
demdex,0.008407
net,0.591119
https,0.411814
giscus,0.010866
app,0.360517
https,0.485159
analytics,0.310540
ossupstream,0.009325
org,0.349132
style,0.550314
src,0.285312
self,0.401565
https,0.406926
fonts,0.025166
googleapis,0.007839
com,0.703201
https,0.405715
use,0.362942
fontawesome,0.007828
com,0.668983
img,0.031278
src,0.341473
self,0.471215
https,0.425383
analytics,0.267479
ossupstream,0.009663
org,0.366618
media,0.608776
src,0.323472
self,0.390426
frame,0.576041
src,0.274058
https,0.407061
www,0.484173
youtube,0.008575
com,0.726081
https,0.431856
embed,0.426214
restream,0.008863
io,0.652262
https,0.528892
app,0.405835
mailjet,0.022611
com,0.636773
http,0.421257
xy0p2,0.007136
mjt,0.009207
lu,0.107531
https,0.402867
mj,0.009671
quarkus,0.296638
io,0.646709
https,0.504012
giscus,0.015314
app,0.553547
base,0.657725

I'll go ahead and deploy this in production.

Fixed by #148


SMP-286 feat: flutter updated

Changes
Update flutter version

Checklist for self-check

[x] Commits and PRs have been filed according to the rules on the project.
[x] The author is marked as an assignee and assigned mandatory reviewers.
[x] Required labels marked
[x] Specified related tasks and/or related PRs.
[x] Specified Changes.
[ ] Attached videos/screenshots demonstrating the fix/feature.
[ ] All unspecified fields in the PR description deleted.
[ ] New code covered by tests.

Checklist for reviewers

[ ] CI passed successfully (with a green check mark).
[ ] PR is atomic, by volume no more than 400 (+-) corrected lines (not including codogen).

Design:

[ ] System design corresponds to the agreements on structure and architecture on the project.
[ ] The code is decomposed into necessary and sufficient components.

Functionality:

[ ] The code solves the problem.
[ ] Any changes to the user interface are reasonable and look good.

Complexity:

[ ] The code is clear, easy to read, functions are small, no more than 50 lines.
[ ] The logic is not overcomplicated, there is no overengineering (no code sections that may be needed in the future, but no one knows about it).

Tests:

[ ] Updated or added tests for mandatory components.
[x] The tests are correct, helpful, and well designed/developed.

Naming:

[ ] The naming of variables, methods, classes and other components is understandable.

Comments:

[ ] The comments are understandable and helpful.

Documentation:

[ ] All labels are correct
[ ] Technical documentation updated (after approval, updates last reviewer).

Codecov Report
Patch and project coverage have no change.

Comparison is base (6a36aab) 96.34% compared to head (ccd1757) 96.34%.

:exclamation: Current head ccd1757 differs from pull request most recent head c84bbbb. Consider uploading reports for the commit c84bbbb to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #45   +/-   ##
=======================================
  Coverage   96.34%   96.34%
=======================================
  Files           4        4
  Lines          82       82
=======================================
  Hits           79       79
  Misses          3        3

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Will not be merged, SDK constraints will be updated in separate PR


Add total SparkApplication count metric

Total SparkApplication count is the total number of SparkApplications that have been processed by the operator. This metric can be used to track how many SparkApplications the users have submitted to the K8s API server, and also can be used as denominator when computing job success rate, for example.

Force-pushed to run gofmt


[BUG] Switching to patches view should not reset space layout

In the example below, I configure my spaces to show Samples | Embeddings:
import fiftyone as fo
import fiftyone.brain as fob
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
fob.compute_visualization(dataset, patches_field="ground_truth", brain_key="gt_viz")

session = fo.launch_app(dataset)

samples_panel = fo.Panel(type="Samples", pinned=True)
embeddings_panel = fo.Panel(
    type="Embeddings",
    state=dict(
        brainResult="gt_viz",
        colorByField="ground_truth.detections.label",
    ),
)

session.spaces = fo.Space(
    children=[
        fo.Space(children=[samples_panel]),
        fo.Space(children=[embeddings_panel]),
    ],
    orientation="horizontal",
)

If I then switch to ground_truth patches view using the App, my spaces layout resets to Samples panel only, while session.spaces still reports the previous layout.
If I remove the patches view by clearing the view bar, my spaces layout then resets to Samples | Embeddings as it previously was configured.
The expected behavior is that switching between patches and non-patches views does not reset my spaces layout. The space layout for a dataset should be independent of the current view.

Some additional context on this issue: I found that this issue only occurs when setting session.spaces. If I instead just launch the App and then configure the spaces layout manually; I am able to convert to patches view without my spaces layout resetting.

@brimoor I am unable to re-create this bug. Are you still seeing the issue?


Does sessionStorage really serve no purpose?

The documentation states

The sessionStorage is not supported, as it would serve no purpose in a non-browser environment.

However, I am currently encountering a situation where the session created by a WebView persists even after I've terminated and relaunched the app, resulting in an invalidated login. Doing localStorage.clear() does not clear the cookie, and I have to go to the app settings to clear the data before I can login again.
I notice this problem only happens in Android and not iOS. I'm curious if sessionStorage.clear would help to resolve this problem.

The sessionStorage would be the equivalent of the localStorage. This localStorage is separate from the WebView widget. The WebView should maintain its own cache of cookies which should persist beyond app restarts.
If the cookies are not maintained on iOS across app restarts that would be an issue.

In that case, is there any avenue to clear the cookies intentionally? CookieMaster plugin appears to work, but I would like to know if there are other ways without having to use a plugin.

@wilsonna Cookie handling in the WebView follows the regular browser mechanism to always send to cookies matching the same request domain.

Closing this issue for now.


Great idea! Currently no data points available for SOLIX 2 E1600 pro

Hi,
I installed it within iobroker with success. But unfortunately no data points or debug messages were shown.
If there is something to test - please do not hesitate to contact me. I am very interested in using this adapter!

Do you use a secoundary account(family account) or your main account from App?

Do you use a secoundary account(family account) or your main account from App? Can you please post the log and set it to debug?

Hi, I am using a secondary account, but I get the same issue with primary account. Today it is an other issue - I am getting an 401 error.
Failed fetching or publishing printer dataAxiosError: Request failed with status code 401
It seems the adapter tries to connect and cannot authenticate. Definitely I am using the same mail address and password. Could it be there is an issue with my password because it has special characters in it?

This error code says that you credentinals are wrong. Stop the adapter and look under /opt/iobroker/iobroker-data/ankersolix2.0/ there is a session.data => delete this one and start the adapter again.
The special characters in passwort are no problem, i have it too.

please install the update and check again

not fixed with the update I will try to delete the session data manually

removing the data manually from /opt/iobroker/iobroker-data/ankersolix2.0 resolved the issue.


View model testing

Not finished implementing all my tests but might as well merge my existing tests into master

I had to make getFeaturedCategories() and getSecondTierCategories() public

If they have been called then the public live data should be updated. Is it possible to check them instead of making helper function public?

@scsole I will look into it.

Dispatchers.Main testing in Kotlin

@muljo take a look at #94. There is a test coroutine rule for this to reduce the boilerplate code in tests.


Hyperion raises error since 0.65

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.65.3
Python release (python3 --version):
3.6.3
Component/platform:
Hyperion
Description of problem:
Hyperion raises error when switched on.
Switch go's to off state, Hyperion stays on and can not be switched off.
I'm using the setup with the NodeMCU.
Maybe related PR: https://github.com/home-assistant/home-assistant/pull/12872
Traceback (if applicable):
2018-03-12 11:39:30 ERROR (MainThread) [homeassistant.helpers.entity] Update for light.hyperion fails
Traceback (most recent call last):
  File "/srv/ha/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/srv/ha/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/ha/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update
    if not led_color or led_color[0]['RGB value'] == [0, 0, 0]:
KeyError: 'RGB value'

Additional info:
https://community.home-assistant.io/t/problems-with-hyperion/46594
https://community.home-assistant.io/t/hyperion-on-and-off-command-does-not-work-anymore/46699/6

Reverting #12872 fixes the issue.

Can confirm this.
IMO the fix from #12872 should be applied to ESP8266 Hyperion (that doesnt comply with the way "normal" hyperion works) not on HA side

Makes no difference to me if i use hyperion with led's connected to a RPi, or if hyperion sends a UDP stream to a NodeMCU.
Issue persists with the fix.

Hi, I got a similar issue. In a previous version, Hyperion did work (47.3 stone age :)) but now it does not,
with the following output:
Update for light.hyperion fails Traceback (most recent call last):   File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state     yield from self.async_device_update()   File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update     yield from self.hass.async_add_job(self.update)   File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__     yield self  # This tells Task to wait for completion.   File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup     future.result()   File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result     raise self._exception   File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run     result = self.fn(*self.args, **self.kwargs)   File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update     if not led_color or led_color[0]['RGB value'] == [0, 0, 0]: KeyError: 'RGB value'
Hyperion does react to the first button toggle "on" but then it turns back off. and in that process HA throws errors. Hyperion does works normal with the android application.
Cheers,

Same issue here on RPi. Not much I can add other than to say I have similar behavior and errors.

I have the same problem as Koen00.
I'm running HASSIO 0.65.5 on Rasp Pi 3

Same issue as @garrettdowd
Hassio 0.65.5

me too... :( Same issue

Me too 065.6 hass.io rasp pi 3

Please test #13429 if it fixes the issue.

YEP! WORKS!
Thanks very much!

Sorry, I am not using Hyperion with NodeMCU, I have 2 Hyperion's running. one on Raspberry Pi Zero and other on Raspberry Pi 3. Both remain broken, even with #13429.
Hyperion switch still returns to off state after switched turned on.
Hassio 0.65.6
Copied #13429 into my custom_components folder.

@sarcasticsapien can you provide a log output with the patch applied

@sarcasticsapien do you have the same problem with any Hassio version between 0.62.* and 0.64.* (there was a bigger change in the hyperion component in 0.62, #11543)?

@sarcasticsapien & @a-andre
I still have the same issue,
Log Details (ERROR)
Sun Mar 25 2018 20:38:04 GMT+0200 (West-Europa (zomertijd))

Update for light.hyperion_ambilight fails
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state
    yield from self.async_device_update()
  File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update
    yield from self.hass.async_add_job(self.update)
  File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
    future.result()
  File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
    raise self._exception
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update
    if not led_color or led_color[0]['RGB value'] == [0, 0, 0]:
KeyError: 'RGB value'

This is the output, HassIO 65.6 && hyperion v. 1.03.3
config:
  - platform: hyperion
    host: 192.x.x.x
    port: 19444
    name: Hyperion ambilight
    priority: 100
    hdmi_priority: 880
    default_color: [200, 150, 20]
    effect_list: ['HDMI', 'Cinema brighten lights', 'Cinema dim lights',
      'Knight rider', 'Blue mood blobs', 'Cold mood blobs', 'Full color mood blobs',
      'Green mood blobs', 'Red mood blobs', 'Warm mood blobs', 'Police Lights Single',
      'Police Lights Solid', 'Rainbow mood', 'Rainbow swirl fast', 'Rainbow swirl', 'Random',
      'Running dots', 'System Shutdown', 'Snake', 'Sparks Color', 'Sparks', 'Strobe blue',
      'Strobe white', 'Color traces', 'UDP multicast listener', 'UDP listener', 'X-Mas']

When I hit the switch to enable the led, it switches to the correct color, but HA does not get a (correct) responce while it is waiting for one, and turns of after some time.
Cheers

@a-andre I have not used hyperion in some time (I had been using hyperion.ng, but decided to downgrade to hyperion for HomeAssistant integration specifically), so 0.65.5 and 0.65.6 are the only Hass.io versions I have tried it with in the past year.
I apologize, after looking at my log file it appears my Hass.io may not be pulling my custom_components version of hyperion.py
Update for light.hyperion fails Traceback (most recent call last):   File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 204, in async_update_ha_state     yield from self.async_device_update()   File "/usr/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 327, in async_device_update     yield from self.hass.async_add_job(self.update)   File "/usr/lib/python3.6/asyncio/futures.py", line 332, in __iter__     yield self  # This tells Task to wait for completion.   File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup     future.result()   File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result     raise self._exception   File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run     result = self.fn(*self.args, **self.kwargs)   File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, in update     if not led_color or led_color[0]['RGB value'] == [0, 0, 0]: KeyError: 'RGB value'
I have it located in
<config dir>/custom_components/light/hyperion.py
and line 217 shows
if not led_color or led_color[0]['RGB Value'] == [0, 0, 0]:
My other custom_components are working fine, so I do not think this is a directory issue.
I tried restarting Hass.io a couple times, but I get the same issue and log file output.

@Koen00 @sarcasticsapien it looks like you haven't applied the PR. After applying it you should see an upper case V in 'RGB Value' in File "/usr/lib/python3.6/site-packages/homeassistant/components/light/hyperion.py", line 217, compare with the logs you posted.

@a-andre, I don't find the folder named homeassistant in "/usr/lib/python3.6/site-packages"
if I search the hyperion.py file over WinSCP, also unsuccessful.

Maybe try the new 0.66.0beta.
There the patch is implemented.

I'll try that, thanks.


Alternative input representations to RGB

Is it possible to get an alternative input representation? For example, rather than an RBG input, to have one-hot matrices encoding features such as square contains:

Nothing
Apple
Agent facing N
Agent facing S
etc

I am not familiar with lab2d so I wouldn't know how to do this.

You would have to add custom observations in the Lua for whatever information you are looking to pull out. There are lots of examples of how to add custom observations in the existing substrates. You can follow those examples.  Take a look at Allelopathic Harvest, I believe that one has quite a few implemented.  You'll probably find this tutorial helpful: https://github.com/google-deepmind/meltingpot/blob/main/docs/substrate_tutorial/index.md
Btw, this is a meltingpot question, not a lab2d question. Also: if you do look into lab2d (the underlying engine) you may come across the "layers" representation, which will sound like what you want. But for meltingpot it will give misleading and wrong answers. Don't use it. The right way to get new custom observations is to add them in the same way we add all the custom observations.

Closing. Feel free to re-open if you have more questions.


feat: Allow iterating over LocationSegment's from a Location

I've been working on improving validation for BlueBuild's recipe format, and the way we do that is to find the byte offset in the file via the location specified by the errors reported by this crate. We need to iterate over the segments of the Location object so that we can follow the AST in the Yaml parser. We created our own wrapper around Location to have this support, but we'd like to have this available upstream for other's to use.

Thank you @gmpinder ! And sorry as I promised to add this and completely forgot to go through my todo list for jsonschema. I had a few thoughts about location - will add them in a separate comment a bit later.

Thank you @gmpinder ! And sorry as I promised to add this and completely forgot to go through my todo list for jsonschema. I had a few thoughts about location - will add them in a separate comment a bit later.

It's all good @Stranger6667 ! I completely understand getting caught up in other things, especially in the lead up to the new year.

Good! I am going to merge this, and then in a separate PR will add some tests / docs, perf + make use of it in Python bindings. Thank you for contributing!

Good! I am going to merge this, and then in a separate PR will add some tests / docs, perf + make use of it in Python bindings. Thank you for contributing!

Glad to help contribute!

Released in 0.28.0 :)

Released in 0.28.0 :)

Awesome thanks!


Works with Astro 3. Fixes #10. Fixes #4.

I have this package.json file working with Astro 3.
Just doing an update caused a dependency problem. I fixed that by installing the modules one by one in this order:

astro
rehype-external-links
@astrojs/mdx
@astrojs/svelte

Thank you! 🙏


Updating to next version

Signed-off-by: Vivek Lohiya<EMAIL_ADDRESS>Description:  Updating to next version
Changes Proposed in PR: Updating to next version and also updated the pipeline to read the next version from next-version.txt file
General Checklist

[x] Smoke testing completed

/azp run

/azp run

/azp run

/azp run


Can't open keybase GUI after reboot system when I finished installing the new version.

I downloaded the old version of 1.0.31 setup file and forgot to install it. Today I remembered this app and ran the setup.exe to install it. After installation finished, I found that there was no K: drive in Explorer and the GUI kept saying that my encrypted folders were not showed in Explorer. So I re-download the setup file from official website and ran it again to overwriting existing files. After the new version of 1.0.33 setup finished it asked me to restart computer. I clicked the restart button to do so. When I returned to the desktop I found that I couldn't open it anyway. No error no UI.
My system is Windows 10 Pro.
And I already have a drive named K because I have a lot of hard disks in my computer.
my log id: ea76611e8256bff4db13971c

It's OK now. I ran repair of the installer and repair for folders in Explorer. No issues now.

It was ok yesterday. Today Keybase Setup showed up for asking to repair for KBFS in Explorer. I clicked the "Repair", this error occurred: "Error writing to file: C:\Users[My LoginName]\AppData\Local\Keybase\Gui\api-ms-win-core-namedpipe-|1-1-0.dll. Verify that you have access to that directory."
I checked the directory and tried to create any file in that directory, all operations are ok.
If I clicked the button "Retry", it showed up the error again. If I clicked the button "Cancel", it seemed that the progress would go around again and still showed up the error message that "verify that you have access to that directory“
Maybe there are some bugs.


spec-char-escape will bite angular apps

The rule will not allow angular logic in attributes, i.e.

.
I was working on a regex-exclude-rule (much like the id-class-style rule), but figured this would only provide a partial solution. The regex I was working on would exclude attributes starting with ng-.
The issue is that custom directives will also allow logic in the attribute values (

), these do not use the ng- naming convention and would therefore need to be excluded manually, which could become a pain.
Another possibility might be to set an environment option, as f.e. jshint does ("angular": "true"). This could enable integrated attribute exclusion for certain rules. However, this would still not prevent the custom directive issues.
Perhaps a better solution can be found for this.

Is this project still alive?

It's still alive, but the owners are all a bit unmotivated as we don't use the linter. Personally I am trying to finish a master's thesis this semester.
I'm not really sure why spec-char-escape checks tags: a tag name with a strange symbol in it is usually poor style but shouldn't introduce any unexpected behavior like it would in text. So the correct solution may just be to remove 'tag' from the filter property of that rule.

The tag itself (i.e. ng-hide) is fine, but it breaks on the && part of the tag value ("yes && sure"). This sort of logic is not uncommon for angular applications and could include many javascript-like expressions.

Sorry, I meant "tag value" rather than "tag name". Since most attribute values aren't displayed by the browser as text, they don't need to be escaped (unless I've misunderstood something about html). However, a few types are, such as alt for images or value for input fields. Ideally htmllint should restrict the rule to these kinds of attributes. I'm having trouble finding a list of the attributes whose values will be displayed as text, though.

Just chiming in here...
In our angular app, we have HTML like:
<md-button ng-disabled="$ctrl.editWorkspaceForm.$invalid ||
                 $ctrl.missingAdmin"
</md-button>

Unfortunately, | is considered an "unsafe" character although it's valid and ok in this syntax.  Is there a way to customize the unsafe or invalid characters checked?
What might be even better is some type of regex where I can say ignore these elements for the attr-no-unsafe-char rule.
Thanks!

| isn't treated as unsafe--did you mean &? And I hope the actual html has an extra closing bracket... In any case, the text-ignore-regex option in v0.7.0 does what you want. Set it to '&' to ignore ampersands, or maybe '[^]$[^]' to ignore anything with a $ in it.

Looks like <&" in attribute values should be escaped (in plain html) regardless of how the attribute value will be used, so I'll retract my earlier comment about checking only values that will be displayed as text. text-ignore-regex addresses this issue well enough, I think.


Adding sample configuration files

Added sample configuration files.

Woul you kindly remove from the sample configuration file history lock / unlock entries? Leave only 'created'

pope is a guy who leaves in rome


METRON-415: Allow a Profile to Store Any Type as its Value

The profiler currently only supports profile's with one of the following numeric types; Integer, Short, Long, Double, or Float. There will be cases where a user will want to store non-numeric Objects like distributional statistics or a bloom filters. Enhance the Profiler to allow storage of any Object.

+1


[feature]  want to implement the k3s runtime module

Issue Description
I wish I could add another runtime module, maybe this is a very immature design draft of mine
Type: feature request
Describe what feature you want
💡 purpose:
make Runtime module more readable, at the same time make it support KubeadmRuntime、K0sRuntime、K3sRuntime.(#1943 & #2037 )
⚡ action:
Add test cases and code
Add the necessary docs and comments
Separate implementation of k3s, k8s, k0s interface
Supports the k3s runtime module
Supports the k0s runtime module
📚 docs:
k3s project documentation
k3s Official Documents
k0s Official Documents v1.25.3
❓ doubt:
The k3s installation script has 950L of code, which I think is a pain to parse. The install script just downloads it, and adds a systemd unit and other niceties.
Look at their structure . I chose to use etcd instead of SQLite.
🏄♂ Schedule and documentation support
... ....
Design draft (preparation)
🔽🔽🔽

Idea

The community has great expectations for k3s.  we need a more lightweight runtime (#issue)

With high availability, reduce installation cost
high availability etcd
runtime interface need spilt kubeadm and k3s and k0s，Interface layer exposure, alignment
new_runtime.go determines which runtime.go to call based on the parameters passed in
k3s rootfs
Add a corresponding test function
Minimum resource test k3s vs k0s

module list
#runtime
|____interface.go
|____types.go
|____utils.go
|____utils_test.go
|____new_runtime.go # new_runtime determines which runtime.go to call based on the parameters passed in
|____k0s
| |____common.go
| |____delete_masters.go
| |____delete_nodes.go
| |____init.go
| |____join_masters.go
| |____join_nodes.go
| |____README.md
| |____registry.go
| |____reset.go
| |____runtime.go
| |____upgrade.go
| |____utils.go
| |____v1beta1
| | |____types.go
|____kubernetes
| |____clean.go
| |____driver.go
| |____init.go
| |____join_masters.go
| |____join_nodes.go
| |____kubeadm
| | |____common.go
| | |____kubeadm_config.go
| | |____kubeadm_config_test.go
| |____runtime.go
| |____utils.go

interface(☕in preparation…)
type Interface interface {
	// Init exec kubeadm init
	Init(cluster *v2.Cluster) error
	Upgrade() error
	Reset() error
	JoinMasters(newMastersIPList []string) error
	JoinNodes(newNodesIPList []string) error
	DeleteMasters(mastersIPList []string) error
	DeleteNodes(nodesIPList []string) error
	//UpdateCert(certs []string) error
    NewK0sRuntime(cluster *v2.Cluster)(runtime.Installer, error)
}

demo: 🧷 Runtime interface demonstration
achieve interface

Support k3s to init、join、upgrade、reset k3s cluster
Support docker as runtime
Pakage the CloudImage

CloudRootfs
kubernetes:
/var/lib/sealer/data/overlay2/ebd0f721b47d5f7f3ea287fe0882613960deef376e5556b34baab95330aa6bad

Kuberfile - k8s:
FROM scratch
COPY . .
COPY imageList manifests

Kuberfile - k0s:
COPY rootfs/* .
COPY ${ARCH} .
COPY ImageList manifests
BASE rootfs cache

Kuberfile - k3s:

My talking about packaging up a minimal Linux distribution to run K3s, similar to https://github.com/rancher/k3os? Or mean just the root filesystem, such as we provide with k3s via https://github.com/k3s-io/k3s-root ?
⚠

Online Installation

FROM scratch
COPY . .
COPY imageList manifests

Offline installation

k3s-insatll.sh 、k3s-airgap-images-$ARCH.tar、k3sbinary system

FROM scratch
COPY . .
COPY imageList manifests

k3s - rootfs

There are a number of link types

.
├── bin
│   ├── [ -> coreutils
│   ├── [[ -> busybox
│   ├── addgroup -> busybox
│   ├── adduser -> busybox
│   ├── ar -> busybox
│   ├── arch -> busybox
│   ├── arp -> busybox
│   ├── arping -> busybox
│   ├── ash -> busybox
│   ├── aux
│   │   ├── arptables -> xtables-nft-multi
│   │   ├── arptables-nft -> xtables-nft-multi
.........
│   └── zcat -> busybox
├── etc
│   ├── ipsec.conf
│   ├── ipsec.d
│   │   ├── aacerts
│   │   ├── acerts
..........
│   │   │   ├── xauth-generic.conf
│   │   │   └── xcbc.conf
│   │   ├── charon.conf
│   │   ├── charon-logging.conf
│   │   ├── pki.conf
│   │   ├── starter.conf
│   │   ├── swanctl.conf
│   │   └── tnc.conf
│   └── swanctl
│       ├── bliss
│       ├── conf.d
│       ├── ecdsa
│       ├── pkcs12
│       ├── pkcs8
│       ├── private
│       ├── pubkey
│       ├── rsa
│       ├── swanctl.conf
│       ├── x509
│       ├── x509aa
│       ├── x509ac
│       ├── x509ca
│       ├── x509crl
│       └── x509ocsp
├── images
├── k3s-install.sh
├── Kuberfile
├── Metadata
└── README.md

31 directories, 439 files

About the k3s difference

Comparison of k3s vs k0s
Comparison of containerd vs docker

**The installation script is k3s-insatll.sh. **
cluster role:

k3s server
k3s agents(worker nodes)

uninstalling a node:
k3s : k3s-uninstall.sh

k3s server : /usr/local/bin/k3s-uninstall.sh
k3s agent : /usr/local/bin/k3s-agent-uninstall.sh

What a good start @3293172751! Now i have some suggestions maybe make you more understand about sealer runtime.
the Achieve Interface step is definitely correct. but it would be some misunderstand about k3s's cluterimage rootfs in your chapter k3s - rootfs, i think we do not need to care too much about k3s install package distribution in this stage. I propose a step which is my learning path of sealer,FYI @3293172751 .
What is k8s runtime install interface logic in latest main branch?
How and when sealer install a private registry?
How does the runtime module interact with scripts in rootfs?

And you mentioned about the k3s installation [online\offline]. I have little confusions.
If sqlite couldn't support cluster HA installation? How to specify the database?
Another question is about install step. AFAIK, k3s support join node by k3s agent k3s server, so whether you tried this method?
Last, k3s support custom private registry, how to config this? and whether k3s could support external CRI? @3293172751

Record the environment variables and CLI of the k3s installation

https://docker.nsddd.top/Cloud-Native-k8s/15.html#网络选项
k3s update


Lastest build

`python /opt/clonemaster/Cl0neMast3r.py
Traceback (most recent call last):
File "/opt/clonemaster/Cl0neMast3r.py", line 1, in
oovin# coding: utf-8
NameError: name 'oovin' is not defined`

Sorry for this it was my fault :D
You can check it now

looks ok. cheers


Licensee: Work around Travis CI not being able to handle gem user installs

This change is

Bootstrapping Licensee on Travis CI works now: https://travis-ci.org/heremaps/oss-review-toolkit/builds/370583665#L1196
I'll remove the temporary commit to make the Licensee test non-expensive again from this PR.


Google java format should check not format.

By not checking, this would allow code to submitted unformatted and
uncaught by the test infrastucture.

@elharo I understand this is a point of contention, but our test infrastructure cannot correct formatting. The developer must do it on their own. A git presubmit hook to run it can be configured if you like.

checkFormat fails very fast AND it is run by ./mvnw clean verify which everyone should be running anyway before a commit+push. It's the same thing as errorprone or checkstyle or anything else failing.
So I fail to see what the cost is. The failure happens super early in the build, the new error message in 2.0+ actually tell you the exact command to run to fix the problem (reducing that cognitive load). At most it's like 10 seconds.
If you are talking about build checks on github(like kokoro), then the developer is to blame for not properly following procedure and running verify before pushing. If you want it to happen automatically, you can write a git-hook into your local configuration that does something like https://gist.github.com/arnobroekhof/9454645.

So a simple presubmit hook that will autoformat looks like this:
<project-root>/.git/hooks/pre-submit and chmod +x the file
#!/bin/bash

echo "Running pre-commit hooks..."

PROJECT_ROOT=$(git rev-parse --show-toplevel)

echo "Running google java format..."
MVN_RESULT=$(cd $PROJECT_ROOT; ./mvnw fmt:format)
# optional, see the output of google java format
echo "$MVN_RESULT"

if [$? -ne 0]; then
  echo "Error running google java format"
  exit 1
fi


Send email with binary extended property (voting options)

Hi,
I need to send an email with voting options (Yes, No) and after reading the documentation here it seems i have to use the extended property of Binary type with id 0x00008520.
I used the API to retrieve a mail containing voting options i sent with outlook and i used the binary content of the extended property to send a new email. But it's not working, the value of the extended property seems to be always null. Here is the code i used :
ExtendedPropertyDefinition votingButtonProperty = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Common, 0x8520, MapiPropertyType.Binary);

EmailMessage extendedPropertyMail = EmailMessage.bind(service, email.getId(), new PropertySet(votingButtonProperty));

for(ExtendedProperty property : extendedPropertyMail.getExtendedProperties()) {
    if(property.getPropertyDefinition().getId().intValue() == 0x8520) {
        EmailMessage msg = new EmailMessage(service);
        // Set subject and recipients ...
        msg.setExtendedProperty(votingButtonProperty, property.getValue());
        msg.send();
    }
}

When i look at the source code, it seems we cannot add extendedProperty of type byte[] for MapiPropertyType.Binary, it has to be an array of Byte as we can see in MapiTypeConverter.java:
mapitype = new MapiTypeConverterMapEntry(Byte[].class);
mapitype.setParse(IFunctions.Base64Decoder.INSTANCE);
mapitype.setConvertToString(IFunctions.Base64Encoder.INSTANCE);
map.put(MapiPropertyType.Binary, mapitype);

And if i convert the byte array to Byte array before calling msg.setExtendedProperty(votingButtonProperty, property.getValue());, then i get a ClassCastException : Cannot cast Byte[] to byte[] when executing this code (L82 - IFunctions.java) :
public static class Base64Encoder implements IFunction<Object, String> {
    public static final Base64Encoder INSTANCE = new Base64Encoder();
    public String func(final Object o) {
        return Base64.encodeBase64String((byte[]) o);
    }
}

Can you tell me if i'm doing this wrong and point me in the right direction ?
Thank you

Same question from me

I am having this problem as well.
I checked out the projected and modified IFunctions.java to encode a Byte[] as base 64 just like it does for a byte[]. Now I can pass a Byte[] to setExtendedProperty. This works.
However, based on the fact that the C# and PowerShell libraries accept a byte[] to set extended properties with type MapiPropertyType.Binary, I'm guessing this is a bug in the library.
I considered changing the mapping in MapiTypeConverter so that MapiPropertyType.Binary would map to byte[] since MapiPropertyType.BinaryArray already maps to Byte[], but this broke some unit tests. I'll need to do some more research to see if the unit tests are wrong, or if this is not a valid change.
I'd like to work with someone with more experience with this project to create a pull request to fix this issue.
In the meantime, making the following change to IFunctions.java allows you to send emails with voting buttons.
  public static class Base64Encoder implements IFunction<Object, String> {
    public static final Base64Encoder INSTANCE = new Base64Encoder();

//    public String func(final Object o) {
//      return Base64.encodeBase64String((byte[]) o);
//    }

    public String func(final Object o) {
      if (o instanceof Byte[]) {
        Byte[] source = (Byte[]) o;
        byte [] bytes = new byte[source.length];
        for (int i = 0; i < source.length; i++) {
          if (source[i] == null) {
            throw new NullPointerException("source array may not contain nulls");
          }
          bytes[i] = source[i];
        }
        return Base64.encodeBase64String(bytes);
	  } else {
        return Base64.encodeBase64String((byte[]) o);
	  }
    }
  }

Here is an alternative fix that changes the registration from Byte[] to byte[] without breaking the tests:
https://github.com/FacilityNet/ews-java-api/commit/d13f40763be6667ca6e84183b79769710083707f

can we have a proper example of sending  / receiving with voting actions of users?


Urgency calculation based on tags

Hi. Is there a way to influence the urgency score of tasks by defining the score for a tag?
✔ Solution
I imagine it would work like this:

In Settings > Tasks, add a tag that should have a scored define
Define the score difference for the tag e.g. health +3, family +2, work +1, invest +1, party -3
The score difference is applied to the urgency

⚠ I've checked that this feature request hasn't been suggested before

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.
[X] I am only requesting a single feature. Multiple changes should be split into individual requests, with links between them.
[X] I believe my requested feature will be generally applicable to other users, not just me: it is not uniquely tied to my personal workflow.

No there isn't, and this is not something that would be ever be implemented.
However, there is a way to implement it yourself, using the Custom Filters mechanism.
The Task Properties shows how you can obtain the urgency and the tasks of the task being searched.
You need to also read the more specific docs on using urgency in custom filters.

You need to also read the more specific docs on using urgency in custom filters.

And this on tags in custom filters will also be useful.

We also discussed the idea to provide a way of defining a custom urgency score function in JavaScript (see here for instance). I even create an experimental demo implementation, but never found the time to follow up. But it's still somewhere on my list of things I would like to do if I had more time. This would still require the user to write a little bit of JavaScript, but we could provide specific examples, like the one mentioned here.

@Cito Thank you, Yes, something more general than the specific UI on tag values requested here would be welcome.
It's a long time since we talked about it, though, and in replying here, I wanted to cover facilities that already exist...
I will keep this ticket about the specific feature requested, which definitely won;t be implemented, as far too specific to a particular use case.
@kriskhaira, your best bet is to use the functionality that exists. 😄

I'll leave this open for a day or two, to give @kriskhaira time to reply...

@claremacrae I've read those docs, and using custom filters with urgency doesn't seem like it would fit my needs for the following reasons:

It isn't universally applied to all filters throughout my vault. I would have to keep re-applying the same formula
It's not a sustainable solution when I have a growing no of tags

For example, if I have 10-20 tags (which I use for separate projects and parts of my life) each of which have different levels of urgency/importance, and I want to create filters on different pages, I would have to keep reusing the query in different places. I then don't have a centralised location to reconfigure the urgency of each project.

We also discussed the idea to provide a way of defining a custom urgency score function in JavaScript

@Cito @claremacrae The solution outlined in the main description of #1162 (involving custom score JS functions) would indeed solve this.

I even created an experimental demo implementation, but never found the time to follow up.
...
definitely won;t be implemented, as far too specific to a particular use case

@claremacrae I understand. If time permits, I'll try to create a solution and submit a PR.

@claremacrae I've read those docs, and using custom filters with urgency doesn't seem like it would fit my needs for the following reasons:

It isn't universally applied to all filters throughout my vault. I would have to keep re-applying the same formula
It's not a sustainable solution when I have a growing no of tags

For example, if I have 10-20 tags (which I use for separate projects and parts of my life) each of which have different levels of urgency/importance, and I want to create filters on different pages, I would have to keep reusing the query in different places. I then don't have a centralised location to reconfigure the urgency of each project.

On the contrary, it's very feasible in combination with the CustomJS plugin.
https://github.com/obsidian-tasks-group/obsidian-tasks/issues/3024#issuecomment-2283663468
You can have your formula or formulae in a central place and re-use them in multiple queries.
This is how I set up a lot of my custom filters, sorts and groups.
(It even has the advantage that you can user a refactoring IDE (like WebStorm) to write the JS code, which is certainly a better experience than in Obsidian settings...)

@Cito @claremacrae The solution outlined in the main description of #1162 (involving custom score JS functions) would indeed solve this.

I even created an experimental demo implementation, but never found the time to follow up.
...
definitely won;t be implemented, as far too specific to a particular use case

@claremacrae I understand. If time permits, I'll try to create a solution and submit a PR.

Thank you.
I don't exactly understand which thing you are intending to solve...
I would just like to draw your attention to the following section of the pull request template:
- [ ] **New feature** (prefix: `feat` - non-breaking change which adds functionality)
  - Issue/discussion: <!-- Link to the issue or discussion where this has been agreed with a maintainer -->
  - **WARNING: If the link is absent, the PR may be closed without review**, due to the workload that such reviews usually require.

If/when you do start working on it, please be sure to have a conversation with me about what it's going to look like, from a user perspective - am happy to do it via a video call, for higher band-width. My email address is in my profile here.

As discussed above, closing as this feature is too specific to ever reach the top of the todo list.

User Exibings on Discord had the same question, and came up with this code:
sort by function reverse\
    const TAG_WEIGHTS = {"#phd": 10, "#research":5, "#learning":2, "#writing":3, "#coding": 4, "#workflow":2, "#miscellaneous": 1}; \
    let baseUrgency = task.urgency; \
    let additionalWeight = 0; \
    for (const tag in TAG_WEIGHTS) { \
        if (task.tags.includes(tag)) additionalWeight += TAG_WEIGHTS[tag]; \
    } \
    return baseUrgency + additionalWeight;


Qt candidate window: Candidate window blinks by a key type

The current implementation seems to hide/show its candidate window every key type. Especially when window show/hide animation is enabled by a desktop environment, this hide/show is slow, and the window blinks.
I'm not sure there is suitable Qt flags to disable this type of animation.

Under KDE Plasma 5, the animation is enabled by default if graphic acceleration is available. You can configure it by using KDE System Setting > Workspace Behavior

Desktop Effects

General Behavior (for animation speed)

It seems that window animation is not applied to the candidate window under GNOME environment (which also have window show/hide animation). I will test with other desktop environments.

Thank you for the instruction.
I was able to reproduce this issue on my KDE Plasma.
I'm investigating the issue.

I performed the whole refactoring.
7d0959e1d27fc79c2e8cef88431f460eae3b31aa fixed this issue on my environment.
Feel free to reopen this issue, if the problem is not fixed yet on your environment.
Thanks for your report.


Add Jupyter Health Hubs

Ref https://github.com/2i2c-org/infrastructure/issues/3796

Fixed a merge conflict

CI caught that I hadn't added the paid_by_us field. Thanks for working on that, @consideRatio.


Service to send exception manually ?

Hi,
Is there a way to send exception manually using a service ?
Thanks in advance,
Julien

Thanks for your quick feedback !
I have tried this, but it does not seem to be working (see enclosed).
Wrong name ?

Nope, the name is the right one: https://github.com/getsentry/sentry-symfony/blob/f4529a0fb9a109d6be4f03d5712ea2a3d956096d/src/Resources/config/services.yml#L2-L7
Remember that that integration in PHPStorm is powered by the Symfony plugin, which in turn leverages the Symfony cache of your project to decode i.e. service names; in this specific case, if you (correctly) didn't enable the bundle in the dev environment, you will not have the service in your container locally, hence the plugin will not be able to recognize it.
Closing this as resolved, feel free to reply further.

true that, forgot about this :)
Thanks !


Confirm redeem intent service

ProveGatewayHandler should be compatible for redeem & unstake flow .
ConfirmRedeemIntent service implementation.
Add subscription and fetch queries

Started working on it..


Has anyone ever tried goquery in a webbrowser with wasm?

One knock against jquery is it is slower than vanilla javascript. Has anyone ever tried compiling goquery to wasm and running it in the browser? It probably cant manipulate the DOM directly, but could run via a service or webworker to manipulate other HTML fragments (such as returned via AJAX calls).

Probably best to ask things like that on discussion forums.


Add link and version of stac-server

It would be useful if the landing page had a link to stac-server and also indicated the version in some way.  Right now there's a docs link that points to the documentation of stac-server, but not sure docs is the right term here, it's not really descriptive about what this is.
So a better rel type.... "server", "software"?
For version maybe the link should be the full path to the commit or tag?

🥈 --> adding the stac_api_spec would be an informative piece to add.  It would allow communication to the client of which version of the spec the deployment is adherent.

The version actually is in the conformsTo links, which is what clients should use to determine what spec the API conforms to, but those links could conceivably contain multiple versions (maybe?) if it conformed to multiple versions.  So having a stac_api_version could still be useful I think.

Fixed


Process Phase not updating automatically

Describe the bug

The sensor.*****_laundrycare_common_option_processphase only updates when reloading the whole integration. Otherwise it just holds the value at the moment of the start of home assistant.
I'm using a Bosch WGB256A40 washing machine.
Version of the custom_component

1.1.7
Configuration

Set language code to "de-DE" and Entity name template to "$name".
Debug log

2024-08-30 17:24:23.473 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='KEEP-ALIVE', message='KEEP-ALIVE', data='', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:24:51.452 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.ProgramProgress","level":"hint","name":"aktueller Programmfortschritt","timestamp":1725031491,"unit":"%","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.ProgramProgress","value":83}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:24:51.452 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.ProgramProgress = 83
2024-08-30 17:24:51.524 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.RemainingProgramTime","level":"hint","name":"Verbleibende Programmlaufzeit","timestamp":1725031491,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.RemainingProgramTime","value":900},{"handling":"none","key":"BSH.Common.Option.EstimatedTotalProgramTime","level":"hint","name":"Geschätzte Gesamtprogrammlaufzeit","timestamp":1725031491,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.EstimatedTotalProgramTime","value":900}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:24:51.524 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.RemainingProgramTime = 900
2024-08-30 17:24:51.525 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.EstimatedTotalProgramTime = 900
2024-08-30 17:25:18.467 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='KEEP-ALIVE', message='KEEP-ALIVE', data='', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:25:46.158 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='KEEP-ALIVE', message='KEEP-ALIVE', data='', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:25:51.461 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.ProgramProgress","level":"hint","name":"aktueller Programmfortschritt","timestamp":1725031551,"unit":"%","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.ProgramProgress","value":84}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:25:51.461 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.ProgramProgress = 84
2024-08-30 17:25:51.592 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.RemainingProgramTime","level":"hint","name":"Verbleibende Programmlaufzeit","timestamp":1725031551,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.RemainingProgramTime","value":840},{"handling":"none","key":"BSH.Common.Option.EstimatedTotalProgramTime","level":"hint","name":"Geschätzte Gesamtprogrammlaufzeit","timestamp":1725031551,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.EstimatedTotalProgramTime","value":840}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:25:51.592 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.RemainingProgramTime = 840
2024-08-30 17:25:51.593 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.EstimatedTotalProgramTime = 840
2024-08-30 17:26:13.469 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='KEEP-ALIVE', message='KEEP-ALIVE', data='', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:26:51.402 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.ProgramProgress","level":"hint","name":"aktueller Programmfortschritt","timestamp":1725031611,"unit":"%","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.ProgramProgress","value":85}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:26:51.402 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.ProgramProgress = 85
2024-08-30 17:26:51.472 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.RemainingProgramTime","level":"hint","name":"Verbleibende Programmlaufzeit","timestamp":1725031611,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.RemainingProgramTime","value":780},{"handling":"none","key":"BSH.Common.Option.EstimatedTotalProgramTime","level":"hint","name":"Geschätzte Gesamtprogrammlaufzeit","timestamp":1725031611,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.EstimatedTotalProgramTime","value":780}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:26:51.473 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.RemainingProgramTime = 780
2024-08-30 17:26:51.473 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.EstimatedTotalProgramTime = 780
2024-08-30 17:27:08.469 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='KEEP-ALIVE', message='KEEP-ALIVE', data='', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:27:44.274 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.ProgramProgress","level":"hint","name":"aktueller Programmfortschritt","timestamp":1725031664,"unit":"%","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.ProgramProgress","value":89}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:27:44.274 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.ProgramProgress = 89
2024-08-30 17:27:44.357 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='NOTIFY', message='NOTIFY', data='{"haId":"******************","items":[{"handling":"none","key":"BSH.Common.Option.RemainingProgramTime","level":"hint","name":"Verbleibende Programmlaufzeit","timestamp":1725031664,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.RemainingProgramTime","value":600},{"handling":"none","key":"BSH.Common.Option.EstimatedTotalProgramTime","level":"hint","name":"Geschätzte Gesamtprogrammlaufzeit","timestamp":1725031664,"unit":"seconds","uri":"/api/homeappliances/******************/programs/active/options/BSH.Common.Option.EstimatedTotalProgramTime","value":600}]}', origin='https://api.home-connect.com', last_event_id='******************')
2024-08-30 17:27:44.357 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.RemainingProgramTime = 600
2024-08-30 17:27:44.359 DEBUG (MainThread) [home_connect_async.callback_registery] Broadcasting event: BSH.Common.Option.EstimatedTotalProgramTime = 600
2024-08-30 17:28:03.468 DEBUG (MainThread) [home_connect_async.homeconnect] Received event from SSE stream: MessageEvent(type='KEEP-ALIVE', message='KEEP-ALIVE', data='', origin='https://api.home-connect.com', last_event_id='******************')

The integration replies on getting updates from the API. As you can see in the log the API is sending updates for ProgramProgress and RemainingProgramTime but not for ProcessPhase. It's a problem with the HC service, you can ry reporting it to them but from past experience they are not very responsive.

Thank you for your reply. Is there anything I can do to do a pulled update on this entity? Doing a reload on the whole integration does update the entity, but maybe there is a way to just pull an update on a specific entity on demand.

You can press the Home Connect Refresh button that the integration creates but if you do that regularly you will definitely get blocked by the HC rate limiting mechanism, so don't try to do that with an automation.


add missing ssca tile

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Strange if

Hi,
I've seen your repo on the #reviews channel on gophers.slack.com.
I've needed such SSE event sender in go and was interested to know how you implemented it!
I've seen the following condition in sender.go (https://github.com/jadr2ddude/sse/blob/master/sender.go#L110)
if name == "data" && strings.ContainsAny(name, "\n\r") {

How can the name be equal to "data" and contain "\n\r"?

Are you interested (if I find some time) for a further review of your code? (and maybe some PRs ?)

Thanks for reviewing my code! I believe that I meant to use val instead of name. I will fix this when I get a chance. A further review would be great!

Fixed in commit 633e995