Daemon server or user apps?  confused.

This page is redirected to from pages that talk about services and daemons like this.   It introduces that in the first two paragraphs.
By the time is gets to this section, I'm getting lost because it starts discussing apps and users.  In a server to server app, I don't have a user or "app and it makes it really hard to understand what to do.
I'd recommend you split out the scenarios and make a clear distinction on each scenario that can use Client Credentials flow.

a client credentials flow for user apps and include all the stuff about presenting consent options.
a server app that needs credentials to contact another server (rest/webapi?) plus useful information about claims, roles, etc that can be carried in the token on behalf of the requesting server and used by the resource server.

Having these two mixed together is pretty confusing IMHO.
Hope this helps.
Mark.

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

ID: e9e02a6a-cd93-700d-0073-cca2f6166d67
Version Independent ID: 215511e6-6599-4aac-5592-635640a635cb
Content: OAuth 2.0 client credentials flow on the Microsoft identity platform
Content Source: articles/active-directory/develop/v2-oauth2-client-creds-grant-flow.md
Service: active-directory
Sub-service: develop
GitHub Login: @hpsin
Microsoft Alias: hirsin

@MarkAtAgilliance
Thanks for your feedback! We will investigate and update as appropriate.

@MarkAtAgilliance - would it help if we renamed it from "sign the user in" to "sign the admin in"? The admin is required to grant the app-only permission.  We can certainly make the divide much more significant and simply eliminate the consent section, saying "go look at the consent page to figure out how to get consent for your app".

Thanks for getting back so quickly.
I don't know if I can advise one way or another - I am new to OAuth (hence learning through these docs).  the good/bad thing about auth protocols is that they are so flexible that you have to deal with many scenarios.  In that case, let me explain mine and see if it helps.
I have an external service (from SendGrid) which has a webhook.  This webhook sends me details about email sending.  It is able to use client credentials flow to authenticate the request.  I need to provide it a Client ID, a Client Secret, an auth endpoint and the address of the webapi.  All this is straight forward.
I have a netcore WebApi that has a controller and I wiull use the [Authorize] attribute.  I will also use the startup plumbing that enables authentication and authorization in startup.cs.  All good so far.
I came to this doc to see how I need to set up AD to register the service application, generate a client secret and discover the endpoints so I can set up the SendGrid webhook on their side.
What I would expect the advice to be is:

Create an app registration in the portal.
Set up a reply address (the same one as the webapi configured in SendGrid).
Discover the endpoints from the portal and pick the right one.
note down the Client ID
Create a client secret for this client ID.
Activate any consents that the app needs through the portal.

With this in hand, I have the information I need to register in SendGrid.  I also have the information I need to configure the WebAPI.
In the above scenario, apart from signing into the azure portal, I don't see any other sign-ins needed other than when SendGrid requests a token using the client ID and secret.  I also don't see any consent process other than the one in the portal.  Hence my confusion when I read the above doc about user consent UI.
So I wonder if the answer is to split the scenarios from an app which has an admin and a user and one where there is just an admin and a server daemon/app and no user.  There may be other scenarios of course - I am not familiar wnough to know those yet.
Hope this helps.
Regards,
MArk.

#please-close - this is fixed in the merged PR, updates should be live tomorrow.  Thank you Mark for your help!


Fix GUI not updating

Updated CommandResult

Now has enum CommandType
Constructor changed to take in CommandType
Updated relevant test cases

Updated MainWindow

Every command now updates their respective lists

listC, listP, listI
findC, findP, findI
CANDIDATE commands update candidate and interview lists
POSITION commands update candidate and positions lists
INTERVIEW commands update candidate and interview lists

Fix AssignCommand

Update such that execute adds assignedInterview object to the candidate object

Remove irrelevant EditDescriptor from AssignInterview and EditInterview

Codecov Report

Merging #232 (14d612c) into master (762db97) will decrease coverage by 0.91%.
The diff coverage is 42.66%.

@@             Coverage Diff              @@
##             master     #232      +/-   ##
============================================
- Coverage     80.29%   79.37%   -0.92%
+ Complexity     1005      994      -11
============================================
  Files           119      119
  Lines          2989     2987       -2
  Branches        417      403      -14
============================================
- Hits           2400     2371      -29
- Misses          469      500      +31
+ Partials        120      116       -4

Impacted Files
Coverage Δ

.../address/logic/candidate/EditCandidateCommand.java
87.37% <ø> (-3.89%)
:arrow_down:

.../address/logic/candidate/FindCandidateCommand.java
100.00% <ø> (ø)

.../address/logic/interview/EditInterviewCommand.java
95.41% <ø> (ø)

.../address/logic/interview/FindInterviewCommand.java
100.00% <ø> (ø)

...ress/logic/interview/UnassignInterviewCommand.java
92.00% <ø> (-0.31%)
:arrow_down:

...du/address/logic/position/EditPositionCommand.java
93.10% <ø> (-0.55%)
:arrow_down:

...du/address/logic/position/FindPositionCommand.java
100.00% <ø> (ø)

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

...c/main/java/seedu/address/logic/CommandResult.java
96.29% <94.73%> (+10.58%)
:arrow_up:

...u/address/logic/candidate/AddCandidateCommand.java
100.00% <100.00%> (ø)

... and 15 more

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 762db97...14d612c. Read the comment docs.


Is it possible to use file:// URL without "index.html"?

I want to use file:// URL and currently this is what I'm doing:
import { env } from 'jsdom'

env({
  file: 'index.html',
  done(err, win) {
    ...
  }
})

This works but it requires to have an actual index.html.
Is it possible to make it work without the actual file?
I've created global-test-harness which I don't want the consuming code to create a dummy index.html for this purpose.
Thanks.

Try this:
jsdom.env({
  html: `<div class="foo">hello world</div>`,
  url: 'file:///foo/bar',
  done(err, win) {
    ...
  }
})

In this example the html property is what ends up as being unserialized into DOM. And the url property is only used for things like location.href, resolving, relative urls, cross origin checks, etc.

Thanks.
It error with ENOENT: no cush file or directory, open 'file:///foo/bar'

Thanks.
That behaves differently and breaking some tests.
I use systemjs inside jsdom to load the files, and with this setting, it errors with: ENOENT: no such file or directory, open '/foo/fixtures/...'
What happens is when url: file:///foo/var is specified, systemjs resolves to do xhrFetch with url file:///foo/<file path>.
When using file: 'index.html', systemjs call xhrFetch with url: file::///Users/..../global-test-harness/<file path>. i.e. it resolves to the absolute path.

So the solution is:
env({
  html: '

'
  url: `file:///${process.cwd()}/`
  ...
})

Thanks!


chore(firestore-bigquery-export): update change-tracker version

Closing, updated as part of the latest release.


Newline support for fonts

This adds newline support in for Canvas.print(). A default spacing of fontHeight / 4 has been set. The user should probably be able to customize this at some point.

It should be ready for merging.

It should now be ready for merging.

All looks good! I remembered as I was merging this that it is recommended that you add your name/email/whatever to the AUTHORS.md file, as a record of your contribution! Feel free to submit an additional PR for that, or directly message me what you'd like :)


Added Toms ase

Toms tutorial 13 @JacekDziedzic

Thanks for doing that, Brad!
In the future make sure not to add "cruft" files to your pull requests. I will remove this manually this time, but it would be best just not to add them.


Add Github Profile Picture #16

This PR resolves #16
Github Profile Picture is added next to Github Username. Added responsiveness for small size.

@all-contributors please add @superneutrino8 for code


handle contracts pagination

Description

The contract list can't load a large amount of contracts.

Changes

Handled pagination in contracts page.

Related Issues

https://github.com/threefoldtech/tfgrid-sdk-ts/issues/2125

Documentation PR
For UI changes, Please provide the Documetation PR on info_grid
Screencast from 05-19-2024 12:12:23 PM.webm
Checklist

[ ] Tests included
[ ] Build pass
[ ] Documentation
[ ] Code format and docstrings
[ ] Screenshots/Video attached (needed for UI changes)

Instead of using a reference for loading and counting maybe we can create an object that holds all of these fields inside


[MXNET-1178] updating scala docs

Description
Refreshed some of the scala docs which had become obsolete, as specified in this JIRA item : https://issues.apache.org/jira/browse/MXNET-1178
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)

@andrewfayres @zachgk @lanking520

@mxnet-label-bot add [Scala, Doc, pr-awaiting-review]


fix: fix type infer in assignstmt

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y fix #1404

2. What is the scope of this PR (e.g. component or file name):
kclvm/sema/src/resolver/scope.rs

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):
rename set_type_to_scope -> set_infer_type_to_scope
use annotation type as assign stmt target type if exist

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[x] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

20 of 30 (66.67%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 71.107%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

kclvm/sema/src/resolver/node.rs
1
2
50.0%

kclvm/sema/src/resolver/loop.rs
7
10
70.0%

kclvm/sema/src/resolver/scope.rs
12
18
66.67%

Files with Coverage Reduction
New Missed Lines
%

kclvm/sema/src/ty/unify.rs
1
97.81%

Totals

Change from base Build<PHONE_NUMBER>:
-0.003%

Covered Lines:
55081

Relevant Lines:
77462

💛  - Coveralls


Improve form documentation

Improvements to the Form documentation based on my understanding and looking at source code. These very small tweaks would've helped me today.
Contributor checklist

[x] Bug fixes include regression tests
[x] Features include unit/acceptance tests

:rocket: Thank you for your contribution! 🚀


Essentia smelter parallel

Addresses #14214
Perfect OC made parallels pointless unless you're processing items at <1 tick, which only happens at UV+ for 1 aspect items.
This replaces perfect OC with proper parallel, up to 64 as per the Thaumonomicon, with imperfect OC applying after.

I would like to see some number comparisons between old and new at various parallels and tiers before this is approved, up to say UHV/UEV. While this PR looks better than the last one I am wary that making parallels cost extra EU and removing perfect OC will take a lot of the scaling power that LES had away, and we may want to lower base recipe time to compensate.


New feature:Option to find the latest version for each package

I am currently using pip compile to pin my requirements. But because some packages might be pinned by other packages or some inter dependencies I don't always get the latest available version for every package. I would like an easy way to find the latest version for every package I use and thought that this feature might fit into pip-tools.
Currently I see the following options on how to add this feature to piptools:

A new command the finds the latest version for every package and writes them to a file/stdout
Add a new option to pip compile to do 1.
Add a new option to pip compile that adds the latest version as an annotation.

Do you think this would be a good addition to pip-tools? If yes I would be willing to implement it myself.

Hello @PhilippSontag,
You can simply find the latest version for each package in a file by this bash one-liner:
$ cat packages.txt
six
pytz
django
flask
uwsgi
django-rest-framework

$ cat packages.txt | while read line; do echo "$line" | pip-compile - -qo- | grep "$line=="; done
six==1.12.0
pytz==2019.1
django==2.2.3
flask==1.1.1
uwsgi==2.0.18
django-rest-framework==0.1.0

@PhilippSontag
I think it's a good idea for a tool outside of pip-compile. Seriously. There is no tool that provide you latest version (or a list of recent versions) for a certain package.

Hey @atugushev thank you for your answer.

I think it's a good idea for a tool outside of pip-compile. Seriously. There is no tool that provides latest version (or a list of recent versions) for a certain package.

With outside do you mean outside of pip-tools, so a separate package or do you mean a separate script inside the pip-tools package?

@PhilippSontag sorry, i mean of pip-tools.

What's desired here that's not provided by
pip-compile --no-header -U

and
pip list -o

?

@PhilippSontag
Is the above satisfactory?

Yes, sorry for the late response.

Just wanted to say that it would also be great if this were built into pip-tools. What I want specifically is a way to list only my outdated requirements that are listed in requirements.in.
This script: cat packages.txt | while read line; do echo "$line" | pip-compile - -qo- | grep "$line=="; done
Doesn't actually work for that, because it only works for packages that aren't pinned to a specific version. I could obviously figure out how to modify that bash script to do this, but it seems like this is something that would benefit everyone if it were just built into pip-tools.


[BUG] Filter does not work when using encoded whitespaces

Describe the bug
When you are filtering using special characters, according to the documentation, you need to encode your filters. When encoding, if you encode everything, and if there are whitespaces in your tags that you are searching for, it will encode as well. So, using the Search explorer the queries below work, but using the SDK the second query does not work with the SDK.
Query 1: Tags/any(t: search.in(t, 'Paid Tours %26 Additional Products',','))
Query 2: Tags/any(t: search.in(t, 'Paid Tours%20%26%20Additional%20Products',','))
To Reproduce
Steps to reproduce the behavior:

Execute both queries using the Search Explorer in the Azure Portal
Execute both queries using the SDK

Expected behavior
Both queries should work on the SDK as it works nowadays in the Search Explorer.
Setup (please complete the following information):

Version of the Library used: 10.1.0

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ x ] Bug Description Added
[ x ] Repro Steps Added
[ x ] Setup information Added

