Connections 7 errors

Hello Team,
We installed Connections 7.0 using Ansible on RHEL 8, but when we tried to access the Connections URL, we received the error "Check that the Common EAR is installed and running correctly." We then checked the Connections applications, and some were not running. We tried to start them manually, but nothing worked. So we finally checked the connection logs and discovered the following error logs in SystemOut.log on the server.
Error:1
8/30/21 15:52:16:600 AST] 000000dd HighwayClient W com.ibm.connections.highway.client.impl.db.HighwayClientImpl getSettingFromHighwayService CLFRO1025E: Cannot access back end database data, required bean is not available
Error2:
[8/30/21 15:52:47:765 AST] 000000c2 SystemErr     R Caused by: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=oracle/jdbc/pool/OracleConnectionPoolDataSource, offset=6
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.lang.ClassLoader.defineClassImpl(Native Method)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.lang.ClassLoader.defineClassInternal(ClassLoader.java:398)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.lang.ClassLoader.defineClass(ClassLoader.java:359)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:154)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.net.URLClassLoader.defineClass(URLClassLoader.java:730)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.net.URLClassLoader.access$400(URLClassLoader.java:96)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1187)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.security.AccessController.doPrivileged(AccessController.java:770)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.net.URLClassLoader.findClass(URLClassLoader.java:605)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:244)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.lang.ClassLoader.loadClassHelper(ClassLoader.java:944)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.lang.ClassLoader.loadClass(ClassLoader.java:889)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:135)
[8/30/21 15:52:47:766 AST] 000000c2 SystemErr     R     at java.lang.ClassLoader.loadClass(ClassLoader.java:872)
[8/30/21 15:52:47:767 AST] 000000c2 SystemErr     R     at com.ibm.ws.rsadapter.DSConfigHelper.loadClass(DSConfigHelper.java:1526)
[8/30/21 15:52:47:767 AST] 000000c2 SystemErr     R     at com.ibm.ws.rsadapter.DSConfigHelper.createDataSource(DSConfigHelper.java:745)
[8/30/21 15:52:47:767 AST] 000000c2 SystemErr     R     at com.ibm.ws.rsadapter.spi.WSRdbDataSource.createNewDataSource(WSRdbDataSource.java:3029)
[8/30/21 15:52:47:767 AST] 000000c2 SystemErr     R     at com.ibm.ws.rsadapter.spi.WSRdbDataSource.(WSRdbDataSource.java:1358)
[8/30/21 15:52:47:767 AST] 000000c2 SystemErr     R     at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.setDataSourceProperties(WSManagedConnectionFactoryImpl.java:2679)
Thanks
PK

It seems your databases are not working correctly. Have you checked if Websphere can access the databases? (Open ISC and check in Resources > Datasource > Test connection)
There seems to be a problem with the JDK the JVMCFRE003 is a problem that the oracle driver is built with a different java version.
Which Websphere Version and Fixpack do you use?
Last point: RHEL 8 is officially not supported.

It seems your databases are not working correctly. Have you checked if Websphere can access the databases? (Open ISC and check in Resources > Datasource > Test connection)
There seems to be a problem with the JDK the JVMCFRE003 is a problem that the oracle driver is built with a different java version.
Which Websphere Version and Fixpack do you use?
Last point: RHEL 8 is officially not supported.

It seems your databases are not working correctly. Have you checked if Websphere can access the databases? (Open ISC and check in Resources > Datasource > Test connection)
There seems to be a problem with the JDK the JVMCFRE003 is a problem that the oracle driver is built with a different java version.
Which Websphere Version and Fixpack do you use?
Last point: RHEL 8 is officially not supported.

Hello Christoph,
Thank you for your assistance.
The WebSphere and Java details are listed below.
Name                  IBM WebSphere Application Server Network Deployment
Version               <IP_ADDRESS>
Build Level           cf192103.03
Name                  IBM WebSphere SDK Java Technology Edition (Optional)
Version               <IP_ADDRESS>
Build Level           cf182034.03
We have an Oracle 19c DB server with the JAR files listed below.
ojdbc8.jar
xdb.jar
Thanks
PK

Please check if Websphere ISC can access the database

Hello Christoph,
Thank you for your assistance. I have checked the database connection test using WebSphere but got the following error.
The test connection operation failed for data source metrics on server dmgr at node devapps-dmgr with the following exception: java.sql.SQLException: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=oracle/jdbc/pool/OracleConnectionPoolDataSource, offset=6. View JVM logs for further details.
The WebSphere and Java details are listed below.
Name IBM WebSphere Application Server Network Deployment
Version <IP_ADDRESS>
Build Level cf192103.03
Name IBM WebSphere SDK Java Technology Edition (Optional)
Version <IP_ADDRESS>
Build Level cf182034.03
We have an Oracle 19c DB server with the JAR files listed below.
ojdbc8.jar
xdb.jar
Thanks
PK

Please check if Websphere ISC can access the database

Hello Christoph,
Thank you for your assistance. I have checked the database connection test using WebSphere but got the following error.
The test connection operation failed for data source metrics on server dmgr at node devapps-dmgr with the following exception: java.sql.SQLException: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=oracle/jdbc/pool/OracleConnectionPoolDataSource, offset=6. View JVM logs for further details.
The WebSphere and Java details are listed below.
Name IBM WebSphere Application Server Network Deployment
Version <IP_ADDRESS>
Build Level cf192103.03
Name IBM WebSphere SDK Java Technology Edition (Optional)
Version <IP_ADDRESS>
Build Level cf182034.03
We have an Oracle 19c DB server with the JAR files listed below.
ojdbc8.jar
xdb.jar
What could be the problem?
Thanks
PK

Hello Christoph,
Thank you for your assistance. I have checked the database connection test using WebSphere but got the following error.
The test connection operation failed for data source metrics on server dmgr at node devapps-dmgr with the following exception: java.sql.SQLException: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=oracle/jdbc/pool/OracleConnectionPoolDataSource, offset=6. View JVM logs for further details.
The WebSphere and Java details are listed below.
Name IBM WebSphere Application Server Network Deployment
Version <IP_ADDRESS>
Build Level cf192103.03
Name IBM WebSphere SDK Java Technology Edition (Optional)
Version <IP_ADDRESS>
Build Level cf182034.03
We have an Oracle 19c DB server with the JAR files listed below.
ojdbc8.jar
xdb.jar
What could be the problem?
Thanks
PK

https://bfy.tw/RYoy
You need some WebSphere knowledge to dig into this. This project will not work if you never had contact with WebSphere or Connections.

When you configure metrics, you will be using elastic search (component pack) not the database. The use of DB to do metrics is no longer supported.


Mono cleanup fixes

Make sure gchandle bindings are released before cleanup.
Fix thread checking to queue instances for deletion (Thread::get_caller_id() didn't seem to work for mono's finalizer thread).

Yes, I read for a quick glance at what is happening in the commits :P

I mean branch names! :smile:

Take a look here, on the merges https://github.com/godotengine/godot/commits/master


what should I put for the config option "det_dir", I go thorugh the code and I have no idea what it is trying to do

Our work focuses on addressing non-linear motion in MOT. Therefore, we directly utilize the detection results from YOLOX to avoid wasting time by rerunning detection for each inference.
The "det_dir" here refers to the path containing the detection results, formatted as shown in here.

Our work focuses on addressing non-linear motion in MOT. Therefore, we directly utilize the detection results from YOLOX to avoid wasting time by rerunning detection for each inference.
The "det_dir" here refers to the path containing the detection results, formatted as shown in here.

请问reid部分的目录也是先训练模型，再生成ReID embeddings吗？
Hello, may I ask if the reid part is to train the model and convert the inference results into embeddings (ReID embeddings)?


Add source_cluster and destination_cluster in access logs

Bug description
Add source_cluster and destination_cluster in access logs
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[X ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
Easily know source and destination cluster for multicluster scenarios in access logs in stackdriver

This sounds good. The only catch is we need to define cluster behavior for VMs.


Connection reset by server

Error: TX Submission Failed! connection reset by server
After claiming and inputting wallet signature, says signature accepted then got the above error

Please more info, is not debuggable

I think this was same issue with AWS Gateway, I will try to replicate

Still Same error - it feels like something is out of sync. shows available rewards to claim, but I think I already claimed these rewards in past because the same amounts and tokens show in my rewards history
Error TX Submission Failed! connection reset by server

Are you trying to claim tMin Tokens in the group? This is not possible the script has not enough on it anymore. If so please deselect tMin and claim the rest.
Can you please make some screenshots and copy here (just copy paste them into the text box github is smart :) )
Helpful is always:

the rewards overview
the signature window from eternl / flint / gero (Nami is useless to little info)
any extra infos you think are also helpful e.g. screenshot of the browser console

Can oyu show me the lower part of the signature window with the tokens ?

I just claimed the same amount of the same token with success

Asset wasn't correctly added when a policy already existed on the output value, should be fixed now please retest and if it works close the ticket.
Thank you!

TX Successfully transmitted!
2cf43104f38e69d14844a10ff6d6e50a23ec90465f0bed549896489ce425dc49


Add requirement for the ExpandedDNSConfig feature

This PR adds requirement for the ExpandedDNSConfig feature.
Maybe we can invent a new way to handle feature dependencies someday but I think adding docs is the best that I can do for this feature.
refs:

https://github.com/kubernetes/kubernetes/issues/104352
https://github.com/kubernetes/enhancements/pull/2884
https://github.com/kubernetes/kubernetes/issues/107190

/cc @thockin @aojea

/lgtm

/assign @pi-victor

let me assign another Tim
/assign @sftim


Java properties are not passed to forked task

With the introduction of ForkingExecutor, I started noticing some errors on BQ flo tasks.
It seems to be related to the fact that I am running the flo process with -DGOOGLE_CLOUD_PROJECT=my-gcp-project and that system property definition is not passed to the the forked task subprocess.
To fix that would require some changes on ForkingExecutor, I guess something related to this.

I remember writing the code to propagate properties but maybe it got lost in a rebase. Will fix.

Found it: https://github.com/spotify/flo/pull/105

Great!
Still, there can be the case of System properties being configured outside of the command line e.g. with System.getProperties().setProperty(). Maybe we don't have to fix for that, but at least acknowledge the limitation in the documentation. WDYT?

Maybe system properties and env vars is something that should be configurable per task? Or maybe it’s something that could/should be doable using a task context.


MAINTAINED FORK: K-and-R/easy_captcha (gem kandr-easy_captcha)

I have forked this and am working to improve its code quality and test coverage, as well as address some of the issues.
https://github.com/K-and-R/easy_captcha
https://rubygems.org/gems/kandr-easy_captcha
As my fork is a fork, I cannot create issues there. I wish to keep it as a connected fork rather than delete the fork and recreate it as a separately cloned repo.
Should anyone have any changes that are needed, please feel free to tag me or message directly.

