tldjs.getDomain('acc1sub1-dot-moisestest.appspot.com') returns 'acc1sub1-dot-moisestest.appspot.com'

Hi,
I'm just testing this library and I'm surprised by this results:
tldjs.getDomain('acc1sub1-dot-moisestest.appspot.com') returns 'acc1sub1-dot-moisestest.appspot.com'
Shouldn't return appspot.com instead ?
tldjs.getSubdomain('acc1sub1-dot-moisestest.appspot.com') returns 'acc1sub1-dot-moisestest.appspot.com'
Shouldn't return acc1sub1-dot-moisestest instead ?
Thanks in advance.

Hi @mbelchin,
Thanks for reaching out! I get slightly different results for this domain (with latest version of the rules):
> tldjs.parse('acc1sub1-dot-moisestest.appspot.com')
{ hostname: 'acc1sub1-dot-moisestest.appspot.com',
  isValid: true,
  isIp: false,
  tldExists: true,
  publicSuffix: 'appspot.com',
  domain: 'acc1sub1-dot-moisestest.appspot.com',
  subdomain: '' }
> tldjs.getSubdomain('acc1sub1-dot-moisestest.appspot.com')
''

The result is still surprising, but it can be explained by the fact that appspot.com is a valid public suffix according to the rule-set we use. It's a long standing issue that is not trivial to fix unfortunately. It was recently reported in #117 (and others before). The current state is this:

This is a long-standing and known issue which is not trivial to fix. It stems from the fact that the public suffix list was originally designed to check under which domains, sub-domains can be registered, and cookies can be set. In turn, it can lead to surprising/un-intuitive results such as the ones you encountered.
We've thought about this situation in the past, and I can see a few solutions, none of which is perfect. But maybe it would be "good enough":

One hacky fix you can use right now without any update of TLD is to detect when domain is null, and instead use the value publicSuffix as the domain. This will work for a lot of domains (I will try to investigate more how many domain would return the wrong result with this solution, but I expect not so many).
There are currently two parts in the public suffix list: ICANN and PRIVATE. I suspect that most of the surprising cases come from the PRIVATE part. We could add an option in tld.js to only take ICANN domains into account (this would fix the examples you found and many others).
Combine both 1. and 2. (most of the counter-examples seem to be japan domain, but we need to investigate a bit more to see if there are some non-trivial cases).

None of the solution is perfect as there are known counter-examples. If this is an option for you, I would suggest you give a try to 1. and I will try to implement 2..
Also, as far as I know, this should be a limitation for all libraries using the public suffix lists unfortunately.

I did not have time to experiment with the proposed solution since then unfortunately. But if 1. works for you, that could be a reasonable work-around until then.

Hi, thanks for that quick and detailed answer.
I'm gonna try the 1. approach.
Just one clarification, when you say

One hacky fix you can use right now without any update of TLD is to detect when domain is null, and instead use the value publicSuffix as the domain

you meant subdomain right?
becase
> tldjs.parse('acc1sub1-dot-moisestest.appspot.com')
{ hostname: 'acc1sub1-dot-moisestest.appspot.com',
  isValid: true,
  isIp: false,
  tldExists: true,
  publicSuffix: 'appspot.com',
  domain: 'acc1sub1-dot-moisestest.appspot.com',
  subdomain: '' }

parse will return empty for subdomain

@mbelchin Right, I think the "trick" works for a slightly different use-case. If you would try to parse appspot.com, then publicSuffix would be appspot.com and domain would be empty. In this case you can use publicSuffix as the domain.
On the other hand, in your case, checking if subdomain is empty is not enough information to know what the actual domain is. Which means we will have to implement something to allow retrieving only ICANN domains and not PRIVATE ones, but even that will not work 100% of the time. I will try to find time for that in the next few days.


Add an InitialDirectory property to the folder browser dialog

Fixes https://github.com/ookii-dialogs/ookii-dialogs-wpf/issues/35

@augustoproiete its two month now. Do you have a timeline for me? A PR is all I can do, what else do you expect?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: Patrick Stalph:x: nzainPatrick Stalph seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

well... I don't think this is gonna happen. Giving up 👎

No prob. feel free to reopen if you change your mind.


[BUG] ERROR:root:Connection timed out, check you have a stable internet connection!

Describe the bug
ERROR:root:Connection timed out, check you have a stable internet connection!
To Reproduce
savify "https://open.spotify.com/album/49dHzRWF2ywOfl7KLkOoGN" -q best -f mp3 -o "./" -g "%artist%/%album%"
Desktop (please complete the following information):

OS: MacOS Catalina
Version 10.15.7

Any update on this ? Getting this error every time I try this, on every computer, for every playlist, even using a brand new client ID & secret (newly created app).  And I haven't used savify in over 6 months so I doubt I exceeded any threshold ?

New CLIENT ID / Secret does not work.  This happened after a successful download.
• OS: Windows 11
Version	10.0.22631 Build 22631


rpm link in RHEL7+ installation instructions return 404

I'm working on installing ag on a Centos 7.2 machine, so I'm following the instructions for RHEL7+. When I try to run the first step:
rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
I get a 404 error (same thing if I just paste the URL into a web browser).
Any recommendations?

try this instead yum install epel-release.noarch
then yum install the_silver_searcher

Thanks, @jschpp. That worked! I've opened #929 to update the README if you don't mind giving that a look.

Fixed by #929.


Serde Protojson support

Fixes #165
Note:

Some types needed to be excluded given they depend on tendermint-proto which also does not implement protojson.

Thanks for reviewing when you get a chance @romac 🙏

Thanks a lot for the PR, looks good to me!
Will leave the last word to @Farhad-Shabani in case this impacts ibc-rs, but I suspect not.

@Farhad-Shabani thank you 🙏. Could we get a release published?

https://github.com/cosmos/ibc-proto-rs/releases/tag/v0.40.0
Thanks @Farhad-Shabani!


remove embedded-status from tekton-config

Refer: PLNSRVCE-1299

Signed-off-by: Avinal Kumar<EMAIL_ADDRESS>

Hi @avinal, although looking at PLNSRVCE-1299, the purpose of this PR is clear to me but considering Pipeline-Service an open-source repo, IMO it will be good idea to at least briefly explain/copy-paste the purpose/impact in the PR description. Hopefully I make sense to you.

/hold
I will be modifying this PR according to discussion in the stand up call.

/test pipeline-service-test

pipeline-service-test seems to be flaky because of hypershift. Forcing merge.


Mana-Infuser doesn't pull from spark the same way as Terrestrial Agglomeration Plate?

Version: 1.2.4
If I try to make either Terrasteel or Alfsteel using the Mana-Infuser, it seems to only pull from sparks that have the recessive augment, whereas the Agglomeration Plate will pull from all sparks. Is this intentional?

You need to put the dominant spark augment on the plate. I think it also says this in the guidebook, so it's intentional I think.

