Inconsistent type widening with results of higher-order functions

Bug Report
When assigning the value 0 or 1 to the field of an object, see below, type widening infers the type number. When doing the same through a generic higher-order function, the field gets the type 0 | 1. This can trigger a type error when using that value in another generic high-order function that assigns to the object as a side-effect.
🔎 Search Terms
type widening
inconsistency
🕗 Version & Regression Information
Appears in all versions on Playground (back to 3.3.3333).
Also appears in Nightly (v. 5.0.0.-dev20221116)

This is the behavior in every version I tried, and I reviewed the FAQ for entries about widening

⏯ Playground Link
Playground link with relevant code
💻 Code
// The following example works by type widening

function wrap<L>(v: L): { val: L } {
    return { val: v };
}

export function thisworks(): number {
    const g = (b: boolean) => { return b ? 1 : 0; }
    let o = wrap(g(true));
    o   /// Type: o: { val: number }
    o.val += 1;
    // o.val : number
    return o.val;
}

// The following example does exactly the same but combines `wrap` and `g`
// into a single call to a high-order function.
// Now type-widening doesn't apply.

function applyWrap<L>(b: boolean, map: (b: boolean) => L): { val: L } {
    return { val: map(b) };
}

function mapVal<L>(o: { val: L }, map: (arg: L) => L): void {
    o.val = map(o.val);
}

export function doesntwork(): { val: number } {
    let o = applyWrap(true, (b: boolean) => { return b ? 1 : 0; });
    o   /// Type: o: { val: 0 | 1 }
    // The next line triggers an error by again preventing type widening in the assignment
    mapVal(o, v => { return v + 1; });
    // This line would have worked:
    // o.val += 1
    return o;
}

🙁 Actual behavior
I get a type error in the function doesntwork on the mapVal call. This is because type widening did not apply as expected to o, so it has type { val: 0 | 1 }. Simultaneously, type widening is also disabled at the mutation mapVal -- simply writing o.val += 1 instead of the mapVal call would have worked.
🙂 Expected behavior
I expected that the behaviour of type widening remains the same in the case of using high-order callbacks to generate the value and not.

The widening rules are in place to heuristically attempt to infer "better" types and different code is allowed to behave differently under these heuristics
Re increment, see https://github.com/microsoft/TypeScript/issues/14745#issuecomment-459881335

I expected that the behaviour of type widening remains the same in the case of using high-order callbacks to generate the value and not.

When specifying expected behavior, "the same" isn't really actionable. "These two slightly different things should behave identically" quickly runs into transitivity problems -- A1 is close to A2 is close to A3 is close to A4 so each step should be "the same", but if A1 and A4 have manifestly different desirable behaviors, then something has to give somewhere.

Understood, that type widening is a heuristic that tries to balance psychological expectancy with precise semantics, and that there will be unboundedly many special cases you could consider.
For this issue, I'd expect type widening to apply in the same way because locally, all precisely-determined types on right-hand-sides in the doesntwork function are the same as in the thisworks function. All that differs is the way the values and types came about. But I readily acknowledge ignorance of the way type widening works on a deeper level and in implementation, and that there may be subtleties I'm not seeing.


Generic filter api PoC Variant 3/3

First draft to introduce a generic filter api to discuss the graphql api.
This variant (3/3) has a bit different api (compared to (2/3)) using input instead of enum for operations. Similar to mikro-orm or mongodb api.

implementend in https://github.com/vivid-planet/comet/pull/713


关于flutter连接SQL的问题

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: SocketException: Socket has been closed
如果添加了await查询语句就会报错，不添加查询语句能正常连接。
await conn.query(
'CREATE TABLE users (id int NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(255), email varchar(255), age int)');

@notture
From the code you provided and error, it doesn't seem to be related to flutterfire plugins. You may need to reach out to the sql plugin repo you are using.
Closing from here.


✏ Fix README typos

Fix README typos
Description:
This PR corrects several typos in the README file to enhance readability and clarity. Changes include:
Correcting typos in the code examples (e.g., adding missing quotation marks and commas).
Standardizing the heading levels for sections like "Installing", "Usage", "API", "Contributing", "Notes", and "License".
Other minor grammatical corrections.
These changes aim to improve the documentation for users and contributors alike.

I've merged some of the changes, but omitted others.
I kept my (personally) preferred syntax, as I find it easier to read in a terminal and the rendered markdown is identical.
Thanks! :)


cilium-cli/connectivity: apply retry options in all toFQDNs tests

Best reviewed by commit.
The first commit is a preparatory drive-by cleanup.
The 3rd commits allows to set retry options for the pod-to-world2 scenario.
The 4th commit is the actual change:
Currently, the retry options provided via CLI parameters only affect the
pod-to-world to-fqdns http-to-<host>-<num> action testing HTTP
connectivity. However, there are also actions testing HTTPS
connectivity. Due to the current WithRetryDestPort(80) option, the retry
options won't be applied for these actions. Change the optiojn to
WithRetryAll() so the retry options are applied to each of the actions
in the scenario. Same is the case for pod-to-world2 scenario which tests
HTTPS connectivity to cilium.io.

Some of these actions flake quite frequently due to rate-limiting on the
external target's side (e.g. Cloudflare). Notably, they usually flake
for HTTPS connectivity. Enabling the retry options on all actions should
help alleviate these flakes a bit.

/test

/test

/test


fix(helpers,transformers,types): fix DiscordConnection key casing, add transformIntegrationCreateUpdate transformer, add getUserConnections helper

Closes: #2133
https://discord.com/developers/docs/resources/user#get-user-connections
fix DiscordConnection interface keys not in snake case
add transformConnection interface
add transformIntegrationCreateUpdate transformer
Fix it so that the transformIntegrationCreateUpdate transformer is used for both INTEGRATION_UPDATE and getIntegrations

Not a fan of this pr, too much going on here. Some make sense but others do not which makes it hard to merge this PR. Some changes require explanation like why a new transformer was added and why it is different than the integration one


Mdify VM mutator to support updating NAD

Related issue: https://github.com/harvester/harvester/issues/3372
To fix the test cases from QA verification. Refer to https://github.com/harvester/harvester/issues/3372#issuecomment-1434309106 for the detail.
Solution:

