az connectedk8s connect results in ModuleNotFoundError: No module named 'azure.cli.core.auth.msal_authentication'

Describe the bug
After creating an AKS cluster and trying to arc enable it with the command az connectedk8s connect, the command fails with minimal logs with the main error ModuleNotFoundError: No module named 'azure.cli.core.auth.msal_authentication'
This script has been working for us for many months and I have no idea where this error could have came from, or where this module is being looked for (is it kubernetes, python, az, or something else), or what the remediation steps would be.
Related command
az aks create
az aks get-credentials
az connectedk8s connect
Errors
ERROR: The command failed with an unexpected error. Here is the traceback:
ERROR: No module named 'azure.cli.core.auth.msal_authentication'
Issue script & Debug output
These are all the logs from the command:
`
16:27:48 Enabling Arc for upgrade-20241008-5-release.
ERROR: The command failed with an unexpected error. Here is the traceback:
ERROR: No module named 'azure.cli.core.auth.msal_authentication'
Traceback (most recent call last):
File "/usr/lib64/az/lib/python3.9/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/init.py", line 564, in execute
self.commands_loader.load_arguments(command)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/init.py", line 526, in load_arguments
command_table[command].load_arguments()  # this loads the arguments via reflection
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/init.py", line 321, in load_arguments
super(AzCliCommand, self).load_arguments()
File "/usr/lib64/az/lib/python3.9/site-packages/knack/commands.py", line 104, in load_arguments
cmd_args = self.arguments_loader()
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/command_operation.py", line 125, in arguments_loader
op = self.get_op_handler(self.op_path)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/command_operation.py", line 59, in get_op_handler
handler = import_module(mod_to_import)
File "/usr/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/__w/_temp/.azclitask/cliextensions/connectedk8s/azext_connectedk8s/custom.py", line 47, in
import azext_connectedk8s._clientproxyutils as clientproxyutils
File "/__w/_temp/.azclitask/cliextensions/connectedk8s/azext_connectedk8s/_clientproxyutils.py", line 21, in
from azure.cli.core.auth.msal_authentication import ServicePrincipalCredential
ModuleNotFoundError: No module named 'azure.cli.core.auth.msal_authentication'
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
`
Expected behavior
<This is from the same pipeline run but from 2 days ago>
05:40:03 Enabling Arc for upgrade-20241005-1-release.
WARNING: Preview version of extension is enabled by default for extension installation now. Will be disabled in future release.
WARNING: Please run 'az config set extension.dynamic_install_allow_preview=true or false' to config it specifically.
WARNING: The command requires the extension connectedk8s. It will be installed first.
WARNING: This operation might take a while...
WARNING: Downloading kubectl client for first time. This can take few minutes...
WARNING:
WARNING: Downloading helm client for first time. This can take few minutes...
WARNING: Connecting an Azure Kubernetes Service (AKS) cluster to Azure Arc is only required for running Arc enabled services like App Services and Data Services on the cluster. Other features like Azure Monitor and Azure Defender are natively available on AKS. Learn more at https://go.microsoft.com/fwlink/?linkid=2144200.
WARNING: Unable to fetch the Object ID of the Azure AD application used by Azure Arc service. Unable to enable the 'custom-locations' feature. Insufficient privileges to complete the operation.
Step: 2024-10-05T05-40-24Z: Validating custom access token
Step: 2024-10-05T05-40-24Z: Checking Provider Registrations
Step: 2024-10-05T05-40-24Z: Setting KubeConfig
Step: 2024-10-05T05-40-24Z: Escape Proxy Settings, if passed in
Step: 2024-10-05T05-40-24Z: Checking Connectivity to Cluster
Step: 2024-10-05T05-40-24Z: Do node validations
Step: 2024-10-05T05-40-24Z: Install Kubectl client if it does not exist
Step: 2024-10-05T05-40-28Z: Install Helm client if it does not exist
Step: 2024-10-05T05-40-44Z: Starting Pre-onboarding-check
Step: 2024-10-05T05-40-44Z: Creating folder for Cluster Diagnostic Checks Logs
Step: 2024-10-05T05-40-44Z: Get namespace of release: cluster-diagnostic-checks
Step: 2024-10-05T05-40-45Z: Determine Helmchart Export Path
Step: 2024-10-05T05-40-45Z: Pulling HelmChart: mcr.microsoft.com/azurearck8s/helmchart/stable/clusterdiagnosticchecks, Version: 0.2.2
Step: 2024-10-05T05-40-45Z: Chart path for Cluster Diagnostic Checks Job: /root/.azure/PreOnboardingChecksCharts/clusterdiagnosticchecks
Step: 2024-10-05T05-40-45Z: Creating Cluster Diagnostic Checks job
Step: 2024-10-05T05-40-57Z: The required pre-checks for onboarding have succeeded.
Step: 2024-10-05T05-40-57Z: Checking if user can create ClusterRoleBindings
Step: 2024-10-05T05-40-57Z: Determining Cluster Distribution and Infrastructure
Environment Summary
AzureCLI@2 in Azuredevops onebranch pipelines, using image mcr.microsoft.com/onebranch/cbl-mariner/build:2.0
Additional context
No response

Thank you for opening this issue, we will look into it.

This has been resolved. Seemed to have been a known issue.

How was this resolved. I am seeing same issue when using mcr.microsoft.com/azure-cli:2.65.0-cbl-mariner2.0 image.


Listen on all interfaces

How can I make the web-ui listen to all network interfaces, or an interface other than loopback/localhost?

Selfhost is coming in v4.0.2, but you can try it now https://github.com/spotDL/spotify-downloader/tree/dev


Controller's Ok/Json  serializer  [long] bug?

my pc: windows10 x64  , VS2017  ,   .net core app 1.1
public IActionResult ........{
     var u = userService.Login(user);
    return Ok(u);
}
OK to return json:
{
"id":<PHONE_NUMBER>1848190,    // u.Id =<PHONE_NUMBER>1848193 last 3 into 0!!! wrong!!!
"name": "string",
"description": null,
"role": 0,
"sex": false,
"birthday": null,
"avatar": null,
"createTime": "2017-04-26 16:52:56",
"isDeleted": false
}
 var u = userService.Login(user);
return Content(Newtonsoft.Json.JsonConvert.SerializeObject(u));
return text:
{"Id":20403579491848193,"Name":"string","Description":null,"Role":0,"Sex":false,"Birthday":null,"Avatar":null,"CreateTime":"2017-04-26T16:52:56","IsDeleted":false}
this is right.
Id : long

Hi @shuaqq2004 - MVC use Json.NET for JSON serialization so I suggest taking a look at their docs to try and find a solution to your issue.

I do not know who this bug is generated, I use JSON.net alone serialization into a string and no problem. I only know that after I called Json (user) or Ok(user), the wrong message was returned in the browser.
I do not know what the .net core is doing.

@shuaqq2004 this is not a bug.
You are returning a ContentResult, and The default return type of a ContentResult is string, you need to specify a MIME type:
return Content(Newtonsoft.Json.JsonConvert.SerializeObject(u), new MediaTypeHeaderValue("application/json"));

But I don't know why are you using this approach !! MVC use Json.NET for serialization if you return an Object. I suggest using JSON ActionResult or OK ActionResult if you are requesting a JSON type.

@shuaqq2004
I see that you need some knowledge :wink: . Action Results are Explained Here:
http://hamidmosalla.com/2017/03/29/asp-net-core-action-results-explained
I highly recommend reading this article.

Hi @shuaqq2004
I think the issue you are seeing here is that JSON only has support for 64 bit floating point numbers, not 64 bit integers.
For instance if I try this:
        public IActionResult Json()
        {
            return Ok(new Foo() { Bleh =<PHONE_NUMBER>1848193L });
        }

The text sent to my browser is {"bleh":20403579491848193} - however if I try to interact with this number in javascript, I see the number<PHONE_NUMBER>1848190. The reason for this is that the number<PHONE_NUMBER>1848193 is not representable as a 64bit floating point number.
You can see this here: http://www.exploringbinary.com/floating-point-converter/ (select the 'raw hexidecimal' checkbox). If you plug in both of these numbers you'll see that they both are converted to 43521F3CA2F08400 in hex.

I'd suggest following up with Json.NET's docs on how to solve this issue.

I know the reason is that javascript deal with bigint when there is a problem.
It seems that the database table key changed to varchar , or asp.net core output / input must be id: long into string


Notification gone when click on any option in Action sheet

It is working fine almost in all screen but if action sheet open (with 2/3 option) in iphone during that time if Notification alert display on that screen. Till that its working fine.  When i click on any option in action sheet, Notification gone from the existing screen.   Is that any limitation ? please help me. due to only this issue i cant use this in my app.  Please guide me.
Step to produce issue :

Take one UIButton and open action sheet with 2/3 option.
on that UIButton click event , open notification after 1/2 second. ex:
[self performSelector:@selector(showNotification:) withObject:nil afterDelay:1];
Now, Action sheet options and Notification both open in screen. When u click on any option from action sheet, notification gone and not fire any method of this..

Thanks in advance.

I have resolved this. Instead of below line.
[[[UIApplication sharedApplication] keyWindow] addSubview:_notificationView];
you can use this line to resolved the issue.
MosaicAppDelegate * appd = (MosaicAppDelegate*) [[UIApplication sharedApplication]delegate];
[appd.window addSubview:_notificationView];
Also replace appd.window  all places insted of [[UIApplication sharedApplication] keyWindow].


fix: Add waiting time for chart animation when screenshot

SUMMARY
Since the chart in the report screenshot is sent before the end of the animation
Added a wait time for chart animation when screenshot.
New configuration keys:
SCREENSHOT_SELENIUM_ANIMATION_WAIT: in seconds
ADDITIONAL INFORMATION

[x] Has associated issue:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Thank you so much for your contribution! we will review your proposed solution and code soon

change make sense. explained in the original issue.

@u-aiaa please fix the pylint CI, Thanks!

@zhaoyongjie fixed the pylint.


_get_3d_bbs

Hello, may I ask if in function _get_3d_bbs（roach_ap_agent_data_collection.py）, relative_pos is the relative position of other objects to the ego vehicle? If so, how are the x and y coordinate axes represented?

Again, as I have explained to you, I only use it for visualizations  at the very early stage of the project. Please check these related functions by yourself since I do not use 3d_bbs related function in the final, which I could give any ensurement about its current correctness.


[Printer] Turn most List.length into pattern matching checks

O(n) vs O(1)

Not passing yet. Hold on. Local setup borked


Smartedit still using standard BaseSiteService

hi,
I have wrote my own baseSiteService and in app module changed provider as:
{
      provide:BaseSiteService,
      useClass:MyBaseSiteService
    }