Ah, my bad. It does indeed say that in the book.
Although, it might make sense to highlight it (like the Agglo Plate already is on that page) so it is more visible to people like me who just skim through the book without fully reading it.
(I'll leave this open if noeppi wants to mark it as an enhancement or close it)


(new) Java version shows "Automatic merge" commits

I compiled and installed the new java version of your plugin (loving the new layout!).
However, since doing that I see strange "Automatic merge" commits, which I assume Stash does to see if pull requests can be merged correctly.
I assume these should not appear in the graph?
See also the screenshot:

Hey Nicky,
Thanks for checking out the new version, i'm glad you like the new layout.
Stash has the ability to do automatic merges if you set it up to do so.  / settings / branching model / automatic merge. Also, Stash doesn't need to commit to the repo to see if a PR can be merged cleanly.
One bug I am seeing though is that you have a node with no children and it does not have a branch name or tag. I'll try to recreate this problem, but in the mean time it would be extremely helpful if you could provide me the following:

A taller snapshot capturing the top 10+ commits on the graph with their corresponding commit hashes.
Then getting a snapshot of this git command git log --branches --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %Cgreen(%ci)' --abbrev-commit --date=relative. It should look something like this:

Can you also confirm that the "automatic" commits are in the commits tab as well?

They are not in the commits tab.
git log output:
*   6ea587b - (HEAD, develop) (2015-02-13 14:02:32 +0100)
|\
| * a3a92ce - (2015-02-13 14:01:20 +0100)
|/
*   a35dd96 - (2015-02-13 09:54:03 +0100)
|\
| * 61b52de - (2015-02-13 09:42:14 +0100)
|/
*   e287acd - (2015-02-05 15:56:08 +0100)
|\
| * 4e3d3cc - (2015-02-05 15:54:12 +0100)
| * 7c4260f - (2015-02-05 15:30:20 +0100)
|/
*   2ce1e68 - (2015-01-21 09:28:19 +0100)
|\
| * d0acf9b - (2015-01-21 09:27:06 +0100)
| * b2a72be - (2015-01-21 09:20:30 +0100)
|/
*   128b7a5 - (2015-01-20 16:53:36 +0100)
|\
| * d927671 - (2015-01-20 16:52:13 +0100)
|/
*   d6d4b2d - (2015-01-20 11:22:53 +0100)
|\
| * fab62a8 - (2015-01-20 11:20:02 +0100)
| * ca9e489 - (2015-01-20 10:50:00 +0100)

And attached you'll file the last few commits according to the network.

Thanks for the quick response.
This is very strange, indeed. So we're concerned about this commit ed52fc9823a.
I've got some assumptions I can test when I get the time. If you have any other information you think might be helpful toss it my way. I really appreciate you bringing this issue up, hopefully I can get this ironed out soon.

Yeah it looks like it does this every time after I create a pull request, but I am not 100% sure.
If I click on the commit stash also shows it is not on any branch.

On my local copy of Stash 3 when I create a PR it does not create an extra commit. I'm not sure where it's coming from. Would you have any additional plugins that could be committing on your behalf?

I was able to reproduce this on Stash 2.12.x. I'll try here in a bit with Stash 3.x. Either i'll look into why this is happening.

What's very strange is I do not see this behavior on Stash 3.0 through 3.6. I'm going to ask some of the Stash devs about this, but it looks like there isn't much I can do here.

Can you confirm that you are on Stash < 3?
I'll get with the devs and see what's going on in Stash 2.x.

https://answers.atlassian.com/questions/12271649/automatic-merge-commit-when-pr-is-approved

I am on Stash 3.6....

Updated the stash question for both versions.

Could you do me a favor and try building the stash/3.x branch again? I have spoken with an Atlassian dev that gave me some pointers that should have fixed this issue.


release to master

:tada: This PR is included in version 1.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Enable JIT tracking for portable PDB debugging

Setting JIT tracking to true adds the DebuggableAttribute.DebuggingModes.Default
flag to the generated Debuggable attribute
See https://msdn.microsoft.com/en-us/library/system.diagnostics.debuggableattribute.debuggingmodes(v=vs.110).aspx
Without this flag I see the following message when debugging unless I have "Debug project code only: do not step into framework code" unchecked to allow stepping into framework code.
Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=55092

@KevinRansom How can I repro the bug? Setting the flag worked for my simple test code (default console app)

@KevinRansom Could this be related to https://github.com/dotnet/coreclr/issues/11090? Note that that is actually on full framework, but I think RyuJit is the same between full and core?

0x53a
It's this issue:  https://github.com/dotnet/coreclr/issues/3541.  I need to get a hurry on and move to net standard 2.0

I think I would prefer working debugging to working IVT :D

Debugging works fine, there is just a scary dialog.  Anyway the bug is fixed in 2.0, so we can soon switch back.
From: Jason Imison<EMAIL_ADDRESS>Sent: Friday, April 21, 2017 11:16 AM
To: Microsoft/visualfsharp<EMAIL_ADDRESS>Cc: Kevin Ransom<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/visualfsharp] Enable JIT tracking for portable PDB debugging (#2899)
I think I would prefer working debugging to working IVT :D
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvisualfsharp%2Fpull%2F2899%23issuecomment-296235222&data=02|01|Kevin.Ransom%40microsoft.com|526ddb6f5b3d4c03304908d488d1a514|72f988bf86f141af91ab2d7cd011db47|1|0|636283881417700860&sdata=3EUBvFuMsvWDzSSNR6GRV1qJQ1B1d%2BXKFnRdibbq1hE%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAE76FtVln89QwdeVWmYVyvYLmmX9lT60ks5ryNYngaJpZM4NEeqk&data=02|01|Kevin.Ransom%40microsoft.com|526ddb6f5b3d4c03304908d488d1a514|72f988bf86f141af91ab2d7cd011db47|1|0|636283881417700860&sdata=AYfzcNSbAGj%2BQDtiLKVVZgwFUqDZpVCfp1bpnYwP6ik%3D&reserved=0.

Ah... it doesn't work fine in VS for Mac though. There is no dialog to show why debugging isn't working. I can patch fsharp/fsharp for OSX though.

I will pull this PR. It’s a change that has to happen anyway.
From: Jason Imison<EMAIL_ADDRESS>Sent: Friday, April 21, 2017 11:29 AM
To: Microsoft/visualfsharp<EMAIL_ADDRESS>Cc: Kevin Ransom<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/visualfsharp] Enable JIT tracking for portable PDB debugging (#2899)
Ah... it doesn't work fine in VS for Mac though. There is no dialog to show why debugging isn't working. I can patch fsharp/fsharp for OSX though.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvisualfsharp%2Fpull%2F2899%23issuecomment-296238667&data=02|01|Kevin.Ransom%40microsoft.com|027b3bde81a843f8686b08d488d383cd|72f988bf86f141af91ab2d7cd011db47|1|0|636283889407363050&sdata=Ih5Wyj7WGSVO2n498bFpyKkwK%2Bpm0RYgFFIRXyiR%2FiU%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAE76Fgn013gs-4oUGuVRzPVNRL6NMGKgks5ryNlKgaJpZM4NEeqk&data=02|01|Kevin.Ransom%40microsoft.com|027b3bde81a843f8686b08d488d383cd|72f988bf86f141af91ab2d7cd011db47|1|0|636283889407363050&sdata=Fj3YEB7ccU0MmjrtUZPnQDFMw4NBxB4krH36HXgDigE%3D&reserved=0.

@KevinRansom : Thanks!

Build debug coreclr and try to run the compiler.
From: Jason Imison<EMAIL_ADDRESS>Sent: Friday, April 21, 2017 10:58 AM
To: Microsoft/visualfsharp<EMAIL_ADDRESS>Cc: Kevin Ransom<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/visualfsharp] Enable JIT tracking for portable PDB debugging (#2899)
@KevinRansomhttps://github.com/KevinRansom How can I repro the bug? Setting the flag worked for my simple test code (default console app)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/visualfsharp/pull/2899#issuecomment-296230814, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AE76FmvHk_6JLFjgrvsQ2Y7Th_s0OYl9ks5ryNIdgaJpZM4NEeqk.


Add context.date

This PR adds a new deterministic date to the context.
ctx.date.now() -> is the unix epoch time

ctx.date.toJSON() -> is the JSON representation of the current time

Hi Igal, for this kind of user-facing changes. Can we file an issue in the documentation to update this?


About the experimental results in Table 1

Sorry to bother you. I'm very interested in this excellent work, DeepI2P: Image-to-Point Cloud Registration via Deep Classification. I ran the code you released on the Oxford dataset. However, I found that point clouds are not randomly rotated and translated during the test phase. Is this released code not consistent with the experimental settings in the paper?  Or are the experimental results in Table 1 obtained on the point clouds without random rotation and translation? Thank you very much!

Hi,
I'm trying to evaluation this code in Oxford dataset these days. However, I can't figure out the specific steps to run this code. Could you tell me about how you did it?
Thanks!

Sorry to bother you, but do you know how to get the rotation and translation shown in Table 1 from the classification problem posed in the original article?


The system cannot find the path specified

Hi!
Trying to install this extension. But after installing and restarting the UI an error is thrown.
I am using the portable build A1111 by Xpuct and all the extensions I have installed are working properly. This build is updated with the original version. FFMPEG and other dependencies are installed, paths are set.
Screenshots of the error THERE
Is there any solution to this problem?

Hi!
Really sorry about this error, can you tell me :

the python version use in your installer?
the webui version?

Thanks

Hello!
Python 3.10.9 (tags/v3.10.9:1dd9be6, Dec  6 2022, 20:01:21) [MSC v.1934 64 bit (AMD64)]
Version: v1.5.1
Commit hash: 68f336bd994bed5442ad95bad6b6ad5564a5409a

I fixed it like this, but I don't know if it's right, but it works.
I assume this is an error in the appdirs  module
I created a .bat with such data, before replacing ..\extensions\sd-wav2lip-uhq\requirements.txt this requirements.txt
set appdata=tmp
set userprofile=tmp
set temp=tmp
set path=git\cmd;python;venv\scripts
call venv\scripts\activate.bat
pip uninstall appdirs

Thanks for your fix,
Appdirs is a depreciate package, i'm ok with the solution
I close this issue because it not due to sd-wav2lip-uhq
Thanks

Do you know why it can be created appdirs? I can't find an extension yet that creates this module from time to time.

I think that came from your installer :
Installer


iOS crash when opening my app from another app

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Flutter ver 3.10.1 iOS 15.7, iOS 16.0
Try to pen flutter app through another app using "ourApp://" url.
Expected results
Our application opens.
Actual results
Crash.
But when we use "ourApp://ourApp.ourDomain.com", "ourApp://ourApp.ourDomain.com/history" etc. then app opens without crash.
Code sample
Code sample
//  from:
//  @UIApplicationMain
//  @objc class AppDelegate: FlutterAppDelegate
override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return super.application(app, open: url, options: options) // crash
    }
override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        let newUrl = url.absoluteString == "ourApp://" ? URL(string: "ourApp://ourApp.ourDomain.com")! : url
        return super.application(app, open: newUrl, options: options) // opens
    }
override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return true // opens
    }
override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return false // opens
    }
/*
We suspect something in the method application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool in FlutterAppDelegate.
In the previous version of Flutter, all of the above cases would open the app.
We use an external authentication application that sends such a shortened url like "ourApp://".
*/

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
// from Xcode console
2023-05-22 08:58:30.941296+0200 Runner[868:26805] [ACT]:[LOGMANAGERIMPL]:[Error]:Caught unhandled exception name=NSInvalidArgumentException, reason=*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0], stackTrace=(
	0   CoreFoundation                      0x000000018124bd30 A0035CDB-5410-3AC8-9289-B0B77AFF556E + 601392
	1   libobjc.A.dylib                     0x0000000198a70ee4 objc_exception_throw + 56
	2   CoreFoundation                      0x00000001813466b4 A0035CDB-5410-3AC8-9289-B0B77AFF556E + 1627828
	3   CoreFoundation                      0x000000018135084c A0035CDB-5410-3AC8-9289-B0B77AFF556E + 1669196
	4   CoreFoundation                      0x000000018120b348 A0035CDB-5410-3AC8-9289-B0B77AFF556E + 336712
	5   CoreFoundation                      0x00000001812289a4 A0035CDB-5410-3AC8-9289-B0B77AFF556E + 457124
	6   Flutter                             0x000000010d399228 __30-[FlutterAppDelegate openURL:]_block_invoke + 392
	7   libdispatch.dylib                   0x00000001017e0700 _dispatch_call_block_and_release + 24
	8   libdispatch.dylib                   0x00000001017e1fc8 _dispatch_client_callout + 16
	9   libdispatch.dylib                   0x00000001017f08ac _dispatch_main_queue_drain + 928
	10  libdispatch.dylib                   0x00000001017f04fc _dispatch_main_queue_callback_4CF + 40
	11  CoreFoundation                      0x00000001812070d4 A0035CDB-5410-3AC8-9289-B0B77AFF556E + 319700
	12  CoreFoundation                      0x00000001811c45f8 A0035CDB-5410-3AC8-9289-B0B77AFF556E + 46584
	13  CoreFoundation                      0x00000001811d7250 CFRunLoopRunSpecific + 572
	14  GraphicsServices                    0x00000001a1d06988 GSEventRunModal + 160
	15  UIKitCore                           0x00000001839d9a88 697C7D5C-9761-36E9-8E0F-200035BF3F39 + 5134984
	16  UIKitCore                           0x0000000183772fc8 UIApplicationMain + 336
	17  Runner                              0x0000000100704a10 main + 64
	18  dyld                                0x00000001009704d0 start + 444
)
libc++abi: terminating with uncaught exception of type NSException

Flutter Doctor output
Doctor output
[!] Flutter (Channel stable, 3.10.1, on macOS 13.1 22C65 darwin-x64, locale en-PL)
    • Flutter version 3.10.1 on channel stable at /Users/pbiskup/fvm/versions/3.10.1
    ! Warning: `dart` on your path resolves to /usr/local/Cellar/dart/2.18.7/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/pbiskup/fvm/versions/3.10.1. Consider adding /Users/pbiskup/fvm/versions/3.10.1/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d3d8effc68 (5 days ago), 2023-05-16 17:59:05 -0700
    • Engine revision b4fb11214d
    • Dart version 3.0.1
    • DevTools version 2.23.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/pbiskup/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.76.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.62.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 13.1 22C65 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 113.0.5672.126

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