Clear all the VM node affinity rules which contain the string `network.harvesterhci.io"
Add the node affinity rules according to VM networks

Also please check the CI failure.

Also please check the CI failure.

It seems that the CI failure is not caused by this PR.

@mergify backport v1.1


[DRAFT] Enable React DevTools support for Cypress tests

This PR:

Tries to enable React DevTools support for Cypress tests by watching for all <iframe>s added to the app, and copying the RDT "global hook" object reference into each iframe

NOTE: We have seen quite a few new crashes coming out of this (see explanations here). This is of course just fine. However, we should work together to make sure that crash rate does not regress before merging this.
cc @klochek @kannanvijayan @ryanjduffy


Fix fb focus

This fixes annoying behavior in the annotator where focus switches to the zoom text box (in the upper-left corner) after switching to a new position.

I'll put this change into my master. I'd just merge the pull request, but right now if I merge it as-is, the self.ris_widget.flipbook.pages_view.setFocus() will come after the return statement...


HTML

HTML
User Story
I want the pre-work notes to be structured on a webpage
so that I can easily read and find the information
Acceptance Criteria
GIVEN A Prework Study Guide Website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, GIT and JavaScript with associated notes listed

all done

complete


Question on behaviour of asynchronous interrupt during vector LS instruction

this clarifies the behaviour of synchronous trap during vector store instruction. I want to ask what if we divided one vector LS instructions to several uops, and an asynchronous interruput was handled between these uops. In this case does it allowed to update elements greater then vstart we set  in non-idempotent memory region for both vector load and store instructions?

See RVV section 17.1. Precise vector traps.

I'm asking the asynchronous interrupt not precise traps.


ppo save expert demo

hi, how am i supposed to save expert demo in ppo main?

PPO is a method of reinforcement learning. However app, maxent and gail are all inverse reinforcement learning method. Due to the emergence of policy-based inverse reinforcement learning algorithms, you can use PPO with any inverse reinforcement learning algorithm to complete the training.
References:

Ng A Y, Russell S J. Algorithms for inverse reinforcement learning[C]//Icml. 2000, 1: 2.
Ho J, Gupta J, Ermon S. Model-free imitation learning with policy optimization[C]//International Conference on Machine Learning. PMLR, 2016: 2760-2769.


Feature competency test

Changed table name, read and write effective date with timestamp
Migrate data script
epoch related methods in ProjectUtil is not required but is added in commit

Made changes required


Backwards Compatibility

I have had it.  Have you ever heard of backwards compatibility? You don't just remove anything in a lib! If needed, add an [Obsolete] tag to it and make it reference the newer, right version. It SUCKS to have to update every single Reference of MessageType in my code! If you program a library, you should keep some consistency so I don't have to recode my whole project just because the library was updated!

@Olfi01 We noted that and try not to have breaking changes for a while.

So you refuse to keep backwards compatibility, but you say you won't change anything for a while? That's no help

Transition to v14 happened over months with preview packages and helping users to port their code in our support chat. It wasn't a sudden change.
It's great to keep the package versions backwards-compatible but after 13 major releases, maintenance was a challenge. Over the course of months, we re-wrote large parts of the project and fixed bugs. The result was a more consistent API for users, more maintainable code for developers, and a higher quality product.
I don't see any breaking changes needed for now unless up stream API forces us to do so. Unfortunately, tg bot API doesn't communicate upcoming changes with dependent teams like us.


coredump: stm32l5: I-cache error on coredump backend in flash

Describe the bug
When enabling coredump feature with flash backend, on coredump, an error while writing on stm32l5 flash occurs.
 <err> os: Current thread: 0x200021e8 (app_tid)
[00:00:00.144,000] <err> flash_stm32l5_u5: I-cache error
[00:00:00.144,000] <err> coredump: Cannot start coredump!
[00:00:00.281,000] <err> os: Halting system

Please also mention any information which could help others to understand
the problem you're facing:

What target platform are you using? STM32L552Q

To Reproduce
Steps to reproduce the behavior:

Enable coredump in prj.conf

CONFIG_DEBUG_COREDUMP=y
CONFIG_DEBUG_COREDUMP_BACKEND_FLASH_PARTITION=y
CONFIG_DEBUG_COREDUMP_BACKEND_LOGGING=n
CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_MIN=y
CONFIG_DEBUG_COREDUMP_MEMORY_DUMP_LINKER_RAM=n

In board dts, configure flash partition

&flash0 {
    partitions {
        compatible = "fixed-partitions";
        #address-cells = <1>;
        #size-cells = <1>;

        zephyr_code: partition@0 {
            label = "zephyr-code";
            reg = <0x00000000 0x0007d000>;
        };
        coredump_partition: partition@7d000 {
            label = "coredump-partition";
            reg = <0x0007d000 0x00003000>;
        };
    };
};

make & run
See error

Expected behavior
Coredump shall be written into flash

@RomainPelletant, I've try to reproduce the error with the following:
Sample: samples/drivers/flash_shell
I added a k_oops() in cmd_read() of drivers/flash/flash_shell.c.
Target: nucleo_l552ze_q (with tuned flash partition)
Unfortunately, I didn't reproduced the error mentionned:
*** Booting Zephyr OS build zephyr-v3.2.0-2703-g954ffc38d300 ***
Found flash controller flash-controller@40022000.
Flash I/O commands can be run.
uart:~$ flash read 0 1
[00:00:03.031,000] <dbg> flash_stm32: flash_stm32_write_protection: Disable write protection
[00:00:03.031,000] <dbg> flash_stm32l5_u5: stm32_icache_disable: I-cache Disable
[00:00:03.032,000] <dbg> flash_stm32l5_u5: icache_wait_for_invalidate_complete: I-cache Invalidation complee
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_enable: I-cache Enable
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Enable write protection
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write: Write offset: 256288, len: 8
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Disable write protection
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_disable: I-cache Disable
[00:00:03.032,000] <dbg> flash_stm32l5_u5: icache_wait_for_invalidate_complete: I-cache Invalidation complee
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_enable: I-cache Enable
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Enable write protection
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write: Write offset: 256296, len: 8
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Disable write protection
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_disable: I-cache Disable
[00:00:03.032,000] <dbg> flash_stm32l5_u5: icache_wait_for_invalidate_complete: I-cache Invalidation complee
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_enable: I-cache Enable
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Enable write protection
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write: Write offset: 256304, len: 8
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Disable write protection
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_disable: I-cache Disable
[00:00:03.032,000] <dbg> flash_stm32l5_u5: icache_wait_for_invalidate_complete: I-cache Invalidation complee
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_enable: I-cache Enable
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Enable write protection
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write: Write offset: 253952, len: 16
[00:00:03.032,000] <dbg> flash_stm32: flash_stm32_write_protection: Disable write protection
[00:00:03.032,000] <dbg> flash_stm32l5_u5: stm32_icache_disable: I-cache Disable
[00:00:03.033,000] <dbg> flash_stm32l5_u5: icache_wait_for_invalidate_complete: I-cache Invalidation complee
[00:00:03.033,000] <dbg> flash_stm32l5_u5: stm32_icache_enable: I-cache Enable
[00:00:03.033,000] <dbg> flash_stm32: flash_stm32_write_protection: Enable write protection

@erwango Thanks you for investigating.
The error occurs only when using coredump feature directly writing into internal flash.
Maybe something disabled after coredump occured.
Do you want a sample program to reproduce it more easily and fastly?

@erwango it is not a showstopper so let me investigating more deeply and I will let you know in few weeks :)
Thanks

The error occurs only when using coredump feature directly writing into internal flash.

Ok, This is what I tried to do by adding a k_oops() when running flash_shell sample, but maybe this isn't exactly similar to your use case.

Do you want a sample program to reproduce it more easily and fastly?

Would be nice, txs

Retested with the main branch : no more issues => close

@erwango this time I got the same on u5
I found a workaround (in attachment) by increasing timeout and clearing err flag.
Only on coredump write.
007_workaround_coredump.patch

@erwango this time I got the same on u5 I found a workaround (in attachment) by increasing timeout and clearing err flag. Only on coredump write. 007_workaround_coredump.patch

I had a look to the proposed workaround and even if working, I'm not sure this should be integrated as basically you discard ICache errors and report status ok.
This being said, there might be something better than reporting -EIO on that kind of errors as ICache should be disabled and we're running the cache invalidation process. I'll investigate a bit deeper and get back to you.


az aks update --api-server-authorized-ip-ranges failed due to permission error

Version
az version is the latest, because we use "azure/login@v1" action to setup our az command.
Describe the bug
When we run the command to update "api-server-authorized-ip-ranges", error popup:
***"error":***"code":"LinkedAuthorizationFailed","message":"The client '*******' with object id '******' has permission to perform action 'Microsoft.ContainerService/managedClusters/write' on scope '/subscriptions/***/resourceGroups/PRD-xxxx/providers/Microsoft.ContainerService/managedClusters/xxx-aks'; however, it does not have permission to perform action 'Microsoft.OperationalInsights/workspaces/sharedkeys/read' on the linked scope(s) '/subscriptions/xxxxxx/resourcegroups/xxxx-rg/providers/Microsoft.OperationalInsights/workspaces/xxx' or the linked scope(s) are invalid."***

After checking the debug info, I noticed that because az update Kubernetes setting by a PUT request, and that request post body include many other fields other than "authorizedIPRanges", "logAnalyticsWorkspaceResourceID" is an example.
Because I do not have read access to logAnalyticsWorkspaceResourceID, the PUT request failed due to LinkedAuthorizationCheck.
To Reproduce
User a: Have full control to resources
User b: Have full control to Kubernetes only
User a created an logAnalyticsWorkspace,
User b created an Kubernetes cluster,
User a bind logAnalyticsWorkspace to Kubernetes cluster created by User b
User b run command az aks update --resource-group ${{ env.RESOURCE_GROUP }} --name ${{ env.AKS_NAME }} --api-server-authorized-ip-ranges="<IP_ADDRESS>/32"
Got this error:
***"error":***"code":"LinkedAuthorizationFailed","message":"The client '*******' with object id '******' has permission to perform action 'Microsoft.ContainerService/managedClusters/write' on scope '/subscriptions/***/resourceGroups/PRD-xxxx/providers/Microsoft.ContainerService/managedClusters/xxx-aks'; however, it does not have permission to perform action 'Microsoft.OperationalInsights/workspaces/sharedkeys/read' on the linked scope(s) '/subscriptions/xxxxxx/resourcegroups/xxxx-rg/providers/Microsoft.OperationalInsights/workspaces/xxx' or the linked scope(s) are invalid."***

Expected behavior
User PATCH instead of PUT to update "authorizedIPRanges" only, and not trigger any error.

route to CXP team

Hello @rsun-thoughtworks
We are routing this to Service Teams Attention for further action!

@rsun-thoughtworks Thanks for reaching out to us and sharing this feedback. While we wait for the reply from the @Azure/aks-pm ,  Could you please grant the user Log Analytics Reader  RBAC permissions at the workspace level and check if that helps ? Awaiting your reply.

Thanks for the suggestion, it works.
But still we need to address this issue.

@rsun-thoughtworks Thanks for getting back. I am adding the Service Team to take a look into this ask.
@Azure/aks-pm Could you please look into this ask and provide an update once you get a chance. Awaiting your reply.

It's been 8 days, hope you humans had a great vacation.


[devicelab] Fix datastore returning 0 tasks on LUCI runs

We disabled upload metrics as there seems to be an issue where Cocoon was not finding any related tasks. This requires investigation on the timing with LUCI to discover why we're not finding any corresponding tasks even when they should exist.

To get started, we need a full e2e LUCI builder in prod that is being stored in Cocoon datastore. We can mark it as flaky until we figure out this issue to not cause tree outages.

Issue is with the test runner. Cocoon is trying to create the following commit key:
flutter/flutter/HEAD /b372c52b2f428c477cb0cdcff9a299ac633b279d
The gitBranch param is wrong and has an extra space!

The issue is that HEAD makes sense the bot will check out a specific commit.
@christopherfujino do you know of a way I can collect the branch during a devicelab test run? Currently the runner uses git rev-parse --abbrev-ref HEAD
One idea I have is we can assume master if it returns HEAD, but i'm not sure how the release branch checkout process works.

The issue is that HEAD makes sense the bot will check out a specific commit.
@christopherfujino do you know of a way I can collect the branch during a devicelab test run? Currently the runner uses git rev-parse --abbrev-ref HEAD
One idea I have is we can assume master if it returns HEAD, but i'm not sure how the release branch checkout process works.

So are you saying that git rev-parse --abbrev-ref HEAD is returning HEAD ?

Per https://stackoverflow.com/questions/6245570/how-to-get-the-current-branch-name-in-git, that (or the newer git branch --show-current) is the way to grab the branch name. I'm unclear on where HEAD  is coming from.

So are you saying that git rev-parse --abbrev-ref HEAD is returning HEAD ?

Yes. My current thought is maybe infra has git in a detached state when it checkouts a commit on tip of tree. I'm not familiar with the git logic in Flutter recipes, so i'll need to investigate more.
I'll put up a PR to see if the newer command work.

So are you saying that git rev-parse --abbrev-ref HEAD is returning HEAD ?

Yes. My current thought is maybe infra has git in a detached state when it checkouts a commit on tip of tree. I'm not familiar with the git logic in Flutter recipes, so i'll need to investigate more.

Ahh, yeah, if our HEAD is detached then we are not on a branch, so there's no (reliable) way to determine the channel.

Ahh, yeah, if our HEAD is detached then we are not on a branch, so there's no (reliable) way to determine the channel.

Ah tricky. Do you know if this is also the case for the release branches in infra? If this is only on the main branch, I could add logic to default to master if HEAD is given.

Ahh, yeah, if our HEAD is detached then we are not on a branch, so there's no (reliable) way to determine the channel.

Ah tricky. Do you know if this is also the case for the release branches in infra? If this is only on the main branch, I could add logic to default to master if HEAD is given.

we discussed offline, but for posterity, our LUCI recipes by default detach the HEAD to the desired commit. Post-submit, the branch is available to recipe as api.gitiles_commit.ref.

Recipes has the property "branch": "refs/heads/master". We can pass this to the test runner to unblock the DeviceLab migration for now.
@christopherfujino do you have opinions on how I should pass this to the test runner? I think I want to have the recipe splice this to master, so nowhere else needs to worry about the git tiles format. However, I'm flexible on what should have the responsibility of cutting this to just master.

Recipes has the property "branch": "refs/heads/master". We can pass this to the test runner to unblock the DeviceLab migration for now.
@christopherfujino do you have opinions on how I should pass this to the test runner? I think I want to have the recipe splice this to master, so nowhere else needs to worry about the git tiles format. However, I'm flexible on what should have the responsibility of cutting this to just master.

I would also rather have the recipe pass just the branch, so that the source repo doesn't need to know anything about gitiles. I just hope that the format is never anything other than "refs/heads/$BRANCH_NAME"...

Per the protobuf:
// Commit ref, e.g. "refs/heads/master".
  | // NOT a branch name: if specified, must start with "refs/".
  | string ref = 4;

So I guess so?
https://chromium.googlesource.com/infra/luci/luci-go/+/master/buildbucket/proto/common.proto#154

Actually, this is defined by whatever we set as refs when we create the pollers: https://github.com/flutter/infra/blob/master/config/framework_config.star#L76
    trigger_name = branch + "-gitiles-trigger-framework"
    luci.gitiles_poller(
        name = trigger_name,
        bucket = "prod",
        repo = repos.FLUTTER,
        refs = [testing_ref],
    )

And we map these to branch names, so it should be safe to chop off the beginning refs/heads/ in the recipe.

Once the linked PR lands, we'll need to land this recipe CL to pass the branch:  https://flutter-review.googlesource.com/c/recipes/+/9160

Once the linked PR lands, we'll need to land this recipe CL to pass the branch: https://flutter-review.googlesource.com/c/recipes/+/9160

what about the cocoon agent code? isn't that also calling //dev/devicelab/bin/run.dart?

what about the cocoon agent code? isn't that also calling //dev/devicelab/bin/run.dart?

Cocoon agent handles uploading to the backend in the agent. It has access to the task key which makes it trivial to do a backend update.
We refactored this logic in the test_runner and backend for LUCI runs. There's two separate update paths, and the changes here do not modify any of the agent paths.

The issue is that the key being constructed for Commit is not returning any commits.
Using the datastore GQL, SELECT * FROM Checklist WHERE __key__ = KEY(Checklist, 'flutter/flutter/master/f172c827cb07f17666978d925d5d56be652db144') does return commits.
Somewhere the backend query is having an issue.

Update from my debugging session:
Here are the bytes of the sha in datastore
[49, 50, 49, 57, 100, 100, 55, 98, 54, 50, 49, 52, 55, 102, 102, 97, 100, 55, 102, 101, 57, 99, 56, 97, 48, 99, 102, 52, 97, 48, 55, 50, 102, 97, 97, 55, 57, 97, 52, 100]

Here's the malformed sha being processed by the backend:
[49, 50, 49, 57, 100, 100, 55, 98, 54, 50, 49, 52, 55, 102, 102, 97, 100, 55, 102, 101, 57, 99, 56, 97, 48, 99, 102, 52, 97, 48, 55, 50, 102, 97, 97, 55, 57, 97, 52, 100, 10]

The diff is the processed sha has an additional byte at the end for LF (ASCII 10 = LF) What's weird is this does not show up in the log viewer.
We'll need to trim the input for whitespace before using it.


⚠ Bofrost.be has degraded performance

In 97777c6, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 835 ms

Resolved: Bofrost.be performance has improved in 896be8d.


No need for domains? What does that mean?

First off, thanks for making this awesome framework available.
I was reading the documentation and read the part where it said No need for domains.. What does that mean?
Thanks

Domains was previously used for error handling and catching - which isn’t necessary when using Koa as promises (and previously co-routines) caught out of context errors as one might expect.

To be more precise, docs is referring to node.js domain module, not internet domains.


Node binary is not found (using Electron)

Hi,
It is not clear to me how exactly to use this package from the README. I have  a "back-addon" module installed in the node_modules directory (using node-gyp). How should this package be declared in the systemjs configuration file in order to be able to use require(back-addon) in javascript?
For all clarity, I am using Electron, but I don't see how this makes a difference.
For the moment I have tried this (binary is node_modules/back-addon/back-addon.node):
System.config({
  defaultJSExtensions: false,
  paths: {
    'npm:': 'node_modules/'
  },
  map: {
    'node-binary': 'npm:systemjs-plugin-node-binary/node-binary.js',
    'back-addon': 'npm:back-addon'
  },
  packages: {
  'back-addon': {
      main: './back-addon.node',
      meta: {
          '*.node': {
              loader: 'node-binary'
          }
      }
    }
  }
});

This gives the following error:
Error: Error: Node binary file http://localhost:3000/node_modules/back-addon/back-addon.node does not exist.
	at http://localhost:3000/node_modules/systemjs-plugin-node-binary/node-binary.js:21:16
	at FSReqWrap.cb [as oncomplete] (fs.js:260:19)
    Error loading http://localhost:3000/node_modules/back-addon/back-addon.node as "back-addon" from http://localhost:3000/app/front/app/services/back/back.service.js
(anonymous) @ (index):18
ZoneDelegate.invoke @ zone.js:392
Zone.run @ zone.js:142
(anonymous) @ zone.js:844
ZoneDelegate.invokeTask @ zone.js:425
Zone.runTask @ zone.js:192
drainMicroTaskQueue @ zone.js:602

Removing the "main" property in packages (i.e. what is described in the README) gives the following error:
GET http://localhost:3000/node_modules/back-addon/ 404 (Not Found)

I made an MWE to illustrate the issue here.

This plugin won't support loading binary files in the browser.


feat: add a Governance Rewards Splitter contract

Resolves #831
I think GovernanceRewardsSplitter or TreasurySplitter works for the contract's name.

@rndquu please evaluate the configuration mechanism.
Currently, since the number of shares becomes imbalanced as a new payee is added, I have payees and shares tied to a mapping which is a configuration ID. Owner can always set a new configuration which increments the current global configuration ID. Depending on array size, it is probably cheaper to create a new array than clearing the entire configuration array, we can delete old arrays if total storage is important.
In this implementation, owner can either set a whole new configuration or add a single payee. I can add functions to edit and delete a payee as well. There should be a pointer approach to it but I imagine you want to stay away from assembly.

@zugdev

I think GovernanceRewardsSplitter or TreasurySplitter works for the contract's name.

Current naming (GovernanceRewardsSplitter) looks good.

I can add functions to edit and delete a payee as well.

Yes, we definitely need methods for adding, editing and removing payess.

stay away from assembly

Yes.

mapping which is a configuration ID

Ok, the concept of "configurations" appeared because we somehow need to modify arrays of payees and shares. The issue with the current approach is that payee may not be able to claim Governance tokens if currentConfig has been incremented and payee removed:

Payee is added by the owner (currentConfig=0)
Payee is eligible for 100 Governance tokens
Owner calls setNewConfig and removes payee from the payees array
Now payee calls release and gets a revert. Besides releasable returns 0 for the payee's address since here _configToShares[currentConfig][account]=0 because currentConfig has been incremented + payee's address has been removed.

To sum up:

You sure there's no audited solution for distributing ERC20 tokens?
I think it makes sense to keep a single list of payees and shares because it's more explicit. Usually EnumerableSet or EnumerableMap is used for such kind of tasks.
Code style: there're no _ prefixes or suffixes in the whole code base. So shares_ => shares, _configToPayees => configToPayees, etc...
As far as I understand the PR is not ready yet so there are no unit tests hence this CI is failing

PaymentSplitter already has almost all we need for distributing ERC20 rewards. We need to:

Remove ETH related methods from that contract
Add logic for adding/editing/removing payees and shares via EnumerableSet or EnumerableMap

Ok, the concept of "configurations" appeared because we somehow need to modify arrays of payees and shares. The issue with the current approach is that payee may not be able to claim Governance tokens if currentConfig has been incremented and payee removed:

Yes this is actually intented in this initial approach, the reason is, if config is set poorly you can change config first and then appropriately release with new config. This only assumes contract owner behaves correctly.

As far as I understand the PR is not ready yet so there are no unit tests hence this CI is failing

Yes I wanted you to take a look at the contract before testing it.

PaymentSplitter already has almost all we need for distributing ERC20 rewards.

Notice that this is a direct fork of PaymentSplitter. The only thing that has changed is arrays became mappings from config to array. The reason I took the mapping approach is that handling long arrays (deleting , moving) would incur in extra gas costs specially if the array was very big. Therefore just adding new arrays would actually be gas efficient. I will take a look at Enumerable approaches though, I've used it a couple times as well.

@rndquu, I've considered EnumerableMap but I still think the native mapping approach is more efficient. The biggest gas cost in this contract happens when you insert/remove a payee, since all shares array becomes imbalanced. For example, if there are two payees, one with 70% (7 shares) and the other with 30% (3 shares), adding a third payee with 1 share will change the distribution for all payees ~(63%, 27%, 9%). Therefore just creating new arrays and forgetting the previous one when you setup a new config is definitely better than iterating through the list of payees and delete every key manually.
EnumerableSet doesn't make sense to use since it's biggest offering is O(1) existence check which is not that useful in this case. We need O(1) insertion/deletion and O(n) iteration, this is achieved by both mapping and EnumerableMap, the difference is that in my mappings approach we just forget the old payees and shares and create new arrays when we set new ones instead of modifying the old ones. It's your final call and I'll add an EnumerableMap version here for you to take a look.

Please let me know what is your preferred approach, if you want more strict arguments in favor of using native mappings please let me know I can further elaborate why it should be more efficient.

waiting on PR review


aws-sdk instrumentation - a "TypeError: _c.forEach is not a function" error is thrown for bad SQS.sendMessageBatch input

What version of OpenTelemetry are you using?
0.48.0
What version of Node are you using?
v18.17.1
What did you do?
I ran the following script:
const { AwsInstrumentation } = require('@opentelemetry/instrumentation-aws-sdk');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const AWS = require('aws-sdk');

registerInstrumentations({ instrumentations: [new AwsInstrumentation()] });

AWS.config.update({ region: 'us-west-2' });

const sqs = new AWS.SQS();

// A bad "Entries" object, should be an array
const Entries = { Key1: { MessageBody: 'This is the first message' } };

const params = {
  Entries,
  QueueUrl: "https://sqs.us-west-2.amazonaws.com/288057938227/harel-test-otel"
};

sqs.sendMessageBatch(params).promise().catch(console.error);

What did you expect to see?
An validation error pointing out that Entries should have been an array
What did you see instead?
The following error:
/my-folder/aws-sdk-bug-repro/node_modules/@opentelemetry/instrumentation-aws-sdk/build/src/services/sqs.js:39
                        (_c = (_b = request.commandInput) === null || _b === void 0 ? void 0 : _b.Entries) === null || _c === void 0 ? void 0 : _c.forEach((messageParams) => {
                                                                                ^

TypeError: _c.forEach is not a function
    at SqsServiceExtension.requestPostSpanHook (/my-folder/aws-sdk-bug-repro/node_modules/@opentelemetry/instrumentation-aws-sdk/build/src/services/sqs.js:39:148)
    at ServicesExtensions.requestPostSpanHook (/my-folder/aws-sdk-bug-repro/node_modules/@opentelemetry/instrumentation-aws-sdk/build/src/services/ServicesExtensions.js:28:33)
    at /my-folder/aws-sdk-bug-repro/node_modules/@opentelemetry/instrumentation-aws-sdk/build/src/aws-sdk.js:344:41
    at NoopContextManager.with (/my-folder/aws-sdk-bug-repro/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js:25:19)
    at ContextAPI.with (/my-folder/aws-sdk-bug-repro/node_modules/@opentelemetry/api/build/src/api/context.js:60:46)
    at Request.promise (/my-folder/aws-sdk-bug-repro/node_modules/@opentelemetry/instrumentation-aws-sdk/build/src/aws-sdk.js:343:51)
    at Object.<anonymous> (/my-folder/aws-sdk-bug-repro/1.js:17:30)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)

Additional context

Looks like we're iterating over it without checking if it's an array first. Might need some more defensive logic.


Confused: LM7905 output to B3 +5v?

Hello! I have been looking at implementing the voltage-blaster to have in a separate project I am working on and was looking over the schematic in KiCad. I am a little confused about how it works though, or wondering if there is an error.

When looking at this the +12v line goes into the LM7905, but then the output connects to the VCC instead of the -5v. The readme seems to state that it connects to pin B5 but the schematic shows B3. It seems the LM7905 should also be connected to the -12v on input which is also referred in the readme.
Just hoping to clear this up so I understand what I am doing with this.

I am still interested in this question. Maybe there is an error with KiCad and the repo files?


Linting on change

Is linting "on change" (while typing) or every X seconds possible using the language server without forcing the file autosave workaround?

Yes

Thanks, appreciated.


Add gateway-api configuration to helloworld sample

Please provide a description of this PR:

@frankbu: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
2c0aca6f197e9e62cb224fa14bd2df1abd6f083d
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@frankbu: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio
2c0aca6f197e9e62cb224fa14bd2df1abd6f083d
link
true
/test lint

gencheck_istio
2c0aca6f197e9e62cb224fa14bd2df1abd6f083d
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Add secondary actions menu in edit page headers

See #622.

The delete action is moved from the main actions menu (at the bottom of the edit/create page) to the secondary menu (at the top, next to the breadcrumb).

To-Do

[ ] Ensure that removing overflow: hidden;  from the .breadcrumb styles (here) won't have undesired effects.

Do the tests still pass? Yes
Does the code comply with the style guide? Yes
For Python changes: Have you added tests to cover the new/fixed behaviour? Yes
For front-end changes: Did you test on all of [Wagtail’s supported environments]? No

Please list the exact browser and operating system versions you tested. Firefox
Please list which assistive technologies you tested. None

For new features: Has the documentation been updated accordingly? Yes

The delete button move will likely confuse people. Curious to know the context for this change and whether it is part of the wider editor UI changes work

Hey Dan - yes it is part of the wider changes. The longer term plan is to have this as a place for lots of other page level things.

This menu could then be mirrored on the page listing view in future.
This means that the bottom left buttons are much more to do with publishing only, which we think is clearer.

We've been discussing the wider UI change designs here, in case you haven't seen it.
I did have a brief discussion with @thibaudcolas about if we needed a wider consultation on moving the delete button as part of this, but our feeling was that it was a relatively small change and so far it's user tested fine (people have found it). However, I'll see if we can do some more user testing in the next week or two.

Merged in dd0b398d9c6ed4e7ae9aafc374ab37006d348a7b + parents. Thanks again @Tijani-Dia!

Thanks @gasman


Update front end to show MR evidence

Low-fidelity mockups for MR data in the Genetics Portal have been uploaded to the team Google Drive. Some of the features (e.g. a PheWAS plot showing the data) could be reused for the Platform front-end integration.

Not happening in the short term


Illumina Genome Analyzer IIx missing in documentation

@nancyxuanhe reported that we are missing: Illumina Genome Analyzer IIx, here: https://qiita.ucsd.edu/static/doc/html/tutorials/prepare-information-files.html#id3
However, after further inspection it looks like it's a misspelling as we have Illumina Genome Analyzer Ix.

Fixed here: https://github.com/biocore/qiita/pull/2281


Can we get the process pid, or a way to interact with processes?

Hi, I just found your plugin and think it is pretty cool, its perfect for my workflow so thanks for your work!
my question is if there is a way kakpipe could provide the user with the PID of the process or a way to interact with the process that is spawned? maybe interacting is beyond kakpipe, I don't know, still think it'd be awesome, but about the PID, maybe you could declare a public option that is a str-to-str-map with the fifo buffer name mapping to the PID.

Hi eko234,
Thank you for your interest.
The only way to interact with the process is through :bd to close and stop the processes and :!! to stop and relaunch.
kakpipe sends the pids (kakpipe and launched process) to kakoune to be sure to stop everything on close buffer. They are written on /tmp/kakpipe/.pid1 and .pid2.
The map is possible but it is certainly tricky to synchronize with processes stopping and dying... Perhaps an option to suffix the buffer name with pid so you can parse the buffer names still opened and do whatever you want with the pid ?
What is your workflow  ?
Don't hesitate to star the plugin. It's not for the fame but because kakoune plugins are hard to find without github stars.

See my message #2. Perhaps it resolves your use case

Hi thanks for your answer, I think I will be able to do what I need with the last change you commited, I'm firing some processes to which I want to send input, currenty my workflow is that I run some programs like servers with kakpipe so navigating the logs/errors/data has become as easy as using kakoune and that is really amazing.
Another thing that interests me a lot, is the different ways in which people have tried to implement some buffer/repl system for kakoune, I think fifos may be a good way to go about it, but on the other hand not all repl like programs behave the same in terms of the way they receive input, so I think there should be a different layer of communication for that, I say this because I think the scope in which kakpipe operates, imho, should stay as it is, and people could develop something like "fifo input adapters", to use along tools like kakpie, what do you think about it?

yes, i think you are right the scope is just launching quickly some tools that have colored output and that need few interactions but it's up to you to make it broader.
You can certainly define kakoune commands to send data to the process running inside the fifo by any means (fifo, socket, ...), Create the interface upfront before launching kakpipe and give the right parameters to the process, then define others command to interact with the interface. Then evaluate if it's better inside kakoune or inside a regular shell.


Improve asset assertion in e2e tests

[ ] I have improved assertion checking asset balance after tx so it is possible to assert specific asset balance

Comments
This is to get rid of potential false positives when there are some more assets on fixture wallets.
Issue Number

bors r+

bors r+


[Feature] Add Word-Letter-Symbol Analysis Calculator

Description
Features

Accepts text input from user in form of a word, sentence or a paragraph.
Displays frequency of words, individual letters, as well as special characters in a neat table
Displays the above data in a visual form - bar graph of top 10 used words/letters
Export option in CSV file format

Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100 this issue can be assigned

We already have Word Count Calculator, you can enhance and add more functionality to that, lmk @ShreeluSantosh


How creating a new model, categories and resize images

First of all thank you for this work it is wonderful.
I need help, I want to train my own model but I have this questions.

In the documentation of the dataset I see there are three categories but I dont know which categories is each one, I Suppose that 1 is Real and 0 is Spoofing but why is there a third category.
To train the model we need to resize the images as it indicates?, or there's a way to do it automatically maybe a script?
There's a way to use your model as a pretrained model.

Thank you for you help

3d category is for 3D fake face.

3d category is for 3D fake face.

Could you guide me about how to train the model

Good morning, could you train the model ,  i've spent days but no result


wrap_every_child_with_expanded assist

Description
Wrap every child with Expanded or if the child is a Flexible Widget then change it to Expanded or if the child is already a expanded widget ignore it. Will only work for Flex type widgets.
Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[X] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Code refactor
[ ] Documentation
[ ] Other

Checklist

[X] I have read the CONTRIBUTING.md document.
[X] I have performed a self-review of my code.
[ ] I have linked the issue ticket in the description.
[ ] I have made the necessary changes to the documentation.
[X] I have checked the formatting with dart format .
[X] I have analyzed my code with dart analyze .
[X] I have run dart run custom_lint example to check for any custom linting issues.

I'm not sure if the 'wrap all child' is correct. I think 'wrap all children' is correct if you really wanna use 'all'. I might be wrong.

I'm not sure if the 'wrap all child' is correct. I think 'wrap all children' is correct if you really wanna use 'all'. I might be wrong.

Yeah. Wrap all children is probably better.

Thanks for the PR!


[Story] Add Sign up

Epic: #17
Description
As a user I want to be able to sign up and create and account so I can start managing content.
Tasks

[ ] Use the default implementation of Identity Server/Duende.
[ ] Configure email service for verification.
[ ] Test sign up functionality.

Fixed typo in title.

The plan changed, sign up/registration has been implemented with Duende Identity Server instead.


Calendar is blank, error message is referring to a non-existing Team.

Hi,
When I open the Calendar option, the page is blank and in the Network logs, I can see a 404 error, which refers to a non-existing Team.
"The team with id 'e74c34ea-c8eb-422c-9b0c-b52e253048bd' does not exist, or you do not have permission to access it."
If a list all the Teams of the project via API, I get the following result:
{
"value": [
{
"id": "d621b4c8-2b73-456a-84a3-4ad0326c9823",
"name": "[projectname]Team",
"url": "https://dev.azure.com/[orgname]/_apis/projects/f2359705-464f-4680-899c-04a4c69a6439/teams/d621b4c8-2b73-456a-84a3-4ad0326c9823",
"description": "The default project team.",
"identityUrl": "https://spsprodweu3.vssps.visualstudio.com/A8e710f99-f350-4aab-8ee6-5506e7eab724/_apis/Identities/d621b4c8-2b73-456a-84a3-4ad0326c9823",
"projectName": "[projectname]",
"projectId": "f2359705-464f-4680-899c-04a4c69a6439"
},
{
"id": "f2462b0e-459c-4522-a043-b31900030233",
"name": "[projectname] Release Engineers",
"url": "https://dev.azure.com/[orgname]/_apis/projects/f2359705-464f-4680-899c-04a4c69a6439/teams/f2462b0e-459c-4522-a043-b31900030233",
"description": "[projectname] Release Engineers",
"identityUrl": "https://spsprodweu3.vssps.visualstudio.com/A8e710f99-f350-4aab-8ee6-5506e7eab724/_apis/Identities/f2462b0e-459c-4522-a043-b31900030233",
"projectName": "[projectname]",
"projectId": "f2359705-464f-4680-899c-04a4c69a6439"
},
{
"id": "ddb88f8e-3dd1-4daa-a2f5-016ded109f4b",
"name": "[projectname] project team",
"url": "https://dev.azure.com/[orgname]/_apis/projects/f2359705-464f-4680-899c-04a4c69a6439/teams/ddb88f8e-3dd1-4daa-a2f5-016ded109f4b",
"description": "SWR 1.0 dev/qa team",
"identityUrl": "https://spsprodweu3.vssps.visualstudio.com/A8e710f99-f350-4aab-8ee6-5506e7eab724/_apis/Identities/ddb88f8e-3dd1-4daa-a2f5-016ded109f4b",
"projectName": "[projectname]",
"projectId": "f2359705-464f-4680-899c-04a4c69a6439"
}
],
"count": 3
}
As you can see, none of the existing Teams have the ID e74c34ea-c8eb-422c-9b0c-b52e253048bd. If I do a revert API call for this ID, I also don't get any result.
"$id": "1",
"innerException": null,
"message": "The team with id 'e74c34ea-c8eb-422c-9b0c-b52e253048bd' does not exist, or you do not have permission to access it.",
"typeName": "Microsoft.TeamFoundation.Core.WebApi.TeamNotFoundException, Microsoft.TeamFoundation.Core.WebApi",
"typeKey": "TeamNotFoundException",
"errorCode": 0,
"eventId": 3000

Reference screenshot:

Hi, I can not reproduce that we can have a web session.

Hi @AminTi
Would next Wednesday (07.26.) be suitable for you in the afternoon?

Hi @AminTi,
Any update on this?

Hi @AminTi,
Will it be suitable for you at 15:00 CET?

Yes

Hi @AminTi ,
Is there any update on this?

Hi @AminTi ,
Is there any update on this?

I've the same issue...

Hi @AminTi ,
Is there any update on this?

Hi @AminTi ,
Is there any update on this?


Bugs fixed

Changes

Fixed the logo alignment in the footer section of stickers, merchandise, blogs page
Fixed the redirect links in navbar of quiz page
Fixed the redirect link of about section in the navbar of stickers, merchandise page
Fixed the redirect link of appearances section in the navbar of villain page
Changed the back to top button in homepage, appearances, comics, movies, videos, stickers, quiz, variants, achievements, villain, privacy policy and terms and conditions page
Added glow effect in back to top button across all pages

@aslams2020 Please review the changes and let me know if any further changes are required

Closes #393


Request the user to login to the Azure portal using the VM

Module: AZ500-AzureSecurityTechnologies
Lab/Demo: LAB_10_KeyVaultImplementingSecureDatabysettingupAlwaysEncrypted
Exercise 2: Create an application to demonstrate using the key vault for encryption
Task 4: Create a table in the SQL Database and select data columns for encryption
Step 2: On the Firewall settings blade, click + Add client IP, next click Save and then click OK.
Description of issue
Better to request the user to login to the azure portal using the VM which is created for SSMS and Visual Studio components as the SQL DB connection is required for these components. The workaround for configuring the correct Client IP becomes cumbersome if it is not configured correctly in the initial step.

updated
rgds
Marcin


Webhook Payload Error / Failure

I'm using version v0.10.1 on Windows Server 2022 and everything is working well, except for sending a webhook to Slack.  Sending the webhook always fails, with the following error in the logs -
[ERROR] Webhook Payload (E:\Torrents\Sonarr\Some.File.Name = extracted): template: webhook:64:15: executing "webhook" at <.Data>: Data has arguments but cannot be invoked as function

Here is my config for the webhook -
################
### Webhooks ###
################
# Sends a webhook when an extraction queues, starts, finishes, and/or is deleted.
# Created to integrate with notifiarr.com.
# Also works natively with Discord.com, Telegram.org, and Slack.com webhooks.
# Can possibly be used with other services by providing a custom template_path.
###### Don't forget to uncomment [[webhook]] and url at a minimum !!!!
[[webhook]]
url    = "https://hooks.slack.com/services/xxxxx/xxxxxxxxxx/xxxxxxxxxxxxxxxxx"
name   = "Slack"    # Set this to hide the URL in logs.
silent = true # do not log success (less log spam)
events = [0]   # list of event ids to include, 0 == all.
## Advanced Optional Webhook Configuration
nickname      = "Unpackerr"    # Used in Discord and Slack templates as bot name, in Telegram as chat_id.
#  channel       = "unpackerr"    # Also passed into templates. Used in Slack templates for destination channel.
#  exclude       = []    # list of apps to exclude, ie. ["radarr", "lidarr"]
#  template_path = ""    # Override internal webhook template for discord.com or other hooks.
#  template      = ""    # Override automatic template detection. Values: notifiarr, discord, telegram, gotify, pushover, slack
#  ignore_ssl    = false # Set this to true to ignore the SSL certificate on the server.
#  timeout       = "10s" # You can adjust how long to wait for a server response.
#  content_type  = "application/json" # If your custom template uses another MIME type, set this.

Let me know if I can provide any additional information or test anything!

Sounds like the slack template has an error. You can copy it out of the code, paste it into a file, tinker with it, and pass that file in with template_path.  If you do this you may find the problem before I do.

This is fixed in the latest release. https://github.com/Unpackerr/unpackerr/releases/tag/v0.11.1


[Monitor Query] Add sovereign cloud support for batch metrics query API

Add sovereign cloud support for the new data plane API that supports batch metrics queries in the Azure Monitor Query library. The following 2 audiences need to be supported:

Fairfax: https://metrics.monitor.azure.us
Mooncake: https://metrics.monitor.azure.cn

Fixed in https://github.com/Azure/azure-sdk-for-java/pull/40789


Add params_to_tune for HoltWintersModel, HoltModel and SimpleExpSmoothingModel

Before submitting (must do checklist)

[x] Did you read the contribution guide?
[x] Did you update the docs? We use Numpy format for all the methods and classes.
[x] Did you write any new necessary tests?
[x] Did you update the CHANGELOG?

Proposed Changes
Look at #1195.
Closing issues
Closes #1195.

Codecov Report

:exclamation: No coverage uploaded for pull request base (automl-2.0@db8cd3a). Click here to learn what that means.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@              Coverage Diff              @@
##             automl-2.0    #1209   +/-   ##
=============================================
  Coverage              ?   67.00%
=============================================
  Files                 ?      177
  Lines                 ?    10545
  Branches              ?        0
=============================================
  Hits                  ?     7066
  Misses                ?     3479
  Partials              ?        0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Blueflood performance issues

Improvements to call new blueflood API /metric_name/search
changed tests accordingly

ok to test

retest this please

@ChandraAddala I commit a new file called .travis.yml to the master branch.  Fetch that and merge it to your PR and try again to see if the PR will trigger a build for it.

@VinnyQ Build got triggered. Thx.

But it looked like it triggered 5 jobs. Whats up with that?

Could be the way I setup the env variable on travis-ci.org it looks like.  I cleaned it up so let's try it again.
ok to test

ok looks like i setup the .travis.yml wrong.  -env is not environmental variable!

ok this should be fixed.  You should rebase from master and push -f


Code search feature isn't able to find matches in groovy Jenkins declarative pipelines (Jenkinsfile)

Gitea version (or commit ref): 1.14.1
Git version:  2.10.2.windows.1
Operating system: Windows Server 2016 Standard (running as a Windows service).
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[] Yes (provide example URL)
[x] No

Description
We have recently enabled the repository indexer (code search feature). However, it seems to not include Jenkins declarative pipeline files, which are normally named Jenkinsfile (without extensions).
I tried setting REPO_INDEXER_INCLUDE to **Jenkinsfile, but no dice.

Bitten by the same issue, the culprit is https://github.com/github/linguist/blob/master/lib/linguist/vendor.yml#L382 which is used by https://github.com/go-enry/go-enry which gitea uses.
Needs https://github.com/go-enry/go-enry/issues/27 to be implemented so we can override vendor detection

So would REPO_INDEXER_EXCLUDE_VENDORED=false^1 make it working again?


HTML-CSS output has .002em when 0em should be used

The EmRounded() function causes 0em to become .002em (or some small amount depending on the  em size).  The test for close to zero needs to be done before the rounding.

The issue1452 branch of my fork of MathJax includes a fix for this.

==> Merged.

==> In testsuite
MathMLToDisplay/issue1452.html


Syntax error

Probably a newbie error, but when I try to run the tool I get the following back:
Traceback (most recent call last):
  File "gyb.py", line 60, in <module>
    import httplib2
  File "/home/pi/gyb/httplib2/__init__.py", line 352
    print('%s:' % h, end=' ', file=self._fp)
                    ^
SyntaxError: invalid syntax

I tried to find some information to no avail. I'm on raspbian wheezy and using the latest release.

Are you running Python 2.x or Python 3?  I am not sure what is the earliest version of Python 3 you can install to get this to run, but I installed the latest version of Python 3 to fix this error.

I'm running Python 2, but it seems I'm having some larger issues with Python altogheter, since Flexget isn't working either:
Traceback (most recent call last):
  File "/usr/local/bin/flexget", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2707, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: apscheduler

it wont run on python 2, at least for me, on Linux or Mac

With Python 2.x I get the exact same syntax error when running:
python gyb.py<EMAIL_ADDRESS>--action=backup
With Python3 I get another error:
python3 gyb.py<EMAIL_ADDRESS>--action=backup
Traceback (most recent call last):   File "gyb.py", line 61, in <module>     import oauth2client.client   File "/got-your-back-0.41/oauth2client/client.py", line 32, in <module>     import six ImportError: No module named 'six'

I resolved the issue by copying six.py downloaded from https://pypi.python.org/pypi/six/#downloads into the root of the project (alongside gyb.py).

I also installed Python 3 on my Mac and gyp now works.  To install module 'six', I entered:  pip3 install six
To fix the "TypeError: 'str'" errors, see my solution in issue #57.

Hello - I too got the initial error at the start of this string, then followed everyone's advice to stomp out subsequent bugs...
*  was running P2 on OSX 10.8.5, so downloaded/installed Python 3
*  downloaded/installed module 'six'
*  put a copy of 'six.py' into the root of the project folder (alongside 'gyb.py')
However, I know encounter a new error that I'm hoping the group can help me with.  When I run...
python3 gyb.py --email<EMAIL_ADDRESS>--action estimate

I now get the error:
File "gyb.py", line 1489, in
doGYBCheckForUpdates()
File "gyb.py", line 300, in doGYBCheckForUpdates
last_check_time = int(f.readline())
ValueError: invalid literal for int() with base 10: b''
Any ideas?

this should be fixed in master where six.py is included in source builds. 0.44 will include this fix.


add trylock to wallet

This should prevent double-subscriptions and accidentally queuing multiple load / sweep operations.

I've been thinking about this a lot, I think we really need to update 'siac' and the UI (which means the API too) to report that there's a scan in progress if you request the balance while a scan is in progress. Which means that we should probably have an atomic variable that you set + unset when you do a scan, that the /wallet endpoint (and any other relevant endpoint - send siacoins, etc.) can check when working with the user.
If the user has a scan in progress, they really should be informed that a scan is in progress. I think that's a pretty big UX deal. Being able to also report what % complete the scan is would be great, but I think not as required as simply being able to report that a scan is happening.

Added Rescanning to the API.
Adding a Progress field shouldn't be too bad. Need to add a scanProgress field to wallet, then update it inside scanning operation. The annoying part is that some scans use the seedScanner while others (like Unlock) do not. So the easiest way to implement this may be with a subscription wrapper:
type subscriberWithHeight struct {
    blockheight types.BlockHeight
    subscriber  modules.ConsensusSetSubscriber
}

func (s *subscriberWithHeight) ProcessConsensusChange(cc modules.ConsensusChange) {
    s.blockheight += types.BlockHeight(len(cc.AppliedBlocks) - len(cc.RevertedBlocks))
    s.subscriber.ProcessConsensusChange(cc)
}

LGTM


Eager cache refresh

Hi there,
Amazing library!
A possible use case I have is that I will be using your lib with Redis and multiple instances of my app running. I assume I will get limited benefits from the in-flight requests tracking (stampede and dedup) across all the running instances of my app. One thing I did in the past to alleviate the issue is to do eager cache refresh of some keys about to expire, but in a staggered manner so not all instances are doing the refresh at the same time.
Example. I cache a key for 60mins. Then I specify an eager refresh delay (it was per key in my case, but it could be for the whole cache if it make sense). Let's say in this example, it's 10mins. That means that if I request the key between min 50 and 60, the cache will serve the cached value, but there is a chance to trigger a refresh in the background. The percentage of chances to trigger a request depends on the length of time remaining before expiration (0-10 mins in this example) and the frequency of calls for this key. A key not frequently requested would get a high chance of being async-refreshed sooner than later since we won't have a lot of chances to refresh it.
What do you think about this feature?

Hi, and thank you for the kind words!
We are currently testing the library with Redis ourselves using a pre-release from this branch: https://github.com/creativecreature/sturdyc/pull/13. The PR adds a WithDistributedStaleStorage option, which seems to match what you need. You will be able to set a 1-hour TTL in Redis and then configure the cache to refresh the records after 10 minutes have passed.
If you only want one container to refresh the key during this time, you could use the WithBackgroundRefreshes option. To receive only one refresh per Redis key on average, you would need to ensure that the difference between the minimum and maximum refresh times equals the time it takes to fetch the data from the underlying data source multiplied by the number of containers you're running

If you want, you could use go get github.com/creativecreature/sturdyc@c144c6e853bd48b5ce5cb56510958d5ef6541225 to download the latest commit of that branch, and then test it with a Redis client to see if you're able to achieve what you want:
import (
	"context"
	"math/rand/v2"
	"time"

	"github.com/redis/go-redis/v9"
)

const (
	minTTL = 3 * time.Hour
	maxTTL = 6 * time.Hour
)

type RedisClient struct {
	redis *redis.Client
}

func NewRedis(host string) *RedisClient {
	redis := redis.NewClient(&redis.Options{ Addr: host })
	return &RedisClient{ redis: redis }
}

func randomTTL() time.Duration {
	return minTTL + time.Duration(rand.Int64N(int64(maxTTL-minTTL)))
}

func (c *RedisClient) Get(ctx context.Context, key string) ([]byte, bool) {
	res := c.redis.Get(ctx, key)
	if res == nil {
		return []byte{}, false
	}
	val, err := res.Bytes()
	if err != nil {
		return []byte{}, false
	}
	return val, true
}

func (c *RedisClient) Set(ctx context.Context, key string, value []byte) {
	c.redis.Set(ctx, key, value, randomTTL())
}

func (c *RedisClient) GetBatch(ctx context.Context, keys []string) map[string][]byte {
	cmd := c.redis.MGet(ctx, keys...)
	if cmd == nil {
		return map[string][]byte{}
	}

	records, err := cmd.Result()
	if err != nil {
		return map[string][]byte{}
	}
	hits := make(map[string][]byte, len(keys))
	for i, key := range keys {
		if records[i] != nil {
			hits[key] = []byte(records[i].(string))
		}
	}
	return hits
}

func (c *RedisClient) SetBatch(ctx context.Context, records map[string][]byte) {
	for key, value := range records {
		c.redis.Set(ctx, key, value, randomTTL())
	}
}

func (c *RedisClient) Delete(ctx context.Context, key string) {
	c.redis.Del(ctx, key)
}

func (c *RedisClient) DeleteBatch(ctx context.Context, keys []string) {
	c.redis.Del(ctx, keys...)
}

This Redis client should satisfy the DistributedStaleStorage interface, thus making it possible to pass it to the WithDistributedStaleStorage option.
I'm going to add more documentation and a more complete example once we've been able to verify that everything works as intended!

I'm not sure I understand the semantic of the background refresh terms. Given an example where I have 3 instances, a key TTL of 60 mins, and assuming the call to get the data takes 100ms, what would be the values for the WithBackgroundRefreshes min/max?

The WithBackgroundRefreshes option determines how often the in-memory cache should refresh the keys, so using something like this:
WithBackgroundRefreshes(time.Second, time.Second * 30, time.Second)

Would make your containers refresh any given key when they are requested again after a randomised threshold between 1 and 30 seconds. This is to spread out the traffic evenly over time. If it was a fixed duration it would lead to a comb-like request graph.
So, let's say that we randomize the following times for a given key:

Container 1: 1 second
Container 2: 14 seconds
Container 3: 27 seconds

What you can do next is to pair it with the WithDistributedStaleStorage option:
WithDistributedStaleStorage(redisClient, time.Minute)

This makes the in-memory cache visit the distributed storage first, and if the value there is older than 1 minute it's going to visit the underlying data source, and then write the value to both the in-memory cache and to the Redis.
With the example above it's highly unlikely that two containers would refresh the same value in Redis because their refresh time would have to get randomized within 100 milliseconds of each other.

The WithBackgroundRefreshes option determines how often the in-memory cache should refresh the keys. Using something like this:
WithBackgroundRefreshes(time.Second, time.Second * 30, time.Second)

would make your containers refresh any given key when it is requested again after a randomized threshold between 1 and 30 seconds. Randomizing the thresholds spreads out the traffic evenly over time. If it were a fixed duration, it would lead to a comb-like request graph.
So it might result in the following for any given key:

Container 1: 1 second
Container 2: 14 seconds
Container 3: 27 seconds

And, pairing this with the WithDistributedStaleStorage option:
WithDistributedStaleStorage(redisClient, time.Minute)

makes the in-memory cache check the distributed storage first. If the value there is older than 1 minute, it will access the underlying data source, then write the value to both the in-memory cache and Redis. When it writes to the in-memory cache, it will receive another random refresh threshold between 1 and 30 seconds into the future.
Therefore it's highly unlikely that two containers would refresh the same key in Redis because they would have to be randomized within 100 milliseconds of one another.

But the WithBackgroundRefreshes is essentially an eager update. It allows you to set a high TTL, while the cache will attempt to refresh a key earlier if it’s requested again after that period of time has passed. We’re running the cache like that in production to be able to serve stale if an upstream goes down.

Assuming your random distribution from above (assuming all 3 containers received a request for that same key again)

Container 1: 1 second
Container 2: 14 seconds
Container 3: 27 seconds
if Container 1 refreshes the key after 1 sec, and then 2 and 3 come after with their own refreshes, it seems like this might lead to over-fetching. Is there a way to avoid the "eager" part and have only 1 container on average refreshing a single key?

Another question I have would be...

makes the in-memory cache check the distributed storage first
So the data is in-memory first, and the in Redis? is there a way to limit the in-memory scope and start dropping in-memory keys if it gets too big?

About my last reply, he is a more complete example. Did I get that right?
We have 2 containers, with background refresh configured to min:60sec/max:120sec, and using WithDistributedStaleStorage(redisClient, time.Minute)

At 10 secs, we store key1 with TTL 60 mins from Container 1, and then the value is also written in Redis.
At 12 secs, we get key1 from Container1. It retrieves the value from memory and nothing else happen
At 61 secs, we get key1 from Container1. It retrieves the value from memory and trigger a background refresh with a randomized value of 67 secs.
At 62 secs, we get key1 from Container2. It retrieves the value from Redis, since it's not in memory yet, and nothing else happen.
At 64 secs, we get key1 from Container2. It retrieves the value from memory, and nothing else happen, since the background refreshes min is 60 sec (from last retrieval?)
At 67 secs, Container 1 backgroud refresh kicks in. The new value is stored in memory and then in Redis.

I have no idea where the WithDistributedStaleStorage config factors in this example.

So the duration you pass to WithDistributedStaleStorage is going to control how frequently the underlying data source is visited. If you're setting it to a minute, you'll never have two requests within that period unless your containers randomizes a refresh time within milliseconds of one another.
The min and max durations you pass to WithBackgroundRefreshes controls how frequently the in-memory cache tries to refresh the data. With the WithDistributedStaleStorage it's always going to try that data source first, and then only visit the "real" source if the data is older than the duration you specified. If that request would fail the cache will fallback to the value it got from redis even if its older than a minute.

is there a way to limit the in-memory scope and start dropping in-memory keys if it gets too big?

The values you specify when you create the client controls this:
capacity := 1000
numberOfShards := 10
ttl := time.Hour
evictionPercentage := 30
cacheClient := sturdyc.New[string](capacity, numberOfShards, ttl, evictionPercentage)

The cache will evict evictionPercentage once the capacity is reached and you perform another write. So for this example when you're writing record number 1001, it would evict 300 items before it performs that write.
Having a cache that evicts on every write is going to slowdown your system so I would advice that you evict at least 10%. The evictions happen at O(N) time complexity using quick select and is based on recency

I'm going to close this issue because I believe the functionality you want is already possible to achieve. However, I think this discussion was really valuable because it made me reconsider the API.
I decided to rename the following APIs:
WithBackgroundRefreshes => WithEarlyRefreshes
WithRefreshBuffering => WithRefreshCoalescing
WithDistributedStaleStorage => WithDistributedStorageEarlyRefreshes
I've merged these changes to main, but I haven't created a new release yet. I will do so as soon as I find the time to write the release notes. However, you can install the package using the latest commit on that branch and have a look at the README for some examples.
I think these will be particularly interesting for your use case:

https://github.com/creativecreature/sturdyc/tree/main/examples/distribution
https://github.com/creativecreature/sturdyc/tree/main/examples/distributed-early-refreshes


Unable to segment multiple FOV's with command line

Hey @FLabbaf97 ,
Thanks for building this useful tool.
I have a file that I can segment with command line, one FOV at a time however It fails when I attempt to specify a range of FOV's.
My nd2 file has 384 FOV's
Error
~/Documents/GitHub/YeaZ-GUI master* ⇡ 28s ❯ python Launch_NN_command_line.py -i "20230503_192438_458/ChannelMono,Red,Green,Blue_Seq0000.nd2" -m "20230503_192438_458/newmaskfile.h5" --image_type  "bf" --min_seed_dist 1 --range_of_frames 0 383

Running the neural network...
/Users/________/miniforge3/envs/yeaz/lib/python3.10/site-packages/torch/nn/modules/conv.py:459: UserWarning: Using padding='same' with even kernel lengths and odd dilation may require a zero-padded copy of the input be created (Triggered internally at /Users/runner/miniforge3/conda-bld/pytorch-recipe_1680607596266/work/aten/src/ATen/native/Convolution.cpp:1004.)
  return F.conv2d(input, weight, bias, self.stride,
--------- Finished segmenting.
no hyperslab speciffied
no hyperslab speciffied
2023-05-06 11:31:49,731 WARNING CellCorrespondence: NCurrent mask exists, but no previous - returns current mask unchanged. FOV FOV0 and Time T0
Traceback (most recent call last):
  File "/Users/________/Documents/GitHub/YeaZ-GUI/Launch_NN_command_line.py", line 117, in <module>
    main(args)
  File "/Users/________/Documents/GitHub/YeaZ-GUI/Launch_NN_command_line.py", line 102, in main
    LaunchInstanceSegmentation(reader, args.image_type, args.fov,
  File "/Users/________/Documents/GitHub/YeaZ-GUI/Launch_NN_command_line.py", line 77, in LaunchInstanceSegmentation
    pred = LaunchPrediction(im, image_type, pretrained_weights=path_to_weights)
  File "/Users/________/Documents/GitHub/YeaZ-GUI/Launch_NN_command_line.py", line 29, in LaunchPrediction
    im = skimage.exposure.equalize_adapthist(im)
  File "/Users/________/miniforge3/envs/yeaz/lib/python3.10/site-packages/skimage/color/adapt_rgb.py", line 37, in image_filter_adapted
    if is_rgb_like(image):
  File "/Users/________/miniforge3/envs/yeaz/lib/python3.10/site-packages/skimage/color/adapt_rgb.py", line 19, in is_rgb_like
    return (image.shape[channel_axis] in (3, 4))
AttributeError: 'NoneType' object has no attribute 'shape'

Steps to reproduce
Download the input image file: https://drive.google.com/file/d/13KdOkTFgXDW6TlIkGn2Ap9m9iipuwhLb/view?usp=sharing
and save it to the example data folder
Run following command
python Launch_NN_command_line.py -I "example_data/pipeline.nd2" -m "newmaskfile.h5" --image_type  "bf" --min_seed_dist 1

You will notice that it successfully return the output h5 file with the first FOV segmented, however when you run the following command specifying multiple FOV's an error is returned
python Launch_NN_command_line.py -I "example_data/pipeline.nd2" -m "newmaskfile.h5" --image_type  "bf" --min_seed_dist 1 --range_of_frames 0 383

Thanks for any help

Hello, I have realised I need to supply multiple inputs to the FOV argument instead of the --range_of_frames argument. It is not instantly obvious that the --range_of_frames applies to the time axis.


Update/finish EDU power management acc. to PDD

Description
See documentation on Miro/PDD regarding this thread. At least, the check-if-archives part is missing on the COBC.
File
Sts1CobcSw/EduPowerManagementThread.cpp

Blocked by #182

I updated miro to check if the flash and thereby the file system is working. If it is not, we always turn off the EDU.


[DO NOT MERGE] [WIP] RHOAIENG-9036: [Spike] Explore poetry over pipenv for the IDE notebook repo

Description
Exploring poetry over pipenv to enable lock file updates only for changed dependencies. This PR was created to check the CI.

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

/retest

Please note that 4 Dockerfile files are still trying to copy Pipfile.lock, hence the CI jobs fail.

rocm-runtime-pytorch-ubi9-python-3.9
rocm-runtime-tensorflow-ubi9-python-3.9
rocm-jupyter-pytorch-ubi9-python-3.9
rocm-jupyter-tensorflow-ubi9-python-3.9

The other 2 failed jobs are due to ERROR: No matching distribution found for gast==0.6.0 🤔

jupyter-intel-tensorflow-ubi9-python-3.9
intel-runtime-tensorflow-ubi9-python-3.9


donate link on fdroid metadata

@T8RIN

without your explicit consent donate link https://qiwi.com/n/T8RIN given in https://github.com/T8RIN/ImageToolbox#-buy-me-a-coffee was added by me in fdroid metadata
donate link updated in fdroid metadata will create link on fdroid client
should i remove it?

What > donate link updated in fdroid metadata will create link on fdroid client
means?

thanks!

@T8RIN

thanks!

i am assuming its ok or yes to keep donate link

It's ok 🐸


Update resource-central-tutorial.md

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@dhg2020 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@jeevansd This pull request might be a reiteration of two previously submitted updates, which are ready to merge in the private repo: https://github.com/MicrosoftDocs/azure-docs-pr/pull/143098. If you agree, could you close this one and sign off in PR 143098 in the private repo so it can be published? Thanks.

@jeevansd This pull request might be a reiteration of two previously submitted updates, which are ready to merge in the private repo: https://github.com/MicrosoftDocs/azure-docs-pr/pull/143098. If you agree, could you close this one and sign off in PR 143098 in the private repo so it can be published? Thanks.

@dhg2020 Why customer have to upload the certificate with certificate in the app? We do share only the public key of the certificate and so they will not able to do that unless customer use their own certificate.

@dhg2020 Why customer have to upload the certificate with certificate in the app? We do share only the public key of the certificate and so they will not able to do that unless customer use their own certificate.

@ktoliver Please wait till the time I get the clarification on few steps here. Then you can do those changes in the private repo and we can get that merged.

@ktoliver Please wait till the time I get the clarification on few steps here. Then you can do those changes in the private repo and we can get that merged.

Please wait till the time I get the clarification on few steps here. Then you can do those changes in the private repo and we can get that merged.

@jeevansd You bet. Thank you.

Please wait till the time I get the clarification on few steps here. Then you can do those changes in the private repo and we can get that merged.

@jeevansd You bet. Thank you.

@dhg2020 Any update here?

@chetansriv Can you please retest this application and verify the steps again?

i just want to update some images in this tutorial for our customer easier than in setup Resource Central SSO . i know currently we are using our own certificate to SSO , but in the next version of RC or other products of my company we will shift to use MS certificate for SSO .
Please , help me update this tutorials .

@dhg2020 The updates submitted in the pull request are being merged this afternoon from the private repository. I'd look for the updates to be live tomorrow, 2/17. We'll close this pull request. Thanks.

The update is now live: https://docs.microsoft.com/en-us/azure/active-directory/saas-apps/resource-central-tutorial

Thanks @ktoliver

Thank you very much
Kind regards,
Giang

From: Jeevan Desarda<EMAIL_ADDRESS>Sent: Thursday, February 18, 2021 1:19 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Giang Dinh Hoang<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Update resource-central-tutorial.md (#69177)
Thanks @ktoliverhttps://github.com/ktoliver
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/pull/69177#issuecomment-780751755, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQCVXD2AL3NVNL3WAHGDCGLS7QCBLANCNFSM4WKLFKCA.


Configuration

How should we configure zipkin-collector/query/web?
The present way is to use Scala code with eval, @adriancole says Twitter has done a lot of refactoring in their apps later, now might be the time to use Twitter flags instead?
We would lose the possibility of writing Scala code in the configuration, so it might be a little more difficult to set up backends as people wish. Another option I suggest is to use typesafe config, which has a pretty flexible setup.
Possible alternatives:

Config as Scala, eval (like today)
Twitter flags (runtime command-line options)
Something else

Thoughts?

At Twitter, static config that varies by environment is passed via flags or
in some cases json files. These are set in pants args when running a
process on laptop or in Aurora config.
The most thought in this area has been in Finatra. A part of this was
spinning out a project to address config, as particularly the lack of
testability has been troublesome. For example the most recent apps can be
spawned safely managed by a test lifecycle (embedded).
https://github.com/twitter/finatra/blob/master/inject/README.md
Hope this helps!

One thing that separates Zipkin from in-house applications is the need to replace backend technologies like Cassandra/MySQL/HBase. So simple flags might not be enough - e.g. MySQL may have other configuration options than Redis. In that regard, configuration as code is actually quite nice...
The way we configure Zipkin today (with Scala files and eval) is actually quite close to Spring XML configuration, except it's Scala, so we actually ship the Scala compiler with the Zipkin distribution (which of course increases artifact size and dependency tree quite a bit). I think we even load the Scala compiler in-memory as part of Zipkin, but I'm not quite sure how the eval module is written.

My comment from #526:

Spring Boot would also provide a nice abstraction for externalized configuration (properties, YAML, command line, system properties, env vars). You wouldn't need a huge raft of dependencies just to bind to the environment - probably just a couple of extra jars. And it has support for executable jars in a nicer format than the shadow ones.

It wouldn't involve writing XML unless you really wanted to (XML is a valid, but infrequently used, format for Java Properties). The only dependencies you would need would be spring-boot and spring-context (plus a few transitive dependencies). Possibly you could even get away with just spring-boot and spring-core (very thin). (Plus the executable jar thing if we use that.)

If you take a deep look at the config stuff, there's actually a lot going on besides just setting properties, like wiring in resolvers for looking up Cassandra (ZooKeeper or static), injecting custom stats integrations pr. service (statsd maybe) and so on. I'm not sure if that can be expressed in a clean way just by using properties?


10240.19119

No description, not clear x86 or x64, no screenshot from rdpconf, no termsrv.dll attached
What are you waiting for?

Thx. It works

Does anyone have the ini for 10.0.10240.19119 x64?

Does anyone have the ini for 10.0.10240.19119 x64?


Make it possible for odbc2parquet to stream its output to standard out.

This feature is desirable, because not always would users want the output stored in their local filesystem. Streaming it to stdout would allow other tools to pick up the output and store it i.e. in a remote object store.
Open question: How should the user indicate on the command line, that the output is supposed to go to stdout? I'd rather have it explicit.

Would other tools be able to process chunks of the stream even though the parquet metadata is written at the end of the stream?

Hello @mskyttner ,
I guess formulated the issue a bit close to the implementation, rather than the use case. My motivation for streaming it to stdout has not been to enable processing the data in stream. Then I created the tool originally friends frequently asked me if odbc2parquet is able to stream its output to cloud storage directly, rather than write it to disk.
I feel adding native support for various cloud providers is a huge increase in scope, but the usecase seems valid to me, so the idea is to stream the parquet to standard out and let the command line tools of the cloud provider of your choice take over from there. The fact that the parquet metadata is written at the end of the stream, is what enables this story at all, as the metadata is not known at the beginning of writing.
Cheers, Markus

Hey Markus! Thanks for a nice tool, and tools that can fit in a pipe are nice.
I too throught it would be nice to be able to do odbc2parquet -O - ... | mc pipe s3dospaces/my250GBfile.parquet ... (assuming one uses for example https://docs.min.io/docs/minio-client-complete-guide.html)... The minio object storage software (and minio client) works with most providers (at least those I have tried), see https://github.com/minio/minio-rs
Do object storage CLI tools that read from stdin start writing without knowing the total length of what could be a potentially long and often larger-than-RAM or even endless stream? I see this: https://github.com/minio/mc/issues/2271
If not they would need the metadata at the end of the stream to know the length which I guess would mean that most content would need to be buffered before being written and for large parquet files, wouldn't the stream often risk to be too large to fit in memory if there is no chunking?

Thanks for a nice tool, and tools that can fit in a pipe are nice

Thank you, and yes, I agree pipes are nice.

Do object storage CLI tools that read from stdin start writing without knowing the total length of what could be a potentially long and often larger-than-RAM or even endless stream?

I am no expert on Object Storage Cli tools, but given that stdin does not communicate the length of a file stream, my guess is that these tools work without prior knowledge of the streams length. If the tool communicates to an S3 compatible backend on the other end, there seems to be the possibility splitting the upload into up to 10000 chunks. With a configurable chunk size. See:
https://stackoverflow.com/questions/8653146/can-i-stream-a-file-upload-to-s3-without-a-content-length-header#8881939
I would imagine such tools to take advantage of file metadata of the filesystem if available, but also to be able to work without the it. I would not expect such a tool to care about the fact that it is a parquet file, or any parquet specific metadata.
Anyhow, we do not know how long the parquet file is going to be, before it is completly written.
Cheers, Markus

Hi @pacman82
I am much in favor for a support to write to stdout. The default way in linux to tell a programm to write to stdout / read from stdin is to pass - as parameter value. The calling syntax would look like this:
# to convert the table into parquet and write it to a local file using piping
odbc2parquet query -c "<connection_string>" - "SELECT * FROM my_table" > my_table.parquet

# to convert the table into parquet and write it to a azure storage using azcopy
# see https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10
odbc2parquet query -c "<connection_string>" - "SELECT * FROM my_table" \
  | azcopy cp https://<account_name>.blob.core.windows.net/<container_name>/<path>/my_table.parquet?<SAS token> --from-to PipeBlob

I would suggest to implement reading the sql query via stdin as well. Example:
# reading the SQL query from stdin, converting the resutl to parquet and write it to a local file using piping
echo "SELECT * FROM my_table" \
  | odbc2parquet query -c "Driver=...;Server=... ..." - - > my_table.parquet

This would make substitution with the small linux tool sed possible, for example:
# gets the SQL query from 'echo', replacing 'TABLE_NAME' with 'my_table',
# using odbc2parquet to read the query and write it to stdout which is passed
# to azcopy to write the content to a Azure blob storage
echo "SELECT * FROM TABLE_NAME" \
  | sed "s/TABLE_NAME/my_table/g"
  | odbc2parquet query -c "Driver=...;Server=... ..." - - \
  | azcopy cp https://<account_name>.blob.core.windows.net/<container_name>/<path>/my_table.parquet?<SAS token> --from-to PipeBlob

Currently, I am on vacation. Recent parquet Versions now support abitrary io::Write for output, so this should be straight forward to implement, once I've regular internet access again.
If you consider a PR, please also provide a tests

odbc2parquet 0.9.0 has just been released. It supports passing - for the output parameter of the query subcommand in order to allow writing to standard out.


Style/FileName should accept a regex parameter

Homebrew has formula files with dashes, but otherwise respect the convention, while other projects may have stricter rules than the default. Having a regex parameter available to enforce one's own rules will certainly be useful.

Same thing for Style/CommentAnnotation, I don't really like to add a colon in
TODO comment about stuff
But in order to just drop the colon from the rule it seems like my only option is to use a rubocop fork. It would be much better if the format was detailed in a regex that I could change in my .rubocop.yml conf file.

Having a regex parameter available to enforce one's own rules will certainly be useful.

Are you looking for a "good" regex which must match, or a "bad" regex which must not match?

Same thing for Style/CommentAnnotation, I don't really like to add a colon in
TODO comment about stuff

Hmm. If there is enough demand for this, I would code something up, but I doubt that there is. I am inclined to suggest that a custom cop would be your best bet.
Right now we don't have an official, documented API for custom cops, but there will be before long.

Ping @lloeki.

The "good" one, looking for a match.

Maintainers, what do you say?

A positive regex for how file names should look sounds good to me.

Should the regex be applied only to the basename? Or the entire path? Or each component of the path individually?

Only the basename is ok for me. I think that's what we're checking today.

Do we drop the .rb suffix (and other suffixes) before applying the regex?

I think I know the answer. Opening PR now.


ROCANA-10063: sigar tests pass on all supported platforms

This PR makes go test pass on all supported platforms - windows, linux, darwin.
Unfortunately it seems the best way to accomplish this is to run the Get() methods in sigar_interface_test.go and detect when an error has occurred for a known unsupported platform. This means we pepper the tests with checks against runtime.GOOS, but I think this is the best way:

When we implement new providers with a corresponding test, the sigar code will fail to compile on the target platform. This is an improvement because we generally don't know a provider hasn't been implemented (stub or otherwise) until we're in code that is a consumer of the sigar library. This leads to more platform specific handling when ideally sigar would take care of it all (or at least much more than it does).
We can assert that the stub on an unsupported platform returns the correct ErrNotImplemented error, and ideally the test will fail when we do implement the new provider for that platform. I've tried to write the tests such that ErrNotImplemented is asserted against directly rather than just HaveOccurred().
This refactoring gives me an excuse to remove the panic() calls, because those are just difficult to deal with.

Note there is also some gofmt noise and other minor cleanup.
After this change, we should be able to hook up CI to this repository for all three platforms and know immediately when a PR is missing unsupported platform stubs or the like.

Thanks for the review @matthew-dailey!
We forked the repo in 2015 but we're only 4 commits behind, so I'm not too worried about merging upstream changes. Plus we've made a number of other changes that have caused it to diverge.


HDDS-9384. [hsync] Update OpenTelemetry traces in the write path

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix

Title: [hsync] Update OpenTelemetry traces in the write path
Description: Traces for

Ratis callback function (ContainerStateMachine)
DataNode PutBlock/WriteChunk
Client BlockOutputStream WriteChunk

What is the link to the Apache JIRA
HDDS-9384
How was this patch tested?
Manual test. Screenshots

Maybe the updated PR template is a bit confusing, but "Title" is supposed to be entered only in the title field, not duplicated in the description field.
CC @hemantk-12

Maybe the updated PR template is a bit confusing, but "Title" is supposed to be entered only in the title field, not duplicated in the description field.
CC @hemantk-12

Yeah, I agree. I've also seen couple of PRs with similar duplicated title.
Is there a way to update PR template to fill "Title" field with this instead of commit message? Otherwise we can update the temp to something:
1. **Update the Title field:** Title should provide a one sentence overview of the purpose of the PR.
2. **Add Description:**
   * What changes are proposed in the PR? and Why? It would be better if it is written from third person's perspective not just for the reviewer.
   * Provide as much context and rationale for the pull request as possible. It could be copy-paste from the Jira's description if the jira is well defined.
   * If it is complex code, describe the approach used to solve the issue. If possible attach design doc, issue investigation, github discussion, etc.
3. **PR examples:** [PR#3980](https://github.com/apache/ozone/pull/3980), [PR#5265](https://github.com/apache/ozone/pull/5265), [PR#4701](https://github.com/apache/ozone/pull/4701), [PR#5283](https://github.com/apache/ozone/pull/5283), [PR#5300](https://github.com/apache/ozone/pull/5300))

Attach a few screenshots after the change. It's now able to connect thousands of trace spans.

@chungen0126

Rewrote the PR because the block output stream is becoming more asynchronous. Here's the latest screenshot.


Table alignment error

Under FedRAMP High,  Identification And Authentication, IA-2 there's an table alignment error.

Document Details

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

ID: 005d6975-f30c-a53f-9228-eb5e4626df96
Version Independent ID: 5ffce2bf-282c-c1f2-7444-32b52483e038
Content: Azure Policy Regulatory Compliance controls for Azure SQL Database - Azure SQL Database
Content Source: azure-sql/database/security-controls-policy.md
Service: sql-database
Sub-service: security
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

I have raise a PR for this issue. Please kindly review it here

Fixed in https://github.com/MicrosoftDocs/sql-docs/pull/9441
#please-close


Add Kromagnon algorithm aka Asynchronous SVRG

This can start once #61 is merged
The idea is to run in parallel computations in method solve_sparse_proba_updates
Paper: https://arxiv.org/pdf/1507.06970.pdf

Re worked what I had into something usable - will PR once cleaned up


added overlay  chainlink factory

LGTM, nice job @c-n-o-t-e !
Could we add in interfaces for both OverlayV1ChainlinkFeedFactory.sol and OverlayV1ChainlinkFeed.sol?

Added


WIP - Do Not Merge: Fix tests

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@39fea55). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #92   +/-   ##
=========================================
  Coverage          ?   24.75%
=========================================
  Files             ?       18
  Lines             ?      202
  Branches          ?        0
=========================================
  Hits              ?       50
  Misses            ?      152
  Partials          ?        0

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 39fea55...66e8943. Read the comment docs.

@declandewet I'm not sure why the codecov/project CI is failing.  Maybe the previous merge didn't successfully pass tests?

Hopefully this will allow us to merge https://github.com/declandewet/vue-meta/pull/84