Its working for storefront without any problem but on smartedit its giving problem as Smartedit still using standard BaseSiteService even I have provided here my own.
Environment Details

angular  version : "~8.2.0",
spartacus version:  "~1.1.1"
Platform : Linux (Centos OS7)

Steps to Reproduce
Write own state and own BaseSiteService now define your custom getBaseSiteData method.
You will see for smartedit its not taking your method
Offer to Fix
NO

I tested this on my local by creating a CustomBaseSiteService:
import { Injectable } from '@angular/core';
import { BaseSiteService, BaseSite } from '@spartacus/core';
import { Observable } from 'rxjs';

@Injectable()
export class CustomBaseSiteService extends BaseSiteService {
  /**
   * Get the base site details data
   */
  getBaseSiteData(): Observable<BaseSite> {
    console.log('custom base site');
    return null;
  }
}

And, in app.module, I add this:
providers: [
    {
      provide: BaseSiteService,
      useClass: CustomBaseSiteService,
    },
  ],
```.
Open smartedit, I can see that the `CustomBaseSiteService` is used.
![Screen Shot 2019-09-25 at 9 23 05 AM](https://user-images.githubusercontent.com/44440575/65604857-24520200-df76-11e9-8dbe-4d11e6130b1b.png)

I also tested it in prod build. It can't reproduce.

closing as can't repro / works as designed


Improve project creation page

I will take this as my first issue. Specifically, I will adjust the card positioning to center and resolve the display error message.

@HassanAlhawari1998 Please, create a pull request for this issue.


Upgrade Guzzle and other dependencies

This patch:

Upgrades the Guzzle dependency to ^6
Upgrades secondary dependencies to most recent major version minimum
Removes php-coveralls which is unused
Removes php-documentor that should be global on host generating docs
Replaces some string class names with ::class for easier tracking while upgrading
Removes extension-less content stream rewriting
Fixes method calls with undeclared arguments

Breaking change: API of Client class is different when using custom HTTP invoker as illustrated in examples
I apologise for the combined commit which Ideally should have been several smaller commits. The only excuse I have is the dependency puzzle was a lot harder to solve without removing those dependencies - and detecting usages of classes was very difficult due to the classname-in-string occurrences.
Caveats:

I had to remove the "content stream without extension" mime type fix - I'm not sure how to reproduce that or even if it needs reproducing. I had no proper test case to confirm this, hope you may be able to help there.
The behavior of ->json on Response is now mimicked with several json_decode calls and casts to array. This only mimics the behavior and doesn't throw JSON-specific exceptions. Instead, data integrity exceptions will be thrown. No test cases cover this.

Suggested next steps:

Switch league/url to league/uri - I had initially attempted to include this switch as well, but opted to avoid it to keep the change smaller (it's big enough already...)
Drop support for PHP5 branches and implement null coalesce operators (many potential cases)
Upgrade PHPUnit dependency (version depends on decision to drop PHP5 branch support)


Adding support for adding profile in Istio Mesh core component

Signed-off-by: ashish<EMAIL_ADDRESS>Description
This PR fixes #

Notes for Reviewers
Signed commits

[x] Yes, I signed my commits.

@leecalcote  This will make older pattern files with IstioMesh invalid although it should not be a problem as the error would clearly ask for a particular profile to be added with the names of the available profile


Add support for concurrent Miri

This PR includes two changes:

Update Priroda to work with the newest version of Miri.
Change the step function to work with the updated interface of concurrent Miri.

This PR depends on https://github.com/rust-lang/miri/pull/1284

@oli-obk It seems that the Travis CI integration broke.

works on master... cycling the PR

This will need to change rust-toolchain once the rustc PR is merged.

@vakaras https://github.com/rust-lang/miri/pull/1284 got merged. Can you update this PR?

Friendly ping @vakaras.

Sorry, for taking so long to update this. I am a bit swamped with other things right now.

The rustup changes LGTM. For the thread support it would be nice to have a way to show the stack for every thread and if a thread is blocking, what it is blocking on.

I agree that this would be nice, but, unfortunately, this would be a more substantial change and right now I do not have enough time for that.

I agree that this would be nice, but, unfortunately, this would be a more substantial change and right now I do not have enough time for that.

that's totally fine in my book. We can add additional logic for showing the stack of other threads than the current one later. Let's just get the general logic working

I agree that this would be nice, but, unfortunately, this would be a more substantial change and right now I do not have enough time for that.

that's totally fine in my book. We can add additional logic for showing the stack of other threads than the current one later. Let's just get the general logic working

Opened #25

Thanks so much for doing this and bearing with us through the changes!

No problem and sorry that it took so long for me to come back to this.


⚠ Jenkins Plugins Artifactory has degraded performance

In dafe6e4, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2506 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 1506004 after 1 hour, 43 minutes.


fix(open-issues): open Github issues on Windows on migration engine error

Closes #11373.
I have tested the updated cli both on Windows 10 (Git Bash + Powershell) and Ubuntu 20.10 running on WSL 2.
Steps to reproduce:

(Using Git Bash) simulate migration engine error

export FORCE_PANIC_MIGRATION_ENGINE=1
export<EMAIL_ADDRESS>npx ${PRISMA_CLI} init --datasource-provider sqlite
npx ${PRISMA_CLI} db push

(Using Powershell) simulate migration engine error

$Env:FORCE_PANIC_MIGRATION_ENGINE = 1
$Env:PRISMA_CLI =<EMAIL_ADDRESS>npx $Env:PRISMA_CLI init --datasource-provider sqlite
npx $Env:PRISMA_CLI db push

(Using cmd) simulate migration engine error

set FORCE_PANIC_MIGRATION_ENGINE=1
set<EMAIL_ADDRESS>npx %PRISMA_CLI% init --datasource-provider sqlite
npx %PRISMA_CLI% db push

After the setup, you should see a similar output, and a new issue tab should be created in the default system browser:
✔ Your Prisma schema was created at prisma/schema.prisma
  You can now open it in your favorite editor.

warn You already have a .gitignore. Don't forget to exclude .env to not commit any secret.

Next steps:
1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started
2. Run prisma db pull to turn your database schema into a Prisma schema.
3. Run prisma generate to generate the Prisma Client. You can then start querying your database.

More information in our documentation:
https://pris.ly/d/getting-started

Environment variables loaded from .env
Prisma schema loaded from prisma\schema.prisma
Datasource "db": SQLite database "dev.db" at "file:./dev.db"

SQLite database dev.db created at file:./dev.db
Oops, an unexpected error occured!
Error in migration engine.
Reason: [migration-engine\core\src\state.rs:245:9] This is the debugPanic artificial panic

Please create an issue with your `schema.prisma` at
https://github.com/prisma/prisma/issues/new

Please help us improve Prisma by submitting an error report.
Error reports never contain personal or other sensitive information.
Learn more: https://pris.ly/d/telemetry

√ Submit error report » No
√ Would you like to create a Github issue? » Yes

Screenshot of the new browser tab:

@janpio created a PR to mention that https://github.com/prisma/prisma/pull/12687

on macOS the CLI doesn't exit anymore with the integration version

most recent dev, exits:
We might need to make this change for Windows only

I was afraid of that, as discussed with Jan yesterday we should either fix the open library directly, or manually handle Windows / WSL cases ourselves. For the moment, I'll opt for the second option and postpone the "bigger task" to another sprint. Agree?

Sounds like the best option.
Is the CLI also not exiting on Windows with wait: true?
If so, it's probably not the perfect fix but better than the current state.

On Windows the CLI is weirdly exiting normally.
This def needs deeper work, as discussed later today.

Closing in favor of https://github.com/prisma/prisma/pull/13356.


Preprocess batches and load those (Instead of processing on the fly)

The webdataset works decently well, but it still takes awhile for the timesteps to be loaded, cropped, normalized, etc. Prepreparing some cutouts could be quite useful, and make the dataloading process a lot quicker. Currently, nearly all my experiments use the last half hour of images to predict the next 1-4 hours, so just doing the processing offline would probably work better. Webdataset actually recommend that too, and recommends AIStore for ETL on clusters, etc. Not there yet in terms of need, but this could lead to a lot faster loading. Also can then be sure validation set is identical everytime.

Yeah, I would definitely recommend this ;)
I was resistant to this idea until very recently because I thought it'd be faster play with different pre-processing tricks if the pre-processing was done on-the-fly but, after trying for literally months to get the pre-processing fast enough (!), I've just started pre-processing entire batches and saving them to disk.  The end-result is 12x speedup in training :), and I think the bottleneck is now GPU FLOPS instead of disk speed.   Notes are here: https://github.com/openclimatefix/nowcasting_dataset/issues/58
I now save complete batches to disk as NetCDF4 files (compressed using LZF), one batch per NetCDF5 file. All the PyTorch Dataset has to do is grab a NetCDF file from disk and turn it into Tensors :), and I run 20 worker processes.  Which I'm guessing is very similar in spirit to your approach using webdataset (except I'm using NetCDF4 instead of numpy arrays, but NetCDF4 is just numpy arrays with human-readable labels for the dimensions and coordinates, which is useful for me because my memory is so bad I can't remember what went into which dimension!)

FWIW, I still think Zarr has a role to play, perhaps as an intermediate step.  So perhaps the data processing pipeline looks something like:

Raw data
Zarr with everything that was in the raw data (and perhaps re-projected)
Lots of copies from the Zarr data for different uses, in whatever format makes most sense (e.g. NetCDF or numpy arrays for different ML experiments; maybe JPEGs for the web UI front-end, etc.)

Yeah, it seems like Zarr is a nice store to more easily make whatever copy of the data we want. And that pipeline is what I was thinking too! From previous experience, storage is usually a lot cheaper than paying for the computation over and over again to process the data, especially if that processing takes awhile to do, and doubly so if we are using the same data lots of times for training models, etc.

Note: for 12 previous timesteps + 48 future timesteps,  128 pixels total size of a single example is 56mb, goes down to 46mb for 6 previous + 48 future, and 26.5mb for 6 previous + 24 future. So to not run out of space on internal SSD, preprocessing 30000 training, and 10000 validation examples.

Just curious: Are you compressing the data on disk?  (I must admit I've never saved numpy arrays to disk; so I don't know what's possible!)

That was actually with saving the Torch tensors directly to disk with torch.save, which I admittedly thought had some compression, but doesn't seem to! You can save compressed numpy arrays with np.savez_compressed which I'll see if that helps at all

Yeah, using np.savez_compressed reduces the filesize of the last 6 + 24 future to 4.6mb, so switching to that

Have been testing it training two models. For the CloudGAN, its not making it faster at all, probably as a result of CloudGAN's training steps just taking a long time to run. For a simple ConvLSTM, though, its a slight improvement, but not by much, up to 2it/s from 1-1.5. Where it does save is RAM usage, which instead of hovering around 60GB is at around 15GB. But overall, using npz files and loading them doesn't seem blazingly faster on my local machine than before. It could be that loading the spatial extant and just sample from the same area ~50 times with random crops and temporal starts makes up for the processing time required. Could also try just saving each batch to webdataset to see if having it all in a compressed tar file helps at all.

Heh, we're going though a surprisingly similar journeys!
On Thurs, I was all excited because saving batches to disk allowed my simple CNN to train at 20 it/s.
But, now I'm training The Perceiver, we're back to 2 it/s (bottlenecked by the GPU!)  Which is about the speed my load-on-the-fly dataloader managed!
(But, if we get nvidia A6000s; and/or faster GPUs in the cloud, then the bottleneck might revert to being the DataLoader!)
BTW, are you using mixed-precision training (setting pl.Trainer(precision=16)?)  That seems to help a little (not much though).  (Sorry for being too lazy to open a new issue!)

With mixed precision, the ConvLSTM gives 3.62it/s so it is nearly twice as fast, but yeah, I think the GPU is a bigger bottleneck than I thought!

Another example, with the Skillful Nowcasting GAN, it takes 11-12s/it on my laptop to run in training, but runs at 1.8-2.8it/s in validation mode.


latest Quick accent still doesn't work

Microsoft PowerToys version
0,62,1
Running as admin

[X] Yes

Area(s) with issue?
Quick Accent
Steps to reproduce
Frankly I don't know if I''m activating it correctly. I press on the space left and right arrows to activate and nothing happens. Iplayed around with the different options to activate and nothing.
I wonder if this utility is configured for the US keyboard which doesn't have accents. I use the Canada-French multilingual keyboard. That's the only explanation I can come up with.
✔ Expected Behavior
The accented letter for a, i etc should pop up.
❌ Actual Behavior
Nothing happens
Other Software
No response

Press-and-hold a letter that can have a diacritic mark, like a vowel
follow by pressing-and-holding ←, → or Space (according to setting)

Could be that the pop-up is simply out of your display. It's a known issue. See #20316 (and linked issues)

I only have 1 screen.
On Mon, Sep 19, 2022, 11:56 Jay @.***> wrote:

Could be that the pop-up is simply out of your display. It's a known
issue. See #20316 https://github.com/microsoft/PowerToys/issues/20316
(and linked issues)
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/20669#issuecomment-1251215919,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOSIWUCMBTDSTFOK3MVW6IDV7CEKFANCNFSM6AAAAAAQPHM6NI
.
You are receiving this because you authored the thread.Message ID:
@.***>

Then, I don't know. Maybe /bugreport

I have the same issue with a Swiss/French keyboard. I press (and hold) 'a' (or 'e' etc) while pressing space, left-arrow, and/or right-arrow in any combination. I only get a single 'a' (or 'e') and the space/arrows are interpreted as space/arrows.

Pinging @damienleroy

Thanks. It works now. It takes some getting used to getting it to work but with practice I'll get he hang of it.

Same thing here. I'm not aware of having installed any updates or doing anything differently - but today it's working!

Good to hear it's working for you! :)

Same issue here. Accent toolbar doesn't show. Instead it's typing multiple characters of the pressed one.
Tried a restart.

Same issue here. Accent toolbar doesn't show. Instead it's typing multiple characters of the pressed one.
Tried a restart.
Please reopen this issue.

Accent toolbar doesn't show when long pressing a character

@weitzhandler _long-press_is not an activation method for Quick Accent. It's hold-down-letter, then press left/right/space

Thank you for this clarification!


⚠ Jenkins Plugins Artifactory has degraded performance

In fe19cc0, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1223 ms

Resolved: Jenkins Plugins Artifactory performance has improved in a74f96e after 19 minutes.


suppress ExternalDependencyExposedCheck for track 1

ExternalDependencyExposedCheck  will not check on track 1 libraries.

/azp run java - docs


Include documented Hashes

This is opened to address Issue #445
Because of the way the logic is stated, raw Hashes can never be included.  After digging through, I found that the reason this unless exists in the first place is because Hashes and Arrays are replaced with their object references (e.g. "address"=>{"$ref"=>"#/definitions/someDefinition"} is preferred over "address"=>{"type"=>"object"}).

I just realized that I don't actually test for the functionality that I claim, so I will close this for right now.  I unfortunately won't have access to update the tests for a couple of days, but I will add what's needed.  As a brief summary, this PR specifically affects Hashes and Arrays in JSON bodies, which I failed to cover.  I will reopen a new PR when I get the work straightened out.

@aschuster3 … 👍


Fix client-cpp-example build error

Description
This PR fixes the client-cpp-example build error below.
https://github.com/thulab/iotdb-daily-build/actions/runs/5971000988/job/16199416392

coverage: 47.855% (+0.02%) from 47.839% when pulling ed5d4136627407ffc3986b10cab0b5b1a6bd4717 on test_win_cpp_example into 48bb45b056ff04780cec808b4f5559cba08622e3 on master.


Add option to disable bigint.

Can you please provide a bit more information on this issue?

Sorry for the lack of information. If there is a bigint (=sql type) column, schemats will create a bigint (=js type) attribute. Although this is very appropriate behavior, and JavaScript numbers don't cover the range of all possible 64-bit integer values, sometimes we need 'number' rather than 'bigint'. It would be nice to have an option like --no-bigint.


Release 0.18.0

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (2f4496b) 49.39% compared to head (b24d39d) 49.39%.

Files
Patch %
Lines

src/graphql/export.rs
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #679   +/-   ##
=======================================
  Coverage   49.39%   49.39%
=======================================
  Files          29       29
  Lines        8324     8324
=======================================
  Hits         4112     4112
  Misses       4212     4212

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add FromIterator and Extend implementations

FromIterator<T> and Extend<T> are implemented for the following values of T:

char for StrTendril;
u8 for ByteTendril;
&u8 for ByteTendril, for reasons of ergonomics (see also https://github.com/rust-lang/rfcs/pull/839 for justification);
&str for StrTendril;
&[u8] for ByteTendril;
&Tendril<F> for Tendril<F> (the Extend implementation already existed; the FromIterator is added).

Please use &[b] or &[*b] instead of ref_slice, like in #14. Other than this, looks good. (The third impl is in the spirit of https://github.com/rust-lang/rfcs/pull/839.)
While you’re at it, you may want to also implement Extend and rewrite FromIterator in terms of it. (But it’e fine as is.)

OK, updated to address feedback, including adding Extend implementations. Funny how I forgot about that—I had looked at the Extend<&Tendril<F>> implementation, noted its irrelevance to the task at hand and forgotten to ever come back to it.
It might be good to implement Extend<&str> for StrTendril and Extend<&[u8]> for ByteTendril, ideally through SliceFormat though we can’t at present do it thus generically, as well. What say you?

std has impl<'a> Extend<&'a str> for String, so adding it for StrTendril sounds fine. It doesn’t have the bytes or slice equivalent, but I don’t know a reason not to. So go for it if the coherence rules let you.

:umbrella: The latest upstream changes (presumably #14) made this pull request unmergeable. Please resolve the merge conflicts.

I have rebased, updated and rendered everything consistent. Ready for merging, I believe.

Looks great. Thanks!

@bors-servo r+

:pushpin: Commit 0788b2b has been approved by SimonSapin

:hourglass: Testing commit 0788b2b with merge 37a545d...

:sunny: Test successful - travis


Update default accessibility for icons

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Resolves: #165 #137
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
The scope of the PR will update the default template of the SVGs to better support the current accessibility model. This includes moving all descriptive content to the title attribute and making desc optional. The README was also updated to include instructions about editing an SVG's output to change the default HTML template.
It will be noted that not all icons have default titles. In this situation an empty <title/> element will be in the scope of the SVG. This is equivalent to an empty alt attribute, alt="".
Type of change:

[ ] New capability
[x] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Teams app redeployment requires reinstallation

Steps to reproduce

I wrote a Teams app which is already published in MS App store.
I deployed and publish same code under a different name to my organization only.
I installed the app and it is working.
I made changes in the typescript code. the changes was to add more logging.
I deployed the app without republishing it.
tried to send a notification and the notification did not reach my Teams chat.
uninstalled and installed the app again
everything is working

Expected behavior
when deploying new code that doesn't affect the manifest/permission/scope ... I expect that the application will work without the need to uninstall and install it again. after all, I did not republish it.
Actual behavior
after deploy of new Azure function, the notifications are not reaching my teams chat.
Error details
none. I am just getting an error that the member is not found.
      //findMember is expecting a function that returns a predicate. therefore, we must use async function
      //to return a promise that resolves to a predicate (even if the actual operation is synchronous)
      async (m) => (m.account.userPrincipalName.toLowerCase() === userEmail.toLowerCase() ||
                    m.account.email.toLowerCase() === userEmail.toLowerCase())
    ).catch((error) => {
      context.log.error(`Error finding member ${userEmail}:`, error);
    });

@lior-lew - This behavior seems to be expected. We will confirm this internally and get back to you.

I do not understand why this is to be expected. if It was requiring a new publication or acceptance of new privileges, I would agree. However, if the only operations the customer need to perform is removing and installing of the app, it just causes inconvenience. moreover, if an issue is found with the code and I have many users, all of them will need to reinstall.


"Publishing and Deployment" section needs more details on non-VS methods

The pages at http://docs.asp.net/en/latest/publishing/index.html and http://docs.asp.net/en/latest/publishing/iis.html are a good start, but this section needs more information on how to publish a site without using Visual Studio, for example, from a build script, build machine, or a giant "deploy the site now" button. I don't think deploying directly from Visual Studio is a very common use case for production sites.
Currently, with .NET Framework 4 and ASP.NET MVC 5, I use the MSBuild PipelinePreDeployCopyAllFilesToOneFolder build target (which I believe is roughly equivalent to what VS does) to package the site, and then rsync it to my remote server, which is a Linux machine running Mono. What is the equivalent for ASP.NET 5 + MVC 6?

Web Deploy (MSBuild) works if you keep a few 'gotchas' in mind, and it can run entirely outside of VS via a plain 'ole Powershell script or batch file. My use case was for a staging VM in Azure, but it would work anywhere for IIS ... Azure or on-prem. Here are some references:
https://github.com/aspnet/Home/issues/452#issuecomment-93011639
https://github.com/aspnet/Docs/issues/105

I figured out that dnu publish does most of what I need - I can just publish into a temp directory, then rsync that to my remote server.

Yup, we should cover a full workflow for publishing to Linux/Docker.

Please cover even a full workflow for publishing to Windows IIS with user-secrets.
The answers of the following questions should be dokumented.
Are the user-secrets only for development?
What happens when you deploy an application with external login providers like Facebook, Google or Twitter to a hosting provider running IIS 7.5?
The application still needs user-secrets in the production environment.
Without them the application will not run, and you will get get the famous ERROR 500.
Who stores the application secrets in the production server?
Who runs the user-secret app on the production server?
Please dokument  these issues in the followind dokuments
docs "DNX Secret Configuration." and
aspnet/Docs "Enabling authentication using external providers"
aspnet/Docs "Safe Storage of Application Secrets" and
http://docs.asp.net/en/latest/publishing/iis.html

We can't cover ever publishing technology available, but I think we should provide a Publishing Overview doc that goes over the basic mechanics of publishing an ASP.NET Core app regardless of the specific tech involved.

We handle this as part of https://github.com/aspnet/Docs/issues/989.


fix: resolve 'VNode.data' may be undefined

resolve #993

Thanks for the PR. I think it might be easier to tests once in patch if the data is undefined and assign an empty object in this case. All those ?. operators will introduce a if which could be avoided that way


Appimage?

Thanks.
Edit: I tried running the app from source, as explained in the readme. But I get an error: does it require python2?
14400 error gyp verb check python checking for Python executable "python2" in the PATH
14400 error gyp verb `which` failed Error: not found: python2

Rocker🚀🕺

Please!


How to use this plugin in the db-less mode

Hi
I want to return a static response from kong on one of its URLs
I need http://kong-api-gateway:8000/oas to return a json response from oas.json or json.yaml in the declarative mode
How can I do this?

Actually, we were trying to about using files and local filesystem to make it manageable in scaling setup, so will not work in server-less mode.
But if you have kong setup with DB than you can use something like this for both json and yaml types.
curl -X POST http://{HOST}:8001/services/{SERVICE}/plugins
--data "name=static-response"
--data "response_code=200"
--data<EMAIL_ADDRESS>--data "content_type=application/json" \


Feedback from @XLC for Referenda Pallet

Small improvements from: https://github.com/paritytech/substrate/pull/10195#pullrequestreview-902440914

bot merge


CRC Error reported, but the reponse has correct CRC

Which node-red-contrib-modbus version are you using?
5.26.0
What happened?
When requesting the Serial Number of a Carlo Gavazzi ET112 modbus read/flex getter report a CRC error even so the CRC seems to be correct
Server
Modbus-Server Node
How can this be reproduced?
Read the serial number registers of the ET112 always reports a CRC Error
What did you expect to happen?
Report success as the message seems to be ok
Other Information
Here is the trace output from the Modbus done with a RS458 -> Serial Adapter and using a Logic-8 Logic analyzer using the Async Serial Analyzer
2.821799000000000,'1'	(0x01),,
2.822840000000000,'3'	(0x03),,
2.823881000000000,P	(0x50),,
2.824923000000000,'0'	(0x00),,
2.825965000000000,'0'	(0x00),,
2.827006000000000,'7'	(0x07),,
2.828044000000000,'21'	(0x15),,
2.829083000000000,'8'	(0x08),,
2.972549000000000,'1'	(0x01),,
2.973595000000000,'3'	(0x03),,
2.974642000000000,'14'	(0x0E),,
2.975688000000000,'0'	(0x00),,
2.976734000000000,0	(0x30),,
2.977781000000000,'0'	(0x00),,
2.978827000000000,9	(0x39),,
2.979874000000000,'0'	(0x00),,
2.980920000000000,5	(0x35),,
2.981966000000000,'0'	(0x00),,
2.983013000000000,3	(0x33),,
2.984059000000000,'0'	(0x00),,
2.985106000000000,0	(0x30),,
2.986152000000000,'0'	(0x00),,
2.987198000000000,9	(0x39),,
2.988245000000000,'0'	(0x00),,
2.989291000000000,W	(0x57),,
2.990338000000000,'198'	(0xC6),,
2.991384000000000,'220'	(0xDC),,

Unfortunately, I had to find out, the RS485 Adapter is damaged. Probably killed it when I moved it from the Raspi, where it was working well, to the server with Node Red.


Multiple DO accounts

Do you have plans to have the ability to switch between multiple DO accounts?  Thanks!

Or maybe #151, will close when done.

Closed by #151


Item.defineArmor() doesn't work in BL 1.11 beta 4

Item.defineArmor(id, iconName, iconIndex, name, texture, damageReduceAmount, maxDamage, armorType) doesn't work with the latest beta. The item added with this function are not displayed at all in the armor inventory in survival.

This is a known issue - didn't have time to fix setFoodItem or armor items, so just made them define regular items instead. Will fix in the release after this one.

Fixed in latest beta.


On the prediction problem of segmentation

Hi，@simongraham和@vqdang
I'm sorry to bother you again. Now I just want to do segmentation. After I successfully trained the segmentation model, I found that using the trained model to predict did not produce the predicted results. I would like to ask, what parameters need to be adjusted during the segmentation?

Try setting the number of inference and post processing workers to 0 and rerun. You should hopefully get a more informative error message.


BibXML URLs should use bib.ietf.org

client.js uses the following
rfcRef.href = `https://www.rfc-editor.org/refs/bibxml/reference.RFC.${rfcNum}.xml`