Great idea! Previously I created a fork with Rails5 support link. But unfortunately, the original maintainer of this gem is not involved anymore.

Yes, I went through and merged many of the outstanding pull requests here. I merged your PR here: https://github.com/K-and-R/easy_captcha/commit/664bac20b1c0dcc0a3a41a63b15fd5229823bbe5

Awesome! Do you have troubles with rmagick version 4.2.2? Today I merged little improvement from @BBenni

I don't recall specifically having trouble with RMagick. I did merge in quite a few different things and made several update/changes of my own. Tests are passing and I've been working on adding more.

Yes they problem does not arise in the K-and-R fork as it uses a different implementation at the method in question than your fork @kopylovvlad .
In general: Thanks a lot for your work @kopylovvlad and @karlwilbur!

K-and-R fork works very fine for me as is, except if I use caching.
If I use caching I get the following error:
 Exception: ArgumentError: wrong number of arguments (given 1, expected 0)
/usr/local/bundle/gems/kandr-easy_captcha-0.11.0/lib/easy_captcha/controller_helpers.rb:35:in `captcha_cache_path'

After a quick look it seems that there is indeed a problem in ControllerHelpers:
In the method cache_image you are calling captcha_cache_path with argument code (https://github.com/K-and-R/easy_captcha/blob/master/lib/easy_captcha/controller_helpers.rb#L130).
captcha_cache_path does however not take any arguments (https://github.com/K-and-R/easy_captcha/blob/master/lib/easy_captcha/controller_helpers.rb#L35).

@BBenni Thanks. I'll look into that.


Add support for TRIM BOTH/LEADING/TRAILING

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
The more standard SQL datafusion supports, the easier it will be to integrate it into the rest of the analytics ecosystem
Describe the solution you'd like
I would like to be able to run the following queries without error:
cargo run --bin datafusion-cli

-- works
SELECT TRIM('  bar   ');

-- does not work (examples from mysql)
SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');
SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');

Actual output:
> SELECT TRIM('  bar   ');

+------------------------+
| trim(Utf8("  bar   ")) |
+------------------------+
| bar                    |
+------------------------+
1 row in set. Query took 0.003 seconds.

> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');
Plan("TRIM LEADING is not yet supported ")

> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
Plan("TRIM BOTH is not yet supported ")

> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
Plan("TRIM TRAILING is not yet supported ")

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
SQL (postgres and mysql) offer support for extended TRIM syntax, and with https://github.com/apache/arrow-datafusion/pull/934 DataFusion's SQL parser can parse this syntax.
Here are links to the references:

https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_trim
https://www.postgresql.org/docs/current/functions-string.html

Here is a copy of the syntax from the mysql manual:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str)

Returns the string str with all remstr prefixes or suffixes removed. If none of the specifiers BOTH, LEADING, or TRAILING is given, BOTH is assumed. remstr is optional and, if not specified, spaces are removed.

mysql> SELECT TRIM('  bar   ');
        -> 'bar'
mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');
        -> 'barxxx'
mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
        -> 'bar'
mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
        -> 'barx'

Note that thanks to @seddonm1  DataFusion already has the ltrim and rtrim functions
So supporting this syntax:
> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
Plan("TRIM TRAILING is not yet supported ")

Should end up creating the same plan as this (which works today):
> SELECT RTRIM('barxxyz', 'xyz');
+------------------------------------+
| rtrim(Utf8("barxxyz"),Utf8("xyz")) |
+------------------------------------+
| bar                                |
+------------------------------------+
1 row in set. Query took 0.003 seconds.

I believe this should be very easy now the parser supports it and just needs a tiny bit of plumbing and a few tests.

I believe this should be very easy now the parser supports it and just needs a tiny bit of plumbing and a few tests.

Indeed -- a perfect good first issue


Draft: Feat/permissions

Description of change
Adds permissions to subscribers for each branch
Currently checks for ReadWrite permissions and otherwise read-only.
Timed write does not function yet, and BranchAdmin is the same as ReadWrite permissions.
Currently implemented using the DID implementation style, with implementing sizeof, wrap and unwrap
Type of change

Enhancement (a non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)

Open questions:

What would be the default permission for a user (prepare_keyload_for_everyone) Currently at Read
Do we allow someone with BranchAdmin permissions to change the author permissions. Currently author is always allowed.
How do we handle TaggedPacket? Currently all are accepted.
Better idea on storing permissions? (keep in mind lean and non-lean state) Currenly its a map of (KL link: Permissions), and a map of (link: KL link)
How do we handle not allowed messages? Currently read into state anyway. Needs a way to indicate wrongness but still return link to link to
Linking messages to seq messages. Requires storing permissions vs seq as well. Currently not allowed (breaks a test)

Todo (In another PR)

Implement actual PermissionDuration
Reduce import/export size of permissions hashmaps by referencing ids with index instead clone
Move permissions hashmaps to a separate store (possibly merge keystore and linkstore)

How the change has been tested

Added a new permissions example
Updated old examples adding an extra check in the recovery example

Change checklist

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

What would be the default permission for a user (prepare_keyload_for_everyone) Currently at Read

I believe Read/Write due to the function itself being meant as a high level utility function to avoid having to actually define the subscribers/psks specifically. With that being said though I would follow this question up with another: Do we want to retain this function in the future considering the new api does not have it specified? We just have branch specified with specific declarations of the permissions for each user.

Do we allow someone with BranchAdmin permissions to change the author permissions. Currently author is always allowed.

I think it makes sense to have Author be the super user essentially and their permissions shouldn't be changable. For example, if a Subscriber is given admin priveleges over a branch but then the author chooses to revoke those administrative priveleges at a later time, the subscriber would be able to shut out the author's ability to do so if they can't write/admin the branch themselves as well. Although dropping the channel super user administration could have its advantages in a decentralised ecosystem, I still think that it makes sense to retain it.


Create a timeline

List all your relevant experiences, achievements, and education. If no professional experience, include any personal or academic projects.

Add a list of all your activities, achievements, and work experience. If you don’t have work experience, include pet-projects or student projects.


Fixes for Raspberry Pi cross-compilation in CI Build

Jenkins test this please (Windows Cmake error looks like a github flake?)

Correct, cmake issue is a flake:
CUSTOMBUILD : error : downloading 'http://www.kurims.kyoto-u.ac.jp/~ooura/fft.tgz' failed


ie8 polyfills

#672, #666

have you tested it on ie8? Does it run fine?

Coverage decreased (-0.16%) to 85.87% when pulling 44ab49f1e59f844d023ac4329f150462c7bae8bc on rsbondi:scopecss into 00aa238cd9b7172ccafa4440b4e2453a992c53b3 on muut:dev.

not extensively, but it fixes the call to innerHTML and document.head, are you sure these worked before?  The reason I opened #666 is because I got the error in ie8 before I started on #674

Our tests do not work on ie8 but with your patch now they do not event start. Thanks for your polyfill I will see what I can do

ok, I was trying to do an ie8 check inside the test, I will remove it

I get this error

the poly fill requires the shim shiv first, although I don't think it would have anything to do with that error, problem is that I do not have development set up on windows so I can't run the test, I have only been testing wip in the browser directly

ok, so I just pulled in windows, and moved my dist folder there, and it seems like a timing issue.  If I move it to the body, the tests run but fail.  I would like to think the body include is not the answer and document ready is too late, I will explore further

@rsbondi Ok thanks let me know if you find something

I don't have a better answer, so either include polyfill in the body and update the docs or add code to the core to handle innerHTML.  I am ok with the first one since at some point ie8 support will need to be dropped and the core will stay clean.  I can update the docs, just need to know jsdeliver location.


Week7

I just want to see tests.
:recycle: Current situation & Problem
Link any open issues or pull requests (PRs) related to this PR. Please ensure that all non-trivial PRs are first tracked and discussed in an existing GitHub issue or discussion.
:gear: Release Notes
Add a bullet point list summary of the feature and possible migration guides if this is a breaking change so this section can be added to the release notes.
Include code snippets that provide examples of the feature implemented or links to the documentation if it appends or changes the public interface.
:books: Documentation
Please ensure that you properly document any additions in conformance to Spezi Documentation Guide.
You can use this section to describe your solution, but we encourage contributors to document your reasoning and changes using in-line documentation.
:white_check_mark: Testing
Please ensure that the PR meets the testing requirements set by CodeCov and that new functionality is appropriately tested.
This section describes important information about the tests and why some elements might not be testable.
:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[ ] I agree to follow the Code of Conduct and Contributing Guidelines.

@vishnuravi @Supereg  @PSchmiedmayer Hey I was wondering if one of you could take a look at what might be needed to update this test framework to run correctly with the modified Account keys?

@vishnuravi @Supereg @PSchmiedmayer Hey I was wondering if one of you could take a look at what might be needed to update this test framework to run correctly with the modified Account keys?

Hi @terribilis there was a bad file reference in 'Compile Sources' for your UI test target. I removed it and the UI tests are running now.


Fix crash when trying to save penboxes

MK40 crashed if you never had any penboxes...

Ironically since I fixed this in main already and my fix also fixed penbox saving I went with that for the conflict and this PR ended up doing no action.


Publish snupkgs

I see that your build is producing snupkgs, however they aren't being published to nuget.org, so they aren't easily accessible.

I see you've fixed this, thanks folks 🙂

Hi! Yes, something changed (I believe the default behaviour of dotnet publish), so we needed to investigate / fix that!


Rename Proposal: wechaty-puppet-hostie -> wechaty-puppet-service

After writing the https://wechaty.js.org/2021/01/14/wechaty-puppet-service/, I feel the name for this module is better if rename it to wechaty-puppet-service.
After the rename, the environment variables will become clearer:
export WECHATY_PUPPET=wechaty-puppet-service
export WECHATY_PUPPET_SERVICE_TOKEN=puppet_service_xxx

Please feel free to let me know if anyone has any comments @wechaty/contributors
To be determined.

Oh, thanks, finally!
I don't like the word "hostie" in the very beginning --
https://github.com/wechaty/wechaty-puppet-hostie/issues/19#issuecomment-604428077

when I was searching for the word "hostie", the first or second hit by google says it is a curse word.

When used as a swear word, hostie may also written without the letters "h", "e" or without both letters. It is a french biblical word (the sacramental bread) often...

我一直是觉得起了个swear word这样的一个名字真有些不妥，而且它实在有太多负面相关的联系了。hostie是骂街的字， hostile，一看就带有强烈的敌意...
咱们换位思考一下，如果一个老外把他的项目起一个中文名字和“ma bi”是完全相同的字/音，那中国人听到以后皱眉头那就真算是轻的了

Oh, thanks, finally!
I don't like the word "hostie" in the very beginning --
https://github.com/wechaty/wechaty-puppet-hostie/issues/19#issuecomment-604428077

when I was searching for the word "hostie", the first or second hit by google says it is a curse word.

When used as a swear word, hostie may also written without the letters "h", "e" or without both letters. It is a french biblical word (the sacramental bread) often...

我一直是觉得起了个swear word这样的一个名字真有些不妥，而且它实在有太多负面相关的联系了。hostie是骂街的字， hostile，一看就带有强烈的敌意...
咱们换位思考一下，如果一个老外把他的项目起一个中文名字和“ma bi”是完全相同的字/音，那中国人听到以后皱眉头那就真算是轻的了

@suntong Glad to know that you like the new name, cheers!

@suntong Glad to know that you like the new name, cheers!

The new wechaty-puppet-service module has been published.
Things changed:

PuppetHostie -> PuppetService
WECHATY_PUPPET_HOSTIE_TOKEN -> WECHATY_PUPPET_SERVICE_TOKEN
WECHATY_PUPPET_HOSTIE_ENDPOINT -> WECHATY_PUPPET_SERVICE_ENDPOINT

The new wechaty-puppet-service module has been published.
Things changed:

PuppetHostie -> PuppetService
WECHATY_PUPPET_HOSTIE_TOKEN -> WECHATY_PUPPET_SERVICE_TOKEN
WECHATY_PUPPET_HOSTIE_ENDPOINT -> WECHATY_PUPPET_SERVICE_ENDPOINT

Done.

Done.


GenericPropertyDrawer cannot draw objects of serializable type

GenericPropertyDrawer cannot detect both the built-in property drawer and a user-written property drawer of a serializable type (a class with the [Serializable] attribute), and displays "No PropertyDrawer for type..." when drawn in a collection editor.
From what I can tell in the code, the built-in property drawer is not detected because serializable types are not considered as having it, and no custom property drawer is detected because only property drawers in the ScriptableObject-Architecture.Editor assembly are checked.
May be related to #7 and commit  a31f77a.

Sorry for the long wait, I completely forgot to respond 😬
It works as expected on my end

[System.Serializable] public class TestClass {     [SerializeField]     private float testValue; }
[CustomPropertyDrawer(typeof(TestClass))] public class TestClassPropertyDrawer : PropertyDrawer {     public override void OnGUI(Rect propertyRect, SerializedProperty property, GUIContent label)     {         EditorGUI.LabelField(propertyRect, "TEST");     } }
It's by-design that it can't draw the default inspector for your class, I can't recall why that is, it's been a while since I touched that bit of code, but it was probably too troublesome to support it while also handling all the other features the GenericPropertyDrawer contains.

Custom property drawers would only work if it was placed in the ScriptableObject-Architecture.Editor assembly though. For folks like me who use SO-A as a package in the package manager, we would not be able to put our custom property drawers among the read-only package files to make it visible to the GenericPropertyDrawer code.

Ah, that would indeed not work. I'll look into finding another way of checking whether a property drawer exists :)

Fixed in Release 1.6.2. It will now look at both the default editor assembly and also every assembly definition assembly, regardless of how it's imported
It's also been pushed to releases/stable
Thanks for the report! :)


phonegap app for ios not working

app not rendering properly
Dont know why, whether the problem is in my phone or in the app

Hi @anooppsagar
It's a problem with the dev app. An update has been submitted to the app store and should be available soon. Also, this ticket is a duplicate of this one: https://github.com/phonegap/phonegap-app-developer/issues/508 so I'll be closing this one.


Request for Guidance on Implementing imitation_loss

Thank you for the snippet you provided #28 ; it has been immensely helpful. I am truly grateful for your remarkable contributions and research.
Using your snippet as a reference, I have crafted my training code. However, it seems that the imitation_loss you previously mentioned hasn't been implemented.
Could you provide guidance on implementing the imitation_loss or suggest another way to compute it? Additionally, if you notice any ambiguities or potential issues in my training code, I would greatly appreciate your insights.
Here's the error I encountered:
Exception has occurred: AttributeError       (note: full exception trace is shown but execution is paused at: _run_module_as_main)
'dict' object has no attribute 'imitation_loss'
  File "/home/initial/workspace/VIMA2/VIMA/scripts/train.py", line 610, in train
    imitation_loss = dist_dict.imitation_loss(actions=tar_action)
  File "/home/initial/workspace/VIMA2/VIMA/scripts/train.py", line 633, in main
    train(policy, dataloader, optimizer, epochs=cfg.epochs)
  File "/home/initial/workspace/VIMA2/VIMA/scripts/train.py", line 642, in <module>
    main(args)
  File "/home/initial/.pyenv/versions/3.9.16/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/initial/.pyenv/versions/3.9.16/lib/python3.9/runpy.py", line 197, in _run_module_as_main (Current frame)
    return _run_code(code, main_globals, None,
AttributeError: 'dict' object has no attribute 'imitation_loss'

And here is the relevant training code snippet:
def iteration(policy, batch):
    obs = batch['obs']
    action = batch['action']
    prompt_token_type = batch['prompt_token_type']
    word_batch = batch['word_batch']
    image_batch = batch['image_batch']

    prompt_tokens, prompt_masks = policy.forward_prompt_assembly(
        (prompt_token_type, word_batch, image_batch)
    )
    obs_tokens, obs_masks = policy.forward_obs_token(obs)

    action = policy.discretize_action(action)
    # cache target action
    tar_action = {k: v.clone() for k, v in action.items()}

    # slice action sequence up to the last one
    action_tokens = policy.forward_action_token(action)

    action_tokens = action_tokens.transpose(1,0)
    obs_tokens = obs_tokens.transpose(1,0)
    obs_masks = obs_masks.transpose(1,0)

    pred_action_tokens = policy.forward(
        obs_token=obs_tokens,
        action_token=action_tokens,
        prompt_token=prompt_tokens,
        prompt_token_mask=prompt_masks,
        obs_mask=obs_masks,
    )# (L, B, E)
    # pred_action_tokens = pred_action_tokens[-2:].contiguous()# (2, B, E)
    dist_dict = policy.forward_action_decoder(pred_action_tokens)
    tar_action = policy._de_discretize_actions(tar_action)
    return dist_dict, tar_action

def train(policy, dataloader, optimizer, validation_dataloader=None,epochs=10):
    wandb.init(project="VIMA", name=f"VIMA_{NOW}")
    wandb.watch(policy, log_freq=100)  # モデルのパラメータと勾配をログします。

    policy.train()  # モデルを学習モードに設定
    best_val_loss = float('inf')
    no_improve_count = 0

    for epoch in range(epochs):
        total_epoch_loss = 0
        for batch in tqdm(dataloader,desc=f"Epoch {epoch + 1}/{epochs}"):
            dist_dict, tar_action = iteration(policy, batch)

            total_loss = 0
            # pred_actions = {k: v.mode().detach().clone().requires_grad_() for k, v in dist_dict.items()}

            total_loss = compute_cross_entropy_loss(dist_dict, tar_action)
            # imitation_loss = dist_dict.imitation_loss(actions=tar_action)

            # imitation_loss.backward()
            total_loss.backward()

            optimizer.step()
            total_epoch_loss += total_loss.item()

def get_pred(pred_actions, key, time, index):
    return pred_actions[key]._dists[index].probs[time]

def get_true(tar_action, key, time, index):
    return tar_action[key][:, time, index]

def compute_cross_entropy_loss(pred_actions, tar_action):
    keys = ['pose0_position', 'pose1_position', 'pose0_rotation', 'pose1_rotation']
    indices = {
        'pose0_position': [0, 1],
        'pose1_position': [0, 1],
        'pose0_rotation': [0, 1, 2, 3],
        'pose1_rotation': [0, 1, 2, 3]
    }
    times = [0, 1]  # 0 for t2, 1 for t1

    total_loss = 0
    for key in keys:
        for time in times:
            for index in indices[key]:
                pred = get_pred(pred_actions, key, time, index)
                true = get_true(tar_action, key, time, index).long()
                total_loss += criterion(pred, true)

    return total_loss

Hi there, please note that imitation_loss internally implements the cross-entropy loss. You could define your own dict class and implement it based on torch.nn.functional.cross_entropy.

Hello, have you trained vima successfully? For example, the replement result is similar to that in paper

Thank you for the snippet you provided #28 ; it has been immensely helpful. I am truly grateful for your remarkable contributions and research.
Using your snippet as a reference, I have crafted my training code. However, it seems that the imitation_loss you previously mentioned hasn't been implemented.
Could you provide guidance on implementing the imitation_loss or suggest another way to compute it? Additionally, if you notice any ambiguities or potential issues in my training code, I would greatly appreciate your insights.
Here's the error I encountered:
Exception has occurred: AttributeError       (note: full exception trace is shown but execution is paused at: _run_module_as_main)
'dict' object has no attribute 'imitation_loss'
  File "/home/initial/workspace/VIMA2/VIMA/scripts/train.py", line 610, in train
    imitation_loss = dist_dict.imitation_loss(actions=tar_action)
  File "/home/initial/workspace/VIMA2/VIMA/scripts/train.py", line 633, in main
    train(policy, dataloader, optimizer, epochs=cfg.epochs)
  File "/home/initial/workspace/VIMA2/VIMA/scripts/train.py", line 642, in <module>
    main(args)
  File "/home/initial/.pyenv/versions/3.9.16/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/initial/.pyenv/versions/3.9.16/lib/python3.9/runpy.py", line 197, in _run_module_as_main (Current frame)
    return _run_code(code, main_globals, None,
AttributeError: 'dict' object has no attribute 'imitation_loss'

And here is the relevant training code snippet:
def iteration(policy, batch):
    obs = batch['obs']
    action = batch['action']
    prompt_token_type = batch['prompt_token_type']
    word_batch = batch['word_batch']
    image_batch = batch['image_batch']

    prompt_tokens, prompt_masks = policy.forward_prompt_assembly(
        (prompt_token_type, word_batch, image_batch)
    )
    obs_tokens, obs_masks = policy.forward_obs_token(obs)

    action = policy.discretize_action(action)
    # cache target action
    tar_action = {k: v.clone() for k, v in action.items()}

    # slice action sequence up to the last one
    action_tokens = policy.forward_action_token(action)

    action_tokens = action_tokens.transpose(1,0)
    obs_tokens = obs_tokens.transpose(1,0)
    obs_masks = obs_masks.transpose(1,0)

    pred_action_tokens = policy.forward(
        obs_token=obs_tokens,
        action_token=action_tokens,
        prompt_token=prompt_tokens,
        prompt_token_mask=prompt_masks,
        obs_mask=obs_masks,
    )# (L, B, E)
    # pred_action_tokens = pred_action_tokens[-2:].contiguous()# (2, B, E)
    dist_dict = policy.forward_action_decoder(pred_action_tokens)
    tar_action = policy._de_discretize_actions(tar_action)
    return dist_dict, tar_action

def train(policy, dataloader, optimizer, validation_dataloader=None,epochs=10):
    wandb.init(project="VIMA", name=f"VIMA_{NOW}")
    wandb.watch(policy, log_freq=100)  # モデルのパラメータと勾配をログします。

    policy.train()  # モデルを学習モードに設定
    best_val_loss = float('inf')
    no_improve_count = 0

    for epoch in range(epochs):
        total_epoch_loss = 0
        for batch in tqdm(dataloader,desc=f"Epoch {epoch + 1}/{epochs}"):
            dist_dict, tar_action = iteration(policy, batch)

            total_loss = 0
            # pred_actions = {k: v.mode().detach().clone().requires_grad_() for k, v in dist_dict.items()}

            total_loss = compute_cross_entropy_loss(dist_dict, tar_action)
            # imitation_loss = dist_dict.imitation_loss(actions=tar_action)

            # imitation_loss.backward()
            total_loss.backward()

            optimizer.step()
            total_epoch_loss += total_loss.item()

def get_pred(pred_actions, key, time, index):
    return pred_actions[key]._dists[index].probs[time]

def get_true(tar_action, key, time, index):
    return tar_action[key][:, time, index]

def compute_cross_entropy_loss(pred_actions, tar_action):
    keys = ['pose0_position', 'pose1_position', 'pose0_rotation', 'pose1_rotation']
    indices = {
        'pose0_position': [0, 1],
        'pose1_position': [0, 1],
        'pose0_rotation': [0, 1, 2, 3],
        'pose1_rotation': [0, 1, 2, 3]
    }
    times = [0, 1]  # 0 for t2, 1 for t1

    total_loss = 0
    for key in keys:
        for time in times:
            for index in indices[key]:
                pred = get_pred(pred_actions, key, time, index)
                true = get_true(tar_action, key, time, index).long()
                total_loss += criterion(pred, true)

    return total_loss

It would be beneficial for people like me ..if you can drop some info about the training code you wrote or share the training snippet.


Renewal loop in 1.0.3

There is something fishy in 1.0.3 when it comes to certificate renewal.  Issue is also visible in regression testing
Initial enrollment works fine:
jm@ub2204:~/build/ncm-issuer-main$ sudo microk8s.kubectl cert-manager status certificate ncm-cert -n ncm-issuer
Name: ncm-cert
Namespace: ncm-issuer
Created at: 2023-03-11T16:50:55Z
Conditions:
  Ready: True, Reason: Ready, Message: Certificate is up to date and has not expired
DNS Names:
- foo.bar.local
Events:
  Type    Reason     Age   From                                       Message
  ----    ------     ----  ----                                       -------
  Normal  Issuing    39s   cert-manager-certificates-trigger          Issuing certificate as Secret contains an invalid key-pair: tls: private key does not match public key
  Normal  Generated  39s   cert-manager-certificates-key-manager      Stored new private key in temporary Secret resource "ncm-cert-hzfnq"
  Normal  Requested  39s   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-tkj8r"
  Normal  Issuing    37s   cert-manager-certificates-issuing          The certificate has been successfully issued
The Issuer "ncm" is not of the group cert-manager.io, this command currently does not support third party issuers.
To get more information about "ncm", try 'kubectl describe'
Secret:
  Name: mysecret-secret
  Issuer Country: PL
  Issuer Organisation: Nokia
  Issuer Common Name: SubCA
  Key Usage: Digital Signature, Key Encipherment
  Extended Key Usages:
  Public Key Algorithm: RSA
  Signature Algorithm: SHA512-RSA
  Subject Key ID: 134c51e64d5a78dacb2fe36c47c1695a2e8613f9
  Authority Key ID: 6020b822d96cf8cebb6aa51960a9baecc04f27e6
  Serial Number: 0186d1951e226af485028ba96ada2a
  Events:  <none>
[ncm-issuer.log](https://github.com/nokia/ncm-issuer/files/10949002/ncm-issuer.log)

Not Before: 2023-03-11T16:20:56Z
Not After: 2023-04-10T16:50:56Z
Renewal Time: 2023-04-05T16:50:56Z
No CertificateRequest found for this Certificate
jm@ub2204:~/build/ncm-issuer-main$

When renewing the certificate it looks that we enter a enrollment loop. Reenrollment seems to be successfull but the certifcate does not get stored and the amount of new CertificateRequests increases in an a two second interval.
jm@ub2204:~/build/ncm-issuer-main$ sudo microk8s.kubectl cert-manager status certificate ncm-cert -n ncm-issuer
Name: ncm-cert
Namespace: ncm-issuer
Created at: 2023-03-11T16:50:55Z
Conditions:
  Ready: False, Reason: InvalidKeyPair, Message: Issuing certificate as Secret contains an invalid key-pair: tls: private key does not match public key
  Issuing: True, Reason: InvalidKeyPair, Message: Issuing certificate as Secret contains an invalid key-pair: tls: private key does not match public key
DNS Names:
- foo.bar.local
Events:
  Type    Reason     Age                   From                                       Message
  ----    ------     ----                  ----                                       -------
  Normal  Generated  2m15s                 cert-manager-certificates-key-manager      Stored new private key in temporary Secret resource "ncm-cert-hzfnq"
  Normal  Requested  2m15s                 cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-tkj8r"
  Normal  Requested  54s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-hwtjg"
  Normal  Requested  52s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-p5jf9"
  Normal  Requested  52s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-7bkcd"
  Normal  Requested  50s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-22s8j"
  Normal  Requested  48s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-qljcl"
  Normal  Requested  47s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-nw97w"
  Normal  Requested  45s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-r5x59"
  Normal  Requested  44s                   cert-manager-certificates-request-manager  Created new CertificateRequest resource "ncm-cert-hwc2p"
  Normal  Generated  41s (x9 over 54s)     cert-manager-certificates-key-manager      Stored new private key in temporary Secret resource "ncm-cert-ltts6"
  Normal  Generated  28s (x8 over 39s)     cert-manager-certificates-key-manager      Stored new private key in temporary Secret resource "ncm-cert-7df7g"
  Normal  Requested  20s (x16 over 42s)    cert-manager-certificates-request-manager  (combined from similar events): Created new CertificateRequest resource "ncm-cert-mlmq4"
  Normal  Generated  17s (x7 over 26s)     cert-manager-certificates-key-manager      Stored new private key in temporary Secret resource "ncm-cert-4wb5j"
  Normal  Issuing    16s (x25 over 2m13s)  cert-manager-certificates-issuing          The certificate has been successfully issued
  Normal  Issuing    16s (x25 over 2m15s)  cert-manager-certificates-trigger          Issuing certificate as Secret contains an invalid key-pair: tls: private key does not match public key
The Issuer "ncm" is not of the group cert-manager.io, this command currently does not support third party issuers.
To get more information about "ncm", try 'kubectl describe'
Secret:
  Name: mysecret-secret
  Issuer Country: PL
  Issuer Organisation: Nokia
  Issuer Common Name: SubCA
  Key Usage: Digital Signature, Key Encipherment
  Extended Key Usages:
  Public Key Algorithm: RSA
  Signature Algorithm: SHA512-RSA
  Subject Key ID: 134c51e64d5a78dacb2fe36c47c1695a2e8613f9
  Authority Key ID: 6020b822d96cf8cebb6aa51960a9baecc04f27e6
  Serial Number: 0186d19721102ebe830fe8093e5b5e
  Events:  <none>
Not Before: 2023-03-11T16:23:07Z
Not After: 2023-04-10T16:53:07Z
Renewal Time: 2023-04-05T16:53:07Z
CertificateRequest:
  Name: ncm-cert-skb8k
  Namespace: ncm-issuer
  Conditions:
    Approved: True, Reason: cert-manager.io, Message: Certificate request has been approved by cert-manager.io
  Events:
    Type    Reason           Age   From                                       Message
    ----    ------           ----  ----                                       -------
    Normal  cert-manager.io  1s    cert-manager-certificaterequests-approver  Certificate request has been approved by cert-manager.io
jm@ub2204:~/build/ncm-issuer-main$

... logs attached...
ncm-issuer.log

Hi @grindsa,
Thanks for raising this issue, it seems like ncm-issuer interpreted this operation as renewal (in code logic) even though PK rotation was set to "Always". It is already fixed in https://github.com/nokia/ncm-issuer/commit/235525207d3e6badfe08defa5a546f5ed49b3d54.


Layout aliases - pretty names for ActiveLayoutWidget

The idea is creating a custom editable alias for layouts that can be shown in the ActiveLayoutWidget if the user wants to.

Widget config example:
 LeftWidgets = () => new IBarWidget[]
        {
            new ActiveLayoutWidget()
            {
                UseAlias = true
            },
        }

Layout creation example:
 Func<ILayoutEngine[]> defaultLayouts = () => new ILayoutEngine[]
    {
        new TallLayoutEngine(){
            Alias = "Tall  "
        },
    };

Result:

Seeing as the alias cannot be used to identify a layout, I propose renaming the field to 'DisplayedName'. Additionally, I would suggest removing UseAlias entirely in favor of just setting it to the Name value by default.

Seeing as the alias cannot be used to identify a layout, I propose renaming the field to 'DisplayedName'. Additionally, I would suggest removing UseAlias entirely in favor of just setting it to the Name value by default.

Thanks for the tips, I'll implement those tonight and update the PR.

I failed to implement those changes since i'm not that experienced with C# and the whole class/accessor concept (came from a C background). After countless attempts I always ended up with the DisplayedName variable being a static copy of the Name variable, so setting variables in the config file didn't change the value of DisplayedName.
I'd either like some tips on how to approach this change, or maybe a different implementation from someone who's also interested in this feature.

Closing this since #367 does the same but in a way cleaner way.


Error when yanking a V-block with lines containing utf-8 chars

Hi,
I noticed the following with my fork of kickstart.nvim (and verified with a vanilla init.lua from this repo):
I have the following minimal markdown:
# Introduction
- päivitettävä uudempaan; test
- päivitettävä uudempaan; edu

If I C-v and select a rectangular region from upper "uudempaan" to the end of "edu", and yank the selection, I get an error:
Error detected while processing TextYankPost Autocommands for "*":
Error executing lua callback: vim/_editor.lua:0: index out of range
stack traceback:
        [C]: in function 'str_byteindex'
        vim/_editor.lua: in function 'region'
        ...ar/neovim/0.8.0/share/nvim/runtime/lua/vim/highlight.lua:51: in function 'range'
        ...ar/neovim/0.8.0/share/nvim/runtime/lua/vim/highlight.lua:129: in function 'on_yank'
        /Users/self/.config/nvim/init.lua:115: in function </Users/juharu/.config/nvim/init.lua:114>

Note that I do not need to select "päivitettävä" word, it only need to exist on the line. While pasting the above error, I noticed that str_byteindex is the point of error. The problematic word contains ä, which is a two byte 'character'. My guess, without knowing nothing about the implementation is that that function should take into account utf-8 characters.
ps. "päivitettävä" is a Finnish word for "to be updated".

Hmm... does this still happen with latest nvim? This seems like an upstream bug.

woops, just meant to comment, not close. Sorry about that.

Hmm... does this still happen with latest nvim? This seems like an upstream bug.
This left me dumbfounded... Nightly or stable? Therefore I tried both:

This error still occurs with 0.8.1 on my Mac.
This error does not occur on a 0.9.0 nightly on my home Debian server.

Therefore I'm closing this as a fix is on the way (with the future 0.9.0 stable).

Awesome, thanks for reporting :)


Crash and Restart of Child Bridge Due to TypeError in homebridge-camera-ui (with fix)

Describe the bug
A crash and restart of the child bridge occur, followed by the error: TypeError: Cannot read properties of null (reading 'get') in the homebridge-camera-ui plugin.
To Reproduce
Restart the system. The issue occurs without a clear trigger.
Expected behavior
The system should restart without crashing and should not encounter a null property error.
Logs
TypeError: Cannot read properties of null (reading 'get')
    at file:///var/lib/homebridge/node_modules/homebridge-camera-ui/src/accessories/camera.js:280:57
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Environment

Camera UI Version: v5.0.27
-** Homebridge Version**: [Homebridge v1.8.2]· [UI v4.56.2]

Additional context
The error seems to originate from accessing a null property in the fetchSnapshot method.
Proposed Fix
The issue can be fixed by adding null checks before accessing properties. Here is the updated code for the fetchSnapshot method in /var/lib/homebridge/node_modules/homebridge-camera-ui/src/accessories/camera.js:
fetchSnapshot(snapFilter) {
    // eslint-disable-next-line no-async-promise-executor, no-unused-vars
    this.snapshotPromise = new Promise(async (resolve, reject) => {
        const atHome = await this.getPrivacyState();

        if (atHome) {
            this.snapshotPromise = undefined;
            return resolve(privacyImageInBytes);
        }

        let input = this.accessory.context.config.videoConfig.stillImageSource.split(/\s+/);
        const startTime = Date.now();
        const controller = this.cameraUi.cameraController.get(this.accessory.displayName);

        if (this.accessory.context.config.prebuffering && controller?.prebuffer) {
            try {
                input = await controller.prebuffer.getVideo();
            } catch (error) {
                this.log.warn(`Error getting prebuffer video: ${error.message}`, this.accessory.displayName);
            }
        }

        const ffmpegArguments = ['-hide_banner', '-loglevel', 'error', ...input, '-frames:v', '1'];

        if (snapFilter) {
            ffmpegArguments.push('-filter:v', ...snapFilter.split(/\s+/));
        }

        ffmpegArguments.push('-f', 'image2', '-');

        this.log.debug(
            `Snapshot command: ${this.config.options.videoProcessor} ${ffmpegArguments.join(' ')}`,
            this.accessory.displayName
        );

        const ffmpeg = spawn(this.config.options.videoProcessor, ffmpegArguments, {
            env: process.env,
        });

        let errors = [];
        let snapshotBuffer = Buffer.alloc(0);

        ffmpeg.stdout.on('data', (data) => {
            snapshotBuffer = Buffer.concat([snapshotBuffer, data]);
        });

        ffmpeg.on('error', (error) => {
            this.log.error(
                `FFmpeg process creation failed: ${error.message} - Showing "offline" image instead.`,
                this.accessory.displayName
            );
            resolve(offlineImageInBytes);
            this.snapshotPromise = undefined;
        });

        ffmpeg.stderr.on('data', (data) => {
            errors = errors.slice(-5);
            errors.push(data.toString().replace(/(\r\n|\n|\r)/gm, ' '));
        });

        ffmpeg.on('close', () => {
            if (snapshotBuffer.length > 0) {
                resolve(snapshotBuffer);
            } else {
                this.log.error('Failed to fetch snapshot. Showing "offline" image instead.', this.accessory.displayName);

                if (errors.length > 0) {
                    this.log.error(errors.join(' - '), this.accessory.displayName, 'Homebridge');
                }

                this.snapshotPromise = undefined;
                return resolve(offlineImageInBytes);
            }

            setTimeout(() => {
                this.snapshotPromise = undefined;
            }, 5 * 1000); // Expire cached snapshot after 5 seconds

            const runtime = (Date.now() - startTime) / 1000;

            let message = `Fetching snapshot took ${runtime} seconds.`;

            if (runtime < 5) {
                this.log.debug(message, this.accessory.displayName);
            } else {
                if (!this.accessory.context.config.unbridge) {
                    message += ' It is highly recommended you switch to unbridge mode.';
                }

                if (runtime < 22) {
                    this.log.info(message, this.accessory.displayName, 'Homebridge');
                } else {
                    message += ' The request has timed out and the snapshot has not been refreshed in HomeKit.';
                    this.log.error(message, this.accessory.displayName, 'Homebridge');
                }
            }
        });
    });

    return this.snapshotPromise;
}

🎉 A new version of camera.ui
A new version of camera.ui is currently under active development. An initial alpha/beta release and previews are coming soon. Stay tuned for exciting updates: https://github.com/seydx/camera.ui/issues/448 .
This version will no longer be developed / fixed. The new version contains many novelties and fixes (most important is for HKSV recording).


Batch script that returns ERRORLEVEL 1 in CMD returns $LASTEXITCODE 0 in PowerShell

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
When PowerShell runs a batch script which has EXIT /B 1, it generally sets $LASTEXITCODE to 1 and $? returns false.  But I found a case where it does not.  The follow batch script:
@ECHO OFF
(
    EXIT /B 1
    echo unreachable
)

Returns ERRORLEVEL 1 in cmd, but $LASTEXITCODE 0 in pwsh.  If EXIT /B 1 is the last command in a code block, then it works as expected.  But if there are any commands after it then $LASTEXITCODE isn't set correctly.
Expected behavior
PS> .\test.bat
PS> $?
False

Actual behavior
PS> .\test.bat
PS> $?
True

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.2.6
PSEdition                      Core
GitCommitId                    7.2.6
OS                             Microsoft Windows 10.0.19044
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

1 The culprit is the "brackets" that cause multiple lines to execute together.
2 You shouldn't write code like this.
3 For $LASTEXITCODE, I personally think it is as expected.
4 (exit 1 ; Write-Output 'aa' ) such powershell code will report an error, and $LASTEXITCODE = 0,
For bat, I think the same should be done.
At present, the step of reporting an error is missing.
5 I am very interested, what do you think?

Regarding 1 and 2: Naturally the example I gave was not from a useful .bat script.  It was a simplification of a real-world script, which looks more like this:
REM some argument parsing before this
IF ["%ARG%"] == ["xyz"] (
    FOR %%T IN (dir1, dir2, dir3) DO (
        (pushd %%T && CALL build.bat %REST% && popd) || EXIT /B 1
    )
    EXIT /B 0
)
REM some other cases after this

So you see, in this case the EXIT /B 1 is a way to exit the script early in case one of the loop iterations fails.  Even though there are no "extra commands" after that exit, it still returns $LASTEXITCODE 0.
Regarding 3 and 4: Perhaps there is some reason why powershell returns exit code 0 from (exit 1; Write-Output 'aa').  It seems surprising to me, since my understanding is that exit 1 should set the exit code and also stop the script.  So I don't see why the presence of commands that aren't run would "clear" the exit code.  Maybe it would be worth mentioning in the documentation.

Powershell returns exit code of cmd shell, not your script.
So your "Actual behavior" is correct.

@scriptingstudio after some testing I think I understand your comment, please tell me if I'm wrong:
I think you're saying that PowerShell executes cmd /c ".\test.bat" (or something similar).  It then sets lastexitcode to the exit code the cmd.exe process.
I tested in cmd and confirmed that while the command test.bat returns errorlevel 1, cmd /c test.bat returns errorlevel 0!  As described before that discrepancy happens only when there are additional commands in a code block after the exit /b.
So it seems the conclusion here is that if this is a bug, it is a bug in cmd.exe and not in PowerShell.

If desired, PowerShell could work around the bug by running something like cmd /c ".\test.bat && exit /b %errorlevel%"

The doc states about $lastexitcode, Contains the exit code of the last native program that was run. The key word is native. In your case native program is cmd.exe.
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-7.2#lastexitcode

The key word is native. In your case native program is cmd.exe

Why then this batch returned errorlevel corectly?
@echo off
exit /b 666
echo unreachable

Why then this batch returned errorlevel correctly?

different scope
EXIT [/B] [exitCode]

  /B          specifies to exit the current batch script instead of
              CMD.EXE.  If executed from outside a batch script, it
              will quit CMD.EXE

  exitCode    specifies a numeric number.  if /B is specified, sets
              ERRORLEVEL that number.  If quitting CMD.EXE, sets the process
              exit code with that number.

different scope

Is this different scope?
@echo off
(
    echo reachable
    exit /b 555
)


Improve logging and warnings

This PR:

[x] improves log messaging and makes level explicit
[x] makes user warnings explicitly UserWarnings
[x] ensure imports used only for type hinting are guarded in if TYPE_CHECKING: block and ignore these blocks in test coverage report (relevant)

See also #1106

The first pre-release OSMnx v2 beta has been released. Testers needed! See #1123 for details.


Unable to build the project

What happened?
Description
I tried following the steps mentioned in the Developer Guide to build the project but it fails for me.
Steps to Reproduce
Fetch the build-env images

docker pull quay.io/splunko11ytest/network-explorer-debug/build-env
docker tag quay.io/splunko11ytest/network-explorer-debug/build-env build-env:latest

Clone the repository

git clone https://github.com/open-telemetry/opentelemetry-network.git opentelemetry-ebpf
cd opentelemetry-ebpf
git submodule update --init --recursive

Attempt to build

cd opentelemetry-ebpf
mkdir -p ../build

docker run -it --rm \
--env EBPF_NET_SRC_ROOT=/root/src \
--mount type=bind,source=$PWD,destination=/root/src,readonly \
--mount type=bind,source=$PWD/../build,destination=/root/out \
--mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock \
--name benv \
build-env

Configure

./build.sh --cmake
cd out

Build using make reducer
Expected Result
Build should work
Actual Result
> Task :io.opentelemetry.render:generateXtext FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':io.opentelemetry.render:generateXtext'.
> com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: com.google.common.util.concurrent.ExecutionError: java.lang.UnsupportedClassVersionError: org/eclipse/core/runtime/OperationCanceledException has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

* 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 517ms
2 actionable tasks: 1 executed, 1 up-to-date
make[3]: *** [renderc/CMakeFiles/render_compiler.dir/build.make:124: renderc/io.opentelemetry.render.standalone/build/libs/io.opentelemetry.render.standalone-1.0.0-SNAPSHOT-all.jar] Error 1
make[2]: *** [CMakeFiles/Makefile2:1202: renderc/CMakeFiles/render_compiler.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:5611: reducer/CMakeFiles/reducer.dir/rule] Error 2
make: *** [Makefile:2270: reducer] Error 2

eBPF Collector version
master
Environment information
Environment
Operating System: Ubuntu 23.10
Kernel: Linux 6.5.0-44-generic
eBPF Collector configuration
No response
Log output
No response
Additional context
No response

Hi @kislaykishore ! Sorry you hit this.
This should be fixed shortly. @jakub-racek-swi had fixed the build container in tools#4 which I merged today. I'm building the build-env as we speak. Fixed some problems with that build taking large amounts of RAM. Hope to have an update in a few hours.

The problem does not seem to have been resolved.
./build.sh --cmake

Are you on the #275 PR? It has this diff that resolves the above.

@yonch 👋 Hi, the problem seems to stay the same with your image & with your PR.
Still, as a workaround for now, I started building using quay.io/splunko11ytest/network-explorer-debug/build-env. It fails to process java files due to a version change. After this, I build (without deleting any previously built file) using your docker image, it finish properly the build, and binaries run properly (at least of kernel-collector & reducer in my scope)

@yonch 👋 Hi, the problem seems not to be solved, but I managed to make it work.
As a workaround for now, I started building using quay.io/splunko11ytest/network-explorer-debug/build-env. It fails to process java files due to a version change. After this, I build (without deleting any previously built file) using your docker image, it finish properly the build, and binaries run properly (at least of kernel-collector & reducer in my scope)

how did you make it work? I change the new docker image(yonchco/opentelemetry-network-build-env), but it raise the new error like this:
-- Using gRPC 1.65.5
CMake Error at otlp/CMakeLists.txt:31 (message):
gRPC must be a specific version (1.45.0).  Build container should already
have that set up.  Note that benv-final:v8 doesn't currently support
building with OTLP - need to use a custom local benv build.
-- Configuring incomplete, errors occurred!
See also "/root/out/CMakeFiles/CMakeOutput.log".
please help me. @yonch @alexandrebrg

Hi @m-4ever , PR #275 should have solved this: https://github.com/jakub-racek-swi/opentelemetry-network/commit/e34d77611253c04cf336d9e9c54ac2860d1117d0
@jakub-racek-swi #275 is marked as Draft, are you comfortable marking it as ready to merge?


Bluetooth: controller: Fix Read Version Info VS cmd

Use the macros generated during the build and located in version.h to
fill in the version information in the Read Version Information VS
command. Additionally reply with the correct hardware identifiers when
running on Nordic hardware.
Signed-off-by: Carles Cufi<EMAIL_ADDRESS>

@holtmann @jhedberg can you take a look at this? I'd like to include it in 1.9 if possible

@cvinayak addressed comments


Github Action

Do we need to create github action only for the unit test and linting?

Yes, AFIK. These are the requirements.

yes


Ideas

I'll use this issue to list the ideas of features, feel free to propose yours and I'll add them if I think they're relevant:

[x] OpenTelemetry

[x] Prometheus metrics
[x] Traces

[ ] Authentication:

[ ] Auth with Token
[ ] Auth with mTLS
[ ] TLS (cert + ca)

[x] dry-run option in the rule
[ ] New Actionners:

[x] kubernetes:delete to delete resources other than Pods (secrets/configmaps/deployment/statefulset/replicaset/daemonset)
[x] kubernetes:script to run a shell script in a pod
[ ] kubernetes:disableuser disable a control plane user
[x] kubernetes:log get last logs from a pod
[ ] kubernetes:checkpoint create a checkpoint
[x] kubernetes:tshark, kubernetes:tcpdump
[x] kubernetes:cordon
[x] kubernetes:drain
[ ] ansible:playbook run an ansible playbook locally/remotely
[ ] shell:command run a shell command locally
[ ] shell:script run a shell script locally
[x] aws:lambda run an AWS Lambda function
[ ] aws:cli run an AWS CLI Command (maybe aws:command is a better name?)
[x] calico:networkpolicy
[x] cilium:networkpolicy
[x] gcp:cloudfunction

[ ] New Notifiers:

[x] Elasticsearch
[x] Loki
[ ] Grafana Annotations
[ ] Syslog
[ ] AWS S3

[ ] Improvements

[x] Allow to set http method and headers for the notifier webhook
[x] Deduplication of received events
[x] Allow to specify namespaces in the allow parameter of *:networkpolicy

[ ] UX:

[x] Add a debug mode: only display the received event which match, except if debug=true
[x] Check the unicity of the rule names
[x] Alllow to use env vars for the static configuration
[x] Allow sequential actions by rule
[x] Allow to specify multiple rule files (with merge + override)

[ ] Docs:

[x] Specify required fields in the events for the actionners

[ ] Tests:

[ ] Unit tests
[ ] Run the Units tests in GitHub Actions

Replace by an opened discussion https://github.com/falco-talon/falco-talon/discussions/277

See https://github.com/falcosecurity/falco-talon/discussions/277


Reflection / Serialization

Hi again :)
How to handle reflection and serialization in this project?
Is this possible / supported or any recommended libs?
If possible, is it also possible to reflect extern class (c++ classes defined in haxe)?
If I use the following I get:
haxe\std/haxe/Serializer.hx:75: characters 2-27 : Dynamic not supported. Consider using Any or generics instead?
import haxe.Serializer;
import haxe.Unserializer;

 var serializer = new Serializer();
    serializer.serialize("foo");
    serializer.serialize(12);
    var s = serializer.toString();
    trace(s); // y3:fooi12
    ```

