Using the camera with rotation?

Hi there,
So, I've been trying to use the camera (in 2d) rotated and I cannot for the life of me get the panning and zooming to work correctly while rotated. The camera zooms in toward somewhere in the lower left instead of the center of the screen. The camera doesn't pan parallel and perpendicular to its edges when using simple operations like cam.x++ and cam.y++, I used some basic trig to compensate for the latter, which worked, but only at one zoom level (8x out, specifically).
I'd chalk this up to my dubious math and programming skills, but the camera test program doesn't seem to compensate at all for the rotation which makes me think something else may be going on here? I'm not sure how to build the tests to make sure (on linux), though. I managed to generate a bunch of cmake files/directories and a feature_tests.bin but nothing that seems to run or can be make install'd
I'd greatly appreciate any pointers or instructions how to build the tests, thanks.
ETA: I figured out a work around for my use case, tips would still be appreciated though.

Yeah we were talking about this issue in the past , still not solved https://github.com/grimfang4/sdl-gpu/issues/26 , see at the buttom of the page other issue related

I couldn’t get that to play nice for whatever reason (probably me). I didn’t actually really need runtime camera rotation so I just baked it into the polygons I was working with and called it a day (my use case is weird).

I know this issue is a bit old, but if you still have the original code I would appreciate if you could try this patch and confirm it works for your use case: https://github.com/grimfang4/sdl-gpu/pull/206


Previous and next

Summary
Pls add previous and next feature like YouTube. And if possible the ability to save last used settings on next video or episode.
Please confirm the following

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.

Completed in eafd9b1ce7dcbcb06268ca0ff10b478b17d87bce

Available on Release 1.5.0


python311Packages.pex: 2.1.151 -> 2.1.153

Changelog: https://github.com/pantsbuild/pex/releases/tag/v2.1.153
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release 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

[ ] Fits CONTRIBUTING.md.

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

4 packages built:

python310Packages.pex
python310Packages.pex.dist
python311Packages.pex
python311Packages.pex.dist

Result of nixpkgs-review pr 268769 run on aarch64-darwin 1

4 packages built:

python310Packages.pex
python310Packages.pex.dist
python311Packages.pex
python311Packages.pex.dist


Do not cache csv and pdf in service worker

I want to merge this change because...
storefront is hijacking csv files export.
Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] The changes are tested.
[ ] The code is documented (docstrings, project documentation).
[ ] Changes are mentioned in the changelog.

Test Environment Config

API_URI=https://master.staging.saleor.rocks/graphql/

I'm getting a different kind of 404 now, not intercepted by storefront worker.
https://fix-invoice-download-issue.storefront.saleor.rocks/media/export_files/product_data_04_08_2020.csv

Task linked: CU-74pghn Storefront worker causing issues with csv download


[2.18] Fix remaining integ tests

Description
This PR fixes integ tests that subclass AbstractApiIntegrationTest and are failing due to static initialization.
This PR introduces a new pattern for base class initialization that initializes once in the @Before block per base class and uses polymorphism to supply custom cluster settings for the tests in each base class.
This PR also mutes the flaky tests SecurityConfigurationTests.testParallelTenantPutRequests and only runs ResourceFocusedTests as a PR check. Ideally, ResourceFocusedTests are also run with release time integ tests, but I ran into issues with memory exhaustion on the github runners.
In a previous commit I had added memory to the integ tests, but I'd like to keep the defaults if possible.
tasks.named("integrationTest") {
    minHeapSize = "512m"
    maxHeapSize = "2g"
}

Category (Enhancement, New feature, Bug fix, Test fix, Refactoring, Maintenance, Documentation)

Test fix
Issues Resolved

https://github.com/opensearch-project/security/issues/4845

Check List

[ ] New functionality includes testing
[ ] New functionality has been documented
[ ] New Roles/Permissions have a corresponding security dashboards plugin PR
[ ] API changes companion pull request created
[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

2024-10-28T13:45:48.4969963Z > Task :jacocoTestReport
2024-10-28T13:45:48.4970705Z
2024-10-28T13:45:48.4972088Z Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
2024-10-28T13:45:48.4973172Z
2024-10-28T13:45:48.4974745Z You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
2024-10-28T13:45:48.4976261Z
2024-10-28T13:45:48.4977611Z For more on this, please refer to https://docs.gradle.org/8.10.2/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
2024-10-28T13:45:48.4979197Z
2024-10-28T13:45:48.4979654Z BUILD SUCCESSFUL in 9m 10s

FYI The reason that the CI Check shows as green even when there are failing tests is because of the configuration here: https://github.com/opensearch-project/security/blob/main/build.gradle#L535-L541
if (System.getenv('CI_ENVIRONMENT') == 'normal') {
    retry {
        failOnPassedAfterRetry = false
        maxRetries = 2
        maxFailures = 10
    }
}

The tests do pass on retry so the CI check is green. This configuration may be hiding some flakiness so we may want to start gathering stats on flaky tests to try to get all tests to pass consistently on first run.


proposal: net/textproto: ReadMIMEHeader to return the original order of the parsed headers

The current implementation of the net/textproto's Reader.ReadMIMEHeader returns a map[string][]string that, when it is iterated to consume map's values, the order of the creation of those items in the map is lost.
I came across a use case where the original order of the headers being parsed must be preserved.
In order to make this work, I was able to port part of such code to a custom method that I would like to contribute to the community.
Despite the actual work I've done, I see 2 alternatives to make this change:

Modify ReadMIMEHeader output to return a new struct that preserves the order of the headers, alongside the current map[string][]string instance. Such a new struct will also provide a function to iterate over the map following the order of the headers (this is basically my current implementation, but it breaks the ReadMIMEHeader API)

Provide a new functionality on the same Reader struct that takes into consideration the order of the headers. So then the Reader still provides the current ReadMIMEHeader API, but it also makes available a new function (i.e.: ReadMIMEOrderedHeader) that delivers the order information.

I hope this could help others.

We can't change the signature of the existing textproto.ReadMimeHeader function.  That would break the Go 1 compatibility guarantee.
Please tell us more about the use case where the order matters.  Thanks.

It's true - this would essentially require a separate implementation. A fork in a third-party package might be the best approach.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Based on the discussion above, this proposal seems like a likely decline.
— rsc for the proposal review group

@ianlancetaylor one of the use cases for preserving the order in which headers appear on an email is detecting the use of email templates (botnets use this extensively), among other things. It would be nice to avoid the fork in order to carry all the improvements/optimizations made to the standard library over time, but I guess this modification could also be maintained in the fork, updating as new Golang versions make changes (tagging the fork with the Golang version used as baseline, etc.)

For what it's worth, this function does not change very often at all. Divergence should not be a problem.

No change in consensus, so declined.
— rsc for the proposal review group


HIVE-23026: support set a customized yarn application name for hive on tez  in branch master

What is this PR for?

add a configuration item to support setting tez job name

What type of PR is it?

feature

What is the Jira issue?

https://issues.apache.org/jira/browse/HIVE-23026

How to use?

We can use 'set tez.job.name=<customized_job_name>;' or '--hiveconf ez.job.name=<customized_job_name>' to use this function to customize Yarn application name when we run a sql.
We recommend setting  the 'customized_job_name' to a Java String.format() string that can accept the hive session ID as a single parameter.

@kgyrtkirk OK, looks like this method does re-launch tests.  Did you have to do anything manually to the labels or just close and open the PR?  Thanks!

nope; labels are moved around by the precommit job - no need to touch them - they just reflect the current state


Dot at beginning of cookie domain field isn't ignored (results in DomainMismatch error)

Hi,
As mentioned in the title, a domain with leading dot isn't handled properly (“properly” meaning "as browser seem to handle it"):
let mut cs = cookie_store::CookieStore::load_json(b"".as_slice()).unwrap();

// No leading dot => works:
let c = cookie::Cookie::build("name", "value")
    .domain("name.com")
    .finish();
cs.insert_raw(
    &c,
    &url::Url::parse("https://subdomain.name.com").unwrap(),
)
.unwrap();

// With leading dot => fails with `cookie_store::CookieError::DomainMismatch`:
let c = cookie::Cookie::build("name", "value")
    .domain(".name.com")
    .finish();
cs.insert_raw(
    &c,
    &url::Url::parse("https://subdomain.name.com").unwrap(),
)
.unwrap();

The following article (not mine) has some background information:
Leading Dots On HTTP Cookie Domains Ignored

You are right, this should be supported behavior, and in fact the implementation does support it. However, in the case we are processing a cookie:Cookie, the logic relies on the fact this processing should already be done
So I believe this is actually a change that should happen upstream. If instead of using the cookie builder, we parse from a cookie string, the behavior works as expected:
    let mut cs = cookie_store::CookieStore::load_json(b"".as_slice()).unwrap();
    // No leading dot => works:
    let c = cookie::Cookie::build("name", "value")
        .domain("name.com")
        .finish();
    cs.insert_raw(&c, &url::Url::parse("https://subdomain.name.com").unwrap())
        .unwrap();

    // Leading dot works when using `FromStr` parsing impl => works
    let c = cookie::Cookie::from_str("name=value; Domain=.name.com").unwrap();
    cs.insert_raw(&c, &url::Url::parse("https://subdomain.name.com").unwrap())
        .unwrap();

Upstream, we can see the expected logic is implemented here in the string parsing case.
So it seems to me the upstream builder behavior should match the upstream string parsing behavior. That is:
let c1 = cookie::Cookie::from_str("name=value; Domain=name.com").unwrap();
let c2 = cookie::Cookie::build("name", "value")
    .domain("name.com")
    .finish();
// this passes, as we would expect
assert_eq!(c1, c2);

let c1 = cookie::Cookie::from_str("name=value; Domain=.name.com").unwrap();
let c2 = cookie::Cookie::build("name", "value")
    .domain(".name.com")
    .finish();
// this does not
assert_eq!(c1, c2);

As mentioned in the cookie_store code,  we do not want to do this stripping twice (if it has already been done in the cookie implementation), as we expect Domain=.name.com attribute to be interpreted differently from Domain=..name.com (two leading dots).

That makes sense, thanks @pfernie!
I've opened a new issue in the cookie-rs repo: https://github.com/SergioBenitez/cookie-rs/issues/207.


Improve hello-wuffs-c example

Made it more readable by factoring the #ifdefs into separate files.
Additionally, removed the needless heap allocation in the wuffs-using implementation of parse, and added a comment on the seemingly "correct" way to do this if you did want that, which was not what was being used previously.
Added comments about why wuffs_base__status__is_ok() might return false.

I signed the CLA

Thanks!

Thanks!


SDN create NIC problem

When using the following command
az network nic create
With required fields by documentation
 az network nic create -g "IMDS_Demo" --subnet "Mysubnet" -n "MyNIC"
Referenced resource /subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_Demo/providers/Microsoft.Network/virtualNetworks/None/subnets/Mysubnet does not exist. Please create the required resource and try again.

With subnet ID instead
az network nic create -g "IMDS_Demo" --subnet "/subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_Demo/providers/Microsoft.Network/virtualNetworks/MyVnet2/subnets/Mysubnet" -n "MyNIC"
At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details. {
  "error": {
    "code": "InvalidResourceReference",
    "message": "Resource /subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_DEMO/providers/Microsoft.Network/virtualNetworks/MYVNET2 referenced by resource /subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_Demo/providers/Microsoft.Network/networkInterfaces/MyNIC was not found. Please make sure that the referenced resource exists, and that both resources are in the same region.",
    "details": [
      {
        "code": "NotFound",
        "message": "Resource /subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_DEMO/providers/Microsoft.Network/virtualNetworks/MYVNET2 not found."
      }
    ]
  }
}  Correlation ID: 18a90c60-1258-4a63-aad5-18057df8c6c2

With Vnet name
az network nic create -g "IMDS_Demo" -n "MyNIC" --subnet "Mysubnet" --vnet-name "MyVnet2"
At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details. {
  "error": {
    "code": "InvalidResourceReference",
    "message": "Resource /subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_DEMO/providers/Microsoft.Network/virtualNetworks/MYVNET2 referenced by resource /subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_Demo/providers/Microsoft.Network/networkInterfaces/MyNIC was not found. Please make sure that the referenced resource exists, and that both resources are in the same region.",
    "details": [
      {
        "code": "NotFound",
        "message": "Resource /subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_DEMO/providers/Microsoft.Network/virtualNetworks/MYVNET2 not found."
      }
    ]
  }
}  Correlation ID: 04dc6b21-1fbc-4bf3-9060-11fcdb0d3879

Workaround to make it work location must be provided
az network nic create -g "IMDS_Demo" -n "MyNIC3" --subnet "Mysubnet" --vnet-name "MyVnet2" -l "centralus"
{
  "newNIC": {
    "dnsSettings": {
      "appliedDnsServers": [],
      "dnsServers": []
    },
    "enableIPForwarding": false,
    "ipConfigurations": [
      {
        "etag": "W/\"a17c57d5-3494-4373-80e0-6a9bc85c1566\"",
        "id": "/subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_Demo/providers/Microsoft.Network/networkInterfaces/MyNIC3/ipConfigurations/ipconfig1",
        "name": "ipconfig1",
        "properties": {
          "primary": true,
          "privateIPAddress": "<IP_ADDRESS>",
          "privateIPAllocationMethod": "Dynamic",
          "provisioningState": "Succeeded",
          "subnet": {
            "id": "/subscriptions/23a27f7b-7bd9-4ef6-91f5-9bf25ea00d6a/resourceGroups/IMDS_Demo/providers/Microsoft.Network/virtualNetworks/MyVnet2/subnets/Mysubnet",
            "resourceGroup": "IMDS_Demo"
          }
        },
        "resourceGroup": "IMDS_Demo"
      }
    ],
    "provisioningState": "Succeeded",
    "resourceGuid": "84408cbd-8a09-4a33-9217-4613e29f2c7a"
  }
}

All previous errors are hard to determinate how to fix/work around them, on the documentation -h please add all required and work on the error descriptions

Related to #920.

Moving to Spring 7 as the original fairly trivial fix has become part of a larger refactoring.


@conda-forge-admin please add user @traversaro

Hi @pstjohn, as I saw you are the only mantainer of this package, I would be happy to join the mantainer team to give an hand, let me know if this is ok for you, thanks!

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added user @traversaro in conda-forge/ampl-mp-feedstock#19.


Where is the actual .NET wrapper project?

If I want to tweak the .NET wrapper where can I find that project?

ESRI hasn't open sourced any code. They just let you use the dlls for free. They call that "open".

Yes I get that. That's why Im asking for the .net wrapper. That code just wraps the DLLs.

Yeah thats included in the "ESRI is not gonna give you any code" pledge. ;-)