It should point to bib.ietf.org instead as it is now the source for BibXML for I-Ds and RFCs:
rfcRef.href = `https://bib.ietf.org/public/rfc/bibxml/reference.RFC.${rfcNum}.xml`

Thanks!


fix: duplicate key issue mscs

Please review -
Removed function use to replace the key prefix before matching

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

v1.11.1
GitHub release

Your semantic-release bot :package::rocket:


Reset Basic FIlter can stack with newly crafted ones

LaserIO version
1.6.8
Minecraft Version
1.20.1
(Neo)Forge Version
47.2.20
Modpack & Version
all the mods 9 - to the sky 1.0.5
Do you have optifine installed?
No
Describe the issue
When the basic filter is crafted to reset the tags, it can't stack with those newly crafted ones. Maybe their tags are different
Steps to reproduce

Craft some basic filters
Re-craft those basic filters
Try to stack them with other newly crafted basic filters

Expected behaviour
Those re-crafted basic filters and newly crafted ones should be able to stack together
Screenshots
No response
Log files
No response
Additional information
No response

This is resolved in newer versions of Laserio


[BugFix]support null partition_value to avoid crash (backport #38888)

Why I'm doing:
What I'm doing:
Fixes #issue
cp #38888
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

[x] This is a backport pr

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[x] 3.0
[x] 2.5

https://github.com/Mergifyio backport branch-3.0

https://github.com/Mergifyio backport branch-2.5


Release command fails when dependencies are located in private registries

I am trying to publish my workspace to a private registry called MyReg. The command fails because cargo-release searches crates-io index for my private dependency. The packaging and release of package-one succeeds as expected, but package-two does not. Subsequent runs of the command fails because package-one was already released with the version 0.1.0.
I am publishing with this command:
cargo release 0.1.0 --registry MyReg -x

My dependencies look like:
my_workspace:
    - Cargo.toml
    - Cargo.lock
    package-one
        - Cargo.toml
        - src/
    package-two
        - Cargo.toml
        - src/

My Cargo.toml for package-one specifies the registry with:
# package-one Cargo.toml
# Shortened for readability
[package]
publish = ["MyReg"]

My Cargo.toml for package-two specifies the dependencies with:
# package-two Cargo.toml
# Shortened for readability
[package]
publish = ["MyReg"]

[dependencies]
package-one = { path = "../package-one", version = "0.1" }

The error looks like:
... snip ...
 Publishing package-two
    Updating `MyReg` index
   Packaging package-two v0.1.0 (C:\Users\Xerxes004\Code\my_workspace\package-two)
    Packaged 25 files, 105.5KiB (17.4KiB compressed)
   Verifying package-two v0.1.0 (C:\Users\Xerxes004\Code\my_workspace\package-two)
    Updating crates.io index
error: no matching package named `package-one` found
location searched: registry `crates-io`
required by package `package-two v0.1.0 (C:\Users\Xerxes004\Code\my_workspace\package-two)`

I solved it.
I had to specify registry for my dependencies.
Before:
# package-two Cargo.toml
# Shortened for readability
[package]
publish = ["MyReg"]

[dependencies]
package-one = { path = "../package-one", version = "0.1" }

After:
# package-two Cargo.toml
# Shortened for readability
[package]
publish = ["MyReg"]

[dependencies]
package-one = { path = "../package-one", version = "0.1", registry = "MyReg" }


No popup on certain sites

On some sites the popup doesn't show up while Youtube and various other sites work perfectly fine.
I'm using the latest version of Chrome 95.0.4638.54.
No Ad blocker, no errors in the console (Chrome / F12)
Some examples where it doesn't work:
https://www.pornhub.com/
https://de.spankbang.com/
Would highly appreciate if someone could look into this as gropple seems to be the perfect solution for my needs.

Hi @Gishanx
Can you please clarify, when you say "doesn't show up" do you mean that it doesn't even open the popup window at all, or that the popup window is empty?
I'm a little confused if it's the former - as that part (the actual window opening) is 100% client side javascript encoded into the bookmarklet, and that will even work if gropple isn't running.
I've managed to successfully gropple videos from both those sites with Chrome (Mac).

No dramas, thanks for investigating. It’s worth me putting a note on the page to help avoid others hitting the same problem. Thanks!


Does this library support drawing in vector format?

Does this library support drawing in vector format? such as: SVG suffix format

Not right out of the box, but you could possibly integrate SVG rasterizer as custom image decoder.

We started a Forum to discuss questions there. GitHub issue should be rather about development related topics. See this announcement.
If you have further questions about drawing in vector format please open a topic in the Forum and let's continue there.


How to Visualize the inference results?

I've downloaded the published dataset in this project, an successfully ran the inference on it. The inference results are in .HDR and .IMG format, is there any way I can visualize them?

You can download ITK-SNAP to visualize them.


Add a batch that has no max count

I like the design of the batch rule but fore some batches I don't care for the maximum number of files to batch, testing and linting.
Currently I'm just setting a high number, the number of files in the project * 2, to use as the max batch size. But it would be nice to have a bachAll rule that gives shake full flexibility to pick as many and as few it think is good.

Generally for batch processes the cost is c +n*m - where the cost per item is m, and there is some c constant overhead. It's always the case that if you scale up n high enough c becomes irrelevant, and that's probably the number you should be aiming for. If you put everything in one batch then Shake can't benefit from any parallelism to optimise things, which can sometimes mean you get higher throughput with lower numbers.
If you really want an unlimited batch then just pass 1000 and it's unlikely you'll ever hit actual splitting in practice.

If I understand it correctly. Shake will break things up in smaller batches even if you put over 9000 as batch size.
I basically want to tell shake that it can break at as big batches as it think is appropriate.
I also don't want my build script to contain numbers with no real meaning. I could create a
largBatch = batch 9000

function in my script. It seams general enough that others would like it too.

Shake will only break things up if it has nothing else to do. If you have 8 threads, it will still try and do 1 huge batch on a single thread. It only breaks up batches if it has literally nothing else to do, in which case it will do a batch with whatever has accumulated thus far.
batch maxBound would be the right way to go about it, if you don't want magic numbers. Not sure that will work with overflow, but that might be a nice way out.

Thanks! Yes maxBound is a good enough solution, I'll try it out!

The odds of Int overflow are very very high - I'll add it to the test suite and check it works (likely fixing the overflow issues).

I wrote a test case which seemed to work fine. An audit showed one place that made me nervous, so I rewrote that to be safe, but I'm pretty sure I convinced myself it was safe before too. So yes, maxBound is the way to go.

A while. But it's always worked with maxBound, so I think you'll be fine, no need to wait.
FWIW I recommend never to use Stackage LTS, as it delays fixes. http://neilmitchell.blogspot.com/2015/12/whats-point-of-stackage-lts.html

Thanks again! That leads to a second question: how long time does it take for changes in shake to end up in stackage (nightly)? And how do I know that the version I use have the changes I am waiting for :)?
Hypothetical, since as you said I am not waiting for any changes this time :).