This project is currently incomplete! The Dynamic type and anything that uses it is currently unsupported, but that will change eventually.
You can define extern classes and they should work no problem!

Ah that's good to know! Hmm that's really interesting because technically this project doesn't really need most Haxe standard libs and could rely more on C++ libs. I will try using my own C++ serializer as an extern class.
How is the state of the reflection system though? I would like being able to export a list of all classes with their properties (type, name, default values) and methods at compile time. Is that something possible right now?


Parsing of \n is system-dependent

POString.Decode uses Environment.NewLine to decode the escape sequence \n and is system-dependent as a result: The resulting string (or key to lookup the translation) contains a \n on unix systems and \r\n on windows systems. This can be problematic when the source to create the lookup keys always contains the \n (as in our case).
I suggest to change the TryDecodeEscapeSequence local function in POString.Decode to produce the correct newline. One can add a property to POParserSettings to change the behaviour and be backwards compatible.
See pull request #10 for a fix.

The PR adds a setting to use \n instead of Environment.NewLine. A college of mine suggested to pass the newline string directly to better customize for other scenarios. E.g. one would be able to pass \r\n to utilize the windows encoding even on unix systems.
What do you think?

In PO files line breaks are always represented in a platform-independent way as the \n escape sequence. (At least, my lib builds on this assumption.) Indeed, the parser decodes this to the platform-dependent line break character sequence. This is an internal representation of the data contained in the PO file for your application to work with internally. When it decides to write it back to PO format, the line endings are converted to the platform-independent escape sequence.

