action pack subscription

i cannot login to Visual studio 2022 Professional, it wants a subscription, however i have purchased on 1/10/24 action pack subscription for $495 for one year.
my login is<EMAIL_ADDRESS>credit card ref number<PHONE_NUMBER>700494886770 7  dated 1/10/24
phone<PHONE_NUMBER>
Please Help, I use visual studio every day and it says the Trial period has expired,
Tom Callen
Microsoft Partner ID# 617763

Hi @TomCallen ,
Thank you for reaching out to the VS Marketplace Team. Please remove all personal data from your request and avoid including personal information in the future. For Marketplace-related queries, contact our VS Marketplace Support alias at<EMAIL_ADDRESS>Regards,
VS Marketplace Team


[FEATURE REQ] Support Workload Identity in azure-resourcemanager-containerservice

Is your feature request related to a problem? Please describe.
I'm using azure-resourcemanager-containerservice to create/manage AKS clusters. I would like to use the Workload Identity feature in preview, but it appears the SDK is currently at API version 2022-07-01 which doesn't have support for cluster creation arguments --enable-oidc-issuer and --enable-workload-identity.
Describe the solution you'd like
Bump Microsoft.ContainerService API version to 2022-08-03-preview in the SDK.
Describe alternatives you've considered
I am considering making direct REST calls or using ARM templates to access the functionality from Java, but this is not ideal for my application. (If there are other suggested workarounds please let me know!)
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Description Added
[x] Expected solution specified

@weidongxu-microsoft could you please help route this?

@rtitle
Currently AKS SDK release is always on stable api-version.
So far, we hadn't got release for release on "2022-08-03-preview" from backend.
@XiaofeiCao
Maybe we can first check with AKS backend about when the feature will get to stable api-version.

Thanks for the reply -- please do let me know when AKS workload identity will make it into the stable api.

Just to update: we're currently using https://azure.github.io/aad-pod-identity/docs/ so are not blocked -- but still interested when AKS Workload Identity becomes a stable feature with Java SDK support.

@rtitle
They haven't made it to stable yet(no idea when they'll do).
Though we could release a beta version now. Does it sound good to you?

@XiaofeiCao is there already a beta release with workload identity available?

That would be great if you could release a Java SDK version with AKS Workload Identity available. Let me know and I can test it from my end.

@containerpope I'm afraid not. We'll release a beta SDK with api-version 2022-11-02-preview.
@rtitle Got it. Management plane release cycle starts next week. You can expect a version with workload identity then.

2.25.0-beta.1 with Workload Identity support has released. @rtitle @containerpope

Hi @XiaofeiCao ,
I upgraded to 2.25.0-beta.1 but am having trouble finding the new functionality -- wondering if you could point me in the right direction?
My gradle dependency:
implementation group: 'com.azure.resourcemanager', name: 'azure-resourcemanager-containerservice', version: '2.25.0-beta.1'

Similar to the documentation I'm trying to create a cluster using the Java SDK with --enable-oidc-issuer and --enable-workload-identity, and then retrieve the oidcIssuerProfile.issuerUrl.
I'm definitely pulling in the new version. Am I missing something (entirely possible)? Thank you.

Hi @rtitle, the version is OK.
To enable workload identity, you need an extra step:
AzureResourceManger azure = initAzure();

// This is normal step of creating cluster instances:
KubernetesCluster cluster = azureResourceManager.kubernetesClusters()
    .define(clusterName)
    .configure() // necessary configurations
    .create();

// this is extra step to enable workload identity

// this line has to appear before any changes made to innerModel(), due to implementation mechanism
KubernetesCluster.Update update = cluster.update();

// enable
ManagedClusterSecurityProfile securityProfile = cluster.innerModel().securityProfile();
if (securityProfile == null) {
    securityProfile = new ManagedClusterSecurityProfile();
    cluster.innerModel().withSecurityProfile(securityProfile);
}
securityProfile.withWorkloadIdentity(new ManagedClusterSecurityProfileWorkloadIdentity().withEnabled(true));
cluster.innerModel().withOidcIssuerProfile(new ManagedClusterOidcIssuerProfile().withEnabled(true));

// apply the update
update.apply();
cluster.refresh();

Similarly, to disable workload identity:
update = cluster.update();
cluster.innerModel().withSecurityProfile(null);
cluster.innerModel().withOidcIssuerProfile(null);

update.apply();

cluster.refresh();

Before the feature goes in to stable version, it has to be done in the above way.


Tweek css for sphinx_prompt

Fix for sphinx_prompt CSS, if you call sphinx_prompt with different prompt sign after previous call.

If you will use another symbol in a prompt, a function of the prompt will generate another span class with next number, and after all your custom CSS will break the text size.
cat ./sphinx_prompt_css.css
...
pre.highlight span.prompt1 {
 font-size: 12px;
line-height: 1.4;
}
cat ./sphinx_page_with_prompt.rst

The second call of the prompt call break the text (size is different), because of :

Thank you for your review!

Thanks for the explanation, this looks like only affect to our docs, but looks like a good fix

Also, can you please rebase/merge master? The test failure was already fixed there

Also, can you please rebase/merge master? The test failure was already fixed there

Can you please explain better, what I need to do? Thank you!

@ovc in your branch execute
git checkout master
git pull origin
git checkout <your-branch>
git merge master
git push <your-remote> <your-branch>

@stsewd my changes was already merged in master. I already done another commit. I'm sorry, but I can't understand what I need to do with this trevis error.

@ovc
It is considered a good practice to create a separate branch for each PR.
Since you have made a PR from the master branch, you have two options.

Pull updated changes in your master branch and merge them, add, commit and push.
You can find the instructions on how to sync a forked repo here : https://help.github.com/en/articles/syncing-a-fork
Close this PR and make another PR from a separate branch.
If you choose this option, make sure that you sync your repo with the latest code updates.

When you are in a separate branch, you can follow the instructions above to merge master branch into your branch

@dojutsu-user thank you for your explanation, I merged the changes from upstream/master for now.


chore: update api version to v10

Updates to API version 10

[ ] If code changes were made then they have been tested.

[ ] I have updated the documentation to reflect the changes.

[ ] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed)
[ ] This PR is not a code change (e.g. documentation, README, ...)

I think these should be changed as well
https://github.com/koala9712/nextcord/blob/acebca6e1d27232adf55bb3f6932c6c861cea07c/nextcord/http.py#L1909
        if zlib:
            value = '{0}?encoding={1}&v=9&compress=zlib-stream'
        else:
            value = '{0}?encoding={1}&v=9'

https://discord.com/developers/docs/topics/gateway#connecting-gateway-url-query-string-params

I believe this change should make Messagr.content optional among possibly other things
v10 Discussion - https://github.com/discord/discord-api-docs/discussions/4510

Oops, I think it can be done in a future PR with the other things, as it is not necessary as of now.
This one can bump the version to v10 only.

why bump the version if the code can’t handle the change
or am I misunderstanding your message
what you said is "bump version then support it later"

This can't be merged into master before the changes are addressed.
For example, I am noticing this crashes if Message intent is disabled in the developer portal.
If you'd rather not finish the migration, we could possibly have this PR and others target a side branch until v10 is ready to be merged into master.

We have a new branch for apiv10 (https://github.com/nextcord/nextcord/tree/community/apiv10) please consider pulling to that for now, so we can start implemting all necessary changes

#464 furthers, this can be closed then


Prevent the captcha challenge from triggering ?

Hi,
I'm trying to test my website with playwright. The test is quite simple it logins with this library and redirects when the login is successful.
To test this I'm using a headless chromium browser. Now on my local machine I have no problem making it work but when installed on my remote server it is always asking for a captcha challenge which I cannot solve.
Is there any way to prevent this from happening at all by changing some settings on the component or is it something that cannot be bypassed from google ?
Thanks in advance

Hello,
I don't know how to turn it off,
But found some resources that might help to turnoff these 2fa challenges for login
https://support.google.com/a/thread/123796588/disable-captcha-image-selector?hl=en
https://support.google.com/a/thread/123796588/disable-captcha-image-selector?hl=en


⚠ Bofrost.lu has degraded performance

In b8b3ecd, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1325 ms

Resolved: Bofrost.lu performance has improved in 915a785 after 8 minutes.


Consolidating client APIs with class Eureka as an entry point.

NetflixOSS » eureka » eureka-pull-requests #180 SUCCESS
This pull request looks good

NetflixOSS » eureka » eureka-pull-requests #184 SUCCESS
This pull request looks good


Added Sequence and CLOB_EMU support to OraclePlatform

Fixed OraclePlatform bug dealing with CLOB_EMU
Added simple CLOB_EMU definition to MySQLPlatform to allow MySQL usage of CLOB_EMU definition
Added back the ability to define sequence cache size

I goofed.  Trying a new request on better named fork.


Discovery service stopped though main service keep running

Not sure if it's a fleet bug or systemd bug.
I would like to think that since discovery is bind to main service, it will be kept running as long as the main service kept running. But recently I notice that not the case:
$ fleetctl list-units

mongo-discovery.service				0343d313.../<IP_ADDRESS>	inactive	dead
mongo.service					0343d313.../<IP_ADDRESS>	active		running

As you can see the discovery service remain inactive/dead while the main service keep running. How could that be possible?
Anything could be improved from my service/service discovery file to keep the discovery service running?

Could you post the output of the discover process like
fleetctl journal -f mongo-discovery

This is the log what happen:
Jan 30 02:13:27 quoine-prod-coreos-002 bash[16145]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}
Jan 30 02:13:48 quoine-prod-coreos-002 bash[16145]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}
Jan 30 02:26:27 quoine-prod-coreos-002 systemd[1]: Stopping Mongo server etcd registration...
Jan 30 02:26:28 quoine-prod-coreos-002 etcdctl[8003]: Error:  100: Key not found (/services/mongo/27017) [6907624]
Jan 30 02:26:28 quoine-prod-coreos-002 systemd[1]: mongo-discovery.service: control process exited, code=exited status=4
Jan 30 02:26:28 quoine-prod-coreos-002 systemd[1]: Stopped Mongo server etcd registration.
Jan 30 02:26:28 quoine-prod-coreos-002 systemd[1]: Unit mongo-discovery.service entered failed state.
Jan 30 02:26:32 quoine-prod-coreos-002 systemd[1]: Starting Mongo server etcd registration...
Jan 30 02:26:32 quoine-prod-coreos-002 systemd[1]: Started Mongo server etcd registration.
Jan 30 02:32:26 quoine-prod-coreos-002 systemd[1]: Stopping Mongo server etcd registration...
Jan 30 02:32:27 quoine-prod-coreos-002 systemd[1]: Stopped Mongo server etcd registration.
Jan 30 02:32:27 quoine-prod-coreos-002 systemd[1]: Stopped Mongo server etcd registration.
-- Reboot --
Jan 30 02:42:18 quoine-prod-coreos-002 systemd[1]: Starting Mongo server etcd registration...
Jan 30 02:42:18 quoine-prod-coreos-002 systemd[1]: Started Mongo server etcd registration.
Jan 30 02:42:18 quoine-prod-coreos-002 bash[2005]: Ncat: Connection refused.
Jan 30 02:42:18 quoine-prod-coreos-002 bash[2005]: Error:  100: Key not found (/services/mongo/27017) [6755274]
Jan 30 02:42:38 quoine-prod-coreos-002 bash[2005]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}
Jan 30 02:42:59 quoine-prod-coreos-002 bash[2005]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}