Fix typo in data platform name

Description & motivation
Firebolt is a nifty data platform. Firebold is not (at time of writing).

hey @owenprough-sift, thanks for opening this up, and what a great catch! I'll approve and merge this for you :D


Issue 22

Coverage remained the same at 95.349% when pulling 40119705e7b138e3e47194dd9476cb5c54d11257 on issue-22 into 01c743fc36b9ae60fdce4453289559a31c60ad1d on master.


Updated README.md

It was not necessarily what I expected, but it is a step

What is it that you are looking for?

I'm already in development
https://github.com/jadsonbr/laravel-requirements-install/blob/5.3/install-5.3.sh


Add Audio Wordle Game Extension

Describe the solution you'd like
In this game, a tune will be played, and the user has to guess the name of the song in 5 guesses.
Features:

The user will be given 5 chances.
The tune can be played as many times as the user wants.
If the letter is used in the word, it will become yellow.
If the letter is in the right place in the word, it will become green.

Hi @Sulagna-Dutta-Roy, I just want to know how levels are deciding?
This is a project that will take me 1 whole day to make. Why is it level1?

Level1: Entry
Level2: Intermediate
Level3: Advanced level
It doesn't matter how many days you'll take. Based on the projects only

Ok thankyou!


CORS-related error when returning back from B2C sign in policy page

Library

[ ]<EMAIL_ADDRESS>or<EMAIL_ADDRESS>[x]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>[ ]<EMAIL_ADDRESS>
Framework
Description
I've got CORS-related error when getting back from Azure AD B2C sign in policy page. I think the system is trying to retrieve token but CORS is blocking it for some reason. Do you know any reasons for that? Thanks!
Error Message
(Access to fetch at 'https://mytenant.b2clogin.com/mytenant.onmicrosoft.com/b2c_1_signupin/oauth2/v2.0/token' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.)
Security

[x] Is this issue security related?

Regression

[ ] Did this behavior work before?
Version:

MSAL Configuration
const msalConfig: Configuration = {
    auth: {
      clientId: 'xxx-xxxx-xxxx-xxx',
      authority: "https://mytenant.b2clogin.com/tfp/mytenant.onmicrosoft.com/b2c_1_signupin",
      redirectUri: 'http://localhost:3000',
      knownAuthorities: ["mytenant.b2clogin.com"]
    },
    cache: {
      cacheLocation: 'localStorage',
      storeAuthStateInCookie: false
    },
    system: {
        tokenRenewalOffsetSeconds: 0,
        loadFrameTimeout: 9000,
        loggerOptions: {
          loggerCallback: msalLoggerCallback,
          logLevel: LogLevel.Verbose
        }
    }
  };

// Provide configuration values here.
// For Azure B2C issues, please include your policies.
Standard sign in policy using Azure AD B2C account

Expected behavior
Token should be retrieved.
Browsers/Environment

[x] Chrome
[ ] Firefox
[ ] Edge
[ ] Safari
[ ] IE
[ ] Other (Please add browser name here)

@Codeluck Unfortunately, this is a known issue. We are currently prioritizing and working on a fix. Please refer to our wiki page for timelines and to issue #1795 for further details and updates.


DPL-497 Record retention instructions against stock plates

User story
As a Sample Management user, I would like the sample retention instructions to be recorded against stock plates when they are imported into Sequencescape, so that I know what to do with them later on.
Who are the primary contacts for this story
Danni W, Siobhan A-G, Katy
Who is the nominated tester for UAT
Danni W, Siobhan A-G
Acceptance criteria
To be considered successful the solution must allow:

[ ] All plate manifests have a new mandatory field, 'Retention instructions', with the following options:

Destroy after 2 years
Return to customer after 2 years
Long term storage

[ ] Above field is mandatory - data must be provided
[ ] This information is saved on manifest upload, at the labware level (custom metadata?)