Hi @huycozy
This is the simplest app that reproduces our crash: testFlutterApp.
To make your job easier, I recommend using: flutterCaller.
I think you can start looking for a solution in the FlutterAppDelegate.mm file with the method - (BOOL)openURL:(NSURL*)url in line 153.
Thank you!

Thanks for your update with sample code. I can see it's crashed with the last option (ourApp://).
But if I use xcrun command instead, it works fine without crashing:
xcrun simctl openurl booted "ourApp://"

Can you please check if it works on an iOS native app?

Thanks for your response. I also see the same behavior as you described. However, it seems to be fixed on the latest master channel since I don't see the issue there.
Can you try this on master channel and confirm?
flutter channel master
flutter upgrade

Yes, it works fine. Thank you!
So we will wait with the update for the stable version with the fix.

Closing the issue as fixed on the master channel. The fix should land on the stable channel in future releases.


Delete trigger should also delete LU intents and LG templates

The LG issues addressed #2150 .
This issue track the LU intents as the further _Interruption contents will be impacted  as well.
Both the trigger utterance and the inputs utterance should be removed.

#2312

@yeze322 refs #2312

@lei9444 what's our status of this issue? If it's not started yet, I can pick it

#2844

addressed via https://github.com/microsoft/BotFramework-Composer/pull/2844


Add new guide for configuring mtls between gateway & authorino/limitador

This will be a new document in the 'Installation' section of https://docs.kuadrant.io
This documents the manual steps that were the outcome of an investigation detailed in https://github.com/Kuadrant/kuadrant-operator/issues/1049
A separate RFC is proposed for the possibility of a more automated way to handle enabling mTLS.
This document is seen as a stopgap, should users desire to enable mTLS in the meantime.

Very nice! :lock: :100: :closed_lock_with_key:

@guicassolato
I've updated the words to make it clearer what has to be updated in EnvoyFilters.
I've also added a note about the changes potentially being undone, and a link to the rfc for people to engage if they'd like this as a feature.
@maleck13
I've added some words to the overview note about ensuring service mesh is enabled, and a reference to Istio CNI (including a link to the sail operator docs).
There is also mention of having at least 1 AuthPolicy or RateLimitPolicy in the pre-reqs section (so an EnvoyFilter exists)
This has now been tested and verified on a local kind cluster and Openshift.
I know you had issues with the istio-proxy container coming up locally when setting up things a little differently that I had. Is that something you want to revisit or are you happy to approve the doc as it is?


Support commas between directives

It would a bit nicer to support semicolons between directives:
value_state = value._state  # pylint: disable=protected-access; noqa: SLF001

in addition to:
value_state = value._state  # pylint: disable=protected-access # noqa: SLF001

Come to think of it, if we had https://github.com/charliermarsh/ruff/issues/2999, we don't need this.


Added middle property to Invert module

Some generators return different ranges of values, and this commit will simplify using the invert module with some custom range generators.

Coverage decreased (-0.002%) to 0.426% when pulling e4011d8215729aa8ea8f48a3e921674e38d9bf8b on dlobi:feature/add-invert-middle into 4164c5061c47b7b98ce12d937ec6ee51aeac8741 on flow:develop.

Coverage decreased (-0.002%) to 0.426% when pulling 164f3798d0bbc576da218126beed77dd2578fbef on dlobi:feature/add-invert-middle into 4164c5061c47b7b98ce12d937ec6ee51aeac8741 on flow:develop.


[maint] Update docker-singularity-publish.yml to run on PR

References and relevant issues
The singularity part of the container building action has begun failing:
https://github.com/napari/napari/actions/runs/9410320408/job/25921910262
It looks like it might be related to the version within the container used for the action.
Description

run the build step on PR to the action, for easier testing
Update the singularity build step to use a newer version of the action which has a newer container image.

Why do not use the same approach as for --pre workflows, so add step that will open issue on failure?


Program crashed

Type: Bug
After I open about 20 tabs, the program crashed and I lost my code
VS Code version: Code 1.74.1 (1ad8d514439d5077d2b0b7ee64d2ce82a9308e5a, 2022-12-14T10:30:51.966Z)
OS version: Windows_NT x64 10.0.19044
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz (8 x 3000)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.84GB (6.70GB free)

Process Argv
--crash-reporter-id 2d775357-8597-4ab3-9905-acca0a467c6a

Screen Reader
no

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

githistory
don
0.6.19

gitlens
eam
13.2.0

prettier-vscode
esb
9.10.4

vscode-jest-runner
fir
0.4.60

auto-rename-tag
for
0.1.10

git-graph
mhu
1.30.0

vscode-language-pack-zh-hans
MS-
1.74.12140931

live-server
ms-
0.4.5

powershell
ms-
2023.1.0

indent-rainbow
ode
8.3.1

logos-vscode
tal
1.0.0

vscode-icons
vsc
12.2.0

vscode-todo-highlight
way
1.0.5

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931:30280409
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
pyindex848cf:30577861
nodejswelcome1cf:30587006
282f8724:30602487
89544117:30613380
pythonsymbol12cf:30657549
a9j8j154:30646983

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.75.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

@deepak1556, could you please take a look at this? Thank you!

Can you attach the crash logs following the steps at https://github.com/microsoft/vscode/wiki/Native-Crash-Issues#creating-a-crash-report, thanks!