I guess when the server being rebooted, the service-discovery not automatically up. I need to manually turn it up with fleetctl start

I think I met the same problem as you described.
Remove the bindto in your sidekick process and add restart=always to see if
it helps.

Hui

On Fri, Jan 30, 2015 at 9:12 PM, Phuong Nguyen<EMAIL_ADDRESS>wrote:

This is the log what happen:
Jan 30 02:13:27 quoine-prod-coreos-002 bash[16145]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}
Jan 30 02:13:48 quoine-prod-coreos-002 bash[16145]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}
Jan 30 02:26:27 quoine-prod-coreos-002 systemd[1]: Stopping Mongo server etcd registration...
Jan 30 02:26:28 quoine-prod-coreos-002 etcdctl[8003]: Error:  100: Key not found (/services/mongo/27017) [6907624]
Jan 30 02:26:28 quoine-prod-coreos-002 systemd[1]: mongo-discovery.service: control process exited, code=exited status=4
Jan 30 02:26:28 quoine-prod-coreos-002 systemd[1]: Stopped Mongo server etcd registration.
Jan 30 02:26:28 quoine-prod-coreos-002 systemd[1]: Unit mongo-discovery.service entered failed state.
Jan 30 02:26:32 quoine-prod-coreos-002 systemd[1]: Starting Mongo server etcd registration...
Jan 30 02:26:32 quoine-prod-coreos-002 systemd[1]: Started Mongo server etcd registration.
Jan 30 02:32:26 quoine-prod-coreos-002 systemd[1]: Stopping Mongo server etcd registration...
Jan 30 02:32:27 quoine-prod-coreos-002 systemd[1]: Stopped Mongo server etcd registration.
Jan 30 02:32:27 quoine-prod-coreos-002 systemd[1]: Stopped Mongo server etcd registration.
-- Reboot --
Jan 30 02:42:18 quoine-prod-coreos-002 systemd[1]: Starting Mongo server etcd registration...
Jan 30 02:42:18 quoine-prod-coreos-002 systemd[1]: Started Mongo server etcd registration.
Jan 30 02:42:18 quoine-prod-coreos-002 bash[2005]: Ncat: Connection refused.
Jan 30 02:42:18 quoine-prod-coreos-002 bash[2005]: Error:  100: Key not found (/services/mongo/27017) [6755274]
Jan 30 02:42:38 quoine-prod-coreos-002 bash[2005]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}
Jan 30 02:42:59 quoine-prod-coreos-002 bash[2005]: {"host": "quoine-prod-coreos-002", "ipv4_addr": "<IP_ADDRESS>", "port": 27017}
I guess when the server being rebooted, the service-discovery not
automatically up. I need to manually turn it up with fleetctl start
—
Reply to this email directly or view it on GitHub
https://github.com/coreos/fleet/issues/1114#issuecomment-72299894.

I couldn't find a reliable way to test this. But quick test trying this: stop main service and then start main service again. The discovery service is still inactive state. Perhaps I need to remove Requires and After all together.

Require Requires keep the discovery service running all the time for me. Just what I need. If you don't find a need to address this, please close.

What is the output of fleetctl list-unit-files? I suspect this is a misunderstanding of how BindsTo works. If you haven't called fleetctl start mongo-discovery.service, the BindsTo=mongo.service directive will be ignored.


Error pinout for "ESP32+LoRa SX1278" board

I found an error in the pinout of the LoRa module for the ESP32 board.
The correct pinout is in the picture:

why is there an error?
can you explain a little further?


Persist test set sample questions to TestSetGenerator object so as to not lose work

Describe the Feature
I am currently on a tier 1 account with Anthropic, which means I have a daily cap of 1M tokens (total - in and out).  When trying to generate a testset of 100 questions, I hit that daily token limit and the generator.generate call raises a RateLimitError.  However, the data is not preserved, which means I have now paid for 1M tokens but critically do not have access to the results.
Therefore, as a developer I would like the generated test questions to be persisted to the TestSetGenerator object as they are received so that I can access the testset up to the point that the Exception occurred.  Even better would be to catch the Exception and enter a "pause" state so that the next day I could run something like generator.continue() and pick up where I left off.
Why is the feature important for you?
See above
Additional context
Add any other context about the feature you want to share with us.

Hey @ahgraber thanks for bringing this up. As part of 0.2 we are introducing new test generation algorithm. We will add this to our immediate roadmap for improvements after 0.2 release.
https://docs.ragas.io/en/latest/getstarted/rag_testset_generation/

Amazing!  I'm really looking forward to experimenting with v0.2

Hey @ahgraber It's out. Please let us know if you need any help with it.


python3Packages.dicom2nifti: 2.2.12 -> 2.3.0

Motivation for this change
Update to latest upstream release 2.3.0
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 129024 run on x86_64-linux 1

2 packages built:

python38Packages.dicom2nifti
python39Packages.dicom2nifti

Result of nixpkgs-review pr 129024 at 070ff032 run on aarch64-linux 1

2 packages failed to build:

python38Packages.dicom2nifti
python39Packages.dicom2nifti

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.


Combine all loaders in a single repo?

One of the suggestions made was to combine all the loaders in one repo? That would mean renaming this repo to godot_openxr_loaders and altering the scripts so we build multiple AARs, one for meta, one for khronos, potentially one for PICO?
Then this can be uploaded as a loader pack to the asset library and users can just enable/disable them.

Result of discussion on Godot chat is to combine the loaders in a single repo. We're updating this repo to indicate this. Currently only the meta loader is present but others will be added soon

Could we also place all aar files in a shared folder? I think this would simplify documentation and deployment:
android
\- plugins
   |-GodotOpenXRMeta.gdap
   |-GodotOpenXRPico.gdap
   \-godotopenxr  (or GodotOpenXR for consistency?)
     |-godotopenxrmeta-debug.aar (or -release, we don't need both; I'd prefer the latter)
     \-godotopenxrpico-release.aar

We've followed through with this and are slowly building this out.


TouchUI RTE Plugin for Dialogs

@justinedelson @davidjgonzalez : A simple extension to show Touch UI Dialogs in RTE plugin (fullscreen mode). A common use usecase is providing fields in RTE for entering ticker content
Let me know if you have any suggestions in general & specifically around cutting down the configuration steps

RTE Plugin feature - insertDialogContent in group acs-commons

Child node insertDialogContent contains the path of dialog - dialogPath to be shown when plugin icon is clicked, any listeners (currently supports onsubmit)

Create the dialog to be shown eg. /apps/test-dialogs/cq:dialog

Dialog shown when the plugin icon is clicked

Configured onsubmit listener function should return passed in dialog data as html eg. <h1> ACS AEM Commons </h1>

RTE html source

So, to perhaps oversimplify this, it is a generic extension point for adding Dialog-based RTE plugins?

yes... to show touch dialogs in RTE

This looks very cool to me. There's no obvious way to me to make it simpler to configure; those seem like the natural steps. The only thing I might change is to flip the order. I would do step #3 before step #1. But that's more of a documentation issue than anything else.
The only functional concerns I have is the ability to set the className (maybe you can do this, it wasn't clear to me) and the rollover text.
I think if you can change the variable names which aren't constants to not look like constants, we're good to merge this.

yeah ill make the changes

remove the constant styling for non-constant values
config param for "open dialog icon" ( is coral-Icon--tableEdit good for default, any other icon suggestion?)
config param for rollover text / tooltip

@justinedelson i have to explore providing a config for

config param for "open dialog icon" ( is coral-Icon--tableEdit good for default, any other icon suggestion?)

added other changes...

FWIW, I think coral-Icon--tableEdit is a fine default :)