Additional context
This does not need to include a way to view this data once uploaded - that will be in another story (https://github.com/sanger/sequencescape/issues/3676)
N.B. If the 'Retention instructions' are stored in the custom metadata table, the functionality for https://github.com/sanger/sequencescape/issues/3676 could be achieved using Limber, as functionality has been recently developed to allow viewing and editing of custom metadata. You would need to add configuration to Limber to show the new field against the relevant plate purposes. Custom metadata can also already be viewed (but not edited) on the labware page in Sequencescape.

HI Katy, caught up with Emma. This requirement is for derivatives samples, not stock plates.

Clarification from Danni over Slack:

The lifespan feature is for derivative samples (Assets audits) and the retention instructions should be manifest (Stock sample) but Emma mentioned it should be at a study level as well as a plate level.

Just adding some more info from Slack conversations ~ 11th Oct, as the above comments could be misleading.
The plan now is to focus on using the location report to report on retention instructions for all plates, whether stock plates or derivatives. The Asset Audits feature would still be used to log destruction, but not used by the Sample Management team to check whether labware can be destroyed or not. It may still be used by other teams though, e.g. the Heron team.
Retention instructions will be imported into Sequencescape at a plate level via sample manifests (or any equivalent system that imports samples, e.g. the message queue based systems that are coming in for ToL and other projects). These instructions should be able to be updated later on if needed.
Think the above requirements are still covered by the following previously written stories:

https://github.com/sanger/sequencescape/issues/3673 (this one)
https://github.com/sanger/sequencescape/issues/3674
https://github.com/sanger/sequencescape/issues/3675 (lower priority)
https://github.com/sanger/sequencescape/issues/3676 (lower priority)

For derivative plates, there is a request to include a date in the location report, which is the 'first scan into an Ogilvie freezer' - however, it will probably be easier to get the date from Asset Audits, when they receive labware using the "Reception fridge - 10010430" instrument. (N.B. Danni said "The only thing to be aware of is we could activity log a barcode as "received" multiple times, this happens if we return a plate to faculty who then send it back for further work. This is a low occurrence but in these instances i'd say we go with he latest date")

No story exists for this at the moment, needs a bit of research as to how feasible it is to get this date and include it in the location report.

Asset audits feature - Life spans for plate types need to be updated for this to be used effectively https://github.com/sanger/asset_audits/issues/363
Having the date included in the report is key to ensuring stock samples are not destroyed too soon. Currently, we have the "data created" in the report which is fine for derivatives but stock plates can take months/years to be returned to site with samples. A story for this should be submitted to make sure it's not forgotten about.

Waiting to clarify from Danni which manifest types should have the new column. Current PR has it set on all plate types.

Closing issue as it's in Done column


Issue 37 Documentation

Closes #37
Slightly alters README throughout to minimize line length.
Adds 'Deployment' section to README, detailing the basics of how deployments are configured for Gratibot's non-prod and production environments.
Alters wording and formatting of existing 'Development' section in README to fix typos and more closely adhere to wording used in Slack's app settings and api documentation.
Alters formatting in 'Development' section of README. In instructions for configuring bot, settings tabs are now denoted with bold, settings sidebar sections are denoted with italics, secret values to be copied are denoted in bold italics, and page headers or text within a tab is denoted in 'single quotes'.

All these changes look good! One thought, can we edit the non-prod workflow to not run the deployment workflow for README.md changes? And maybe the backstage catalog.yaml as well.
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#excluding-paths

All these changes look good! One thought, can we edit the non-prod workflow to not run the deployment workflow for README.md changes? And maybe the backstage catalog.yaml as well.
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#excluding-paths

Updated with suggestions, + added the same requirements to the pull-request workflow. (Which is for running Terraform plans which will be obsolete with the changes).
As a sidenote, I think we should clean up the workflow names at some point, not a GH Actions expert, but I assume the workflows should be named for what they do, vs when the run.


Maint: replace circleCI appveyor

Moving to Appveyor because better support for open source projects.

Test failures on appveyor are known Windows failures and will be tackled in a different PR.


python3Packages.service-identity: 18.1.0 -> 21.1.0

Motivation for this change
Update to latest upstream release 21.1.0
Change log: https://service-identity.readthedocs.io/en/stable/changelog.html#id1
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages 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 Release 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.

Duplicate


how to get ZED SDK version ?

Hi,
how to get ZED SDK version ?
pyzed.sl.Camera().get_sdk_version() returns empty string ( '' ).
Thanks,
Madhu.

There was a conversion issue with the returned string, it should now be fixed.
Let me know if it's not the case


unable to load continous video data

Here is the code, and I want to load data from SHIFT_dataset/continuous, instead of  SHIFT_dataset/discrete.
But this code always load discrete.
import os
import sys

import torch
from torch.utils.data import DataLoader

# Add the root directory of the project to the path. Remove the following two lines
# if you have installed shift_dev as a package.
# root_dir = os.path.abspath(os.path.join(__file__, os.pardir, os.pardir))
# sys.path.append(root_dir)

from shift_dev import SHIFTDataset
from shift_dev.types import Keys
from shift_dev.utils.backend import ZipBackend, FileBackend

def main():
    """Load the SHIFT dataset and print the tensor shape of the first batch."""

    dataset = SHIFTDataset(
        data_root="../SHIFT_dataset/",
        split="val",
        keys_to_load=[
            Keys.images,
            # Keys.intrinsics,
            Keys.boxes2d,
            Keys.boxes2d_classes,
            # Keys.boxes2d_track_ids,
            # Keys.segmentation_masks,
        ],
        views_to_load=["front"],
        backend=FileBackend(),  # also supports HDF5Backend(), FileBackend()
        verbose=True,
        framerate="images",
        shift_type="continuous/1x",
    )

    dataloader = DataLoader(
        dataset,
        batch_size=1,
        shuffle=False,
    )

    # Print the dataset size
    print(f"Total number of samples: {len(dataset)}.")

    # Print the tensor shape of the first batch.
    print('\n')
    for i, batch in enumerate(dataloader):
        print(f"Batch {i}:")
        for k, data in batch["front"].items():
            if isinstance(data, torch.Tensor):
                print(f"{k}: {data.shape}")
            else:
                print(f"{k}: {data}")
        break

    # Print the sample indices within a video.
    # The video indices groups frames based on their video sequences. They are useful for training on videos.
    print('\n')
    video_to_indices = dataset.video_to_indices
    for video, indices in video_to_indices.items():
        print(f"Video name: {video}")
        print(f"Sample indices within a video: {indices}")
        break

if __name__ == "__main__":
    main()

Hey @monster119120, thanks very much for pointing that out!
I confirmed that this is a bug in the example dataloader we provided. Now it is fixed in the recent PR. Tell me if there's any other problem remaining!


libpq 安装失败

Host Environment

OS: [Windows.]
Compiler: msvc 14.0

To Reproduce
Steps to reproduce the behavior:
./vcpkg install  libpq:x64-windows-static
Failure logs
用于 .NET Framework 的 Microsoft (R) 生成引擎版本 17.2.1+52cd2da31
版权所有(C) Microsoft Corporation。保留所有权利。
生成启动时间为 2022/8/15 21:35:06。
1>节点 1 上的项目“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpq.vcxproj”(默认目标)。
1>项目“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpq.vcxproj”(1)正在节点 1 上生成“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgcommon.vcxproj”(2) (默认目标)。
2>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(437,5): error MSB8013: 此项目不包含配置和平台组合 Release|x64。 [C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgcommon.vcxproj]
2>已完成生成项目“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgcommon.vcxproj”(默认目标)的操作 - 失败。
1>项目“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpq.vcxproj”(1)正在节点 2 上生成“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgport.vcxproj”(3) (默认目标)。
3>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(437,5): error MSB8013: 此项目不包含配置和平台组合 Release|x64。 [C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgport.vcxproj]
3>已完成生成项目“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgport.vcxproj”(默认目标)的操作 - 失败。
1>已完成生成项目“C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpq.vcxproj”(默认目标)的操作 - 失败。
生成失败。
   “C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpq.vcxproj”(默认目标) (1) ->
   “C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgcommon.vcxproj”(默认目标) (2) ->
   (PrepareForBuild 目标) ->
     C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(437,5): error MSB8013: 此项目不包含配置和平台组合 Release|x64。 [C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgcommon.vcxproj]

   “C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpq.vcxproj”(默认目标) (1) ->
   “C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgport.vcxproj”(默认目标) (3) ->
     C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(437,5): error MSB8013: 此项目不包含配置和平台组合 Release|x64。 [C:\apps\vcpkg\buildtrees\libpq\x64-windows-static-rel\libpgport.vcxproj]

0 个警告
2 个错误

Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

@horrordor Please install the English language pack for your VS and try again.

@horrordor  Has your problem been solved?

I have the same problem.

Seems to compile normally in Visual Studio 2019
从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送
发件人: Mengna @.>
发送时间: 2022年8月25日 14:27
收件人: @.>
抄送: @.>; @.>
主题: Re: [microsoft/vcpkg] libpq 安装失败 (Issue #26357)
@horrordorhttps://github.com/horrordor Has your problem been solved?
―
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vcpkg/issues/26357#issuecomment-1226829993, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATCFRFW6QNOEBA3P4P7P6WDV24G3FANCNFSM56SIVAEA.
You are receiving this because you were mentioned.Message ID: @.***>

But it doesn't compile properly in Visual Studio 2022
从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送
发件人: Mengna @.>
发送时间: 2022年8月25日 14:27
收件人: @.>
抄送: @.>; @.>
主题: Re: [microsoft/vcpkg] libpq 安装失败 (Issue #26357)
@horrordorhttps://github.com/horrordor Has your problem been solved?
―
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vcpkg/issues/26357#issuecomment-1226829993, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATCFRFW6QNOEBA3P4P7P6WDV24G3FANCNFSM56SIVAEA.
You are receiving this because you were mentioned.Message ID: @.***>

@horrordor Please install the English language pack for your VS and try again.

worked for me (windows 7 professional SP1 x64 simplified chinese / vs 2019 simplified chinese)

But it doesn't compile properly in Visual Studio 2022 从 Windows 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>发送 发件人: Mengna @.> 发送时间: 2022年8月25日 14:27 收件人: @.> 抄送: @.>; @.> 主题: Re: [microsoft/vcpkg] libpq 安装失败 (Issue #26357) @horrordorhttps://github.com/horrordor Has your problem been solved? ― Reply to this email directly, view it on GitHub<#26357 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATCFRFW6QNOEBA3P4P7P6WDV24G3FANCNFSM56SIVAEA.  I had same problem and I solved it by using the method above.

But it doesn't compile properly in Visual Studio 2022

I installed libpq with VS2022 17.1.0 pre 4.0, it installed sucessfully. Could you try the suggestion provided by isekainoshinshi?

从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送
发件人: @.>
发送时间: 2022年9月6日 14:34
收件人: @.>
抄送: @.>; @.>
主题: Re: [microsoft/vcpkg] libpq 安装失败 (Issue #26357)
This method has helped, thanks.
But it doesn't compile properly in Visual Studio 2022
I installed libpq with VS2022 17.1.0 pre 4.0, it installed sucessfully. Could you try the suggestion provided by isekainoshinshi?
―
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vcpkg/issues/26357#issuecomment-1237715910, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATCFRFWW72O6CNGHP47EOMTV43QV5ANCNFSM56SIVAEA.
You are receiving this because you were mentioned.Message ID: @.***>

This method has helped, thanks.
从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送
发件人: @.>
发送时间: 2022年9月6日 14:14
收件人: @.>
抄送: @.>; @.>
主题: Re: [microsoft/vcpkg] libpq 安装失败 (Issue #26357)
But it doesn't compile properly in Visual Studio 2022 从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送https://go.microsoft.com/fwlink/?LinkId=550986>发送 发件人: Mengna @.> 发送时间: 2022年8月25日 14:27 收件人: @.> 抄送: @.>; @.> 主题: Re: [microsoft/vcpkg] libpq 安装失败 (Issue #26357https://github.com/microsoft/vcpkg/issues/26357) @horrordorhttps://github.com/horrordorhttps://github.com/horrordor Has your problem been solved? D Reply to this email directly, view it on GitHub<#26357 (comment)https://github.com/microsoft/vcpkg/issues/26357#issuecomment-1226829993>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATCFRFW6QNOEBA3P4P7P6WDV24G3FANCNFSM56SIVAEA.  I had same problem and I solved it by using the method above.
―
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vcpkg/issues/26357#issuecomment-1237701795, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATCFRFSEPVSHY2KEY76TKVDV43OLTANCNFSM56SIVAEA.
You are receiving this because you were mentioned.Message ID: @.***>

This method has helped, thanks.
从 Windows 版邮件https://go.microsoft.com/fwlink/?LinkId=550986发送
发件人: @.>
发送时间: 2022年9月5日 17:04
收件人: @.>
抄送: @.>; @.>
主题: Re: [microsoft/vcpkg] libpq 安装失败 (Issue #26357)
@horrordorhttps://github.com/horrordor Please install the English language pack for your VS and try again.
worked for me (windows 7 professional SP1 x64 simplified chinese / vs 2019 simplified chinese)
―
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vcpkg/issues/26357#issuecomment-1236732187, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATCFRFVDYKJWKS2J6TOGPKTV4WZRTANCNFSM56SIVAEA.
You are receiving this because you were mentioned.Message ID: @.***>

It seems that installing the English language pack on Visual Studio 2022 solves the problem, hopefully the developers can fix the compilation problem with the Chinese or other language packs, thanks.

It seems that installing the English language pack on Visual Studio 2022 solves the problem, hopefully the developers can fix the compilation problem with the Chinese or other language packs, thanks.

It seems that installing the English language pack on Vision Studio 2022 solves this problem. But I hope the developers can fix the compilation problem with Chinese or other language packs in the future, thanks.


refactor(parser): split lexer into multiple files

This PR has a large diff, but it contains no substantive changes whatsoever. It purely breaks up the lexer into multiple smaller files.
I've been working quite intensively on the lexer over past few weeks, but still have been finding it hard to make sense of, due to most of the logic currently being contained in a single 1800-line file.
I feel that breaking it up into multiple files makes it much easier to navigate and understand.
An additional benefit is that many functions can have their visibility reduced to module scope, so sub-systems for e.g. lexing numbers have fewer exposed functions. This makes it clearer what the entry points are, and also makes it harder to make mistakes when working on the lexer.
There is one downside to this change. Previously lexer/mod.rs was laid out in same order as the JS spec. If you were trying to validate the lexer against the spec, this would make it easier. However, as OXC's parser is fairly mature at this point, and I imagine most spec-compliance issues have been flushed out by now, in my opinion this advantage is less compelling than it probably used to be. So in my view it's outweighed by the benefit of more readable code.
Reviewing this could be a bit of a battle due to the size of the diff. I do have further changes I'd like to make, but I've intentionally kept this PR as 100% just:

Moving code around.
Reducing visibility of functions to module/super scope where that's possible, without changing any functionality.

Aside from that, not even a single comment has changed.
If you're willing to trust me on that promise, I think it can be merged without poring through it line by line.

PS I also tried out moving the byte handlers into multiple files (e.g. move DOT handler into lexer/punctuation.rs). But I found that made it more confusing.
I propose instead as a follow-up to refactor the non-trivial byte handlers so they call Lexer methods. e.g. ESC byte handler (for \) would call a new function Lexer::read_backslash which would go in the identifier module.
I think that's a better solution than scattering the byte handlers across multiple files, while keeping byte_handlers.rs reasonably small and readable.

By the way, just to add some context, this is what all my recent PRs are building up to: https://codspeed.io/overlookmotel/oxc/branches/lexer-string4
(code a total mess at present, but the benchmark is real)

Btw to save some precious time for you, you may just leave the PR as "moving code around for easier navigation", I understand most the things you are doing, I'll ask for comment when it's confusing 😁

By the way, just to add some context, this is what all my recent PRs are building up to: https://codspeed.io/overlookmotel/oxc/branches/lexer-string4 (code a total mess at present, but the benchmark is real)

WTF???????????????????????????

Thanks for merging this, and for the note on PR descriptions.

1 file style or multifile styles are both fine as long as it's easy to navigate with lsp enabled IDE.

LSP does help, but personally I find it easier to grok if I can look at all the code for e.g. identifier lexing on one page, without having to jump all over the place.

WTF???????????????????????????

That's just the start! That gain is all down to speeding up finding the end of identifiers. Should be able to use same technique for finding end of strings and comments, for further speed-ups (though they won't be as dramatic - identifiers are particularly tricky/slow due to handling unicode characters).

On speaking of unicode and identifiers ... https://github.com/rusticstuff/simdutf8
Oh man we are just going deeper and deeper!

handling unicode characters

I own the crate, if you haven't noticed https://crates.io/crates/unicode-id-start, which means we can hack it even more!


validate max_allowed_packet on the client side

This is another take on #79, incorporating lessons learned while working on #81.

@brianmario thanks for checking this out! While I've got you -- what do you think of s/TRILOGY_MAX_PACKET_LEN/TRILOGY_MAX_FRAGMENT_LEN/ or something?
Per the discussion in #79 (and my repeated confusion in figuring this out 😅), while those chunks certainly meet a reasonable definition of a packet, I feel like we might be better off using a different term internally. From a quick search, I think even other instances within the codebase are already using "packet" to refer to the potentially-multi-part total message.


managedmac::activedirectory is missing doc for $computer param

The doc for the required $computer is missing from the puppet strings.
https://github.com/dayglojesus/managedmac/blob/master/manifests/activedirectory.pp

fixed in branch 0.6.0


Initialize student model's weights

Hello! Thank you for the great work!
In the paper, page 11, there is a sentence:
Distillation results.
Using the procedure of [9], we are able to compress VideoMAE V2-g into a mush smaller ViT-B. Specifically, we initialize the student model with the VideoMAE V2-B weights after the post-pre-training.

Can you explain this process? Where is this part in the code? How can I do such initialization?
My intention is to just use a ViT-Small model for finetuning by loading from a bigger pretrained model like vit_base or vit_huge.
I tried setting --model vit_small_patch16_224 while loading MODEL_PATH=vit_g_hybrid_pt_1200e.pth but it didn't load weights due to size mismatching.
MODEL_PATH='YOUR_PATH/model_zoo/vit_g_hybrid_pt_1200e.pth'  # Model for initializing parameters
...
--model vit_giant_patch14_224 \
...

Thank you!

We don't release the codes about distillation. The distillation following [9] is to align the output (logits) of the student model (vit-s/vit-b) with that of the teacher model (vit-g) during finetuning on the K710 dataset.
It looks like what you're trying to do is directly load the parameters from the big model onto the small model. Indeed some work has found it works (I'm not sure), but then you should manually remove some of the parameters from the large model so that the shape of the model weights is as large as the small model's.

So the method mentioned in the paper is about training student + teacher model in a knowledge distillation fashion instead of just initialize the student model with the teacher's weights.

Exactly~

I'm trying to train a model for Spatio-temporal action localization (custom dataset based on AVA). However, I only have limited GPU resources (4 GPUs). I was wondering if you might have any suggestions or advice on training a smaller model like ViT-small for VideoMAEv2.

If you only have 4 gpu's, you can try to refine the features extracted by videomae v2 with an adapter (freeze videomae v2), or use some special fine-tuning method like LoRA.


Release build optimizations in CMAKE_BUILD_TYPE not set correctly

    if (CMAKE_RELEASE_TYPE EQUAL "Release")
        set_property(TARGET craft APPEND_STRING PROPERTY LINK_FLAGS " -O3")

There is no CMAKE_RELEASE_TYPE, it should be CMAKE_BUILD_TYPE and use MATCHES instead of EQUAL at least from the example in http://cmake.3232098.n2.nabble.com/how-to-determine-debug-or-release-mode-td7371133.html.
Found when testing https://github.com/satoshinm/NetCraft/issues/165 since I changed to only preload in release builds (embed in debug builds) yet it wasn't being preloaded in wasm-build, but this issue may have been around for a while! Last committed 2 months ago in https://github.com/satoshinm/NetCraft/commit/e66027a8cd71b3514823fbe1bd78f9dee9d78efe

There is a different with optimizations, before:
-rw-r--r--  1 admin  staff   241K May 27 18:46 craft.data
-rw-r--r--  1 admin  staff   101K May 27 18:46 craft.html
-rw-r--r--  1 admin  staff    19K May 27 18:46 craft.html.mem
-rw-r--r--  1 admin  staff   624K May 27 18:46 craft.js

after:
-rw-r--r--  1 admin  staff   241K May 27 18:46 craft.data
-rw-r--r--  1 admin  staff   101K May 27 18:46 craft.html
-rw-r--r--  1 admin  staff    19K May 27 18:46 craft.html.mem
-rw-r--r--  1 admin  staff   590K May 27 18:46 craft.js


changelog parsing

Search first

[x] I searched and no similar issues were found

Description
Hello.
If changelog file contains few databaseChangeLog entries, only last part of changeset definitions are executed.
Example of changelog file below, only id 11 is executed, no errors or warning, parser ignores number of databaseChangeLog entries
databaseChangeLog:
- changeSet:
    id: 10
    author: a1
    changes:
    - sqlFile:
        dbms: 'postgresql'
        relativeToChangelogFile: false
        path: 1.sql
databaseChangeLog:
- changeSet:
    id: 11
    author: a2
    changes:
    - sqlFile:
        dbms: 'postgresql'
        relativeToChangelogFile: false
        path: 2.sql

Steps To Reproduce
If changelog file contains few databaseChangeLog entries, only last part of changeset definitions are executed.
Example of changelog file below, only id 11 is executed, no errors or warning, parser ignores number of databaseChangeLog entries
databaseChangeLog:
- changeSet:
    id: 10
    author: a1
    changes:
    - sqlFile:
        dbms: 'postgresql'
        relativeToChangelogFile: false
        path: 1.sql
databaseChangeLog:
- changeSet:
    id: 11
    author: a2
    changes:
    - sqlFile:
        dbms: 'postgresql'
        relativeToChangelogFile: false
        path: 2.sql

Expected/Desired Behavior
The should be error while parsing changelog files with such syntax errors.
Liquibase Version
4.20
Database Vendor & Version
No response
Liquibase Integration
CLI
Liquibase Extensions
No response
OS and/or Infrastructure Type/Provider
Linux
Additional Context
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR (Thank you!)

Hi @morfozoid, thank you for reaching out to us.
I can confirm that this is still an issue with Liquibase version 4.30.0. Different changelog formats behave differently:

yml executes only the changesets after the second databaseChangeLog tag
xml does not compile and does not execute any changesets
sql ignores the second --liquibase formatted sql tag, as it's taken as a comment
json executes only the changesets before the second databaseChangeLog tag

Would you be willing to submit a PR to propose a fix for this? Our development team will be available to answer any questions or provide guidance if needed.
Thank you,
Tatiana


Updated Interaction with Editable Code

This commit adds two key things:

Adds the ability to pass buttons and/or other resources into the Widget header
Moves EditableCode from core into the app specific components and moved Widget into EditableCode
Updated EditableCode to toggle by button in widget header instead of "click to edit"

Viewing Mode

Editing Mode


alpha numeric Checking Code

How can i get capital alphanumeric code instead of numbers only?

This entire method is based on numbers, if you want letters, you need a completely different process.

I guess @willpower232 already answered the question. The 6-digit-code is always just numbers, that's how it's defined in the RFC6238


Notifications

I saw your code comments about the notifications not working yet and thought I'd share another project I came across through nuget that has a working implementation you might be able to reference.
https://github.com/artumino/SteamVR_HUDCenter

Ooo, that's helpful thanks. Unfortunately they don't seem to have provided a sample of actually using the bitmap, but knowing that a blank one can be used is mighty helpful in itself.
Might be able to get these damn things working at some point, I just wish I knew what all the options meant.

Ya thats true. Well for hte time being, I just threw the basic (non-bitmap) notification into a util class so I can throw a message at the screen when I need to.
I haven't looked into your implementation yet but in a simple js callback, I can just call my send notification util method and get something on screen with the message coming in from the JS call.

Added pull #6 to implement this default empty bitmap in JsInterop.Notification.js


No way to get number of replies for top-level threads

For example, the Discussion message has a thread_id and replies to the discussion have num_replies themselves, but there's no way to the the number of replies on the base thread.

My solution is pretty ugly as it entails a whole additional database query. However, this is forced, since the current querying uses limit(page_size + 1), and I did not want to make extraneous changes in the pull request corresponding to this issue.
Some notes on threads in general:
Had a call with Aapeli, and we agreed that threads.proto and threads.py need some changes.
threads.proto's API does not match the thread-comment-reply hierarchy described in the comments; it currently functions like Reddit comments - infinitely recursive. This can also be seen in the misleading API names and comments: Reply is used for both comments and replies, and thread_id can be the ID of both a thread or a comment.
Furthermore, the usage of limit(page_size + 1) to detect additional content is not great. It would be better to remove this limit, compare the raw size of the response with page_size, and also use the raw size to solve this issue.
Even better performance-wise would be adding a field to the Threads entity which stores the number of total number of responses to each thread, though Aapeli noted that cache coherency could be annoying to deal with. Nonetheless, if performance becomes a problem in the future, this could be a useful approach.


<EMAIL_ADDRESS>hash check failed

Checking hash of GPU-Z.2.41.0.exe ... ERROR Hash check failed!
App:         extras/gpu-z
URL:         http://us2-dl.techpowerup.com/files/GPU-Z.2.41.0.exe#/GPU-Z.exe
First bytes: 4D 5A 90 00 03 00 00 00
Expected:    2e7ee714b6e356c2688bd37f57d4fe44
Actual:      971c214546ca19a11e8ed072815d1ef4

Same here, and with the exact same expected and actual hashes.


THIS PAGE MUST BE REMOVED IMMEDIATELY

There is no longer a team at Azure Dedicated to support Oracle workloads on Azure BareMetal Infrastructure (BMI).  They have either left the company, retired, or been re-assigned.  As a result, it is misleading and confusing to customers for this documentation to continue to be exposed publicly, so all mention of Oracle on BMI must be removed immediately.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 132e70d1-84fb-4a31-f481-1402482036a5
Version Independent ID: 5f1e5964-4425-9f6c-0935-98c5e2716ae3
Content: Ethernet configuration of BareMetal for Oracle - Azure Baremetal Infrastructure
Content Source: articles/baremetal-infrastructure/workloads/oracle/oracle-baremetal-ethernet.md
Service: baremetal-infrastructure
Sub-service: baremetal-oracle
GitHub Login: @dineshga
Microsoft Alias: dineshga

@tigormanmsft Thank you for reporting this. We will work on this internally with the team and update.

@tigormanmsft Thanks for pointing this out.
We are working internally to get these docs removed.
Closing all the issues now.
We can connect internally if there are any further questions on this.

@VikasPullagura-MSFT - please hold off on removing these pages.  Kalyan Kaki of the Azure Dedicated product group has stepped up to take responsibility for the pages, so please do nothing without his authorization.  Thank you!


Program doesn't terminate even after removing subscription

Bug report
Describe the bug
I would expect the program to terminate if there are no open realtime subscriptions.
To Reproduce
const { createClient } = require("@supabase/supabase-js");
const supabase = createClient(process.env.SUPABASE_URL, process.env.supabaseKey);

const res = supabase
  .from("table")
  .on("*", (payload) => {
    console.log("Change received!", payload);
  })
  .subscribe();

setTimeout(() => {
  console.log(1), supabase.removeSubscription(res);
}, 1000);

Expected behavior
I would expect that running this script would exit after the subscription has been removed. Looks like something is still pending in the event loop which prevents the program from exiting?
Additional context
Add any other context about the problem here.

I can replicate this, but I don't know how to resolve it - looking at the websocket module they listen to the onclose event then close everything:
https://github.com/theturtle32/WebSocket-Node/blob/c91a6cb8f0cf896edf0d2d49faa0c9e0a9985172/test/unit/w3cwebsocket.js#L36
    ws.onclose = function(event) {
      t.equal(++counter, 3, 'onclose should be called last');
      echoServer.kill();
      t.end();
    };

I am updating the library now, and this is how it would be handled:
const sub = supabase
  .from('todos')
  .on('*', (payload) => {
    console.log('Change received!', payload)
  })
  .subscribe()

setTimeout(async () => {
  let { error, data } = await supabase.removeSubscription(sub)
  if (!error && data.openSubscriptions == 0) process.exit()
}, 1000)

If anyone wants to dig into the websocket module to see if there is a better approach that would be great, otherwise I think we will have to use this for now

@kiwicopple https://github.com/supabase/realtime-js/pull/99 fixes the root cause of this issue and removes the need to call process.exit(). Calling disconnect() on the subscription/client will remove the open handles, and node will exit on its own.

@kiwicopple @inian i think the main issue here, and was surfaced in @bermi's PR, is the usage of setInterval for the heartbeatTimer while Phoenix's phoenix.js, used setTimeout even before the big refactor a few months ago (see: https://github.com/phoenixframework/phoenix/pull/4337/files#diff-67dd284a7a45ebff4d5bc22164d4dd84d64171872f1d508c56c3fcb74f5dd25aL1059).
The primary fix was by clearing the existing interval (see: https://github.com/supabase/realtime-js/pull/99/files#diff-f5a6b192eb9d6c05f61c33d8629b814ad893fbfb729bfa7af9b226e5c87d2e85R154).

I think this issue was automatically closed but if this issue resurfaces then we can reopen.


Show review comment box only on a pull request page

Fixes #4625 as per @lunny 's https://github.com/go-gitea/gitea/issues/4625#issuecomment-410907159

Codecov Report

Merging #4636 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4636   +/-   ##
=======================================
  Coverage   20.81%   20.81%
=======================================
  Files         158      158
  Lines       31917    31917
=======================================
  Hits         6642     6642
  Misses      24297    24297
  Partials      978      978

Continue to review full report at Codecov.

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

LGTM


BootstrapTable doesn't re-render after setState when remote/onTableChange is used

I'm trying to update data using a server call with axios but the table doesn't update when setState is used inside the onTableChange handler even with basic data. Table data always stays at default assigned state. I got the code from Remote All sample. I'm trying to use this component for first time.
import React, { Component } from "react";
import PropTypes from "prop-types";

import axios from "axios";

import BootstrapTable from "react-bootstrap-table-next";
import paginationFactory from "react-bootstrap-table2-paginator";
import filterFactory, { textFilter } from "react-bootstrap-table2-filter";

const products = [
    { id: 1, name: "test 1", currentVersion: 123 },
    { id: 2, name: "test 2", currentVersion: 234 },
    { id: 3, name: "test 3", currentVersion: 345 }
];

const columns = [
    {
        dataField: "id",
        text: "ID",
        sort: true,
        headerClasses: "text-center",
        classes: "text-center"
    },
    {
        dataField: "name",
        text: "Name",
        filter: textFilter(),
        sort: true
    },
    {
        dataField: "currentVersion",
        text: "Current Ver.",
        filter: textFilter(),
        sort: true
    }
];

const defaultSorted = [{
    dataField: "id",
    order: "asc"
}];

const RemoteAll = ({ data, page, sizePerPage, onTableChange, totalSize }) => (
    <BootstrapTable
        remote
        striped
        hover
        condensed
        bootstrap4

        keyField="id"
        data={data}
        columns={columns}
        defaultSorted={defaultSorted}
        filter={filterFactory()}
        pagination={paginationFactory({ page, sizePerPage, totalSize })}
        onTableChange={onTableChange}
    />
);

RemoteAll.propTypes = {
    data: PropTypes.array.isRequired,
    page: PropTypes.number.isRequired,
    totalSize: PropTypes.number.isRequired,
    sizePerPage: PropTypes.number.isRequired,
    onTableChange: PropTypes.func.isRequired
};

class TableContainer extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            page: 1,
            data: [],
            totalSize: 1,
            sizePerPage: 10,
            loading: false
        };
    }

    handleTableChange = (type, { page, sizePerPage, filters, sortField, sortOrder }) => {
        console.log("handleTableChange", this.state.data);

        //const params = {
        //    page,
        //    sizePerPage,
        //    filters,
        //    sortField,
        //    sortOrder
        //};

        //axios.get("http://localhost:52632/api/database", { params })
        //    .then(response => {
        //        console.log("handleTableChange", response.data);

        //        this.setState(() => ({
        //            data: response.data,
        //            totalSize: response.data.length
        //        }));
        //    });

        this.setState(() => ({
            data: products,
            totalSize: products.length
        }))
    }

    render() {
        const { data, sizePerPage, page, totalSize } = this.state;

        return (
            <RemoteAll
                data={data}
                page={page}
                sizePerPage={sizePerPage}
                totalSize={totalSize}
                onTableChange={this.handleTableChange}
            />
        );
    }
}

export default class extends Component {
    render() {
        return (
            <TableContainer />
        );
    }
}

Same issue.  If remove filter from BootstrapTable parameters it works.
"react-bootstrap-table-next": "^2.2.0",
"react-bootstrap-table2-editor": "^1.2.2",
"react-bootstrap-table2-filter": "^1.1.6",
"react-bootstrap-table2-overlay": "^1.0.0",
"react-bootstrap-table2-paginator": "^2.0.4"

I think I found the problem, the data is assigned in constructor and does not change in remote mode on.
because filtering methods are not called and data is returned with initial state.
here https://github.com/react-bootstrap-table/react-bootstrap-table2/blob/master/packages/react-bootstrap-table2-filter/src/context.js#L30

as fast fix maybe changing this method at filter context
    componentWillReceiveProps(nextProps) {
      if (!isRemoteFiltering() && !_.isEqual(nextProps.data, this.data)) {
        this.doFilter(nextProps, undefined, this.isEmitDataChange);
      } else {
        this.data = nextProps.data;
      }
    }

I've been testing whether it is viable to start migrating from react-bootstrap-table to react-bootstrap-table-next, and this issue is blocking me at the moment.
The suggested fix seems to work.

This issue might be similar with https://github.com/react-bootstrap-table/react-bootstrap-table2/issues/849
I will try to fix it in this weekend.  Sorry for inconvenience.

Fixed https://react-bootstrap-table.github.io/react-bootstrap-table2/blog/2019/03/17/version-bump.html
Please upgrade to newest version

tag me if the issue still remain, thanks

@AllenFang
Whenever a state change is triggered the react bootstrap table next throws the following error (only when pagination is enabled):

Uncaught TypeError: Cannot read property 'emit' of undefined

It is thrown in the following function:
this.isRemotePagination = function () {
   var e = {};
   _this2.remoteEmitter.emit('isRemotePagination', e);
   return e.result;
 };
};

Here is my code: https://pastebin.com/TLWEh1Ay

hi @hasangursoy ,
were you able to resolve this issue ? I am having the problem , whenever I change the state of data, the table is not rendered, always shows same data at initial :/

Hi @jamesdamild,
Were you able to resolve it? I am facing the exact same problem... I make changes to the table data, I change the state of the data and the table shows again the initial data (although having done and saved some changes with cellEdit). I am trying to update the state of the data inside afterSaveCell(), but still the same occurs :(
thanks!

still persists

If anybody still cares I figured out the solution.
It is most likely due to wrong useage of the Pagination combined with the filter.
Here is an example of how to use pagination properly:
https://react-bootstrap-table.github.io/react-bootstrap-table2/storybook/index.html?selectedKind=Pagination&selectedStory=Custom Pagination with Filter&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Factions%2Factions-panel

@AllenFang ToolkitProvider(default search& filter ) and Pagination not working together when I add remote for pagination.

@AllenFang ToolkitProvider(default search& filter ) and Pagination not working together when I add remote for pagination.

I am also facing the same issue currently. If anybody knows please update here

still facing the same issue with these packages
import BootstrapTable from 'react-bootstrap-table-next'; import ToolkitProvider from 'react-bootstrap-table2-toolkit'; import paginationFactory from "react-bootstrap-table2-paginator";

same issue....


How to add custom parser API URL

Looking at the documentation, to parse a pdf one has to pass a parser url which is basically an api that does all the magic (chunks, sections, paragraphs etc.).
I was wondering where this api is hosted and if ever we can self host this api to use in a local environment.
In the doc here it is written the following :  Use customer url for your private instance here

Hello @mohamedalani. We just launched private hosting option on Azure Marketplace. Please try this out and let us know if you have any questions.

Closing the issue as it has been answered.


merge #3274 missed the pulse directories

When I build the latest source including #3274, and with "-DWITH_PULSE=ON" I get errors like "undefined reference to `WLog_Get'".
It seems this fix missed some directories.

@hendwolt could you please add more information like:

complete cmake options
where exactly do you get the error?

This is my cmake configuration:
cmake
-DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix}
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib}
-DCMAKE_SKIP_INSTALL_RPATH=ON
-DWITH_CUPS=ON
-DWITH_CLIENT=ON
-DWITH_PCSC=ON
-DWITH_ALSA=ON
-DWITH_PULSE=ON
-DWITH_DIRECTFB=OFF
-DWITH_FFMPEG=OFF
-DWITH_JPEG=ON
-DWITH_GSM=ON
-DWITH_GSTREAMER_1_0=ON
-DWITH_IPP=OFF
-DWITH_OPENSSL=ON
-DWITH_CHANNELS=ON
-DWITH_X11=ON
-DWITH_XCURSOR=ON
-DWITH_XEXT=ON
-DWITH_XKBFILE=ON
-DWITH_XI=ON
-DWITH_XINERAMA=ON
-DWITH_XRENDER=ON
-DWITH_XV=ON
-DWITH_ZLIB=ON
-DSTATIC_CHANNELS=OFF
-DWITH_SERVER=OFF
-DWITH_SSE2=ON
-DWITH_DEBUG_SCARD=OFF
-DWITH_SMARTCARD_INSPECT=ON
-DWITH_WAYLAND=ON
-DWITH_LIBSYSTEMD=ON
-DCMAKE_NO_BUILTIN_CHRPATH=ON
.
For the errors see the attached file.
free_rdp_pulse_undef_ref_errors.txt
If I set WITH_PULSE=OFF I get no errors.

@hendwolt with you cmake command line I can reproduce the problem. Pulse wasn't tested with -DSTATIC_CHANNELS=OFF (as our ci usually only builds with static channels). I'll prepare a fix.

@hendwolt fixed by @bmiklautz via #3287


Switching CAs

Dehydrated doesn't record which CA an account was registered with, and if you switch CAs it refuses to let you re-register:
# apt-get install dehydrated
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  dehydrated
0 upgraded, 1 newly installed, 0 to remove and 30 not upgraded.
Need to get 0 B/81.0 kB of archives.
After this operation, 193 kB of additional disk space will be used.
Selecting previously unselected package dehydrated.
(Reading database ... 107403 files and directories currently installed.)
Preparing to unpack .../dehydrated_0.6.5-1_all.deb ...
Unpacking dehydrated (0.6.5-1) ...
Setting up dehydrated (0.6.5-1) ...
Processing triggers for man-db (2.9.1-1) ...

# cat /etc/dehydrated/config
#############################################################
# This is the main config file for dehydrated               #
#                                                           #
# This is the default configuration for the Debian package. #
# To see a more comprehensive example, see                  #
# /usr/share/doc/dehydrated/examples/config                 #
#                                                           #
# For details please read:                                  #
# /usr/share/doc/dehydrated/README.Debian                   #
#############################################################

CONFIG_D=/etc/dehydrated/conf.d
BASEDIR=/var/lib/dehydrated
WELLKNOWN="${BASEDIR}/acme-challenges"
DOMAINS_TXT="/etc/dehydrated/domains.txt"

# echo 'CA="https://acme-staging-v02.api.letsencrypt.org/directory"' > /etc/dehydrated/conf.d/staging
# dehydrated --register --accept-terms
# INFO: Using main config file /etc/dehydrated/config

+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account ID...
+ Done!

# rm /etc/dehydrated/conf.d/staging
# dehydrated --register --accept-terms
# INFO: Using main config file /etc/dehydrated/config
+ Account already registered!

Would this be better handled by detecting the situation and warning the user that the old account needs to be manually deleted, or keeping a subdir of accounts, sorted by CA?

Dehydrated absolutely does record which CA an account was registered with. Specifically, it hashes (using base64) the CA URL and places the account files under that directory.
I've seen this in action on my own systems during migration from LE's ACMEv1 endpoint to the ACMEv2 endpoint. The same account worked during that migration, which dehydrated handled by creating a new account directory as a symlink to the old account directory, so the same account files could be reused. This, however, is special logic added for a migration, and requires setting the OLDCA configuration value--if you're just changing the CA value, a new directory will be added for the new CA's account files.
I suspect your issue is caused by an incorrect config file. Specifically, if I read the dehydrated code from the 0.6.5 release, I can see that it's only checking for files in CONFIG_D which match the pattern *.sh. Your staging file doesn't match that pattern.

Oh! You're totally right. Thank you for the clarification. I'm not that concerned about migrating, I'm happy to just throw out the old keys and use fresh ones. .sh was the missing piece. Oops!
# tree /etc/dehydrated
/etc/dehydrated
├── conf.d
├── config
└── domains.txt

1 directory, 2 files
# echo 'CA="https://acme-staging-v02.api.letsencrypt.org/directory"' > /etc/dehydrated/conf.d/staging.sh
# dehydrated --register --accept-terms
# INFO: Using main config file /etc/dehydrated/config
# INFO: Using additional config file /etc/dehydrated/conf.d/staging.sh
+ Generating account key...

+ Registering account key with ACME server...
+ Fetching account ID...
+ Done!
# rm /etc/dehydrated/conf.d/staging.sh
# dehydrated --register --accept-terms
# INFO: Using main config file /etc/dehydrated/config
+ Generating account key...
+ Registering account key with ACME server...
+ Fetching account ID...
+ Done!
# ls -l /var/lib/dehydrated/accounts/
total 8
drwx------ 2 root root 4096 Apr 20 12:50 aHR0cHM6Ly9hY21lLXN0YWdpbmctdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvZGlyZWN0b3J5Cg
drwx------ 2 root root 4096 Apr 20 12:50 aHR0cHM6Ly9hY21lLXYwMi5hcGkubGV0c2VuY3J5cHQub3JnL2RpcmVjdG9yeQo


Jitpack build failing for the latest master

The Jitpack.io build seems to fail for the master branch since this commit: 2feebdb28e. This does seem not apply to the release versions as I can use v1.0.1 without problems. Seems like there is something broken with the demo application:

A problem occurred configuring project ':demo-android'.

By the way: There are some Gradle warnings inside the build log:

The JavaCompile.setDependencyCacheDir() method has been deprecated and is scheduled to be removed in Gradle 4.0.
The TaskInputs.source(Object) method has been deprecated and is scheduled to be removed in Gradle 4.0. Please use TaskInputs.file(Object).skipWhenEmpty() instead.

Current snapshot seems to build fine (the URL is what master-SNAPSHOT was resolved to):
https://jitpack.io/com/github/stefanhaustein/nativehtml/master-v1.0.2-g7f1c887-1/build.log
Perhaps some kind of transient jitpack issue? Sometimes building for the first time on jitpack seems to take quite a while.
Concerning the warnings: I don't think I use the options causing this directly, perhaps they are coming from a plugin that needs corresponding updates?


Empty recognizer support in crosstrained recognizer set

Fixes #2438
Description

Added empty recognizer support in crosstrained recognizer set.
Specific Changes

If recognizers are empty, return none intent in cross trained recognizer set.

Testing

Added corresponding test.

Pull Request Test Coverage Report for Build 157597

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
9 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.06%) to 82.784%

