Implement changes requested by reviewer

Hello Reviewer, ✋
In this PR, I have generated the backend,

No linters errors
Very good gitflow
Implemented changes required by reviewer

Frontend link : https://github.com/keza681/hello-world-react/tree/feature_branch

❌ ❌ ❌ STATUS: INVALID  ❌ ❌ ❌

Hello @keza681  ✋🏼
You have submitted a project/(frontend side), that has linter errors. Kindly fix and resubmit again.
Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers and Happy coding! 💻 👏

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
Invalid Code Review Request does not count into the code reviews limit.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.
GitHub | LinkedIn | Twitter
Reviewed by Ahmet Bozacı


Restore unprivileged archive unpack behavior

Related to #10492

@stgraber do you know which change in lxd regressed this recently?

I'm not sure. I'm guessing it was the switch to apparmor and the new lxd/archive which made us switch over to shared/subprocess and lose RunError but that wasn't all that recent.


Discovery: Metrics - Measure real world performance

Where to report
We want to use GA User Timings for reporting (we already use them here).
How to measure
Using the DevTools profiler is not an option for automated metrics collection (users would have to manually record and send the profiling data).
Interaction tracing with React - this API was removed in React 17.
Our options
Long Tasks API

Task duration 🟢
No support for Firefox and Safari 🟡
Origin is hard to pinpoint (can be solved by cross-referencing timestamps with some padding) 🟡
We can get the ~same information from Event Timing API

Event Timing API

Task duration 🟢
Origin can be determined (by cross-referencing timestamps, no padding needed) 🟢
No support for Safari 🟡

User Timing API

Task duration needs to be manually calculated from series of marks 🟡
We know the origin because we place function calls in those places 🟢
Supported in any major browser 🟢
Significantly more manual work than Event Timing API 🟡

Some remains of <Profiler> interactions (this will also be removed?):

No information about the duration of interaction 🔴

What makes sense
Two options that make the most sense are User Timing API and Event Timing API. If we want to support Safari, we are left with User Timing API and more manual work (placing those markers and calculations).
Of course, depending on what exactly we want to measure, we'll be using different techniques for this, but we are focusing on interactions here.
POC with Event Timing API
The end result looks like this:

For every interaction, we know when it happened (not that useful) and how long it took.
data-trace={'pageChange'} was added in the source code and then used this code to get the results:
let traces = {};

document.addEventListener("click", (e) => {
  const el = e.target.closest("[data-trace]");
  if (el) {
    if (!traces[e.timeStamp]) {
      traces[e.timeStamp] = {};
    }
    traces[e.timeStamp] = { id: el.dataset.trace, time: e.timeStamp };
  }
});

const performanceObserver = new PerformanceObserver((entries) => {
  for (const entry of entries.getEntries()) {
    if (["click"].includes(entry.name)) {
      traces[entry.startTime].duration = entry.duration;
    }
  }
});
performanceObserver.observe({ entryTypes: ["event"] });

POC with User Timing API

<script>
  let reports = {};

  function component() {
    const reportId = "click -> render";
    performance.clearMarks("render");
    performance.mark("render");
    performance.clearMeasures(reportId);
    const measurement = performance.measure(reportId, "click", "render");
    console.log(performance.getEntries());

    // We can send it right away or collect and send later, for GA it's probably the former.

    if (!reports[reportId]) {
      reports[reportId] = [];
    }

    const { startTime, duration } = measurement;
    const existingReportIndex = reports[reportId].findIndex(
      (report) => report.startTime === startTime
    );

    if (existingReportIndex !== -1) {
      reports[reportId][existingReportIndex] = { startTime, duration };
    } else {
      reports[reportId].push({ startTime, duration });
    }
  }

  function handler() {
    console.log("handler()");
    performance.clearMarks("click");
    performance.mark("click");

    // Simulate re-renders of the component.
    setTimeout(component, 100);
    setTimeout(component, 200);
    setTimeout(component, 400);
  }

  function report() {
    console.log(performance.getEntriesByType("measure"));
    console.log(reports);
  }
</script>

<body>
  <button onclick="handler()">handler()</button>
  <button onclick="report()">report()</button>
</body>

I've tested both solutions on the page navigation click and the results are not identical, that's because the User Timing API result depends on the placement of the component() part, it might not cover every/deepest leaf in the tree and so on.
Results from the Event Timing API will always(?) be bigger. That shouldn't be a huge deal, because we still can spot regressions/improvements.

What do we want to measure?

Element selection
Element insertion (split into Media/Text/etc?)
Page navigation (by clicking arrows/thumbnails/keyboard?)
DND (just dropping item?)

Nice investigation and write up! I think using the Event Timing API makes sense since it'll be the easiest to implement and should give us some good insight into real world performance despite being Chrome-only.
Questions:

In your testing, were there any non-click user gestures that caused jank (100ms+ latencies)? I can only think of scroll and drag/drop.
Can you propose an initial set of events/elements to track (i.e. which elements do we add data-trace to)? Ideally it should provide coverage over the 10-20 most common actions in the editor.