@schoudry @justinedelson this good to merge?

@davidjgonzalez i think so - couldn't find an easy solution for "config param for - open dialog icon", but i believe we can fix it as a bug, later? @justinedelson

@schoudry - if there is no easy way, I'd log as an enhancement for later (IMO this isn't even a bug)

@justinedelson I am trying to test this plugin with AEM 6.3 but seems like its not working for me. I am not able to see plugin for both inline and fullscreen.
Steps i am following

Install ACS 3.9.0  - https://github.com/Adobe-Consulting-Services/acs-aem-commons/releases/tag/acs-aem-commons-3.9.0
Overlay One of RTE components - /apps/mcm/campaign/components/personalization
Follow Instruction provided under step section -

https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/master/content/src/main/content/jcr_root/apps/acs-commons/rte-plugins/source/dialog-plugin.js
Please let if this is compatible with AE 6.3
Devesh Singh

@singhd12 please create a separate issue and provide a content package to reproduce the issue.


Check for use of uninitialized variables

The SSA generation pass currently inserts undefined instructions to represent the value of a local variable if it is used before it is initialized. The front-end should diagnose an error if any of these instructions are still present/live after the "mandatory" optimization passes have been applied.
There are some complications around doing a high quality version of this pass:

We also need to support variables that couldn't be promoted to SSA temporaries. In that case, checking for undefined-ness involves checking if there are any loads from the variable that are not dominated by a store or other definite initialization (e.g., passing the variable as an argument for an out parameter).

The above point hints that passing a value as an argument for an inout parameter needs to count like a load, in that it would see an undefined value.

It is possible that an SSA value like a block parameter is undefined on entry to a loop, so that there is a use of the undefined for a phi at the start of the loop, but then either (1) the variable is always initialized inside the loop body, before any possible break, or (2) the variable is always initialized in the loop body, and any preceding break statements are unreachable on the first iteration.

When using an aggregate or array-type temporary, it is possible that it could be initialized "piece-by-piece" by initializing individual fields/elements. Ideally we would either scalarize such types so that the definite-initialization logic can look at each field/element in isolation, or make the analysis understand "partially initialized" states so that it can give reasonable error messages.

