return in builder's block causes closing tags to be skipped

This is kind of a bizarre case, not sure what the correct approach is. This would allow you to have some method in your widget that returns deep within html builder blocks and still have valid markup rendered.
def some_widget_method
  dt class: "hello" do
    p "Yes please"
    return
  end
end

Erector:

Yes please

Fortitude:

Yes please

That is an odd case, but I’m hoping judicious use of ensure will fix it. Trying that out now…

Fixed, and included in 0.9.2, which I just released.


GitHub Actions test on current Python

Issue

Description

Motivation and Context

Testing

Checklist

[ ] Documentation (README, docstrings) has been updated
[ ] Changes in the code are reflected in the CI configuration

@cclauss Thanks for your work! Unfortunately, this project is no longer maintained :crying_cat_face: So I'm gonna close this PR.
Feel free to fork it though if you want to go further with it :smiley_cat:


Bugfix: add_T calls swapaxes incorrectly

Coverage remained the same at 79.644% when pulling 7f5b09f97428a9def50677851c4320ca9c09da77 on TheBB:swapaxes into 7bd3edb4eb18eba0c8c6f8a44341a7342f06ebde on nutils:master.

thanks!


[Hybrid] Enable Hybrid app notification testing with beta

Problem
Hybrid app notifications are tricky to test. Our hardcoded logic duplicates NewDot notifications for selected SWM users. But this doesn't scale.
Enabling a single account takes days currently due to the deploy delay.
Solution
Replace the logic with a beta that can be easily tested by others, and can be reused as we continue to work on Hybrid notifications.

Created PR with new BETA here

PR merged, awaiting deployment to prod.

Beta now on prod


CSS styles fix

Description
Styling broke during the transition of our website from Next 12 to Next 13.
Expected Behaviour
No response
What happened?

Version
latest
What browsers are you seeing the problem on?
No response
Relevant log output
No response
Code of Conduct

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

for reference: https://github.com/dscvitc/dscvitchennai/pull/117#issuecomment-1749987762

Assign me to this


Suggestion: Continuous Fuzzing

Hi, I'm Yevgeny Pats Founder of Fuzzit - Continuous fuzzing as a service platform.
We have a free plan for OSS and I would be happy to contribute a PR if that's interesting.
The PR will include the following

go-fuzz fuzzers (This is generic step not-connected to fuzzit)
Continuous Fuzzing of master branch which will generate new corpus and look for new crashes
Regression on every PR that will run the fuzzers through all the generated corpus and fixed crashes from previous step. This will prevent new or old bugs from crippling into master.

You can see our basic example fuzzitdev/example-go and you can see an example of "in the wild" integration prometheus/prometheus, coredns/coredns, google/syzkaller.
Let me know if this is something worth working on.
Cheers,
Yevgeny

@yevgenypats We'd welcome a PR :)

ccing @bookmoons who will take the lead on that:)

@bookmoons welcome!  Would you mind if I added you as read to the repo and assigned this issue to you so we can track?

Thanks a lot guys. Yes please do set it all up. I'm working toward this in bookmoons/fuzz.

The docs are really good. Love the sequence diagrams.
I've got my head around the major concepts. Will be digging through the code soon to find the right pieces to fuzz.

https://github.com/networkservicemesh/networkservicemesh/compare/2552d88473e2de53d705181f5d6384f4a8456c82...bookmoons:ce1d9640fcbc73e96f71e790bce3f56073c0d92f has something toward this. It fuzzes some of the little parsers scattered around.

dataplane/pkg/common/egress_interface - parseProcFile.
dataplane/pkg/common/egress_interface - parseGatewayIP.
pkg/tools - ParseAnnotationValue.
pkg/tools - ParseKVStringToMap.
utils/caddyfile - Caddyfile parsing.

Do you have any ideas about a few higher value targets?
Connection negotiation seems like something that should be fuzzed. It's not obvious to me how to set up a fixture for that. Is there a test or something that gives a good example?
The code is well organized. Always a relief to read lucid code.

Each of the egress fuzzers found a crash. I'm attaching here. Both are index bound errors. The unsuffixed file is the crashing input. Gateway IP parsing also crashes on empty input.
These are both private functions so maybe there's validation elsewhere.
crashers.ProcFile.zip
crashers.GatewayIP.zip

@bookmoons Thank you so much for I've filed issues for both of these (should be good starter problems for folks to fix).  I presume someone can reproduce the issues using https://github.com/networkservicemesh/networkservicemesh/compare/2552d88473e2de53d705181f5d6384f4a8456c82...bookmoons:ce1d9640fcbc73e96f71e790bce3f56073c0d92f?

Connection negotiation should definitely be a fuzzed.  @haiodo suggestions on how @bookmoons might set up a fixture for them (or pointers to where you guys have in the unit tests?)

Running the fuzzer should hit those issues again. Details are in the go-fuzz readme. Function names are:

FuzzParseProcFile
FuzzParseGatewayIP

You could also maybe write unit tests for them. Tried to add some for those 2 cases. Links are in the issues.

Hi guys. I'll have another look through this and see if I can dig out an example of that fixture.

@bookmoons Excellent!  @pringlewood  is working some of the existing fuzzing bugs :)

Is there someone who can point me at the right logic here? There's connection logic in several different places. It's not clear to me where that negotiation is happening.

I believe if its connections over a Unix file socket its here:
https://github.com/networkservicemesh/networkservicemesh/blob/master/pkg/tools/socket.go#L114
And over TCP is here:
https://github.com/networkservicemesh/networkservicemesh/blob/master/pkg/tools/socket.go#L132

Thanks a lot @edwarnicke. Missed that socket file, I was looking for things named connection.

I'm not really finding a channel to get the fuzz to the right place. What would you think about getting the fuzzers we have running? You might as well get some testing out of them since they're ready to use.
I'd be happy to write this one if someone could show me the right setup on the NSM side. I think you'd want to start a test service, do preliminary exchange to get to negotiation, then hit negotiation logic with a raw byte stream. Connection properties offered by the service could be varied deterministically based on fuzz. Seems like there must be a way to do it, but maybe nothing is ready made because it's not really normal usage. Maybe it's all underneath abstractions.

New connections negotiate their connection properties. These properties include but are not limited to: The type of network interface, for example Linux Interface, MemIf, or vhost-user; The payload type, for example Ethernet, IP, MPLS, or L2TP.

The network service, SDN, and client negotiate with each other the parameters of the tunnel.

So it sounds like you are wanting to:
a)  Run a component that takes input from the network (usually GRPC in our case)
b)  Feed it fuzz
c)  See what falls out
Correct?   Would using helm to deploy the nsm system in Kubernetes work?  Or is that more complex than what you are looking for?
If so, the place to start fuzzing would likely be to deploy the fuzzer in a container with a Pod spec similar to vpp-icmp-responder in form, but replacing the container image with your fuzzer component.
The socket your fuzzing container wants to open will be specified by the NSM_SERVER_SOCKET env variable (injected by the K8s DevicePlugin).
Does that help?

Yeah that's seems about right. This seems promising, I'll have a look. But I wonder if it's heavy for a fuzzer. The binary will reconstruct the fixture each iteration, so I think you'd end up starting Kubernetes fresh and deploying every iteration. It might make it pretty slow. Is there a way to set that up with the underlying pieces stubbed out?

@bookmoons Should be doable.  We have some unit tests that do something quite similar to what you are describing.  Give me a bit to find examples :)


Forseti Website left sidebar is not changing

Using the current build of the website no matter what part of the docs section of the website the left side bar menu is always the one from concepts.

Resolved in #2427


[Suggestion] Crafter manager button for only crafting recipe slots

The ability to shift click items into the crafter manager is quite nice. However making sure that the patterns actually arrive in a crafter made for crafting and not for processing recipes is hard as the order is determined by the crafters position in the world.
My idea is to add a button to the crafter manager that makes it only display crafters that are either empty or do not have a processing pattern in them.

No, sorry.


Hyper 2.0.0 does not preserve as much history

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: MacOS High Sierra 10.13.4
Hyper.app version: 2.0.0
Link of a Gist with the contents of your .hyper.js:
Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere):
The issue is reproducible in vanilla Hyper.app:

Issue
It seems like I used to be able to scroll up a lot and my terminal history was preserved, but now it is very short and I cannot scroll far.

Same here. Did you keep your config from Hyper 1 or was it a clean install?

+1

@jonaswindey I think I kept my config. My plugins are still there, but unsure if they all function.

Kept my config as well. I had to redownload 1.4.8 because of this.

I used a clean config and experiencing the same.

As a side note, did anyone think their fonts and colors got heavier?

That's another issue @rwwagner90 if you search for it you'll find it 👍

Thanks for the report 🙏 .
We're tracking this work over here: #280

(Using xtermjs has reduced this history. We really need to make this size customizable).


.Net: Create a connector for Azure MaaS

Create a connector that supports models provided by Azure MaaS. In particular...

Microsoft Phi 3
Microsoft Phi 2
Microsoft Ph 1.5
Llama3
Llama2

I believe it would be beneficial to create a generic connector that would support not only the mentioned models, but also other models available on Azure. Such a connector would offer greater flexibility and extensibility, making it easier to integrate new models in the future without requiring major modifications


[DO NOT MANUAL MERGE] Release Qualification

Trigger release qualification jobs
none

@silverdev: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/daily-e2e-cluster_wide-auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth

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

@silverdev: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/daily-e2e-cluster_wide-auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth

prow/daily-e2e-cluster_wide-auth-default.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth-default

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

@silverdev: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/daily-e2e-cluster_wide-auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth

prow/daily-e2e-cluster_wide-auth-default.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth-default

prow/daily-e2e-rbac-no_auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-rbac-no_auth

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

@silverdev: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/daily-e2e-cluster_wide-auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth

prow/daily-e2e-cluster_wide-auth-default.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth-default

prow/daily-e2e-rbac-no_auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-rbac-no_auth

prow/daily-e2e-rbac-auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-rbac-auth

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

@silverdev: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/daily-e2e-cluster_wide-auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth

prow/daily-e2e-cluster_wide-auth-default.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-cluster_wide-auth-default

prow/daily-e2e-rbac-no_auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-rbac-no_auth