The timeline of changes is:

I make them in Shake HEAD, or someone sends a PR I accept
I release them in a Shake release, which is when I have a good set of useful stuff, but can be immediate if there is any actual demand
Gets into Stackage Nightly within 1-3 days
Gets into Stackage LTS either about a week later (I didn't change the API in a backwards incompatible way), or 3-6 months (I did change the API)


Can TS Adapter be used with react-instantsearch-hooks-web

Description
I am using TS example of next implementation https://github.com/typesense/showcase-nextjs-typesense-ecommerce-store. It still uses the old way of react-instantsearch-dom/server implementation which extends the findResultsState however, the react instantsearch hooks is using a totally different approach per documentation  https://www.algolia.com/doc/guides/building-search-ui/upgrade-guides/react-hooks/
Steps to reproduce
const Adapter = new TypesenseInstantsearchAdapter({
	server: SERVER_CONFIG,
	additionalSearchParameters: {
		query_by: "brand",
		group_by: "brand",
		sort_by: "created_at_unix:desc, price:asc",
		group_limit: 1,
		filter_by: "is_archived:false && is_visible:true",
		per_page: 80
	},
});

Expected Behavior
Return grouped list based on the search parameters
Actual Behavior
I have implemented the instant search with TS via hooks, however, it did not work as expected because it renders the list as is, but if you do any manipulation to the client-side it refreshes the list to the correct way I wanted it to. Example of the implementation https://www.algolia.com/doc/guides/building-search-ui/going-further/server-side-rendering/react-hooks/#server-side-rendering
Metadata
Typesense Adapter Version: 2.6.0

I'm not too familiar with react-instantsearch-hooks-web, but to answer your question:

Can TS Adapter be used with react-instantsearch-hooks-web

I've anecdotally heard users using the adapter with react-instantsearch-hooks-web...

Hey 👋 I came here to ask a similar question, I tried getting a demo application up and running with the Instantsearch provider from react-instantsearch-hooks-web and immediately ran into the problem of the provider sending a GET request with the Typesense API key embedded in the query string instead of as a header, which made Typesense return a 401. Did you get further than me @gyto?

@denkristoffer I have a project currently working with dom/hook setup and I am still using next@12 per example, but if you try to switch to next@13 it comes to a lot of issues due to react new server-side render type

I'm not too familiar with react-instantsearch-hooks-web, but to answer your question:

Can TS Adapter be used with react-instantsearch-hooks-web

I've anecdotally heard users using the adapter with react-instantsearch-hooks-web... All the adapter does is to translate any search requests generated by instantsearch to a format understood by Typesense and vice-versa. And the data format for these search requests is consistent regardless of whether it's vanilla JS, react, vue or angular.

I assume that a common sense because they change it constantly. So your suggestion is just to use regular instant search as a dom and avoid hooks?


CommonGen dataset page shows an error OSError: [Errno 28] No space left on device

The page of the CommonGen data https://huggingface.co/datasets/viewer/?dataset=common_gen  shows

Facing the same issue for Squad and TriviaQA datasets as well.

We just fixed the issue, thanks for reporting !


Allow commands with multiple parameters

Might fix #18
The setValue objects need to be removed manually before adapter restart so they will be recreated with correct data. Should be improved to update object data automatically.
Setting works e. g. by using {"slope": 0.3, "shift": 1} for viessmannapi.0.xxxxx.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue

Could you please explain again for a bloody beginner?
I am using the JS Adapter in IOBroker, the statement:
setState("viessmannapi.0.xxx.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue", {"slope": 0.3 , "shift": 5});
leads to this API error:
SyntaxError: Unexpected token o in JSON at position 1
Please use a valid JSON: {"slope": x, "shift": y}
{"viErrorId":"req-8461e9953fc347d79f52904b0025bc06","statusCode":422,"errorType":"VALIDATION_ERROR","message":"VALIDATION_ERROR","validationErrors":[],"extendedPayload":{"httpStatusCode":"BadRequest","code":"400","reason":"VALIDATION_ERROR","details":"The parameter slope not provided"}}

Doesn´t work for me but your answer got me to play around with different object types until I got this to work for me:
setState("viessmannapi.0.xxxx.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue", (JSON.stringify({"slope":0.4, "shift":4})));
It is still throwing the warning "You are assigning a string to the state "viessmannapi.0.xxxx.0.features.heating.circuits.0.heating.curve.commands.setCurve.setValue" which expects a object."
I hope / guess someone with a bit more sense of JavaScript & JSON can propose a cleaner solution ;-)