We need to figure out a reasonable strategy for detecting things that rules out most cases (so that we don't get errors from the downstream compiler), but also doesn't annoy users who write code where they "obviously" initialize a variable prior to use.
Note: one strategy for eliminating errors from downstream compilers would be to always generate output HLSL/GLSL where all variables are fully initialized when declared, using default values. This might mask some uninitialized-variable issues in the users code, so we'd need to be careful about this.

We should also make sure to check out parameters when they are "used" at each return statement.


convert internal communication to gRPC

gRPC has benefits over REST especially in service-to-service communication
the Safe API can be converted from REST to gRPC.
Notes:

this is a breaking change for workloads, unless we also keep the REST API for workloads intact — need to discuss that.

are we planning to do this @v0lkan ?

Hey @krishnaduttPanchagnula;
Yes, that is in our mid-to-long-term goals.
It's not a high priority in the grand scheme of things, but we’ll get there.
Do you feel like it is a good move, or keeping it RESTful might have benefits?

@krishnaduttPanchagnula on a second though; I think it’s better to keep things RESTful.
We will have other external SDKs (for Python, Java, and C, etc) and we will have a guide for external SDK developers (as per @RamXX ’s recommendation)
REST is easier to interact and develop a SDK aroudn, whereas dealing with gRPC will be relatively harder.
I’m proposing to keep things simpler, and keep the inner APIs RESTful as an architectural decision.
If there is an ask from the community to have a gRPC API too, then we can think about it;
but even when we do that, it would make sense to keep the REST API for backwards compatibility.
I’m closing this issue for now; we can re-open if we decide otherwise.
--
cc: @abhishek44sharma @ats0stv (too keep you folks in the loop)


Add event when failing to schedule a QW

Signed-off-by: Carlos Eduardo Arango Gutierrez<EMAIL_ADDRESS>
What type of PR is this?
/kind feature

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #91
Special notes for your reviewer:

/hold
let's not merge more stuff on this path while #158 is not solved

@ArangoGutierrez: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
Test name	Commit	Details	Required	Rerun command
pull-kueue-test-integration-main	bccaefc link	true	/test pull-kueue-test-integration-main
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Ran 6 of 6 Specs in 18.027 seconds
SUCCESS! -- 6 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestScheduler (18.03s)
PASS
ok      sigs.k8s.io/kueue/test/integration/scheduler    18.040s

PASS locally

Rebased

/hold let's not merge more stuff on this path while #158 is not solved

PING
Ready for review

@ahg-g @denkensk RFR

/lgtm
Thanks. @ArangoGutierrez

we need an approve folks 😁

I'm leaving to @ahg-g as I think he had a different thing in mind initially

/approve

/hold cancel


Stream speed issues

I'm using s3-upload-stream together with Busboy in order to stream files directly to s3 storage without saving them into temporary directory on server.
The problem is in upload speed, for example it takes 1943ms to upload image with 26kb size, which looks like really slow. Here is the speed test of my network:

The code looks similar to:
const busboy = new Busboy({ headers: req.headers });
busboy.on('file', (fieldname, file, filename, encoding, mimetype) => {
  // NOTE: file is ReadableStream

  const awsFileName = uuid.v4();

  // create writableStream
  const upload = s3UploadStream.upload({
    bucket: config.s3.bucket,
    Key: awsFileName,
    ContentType: mimetype
  });

  file.on('uploaded', () => ...);
  file.on('error', () => ...);
  file.pipe(upload);
});

busboy.on('error', () => ...);

req.pipe(busboy);

Does anybody encountered into such issue?

This module is designed for much larger files, and uses an approach that for your use case will require at three separate requests to upload your 26kb file:

establishing the multi part upload with S3
uploading a single 26kb part
asking S3 to assemble the file from that single part.

This is where the extra time is coming from. Basically if your file is only 26kb then you should be using a traditional upload stream (just open a normal single POST request and pipe your 26kb file stream into it) not using this module.
This module is designed for workflows that require uploading massive, multi GB/TB streams that may not even fit fully into memory. Under those conditions you need this approach to upload the file over many separate requests, as concurrent 5 mb parts.
If you have files of a variety of different sizes and need to upload both huge files and small ones I'd recommend developing an adaptive system that can use this module for uploading stuff that is greater than say 50mb, while uploading things less than 50mb using a single POST request to S3. That way you can have the speedy uploads for the small files, and the efficient, low memory, MPU approach for the large files.

@nathanpeck thanks!
According to:

Basically if your file is only 26kb then you should be using a traditional upload stream (just open a normal single POST request and pipe your 26kb file stream into it) not using this module.

How do you recommend to stream small files without saving them temporary? We tried knox which has putStream method but there's no way to get file's mimetype without saving it.. or probably I'm missing something?

It is possible to determine mimetype prior to saving. Most mimetype solutions like this one just do a simple lookup based on the file extension, and you should be able to know the filename and extension prior to uploading.
If you need a deeper inspection of the file (perhaps because you don't trust people to put proper extensions on their stuff) then something like exiftool can be used to inspect the contents of the stream and look for the magic bytes that show the file is an EXE, or PNG, or JPG, or MP4, etc.

@nathanpeck thanks for info!

@nathanpeck we made a quick speed test between your s3-upload-stream and plain official Amazon SDK lib.
With s3-upload-stream:
let s3Stream = s3UploadStream(new AWS.S3());
let busboy = new Busboy({ headers: req.headers });

busboy.on('file', (fieldname, file, filename, encoding, mimetype) => {
    let upload = s3Stream.upload({
      Bucket: s3.bucket,
      Key: filePath,
      ContentType: mimetype
    });
    upload.on('uploaded', details => resolve(details));
    upload.on('error', error => reject(error));

    file.pipe(upload);
});
busboy.on('error', error => reject(error));

req.pipe(busboy);

and with aws-sdk-js:
let busboy = new Busboy({ headers: req.headers });
busboy.on('file', (fieldname, file) => {
    let params = {
        Bucket: s3.bucket,
        Key: filePath
    };
    new AWS.S3({ params }).upload({Body: file}).send((err, data) => {
        err ? reject(err) : resolve(data);
    });
});
busboy.on('error', error => reject(error));

req.pipe(busboy);

The uploaded file size was 171Mb and results are:

aws-sdk uploaded file in 73081ms
s3-upload-stream in 206932ms

Interesting. Well I may take a look to see if there are any optimizations to be made, but overall I'd recommend using S3.upload() then.
I made this module nearly two years ago before that method was added to the Node.js SDK, and the only way to upload files to S3 at that time was using putObject() with a buffer. You are probably better off using the official one from AWS now.


Light support for custom coaches (CCL)

Add the ability to include lights in CCL coaches that work in the same way as the ones added to the vanilla coaches.
This mod would then look for a gameobject with the correct name in the root of the prefab and enable/disable it automatically.
An example:

Migrated to CCL repo


Container destruction API unification

Based on #2536
This is a breaking change for V4, the signature for Container.destroy(). Sprite.destroy() and Text.destroy() will now only accept an optional object with the following fields. Passing a bool in (v3 behaviour) will cause an error to be thrown.
var container = new Container();
container.destroy({children: true, texture: true, baseTexture: true});

All parameters default to false and will be passed on in case of children == true.
As an aside, since I couldn't find anything: Is there a changelog or some sort of update instructions where breaking changes are outlined?

May be pass a mask FLAG_CHILDREN + FLAG_TEXTURE + FLAG_BASE_TEXTURE ?
const = {
...
FLAG_CHILDREN = 1;
FLAG_TEXTURE = 2;
FLAG_BASE_TEXTURE  = 3;
}

i dont know how to name it though, may be DB_ (destroy bit) or DF_ (destroy flag)
Pass integer instead of new object - it will be more effective, but really we dont do destroy() often

@ivanpopelyshev: I guess you meant 1, 2, 4? Personally, it doesn't feel very javascript-y to me. For example it's harder to debug with developer tools - you have to resolve the number manually rather than having a full object to look at.
I'm not sure this is a case where I'd trade of efficiency for readability, it's only going to be called rarely and the difference in speed will be tiny.

@marekventur Yeah, I'm for objects too. Just posted it there because we discussed it with @GoodBoyDigital

Problem with flags is that plugins can't add their own, or they will almost certainly conflict. Names can conflict too, but are much less likely.

Flags don't seem to be as popularly practiced in JavaScript (as opposed to say PHP). Also, I don't like API approaches that are unique. If they were used throughout Pixi, maybe that would be an acceptable approach here. For that and the reasons @englercj said, I'd say no to flags.

@marekventur Great work! And 👍 for the added unit tests.

happy to help!

Wonderful, thanks for this @marekventur!!


[Bug]: Shift + Dragging window does not tile

Before you make the issue, confirm that

[X] You are running the master build from GitHub actions
[X] You have read the FAQ and the usage instructions
[X] You have searched pull requests and issues and have found none similar to your issue
[X] This problem comes from a failure in the tiling system and not a missing feature

Describe the bug
Docs say "By default, holding shift while moving windows will cause the windows to snap into available tiles. Moving a window into a tile will cause it to tile in there."
Have never been able to make this work. When I hold shift and drag a window, it just untiles it.
Edit: I just now finally found one way to make it work. I have to have 3+ windows open on the same monitor. With 3+ windows it works. With 2 windows it doesn't.
Video below.
To reproduce
Open two windows, hold shift, try to drag one.
Expected behavior
Window should snap into available tiles.
Relevant log output
Dec 28 14:13:31 archlinux kwin_wayland[975569]: qml: Polonium DBG: Not tiling client plasmashell
Dec 28 14:13:32 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 3),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 3)
Dec 28 14:13:32 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client plasmashell from desktops
Dec 28 14:13:32 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 3),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 3)
Dec 28 14:13:39 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:39 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:42 archlinux kwin_wayland[975569]: qml: Polonium DBG: Minimized on client org.kde.spectacle set to true
Dec 28 14:13:42 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.spectacle from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:42 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:42 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:43 archlinux kwin_wayland[975569]: qml: Polonium DBG: Not tiling client plasmashell
Dec 28 14:13:43 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:43 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:43 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:43 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:43 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client plasmashell from desktops
Dec 28 14:13:43 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:43 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:44 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:44 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:44 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:44 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:46 archlinux kwin_wayland[975569]: qml: Polonium DBG: Not tiling client plasmashell
Dec 28 14:13:47 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.konsole from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:47 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:47 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:47 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client plasmashell from desktops
Dec 28 14:13:47 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:47 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:47 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.konsole from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:47 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:47 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:48 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.spectacle from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:48 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:48 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:50 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Not tiling client plasmashell
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:50 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client plasmashell from desktops
Dec 28 14:13:50 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:50 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:51 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.konsole from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:51 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:51 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:51 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.konsole from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:51 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 2)
Dec 28 14:13:51 archlinux kwin_wayland[975569]: file:///home/sam/.local/share/kwin/scripts/polonium/contents/code/main.mjs:1185: TypeError: Type error
Dec 28 14:13:53 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:54 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:54 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:54 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:55 archlinux kwin_wayland[975569]: qml: Polonium DBG: Not tiling client plasmashell
Dec 28 14:13:55 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:55 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:55 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:55 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client plasmashell from desktops
Dec 28 14:13:55 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:56 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.konsole from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:56 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:56 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.konsole from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:56 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:57 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.spectacle hooked into script
Dec 28 14:13:57 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.spectacle to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:57 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:59 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:59 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:59 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:59 archlinux kwin_wayland[975569]: qml: Polonium DBG: Not tiling client plasmashell
Dec 28 14:13:59 archlinux kwin_wayland[975569]: qml: Polonium DBG: Client org.kde.konsole hooked into script
Dec 28 14:13:59 archlinux kwin_wayland[975569]: qml: Polonium DBG: Adding client org.kde.konsole to desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:13:59 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:14:00 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client plasmashell from desktops
Dec 28 14:14:00 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:14:01 archlinux kwin_wayland[975569]: qml: Polonium DBG: Removing client org.kde.konsole from desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5)
Dec 28 14:14:01 archlinux kwin_wayland[975569]: qml: Polonium DBG: Rebuilding layout for desktops (0, 13555a41-2c1a-488d-bdb1-d38051de7fc0, 5),(1, 13555a41-2c1a-488d-bdb1-d38051de7f

Screenshots and videos
Screencast_20231228_141357.webm
Better video (I am holding shift while dragging):
Screencast_20231228_144217.webm
Additional context
No response

There's not really anything that can be done about this, for whatever reason KWin doesn't allow you to shift drag windows into root tiles. The shortcuts should work and dragging windows to the corners of the screen should work.


Failed to get reconstruct data pg_xact/0000.0

There seems to be some race condition between checkpointer/GC and other pageserver threads.
Once reproduced on CI with  test_remote_storage_backup_and_restore:
2022-01-13T12:48:39.468909Z ERROR pagestream{timeline=0df77728f5cd144f9369f7d4a2debe29 tenant=760e9444b2a04fcfa237dd2de742c846}: error reading relation or page version: Failed to get reconstruct data 1663/12974/1249.0 "rel_1663_12974_1249_0_0_0000000001696268" 25 0/1696268 None: failed to fill whole buffer

More or less regularly reproduced now with main and large test_write_amplification test:
  Stack backtrace:
   0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
             at /home/ec2-user/.cargo/registry/src/github.com-1ecc6299db9ec823/anyhow-1.0.44/src/error.rs:530:25
   1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
             at /rustc/23f69235ad2eb9b44ac1a55eeaa3f9b484d9de4a/library/core/src/result.rs:1976:27
   2: pageserver::layered_repository::LayeredTimeline::checkpoint_internal
             at /data/zenith/pageserver/src/layered_repository.rs:1541:13
   3: <pageserver::layered_repository::LayeredTimeline as pageserver::repository::Timeline>::checkpoint
   4: <pageserver::layered_repository::LayeredRepository as pageserver::repository::Repository>::checkpoint_iteration
             at /data/zenith/pageserver/src/layered_repository.rs:278:58
   5: pageserver::tenant_threads::checkpoint_loop
             at /data/zenith/pageserver/src/tenant_threads.rs:101:9

Locking checkpoint_cs mutex in gc_timeline fixes the second problem, but I am not sure that mutual exclusion of GC and checkpointer is actually good idea. And that it fixes the problem with reconstruct page...

Does this still happen? Or was it fixed by the fixes for https://github.com/zenithdb/zenith/issues/1047?


Only build packages when the API TOKEN is present as an environment variable

Only build packages when the API TOKEN is present as an environment variable. This helps with external PRs building.

:+1: :sheep: :it:


Soft patching

Ability to soft-patch games

@Joe112213 Do you have any examples for what you want? Links?

Bokati The Sun In your Hands

@Joe112213 Do you have any examples for what you want? Links?

https://fantasyanime.com/patching


Cleanup service

User story
As a migration engineer, I want to clean up the old database and the migration system after the migration is completed. This is to prevent pollution in the landscape.
After the migration of system $A$ to $B$, the remainders of $A$ and the migration system have to be removed so that only $B$ remains. This involves deleting the right tables from the database. The Ampersand compiler provides these tables (see issue AmpersandTarski/Ampersand#1404).
Task
Define a cleanup service and make it available to the user under appropriate conditions.

Choice
At the start of the migration, we bring up a migration system and a new system. All three work on the same database. At the end of the migration, we delete the old system and the migration system.

The Migration Orchestrator Service (MOS) shall implement the following migration process.
Process description

Let the existing information system $\mathscr{S}$ have data set $\mathscr{D}$ and schema $\mathscr{Z}$.
A developer defines a new information system, $\mathscr{S}'$, which contains a data set of its own, $\mathscr{D}'$, a schema $\mathscr{Z}'$, and some functionality.
After the migration, the resulting system will be $\mathscr{S}'$, enhanced with the triples from $\mathscr{D}$ that satisfy $\mathscr{Z}'$, and with additional changes made by the migration engineer (see step 3) and by users who have been using the system during the migration. $\mathscr{D}'$ may contain some new data, for instance, to initialize new features at the moment of transition (MoT).
If schemas $\mathscr{Z}$ equals $\mathscr{Z}'$, the data migration is unnecessary, so in the sequel we assume they are different.
The migration engineer uses a software generator to generate a migration script, $\mathscr{M}$.
$\mathscr{M}$ is a system that includes both $\mathscr{S}$ and $\mathscr{S}'$.
$\mathscr{M}$ is meant to migrate the data and define the semantics during the migration phase.
It contains enforcement rules that migrate existing data to the desired data set.
It also contains data structures and rules that are needed for the duration of the migration phase.
The generated script must be free of type errors, to ensure that satisfaction is defined for every rule $u$ and data set $\mathscr{D}$.
The proof is available here.
In many cases, the schema $\mathscr{Z}$$\mathscr{M}$ will be enough to perform the migration.
However, a migration engineer may have specific requirements that call for changes in $\mathscr{M}$.
For that purpose, the generator generates the migration script as an Ampersand script,
so the migration engineer can accommodate such requirements.
This can be necessary, for example, to resolve data pollution that violates a constraint that was not in schema $\mathscr{Z}$$\mathscr{S}$.
She can either implement enforce rules or use the business to resolve the issues.
She can test the resulting migration script, $\mathscr{M}'$ separately before taking the desired system to production.
The migration engineer alters $\mathscr{Z}$ nor $\mathscr{Z}'$ while adapting $\mathscr{M}'$ to the specific needs of the current migration.
Then, the migration engineer deploys system $\mathscr{M}'$.
This event starts the copying of data from $\mathscr{D}$ to $\mathscr{D}'$, as specified in $\mathscr{M}'$.
During this phase, the ingress is still referring users to the existing system,
so they will hardly notice that the desired system is being fired up and loaded with data.
Users are still changing $\mathscr{D}$ (both inserts and deletes),
but these changes are being transferred to $\mathscr{D}'$ as well.
This step is complete when all data from $\mathscr{D}$ has been copied to $\mathscr{D}'$ and
all invariants of the migration system are true.
At this moment, the ingress switches the incoming traffic from $\mathscr{S}$ to $\mathscr{M}'$,
so $\mathscr{M}'$ effectively takes over.
This event marks the MoT.
Since $\mathscr{S}$ may still have some violations due to last-minute edits,
it may take some (short but finite) time until the invariants of $\mathscr{S}$ are true.
After that, dataset $\mathscr{D}$ will no longer change.
From this moment, users experience the functionality of the migration system $\mathscr{M}'$.
This system must ensure that all invariants of $\mathscr{Z}'$ are true before the migration is complete.
It no longer ensures the rules of $\mathscr{Z}$, which govern the existing system.
Since $\mathscr{D}$ is no longer changing, the migration engineer can now focus on the remaining violations of $\mathscr{Z}'$.
Users of the migration system will deal with process rules in the migration system that are still violated.
Once all invariants of $\mathscr{M}'$ are true, the migration is complete.
This state marks the moment of cleanup (MoC)
After the MoC, the ingress switches the incoming traffic from $\mathscr{M}'$ to $\mathscr{S}'$.
The migration system is no longer needed and can be taken out of production, together with the existing system $\mathscr{S}$.
The desired system remains in production and the migration is finished.
This establishes the post-migration situation.


File Structure ATSQuadroStrategyBase.GUI Folder

As shown in the screenshot, the file structure to the ATSQuadroStrategyBase has similar structure to Ninja Trader 8 folder. Though in the Zip one level above alongside "ATSQuadroStrategyBase.GUI" & "ATSQuadroStrategyBase" folders, which inside the "ATSQuadroStrategyBase.GUI" folder has dissimilar fil structure to Ninja Trader 8 folder, and I ask what is the proper placement to the folder? Does it go on the same level as Ninja Trader 8 inside Documents, or do "ATSQuadroStrategyBase.GUI" folder files have a separate placement inside Documents>Ninja Trader 8 structure.

.

By your question it is obvious you are off the green and fairway into the woods and rough.
No where does it say to use or copy that other folder it only discusses 1 folder and shows 2 routes that both work.
In theory this is basic 101 operating system skills with zip files, windows folders copy and paste and should takes about 30seconds to do: Download Zip, Extract, Browse to and Select source folder. Copy. browse to target folder paste over target - yes to copy.   So maybe the steps are unclear or the screenshots not clear we will need to understand what is not clear to remedy.
Step 1 Install:  Follow the exact step by step instructions here:  #61
Use  2nd scenario with the zip file,  follow the  exact words and screenshots- for each step..
Go right through to the end - ignore all other items that are not discussed in the instructions.
Step 2: Setup the code editor reference - See here #65
Please Note If you cannot understand or  follow the steps - please say which step you are stuck on and what the issue is?
So we can have a win win and arrive at the solution.


Binding route title to an object property

During a VM activate I use the routeConfig.navModel.setTitle("Title") to set the route/page title; i.e.
activate(params, routeConfig) {
  return this.http.get("/entity").then(success => {
    this.entity = success.content;
    routeConfig.navModel.setTitle(entity.name);
  });
}

I'd like to bind the route title to entity.name so that when the name changes it would be reflected on the browser window title and where the route title is referenced (e.g. a breadcrumb custom element). Is it possible such a binding?

The binding system can let you execute code when properties change. So, on that side of things it is possible. @bryanrsmith Is it possible to call setTitle at any time?

Yes, but I believe it's only exposed via the activate method, so you'll
need to grab it there and store it on the view model somewhere.
On Wed, Oct 21, 2015 at 10:18 AM Rob Eisenberg<EMAIL_ADDRESS>wrote:

The binding system can let you execute code when properties change. So, on
that side of things it is possible. @bryanrsmith
https://github.com/bryanrsmith Is it possible to call setTitle at any
time?
—
Reply to this email directly or view it on GitHub
https://github.com/aurelia/router/issues/229#issuecomment-149967136.

Ok, cool. So, if @heruan grabs the navModel instance and stores it, he can use it later to update the title. Cool. @heruan Take a look at the bindingEngine, if you have the latest. It's going to chance a bit in the next release, but it lets you observe properties and respond to changes easily.

Following your advice and using the bindingEngine I did this and it's working like a charm:
activate(params, routeConfig) {
    return this.retrieveEntity(params).then(entity => {
      if (routeConfig.title) {
        routeConfig.navModel.setTitle(routeConfig.title.replace(/\{(\w+)\}/g, (match, field) => {
          bindingEngine.propertyObserver(entity, field).subscribe(value => {
            routeConfig.navModel.setTitle(routeConfig.title.replace(`{${field}}`, value));
          });
          return entity[field];
        }));
      }
    });
  }

This will update routes in the form:
{
  route: "/entities/:id",
  moduleId: "./entityViewModel",
  title: "Entity {id}: {name}"
}

and when entity.name changes, the page title and wherever navModel.title is used (e.g. breadcrumbs) its values updates accordingly. Awesome!

Excellent. Heads up...the binding engine usage is going to change a bit in the next release. You will need to import BindingEngine and then have it injected into your class. We made it a singleton object in your version...which we thought better of almost immediately afterwards. So, be on the lookout for that.


Popover open slot prop on:mouseover doesn't work

Describe the bug
The open slot prop doesn't work on:mouseover event, or any of the other mouse events I tested. The close prop works the way I expected the open prop to behave.
To Reproduce
https://svelte.dev/repl/2398b1d868e6432899afe5d96230124f?version=3.46.4
Library version
^1.0.2

The open slot prop describes whether or not the popover is open. It exists so that you can use it for conditional rendering in the component tree. You can't use it to control the state of the popover; slot props in Svelte are effectively read-only.
If this component were to have a way of controlling the state like that (it doesn't), it would be via a regular prop, not a slot prop.

Ah okay, thanks for your quick response! I was able to get the desired behavior working with svelte-popperjs. Really appreciate your work!


instaloader: 4.9.5 -> 4.9.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for instaloader is: Download pictures (or videos) along with their captions and other metadata from Instagram
meta.homepage for instaloader is: https://instaloader.github.io/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 4.9.6 with grep in /nix/store/z2pdxnlvip4s2pxqvgjgszlr8xhsnxzc-python3.10-instaloader-4.9.6
found 4.9.6 in filename of file in /nix/store/z2pdxnlvip4s2pxqvgjgszlr8xhsnxzc-python3.10-instaloader-4.9.6

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
instaloader

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/z2pdxnlvip4s2pxqvgjgszlr8xhsnxzc-python3.10-instaloader-4.9.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The 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 instaloader https://github.com/r-ryantm/nixpkgs/archive/4bf9b060c1514974573cd7fff74ea416f83a8fee.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/z2pdxnlvip4s2pxqvgjgszlr8xhsnxzc-python3.10-instaloader-4.9.6
ls -la /nix/store/z2pdxnlvip4s2pxqvgjgszlr8xhsnxzc-python3.10-instaloader-4.9.6/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 run on x86_64-linux 1

1 package built:

instaloader

Maintainer pings
cc @Creator54 for testing.

Result of nixpkgs-review pr 216617 run on aarch64-linux 1

1 package built:

instaloader


Float type support for JSONConvertible

Fix bug for some situations that converting Float to String failure

 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.

I just spent about an hour trying to figure out why Json encoding was failing in my test project and it was this!


Utils: Upgrade mistune to > 2.0.2

This should be worked in parallel with https://github.com/department-of-veterans-affairs/notification-api/issues/1383
Current version is v0.8.4, mistune is currently up in the v3.x.x.

[x] Discussed with QA

User Story
As a VANotify team member and client,
I want to remove vulnerabilities identified by Twistlock,
So that I am assured that the app is not subject to compromise.
Engineering Checklist

[ ] Upgrade mistune > 2.0.2 in setup.py

Acceptance Criteria

[ ] mistune is upgraded to 2.0.2 or greater

Additional Info and Resources

See this ticket.
Changelog

NOTE: They do not have a changelog from before 3.x

Hey team! Please add your planning poker estimate with Zenhub @cris-oddball @EvanParish @justaskdavidb2 @k-macmillan @kalbfled @ldraney @nikolai-efimov

Jupiter managed to upgrade to 2.0.2 using this PR to replace BlockGrammar and Inline Grammar. Should work the same for 3.x, but happily there is a migration guide for 2 > 3.

Jupiter's PR showing replacements
Mistune Upgrade guide from 2.x to 3.x

@babyjunior56

@kalbfled there is a migration guide for 2.x to 3.x, and I have linked it in an above comment.
The security vulnerability is not present in mistunes 2.0.2, so upgrading to v3 is not a necessity, only if we need the features in 3.x.

@babyjunior56  @EvanParish Just letting you know that there are two security concerns below 2.0.5

RegularExpression denial of service up to and including 2.0.2
CVE-2022-34749 catastrophic backtracking; up to and including 2.0.2

So the minimum we should use is 2.0.5 (that is the current version)

The previous team altered attributes on non-public package elements, including Mistune's BlockGrammer class, which is not present in mistune>=2.0.  That complicates this task significantly.
My understanding of the intended behavior is that Portal users enter markdown in the template editor.  When that template gets sent to API, the API uses notifications_utils to convert the markdown into HTML for previewing in a browser and for direct inclusion in HTML-enabled e-mails.  If we are willing to tolerate minor changes in formatting, that task could be much easier than the current implementation.
Judging by the existing unit tests, most of the code in formatter.py (the only file that imports mistune) is concerned with identifying and converting links.  templates.py uses formatter.py.
Using mistune 3.0.1:
The built-in "html" function converts properly formatted markdown links.
>>> mistune.html("[https://www.google.com](https://www.google.com)")
'
https://www.google.com
\n'

This doesn't work as intended with a link that is not marked-down.
>>> mistune.html("https://www.google.com")
'
https://www.google.com
\n'

Rather than try to fix all the kludge in formatters.py, I would rather preprocess the template body with a regex that converts not-marked-down URLs to marked-down URLs and then just run mistune.html.  I would delete formatter.py and the associated unit tests and add additional tests as necessary for templates.py.

After a group discussion, we decided that we need a different plan of action and will open new tickets.

The changes/impacts are so great that we are looking at a rewrite and possible replacement of mistune. This is way larger than the expected scope. We looked at Canada/UK and they stayed at the lower version for the same reasons. We will need to sync with Strike team to come up with the best and safest approach as this impacts formatting of email template previews and sends.


fix(infra): re-run sshd config if dev tunnel machine recreated

Changes

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#978  👈
#976
#975
#904 : 1 other dependent PR (#920 )
#903
#740 : 1 other dependent PR (#750 )
#949 : 1 other dependent PR (#953 )
#954
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @NathanFlurry and the rest of your teammates on  Graphite


Open source plans?

Hello,
I'm an existing Twilio user (for server side services until now) considering whether to use this SDK for my next product.
I see in the app logs that you're bundling PJSIP as a SIP library. Is there a lot more going on, or is it mostly a package around a SIP client?
Are there any plans to open source part of this library?
Thanks 🙏

Hey @julien-c
In addition to bundling the PJSIP library as our signaling engine, we do have some patches upon the PJSIP library in order to make communication between mobile clients and Twilio Voice service smoother.
The Programmable Voice mobile SDKs (currently in beta) leverages the Twilio Notify service, in conjunction with the Twilio Voice service, to provide more reliable incoming capability via device push notifications provided by Apple/GCM/FCM.
With the existing server-side helper libs or REST APIs of Twilio I am sure you are already making awesome apps that can connect mobile devices via PSTN calling capability. Why not also VoIP client using the also-awesome Programmable Voice SDKs? :p
cheers
-bobie

Hi @julien-c,
Unfortunately we don't have any plans to open source our mobile Voice SDKs at this time. I hope that between Bobie's response and mine you have the information that you need, even if it wasn't the answer that you wanted.
If anything changes we will let you know.
Thanks,
Chris Eagleston

Thanks!


Investigate the resilience of epic on web3 provider errors

Description
While there should not be many places where that happens, we have to ensure that there is no possibility of specific epics completing when a web3 error happens during contract interaction.
There is at least one instance of the UDC withdrawal code where this might happen.
If the issue should be retried we should ensure that we do that, and recover so that the epics keep working normally.
If the issue is not recoverable a shutdown should happen.
Acceptance criteria

All inner and outer observables handle the web3 smart contract errors
The user is getting informed if it is not recoverable in a dialogue

Tasks

[ ] Write down the tasks (every epic or topic - eg. channels)

Proposal: Disconnect from Wifi and check when the SDK is crashing


Ability to create draft releases

Is your feature request related to a problem?
Sometimes, authors may want to upload a draft version of their release notes before the release is stable. An author might also want to use a script to automate the creation of a template release, without fully publishing it. An organisation might want to upload release notes but wait for another team member to review them before publishing.
Describe the solution you'd like.
GitHub allows you to create a draft release before uploading, which is hidden from public view until you're ready to publish it. It would be ideal if Hangar also had the ability to create hidden draft releases and save them to publish later.
Describe alternatives you've considered.
Not creating a draft release.
Other
No response

visibility you can't change to
when changing away you update the creation date
only put in moderation queue when published (the query should just ignore them)
only send notification when publish


chore: bump versions for release

This release will contain all the updates from #14, and once it is out I will do a release of the same version v0.0.1-rc.3 from the assemblyscript & rust PDKs.
Right now, this is mostly to test the automation from GitHub actions for publishing releases.

I just pushed a commit to this branch to get rid of some extra includes in extism.h


Posts not appearing on timeline

Hi There,
I've downloaded and installed per the instructions.
Posts are appearing on my hosted feed (http://desparoz.me or http://desparoz.micro.blog), but I have yet to see them come up on the main timeline (i.e. http://micro.blog/desparoz). They are also not being cross posted to Twitter.
Love the concept, and wonder if this is a micro.blog back end issue?
Cheers
Des

Seems like it is all good now. Suspect it was some changes Manton was working on on the micro.blog backend.

Thanks for reporting 👍. Yeah I was seeing similar issues as this so it may have been a temporary hiccup.


Install on Linux: How to install with reduced permissions (both CMake and Autotools)

@MaartenBent @sjoelund @dietmarw There was an issue/question about how to build/install matio with reduced permissions, see https://sourceforge.net/p/matio/discussion/609377/thread/57ef76e338/ Do you think you can give him advice? Feel free to reply here or on SF.net. Thank you.

I have just answered with:
Is it possible that you did not set an install target directory? With autotools (configure), this is typically performed with the option --prefix=/some/directory/where/you/can/write, and with cmake its done via -DCMAKE_INSTALL_PREFIX=/some/directory/where/you/can/write

Thank you at @emmenlau . It just was too obvious.


[Automated] Update eventing-istio-eventing nightly (#255)

Update eventing nightly
Signed-off-by: Knative Automation<EMAIL_ADDRESS>

OCF Webhook is merging this PR


iOS 16 - notifications in the app are not clickable

first of all, thanks for this app. I have a problem with the iOS version of the app.
when the notification is on the screen and I click, it takes me to the target with the default browser. However, when I check the actual notification inside the ntfy app, there is no link to this post, and it is not clickable... so, I cannot visit the target directly from the app...
ntfy 1.2
iOS 16.1.2

the problem continues with iOS 16.2

This is simply not implemented for iOS (yet). It'll be a long long time before I get to this though.

thanks for the info 👍

This is something that my end users are complaining about. We send out notifications with a short plain text description and the Click header taking them to the relevant location on our site.
If a notification has been dismissed from the shade, on Android they load the ntfy app, can see any notifications and click on them, however with iOS they can only read them and do nothing else.
An extra button below the notification or even the link as a clickable string would be enough to keep them happy.


Registering multiple custom Problems inside a Flask API fails

Description
Asked a question about it on SO: but figured that maybe the problem is deeper (or more shallow ;)) than Flask. My problem arises when I'm trying to register multiple custom Problems from multiple t2t_usr_dirs with this function:
def get_registered_problem(usr_dir_string, problem):
    usr_dir.import_usr_dir(usr_dir_string)
    print("This worked?")
    problem = registry.problem(problem)
    return problem

For a test, I tried to do just this at the initialization type of my flask-restplus API:
if __name__ == '__main__':
    problem_1 = get_registered_problem(configuration['problems']['problem1']['usr_dir'], configuration['problems']['problem1']['problem_name'])
    print(problem_1)
    problem_2 = get_registered_problem(configuration['problems']['problem2']['usr_dir'], configuration['problems']['problem2']['problem_name'])
    print(problem_2)
    app.run(host='<IP_ADDRESS>', port=6010, debug=True)

When just doing the above for a single Problem, everything works good. The Problem gets imported, registered and can be used. However, when trying this for two Problems, the first one goes fine again but the second one gives this error on the problem = registry.problem(problem) line (so it gets past the usr_dir import):
LookupError: problem2 not in the set of supported problems:
Could this be a Flask(-restplus) problem or is it that I can't import and register two custom Problems in one program?
Thank you very much in advance for thinking with me!

I've narrowed the behaviour to what seems like a problem with importing multiple usr_dirs with usr_dir.import_usr_dir(). When importing just one usr dir everything is perfect, while importing two of them the other one doesn't seem to get picked up:
usr_dir.import_usr_dir(configuration['problems']['problem1']['usr_dir'])
problem1 = registry.problem(configuration['problems']['problem1']['problem_name'])
print(problem1)

usr_dir.import_usr_dir(configuration['problems']['problem2']['usr_dir'])
problem2 = registry.problem(configuration['problems']['problem2']['problem_name'])
print(problem2)

produces the following output:
INFO:tensorflow:Importing user module trainer from path my/path/to/problem1
<trainer.problem.Problem1 object at 0x7f09a691bef0>
INFO:tensorflow:Importing user module trainer from path my/path/to/problem2
Traceback (most recent call last):
  File "run_service.py", line 89, in <module>
    problem2 = registry.problem(configuration['problems']['problem2']['problem_name'])
  File "/home/datalab/anaconda3/lib/python3.6/site-packages/tensor2tensor/utils/registry.py", line 277, in problem
    raise LookupError(error_msg)
LookupError: problem2 not in the set of supported problems

Any ideas?

To come back to this, I found a solution for my case. For everyone who would stumble upon this in the future:
I found out that using the usr_dir.import_usr_dir(usr_dir_string) is not the best way to go. I solved this problem by adding the corresponding usr_dirs into my root folder and just importing them as a module like this from my_problem1.trainer.problem import *
After that I removed the usr_dir.import_usr_dir(usr_dir_string) line at all and proceded to register the problem via problem = registry.problem(problem), which went fine for both problems!


add a C-style function pointer example

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.47%. Comparing base (cce8df1) to head (7e38ce4).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #31      +/-   ##
==========================================
+ Coverage   90.00%   90.47%   +0.47%
==========================================
  Files           6        6
  Lines          40       42       +2
  Branches        3        3
==========================================
+ Hits           36       38       +2
  Misses          4        4

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


TODOs for major structural change

[ ] change image save behavior -- it saves image files by default - doc.save.
[ ] replacing the current bbox implementation -- bbox handle a list of rectangles
[ ] implement segment --> it will contain multiple spans
[ ] the region: when users set it, we use their implementations; or otherwise we use the default behavior
[ ] support dynamic key-values for document (add _property_name and @property)

For images

[ ] define a find method for getting images (based on page indices)
[ ] crop of an image to tokens
[ ] define another find based on Regions, and return a list of segments. find(region, type).
[ ] rewrite the current find
[ ] define the overlapping conditions: 1) fully-overlapped 2) intersected

Aggregation

[ ] different way for aggregating for bounding boxes
[ ] specify the serializing model and the aggregation character, but allow for customized settings

Models

[] Wrapper around HuggingFace tokenizers


Submission Detail View for Evaluators

User story
As an evaluator, in order to manage an evaluations process for the submissions I'm assigned to efficiently, I would like to be able to view all the details of a single submissions.
Acceptance Criteria:

[ ] From a submissions list view, an evaluator can click on a submission and is displayed the following submissions and evaluations information:

[ ] Submission name and ID
[ ] A challenge name and its status
[ ] Brief description
[ ] Description
[ ] Uploaded files
[ ] External URL
[ ] Status
[ ] Submitter email
[ ] Last updated date

[ ] An evaluator is displayed an evaluation form to submit their scores below submission information, #90
[ ] An evaluator can choose to hide submission, and the submission information collapses, only displaying the evaluation form
[ ] An evaluator can choose to open submission information on a different tab/window

[ ] The submission information opens on a new tab/window
[ ] The submission information collapses displaying only the evaluation form on the initial tab/window

Development tasks:

[ ] Task 1
[ ] Task 2

Definition of Done
Doing (dev team)

[ ] Code complete
[ ] Code is organized appropriately
[ ] Any known trade offs are documented in the associated GH issue
[ ] Code is documented, modules, shared functions, etc.
[ ] Automated testing has been added or updated in response to changes in this PR
[ ] The feature is smoke tested to confirm it meets requirements
[ ] Database changes have been peer reviewed for index changes and performance bottlenecks
[ ] PR that changes or adds UI

[ ] include a screenshot of the WAVE report for the altered pages
[ ] Confirm changes were validated for mobile responsiveness

[ ] PR approved / Peer reviewed
[ ] Move card to testing column in the board

Testing (dev team)

[ ] Security scans passed
[ ] Automate accessibility tests passed
[ ] Build process and deployment is automated and repeatable
[ ] Feature toggles if appropriate
[ ] Deploy to staging

Staging

[ ] Accessibility tested (Marni)

[ ]  Keyboard navigation
[ ]  Focus confirmed
[ ] Color contrast compliance
[ ] Screen reader testing

[ ] Usability testing: mobile and desktop (Tracy or Marni)
[ ] Cross browser testing (tool to be determined) (Tracy or Marni)

[ ]  UI rendering is performant

[ ] AC review (Renata)
[ ] Deploy to production (production-like environment for eval capability) (dev team)
[ ] Move to production column in the board

Production

[ ] User and security documentation has been reviewed for necessary updates (Renata/Tracy/Dev team)
[ ] PO / PM approved (Jarah or Renata)
[ ] AC is met and it works as expected (Jarah or Renata)
[ ] Move to done column in the board (Jarah or Renata)

The submission information collapses displaying only the evaluation form on the initial tab/window
I'm not sure what this means?

External URL
Is this the public URL to the Challenge listing?

@stepchud

The submission information collapses displaying only the evaluation form on the initial tab/window
This means that the submission materials on the initial tab do not display (because they were opened on a new tab) and the user only sees an evaluation form.
The below would be tab 1 and tab 2:

@stepchud

External URL
External URL is part of the submission materials provided by the public solver. This information is being collected during submission entry process and then it is visible to challenge managers and should be visible to evaluators.


Add CreateDomain acceptance tests

Description of the Change
Add CreateDomain tests.
Hopefully all works as expected, so there is no disabled tests
UPD: empty role passes stateless validation, so it is disabled
Benefits
Coverage & stability
Possible Drawbacks

~100 sec of test execution time :(

Usage Examples or Tests
make create_domain_test && test_bin/create_domain_test

Can you explain why tests take such a long time? And what can be done to solve that issue

@nickaleks here's the issue
https://github.com/hyperledger/iroha/blob/e8d765f9f20dc06be6c7175d27433c3539cabd49/test/framework/integration_framework/integration_test_framework.hpp#L121-L126
So basically all of the missing proposal/block checks are required to wait such a time


InformatonProviderImpl::UnRegisterInformationChangedCallback doesn't unregister the first callback

Describe your environment.
We're seeing crashes on Windows Store applications receiving power-state change notifications. The crash is in InformationProviderImpl::OnChanged, specifically:
size_t count = local_callbacks.size();
for (size_t index = 0; index < count; ++index)
{
    IPropertyChangedCallback* cur_callback = local_callbacks[index];
    if (cur_callback != NULL)
    {
        cur_callback->OnChanged(propertyName, propertyValue);
    }
}

The local_callbacks contains an entry that is not valid, so our application crashes on cur_callback->OnChanged(propertyName, propertyValue);.
The bug appears to be in InformatonProviderImpl::UnRegisterInformationChangedCallback, the index > 0 check looks like it should be index >= 0:
    void InformatonProviderImpl::UnRegisterInformationChangedCallback(int callbackToken)
    {
        size_t index = (size_t)(callbackToken - 1);

        std::lock_guard<std::mutex> lock(m_lock);
        size_t count = m_callbacks.size();
        if (index > 0 && index < count)
        {
            // Don't ever delete the item from the vector.
            // Just set it to NULL.
            m_callbacks[index] = NULL;
            --m_registeredCount;
        }
    }

Since the m_callbacks is indexed with a 0-base, then 0 is a valid entry - it's the first entry.
Steps to reproduce.

Initialize a LogManager that uses an IInformationProvider implementation
LogManager::FlushAndTeardown the LogManager.
Cause a power-state change notification.

What is the expected behavior?
No crash.
What is the actual behavior?
Crash in InformationProviderImpl::OnChanged.
Additional context.
I've written unit tests for InformatonProviderImpl that cover this scenario and reproduce the problem, and have a fix that fixes the unit tests.

@mschofie - can you contribute a PR with the fix?

Yes... I'm trying to follow the instructions for a PR, but I'm getting 403's when pushing... I think I need to check permissions...?

Oh, I think I need to be a Collaborator. And I don't meet the requirements. How can I share a fix for a Collaborator to merge?

@mschofie - yes, I sent you the instructions. We'd add you to group and you'd be able to create a branch and send in a PR.


Add style guide local (and some link unfurling/seo)

some link unfurling and seo has crept into this pr as well

We could also provide specific guidance like "run markdownlint --fix ./my/changed/file.md to conform new/changed files to this project's .markdownlint.yaml.

I'm not looking to add that sort of thing to this guide at this time


Question (maybe for your FAQ) - how do you compress or deal with never ending growth

What mechanisms exist within Nom to explicitly compress the persistent storage so that you don't have never-ending growth of the underlying storage mechanisms?
Or put differently, how do you handle scenarios at the logical extension of this space where you run out of persistence store (likely locally) for the information you're tracking in nom?

Hi @heckj, content addressing naturally deduplicates the data that does not change between commits. We also compress data on disk. But in general, the data does just grow. We will eventually have mechanisms to optionally remove old data, or to have "shallow clones", but they are not implemented yet.

Good point though about adding it to the FAQ.

Thanks @aboodman !

I took a swing at this: https://github.com/attic-labs/noms/blob/master/doc/faq.md

:+1:


update to angular2 beta12 + fix

Just and update to make it works with last beta.

I signed it!

thanks! Although, it seems like you have an old fork of the repo. The latest version has been updated to angular2 beta.12 if you can pull down the latest changes and try for yourself.

@gdi2290 Are you sure, I have just cloned it before this commit. I believe you are looking the master branch instead of the systemjs branch.

oops, you're right sorry


NEW Allow SSViewer to be injectable

Unless there's a good reason why SSViewer isn't injectable by default, how do we feel about this change? If this gets approved then I've got a couple of other module PRs to smash up afterwards.

@robbieaverill what would the other module PRs be?

This change is okay, although as far as extensibility APIs go, we could potentially do better.
E.g. something like:
interface Template
{
  /**
   * Populate this template with the given data and return the result as a string
   */
  function process($data);
}

// Remains as is expect for implementing the new interface
class SSViewer implements Template
{ ... }

interface TemplateFinder
{
  function getTemplateForIdentifierList($templates);
}

That interface pair is just a quick sketch but the main thing is having an object that represents a single template ready to be rendered, and then another which is a factory for getting the right template based on the identifier list. The latter one would be an injector service.
In principle you could use this to plug in support for other template engines, including having some kind of dispatch that checked what kind of template was used for the given identifier

Sounds like a good idea. I wish I had a use case to test this with!

Yeah – that's what I was going to ask. Were the aforementioned "other PRs" test use-cases?

Ah, ok - so the "other PRs" were the other core modules that use new SSViewer -> SSViewer::create(). The reason I'm suggesting this change is to allow us to add a proxy layer over SSViewer to monitor template usage etc.

...like a middleware added to the TemplateFinder? :-D

That sounds nice 😄

...it's hackday next Friday and that's not a breaking API. ;-)

@robbieaverill I suggest making SSViewer_FromString injectable too.
$viewer = new SSViewer_FromString($content);

I'd probably approach that like...
interface TemplateFinder
{
  function getTemplateForIdentifierList($templates);
  function getTemplateFromString($templateContent);
}

Would you both be OK with this PR making things injectable and another to add some interface structures?

Yeah I'm okay with that if other core team agree.

Cool - I'll change the title to WIP then add injection for the other SSViewer classes too

Ok, done

@sminnee given we discussed the interface approach being another set of work, would it be ok to merge this? I've given in my blessing. :D

Thanks team - the other PRs are open (listed above)

Merged all 3.


[Add/Edit Observation] Move field labels outside input box and make larger

Fixes #788.
@shobhitagarwal1612 PTAL? 🙏

Spacing between question text and photo seems to be missing (as compared to other fields).
Is this because of the removed padding?

Fixed!

PTAL?


Tour config entries for default, overridden?

In 74cd7e7, is it expected behavior in a tour, that entries in the "default" are overridden by entries in subsequent scenes and not restored when a new scene is loaded?
Example:
viewer = pannellum.viewer('panorama', {
	"default": {
		"type": "equirectangular",
		"firstScene": "preview",
		"showControls": true,
		"autoLoad": true
	},
	"scenes": {
		"preview": {
			"hfov": 60,
			"minHfov": 30,
			"maxHfov": 90,
			"haov": 60,
			"vaov": 60,
			"pitch": 0,
			"showControls": false,
			"panorama": "https://pannellum.org/images/tocopilla-preview.jpg"
		},
		"house": {
			"minHfov": 30,
			"maxHfov": 120,
			"panorama": "https://pannellum.org/images/bma-0.jpg",
		}
	}
});

Scene "preview" is shown first and no controls are shown as expected. A subsequent loadScene displays the "house" scene, but the only control observed is the full screen button. I'd expect also to see the zoom controls because the "default" scene specifies showControls:true... and zoomCtrl is true by default. Should loadScene first restore all "default" parameters then set all scene-specific parameters?

It appears the default for showZoomCtrl doesn't get entered into config.


Ununified document addresses

I found two document addresses, what I can see directly is https://logging.apache.org/log4j/2.x/index.html, What's not easy to find is
https://logging.apache.org/log4j/2.12.x/, But I have found that the two complement each other. Would you consider merging them?
And the latter is in some ways more detailed, I prefer the latter.

@youngledo,
The /log4j/2.12.x website contains the documentation of the 2.12.x release. That release was a (very short-lived) branch with security-only fixes, that appeared in December 2021 and was discontinued on December 29th, 2021.
I am planning to remove the /log4j/2.3.x and /log4j/2.12.x websites in a couple of weeks (see this dev@logging thread), but if you wish to move some content from that page to /log4j/2.x, feel free to open a PR. There is an [Edit] button on each page of the new website, which points you to the correct AsciiDoc source document.


[feat][CI] Update clang-format-action version

Related to jidicula/clang-format-action#18
Why this change was necessary
The master branch of clang-format-action is set to be deleted
on January 15. Additionally, the workflow version in that branch
does not support C++ files.
What this change does
Updates the CI style workflow to point to the earliest version of
clang-format-action supporting C++ files.
Any side-effects?
Style checks may fail now that C++ files are being checked.
Additional context/notes/links

https://github.com/jidicula/clang-format-action/releases/tag/v2.0.0

Hi! Same rationale as in cisco/mlspp#157 😁


How to rename YT watermarks

What is your question?
Like i want the the watermark to be "@NonsensicalGH"

navigate to assets/data and edit ytWatermarkInfo.txt

Thank You!!!


Issue Template and Sidebar

Tasks:

[x] Issue Template creation.
[x] Creating the Wiki Page for it.
[x] Creating the Sidebar.
[x] Adding it to the Sidebar (That is not created, yet).

All tasks are done. Issue Template can also be found in the Sidebar.


checkstyle: investigate difference between config files

Currently the checkstyle config file, addressbook is using, seems to have some deviation compare to other major checkstyle config files.
Investigate the difference against other checkstyle config files such as Google's, Sun's etc.

Our coding standard is derived from Google's, so it make more sense to compare with Google's checkstyle file.

Initial comparison between Addressbook's checkstyle vs Google's checkstyle
Link to addressbook's : https://docs.google.com/document/d/1iz3Dt_5MoPHu7SOHimodfZQ-w8rluFMKgTM92IFWVdw/edit?usp=sharing
Link to google's : https://docs.google.com/document/d/1o3DeKTUxv2zH5j0RtvMXSVTBa0kbGBKWiE_qgtchbZ4/edit?usp=sharing
Red - indicates does not exist on the other checkstyle
Yellow - indicates it exist on the other checkstyle but have different properties
Green - indicates that it exist on the other checkstyle and have same properties

Progress noted @eugenepeh Keep us posted.

Hello Prof. Damith @damithc ,
Currently the addressbook checkstyle allows both e.g sortList_emptyList_exceptionThrown() and sortList_EmptyList_ExceptionThrown()
(capital letter after underscore).
As this configuration is predefined in the checkstyle file,
I would like to clarify further with you

if this is allowed according to the CS2103 coding convention?

Also
6. Abbreviations and acronyms should not be uppercase when used as a (OR part of a) name.
bad e.g exportHTMLSource();
For this rule, I believe it can be done by checking that every capital letter is followed by a small letter

Should it be implemented?

Additionally
7. Private class variables can have underscore suffix or prefix (not common, but a beneficial practice)
e.g "private String name_;"
Currently this is highlighted as warning by the checkstyle as it doesn't follow MemberName format,
this can be fixed by allowing this format but

Should we also enforce this format?

Currently the addressbook checkstyle allows both e.g sortList_emptyList_exceptionThrown() and sortList_EmptyList_ExceptionThrown()
(capital letter after underscore).
As this configuration is predefined in the checkstyle file,
I would like to clarify further with you
if this is allowed according to the CS2103 coding convention?

Yes, this is allowed for test cases. However, only the first variation should be allowed.

Also
6. Abbreviations and acronyms should not be uppercase when used as a (OR part of a) name.
bad e.g exportHTMLSource();
For this rule, I believe it can be done by checking that every capital letter is followed by a small letter
Should it be implemented?

Yes, it is good to enforce it if possible.

Additionally
7. Private class variables can have underscore suffix or prefix (not common, but a beneficial practice)
e.g "private String name_;"
Currently this is highlighted as warning by the checkstyle as it doesn't follow MemberName format,
this can be fixed by allowing this format but
Should we also enforce this format?

No, I plan to remove that guideline. We should not prefix private variable names with underscore.

@eugenepeh Finished investigating? :-P


Fix typo in index

Fixing a small typo where a space--and depending on what you think of the serial/Oxford comma--a comma was missing.

Thanks!