prow/daily-e2e-rbac-auth.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-rbac-auth

prow/daily-e2e-rbac-auth-default.sh
d2ee4bae7ad40ce353fc5174a5b55b148fa05eb7
link
/test daily-e2e-rbac-auth-default

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


Avoid distracting compiler warning

Resolves #2464, it seems. No idea why exactly, though.

Cool, thanks.  I think this is just a bug in some versions of gcc, causing it to give a false warning message.

Yep, agree.


STM32H7: manage Dual core boot whatever option bytes configuration

STM32H7: manage Dual core boot whatever option bytes configuration
Manage Dual core boot automatically whatever Option Bytes configuration.
No more need of KConfig STM32H7_DUAL_CORE_BOOT to match Option Bytes.
Signed-off-by: Alexandre Bourdiol<EMAIL_ADDRESS>

@ABOSTM can you rebase  ?

@Nukersson , @lochej can you have a look ?

@ABOSTM can you rebase ?

Done

@Nukersson , @lochej can you have a look ?

LGTM, I'm not able to test this one as I don't have any STM32H745/757. But that implementation complies with the RM0399 when it comes to CM4 booting.

@Nukersson , @lochej can you have a look ?

LGTM, I'm not able to test this one as I don't have any STM32H745/757. But that implementation complies with the RM0399 when it comes to CM4 booting.

@lochej are you able to approve then ? We need 2 approvals to get a release engineer to merge it.

@Nukersson , @lochej can you have a look ?

Tested the branch of  this PR on my NUCLEO-H745ZI-Q as follows:

Cortex-M7: running Hello World over USART3
Cortex-M4: running Blinky

After the compilation both cores booting properly, minicom console shows hello_world and LD2 blinks.
Moreover, setting two breakpoints in soc_m7.c on lines 47 and 54 respectively leads to break on line 47, which means  following:
/* CM4 is started at boot in parallel of CM7
* but CM4 should set itself into stop mode,
* waiting for CM7 clock initialization.
*/

But I have only one problem (maybe incorrect understanding) with the implementation:

What if developer does not need M4 booting anyway? As I understand the else of if (READ_BIT(SYSCFG->UR1, SYSCFG_UR1_BCM4)) { (line 54 of soc_m7.c) will force Cortex-M4 booting.

What if developer does not need M4 booting anyway? As I understand the else of if (READ_BIT(SYSCFG->UR1, SYSCFG_UR1_BCM4)) { (line 54 of soc_m7.c) will force Cortex-M4 booting.

In such case developer should disable CONFIG_STM32H7_DUAL_CORE, and M4 wakeup will not happen any more:
#if defined(CONFIG_STM32H7_DUAL_CORE)
/* Unlock M4 once system configuration has been done */
SYS_INIT(stm32h7_m4_wakeup, POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY);
#endif /* CONFIG_STM32H7_DUAL_CORE */

What if developer does not need M4 booting anyway? As I understand the else of if (READ_BIT(SYSCFG->UR1, SYSCFG_UR1_BCM4)) { (line 54 of soc_m7.c) will force Cortex-M4 booting.

In such case developer should disable CONFIG_STM32H7_DUAL_CORE, and M4 wakeup will not happen any more:
#if defined(CONFIG_STM32H7_DUAL_CORE)
/* Unlock M4 once system configuration has been done */
SYS_INIT(stm32h7_m4_wakeup, POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY);
#endif /* CONFIG_STM32H7_DUAL_CORE */

Perfect form Alexander Kozhinov ( still learning Zephyr's KConfig 😄 )

@Nukersson , @lochej can you have a look ?

LGTM, I'm not able to test this one as I don't have any STM32H745/757. But that implementation complies with the RM0399 when it comes to CM4 booting.

@lochej are you able to approve then ? We need 2 approvals to get a release engineer to merge it.

I approve these changes but I don't have write access, so my approval doesn't count 😅

I approve these changes but I don't have write access, so my approval doesn't count sweat_smile

@lochej Only a limited set of people (said "release engineers") have write access and are able to merge PRs once approved.
Though, anyone with interest in a change can review and provide feedback (approve, comment or request modification). Among those, some will be able to block a PR because they are codeowner, have an recognized expertise or generally known to provide valuable comments. Minimum of 2 approvals is required so a release engineer can merge a PR. So, the more the merrier...


FR: tighter integration with occur

M-s o for ctrlf-occur is a really nice feature; however it doesn't make usage of occur very convenient when the ctrlf minibuffer is active:

The resulting *Occur* buffer is not updated in any way as the user navigates through the ctrlf matches.  It would be cool if the point gets moved around the *Occur* buffer to correspond to the currently selected ctrl match.
Once you hit Enter, the *Occur* buffer is immediately hidden, so if you want to (say) use occur-edit-mode, you have to unhide it again.  It would be cool if there was a way to exit without hiding it.

Yes, those changes both seem reasonable, as long as the implementation does not turn out to be obtusely complicated for some unexpected reason.


[Auth] Create generic auth cookie provider

Hey, I just made a Pull Request!
Follow-up on this comment: https://github.com/backstage/backstage/pull/23437#discussion_r1521188144
Create a generic React component for refreshing user cookie.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

👍


SAA-407: Refactor migration scripts to allow for ref data to be loaded into different environments

Codecov Report
Patch and project coverage have no change.

Comparison is base (3f137b2) 78.34% compared to head (2896a53) 78.34%.

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #234   +/-   ##
=========================================
  Coverage     78.34%   78.34%
  Complexity     1264     1264
=========================================
  Files           218      218
  Lines          5376     5376
  Branches        182      182
=========================================
  Hits           4212     4212
  Misses         1056     1056
  Partials        108      108

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Don't retry hubspot calls forever

We retry api calls to hubspot forever, so we are never able to log the sync as in 'error' state

dupe of https://github.com/supaglue-labs/supaglue/issues/536


Need support: add quest key-value to get the secret end

To have the secret end, I think the sq032_jonny_friend should be added, but for now this tool not support add key-value pair to the quest facts

Adding new facts is a little tricky because they're spread out randomly across multiple tables in the save file. I'll implement a function that appends a new entry on to the first FactTable found and test if that works.

Adding new facts is a little tricky because they're spread out randomly across multiple tables in the save file. I'll implement a function that appends a new entry on to the first FactTable found and test if that works.

@Deweh
Thanks!
Is it really random in multiple tables, or just distributed in different tables (with a fixed mapping)?
For the latter one, maybe we can get the table id and insert new entry to the specific table.

@Deweh
Thanks!
Is it really random in multiple tables, or just distributed in different tables (with a fixed mapping)?
For the latter one, maybe we can get the table id and insert new entry to the specific table.

I'm new to Csharp.
I just modify this method to get the table id, but the console not have any output😅
public List<FactsTable.FactEntry> GetKnownFacts()
{
    var factsList = new List<FactsTable.FactEntry>();
    int i = 0;
    foreach (NodeEntry tableEntry in this.GetFactsContainer().Children)
    {
        var tableData = (FactsTable)tableEntry.Value;
        foreach (FactsTable.FactEntry fact in tableData.FactEntries)
        {
            if (!fact.FactName.StartsWith("Unknown_"))
            {
                factsList.Add(fact);
            }
            Console.WriteLine(3);
            if (fact.FactName.StartsWith("sq032_joh"))
            {
                Console.WriteLine(i);
            }
        }
        i++;
    }
    return (factsList);
}

I'm new to Csharp.
I just modify this method to get the table id, but the console not have any output😅
public List<FactsTable.FactEntry> GetKnownFacts()
{
    var factsList = new List<FactsTable.FactEntry>();
    int i = 0;
    foreach (NodeEntry tableEntry in this.GetFactsContainer().Children)
    {
        var tableData = (FactsTable)tableEntry.Value;
        foreach (FactsTable.FactEntry fact in tableData.FactEntries)
        {
            if (!fact.FactName.StartsWith("Unknown_"))
            {
                factsList.Add(fact);
            }
            Console.WriteLine(3);
            if (fact.FactName.StartsWith("sq032_joh"))
            {
                Console.WriteLine(i);
            }
        }
        i++;
    }
    return (factsList);
}

I'm new to Csharp.
I just modify this method to get the table id, but the console not have any output😅
public List<FactsTable.FactEntry> GetKnownFacts()
{
    var factsList = new List<FactsTable.FactEntry>();
    int i = 0;
    foreach (NodeEntry tableEntry in this.GetFactsContainer().Children)
    {
        var tableData = (FactsTable)tableEntry.Value;
        foreach (FactsTable.FactEntry fact in tableData.FactEntries)
        {
            if (!fact.FactName.StartsWith("Unknown_"))
            {
                factsList.Add(fact);
            }
            Console.WriteLine(3);
            if (fact.FactName.StartsWith("sq032_joh"))
            {
                Console.WriteLine(i);
            }
        }
        i++;
    }
    return (factsList);
}

I'm new to Csharp.
I just modify this method to get the table id, but the console not have any output😅
public List<FactsTable.FactEntry> GetKnownFacts()
{
    var factsList = new List<FactsTable.FactEntry>();
    int i = 0;
    foreach (NodeEntry tableEntry in this.GetFactsContainer().Children)
    {
        var tableData = (FactsTable)tableEntry.Value;
        foreach (FactsTable.FactEntry fact in tableData.FactEntries)
        {
            if (!fact.FactName.StartsWith("Unknown_"))
            {
                factsList.Add(fact);
            }
            Console.WriteLine(3);
            if (fact.FactName.StartsWith("sq032_joh"))
            {
                Console.WriteLine(i);
            }
        }
        i++;
    }
    return (factsList);
}

I use this to get the table id, although there are 10 tableEntry, but all the known facts are in the tableEntry 0
public List<FactsTable.FactEntry> GetKnownFacts()
{
    var factsList = new List<FactsTable.FactEntry>();
    int i = 0;
    // 10 tables
    string message = "";
    foreach (NodeEntry tableEntry in this.GetFactsContainer().Children)
    {
        message = "table " + i.ToString() + "\n";
        message += "length:" + (((FactsTable)tableEntry.Value).FactEntries.Count()).ToString() + "\n";
        var tableData = (FactsTable)tableEntry.Value;
        foreach (FactsTable.FactEntry fact in tableData.FactEntries)
        {
            if (!fact.FactName.StartsWith("Unknown_"))
            {
                message += fact.FactName + "\n";
                factsList.Add(fact);
            }
        }
        i++;
        MessageBox.Show(message);
    }
    return (factsList);
}

I use this to get the table id, although there are 10 tableEntry, but all the known facts are in the tableEntry 0
public List<FactsTable.FactEntry> GetKnownFacts()
{
    var factsList = new List<FactsTable.FactEntry>();
    int i = 0;
    // 10 tables
    string message = "";
    foreach (NodeEntry tableEntry in this.GetFactsContainer().Children)
    {
        message = "table " + i.ToString() + "\n";
        message += "length:" + (((FactsTable)tableEntry.Value).FactEntries.Count()).ToString() + "\n";
        var tableData = (FactsTable)tableEntry.Value;
        foreach (FactsTable.FactEntry fact in tableData.FactEntries)
        {
            if (!fact.FactName.StartsWith("Unknown_"))
            {
                message += fact.FactName + "\n";
                factsList.Add(fact);
            }
        }
        i++;
        MessageBox.Show(message);
    }
    return (factsList);
}

I'm intrigued by your project. Will this help with frozen Quests?  Thanks for your hard work!

I'm intrigued by your project. Will this help with frozen Quests?  Thanks for your hard work!

@birdmanmandbir From my tests, it seems that the proposed method does not work. A new fact can successfully be inserted into the first table, but the game does not recognize it. If you'd like to try it out, it's available on the dev-stable branch.
@adiggens Facts are separate from the active quest system. There may be some facts for some quests that can help move things along, but they aren't a catch-all solution.

@birdmanmandbir From my tests, it seems that the proposed method does not work. A new fact can successfully be inserted into the first table, but the game does not recognize it. If you'd like to try it out, it's available on the dev-stable branch.
@adiggens Facts are separate from the active quest system. There may be some facts for some quests that can help move things along, but they aren't a catch-all solution.

@birdmanmandbir Sorry if a PR isn't the right place for this, but what is the combination of existing facts that would need to be edited to enable to the secret ending?

@birdmanmandbir Sorry if a PR isn't the right place for this, but what is the combination of existing facts that would need to be edited to enable to the secret ending?

@Deweh @bencalegari sorry for reply late, actually I guess sq032_jonny_friend is one factor which could improve jonny's percentage from 60% to 70% (if you said you are friend of jonny, then this percentage only could be 60% in maximum)
I will try this dev-stable branch on my own save file.

@Deweh @bencalegari sorry for reply late, actually I guess sq032_jonny_friend is one factor which could improve jonny's percentage from 60% to 70% (if you said you are friend of jonny, then this percentage only could be 60% in maximum)
I will try this dev-stable branch on my own save file.

@birdmanmandbir Since my last reply, the dev-stable branch has been updated to hide the 'Add Fact' button so that it could be merged to master. All the functionality is still there, you'll just have to find the button in the designer and set its 'Visible' property to true.

@birdmanmandbir Since my last reply, the dev-stable branch has been updated to hide the 'Add Fact' button so that it could be merged to master. All the functionality is still there, you'll just have to find the button in the designer and set its 'Visible' property to true.

This feature is now working correctly with 0c715ca7134422c902a3fa6624b8afc149dc0f1b. (mfw they use the hash as an index) It'll be included in the next release.

This feature is now working correctly with 0c715ca7134422c902a3fa6624b8afc149dc0f1b. (mfw they use the hash as an index) It'll be included in the next release.


When MSVC 2017 upgraded, the cmake tools still use the old path

[cmake] The C compiler identification is unknown
[cmake] The CXX compiler identification is unknown
[cmake] CMake Error at CMakeLists.txt:3 (project):
[cmake]   The CMAKE_C_COMPILER:
[cmake]
[cmake]     C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x86/cl.exe
[cmake]
[cmake]   is not a full path to an existing compiler tool.
[cmake]
[cmake]   Tell CMake where to find the compiler by setting either the environment
[cmake]   variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
[cmake]   the compiler, or to the compiler name if it is in the PATH.
[cmake]
[cmake]
[cmake] CMake Error at CMakeLists.txt:3 (project):
[cmake]   The CMAKE_CXX_COMPILER:
[cmake]
[cmake]     C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.14.26428/bin/Hostx86/x86/cl.exe
[cmake]
[cmake]   is not a full path to an existing compiler tool.
[cmake]
[cmake]   Tell CMake where to find the compiler by setting either the environment
[cmake]   variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
[cmake]   to the compiler, or to the compiler name if it is in the PATH.
[cmake]
[cmake]
[cmake] Configuring incomplete, errors occurred!
[cmake] See also "e:/CI-Cor/acrop/acrop/device/build/CMakeFiles/CMakeOutput.log".
[cmake] See also "e:/CI-Cor/acrop/acrop/device/build/CMakeFiles/CMakeError.log".
[cms-driver] Error during CMake configure: [cmake-server] Configuration failed.

New path are:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726

rescan resolved.


[Feature] w8a8 based on pytorch poc

Usage
Step 1 Obtain the SmoothQuant-processed W8A8 Quantized Model
In this step, we will run the smooth_quant.py script to generate a W8A8 quantized model that is processed by SmoothQuant. Execute the following command:
python lmdeploy/lite/apis/smooth_quant.py internlm/internlm-7b ./work_dir

This command generates a quantized model and saves it in the ./work_dir directory.
Step 2 Chat with quantized model
Once you have the quantized model, you can interact with it using the chat.py script. Run the following command:
python lmdeploy/pytorch_poc/chat.py ./work_dir internlm-chat

Upon executing this command, an interactive session starts where you can converse with your quantized model.

May add user guide about the steps of applying w8a8

Do we have to add a modeling_xxxx.py if we want to support a new model?

Do we have to add a modeling_xxxx.py if we want to support a new model?

Maybe this is necessary if we allow users to instantiate the quantized model via the from_pretrained interface. In addition, I've newly implemented a function called convert_to_qmodules, aimed at simplifying the process of adding a modeling_xxxx.py. Please refer to this commit.

Please fix the lint and conflict


Using CodeforcesApiPy and fixed Call limit

Using CodeforcesApiPy and waiting for some time to avoid Call Limit exceeded.

Thanks for the proposed contribution @VadVergasov! Great to see that you already are maintaining a python wrapper for the Codeforces API. If possible, I'd like to move away from custom request calls entirely in that case by extending your project to support APIs for (1) getting tags for a given problem and (2) getting the total number of submissions page for a user.
Let me know if you have the bandwidth to add these additional functionalities else I'd be happy to contribute as well.

Thanks for the proposed contribution @VadVergasov! Great to see that you already are maintaining a python wrapper for the Codeforces API. If possible, I'd like to move away from custom request calls entirely in that case by extending your project to support APIs for (1) getting tags for a given problem and (2) getting the total number of submissions page for a user.
Let me know if you have the bandwidth to add these additional functionalities else I'd be happy to contribute as well.

First of all, we need to wait for Codeforces API fixes, I've already contacted Mike Mirzayanov because if we need to get a lot of info in one request we need to use the POST method, not GET, but Codeforces responses 403 error on such requests.
(1) In Codeforces API we have problemset.problems method, but it will return the array of problems and we need to look throw the whole tasks to get their tags. So it will take some time. But for me, it takes about 0.5 seconds to get and convert the response to the dictionary with such look: tags["contestId"]["index"] = [tags]
(2) In Codeforces API we have user.status and it will return all user's submissions, so we don't need to parse tasks page by page and this will throw away some problems, connected with a page processing (like #5 I can try to edit the current realization to modify that.

First of all, we need to wait for Codeforces API fixes, I've already contacted Mike Mirzayanov because if we need to get a lot of info in one request we need to use the POST method, not GET, but Codeforces responses 403 error on such requests.
(1) In Codeforces API we have problemset.problems method, but it will return the array of problems and we need to look throw the whole tasks to get their tags. So it will take some time. But for me, it takes about 0.5 seconds to get and convert the response to the dictionary with such look: tags["contestId"]["index"] = [tags]
(2) In Codeforces API we have user.status and it will return all user's submissions, so we don't need to parse tasks page by page and this will throw away some problems, connected with a page processing (like #5 I can try to edit the current realization to modify that.

Thanks for the update @VadVergasov! I guess I forgot to update #5 but I had briefly addressed it when I rolled out the --full-scan feature. Also, I just recalled and checked that I am no more using the get_submissions_page_count method which practically means that we can drop (2) completely. Sorry for the confusion.

Thanks for the update @VadVergasov! I guess I forgot to update #5 but I had briefly addressed it when I rolled out the --full-scan feature. Also, I just recalled and checked that I am no more using the get_submissions_page_count method which practically means that we can drop (2) completely. Sorry for the confusion.

Updated getting tags

Updated getting tags


sns based async task fails if response capture is disabled

Context

SNS based task execution fails to publish messages to the SNS topic when response capture is disabled which is by default. Had to enable response capture and setup dynamodb table for it sns based execution to work
Expected Behavior

Task execution should be independent of the response capture. This seems to be the case for direct lambda based async tasks, it works with the response capture enabled or disabled
Actual Behavior
response_id attribute is not initialized in the constructor for LambdaAsyncResponse
https://github.com/Miserlou/Zappa/blob/b0b832d02463cc4e861dc64a47808edcd1dfbc36/zappa/async.py#L188-L221
But its accessed on https://github.com/Miserlou/Zappa/blob/b0b832d02463cc4e861dc64a47808edcd1dfbc36/zappa/async.py#L166
Possible Fix

I think the fix for this would be to include some of same handling code in constructor for SnsAsyncResponse as LambdaAsyncResponse
       if capture_response:
            if ASYNC_RESPONSE_TABLE is None:
                print(
                    "Warning! Attempted to capture a response without "
                    "async_response_table configured in settings (you won't "
                    "capture async responses)."
                )
                capture_response = False
                self.response_id = "MISCONFIGURED"

            else:
                self.response_id = str(uuid.uuid4())
        else:
            self.response_id = None

        self.capture_response = capture_response

A better approach would be to refactor this into a base class and let dispatch mechanisms inherit it.
Your Environment

Zappa version used: Version: 0.44.3
Python version: Python 2.7

Implemented recommended fixes.


Open the correct keyboard view for numeric inputs on iOS

Is your feature request related to a problem? Please describe.
-If you set a number in the number block (), the normal keyboard opens on mobile Safari.
Describe the solution you'd like

Open the numeric keyboard.

Describe alternatives you've considered

Switching from the normal keyboard to the numeric view each time.

Additional context

Reproduced in the Safari browser and in the Roberta Mobile App on iOS on an iPad 4th. Gen. with iOS 10.3.3 and on an iPhone X with iOS 12.3.1

unfortunately the IOS systems doesn't offer a "-" in their numeric keyboard, so no way to put in negative numbers. To reduce IOS mobiles that they cannot access negative numbers will restrict them in a way that it makes no sense to work with the Open Roberta Lab


Console application

This is a simple console application that shows how to get started using the SDK.

Kindly also add the referenced dlls in the bin folder of Console application.


increase timeout from 150 to 210 minutes

because an attempt at a 2.12.0-M2 release build failed today
by running afoul of the old timeout
review/merge by @adriaanm

LGTM

I think the real solution is to limit concurrency. There should only be one release job running at a time. No need to increase timeout for all jobs. We want to detect when they start taking longer. Note that the build passed without this change (merging doesn't actually deploy the change).

(the build took 160 minutes — it only passed because I also manually increased the timeout in the Jenkins UI)

good call! :rabbit:

also, it's possible that the increased time in this case had to do with concurrency, but it might also just be that the M2 compiler is slow. Jon Pretty is reporting "23% slower" than 2.11

yep, we should increase, but only just enough so that we discover further slow downs -- Lukas & Jason are going to focus on optimizing the optimizer, so I don't expect this to be a problem :)

In any case, we shouldn't increase the timeout for 2.11.x

agree. see new ticket


Add More Banis

Ardaas
Shabad Hazaare
Shabad Hazaare Patishahi 10
Tav Prasad Svaiyay (Deenan Kee)
Akal Ustat
Bavan Akhree
Sidh Gosht
Oankaar
Barah Maha
Salok Mehla 9
Chandi Di Vaar

Best to recheck this in the desktop app, but looks good to me so far.


Blocklight/Skylight support

valence does not support lighting when loading minecraft worlds yet.
im probably gonna try implementing that myself, but i wanted to open a issue first, so feel free to share any thoughts here.
hyperion can be used as reference as that seems to implement that already: https://github.com/andrewgazelka/hyperion/blob/f801eddab96f10fc8179f7e1862d5206ec61425a/crates/hyperion/src/simulation/blocks/loader/parse.rs#L259-L288

It would be cool if you could make it toggleable for every player using a component or something. Then we could have server-side fullbright that can be adjusted individually.

feel free to let me know if you have any questions


Removed @storybook/storybook-deployer

Fixes #96

Thank you for the PR.
I did not know that the storybook deployer is deprecated, however we can't just remove it since it's used as part of the GitHub actions to deploy storybook to GitHub pages when a new package version gets published.
Do you mind replacing it with this alternative?
https://github.com/bitovi/github-actions-storybook-to-github-pages

I just pushed a commit updating publish.yml
@TimMikeladze kindly take a look if its correct

I'm closing this PR and sent another one #98 since I had to make updates to the lock file and fix the commit messages so they pass the linter.
I included you as a co-author on the comit.
Thanks!

Awesome, thanks bro 👍


Division by zero error

Hello, thank you very much for your script!
Unfortunately, I found a division by zero error when I run it on one of my layouts.
The division happens in this line and the one below: https://github.com/mbalestrini/GDS2glTF/blob/43b444e69b9b1e9e117560c48eac45d5437bdf15/gds2gltf.py#L234C1-L234C66
This is the troublesome GDS file: https://github.com/mole99/tt08-aicd-playground/blob/main/gds/tt_um_tt08_aicd_playground.gds
I would appreciate any help, thanks!

tt_um_tt08_aicd_playground.zip

I could track down the error to the manual routing part of the design:
manual_routing.zip

It seems this issue is much more general: Any path that is drawn leads to this error.
For example this simple path:

Leads to the same division by zero error.
GDS is here: path.zip


Provide minified js files for modules

First I should say thanks for this great framework.
I am making a web project with an "atomic design" concept, and I don't want to pull the whole lumx js, but only the needed assets for the module/component.
Providing individual module minified js file will make it easier to maintain projects like this. So rather than me creating the minified files with the risk of getting them outdated, I prefer to pull them directly from lumX library.

First of all, thank you very much for your support :-)
It's a really good idea and we have already thought about it!
We're going to work on it as soon as we can.


Account's not working

Hello. You might want to check https://github.com/I2rys/opengen-bot/issues/2#issuecomment-1022052525


Proposal: MultiChildLayoutDelegate as replacement of RenderBox just for more advanced layout phase

I need to create a custom RenderBox sometimes just to lay a few children out in a more custom way, depending on what are their sizes in certain box constraints.
CustomMultiChildLayout could serve as a replacement for custom RenderObjectWidgets for those cases. See the drawing below for an example. But there's no access to children's getDryLayout method and calling layoutChild more than once is prohibited.

Layout drawing example

Also, it's prohibited to use the laid out children's sizes in the overridden getSizemethod.
https://github.com/flutter/flutter/blob/c689f80aec327cc3901be92fafd187243879a048/packages/flutter/lib/src/rendering/custom_layout.dart#L31-L40
My proposal is to refactor MultiChildLayoutDelegate or create a new widget delegating the layout phase from rendering to the user so a developer doesn't have to write all the boilerplate RenderObjectWidget, RenderObjectElement and RenderBox when they don't really need all this power (and the volume of unnecessary code).
From a quick look, I think a delegate that doesn't have the Size getSize(BoxConstraints) virtual method and instead of void performLayout(Size) has a Size performLayout(BoxConstraints) with the access to getDryLayout of its children would serve as a great improvement.
What do you think?
Mentioning some people from git history and todos of custom_layout.dart: @Hixie @abarth @HansMuller @slightfoot
Slightly related:

#18426

I think if the goal is mainly to avoid writing the boilerplate we should probably start by doing this in a package (rather than in the core framework), and then once we have static metaprogramming macros, we should look at whether they can be used to make this better for all render objects in general.

I created a simple boilerplate generator if one needs to create a custom RenderBox with a few widget children and/or fields: https://github.com/leancodepl/render-box-boilerplate-generator


feat(cloudevents-server): support set receivers by event types

Signed-off-by: wuhuizuo<EMAIL_ADDRESS>

/approve

/hold

/unhold


♻Change: Switch to docker stack config

reverts commit 945b576aa147d9e31e4250da72237785a8c167ae.
deprecates docker compose v1
switches from custom scripts to docker stack config (copied from the simcore one found in ITISFoundation/osparc-simcore/pull/5523 )
removes references to .env-devel
renaming of "deployment scripts" for clarity

What do these changes do?
Related issue/s
Related PR/s

https://github.com/ITISFoundation/osparc-simcore/pull/5523
https://git.speag.com/oSparc/osparc-ops-deployment-configuration/-/merge_requests/501#19f9eb849fe8623b5079612f75102c63d695b03e

Checklist

[x] I tested and it works

Let's not merge it before v1.70.0 release

Let's not merge it before v1.70.0 release

ok


[Feature]: Cover Tilt Support

Requested feature
This add-on is working perfectly in my KNX based house with Home Assistant and google nest audio
My covers also support tilt. As far as I can see, matter js also supports tilt.
As an workaround, I'm using HA Scene for setting tilt on my covers.
Documentation & Issues

[X] I have reviewed the list of currently supported entities and their limitations.
[X] I have searched the issues for a similar requests.
[X] I have checked if my controller is known to support the requested device type.

Sharing this example of the iBlinds v3 Z-Wave device, which only supports tilt (not open/close), in case it helps.
cover.main_bedroom_blinds:
current_tilt_position: 0
device_class: blind
supported_features: 240

240 is open_tilt + close_tilt + stop_tilt + set_tilt_position:
SUPPORT_OPEN = 1
SUPPORT_CLOSE = 2
SUPPORT_SET_POSITION = 4
SUPPORT_STOP = 8
SUPPORT_OPEN_TILT = 16
SUPPORT_CLOSE_TILT = 32
SUPPORT_STOP_TILT = 64
SUPPORT_SET_TILT_POSITION = 128


Live Site as template

I did a git pull of the repo.  But I am not sure how to compile the site.  I tired running gulp but not sure which file to go to.  I am trying to use the material design lite home page as a template.  Just need some direction.  I know they are in the docs folder but its all markdown files.

Thanks, @kyoukhana! Unfortunately, the live site isn't well suited as a template, as it's a complex implementation that can definitely do with a massive rework :(
In any case, you can find everything in the docs folder, as you mentioned. It's built using swig as a templating mechanism. The HTML bits are in the templates folder, and the CSS in assets.


Async

Hi
This Application Not Support 'Async' and 'Await' Terms.

Thanks for your report. I hope to get to it soon.

This feature needs more testing but it should get you going. Please report any issues you may encounter in a separate GitHub issue


C# option to use JSON property names as is?

Quite a few people have been requesting this, for a variety of reasons.  If we do support this, it should be clear that it's unsafe.

Same as #1021


Moving bulk of README to the wiki

Our README was getting a bit unwieldy and long, so I created contributing and maintaining pages in our wiki and moved them there. Wiki content is of course open to feedback, but I don't think discussion about that should hold up this PR.

Coverage remained the same at 76.82% when pulling 652bcebf0679c4c2b92a44ad20b16a500e04d299 on milestones into b1e0b400114c034ded11f26e6e136d2bee61ed6c on master.

Also, this closes #73

Damn this is nice. :+1:


Java: fix lexing of 'record' soft keyword

Refactor the Java lexer to treat record as a soft keyword. Fixes #2016.
Previously, the lexer assumed record is a reserved word, even though
it is a soft keyword which can be used as a variable name. This meant
that if pygments tried to highlight Java code like int record = 1
(assignment to a variable named record) an error token would be produced.
This refactor lexes record as a keyword only if it appears at the
beginning of the line, with some potential other keywords like public
and private preceding it.
I am not a Java expert at all, but after reading the JEP for records, I think this
covers all cases.

Thanks a lot for looking into this at such short notice! I think we'll get a 2.11.2 release out with that soon. Could you please check the lint issue though so I can merge this?

Lint issue fixed.

Should be all good now :)

Perfect, merged as well. Thanks again for looking at this!


react hook won't autoconnect when selecting the same adapter as last time

To reproduce:

Run the react-ui demo
Disconnect any existing connection
Select one wallet with the SelectWalletButton
Fail to connect by any method, like refusing the request or closing the modal
Select the same wallet again
Nothing happens, auto-connection was not triggered since it depends on the adapter's name change.

Maybe you can uncomment this line to fix it.
https://github.com/tronprotocol/tronwallet-adapter/blob/eaaac80af7de46efe05620ee9b2cc173a804ca4c/packages/react/react-hooks/src/WalletProvider.tsx#L241C38-L241C38
Manully connecting the wallet with connect from useWallet also works badly. If I use connect just after select, it will always connect to the last selected adapter.

Sorry for any inconvenience.
autoConnect is designed to work when selected wallet changes.
If there is a selected wallet and it is the wallet that the user want to connect, we can call connect().
If the selected wallet is not the wallet that the user want to connect, we can call select() and it will automatically connect.
Before call select method , we can judge that if the current selected wallet is we want to connect. If so just call connect().

Sorry for any inconvenience. autoConnect is designed to work when selected wallet changes. If there is a selected wallet and it is the wallet that the user want to connect, we can call connect(). If the selected wallet is not the wallet that the user want to connect, we can call select() and it will automatically connect.
Before call select method , we can judge that if the current selected wallet is we want to connect. If so just call connect().

Yeah, I've already handled this before.
Just manually connect when selecting while adapter.name is the same
  const handleSelect = useCallback((w: Wallet) => {
    if (w.adapter.name === wallet?.adapter.name) {
      connect();
    } else {
      select(w.adapter.name);
    }
    onClose();
  }, [connect, onClose, select, wallet?.adapter.name]);


Implementations: token and pass

[x] For pass use: Common Crypto lib
[x] For token use: Standard approach

abandoned


Use configuration inside @Module controller

First of all thank you for this super handy package, it is an amazing package
I configured the package in my application as the following

@Module({
  imports: [
    ConfigifyModule.forRootAsync({
      configFilePath:
        process.env.NODE_ENV === 'daemon' ? '.env.daemon' : '.env.dev',
    }),
    MongooseModule.forRoot(process.env.MONGO_URI),
    AuthModule,
    ....
  ],
})
export class AppModule {}

@Module({
  imports: [
    PassportModule,
    JwtModule.registerAsync({
      imports: [ConfigifyModule],
      useFactory: async (configService: AuthConfiguration) => ({
        secret: configService.jwtSecret,
        signOptions: {
          expiresIn: configService.jwtExpires,
        },
      }),
      inject: [ConfigifyModule],
    }),
  ],
  providers: [AuthService, JwtStrategy],
  controllers: [AuthController],
})
export class AuthModule {}```

I have a couple of questions:
first: how can I configure `JwtModule.registerAsync(...` correctly
second: how can I configure `MongooseModule.forRoot(process.env.MONGO_URI),` using mongo config file?

Hey @Abdallah-Hussien-Asal,
without further information about how your use case works I can only assume a few things so I will give it a try on how I would setup and then we can see if that makes sense for you.
Let's imagine we have the following env file or env variables setup on your host:
MONGO_URI=mongodb://localhost/nest

JWT_SECRET=my-secret
JWT_EXPIRATION_TIME=1000

First I would create two classes to handle different types of configurations, one related to database and another one related to authentication:
@Configuration
export class DatabaseConfiguration {
  @Value('MONGO_URI')
  connectionUri: string;
}

@Configuration
export class AuthConfiguration {
  @Value('JWT_SECRET')
  jwtSecret: string

  @Value('JWT_EXPIRATION_TIME', { parse: (value: string) => parseInt })
  jwtExpirationTime: number;
}

Then, once you import the configify module, all the classes decorated with @Configuration will be globally available to your application. With that said, you don't need to import the ConfigifyModule inside the other modules of your application, instead you just inject the configuration classes:
@Module({
  imports: [
    ConfigifyModule.forRootAsync({
      configFilePath:
        process.env.NODE_ENV === 'daemon' ? '.env.daemon' : '.env.dev',
    }),
    MongooseModule.forRootAsync({
      inject: [DatabaseConfiguration],
      useFactory: async (config: DatabaseConfiguration) => ({
        uri: config.connectionUri,
      }),
    }),
    AuthModule,
    ....
  ],
})
export class AppModule {}

@Module({
  imports: [
    PassportModule,
    JwtModule.registerAsync({
      inject: [AuthConfiguration],
      useFactory: async (config: AuthConfiguration) => ({
        secret: config.jwtSecret,
        signOptions: {
          expiresIn: config.jwtExpirationTime,
        },
      }),
    }),
  ],
  providers: [AuthService, JwtStrategy],
  controllers: [AuthController],
})
export class AuthModule {}

I didn't test the code and I see there are multiple ways of organizing the modules definition to look a bit cleaner, so this may need some adjustments according to your taste.
Give it a try and let me know if that works for you.

Closing due to inactivity on the issue


[BUG] beginAtZero does not have effect for horizontalBar Charts

The beginAtZero parameter does not work for horizontalBar charts (although it works for bar charts).
Here is a link for you to test http://codepen.io/anon/pen/LxZEzE
You can see that the scales starts at 2 when drawing horizontal bars even though the option beginAtZero is set.

In a horizontal chart that is the xAxis. Change yAxis to xAxis and it works as expected.

Oh ok my bad


Fix tables structures in descriptions [v1.2.x]

Purpose

Fixes the following

Fixes #22789
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #23734 into ballerina-1.2.x will not change coverage.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           ballerina-1.2.x   #23734   +/-   ##
================================================
  Coverage            14.59%   14.59%
================================================
  Files                   51       51
  Lines                 1411     1411
  Branches               219      219
================================================
  Hits                   206      206
  Misses                1189     1189
  Partials                16       16

Continue to review full report at Codecov.

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


5 transactions to approve to deploy a DAO

Right now, on alchemy, you need to apprive 5 transactions to approve a DAO getting created.
I don't think this was always the case... was it??
At least twice, I missed a transaction and there was an error.

@arsena21 this will be fixed in the new version of Alchemy, and deploying a DAO will always require 2 transactions.


Actions returned the error when reading the coverage.txt file

I setup the github actions workflow as below:

And when running on github, then I received the error message "Generating coverage report. Cannot read properties of undefined (reading 'length')".

Could you please help to check the issue and let me know how to fix it or help to fix it?
Here is the attached coverage.txt file. which I downloaded from workflow
coverage.txt

Thanks for the detailed issue.
I release the fix for that, try to use the latest version:
- name: Jest coverage comment
  uses: MishaKav/jest-coverage-comment@main

or
- name: Jest coverage comment
  uses<EMAIL_ADDRESS>
Thanks for reporting the bug.

thank you so much for your support

I still got this issue when running on github action.


✨docs: Updates to Layout Folders to Streamline Submission Process

chore: Created publish, publish/image(s), xCSS, callback, and other folders in each src/layout folder.
feat: Created sample-readme.md and your-layout.ts to offload some of the tedious manual work onto submitter, while also minimizing errors on both ends.
chore: Updated links in relation to the changes above.
feat: Contains updated CSS which would partially-close #200. (We can skip this for later if need be).
Signed-off-by: Sigrunixia<EMAIL_ADDRESS>

Added a contributing.md and code-of-conduct (Since it was recommended along with it) I know the second is not really needed now. Better it's there now.
Contribuding.md needs one small part filled out:
### Your First Code Contribution
<!-- TODO
include Setup of env, IDE and typical getting started instructions?

-->

Good reference for building from source: https://github.com/fantasycalendar/obsidian-fantasy-calendar/pull/121

Good reference for building from source: fantasycalendar/obsidian-fantasy-calendar#121

Added a reworded form of this both to contributing.md and the documentation/plugin-management area.

Taking this out of draft just so we can start coordinating later.

Okay Fixed this to be JUST about the changes in directory layouts and publish-related things, but contributing.md and code-of-conduct.md.
Any problems with the two files for now @valentine195?


Add bitrev, mfic, mtic, and wsbw instructions

This commit adds the bitrev, mfic, mtic, and wsbw instructions.
I've checked the decompilation for all four of these instructions, and they seem to work fine.
It might be worth changing bitrev to a pcodeop instead as it looks messy. e.g.
uVar1 = ((uVar1  >> 1) & 0x55555555) | ((uVar1 & 0x55555555) << 1);
uVar1 = ((uVar1  >> 2) & 0x33333333) | ((uVar1 & 0x33333333) << 2);
uVar1 = ((uVar1  >> 4) & 0x0F0F0F0F) | ((uVar1 & 0x0F0F0F0F) << 4);
uVar1 = ((uVar1  >> 8) & 0x00FF00FF) | ((uVar1 & 0x00FF00FF) << 8);
uVar1 = (uVar1  >> 16) | (uVar1 << 16);

Bit reverse algorithm taken from https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel.
mfic decompilation example:
uVar1 = getInterruptMask();
mtic decompilation example:
setInterruptMask(uVar1);
This commit fixes #3.

It might be worth changing bitrev to a pcodeop instead as it looks messy

True... but for now it's better having this than nothing. The decompiler should calculate this correctly.
Thanks for fixing this! I'm going to make new prebuilt version for Ghidra 9.1.2


Redeploying FederatedStore with updated Properties that conflict with library

1st attempt.
gaffer.store.class=uk.gov.gchq.gaffer.federatedstore.FederatedStore
gaffer.store.properties.class=uk.gov.gchq.gaffer.store.StoreProperties

a month later, redeploy
gaffer.store.class=uk.gov.gchq.gaffer.federatedstore.FederatedStore
gaffer.store.properties.class=uk.gov.gchq.gaffer.store.StoreProperties
gaffer.federatedstore.graphIds=edgeGraph
...ect

error thrown because the federatedStore properties file is now different to the one that exists in the library that contains federatedStore details.

link gh-1297

link gh-1304

This is not really specific to the FederatedStore, but to any properties or schema that are persisted in the Graph Library that need to be updated. We need a mechanism for updating schemas/properties in the Graph Library. For now users will have to manually update the GraphLibrary before using it.

#1430 will add a AddSchema and AddStoreProperties operations, which will fix this issue too.


[Question] How does sweet.compile or sweet.parse function works?

I want to use sweet.parse or sweet.compile
But for some reason I need to provide loader.compile function.
Is there anyway to use sweet.parse or sweet.compile?
I need to parse Sweet JS inside of function.

var compile = require('@sweet-js/core').compile; var NodeLoader = require('@sweet-js/core/dist/node-loader').default; let loaderOptions = {         noBabel: false }; var loader = new NodeLoader(process.cwd(), loaderOptions); try{     var output = compile(fs.realpathSync("your_path"), loader, {         noBabel: ''     });     console.log(output.code) } catch (e) {     console.log(e) }
This is the way I could compile sweet.js with node.js.


Jest not recognising/updating Storyshots

Bug or support request summary
Hello everyone,
I am trying to setup Storyshots on a project I am working on.
The initial snapshot generation is successful, however, all following changes are not picked up by jest's watch mode. If I want to update the snapshots, I have to use npm run test -- -u - which isn't ideal, as the tests never visibly fail.
From the screenshot in the readme, this shouldn't happen - so I am not sure as to what I am doing wrong.
Steps to reproduce
I am not sure what, in particular, is causing this to happen. My setup uses Microsoft/TypeScript-React-Starter, perhaps that's related. Explicitly writing a snapshot test seems to work as expected, so the issue appears to be solely related to storyshots. I have created a test repository which can be used to reproduce the issue. You can find it here: https://github.com/Braden1996/ts-react-boilerplate
Please specify which version of Storybook and optionally any affected addons that you're running

"@storybook/addon-storyshots": "^3.4.1",
"@storybook/react": "^3.4.1",

Affected platforms
Please see my project's package.json
Screenshots / Screencast / Code Snippets (Optional)
Screenshot in the readme:

Screenshot from my terminal:

(notice Snapshots:   0 total)

Okay, so this was a result of using multiSnapshotWithOptions. Unfortunately, as this brilliant article explains, it is a smart "monkey patch" - to state a custom snapshot filename. However, it has a few caveats; including the inability to update snapshots.

Hey @Braden1996, multi-snapshots should work with manual updating. I wasn't aware of the watch mode that automatically updates snapshot, so I should probably check it.

Small update here, I've tried multisnapshots outside the storybook (in the jest-specific-snapshot repo) and even though there was no a u command, I was able to press u and to update the snapshots. Here, in storybook it's not available (can't understand why, maybe because of the different Jest versions).
Anyway, I will try to check if it's possible to add a custom command to the watch.

@igor-dv I did some digging and proposed a solution https://github.com/igor-dv/jest-specific-snapshot/pull/9. Please let me know what you think of it :)

I've published the change as v1.0.0.

It was released


fix: add decimal precision to CPU and memory metrics in pod info

Pod Info Box:

Format CPU millicores with 2 decimal places
Format memory Mi with 2 decimal places

Currently, Container Info's CPU/Mem usage and HexagonHeatMap(container level usage) comes from pods API. Pod Info's CPU/Mem usage comes from pods-info API. In future, we would have all the CPU/Mem data from pods-info API. Changes in UI code would be required, as pods-info API already send container level data.

Do we need to keep 2 decimals? I think no decimal is okay.

Do we need to keep 2 decimals? I think no decimal is okay.

We already have decimals in container info box and hexagonal heat map. This is done to bring parity. Also, sometimes a pod can have only one container - in pod info we are showing lets say 3m but in container box it's 2.7m (these should be equal)


Stop_Server() Is not working to close the server when show_dash() is called in a separate thread

Hi, here's a MWE to reproduce this issue:
Here are the module versions:

plotly-resampler==<IP_ADDRESS>
Flask==2.1.3
jupyter-dash==0.4.2
Werkzeug==2.1.2

import plotly.graph_objects as go; import numpy as np
from plotly_resampler import FigureResampler
import time
import threading

x = np.arange(1_000_000)
sin = (3 + np.sin(x / 200) + np.random.randn(len(x)) / 10) * x / 1_000

fig = FigureResampler(go.Figure())
fig.add_trace(go.Scattergl(name='noisy sine', showlegend=True), hf_x=x, hf_y=sin)

threading.Thread(target=fig.show_dash, kwargs={"mode": "external", "port":8050}, daemon=True).start()

start_time = time.time()
while True:
    if time.time() - start_time > 10:
        print("Time to stop!")
        fig.stop_server()
        print("Stop server ran!")
        break

# This loop is meant to keep the script alive
while True:
    pass

If the fig.stop_server() function is working, refreshing the browser: <IP_ADDRESS>:8050 should yield a "SITE CANNOT BE REACHED ERROR" which is expected if the dash server is functional.
However, that is not the case, and the server is still alive. Please kindly advise, how one can go about terminating the server, without having to terminate the entire python script.

Hey @Jamesong7822,
Thx for submitting this issue together with the qualitative reproducible code :)
I ran this code on my machine, but could not reproduce the bug (the server stops after 10s, and I get this This site can’t be reached in the browser when I reload).
Are you by any chance working on Windows? I'm not an expert on this, but I do know that multiprocessing (& possibly threading) on Windows is performed differently than on Unix systems...
Hope to get this sorted out!
Cheers, Jeroen
P.S.: my apologies for the late response - had some paper deadlines that limited my spare time (to work on open-source contributions)


what is the equivalent method for disappearToast

I am updating UIView+toast, but my project heavily uses disappearToast. Latest code does not have it. What happened? What can I use now?

This has never been part of the official repo. You'll have to fork the project and add this functionality yourself.


[Pagination]: icon size in buttons should be 16

Will contribute this directly to Carbon: https://github.com/carbon-design-system/carbon/issues/6057

This has been merged in https://github.com/carbon-design-system/carbon/pull/6058, we're awaiting it to be published in a new version.
We can close this once we've updated to the Carbon version where this change is available.

Putting off upgrading Carbon until next sprint.

This was closed in #1323


Fix issue with different color icons on homepage

The open folder didn't have an href attribute defined which caused the browser to not render it with the same styles as the other link.

Without the href an anchor tag basically renders like a span

From: mydiemho<EMAIL_ADDRESS>Sent: Tuesday, December 11, 2018 4:29 PM
To: Microsoft/VoTT
Cc: Wallace Breza; State change
Subject: Re: [Microsoft/VoTT] Fix issue with different color icons on homepage (#356)
@mydiemho commented on this pull request.

In src/react/components/pages/homepage/homePage.tsxhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FVoTT%2Fpull%2F356%23discussion_r240843878&data=02|01||258f39df78564c7ec2e708d65fc8d821|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636801713549824543&sdata=lbgv5h0GdtowxDkbxqPXcBemhOUhX2wIpvpqeq%2FLp30%3D&reserved=0:

@@ -54,7 +54,7 @@ export default class HomePage extends React.Component {

                        this.filePicker.current.upload()} className="p-5 file-upload">

                        this.filePicker.current.upload()} className="p-5 file-upload">

why does adding a href tag fix the problem?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2FVoTT%2Fpull%2F356%23pullrequestreview-183968054&data=02|01||258f39df78564c7ec2e708d65fc8d821|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636801713549824543&sdata=TU9LV8m9xNQfcot3uA05sLW3Ah%2BgT1Np%2Fu60FjRryC8%3D&reserved=0, or mute the threadhttps://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAGPLf9WYnxItbLBbwe_ATIg9tWvhVFBYks5u4E3ZgaJpZM4ZMVGo&data=02|01||258f39df78564c7ec2e708d65fc8d821|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636801713549980802&sdata=ddwzcOogx8%2BcqlWf6YtfY3hfi3PgvoscCLikWrY3PLY%3D&reserved=0.


What the hell?????!!!!!!!!!!

Hey guys? Are you seriously?!!!!!
What the fuck?!!!!!
I'm been watching your library since v 2.6.1. And each version has new and new icons related problems!!!!!
I do everything that you subscribed in installation guide. But it doesn't work.
I tried open and open new issues! You don't resolve problem!!!! You born new problem!!!
You event can't subscribe normal getting started section without issues!

Your comment is so negative but I sympathize for the reason you flied off the handle because I feel the same here.
This is my issue: https://github.com/GeekyAnts/NativeBase/issues/2364#issuecomment-430161977
The issue was posted 2 months ago, and I provided a dead simple snippet to reproduce the issue https://snack.expo.io/@yanghuyming/dHJlbW
But all I received was that the issue was closed for duplicated with another issue (I have no idea why they are the same, they are totally different issues).
So I begged them for reopen my issue and check my snippet but they ignored and did nothing. Really disappointed.

The point is the issue doesn't occur in version 2.6.0 (with the same code). Right after I updated to 2.6.1, many issues occurred. I emphasized that but they ignored everything!

@ForeverYouth Mind your language


Announcing reason on the ocaml mailing list

Any reason, reason was not announced on the ocaml mailing list at this point? It seems to me that those changes might make it even harder for the existing ocaml community to understand and read code written with the reason syntax. It could a nice occasion be nice to benefit from an healthy discussion with the rest of the OCaml community (before iterating even more through syntax changes).
(For instance, for me, #550 seems not that intuitive.)

No reason except lack of time, and wanting to have a better, easier to try out experience before broadcasting more widely (I'd like a js_of_ocaml top level to try immediately for example).
We didn't really expect Reason to get as much interest as it has already (1200+ stars in just a few days without much open source communication about it).
w.r.t. intuitiveness: While Reason does fix many of the pitfalls that experienced OCamlers report, the main goal was to fix pitfalls and friction that people totally new to the language typically experience. The choices we make to appeal to these different audiences will vary dramatically.
It's entirely possible that experienced OCamlers (who care primarily about collaborating with other OCamlers), won't find anything valuable in the new syntax, or even the upcoming build/namespace/share workflow. I think that's totally okay and those same people will likely enjoy the network effects of having more people care about their same underlying technology (at least I hope they would).
There are some tools in Reason that provide a nice small, very incremental path forward for the existing OCaml concrete syntax. Once you get all the syntax automatically formatted via Reason, you can rapidly evolve the syntax to be whatever you want it to be including a syntax that is mostly the same as the current OCaml syntax. It's not easy to accomplish such an automated formatter, but Reason has done so, or at least seeks to. Some have proposed that we can eventually use these same tools to help evolve the current OCaml syntax and I think that sounds great too.

I understand that there has been a lot of activity around reason, which probably comes from the fact that it was broadcasted quite widely on hacker news.
I think that reason is a very nice, if not straightforward, idea at it's core: that is, it's possible to change the syntax of an existing language without changing its type-system, its semantics nor its runtime (which are for me the parts that define a language). With that idea, and the nice reformating tools, it's possible to have a tight update loop experimenting with the syntax; and I look forward to see a version of the reformating tools geared toward the existing OCaml syntax. (To be fair, I also look forward to see new work going on in other parts of the reason toolchain and ecosystem, and I am very excited about the idea of the OCaml/reason community growing and exchanging.)
However, I think that part of the activity of reason comes from the fact that it builds on a mature language, with a mature (and still growing) set of libraries and community of users. One of the reasons I am pushing to announce reason on the OCaml mailing list is just to acknowledge that fact.
The other reason I am pushing for taking into account the feedback of the existing OCaml community is that this community of users has built tools and systems and libraries, written books and resources. (And I expect new resources to be written for reason)  I think it would be very nice if those resources could be shared between people using the reason syntax, and people using the regular OCaml one. That is, I would really like the syntax of one flavor makes code, blogs or books being still understandable at first blush by the users of the other flavor (Otherwise, there is a risk of a split between the resources used by the two communities, and a risk of people having to make a choice between writing resources in one flavor or the other.)

These are all great points. I will make an announcement on the mailing list. I've merely got some non-reason related things to take care of for about one week, then I'll get back to preparing a note.

Done!


Add ouroboros to the awesome-docker list

Added ouroboros to the CI/CD section of the this, just underneath a similar application(watchtower)
Ouroboros has:

A comprehensive wiki
1K+ Stars
10 contributors
143M docker pulls

Quality Standards
Note that we can help you achieve those standards, just try your best and be brave.
We'll guide you to the best of our abilities.
To be on the list, it would be nice if entries adhere to these quality standards:

It should take less than 20 sec to find what is the project, how to install it and how to use it.
Generally useful to the community.
A project on GitHub with a well documented README.md file and plenty of examples is considered high quality.
Clearly stating if an entry is related to (Linux) containers and not to Docker. There is an awesome list for that.
Clearly stating "what is it" i.e. which category it belongs to.
Clearly stating "what is it for" i.e. mention a real problem it solves (even a small one). Make it clear for the next person.
If it is a WIP (work in progress, not safe for production), please mention it. (Remember the time before Docker 1.0 ? ;-) )
Always put the link to the GitHub project instead of the website!

To be on the list, the project must have:

How to setup/install the project
How to use the project (examples)

If your PR is not merged, we will tell you why so that you may be able to improve it.
But usually, we are pretty relaxed people, so just come and say hi, we'll figure something out together.
Rules for Pull Request

Each item should be limited to one link, no duplicates, no redirection (careful with http vs https!)
The link should be the name of the package or project or website
Description should be clear and concise (read it out loud to be sure)
Description should follow the link, on the same line
Entries are listed alphabetically, please respect the order
If you want to add more than one link, please don't do all PR on the exact same line, it usually results in conflicts and your PR cannot be automatically merged...

Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries.
Your commit message will be a tweet so write a good commit message, keep that in mind :)

@agebhar1 Sorry about that. It's been resolved.

Thank you @circa10a :smiley:


Basket middleware active in Django admin

When loading Django admin, the basket middleware failed (below; worthy of a separate less critical issue).  It should detect Django admin and not do anything.
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/basket/middleware.py", line 41, in load_full_basket
    self.apply_offers_to_basket(request, basket)
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/basket/middleware.py", line 207, in apply_offers_to_basket
    Applicator().apply(basket, request.user, request)
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/offer/applicator.py", line 24, in apply
    self.apply_offers(basket, offers)
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/offer/applicator.py", line 34, in apply_offers
    result = offer.apply_benefit(basket)
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/offer/abstract_models.py", line 293, in apply_benefit
    if not self.is_condition_satisfied(basket):
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/offer/abstract_models.py", line 281, in is_condition_satisfied
    return self.condition.proxy().is_satisfied(self, basket)
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/offer/abstract_models.py", line 48, in proxy
    klass = load_proxy(self.proxy_class)
  File "/home/jayvdb/.cache/pypoetry/virtualenvs/django-backend-tUiU8616-py3.8/src/django-oscar/src/oscar/apps/offer/utils.py", line 29, in load_proxy
    raise exceptions.ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Error importing module oscarbluelight.offer.conditions: No module named 'oscarbluelight'

Why?

What reason should the Django admin ever be showing info about the current basket of the logged in user?   That is not its purpose.
If you insist that basket middleware should be active under the Django admin, it should at least never ever raise an exception which breaks the Django admin.  I needed to delete a record in order to fix the problem, and this middleware problem prevents me from doing that.

@jayvdb I think there's a legitimate argument for disabling the middleware for the django admin, which we can give some thought to.
However, the exception you have posted doesn't appear to originate from Oscar core. oscarbluelight is not a core Oscar package, and there is nothing in this code base that would attempt to import it. So the exception seems to be an issue with oscarbluelight, or with your project setup, rather than with Oscar's middleware.

As I said already, I know the issue about oscarbluelight is separate.   I did not ask for help with that, and dont expect Oscar to do voodoo.  I'll provide a more specific issue about that later when I've better understood it, and thought about what Oscar might do better in that situation, if anything.
This issue is about enhancing Oscar to fix a problem clearly in Oscar's domain.  Middleware and context processors need to be written conservatively, not throwing exceptions on every single page, and most certainly never breaking the Django admin front page.

Looking at this more closely it seems the underlying issue is that there is a reference to a proxy benefit/condition class that no longer exists. Oscar could probably handle that more gracefully - i.e., log the error and return no benefit/condition instead of throwing an exception. Can you confirm that that is what happened?
As regards your other comments, I would request that you try to be a little more measured in the tone of your statements. Statements like "As I said already", "if you insist that...", "don't expect Oscar to do voodoo..." and "most certainly never breaking the Django admin front page" come across as somewhat aggressive/impatient, and are not going to encourage discussion. Everyone that contributes to this project does so in their spare time, and is more likely to engage if the tone is respectable.
In this particular case I would note that Oscar explicitly declares that it does not officially support the Django admin - so it doesn't actually provide any guarantee that the admin will be functional. I am not saying that that is ideal (especially since some things cannot be done from the dashboard) - but it's where we are - and we can discuss how to improve things without making blanket statements that leave no room for debate.

Can you confirm that that is what happened?

That is about a different issue.  Why can't you let me raise it separately?  There is more than enough to chew on here wrt to Django admin, and the Django admin aspect is very important to me.  The spark which caused this issue is very low priority, and it is only one spark -- there are many others which could have caused this problem with Django admin, so the spark is irrelevant here except as context to show the types of causes of this problem.

... come across as somewhat aggressive/impatient, and are not going to encourage discussion. Everyone that contributes to this project does so in their spare time, and is more likely to engage if the tone is respectable.

You should look at the tone of the replies I got here to a legitimate issue.  And this is not the first time either, not to me, and I see it regularly in other issues by other people.  From the issues I have read, it seems common for the main people responding to issues here to be antagonistic, dismissive and baiting.  It may be their "spare time" - it is also typically the spare time of the people who are raising the issues, and their experience and input should be valued as much, if not more, than the maintainers, because it is users experiences that help a OSS project grow, and happy users turn into new members of the support team if cultivated properly, reducing the stress on the maintainers/core devs.  That could be me, even helping with bug fixes, but so far the responses from the maintainers makes me pause about even using Oscar again for another project, which is a shame because it is fairly well designed, but it is awkward listing issues in the docs my manager sees because I am hoping he doesnt read them for fear it will alarm him about its long term support viability.

In this particular case I would note that Oscar explicitly declares that it does not officially support the Django admin - so it doesn't actually provide any guarantee that the admin will be functional.

Explicitly?  Would you mind pointing that out; I havent seen that.
So what parts of Django does Oscar consider it appropriate to interoperate with Django core features?
If Oscar does not consider it appropriate to interoperate with certain Django features then it should include a disclaimer about that very prominently, and sadly I have missed it.  Some apps do that - they very clearly frame Django as part of their app - a low level component, rather than their app sitting on top of Django or being designed for Django.  They expect the implementer to install Django only following their process, no more, no less.  That is a legitimate approach.  I didnt get that feeling from the Oscar docs, excepting that it was clear that Oscar was (sanely) allowing only a limited support matrix of versions for dependencies, which is a fairly typical approach for larger apps and were the target market is a more professional segment.
Side issue: Whether 'admin' is 'core' or 'contrib' Django is debatable these days - it can be disabled, but it is heavily baked into the docs as a prominent and important component.

Why can't you let me raise it separately?

I'm not preventing you raising it separately - please do that.
The point I was trying to make (and perhaps where we disagree) is that I am not convinced Oscar's middleware should be responsible for catching all possible exceptions just in case it results in a 500 (and therefore that the underlying issue is what needs to be addressed).

You should look at the tone of the replies I got here to a legitimate issue. And this is not the first time either, not to me, and I see it regularly in other issues by other people.

I agree that the tone here hasn't always been great - and I'm sorry you've experienced that. We're try to improve that for everyone, and call it out when it needs to be. That is not, however, reasonable justification to use the same tone yourself.

Explicitly? Would you mind pointing that out; I haven't seen that.

See here and here. This could probably be stated more visibly somewhere as you say.

So what parts of Django does Oscar consider it appropriate to interoperate with Django core features?

I don't think Oscar has a clear definition on this, which is part of the problem. The admin is specifically excluded because the dashboard is intended to be a replacement for it.

https://django-oscar.readthedocs.io/en/latest/internals/getting_started.html#urls

You can also include the Django admin for debugging purposes. But please note that Oscar makes no attempts at having that be a workable interface; admin integration exists to ease the life of developers.

https://django-oscar.readthedocs.io/en/latest/internals/contributing/bugs-and-features.html#reporting-bugs-and-requesting-features

Be aware that Windows and the Django admin interface are unsupported; any tickets regarding that will get closed.

Oscar team appreciates that developers need Django admin (and I bet they use it themselves), but refuse to accept problem reports (from 'other' people) about it not working.  ergo, Oscar is unfriendly to outside developers...?
https://github.com/django-oscar/django-oscar/blob/master/.github/CONTRIBUTING.md sounds so much more welcoming.
I find the anti-developer tone alarming.  Oscar needs more active developers.  It has a solid core, but so many parts of the ecosystem are bitrotten (support 0.x or 1.x) or not implemented yet.  And Oscar isnt an app that can be used without a developer getting their fingers dirty, unless the ecommerce site is only selling free stuff.  Really dirty at times.  And that is fine.  But it needs developers.  And developers have developer needs.
I think it would be better to frame Django admin as a valid developer and sys admin tool, like many others (debug toolbar, etc), and that issues related to interoperability with non-production tools will be labelled/treated as low priority unless it is blocking many active developers.  Then developers can expect to get no assistance in fixing them (I dont), but they can raise them and they can expect their interoperability PRs will be welcomed and appreciated, but may not be reviewed & merged quickly as they are low-priority.  After all, devs should be able to carry around their own patches, so they don't need quick merges.  But they are not going to write an issue or a patch if it will be discarded.
Can Oscar team see that would be more welcoming?
Does it need further conditions in order to not hurt their productivity / abuse their spare time ?

I find the anti-developer tone alarming.

Agreed. The wording here is not welcoming and needs to change. I've only been involved with Oscar for the last year or so, so can't speak to why it was written the way it was - but let's improve it now.
The decision not to support the Django admin is definitely one that needs to be reviewed, and you're right that it's not really possible to administer an Oscar site without relying on the admin for some things.

Oscar needs more active developers.

Absolutely.

Can Oscar team see that would be more welcoming?

Agreed (I speak for myself here).
I think there are three separate issues coming out of this

Support for django admin (maybe best discussed on a new issue).
Basket middleware handling of exceptions and whether it should run for admin views (this ticket).
Handling of missing proxy classes for offers (worth a new issue after confirming that this was the spark for this ticket).

Dear @jayvdb thank you for reporting this issue. Let me rephrase my initial question.
Because the reported error does not immediately seem related to the proposed changes, we need some more explanation.
Why is disabling the basket middleware for the django admin a proper solution for this kind of error? This is not at all obvious to me sorry. That a middleware is totally useless in a certain context, does not immediately entail that code should written to disable it. Maybe you just discovered an interesting error that has a solution which solves an edge case.
In any case there was no explanation in your issue on why the basket middleware should be disabled for the admin, so I asked for more information. No need to get all defensive, just add the information requested so it can be discussed!

@specialunderwear , thank you for taking the time to explain why my initial issue didnt seem obvious to you.  That is much easier to reply to than a mere Why?.  I assumed that the target audience of my issue understood principles of Django middleware, and also understood that Oscar basket middleware breaking an unrelated part of a Django site, especially Django Admin, is highly unexpected behaviour for middleware, which should be coded defensively, and they should almost never raise exceptions unless DEBUG is enabled.  Each middleware should only help were it can, and only take decisive action if it is confident that it needs to.  Otherwise the middleware should defer, so that the remainder of the hooks can have their turn.  These defensive programming principles are exhibited throughout the middleware in Django contrib, and usually in externally maintained installable apps.
I had assumed Oscar sees itself as a cooperating part of a broader Django ecosystem, but maybe I was wrong and it sees itself as an implementable e-commerce software that Django is merely a component of.  In the former case, standard principles of Django middleware should apply, and best efforts should be taken to avoid raising exceptions.  In the latter case, Oscar can do whatever it feels is best in light of the set of other middleware it supports.
My mentioning of Django Admin obviously hit a nerve or two, but the middleware can also break Oscar Dashboard.  The backtrace is the same - the implications of exceptions in middleware are wide.
But anyway, the above discussion with @solarissmoke suggests that Django Admin might be reconsidered as a useful component for Oscar implementations.  How far Oscar should 'support' Django-Admin is a word-smithing exercise, and but IMO it would be an important community improvement if issues mentioning Django Admin were not dismissed immediately.  Do you agree @specialunderwear ?

Why is disabling the basket middleware for the django admin a proper solution for this kind of error?

Disabling the basket middleware is IMO the proper solution for every kind of error on the Django admin, and Oscar Dashboard for that matter, etc, where the user basket is not relevant.  The middleware should add what it can, including adding errors to the context which are then available for the oscar apps to use appropriately.  Or middleware should raise exceptions only if it knows it has understood the request and knows it needs to be short-circuited, preventing the request/response from reaching any other of the middleware that is active on the site.
You can disagree with that, and Oscar can even have an official position about that to avoid endless discussions about the pros/cons of it, which goes back to the question of how Oscar sees 'itself'.

Having given this some thought, and my suggestion is that we allow short-circuiting the middleware for certain path prefixes ((see sample implementation here)[https://github.com/mozilla/django-csp/blob/master/csp/middleware.py#L52-L55]). Projects can then exclude whatever they want to - including the Django admin and possibly also the dashboard - this would actually result in a significant performance improvement for the dashboard.

Yeah, or similar how csrf_exempt implemented in Django - https://github.com/django/django/blob/f283ffaa84ef0a558eb466b8fc3fae7e6fbb547c/django/middleware/csrf.py#L211-L212.
The implementation would include:

Decorator which would add property to the view class/function - is_basket_disabled = True.
Allow to manually set the above property for the view class.
Skip further basket middleware execution if callback.is_basket_disabled is True.

WTYD @solarissmoke ?

That's an interesting approach, and works better than path-based filtering I think! Would need to find a way to cleanly apply it to all dashboard views.

Probably it is better to use is_basket_enabled (instead of is_basket_disabled) and "add basket" only where needed (instead of "remove basket" from where we do not need it - e.g in Dashboard and Django Admin).


Activating extension 'robconery.pg-chat' failed:

I'm not sure if this is the place to put this but I was trying this but I keep getting an error that says my agent isn't activated

I get this error stack
Activating extension 'robconery.pg-chat' failed: Cannot find module 'pg-promise' Require stack: - c:\Users\FelipeSchneider\POCs\OSS\vscode-postgres\copilot-pg\lib\db.js - c:\Users\FelipeSchneider\POCs\OSS\vscode-postgres\copilot-pg\lib\pg.js - c:\Users\FelipeSchneider\POCs\OSS\vscode-postgres\copilot-pg\extension.js - c:\Users\FelipeSchneider\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\loader.js - c:\Users\FelipeSchneider\AppData\Local\Programs\Microsoft VS Code\resources\app\out\bootstrap-amd.js - c:\Users\FelipeSchneider\AppData\Local\Programs\Microsoft VS Code\resources\app\out\bootstrap-fork.js.

I'm on the newest version:
Version: 1.91.1 (user setup)
Commit: f1e16e1e6214d7c44d078b1f0607b2388f29d729
Date: 2024-07-09T22:06:49.809Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.22631
And this is my node version:

PS C:\book\vscode-postgres\copilot-pg> node -v
v18.18.1

I moved to a shorter folder too but keep getting this error:

Activating extension 'robconery.pg-chat' failed: Cannot read properties of undefined (reading '0').

on the debug windows I get this errors:

(node:24724) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use Code --trace-deprecation ... to show where the warning was created)
extensionHostProcess.js:148
Overlapping flush calls detected. Please wait for the previous flush to finish before calling .flush again

Hmm. I'm on a Mac and I assume the builds are the same - mine is 1.92.0. It's super hard to debug these things but I'll have a go later today to add more debug statements. They don't seem to be showing up very often.

I remove all the node_modules and installed all with YARN instead of NPM. Now the problems seem something different :'(

Activating extension 'robconery.pg-chat' failed: Cannot read properties of undefined (reading '0').


docs deploy-intro, updated link to github

(EDITED 6/6/18 by @zacharysarah to include issue links)
fixes #8658
fixes #8659
fixes #8678
fixes #8720

@juanpabloaj Please sign the CLA in order to continue.

@tengqm That's a possible solution, but it seems like the scope of a different PR.

I'm willing to approve this PR once the CLA has been signed.

/lgtm

Looks like this PR has become empty after the back merge?

This PR seems to have been an umbrella PR. I'm going to close it for now.
@juanpabloaj Please feel free to re-open if there are other changes that you'd like to make here.


Please add requirements and recommended resources needed for installation

It would be useful to know what the current hardware requirements are for an ideal vs. minimal setup to the README:

Host: Self-hosted VM OK ? Bare-metal (Pi) ? Cloud-hosted VM OK ?
Operating system (Debian GNU/Linux), CPU, memory, storage (size, including projected needs)
Networking (including bandwidth requirements)
Any domain names / SSL certificates if applicable

I've started extracting some of this information from the existing text in the README to make it into a new section.

See PR #41 comments for information on requirements.


Modal not closing

Hi, good day to you!
I was looking at refills' website and its components (http://refills.bourbon.io/components/)
The modal is not closing when clicking on close icon (only clicking outside the modal)
just that.
Cheers

+1, just noticed this today.

There seems to be a race condition, as when putting a timeout on this code, the modal closes:

+1 This causes pretty major issues on mobile (Android Chrome for me) as you can't click outside the modal to dismiss... have to reload page or navigate away :o(

I was able to fix it by simply removing .modal-close from the .on("click") statement cited above.
Since .modal-close is a label for the checkbox, clicking .modal-close triggers $("#modal-1").on("change") without any further action, if I'm correct.

@Zurc @jme783 @parker0phil @lperiodbose this should be fixed by changing

to

I'm updating it on the site now.

:+1: thanks for checking this out