Enhance supported patterns to include ** matching multilevel of subdomains

Adding ** to match substrings as a prefix including subdomains.

So far subdomains required a definition of all subdomains by adding a chain of star and dot.

Example:
rules:
  dns:
    - matchPattern: '*.cluster.local'
    - matchPattern: '*.*.cluster.local'
    - matchPattern: '*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.internal'
    - matchPattern: '*.*.*.*.internal'
    - matchPattern: '*.*.*.*.*.internal'
    - matchPattern: '*.*.*.*.*.*.internal'
    - matchPattern: '*.*.*.*.*.*.*.internal'
    - matchPattern: '*.*.*.*.*.*.*.*.internal'
    - matchPattern: '*.*.*.*.*.*.*.*.*.internal'
    - matchPattern: '*.*.internal.cloudapp.net'
    - matchPattern: '*.*.*.internal.cloudapp.net'
    - matchPattern: '*.*.*.*.internal.cloudapp.net'
    - matchPattern: '*.*.*.*.*.internal.cloudapp.net'
    - matchPattern: '*.*.*.*.*.*.internal.cloudapp.net'
    - matchPattern: '*.*.*.*.*.*.*.internal.cloudapp.net'
    - matchPattern: '*.*.*.*.*.*.*.*.internal.cloudapp.net'

A feature enhancement introduces wildcards where ** would represent 1 or more DNS subdomains. That would allow them to compress the above policy to:

rules:
  dns:
    - matchPattern: '**.cluster.local'
    - matchPattern: '**.internal'
    - matchPattern: '**.internal.cloudapp.net'

Th code modification does not change the old behaviour if someone wants to list subdomains explicitly.

For example the policy:
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
  name: fqdn-policy
spec:
  endpointSelector: {}
  egress:
    - toFQDNs:
      - matchPattern: "*pl"
      - matchPattern: "*.io"
      - matchPattern: "**com"
      - matchPattern: "**.amazonaws.com"
    - toPorts:
      - ports:
         - port: "53"
           protocol: UDP
        rules:
          dns:
            - matchPattern: "*"

produces the following result:
Forbids domain.pl as expected by the old behaviour.
Allows cilium.io as expected by the old behaviour.
Allows google.com as expected by a new behaviour.
Allows elasticbeanstalk-eu-west-1-123456789000.s3-eu-west-1.amazonaws.com as expected by a new behaviour.

Release note:
Enhance supported patterns to include ** matching multilevel of subdomains.

Instead of the rules with listed subdomains:

rules:
  dns:
    - matchPattern: '*.cluster.local'
    - matchPattern: '*.*.cluster.local'
    - matchPattern: '*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.*.*.cluster.local'
    - matchPattern: '*.*.*.*.*.*.*.*.cluster.local'

the following policy can be used:

rules:
  dns:
    - matchPattern: '**.cluster.local'

Signed-off-by: Piotr Jablonski<EMAIL_ADDRESS>

Under a security review: https://isovalent.slack.com/archives/CHAA21WJU/p1697583336193869

Thank you @joestringer for matching this PR with a previous considerations which should be included here.
Regarding a subdomain hijacking this PR does not make it easier comparing to the *. (asterisk dot) notation. Typically hijacked subdomains are at the first subdomain level of the FQDN: [subdomain]. [domainname]. [tld].
Both following rules:

matchPattern: "*.example.com"
matchPattern: "**.example.com"
contribute in the same way to hijacking of subdomain.example.com.

If it is required to block other-level subdomains then the current notation "*.example.com" can be used.
In cases where more subdomains must be allowed then the chain of *. must be added allowing the attack as well.
FQDNs can be attacked in any case and a proper protection should be provided by e.g. auth codes.

After security review with @ferozsalam , we concluded that this does slightly increase the risk of user clusters becoming compromised in cases where target domains are managed by a third party and particularly in cases where the third party delegates the responsibility for DNS subdomains across multiple administrators within that organization. It's difficult for someone writing a firewall rule to estimate that risk. That said, we also came to the conclusion that limiting the matching feature to a single level of subdomains is probably not the right way to mitigate the risk.
We plan on coming up with some improved guidance for the feature in order to ensure users have the opportunity to be properly educated regarding the security impact of this feature.
With that, I think that the next step is review and testing. I don't see any tests being proposed here, can you add some unit tests to validate the new regexes? Some of the corner cases might be things like proving that the . inside the new regex only matches the . character and not arbitrary characters, as well as checking that multiple levels of domains are matched as expected, as well as cases like the use of a regex that only has the content **. (Probably this makes no sense, allowing ** can be better expressed in other ways. Should we reject that case?) Perhaps you have some other corner cases in mind as well that would be worth validating.

CI also complained about unformatted code:
./pkg/fqdn/matchpattern/matchpattern.go
diff ./pkg/fqdn/matchpattern/matchpattern.go.orig ./pkg/fqdn/matchpattern/matchpattern.go
--- ./pkg/fqdn/matchpattern/matchpattern.go.orig
+++ ./pkg/fqdn/matchpattern/matchpattern.go
@@ -102,14 +102,14 @@
 	// base case. "." becomes a literal .
 	pattern = strings.Replace(pattern, ".", "[.]", -1)

