Magento 2: Changed upgrading database

[x] Bug fix #3800
[x] New feature
[ ] BC breaks?
[ ] Tests added?
[ ] Docs added?

This PR addresses two issues:

Currently the Magento 2 recipe runs the following command to update the database setup:upgrade however this command does more then only upgrading the database. It can change the sort order of the modules listed in app/etc/config.php or if a module is not listed in that file it will enable that module. IMHO deployments should be consistent, and the app/etc/config.php shouldn't be changed during deployment. That's why I changed this into two commands that actually only update the DB schema and DB data. I've borrowed this from the Magento 2 Capistrano implementation, which already does it like this: https://github.com/davidalger/capistrano-magento2/blob/master/lib/capistrano/tasks/magento.rake#L261
I've also fixed issue #3800 by only running the DB commands once on the selected servers. This will fix the issue of multiple DB upgrades which are executed on every node instead of only one node.

Thanks for the PR!
Changing setup:upgrade to the two separate upgrade commands is a great idea.
However, I don't see this working;
run("{{bin/php}} {{bin/magento}} setup:db-data:upgrade --no-interaction")->once();

Afaik run() returns a string (the output of the command) and not an object to set once() on. This should be wrapped in a separate task(), which can take once(). Right, @antonmedv ?
As a sidenote, we ran into accidentally enabling non-listed modules error with setup:upgrade before. To avoid this, we created a small PHP tool to check this before the deployment task starts in our pipeline;
<?php

$output = [];
exec('php bin/magento module:status --disabled', $output, $exitCode);

// If No disabled modules, exit with exit code 1
if ($exitCode === 1) {
    exit(0);
}

$config = include 'app/etc/config.php';

$whitelistedDisabledModules = $config['whitelisted_disabled_modules'] ?? [];
$messages = [];

foreach ($output as $module) {
    if (!in_array($module, $whitelistedDisabledModules)) {
        $messages[] = $module . ' is disabled in modules but not whitelisted under whitelisted_disabled_modules in app/etc/config.php.';
    }
}

if (!empty($messages)) {
    foreach ($messages as $message) {
        echo $message . PHP_EOL;
    }
    exit(1);
} else {
    exit(0);
}

Maybe you'll find it useful too.

Yeap. Once should be applied to tasks

Perfect!