Not critical: I wonder if we could use Long Task API to detect scroll lag, perhaps by filtering observed performance entries to containers that we know are scrollable (e.g. mark scrolling containers with attribute like `data-trace="scrollable-text-sets"). This may still be conflated with non-scrolling jank though.

Curious, have you also looked at React Profiler API (see #8459) to measure performance of React component renders? It's opt-in due to the overhead it brings, but according to https://gist.github.com/bvaughn/25e6233aeb1b4f0cdb8d8366e54a3977 the performance impact seems to be minimal. Worst case we enable it only during development to keep an eye on things.

Can you propose an initial set of events/elements to track (i.e. which elements do we add data-trace to)? Ideally it should provide coverage over the 10-20 most common actions in the editor.

#2390 comes to mind (scrolling in media library)
Also perhaps media upload / transcoding / muting / trimming

Closing as work continues in #9328


Support for other DBMSs/Connection Pool

Please add suport for other DBMS (particularly PostgreSQL) and Connection Pools.

Hi, I plan to add these features in the next release of Wings.
This is the semester end in my college and I am extremely busy with my academics, thus I am looking for contributors who can help me with these features.
I will try to increase DB support very soon.
Thanks for raising the issue. :)

👍


Error on running bin/setup

I'm using the debian subsystem and went through all requirements of the setup, since docker is not working on a Linux Subsystem either.
`  12:12:39 ERROR     [console] Error thrown while running command "dal:refresh:index". Message: "UUID has a invalid length. 16 bytes expected, 32 given. Hexadecimal reprensentation:<PHONE_NUMBER>646464373062663433643661333330633261393930396639663061" ["exception" => Shopware\Core\Framework\Uuid\Exception\InvalidUuidLengthException { …},"command" => "dal:refresh:index","message" => "UUID has a invalid length. 16 bytes expected, 32 given. Hexadecimal reprensentation:<PHONE_NUMBER>646464373062663433643661333330633261393930396639663061"]
    In Uuid.php line 49:

      UUID has a invalid length. 16 bytes expected, 32 given. Hexadecimal reprens
      entation:<PHONE_NUMBER>646464373062663433643661333330633261393930396639663061`

Hi @BogdanChayka,
thanks for the report. We found the bug and fixed it, if you update your environment the bug should not occur anymore.


Anchor is heap hungry

Problem
With transaction v2 and address lookup tables, it is now possible to do a lot more in a single program call and to do a lot more overall.
In fact, Jupiter is already capable of consuming up to 64 accounts (current account lock max) for routed swaps through multiple pools.
A new issue that arise is that the default heap is 32 * 1032 and the default bump allocator (does not deallocate). As a result we start to see cases where we run out of heap.
https://github.com/solana-labs/solana/blob/d9b0fc0e3eec67dfe4a97d9298b15969b2804fab/sdk/program/src/entrypoint.rs#L101-L132
> Program logged: "Error: memory allocation failed, out of memory"
> Program consumed: 471325 of 786985 compute units> Program returned error: "BPF program panicked"
> Program returned error: "Program failed to complete"

Example trying to find out where the heap goes
Using the default BumpAllocator and logging of the pointer position I produced this log for a single CPI
one CPI to mercurial pool (using the to_account_infos and to_account_metas pattern) as does the CpiContext
8 accounts
AccountMeta => 8 * 34 = 408
AccountInfo => 12 * ? = ?
The log of the diff of the pointer position for each step of allocation
[2022-10-17T23:30:06.725476370Z DEBUG solana_runtime::message_processor::stable_log] Program log: after to_account_metas: 370
[2022-10-17T23:30:06.726310747Z DEBUG solana_runtime::message_processor::stable_log] Program log: after to_account_infos: 1686

so 2056 bytes of heap gone for that simple step.
I can produce a minimal repo to repro if people are interested but using the link from entrypoint.rs is pretty much what i did
in comparison a vanilla token transfer call: https://github.com/solana-labs/solana-program-library/blob/d02d49e2671c6af06633d21ecdb8970423880c75/token-swap/program/src/processor.rs#L187 allocates only AccountMetas in a ve for the Instruction accounts field.
Possible solutions

Better control of the Vec capacity to prevent reallocation and paying the whole vec in space again and again.
Investigate moving away from to_account_infos which allocates using a Vec and use some macro instead to build an array from the existing fields, but likely hard/impossible to do due to remaining_accounts.
Find an implementation of the heap allocator that is still very cheap but allow reusing deallocated memory.
Use some hacky solution to prevent heap allocation in great quantity

Side effect

Less heap, more stack. There are already some known issues due to the stack also being limited.

You can use the compute budget program to request more heap memory, I think you can request around double the heap memory

I am aware of both of those solutions but i don't think they are great:

request heap requires reimplementing the bump allocator only to change the heap LEN
i cannot do with_capacity in the anchor CPI contexts from within my program, but i can amend anchor of course, however, we could default to with_capacity somehow, ignoring that in the general case there shouldn't be many remaining_accounts to push.

One solution that I'm investigating for the new set of constraints is switching account_info to being accessed as a zero copy struct instead of copying it to the heap. That should solve quite a bit of that overhead, right?

Ok, so to_account_metas and to_account_infos don't contain remaining_accounts from what i can see. But the reason they have the system where they extend a vec with vec![] is because anchor supports nested derive(Accounts) struct. So you don't know that the account type might actually be another derive(Accounts) struct with more than one account on them.
If it really is the case that the reassigning of the vecs is the major issue here, then it's possible we could add a len attribute or something similar to the account types. This would allow for allocating the length of the vector correctly up front? (although maybe optional accounts messes with this 🤷 )

was there a clean solution to this @Arrowana ?

was there a clean solution to this @Arrowana ?

No full solution yet, there is some major savings possible trying to carefully create any vec with Vec::with_capacity
Also while this gobbles quite some heap, the other area for improvement is the usage of BorshSerialize::try_to_vec
https://github.com/near/borsh-rs/blob/dc1b0aa459a574b314f7bfab752db6d27319bb3f/borsh/src/ser/mod.rs#L58-L62
it is used in data(&self) -> Vec<u8> for ix data to cpi, event, new event_cpi...
It creates a Vec::with_capacity(1024), so instantly no matter the size of what is serialized, <=1024 - 8 is allocated for nothing.
I believe a rework is needed to potentially leverage the existing proc macro of InitSpace, so that we can have auto max sizing to allow each implementation to become something like
pub trait InstructionData: Discriminator + AnchorSerialize + Space {
    fn data(&self) -> Vec<u8> {
        let mut d = Vec::with_capacity(8 + Self::INIT_SPACE);
        d.extend(Self::discriminator());
        self.serialize(&mut d).expect("Should always serialize"));
        d
    }
}

#[automatically_derived]
impl anchor_lang::Space for #name {
    const INIT_SPACE: usize = 1 + #max;
}

Or with auto sizing optional

I believe a rework is needed to potentially leverage the existing proc macro of InitSpace, so that we can have auto max sizing to allow each implementation to become something like
pub trait InstructionData: Discriminator + AnchorSerialize + Space {
    fn data(&self) -> Vec<u8> {
        let mut d = Vec::with_capacity(8 + Self::INIT_SPACE);
        d.extend(Self::discriminator());
        self.serialize(&mut d).expect("Should always serialize"));
        d
    }
}

#[automatically_derived]
impl anchor_lang::Space for #name {
    const INIT_SPACE: usize = 1 + #max;
}

Or with auto sizing optional

I'm on board with decreasing the usage of BorshSerialize::try_to_vec on program side but from what I can see, InstructionData is only being used from client side and it shouldn't cause any extra heap allocations on program side.

No, it does. When you do cpi, or when creating event it is also used. So this is happening program side.

I believe a rework is needed to potentially leverage the existing proc macro of InitSpace, so that we can have auto max sizing to allow each implementation to become something like
pub trait InstructionData: Discriminator + AnchorSerialize + Space {
    fn data(&self) -> Vec<u8> {
        let mut d = Vec::with_capacity(8 + Self::INIT_SPACE);
        d.extend(Self::discriminator());
        self.serialize(&mut d).expect("Should always serialize"));
        d
    }
}

#[automatically_derived]
impl anchor_lang::Space for #name {
    const INIT_SPACE: usize = 1 + #max;
}

Or with auto sizing optional

I'm on board with decreasing the usage of BorshSerialize::try_to_vec on program side but from what I can see, InstructionData is only being used from client side and it shouldn't cause any extra heap allocations on program side.

No, it does. When using the cpi ixs, or when emitting events it is also used. So this is happening program side. I wasn't clear enough but all serialization steps are affected, excepted directly into an account data

I think I wasn't clear enough either. I'm on board with optimizing the usage of BorshSerialize::try_to_vec on program side(which is being used in CPI, events and return data) but the example code you've given is about InstructionData which only seems to be used from client side. Could you share the usage of InstructionData from program side if I'm missing something here?

I believe a rework is needed to potentially leverage the existing proc macro of InitSpace, so that we can have auto max sizing to allow each implementation to become something like
pub trait InstructionData: Discriminator + AnchorSerialize + Space {
    fn data(&self) -> Vec<u8> {
        let mut d = Vec::with_capacity(8 + Self::INIT_SPACE);
        d.extend(Self::discriminator());
        self.serialize(&mut d).expect("Should always serialize"));
        d
    }
}

#[automatically_derived]
impl anchor_lang::Space for #name {
    const INIT_SPACE: usize = 1 + #max;
}

Or with auto sizing optional

I'm on board with decreasing the usage of BorshSerialize::try_to_vec on program side but from what I can see, InstructionData is only being used from client side and it shouldn't cause any extra heap allocations on program side.

No, it does. When using the cpi ixs, or when emitting events it is also used. So this is happening program side. I wasn't clear enough but all serialization steps are affected, excepted directly into an account data

I think I wasn't clear enough either. I'm on board with optimizing the usage of BorshSerialize::try_to_vec on program side(which is being used in CPI, events and return data) but the example code you've given is about InstructionData which only seems to be used from client side. Could you share the usage of InstructionData from program side if I'm missing something here?

oups, correct it isn't. So not InstructionData but the other ones.


set language

As user I will have the language for the website pages set correctly to prevent Chrome from asking for useless translation. Set lang for all pages to German except https://www.zitat-service.de/start/joomla_english for English.

Google states:
Your site has no hreflang tags.
Google uses hreflang tags to match the user's language preference to the right variation of your pages.

<html lang="de" is set for all pages, except /start/joomla_english
hreflang is only applicable for pages joomla and joomla_english and ignored at the moment


Add capability to pass an options object to the sort function instead…

Add capability to pass an options object to the sort function instead of a list of parameters.
This change can handle future changes.
Related: #1

My fault to understand the requirements.


Issue#4/create-your-card

#4
Added my card

Your card looks amazing @KesineeP ! 💟

Actually I see your changes @KesineeP , but the netlify log here : https://app.netlify.com/sites/scrollodex/deploys/61698b117f50b8000837e668
says the build is failing to compile because there are multiple card imports of the same name, I would just edit the file to have one instance of that card import and it should be good to go and I can merge it after

Thanks @KesineeP !  You're awesome!


Removed unnecessary variable.

As you are testing if Texture Resource is null, there is no need to create another variable for checking.
This makes debugging a bit easier and uses less resources.

Won't this not run because oldResource is still used to check if it's null? @ Line 43

You're right, I forgot to change it.

It's been long. I'm closing this PR as the repository is inactive and engine no longer maintained.


Improper syntax highlighting with line changes for .sh files

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.92.1
OS Version: Mac OS x, Windows (this is an universal issue, I see it everywhere)

Steps to Reproduce:

open a new file in editor, change syntax highlighting to "Shell Script"
type the following the the editor:

# good
ls -alh

# good
ls \
    -alh \

# not good, `-alh` should be "blue" as well
ls \
-alh \

and check the syntax highlighting:

Also look at the markdown rendering above in step 2. It shows that Github web page can handle the rendering properly even in a markdown snippet.

Copied to the upstream repo: https://github.com/jeff-hykin/better-shell-syntax/issues/99


Make EventSubscription handling public

Recently I found myself in a need to use a custom EventReference and wanted to call subscription.handler(value) manually from the inside. To my surprise, this was marked as internal.
This pull request fixes this by introducing a public func handle(value: T), which makes it possible to customize the behavior of EventReferences.

Sorry for the delay. This is obsolete now.
I cleaned up some access levels when migrating to Swift 3. Indeed this is way better as public private(set) or a public handle method like yours.


[MOD-88][Fix] Don't show errors until user clicks submit

Ticket
https://openscience.atlassian.net/browse/MOD-88
Purpose
Hide validation errors on the preprint submit page until the user tries submitting.

Changes
Before clicking submit:

After clicking submit with validation errors, display errors and disable submit button until errors are fixed:

Side effects

@abram, test is broken. Once that is fixed, looks good 👍


Nullius seawater intake

Problem Description
Factory Planner does not allow the use of Seawater Intake 2. All other machines in Nullius are allowed at all their levels. Thank you for a most amazing mod, and for the continuous improvements you have been making to it.
Reproduction
No response

I looked into this, and it turns out that the mod does support it, it's just a separate recipe.
You'll need to select the second recipe to get the level 2 pump.

Thank you sir,
I most humbly apologise for not investigating more thoroughly. Once again
thank you very much for all your work for the Factorio community.
On Fri, 25 Aug 2023 at 14:28, Therenas @.***> wrote:

I looked into this, and it turns out that the mod does support it, it's
just a separate recipe.
You'll need to select the second recipe to get the level 2 pump.
[image: Image]
https://user-images.githubusercontent.com/22834555/263282457-5c852dd0-1fe4-4af9-8103-b34c9ccc93ed.png
—
Reply to this email directly, view it on GitHub
https://github.com/ClaudeMetz/FactoryPlanner/issues/115#issuecomment-1693363248,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APLANWSZTNURE72LZINSRHTXXCSAJANCNFSM6AAAAAA3RFOMZM
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Ian Maclaurin
Cell: +44 73 7835 2106

No worries at all, happy to help :)


[11.x] Describe the purpose and function of queue:work --memory

The implementation of --memory is actually really clever. I found it to be very useful to prevent potential memory leaks. However, its description does not fully describe what it does.
My first interpretation of its function was that it sets a limit on the amount of memory that individual jobs may use. Thus, I set it to a value that equals the PHP INI setting memory_limit. This setting essentially made the option useless, as the worker now kept running until it was right at the cusp of using up all memory. Subsequently, the next job to start processing would fail.
I found that it is probably best to just leave the default, unless your queue worker uses a lot of memory while idle. If this were the case, the queue worker would always stop after processing a single job, causing unnecessary restarts. For most applications, 128MB should be sufficient.
In conclusion, I think it is valuable to describe this option in more detail. Even though most users will not have to modify it, there is potential for misunderstanding is purpose, leading to a misconfiguration that actually makes your queue worker less reliable.
I also updated the documentation in https://github.com/laravel/docs/pull/9719.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If applicable, please consider releasing your code as a package so that the community can still take advantage of your contributions!

Hey, thanks for looking at this pull request. I don't see how adding a couple of words to the description and correcting comments in the test increases the amount of code to any significant degree. No lines of code are added.
I think the new description is more accurate and could help users apply --memory correctly. Please reconsider.


Add ruby_package definitions

Recreated #61

@alexshtin I've fixed conflict with master, feel free to merge

@antstorm thanks for adding this!


Import from amo

r? @magopian

Can you explain what is the aim of this PR? What is it doing, adding the former "xml2kinto" to the "kinto2xml" repository?
Is the "xml2kinto" repository going to be deprecated?

from what I've seen, looks like the move from the former xml2kinto code. lgtm

Is it adding the former "xml2kinto" to the "kinto2xml" repository?

Not really but part of the sync protocol are, I think it might make sense to push it in kinto.py instead.

Is the "xml2kinto" repository going to be deprecated?

Well the xml2kinto repository aims to fill in the kinto storage from the blocklists.xml file.
While kinto2xml aims to generate the blocklists.xml as it was generated by AMO.
I have added the import.py script that will let us import the data from AMO (and the JSON view we've made)
I am going to add tests here.

Updated with Importer tests, I am writting exporter ones.

r? @magopian

I have added a functional tests and renamed amo2kinto to json2kinto according to the document @tarekziade wrote.

Impressive work, thanks a lot @Natim
r+

I am glad you liked it :)


fix appsubreport not generating for local-cluster when the pod dealing with HelmRelease is the standalone pod

Signed-off-by: Mike Ng<EMAIL_ADDRESS>

/lgtm
/approve


Use protodep to manage proto dependencies

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

Closing since playing around with Bazel appears to be a better solution in this case


[Docs] Elaborated on alternatives to elimination contexts

LGTM. I hadn't realised the need for passing dummy type arguments for non-parameterized recursive types, that's a little sad. But I guess this is all going to be rolled into a unified version that mimics the head-spine form, so it won't be that apparent.

But I guess this is all going to be rolled into a unified version that mimics the head-spine form, so it won't be that apparent.

Oh, I should add the nat example, thanks. The dummy argument is completely invisible for the user indeed. But yeah, it's not a nice thing anyway.

I should add the nat example

Done.

I think the elaboration is correct, so let's update master.


Bump observability resources to v1.40.1

@k-wall   Can you approve this?
Observability tag: https://github.com/bf2fc6cc711aee1a0c2a/observability-resources-mk/releases/tag/v1.40.1

cc @StevenTobin @R-Lawton

cc @MikeEdgar


use official versions file

fixed #47, #58

Great Job! 👍
and I found that checksum is missing in npm run check scripts.
I don’t remember when it disappeared, can you add it back?

@axetroy I think checksum should not be included in check, because we will only update dist/index.js when the new version is released.

But ci did an invalid check, I will fix it


packaging scripts for v0.2.0

Linux/Mac binaries

For reference, let's make this release work with PyTorch 1.1 and not just nightlies. It's effectively a freeze of current functionality so that we can then start breaking things with a clear trail of record.


replace mb_strlen() to strlen() in various rules as already return early in ! is_numeric

Previously, there is a ! is_numeric() check with return false early, so the numeric check is no need mbstring check with mb_strlen(), the strlen() is enough.
Checklist:

[x] Securely signed commits

Actually - I have no idea why it's checking to make sure it's a number first. This should probably be to remove the ! is_numeric check instead, otherwise we can never actually check the length of the string. At that point, though, we would need to keep mb_strlen.

@lonnieezell Ok, I've removed the !is_numeric() check and keep the mb_strlen()


[fix](dynamic partition) fix create too many dynamic partitions

For dynamic partitions,  the expect created partition num = dynamic_partition.end - dynamic_partition.start.
By default,  fe limit 500(Config.max_dynamic_partition_num) dynamic partitions.
But if dynamic_partition.start is near  int.min_value， the expect create partition num will be overflow and become a negative number.  Then check created partition num < Config.max_dynamic_partition_num is ok.
For example:  if start = -2147483647 (int.min_value + 1)， end = 1, then end - start =   -2147483648 < 0
So change the expect create partition num to long to avoid overflow.
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


'git push heroku master' not working

Heroku won't let me deploy my app. This is the output when I enter git push Heroku master.

Counting objects: 1885, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (1852/1852), done.
Writing objects: 100% (1885/1885), 9.81 MiB | 2.90 MiB/s, done.
Total 1885 (delta 118), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Building on the Heroku-20 stack
remote: -----> Determining which buildpack to use for this app
remote: -----> Python app detected
remote: -----> Installing python-3.9.4
remote: -----> Installing pip 20.2.4, setuptools 47.1.1 and wheel 0.36.2
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote:        Collecting appdirs==1.4.4
remote:          Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
remote:        ERROR: Could not find a version that satisfies the requirement apturl==0.5.2 (from -r /tmp/build_08c19c8f/requirements.txt (line 2)) (from versions: none)
remote:        ERROR: No matching distribution found for apturl==0.5.2 (from -r /tmp/build_08c19c8f/requirements.txt (line 2))
remote:  !     Push rejected, failed to compile Python app.
remote:
remote:  !     Push failed
remote:  !
remote:  ! ## Warning - The same version of this code has already been built: 7e2bc0f012fcc087163c99740f2ac87e85ef83ac
remote:  !
remote:  ! We have detected that you have triggered a build from source code with version 7e2bc0f012fcc087163c99740f2ac87e85ef83ac
remote:  ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote:  !
remote:  ! If you are developing on a branch and deploying via git you must run:
remote:  !
remote:  !     git push heroku <branchname>:main
remote:  !
remote:  ! This article goes into details on the behavior:
remote:  !   https://devcenter.heroku.com/articles/duplicate-build-version
remote:
remote: Verifying deploy...
remote:
remote: !	Push rejected to damp-chamber-41707.
remote:
To https://git.heroku.com/damp-chamber-41707.git
 ! [remote rejected] main -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/damp-chamber-41707.git'

@rohan-techie Hi!
The reason the build failed is mentioned in the build log:
ERROR: Could not find a version that satisfies the requirement apturl==0.5.2 (from -r /tmp/build_08c19c8f/requirements.txt (line 2)) (from versions: none)
ERROR: No matching distribution found for apturl==0.5.2 (from -r /tmp/build_08c19c8f/requirements.txt (line 2))

That package does not exist:
https://pypi.org/search/?q=apturl
Also, the issues on this repo are not the best place for support issues. For future support related questions (that aren't bugs or feature requests for the buildpack), please open a ticket here:
https://help.heroku.com/


Cannot interact with Modal on Android

🐛 Bug Report
Cannot interact with components inside of a modal on Android only (i.e. pressing a button rendered in a modal). This is observable in a snack created by @artyorsh for issue #718.
Modals seem to work correctly for IOS.
To Reproduce
Steps to reproduce the behavior:

Build a modal with a button on Android and try to click on the button. It will not work.

Expected behavior
Should be able to interact with components that are rendered in a modal.
Link to runnable example or repository (highly encouraged)
https://snack.expo.io/@art.yorsh/ui-kitten---dynamic-modals-(v4.2)
UI Kitten and Eva version

Package
Version

@ui-kitten/components
v4.2, v4.4-beta.1

I've tried this with v4.2 and updated my environment to the v4.4-beta.1 and it doesn't work on both versions. One other thing I've noticed is that if you allow the backdrop for a modal, a press anywhere on the screen will trigger the callback supplied to onBackdropPress.
Popovers seem to not be affected by this bug.

Still can not interact with modal on Android devices. I am using UIKitten v4.4.0

@Swabow please provide a reproducible demo


Exit gracefully from SIGINT

C-c will put the terminal in a messed up state that requires running reset (or some equivalent command). It seems that SIGINT isn't being caught in order to exit curses mode and restore tty mode.

Definitely very annoying I agree.
fwiw, you can do reset  to restore your terminal, until I fix this.

To be fair, the reset solution is sort of hidden in my description. If you missed it, then someone else will too. So for clarity's sake:
Temporary fix: run reset in your terminal.

I think this is fixed in the tokio branch :)
I hope to merge it by end of next week.
Maybe earlier if I have some time this weekend.

I merged the tokio branch so this should be fixed.


Update SNIPPETS to use Card

LegacyCard is marked as deprecated and Shopify advises to use the Card component.
This updates the snippet to reflect this.

There's a new push in the works that replaces all the snippets with new Polaris Pages and patterns and the current snippets for creating empty pages will be marked as deprecated in next week's push. Closing the PR^


Fix crash when calling connect_nodes_forced with invalid params

Fixes #46014.
Error checking pretty much copied from the regular connect_nodes.

Thanks!

Cherry-picked for 3.2.4.


Do not collapse string when selecting parts of it

A user of our project reported this bug/idea and I thought that this could be a nice improvement for other users of react18-json-view as well: https://github.com/langfuse/langfuse/issues/1189
Recording of issue

Suggestion: when a string is expanded and user selects parts of it, prevent collapse
@YYsuni what do you think about this? Is this something that's a general improvement of this project or rather implemented by us as an override for the string node?

Wow..., It's actually a terrible experience. I will fix it today.

v0.2.8-canary.1 available now.

@marcklingen Hello?

Thanks for the ping, will try this asap

Works perfectly, thank you 🙏


AttributeError: 'NoneType' object has no attribute 'get'

**Hello, I got a issue when learning a custom environment. Please give me some advices, thank you!
from stable_baselines import A2C
from stable_baselines.common.cmd_util import make_vec_env
import numpy as np
# instantiate the env
np.random.seed(0)
env = gym.make('MyHEM-v0')
env = make_vec_env(lambda: env, n_envs = 1)
model = A2C('MlpPolicy', env, gamma=1.0, verbose=1)
model.learn(total_timesteps=5000)

**My error is**
---------------------------------------------------------------------------
 AttributeError: 'NoneType' object has no attribute 'get'

**My environment code is roughly like this**
---------------------------------------------------------------------------
import random
import json
import gym
from gym import spaces
import pandas as pd
import numpy as np

class HEMS01(gym.Env):
    metadata = {'render.modes': ['human']}

    def __init__(self,):
        super(HEMS01, self).__init__()
        self.appliances_number = 1
        self.electricity_cost = np.array([5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 12, 12, 5, 5, 5, 5, 10, 10, 10, 5, 5, 5])
        self.appliances_consumption = 1
        self.schedule_start =10
        self.schedule_stop = 20
        self.time_stamp = 0
        ##  Action of the format
        n_actions = 2
        self.action_space = spaces.Discrete(n_actions)
        # discribe by Discrete and Box space
        self.observation_space = spaces.Box(low = 0, high = 24,
                                            shape=(1,5), dtype = np.float32)
        self.done = False
        self.time_stamp = 0
        self.state_accumulation = 0
        self.episode_rewards = []
        self.history_actions = []

    def get_action_shape(self):
        return 1

    def reset(self):
        self.done = False
        self.time_stamp = 0
        self.state_accumulation = 0
        self.history_actions = []
        return self.get_obs()

    def get_obs_shape(self):
        return np.shape(self.get_obs())

    def get_obs(self):
        return [self.time_stamp,self.state_accumulation,self.schedule_start,
               self.usage_duration,self.schedule_stop]

    def reward(self, action):
          pass

    def seed(self, seed=None):
        self.np_random, seed = seeding.np_random(seed)
        return [seed]

    def step(self, action):
        pass

    def render(self, mode='human', close=False):
        pass

    def close(self):
        pass

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-16-b7dcb49ceb4c> in <module>
      8 env = make_vec_env(lambda: env, n_envs = 1)
      9 model = A2C('MlpPolicy', env, gamma=1.0, verbose=1)
---> 10 model.learn(total_timesteps=5000)
     11 #model.learn(total_timesteps=5000)

~\Anaconda3\envs\pytorch\lib\site-packages\stable_baselines\a2c\a2c.py in learn(self, total_timesteps, callback, log_interval, tb_log_name, reset_num_timesteps)
    259                 callback.on_rollout_start()
    260                 # true_reward is the reward without discount
--> 261                 rollout = self.runner.run(callback)
    262                 # unpack
    263                 obs, states, rewards, masks, actions, values, ep_infos, true_reward = rollout

~\Anaconda3\envs\pytorch\lib\site-packages\stable_baselines\common\runners.py in run(self, callback)
     46         self.callback = callback
     47         self.continue_training = True
---> 48         return self._run()
     49
     50     @abstractmethod

~\Anaconda3\envs\pytorch\lib\site-packages\stable_baselines\a2c\a2c.py in _run(self)
    370
    371             for info in infos:
--> 372                 maybe_ep_info = info.get('episode')
    373                 if maybe_ep_info is not None:
    374                     ep_infos.append(maybe_ep_info)

AttributeError: 'NoneType' object has no attribute 'get'

Hello,
Please fill up the issue template completely (especially please run the check_env() first).

Thanks for your reply. Actually, this version of environment has the same problem as the original one.  I've tried check_env()
according to your advice. And receive this error:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-5-0f6792f977ee> in <module>
----> 1 check_env(env)

~\Anaconda3\envs\pytorch\lib\site-packages\stable_baselines\common\env_checker.py in check_env(env, warn, skip_render_check)
    179         True by default (useful for the CI)
    180     """
--> 181     assert isinstance(env, gym.Env), ("You environment must inherit from gym.Env class "
    182                                       " cf https://github.com/openai/gym/blob/master/gym/core.py")
    183

AssertionError: You environment must inherit from gym.Env class  cf https://github.com/openai/gym/blob/master/gym/core.py

Please give me some advice to fix it, thank you again!

Thanks for your reply. Actually, this version of environment has the same error as the original one. So I condiser this error may have something to do with the structure of the environment? And I have tried the check_env() according to your kind advice, the error is like this:

---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-5-0f6792f977ee> in <module>
----> 1 check_env(env)

~\Anaconda3\envs\pytorch\lib\site-packages\stable_baselines\common\env_checker.py in check_env(env, warn, skip_render_check)
    179         True by default (useful for the CI)
    180     """
--> 181     assert isinstance(env, gym.Env), ("You environment must inherit from gym.Env class "
    182                                       " cf https://github.com/openai/gym/blob/master/gym/core.py")
    183

AssertionError: You environment must inherit from gym.Env class  cf https://github.com/openai/gym/blob/master/gym/core.py

Please give me more advice to fix it up. Thank you again! Best wishes!

You have to run the non-vectorized environment through check_env, i.e. without the make_vec_env.

Thanks for your reply. But actually I have used 'env = make_vec_env(lambda: env, n_envs = 1)'   as it is shown at the beginning. And then use 'check_env(env)' to check the environment.
import sys
sys.path.append('C:\\Users\\yc331\\Desktop')
import HEMS_single
import gym
from stable_baselines.common.env_checker import check_env
from stable_baselines.common.cmd_util import make_vec_env
import numpy as np

env = gym.make('MyHEM-v0')
env = make_vec_env(lambda: env, n_envs = 1)
check_env(env)

Besides, I tried to register env in gym and adopt 'import' and 'gym.make' to use it. And my tensorflow version is 1.15.0. I wonder is it has something to do with the error?
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-32-d2e795373b3d> in <module>
      9 env = gym.make('MyHEM-v0')
     10 env = make_vec_env(lambda: env, n_envs = 1)
---> 11 check_env(env)

~\Anaconda3\envs\pytorch\lib\site-packages\stable_baselines\common\env_checker.py in check_env(env, warn, skip_render_check)
    179         True by default (useful for the CI)
    180     """
--> 181     assert isinstance(env, gym.Env), ("You environment must inherit from gym.Env class "
    182                                       " cf https://github.com/openai/gym/blob/master/gym/core.py")
    183

AssertionError: You environment must inherit from gym.Env class  cf https://github.com/openai/gym/blob/master/gym/core.py

I meant to say you have to use check_env directly on the environment from gym.make, without the make_vec_env. I.e:
env = gym.make('MyHEM-v0')
check_env(env)

The issue has been solved perfectly with your guidance. As a beginner, it helps me know more about 'check_env()' and stable-baselines. I appreciate it very much for your kind help. Best wishes!


Old torva

Would it be possible to add old torva?
I feel like theres a decent amount of ppl who'd like to see it back

RuneLite does not have the API to support this.


Calculations Parameter Space Exploration

Calculations for medium and large size parameter space exploration for each model (Generic2DOscillator, Wilson-Cowan, Jansen-Riit

After multiple runs, this is the estimated time I deduced corresponding to one simulation run (for each model):
Generic 2D Oscillator : 1.14 seconds
Wilson-Cowan: 3.67 s
Jansen-Rit : 1.2 s
Therefore, the general formula I used was : number of variables ^(number of parameters) x time taken for one combination of parameters.
After looking at the TVB documentation, I am proposing the range of each parameters to be the value closest to their range limit (not always the limit values itself as some combinations don't compute). From the range, I chose a granularity to obtain 11 variables per parameters. Proposal of first runs for each model:

Generic2DOscillator:
params_g =  [-5.0, -4.0, -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
params_alpha = -5.0, -4.0, -3.0, -2.0, -1.0, 0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
params_b = [-3.5, -2.8, -2.1, -1.4, -0.7, 0.0, 0.7, 1.4, 2.1, 2.8, 3.5]
params_c = [-0.5, -0.4, -0.3, -0.2, -0.1, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5]

Wilson-Cowan:
params_c_ee = [11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, 15.0, 15.5, 16.0]
params_c_ei =  [2.0, 4.0, 6.0, 8.0, 10.0, 12.0, 14.0, 16.0, 18.0, 20.0, 22.0]
params_c_ie = [2.0, 3.3, 4.6, 5.9, 7.2, 8.5, 9.8, 11.1, 12.4, 13.7, 15.0]
params_c_ii = [2.0, 3.3, 4.6, 5.9, 7.2, 8.5, 9.8, 11.1, 12.4, 13.7, 15.0]

Jansen-Rit
params_J= [65, 118.5, 172, 225.5, 279, 332.5, 386, 439.5, 493, 546.5, 600]
params_A = [4.75, 5.25, 5.75, 6.25, 6.75, 7.25, 7.75, 8.25, 8.75, 9.25, 9.75]
params_B =  [22.0, 30.0, 38.0, 46.0, 54.0, 62.0, 70.0, 78.0, 86.0, 94.0, 102.0]
params_mu = [0.02, 0.04, 0.06, 0.08, 0.10, 0.12, 0.14, 0.16, 0.18, 0.20, 0.22]

Here is the approximate time it would take for 4 parameters and 11 variables:

Generic 2D Oscillator: 4h37min
Wilson-Cowan: 14h55min
Jansen-Rit: 4h52min

I am still working on the code to generate the database. Since, Wilson-Cowan simulations take a much longer time to run then the other two, maybe these simulations could be run on a grid? Let me know what you think of the first run proposals and if I need to make other proposal

Thinking about how this would be used in a HPC context (i.e. batch submission of jobs to a compute grid).
Because each execution time is on the order of seconds, we wouldn't want to submit a single job for each parameter comb.
Depending on the specific grid capacity, you generally want each individual grid jobs to run between a few dozen minutes to a few hours.
So the right way to do this would be to send small lists of parameter combs to each grid job.
This is actually convenient because it makes the grid submission use case somewhat similar to the local machine use case.
What we need to have is a python file that runs something like this from the command line
python make_funit_db.py params.txt outfile.csv

make_funit_db.py  should have, minimally, the following two methods:
def make_db  - makes the database file for a param list and output filename (TVB_database in the current code seems fine for this)
def main.... - controls the command line execution. Reads in the text file defining the parameter set and the output filename, supplied during the command line call. Gives that info to a make_db call
We also want to be able to run within python. So that would be something like
from make_funit_db import make_db
make_db(input_args)

...which would correspond to the current usage in the nb.

@JohnGriffiths And do you imagine that the python file you described is run once per job?  So then there needs to be another controller to split up the big params list into each of the params.txt that get sent to each job, and finally a script (one or two lines) to collect and merge the resulting outfile.csv files.


ZR300 + Cartograhper ROS 3D-mapping, IMU problem

I'm currently using only a zr300 realsense camera and Cartographer ros.
I'm running the following launch files: zr300_nodelet_rgdb.launch (which can be found here) and a launch file containing the following code:

The configuration lua file contains the following code:

In terminal I get the following output (and error meessage):

Unfortunately the error log file doesn't seem to exist.
Does anyone now a solution?

My first guess would be a problem with the timestamps of your IMU data?  As in they should be constantly increasing, but one message had a timestamp earlier than the previous one?

@Entropy512 If I look at the IMU data, the time stamps seem to be increasing and in order.

@operationflash No, they are not. Cartographer complains about that (see in your last screenshot, there is a CHECK line in the middle in red). When investigating, make sure you look at the header.stamp data, not at the timestamp when rosbag wrote this into its file.

Have you succeeded in running your data in cartographer? Could you please show me your bagfile so I can figure out what I need to create my own bagfile.
@operationflash

@DriftingTimmy the problem was solved, @SirVer was right. The IMU very rarely gave wrong timestamps which made it harder to find. This was solved bij using the flat_world_imu_node_main code found in cartographer_turtlebot and modifying it to only filter out bad data.


这还贵我真的补知道怎么噶。。。

Judging from their activity, this user looks like a spambot. Is it possible to block them at organization level? Thank you. @isidorn


doctrine:generate:crud command create setDefaultOptions() method instead of configureOptions() method in form class

As you now setDefaultOptions() method was introduced in Symfony 2.7. Previously, the method was called setDefaultOptions() but when I use doctrine:generate:crud command it create setDefaultOptions() method instead of configureOptions() method.

doctrine:generate:crud is part of SensioGeneratorBundle. Please open an issue on this bundle

Oh i'm sorry. thanks for your remind.


ChaCha20-Poly1305: use EVP_CIPHER_CTX_encrypting instead of ctx->encrypt

During #4564 I found that in crypto/evp/e_chacha20_poly1305.c that the calls to check whether the context was encrypting were done using ctx-encrypt instead of the EVP EVP_CIPHER_CTX_encrypting function.
After this replacement, no more cipher functions directly call ctx->encrypt.
This is a contribution from Ribose Inc..
Checklist

Thanks @paulidale 😉

@levitte removal of that line caused a number of undefined references...

This was not actually a coincidence. The EVP_CIPHER_CTX_encrypting is effectively for those callers who has no access to internal EVP structure, i.e. those outside libcrypto. But for EVP code itself there are only downsides in using it. Well, I'm with mind damaged by assembly programming judge rather generated code than source. But even at source level it doesn't really give you an edge [as compiler is perfectly capable of catching misconduct].

@levitte removal of that line caused a number of undefined references...

Ok.  I assumed that the goal would be to make e_chacha20_poly1305.c less dependent on EVP internals, otherwise I don't quite see the point with this exercise.
The rest of the stuff is about direct reference to cipher_data, where there are EVP_CIPHER_CTX_get_cipher_data and EVP_CIPHER_CTX_set_cipher_data...

This was not actually a coincidence.

Just in case, choice of ctx->encrypt was not a coincidence.

I recall that we at some point discussed moving crypto/evp/e_*.c to their respective algos, so using the API instead of accessing internals directly would be a helpful move in that direction.
Of course, for combos like chacha20/poly1305, it's difficult to figure where to move it...  so maybe @dot-asm is right about this one.  I'm afraid that makes this PR a futile exercise :-/

@levitte the latest commit gets rid of the evp_locl.h include.

@dot-asm, things have continued here.  I'm unsure if your concerns went away or if I should consider your comments a blocker...

Once again, choice of ctx->encrypt was not a coincidence/accident/unconscious. As [assembly] implementations are getting faster, execution overhead in surrounding code is taking larger proportion of time. Modern processors might be mighty beasts, but they are still sensitive to various resources' depletion: cache trashing, branch prediction logic, translation lookaside buffers. You won't notice difference on larger blocks, and maybe not on all systems, but it's there. For example I measured ~5% difference on Sandy Bridge and Cortex-A53 on shortest inputs. And this is in benchmark. We should recognize that benchmarks tend to exhibit favorable results, because they effectively "worm up" subsystems. This means that in real life overheads would be larger. Unfortunately they are hard to measure till they take "astronomic" proportions. And for this reason it's only appropriate to adhere to programming techniques that attempt to minimize pressure on hardware resources. Avoiding excessive calls is one of such techniques. And so it minimizing branches. [Yes, it means that I'd argue against excessive calls to evp_lib.c even if EVP modules are moved to other directories. As long as you're within libcrypto boundary, it's only appropriate to rely on internal headers such evp_locl.h.]

@ronaldtse, while I generally would do the exact thing as you, I also think @dot-asm's argument against this PR are sound.
@dot-asm, that last part within [ ] is actually an excellent argument against moving the e_*.c files away from crypto/evp/.  No, I don't think it's appropriate to include evp_locl.h from anywhere but files in crypto/evp/...  if we do, we might as well move that one to crypto/include/internal/.

I don't think it's appropriate to include evp_locl.h from anywhere but files in crypto/evp/... if we do, we might as well move that one to crypto/include/internal/.

Of course it would be hardly appropriate to include specifically crypto/evp/evp_locl.h and it would be better moved. But we are free to do that at any point if so decided.

@dot-asm @levitte it's certainly your call and the reason seems reasonable. However this does beg the question then why is all other code in crypto/evp/* only using EVP_CIPHER_CTX_* instead of ctx->*. If there is already a 5% gain for eliminating 1 level of function calls...

It's in human nature to concentrate on one thing at a time, but it has a side effect. People are then prone to fail to take into consideration all the [relevant/necessary] details, which in turn might result to suboptimal decisions. [Humans are also limited in their capacities and might fail to notice in time for modification (which can be short), or collect energy to do something about it later...]
Just in case, 5% is not a universal measure, it's just an example in this case, and even in this case it's system-specific. The only thing one can be sure of is that coefficient would be larger with faster implementations... [And of course smaller/negligible with faster implementations...]


Restart some random points

Please tell us about your environment:

[1.0.6] Node-RED version:
[10.20.1] Node.js version:
[6.14.4] npm version:
[Raspbian] Platform/OS:
[Firefox 76.0.1] Browser:

Hello,
my Node-Red restarts randomly after i updated it via the installationscript like suggested.
The log from "node-red-log" shows following:
8 Jun 22:00:53 - [red] Uncaught Exception:
8 Jun 22:00:53 - Error: connect ETIMEDOUT <IP_ADDRESS>:49000
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
nodered.service: Main process exited, code=exited, status=1/FAILURE
nodered.service: Failed with result 'exit-code'.
nodered.service: Service RestartSec=100ms expired, scheduling restart.
nodered.service: Scheduled restart job, restart counter is at 3.
Stopped Node-RED graphical event wiring tool.
Started Node-RED graphical event wiring tool.
8 Jun 22:00:55 - [info]
Welcome to Node-RED
Whats happening there?

One of the contrib nodes you have installed is missing some necessary error handling and is the cause of the crash.
The node at fault is trying to connect to <IP_ADDRESS>:49000
If you start Node-RED in safe mode (node-red --safe), you should be able to open the editor and see if you can find the node in question. Delete the node and hit deploy to restart your flows.
Let us know which node you narrow it down to - we should make sure an issue is raised against it. But this isn't a core node-red issue.

One of the contrib nodes you have installed is missing some necessary error handling and is the cause of the crash.
The node at fault is trying to connect to <IP_ADDRESS>:49000
If you start Node-RED in safe mode (node-red --safe), you should be able to open the editor and see if you can find the node in question. Delete the node and hit deploy to restart your flows.
Let us know which node you narrow it down to - we should make sure an issue is raised against it. But this isn't a core node-red issue.

Actually <IP_ADDRESS> is my Fritzbox, and after i enabled Callmonitor on IOBroker, it opend Port 49000, so the TR-064 Adapter from IOBroker and Node-Reds "node-red-contrib-presenchecker" having conflicts.
After i disabled node-red-contrib-presenchecker, its not restarting anymore. Same result if i disable IObrokers TR-064 Adapter.
Thank you that was the problem

Thanks for letting us know. It may be worth adding an issue to that node - though it is over 3 years old and doesn't look to be maintained at all - so maybe more as a warning to others .


Add more tests for writing

We should add a new type of test that runs objcopy+readobj on some of the files in object-testfiles.

Added some tests in #583, further tests can be added as needed.


Extract common MV ser/de logic into ArraySerDeUtils

Extract the common logic for MV ser/de in raw index writer/reader
This can help simplify #14105

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

Project coverage is 0.00%. Comparing base (59551e4) to head (a92248e).
Report is 1174 commits behind head on master.

:exclamation:  There is a different number of reports uploaded between BASE (59551e4) and HEAD (a92248e). Click for more details.
HEAD has 53 uploads less than BASE

Flag
BASE (59551e4)
HEAD (a92248e)

integration
7
1

integration2
3
1

temurin
12
1

java-21
7
1

skip-bytebuffers-true
3
0

skip-bytebuffers-false
7
1

unittests
5
0

unittests1
2
0

java-11
5
0

unittests2
3
0

integration1
2
0

custom-integration1
2
0

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #14209       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436        3     -2433
  Lines        133233        6   -133227
  Branches      20636        0    -20636
=============================================
- Hits          82274        0    -82274
+ Misses        44911        6    -44905
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <ø> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <ø> (ø)

java-11
?

java-21
0.00% <ø> (-61.63%)
:arrow_down:

skip-bytebuffers-false
0.00% <ø> (-61.75%)
:arrow_down:

skip-bytebuffers-true
?

temurin
0.00% <ø> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Is there a code for calculating the distance matrix from the columns of the predictor? (as in paper)

Hello!
In the file hierarchy_computation.py, I noticed that the code calculates the distance matrix (for affinity clustering) from the confusion matrix of a trained model.
However, in the paper, you state that there's a better way to calculate this distance which is calculating the cosine similarities between the columns of the predictor of a trained model.
Can your release the function that does this?

Hi,
Thanks for the question. It's basically using the weights of the last layer of the model. The last layer projects from the previous layer to each class, so it is a matrix of shape #units_previous_layer x  #num_classes.  So you can use each column of this matrix as representation of the corresponding class. Then you can use this representation and compute cosine distance with the other classes.
Here is how I computed that:
def compute_class_weight_distance(trainer):
    """The distance between different classes is given by the difference in their representations,
    where the representations are chosen to be the weights of the final layer of the network
    corresponding to each class.
    """
    # Make sure to handle the bias term correctly to make sure the weights in the last layer
    # are reliable class embeddings. The easiest way is to not include a bias term in the
    # prediction layer. Here we assert that the bias is not included and there is only one
    # trainable variable.
    assert len(trainer.predictor.trainable_variables) == 1
    class_embeddings = trainer.predictor.trainable_variables[0].numpy().transpose()
    dist_matrix = sklearn.metrics.pairwise.cosine_distances(class_embeddings)
    return dist_matrix


Make simulate iterate by card instead of by day.

Simulating the reviews iterating card by card instead of day by day speeds up the calculation (especially with a long learn_span) and simplifies the code.
Also fixes the fact that there's a drop-off near the start.
I hope that this functions in a way pretty much exactly like the day by day version, I'll leave the tests failing so you can see exactly how the results changed.
thread 'optimal_retention::tests::simulate_with_learn_review_limit' panicked at src/optimal_retention.rs:909:9:
assertion `left == right` failed
  left: [28, 21, 40, 80, 72, 81, 86, 102, 72, 93, 105, 115, 120, 118, 124, 126, 137, 136, 158, 150, 159, 171, 156, 170, 183, 158, 195, 173, 194, 178]
 right: [0, 15, 16, 27, 69, 66, 81, 83, 75, 85, 90, 102, 107, 105, 122, 120, 141, 117, 132, 153, 153, 154, 152, 152, 149, 157, 166, 165, 184, 174]

thread 'optimal_retention::tests::simulator' panicked at src/optimal_retention.rs:864:9:
assertion `left == right` failed
  left: 7778.458
 right: 6521.068

thread 'optimal_retention::tests::optimal_retention' panicked at src/optimal_retention.rs:976:9:
assertion `left == right` failed
  left: 0.86305356
 right: 0.8277919

(/\ I've probably screwed up somewhere)
thread 'optimal_retention::tests::optimal_retention_with_old_parameters' panicked at src/optimal_retention.rs:996:9:
assertion `left == right` failed
  left: 0.8716841
 right: 0.85450846

Please note that my results are left shifted one value compared to before because "today" will have a very small cost if the user has already done their reviews. (I think).
And here's how the graphs look with my decks:
Large deck (Done reviews)
This pr

Before
(Starting drop-off lasts more than one day so not just the fact reviews are done, if I had to guess the first review of a card isn't registered for some reason)

Smaller deck (Undone reviews)
This pr

Before

Smaller deck (Done reviews)
This pr

Before

It's a good idea to make simulate iterate by card. However, it also makes it impossible to introduce any review sort order into simulation, doesn't it?

Good point. Hopefully by using a priority queue and iterating through the cards in the order that they are reviewed, changing the review priorities will be possible.

It's impossible that the number of reviews in the first day is larger than zero without any existing cards.
---- optimal_retention::tests::simulate_with_learn_review_limit stdout ----
thread 'optimal_retention::tests::simulate_with_learn_review_limit' panicked at src/optimal_retention.rs:931:9:
assertion `left == right` failed
  left: [15, 28, 28, 45, 91, 86, 109, 99, 105, 101, 112, 121, 126, 116, 129, 144, 162, 145, 140, 168, 158, 174, 166, 167, 172, 174, 172, 197, 195, 194]
 right: [0, 15, 16, 27, 69, 66, 81, 83, 75, 85, 90, 102, 107, 105, 122, 120, 141, 117, 132, 153, 153, 154, 152, 152, 149, 157, 166, 165, 184, 174]

---- optimal_retention::tests::simulate_with_learn_review_limit stdout ----
This test still has a large difference. I will dive into it later.

I think that's better? I think it was treating new cards as review cards at certain points.
 left: [0, 13, 23, 30, 58, 81, 83, 81, 86, 88, 88, 106, 120, 110, 122, 133, 132, 121, 131, 143, 161, 188, 142, 179, 145, 156, 172, 191, 174, 165]
 right: [0, 15, 16, 27, 69, 66, 81, 83, 75, 85, 90, 102, 107, 105, 122, 120, 141, 117, 132, 153, 153, 154, 152, 152, 149, 157, 166, 165, 184, 174]

Simulating the reviews iterating card by card instead of day by day speeds up the calculation (especially with a long learn_span) and simplifies the code.

Could you benchmark it?

Well on my computer at least:
Current:
optimal_retention       time:   [274.85 ms 278.54 ms 282.14 ms]

This pr:
optimal_retention       time:   [35.805 ms 36.197 ms 36.589 ms]
                        change: [-87.228% -87.005% -86.782%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) high mild

Dang, that's big

[src\optimal_retention.rs:505:9] iter = 5
thread 'optimal_retention::tests::optimal_retention_with_old_parameters' panicked at src\optimal_retention.rs:1047:9:
assertion `left == right` failed
  left: 0.82624805
 right: 0.85450846

This difference is still larger than my expectation. I plan to do a T-test tomorrow to check whether the difference is statistically significant. If not, I will merge it.

After increasing the sample_size, the results are close enough. I will test it in Anki for final resolution.

just want to say that rust has built-in priority queue https://doc.rust-lang.org/std/collections/binary_heap/index.html , but currently this works well, so let it be.


Update sap-fiori-3-0.md

Made a change in the first paragraph and about the Fiori launchpad.

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

Hi @Paolaufer . I confirmed "launchpad" should indeed be lowercase. Was the "SAP Suite" a previously correct term which is no longer being used?

Hi,
There is no official product called SAP Suite. There is the SAP Business Suite, but what they were referring to was SAP products in general (see email attached).
Hope this helps.
Regards,
Pao
From: ConnorLand<EMAIL_ADDRESS>Sent: Tuesday, December 29, 2020 11:30 AM
To: mendix/docs<EMAIL_ADDRESS>Cc: Laufer, Paola<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [mendix/docs] Update sap-fiori-3-0.md (#2977)
Hi @Paolauferhttps://github.com/Paolaufer . I confirmed "launchpad" should indeed be lowercase. Was the "SAP Suite" a previously correct term which is no longer being used?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/mendix/docs/pull/2977#issuecomment-752010712, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGHO4NANBVYPAEBEQJ4A7FLSXGOSBANCNFSM4VMEAMMQ.


fix: prevent calculating sizes in all day events (week view)

This PR fixes a bug on all day events in Week view (events size are evaluated but it shouldn't).

Merged. Thanks, I totally missed this one.


Remove buildToolsVersion from gradle.build?

Should we remove the buildToolsVersion from android/build.gradle.
It seems that it has become deprecated, or do we still want to support Android Gradle Plugin<3.1.0?
This is the warning that the compiler spits out:
WARNING: The specified Android SDK Build Tools version (26.0.3) is ignored, as it is below the minimum supported version (27.0.3) for Andro
id Gradle Plugin 3.1.0.
Android SDK Build Tools 27.0.3 will be used.
To suppress this warning, remove "buildToolsVersion '26.0.3'" from your build.gradle file, as each version of the Android Gradle Plugin now
 has a default version of the build tools.

In file android/build.gradle
I have change
classpath 'com.android.tools.build:gradle:3.2.1'
to
classpath 'com.android.tools.build:gradle:3.1.0'
and that fix the issue.

This is now gone


update API version of CSIDriver to storage.k8s.io/v1

What
In k8s 1.18, the CSIDriver API has graduated to storage.k8s.io/v1. When TopoLVM's minimum support becomes 1.18, API version should be updated.
How
Checklist

[ ] Finish implementation of the issue
[ ] Test all functions
[ ] Have enough logs to trace activities
[ ] Notify developers of necessary actions

closed via #259


Added positive int as type

Nothing special just added support for positive integers, would create another patch for natural integers afterwards.

Pull Request Test Coverage Report for Build 724035822

25 of 25 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 696944769:
0.0%

Covered Lines:
2954

Relevant Lines:
2954

💛  - Coveralls

make coding-standard-fix always "fixes" my psalm-return annotation from:
    /**
     * @param mixed $value
     *
     * @throws CoercionException
     *
     * @psalm-return positive-int
     */
    public function coerce($value): int

to
    /**
     * @param mixed $value
     *
     * @throws CoercionException
     *
     * @return positive-int
     */
    public function coerce($value): int

any idea?

That's intentional, we don't use psalm- prefix :)

Removed psalm prefix, can you share some insights why you don't use them?

annotations which we don't prefix with psalm are also supported by phpstan, and phpstorm ( recently started supporting lowercase-string, positive-int, no-return .. etc ), so there's no need for the use of the psalm- prefix IMHO.


Provide on Maven repository

Maybe we could consider provide this awesome library on Maven ? 📦

This issue is fairly old and there hasn't been much activity on it. ⌛


When Sending TCP Packets using PCAP.NET the TCP Options are not visible on Wireshark? My goal is actually to maniupulate the Selective Acknowledgement option... but I can't even see the options to begin with.

            // TCP Layer
            TcpLayer tcpLayer = new TcpLayer
            {
                SourcePort = _sourcePort,
                DestinationPort = _destinationPort,
                SequenceNumber = _seqNumber,
                ControlBits = TcpControlBits.Synchronize,
                Window = _windowSize,
            };

            communicator.SendPacket(PacketBuilder.Build(DateTime.Now, ethernetLayer, ipV4Layer, tcpLayer));
            _expectedAckNumber = _seqNumber + 1;

Please use the Pcap.Net Q&A Group to ask questions.


ctrl t and alt c return empty screen

Category

[x] fzf binary
[ ] fzf-tmux script
[x] Key bindings
[ ] Completion
[ ] Vim
[ ] Neovim
[ ] Etc.

OS

[ ] Linux
[ ] Mac OS X
[x] Windows
[ ] Etc.

Shell

[x] bash
[ ] zsh
[ ] fish

Hi, I am really new to bash shell and vim. I am running on a windows subsystem linux. I installed fzf and everything worked as expected. However, when I tried to use ctrl + t or alt + c in the terminal it gives me an empty list, Like below. My ctrl + r works fine though. Any suggestion on the issue? Thanks.

Hmm, you're right. I'm seeing the same issue. The problem seems to be that the underlying find command fails on WSL with this message: find: Cannot read mounted file system list. I have no idea what this means and how to fix it yet but it is easily reproducible with the following command:
find . -printf %F

Do you see the same error?

You are right. It didn't read any file system list.

I found that fzf command alone works fine and will list all the files in the current directory. Except I can't append the file name after my command. Maybe you can come up with a work around?

sudo ln -s /proc/self/mounts /etc/mtab fixes the issue for me. Can you try it?
Reference: https://github.com/Microsoft/BashOnWindows/issues/150

Wow it works perfectly now. Thank you very much. And FZF is truly an amazing plugin.

@junegunn
Apology for necrobumping this but just today I had the same issue inside a lxc container.


Add shortcuts-search extension

Description
Allows to list, search and run shortcuts for different applications.
There are 3 commands in total:

List all supported applications with shortcuts
List all shortcuts for active application
Copy application's bundle id to clipboard (useful for adding new shortcuts)

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Updated extension to close itself and show error HUD if no shortcuts available.

There are a bit of empty state flicker in the All Shortcuts command, can you look into this?

There is a bit of empty state flicker in the All Shortcuts command, can you look into this?

Could you please check out latest version? I've fixed it in this commit. Double checked that it's still good after your improvements here.
Here's slow motion recording of List All Shortcuts command after clearing caches and local storage.

it's also when you go from All shortcuts and then click Open on an application, then you can see the flicker too - can you fix that too, otherwise let me know 🙂

I've tried to fix that flickering "No results", but looks likethe problem is on the RayCast side.
To test this case I've created new extension with useNavigation and static list. This small  extension also has flickering "No results" and I can't control this. Even adding isLoading={true} doesn't prevent from flickering.

import { Action, ActionPanel, List, useNavigation } from "@raycast/api";

export default function Command() {
  const { push } = useNavigation();
  return (
    <List>
      <List.Item
        key={"key"}
        title={"title"}
        actions={
          <ActionPanel>
            <Action title={"open"} onAction={() => push(<Command2 />)} />
          </ActionPanel>
        }
      /> </List>
  );
}

export function Command2() {
  return (
    <List>
      <List.Item
        key={"key"}
        title={"title2"}
      />
    </List>
  );
}

You're right! We'll look into a fix 🙂


[Pub#23, Pub#24] Hanze bugs oplossen

Getoonde taal klopt niet
Externe personen ontbreken

When are we resetting the database to test this on acceptance?

Begin April acceptance will be available (sprint 5 needs to be finished)

Accepted in the tickets above by Eva


Release for scala 2.13

On fs2 1.1, cats-effect 2.0, etc
Milestone release for now, since the dependencies are, but it would be good to get a newer cross-built one up just to allow cross compiling

Any intention of publishing a 2.13 version soon?


Hard to compare two files of the same name

When comparing two files of the same name, it is next to impossible to figure out which file is which if the files are quite similar in structure. The path is not shown in the filenames above. The problem is showcased here: https://i.imgur.com/tK3Q8PD.png
Ideally, I would like to have the full path shown at the top of the file, like in this mockup: https://i.imgur.com/3nVELHx.png

Good catch, this was only happening if one of the 2 files was in the root folder. It will now show up as this:


Add a documentation page for compiler error CS7003

Fixes #1593
To this day, the compiler error CS7003 remains undocumented. This PR adds a documentation page for this error.

This page should also be added to the TOC file: https://github.com/dotnet/docs/blob/master/docs/csharp/language-reference/compiler-messages/toc.md. Let us know if you'd like to take care of that for you.

Thanks for the remark @mairaw . I just pushed an update to the PR.

Thanks for updating the TOC, @sputier. This looks good. We'll merge your PR now. The topic should appear on docs.microsoft.com in the next day or two.


Set ui-index setting to local if rancher version is formal

Problem:
For now, we don't respect the ui-index setting in formal
rancher version. There is no way for users to customize their UI in
those version.
Solution:

Use local value in ui-index setting when it is a formal version. And Use CDN address when it is a dev version.
When ui-index setting is local, fetch UI from file.

Issue:
https://github.com/rancher/rancher/issues/14392

LGTM

@loganhz @orangedeng as per @vincent99 , in master and releases, we already get the right UI served, and the problem that you can't reset it via setting because of https://github.com/rancher/rancher/blob/4a9df51cbdabb9d70ce2aeb0755e23ff10c69580/server/ui/ui.go#L38-L40  - the line that is unaffected by this pr

This doesn't seem to address what was asked for...
These already happen fine in the current builds:

All 2.0 builds (whether master or a real release) contain a packaged UI release.
Master should default to ui-index pointing to CDN for latest2
RC/final releases should default to ui-index=local.

What is missing is:

In any build (regardless of whether the server version starts with "v" and all that) at any time a user should be able to edit ui-index to be local or a URL, and the server should respect it and start serving responses appropriately.

@orangedeng I guess we need to remove the following lines
https://github.com/rancher/rancher/blob/4a9df51cbdabb9d70ce2aeb0755e23ff10c69580/server/ui/ui.go#L38-L40
Otherwise, builds which doesn't start with v will not be able to use local.

Updated

LGTM

This PR will introduce another issue https://github.com/rancher/rancher/issues/17312
@orangedeng would like to fix it in another PR

no, lets fix it in the same PR


Plugin development enhancement

This change includes some small changes to enhance plugin development:

Fix to raise errors (including errors from wrong scripting, e.g., NameError) instead of rescue&log it
Add method to create a metadata for testing/validation using extract_placeholders, without adding metadata into @buffer.metadata_list
Fix to wait actual flushing after force_flush in test drivers

This change is based on #1255.

@repeatedly Rebased on master, and pushed a commit to update comment.

LGTM


Question of how to obtain "reaxys_test_full_nice_classes.csv"?

Thanks for your nice work. We are currently following this work and trying to reimplement some of your experimental results. Since Reaxys data is not allowed to be publicly shared, could you please share with us the reaction ids which comprise your test dataset? That will be greatly helpful. Thanks a lot.

Sure! Reaction IDs are provided in the file "reaction_ids_reaxys.txt" together with trained models at https://drive.google.com/drive/folders/1weP5wG_wzd9qb3RVnCz0JjyB-TJF-5yQ


When token pool is empty, surface the error to the badge consumer; test [github]

Should provide better debuggability in self-hosting cases like #4862 but also on the production server.
You could argue that this could be an ImproperlyConfigured error, though I think the issues are really #2754 and #3371.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

  Generated by :no_entry_sign: dangerJS against 3dc48577472bc3b4bf1c20b13153f4ff367742f1

but also on the production server.

Won't doing this mean the error gets sent to end users rather than being logged to sentry for us?

Won't doing this mean the error gets sent to end users rather than being logged to sentry for us?

Yes.
I suppose we could log it in Sentry too.

At the moment, we've got this e.g: https://sentry.io/organizations/shields/issues/1143429301 I think we do want to retain visibility on this error. If we hit this a lot, its the admins that need to know about this problem, not the end user.

If we hit this a lot, its the admins that need to know about this problem, not the end user.

On the production server that's true, though it's because we know we have plenty of quota.

Is there a difference between Shields.io and self-hosting here? Kinda seems like we may not want to surface this to end-users for the main service, but it may make more sense to do for self-hosters

We ask for quota donations. This is the message that, in theory, could mean that we're out of quota.
IMO "internal error" really should mean it's a bug in Shields. I'm not sure why we'd want to obscure the message, but if we did, we could replace it with something generic like "service temporarily unavailable" or "too many requests."

Just to clarify, my comment above was intended to be a question, not a statement.
I think this makes for a better end user experience with more context vs. the current internal error. Would be good to also still have a way for the maintainer/ops team to get insight into this (via Sentry or whatever makes sense) should it occur as quickly as possible and not have to wait for a user to file an issue.

Ah, sorry, I misunderstood that. Also I didn't mean to be short, was just trying to be expeditious in my response!
Here are some thoughts:

Let's reserve "internal error" for programmer errors.
Self-hosting users need a meaningful message displayed on the badge when their quota is up (or not configured, as is the case until #2754 is fixed). Likely they are not setting up Sentry, rather relying on reports from users when badges are broken. We probably should either fix #2754 to allow unauthenticated requests, or improve the error message when there's neither Redis nor a static token configured.
I think for users on shields.io, it would be good for the user to know if we do run out of quota, however that seems very unlikely given the amount of quota we have. The more likely case right now, if this message is displayed, is that the server is just starting up and doesn't have its tokens yet (#3371). We could say "tokens not ready or exhausted" which would cover both of those cases. Or maybe implement a "tokens are loading" state so we can provide a better message for that case.
I'd like to know when this condition happens, regardless of whether the tokens are exhausted or not loaded yet. Although I wonder if placing a metric on the total number of tokens and the total number of quota calls would be a better way to surface a meaningful statistic. Seeing it in Sentry is feels like mostly a distraction, especially since it's a "normal" part of the server starting up.

There may be more to discuss than we want to do in this PR. We could move this back to an issue if folks think that's better.

I'd like to know when this condition happens, regardless of whether the tokens are exhausted or not loaded yet.

Yes - this. I don't have strong views on whether its grafana or sentry, but it feels like a step back if we completely lose visibility on it.

More generally, I think the reason its a bit unclear what to do with this error is because as far as possible, we want to put errors in a place where they are seen by the person who can do something about it. In this case, its a bit complicated:
For shields.io: On the one hand, in theory as an end user if you're seeing this error you sort of can go and fix it yourself by authorizing our github app (if you haven't already), but "no tokens available" isn't really a clear pathway/call-to-action there. It feels like a bit of a stretch.
I suspect a more realistic situation is actually that we as maintainers would notice that we're routinely hitting this (via sentry or grafana) and put out a call via our comms channels (discord/twitter/etc) that we need more tokens with some explanation of how to contribute a token/assurance we won't totally hammer your API allowance (which is more than you can really fit on a badge).
For self-hosting users: I know this comes out of #4862 and a desire to make this clearer to new users, but I think really if we assume the audience of this error is the maintainer of the instance (as opposed to their end user - in this case, the call-to-action is "go and set GH_TOKEN"), this error belongs in logs rather than on a badge and maybe the job is to provide more helpful info in the log, rather than less information on a badge?

I suspect a more realistic situation is actually that we as maintainers would notice that we're routinely hitting this (via sentry or grafana) and put out a call via our comms channels (discord/twitter/etc) that we need more tokens with some explanation of how to contribute a token/assurance we won't totally hammer your API allowance (which is more than you can really fit on a badge).

This is true, although probably we should update our GitHub badge documentation to bring it more in line with this. Right now it says:

If your GitHub badge errors, it might be because you hit GitHub's rate limits. You can increase Shields.io's rate limit by adding the Shields GitHub application using your GitHub account.

… which is true, though not as true as it could be.

For self-hosting users: I know this comes out of #4862 and a desire to make this clearer to new users, but I think really if we assume the audience of this error is the maintainer of the instance (as opposed to their end user - in this case, the call-to-action is "go and set GH_TOKEN"), this error belongs in logs rather than on a badge and maybe the job is to provide more helpful info in the log, rather than less information on a badge?

On the other hand, I imagine many self-hosting users will not use GitHub badges at all. So it might be a user who tries to use one, and then reaches out to the maintainer of the instance. Something like github token not set would be a pretty decent message for either of those audiences.
Also when we fix #2754, the GitHub badges will probably work for a while and then eventually stop working. I think at that point the really descriptive message would be too many unauthenticated requests.

Ah, sorry, I misunderstood that.

No worries! I realized my comment was very unclear and just wanted to clarify.

Likely they are not setting up Sentry, rather relying on reports from users when badges are broken

Speaking from my own self-hosting experience, I've definitely found this to be the case. I never know there's an issue unless someone pings me with a question or issue with one of their badges.
It makes my job as the admin/maintainer of the self-hosted instance easier when those users have a badge message they can share which can often save me from debugging/checking logs (common example being expired creds and corresponding badge messages indicating auth issues)

There may be more to discuss than we want to do in this PR. We could move this back to an issue if folks think that's better

My sense is that there's agreement and consensus on the core 4 points outlined above.
We want something other than internal error for the badge message, but also want for the Shields server admins to have insight into token starvation without having to rely on a live badge/report.
Given the extreme unlikelihood that Shields.io will run out of quota, I wouldn't be opposed to merging this and addressing the additional items in a follow up (provided we could do so relatively quickly). However, I'd prefer to defer this for now and roll all the changes together at a later date if we'll need some time to discuss/solve those other points.

It makes my job as the admin/maintainer of the self-hosted instance easier when those users have a badge message they can share which can often save me from debugging/checking logs (common example being expired creds and corresponding badge messages indicating auth issues)

OMG, a testimony to the value of helpful error messages! 😁

It sounds like the thrust here is to preserve the Sentry error in production, while providing a better error message to the user.
There are some improvements we'd like to make for self-hosting, although I think they can be deferred, especially if the message is actually helpful.
If folks agree, I'll update this accordingly.

Closing given the resolution provided by #9427


Needs full build pipeline

PSDeploy?
Appveyor?
TeamCity?
VSTS?
PSake?
Should support testing against multiple PowerShell versions

Created new teamcity project at build.powershell.org. This makes sense as it's the easiest way to test against multiple versions of PowerShell.


XML parse breaking change in 4.5.2

Fixes #21710.

Adds EnableLegacyXmlSettings element to config docs.
Adds breaking change in 4.5.2 for XmlReaderSettings.

Preview links:

EnableLegacyXmlSettings.
XML breaking change

I guess Bill merged this by mistake. @tarekgh I'd still appreciate if you could look at the content. It's pretty bare bones at the moment.

That was my mistake. This PR was bundled with several customer PRs that I reviewed and merged. I hope that doesn't cause too much disruption.


Create an overview e2e mode

See #1543
Check e2e conformance mode, then try and cut the test list down to just a few in each category that can be run more quickly and run it in parallel mode. This way we can maybe get results in <5m

See #1576 I think that covers this issue.


Binary serialization of VMState

Description
A clear and concise description of the features you're adding in this pull request.
Tests
Please describe any tests you've added. If you've added no tests, or left important behavior untested, please explain why not.
Additional context
Add any other context about the problem you're solving.
Metadata

Fixes #[Link to Issue]

Codecov Report
Attention: Patch coverage is 21.95122% with 64 lines in your changes missing coverage. Please review.

Project coverage is 70.63%. Comparing base (25feabf) to head (1a5a788).

Files with missing lines
Patch %
Lines

rvgo/fast/state.go
14.75%
26 Missing and 26 partials :warning:

rvgo/fast/memory.go
42.85%
6 Missing and 6 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #82      +/-   ##
==========================================
- Coverage   72.01%   70.63%   -1.39%
==========================================
  Files          16       16
  Lines        2734     2816      +82
==========================================
+ Hits         1969     1989      +20
- Misses        681      711      +30
- Partials       84      116      +32

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


ERROR f.i.s.r.p.m.o.MavenFilterOutputHandler reported by Repairnator

I tried to run Repairnator on different builds, but every time, during the first phases of the process, I noticed the error "ERROR f.i.s.r.p.m.o.MavenFilterOutputHandler - [INFO] Downloading from central: <URL>".
You can see an example in these lines of the log associated with the execution on build 265094794.
However, after these errors, the process keeps going, generating the Repairnator files at the end.
I ran Repairnator using the parameters BUILD_ID, GITHUB_OAUTH, REPAIR_TOOLS, and PUSH_URL.
I don't know if I'm doing something wrong or not.

Hi Martin,
I think I figured out why Repairnator prints the error message "ERROR f.i.s.r.p.m.o.MavenFilterOutputHandler in the console.
As you can see, in this method there is this if condition, that checks if a string contains the word "error" or "ERROR".
If so, Repairnator uses the instruction this.getLogger().error(s); to print the error message in the console.
The problem is that it's not always true that if there is the word "error", it is a real error. For instance, if you look at these lines of the log file, in that case the word error was in the line associated with the download of a dependency that contains the word error in its name (maven-error-diagnostics-2.0.6).
Another example is this line: in this case the word error is in the name of a test class, so it's not a real error.
An example in which it could be correct to print the error message can be this one. Indeed, in this case there was a failing test case.
Maybe, we could change the if condition, and check for the presence of the token [ERROR] or [error], instead of ERROR or error, but I'm not 100% sure that we can manage all the possible cases also in this way.
If you think that it could be a good idea to try to change the if condition as I described above, I can create a pull request and check if it passes all the test cases or not.

we could change the if condition, and check for the presence of the token [ERROR] or [error], instead of ERROR or error,

Great idea, please do a PR!