-        // ** becomes [-a-zA-Z0-9_.]#, # to bypass the next line
+	// ** becomes [-a-zA-Z0-9_.]#, # to bypass the next line
 	pattern = strings.Replace(pattern, "**", enhancedDNSCharsREGroup+"#", -1)
-
+
 	// base case. * becomes .*, but only for DNS valid characters
 	// NOTE: this only works because the case above does not leave the *
 	pattern = strings.Replace(pattern, "*", allowedDNSCharsREGroup+"*", -1)

-        // # becomes *
+	// # becomes *
 	pattern = strings.Replace(pattern, "#", "*", -1)
 	return pattern
 }
make: *** [Makefile:786: precheck] Error 1
make: *** Waiting for unfinished jobs....

You may consider using gofmt, either directly or integrated into your editor, to catch such issues. make precheck locally should reproduce the report from CI.

Added and run unit tests.
pj->matchpattern:~$ go test -v
=== RUN   Test
=== RUN   Test/MatchPatternTestSuite
=== RUN   Test/MatchPatternTestSuite/TestAnchoredMatchPatternMatching
=== RUN   Test/MatchPatternTestSuite/TestAnchoredMatchPatternREConversion
=== RUN   Test/MatchPatternTestSuite/TestMatchPatternSanitize
=== RUN   Test/MatchPatternTestSuite/TestUnAnchoredMatchPatternREConversion
--- PASS: Test (0.00s)
    --- PASS: Test/MatchPatternTestSuite (0.00s)
        --- PASS: Test/MatchPatternTestSuite/TestAnchoredMatchPatternMatching (0.00s)
        --- PASS: Test/MatchPatternTestSuite/TestAnchoredMatchPatternREConversion (0.00s)
        --- PASS: Test/MatchPatternTestSuite/TestMatchPatternSanitize (0.00s)
        --- PASS: Test/MatchPatternTestSuite/TestUnAnchoredMatchPatternREConversion (0.00s)
PASS
ok  	github.com/cilium/cilium/pkg/fqdn/matchpattern	0.648s

I expect we will want to add documentation about this feature in the matchPattern section. In that case, I suggest the following text to go in a 'Note' callout box directly after the matchPattern section:

* and ** wildcards as described above should be used with caution, as they could allow outward traffic from a Cilium cluster to unexpected destinations; the ** wildcard in particular could have far-reaching effects. Before implementing policies which use such wildcards, users should evaluate their own threat model and the likelihood of a target domain or sub-domain being configured or hijacked to exfiltrate information from the Cilium deployment. In situations where users do not have full control of the target domain or sub-domain, usage of this feature is generally discouraged.

@joestringer and @pjablonski123, what do you think?

In situations where users do not have full control of the target domain or sub-domain

This is true not only to this feature, but also to asterisk which is used in the chain like ....*.cilium.io.o

@pjablonski123 @ferozsalam the latest text looks good. I would suggest submitting that change into the appropriate docs as a separate PR and we get it in first. We may want to backport that to older releases, so I'd rather decouple it from this PR.

As for this PR I would suggest rebasing to squash all of the commits together while you address the current failures in CI. I'll mark the PR is draft, but once you've resolved the current CI issues then feel free to mark the PR as "ready for review" at the bottom of the page and we can take a fresh look.

reopen

Looks like some checks are still failing

Commit signed-off is wrong: Signed-off-by: Piotr Jablonski<EMAIL_ADDRESS>is missing the <...> around the email -> https://docs.cilium.io/en/latest/contributing/development/contributing_guide/#developer-s-certificate-of-origin
Merge commits aren't allowed in PRs -> you have to rebase your branch instead of merging it

Rebase + commit changes to 2 files.

Rebase + commit changes to 2 files.

looks like you you deleted the proper commit message by mistake  :confused:

sorry for a mess

/test

/test

/test

@joestringer Can you run the test again?
failed:
Cilium Cluster Mesh upgrade (ci-clustermesh)
Integration Tests (ci-integration)

Going to mark this draft for now, please mark ready for review once the points raised in the review have been addressed.

@pjablonski123 what's the status of this PR? There are a few unresolved review comments. Please note that the feature freeze date for Cilium 1.15 is tomorrow Nov 30th. If we want to get this PR into 1.15, we'd need to get it approved by tomorrow.

The code is amended as pointed out.
Tests extended to include additional cases.
Tests are finished.

pj->matchpattern:~$ go test -v
=== RUN   Test
=== RUN   Test/MatchPatternTestSuite
=== RUN   Test/MatchPatternTestSuite/TestAnchoredMatchPatternMatching
=== RUN   Test/MatchPatternTestSuite/TestAnchoredMatchPatternREConversion
=== RUN   Test/MatchPatternTestSuite/TestMatchPatternSanitize
=== RUN   Test/MatchPatternTestSuite/TestUnAnchoredMatchPatternREConversion
--- PASS: Test (0.00s)
--- PASS: Test/MatchPatternTestSuite (0.00s)
--- PASS: Test/MatchPatternTestSuite/TestAnchoredMatchPatternMatching (0.00s)
--- PASS: Test/MatchPatternTestSuite/TestAnchoredMatchPatternREConversion (0.00s)
--- PASS: Test/MatchPatternTestSuite/TestMatchPatternSanitize (0.00s)
--- PASS: Test/MatchPatternTestSuite/TestUnAnchoredMatchPatternREConversion (0.00s)
PASS
ok  	github.com/cilium/cilium/pkg/fqdn/matchpattern	0.520s

@pjablonski123 please squash all commits into a single one with a commit message describing the change (i.e. what is currently contained only in the PR description). Pleas also remove the merge commit (we use rebase merges in this repo).

Enhance supported patterns to include ** matching multilevel of subdomains.

@bimmlerd

Question: do we handle **.**.cilium.io and **.cilium.**.io, and if so, how?

It is not recommended to use these forms as the simpler one are more clear: **.cilium.io and **.cilium.*.io respectively.
We handle your examples in a way that one or more sub/domains can be matched in the place of "**".

Second question: should cilium.** be accepted?

Rather yes, as cilium can be a subdomain. But it depends on us overall what we allow.

Third question: What's correct for **cilium.io? Should it behave like it seems to, currently? I'd expect a.b.cilium.io. to match if a.cilium.io. does.
raw: "**cilium.io"
regex: ^[-a-zA-Z0-9_]+[.][-a-zA-Z0-9_]*cilium[.]io[.]$
yes:	"a.cilium.io."
no:	"a.b.cilium.io."
no:	"a.b.c.cilium.io."

This is a difficult scenario where there is no dot between "" and a domain. The correct usage is ".cilium.io" is you want to match more subdomains. I would count it as a point for a further discussion with the customers/users - what do they prefer.

Oh and are there docs on how this should behave? The semantics aren't all that clear to me, tbh.

The doc file is extended. There are clear examples how "**" should be used. Other exotic forms are not recommended.

@pjablonski123 Please also add some documentation to Documentation/security/policy/language.rst describing the new ** matching behavior.

Added a short description.

Squashed 6 commits to one.

Awesome progress, this is much better already.
However, if we don't know what to specify for the behaviour of **cilium.io, then we should reject it for now. Otherwise, we are bound by the (implementation-defined) behaviour and will not be able to change it in the future, as that would be a breaking change (essentially https://www.hyrumslaw.com/).

A decision is to keep it as it is. Why? Because **cilium.io is now interpreted as *.*cilium.io, so one asterisk is taken to a subdomain portion and one asterisk as a wildcard. If users want more subdomains they can simply use **.cilium.io.

A decision is to keep it as it is. Why? Because **cilium.io has a logic where it is interpreted as *.*cilium.io, so one asterisk is taken to a subdomain portion and one asterisk as a wildcard. If users want more subdomains they can simply use **.cilium.io.

I'm not arguing that the current behaviour is bad. I'm saying that there is no value gained in allowing **cilium.io. As you say, it can be trivially replaced by *.*cilium.io. Indeed, I see harm in not rejecting it, by way of forcing us to keep the current behaviour. In addition, if we don't reject it, it is unnecessarily confusing for users and devs. We don't even document what the behaviour is. If I had to debug some policy issue around this, I'd have to look at the implementation (which isn't easy to understand, either).

A decision is to keep it as it is. Why? Because **cilium.io has a logic where it is interpreted as *.*cilium.io, so one asterisk is taken to a subdomain portion and one asterisk as a wildcard. If users want more subdomains they can simply use **.cilium.io.

I'm not arguing that the current behaviour is bad. I'm saying that there is no value gained in allowing **cilium.io. As you say, it can be trivially replaced by *.*cilium.io. Indeed, I see harm in not rejecting it, by way of forcing us to keep the current behaviour. In addition, if we don't reject it, it is unnecessarily confusing for users and devs. We don't document what the behaviour is. If I had to debug some policy issue around this, I'd have to look at the implementation (which isn't easy to understand, either).

I see your point. What code do you suggest to block it?

What about adding a condition like this (high level syntax)? IF "^**[-a-zA-Z0-9_]" THEN USE "^**.[-a-zA-Z0-9_]"

I'm not sure I'm understanding. This would not be sufficient to reject ab**cd.io, which we do want to reject.

That was just one condition, of course for other cases like ** in the middle it should be addressed as well. As of now for simplicity, let's keep these three use cases:
**.cilium.io (**. at the beginning.)
foo.**.cilium.io (.**. in the middle)
cilium.** (.** at the end) <- could possibly reject this too?

If there is a justification or a deep interest we can extend it in the future.

@bimmlerd I suppose in the api/fqdn.go this should be changed, correct?
	FQDNMatchPatternRegexString = ^([-a-zA-Z0-9_*]+[.]?)+$ to something like this `	FQDNMatchPatternRegexString = `^([-a-zA-Z0-9_]+[*]?+[.]?)+$

Maybe something like this one?
^([*]+[.]?[*]?[-a-zA-Z0-9_]+[*]?[.]?)+$

Maybe sth like this?
^(\**.)?([*]?[-a-zA-Z0-9_]+[*]?[.]?)+$

If we are going to forbid ** in other places why this string *.cilium.io.* is a good one?
goodFqdnPatterns := []string{
		"*.cilium.io",
		"*.cilium.io.*",
		"*.cilium.io.*.",
		"*.xn--e28h.com",
		"*._tcp.cilium.io",
		"*._tcp.*",
		"_http._tcp.*",
	}

@pjablonski123 You could use https://regex101.com/r/NIkMYC/2 to iterate on the regex. That seems quicker than iterating via CI. (You can also run the go unit tests locally, if you have a Go setup.) One quick fix would be to escape (prefix with \) the * and . at the beginning.
Note also that I am not proposing changing the behaviour of *. I'm only wanting to reject the unexpected behaviour of **. Your change to the regex does change the behaviour of *.