Files with Coverage Reduction
New Missed Lines
%

libraries/botframework-streaming/src/webSocket/webSocketTransport.ts
2
80.65%

libraries/botframework-streaming/src/webSocket/webSocketServer.ts
7
66.67%

Totals

Change from base Build 157202:
-0.06%

Covered Lines:
15138

Relevant Lines:
17390

💛  - Coveralls


Hi!

Hi there! I'm an aspiring data practitioner and have found this repository very useful.
As a suggestion (not sure how to do it myself - yet!), it would be extremely helpful if 'congress-legislators/legislators-current' and 'congress-legislators/legislators-historical' had 'terms/current/...' and 'terms/most-recent/...' groups in their yaml structures in order to smooth the logic for gathering current/most recent term information from the files.

Please head over to https://github.com/unitedstates/congress-legislators. Thanks. :)


Add name and namespace to SdkArrayType

Fixes https://github.com/Azure/typespec-azure/issues/999

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@azure-tools/typespec-client-generator-core

Show changes

You can try these changes at https://cadlplayground.z22.web.core.windows.net/typespec-azure/prs/1000/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/typespec-azure/prs/1000/


expose data on the client side via some api

expose window.__REACT_ENGINE__ in the client side
verify if it can be called before boot

#4


Tabs misses top-margin