This can be problematic when the source to create the lookup keys always contains the \n (as in our case).

If I understand you correctly, you have issues when the key of an entry contains line breaks. Please confirm.
At the moment I don't see why your application cannot lookup such entries. In the case of multi-line entries, it just have to use keys containing platform-dependent line breaks and it will work. Your app runs either on Windows or on Linux at a time but not on both.

Sure, let me elaborate some more.
We're using Karambolo.Po do read some po-files to display translated content in our mobile apps. Works really good. We like the API and the way the parser and the catalog works.
Our po-files contain some keys containing line breaks. We have another source, some project specific recipe description, for some of our apps content. And this descriptions include some translate texts, including multiline texts.
Those multiline texts are the current pitfall: They definitely use newline chars as line breaks, on all platforms. But the po parser is platform-agnostic and uses the newline chars for the local system. Text lookups are a miss on windows platforms as the line breaks in the lookup key from our recipe description (always \n) and in the po catalog (environment specific, \r\n for windows) differ.
We had code in place to replace every \n in the keys used to lookup translations with Environment.NewLine, when those differ, but that's just band-aid for the underlying problem. The parser could ignore environment specifics and always use a normalized line break, e.g. like \n. And it's creating some unnecessary new string objects just for the lookup.
My PR #10 introduces a new setting to instruct the parser to always parse newlines as \n instead of the environment-specific newline string. This works pretty well, fixes the root cause and feels elegant. The setting is also backwards-compatible as it's not set by default.