The unexpected word can be discussed here as we know what is the allowed regex and this is out of the scope of the recommended usage. Let's continue with the latest update.

By the way, I realised that any change of behaviour is technically a breaking change, since people may have used ** in their policy already. Not sure what to make of that.

I used exectly this website. Local tests did not detect discrepancies in other files, but I run just in the matchpattern folder. Maybe that's why.
Anyway, the lastest regex string works fine for defined patterns.
In terms of **, this was not an intended use pattern till now.

@bimmlerd

By the way, I realised that any change of behaviour is technically a breaking change, since people may have used ** in their policy already. Not sure what to make of that.

In terms of **, this was not an intended use pattern till now.

Apparently, the initial PR proposal of using ** was not a breaking change. By limiting the use cases it becomes a breaking change. But frankly I did not see ** so far in the opened github issues. It is not a definite proof, but perhaps a breaking change effect may be very minimal overall.

EDIT: In response to your edit - I am pretty strongly opposed to adding underspecified features to the policy - 'just' documenting it won't convince me to ack this, but happy to be overruled by a maintainer or more senior engineers.

I agree and I think this feature warrants wider discussion based on a well-specified proposal, e.g. in form of a CFP. Instead of going back and forth on the specifics of the regex that is used to implement the check, I think we should take a step back here and write up a proposal with the intended behavior of the new ** pattern and consider potential backwards-compatibility issues with the existing * patterns. That proposal could then be discussed in the community meeting and/or the #sig-policy Slack channel.

EDIT: In response to your edit - I am pretty strongly opposed to adding underspecified features to the policy - 'just' documenting it won't convince me to ack this, but happy to be overruled by a maintainer or more senior engineers.

I agree and I think this feature warrants wider discussion based on a well-specified proposal, e.g. in form of a CFP. Instead of going back and forth on the specifics of the regex that is used to implement the check, I think we should take a step back here and write up a proposal with the intended behavior of the new ** pattern and consider potential backwards-compatibility issues with the existing * patterns. That proposal could then be discussed in the community meeting and/or the #sig-policy Slack channel.

The quote you are referring to is related to the initial code where there is a case of **cilium.io. We agreed with @bimmlerd in this thread to only allow** at the beginning of the domain name. Which is reflected in the code now.
If in the previous Cilium releases two or more asterisks were allowed it means that unsupported syntax was not filtered out which is done now.

Just because there aren't any reported issues with ** doesn't mean that any users would (mistakenly) already use them.

Agree, that why I mentioned that it is not a definite proof. It is a probability.

It's still a breaking change, no matter how "wrong" the users were to already using ** to match a single subdomain.

OK, so then no matter what we do this enhancement will be a breaking change.
To summarize what is required, I will add:

More information how this feature affects the policy, including possible break if there is ** inside. This will meet the following request.

I think we at the very least would need to clearly document in the upgrade notes that existing CNPs using ** might break. This bit of documentation should be part of this PR.
As mentioned above, at least it needs to be documented clearly that the behavior would change for these users.

A release entry with the user-facing implications. This will meet the following request.

I see you've added a section to the docs discussing some of the security implications. In addition, I think this PR also needs a dedicated release note entry other than the PR title in the PR description mentioning the user-facing implications of this change. See item 12 here in the contribution guide on how a good release note should look.

Please let me know if anything else is required. Thank you for a review!

Just because there aren't any reported issues with ** doesn't mean that any users would (mistakenly) already use them.

Agree, that's why I mentioned that it is not a definite proof. It is a probability.

It's still a breaking change, no matter how "wrong" the users were to already using ** to match a single subdomain.

OK, so then no matter what we do this enhancement will be a breaking change.
To summarize what is required, I will add:

More information how this feature affects the policy, including possible break if there is ** inside. This will meet the following request.

I think we at the very least would need to clearly document in the upgrade notes that existing CNPs using ** might break. This bit of documentation should be part of this PR.
As mentioned above, at least it needs to be documented clearly that the behavior would change for these users.

A release entry with the user-facing implications. This will meet the following request.

I see you've added a section to the docs discussing some of the security implications. In addition, I think this PR also needs a dedicated release note entry other than the PR title in the PR description mentioning the user-facing implications of this change. See item 12 here in the contribution guide on how a good release note should look.

Please let me know if anything else is required. Thank you for a review!

Sounds good to me. Ideally we'd also cover this feature in a cilium-cli connectivity test as a follow-up.

/test

@tklauser Added a release note and a word to the wordlist, extended a doc description + all previous changes.

/test

Removing review requests from non-required codeowners (such as e.g. wireguard)

@tklauser Added a release note and a word to the wordlist, extended a doc description + all previous changes.

@pjablonski123 Thanks. The doc description LGTM but I don't see a release note being added by the PR yet. Maybe you forgot to add/push that change?

@tklauser an upgrade note added. Pls let me know if anything is missing. Thx!

@tklauser is there a chance this might still land?

Some concerns were voiced on the CFP issue, see https://github.com/cilium/cilium/issues/22081#issuecomment-2034521307. I think these should be discussed and addressed first.

@pjablonski123 are you still working on this item? If not, we would like to pick this up. cc: @vipul-21

@pjablonski123 are you still working on this item? If not, we would like to pick this up. cc: @vipul-21

Hi @tamilmani1989, I will reopen this and address the security concerns.


[Editor] Always give the focus to the ink editor when starting drawing (bug 1867588)

This way, when the editor is blurred, it can be committed and everything works fine.
It fixes issue #17373.

/botio-linux preview

/botio integrationtest


Inaccaurate documentation for evaluating against pre-trained models

Is there an existing issue for this?

[X] I have searched the existing issues

Issue summary
Some documentation is lacking / inaccurate for evaluating against pre-trained models.
What documentation should be provided?

The evaluation code uses a config based on the -–model parameter, not the config provided by model_id. This should be clarified.
The datasets that you use for evaluation needs to have at least 3 subjects to be able to have at least 1 for training, 1 for validation and 1 for testing. This is quite cumbersome because our users probably want to evaluate on all their data. Documentation should be clearer on how to do this (inference service / other workarounds?).
Clarify that the validation the evaluation dataset needs to have the same structures as the model, or the checks will fail.

example command that currently works:
python ./InnerEye/ML/runner.py --azure_dataset_id <dataset_id> --model <model_class_name> --model_id <azure_model_id>:<version> --azureml --train False --restrict_subjects=1,1,1 --check_exclusive=False

AB#8800

Additionally, there is a lack of documentation on how to run inference locally.


TN-944 fix registration status display on UI

fix registration status display on profile page
add check for registration status on whether to display reset password UI
remove unused/unnecessary code

@achen2401 I see - yes, I introduced that test breakage by not altering the default test user to appear as a registered user.  Just added a commit to this branch - will merge once the tests pass.  Thanks.


Send notification from my strategy

Note: this is the technical bug tracker, please use other platforms for getting support and starting a (non technical) discussion. See the getting help page for details.
I'm submitting a ...
[ ] bug report
[ ] question about the decisions made in the repository
[x] feature request
Action taken (what you did)
Sometimes, I need to get more information currently running in my strategy (New advice with additional information, current status of my running strategy,...). So I need a function for send notification to my plugin (Slack, Email, Discord,...).
Expected result (what you hoped would happen)
this.notice('Hello, I can send additional information here!'); and I can see that notification in Slack or Email
Actual result (unexpected outcome)
None
Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc)
None

great idea, discussion on implementation in #2285.


Regex works incorrect in Edge

/^[\w!\$&\*\-\.\?\^\{\}~]+<EMAIL_ADDRESS>This code returns true in Microsoft Edge 40.15063.674.0, Microsoft EdgeHTML 15.15063
Also this issue doesn’t reproduce in following versions:
Microsoft Edge 38.14393.1066.0, Microsoft EdgeHTML 14.14393
Microsoft Edge 41.16299.15.0, Microsoft EdgeHTML 16.16299
Also this issues doesn't reproduce in other browsers (IE, Chrome, Firefox)

Thanks for the report!
As this seems already fixed in the current version of Edge and ChakraCore, and we do not typically back-port functionality bug fixes, I am going to close this for now.


sort: go 1.6 panic: runtime error: index out of range

It looks like the recent sort improvements, released in go 1.6 result in a runtime panic: index out of range
After updating to go 1.6 a simple sort that was working fine in 1.5.3 now causes a panic: runtime error: index out of range.
I added some debugging to try can catch it in the act and it seems like go 1.6's sort may be broken.
Output:
LEN: 189
LEN: 189 i: 95 j: 189
panic: runtime error: index out of range

I should never see that second LEN call as it means that sort called Less with i or j >= Len().
Code snippet
func (ba Sorter) Len() int {
        fmt.Println("LEN:", len(ba))
        return len(ba)
}

func (ba Sorter) Less(i, j int) bool {
        if len(ba) <= i || len(ba) <= j {
                fmt.Println("LEN:", len(ba), "i:", i, "j:", j)
        }
        a, b := ba[i], ba[j] // <-- Panic happens here
...
}

func (ba Sorter) Swap(i, j int) {
        ba[i], ba[j] = ba[j], ba[i]
}

Reverting: https://github.com/golang/go/commit/e71d64012c9d9dc744bc9a780b4afccd8f5b029d makes the problem go away.
panic: runtime error: index out of range

goroutine 23 [running]:
panic(0x8a4440, 0xc82000e100)
        /usr/local/go/src/runtime/panic.go:464 +0x3e6
Sorter.Less(0xc82018a000, 0xd6, 0x3e8, 0x1d, 0xffffffffffffffff, 0x1)
        sort.go:19 +0x41f
(*Sorter).Less(0xc820fc83c0, 0x1d, 0xffffffffffffffff, 0x1)
        <autogenerated>:471 +0xb5
sort.doPivot(0x800d81000, 0xc820fc83c0, 0x1d, 0x35, 0x1a, 0x3d)
        /usr/local/go/src/sort/sort.go:128 +0x27b
sort.quickSort(0x800d81000, 0xc820fc83c0, 0x1d, 0x35, 0xc)
        /usr/local/go/src/sort/sort.go:195 +0xa3
sort.quickSort(0x800d81000, 0xc820fc83c0, 0x0, 0x35, 0xd)
        /usr/local/go/src/sort/sort.go:202 +0x12a
sort.quickSort(0x800d81000, 0xc820fc83c0, 0x0, 0xd6, 0xf)
        /usr/local/go/src/sort/sort.go:199 +0xfe
sort.Sort(0x800d81000, 0xc820fc83c0)
        /usr/local/go/src/sort/sort.go:229 +0x74

Can you show us a complete program that reproduces the problem?

Or at least the complete Less function.
(Does Go now require Less to be a strict weak ordering like the STL in C++?)