Hey!
After installer apex-ui-slim and no-title-bar my tab doesn't have any top-margin.
Example:

How to fix that?

You can fix that with
.tab-bar .tab {
  margin-top: 10px;
}

Thanks!


Change import order for legacy dynamic plugin to load

Description
Please explain the changes you made here.
Which issue(s) does this PR fix
Without this PR, an attempt to load the orchestrator-backend dynamic plugin fails with:
backend:start: 2023-11-20T10:38:41.167Z backstage info Adding plugin "orchestrator" to backend...
backend:start: Backend failed to start up TypeError: Cannot read properties of undefined (reading 'fromConfig')
backend:start:     at createPlugin (/home/masayag/work/janus-idp/backstage-showcase/dynamic-plugins-root/orchestrator-backend/dist/index.cjs.js:30:51)
backend:start:     at addPlugin (webpack-internal:///./src/index.ts:118:39)
backend:start:     at main (webpack-internal:///./src/index.ts:252:23)
app:start: webpack compiled successfully

with this PR the plugin is loaded successfully:
backend:start: 2023-11-20T10:40:12.382Z backstage info Adding plugin "orchestrator" to backend...
backend:start: 2023-11-20T10:40:12.385Z orchestrator warn No GitHub token found. Some features may not work as expected. type=plugin
backend:start: 2023-11-20T10:40:12.391Z orchestrator info Reloading workflows from Git type=plugin
backend:start: 2023-11-20T10:40:12.392Z orchestrator info Path /tmp/orchestrator/repository already exists. Skipping clone. type=plugin
backend:start: 2023-11-20T10:40:12.392Z orchestrator info Checking SonataFlow health at: http://localhost:8899/q/health type=plugin
backend:start: 2023-11-20T10:40:12.470Z orchestrator info SonataFlow is up and running type=plugin
backend:start: 2023-11-20T10:40:12.474Z backstage info Adding router "api" to backend...
backend:start: 2023-11-20T10:40:12.475Z backstage info Adding router "healthcheck" to backend...
backend:start: 2023-11-20T10:40:12.482Z backstage info Adding router "metrics" to backend...
backend:start: 2023-11-20T10:40:12.494Z backstage info Adding router "app" to backend...
backend:start: 2023-11-20T10:40:12.502Z backstage info Listening on :7007

Fixes #?

PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer
Used the following script to build orchestrator plugins and add them to showcase.

@christophe-f fyi

I don't see why the import order would fix the error here.
Fixing it this way worries me TBF.
cc @tumido

I have to fully agree with @davidfestal here.

What is the orchestrator dynamic backend plugin? How come this is the only plugin causing such issues? Would you kind to provide us with an example, a reproducer?

Please explain how this PR is fixing the issue. What is the mechanism? Because the symbol order in named imports doesn't matter. Never did. The whole file is always read and executed no matter which symbols you wish to import. That's simply how JavaScript works. You can't get a file partial with "just the firstly named symbol", then another partial with the "secondly named symbol". You don't read files like that...

I suspect a cache or hoisting issue on your end.

Thank you both for pointing out an issue with the plugin. So it appears on the plugin side, that the HostDiscovery was imported from the @backstage/backend-common instead of @backstage/backend-app-api which somehow reordering the import made it somehow work.
Fixing this issue on the plugin side. sorry for the noise.


HARVESTER: apply addon changes

Summary
PR Checklist

~Is this a multi-tenancy feature/bug?~

[ ] ~Yes, the relevant RBAC changes are at:~

~Do we need to backport changes to the old Rancher UI, such as RKE1?~

[ ] ~Yes, the relevant PR is at:~

~Are backend engineers aware of UI changes?~

[ ] ~Yes, the backend owner is:~

Occurred changes and/or fixed issues

We want to improve the exhibitions of addon's status.

https://github.com/harvester/harvester/issues/4067
https://github.com/harvester/harvester/issues/4108

Technical notes summary

Areas or cases that should be tested

Swtich enabling/disabling status of addon quickly should be failed and you should see the error message on the top-right corner.
When enabling/disabling/updating if you edit the configurations of addon and then save, save should be failed and the error message should be also displayed.

Areas which could experience regressions

Screenshot/Video

@mergify backport release-harvester-v1.2


Update babylon.js version to pick up slider 3d controls

Update babylon.js version

will pick up these changes in https://github.com/BabylonJS/BabylonNative/pull/743


Documentation not linking to pull requests properly

The :pull:`263` syntax doesn't actually work
https://github.com/xgcm/xgcm/blob/828a53a27e378d1201dabfe587c46f001b76736b/doc/whats-new.rst#L15-L18
https://xgcm.readthedocs.io/en/latest/whats-new.html

Need to fix here: https://github.com/xgcm/xgcm/blob/828a53a27e378d1201dabfe587c46f001b76736b/doc/conf.py#L69
to look like here: https://github.com/xarray-contrib/cf-xarray/blob/5c8844ca6c443f3d5a90c0ce2294cf4d162f4c53/doc/conf.py#L53-L56

Ah thanks for noticing this. Ill fix.


Set Application Name parameter in Db2

Is your feature request related to a problem? Please describe.
DBeaver does not sets APPLICATION_NAME parameter and it is so displayed "db2jcc_application" as it is displayed for all applications that do not set application name. In many tools it is difficult to distinguish which of database connection is DBeaver and which one is from other applications that also do not have set the name.
Describe the solution you'd like
Db2 database administrator frequently checks for applications that causes trouble on database with command:
db2 list applications
and DBeaver is in Application Name listed as "db2jcc_application", which is default name if no name is set. See "db2jcc_applica" bellow:
Auth Id  Application    Appl.      Application Id                    DB
         Name           Handle                                       Name
-------- -------------- ---------- --------------------------------- -------
U1033704 db2jcc_applica 2019       <IP_ADDRESS>.64789.220920100224   DBTEST
U3470252 DataGrip       2020       <IP_ADDRESS>.66823.22092013233  DBTEST

But as it can be seen DataGrip database tool properly sets the Application Name (last line).
If I dig it deeper into Db2 monitoring:
SELECT APPLICATION_NAME, CLIENT_APPLNAME FROM TABLE(MON_GET_CONNECTION(NULL, -2)) WHERE CLIENT_APPLNAME IS NOT NULL ORDER BY CLIENT_APPLNAME
It displays:
APPLICATION_NAME    CLIENT_APPLNAME
------------------- ---------------------
db2jcc_application  DBeaver 22.2.0 - Main
DataGrip            DataGrip 2022.2.4

As it seen DBeaver correctly sets CLIENT_APPLNAME info.
But "Application Name" is used in many tools as the only column displayed and there is no CLIENT_APPLNAME available. It is so impossible to see which of database connections are from DBeaver.
My suggestion is: In DBeaver set APPLICATION_NAME to "DBeaver" without program version, just like DataGrip does.
Data in CLIENT_APPLNAME is just fine and should not be changed.
Bellow is official IBM site how to set APPLICATION_NAME:
https://www.ibm.com/support/pages/name-db2-jdbc-application-appears-db2jccapplication-how-change-it

Hello @igor2x
Can you specify, please, what DB2 version you use?

Also, please check this setting. It must be disabled.
For now, I can't reproduce your issue for DB2 Luw

I'm not sure that we can do it...
Because we do it already here:
https://github.com/dbeaver/dbeaver/blob/devel/plugins/org.jkiss.dbeaver.ext.db2/src/org/jkiss/dbeaver/ext/db2/model/DB2DataSource.java#L272
And in the documentation for the Connection class, I can see:

     *
ApplicationName  -       The name of the application currently utilizing
     *                                                      the connection

So it can be the strange behavior from the driver's class, I'm not sure.

I am using the latest Db2 version v<IP_ADDRESS> with the latest manually added JDBC Driver 4.31.10 and the latest available DBeaver CE 22.2.0.
It has to be some way to add Application Name, because DataGrip does it successfully.

I am not a programmer, but I searched the web and all documentation I have found point to setClientProgramName. Are you sure setClientInfo pointed from your Github link is the same property? Maybe setClientInfo is the column CLIENT_APPLNAME like I have described in my initial post, that is correctly set. But maybe beside that it should also setClientProgramName be set.
Sources:

Is there a way to set APPL_NAME on the DB2 Connection externally instead of "db2jcc_application"
Common IBM Data Server Driver for JDBC and SQLJ properties for Db2 servers
How can I get my client application name to show up on zos from java?
The name of a DB2 JDBC application appears as "db2jcc_application". How to change it?

I have found another tool that properly sets APPLICATION_NAME. The name of tool is "SQL Workbench/J" with and this tool is written in Java and source code is also available to download: https://www.sql-workbench.eu/dev-download.html
Tool uses "Apache License, Version 2.0" which is the same as DBeaver license, so no worries for braking some license checking into the code.

I investigated this problem in deep. Solution is pretty simple, it is just a pure JDBC property setting.

Before starting check for application name.
 SELECT APPLICATION_NAME, CLIENT_APPLNAME FROM TABLE(MON_GET_CONNECTION(NULL, -2)) WHERE CLIENT_APPLNAME IS NOT NULL ORDER BY CLIENT_APPLNAME

Output of above command is (first column is the setting I would like it to be changed):

APPLICATION_NAME	CLIENT_APPLNAME
db2jcc_application	DBeaver 22.3.1 - Main

Menu Database | Driver Manager | DB2 | DB2 LUW.
Edit button.
Driver properties.
Right click on empty space and "Add new property".
Type in "clientProgramName" as User property and "DBeaver" as Value.
Close down all dialogs by OK and Close buttons.
If connection to database is opened, disconnect and establish new connection.
Re-execute SQL from step 1.
Output is:

APPLICATION_NAME	CLIENT_APPLNAME
DBeaver                 DBeaver 22.3.1 - Main

and that is solution I am looking after.
It would be nice this JDBC setting to be set by default in DBeaver. This would help me a lot, so I don't need to change this setting manually in DBeaver on all of my coworker computers all over again when program is reinstalled on new computer.
Regards


How to make a MATE target

Hello everyone.
I am wanting to know how to go about setting up a MATE target and make a pull request.
I use a dual boot setup, and I just do not have any room on my SSD for either OS. If I could do a MATE setup in crouton, I might go back to crouton and run it off my SD card.

You could take a look at some of the built-in desktop targets, gnome-desktop for instance, might be a good start.
You can 'build' it on your Chromebook by extracting crouton using the '-x' option. Once you have your target(s) scripted, use the '-T' option to install it.

Ok, and how would I go about doing a pull request?

Like so: Creating a pull request.


Solve type declared in parent of parent of anonymous class

The AnonymousClassDeclarationContext only tries to solve a type inside its own ancestors but not on all ancestors

We merged a PR for this one.


Fixed a bug in detectindent.

Fixed a bug where if detectindent is paired with another plugin that hooks the event, it'll overwrite the other plugin's functions.
I tried this by moving autosave.lua into master's plugin folder, and it didn't actually work, due to the bug. Changed it to always reference an internal function, so that it doesn't mess with the global object's function each time. This fixed the issue.

Thank you for looking at that. I noticed a problem yesterday but didn't had time to go further in the investigation.
I would prefer a different solution if you don't mind. It should be modeled like this:

Doc.text_modify_hooks = {}
function Doc.add_text_modify_hook(fn)
  table.insert(Doc.text_modify_hooks, fn)
end

function Doc:on_text_modify(filename)
  for _, hook in ipairs(Doc.text_modify_hooks) do
    hook(filename)
  end
end

so plugins should not modify Doc.on_text_modify, this can be a source of contention. Instead they should register an hook using Doc:add_text_modify_hook`.
I think this kind of solution is more robust and simple as it avoid the override-that-method contention.

Just to completeness, I already used this kind of approach in core/init.lua for the documents' save hooks.
If we introduce the change I suggest above we will probably need to increate the plugin version number.

Well, I thought that the contention about the Doc.on_text_change method happens because, when the detectindent module is loaded it captures the Doc.on_text_change using a local variable but it does not override it. The override only happens later when needed.
So the problem is that when the autosave plugin is loaded it captures the original Doc.on_text_change method not the version overloaded by detectindent so they interfere with each other.
In order to avoid the problem each plugin should perform, on loading:

capture of the method to override in a local variable
override it with its replacement

So, it was detectindent that wasn't respecting these rules and your fix it is correct after all. It just took me some time to understand!
You may forget about my initial request, I am accepting your PR as-it-is. Thank you!


Stub ordered matching behaves different than mock matching

Consider the following example:
import org.scalatest.FunSuite
import org.scalamock.scalatest.MockFactory

class MatcherTest extends FunSuite with MockFactory {

  trait Comp {
    def create(): Int
    def destroy(i: Int): Unit
  }

  def methodUnderTest(comp: Comp) = {
    val c1 = comp.create()
    val c2 = comp.create()
    comp.destroy(c1)
    comp.destroy(c2)
  }

  test("mock style") {
    val comp = mock[Comp]

    def compCycle(i: Int) = inSequence {
      (comp.create _).expects().returning(i)
      (comp.destroy _).expects(i)
    }

    compCycle(0)
    compCycle(1)

    methodUnderTest(comp)
  }

  test("stub style") {
    val comp = stub[Comp]

    var cid = 0

    (comp.create _).when().onCall { () => cid += 1; cid }

    methodUnderTest(comp)

    def compCycle(i: Int) = inSequence {
      (comp.create _).verify().returning(i)
      (comp.destroy _).verify(i)
    }

    (1 to cid).foreach(compCycle)
  }
}

While I expect both tests to pass, the second one fails:
MatcherTest:
- mock style
- stub style *** FAILED ***
  Unsatisfied expectation:

  Expected:
  inAnyOrder {
    create() any number of times (called twice)
    inSequence {
      create() once (called twice - UNSATISFIED)
      destroy(1) once (called once)
    }
    inSequence {
      create() once (never called - UNSATISFIED)
      destroy(2) once (called once)
    }
  }

  Actual:
    create()
    create()
    destroy(1)
    destroy(2) (MatcherTest.scala:4)

I would expect the second one to pass as well since there is a way to match the expectations on the sequence of the calls.

Fails with both ScalaMock 3.2 and ScalaMock 3.2.1

@gzm0 Thanks for catching this bug
Here's more readable (IMO) version of the second test case:

  test("stub style - clean one") {
    val comp = stub[Comp]

    (comp.create _).when().returns(0).once
    (comp.create _).when().returns(1).once

    methodUnderTest(comp)

    def compCycle(i: Int) = inSequence {
      (comp.create _).verify().returning(i)
      (comp.destroy _).verify(i)
    }

    compCycle(0)
    compCycle(1)
  }

This is indeed more readable. The other version has the advantage of being agnostic to the number of invocations (which is what I am trying to aim for), but for this simple case, this is indeed easier to understand.

I don't know yet how to fix it gracefully. CallHandler.isExhausted must be checked during stub verification, but then we would also have to introduce a new way of reporting unexpected calls on stubs. The verify part of MockFactoryBase.verifyExpectations looks like a good place to do so, but it's not so easy to change it without breaking mocks.
Anyway, I'm going to create a fix for this bug in next 2 weeks.
In meantime, I recommend you to use mocks instead of stubs for such situations (i.e. inSequence + nontrivial logic describing what to return).
And to be honest, I generally prefer mocks to stubs:

I don't like to repeat myself (in case of stubs I often have to declare what to return, and then verify that everything was called in a correct manner)
mocks are more precise (there are no default values, nor implicit anyNumberOfTimes)
I find it easier to read test cases when mocks are described at the beginning of test

So I use stubs only to stub simple and unimportant components, and mocks to mock the important/complex part.

And to be honest, I generally prefer mocks to stubs:

I agree with you to some extent. The precise problem I am facing here, is that my unit creates identifiers internally and I need to verify them on the calls it does to create it:
val objUnderTest = ???

val id = objUnderTest.create()
objUnderTest.delete(id)

I want to verify that the calls objectUnderTest performs to setup internal stuff have the right id associated to them. To be able to do this with mock-style, I need to create something like mockitos ArgumentCaptor. In stub style, I can just use id as defined above.

I would refactor the mock based test to this to cover the case for dynamic values (here faked by incrementing id):
val comp = mock[Comp]

var id = 7
var idsGenerated = 0
def getId = {
  val current_id = id
  id += 42
  idsGenerated += 1
  current_id
}

comp.create _ expects() onCall { () =>
  val id = getId
  comp.destroy _ expects id once()
  id
} twice()

methodUnderTest(comp)

idsGenerated should be (2)

So the expectation on destroy for a certain id would only exist after create was called, as the onCall handler registers it
The output of the stub verification looks a bit misleading in this case, but I think this is an effect of the allowed calls being registered first, and the verifications actually demanding a different order later on.
The test design is complicated to follow
So I am closing this, pending stronger evidence for investigation.

I agree that your solution is cleaner to the testing problem at hand. However, there is still an issue with the match report: IMO it should not contain "create() any number of times (called twice)".
Also I'm not sure I understand what you mean with " effect of the allowed calls being registered first, and the verifications actually demanding a different order later on.". Isn't this what stub-style is supposed to be?

Oh, great that you responded.
In this test, both expectation 1 and expectation 2 have the same signature (create without args), so the call looks identical. The CallHandler for expectation 1 eats up both calls and counts it, but I don't see it as a bug either as that is quite valid to do - how should the handler know there is a second expectation which also satisfies this call?
Note, a stub has an implied call count of [0..infinite].
Mocks behave differently as they have a call count of 1 in this case, so the first handler rejects the 2nd create call, letting the 2nd handler verify it.
So I think the difference in behaviour may look unexpected at first, but is down to the semantincs of mock vs stub.
Hope that makes it clearer.


Run evaluation at the end of training

#947 introduces the concept of eval_interval which runs evaluation using our Time abstraction instead of the previous validate_every_n_batches and validate_every_n_epochs. This works pretty well, but would miss running evaluation at the very end of training, if the training length is not evenly divisible by eval_interval. This PR resolves that.
Questions / Discussion Points:

I have modified tests/trainer/test_trainer_eval.py::test_eval_hparams to enable assert "eval1" in trainer.state.current_metrics (before it was assert "eval1" not in trainer.state.current_metrics). Is this something we are okay with?

Thanks for the quick review @ravi-mosaicml! I'll get back to you tomorrow on these, going to update the speed_monitor to stop tracking validation time today.

@ravi-mosaicml I think this should be ready for another review!
A few thoughts / comments:
I don't love the structure of evaluate_periodically, especially how it has return {bool} instead of conditional statements.
However, we need to update the last_batch_seen at a place where we know we are evaluating. One possible way to mitigate this is by inverting the logic: create conditional statements where we would return False, and then at the end of the code, have:
last_batch_seen = state.timestamp.batch
return True

Do you think this is a problem?
Secondly,

Could this logic be refactored to work if max_duration is specified in tokens or samples?
I assume this is no longer a problem since we have removed max_duration from the should_eval function?