FYI, string.Replace is not that bad. It only allocates new string objects if there's at least one replacement:
var str = "A single line text.";
Console.WriteLine(ReferenceEquals(str, str.Replace("\n", Environment.NewLine)));
// prints True

So, if fixing up lookup keys is done only once (that is, not for every single lookup), it's not a big deal IMO. I cannot really think up a situation where this workaround is impossible.
However, I can imagine that in some cases this workaround can be pretty inconvenient. So I'm leaning toward accepting your proposal and add this option to the parser.
Just one more thing. As far as I can see, this change makes sense only for entry key strings (msgid, msgid_plural, msgctxt). Translation strings (msgstr) should always be decoded using Environment.NewLine. When printing these texts, platform-dependent line breaks are expected. Do you agree?

Yes, I agree, the translated string should include the NewLine character – even if \n is OK in my special scenario (the newline is displayed just fine), but that's obviously technology dependent.
I'll revise my PR accordingly.

Giving some more thought to the problem I came to the conclusion that we should be as future-proof as possible regarding this change. Let's enable all the options which seem to make sense. These options would be:

Decode all new line escape sequences to platform-dependent new lines. This should be the default behavior to maintain backward-compatibility.
Decode all new line escape sequences to platform-dependent new lines except for key strings. Key strings are kept platform-independent.
Decode all new line escape sequences to platform-independent new lines.