@dverkade I just had time to take a deeper look at this, and I have some concerns.
The installSchema is now run from setup:db-schema-upgrade.
The [installDataFixtures](https://github.com/magento/magento2/blob/2.4-develop/setup/src/Magento/Setup/Console/Command/UpgradeCommand.php#L149) is now run from setup:db-data:upgrade`.
But now $installer->removeUnusedTriggers();` seems not to be triggered.
Also, app:config:import is not ran at this point. Won't this cause issues when people put configuration settings in app/etc/config.php?

@peterjaap I've checked and the app:config:import command is already triggered before the db:upgrade here. So no issue there.
Regarding the removeUnusedTriggers() function. That's interesting and IMHO is an issue of Magento itself. Shouldn't that be part of the setup:db-schema:upgrade command too as this will make sure the db-schema is up to date. I've never had issues with this setup while using Capistrano which we have used for years before moving to Deployer.

@dverkade I guess it won't immediately introduce issues when the unused triggers aren't removed, it's more a part of good database hygiene. Weirdly enough, that removeUnusedTriggers() call is the ONLY call in the whole of Magento where it's run.

It also looks like that the removeUnusedTriggers() call also CREATED triggers <2.4.6, which could indeed cause issues down the line; https://github.com/magento/magento2/issues/33386#issuecomment-2018749781

The nicest solution would be that core Magento will contain a console command to delete the unused triggers, so we can call that too. Or that it is behind a flag in the setup:db-schema:upgrade command.

Hi guys, we recently upgraded our deployer package from v4.7.0 to v7.5.5 and noticed that this change breaks deployments (to production) if dev modules are committed in the app/etc/config.php file. Due to this change, we had to rollback the module update. Is this something that can be fixed?

@rickvb97-io why would there be dev modules in an config.php that goes to production?

@peterjaap Because I don't think there is currently no option to exclude dev modules on a production environment in the config.php. Symlinking the config.php isn't an option, because new modules aren't added.
Not committing the dev modules in the config.php is inconvenient and only causes hassle among (our) developers.

@rickvb97-io we use a system where we symlink the config.php in the repository to config.production.php and use a symlink locally to config.development.php. Both are committed to the Git repo.

Agreed

Not related to this repo, but I still wanted to share. Here's a diff for  vendor/magento/magento2-base/setup/src/Magento/Setup/Console/Command/ModuleConfigStatusCommand.php  to remove the dev modules from the check so it doesn't give this error;
10a11,12
> use Composer\Factory;
> use Composer\IO\NullIO;
88a91,102
>             $devModules = $this->getDevModules();
>             if (count($devModules)) {
>                 foreach ($devModules as $moduleName) {
>                     if (isset($currentModuleConfig[$moduleName])) {
>                         $output->writeln(
>                             '<info>Ignoring dev module ' . $moduleName . ' for this check.</info>'
>                         );
>                         unset($currentModuleConfig[$moduleName]);
>                     }
>                 }
>             }
>
107a122,144
>     }
>
>     private function getDevModules(): array
>     {
>         $composer = Factory::create(new NullIO());
>         $config = $composer->getConfig();
>         $rootPath = dirname($config->get('vendor-dir'));
>         $composerJsonPath = $rootPath . '/composer.json';
>
>         $locker = $composer->getLocker();
>         $lockData = $locker->getLockData();
>
>         $json = json_decode(file_get_contents($composerJsonPath), true);
>         $requireDevPackages = isset($json['require-dev']) ? array_keys($json['require-dev']) : [];
>
>         $devModules = [];
>         foreach ($lockData['packages-dev'] as $package) {
>             if (in_array($package['name'], $requireDevPackages) && isset($package['type']) && $package['type'] === 'magento2-module') {
>                 $devModules[] = trim(str_replace('\\', '_', array_keys($package['autoload']['psr-4'])[0]), '_');
>             }
>         }
>
>         return $devModules;

The only caveat I see is that when the dev module has a sequence configured and removing it will cause the config.php to re-order. This does not take that into account.


Update solution to new csproj format and target netstandard2

This makes working across multiple platforms more seamless.

:+1:


Create an AjaxPersistenceQueue to throttle and de-duplicate API persistence to the server.

Create an AjaxPersistenceQueue class to handle the logic of persisting API resources back to the server with the following constraints:

A maximum number of in-flight connections to the server at any given time (default: 4).
A resource can only be in the queue once.

If a resource is queued while it's waiting for the connection pool, simply update the entry.
If a resource is queued while it's save is in flight, queue it to save after the current request completes.

PUT and DELETE to the node's self URL to create, update, or delete it.

Interface:
Constructor: ozpIwc.AjaxPersistenceQueue(config)

Param {integer} [config.poolSize=4] - how many connections to allow at one time.

AjaxPersistenceQueue.prototype.queueNode(iwcUri,node)

Param: {string} iwcUri - the iwcUri, minus protocol (e.g. "data.api/foo/bar", "system.api/application/12345")
Param {ApiNode} node - the ApiNode to be queued for save
Returns {Promise} - a promise that resolves when the resource has been successfully saved

Due to Ozone Platform backend complications, default number of in-flight connections changed from 4 to 1.
This is easily changed for other backend implementations/Ozone Platform backend enhancements.
When instantiating an API in the defaultWiring.js add a custom persistenceQueue to its config.
 ozpIwc.dataApi = new ozpIwc.DataApi({
    'name': "data.api",
    'poolSize': 4
});

AjaxPersistenceQueue has been merged in, follow up issues should be opened pertaining to a change in the default poolSize.


Fixes from science-parse

SP has accumulated some fixes that aren't here, so I'm putting them here.

Ehh, I can't assign reviewers, or edit anything?

Can you run evaluation to make sure everything still works?

I'm on it.

Precision: 0.980, Recall: 0.960, F1: 0.970

Could you also run on the s2 dataset? Just want to make sure there aren't any unexpected changes from https://github.com/allenai/pdffigures2/pull/2.

On S2:
Precision: 0.943, Recall: 0.908, F1: 0.925

I also confirmed that master dies on my cartesian-product poison document, and this version does not. In fact, this one finishes in 10 seconds (but produces no figures for the affected pages).


Update Readme.md for latest version to build from source

README.md: updated version number in --branch to most recent under compile from source
I compiled ct from source following the instructions in README.md and had issues with transpiling my config.  I opened an issue and after some research identified that I had pulled branch v0.1.0 instead of the most recent one.  To prevent other people from making this same mistake and to close out the issue I opened, I created this pull request with updated version and a note for current releases.
Issue:  https://github.com/coreos/bugs/issues/1991

/cc @dgonyeo The make instructions are wrong.


Update mailbox.c

integrated the fix proposed in pimoroni/unicorn-hat@5c03f81) to get the library to work with newer kernels.

confirmed to work on rpi1 with a 3.18.7-kernel (raspbian wheezy).


Enhance configuration documentation

Preview Deployment: https://nativelink-docs-git-fork-blakehat-76e9db-native-link-web-assets.vercel.app/
Description
Enhances the documentation for configurations.
Fixes #958
Type of change

[x] This change requires a documentation update

Checklist

[x] Updated documentation if needed
[x] PR is contained in a single commit, using git amend see some docs

This change is

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

I think the best solution is for you to have the same top level page you have and to add another nav link, Configuration Breakdown. What do you think?
Something like:
{
    "label": "Configuration Breakdown",
    "position": 2,
    "link": {
      "type": "generated-index",
      "description": "Explore the configuration JSON object."
    }
  }

Reviewed 2 of 7 files at r1, all commit messages.
Reviewable status: 0 of 1 LGTMs obtained, and pending CI: Cargo Dev / macos-13, Installation / macos-13, Installation / macos-14, Installation / ubuntu-22.04, macos-13, pre-commit-checks, and 7 discussions need to be resolved

nativelink-docs/docs/configuration/Assembling.mdx line 10 at r1 (raw file):

NativeLink uses a JSON file as the configuration format. This section of the
documentation will breakdown the anatomy of this configuration file with step-by-step instructions on its assembly.

While not directly relevant, might be useful for hinting at different configurations can be used for different types of servers. Nativelink can be bound together in a single configuration, a practical production deployment would contain different configurations for the different types of servers. Maybe thats not in this section of documentation, but somewhere this should be identified and explained on the practical level.
nativelink-docs/docs/configuration/Assembling.mdx line 33 at r1 (raw file):

### Store Name

The value of `stores` includes top-level keys, which are user supplied names stores. The following example, defines the `AC_MAIN_STORE`.

Should we also use some language that hints keys can be referenced in other contexts?
nativelink-docs/docs/configuration/Assembling.mdx line 50 at r1 (raw file):

Once the store has been named and its object exists,
the next key is the type of store. The options are `filesystem`, `memory`, `compression`, `dedup`, `fast_slow`, `verify`, and `experimental_s3_store`.

Is there ability to use direct linking to the definition or reference to what filesystem is in this context instead of highlighting it with "`", like the code docs page or source code (ideally not)?
nativelink-docs/docs/configuration/Assembling.mdx line 79 at r1 (raw file):

        "eviction_policy": {
          // 500mb.
          "max_bytes": 500000000,

Friendly names have landed, we should use those for docs da2c4a7
nativelink-docs/docs/configuration/Assembling.mdx line 98 at r1 (raw file):

### Worker Array

The value of `workers` includes a top level array that embeds the worker metadata. This array always begins with the `local` object, which is the only item permitted at this time.

Can we give a one line statement of what being "local" means even if it sounds trivial ?
nativelink-docs/docs/configuration/Assembling.mdx line 114 at r1 (raw file):

### Local Worker Object Members

The Local object has five components, `worker_api_endpoint`, `cas_fast_slow_store`, `upload_action_results`,`work_directory`, and `platform_properties`.

There is a lot to unpack here, should we expand a little bit on what each of them mean with human explained example?
nativelink-docs/docs/configuration/Reference.mdx line 14 at r1 (raw file):

<Tabs>
    <TabItem value="stores" label="Stores" default>
        | Key                                      | Type          | Description                                                                 | Example                                   |

Possible to add code generated docs or code linked html refs?

Do keep in mine that Assembling is a direct rip from a README in the codebase. I'd rather fix these is a separate PR and sync them instead of making the content diverge here, so we have more ability to automate docs in the future.

Reviewed 2 of 7 files at r1, all commit messages.
Reviewable status: 0 of 1 LGTMs obtained, and pending CI: Cargo Dev / macos-13, Installation / macos-13, Installation / macos-14, Installation / ubuntu-22.04, macos-13, pre-commit-checks, and 7 discussions need to be resolved

nativelink-docs/docs/configuration/Assembling.mdx line 10 at r1 (raw file):

NativeLink uses a JSON file as the configuration format. This section of the
documentation will breakdown the anatomy of this configuration file with step-by-step instructions on its assembly.

While not directly relevant, might be useful for hinting at different configurations can be used for different types of servers. Nativelink can be bound together in a single configuration, a practical production deployment would contain different configurations for the different types of servers. Maybe thats not in this section of documentation, but somewhere this should be identified and explained on the practical level.
nativelink-docs/docs/configuration/Assembling.mdx line 33 at r1 (raw file):

### Store Name

The value of `stores` includes top-level keys, which are user supplied names stores. The following example, defines the `AC_MAIN_STORE`.

Should we also use some language that hints keys can be referenced in other contexts?
nativelink-docs/docs/configuration/Assembling.mdx line 50 at r1 (raw file):

Once the store has been named and its object exists,
the next key is the type of store. The options are `filesystem`, `memory`, `compression`, `dedup`, `fast_slow`, `verify`, and `experimental_s3_store`.

Is there ability to use direct linking to the definition or reference to what filesystem is in this context instead of highlighting it with "", like the code docs page or source code (ideally not)? _[nativelink-docs/docs/configuration/Assembling.mdx` line 79 at r1](https://reviewable.io/reviews/TraceMachina/nativelink/970#-Nz_YuRcDdddzZBjMNZc:-Nz_YuRcDdddzZBjMNZd:bhgmryr) (raw file):_

        "eviction_policy": {
          // 500mb.
          "max_bytes": 500000000,

Friendly names have landed, we should use those for docs da2c4a7
nativelink-docs/docs/configuration/Assembling.mdx line 98 at r1 (raw file):

### Worker Array

The value of `workers` includes a top level array that embeds the worker metadata. This array always begins with the `local` object, which is the only item permitted at this time.

Can we give a one line statement of what being "local" means even if it sounds trivial ?
nativelink-docs/docs/configuration/Assembling.mdx line 114 at r1 (raw file):

### Local Worker Object Members

The Local object has five components, `worker_api_endpoint`, `cas_fast_slow_store`, `upload_action_results`,`work_directory`, and `platform_properties`.

There is a lot to unpack here, should we expand a little bit on what each of them mean with human explained example?
nativelink-docs/docs/configuration/Reference.mdx line 14 at r1 (raw file):

<Tabs>
    <TabItem value="stores" label="Stores" default>
        | Key                                      | Type          | Description                                                                 | Example                                   |

Possible to add code generated docs or code linked html refs?

Do keep in mine that Assembling is a direct rip from a README in the codebase. I'd rather fix these is a separate PR and sync them instead of making the content diverge here, so we have more ability to automate docs in the future.

Also going to add code generated docs to the links once @aaronmondal lands the rustdoc PR. That will also be separate.

This is fine. Let's merge this and iterate.

I'd rather keep them coupled together but either way probably a separate PR.


General-purpose token contract + debugging

start debugging dex example
start adding types for low level snarky intf
iterate on types
iterate on api and fix type error
runner that can compare circuit constraints against a previous run
expose more flexible cs processing
revert returning result
don't return result from constraint system
use runCircuit in analyzeMethods
move zkapp proving logic to separate file
minor
WIP: compare constraints in zkapp proof to the ones created in analyzeMethods
remove debugging, fix basic constraint data
add memoized witnesses to avoid failing constraints
hook prover consistency check into prover when detecting a relevant problem
show traces to constraints in both versions
seems more correct but I'm not sure
helper to print account update layout
fix the damn bug
[dex] remove obsolete scare comments
minor example tweak
submodules
changelog
reduce diff to main where changes weren't necessary
add docs and changelog
more cases in which to check inconsistent constraints
bindings
export token contract
more token contract methods
fix token contract child adopting
unlink account updates to prevent them from being in caller's public input in compile()
(wip) use base token contract for dex
wip debugging / start fixing
add data structure for in-circuit call forest construction which only persists through a contract call
fixed Hashed default hash
fix edge case in ecdsa unit test

not needed anymore


Make header read case insensitive, and keep case when proxying headers

I ran into a problem when testing two clients that use custom headers.
The headers were only passed on from client A to client B, but not from client B to client A, even though the headers were defined in proxyRequestHeaders and proxyResponseHeaders.
The issue is that client A defines the header in all lower case, and client B use mixed case.
proxyRequestHeaders and proxyResponseHeaders need an exact match, including case so I would have to define all variants of casing (or at least the ones that are likely to occur) in order to proxy the headers. This also made checking for these headers quite messy since we needed to disregard the casing manually.
To me it makes sense to leave case as-is when proxying requests, but we should be able to find headers via "has" and "get" without having to match the case.
I'm not a big fan of exposing the "getHeaderName" method in SipMessage, but I haven't come up with a nicer way to handle this.

@davehorton Any thoughts on this? Sorry for the direct mention, but it has been a while.

published in v4.5.33


MAINT: Post-release deprecations and version bumps

@drammock ready for review/merge from my end

I realized I forgot to look for stuff/workarounds we can drop now that versions are bumped!

Okay got a couple hundred more lines removed by getting rid of a bunch of matplotlib helpers that were < 3.6 specific (and a few numpy/scipy etc. ones). Hopefully it comes back green, if it does I'll merge :crossed_fingers: !

this should also get a changelog entry in the Dependencies section too, right?

@drammock okay to merge when green given the new changelog entry?


Implementation Stable marriage problem in PHP

Worked as intended on provided sample 💃

I'd say we deal with #431 before we continue with the other PHP PRs.

@Butt4cak3 good to go


After SendZc submission sender receives two messages

I am sending 4 bytes ping message.
opcode::SendZc::new(Fd(self.as_raw_fd()), data.as_bytes().as_ptr(), data.as_bytes().len() as _)
    .build()
    .user_data(u64::MAX)

Message successfully sent.
And here are logs of data i receive on sender's io-uring:
[2023-03-20T15:53:26.732341Z WARN  thread::eventloop::iouring] cqe=Entry { result: 4, user_data:<PHONE_NUMBER>3709551615, flags: 2 }, is_more=true
[2023-03-20T15:53:26.732351Z WARN  thread::eventloop::iouring] cqe=Entry { result: 0, user_data:<PHONE_NUMBER>3709551615, flags: 8 }, is_more=false

It looks excessive. Is it supposed so? And why first message have more flag?

And this code generate only one message on sender side:
opcode::Send::new(Fd(self.as_raw_fd()), data.as_bytes().as_ptr(), data.as_bytes().len() as _)
    .build()
    .user_data(u64::MAX)

[2023-03-20T16:16:19.679914Z WARN  thread::eventloop::iouring] cqe=Entry { result: 4, user_data:<PHONE_NUMBER>3709551615, flags: 0 }, is_more=false

The two step model is needed because the kernel may hold on to buffers for a long time, e.g. waiting for a TCP ACK, and having a separate cqe for request completions allows userspace to push more data without extra delays.


Add zoom-to-fit and zoom-to-mouse hotkeys

Large CFGs need a larger graph overview/minimap. Rather than wasting screen space on the overview, why not have two adjacent hotkeys: one zooms out the current graph view such that entire CFG is visible, the other zooms in to 100% at the mouse cursor.
The resulting workflow (zoom to fit to get a minimap-style overview, identify and mouseover area of interest, zoom to it) is a bit slower than glancing at a minimap then clicking/dragging around until you're roughly where you want. It should however be faster than bringing up the minimap, doing the navigation, then bringing back xrefs/whatever was in the minimap's place.
It would be particularly useful in the presence of block highlighting plugins.
Animated zoom may or may not be needed to retain spatial awareness.
Oh, could mouse wheel zoom sensitivity also be a setting?

"Zoom to Fit" and "Zoom to Cursor" implemented in 3.1.3635


Nengen text rendering

Fix render method in TextRenderer

Currently text is rendered onto a Framebuffer Object first, character by character. The resulting texture is then extracted and rendered based on the transformation.

The better way to do it is to render directly without the FBO, and use instanced rendering if possible.

Although at this point as long as it works then I'm happy


[build] Add algolia metas automatically

What does this PR do?
Add algolia metas automatically only if page is the last children (only for build process)

 Snippets tests reports   SDK Version Tests overview      v6        v5        v1        v1        v1                   :x:


Background only shows on first slide

There is an example in the documentation with a background image in the frontmatter but this only works for the first slide.
https://sli.dev/guide/syntax#frontmatter
If I try to use background on the second or any later slide it doesn't work:
---
class: text-center
---

# Slide 1

---
background: /images/runners.png
---

# Track And Field

backgroud is a property for some layout. And the first slide defaults to layout: cover, the others are `layout: default'. You can try to add
---
layout: cover
background: /images/runners.png
---

for your second slide if you want it to work the same as the first slide.

Thanks @antfu
I solved it with the layout image:
---
layout: image
image: /images/runners.png
---


some, every, max, min

These are all very common utilities that can be done with reduce but would also benefit a built-in implementation.
I am also thinking a a way to get the kth smallest/bigger with an heap

Yep! Also filterNot is a nice to have.

Some and every implemented in https://github.com/sithmel/iter-tools/pull/37

opening a different ticket for other features


Remove internal actors

Begone spaghetti monster.
This PR refactors the actor runtime with the purpose of facilitating proper durable dynamic workflow actor support. The initial intention was to remove the concept of "internal actors" as this abstraction is wrong for an actor engine, and instead replace it with "actor targets" (app, workflow, activity, and scope for extensions). This removes any magic codes paths and creates proper abstractions. Due to the code state actors was in, this change cascaded into a refactor of actors into multiple packages which combine into the full actor runtime. The current actor runtime should now be more extensible, maintainable, and support features required for workflows, like dynamic actor type registration.

Actor Placement has been overhauled to now correctly lock the entire actor runtime during dissemination events.
Reminders and timers have been split out into interfaces
Actor targets have been introduced, which are the target implementation for app/workflow.
Table tracks the registered actor types and current active actors.
Engine is the main entry point for actors, and is responsible for managing the execution of actors.
API entries into actors now hang until the actor runtime is ready.
Actor reentry uses a fifo circle buffer.

Workflows continue to be in a non-fully functional state, and are infact, likely more broken due to these changes. This is expected and is going to be addressed in a follow change now that we have a good actor runtime foundation.
A large set of integration tests have been added for actor functionality.
Description

Issue reference

Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

Looks to be quite a few e2e issues. Are the e2e failures a result of fixing bugs in the actor runtime or potentially a new issue from this diff (or both)? Looks like its failing to start workflows due to a context deadline exceeded

Close in favor of #8310


Upgrade electron-osx-sign to 0.4.1

Hi @malept, I'm only posting this PR for now. Further tests may be required before eventually merging this I think. Hopefully a stable version of electron-osx-sign could be released later this week.

The osx-sign tests need to be updated, since you added the version parameter.

@sethlu when do you expect to release a non-beta release of electron-osx-sign?

Hi @malept sorry for my late reply. I've just updated<EMAIL_ADDRESS>on npm; however, a minor update will soon be released (in 1/2 days) following solutions to little code inconsistency.

Looks like the osx-sign.binaries test needs to be updated, too.

@malept sure, I'll have a look on that part tomorrow. 😸
Also, I have just updated<EMAIL_ADDRESS>as a small patch to @0.4.0 where npmjs now reflects the latest version: https://www.npmjs.com/package/electron-osx-sign

@sethlu if you don't have any time to fix the test, could you check "allow edits from maintainers" (bottom right of the PR UI)?

@sethlu thanks!


Dead Links

[Enter feedback here]
Dead Links at the End of the Page

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

ID: 1999621a-92cd-28d0-88e0-c504d409afa5
Version Independent ID: a9c96c5f-b03d-1805-fd7d-29853d33d03c
Content: Migrate SYSVOL replication to DFS Replication
Content Source: WindowsServerDocs/storage/dfs-replication/migrate-sysvol-to-dfsr.md
Product: windows-server
Technology: storage
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

I think it will be useful to point out which ones and how many links are broken (404):
The 5 broken links can be found underneath https://docs.microsoft.com/en-us/windows-server/storage/dfs-replication/migrate-sysvol-to-dfsr#additional-references (see copy below):
Additional references
SYSVOL Migration Series: Part 1—Introduction to the SYSVOL migration process (404 Web Site not found.)
SYSVOL Migration Series: Part 2—Dfsrmig.exe: The SYSVOL migration tool (404 Web Site not found.)
SYSVOL Migration Series: Part 3—Migrating to the 'PREPARED' state (404 Web Site not found.)
SYSVOL Migration Series: Part 4—Migrating to the 'REDIRECTED' state (404 Web Site not found.)
SYSVOL Migration Series: Part 5—Migrating to the 'ELIMINATED' state (404 Web Site not found.)
Step-by-Step Guide for Distributed File Systems in Windows Server 2008
FRS Technical Reference

Most Technet pages have migrated to a differently named domain, so we may be able to find working URLs, even if archived.

I am fixing invalid links now.

Looks good @RAJU2529 - I just added some suggestions for cosmetic text adjustment, but if you think it is unnecessary, that is OK too.
(ref. Pull Request #4803 .)

This issue was resolved 3 weeks ago. Thank you all for participating. 👍 🙂

#please-close


Does there any samples about groupcahe,i could not find any in the doc page.

I could find some in stackoverflow,but i cannot understand.

For questions about Go, see https://golang.org/wiki/Questions.


rtmros_nextage: 0.8.3-0 in 'indigo/distribution.yaml' [bloom]

Increasing version of package(s) in repository rtmros_nextage to 0.8.3-0:

upstream repository: https://github.com/tork-a/rtmros_nextage.git
release repository: https://github.com/tork-a/rtmros_nextage-release.git
distro file: indigo/distribution.yaml
bloom version: 0.6.1
previous version for package: 0.7.16-0

nextage_calibration

No changes

nextage_description

No changes

nextage_gazebo
* add model cafe_tabel and mod ar_headcamera.launch to spawn gazebo models in the case of sim:=true (#354 <https://github.com/tork-a/rtmros_nextage/issues/354>)
* Contributors: Yosuke Yamamoto

nextage_ik_plugin

No changes

nextage_moveit_config

No changes

nextage_ros_bridge
* add USE_HAND_JOINT_STATE_PUBLISHER argment, normal nextage does not need this (#355 <https://github.com/tork-a/rtmros_nextage/issues/355>)
* add model cafe_tabel and mod ar_headcamera.launch to spawn gazebo models in the case of sim:=true (#354 <https://github.com/tork-a/rtmros_nextage/issues/354>)
* Contributors: Kei Okada, Yosuke Yamamoto

rtmros_nextage

No changes

from       version: 0.7.16-0 -> to      version: 0.8.3-0 is too much,...


Update attachments functionality

Change type property in files and folders
nodeType: { FOLDER, ITEM }
resourceType: { FILE, PROMPT ... }
Migrate all conversations with backend files URL from bucket/a/b/c.txt -> file/bucket/a/b/c.txt
Change backend metadata URL from  v1/files/metadata to v1/metadata/files

Hello @VolhaBazhkova
Please retest files functionality for models to be sure that all changes are correct. To being able to test migrations of old files to new ones you need to upload old file with old files URLs and check that all images and files updated to new URLs when exporting this conversations again.

Verified using the following steps:

Export chat created based on Imagen model with some generated picture from Prod env.
Import the json on Staging env.
Export the chat again
Checked the URL structure has been updated to new one


ng update failure with old v9 'migrate-only' value

Command
update
Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
unknown
Description
Upgrading a huge old project from Angular 8 to 17. The upgrade from 8.2.14 to 9.1.13 partially succeeds but fails on the migration step, and the failure message states to use this command to run only the migration step later:
ng update @angular/core --migrate-only migration-v9-undecorated-classes-with-di
I ensured my global and local CLI versions matched @ v9.1.15, with compatible Node 12.11.1, but when running the command, it states:
"The installed local Angular CLI version is older than the latest stable version.
Installing a temporary version to perform the update."
...and fails, stating that it requires a minimum of Node 18.13.0
With Node 18.13.0 or 21.4.0, the command still errors with:
Error: A single package must be specified when using the 'migrate-only' option.
ChatGPT and some research suggest using --from and --to, and specifying a package version, but this variation also fails with the same error:
ng update @angular/core@9 --migrate-only migration-v9-undecorated-classes-with-di --from 8.2.14 --to 9.1.13
Any workarounds?
Minimal Reproduction
Use a base Angular 9.1.13 project.
Execute ng update @angular/core --migrate-only migration-v9-undecorated-classes-with-di
Exception or Error
Error: A single package must be specified when using the 'migrate-only' option.

Your Environment
Angular CLI: 9.1.15
Node: 21.4.0
OS: win32 x64

Angular: 9.1.13
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.901.15
@angular-devkit/build-angular     0.901.15
@angular-devkit/build-optimizer   0.901.15
@angular-devkit/build-webpack     0.901.15
@angular-devkit/core              9.1.15
@angular-devkit/schematics        9.1.15
@angular/cdk                      9.1.3
@angular/cli                      9.1.15
@ngtools/webpack                  9.1.15
@schematics/angular               9.1.15
@schematics/update                0.901.15
rxjs                              6.5.3
typescript                        3.8.3
webpack                           4.42.0

Anything else relevant?
Full output of failed ng update:
Node.js version v21.4.0 detected.
Odd numbered Node.js versions will not enter LTS status and should not be used for production. For more information, please see https://nodejs.org/en/about/previous-releases/.
(node:234636) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
(Use node --trace-deprecation ... to show where the warning was created)
The installed local Angular CLI version is older than the latest stable version.
Installing a temporary version to perform the update.
Installing packages for tooling via npm.
Installed packages for tooling via npm.
Node.js version v21.4.0 detected.
Odd numbered Node.js versions will not enter LTS status and should not be used for production. For more information, please see https://nodejs.org/en/about/previous-releases/.
Workspace extension with invalid name (defaultProject) found.
Error: A single package must be specified when using the 'migrate-only' option.

You should be able to use the environment variable NG_DISABLE_VERSION_CHECK=1 on older versions to bypass the update version check and prevent the minimum Node.js version error.

Closing as per above recommendation and Angular versions prior to version 15 are no longer supported.


Make the jenkins system user and group OS dependent.

Default values are set in and picked up from params.pp.
The two new parameters are:
jenkins_user
jenkins_group
The specs for the proxy class, and the plugin define added facts
to pin it to osfamily/operatingsystem RedHat, in order to let
them work in the future, when there may be other OS with different
users/groups out there.
I haven't made the jenkins_user/jenkins_group overridable as
parameter to init.pp, since I found that not all parameters defined
in params.pp are able to be overridden.
This is a follow up of PR #304 , splitting parts off the whole PR.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests

@jhoblitt since you were following along more closely with #304, I trust that you'll review this? pretty plz :)

I'm going to take a stab at fixing up this PR.


update postgres and sqlite dependency to upcoming db-service version

Why do we have to do that at all?
semver doesn't require that, does it?

Why do we have to do that at all? semver doesn't require that, does it?

if you'd do npm update @cap-js/sqlite, then you wouldn't get a newer @cap-js/db-service if we don't bump, right? so i think it's always needed in case something new in @cap-js/sqlite needs something new in @cap-js/db-service, otherwise not.


Move to netstandard TFM

Moving this issue here from https://github.com/onovotny/BouncyCastle-PCL/issues/12
This is to move from dotnet to netstandard in the nuspec. See https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/standard-platform.md for details.
The nuspec will be greatly simplified as it required extra blank dependency groups and copies of the libs in platform-specific TFM \lib dirs. to work correctly.
This issue is dependent on https://github.com/dotnet/corefx/issues/4367 being completed.
/cc @peterdettman

@peterdettman I have pushed a packaging update to the 1.8.1 version that includes support for netstandard.
https://github.com/onovotny/BouncyCastle-PCL/tree/pcl-netstandard
I plan on releasing this as <IP_ADDRESS> to the Portable.BouncyCasltle package on Monday so that people can more easily use it with .NET Core.

Can you maybe also add the "netcoreapp" framework? I want to use BouncyCastle from my .NET Core application that uses this framework and I can't currenty depend on it because it says:
    Package Portable.BouncyCastle 1.8.1 is not compatible with netcoreapp1.6 (.N
ETCoreApp,Version=v1.6). Package Portable.BouncyCastle 1.8.1 supports:
      - dotnet (.NETPlatform,Version=v5.0)
      - monoandroid (MonoAndroid,Version=v0.0)
      - monotouch (MonoTouch,Version=v0.0)
      - net45 (.NETFramework,Version=v4.5)
      - net46 (.NETFramework,Version=v4.6)
      - portable-monoandroid10+monotouch10+net40+sl5+win8+wp8+wpa81+xamarinios10
+xamarinmac20 (.NETPortable,Version=v0.0,Profile=net4+sl5+wp8+win8+wpa81+MonoTou
ch10+MonoAndroid10+xamarinmac20+xamarinios10)
      - portable-monoandroid10+monotouch10+net45+win8+wpa81+xamarinios10+xamarin
mac20 (.NETPortable,Version=v0.0,Profile=net45+win8+wpa81+MonoTouch10+MonoAndroi
d10+xamarinmac20+xamarinios10)
      - uap10.0 (UAP,Version=v10.0)
      - win8 (Windows,Version=v8.0)
      - wpa81 (WindowsPhoneApp,Version=v8.1)
      - xamarinios (Xamarin.iOS,Version=v0.0)
      - xamarinmac (Xamarin.Mac,Version=v0.0)
    One or more packages are incompatible with .NETCoreApp,Version=v1.6.

And it seems that "netcoreapp" is the recommended framework to use for .NET Core applications, so this will be needed in the future anyways.

netcoreapp is only for executables and applications, not libraries. netcoreapp currently supports netstandard1.6: https://docs.microsoft.com/en-us/dotnet/articles/standard/library#net-platforms-support

@onovotny But... how would I use BouncyCastle from a netcoreapp - application then?
And should BouncyCastle already support netstandard1.6? Because if I try to restore with it, it still says that BouncyCastle does not support it.

Any higher netstandard level can use lower level ones. Right now you also need an imports statement because there's no published version that has netstandard support. That's coming shortly.

Nice! The imports statement works fine, thank you :)

v<IP_ADDRESS> is now on NuGet with netstandard support

Any chance we can move this to netstandard1.4.  Since this is a library which others will rely on, having it as low as it possibly can be will guaranteed a larger population of projects which can leverage this library.

As an update, v<IP_ADDRESS> is updated on NuGet that adds a net4 version and is authenticode signed to ensure origin.

@nothingmn Portable.BouncyCastle is targeting netstandard1.3 with full functionality. That means that any library that's netstandard1.3 or higher can reference it.

When will #68  merge ?

As of just now, the official package is https://www.nuget.org/packages/BouncyCastle.Cryptography, with support for net461, netstandard2.0 and net6.0.


Fixed contains_masks mistake

@Olfi01 Thanks for the fix but this(and a couple more mistakes) are already fixed.
See here:
https://github.com/TelegramBots/telegram.bot/commit/807b2f5c40ff19f87edc21b0445a383a551d4670

oh. haha.


Commit from breaks the tutorial flow

I'm following the tutorial
https://codelabs.developers.google.com/codelabs/android-testing/index.html
but I see that the commit
https://github.com/googlecodelabs/android-testing/commit/bea8efef7807534f4895b5768912e1ccbafe319c#diff-596586972bcd3cc9213dabaa97ee4f1d
breaks the flow of tutorial - Presenter's code is commented out.

OK, I see that it's mentioned in step 5
https://codelabs.developers.google.com/codelabs/android-testing/index.html?index=..%2F..%2Findex#4
If you have run the app already, you will have noticed that we are getting a blank screen with no notes or working buttons!
Please move this information to step 2.

Fixed in next codelab release


Make PlatformInfo::Uhyve::cpu_freq a 64-Bit Number

The current 32-Bit value will fail on a machine with more than 4.29GHz (which is not unlikely)

Ah, nevermind. I overlooked that it is in KHz


wrong output for some words in 1.7.1

Hello, re-install the https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.7.1 version.


Copy-Poll-Id Button

Story: As a host, I want to be able to copy my poll-ID with a simple button click
https://github.com/hpi-swa-teaching/Liquid/issues/129

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 12 (25.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.02%) to 48.811%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

packages/Liquid-UI.package/LQRunningPollView.class/instance/buildWith..st
0
1
0.0%

packages/Liquid-UI.package/LQRunningPollView.class/instance/buildIdCopyButtonWith..st
0
8
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
1.02%

Covered Lines:
513

Relevant Lines:
1051

💛  - Coveralls


admin UI: add time to password last set

Currently just a date. Add time to the picker.
This is helpful when testing on the same day.

Couldn't use datetime-local, as not supported by Firefox.


BeamDyn bug fixes and updates

This pull request will merge significant updates to BeamDyn developed at Envision Energy. These updates have been tested and validated as shown below.
The following updates are included:

The load initialization scheme is improved in the static routine at commit 80c28d9
These GitHub issues are resolved:

https://github.com/OpenFAST/openfast/issues/11
https://github.com/OpenFAST/openfast/issues/26

Issue 11
Sectional load calculations are fixed in commit 0829f84 at line 1569.
This issue is exposed by evaluating the results of the BeamDyn regression test case 5MW_Land_BD_DLL_WTurb. In the OpenFAST dev branch, the first node is at the root but the sectional loads do not match the root loads. Furthermore, the BeamDyn sectional loads do not match the ElastoDyn sectional loads. In this case, the blade root has 13.3 degrees of structural twist so the difference in loads between section 1 and root is related to the offset coordinate systems between blade local and blade reference.
The charts below compare the solutions of the NREL 5MW turbine regression test cases with ElastoDyn and BeamDyn. The left and right columns (ElastoDyn and BeamDyn solutions, respectively) are expected to match. The charts in the upper and lower rows (root and first section, respectively) are expected to differ in magnitude. However, a difference in the ElastoDyn and BeamDyn solution is clearly shown.
Note the difference in units: N vs kN.

The updated BeamDyn solutions demonstrate agreement between the sectional and root loads and are validated by ElastoDyn.

The OpenFAST regression test case using BeamDyn, 5MW_Land_BD_DLL_WTurb, does not currently output the sectional loads, so this bug was not exposed there and it does not require an updated baseline solution. However, the BeamDyn specific regression test bd_5MW_dynamic does require an update to the baselines as the sectional loads have been updated. The root and node 1 forces and moments are shown side by side with the corrected BeamDyn solutions below.

Issue 26
Initial translational velocity calculation is fixed at commit 97d1c2a.
The problems is exposed by running 5MW_Land_BD_DLL_WTurb with initial azimuth angle 0 and 120 from the OpenFAST dev branch. With an initial azimuth of 120 degrees, it is expected that the root moments would simply shift blade numbers in this pattern:

Blade 1 at azimuth 0 -> Blade 3 at azimuth 120
Blade 2 at azimuth 0 -> Blade 1 at azimuth 120
Blade 3 at azimuth 0 -> Blade 2 at azimuth 120

The solution from openfast/dev is shown in the charts below where the root moments do not shift as expected and a frequency variation is introduced in the rotor torque.

The following charts show that this pull request fixes the root moment blade shift and calculates a consistent rotor torque.

@ghaymanNREL in response to your question in an earlier pull request (https://github.com/OpenFAST/openfast/pull/109) regarding the openfast-related regression tests, here are the results from peregrine. As expected, the only failing case is the BeamDyn associated case.
[rmudafor@login2 reg_tests]$ python3 manualRegressionTest.py ../build/glue-codes/fast/openfast linux intel 1e-5 -n
executing AWT_YFix_WSt                           PASS
executing AWT_WSt_StartUp_HighSpShutDown         PASS
executing AWT_YFree_WSt                          PASS
executing AWT_YFree_WTurb                        PASS
executing AWT_WSt_StartUpShutDown                PASS
executing AOC_WSt                                PASS
executing AOC_YFree_WTurb                        PASS
executing AOC_YFix_WSt                           PASS
executing UAE_Dnwind_YRamp_WSt                   PASS
executing UAE_Upwind_Rigid_WRamp_PwrCurve        PASS
executing WP_VSP_WTurb_PitchFail                 PASS
executing WP_VSP_ECD                             PASS
executing WP_VSP_WTurb                           PASS
executing WP_Stationary_Linear                   PASS
executing SWRT_YFree_VS_EDG01                    PASS
executing SWRT_YFree_VS_EDC01                    PASS
executing SWRT_YFree_VS_WTurb                    PASS
executing 5MW_Land_DLL_WTurb                     PASS
executing 5MW_OC3Mnpl_DLL_WTurb_WavesIrr         PASS
executing 5MW_OC3Trpd_DLL_WSt_WavesReg           PASS
executing 5MW_OC4Jckt_DLL_WTurb_WavesIrr_MGrowth PASS
executing 5MW_ITIBarge_DLL_WTurb_WavesIrr        PASS
executing 5MW_TLP_DLL_WTurb_WavesIrr_WavesMulti  PASS
executing 5MW_OC3Spar_DLL_WTurb_WavesIrr         PASS
executing 5MW_OC4Semi_WSt_WavesWN                PASS
executing 5MW_Land_BD_DLL_WTurb                  FAIL

The regression test baseline solutions have been updated for all supported platform/compiler combinations. After review, this pull request can be merged.


Add support for dynamic parameter declaration in param()

Summary of the new feature / enhancement
Static parameters can easily be defined declarative inside a param() structure.
Dyamic parameter is not directly supported and must be programmed inside a dynamicparam section of a scriptblock. This requires deep knowledge of intrinsic types and concepts.
By adding a new attribute [Dynamic()], parameters can easily be declared as being dynamic. The attribute could take a scriptblock as argument to specify the condition under which the dynamic parameter would show.
param
(
    # regular static parameter
    [string]
    $Normal,

    # show -Lunch only at 11 a.m. or later
    [Dynamic({(Get-Date).Hour -ge 11})]
    [switch]
    $Lunch,

    # show -Mount only when -Path refers to a local path (and not a UNC path)
    [string]
    $Path,

    [Dynamic({$PSBoundParameters['Path'] -match '^[a-z]:'})]
    [switch]
    $Mount
)

Here is a working example and a proof of concept (hosted in the gallery) that shows how dynamic parameters could be leveraged this way:
https://github.com/TobiasPSP/Modules.dynpar/blob/main/README.md
It would be awesome if both the attribute [Dynamic()] and the auto-generation of the code would one day be natively integrated in PowerShell so users would just need to choose which of their parameters should be dynamic, and when.
Proposed technical implementation details (optional)
Technical implementation available here: https://github.com/TobiasPSP/Modules.dynpar/blob/main/README.md

@TobiasPSP  I saw this in the working group, but it's probably better to put my input here.
To me the main use case for dynamic parameters has always been the parameter which only appears if some condition is satisfied.  It is a pain to have to refer to these through $psboundParameters because dynamic parameters aren't automatically accessible as $ParamName. I would see just fixing that as a win.
We already have a DontShow member for parameters which we want to be accepted by not suggested to the user;  a  "Don't show and error if it is given" option which is evaluated at run time would address the need for dynamically appearing / disappearing parameters. Something like  [ArgumentCompleter( )]  which takes either a type or a ScriptBlock , strikes me as ideal - especially if it took the same arguments.
There are many cases where we want to say "If switch A is specified hide B and C"  and we send people to parameter sets for that - which is OK if there is already only one parameter set - we put A in one set and B&C in another.
But if we already have multiple parameter sets  like "By-ID" and "By-Name" we need to make   "By-ID-withA" "By-ID-withoutA" and "By-Name-withA" "By-Name-withoutA", and put everything in the correct pair of sets.   If we also want to hide Y and Z when X is shown, and we have By-Address as well name and ID we end up with 4 combinations of with/without A and X multiplied by 3 selections, and making sure everything has the right 3 or 4 from 12 becomes a nightmare.  This suggestion could simplify parameter sets  which would also be a win.
The biggest case where I have seen aspects of the parameter were built dynamically was the VSTeam (Azure DevOps) module - where validation sets were built on the fly with information fetched from the server.
Enumerating commands can cause their dynamic parameters to be generated and IIRC there were well over 100 of these parameters which meant Get- [tab]  caused the machine to stop while dozens of API calls were made and the results processed.  So the Dynamic parameters became static parameters with classes doing the work.
Without this case and the hide/show usage, the other build-at-run-time parameters I've met don't many common requirements and often need a lot of code which best kept out of the param() block.  I can imagine cases were we want other properties of the parameter to change dynamically for example -P  becomes mandatory only if  -Q  has a negative value.  But is any a sufficient pain point to justify a change.
I think " there/not there " is the case with real benefit, and it might be better to have name for this that is distinct from "dynamic"  It's something in the same family as completers, transformers, and validators

We discussed this in the cmdlet working group. The use of dynamic parameters is considered to be a functionality not commonly used by Powershell users. Those who need them can use the dynamicparam block as is, and optionally use generators or the suggested new attribute to generate the required code. Given the relatively small numbers of users who would benefit, this suggestion will not be implemented into the core engine.

That probably is better use of limited resources, but still a pity.
This remains a good idea - dynamic parameters are not commonly used because using them is so painful as things stand.
I'm cross that I missed the discussion. I would like to know if there's a feeling that the need is small - that may be true, but  I think there are people who are neither using parameter sets (because putting each of 10 parameters in the right combination of 10 sets is for Masochists only)  nor using dynamic parameters (for similar reasons) and writing something inside a function to trap impossible combinations.  If that is so then the low use of dynamic parameters is proof that this is needed, not that it isn't :-)

I agree (no surprise since I suggested the feature enhancement in the first place) yet I do understand the resource issue. Unfortunately, this suggestion is one of the few that can't be implemented by the community as it requires the new attribute to be honored by the engine to make sense, and it doesn't appear to be a huge engineering effort. That said, it was discussed, and it was turned down at this time. Maybe in the future there is an opportunity to revisit.

@TobiasPSP I believe my PR here would be helpful but I need more community support: https://github.com/PowerShell/PowerShell/pull/20069


Polish language support

Hello!
Is it possible to add a translation into Polish?
If so, I can send the translated file :D

If you translate it, probably.
if you don't know the "correct" way to do this with git:

use the 'fork' option to create your copy of the project
add the pl_PL.jsin language file, this can be done in the browser.
open a pull request here so the dev can accept it or request changes, if needed

https://github.com/Xantrisse/NBT-Editor-Mod-Polish-translation

This looks good! I'll make sure to include the language file in the next update. Thanks!

This has just been released in 1.12.2! Thanks for the translation.


Mark smoke_catalina_hot_mode_dev_cycle__benchmark not flaky

Description
smoke_catalina_hot_mode_dev_cycle__benchmark seems to be consistently passing. Mark as not flaky.
Related Issues
See https://github.com/flutter/flutter/issues/36290.

If the "Windows" or "Linux" statuses are marked red on here, they are safe to ignore.  Testing new infra.

The windows failure is an infra failure.  Safe to ignore.


Fixed eventhubs default proxy configuration bug

Description
Fixed the same issue as #24230 in EventHubClientBuilder
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-messaging-eventhubs


RuntimeError: unexpected EOF, expected 464151 more bytes. The file might be corrupted.

Hi! Firstly, I want to thank you for such an amazing work! However, I met a problem when I was trying to run the evaluation code. Here is the information. Can you help me out?
Setting up [LPIPS] perceptual loss: trunk [vgg], v[0.1], spatial [off]
/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torchvision/models/_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and will be removed in 0.15, please use 'weights' instead.
  warnings.warn(
/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torchvision/models/_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and will be removed in 0.15. The current behavior is equivalent to passing `weights=VGG16_Weights.IMAGENET1K_V1`. You can also use `weights=VGG16_Weights.DEFAULT` to get the most up-to-date weights.
  warnings.warn(msg)
Downloading: "https://download.pytorch.org/models/vgg16-397923af.pth" to /home/user/.cache/torch/hub/checkpoints/vgg16-397923af.pth
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉| 527M/528M [01:20<00:00, 6.87MB/s]
Traceback (most recent call last):
  File "main.py", line 148, in <module>
    main(sys.argv)
  File "main.py", line 124, in main
    runner = instantiate_from_config(config.runner)
  File "/mounted/media/yanglu/4090_2/users/lyj/Project/HAHA/utils/general.py", line 34, in instantiate_from_config
    return get_obj_from_str(config["target"])(**config.get("params", dict()))
  File "/mounted/media/yanglu/4090_2/users/lyj/Project/HAHA/runners/train_gaussians.py", line 127, in __init__
    self._setup_criteria(criteria_config)
  File "/mounted/media/yanglu/4090_2/users/lyj/Project/HAHA/runners/train_gaussians.py", line 154, in _setup_criteria
    criterion = instantiate_from_config(config)
  File "/mounted/media/yanglu/4090_2/users/lyj/Project/HAHA/utils/general.py", line 34, in instantiate_from_config
    return get_obj_from_str(config["target"])(**config.get("params", dict()))
  File "/mounted/media/yanglu/4090_2/users/lyj/Project/HAHA/criteria/perceptual_loss.py", line 15, in __init__
    self._loss_fn = lpips.LPIPS(net="vgg")
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/lpips/lpips.py", line 84, in __init__
    self.net = net_type(pretrained=not self.pnet_rand, requires_grad=self.pnet_tune)
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/lpips/pretrained_networks.py", line 99, in __init__
    vgg_pretrained_features = tv.vgg16(pretrained=pretrained).features
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torchvision/models/_utils.py", line 142, in wrapper
    return fn(*args, **kwargs)
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torchvision/models/_utils.py", line 228, in inner_wrapper
    return builder(*args, **kwargs)
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torchvision/models/vgg.py", line 410, in vgg16
    return _vgg("D", False, weights, progress, **kwargs)
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torchvision/models/vgg.py", line 105, in _vgg
    model.load_state_dict(weights.get_state_dict(progress=progress))
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torchvision/models/_api.py", line 63, in get_state_dict
    return load_state_dict_from_url(self.url, progress=progress)
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torch/hub.py", line 731, in load_state_dict_from_url
    return torch.load(cached_file, map_location=map_location)
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torch/serialization.py", line 713, in load
    return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
  File "/home/user/miniconda/envs/textured-avatar/lib/python3.8/site-packages/torch/serialization.py", line 938, in _legacy_load
    typed_storage._storage._set_from_file(
RuntimeError: unexpected EOF, expected 464151 more bytes. The file might be corrupted.

This problem is probably related to the internet connection. I recommend you to try again to fully download these models if you have the same issue.

Hi! As I see you have a problem with the lpips package. Try to reinstall it or build from source: https://github.com/richzhang/PerceptualSimilarity

Hi! As I see you have a problem with the lpips package. Try to reinstall it or build from source: https://github.com/richzhang/PerceptualSimilarity

Thanks for your reply. I have already run your code successfully by cleaning the cache and run again to download these models.🙂


Add lab goals / Rework lab requirements

The first commit adds a new file to describe the expected goals of the lab.
The 5 other commits are reworking the requirements to fit the goals and make it lighter.

I've updated the PR after the discussion above in order to have a first agreed base that we can extend.
Changes are:

Fix markdown syntax
Keep initial thought about backup of critical servers only
Remove demonstration goal as it is not agreed yet (keep only automatic tests to start with)
Remove privacy requirement as it is under active discussion

I hope we can agree on these first basic assumptions, so we can all follow up with more proposals.
Thanks

Replaced by #540


CORS request still blocked on Sail/WSL2 after 0.3.0 update, public hot file still loads from <IP_ADDRESS>

Laravel Vite Plugin Version: 0.3.0
Laravel Version: 9.19.0
Node Version: 16.13.2
NPM Version: 8.4.1

Description:
Application fails to load with error:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://<IP_ADDRESS>:3002/@vite/client. (Reason: CORS request did not succeed). Status code: (null).
The error can be temporarily fixed by changing the /public/hot file to
https://localhost:3002
Of course running sail npm run dev will rewrite the /public/hot file to
https://<IP_ADDRESS>:3002
Note:
The result of the npm run dev commands shows:
vite v2.9.13 dev server running at:

Local: https://localhost:3002/

Steps To Reproduce:
Load application, screen is blank
Console shows CORS error.

vite config:
server: {
https: true,
port: 3002,
hmr: {
host: "localhost",
},
},
docker-compose per new install laravel 9.19.0
VITE_PORT in environment var is set to 3002

@ronfuller I'm unable to replicate this with 0.3.0. Can you please confirm you have the correct version by running npm list | grep laravel-vite-plugin?
You may need to run npm install -D laravel-vite-plugin@latest as the version bump may not meet the requirements in your package.json.

I was able to resolve this issue after running the npm install -D command.
Thank you.
On Tue, Jul 5, 2022 at 4:29 PM Jess Archer @.***> wrote:

@ronfuller https://github.com/ronfuller I'm unable to replicate this
with 0.3.0. Can you please confirm you have the correct version by
running npm list | grep laravel-vite-plugin?
You may need to run npm install -D @.*** as the
version bump may not meet the requirements in your package.json.
—
Reply to this email directly, view it on GitHub
https://github.com/laravel/vite-plugin/issues/62#issuecomment-1175598987,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACKOT5PW4VLLVPDMTAWZGCDVSTANXANCNFSM52W4WECA
.
You are receiving this because you were mentioned.Message ID:
@.***>


sqlcmd behind http_proxy

I'm currently struggeling setting up a working connection with sqlcmd to an MSSQL Database hosted on Azure.
My main goal is to execute a file containing different SQL queries query.sql during a deployment pipeline.
If I run the the following command on my development Machine everything is working fine. That's because there is no http_proxy in place. The exact same command is failing on our pipeline runners which are covered with a http_proxy.
./sqlcmd -S tcp:server-name.database.windows.net:1433 -d db-name -i query.sql
So I started messing around with nc and ncat but without any luck.
ncat --sh-exec "ncat --ssl server-name.database.windows.net 1433 --proxy-type http --proxy proxy-server:3128" -l 14333 --keep-open -vvv
then try to connect with:
./sqlcmd -S tcp:localhost:14333 -d db-name -i query.sql
But this results in mssql: login error: Cannot open server "localhost" requested by the login.  The login failed.
Im sure the credentials are correct and working. By the way username and password are comming from these to ENV's:

SQLCMDUSER
SQLCMDPASSWORD

All the commands and tests are done within a debian:bookworm container
Is anybody facing the same issue? or has an working approch to get trough a http_proxy? Or would it be possible to make go-sqlcmd proxyaware?
Thanks
Cheers e-bits

Do you have any example applications that talk to Azure SQL DB through this same proxy? The TDS protocol uses tcp but not http so I'm not sure what the expectation is here. I am not a networking expert at all, though.

No I did not found any application talking to Azure SQL DB through this proxy.
If for example I would like to connect to an SSH Server from this same environment (behind proxy) I need to configure this:
"ProxyCommand nc -X connect -x $PROXY_IP:$PROXY_PORT %h %p" >> ~/.ssh/config
You're probably pointing me into right direction. How to check if our proxy is also handling tcp traffic?


BREAKING CHANGE: support for Alaska logos by prop

Alaska Airlines Pull Request
BREAKING CHANGE: This update requires a breaking change as the API for
applying custom color and size has been changed.
Fixes: https://github.com/AlaskaAirlines/auro-icon/issues/7
Summary:
This update address the need submitted by #7, as well as address additional concerns about custom color and size management.
See http://auro-21.surge.sh/ for demo
Type of change:
Please delete options that are not relevant.

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

Checklist:

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

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

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Ensures URLs starting with a double slash are handled correctly

According to RFC 3986:

A relative reference that begins with two slash characters is termed a network-path reference

Thus, there may be URLs showing up as //github.com, which would set the appropriate protocol according to the current scheme, thus redirecting to https//github.com for instance if the current page is using HTTPS.
This ensures that values starting with a double slash are not concatenated to the base URL.

Cool, thanks!


gracefully handle pre-existing binary artifact from failed downloads

motivation: when binary artifact download fails it may leave behind a partial or otherwise corrupt file
changes:

remove pre-existing archive file before attempting to download the same file again
add test

@swift-ci please smoke test


use secureJSON for X-ClickHouse* headers on frontend and backend part of plugin

look to https://github.com/grafana/grafana-plugin-repository/pull/928#issuecomment-852943776

@daniellee could you suggest, is it possible to use secureJSONData for browser Mode access when grafana pass http request directly to clickhouse server?


Generate screen doesn't work and infinite prints gibberish

What's going on?
I do the command npx ignite-cli g screen question and this is what I get

Steps to reproduce

create ignite project using the --expo option
npx ignite-cli g screen question
watch

npx ignite-cli doctor results:

Same with Mac :(

Same here!

Same here. Been looking into it all day 😔

I believe this issue is related to the Marak Zalgo Liberty 2 bug.
https://snyk.io/blog/open-source-maintainer-pulls-the-plug-on-npm-packages-colors-and-faker-now-what/
Marak/colors.js#285

Can confirm this is part of the color.js LIBERTY bug.

Looks like npm reverted the bad updates, so I reinstalled ignite-cli, and now its working 👍

Looks like npm reverted the bad updates, so I reinstalled ignite-cli, and now its working 👍

how to reinstall the ignite-cli completely? i try using npm uninstall but it doesnt work

It seems this has been patched since, so you can close it. 👍


Show active repository name in status bar

This PR is related to #99617
Example:

Related to #105476

Sorry about closing this down. Feature request has been closed. Also, the right solution would've been through SCM, not git. Thanks anyway!


Obtain a new KeyContext if the old one expires or runs out of encryptions

When obtaining a future through getKeyContext, if the cached future is done we check if it can handle the next batch of encryptions, if not we request a new keyContext and cache the new future.
Why:
We need to change to a new DEK after some amount of encryption work because by the NIST guidelines we should only use the key material to encrypt some limited amount of data and it should also have some limited lifetime

Instead of merging this I'll make an issue @tombentley, feels like this is risky around when we destroy the key context. We want to destroy after the final 'user' of the context finishes encrypting, not destroy it underneath some thread that is encrypting.


Unable to open GML dialects directory on Windows ("/" instead of "")

When trying to open the GML dialects directory from within GMEdit, I get a file not found error.
I assume that the problem is that forward slashes are inserted after "Roaming" instead of backward slashes.
(Version: "GMEdit-Beta-Windows" from Mar 5, 2024)

I think, something like
var pathSeparator = Sys.systemName() == "Windows" ? "\\" : "/";
could work to use the right path separator, but that should be changed all over the code, right?

That's quite funny, just recently a similar bug was fixed in another function after I reported it 6 years ago.


AdvancedConfigurationXmlDocument does not support param in path

My api has a path param that is needed for every single call. For this reason it seems like the configuration xml would be the perfect place to put this param.
When i try to add it in the configuration xml i get "Path paramater: [param name] is undocumented in http://someAddress/[param name]".
My xml:
<configuration>
  <operation>
    <annotation>
      <param name="[param name]" required="true" cref="T:System.String" in="path">description</param>
    </annotation>
  </operation>
</configuration>

Is this a bug or working as intended?
PS. Header and query params works just fine. Also the path param works when i place it in the summary for every single call. So it must be the configuration xml that does not support it.

Hello @srenrd. I suspect we don't support path parameters due to their non standard location in the URI string. For example, what if a URI has two path params? How would you identify the location of each? Headers and querystring params can always be simple "appended" to the request, but path params must be put in a specific place in the URI. Let me follow up with some other contributors and we'll see if it's paractical to try to support this.

Based on discussions and feedback, implementing this would be difficult and the scenario is likely uncommon. Closing unless we get wider interest.


Added Quake-Engine as a typical game engine

Added Quake-Engine as a typical game engine and github link under "More Information".

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@topfolas Thanks for this pull request (PR).
Unfortunately, we are marking this PR invalid for hacktoberfest. We believe it does not follow the recommended guidelines:

Quality Standards
In line with Hacktoberfest value #2 (Quantity is fun, Quality is key), we have provided examples of the quality >standards we encourage. This applies mainly to beginners.

PRs that are automated e.g. scripted opening PRs to remove whitespace / optimize images.
PRs that are disruptive e.g. taking someone else's branch/commits and making a PR.
PRs that are regarded by a project maintainer as a hindrance vs. helping.
Something that's clearly an attempt to simply +1 your PR count for October.

Learn more at https://hacktoberfest.digitalocean.com/details


Error in 1:k[i] : NA/NaN argument

I obtain this error Error in 1:k[i] : NA/NaN argument (which I guess it says that the input parameters are wrong, which is not the case) when invoking the CNproScanCNV function:
eandres@nodo00:~/Bioinformatica/EXT/06-EXT-20-Encarni/CVN/bam$ ls -l P8_mapped.sort.coverage
-rw-rw-r-- 1 eandres bioinfo 110041464 Oct  4 14:01 P8_mapped.sort.coverage
eandres@nodo00:~/Bioinformatica/EXT/06-EXT-20-Encarni/CVN/bam$ ls -l P8_mapped.sort.bam*
-rw-rw-r-- 1 eandres bioinfo 338459747 Oct  4 13:49 P8_mapped.sort.bam
-rw-rw-r-- 1 eandres bioinfo     13968 Oct  4 13:54 P8_mapped.sort.bam.bai
eandres@nodo00:~/Bioinformatica/EXT/06-EXT-20-Encarni/CVN/bam$ ls -l ../../Analisis/Genoma/GCA_000750555.1_ASM75055v1_genomic.fna
-rwxrwxr-x 1 bioinfo bioinfo 4689417 Nov 17  2020 ../../Analisis/Genoma/GCA_000750555.1_ASM75055v1_genomic.fna
eandres@nodo00:~/Bioinformatica/EXT/06-EXT-20-Encarni/CVN/bam$ R

R version 4.0.5 (2021-03-31) -- "Shake and Throw"
Copyright (C) 2021 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

> setwd("~/Bioinformatica/EXT/06-EXT-20-Encarni/CVN/bam")
> coverage_file="P8_mapped.sort.coverage"
> bam_file<-"P8_mapped.sort.bam"
> fasta_file="../../Analisis/Genoma/GCA_000750555.1_ASM75055v1_genomic.fna"
> library("CNproScan")
> DF<-CNproScanCNV(coverage_file, bam_file, fasta_file,8)
Error in 1:k[i] : NA/NaN argument
>

Hi, Would you mind sending me those files used?
Yeah, the error will be somewhere inside.

Thanks for your quick response.
I'm trying to create smaller files since P8.bam is a huge file
I'll let u know asap
Kind regards

Here they are:
https://saco.csic.es/index.php/s/Qjmcb33JtRFkfw2
Please let me know once you have the files to make them unaccessible

Hi, I made some corrections of untreated conditions and now it should work. Just reinstall it:
devtools::install_github("robinjugas/CNproScan")
library("CNproScan")
setwd("/...")
coverage_file="P8_mapped_sort.coverage"
bam_file<-"P8_mapped_sort.bam"
fasta_file="NZ_CP009273.fa"
DF<-CNproScanCNV(coverage_file, bam_file, fasta_file,8)

Would you please send me a feedback if the package was useful and if you found a CNVs you expected? Thanks!

Thanks for ur help !!! It worked with all files in the experiment

You're welcome. Cheers!


Remote walkthrough explorer pic is incorrect

Testing #175022
Shows the file explorer and not the remote explorer

I can't seem to repro this. Both insiders.vscode.dev and desktop open the remote explorer view for me.

I was merely pointing out that the artwork is for the file explorer and not the remote explorer.

My bad! Removed this step in the recent polishing of the walkthrough content.


Why simple refactoring fixes from 2018 getting code-dropped in 2020?

Why simple refactoring fixes from 2018 getting code-dropped in 2020?
Can you please streamline your processes of releasing non-feature bugfixes, refactors, whitespace changes, such that they land publically as soon as they are developed? And not a year and a quarter later?

Changes are pushed upstream fairly regularly. The only commits from 2018 that were pushed recently were related to the FCP Endpoint Security feature. Most of the time there are internal reasons that prohibit a push to upstream and delay the public availability.
I can't see any of the mentioned non-feature bugfixes, refactors, whitespace changes that would've been made back then. Quite a few changes of that sort, however, were pushed just recently in the scope of the development of a new tool.
I don't think that we hold back on those kind of changes (there would be no reason). What exactly is the issue for you? Do you encounter conflict because you've made similar changes? You're always welcome to send PRs for non-feature bugfixes, refactors, or whitspace changes.

I don't have immediate concerns about the code that has been made public.
My concern is with the internal reasons that prohibit a push to upstream and delay the public availability and my wish to eliminate those.
Ubuntu is downstream, and for all other hardware vendors we integrate public trees that are not yet merged upstream for toleration and exploitation of unreleased hardware. E.g. we pull kernel/toolchain Linaro trees before they are finalised and merged in respective upstream. Yet with s390-tools, we are made aware that a code-drop is coming, and the patches are available, yet there are no public-pre-release trees for us to pull from. That would be ok, if the patches are not developed yet / not stable yet. It feels like the code was ready for a long time, just not made public.
I recall when Linux upstream pulled support for a hardware family for like more than a year, with many updates (both toleration and exploitation). Only for that hardware family to never GA, and subsequently it was dropped from Linux upstream. I prefer that. Because downstream can integrate all the code, making it so much easier to develop and test future hardware, as everything pre-supports it out of the box.
Please consider maintaining a devel/next branch, which is rebased on top of master, and includes future integration patches/trees, which have no API/ABI stability guarantees and are expected to be rewritten/dropped/evolve. This way, there is a public tree to land cutting-edge changed, which might not be quite ready for wide consumption. Something similar to the next linux kernel trees in spirit.


Package package error

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
RROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.0:compile (default-compile) on project seata-common: Compila tion failure                                                                                [ERROR] /D:/seata/seata-0.8.1/seata-0.8.1/common/src/main/java/io/seata/common/util/ReflectionUtil.java:[188,41] ▒▒▒▒▒ݵ▒▒▒▒▒: java.util.Set va.lang.Class>▒޷▒ת▒▒Ϊjava.util.Set>
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version :1.8
OS :windows
Others:

may be you dependency download fail. we have CI build. https://travis-ci.org/seata/seata/builds

Please ensure you've pulled the latest code of seata,then please run following commands to build.
mvn clean install -DskipTests=true -U


Preview of template should show all phases and each phase's details

Expected behaviour:
Preview of template should show all phases and each phase's details
Actual behaviour:
I have 2 phases - both have section and question, but when I click preview on first one, it only shows the section and question details, and it didn't show the phase details. It also didn't show any info about the other phase. I expect preview to allow me to preview project details and also allow me to see other phase's information.
Steps to reproduce:
create a new template
create 2 new phases and for each, add one section and one question
click preview on either of them
observe that it doesn't display preview details
also observe that it shows no information about the other phase

I went to check funder's template: The Belmont Forum Data and Digital Output Management Plan which has more phases and I could see the details of all phases, closing out here

I think we may want to re-evaluate this as there's a couple related issues with this functionality:
The Phase description is not displayed on either the template-preview page or on the edit-page after a plan is created.  Further, the template-preview view only displays one phase on a multi-phase template:
Template Preview

Edit Plan

The only place that phase-descriptions are displayed is the plan overview page:
Plan Overview

@mariapraetzellis do you have opinions on phases? My gut feeling is that they wouldn't be used much once we introduce versioning. Maybe @dsisu has more insight, but I think we better use our effort elsewhere.


refactor: replace calling oidc cli with some code

Question: the readme needs updates ?

Question: the readme needs updates ?

good point! Did that too.


pull request for e2e test at 11/25/2016 07:26:07

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Korean font we are using looks bad

This is a story for changing the font and size we are using for our Korean translations on the cards and the Twitch Extension. We have a customer support ticket opened here of a new user giving feedback on how hard it is to read the font:
https://app.intercom.io/a/apps/lhrr2hfa/inbox/inbox/all/conversations/17911380051
Also here is a screenshot of what a card looks like on the site in Korean right now:
https://s3.amazonaws.com/art.hearthstonejson.com/v1/render/latest/koKR/512x/AT_001.png

The Chinese font has the same problem.
Official:
http://hearthstone.nos.netease.com/1/hscards/MAGE__AT_001_zhCN_FlameLance.png

hearthstonejson site:
https://art.hearthstonejson.com/v1/render/latest/zhCN/512x/AT_001.png

Anything I can do to make it better?


TryParse method without throwing exception

Haven't found al alternative way to parse without throwing exception. This would be handy if one needs to suppress exception or exception info is not needed in execution context.
Suppressing exception could also increase performance in case of multiple parses.
var isSuccess = interpreter.TryParse(expression, out var lambda);

Can't you simply add an extension method that suits your needs? That's probably how it would be implemented any way..
public static bool TryParse(this Interpreter interpreter, string expressionText, out Lambda lambda)
{
  try
  {
    lambda = interpreter.Parse(expressionText);
    return true;
  }
  catch
  {
    lambda = null;
    return false;
  }
}

@halamah there is also a DetectIdentifiers function:
https://github.com/dynamicexpresso/DynamicExpresso#identifiers-detection
Maybe this can be useful for your use case? Or can you elaborate it a little bit more?

Yep, I'm using both suggestions above at the moment. Thanks.


[Hub Generated] Review request for Route to add version preview/2023-08-01-preview

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
Data Plane API - Pull Request

API Info: The Basics
Most of the information about your service should be captured in the issue that serves as your engagement record.

Link to engagement record issue:

Is this review for (select one):

[ ] a private preview
[ ] a public preview
[ ] GA release

Change Scope
This section will help us focus on the specific parts of your API that are new or have been modified. Please share a link to the design document for the new APIs, a link to the previous Open API document (swagger) if applicable, and the root paths that have been updated.

Design Document:
Previous Open API Doc:
Updated paths:

❔Got questions? Need additional info?? We are here to help!

 Contact us!
The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

💬 Teams Channel
💌 email

Click here for links to tools, specs, guidelines & other good stuff
Tooling

Open API validation tools were run on this PR. Go here to see how to fix errors
Spectral Linting
Open API Hub

Guidelines & Specifications

Azure REST API Guidelines
OpenAPI Style Guidelines
Azure Breaking Change Policy

Helpful Links

Azure DevTools Wiki

remember to update preview folder name and api version from "2023-05-31-preivew" to "2023-08-01-preview".

/azp run unifiedPipeline