@brjohnstmsft could you take a look?

@hugobarona The .NET SDK URL-encodes parameters for you, so you don't have to. Search Explorer just calls the REST API directly, which is why some characters need to be encoded.
For now it's not going to be possible to just paste strings from Search Explorer directly into code that uses the SDK. Going forward, a better approach would be if the portal itself could provide code snippets in C#, Java, F#, etc. (or other languages, once other SDKs for those languages are available). I've created an item on User Voice to track this -- please vote for it to help us prioritize.

@brjohnstmsft thank you for the clarification. For some reason, yesterday i was trying to execute queries using the SDK and special characters and it was failing, complaining about the & character. So that's why i encoded the filter query in order to be able to run the query. But then i realized that encoding the whitespace does not work. This morning i just commented the encoding and the unit tests are working, so i will keep without encoding the queries in the SDK. Thank you.


Booting linux panic on Arty A7-100T 【uart and irq error】

With booting Linux on rocket, i get the following error:
[    0.078624] chip_bus_sync_unlock: irq_bus_sync_unlock not set for irq 11
[    0.078691] desc->handle_irq: ffffffff8032c36c    (null)
[    0.078744] chip_bus_sync_unlock: irq_bus_sync_unlock not set for irq 11
[    0.078828] riscv-plic c000000.interrupt-controller: mapped 8 interrupts with 1 handlers for 2 contexts.
[    0.079086] LiteX SoC Controller driver initialized
[    0.109675] desc->handle_irq: ffffffff80061298    (null)
[    0.109769] chip_bus_sync_unlock: irq_bus_sync_unlock not set for irq 12
[    0.109924] 12004000.serial: ttyLXU0 at MMIO 0x0 (irq = 12, base_baud = 0) is a liteuart
[    0.110000] printk: legacy console [liteuart0] enabled
[    0.110000] printk: legacy console [liteuart0] enabled
[    0.110098] printk: legacy bootconsole [liteuart0] disabled
[    0.110098] printk: legacy bootconsole [liteuart0] disabled
[    0.112242] loop: module loaded
[    0.117337] desc->handle_irq: ffffffff80061298    (null)
[    0.117382] chip_bus_sync_unlock: irq_bus_sync_unlock not set for irq 13
[    0.117618] liteeth 12001000.mac eth0: irq 13 slots: tx 2 rx 2 size 2048
[    0.117858] NET: Registered PF_INET6 protocol family
[    0.118372] Segment Routing with IPv6
[    0.118425] In-situ OAM (IOAM) with IPv6
[    0.118480] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    0.118750] NET: Registered PF_PACKET protocol family
[    0.122773] clk: Disabling unused clocks
[    0.122819] **Warning: unable to open an initial console.**
[    0.124237] Freeing unused kernel image (initmem) memory: 2868K
[    0.124293] Run /init as init process
[    0.124324]   with arguments:
[    0.124353]     /init
[    0.124376]   with environment:
[    0.124407]     HOME=/
[    0.124431]     TERM=linux
[    0.124457]     ip=<IP_ADDRESS>:<IP_ADDRESS>:<IP_ADDRESS>:<IP_ADDRESS>::eth0:off:::
[    0.129896] plic_handlers: 1fb7d0
[    0.129921] plic_handlers: 1fb7f0
[    0.421657] **irq 12: nobody cared (try booting with the "irqpoll" option)**
[    0.421714] CPU: 0 PID: 55 Comm: init Not tainted 6.9.0 #77
[    0.421770] Call Trace:
[    0.421794] [<ffffffff80004ff6>] dump_backtrace+0x1c/0x24
[    0.421848] [<ffffffff805097e0>] show_stack+0x2c/0x38
[    0.421898] [<ffffffff80511650>] dump_stack_lvl+0x50/0x72
[    0.421952] [<ffffffff80511686>] dump_stack+0x14/0x1c
[    0.422002] [<ffffffff8050a722>] __report_bad_irq+0x3e/0xae
[    0.422058] [<ffffffff800603ae>] note_interrupt+0x21e/0x268
[    0.422114] [<ffffffff8005d372>] handle_irq_event+0xbe/0xca
[    0.422169] [<ffffffff80061336>] handle_fasteoi_irq+0x9e/0x242
[    0.422227] [<ffffffff8005c264>] generic_handle_domain_irq+0x1c/0x2a
[    0.422291] [<ffffffff8032c3fa>] plic_handle_irq+0x8e/0x10c
[    0.422346] [<ffffffff8005c264>] generic_handle_domain_irq+0x1c/0x2a
[    0.422410] [<ffffffff8032a15e>] riscv_intc_irq+0x26/0x60
[    0.422463] [<ffffffff805116ec>] handle_riscv_irq+0x4a/0x74
[    0.422519] [<ffffffff80519dea>] call_on_irq_stack+0x32/0x40
[    0.422576] handlers:
[    0.422598] [<(____ptrval____)>] liteuart_interrupt
[    0.422647] Disabling IRQ #12
[    0.422676] plic_handlers: 3dd0
[    0.422766] genirq: chip_bus_sync_unlock: irq_bus_sync_unlock not set for irq 12
```�

1. **Warning: unable to open an initial console.** shows there is no console initialed correctly.
2. **irq 12: nobody cared (try booting with the "irqpoll" option)** irq 12 nobody cared.

As https://github.com/enjoy-digital/litex/issues/1976#issuecomment-2143256295 mentioned,
I used `litex-json2dts-linux` to generate my dts file as follows (on Arty A7-100T board):

/dts-v1/;
/ {
#address-cells = <1>;
#size-cells    = <1>;
    chosen {
        bootargs = "console=liteuart earlycon=liteuart,0x12004000 swiotlb=noforce rootwait root=/dev/ram0 ip=<IP_ADDRESS>:<IP_ADDRESS>:<IP_ADDRESS>:<IP_ADDRESS>::eth0:off::: irqpoll";
        linux,initrd-start = <0x81000000>;
        linux,initrd-end   = <0x81800000>;
    };

    sys_clk: pll {
        compatible = "fixed-clock";
        #clock-cells = <0>;
        clock-frequency  = <50000000>;
    };

    cpus {
        #address-cells = <1>;
        #size-cells    = <0>;
        timebase-frequency = <50000000>;

        CPU0: cpu@0 {
            device_type = "cpu";
            compatible = "riscv";
            riscv,isa = "rv64i2p0_mafdc";
            riscv,isa-base = "rv64i";
            riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicsr", "zifencei", "zihpm";
            mmu-type = "riscv,sv39";
            reg = <0>;
            clock-frequency = <50000000>;
            status = "okay";

            d-cache-size = <16384>;
            d-cache-sets = <64>;
            d-cache-block-size = <64>;

            i-cache-size = <16384>;
            i-cache-sets = <64>;
            i-cache-block-size = <64>;

            d-tlb-size = <32>;
            d-tlb-sets = <1>;

            i-tlb-size = <32>;
            i-tlb-sets = <1>;

            hardware-exec-breakpoint-count = <1>;
            next-level-cache = <&memory>;
            riscv,pmpgranularity = <4>;
            riscv,pmpregions = <8>;
            tlb-split;

            L0: interrupt-controller {
                #address-cells = <0>;
                #interrupt-cells = <0x00000001>;
                interrupt-controller;
                compatible = "riscv,cpu-intc";
            };
        };

    };

    memory: memory@80000000 {
        device_type = "memory";
        reg = <0x80000000 0x10000000>;
    };

    reserved-memory {
        #address-cells = <1>;
        #size-cells    = <1>;
        ranges;

        opensbi@80000000 {
            reg = <0x80000000 0x200000>;
        };

    };

    soc {
        #address-cells = <1>;
        #size-cells    = <1>;
        compatible = "simple-bus";
        interrupt-parent = <&intc0>;
        ranges;

        soc_ctrl0: soc_controller@12000000 {
            compatible = "litex,soc-controller";
            reg = <0x12000000 0xc>;
            status = "okay";
        };

        lintc0: clint@2000000 {
            compatible = "riscv,clint0";
            interrupts-extended = <
                &L0 3 &L0 7>;
            reg = <0x2000000 0x10000>;
            reg-names = "control";
        };

        intc0: interrupt-controller@c000000 {
            compatible = "sifive,fu540-c000-plic", "sifive,plic-1.0.0";
            reg = <0xc000000 0x400000>;
            #address-cells = <0>;
            #interrupt-cells = <1>;
            interrupt-controller;
            interrupts-extended = <
                &L0 11 &L0 9>;
            riscv,ndev = <8>;

            reg-names = "control";
            riscv,max-priority = <7>;

        };

        dbg_ctl: debug-controller@0 {
            compatible = "sifive,debug-013", "riscv,debug-013";
            interrupts-extended = <
                &L0 0x3F>;
            reg = <0x0 0x1000>;
            reg-names = "control";
        };
        err_dev: error-device@3000 {
            compatible = "sifive,error0";
            reg = <0x3000 0x1000>;
        };
        ext_it: external-interrupts {
            interrupts = <1 2 3 4 5 6 7 8>;
        };
        rom: rom@10000 {
            compatible = "sifive,rom0";
            reg = <0x10000 0x10000>;
            reg-names = "mem";
        };

        **liteuart0: serial@12004000 {
            compatible = "litex,liteuart";
            reg = <0x12004000 0x100>;
            interrupts = <1>;
            interrupt-parent = <&intc0>;
            status = "okay";
        };**

        mac0: mac@12001000 {
            compatible = "litex,liteeth";
            reg = <0x12001000 0x7c>,
                  <0x12001800 0x0a>,
                  <0x30000000 0x2000>;
            reg-names = "mac", "mdio", "buffer";
            litex,rx-slots = <2>;
            litex,tx-slots = <2>;
            litex,slot-size = <2048>;
            interrupts = <3>;
            status = "okay";
        };

        leds: gpio@12002800 {
            compatible = "litex,gpio";
            reg = <0x12002800 0x4>;
            gpio-controller;
            #gpio-cells = <2>;
            litex,direction = "out";
            status = "disabled";
        };

    };

    aliases {

            serial0 = &liteuart0;

    }; };

How can i debug it ?

@gsomlo

This issue can be closes as the problem has been solved.


[Question] 3D Mask-RCNN

Hi,
I would like to ask the timeline for the Mask-RCNN addition to the project, as I read from some older questions it is planned to be added.
Thanks a lot!

I also want to ask this, as far as I know, the ROI Align gpu kernel used by Mask RCNN requires Torch 0.4 version, but nnDetetcion requires pytorch >1.10+, so I really want  to know how to migrate to the nnDetection library to use...


Conditional components still taking space

Problem
If you have a stylesheet like this and a component as seen below:
*:not(html, head, style, script) {
    display: flex;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    overflow: visible;
}

html,
body {
    background-color: #444444;
    width: 100vw;
    height: 100vh;
}

render! {
    div {
        background_color: "green",
        flex_direction: "column",
        h1 { "High-Five counter: {count}" }
        button { onclick: move |_| count += 1, "Up high!" }
        button { onclick: move |_| count -= 1, "Down low!" }
        if *count.get() > 1 {
            render! {
                div {
                    background_color: "blue",
                    "hej"
                }
            }
        }
    }
}

Then the conditionally rendered component will still take up space, as seen in the screenshot further down.
Steps To Reproduce
See description.
Expected behavior
The conditionally rendered component should not take any actual space.
A solution I currently use is this this addition to my stylesheet:
*[hidden] {
    display: none
}

This makes it so the component is not added to the view at all. Maybe this can be used as a solution, rather than having a html attribute 'hidden=""'?
Screenshots

Environment:

Dioxus version: 0.4.0
Rust version: 1.71.1
OS info: Fedora 37
App platform: web

Aha! I missunderstood how the attribute worked. Thank you for the explanation!


Can't Run Spleeter on Mac (Catalina)

Description
My installation has anaconda in my user directory and a spleeter directory at the same level. If I cd into the spleeter diretory and run the command with the python call, it finds spleeter but a new error comes: ModuleNotFoundError: No module named 'tensorflow'
Step to reproduce

Installed using  git clone https://github.com/Deezer/spleeter
conda install -c conda-forge spleeter
Run as  myself
Got ... ModuleNotFoundError: No module named 'tensorflow'

Output
python -m spleeter separate -i bad.flac -p spleeter:4stems -o output
Traceback (most recent call last):
  File "/Users/xxxx/anaconda3/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/xxxx/anaconda3/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/xxxx/spleeter/spleeter/__main__.py", line 58, in <module>
    entrypoint()
  File "/Users/xxxx/spleeter/spleeter/__main__.py", line 54, in entrypoint
    main(sys.argv)
  File "/Users/xxxx/spleeter/spleeter/__main__.py", line 36, in main
    enable_logging()
  File "/Users/xxxx/spleeter/spleeter/utils/logging.py", line 60, in enable_logging
    tf_logger = get_tensorflow_logger()
  File "/Users/xxxx/spleeter/spleeter/utils/logging.py", line 27, in get_tensorflow_logger
    from tensorflow.compat.v1 import logging

## Environment

<!-- Fill the following table -->

|                   |                                 |
| ----------------- | ------------------------------- |
| OS                MacOS
| Installation type | Conda
| RAM available     | 32 GB                          |
| Hardware spec     |2020 imac.             |

## Additional context

<!-- Add any other context about the problem here, references, cites, etc.. -->

Read requirements docs. Tensorflow 2 was insalled and it needed to be the older version so pip installed that. Then needed librosa and ffmpeg. Now I get this AttributeError: module 'ffmpeg' has no attribute '_run'

python -m spleeter separate -i bad.flac -p spleeter:4stems -o output
/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python: No module named spleeter

Any update?

Solution in #432 by @themcclure helped for me...I also was trying to run on Mac(Catalina).

There is indeed a problem with the anaconda install due to an internal dependency of tensorflow 1.15.
See more details and workaround on this thread: https://github.com/deezer/spleeter/issues/432#issuecomment-651234764

I updated the conda package.
The installation of spleeter with conda should be back to normal:
conda install -c conda-forge spleeter


Expand/Collapse on Code

Issue Type: Bug
Create a javascript file.
Add several function to the file, of about 1000 lines.
Now try to collapse some of the functions. Close the file, open it up and try to expand the functions again. On certain occasions, this is not possible.
It won't show the options. I have to open/close the file several times before this is working again.

If it still happens, the folding indicators are coming from the language server. If the js file is the only js file you have open, the language server might need a new seconds to get ready. So, even when you wait, you don't see any folding indicators?

/needsMoreInfo

I tried that, Issue persists.
I also tried to wait to no avail.

@Memphis335

Can you share the file with which that happens?
Do you open a folder, i.e. does the file explorer show a directory, or do you only open the file?

@kieferrm
Hi, I have the same issue in huge files. Tried with all extensions disabled, issue persists. You can find the file on which folding fails:
yt_page_header.html.txt

I have the same issue.
When I update the lastest version, I can't collapse the element or () exclude {}  in jsx file.

@kieferrm I open a UNC directory from my Windows server.
homepage.txt

I have the same issue with the version 1.3.1 Mac OS X which I firstly used.
The Code Collapse Icon does not work but shortcut is working well such as
⌘ Command ⌥ Option [ to collapse or ⌘ Command ⌥ Option ] to expand.


[Bug]: Elements are overlapping with each other in the posts page

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The elements are overlapping with each other and the navbar in the posts page in smaller and very small devices.
Expected behavior
No overlap of elements and each element should be interactive enough independent of the other.
Add ScreenShots

On which device are you experiencing this bug?
Android, iPhone, Chrome, Windows
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@VaibhavArora314 I know how to fix this, please assign this to me, I will start working on it right away

a similar issue already exists #336


Make web server name consistent

The web server (with MariaDB) is now called srv010 while the others are called srv001, srv003 and srv004. Make this consistent by using srv001 for the web server and srv002 for the DNS server.

It might be an option to use the same suffix for IP and server name. Although we can't use .1 at the end.

There is some logic to the current naming scheme:

The VMS for DNS, DHCP and monitoring are running infrastructure services, hence the 00n numbering.
VMs with user-facing services like web and database are numbered 01x

002 was reserved for a secondary DNS server in the previous version of the lab assignment.

Oh okay, that makes sense! Maybe we should add this explanation to the assignment.
A secondary DNS could be added as an extra.

I like the idea of an optional secondary DNS server. I demonstrated this in class, which took not much time at all.
It allows us to explain how a zone transfer works and the importance of the serial in this context (i.e. serial must be incremented after each change, or else no zone transfer will take place, resulting in two DNS servers giving a different IP address for the same name!).


Line breaks don't work in notes

That results in big walls of text that can't be broken up.
http://i.imgur.com/SrAxuX2.png
(We should probably just add Markdown support)

https://github.com/Hypercubed/angular-marked


[Bug]: Focus lost after Accept / Reject

Expected Behavior
When CC window is closed on Accept / Reject etc. and you hit TAB key one more time, you should be focused on the first focusable element inside the website.
Current Behavior
After closing the CC window and hitting TAB key again, focusing starts after the website content - the focus is shifted to browsers UI elements like tabs, status bar etc.. see attached video. Can't access website content. This is a huge accessibility failure. This bug is in Chromium based browsers (Chrome, Vivaldi, Opera..), also in Safari.
Firefox works as expected - hitting TAB focuses the first focusable element.
DEMO:
https://codepen.io/5ulo/pen/JjaYZNv
Chrome - navigating with tab key
https://user-images.githubusercontent.com/4980919/219949890-4efc40c2-1834-4d0f-ae5b-9b4a3be55b3a.mp4
Firefox - navigating with tab key - working
https://user-images.githubusercontent.com/4980919/219949894-393da0d8-b9d7-4230-84a5-16fa8729ae23.mp4
Steps to reproduce
As seen in codepen example
Proposed fix or additional info.
No response
Version
2.8.9, 3 alpha
On which browser do you see the issue?
Chrome

Thank you for the sweet issue!

More info to this: After closing CC window the focus jumps at the very end of html, so next TAB move jumps out of the website to the closest UI.
Proof of this feature is closing the CC window and hitting SHIFT + TAB which moves focus on the very last focusable item in HTML DOM.

The fix introduced in #486 seems to have been lost in v2.9.0 and beyond.
The main_container is still being appended at end of body, therefore causing other issues.
For example, when using NVDA screenreader (on Windows with Chrome) the initial focus is not on cookie consent modal, it takes several tabs to get there.
Ensuring main container is appended before first child of root/body resolves these sort of issues.

This should not be closed as the bug is still there.
(root || document.body).appendChild(main_container);
It should have insertBefore at the beginning of the body or root so user does not loose focus inside page after consent.
Would be great to have this behaviour optional:
position: 'before|after'


chore: update vika.js core to apitable.js

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


End Time is +1 minute if minutes is 30

Minutes looks to be duplicated into the seconds field which is resulting in the change end time displaying as +1.

Corrected ICS.js which had getMinutes listed for seconds


ci(github): address Warning: The save-state command is deprecated

Description
The build-dev job within .github/workflows/ci.yml generates the warning below. We need to address it:
Run<EMAIL_ADDRESS>Warning: The `save-state` command is deprecated and will be disabled soon.
Please upgrade to using Environment Files. For more information see:
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Acceptance Criteria

Warning is gone
Caching of the build files still works as intended

@petermetz Hello that seems like a good first issue for me, I could work on that if you don't mind

@Freedisch Sorry for the very slow response! If you are still interested in solving this then we'd love to have a PR for it! Let me know!

@Freedisch Sorry for the very slow response! If you are still interested in solving this then we'd love to have a PR for it! Let me know!

Got it, on it

@Freedisch Sorry for the very slow response! If you are still interested in solving this then we'd love to have a PR for it! Let me know!

Got it, on it

@Freedisch Nice! FYI: If you get stuck with anything you can join the daily pair programming calls! More information can be found here: https://wiki.hyperledger.org/display/cactus/Daily+Pair+Programming+Calls

Hello @jagpreetsinghsasan, I would like to work on this one

@petermetz @jagpreetsinghsasan upon checking on one of our recent build-dev run on main  the warning on the save-state command is already gone

@aldousalvarez Oh, great, thank you for confirming! I'm not sure when did we fix these, but great to know that it's done!


Hooks like Fastapi dependencies

Summary
Through Hook, the work of middleware such as authentication, authorization and flow restriction can be simplified, and the Dependency Parameter can be reused
Basic Example

from __future__ import annotations

from dataclasses import dataclass

import uvicorn

from litestar import Litestar, get
from litestar.connection import Request
from litestar.di import Provide
from litestar.enums import MediaType
from litestar.hook import Hook
from litestar.params import Parameter
from litestar.response import Response

@dataclass
class User:
    username: str

user_list = [User(username="lmzwk")]

class UserService:
    def __init__(self) -> None:
        pass

    def get_user_by_username(self, username: str) -> User | None:
        for user in user_list:
            if user.username == username:
                return user

        return None

def get_current_user(request: Request):
    return request.user

async def auth(
    request: Request, user_service: UserService, username: str | None = Parameter(query="username", default=None)
):
    # auth ...
    if username:
        request.scope["user"] = user_service.get_user_by_username(username)
    else:
        request.scope["user"] = None

class UserNotExistError(Exception):
    def __init__(self, *args: object) -> None:
        super().__init__(*args)

async def check_permission(current_user: User | None):
    if current_user is None:
        raise UserNotExistError("The user does not exist")

async def limit() -> None:
    pass
    # limit ...

def user_not_exist_error_handler(request, exception):
    return Response(content={"error": "The user does not exist"}, media_type=MediaType.JSON, status_code=400)

@get(
    path="/",
    dependencies={
        "user_service": Provide(UserService, use_cache=True, sync_to_thread=False),
        "current_user": Provide(get_current_user, sync_to_thread=False),
    },
    hooks=[Hook(limit), Hook(auth), Hook(check_permission)],
    exception_handlers={UserNotExistError: user_not_exist_error_handler},
)
async def handle(current_user: User) -> User:
    return current_user

app = Litestar(route_handlers=[handle], debug=False)

if __name__ == "__main__":
    uvicorn.run(app)

Hooks will execute sequentially from left to right, interrupting execution if an exception occurs
After the hooks are executed, the handle is executed

Litestar already has this functionality, it's called guards: https://docs.litestar.dev/latest/usage/security/guards.
There's an open feature request for dependencies in guards, which will land in 3.0: https://github.com/litestar-org/litestar/issues/1129.

Besides guards, there's need for more OpenAPI spec integrated mechanism here, see https://github.com/litestar-org/litestar/issues/3203.
(FastAPI has that support, as comparison.)


remove crate time

Rust 1.8 was released and features an Instant type

This crate had a major re-write/re-design. Please raise an issue again if required as almost everything in the library and the way it handled things have changed. Closing this.


Agent controller should automatically apply CRDs

Rather than requiring user intervention the agent controllers should upgrade their CRDs on start up similar to how Wrangler does.
Acceptance Criteria

[ ] Agent controller applies required CRDs to cluster

Wrangler CRD package is https://github.com/rancher/wrangler/tree/master/pkg/crd
And example of how they're used is at https://github.com/k3s-io/helm-controller/blob/master/test/framework/framework.go#L36-L37


allow no middleware, no debug

Codecov Report

Merging #201 (5106be1) into master (0c33279) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 5106be1 differs from pull request most recent head 5bfc22a. Consider uploading reports for the commit 5bfc22a to get more accurate results

@@            Coverage Diff            @@
##             master     #201   +/-   ##
=========================================
  Coverage     92.71%   92.71%
  Complexity      145      145
=========================================
  Files             6        6
  Lines           453      453
=========================================
  Hits            420      420
  Misses           33       33

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


Unify the definition of GCCVER and remove duplicate code.

Summary
Impact
Testing

[Experimental Bot, please feedback here]
I need the content of the PR to assess if it meets the NuttX requirements. Please provide the following:

The actual PR content: This includes the PR description, code changes, and any related files.
Links to the PR: If the PR is already open on GitHub, please share the link.

With this information, I can review the PR against the NuttX requirements and provide a concise assessment.

@anchao @xiaoxiang781216 please review this patch to resolve https://github.com/apache/nuttx/pull/14130#issuecomment-2408282192

hi @anchao please review whether this location is reasonable.


Pounce

https://github.com/fredrikwidlund/pounce is a new version of my old "pounce" project that is currently in the list.
Kind regards,
Fredrik

Thanks. As a side note it just shares the name with the previous project, no code is shared and this version is built on my libreactor project. The ambition is to be similar in shape to wrk, but with lower latency (for the same load) and higher throughput, however whether this is true in real life is not for me to decide. Regardless the current description is likely (or hopefully) not true.
Kind regards,
Fredrik

Any corrections to the README.md are welcome via pull request :)

Yes, I will try to write something as objective as possible then. :)


Update IAM service definitions

This is an auto-generated PR with IAM service updates.

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

Visual Studio Marketplace
GitHub release

Your semantic-release bot :package::rocket:


As a user, I want to know what prerequisites have to be met so a chart can be rendered

Example: I opened the million dollar homes sample notebook. Visualization wasn't working because

I was using an unsupported browser

I didn't know that for mapbox the chart options need to be customized (an access token must be provided)

I didn't know where to obtain the token

Mapbox token requirement described better with inline help https://github.com/ibm-cds-labs/pixiedust/commit/8294ee54cdcdc88086e6721626fec9c51edfbd41. No browser is unsupported. Please open another issue if you feel a certain browser won't work.


Partial rewrite to new hierarchy.

Created by: nc6
This commit moves all of the easy things. There
are some files remaining in the 'Actions' hierarchy, which
will want more detailed attention to split apart and move into
the new scheme.

Closing as an obsolete


Glyph Models

ERD
https://app.diagrams.net/#G1qUJoblhxTeTckEed6MIwVoMrF6YTeOkp

[x] create the models based on the ERD
[ ] restore minimal Glyph migration

This got big enough that I wanted to wrap it up and integrate it. It breaks the Glyph list page, so I won't deploy it yet. Fixing the Glyph page(s) will be my next issue.


Dev menus

@unguest This resolves the issues with Menu and Context menus. Check it out!

Wow I'm impressed! I couldn't get it with their crazy doc 😅🤣
Well done ! 👌

😂 😂 😂 That documentation is not easy to understand 🙊
If this is working for you, please go ahead and approve it for merging

I'll look at it !


The CUDA_GENCODE is never passed into the CMakeList.txt of Legion examples

I am running into a PTX issue when compiling and running Legion with CUDA 12. The problem is that we set the CUDA_GENCODE in the runtime/CMakeList.txt, but never pass it to the CMakeList.txt of examples, so the cuda kernels in all examples are not compiled with -gencode.
https://gitlab.com/StanfordLegion/legion/-/blob/master/examples/circuit/CMakeLists.txt#L32-34
Somehow, I do not know why we never catch this bug with lower version of CUDA.
Here are two ways to fix it:

We declare  the CUDA_GENCODE as PARENT_SCOPE, such that it can be updated in the runtime/CMakeList.txt, and retrieved later from other CMakeList.txt files.  This is the easiest fix, but declare a variable as PARENT_SCOPE is not a good behavior.
We move the setting of CUDA_GENCODE into the top level CMakeList.txt.

I am wondering which one should we pick? or if there is a better solution?

@elliottslaughter Can we get your input on this somewhat quickly? If we can upgrade to CUDA 12 then we can deploy the new Turing GPU machines in the CI which should produce a dramatic improvement in GPU CI throughput.

Another possible fix is this PR https://gitlab.com/StanfordLegion/legion/-/merge_requests/739, but not sure how far it is close to ready.

Here is the PR of the approach 2 https://gitlab.com/StanfordLegion/legion/-/merge_requests/810

The issue has been fixed, so close it.


Remove not (yet) implemented actions from toolbars/menus.

I didn't get chance to review this code before it was merged - there is still at least one place with not yet implemented feature - find/replace - whole replace functionality isn't currently implemented.


Add Index token constants by chain

IndexEthereum.ETH2X
IndexEthereum.HYETH
IndexArbitrum.ETH2X
etc

Suggestions for research:

outline current use cases e.g. do we need always by symbol or sometimes by address
show how the future struct what improve the use cases
research solutions from other forked Uniswap tokenlists which this project is based on. I can imagine there must be ideas around how to best implement this already - or possibly existing tools (if we want to continue using this format of tokenlists)?

This PR https://github.com/IndexCoop/tokenlists/pull/59 might be interesting in this discussion.


Ignore invalid entity name

I found it throw errors while parsing this invalid example:
<x>GL&HF</x>

Error: Invalid character in entity name

I know it's an invalid format, but in some time we should accept this mistake and parse it as blow:
{ x: "GL&HF" }

Hope to enhance it.

I think it is a mistake to try to parse faulty XML because it adds all kinds of unspecified semantics to the parser, like what does it do when X is wrong, what when Y is wrong? What if changing the implementation changes these semantics.
I think if you want to parse these entities, you should clean up the data before, then you'll know what is going on exactly.


Fix broadcast

relax upstream broadcast constraint

What's the difference between the upstream broadcast op and ours?

What's the difference between the upstream broadcast op and ours?

we do not enforce same encoding between source and result.


net/http: HTTPS requests when the server does not support it -> record overflow

Making an HTTPS request against a server that has no TLS enabled returns an 'record overflow' error.
I wonder if the message couldn't be a bit more helpful, like: 'No valid TLS certificate found. Aborting request.'
The sample program below illustrates the problem.
package main

import "net"
import "net/http"
import "net/http/httptest"
import "fmt"

func main() {
	server := httptest.NewUnstartedServer(
		http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
			fmt.Fprintf(w, "it works")
		}))

	server.Listener, _ = net.Listen("tcp", ":8080")
	server.Start()
	defer server.Close()

	req, err := http.NewRequest("GET", "https://localhost:8080", nil)
	if err != nil {
		panic(err.Error())
	}
	_, err = http.DefaultClient.Do(req)
	if err != nil {
		panic(err.Error()) // Will throw 'record overflow' here, works fine if one requests http instead of https though.
	}
}

The crypto/tls package will try to parse the response
"HTTP/1.1 400 Bad Request\r\n\r\n" as a TLS record,
which it failed.
I don't thinking we can do any better. crypto/tls is
not HTTPS specific, so it doesn't make sense to
detect this case specifically.

I mean, we could do something here and record the first few bytes before giving it to crypto/tls. And then when crypto/tls gives us an error, we could look at the bytes we copied and see if it looks like "HTTP/*" and return a better error.
Pretty low priority, but a fine feature request.

OK, I think it's better to make crypto/tls.(*Client).Handshake
return a the server response if the very first response doesn't
parse correctly; rather than cache the first few bytes in net/http
(as it will involve another layer of wrapping on net.Conn.)
And this seems like a general purpose enhancement for crypto/tls.
Actually, I think just make crypto/tls return the first few bytes of
response in error message is enough, we don't need to change
net/http.
For example, if the example panics with:
tls: oversized record received with length 20527 (server response:
"HTTP/1.1 400 Bad Request"...)
Then it's much better than the current message and can help the
user pinpoint the problem very quickly.

Yes that would be a lot more helpful.
I lost a good half-an-hour trying to pin point the problem. @minux suggestion would send me immediately in the right direction.
Thanks

+1

Turns out this is pretty easy to propagate. crypto/tls returns an untyped fmt.Errorf error, so we can make it a real type with the data. The data is easily accessible.
diff --git a/src/crypto/tls/conn.go b/src/crypto/tls/conn.go
index e3dcf15..2a41beb 100644
--- a/src/crypto/tls/conn.go
+++ b/src/crypto/tls/conn.go
@@ -568,7 +568,7 @@ Again:
        }
        if n > maxCiphertext {
                c.sendAlert(alertRecordOverflow)
-               return c.in.setErrorLocked(fmt.Errorf("tls: oversized record received with length %d", n))
+               return c.in.setErrorLocked(fmt.Errorf("tls: oversized record received with length %d ; data=%q", n, b.data))
        }
        if !c.haveVers {
                // First message, be extra suspicious: this might not be a TLS

Makes the demo program above error out with the "HTTP/1.1 400 Bad Request\r\nContent-Type: text/plain\r\nConnection: close\r\n\r\n400 Bad Request"


Server faile to response

For some reason i get this response !
Caused by: org.apache.http.NoHttpResponseException: localhost:3000 failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141)	at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)	at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165)
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at org.getopentest.http.HttpRequest.execute(HttpRequest.java:126)
at org.getopentest.base.TestActor.executeTestSegment(TestActor.java:2102)
... 3 more

Please provide more context, like:

What OpenTest version are you running on?
How many test actors do you have connected to the server?
How many test sessions are you running in parallel?
Have you cleaned-up the server db directory lately? If not, how many lines are there in the db/sessions file?

opentest version is 1.2.1
4  actors ,two as web actors  and two as api actors
1 parallel session
No it was like 2 months i did not clean the server. Unfortunately i cleaned the server before i count the sessions in the db

You said you cleaned the server DB recently. Has this problem happened since then?

No the problem happened before the cleaning of the DB. But you asked me about how many lines are in the db/sessions file and i could not tell that because i did clean the DB


Few tweaks to the proposal document

some nits but otherwise LGTM, thanks for the cleanup.

Addressed comments and rebased.


Document and add examples for skip_build

It was implemented in packit/packit-service#1256.

@lbarcziova has wanted to test this for some time before docs and announcement if I recall correctly... But good to track this somewhere.

There is already opened a PR for this: #352

There is already opened PR for this: #352

Apologies, I checked only on packit.dev, but did not check open PRs in this repo. Closing it then.
Thanks for keeping docs up to date! :smiley:


Use xdg

Resolves #2515
Problem
We hardcode the profile dir to ~/.dbt instead of using xdg.
On a related note, there was a circular dep issue that caused us to have to copypaste default_profiles_dir() instead of just importing it (which is annoying if we want to add more complexity to it), so we have to fix that.
Solution
Import & use appdirs.
Considerations
Per #2515, this has different effects on different platforms. I'm only thinking about it in terms of Linux, but maybe we don't want to use this on win/macos. Somebody else more familiar with those should comment.
Checklist

[ ] I have read the contributing guide and understand what's expected of me.
[ ] I have run this code in development, and it appears to resolve the stated issue.
[ ] This PR includes tests, or tests are not required or relevant for this PR.
[ ] This PR has no interface changes (e.g., macros, CLI, logs, JSON artifacts, config files, adapter interface, etc.) or this PR has already received feedback and approval from Product or DX.
[ ] This PR includes type annotations for new and modified functions.

Fun Fact: pre-commit didn't work for me locally; most things were fine, but flake8 broke with
AttributeError: 'EntryPoints' object has no attribute 'get'
Looking into this error, the flake8 team just replies "use the new version". The project uses 4.0.1, and flake8 is on 7.1.1. It might be time to upgrade.
Additional Consideration: do we need to auto-migrate configs from ~/.dbt to ~/.config/dbt?

@cla-bot check

@dradetsky re-assessing this as a feature request beginning here: https://github.com/dbt-labs/dbt-core/issues/2515#issuecomment-2536301326


Draw plots as SVG

Currently the plot drawing is done only by drawing as PNG.
It will be nice if the user could choose to draw the plots as SVG.
Pro: It is faster in communication time and with scalable resolution.

Please consider the httpgd viewer option. Or one may find it is useful to edit settings in .vscode-R/settings.json

Please consider the httpgd viewer option. Or one may find it is useful to edit settings in .vscode-R/settings.json

This option is a possibility, but it's not comfortable in my environment to open up a server, especially trough a remote SSH access.
The changes needed from this code are very easy. The crucial one is to modify this line:
https://github.com/REditorSupport/vscode-R/blob/9c7f4a217b8cfddd87d9f93489bae09b0923bc8b/R/session/vsc.R#L429
To something like:
 do.call(if(is_svg) svg else png, c(list(filename = plot_file), dev_args))

And the side ones are:
https://github.com/REditorSupport/vscode-R/blob/9c7f4a217b8cfddd87d9f93489bae09b0923bc8b/R/session/vsc.R#L393
to
 plot_file <- file.path(dir_session, paste0("plot.", if(is_svg) "svg" else "png"))

And add an option for the user "is_svg" somehow.
This just drops the amount of traffic for detailed graphs significantly.


missing tutorial in list of sessions

“Practical tools for documentation at scale” by Daniele Procida is not listed on /sessions or /tutorials

should be good now, I forgot to make that page revalidate every 5 minutes :)

Hey @patrick91 still don't see this tutorial. Could you double check?

The issue has now been resolved in https://github.com/EuroPython/website/commit/6b6132b2fab067827759e658d6861b9c7e35d3e7.
The issue mainly to do with pretalx api side. When you set a limit smaller than total results, the pretalx API  paginates most lists of object. Due to the lack of stable sorting, some results return in both page 1, and page 2, cutting off all the actual results that pass the total count threshold. We have set the limit to be bigger than the total sessions for now to avoid pagination, returning all results correctly.


error grabbing a youtube video (Y4sgySBEIKM)

 PS C:\Users\XXXXX\Downloads>**youtube-dl -U**
youtube-dl is up-to-date (2021.12.17)
PS C:\Users\XXXXX\Downloads> youtube-dl.exe --verbose https://youtu.be/Y4sgySBEIKM
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://youtu.be/Y4sgySBEIKM']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.22621
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] Y4sgySBEIKM: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1794, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 1012, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

#30839.


ModuleNotFoundError: No module named 'onnxgraphqt'

I have successfully installed OnnxGraphQt on windows 11 and Ubuntu 22. In both cases, I get the following when I try to run the app as suggested in the readme
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\user\OneDrive\Documents\fix_onnx\OnnxGraphQt-main\onnxgraphqt\__main__.py", line 5, in <module>
    from onnxgraphqt.main_window import MainWindow
  File "C:\Users\user\AppData\Local\Programs\Python\Python310\Lib\site-packages\shiboken2\files.dir\shibokensupport\__feature__.py", line 142, in _import
    return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'onnxgraphqt'

What am I doing wrong here?

I removed all references to onnxgraphqt at the imports and it works

Thanks for pointing that out.
I forgot to update the README.md in the previous update.
README.md and some files have been fixed.
OnnxGraphQt can now be installed as a Python package, please install according to README.md.


Failure at Error: Error 401 creating VeracodeFlaw label "VeracodeFlaw: Very High": Bad credentials

    - name: import flaws as issues
      uses: buzzcode/veracode-flaws-to-issues@v1
      with:
        scan-results-json: 'filtered_results.json'
        github-token: ${{ secrets.GITHUB_TOKEN }}

Run buzzcode/veracode-flaws-to-issues@v1
Processing file: filtered_results.json
Importing pipeline flaws into  xxx/yyy.  2 seconds between imports (to handle GitHub rate limiting)
Creating VeracodeFlaw labels
Failure at Error: Error 401 creating VeracodeFlaw label "VeracodeFlaw: Very High": Bad credentials
    at /home/works/actions-runner/_work/_actions/buzzcode/veracode-flaws-to-issues/v1/label.js:95:23
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Object.createLabels (/home/works/actions-runner/_work/_actions/buzzcode/veracode-flaws-to-issues/v1/label.js:75:9)
    at async importFlaws (/home/works/actions-runner/_work/_actions/buzzcode/veracode-flaws-to-issues/v1/importer.js:5[6](https://git.example.com/xxx/yyy/runs/9223?check_suite_focus=true#step:4:6):5)

OK...??
Are you trying to report a bug?  Asking for help?  Other?
Looks like the problem trying to access your GitHub repo and create an Issue Label.  Is your GitHub token correct?  Do you have permissions to create Issues (and labels) in your repo?

Hi,
GitHub Enterprise Server 3.2.6
Internal Repo
Organization Settings - Actions - General

Default permission is read_all & Write_all
<EMAIL_ADDRESS>I don't know how to debug, maybe a compatibility issue?
Thx!

I changed to a personal access token with Full control of private repositories.
The same error.

Hmmmm...  It seems the Labels API does not exist anymore in GitHub's docs.  Although it (obviously) did at one point, and making a simple POST to the Labels endpoint still works on the public GitHub.com.  I need to investigate a bit further...

After a bit more digging, I'm not sure what's going on in your case.  All the code is doing is making this API call: https://docs.github.com/en/rest/reference/issues#create-a-label.  It still works in the public github.com, but I can't say what's going on with your Enterprise instance.  You could try using something like curl, or Postman, or Insomnia to manually create a label and see what happens.

 curl https://git.laiye.com/api/v3/repos/xxx/yyy/labels \
> -H "Authorization: token ghp_AAAAAAAAAAAAAAAAAAAAAA" \
> -H "Accept: application/vnd.github.v3+json" \
> -X POST \
> -d '{"name": "Veracode"}'
{
  "id": 22673,
  "node_id": "MDU6TGFiZWwyMjY3Mw==",
  "url": "https://git.example.com/api/v3/repos/xxx/yyy/labels/Veracode",
  "name": "Veracode",
  "color": "ededed",
  "default": false,
  "description": null
}

only the API path is different.

I'm not sure what you're trying to tell me.  Is the second part of your post, the stuff in the brackets with "url":"https://git.example.com/xxx" the response to the curl command?  It seems like a really odd response with the URLs mis-matched (git.example.com vs. git.laiye.com).
But if you're saying that curl works, but this Action does not in your Workflow, I'd suspect something is configured wrong with the workflow.  A 401 return code means Unauthorized, so perhaps a permission problem?

sorry, typo.
I mean curl works


Validation: Price list request D08 should always have points

When submitting charge prices (D08) with out any points, then the charge price must be rejected async, otherwise we will pollute the market with notifications about nothing
This must be enforced by a validation rule.
Acceptance Criteria

[ ] Given a submitted Charge Price request (D08)
When thew request do not contain any price series (points)
Then the Charge Price is rejected with the error code E87 and text Price series with transaction id {{ChargeOperationId}} does not contain any prices for charge with ID {{DocumentSenderProvidedChargeId}} of type {{ChargeType}} owned by {{ChargeOwner}}.

Tested in T-001 :heavy_check_mark:
Submitted a charge price D08 request without the tag <series_period> and thus no points/prices:
<?xml version="1.0" encoding="UTF-8"?>
<cim:RequestChangeOfPriceList_MarketDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cim="urn:ediel.org:structure:requestchangeofpricelist:0:1" xsi:schemaLocation="urn:ediel.org:structure:requestchangeofpricelist:0:1 urn-ediel-org-structure-requestchangeofpricelist-0-1.xsd">
    <cim:mRID>DocId2022-11-04T13:48:56.013Z</cim:mRID>
    <cim:type>D10</cim:type>
    <cim:process.processType>D08</cim:process.processType>
    <cim:businessSector.type>23</cim:businessSector.type>
    <cim:sender_MarketParticipant.mRID codingScheme="A10">8100000000016</cim:sender_MarketParticipant.mRID>
    <cim:sender_MarketParticipant.marketRole.type>DDM</cim:sender_MarketParticipant.marketRole.type>
    <cim:receiver_MarketParticipant.mRID codingScheme="A10">5790001330552</cim:receiver_MarketParticipant.mRID>
    <cim:receiver_MarketParticipant.marketRole.type>DDZ</cim:receiver_MarketParticipant.marketRole.type>
    <cim:createdDateTime>2022-11-04T13:48:56Z</cim:createdDateTime>
    <cim:MktActivityRecord>
        <cim:mRID>OpId2022-11-04T13:48:56.013Z</cim:mRID>
        <cim:ChargeGroup>
            <cim:ChargeType>
                <cim:chargeTypeOwner_MarketParticipant.mRID codingScheme="A10">8100000000016</cim:chargeTypeOwner_MarketParticipant.mRID>
                <cim:type>D03</cim:type>
                <cim:mRID>TarId060</cim:mRID>
                <cim:effectiveDate>2022-09-30T22:00:00Z</cim:effectiveDate>
            </cim:ChargeType>
        </cim:ChargeGroup>
    </cim:MktActivityRecord>
</cim:RequestChangeOfPriceList_MarketDocument>

Rejection - see the last rejection reason and code.
<?xml version="1.0" encoding="utf-8"?>
<cim:RejectRequestChangeOfPriceList_MarketDocument xmlns:cim="urn:ediel.org:structure:rejectrequestchangeofpricelist:0:1">
    <cim:mRID>35226552eefc4c9eb63a45fc684458ce</cim:mRID>
    <cim:type>D11</cim:type>
    <cim:process.processType>D08</cim:process.processType>
    <cim:businessSector.type>23</cim:businessSector.type>
    <cim:sender_MarketParticipant.mRID codingScheme="A10">5790001330552</cim:sender_MarketParticipant.mRID>
    <cim:sender_MarketParticipant.marketRole.type>DDZ</cim:sender_MarketParticipant.marketRole.type>
    <cim:receiver_MarketParticipant.mRID codingScheme="A10">8100000000016</cim:receiver_MarketParticipant.mRID>
    <cim:receiver_MarketParticipant.marketRole.type>DDM</cim:receiver_MarketParticipant.marketRole.type>
    <cim:createdDateTime>2022-11-04T13:50:18Z</cim:createdDateTime>
    <cim:reason.code>A02</cim:reason.code>
    <cim:MktActivityRecord>
        <cim:mRID>31458687c9684290950bed03d88cb43d</cim:mRID>
        <cim:originalTransactionIDReference_MktActivityRecord.mRID>OpId2022-11-04T13:48:56.013Z</cim:originalTransactionIDReference_MktActivityRecord.mRID>
        <cim:Reason>
            <cim:code>E0H</cim:code>
            <cim:text>Resolution is missing for charge with ID TarId060 of type Tariff owned by<PHONE_NUMBER>016.</cim:text>
        </cim:Reason>
        <cim:Reason>
            <cim:code>E0H</cim:code>
            <cim:text>Price series start interval and effective date must have the same value for charge with ID TarId060 of type Tariff owned by<PHONE_NUMBER>016.</cim:text>
        </cim:Reason>
        <cim:Reason>
            <cim:code>E86</cim:code>
            <cim:text>The time interval (start and end) of the price series must equal midnight local time, expressed in UTC+0 for charge with ID TarId060 of type Tariff owned by<PHONE_NUMBER>016.</cim:text>
        </cim:Reason>
        <cim:Reason>
            <cim:code>E87</cim:code>
            <cim:text>Price series with transaction id OpId2022-11-04T13:48:56.013Z does not contain any prices for charge with ID TarId060 of type Tariff owned by<PHONE_NUMBER>016.</cim:text>
        </cim:Reason>
    </cim:MktActivityRecord>
</cim:RejectRequestChangeOfPriceList_MarketDocument>


Support *5 to raise or lower hand

New feature GA'ed this week

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@tonysmit PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

Hi @@.***>,
I wonder if you can help unblock this? We would like to make this change live as soon as possible.
Thanks!
Fan
From: Manuela Scanu @.>
Sent: Tuesday, July 27, 2021 9:31 AM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness @.>
Cc: Fan Fan @.>; Author @.>
Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] Support *5 to raise or lower hand (#7573)
@tonysmithttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftonysmit&data=04|01|Fan.Fan%40microsoft.com|f2c648b69ab24aa3f36b08d9511bf3fc|72f988bf86f141af91ab2d7cd011db47|0|0|637630003061531333|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=FDznTTxPChZf9sm7eubVSUXOOkP%2FPoH6bCyEzQbmw%2FE%3D&reserved=0 PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fpull%2F7573%23issuecomment-887658462&data=04|01|Fan.Fan%40microsoft.com|f2c648b69ab24aa3f36b08d9511bf3fc|72f988bf86f141af91ab2d7cd011db47|0|0|637630003061531333|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=B%2B%2F1azXwvM4UHbIPkPBjRaZ63wgDeYyOv7s4E64sCxQ%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANZ5F3BQUIRC3YU5IUAS47LTZ3NNFANCNFSM5AWVMCIQ&data=04|01|Fan.Fan%40microsoft.com|f2c648b69ab24aa3f36b08d9511bf3fc|72f988bf86f141af91ab2d7cd011db47|0|0|637630003061541332|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=j4qi4b87smyeFajSjokd%2F4wz4pZH5nrAyBfqHtFOL%2Fw%3D&reserved=0.


Enhance Gameplay with Undo Move Functionality

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
To improve the player experience and provide greater flexibility during gameplay, let's enhance the game by adding an undo move option. This feature will allow players to retract their last move if they make a mistake or change their strategy, enhancing the overall fluidity and enjoyment of the game
Describe the solution you'd like
let moves = []; // Array to store moves
function makeMove(move) {
moves.push(move); // Add move to array
console.log("Move made:", move);
}
function undoMove() {
if (moves.length > 0) {
let lastMove = moves.pop(); // Remove and get last move
console.log("Undoing move:", lastMove);
} else {
console.log("No moves to undo.");
}
}
// Example usage:
makeMove("Player 1 moves to position (x, y)");
makeMove("Player 2 moves to position (x, y)");
undoMove(); // Undo last move
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hello @Durgesh4993 , kindly assign me this issue under GSSoC'24.
I'll do my best !

@Dilpreet0501 Please raise any other issue, i'll assign you
If you have any doubt you can directly send message on our discord (https://discord.gg/rZb46cCMmK), we have created seprate chennals for all projects...
Thank you :)

Sure @Durgesh4993 , Thank you


More chunk options compatible with knitr

It would be nice if these could be compatible with knitr, so that theoretically one could use a rmarkdown document and get it compiled with stitch: http://yihui.name/knitr/options/

Do you mean the syntax of {kernel [chunk_name], keyword=val}? I went back and forth on that in https://github.com/TomAugspurger/stitch/issues/1 before settling on what's essentially python's syntax of a comma between each argument.
If you mean the actual options and the behavior of them, then yes absolutely.

I would prefer both (same names and same syntax), just to be able to swap the converter...

Can you clear up a thing for me? Is the <<mychunk, cache=TRUE>>= style knitr syntax, and {r, mychunk, cache=TRUE} RMarkdown stynax?
In a quick test, all of these are valid
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

```{r, v1, eval=TRUE}
summary(cars)
```

```{r v2, eval=TRUE}
summary(cars)
```

```{r, eval=TRUE}
summary(cars)
```

```{r eval=TRUE}
summary(cars)
```

But I think we should only support the first and third; you need to have commas  between your arguments.
I think supporting the <<kernel, [chunk,] keyword=val>>= would be quite easy as well. Just need to transform that to pandoc style.
```{.kernel .chunk keyword=val}