I don't see much point in supporting the "Decode all new line escape sequences to platform-dependent new lines except for translation strings." case.
So it seems our best bet is an enum called something like POStringNewLineHandling. At least, the name should make clear that this option is about the strings contained in the PO file and not about the line ending format of the PO file itself.
Please update your PR in the light of the above.

@MKuckert I've updated your PR and completed the feature. It will ship in v1.7 which will be available soon on NuGet.
To prevent platform-dependent decoding of \n sequences in your entry keys, use the following setup:
var parserSettings = new POParserSettings
{
    StringDecodingOptions = new POStringDecodingOptions { KeepKeyStringsPlatformIndependent = true }
};

var parser = new POParser(parserSettings);


Initial pkg-config file generation

#50

@dirkschulze I guess current pc file is designed for a "built-but-not-installed" usecase (keeping sources, and the built libraries are staying at the working directory, but not installed). If my understanding is correct, naming "SVGNativeViewerLib-uninstalled.pc" is better to fit with the conventions. For example, cairo.pc is for the usecase which the built cairo libraries are installed (to /usr or /usr/local etc) and sources are already removed, and cairo-uninstalled.pc is for the usecase which the developer builds cairo and another library or another application dependent with cairo at the same time (both are in working directories and not installed).
I should consider how "Libs" and "Libs.private" should be handled, but anyway, please let me know the assumed usecase of this. Should I ask to FreeType developers?