I will install back the old version 1.71.3 and have a try(I can't find 1.17.1). By the way, I found my code today when I check my git stash list. It seems like it is stored by an extension or something else

I can't trigger the bug in the past 5 days.


[Bug]: Radial Navigator filterOptions prop is assumed to be an array, though it's allowed to be a string

Steps to reproduce the bug
I'll add the rest in a followup comment.

Screenshot
No response
Expected behavior
No response
Additional Screenshots
No response
Environment
Development (docker)
Sandbox Used
No response
Version
No response
Browser Used
No response

The filterOptions prop is allowed to be a String or an Array (I think I'm reading that right):
https://github.com/SpeciesFileGroup/taxonworks/blob/9a724d05bc436211780c2894819fac825fcd92ff/app/javascript/vue/components/radials/navigation/radial.vue#L113-L116
but when it's used here:
https://github.com/SpeciesFileGroup/taxonworks/blob/9a724d05bc436211780c2894819fac825fcd92ff/app/javascript/vue/components/radials/navigation/radial.vue#L191-L201
it's assumed to be an array, so if you passed it as a String you get an exception.


Template for ap-south-1 region

Feature request
Is your feature request related to a problem? Please describe.
Create template to use for ap-south-1 (Mumbai) Region
Describe the solution you'd like
Add ap-south-1 (Mumbai) as one of Region to launch stack

@yogeshbeniwal
Now, the template for ap-south-1 is available!
Please check it.


Initial commit.

Description

Initial commit setting up the project and adding the ClpIrFileAppender.
Validation performed

Validated unit tests passed.
Installed the package and used a test program to write some logs.
Validated that the logs could be decoded by our closed-source IR stream decoders.

Thanks for the review, @lnbest0707! I think we've addressed all your comments.

@kirkrodrigues thanks for explaining and addressing the comments. LGTM!


Show user provided documentation from /doc (and maybe from /docs)

I've been testing my implementation of showing user docs. This is likely to be one of the more significant (and potentially controversial) implemented features.
Ultimately I think this is going to proceed by doing a trial implementation, running on an existing distro (just limited to packages that have relevant user documentation), and allowing us to examine the effects. But that is not a trivial project, so I want to see if there are any opinions here first.
Some issues:

package.xml supports the doc_depend tag. Is that used anywhere, if so how? If that is for package docs, how does that interact with rosdoc2?
Developer guidelines state that the /doc directory should contain all the documentation. But some packages use /docs instead. Do we support /doc and /docs?
Should we attempt to render user docs that we find, even if they were intended to be rendered with another system?

I'm of two minds about this.
On the one hand, it might be nice to automatically find these doc or docs subdirectories, and be as automagic as possible.
On the other, we may quickly run into exactly the problem you mention; finding documents that are not meant for us.
One compromise between these positions is to have a configuration in rosdoc2.yaml where users can specifically tell us where to find the documentation they want us to render.  Thoughts?

package.xml supports the doc_depend tag. Is that used anywhere, if so how? If that is for package docs, how does that interact with rosdoc2?

The intent of this is that these dependencies should be installed before running the documentation. We don't use it much now that rosdoc2 is more complete. But examples of this might be a tool to generate images programatically such as graphviz (not the best example as I think that rosdoc2 brings that in)
Re: Discovery of /docs vs /doc I agree that we want to provide a way for maintainers to set the directory they want to generate, as well as potentially set the generator mode for it. (aka pick straight markdown, vs rst, vs potentially another approach/engine maybe a full jekyll static site generator as a possible extension.)

This would cross over with the PR #61 where you can also pick a readme and rendering type for it.

I've done some testing of generating documentation from the /docs folders of some real packages. The way this folder is used varies greatly, it is not simply an alternate way of spelling /doc. I will not be recommending that we render the /docs folder by default. Even adding an option is not useful, it is just as easy for a package to rename that folder to /doc if that is the intent.


Should projects that are no longer actively developed be removed?

I investigated PGRestAPI from this list because it seemed promising for my application until I came to this issue where the project maintainer replied

I am no longer actively developing PGRestAPI.

I think they should be removed.

Hey @radumas @stirringhalo just added a ⚠ note to PGRestAPI in #38 - will keep this workflow for now for posterity.

Cool. I'll open an issue and PR with similar format if I find similar dormant repositories.
Not sure why I opened multiple issues, sorry about that.


Projection Catch-up

This PR introduces the Projection catch-up and re-structures the Delivery routines.
Catch-up
A Projection catch-up is a replay of the historical events from the event log on the requested projection instances, starting a certain point in the past.
During the catch-up, the previous state of the catching-up projection instance is killed. The new state then starts to continuously build-up from the historical events, starting from the point in time specified.
Use-cases
Typical scenarios in which a catch-up may be helpful are listed below.

A new Projection type is registered and the instances of this type need to be populated with the historical data.
The business logic of an existing Projection has changed and its instances must be re-built.
A technical failure has occurred somewhere in the past, breaking the state of some of the Projection instances.

Starting a catch-up
The ProjectionRepository now exposes an API to start a catch-up of its instances:

OrderViewProjectionRepository repo = new OrderViewProjectionRepository();

// skipping the registration in the Bounded Context.

Timestamp catchUpSince = ...;
OrderId myOrderId = ...;
OrderId anotherOrderId = ...;

repo.catchUp(catchUpSince, ImmutableSet.of(myOrderId, anotherOrderId));

It is impossible to catch-up the same instance more than once at a time. A respective CatchUpAlreadyStartedException is then thrown.
In case a new repository has been registered and needs to be filled with the projections according to the event history, another API endpoint is available:
QuarterlyReportRepository repo = new QuarterlyReportRepository();

// skipping the registration in the Bounded Context.

Timestamp catchUpSince = ...;

repo.catchUpAll(catchUpSince);

Once the catch-up is completed, a special CatchUpCompleted event is emitted by the framework.
During the catch-up, the live messages dispatched to the catching-up entities are not delivered to them. When the catch-up is completed, the dispatching of the live events continues in a normal fashion. The framework guarantees there will be no events lost during the catch-up.
Configuring the catch-up through DeliveryBuilder
From now on, in addition to delivering the messages sent in a real-time, Delivery dispatches the historical events sent to the catching-up projections. These events are dispatched through the same shards as the live messages. A special CatchUpStation is responsible for handling this use-case. See more on that in the respective section.
To control how many historical events are read and put into shards, the end-users may configure the maximum number of messages read from the history per at a time.
Delivery.newBuilder()
        .setCatchUpPageSize(42)
        // ... the rest of the configuration

This is helpful to balance the per-shard throughput so that the live messages are still dispatched through the same shards in a reasonable time.
The statuses of the ongoing catch-up processes are stored in a dedicated CatchUpStorage, which can also be customized either through the StorageFactory or via the DeliveryBuilder:
Delivery.newBuilder()
        .setCatchUpStorage(myCustomStorage)
        // ... the rest of the configuration

The latter is useful, if the creation of a custom CatchUpStorage requires more application-specific context.
Changes in Delivery
As previously the delivery process for each shard index is now split into DeliveryStage. In the scope of
each stage, a certain number of messages is read from the respective shard of the Inbox.
In the scope of each DeliveryStage, the page of the InboxMessages is placed to the newly introduced Conveyor, which is responsible for tracking the status of each message. The conveyor instance is then run through the pipeline of stations, each modifying the state of the messages in the conveyor.
At the end of the pipeline, the changes made to the messages are committed to the underlying
InboxStorage in a bulk. Such an approach allows minimizing the number of requests sent to the storage.
InboxMessages now have a new Timestamp keep_until field, which tells for how long the message should be kept in its storage after it is delivered. In this way, the already delivered messages are used as a source for de-duplication. As previously, the framework users may configure this value
via the DeliveryBuilder:
Delivery.newBuilder()
        .setIdempotenceWindow(Durations.fromSeconds(15))
        // ... the rest of the configuration

Below is the list of the conveyor stations in the current Delivery pipeline.

Catch-up station

This station is responsible for dispatching the historical events in
TO_CATCH_UP status to the respective targets. Also, while the target entity is under a catch-up,
all the live messages headed to it are removed by this station.
Once the catch-up is completed, this station handles the transition period, in which the last batch of the historical events and live messages are dispatched together. See the CatchUpStation API documentation for more details.

Live delivery station

This station is responsible for dispatching the messages sent in a real-time by filtering the conveyor contents for the messages in TO_DELIVER Another responsibility of this station is to set for how long the delivered messages should be kept according to the idempotence window settings. See the LiveDeliveryStation API documentation for more details.

Cleanup station

This station removes the messages which are already delivered and are no longer needed for the
de-duplication. See the CleanupStation for the description.
De-duplication
During the dispatching, the Conveyor keeps track of the delivered messages. The stations performing the actual message dispatching rely on this knowledge and de-duplicate the messages prior to calling the target's endpoint.
Additionally, the Delivery now provides a DeliveredMessages, which is a cache of recently delivered messages.  Each instance of the Conveyor has access to it and uses it in de-duplication procedures.
Shard maintenance
In this changeset, a special ShardMaintenanceProcess has been introduced. Via it, the {@code Delivery} performs the maintenance of the shards. In the scope of this PR, a special ShardProcessingRequested event is handled by this process. It is guaranteed to be dispatched to the maintenance process via the selected shard, thus triggering the Delivery to handle the messages from it. It is required to ensure that all historical events are delivered to all their targets. See more on that in the description of the CatchUpProcess down below.
How CatchUpProcess works
The process is started by CatchUpStarter composing a request received from the ProjectionRepository's catchUp(..)/ catchUpAll(..) methods. A corresponding CatchUpRequested event is emitted.
In its lifecycle, this process moves through several statuses.
Not started
The process is created in this status upon receiving a CatchUpRequested event. The actions
include:

A CatchUpStarted event is emitted. The target projection repository listens to this event and kills the state of the matching entities.
The catch-up process in moved to the {@link CatchUpStatus#STARTED STARTED} status.

STARTED
When the process is in this status, the event history is read and the matching events are sent to the Inboxes of the corresponding projections.
The catch-up maintains this status until history is read until the point in time, which is very close to the Time.currentTime().
At this stage, the actions are as follows.

The historical event messages are read from the {@link EventStore} respecting the time range requested and the time of the last read operation performed by this process. The maximum number of the events read is determined by DeliveryBuilder.setCatchUpPageSize(int).

Depending on the targets requested for the catch-up, the events are posted to the corresponding entities.

Unless the timestamps of the events are getting close to the current time, an HistoryEventsRecalled is emitted, leaving the process in the STARTED status and triggering the next round similar to this one.

If the timestamps of the events read on this step are as close to the current time as CatchUpProcessBuilder.withTurbulencePeriod(Duration) value — so-called  "turbulence" period, which by default is 500 ms — the HistoryFullyRecalled is emitted.

FINALIZING
The process moves to this status when the event history has been fully recalled and the corresponding {@code HistoryFullyRecalled} is received.
At this stage the Delivery stops the propagation of the events to the catch-up messages, waiting for this process to populate the inboxes with the messages arriving to be dispatched during the "turbulence" period.
Potentially, the inboxes will contain the duplicates produced by both the live users and this process. To deal with it, a de-duplication is performed by the Delivery.
See CatchUpStation API documentation for more details on that.
The actions are as follows.

All the remaining messages of the matching event types are read EventStore. In this operation, the read limits set by the Delivery are NOT used, since the goal is to read the remainder of the events.

If there were no events read, the {@link CatchUpCompleted} is emitted and the process is moved to the COMPLETED status.

If there were some events read, the LiveEventsPickedUp event is emitted. This allows some time for the posted events to become visible to the Delivery. The reacting handler of the LiveEventsPickedUp completes the process, once this event is delivered to this process.

COMPLETED
Once the process moves to the COMPLETED status, the corresponding Delivery routines de-duplicate, re-order and dispatch the "paused" events. After that, normal live delivery flow is resumed.
To ensure that all the shards in which the "paused" historical events reside are processed, this process additionally emits the "maintenance" ShardProcessingRequested events for each shard involved. By dispatching them, the system guarantees that the Delivery observes the COMPLETED status of this process and delivers the remainder of the messages.
Other changes
AbstractStatefulReactor
The CatchUp process manager implemented within this changeset should have had access to the EventStore of the Domain Bounded Context. Therefore it was not possible to have it registered in the System counterpart. However, it is impossible to have a process manager with a certain state more than in one Bounded Context.
Therefore, a special AbstractStatefulReactor was introduced. It is an AbstractEventReactor with state. Unlike conventional AbstractEventReactors, the instances of this one have their own Inboxes and are served with the messages through Delivery. The CatchUpProcess is one good example of such an event reactor.
Limit for EventStore queries
It is now possible to specify the maximum number of results when reading from an EventStore:
EventStreamQuery.Limit limit =  EventStreamQuery.Limit
                    .newBuilder()
                    .setValue(value)
                    .vBuild();
EventStreamQuery query = EventStreamQuery
                    .newBuilder()
                    .setAfter(longPast)
                    .setBefore(future)
                    .setLimit(limit)
                    .vBuild();
 eventStore.read(query, observer);

lastHandledEventTime
A per-ProjectionRepository property called lastHandledEventTime has been removed as obsolete.
Version update
The framework version is set to 1.4.5.

1.4.5
@armiol, it's a big feature change. I'd say we need to put it as 1.5.

@alexander-yevsyukov @dmdashenkov I will still need to merge with the today-merged PR, but please feel free to review again. Not much is expected to change upon the back-merge from master.


Introducing GSP 2.0: A Leap Forward in Performance and Usability! 🚀

Contents of the Pull Request
This pull request represents a major overhaul of the Generalized Sequential Pattern (GSP) implementation, making it significantly faster, cleaner, and more user-friendly. Here’s what you can expect:
Performance Improvements

Reduced execution time by up to 80x in benchmark tests compared to the previous implementation.
Optimized candidate generation using itertools and streamlined logic for k-sequence construction.
Benchmarked with detailed comparisons showing drastic improvements in efficiency and scalability.

Codebase Enhancements

Code Refactoring:

Simplified generate_candidates_from_previous logic for readability and maintainability.
Consolidated repetitive patterns and enhanced function modularity.
Adopted modern Python practices, including itertools and compress-for statements.

Testing Suite Updates:

Expanded test coverage for edge cases in candidate generation and overall GSP workflow.
Tests are now more robust, ensuring that both common and rare patterns are handled effectively.

Documentation Overhaul:

Updated README.md with clearer instructions, examples, and a quick start guide.
Detailed docstrings explaining functionality, parameters, and outputs across the project.

Dependency & Tooling Improvements

Added requirements.txt
Enhanced setup.py with updated metadata and streamlined installation steps.

How Has This Been Tested?
Comprehensive tests were conducted to validate the changes, including:

Unit Tests:

Updated tests for candidate generation and sequence validation.
Tested various transaction datasets to ensure correctness and resilience.

Performance Benchmarks:

Benchmarked new GSP against the old implementation across multiple scenarios.
Results indicate significant performance gains without compromising accuracy.

Code Coverage:

Measured and maximized using Codecov integration.

Static Analysis:

Code quality ensured with SonarCloud's detailed insights and automated checks.

Test Configuration:

Python Version: 3.11.4
Test Suites: pytest with enhanced test cases
Tooling: flake8, black, and isort for code quality checks.

Stacked PR Chains
This PR is self-contained and does not depend on other PRs.

Other Notes

This update sets the stage for future expansions, such as integrating support for distributed processing and additional sequential pattern mining algorithms.

Checklist Before Submission

[x] The pull request title is meaningful and concise.
[x] Code refactored for readability and maintainability.
[x] Documentation created and updated.
[x] Tests added and passed locally with no warnings.
[x] Dependencies streamlined and configurations updated.

This PR introduces a powerful upgrade to GSP. We can’t wait for you to experience its improved performance and simplicity. Please review and provide feedback!

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


embedding ipywidget button in table?

I'm very interested in embedding a button or toggle button within each row of a dataframe. I want to be able to mark particular rows and have the table re-render accordingly.
One example is marking rows as positive or negative samples. Another example is removing rows from a table or marking them as unimportant.
Do you know if something like this is possible with qgrid? If not, any ideas on how to do something similar?

Embedding ipywidgets in qgrid would be a really powerful feature!
It's possible to have a widget in a pd.DataFrame, but when the DF is displayed in the notebook, only the string representation is displayed. The same thing happens when wrapping the display with qgrid.
It seems that this is where the dataframe is serialized, and this is where the various datatypes are handled in the javascript.
I'm wondering if it would be possible to store a reference to the widget when serializing the dataframe, then render it from the javascript? I'm not too familiar with how widgets are actually rendered. @jasongrout do you have any thoughts on doing something like this?
Thanks,
Oliver


Trying to enable fine-grained user permissions results in 404 error

Current Behavior
When I enable fine-grained permissions to allow a client direct naked impersonation manually and compare the realm exports it adds the fields
"authorizationServicesEnabled": true,

and
      "authorizationSettings": { ... }

to the realm export's realm-management client.
When I try to add a realm-management client to my keycloak-config-cli.json with these fields the run (on Kubernetes with the bitnami helm chart) results in a 404 error when it tries to call the /clients/.../authz/resource-server/settings endpoint, presumably because at this time fine-grained permissions are not enabled yet in the existing configuration on the Keycloak.
Expected Behavior
When authorizationServicesEnabled is false on the existing client keycloak-config-cli probably should not try to get the existing settings but just set them or at the very least not consider the 404 fatal.
Steps To Reproduce
1. Create a Keycloak and Realm with the bitnami helm chart using keycloak-config-cli
2. Update the realm realm-management client to include the above settings (easiest to just manually enable fine-grained permissions and export the realm JSON for the full value required)
3. redeploy with the new keycloak-config-cli including the settings
4. watch 404 in job log for keycloak-config-cli job, alternatively watch the whole request with a debug container with tcpdump or something similar

Environment

Keycloak Version: 22.0.5
Keycloak Bitnami Helm Chart Version> 17.3.3
keycloak-config-cli Version: 5.9.0
Java Version: whatever the bitnami container uses

Anything else?
No response

I've checked the documentation and the sample files in the testing directory but couldn't get it to work. I always receive a 404 or 400 error.
What I'm trying to do is create a policy over the entire Users resource. A specific client named MyTestClient gets the impersonate scope.

Test-JSON (works when using as initial import file import-realm.json):
{
  "id": "MyTestRealm",
  "realm": "MyTestRealm",
  "clients": [
    {
      "clientId": "realm-management",
      "enabled": true,
      "authorizationServicesEnabled": true,
      "authorizationSettings": {
        "policyEnforcementMode": "ENFORCING",
        "resources": [
          {
            "name": "Users",
            "scopes": [
              {
                "name": "user-impersonated"
              },
              {
                "name": "manage-group-membership"
              },
              {
                "name": "view"
              },
              {
                "name": "impersonate"
              },
              {
                "name": "map-roles"
              },
              {
                "name": "manage"
              }
            ]
          }
        ],
        "policies": [
          {
            "name": "Impersonate-Clients",
            "description": "",
            "type": "client",
            "logic": "POSITIVE",
            "decisionStrategy": "UNANIMOUS",
            "config": {
              "clients": "[\"MyTestClient\"]"
            }
          },
          {
            "name": "manage.permission.users",
            "type": "scope",
            "logic": "POSITIVE",
            "decisionStrategy": "UNANIMOUS",
            "config": {
              "resources": "[\"Users\"]",
              "scopes": "[\"manage\"]"
            }
          },
          {
            "name": "view.permission.users",
            "type": "scope",
            "logic": "POSITIVE",
            "decisionStrategy": "UNANIMOUS",
            "config": {
              "resources": "[\"Users\"]",
              "scopes": "[\"view\"]"
            }
          },
          {
            "name": "map-roles.permission.users",
            "type": "scope",
            "logic": "POSITIVE",
            "decisionStrategy": "UNANIMOUS",
            "config": {
              "resources": "[\"Users\"]",
              "scopes": "[\"map-roles\"]"
            }
          },
          {
            "name": "manage-group-membership.permission.users",
            "type": "scope",
            "logic": "POSITIVE",
            "decisionStrategy": "UNANIMOUS",
            "config": {
              "resources": "[\"Users\"]",
              "scopes": "[\"manage-group-membership\"]"
            }
          },
          {
            "name": "user-impersonated.permission.users",
            "type": "scope",
            "logic": "POSITIVE",
            "decisionStrategy": "UNANIMOUS",
            "config": {
              "resources": "[\"Users\"]",
              "scopes": "[\"user-impersonated\"]"
            }
          },
          {
            "name": "admin-impersonating.permission.users",
            "type": "scope",
            "logic": "POSITIVE",
            "decisionStrategy": "UNANIMOUS",
            "config": {
              "resources": "[\"Users\"]",
              "scopes": "[\"impersonate\"]",
              "applyPolicies": "[\"Impersonate-Clients\"]"
            }
          }
        ],
        "scopes": [
          {
            "name": "manage"
          },
          {
            "name": "view"
          },
          {
            "name": "map-roles"
          },
          {
            "name": "impersonate"
          },
          {
            "name": "user-impersonated"
          },
          {
            "name": "manage-group-membership"
          }
        ],
        "decisionStrategy": "UNANIMOUS"
      }
    },
    {
      "clientId": "MyTestClient",
      "enabled": true,
      "clientAuthenticatorType": "client-secret",
      "redirectUris": [
        "*"
      ],
      "webOrigins": [
        "*"
      ],
      "standardFlowEnabled": true,
      "directAccessGrantsEnabled": true,
      "serviceAccountsEnabled": true,
      "frontchannelLogout": true,
      "protocol": "openid-connect",
      "fullScopeAllowed": true
    }
  ]
}

Had the same issue with:
keycloak: 24.0.2
keycloak-config-cli:5.12.0-24.0.1
By enabling logs with
           - name: LOGGING_LEVEL_HTTP               value: INFO
I was able to find that
2024-05-01 04:11:48.370 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 >> "DELETE /admin/realms/api-cli/clients/c98a928a-83d0-471a-bab7-3e93e66775cc/authz/resource-server/scope/f2f40817-b48e-44b5-90f3-40fc11d537d9 HTTP/1.1[\r][\n]" 2024-05-01 04:11:48.370 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 >> "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJKeEpSdGdoWmp0R1paRFh4RmVwLW5BRTlqcTZ0UmRmUUZ5Tm9tMGNZOUswIn0.eyJleHAiOjE3MTQ1MzY3NjQsImlhdCI6MTcxNDUzNjcwNCwianRpIjoiNDI4YTU5NzAtMTQ1Ny00NGE4LWIwNTktYTdmMjBlZWNhNjQ2IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmtleWNsb2FrLnN2Yy9yZWFsbXMvbWFzdGVyIiwic3ViIjoiZGFhNWEzOGUtNzE4OS00M2Y1LTg0MDgtYzdlNjVmMWZiOTU0IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoiYWRtaW4tY2xpIiwic2Vzc2lvbl9zdGF0ZSI6ImExMDlmNTI3LWJmM2MtNGE2Mi1hOTE1LWI0OWI3MjcyOGJkNCIsImFjciI6IjEiLCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJzaWQiOiJhMTA5ZjUyNy1iZjNjLTRhNjItYTkxNS1iNDliNzI3MjhiZDQiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsInByZWZlcnJlZF91c2VybmFtZSI6ImtleWNsb2FrIn0.eQb5DXIxKaaDayXkISp2tnZZ5-ArFPB1nBy7H0MrI7bJ9adGuy9t8bhRu0bLU5OW0Ev27p7gjoq3Se7Q6cXOjLRenZao9yd6DTwd2eofNLNXiISJpSVcizIWtRk7dlEDdHeWI0jzi-dYAbRw0BzsaQi7cdi-358ux6vf4rx9YmREWsGKtMfipU0sCCTsyJe5BzjFxVwYJbfMv88pWEV13rxzUxESDIOqKIhfzyTZQwiUG9uwA-E4l5AIjUZIq-mmQ5qweiN5ah3csDcjYAMnPhgSb8ntPSzCaPZmNZhk00zO4cg9SL1a2CDws2fkr2JmixO1tYOCAziVvl9NJPX5Vw[\r][\n]" 2024-05-01 04:11:48.370 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 >> "Content-Length: 0[\r][\n]" 2024-05-01 04:11:48.370 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 >> "Host: keycloak.keycloak.svc[\r][\n]" 2024-05-01 04:11:48.370 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]" 2024-05-01 04:11:48.370 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.5.14 (Java/17.0.10)[\r][\n]" 2024-05-01 04:11:48.370 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 >> "[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "HTTP/1.1 400 Bad Request[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "content-length: 77[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "Content-Type: application/json[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "Referrer-Policy: no-referrer[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "Strict-Transport-Security: max-age=31536000; includeSubDomains[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "X-Content-Type-Options: nosniff[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "X-Frame-Options: SAMEORIGIN[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "X-XSS-Protection: 1; mode=block[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "[\r][\n]" 2024-05-01 04:11:48.386 DEBUG 1 --- [           main] org.apache.http.wire                     : http-outgoing-0 << "{"errorMessage":"Scopes can not be removed while associated with resources."}" 2024-05-01 04:11:48.424 ERROR 1 --- [           main] d.a.k.config.KeycloakConfigRunner        : HTTP 400 Bad Request
which led me to the conclusion that actually keycloak-cli should be more strict in terms of applying changes to realm-management user.
As a workaround you may use:
-Dimport.managed.client-authorization-scopes=no-delete -Dimport.managed.client-authorization-policies=no-delete -Dimport.managed.client-authorization-resources=no-delete
That will prevent keycloak-cli from removing some relevant resources from realm-management client
Probably adding client property authorizationServicesEnabled: true won't harm as well.
Here's a working example:
`

clientId: realm-management
authorizationServicesEnabled: true
authorizationSettings:
allowRemoteResourceManagement: false
policyEnforcementMode: ENFORCING
resources:
- name: client.resource.$my-test-client
type: Client
ownerManagedAccess: false
attributes: {}
uris: []
scopes:
- name: view
- name: map-roles-client-scope
- name: configure
- name: map-roles
- name: manage
- name: token-exchange
- name: map-roles-composite
policies:
- name: my-test-client-manager-role-policy
description: 'Manager policy for role: my-test-client-manager'
type: role
logic: POSITIVE
decisionStrategy: UNANIMOUS
config:
roles: '[{"id":"my-test-client-manager","required":true}]'
- name: manage.permission.client.$my-test-client
description: 'Manager policy for client: my-test-client'
type: scope
logic: POSITIVE
decisionStrategy: UNANIMOUS
config:
resources: '["client.resource.$my-test-client"]'
scopes: '["manage"]'
applyPolicies: '["my-test-client-manager-role-policy"]'

`
Please, at least update the documentation. The current version of docs doesn't provide enough context.

@danm-de, were you able to solve the problem? I have the same issue with token impersonation configuration.

@danm-de, were you able to solve the problem? I have the same issue with token impersonation configuration.

Nope 😞

@danm-de experiencing the same issue with creating a new policy over the User Resource. Did you find a workaround?

@danm-de experiencing the same issue with creating a new policy over the User Resource. Did you find a workaround?

Nope. We use an import-realm.json file as an initial import that contains the required realm configuration (with all clients, users and policies) that cannot be set using keycloak-config-cli.
The docker-compose.yml references the bitnami version, it looks like this:
keycloak:
    image: docker.io/bitnami/keycloak:$KEYCLOAK_VERSION
    restart: always
    depends_on:
      - postgresql ## replace with your database / storage ##
    environment:
      KEYCLOAK_ADMIN_USER: "admin"
      KEYCLOAK_ADMIN_PASSWORD: "...."
      KEYCLOAK_MANAGEMENT_USER: "manager"
      KEYCLOAK_MANAGEMENT_PASSWORD: "...."
      KEYCLOAK_ENABLE_HEALTH_ENDPOINTS: "true"
      KC_METRICS_ENABLED: "true"
      KC_FEATURES: "token-exchange,admin-fine-grained-authz"
      KEYCLOAK_EXTRA_ARGS: "--import-realm"
    volumes:
      - ./path/to/your/import-realm.json:/opt/bitnami/keycloak/data/import/import-realm.json
    ports:
      - "8081:8080"

The CONFIG-CLI entry looks like this:
  keycloak-config-cli:
    image: docker.io/bitnami/keycloak-config-cli:$KEYCLOAK_CONFIG_CLI_VERSION
    restart: no
    depends_on:
      - keycloak
    environment:
      KEYCLOAK_URL: "http://keycloak:8080/"
      KEYCLOAK_USER: "admin"
      KEYCLOAK_PASSWORD: "...."
      KEYCLOAK_AVAILABILITYCHECK_ENABLED: "true"
      KEYCLOAK_AVAILABILITYCHECK_TIMEOUT: "120s"
      IMPORT_FILES_LOCATIONS: "/config/*"
      IMPORT_VARSUBSTITUTION_ENABLED: "true"
      IMPORT_MANAGED_CLIENTAUTHORIZATIONPOLICIES: "full"
      IMPORT_MANAGED_CLIENTAUTHORIZATIONSCOPES: "full"
      IMPORT_MANAGED_CLIENTAUTHORIZATIONRESOURCES: "full"
    volumes:
      - ./path/to/your/config:/config


kernel_regress:skx_avx [FAIL] with Clang

I am trying to build openblas (0.3.7, 0.3.10, 0.3.12) on ubuntu 18.4 with CLang (I tried clang-6.0 and clang-10). I got this test error consistently:
TEST 22/23 potrf:smoketest_trivial [OK]
TEST 23/23 kernel_regress:skx_avx [FAIL]
  ERR: test_kernel_regress.c:49  expected 0.000e+00, got 4.127e+02 (diff -4.127e+02, tol 1.000e-10)
RESULTS: 23 tests (22 ok, 1 failed, 0 skipped) ran in 23 ms
make[1]: *** [run_test] Error 1

Build Script:
# Build OpenBLAS from source
RUN mkdir ~/openblas && \
    cd ~/openblas && \
    OPENBLAS_VERSION=0.3.7 && \
    wget \
        https://github.com/xianyi/OpenBLAS/archive/v${OPENBLAS_VERSION}.zip \
        -O openblas.zip && \
    unzip -q openblas.zip -d . && \
    cd OpenBLAS-${OPENBLAS_VERSION} && \
    CXX="clang++-10 -fPIC -mno-avx" CC="clang-10 -fPIC -mno-avx" make -j DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 \
        USE_OPENMP=1 INTERFACE64=1 BINARY=64 NO_AVX=1 NO_AVX2=1 NO_AVX512=1 && \
    make PREFIX=/usr/local/opt install && \

CPU info:

Step 4/17 : RUN lscpu
 ---> Running in c02130b8da64
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  2
Core(s) per socket:  16
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               79
Model name:          Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping:            1
CPU MHz:             2699.894
CPU max MHz:         3000.0000
CPU min MHz:         1200.0000
BogoMIPS:            4600.09
Hypervisor vendor:   Xen
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            46080K
NUMA node0 CPU(s):   0-31
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single kaiser fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx xsaveopt
Removing intermediate container c02130b8da64

CLang:
Step 6/17 : RUN clang-10 --version
 ---> Running in d3004a7f3279
Ubuntu clang version 10.0.1-++20200708124938+ef32c611aa2-1~exp1~20200707225535.189
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

Update:
so after disabling openmp it was able to build and pass the tests:
CXX="clang++-6.0 -fPIC" CC="clang-6.0 -fPIC" make -j DYNAMIC_ARCH=1 DYNAMIC_OLDER=1 \
        USE_OPENMP=0 INTERFACE64=1 BINARY=64 && \

This makes me wonder if I need to set some flag to specify the flavor of omp? I do also have gomp on my machine

Normally clang should link its own flavor of omp automatically - I'll need to try to reproduce this (not observed with gcc so far). Your combination of build options does look a bit strange - with the NO_AVX NO_AVX2 NO_AVX512 you disable dedicated support for any cpu newer than Nehalem, so maybe there is "only" a problem with running the clang-built Nehalem version of the DGEMM kernel on Haswell/Broadwell architecture.

I've just had the same problem with clang11+gfortran9 in a customized version of FreeBSD which removes the "base system" clang/libomp, and only uses pkg-installed llvm.
This is indeed the result of linking both libomp and libgomp. The libgomp comes from $(FEXTRALIB) in Makefile.conf as a result of the f_check script. Excluding gomp in that script is a workaround:
--- f_check.orig
+++ f_check
@@ -337,6 +337,7 @@
            && ($flags !~ /kernel32/)
            && ($flags !~ /advapi32/)
            && ($flags !~ /shell32/)
+           && ($flags !~ /gomp/)
            && ($flags !~ /omp/ || ($vendor !~ /PGI/ && $flags =~ /omp/))
            && ($flags !~ /[0-9]+/)
                && ($flags !~ /^\-l$/)

Normally clang should link its own flavor of omp automatically - I'll need to try to reproduce this (not observed with gcc so far). Your combination of build options does look a bit strange - with the NO_AVX NO_AVX2 NO_AVX512 you disable dedicated support for any cpu newer than Nehalem, so maybe there is "only" a problem with running the clang-built Nehalem version of the DGEMM kernel on Haswell/Broadwell architecture.

the NO_AVX NO_AVX2 NO_AVX512 options actually do not matter to the failure. I removed them and still saw the same failure. And yeah gcc does not have issue

Thanks. As far as I can tell, this problem actually goes a bit deeper - when USE_OPENMP is set, the build system translates this into -fopenmp, which for clang appears to imply -lomp - which is all well and good unless (a) libomp is not installed or (b) gfortran is used as the Fortran compiler, for which -fopenmp implies -lgomp. Some sanity can be restored by using -fopenmp=libgomp for the clang parts, but then there would be no clean way to expressly tell it to link with its own libomp.

Thanks. As far as I can tell, this problem actually goes a bit deeper - when USE_OPENMP is set, the build system translates this into -fopenmp, which for clang appears to imply -lomp - which is all well and good unless (a) libomp is not installed or (b) gfortran is used as the Fortran compiler, for which -fopenmp implies -lgomp. Some sanity can be restored by using -fopenmp=libgomp for the clang parts, but then there would be no clean way to expressly tell it to link with its own libomp.

I do have libomp installed so i think b) is the cause of my issue..

(a) libomp is not installed

If your clang wants to link with a non-existent libomp, your environment is kinda broken.

(b) gfortran is used as the Fortran compiler, for which -fopenmp implies -lgomp

See my comment above (https://github.com/xianyi/OpenBLAS/issues/3015#issuecomment-736552831) for a workaround!

brokenness (a) seems to be easily achievable with current opensuse (at least)
(b) acknowledged but need to build on that to ensure it does not cause trouble for non-clang builds (and on its own it will not fix CC=clang NOFORTRAN builds due to (a)). Another possibility would seem to be to run with make CC="clang -fopenmp=libgomp" USE_OPENMP=1 ...

Dear sir, how to solve this problem?

Dear sir, how to solve this problem?

This should be fixed in the 0.3.13 release, do you still see the problem with the current version ?

This should be fixed in the 0.3.13 release, do you still see the problem with the current version ?


feat(idempotency): handle lambda timeout scenarios for INPROGRESS records

Issue #, if available: https://github.com/awslabs/aws-lambda-powertools-python/issues/1038
Description of changes:
Using the same mechanism as python to handle functions timeout: see https://github.com/awslabs/aws-lambda-powertools-python/pull/1387, adding a timestamp in dynamoDB for the expected time of the function timeout. When the item is INPROGRESS, we check if this timestamp is in the past, to let the execution go and avoid blocking.
Adding integration tests
WIP: To test this feature properly, we need an integration test with real function timeout. I've started to implement integration tests, with the deployment of some infrastructure (based on python integration tests).
This is not finished (still have some error with log4j when running the function...).
Checklist

[x] Meet tenets criteria
[x] Update tests
[ ] Update docs ==> doc is not updated yet (PR in draft)
[x] PR title follows conventional commit semantics

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I removed the integration tests part, so that this PR focuses on the fix for idempotency.
I will work on another branch / PR for integration tests.
@msailes @rubenfonseca can you have a look at this one?

I've checked the code and everything on the logic level made sense to me :) I'm just a little bit rust on the Java syntax 😅  Thanks @jeromevdl!


Send Tab to Obsidian Does not work and does not have any prompts

Send Tab to Obsidian Does not work and does not have any prompts
Advanced Obsidian URI [ √ ]
Enable Obsidian Integration  [ √ ]
Windows10 system
Microsoft Edge Version 127.0.2651.98 (Official Version) (64-bit)
MarkDownload - Markdown Web Clipper Version 3.3.0
Is it related to the Chinese valut name and folder name?

I just installed MarkDownload on Chrome for Mac and am running into the same problem. I have activated 'Enable Obsidian Integration', but cannot find an option to 'Send Tab to Obsidian' when I left click or right click the extension. I can only download the MD file.
I am on a US/English installation.

I have the same issue with my friend
Advanced Obsidian URI [ √ ]
Enable Obsidian Integration [ √ ]
Monjaro Linux
Chromium
MarkDownload - Markdown Web Clipper 3.4.0

I would verify you have the Advanced URI community plugin installed and enabled on the Obsidian side. At the very least when click send tab, it should open Obsidian.

Hello,
I have the same bug happening.
So I followed this tutorial to the config :
https://forum.obsidian.md/t/configuring-the-web-clipper-markdownload-for-a-seamless-workflow-with-obsidian/62441
still not working, but I noticed it work IF OBSIDIAN IS CLOSE
When I try to copy to obsidian with markdownload and obsidian is open, I have this message in obsidian console :

Uncaught (in promise) DOMException: Failed to execute 'readText' on 'Clipboard': Document is not focused.
at ge.onUriCall (plugin:obsidian-advanced-uri:14:6419)
at eval (plugin:obsidian-advanced-uri:14:4534)
at t (app://obsidian.md/app.js:1:2281449)
at :1:52
at node:electron/js2c/renderer_init:2:16470
at IpcRendererInternal. (node:electron/js2c/renderer_init:2:10723)
at IpcRendererInternal.emit (node:events:519:28)
at Object.onMessage (node:electron/js2c/renderer_init:2:8837)
onUriCall @ plugin:obsidian-advanced-uri:14
eval @ plugin:obsidian-advanced-uri:14
t @ app.js:1
(anonymous) @ VM164:1
(anonymous) @ node:electron/js2c/renderer_init:2
(anonymous) @ node:electron/js2c/renderer_init:2
emit @ node:events:519
onMessage @ node:electron/js2c/renderer_init:2
await in onMessage (async)
eval @ plugin:obsidian-advanced-uri:14
t @ app.js:1
(anonymous) @ VM164:1
(anonymous) @ node:electron/js2c/renderer_init:2
(anonymous) @ node:electron/js2c/renderer_init:2
emit @ node:events:519
onMessage @ node:electron/js2c/renderer_init:2

Hope it can help


Build automatically using GitHub workflow

Yet another feature that made me think that if it's useful for me, there's a chance it might be useful for others :)
This uses GitHub Actions to automatically build w64devkit.

This is the way I made it for myself, I'm open to bring modifications to the PR if something in there would be interesting.
The builds are triggered on either of two events:

Each commit pushed to master, and each pull request open to master, which upload builds to the Action page (example):

This offers a nice an easy way to download builds for any commit on the master branch. Unfortunately, those are only available for logged in users.

Each tag pushed on the repo, which automatically uploads the builds to a new release marked as draft (example - the only thing I did manually was to publish the release):

This offers a ready-made template for releases based on git tags. I tried to strictly follow the format used by the latest releases, as to minimize manual intervention, but the release is not automatically published by GitHub Actions, so manual intervention is always possible before publishing a release.

The upsides I've noticed:

The builds happen on GitHub rather than on my machine, so I don't have to wait 30 or so minutes per build before my machine becomes usable again (or before I can power it off and switch OS).
The builds run in parallel on GitHub, because it uses one VM for each architecture-flavor pair. Locally, each build would have to be done one at a time, or the machine's cores would be divided between each concurrent build.
It allows effortlessly seeing when a PR or a commit breaks the builds, and in the case of PRs, it allows the author of the PR to notice those errors by themselves without needing active feedback from others.
It offers a reliable, somewhat reproducible (or at least well-documented) environment to build w64devkit in. Also,  in situations where it might be an issue, there's no need to trust that anybody didn't tamper with the files.

The downsides:

It takes 1h30 to finish all builds, and no download is available before all builds finished. For single configurations, building locally may be faster. However, for an all-configs build (6 configs * 30 minutes per config on average = 3 hours total), GitHub Actions remains faster.

If there's interest in this PR, I can explain in further detail any decision I took while creating the workflow file. I'm also willing to adapt this PR as necessary.

I'm using this, it's useful for me. It needs minor adjustments now though, there isn't a -mini version any longer.

@Peter0x44 I've updated the script and rebased on master.
The workflow still doesn't use the multibuild.sh script since steps would need to be extracted anyways. There are still a few minor differences between the script and the workflow file, notably about the version suffix. I preferred to leave it like that since it makes the maintenance of the workflow easier, but I'm open to update it as necessary.

The fortran variant is now gone, so I think this will need a few adjustments

Yup, I'm about to make a new 2.0.0 release with significant distribution changes. It's now a self-extracting 7-zip archive, and gfortran is always included. The two release artifacts will be named:

w64devkit-x64-2.0.0.exe
w64devkit-x86-2.0.0.exe

Like when I got rid of "mini", I want to simplify it for newcomers, so they don't have to make a decision about which to download. It's just 64-bit and 32-bit, with 64-bit (deliberately) sorting first. These releases are also a third of the size of the originals and extract ~100x faster (literally!) than Windows built-in zip support.
I hope this will also help with virus scanner nonsense, because extracted files won't have Mark of the Web (i.e. "forbid this file from any use"), which Windows built-in zip support does, but 7-zip, especially the self extract, does not. If someday I figure out how to navigate Windows code signing, signing just the SFX will be enough.

Thanks, Peter0x44, that's useful information!

I've updated the workflow file to w64devkit 2.0.0.

Error: This request has been automatically failed because it uses a deprecated version of actions/upload-artifact: v2. Learn more: https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/

This needs some adjustments to stop using this deprecated action version.

Error: This request has been automatically failed because it uses a deprecated version of actions/upload-artifact: v2. Learn more: https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions/

This needs some adjustments to stop using this deprecated action version.

Thanks, it should be fixed now.


Fixing the issue of selection order by won't give correct ordering

Current behavior:
Selection Order by query will always order the results based on the selection list sequence not the columns provided.
E.g. for query:
SELECT a,b,c FROM mytable ORDER BY c

The results will be ordered by a not c.
Sample bad queries from quickstart:
select AtBatting,G_old from baseballStats order by G_old desc ,hits desc limit 10

I don't think we move column sequence now. Server data table is built based on selection column list

@fx19880617 Check SelectionOperatorUtil.extractDataSchema, sort columns are put in front of the other columns. But seems @kishoreg recently re-write the SelectionOperator and that code is not invoked. I am not sure about the current behavior.

Server side will return a data table with schema. broker side reduce logic should be agnostic to the ordering of schema from server side.

If server side guarantees that the sorted columns are always put in front of other columns, then broker side does not need this extra index (where the value for each index is just the index) which will add overhead.
I tried your new test on the existing code and it passed, so I don't understand what is the purpose of this fix.

Current behavior keeps the column ordering from selection list and not put ordered columns in front.

The selection test query comparison logic only check the record existence, so it won't recognize the disordered behavior. You can run the sample query in PR description in quickstart to see the behavior.

In that case, can you please make the selection test query comparison check the order? With that we can prevent breaking the order in the future.

Codecov Report

Merging #4540 into master will increase coverage by 0.12%.
The diff coverage is 75%.

@@             Coverage Diff              @@
##             master    #4540      +/-   ##
============================================
+ Coverage      64.4%   64.53%   +0.12%
  Complexity       20       20
============================================
  Files          1064     1064
  Lines         55307    55315       +8
  Branches       8061     8062       +1
============================================
+ Hits          35620    35696      +76
+ Misses        17053    16987      -66
+ Partials       2634     2632       -2

Impacted Files
Coverage Δ
Complexity Δ

...t/core/query/selection/SelectionOperatorUtils.java
88.27% <71.42%> (+0.21%)
0 <0> (ø)
:arrow_down:

...core/query/selection/SelectionOperatorService.java
46.66% <80%> (+1.56%)
0 <0> (ø)
:arrow_down:

.../apache/pinot/core/transport/DataTableHandler.java
88% <0%> (-12%)
0% <0%> (ø)

...org/apache/pinot/broker/queryquota/HitCounter.java
92.3% <0%> (-7.7%)
0% <0%> (ø)

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
78.57% <0%> (-5.36%)
0% <0%> (ø)

...org/apache/pinot/client/DynamicBrokerSelector.java
69.69% <0%> (-3.04%)
0% <0%> (ø)

.../main/java/org/apache/pinot/client/Connection.java
47.61% <0%> (-2.39%)
0% <0%> (ø)

.../controller/helix/core/SegmentDeletionManager.java
76.22% <0%> (-1.64%)
0% <0%> (ø)

.../broker/routing/HelixExternalViewBasedRouting.java
86.83% <0%> (-1.57%)
0% <0%> (ø)

...inot/core/operator/docidsets/AndBlockDocIdSet.java
55.55% <0%> (-1.39%)
0% <0%> (ø)

... and 21 more

Continue to review full report at Codecov.

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


can upload because of a sh file in the framework.

I could not upload my app to the app store because there was a strange sh in the iOS framework : Products/Applications/myApp.app/Frameworks/AudioKit.framework/fix-framework.sh

This should help: https://github.com/audiokit/AudioKit/issues/852

Removed and that didn't worked.

@kvacquier Building from source is also an option if you can't get this resolved

Really there's not enough information to go on to address this issue, so I'll close this for now.


Modal adding 16px padding to body

Activating bootstrap modal is auto adding  padding-right:16px value to the body element of the page. The padding is messing up some of my styles.
Is there a particular reason why the padding was added?
Is there a way to disable the padding without adding important values to the body css?

This is the width of the scrollbar. In different browsers the width is different. It seems to me that the padding is added, so that when the scrollbar is hidden, the contents of the page do not jerk (mostly in desktop browsers).

That part I understood, but my page has a custom scrollbar and has a different width.  Which is why I wanted to turn this feature off. We did not have this feature for v3 (I think?)

This feature exists also in v3.

@Ghost180195 You are right. I guess I must have missed it and thought it was a new feature.

Since this hasn't been described as a bug, just a confusion around the behavior, closing out. If there's a bug around it, please open a new issue with a live example.


AzureStorageExplorer "Preserve Blob Tags" feature fails to detect permission issue, resulting in failed copy/paste across storage accounts

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.30.0 and above (reproduced in 1.32.0)
Regression From
1.29.2
Architecture
all (reproduced in x64 and amd64)
Storage Explorer Build Number
20231101.3
Platform
All
OS Version
No response
Bug Description
Copy/paste of blob from one storage account to another results in UnexpectedQuit.
Two variants (depending on the properties of the target storage account:

UnexpectedQuit (used SAS, discovery not completed)
UnexpectedQuit (used Oauth, discovery not completed)

The error is similar to https://github.com/microsoft/AzureStorageExplorer/issues/7014 but I think the real issue is that the
Detect value for the "Preserve Blob Tags" setting is not working as designed.
Steps to Reproduce
Given a user that has Storage Blob Data Contributor role (and not Data Owner) on 2 different storage accounts within a single subscription,
and the default AzureStorageExplorer "Preserve Blob Tags" value of "Detect":

navigate to a container within storage account A and copy a blob
navigate to a container within storage account B and try to paste it

Additionally, in my case, shared keys (aka access keys) are disabled in the source storage account (storage account A above).
Actual Experience
The Activites view shows that the azcopy command has failed with the cryptic "UnexpectedQuit" message.
Expected Experience

If set to 'Detect', AzCopy will only preserve tags if the source and the destination support tags, and if they have the permissions required to preserve tags.

Given that description, I expect the copy/paste to work and for it to:
A. preserve tags if the user has permissions to the get/set tags API
B. not preserve tags if the user does not have this permission
Additionally, if this is expected to fail, then a clear error message that indicates which permission I'm missing would be nice.
Additional Context
No response

@lmsurpre The "Detect" option has limitations when the credential doesn't clearly tell us if it has the necessary permission to paste tags (e.g. OAuth tokens, SAS token with access policy). We don't want to silently drop the tags due to permission issues because it may result in unexpected results for some users. In your case where we cannot tell the permissions, we should have shown a dialog asking you whether you want to attempt preserving tags or not. Right now the "Detect" option is mostly benefiting people using SAS tokens because it may suppress the dialog after parsing the SAS permissions.
The error reporting is definitely something we should improve upon.

I see that dialog in the case of UnexpectedQuit (**used Oauth**, discovery not completed) but NOT in the case of UnexpectedQuit (used SAS, discovery not completed).
It seems to use one vs the other depending on whether the TARGET storage account has shared keys enabled.
The dialog in the Oauth case is the only reason I managed to figure out what the heck was going on.

What's the permission of your SAS tokens in the case of UnexpectedQuit (used SAS, discovery not completed)?

What's the permission of your SAS tokens in the case of UnexpectedQuit (used SAS, discovery not completed)?

Sorry, but i'm not sure how to check that...i'm just using the Azure Storage Explorer "copy / paste" buttons and its creating the SAS token under the covers.
Here is the azcopy commands it generated:

export AZCOPY_CONCURRENCY_VALUE=AUTO;
./azcopy copy "https://REDACTED.blob.core.windows.net/REDACTED?sv=2023-01-03&st=2023-11-06T22%3A27%3A41Z&se=2023-11-13T22%3A42%3A41Z&skoid=6bb0da4c-b56b-4a2b-b143-009f0462e12e&sktid=ceaa63aa-5d5c-4c7d-94b0-02f9a3ab6a8c&skt=2023-11-06T22%3A27%3A41Z&ske=2023-11-13T22%3A42%3A41Z&sks=b&skv=2023-01-03&sr=c&sp=rlt&sig=REDACTED" "https://REDACTED.blob.core.windows.net/REDACTED?sv=2023-01-03&se=2023-12-06T22%3A44%3A13Z&sr=c&sp=rwlt&sig=REDACTED" --overwrite=prompt --from-to=BlobBlob --s2s-preserve-access-tier=false --check-length=true --include-directory-stub=false --s2s-preserve-blob-tags=true --recursive --log-level=INFO;
unset AZCOPY_CONCURRENCY_VALUE;

Oh, maybe that sp query param is carrying the scopes?  So sp=rlt would be "read, list, tag"?
My user account has "Storage Blob Data Contributor" but not "Storage Blob Data Owner", and so I don't think it should be allowed to create a user delegated SAS that includes the tag permission.  Maybe the Storage Account API is letting you generate a SAS token that includes the tag permission but then failing when you try to actually use it?

I see what's going on now. User delegation SAS delegates the authorization to the service when the SAS token is used, which might be the issue here. Unfortunately in that case, there is no way for us to gauge whether we can preserve tags or not. We should try to make AzCopy improve error reporting in this scenario to better indicate what's going on.
By the way, the next time you see the "Unexpected Quit" type of error, you may be able to find out more details in the AzCopy log. We offer a "Go to AzCopy logs" action on the activity, which opens AzCopy log directory. If you open it immediately after the failed job, the most recent log file will be for that job.

I should try to see if we can make Storage Explorer detect user delegation SAS as credentials with unknown permissions.

Starting from 1.33.0 Storage Explorer will treat user delegation SAS as credential with unknown permissions and prompt to let user pick whether to preserve tags on demand.


Add an option to reuse basic block files

Is your feature request related to a problem? Please describe.
Generation of basic block files is the most time consuming part of the generate ctd-amplified command. In some cases it can take hours, which makes  repeated invocation of test generation costly.
Describe the solution you'd like
When the application code remains the same and we want to re-generate tests for some reason, we can reuse the  basic block output from previous invocations of the generate ctd-amplified command. This can be achieved by adding a boolean config option -reuse-basic-block-output and assuming the files with the expected names and location already exist.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@rachelt44: To keep the option name consistent with --base-test-generator, maybe call it --reuse-base-tests?

@sinha108 sounds good.


fix #747 IndexOutOfBounds if CollectionElement used ...

Proposed changes
Fix #747 with the 2nd option.
Checklist

[x] Checkstyle and unit tests pass locally with my changes by running gradle check chrome htmlunit  #command
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

@Denysss Thank you! Merged.


WIP: Provide basic voice-connections

See closed PR.

Thank you for the proposal 👍 😄
I've only found minor things here and there and will love to finally include this feature into the framework ❤

Applied suggested changes 👍


Create HIP XX: "Missed Premine Correction.md

Any updates here @capjbadger007 ?

I just noticed this @abhay - Elon is on leave for a few weeks and has asked me to help with it https://discord.com/channels/404106811252408320/1119100838242168972/1126649365453344778.
See https://github.com/helium/HIP/pull/736 and @waveform06 has already added.
I guess this PR should probably linked and closed?

Thanks for putting this together, @leogaggl. I'll close this. Glad to see momentum.


Day 5 | Node.js Composition | V8 Engine

Day 5 | Node.js Composition | V8 Engine

Day 5 | Node.js Composition | V8 Engine


Include more current keywords in search lists

For example: https://citizenlab.org/2017/04/we-cant-chat-709-crackdown-discussions-blocked-on-weibo-and-wechat/
@jasonqng's list has not been updated in quite some time

How about combining these lists from citizenlab?  https://github.com/citizenlab/chat-censorship
Except the content in 'TOM-Skype--Sina-UC' folder, which is already included in jasonqng's list, other lists are mainly new research results from the past two years, with a focus on different platforms and social media.

Shall we combine these into our own list, inside ChineEye  ?

yes, that's what I mean. I can combine the lists and update the wiki afterwards.

Lists that we will combine with the current lists:
wechat blocked keywords
709 crackdown
livestream list2
svp list and livestream list1 are same lists. This list is huge compared to the previous three lists (17044 entries), and there are a few issues that I'm not sure about:

According to the paper describing the list, 7,371 entries are URLs and URL fragments. Shall we ignore these entries when we combine the list?

For the rest 10k entries, some of them are very long and are more like a sentence rather than simple keywords. I think this is because that the list is for social video platforms, so they are likely to be designed for blocking comments.
When the entry is long, the result from machine translation turns out to be worse and no one would search in English in the exact way... What's your opinion on these long entries? Shall we include them or set some rules to limit the length of search entry?

Example:"六部口追杀学生撤离队伍的三辆坦克"
Machine translation: "Mouth kill six student teams to evacuate three tanks"

perhaps we should include only searches of 3 words or less?

I'm not sure about the criteria here...
3 words or less makes sense to me for English Translation, but it is hard to define the same thing in Chinese. I would suggest that we
1.delete the English Translation Entry if it consists of more than 3 words, the Chinese entry might still makes sense in this case,
2.If an entry contains no alphabets and no numbers and special characters(very likely it is in pure Chinese characters, or do you know any other way to identify an Entry that is pure Chinese?) and the entry is longer than 7 Chinese characters, remove the entry completely.
And if there is a way that we could identify Chinese characters from other characters, I would suggest to remove any entry that has more than 7 Chinese characters. (For any combination of Chinese and alphabets/numbers)

I also have all the lists in separate files(*_full.txt for the full lists after filtering out the url, and the other one is a shortened version with the criteria above).
One exception is the keywords from 709 crackdown, there are many keyword combination in that folder so I still keep those entries even if the Chinese characters are more than 7.

the list backup is here: https://github.com/dhowe/ChinaData

Updated FAQ: https://github.com/dhowe/ChinaEye/wiki#how-does-chinaeyes-search-keyword-testing-work


May251989

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
Methi Yaowala นายเมธี เยาวลา
What part(s) of the article would you like to see updated?
141020080533
Additional information
[0981241725](url)
### Tasks
- [ ] https://github.com/github/docs/pull/27808
- [ ] https://github.com/github/docs/issues/28285

https://www.facebook.com/nagham.khaled.148?mibextid=LQQJ4d


subtitle selection box is too big, can't zoom out and can't scroll up and down

Hello,
We have videos with over 40 different subtitles but the subtitle box is not optimal for multiple subtitles. cannot exit to select Audio or Quality. is there any way to fix this?

Plyr version 3.7.8

You could set a max-height on the container with a overflow-y
.plyr__menu__container {   max-height: 40vh;   overflow-y: auto; }