I didn't know that knitr supports both "with comma behind the engine" and "without comma". Nice!
Re knitr vs rmarkdown: as far as I understand it rmarkdown is both a subset of knitr supported formats (e.g. the first one is as far as I know the old sweave syntax; rmarkdown only supports markdown and the '''{...} chunks) and a superset (e.g. the documents syntax in the yaml header and the extensibility gained form that.
E.g. it would be no problem to write latex documents with included code: https://github.com/yihui/knitr/blob/master/inst/examples/knitr-minimal.Rnw

Code Evaluation

[x] eval
[x] echo
[ ] results { 'markup', 'asis', 'hold', 'hide'}
[ ] collapse (?)
[ ] warning whether to include warning messages (stderr?)
[ ] error (I don't like the name of this one)
[ ] message (what's the non-R equivalent)
[ ] split (this wraps the output of each chunk in \include or an iframe)
[ ] strip.white

Code Decoration

[ ] tidy (could use YAPF, but I think i'm against this one...)
[ ] prompt
[ ] comment (this prefixes output (but text only?); don't like the name)
[ ] highlight
[ ] background

Cache

[ ] cache (seems hard)
[ ] cache.path
[ ] cache.vars
[ ] cache.lazy
[ ] cache.comments
[ ] cache.rebuild
[ ] dependson
[ ] dutodep

Plots

[ ] fig.path (doesn't make sense till we have --no-self-contained working)
[ ] fig.keep no?
[ ] fig.show ?
[ ] fig.ext
[ ] fig.dpi
[ ] fig.width, fig.height
[ ] fig.asp
[ ] out.width, out.height not sure what this is
[ ] fig.align
[ ] fig.env
[ ] fig.cap
[ ] fig.scap
[ ] fig.lp
[ ] fig.pos
[ ] fig.subcap
[ ] fig.process
[ ] fig.showtext
[ ] fig.external
[ ] fig.sanitize


fix(npm release): Adding npm release

:tada: This PR is included in version 1.0.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


[HTTP] HTTP/2 Client Connector

Description:
Need to implement a Client connector which handles HTTP/2.
Related Issues (optional):
https://github.com/ballerina-lang/ballerina/issues/3954

Fixed with
https://github.com/wso2/transport-http/pull/80
https://github.com/ballerina-lang/ballerina/pull/5188


TYPO: add missing '(' on line 276

Thanks for the fix! I made the same change already in another branch. :+1:


RSS support spark3 RDA.

[FEATURE] RSS support spark3 RDA.
What changes were proposed in this pull request?
Why are the changes needed?

What are the items that need reviewer attention?
Related issues.
#53
Related pull requests.
How was this patch tested?
/cc @related-reviewer
/assign @main-reviewer

LGTM. Thanks.


MJX action space size setting

Hi,
I'm a engineer and I'm working on MuJoCo MJX.
I'm looking for some help with action space size setting.
i want to learn for the parameters of control algorithm.
but, now action space set only number of acturator.
how can i change the size of action apace?

Hi, to change the size of the action space, consider adding or removing actuators from your model

Thanks your comment.
However, I would like to know how to make the size of the actuator and action different.

By size of the actuator, I'm assuming you mean mjModel.nu "number of actuators/controls = dim(ctrl)"?
See https://mujoco.readthedocs.io/en/stable/XMLreference.html#actuator for the XML reference


Coins: The transaction status should change after its confirmation.

Verified this issue on Tribe app v 2.4.0(629)


Save User Issue Fixes

User save issue fixes:
Media schema changes

This is useless. Please check again


runtime: pclntab is too big

This article contains results from applying a visualization tool:
https://www.cockroachlabs.com/blog/go-file-size/
If the analysis is correct, pclntab needs a major redesign.
Separated from #6853 to keep the conversation focused.

Also discussed in #27266
And there are some interesting suggestions in https://news.ycombinator.com/item?id=21907144

I spent some time looking at this earlier this year (see e.g. CLs 172079 and 171820), and then stalled. The major impediment was the inscrutability of the linker. I hope that the new linker will open doors.
There is definitely lots more room for improvement. I have had private conversations with a few Go team members about improving the string encoding in pclntab. Most strings in the pclntab never actually get used by the program, and thus could be materialized lazily, perhaps from traditional compression or from a trie-ish encoding. This isn't trivial but you could do something like: Set up an appropriately-sized bss symbol with known offsets for all materialized strings, and when you need to materialize a string, decompress/assemble it into the correct spot for all other future users (atomically or with locks somehow). I did a very rough calculation and estimated that this could shrink pclntab by about 10%.

@jeremyfaller has also been brainstorming about this.
The concern I would have about such a scheme (putting on my devil's advocate hat) is that rodata can be shared across multiple instances of an executable across a given system, whereas if you go the BSS route, each process has to have it's own chunk of virtual memory.
On the other hand, it's not at all clear whether people care about that (who out there is running many instances of the same Go program on the same machine?).

I think there's some confusion in the blog post. Sorry if I'm the one confused instead.
The blog post talks about runtime.pclntab, but that symbol actually contains many tables, correct? ld.(*Link).pclntab() writes the pcfile and pcline tables, which are roughly in line with what you'd expect to be in a symbol named pclntab, but it also writes the pcsp and pcdata tables, which are quite different.
Has anyone checked which tables are actually the problem? I think all the commentary above is discussing the file/line tables.

Speaking for myself, I've looked at all of them; see CL 171760 for a recent tweak. I think the most attention is going to the file/line tables because that's where the most obvious inefficiencies are. (A few years ago I experimented with using a nybble-based instead of byte-based varint encoding for pc/value pairs. It helped, but not very much.) But all that doesn't foreclose the possibility of me being confused. :)

Yes, as @heschik said, there are several tables in pclntab.
Here is a breakdown:
			hello world	cmd/compile
.text			589993		10072652
pclntab			461293		 5254373
  func table		 28364		  166220
  _func structs		145376		  879432
  pcsp			 18305		  175053
  psfile		 13466		  208905
  pcline		 80049		 1339649
  pcdata		108492		 1947840
  strings		 56025		  496601
  file table		 11216		   40673

The strings are not large portion of the pclntab.
I have another confusion: the "growth" is growing over time, or the output size grows as the input size grows? I.e. are CockroachDB v19.1 and v1.0 built with same version of Go?
For the former, there are some growth over time, as we added more kinds of tables including e.g. inline tables, stack objects, and register maps, as mentioned in #27266.
For the latter, it seems growing linearly, at least from the table above.

As @thanm mentioned, @jeremyfaller has been looking at this problem recently and has done some preliminary analysis. He'll be back Thursday. He was going to prototype splitting the strings into two or three components (e.g., package+type+symbol), so each component can be deduped. I'm not sure what the current state of that is. As @cherrymui points out, the strings aren't a whole lot of the pclntab, but that also seems like low-hanging fruit. @jeremyfaller has also been looking at more typical binaries that have much longer package paths than cmd/compile, and hence more string data.
@cherrymui, what tool did you use to generate that breakdown? It would be good to also see the further breakdown of "pcdata", since there are several tables in that.
An important misconception in the blog post is that pclntab only contains traceback symbolization data. It also contains a lot of critical data for the garbage collector.
I did some experiments a while back with compressing stack maps. At the time, I noted that Huffman-coding the PCDATA delta stream roughly halved the size of the stack maps. However, that depended on the linker generating an optimal Huffman table for the whole binary, which would increase link time. Here's the code for those experiments, though it's probably bitrotted.

@aclements I just added print statements in the linker. I can do that for the pcdata tables.

As @thanm mentions, I was taking a look at starting to better encode pclntab. His tradeoffs are accurate -- trading some read-only-mappable memory for BSS. I was pulled to thinking about it because of internal Google binaries, where path names are quite long, and some experimentation showed that as much as 50% of pcln was used for strings. I started a design encoding paths by stripping common roots, and for function names, stripping module and type names. It's still early days, but I thought we'd see reductions in binary size > 5%. As @cherrymui points out, that gain will be minimal for the majority of users.
Right now, I was writing that document, and a change to cmd/objdump to generate stats to help us figure out where we need to focus our efforts.

The title of this bug (as well as the blog post) claims that pclntab grows super-linearly in the number of functions in the binary, but it's completely unclear to me what that claim is based on. It seems that they're varying both the Cockroach version and the Go version, so not only did Cockroach get bigger, but we also added more pclntab tables for the garbage collector since Go 1.2. That aside, the table in the blog post that compares Cockroach in 2017 to 2019 has exactly two data points in it, with the rest "projected", so I don't know how you get any non-linear projection from that.
The pclntab is large, a significant fraction of Go binaries, and its size is starting to cause issues for cutting-edge users, so this is worth working on. I just don't understand the basis for the super-linear growth claim.

@aclements here is a breakdown of the pcdata:
			hello world	cmd/compile
.text			589993		10072652
pclntab			461293		 5254373
  func table		 28364		  166220
  _func structs		145376		  879432
  pcsp			 18305		  175053
  psfile		 13466		  208905
  pcline		 80049		 1339649
  pcdata		108492		 1947840
    [0]			 56055		 1211541
    [1]			 35454		  465937
    [2]			 16983		  270362
  strings		 56025		  496601
  file table		 11216		   40673

The register maps are the most of them.

The register maps are the most of them.

Great. I'm planning on getting rid of those. :)
Of all the pc tables, the pcline is actually the biggest. I wonder if that's because of instruction interleaving and inlining. I bet that's also wasting a lot of bits writing down very small deltas. Since we only use that table for symbolization, it doesn't have to be extremely efficient to decode, so we could imagine using a more compact encoding of it.

I bet that's also wasting a lot of bits writing down very small deltas.

That's what I was hinting at with a "nybble-based varint encoding" above.
In case it helps, here are my notes on this topic, from Feb 2016 (some things may have changed since then!):

pc/value pairs in the go1.2 symtab are encoded using varint encoding. But most values are very small, so I thought I'd try using nibble-at-a-time style varint encoding instead of byte-at-a-time
varint encoding. You lose 1/4 bits to continuation markers instead of 1/8, but with small values it doesn't matter.

This only works because there are value pairs. The precise encoding is: first four bits are value, second four bits are pc. First bit of each nibble is a continuation bit. If both continuation bits are set, continue as before. If neither continuation bit is set, we're done. If one continuation bit is set but not the other, switch to byte-at-a-time varint encoding for the outstanding pc/value.

This actually does prove to be a more space-efficient encoding, just not enough of an improvement to warrant changing the symtab, since there are many consumers of it.

Results are similar on the SSA branch.

This is all simulations based on parsing and replaying the symtab, not actually implementing the new encoding. There's an open question about the performance of a nibble-based encoding. (Better because memory efficient? Worse because more bit twiddling?)

I just don't understand the basis for the super-linear growth claim.

Here's some evidence against that claim.
I ran these commands in my GOROOT/pkg/tool/darwin_amd64 at master (8adc1e00aa1a92a85b9d6f3526419d49dd7859dd):
$ go tool nm -size * | grep runtime.pclntab | awk '{print $3"\t"$1}'
$ ls -l | awk '{print $5"\t"$9}'
I dropped the results in a spreadsheet and plotted "% of binary that is pclntab" (y-axis) vs "binary size" (x-axis). Results:

Looks pretty non-superlinear to me. So now we can get back to the task of shrinking it. :)

That's what I was hinting at with a "nybble-based varint encoding" above.

Thanks for sending your notes on that.
I was thinking of more compact but harder-to-decode formats for pcline in particular, such as Huffman coding (probably with a fixed table we generate from some corpus; maybe a per-package table generated by the compiler) or possibly Golomb-Rice coding (since pcline in particular is probably roughly geometrically distributed, though this wouldn't extend well to other tables).

Looks pretty non-superlinear to me. So now we can get back to the task of shrinking it. :)

Awesome. Thanks for running that experiment!

One interesting point mentioned on ycombinator is that there are platform-specific ways in which the pclntab could be stored, such as in DWARF format on ELF based OS, or, possibly externally, in .pdb files on Windows. In case this information is not available because it was stripped, the pclntab information needed could be calculated at run time. I don't know how feasible this idea would be for go, though, but I consider it worth mentioning.

If I understand correctly, the dead code elimination pass of the linker is quite conservative about removing methods implementing interfaces. It keeps the methods if their name matches any method of an interface. If the average per-function overhead of the GC metadata is low (like ~5% ), it's probably worth investigating how those redundant symbols would cost. I imagine it helps for projects like GUI toolkits where big interfaces are implemented by many widgets, while only a small set would actually be used by the user application.

So, I finally got a chance to put together a CL (cl/213830) that breaks pclntab up, looking at the sizes of each individual piece. It slightly overcounts (as there's deduplication in most of the pcln table in the linker). Sizes (percentage of pcln) for each section of all go tools for darwin are:

16
PCLNTAB
_func structs:
pcsp:
pcfile:
pcln:
pcdata:
[0]:
[1]:
[2]:
Strings:
func names:
files:

addr2line
843891
30.35%
5.40%
3.34%
17.04%
27.90%
15.81%
8.52%
3.57%
14.92%
13.14%
1.78%

api
1347760
30.13%
4.93%
3.88%
16.68%
30.45%
17.59%
8.86%
4.00%
12.02%
10.71%
1.31%

asm
1026665
24.64%
4.87%
3.29%
20.97%
32.58%
17.60%
8.85%
6.13%
11.84%
10.34%
1.50%

buildid
614042
32.18%
5.01%
3.54%
17.59%
25.88%
13.62%
8.42%
3.84%
14.11%
12.20%
1.91%

cgo
1032405
28.91%
4.73%
3.56%
17.41%
31.45%
18.58%
9.02%
3.85%
12.38%
10.95%
1.44%

compile
5187539
17.01%
4.67%
4.54%
25.85%
43.97%
27.56%
10.90%
5.51%
10.19%
9.59%
0.60%

cover
1183359
31.25%
5.05%
3.74%
16.54%
28.82%
16.26%
8.56%
4.00%
12.84%
11.50%
1.34%

dist
791319
29.54%
4.87%
3.58%
18.08%
29.30%
16.29%
8.86%
4.15%
12.55%
10.90%
1.64%

doc
1052734
30.77%
4.88%
3.60%
17.25%
29.08%
16.48%
8.73%
3.88%
12.32%
10.96%
1.36%

fix
746928
30.83%
4.73%
3.53%
17.46%
28.17%
15.66%
8.72%
3.79%
13.10%
11.43%
1.68%

link
1363392
26.18%
4.61%
4.04%
18.29%
32.74%
19.56%
8.77%
4.41%
12.45%
11.00%
1.45%

nm
836271
30.49%
5.39%
3.35%
16.96%
27.79%
15.72%
8.49%
3.58%
14.95%
13.16%
1.79%

objdump
926432
29.64%
5.35%
3.27%
17.37%
28.56%
16.27%
8.58%
3.71%
14.57%
12.87%
1.70%

pack
505351
32.55%
4.82%
3.46%
18.02%
24.77%
12.47%
8.36%
3.94%
14.12%
12.25%
1.87%

pprof
3062176
28.06%
5.19%
3.84%
15.89%
31.96%
19.28%
8.85%
3.84%
14.65%
13.36%
1.29%

test2json
622255
31.79%
4.94%
3.57%
18.11%
25.72%
13.36%
8.40%
3.95%
13.82%
11.99%
1.84%

trace
2517671
28.74%
5.14%
3.99%
16.41%
31.14%
18.36%
8.68%
4.10%
13.59%
12.29%
1.30%

vet
1844222
28.46%
4.84%
3.97%
16.25%
32.38%
19.38%
9.02%
3.98%
12.61%
11.26%
1.35%

As previously suspected, the filenames aren't nearly the problem in typical code they've been seen to be in some Google binaries. From this data, and an offline discussion with @aclements, it seems to me that the course of action should be:

Eliminate register maps (pcdata[0]), moving to a different strategy for preemptive scanning and debug call injection.
Look at changing the encoding for the _func objects. (Although the _func objects have rarely changed, their outsized effect on pcln's size suggests revisiting the design.) It's likely we could use variable width offset encoding for a number of lookups, and save on space.
Other fruit for runtime.pclntab compression:
3a) Only save stack maps at safe points.
3b) Consider a different bitmap encoding scheme. Besides a constant factor that can likely be removed here (because many of the length variables for the bitmaps use large field widths), there's the possibility that a different encoding scheme would save here.
3c) Consider ropes (or some other) structure for strings.
3d) Encode the length of the [func|file]name instead of the null byte encoding we use now. (no savings, but likely runtime speed improvements when looking up these strings.)

3c) Consider ropes (or some other) structure for strings.

Sometimes it's required to add an application to an xz-compressed initrd on a very small storage (like 8MiB). So it's also required to reduce the size even for a compressed binary. So in my extremely humble opinion it would be more useful if the first there will be considered ways to reduce data instead of compressing it (like using deduplicating data structures).

Look at changing the encoding for the _func objects.
Consider ropes (or some other) structure for strings.

You probably know this, but one sticking point with these ideas is that there is public API that exposes some of these things as strings. For example, runtime.Frames has fields Function and File that are both strings. Using an encoding for strings that is non-contiguous/compressed/whatever means having to assemble these strings. This requires particular care to avoid allocation in sensitive parts of the runtime and/or in hot code. (Thus the discussion of a dedicaged BSS segment, above.)

@josharian Yeah. @thanm mentioned it above, and the idea was to decode these strings into a space allocated in BSSNOPTR. It should be a relatively simple matter of preallocating the BSSNOPTR space at load time, and copying them out when they're used. The problem (again as Than pointed out) is that this decreases binary size at the expense of BSS. (Probably not an issue for most binaries, but still a tradeoff we'd make.)

The problem (again as Than pointed out) is that this decreases binary size at the expense of BSS. (Probably not an issue for most binaries, but still a tradeoff we'd make.)

 In certain iOS contexts (Network Extensions, Notification Extensions at least), the OS limits you to 15 MiB of total disk + memory. (That is, your binary is pinned into memory and can't page in from flash). So small binaries are critical to having enough memory left over to actually use.
So any optimizations that reduce binary size don't help (or might hurt!) if they require too much runtime memory allocation to decompress data.

3d) Encode the length of the [func|file]name instead of the null byte encoding we use now. (no savings, but likely runtime speed improvements when looking up these strings.)

FWIW, I see in one binary here that 10.28% of the bytes of func name strings are bytes found in the prefix of the lexicographically following func name. (sometimes funcs are named prefixes of each other... runtime.systemstack and runtime.systemstack_switch looking at a binary now. Or closures...
crypto/tls.(*clientHelloMsg).marshal.func1.1
crypto/tls.(*clientHelloMsg).marshal.func1.2
crypto/tls.(*clientHelloMsg).marshal.func1.3
crypto/tls.(*clientHelloMsg).marshal.func<IP_ADDRESS>.1
crypto/tls.(*clientHelloMsg).marshal.func<IP_ADDRESS>
crypto/tls.(*clientHelloMsg).marshal.func1.4.1
crypto/tls.(*clientHelloMsg).marshal.func1.4.2
...

So with (ptr/offset, len) encoding, in this binary with 19378 redundant bytes of func prefixes, and with 5878 funcs, we could only win (barely) with a uint16 max string length. 19378 - (5878 * 2 byte uint16) = 7,622 bytes of savings.
Likely not worth it, at least with that representation.

encoding closure names differently would help a lot

That’s easy enough to implement, if we can settle on an encoding. The current one has the virtue of making it easy to know where to find the closure; I’ve used that a fair amount.
Want to suggest an alternative? (A counter per package?)

Want to suggest an alternative? (A counter per package?)

Sorry, I meant if we went with something like ropes (mentioned above) or were otherwise fine allocating at runtime for https://golang.org/pkg/runtime/#Func.Name then we could encode the same user-visible name in a much more compact form.

I've just I've just reached the limit of 1 MiB Flash in STM32L476RG.
pclntab is 345 KiB (34%)
$ nm --size-sort -S shell.elf|tail -5
08050104 00000fd4 T time.Time.AppendFormat
08059f98 00001444 T fmt.(*pp).printValue
200024e8 00001a74 B runtime.mheap_
08040ce0 00003728 T unicode.init
080a89c0 000565ac r runtime.pclntab
In my case I can't trade any RAM for smaller pclntab. The above STM32L476RG MCU has only 128 KiB of RAM. The most popular STM32F405/7  has "huge" 192 KiB RAM.

@embeddedgo Would it be possible to add a compiler flag that would generate a separate registry file, and then have pclntab only contain references into the registry file? In other words, it would not contain any kinds of strings. It would make interpreting log output harder, as it would require looking up log entries in the registry. In the case of IoT and other embedded scenarios, I would argue that could be well worth the reduction in binary size, however.

I'm working on merging go1.16 changes to Embedded Go which is more about porting my noos/thumb and noos/riscv64 targets to this new Go version.
Thre are a lot of chanegs in 1.16 pclntab code. One of my use cases relies on smaller pclntab so I need to preserve this feature. I'll keep your proposal in mind while working.

Here's the 2021 update for the original link: https://dr-knz.net/go-executable-size-visualization-with-d3-2021.html
In summary, the bytes previously in pclntab are now stored elsewhere in the executable, but there's no net reduction in file size. In fact, it's getting worse.

https://www.cockroachlabs.com/blog/go-file-size-update/

An update on the article that originated this issue was posted recently: https://www.cockroachlabs.com/blog/go-file-size-update/
Archive link: https://web.archive.org/web/20210414213416/https://www.cockroachlabs.com/blog/go-file-size-update/

This followup article is generating more heat than light. Locking this issue to collaborators only.


readme, examples/Makefile: fix openFPGALoader target board name

Flash instruction and Makefile rules update:

instead of using the ambiguous littleBee name a new entry tec0117 has been added
seeestudio runber is now officially supported

Amazing, thanks!

Amazing, thanks!


provide some screenshots in readme

@realysy Thank you for your interest in NotebooksFX. I plan to improve the README and will definitely add a few screenshots and some documentation as soon as I have the time. Also, new contributions and feature requests are welcome :)


Update Apollo branch with the latest from Redux & Master

@ctrlplusb Merged in the latest and resolved any conflicts. I'll let you sign off and push the merge button if all is well.

What a gem! Thanks :)

Looks great!