oh, I found "make install" on GNU/Linux returns as
make: *** No rule to make target 'install'. Stop.

It's time to discuss the structure of the installed files, or suspend it and work as SVGNativeViewerLib-uninstalled.pc.

@dirkschulze BTW, maybe current patch writes the configured pc file into the source directory. Maybe writing it into the working binary directory would be safer for the case like a developer builds for multiple Unix-like platforms under single source directory (as Build/linux and Build/mac). Please find  94a258b883d41aba04b4f98d81c8fedcf42bf3ca.

@mpsuzuki To be honest, I didn't work with pkg-config at all so far. I noticed that the binary path does not lead to the actual build target (Debug/ vs Release/ folder). One reason for that is that the final build path depends on the compiler system. On Linux, there wouldn't even be a Debug/ or Release/ folder. As a result, the script should work fine on Linux but maybe not on Windows.
The final destination of the binary can not be determined while running the configure because of the issue above. One way would be to add pre-processor macros for each system which add the build target folder structure. Not sure if that is the best way but it is the only way I can think of right now.
To un-install: I didn't even think about that nor did I look into make install. Do you have any experience and suggestions beside the final destination of the generated .pc file? (You may commit to the branch directly btw.)

@dirkschulze I see, I understand why "install" target is not in current CMakeLists.txt.
The popular development style on GNU/Linux assumes as: the required libraries are installed as system-wide components, and pkg-config is the (very poor but) unified interface to query and retrieve the information how to use them. Of course, the users are expected to install the required libraries (as system-wide components) to develop or use the application. The modern package managers like apt (of Debian) or yum (of RedHat) would resolve the dependency and download/install the required libraries automatically. By these triggered installation, pc files are installed too, and they become discoverable.
But on MS Windows, such development style would be irregular. The applications are expected to be packaged with all required libraries, and the developer should not expect the users to install the third party libraries by themselves as system-wide components (it may cause DLL hell). Thus, in the popular application development for MS Windows, pkg-config (and pc files) is not useful so much. I guess, the developers on MS Windows would place the source or binaries of the required libraries into their building source tree (like svg-native-viewer/thirt_party). I guess the usage you assumed was something like such. In such case, without some tricky usage (to access uninstalled pc file), pkg-config command would be unable to find the pc files of the component libraries, it would not be helpful.

I noticed that the binary path does not lead to the actual build target (Debug/ vs Release/ folder).

Indeed. Because pkg-config was originally designed to be collaborate with GNU autotools which can build static & shared libraries at once, at the same directory, so its affinity with CMake is not good. Even if we can generate different pc files for Debug and Release, pkg-config command does not have the interface to choose one of them.
So... except of the developers working with Cygwin or Mingw, most developers on MS Windows would not be much careful about pkg-config file, I think.

Do you have any experience and suggestions beside the final destination of the generated .pc file? (You may commit to the branch directly btw.)

Usually, the final destination of pc files (xxx.pc, designed to be used after the installation) would be /usr/lib/pkgconfig or /usr/local/lib/pkgconfig. The uninstalled pc files (xxx-uninstalled.pc, designed to be used after the building but before the installation) would be the top build directory (in the case of our README.md, Build/mac or Build/linux). Your question "how we can distinguish pc file for Release and for Debug?" is very reasonable, but pkg-config cannot serve for such request. So I think CMAKE_CURRENT_BINARY_DIR is acceptable.
Now I'm asking about the appropriate directory structures for the headers, to @lemzwerg and @moazin , please let me wait for their response, for a few days. I would commit something to pkg-config branch.

I suggest to put all header files into a subdirectory.  Assuming that the installation prefix is /usr/local/, this could be /usr/local/include/svgnative.
Another question is how DLL versioning will be done.  Dirk, what solution do you envision?  The standard solution is to decouple tar bundle versions from library versions, as described here.

@lemzwerg at present, DLL versioning is just done for Windows platform PR#57 I guess, what you meant as "DLL versioning" was a general issue about the versioning of shared libraries, but calling it as DLL versioning might have misguided Dirk. As we have discussed about "make install" (and the assumed usage of this library) subsidy, the versioning of Win32 DLL is not so much important except of Cygwin or Mingw users. Soon I would tweak CMakeLists.txt for other platforms. As soon as I draft the tweak, I would open another Issue or PR, please let discuss in there.

Just I've made my PR to pkg-config branch 60.

@mpsuzuki Can I close this PR in favor for #60 ?

OK, let's continue discussion at there. Thanks!


Update create-apply-retention-labels.md

typo

No changes to merge, typo probably already fixed, closing.


Multi editor instances are problematic

Currently the ng-quill tried to bind Quill editor to a single editor by css selector. If I added more than one editors in one pages, It will be problematic.

it is not problematic --> it is an component und based on the element name.
there is an optional attribute "name" where you can register your editor with a name --> after Editor creation you can grab the instance and the name.

@KillerCodeMonkey  Thanks. I will try it later.

Hi @KillerCodeMonkey , confirm the problem in my case.
You defined name  bindings  like this:
'name': '@?',

It does not support expression, in my application, I used editor in ng-for iteration, I have to make sure it generates an unique editor name for every item, right?
I set name= 'editor{{$index}}' etc, it does not work.

@KillerCodeMonkey  or you have some good idea to overcome this barrier currently.

name='editor{{$index}}' should work in my opinion {{index}} should be evaluated before passing to the quill directive.
Could you inspect your HTML in the browser if {{$index}} is replaced with 0, 1, ...?

@KillerCodeMonkey  Sorry for my mistake, maybe the error caused by importing Quill 1.x. I have not digged  into the details.

no probs ;)


Allow to resize views with keybindings only

Provide commands to resize the active view using keyboard only.

perfect, thanks
if I can get my debug working across repositories I can get onto this...

@cleidigh what is the issue you are seeing?

see #22642
I've been working on it/confused as hell for the last three days
just concluded fresh check out/direct clone does not dbg but no error output
the executable just launches

@bpasero
you can sign me up for this officially...

@cleidigh looks like the workaround for you is to debug from one workspace to work on this.

@bpasero
and now back to our regularly scheduled programming...
Sorry, the debug problem and SCM/keyboard issues sidetracked me tremendously
but I learned a lot - that's a good thing the nature of the beast.
I got a cleaned up branch of my first resize implementation. I think it's
ready for a pull. I want to make sure I get feedback before I go too far
given this is my first pull. Note: it's also my first git project ,
it wasn't around when I was doing my work before (shows my age ;-)
This prototype works on the sidebar, the panel and one editor.
I'll comment more in the pull

Ok, lets discuss further inside the PR.


Installer ?

Hi Thanks for the virtio windows drivers,
I grabbed the iso, but having to go through the device manager is a lot less convenient than being able to use an installer.
Are there any plans to provide an installer ?
S