On golang-nuts @stevenh mentioned that the program has a data race.

@cespare, thanks. Indeed, from golang-nuts:

The fields being sorted by do indeed have a data race, however ...

No "howevers". Data race = no promises.

Here's the full version of Less.
func (ba Sorter) Less(i, j int) bool {
if len(ba) <= i || len(ba) <= j {
fmt.Println("LEN:", len(ba), "i:", i, "j:", j)
}
a, b := ba[i], ba[j]
     if a.VirtualType() < b.VirtualType() {
             return true
     } else if b.VirtualType() < a.VirtualType() {
             return false
     }

     aAlloc := a.Allocated()
     bAlloc := b.Allocated()
     if aAlloc > bAlloc {
             return true
     } else if bAlloc > aAlloc {
             return false
     }

     if a.LastUsed().After(b.LastUsed()) {
             return true
     } else if b.LastUsed().After(a.LastUsed()) {
             return false
     }

     return a.ID() < b.ID()

}
-race identified that LastUsed is racey, but it didn't race on the sort
run which paniced.
On 18/02/2016 04:21, Brad Fitzpatrick wrote:

Or at least the complete Less function.
(Does Go now require Less to be a strict weak ordering like the STL in
C++?)
—
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/14377#issuecomment-185536774.

Feel free to re-open this bug if you have a complete stand-alone race-free repro.
But if there's a bug, somebody else will hit it. Everybody uses sort. The fact that we haven't seen it already suggests it is due to your race.

We had a similar issue with one of our sorts where comparison was not deterministic (we used random as a tiebreaker). It makes sense that it should be, but it might be a good idea to either document it or produce more explicit error message.
Example that "works" in go 1.5 but crashes in 1.6:
package main

import (
	"math/rand"
	"sort"
)

type Test struct{}

type TestSort []*Test

func (v TestSort) Len() int {
	return len(v)
}
func (v TestSort) Swap(i, j int) {
	v[i], v[j] = v[j], v[i]
}
func (v TestSort) Less(i, j int) bool {
	return rand.Float32() < 0.5
}

func main() {
	results := []*Test{}
	for i := 0; i < 100; i++ {
		results = append(results, &Test{})
	}
	sort.Sort(TestSort(results))
}

@hamaxx, thanks!
I can confirm:
bradfitz@laptop ~$ GOROOT=$HOME/go1.4 go run sort.go
bradfitz@laptop ~$ GOROOT=$HOME/go1.5 go run sort.go
bradfitz@laptop ~$ GOROOT=$HOME/go go run sort.go
panic: runtime error: index out of range

goroutine 1 [running]:
panic(0x66280, 0xc82000a080)
	/Users/bradfitz/go/src/runtime/panic.go:464 +0x3e6
main.(*TestSort).Swap(0xc82000e1c0, 0x62, 0xffffffffffffffff)
	<autogenerated>:2 +0x14b
sort.doPivot(0x13d088, 0xc82000e1c0, 0x0, 0x64, 0xc82000e1c0, 0x18)
	/Users/bradfitz/go/src/sort/sort.go:134 +0x5ea
sort.quickSort(0x13d088, 0xc82000e1c0, 0x0, 0x64, 0xd)
	/Users/bradfitz/go/src/sort/sort.go:195 +0xa3
sort.Sort(0x13d088, 0xc82000e1c0)
	/Users/bradfitz/go/src/sort/sort.go:229 +0x74
main.main()
	/Users/bradfitz/sort.go:27 +0x139
exit status 2

I didn't look too deeply into it, but I think it might be pretty easy to just fix the issue for the next release:
--- orig/sort.go	2016-02-18 18:22:08.837326357 +0100
+++ sort.go	2016-02-18 18:27:07.635737561 +0100
@@ -4,7 +4,7 @@

 // A type, typically a collection, that satisfies sort.Interface can be
 // sorted by the routines in this package.  The methods require that the
@@ -123,11 +123,11 @@
    }
    b := a
    for {
-		for ; b != c && !data.Less(pivot, b); b++ { // data[b] <= pivot
+		for ; b < c && !data.Less(pivot, b); b++ { // data[b] <= pivot
        }
-		for ; b != c && data.Less(pivot, c-1); c-- { // data[c-1] > pivot
+		for ; b < c && data.Less(pivot, c-1); c-- { // data[c-1] > pivot
        }
-		if b == c {
+		if b >= c {
            break
        }
        // data[b] > pivot; data[c-1] <= pivot
@@ -167,11 +167,11 @@
        //	data[a <= i < b] unexamined
        //	data[b <= i < c] = pivot
        for {
-			for ; a != b && !data.Less(b-1, pivot); b-- { // data[b] == pivot
+			for ; a < b && !data.Less(b-1, pivot); b-- { // data[b] == pivot
            }
-			for ; a != b && data.Less(a, pivot); a++ { // data[a] < pivot
+			for ; a < b && data.Less(a, pivot); a++ { // data[a] < pivot
            }
-			if a == b {
+			if a >= b {
                break
            }
            // data[a] == pivot; data[b-1] < pivot

I didn't thought about "random tie breaker" when i've changed comparison to inequality check.
While I think "random tie breaker" is not a good thing, it is sometimes useful. So patch should be applied.
Had someone sent already change for review?

@funny-falcon, no, there is no patch yet. It would be referenced here automatically if so. Want to send one?

@hamaxx wrote it already in his comments (both test case and fix), so if he wants to make a patch, i will not cross his way.

Aside: I would recommend against the "random tie breaker" method.  While I do think the index out of bound panic should be fixed, I don't think sort.Sort makes any guarantees about the output ordering when Less is not a deterministic total ordering function.  (And the random tie breaker method violates both determinism and total ordering.)

@mdempsky if you are team leader, you shall not allow "random tie breaker" to be merged into master. "rtb" is really a hack.
But if you makes personal project, then it is "quick and dirty" way to "sort by priority and get some random elements from min/max/mean priority".
Is Go only for good teams, or for "teenagers" also?

@funny-falcon, or @hamaxx, please send a CL. Code in comments isn't enough. Thanks.

Sure, I can send a CL.

@hamaxx, thanks!

@bradfitz I didn't tell comments are enough ;-) I've said I don't want to steal @hamaxx authorship

It's not clear to me that defending against inconsistent Less functions is required of sort.Sort. Therefore it's not clear to me that this needs to go into a point release.

Some one points to Go1x compatibility claim: program were working before Go1.6 and now it fails.
I believe it is my fault: when I changed condition I had an image of stable Less in my mind, and I forgot about "random tie breaker". "rtb" is really useful in some "quick&dirty" programs.


Cannot reproduce the results provided in the "experiments" folder?

I created a training set by sampling 10000 images from the Coco datasets. I have some questions:

I can reproduce the "crop" experiment's training footprint with a similar scale of loss. But I cannot reproduce the 'combined' experiment. The total loss increased after several epochs and the training bitwise-error remained very high (0.46). It seems the model can not converge very well.
In the paper, the authors use YUV color space. Did you use YUV color space?

Hi,
do you reproduce the expected results now?
I have the same problem and the loss of the discriminator is abnormal..


implement http client for container, incept backend interface

TODO:

[x] use urlparse
[x] write tests for http client

Signed-off-by: Tomas Tomecek<EMAIL_ADDRESS>

I'm done, waiting for CI to be green.

CI is green, I welcome reviews.

renamed, praying to CI gods

CI gods were kind to me; @dhodovsk, @jscotka merge time?


Porcelain/Goon fails to start on Windows 2012 R2 Datacenter

I've tried explicitly pointing to the full path of the goon.exe executable, as well as having it in my path.  I've also tried using the both the 32-bit and 64-bit binaries, as well as building from source, but I cannot get Goon to work with Porcelain on Windows 2012 R2 Datacenter.  In all scenarios, it returns with the following error:
=INFO REPORT==== 7-Aug-2016::12:28:47 ===
application: logger
exited: stopped
type: temporary
(Mix) Could not start application porcelain: Porcelain.App.start(:normal, []) returned an error: "goon executable at c:/Windows/system32/goon.exe does not support protocol version 2.0"
I am using the latest version of Goon (v1.1.1).
Anybody have a workaround?
It may not be relevant, but Goon works fine for me in OS X El Capitan and Fedora.

Hi. The issue might be related to how Porcelain negotiates the protocol with the goon binary. Could you try running this branch of Porcelain and see if it works?

The alco/goon-ack branch worked for me on a Windows 7 (through Cygwin) installation.  However, my failure case would fallback to the basic driver:
[warn]  [Porcelain]: goon executable at c:/cygwin-1.7.31-3/home/bturnbull/bin/goon.exe does not support protocol version 2.0

[warn]  [Porcelain]: falling back to the basic driver.


Change plugin add command in readme

They changed how you add plugins

Oops, I missed a spot in https://github.com/nat-n/poethepoet/blob/main/README.rst#run-tasks-with-the-poe-cli


Manage version file

Will be nice if we have a version.txt where we can find : vx.x.x
When we would create a PR, we will have a Github action that increase this version base on label / or action from comments
And it will manage the update of the file.
Once the PR is merged
It will create a DRAFT release with the correct tag.

This could move into my template for all my project in go

Will use the github action github-tag-action for now 🤔


[MB-10351] Update ShipmentDisplay stories to use error and warning props that more accurately reflect usage in the app

Jira ticket for this change
Summary
This ended up being pretty small, because the behavior in the app is already correct: any value that is required on the shipment form fields should always show as missing in the collapsed view on the shipment cards if it is missing.
In any case, this is just updating the prop values in the two "missing info" stories for NTS and NTS-release shipments so that those values match what is in the app now. I also added counselor remarks as a "warning" field for demonstration purposes, as that is shown as a warning field on service counselor views.
Setup to Run Your Code

💻 You will need to use one terminal to test this locally.
Terminal 1
Start the Storybook locally.
make storybook

Additional steps

View the NTS Shipment missing info story (http://localhost:6006/?path=/story/office-components-shipment-display--nts-shipment-missing-info) and the NTS Release shipment missing info story (http://localhost:6006/?path=/story/office-components-shipment-display--nts-release-shipment-missing-info) and confirm that the missing/warning fields show up in both the collapsed and expanded state.

Verification Steps for Author
These are to be checked by the author.

[X] Request review from a member of a different team.
[X] Have the Jira acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.
Frontend

[ ] User facing changes have been reviewed by design.
[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] There are no new console errors in the browser devtools
[ ] There are no new console errors in the test output
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

Messages

:book:
:link: MB-10351

  Generated by :no_entry_sign: dangerJS against<PHONE_NUMBER>5cc26462efb235374f1f3cb1484236

@YanZ777 that's a good idea, I can do that here.

@YanZ777 I added two more stories for SC with missing shipment info.