Hi,
There are no current plans to create the installer.
But the driver packages are DPInst ready (https://technet.microsoft.com/en-us/ff544842(v=vs.96)). You can get it from MS and put it in the specific driver directory and then run it to install the driver.
Best regards,
Yan.

Hello All,
We are open sourcing our installers: https://github.com/virtio-win/virtio-win-guest-tools-installer
Best regards,
Yan


[BUG] - Permission to create environment in shared namespace

Describe the bug
I am unable to create an environment in a shared namespace via Conda Store.  Another user on the same deployment of Nebari has the same experience.  Our admin says we are in the shared user groups, so we should be able to create envs in those namespaces.  I am able to view and use existing shared environments, but I cannot create one.

Expected behavior
I expected to be able to click on the plus symbol in a shared namespace and create an environment.
OS and architecture in which you are running Nebari
AWS
How to Reproduce the problem?

log into Nebari
click on Environment Management
click on user icon to be sure you are logged in
expand a shared namespace (e.g., Analyst, Global, etc.)
click on the plus symbol (or hover over symbol to see if permission is given or denied like in screenshot above)

Command output
No response
Versions and dependencies used.
Nebari version: v2023.5.2.dev151+gc6941f3d.d20230727
Compute environment
AWS
Integrations
Keycloak, conda-store
Anything else?
No response

I added @ericdatakelly to the admin group and he is now able to create environments as expected.

@kcpevey Could you please confirm if this Nebari deployment used the default Keycloak roles set by Nebari? Double-checking because I believe we can update this configuration in Keycloack later if needed, and I'd like to verify that this is a bug in Nebari vs. a case of better documentation. :)

@pavithraes the configuration matches the default.

I assumed that users in the analyst group only the had view access to the conda-store. It is still bizarre that they have the same role mapping as developer. This will need to be investigated further.

We might also need to modify how the role_bindings for developer role:
https://github.com/nebari-dev/nebari/blob/aab5f3f17b14fdc1ce164a94fa81fc975eab5a19/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/conda-store/config/conda_store_config.py#L123-L127

Ref to conda-store role mapping:

Next steps for @fangchenli:

Fix the main bug here, i.e., get the "conda_store_developer" which has edit privileges working
Scope the new design for analyst/developer/admin groups and roles & look into https://github.com/nebari-dev/nebari/issues/1333

We might also need to modify how the role_bindings for developer role:
https://github.com/nebari-dev/nebari/blob/aab5f3f17b14fdc1ce164a94fa81fc975eab5a19/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/conda-store/config/conda_store_config.py#L123-L127

The output for role_bindings looks correct to me. I moved role bindings related code to one method, and here is a simple test.
user = "John Doe"
default_namespace = "default"
roles = {"developer"}
groups = {"group1", "group2", "group3"}
role_bindings = create_role_bindings(user, default_namespace, roles, groups)

result:
{'John Doe/*': {'admin'}, 'default/*': {'viewer'}, 'global/*': {'developer'}, 'group3/*': {'developer'}, 'group1/*': {'developer'}, 'group2/*': {'developer'}}

This has been resolved at the conda-store level. Nebari needs to be upgraded to V2 role mapping to resolve this issue.

I've verified that this is still an issue. As Kim said above, this can be resolved by upgrading to v2 of conda-store API.

xref: 2090

This will be taken care of as part of the permissions overhaul. Blocked until that work is further along.
xref: https://github.com/nebari-dev/governance/issues/47

This is resolved by the permissions overhaul.
Keycloak admins can assign fine-grained permissions for certain namespaces with view, edit admin access
https://www.nebari.dev/docs/how-tos/fine-grained-permissions#conda-store-scopes


[CI] Test against Ruby 2.5

Coverage remained the same at 96.972% when pulling 176af5030aa9e52661a8f265174bb1053a37c30b on nicolasleger:patch-1 into 56fbf9964f595b801f1fe44108e42757d8c125d0 on dashofcode:master.

Coverage remained the same at 96.972% when pulling 176af5030aa9e52661a8f265174bb1053a37c30b on nicolasleger:patch-1 into 56fbf9964f595b801f1fe44108e42757d8c125d0 on dashofcode:master.

Coverage remained the same at 96.972% when pulling 176af5030aa9e52661a8f265174bb1053a37c30b on nicolasleger:patch-1 into 56fbf9964f595b801f1fe44108e42757d8c125d0 on dashofcode:master.


a script that will create a new post in your site, and update .., eventually pushing ...

a script that will create a new post in your site, and update some meta data information (version - see below), eventually pushing the changes back to github.

Prepare a script (choose whichever language) that will take one parameter:

either dev, in which case, it will:

create a new post using markdown with yaml frontmatter format,
use the output of [fortune](http://manpages.ubuntu.com/manpages/xenial/man6/fortune.6.html) command as content,
and increment the version of the site by 0.0.1,
compile the site,
commit and push the sources (markdown files) and build site (html) back to github

or staging, in which case, it will:

take the last known version of the site,
increment the version of the site by 0.1.x (e.g. move from 0.1.5 to 0.2.0)
compile the site
commit, tag and pus to github

Create a new post in your site

either dev, in which case, it will:

create a new post using markdown with yaml frontmatter format,
use the output of [fortune](http://manpages.ubuntu.com/manpages/xenial/man6/fortune.6.html) command as content,

Create a new post in your site

either dev, in which case, it will:

create a new post using markdown with yaml frontmatter format,
use the output of [fortune](http://manpages.ubuntu.com/manpages/xenial/man6/fortune.6.html) command as content,

For dev

commit and push the sources (markdown files) and build site (html) back to github
Version not included to be pushed?

For dev

commit and push the sources (markdown files) and build site (html) back to github
Version not included to be pushed?


Expose a public ConcurrentRequestCount property on ClusterState, like DestinationState

We use different clusters for rolling out updates to our software. To support rollout we want each YARP server to monitor the outgoing clusters for remaining connections. When this drops to zero for a cluster, the YARP server communicates this to a central location and drops the reference to the ClusterState. Once all YARP servers have reported the cluster as drained (or a timeout occurs) we mark the deployment as complete.
DestinationState has a public ConcurrentRequestCount property that works the same way, by exposing ConcurrencyCounter.Value. I didn't add the setter in this PR (DestinationState says it is only for testing) in the interests of a making the change smaller.

Please don't submit PRs without first filing an issue to discuss the requirements and design.

Please don't submit PRs without first filing an issue to discuss the requirements and design.

Sorry about that.
I'm going to look into the weak reference thing for our use-case. That would still mean polling the outgoing resources. Do you want me to open an issue for destination/cluster draining monitoring in general? YARP could possibly help here e.g. by allowing you to listen for "draining complete" events, etc.

Yes, please open an issue for the general scenario and we can look into possible solutions.

Ok -- https://github.com/microsoft/reverse-proxy/issues/2225


Is there any way to use .po files instead of .json files for translations?

Problem/Motivation:
Many translations are done by external translators that usually work with POEditors to create the translations and save them into the corresponding .po files. .po extension is very popular and useful to manipulate translation files.
Desired solution:
I would like to have the possibility to use .po files in the same way I'm using json files.
Additional context
I've tried to use the module "https://github.com/openculinary/i18next-gettext-loader" but this plugin seems to be more like a node tool to convert po files to json files than a plugin to add on the fly .po files compatibility.
Thanks in advance.
Regards

Yes. You need a webpack loader to load .po files. Then, instead of locales/en/common.json you can use locales/en/common.po, or using a different structure defining the loadLocalesFrom config prop.


Explicitly name all exports

New script to replace any wildcard exports with exports naming everything we export

closing in favor of #401


live <= master

Docs Build status updates of commit a1ae5f1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.github/workflows/VerifyAdvocateYAML.yml
:white_check_mark:Succeeded

advocates/ornella-altunyan.yml
:white_check_mark:Succeeded
View

validation/AdvocateValidation.csproj
:white_check_mark:Succeeded

validation/AdvocateValidation.sln
:white_check_mark:Succeeded

validation/Directory.Build.props
:white_check_mark:Succeeded

validation/Program.cs
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Rasa duckling image

What problem are you trying to solve?
I am using the rasa/duckling and we have detected 4 high vulnerabilities in the image. I have seen that the images was updated 7 months ago. Do you have any spected date to patch this vulnerabilities? https://hub.docker.com/r/rasa/duckling
`✗ High severity vulnerability found in zlib/zlib1g
Description: Out-of-bounds Write
Info: https://snyk.io/vuln/SNYK-DEBIAN10-ZLIB-2433934
Introduced through: meta-common-packages@meta
From: meta-common-packages@meta > zlib/zlib1g@1:1.2.11.dfsg-1
Fixed in: 1:1.2.11.dfsg-1+deb10u1
✗ High severity vulnerability found in openssl/libssl1.1
Description: Loop with Unreachable Exit Condition ('Infinite Loop')
Info: https://snyk.io/vuln/SNYK-DEBIAN10-OPENSSL-2426310
Introduced through<EMAIL_ADDRESS>From<EMAIL_ADDRESS>><EMAIL_ADDRESS>From<EMAIL_ADDRESS>Fixed in: 1.1.1d-0+deb10u8
✗ High severity vulnerability found in gmp/libgmp10
Description: Integer Overflow or Wraparound
Info: https://snyk.io/vuln/SNYK-DEBIAN10-GMP-1920939
Introduced through: gmp/libgmp10@2:6.1.2+dfsg-4<EMAIL_ADDRESS>From: gmp/libgmp10@2:6.1.2+dfsg-4
From<EMAIL_ADDRESS>><EMAIL_ADDRESS>> gmp/libgmp10@2:6.1.2+dfsg-4
From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>> gmp/libgmp10@2:6.1.2+dfsg-4
Fixed in: 2:6.1.2+dfsg-4+deb10u1
✗ High severity vulnerability found in gcc-8/libstdc++6
Description: Information Exposure
Info: https://snyk.io/vuln/SNYK-DEBIAN10-GCC8-347558
Introduced through<EMAIL_ADDRESS><EMAIL_ADDRESS>meta-common-packages@meta
From<EMAIL_ADDRESS>From<EMAIL_ADDRESS>><EMAIL_ADDRESS>From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>What's your suggested solution?
Update the image
Examples (if relevant)
No response
Is anything blocking this from being implemented? (if relevant)
No response
Definition of Done
No response

Thanks for submitting this feature request 🚀 @ancalita will get back to you about it soon! ✨

A new duckling build is on its way. I'll come back with more information once that is done.

Fresh from the oven 👨🍳 🍪
docker pull rasa/duckling:<IP_ADDRESS>

We plan to set up a workflow that automatically rebuilds Docker images when there is a system vulnerability.
We want to implement it in duckling, Rasa, Rasa X, etc.
For the time being, we do it on request basis.


resolve all addresses

Fixes https://github.com/vapor/vapor/issues/1086

cc/ @ckd, @vzsg, @TG908 can you confirm if this fixes the localhost resolve issue? If so, I can merge and tag as 2.2.0.

I'll give it a try soon.

I manually checked out the all-resolved-addresses branch in my .build folder to test this. I see that two addresses are returned for localhost; however, neither could connect successfully...
So I tried using Node instead of Python's SimpleHTTPServer to see if it makes a difference, and it worked! Unfortunately, it also worked without this PR applied, so @TG908's observation about Python binding to IPv4 only seems to be on the spot.

tl;dr: This is definitely an improvement, although doesn't fix the original issue, as the engine client still doesn't fall back to IPv4, unlike the stronger FoundationClient.

I think the issue is with the socket descriptor. The same socket descriptor is used for both IPv4 and IPv6.
		var conf = Config.TCP(addressFamily: address.addressFamily)
		let resolved = try address.resolve(with: &conf)
		let descriptor = try Descriptor(conf)

The descriptor is only set once for the first address

@TG908 if you have time, implementing that as a PR into this all-resolved-addresses branch would be great. Otherwise, I will take this task when I have time.
Thanks!

Done #139

I can't figure out why the tests fail on the ci. They all succeed on my local machine. And I dont think we even modified any files that the failed test depends on.
/home/ubuntu/sockets/Tests/SocketsTests/SelectTests.swift:24: error: SelectTests.testOnePipeReadyToWrite : XCTAssertEqual failed: ("0") is not equal to ("1") - Wrong write count
fatal error: Index out of range

I've fixed the spacing (looks like some things became tab spaced making it look like more code was changed) and also made the tests not crash w/ index out of bounds.
I'm also seeing this issue locally on Sierra w/ Swift 4. Maybe it's a Swift 4 only issue?

It appears the issue only happens when the tests are all run at the same time. They pass when run separately.

I think I figured it our #141


Suggestion: Improvment

The login feature only supports google API. I would like to recommed to add a Github login & a microsoft login(Both personal & office 365) logins in order to build a suitable and reliable user friendly app. It should also offer some subscriptions like weekly or monthly subscriptions. People think that weekly subscription is good for them. That's why I am suggesting it.
I would like to help you. You may view my profile and my previous projects to see if i am able to contribute to your project or not.
Mail<EMAIL_ADDRESS>

Thanks for your suggestion. These are all great ideas. ✨
Please feel free to work on any improvements you're interested in.
Your contributions are very much welcome. 😊
I'll also open separate issues for these.