Certman Bug Fixes and Helper Utility

Scope of changes
We had an issue with a TRISA TestNet registration today where Sectigo rejected the domain name causing multiple critical alerts to trigger. To remediate the situation we put the registration back to "PENDING_REVIEW". This PR contains the helper script in the reissuer command that allowed us to do that.
While working on that, I noticed that the batch names had an extra ")" at the end, so I fixed that minor typo, and since I was there, I also fixed the typo where Certman saves the VASP every day even if it hasn't been changed (causing the last updated timestamp to be unusable).
Fixes SC-10097
Fixes SC-10325
Type of change

[x] bug fix
[ ] new feature
[ ] documentation
[ ] other (describe)

Acceptance criteria
For the most part you can ignore the helper command in reissuer -- we've already run this command and it worked. The real question is about certman. Is the updateRequired bool sufficient to handle the switch with all the various continue statements? Is there a better way we could implement it and still have effective error handling? Is this maintainable in the future?
Author checklist

[ ] I have manually tested the change and/or added automation in the form of unit tests or integration tests
[ ]  I have updated the dependencies list
[ ]  I have recompiled and included new protocol buffers to reflect changes I made
[ ]  I have added new test fixtures as needed to support added tests
[ ]   Check this box if a reviewer can merge this pull request after approval (leave it unchecked if you want to do it yourself)
[ ]  I have moved the associated Shortcut story to "Ready for Review"

Reviewer(s) checklist

[ ] Any new user-facing content that has been added for this PR has been QA'ed to ensure correct grammar, spelling, and understandability.

@pdeziel this is ready for review again - I've used a hash based mechanism to test equality with the original proto data. I wrote a check for the signature method, but I haven't tested if this will correctly update the VASP during certman iterations. Let me know what you think.

Codecov Report
Base: 44.10% // Head: 44.11% // Increases project coverage by +0.01% :tada:

Coverage data is based on head (62e7ee2) compared to base (0cebf93).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #843      +/-   ##
==========================================
+ Coverage   44.10%   44.11%   +0.01%
==========================================
  Files         617      617
  Lines       23035    23052      +17
  Branches     1405     1405
==========================================
+ Hits        10159    10169      +10
- Misses      11551    11555       +4
- Partials     1325     1328       +3

Flag
Coverage Δ

unittests
44.11% <ø> (+0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

....com/trisacrypto/directory/pkg/models/v1/models.go
69.30% <0.00%> (-0.21%)
:arrow_down:

...com/trisacrypto/directory/pkg/gds/certman/certs.go
55.22% <0.00%> (+0.07%)
:arrow_up:

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

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

@pdeziel before we deploy this, let's make sure we test in staging!


Bag click to open

Describe the feature
So i notice their is only one way to open the bags when you mouse over click. You have to click the main bag. Can you make it so you can click on any bag will open the window. Thank you
Describe the implementation
Add this option maybe into the settings.

Can you show me a screenshot of what you mean?

[cid:09978126-6ccb-4e28-99ee-b8310b71ead5]
When i try to click on any of the 5 bags to the right of the main bag, it wont open the bag window. the only way to open bags is by clicking on the main bag only. I notice if you SHIFT + click it will open up the bag window. Is there a way to turn that off so you can just click on any bag to open the window.

From: Antonio Lobato @.>
Sent: Tuesday, February 20, 2024 9:11 PM
To: Cidan/BetterBags @.>
Cc: Milky063 @.>; Author @.>
Subject: Re: [Cidan/BetterBags] Bag click to open (Issue #166)
Can you show me a screenshot of what you mean?
—
Reply to this email directly, view it on GitHubhttps://github.com/Cidan/BetterBags/issues/166#issuecomment-1955855524, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL7CRGQQCBQDBIOXYWGUOWDYUVXXNAVCNFSM6AAAAABDRNJ46GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJVHA2TKNJSGQ.
You are receiving this because you authored the thread.Message ID: @.***>

No, this isn't something that is in scope as BetterBags intentionally hides the bag buttons.

but my bags are not hidden, how do you hide all the bags but only show the main one?

From: Antonio Lobato @.>
Sent: Tuesday, February 20, 2024 10:14 PM
To: Cidan/BetterBags @.>
Cc: Milky063 @.>; Author @.>
Subject: Re: [Cidan/BetterBags] Bag click to open (Issue #166)
Closed #166https://github.com/Cidan/BetterBags/issues/166 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/Cidan/BetterBags/issues/166#event-11870962764, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AL7CRGVOEI3PXLROSI5VEI3YUV7D7AVCNFSM6AAAAABDRNJ46GVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRHA3TAOJWGI3TMNA.
You are receiving this because you authored the thread.Message ID: @.***>


SESSION_SECRET's are hardcoded

          - name: SESSION_SECRET
            value: "1234567890123456"

Is it possible to autogenerate a string on install?

I don't know how to do that yet. If everything goes according to plan I'll pick this issue up next Wednesday (24-06-2020)
I think it is possible but haven't looked into it yet.

I have replaced all secrets I could find with random alphanumeric strings with a length of 12.
If you spot any I missed, or if I missed a place where the same random secret should have been put, please reopen this issue.

For later reference:
     {{ randAlphaNum 12 | quote }}

Gives a random alphanumeric string with the size of 12 characters

I understood the problem with this is that they get random generated every
new release? Is that correct? If so, this might cause issues in some cases.
Op wo 24 jun. 2020 om 11:00 schreef Nigel<EMAIL_ADDRESS>
For later reference:
 {{ randAlphaNum 12 | quote }}

Gives a random alphanumeric string with the size of 12 characters
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Amsterdam/openstad-kubernetes/issues/30#issuecomment-648693584,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJEFACTAUBDV2WEQHPX2RTRYG6EXANCNFSM4OD2GCEA
.

Hello @ToshKoevoets,

I understood the problem with this is that they get random generated every new release?

The secrets are created at the first time the chart is installed. In my test, the secrets are kept at an uninstall and are only reset/deleted when you remove the namespace. Randomly generated passwords/secrets should only exist in the Kubernetes Secrets as they persists between upgrades and reinstalls.
If we generate a random secret in a deployment.yaml this gets randomized with every upgrade/release.
In resources with the resource-policy of keep, this is only done when it's first installed in the namespace.

Okay that's perfect then.
Op wo 24 jun. 2020 om 11:45 schreef Nigel<EMAIL_ADDRESS>
Hello @ToshKoevoets https://github.com/ToshKoevoets,
I understood the problem with this is that they get random generated every
new release?
The secrets are created at the first time the chart is installed. In my
test, the secrets are kept at an uninstall and are only reset/deleted when
you remove the namespace. Randomly generated passwords/secrets should only
exist in the Kubernetes Secrets as they persists between upgrades and
reinstalls.
If we generate a random secret in a deployment.yaml this gets randomized
with every upgrade/release.
In resources with the resource-policy of keep, this is only done when it's
first installed in the namespace.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Amsterdam/openstad-kubernetes/issues/30#issuecomment-648716515,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJEFAGOZZRPPHZAY2LEISLRYHDNHANCNFSM4OD2GCEA
.


tests: bluetooth: Showing HCI error

An HCI error is generated with the following scenario

Start a scan procedure and connect to the first peripheral
From the 'connected' callback, set the security level for the current connection and start a new scan procedure
When the second device is found, start a new connection to the second peripheral

Signed-off-by: Ahmed Moheb<EMAIL_ADDRESS>

@jori-nordic

@alwa-nordic

@ahmedmoheb-nordic is that a bug, did you already open an issue for this?

@ahmedmoheb-nordic is that a bug, did you already open an issue for this? If not, could you do it? I'm closing this as this looks like a patch to reproduce an issue, not to fix it.

I created the following issue https://github.com/zephyrproject-rtos/zephyr/issues/53046


MultiStage Engine Fails to Parse Table Names with - (Dash)

Image Snapshot: 1.1.0-SNAPSHOT-b1b070f68d-20230918-21-openjdk-linux-arm64
For us, we utilize UUIDs as Pinot table names. V1 engine works and supports it just fine but looks like V2 crashes and burns with the following error:
Message prettified from query console:
Error Code: 720

QueryPlanningError:
Error composing query plan for: select * from "8593490b-01bf-46d4-a92c-bc270ac49aee" limit 10
org.apache.pinot.query.QueryEnvironment.planQuery(QueryEnvironment.java:182)
org.apache.pinot.broker.requesthandler.MultiStageBrokerRequestHandler.handleRequest(MultiStageBrokerRequestHandler.java:134)
org.apache.pinot.broker.requesthandler.BaseBrokerRequestHandler.handleRequest(BaseBrokerRequestHandler.java:263)
org.apache.pinot.broker.requesthandler.BrokerRequestHandler.handleRequest(BrokerRequestHandler.java:48)
Caught exception while parsing query: SELECT * FROM 8593490b-01bf-46d4-a92c-bc270ac49aee_OFFLINE
org.apache.pinot.sql.parsers.CalciteSqlParser.compileToSqlNodeAndOptions(CalciteSqlParser.java:144)
org.apache.pinot.sql.parsers.CalciteSqlParser.compileToPinotQuery(CalciteSqlParser.java:186)
org.apache.pinot.sql.parsers.CalciteSqlCompiler.compileToBrokerRequest(CalciteSqlCompiler.java:32)
org.apache.pinot.query.routing.WorkerManager.getRoutingTable(WorkerManager.java:206)
Encountered " "FROM" "FROM "" at line 1, column 10.
Was expecting:
    <EOF>

org.apache.pinot.sql.parsers.parser.SqlParserImpl.generateParseException(SqlParserImpl.java:38633)
org.apache.pinot.sql.parsers.parser.SqlParserImpl.jj_consume_token(SqlParserImpl.java:38430)
org.apache.pinot.sql.parsers.parser.SqlParserImpl.SqlStmtsEof(SqlParserImpl.java:1033)
org.apache.pinot.sql.parsers.CalciteSqlParser.compileToSqlNodeAndOptions(CalciteSqlParser.java:134)

Let me know if you guys need additional info. Also sorry if this is a dupe but I couldn't find any similar issues

cc @xiangfu0 @walterddr can you help take a look?

i dont think this is a bug. it is not a standard SQL naming convention: https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

More explanation on the above comment from my conversation with @walterddr. Slack thread.

Turned out it is not because of the hyphen - in the table name but because of the number as the first character in the table name (see the picture below) being numeric instead of alphabetical. The hyphen issue has been fixed in the PR earlier

going to close this as a non-issue. feel free to discuss further in separate thread if thats not the case or other issues related

No worries and appreciate you guys for looking into it!  Understood that us quoting the table in V1 engine as a workaround for non-standard SQL table won't work for multistage.
We actually have since prefixed it with an actual label to our Pinot tables as the solution and forgot to update this thread.


Bug with pagination in chrome

problem with z-index in focus selector

suggest that an active and hovered/focused pagination link should get a treatment similar to https://github.com/twbs/bootstrap/pull/16154 ?

@patrickhlauke That's different—the problem here is definitely just z-index.

oh i understand, but wondering if, as part of fixing it, we can consider this as well?

Maybe? The buttons make a lot more sense because when they're active they can still be toggled. Active states here don't get toggled ever really—one link is generally always going to be active.

Perhaps overthinking it...will see once a fix for the original issue lands (thinking mainly keyboard users here, who will end up focusing on an active pagination link and wouldn't get the "focused AND active" visual indication). not a big concern though.


[Security] Added 'eq' operation when querying entitiy

Proposed changes
This is a fix for the security vulnerability Database query built from user-controlled sources raised by CodeQL.
The issue arises when passing an entity identity without using the $eq operation
References recommend using $eq to enhance security.
This code is an example of the modified code.
//AS-IS
query := bson.D{{"_id", projectID}}

//TO-BE
query := bson.D{{"_id", bson.D{{"$eq", projectID}}}} // uses the $eq operation

References

Database query built from user-controlled sources
$eq - MongoDB Manual

Types of changes
What types of changes does your code introduce to Litmus? Put an x in the boxes that apply

[x] New feature (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the commit for DCO to be passed.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer:

This pr soloved below security issues

https://github.com/litmuschaos/litmus/security/code-scanning/230
https://github.com/litmuschaos/litmus/security/code-scanning/229
https://github.com/litmuschaos/litmus/security/code-scanning/228
https://github.com/litmuschaos/litmus/security/code-scanning/223
https://github.com/litmuschaos/litmus/security/code-scanning/219
https://github.com/litmuschaos/litmus/security/code-scanning/218
https://github.com/litmuschaos/litmus/security/code-scanning/217
https://github.com/litmuschaos/litmus/security/code-scanning/101
https://github.com/litmuschaos/litmus/security/code-scanning/101
https://github.com/litmuschaos/litmus/security/code-scanning/99
https://github.com/litmuschaos/litmus/security/code-scanning/98
https://github.com/litmuschaos/litmus/security/code-scanning/97
https://github.com/litmuschaos/litmus/security/code-scanning/96
https://github.com/litmuschaos/litmus/security/code-scanning/95
https://github.com/litmuschaos/litmus/security/code-scanning/94
https://github.com/litmuschaos/litmus/security/code-scanning/93
https://github.com/litmuschaos/litmus/security/code-scanning/92


Check if file is valid psd

How to check if a file PSD.fromFile("path/to/invalid.psd") is a valid psd?

There are currently no checks internally that validate the PSD because, due to the lack of good documentation on the file format, the library takes a "best effort" approach to parsing. That said you can do:
var psd = PSD.fromFile("path/to/invalid.psd");
psd.parse();
assert(psd.header.sig === '8BPS');

While that doesn't validate the entire PSD, it does make sure that at least the PSD header is valid and that you are attempting to parse a PSD.

Oh, and it's also possible to parse only the header if you want, which might avoid weird parsing errors that could cause infinite loops/exceptions/etc.
var psd = PSD.fromFile("path/to/invalid.psd");
psd.parseHeader();
assert(psd.header.sig === '8BPS');

However, if you do that, you'll have to recreate your PSD object and start parsing over from scratch if you wish to continue parsing.

Thanks! That's exactly what I do in my code.

This issue was resolved by @meltingice's answer and acknowledged by @are1000. Closing this.


install debian 12

starts by installing 11 then upgrading since installing 12 doesn't work
UNTESTED AS OF YET

Pretty sure that's not how it works...


Updates various dependencies

Codecov Report

Merging #54 (a34d5aa) into main (af26cbf) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #54   +/-   ##
=======================================
  Coverage   85.24%   85.24%
=======================================
  Files           9        9
  Lines         610      610
=======================================
  Hits          520      520
  Misses         90       90

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 af26cbf...a34d5aa. Read the comment docs.


intersection - document returned array order

Since array comparison in Bicep is order-sensitive, it's important to know the order returned from intersection, for example I might want to do something like this: var isSubset = intersection(s1, s2) == s1.
It looks like the first array passed to the function determines the order, if that is guaranteed it should be documented.

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

ID: 12e707f1-ecfe-9d95-b37e-0b083fc907f1
Version Independent ID: f2f85556-6f17-e0c2-de47-efc23d7cb940
Content: Bicep functions - arrays - Azure Resource Manager
Content Source: articles/azure-resource-manager/bicep/bicep-functions-array.md
Service: azure-resource-manager
Sub-service: bicep
GitHub Login: @mumian
Microsoft Alias: jgao

Thanks for bringing this to our attention. We are actively investigating and will get back to you soon.

@ohadschn - thanks for this feedback. I have added an example that shows the different ordering based on which array is the first parameter. The update will be published later today.
#please-close


WIP - Freestyyle-Cache.

This PR carries the changes for Ticket #37. We create a new SBT module, called freestyle-cache. We create an algebra of basic cache operations.
We introduce an implementation for this algebra using a ConcurrentHashMap.

Codecov Report

Merging #59 into master will decrease coverage by -10%.

@@          Coverage Diff          @@
##           master   #59    +/-   ##
=====================================
- Coverage      60%   50%   -10%
=====================================
  Files          17    19     +2
  Lines         125   150    +25
=====================================
  Hits           75    75
- Misses         50    75    +25

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 a937866...4b9c44a. Read the comment docs.


[nrf noup] dts: common: nordic: nrf54l15 rram erase-block-size

Adjusting erase block size to match resolution of
rram region protection.

Why is it a noup?

Why is it a noup?

that's temporary, need to check what fails in CI


Rename cosmwasm_vm::Instance

In large parts of the VM code we have a naming collision between cosmwasm_vm::Instance and wasmer_runtime_core::instance::Instance. This not only leads to more code but sometimes makes it hard to read existing code, since it is unclear at which level an "instance" lives.
It would be good if we could use a different name for
pub struct Instance<S: Storage + 'static, A: Api + 'static, Q: Querier + 'static> {
    /// We put this instance in a box to maintain a constant memory address for the entire
    /// lifetime of the instance in the cache. This is needed e.g. when linking the wasmer
    /// instance to a context. See also https://github.com/CosmWasm/cosmwasm/pull/245
    wasmer_instance: Box<wasmer_runtime_core::instance::Instance>,
    pub api: A,
    pub required_features: HashSet<String>,
    // This does not store data but only fixes type information
    type_storage: PhantomData<S>,
    type_querier: PhantomData<Q>,
}

and leave the term Instance for Wasmer. @ethanfrey @reuvenpo ideas?

I say that we should just consistently write use wasmer_runtime_core::instance::Instance as WasmerInstance;

That's a good approach for the type. But then we still need to carry around the long variable names wasmer_instance.

In the type declaration for cosmwasm_vm::Instance you could name the field inner. It's a pattern you see in many libraries for naming the object you're wrapping. Do you think that's a good approach?
pub struct Instance<S: Storage + 'static, A: Api + 'static, Q: Querier + 'static> {
    /// We put this instance in a box to maintain a constant memory address for the entire
    /// lifetime of the instance in the cache. This is needed e.g. when linking the wasmer
    /// instance to a context. See also https://github.com/CosmWasm/cosmwasm/pull/245
    inner: Box<WasmerInstance>,
    pub api: A,
    pub required_features: HashSet<String>,
    // This does not store data but only fixes type information
    type_storage: PhantomData<S>,
    type_querier: PhantomData<Q>,
}

For this particular case, inner works. But then we have other usages where no outer instance is around, like
    fn make_instance() -> Box<Instance> {
        let module = compile(&CONTRACT).unwrap();
        // we need stubs for all required imports
        let import_obj = imports! {
            || { setup_context::<MockStorage, MockQuerier>() },
            "env" => {
                "db_read" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "db_write" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "db_remove" => Func::new(|_a: i32| -> i32 { 0 }),
                "db_scan" => Func::new(|_a: i32, _b: i32, _c: i32| -> i32 { 0 }),
                "db_next" => Func::new(|_a: u32, _b: i32, _c: i32| -> i32 { 0 }),
                "query_chain" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "canonicalize_address" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "humanize_address" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
            },
        };
        let instance = Box::from(module.instantiate(&import_obj).unwrap());
        instance
    }

What kind of instance is this now? Hard to tell from reading the code.

ah... i'd say that here it's acceptable to have the longer variable name.

I like the renaming to WasmerInstance and keep Instance for our wrapper.
For the above case, just save a line and avoid any names for the Box :)
fn make_instance() -> Box<WasmerInstance> {
        let module = compile(&CONTRACT).unwrap();
        // we need stubs for all required imports
        let import_obj = imports! {
            || { setup_context::<MockStorage, MockQuerier>() },
            "env" => {
                "db_read" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "db_write" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "db_remove" => Func::new(|_a: i32| -> i32 { 0 }),
                "db_scan" => Func::new(|_a: i32, _b: i32, _c: i32| -> i32 { 0 }),
                "db_next" => Func::new(|_a: u32, _b: i32, _c: i32| -> i32 { 0 }),
                "query_chain" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "canonicalize_address" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
                "humanize_address" => Func::new(|_a: i32, _b: i32| -> i32 { 0 }),
            },
        };
        Box::from(module.instantiate(&import_obj).unwrap())
    }

But really, wasmer_instance is a good local variable name when we need it. I like inner as a struct member.

okay, I'm happy with the proposed path. Let's do that.


Add node.js runtime metrics semantic conventions

Part Of #990
Changes
Adding semantic conventions for Node.js runtime metrics
Merge requirement checklist

[x] CONTRIBUTING.md guidelines followed.
[x] Change log entry added, according to the guidelines in When to add a changelog entry.

If your PR does not need a change log, start the PR title with [chore]

[ ] schema-next.yaml updated with changes to existing conventions.

I wasn't sure if I need to update something on the next, since there was no changes to existing semantic. This is a new one.

cc @open-telemetry/javascript-approvers

The only thing I am wondering is, whether or not it should be called NodeJS. What if someone uses Deno or Bun?

I am wondering whether or not it should be called NodeJS. What if someone uses Deno or Bun?

what about just js ?

I am wondering whether or not it should be called NodeJS. What if someone uses Deno or Bun?

what about just js ?

Well that would hint towards a language, while they all are javascript runtime environments

I mean I guess, but also feel like it can be confused with the language instead of the runtime environment

if we want to go be definition, it would be runtimejs

I mean I guess, but also feel like it can be confused with the language instead of the runtime environment

if we want to go be definition, it would be runtimejs

jsruntime? idk, might need some extra opinions

For my opinion different runtimes need to have diferent preffix.
For example:
node - nodejs
bun - bun
deno - deno
etc...
Or some attribute that specify what runtime is currently run.
Or metrics idk.
Also i think for version we need to set metric like it does in the prom-client library. Attribute in all metrics with version, for my opinion, it's not a good solution.

I mean I guess, but also feel like it can be confused with the language instead of the runtime environment

if we want to go be definition, it would be runtimejs

jsruntime sounds maybe better? idk, might need some extra opinions

I think we should make it clear that it is only for NodeJS not other runtimes like deno, bun, or something else. JS is just a language but the underlying runtimes differ a lot. I would argue for something along the lines of nodejs, noderuntime, or nodejsruntime.

I mean I guess, but also feel like it can be confused with the language instead of the runtime environment

if we want to go be definition, it would be runtimejs

jsruntime sounds maybe better? idk, might need some extra opinions

I think we should make it clear that it is only for NodeJS not other runtimes like deno, bun, or something else. JS is just a language but the underlying runtimes differ a lot. I would argue for something along the lines of nodejs, noderuntime, or nodejsruntime.

It may be worth splitting the v8 semconv from the NodeJS semconv. The v8 engine is used by a few different JS runtimes and it would be worth making them consistent between runtimes. Most of the metrics returned by the v8 module are returned directly from the v8 engine such as getHeapStatistics. The node metrics returned by the perf_hooks module however, are specific to NodeJS.

thank you for all the comments, I'm looking and will be replying to them 👀

New updates:

Metrics separated in 2: node.js (containing only the node.js specific metrics), v8 js engine metrics (that can be used by other js runtime, such as deno)
replaced metrics where I was using type attributes to define the type, now they're separate metrics (for example, heap size and eventloop delay)

From the discussion on the SIG meeting, keeping this PR just for node and created a new one for the v8 on https://github.com/open-telemetry/semantic-conventions/pull/1066

One last question from my side. I've checked that other metrics of time make use of histogram as instrument. Some examples:

https://github.com/open-telemetry/semantic-conventions/blob/cde003cd371ef8cc802f275bcfed15cff8fd6a48/model/metrics/jvm-metrics.yaml#L49
https://github.com/open-telemetry/semantic-conventions/blob/cde003cd371ef8cc802f275bcfed15cff8fd6a48/model/metrics/go-metrics.yaml#L77

Here all the metrics related to delay and using s as unit use the gauge instrument. Probably a naive question but why is that?

Here all the metrics related to delay and using s as unit use the gauge instrument. Probably a naive question but why is that?

That is a limitation of this type of metric for node, meaning, I'm using this more because is from the event loop and not because is a duration (I even use histogram on duration on other metrics).
The gist is that the values for min, max, p50, p90, p99 for these metrics come from the builtin histogram from the node runtime and is not possible to convert it to otel histogram, because we can only query the distribution not get the entire histogram object. This is why you will notice I have a separate metric for each value (min, max, etc), instead of just one called delay that would have everything.
Hope that helps clarify!

Here all the metrics related to delay and using s as unit use the gauge instrument. Probably a naive question but why is that?

That is a limitation of this type of metric for node, meaning, I'm using this more because is from the event loop and not because is a duration (I even use histogram on duration on other metrics). The gist is that the values for min, max, p50, p90, p99 for these metrics come from the builtin histogram from the node runtime and is not possible to convert it to otel histogram, because we can only query the distribution not get the entire histogram object. This is why you will notice I have a separate metric for each value (min, max, etc), instead of just one called delay that would have everything.
Hope that helps clarify!

It helps a lot. Thank you! :)

That is a limitation of this type of metric for node, meaning, I'm using this more because is from the event loop and not because is a duration (I even use histogram on duration on other metrics). The gist is that the values for min, max, p50, p90, p99 for these metrics come from the builtin histogram from the node runtime and is not possible to convert it to otel histogram, because we can only query the distribution not get the entire histogram object. This is why you will notice I have a separate metric for each value (min, max, etc), instead of just one called delay that would have everything.

Could you please add a similar note to the md file itself?
@open-telemetry/javascript-approvers any last minute feedback?

Could you please add a similar note to the md file itself?

Done


How to prevent cells from being wider than the collection view?

Hello @mischa-hildebrand,
I could not figure how to limit the width of cells, so that they do not extend the width of the enclosing collection view.
Do you have any advice ?
In the screenshot below, UILabels have the standard compression resistance, have lineBreakMode = .byTruncatingTail, and numberOfLines = 1:

@groue did you fix that? if you did can you share your solution?

Hello @i-Senku,
I did not fixed this. I stopped using this library, and implemented by own UIView. Code is not released publicly, unfortunately.

@groue i fixed. You need to set property preferredMaxLayoutWidth  of UILabel.
for example: testLabel.preferredMaxLayoutWidth = UIScreen.main.bounds * 0.8

We did not have the same goal :-) You wanted a multiline label, I wanted a truncated (…) label. Anyway, thanks for your solution, we can close this issue.

@groue in my case numberOfLines = 0 if i set 1 it will look like truncated 😅


Feat : Site Doctype Created

ct-35

Remove all the pyc files or add them to gitignore

Sir please check i removed the .pyc files.


ja: Make docs/contribute/suggesting-improvements.md follow v1.19 of the original text

This is a Feature Request

What would you like to be added
Update docs/contribute/suggesting-improvements.md to follow v1.19 of the original (English) text.
Why is this needed
content/ja/docs/contribute/suggesting-improvements.md is outdated.
Comments
/language ja
/good-first-issue
File to update
https://github.com/kubernetes/website/tree/dev-1.19-ja.1/content/ja/docs/contribute/suggesting-improvements.md
Original
https://github.com/kubernetes/website/tree/release-1.19/content/en/docs/contribute/suggesting-improvements.md
diff between translated and v1.19
https://gist.github.com/437eaafe2d550efc8fd9a7369a2b8fa1
Note
Currently, we use dev-1.19-ja.1 branch. Please open a PR targeting the branch.
ref
https://kubernetes.io/ja/docs/contribute/localization/
If you have a question, feel free to ask us at slack.k8s.io #kubernetes-docs-ja channel.

/triage accepted


Update node modules

@cyraxx https://github.com/likerRr/npp2ts this has improved a lot too. I am sure it will give a better performance now

npp2ts should not be necessary as protobufjs 6 does it out of the box

@nicoschmitt I thought npp2ts is used to generate typings isnt ?

I think we can't just switch to protobufjs 6 as it comes with some API changes that might break other modules using node-pogo-protos. See also #11.

I did a PR with protobufjs 6. It indeed break stuff... I did the change on my pogobuf fork.


Delay scrollbar displaying

I use simplebar with selector dropdown with animation.
So, when container with content is increasing from maxHeight: 0 to some value, simplebar execute recalculate function a lot of times and that's terrible.
Plus when increasing of height of container with list is started and it's on the middle of full height, the scrollbar is displayed.
Due to this I trying to find a way with delaying of scrollbar displaying/calculation

You could override the CSS because all the animations are done in CSS. Then when your animation is finished, remove that CSS again.
Hope this helps, thanks!


Update eventhub to enable live testing in sovereign clouds for multiple services

These changes enable eventhub to run live tests against AzureUsGovernment and AzureChina clouds. The sovereign cloud live tests will be green with the changes.
@benbp @danieljurek @jongio

@benbp @danieljurek @jongio

Thanks @zedy-wj!


CreateHubProxy does not support generic

It spews "error TSRC001: TInterface is not an interface. The type argument must be an interface."

See #68


CMake/Build Output scrolling doesn't work after error in build

VSCode Version: 1.31.1
OS Version: Windows 10 Pro 64

Steps to Reproduce:

Start a CMake build for a C++ CMake project
build is completed successfully
Create an error in a source file.
Build the project. The error is reported
Fix the error
Build again

In step 6 the CMake/Build output scroll stop working and I have to scroll the output manually.

Does this issue occur when all extensions are disabled?: Cannot verify because I need the CMake extension.

Do you have output scroll lock toggled?
Also can you reproduce with vscode insiders? https://code.visualstudio.com/insiders/


Buttons go out of view frame in landscape mode

The Camera button, flip camera view button and the flash button is not visible in landscape mode (at least in the demo project).
Same behavior in Xcode simulator as well as physical device (iPhone).

Have you resolved this issue?

@HackShitUp No I haven't. I moved on with using a different library.

@Awalz actually, I believe Autolayout constraints used in Storyboard for previous versions of SwiftyCam worked perfectly fine...

I believe they did as well. The current demo project there are no constraints and the buttons are not present in the Storyboard. They are created programatically with some lazy, static coordinate frames. I will update it to use auto layout in a future version

@Awalz awesome. Thank you!


Undefined method color? for TTY::Screen::Class

Hello,
I have a code complaining as soon as I call prompt = TTY::Prompt.new.
Here is the trace:
avril14th@avril14th:~/src/white2$ rake admin:organization:create
rake aborted!
NoMethodError: undefined method `color?' for TTY::Screen:Class
/home/avril14th/.rvm/gems/ruby-2.2.3/gems/pastel-0.5.2/lib/pastel/color.rb:24:in `block in initialize'
/home/avril14th/.rvm/gems/ruby-2.2.3/gems/pastel-0.5.2/lib/pastel/color.rb:24:in `fetch'
/home/avril14th/.rvm/gems/ruby-2.2.3/gems/pastel-0.5.2/lib/pastel/color.rb:24:in `initialize'
/home/avril14th/.rvm/gems/ruby-2.2.3/gems/pastel-0.5.2/lib/pastel.rb:32:in `new'
/home/avril14th/.rvm/gems/ruby-2.2.3/gems/pastel-0.5.2/lib/pastel.rb:32:in `new'
/home/avril14th/.rvm/gems/ruby-2.2.3/gems/tty-prompt-0.3.0/lib/tty/prompt.rb:57:in `initialize'
/home/avril14th/src/white2/lib/tasks/admin.rake:9:in `new'
/home/avril14th/src/white2/lib/tasks/admin.rake:9:in `block (3 levels) in <top (required)>'

I use tty-prompt 0.30 in a Rails 4.2.5 app.
As it turns out (https://github.com/peter-murach/tty-screen/blob/8c325a4566669c28f33bc28ff2b13831cbc22bf3/CHANGELOG.md#v050---2016-01-03) support for color detection has been removed from TTY::Screen and added a separate gem. Either update dependency or remove call should do it. (I'd say second choice makres sence ;D)

Temporarify fix for anyone hitting:
TTY::Screen.instance_eval do # Remove when bug in pastel is fixed
  extend TTY::Color
end

of course.

Thanks a ton for spotting this issue! I have released v0.5.3 that fixes versioning for the dependencies. By proxy this fixes the tty-prompt gem.


Unable to connect to the server

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Steps to Reproduce
https://app.cvat.ai/
Tried Login with Assigned ID
after login we are receiving the issue
Issue Pop-up : Cannot connect to server (screenshot attached)

Expected Behavior
No response
Possible Solution
Requesting you to resolve this issue as soon as possible.
Context
No response
Environment
No response

Issue has been resolved, Thank you


Webhook does not work as expected

Hello,
We decided to use Spark Operator to manage multi-tenant environment on an Openshift cluster 4.2.
For this reason we chose to deploy a spark operator in a namespace called tenant-admin that watches Spark Applications on another namespace called tenant-worker.
We launched the spark operator on tenant-admin namespace with the following configuration:
image: gcr.io/spark-operator/spark-operator:v2.4.4-v1beta2-latest
args:
        - '-v=4'
        - '-logtostderr'
        - '-stderrthreshold=INFO'
        - '-enable-metrics=true'
        - '-metrics-labels=app_type'
        - '-namespace=tenant-worker'
        - '-ingress-url-format={{$appName}}.tenant-worker.apps.my.cluster.net'
        - '-enable-webhook=true'
        - '-enable-resource-quota-enforcement=true'
        - '-controller-threads=10'
        - '-resync-interval=30'
        - '-webhook-fail-on-error=true'
        - '-webhook-svc-name=spark-op'
        - '-webhook-svc-namespace=tenant-admin'
        - '-webhook-namespace-selector=namespace-name=tenant-worker'

The Spark Operator works fine and we validated it launching several applications in the tenant-worker namespace.
After several sequential submissions of the same application, we face up a recurrent issue:
the webhook does not seem work anymore and each new attempt of application fails because the configMap is not mounted
In the logs, we don't have a lot of information. We noticed only the present of the following lines when the webhook works correctly
I0224 09:09:17.725312      10 webhook.go:246] Serving admission request
I0224 09:09:17.725706      10 webhook.go:556] Pod spark-test-app-driver in namespace tenant-worker is subject to mutation

Only restarting the spark Operator pod seems to resolve temporarily the issue.
How could we debug the issue ? Is it possible to change the log level for webhook ?
Thanks
Alessio

You might need to dig into the logs of the k8s API server to find out what happened when calling the webhook for mutating requests. This sounds to me like an environment issue.

Cross-posting here that #815 has a potentially related issue with the web hook that may have a common source problem.  That issue has a test case that exhibits behavior regression with the enableWebhook feature.

@liyinan926 we are also observing this same issue . We checked API server logs and there are connection refused messages seen in API server logs while trying to call webhook, restart of spark operator pod resolves the problem. Can you help in isloting this issue ?


Create extension methods on Remote[Fractional]

fixes #77

 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.

@ShrutiVerma97 Looks Good. Could you please sign the CLA?


add lifecycle on pod_template

Request
We running alloy in daemonset to collect pod logs.
We use AWS spot node, it often was  removed. But the alloy pods recycled faster then other pods, it will cause some log didn't send to loki.
Can you help add lifecycle and terminationGracePeriodSeconds to pod_template?
lifecycle:
  preStop:
    exec:
      command: ["sleep", "30"]

Use case
Can you help add lifecycle and terminationGracePeriodSeconds to pod_template?
terminationGracePeriodSeconds: 60
lifecycle:
  preStop:
    exec:
      command: ["sleep", "30"]

This is a duplicate of #1140

Here's a PR that adds these features: https://github.com/grafana/alloy/pull/1774


Changed comparison to be ge rather than gt

Currently it will result in an exception and a warning in the database, so it's not that bad, but unless there's a special reason I'm missing it should be >=
Warning that occurs without this fix:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

Thanks!
Luigi


Cannot collapse "MESSAGES" section

Issue Type: Bug
When clicking the triangle/arrow to toggle the MESSAGES section at the bottom of the screen closed, it doesn't collapse the space, just hides the content and cannot be dragged down to collapse it manually.
Screenshot of collapsed section

Azure Data Studio version: Azure Data Studio 1.4.5 (887f4e8985023602e599cf86bdb44df48bb28569, 2019-02-12T06:09:15.672Z)
OS version: Darwin x64 18.2.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (8 x 2600)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (2.33GB free)

Process Argv
/Applications/Azure Data Studio.app/Contents/MacOS/Electron

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

agent
Mic
0.36.1

server-report
Mic
0.1.4

whoisactive
Mic
0.1.1

sql-search
Red
0.2.1

@mrlife we're tracking this issue with https://github.com/Microsoft/azuredatastudio/issues/3177 and https://github.com/Microsoft/azuredatastudio/issues/3696.  In summary, the messages will collapse to the bottom if there are enough rows to fill the available space, otherwise it collapses directly below the space required by the resultset grid.  We're moving message to its own tab which should eliminate this problem.  Please see referenced issues for additional discussion.  Thanks!


script kiddies republish my open sources

script kiddies republish my open sources
name arsulm or  whatever fucken leecher

No


tinytga and tinybmp dependencies

TGA and BMP support in e-g consists of code in the tinytga and tinybmp crates and additional code inside e-g itself. This way e-g needs to depend on every supported image format which isn't very scalable if other formats get added in the future.
I would suggest to move all format  depended code out of e-g into the tinytga and tinybmp crates and add an embedded-graphics feature to them. E-g would need to provide some interface that these external crates can implement. This would also serve as an template for other image format crates.

This way e-g needs to depend on every supported image format which isn't very scalable if other formats get added in the future.

I... actually think this is ok. What scaling problems might there be? There are quite a few formats out there, granted, but I think the number e-g will support will pretty much always stay in the single digits. It also gives e-g the freedom to (for example) choose between multiple JPEG libraries that don't have to know what e-g is.
I did it this way round so that only one dep and list of features is required, instead of having to provide embedded-graphics and then tinybmp with features = ["embedded-graphics"]. IMO tinybmp and tinytga should remain e-g agnostic, with e-g pulling them in as required.
That said, the tiny* crates could probably do more to support e-g's use case, so there's not so much duplicated in e-g.

What scaling problems might there be? There are quite a few formats out

Some of these format might only be useful for a limited use case, like an specialized internal file format for a single project. Such a format shouldn't be added to e-g which means that the user has to implement their own version of the image drawable, which could otherwise be provided by e-g.

It also gives e-g the freedom to (for example) choose between multiple JPEG libraries that don't have to know what e-g is.

That's a good point. But for such cases an adapter crate could be implemented, which contains the e-g specific code.
IMO both ways have their benefits and it depends on how you look at e-g in general. I like to think of e-g as a core component which can be extended by adding external crates. Display drivers already work this way and external font rendering engines would also benefit from this approach. That's the reason I suggested a similar implementation for images.

That said, the tiny* crates could probably do more to support e-g's use case, so there's not so much duplicated in e-g.

That's something I wanted to address, independent of this. tinybmp should at least provide a pixel iterator like tinytga IMO.

IMO both ways have their benefits and it depends on how you look at e-g in general. I like to think of e-g as a core component which can be extended by adding external crates.

We're definitely aligned on that. This has been a vision of mine from day one. As long as something can be turned into an Iterator<Item = drawable::Pixel> then any e-g implementing display driver can draw it.

tinybmp should at least provide a pixel iterator like tinytga IMO.

Definitely. #235 opened.


feat: add docker support.

I built a docker image for nvimdots: https://hub.docker.com/repository/docker/ayamir/nvimdots/general

close because it seems meaningless...


Amp v3 with ext-fiber support

The author and ext-async extension disappeared for unknown reasons https://github.com/concurrent-php/ext-async, which is very sad.
Thanks to others, the fork is available: https://github.com/dreamsxin/ext-async
@kelunik is there still a plan to implement the 3rd version with ext-async support?
Here are some mentions about 3rd version plans:

https://github.com/amphp/amp/issues/253#issuecomment-449875440
https://github.com/amphp/amp/issues/229#issuecomment-448705155

Thanks!

The plan still exists, but not sure when that will happen.

The coroutinue implement by third-party extension is not a good choice for amphp I think.
There's a coroutinue extension for php is swoole, and pure php implement is amphp.
One of the biggest advantages for amphp is no extension required.
I like pure php implements, I've been development a coroutinue framework by Workerman+Amphp, but unfortunately amphp v3 use an extension "ext-fiber".
If depend an extension is amphp's future, I will choice another framework Hyperf...

@xpader We plan to make ext-fiber part of php-src.

@kelunik Wow!!! Does it mean that v3 can be released depends on whether ext-fiber can enter php-src?
But PHP 8.0 is RC now..

It's not going to be part of PHP 8, but maybe PHP 8.1.

@kelunik is there anything that might help you to bring such a great plan to live?

The coroutinue implement by third-party extension is not a good choice for amphp I think.
There's a coroutinue extension for php is swoole, and pure php implement is amphp.
One of the biggest advantages for amphp is no extension required.
I like pure php implements, I've been development a coroutinue framework by Workerman+Amphp, but unfortunately amphp v3 use an extension "ext-fiber".
If depend an extension is amphp's future, I will choice another framework Hyperf...

@xpader ext-fiber is not just a coroutine implementation, it implements fibers (or green-threads), allowing the entire execution stack to be swapped, not just the PHP VM stack, but the entire C stack.
Swoole's coroutines are interesting, but the interface is clunky and the entire library strikes me as poorly thought-out and bloated. ext-fiber works in the background, requiring few changes to existing code. Existing sync interfaces could be implemented as async versions.
With ext-fiber I intend to continue with Amp's tradition implementing most components in PHP and putting only that which is necessary in extension code. Hopefully we will be able to integrate ext-fiber into PHP 8.1 as @kelunik suggested.

@kelunik is there anything that might help you to bring such a great plan to live?

@dbalabka We could certainly use help in further testing and code review of ext-fiber (I'm still learning PHP internals and I probably did something wrong somewhere 😄). We could also use help with proposing the ext for integrating into PHP. The API is a bit unlike existing fiber implementations, but we think it makes sense for integrating with an event loop. I'd prefer feedback at this stage, rather than after proposing it to internals.

@trowski I'm ready to help with testing.

Is there a repo where I can see the progress of ext-fiber? It would be a big step for async php.
I'm no C programmer but if there is any other way to help, I'd be happy to.

@trowski I've found that there is another async/await PHP support development happening:

https://github.com/concurrent-php/demo
https://github.com/concurrent-php/php-src/pull/1

@trowski I've found that there is another async/await PHP support development happening:

https://github.com/concurrent-php/demo
concurrent-php/php-src#1

Interesting, I think he had posted something similar some time ago. I'm not sure what his intention is. He originally authored ext-async, but eventually dropped it. Doesn't change my plans to keep moving forward with ext-fiber, the approach is a bit different.

Is there a repo where I can see the progress of ext-fiber? It would be a big step for async php.
I'm no C programmer but if there is any other way to help, I'd be happy to.

@trowski I'm ready to help with testing. I’m not C developer but can run this extension on my code.

The code is at https://github.com/amphp/ext-fiber. There's tests in the repo and PRs for more tests would be appreciated.
There are ext-fiber compatible branches of most of the Amp libraries as a vX branch, (e.g. v3 in amphp/amp, v2 in amphp/postgres) so you can require them with vX-dev in composer.
Take a look at the various examples in the Amp repos to see how boilerplate code may need to be changed/eliminated. If you have questions, let me know here or in chat and I can take a look. Promises have largely been eliminated from public APIs, so in general you'll need swap to returning proper types from functions instead of promises, probably removing a lot of calls to Amp\call() and dropping yield in front of calls previously returning promises.

Can you improve the readme of the extension with some info how to compile it and run the tests? What kind of tests would you like?

Sure, I can add that. It's like many PHP extensions:
phpize
./configure
make
make install

#run tests with:
make test

# add "extension=fiber.so" to your php.ini for running any script:
echo "extension=fiber.so" >> "$(php -r 'echo php_ini_loaded_file();')"

It must be compiled against PHP 8.0-RC1 or later.

Note that you no longer need the .so suffix, it'll be added automatically.

@trowski cloned and successfully compiled the extension, tests are passing... what's the current status of amphp/http-client? the last commit is wip, does that mean it's not yet expected to work with fiber?

 I force-pushed a new commit to that branch, http-client should work with ext-fiber now.

With ext-fiber, do we still need an extension for loop (uv/event/ev) and filesystem (uv/io)? So far none of these are compatible with PHP 8 but I'm unsure if it's relevant with fiber.

Yes, nothing changes there.

Reading your RFC I have a bit of a problem understanding your async() function and keyword. I understand that await() will replace current yields but what is the use-case for async()? Where in actual code would I need to use it? Can you provide some example of user-land code using let's say amphp/http-client, amphp/postgres or amphp/file to demonstrate when I need to use the async() function? I think I mainly need to see the same code written with amphp v2 and amphp v3 to understand this.

async() is used when you want to start a new fiber (a.k.a. green-thread or coroutine) and await the result at a later time. It is essentially the v3 equivalent of Amp\call().
A good example of this is concurrent fetches using http-client: Amp v2 vs. Amp v3.
Similarly, defer() in v3 is analogous to asyncCall() in v2, for when you want to create a fiber that doesn't produce a usable result, but carries out a separate task that should run concurrently.

I wouldn't say async is the equivalent of call. Call is basically no longer necessary. Async is needed where you want to do things concurrently.

Equivalent was a poor word choice there, since we used call() more generally to return promises from functions/methods.
@enumag async(function () { … }) is more of a replacement of new Coroutine((function () { … })());, but the Coroutine constructor was never used like that, instead call(function () { … }) was used. Keep in mind that functions/methods in v3 generally won't return promises anymore, so usage of async() will be much more rare compared to call(), only being used when explicit concurrency is required.

Tbh you got me worried for a while there with "async() is ... essentially the v3 equivalent of Amp\call()." :-D Because my understanding was that call will be unnecessary. But your other comment and the http-client explain it fine I think. Thanks!
I really hope the RFC will pass. Thanks for your hard work on that!

Right, the boilerplate needed to use yield in functions/methods and return a promise won't be necessary, but there were use-cases for call() outside of that. Those cases, like the linked example in http-client, still make sense in v3 and that's where async() will be used instead. Sounds like the example demonstrated that well. Sorry to have caused confusion, I'm good at that it seems!

Hmm... another question maybe... Since most code won't directly work with promises and return them, does it mean that amphp v3-based code will use less await() calls than amphp v2-based code used yields? In v2 it was a good practice to return a Promise and not a Generator - at least in the public API of any given class. This caused everything returning a Promise and in turn all calls using yields. But my understanding of v3 so far is that only IO and similar blocking operations will actually return a Promise / Awaitable, but this will no longer be the case in the rest of the code. So if I understand it correctly await() should also appear less often than yield did in v2, although it willn't be as significant reduction as call() to async()?

await() will rarely be used – most typically in cases where async() is used to later await the promise returned.
I/O operations in v3 do not return promises, they return the "proper" type (e.g., InputStream::read() returns a string and the query methods in the sql libraries return Result objects).
Promises will sometimes be used internally for async I/O, such as this method in amphp/postgres, where await() is used to return a Result object instead of the promise from the deferred.
Returning promises will be generally discouraged in v3. Functions should use await internally to return actual values instead. This isn't quite analogous to the v2 rule that public API should never return generators, only promises. In v3 there will still situations where a promise in a public API may make sense, but they will be rare.
So the short answer to your question is yes, await() will appear far less often than yield.

Oooh, okay, that's even better than I thought. 👍 Do you have some rule or example where returning a promise in public API will make sense?

No concrete rules yet, this is all still pretty new. 😃
The only example I can think of in v3-compatible code is the Gateway interface in websocket-server for the methods that communicate to many clients. Those methods still return promises since awaiting them is not likely to be desired, but the promise still provides to ability to do so.
So as an initial "rule", I would suggest that returning a promise makes sense when awaiting the operation is usually not desired.

Is the plan that v3 requires ext-fiber or it's integration into php-src?
How far away is an alpha release for v3?

Is the plan that v3 requires ext-fiber or it's integration into php-src?
How far away is an alpha release for v3?

@Sarke All of that most likely depends on what the PHP devs say to the Fibers RFC, whether or not it gets accepted and when that decision is made. Currently the discussion is rather quiet - presumably the PHP devs didn't have time to look into it yet due to christmas vacations. At this point it's very likely impossible to answer your questions because it doesn't depend on just the Amphp team.

@Sarke All of that most likely depends on what the PHP devs say to the Fibers RFC, whether or not it gets accepted and when that decision is made. Currently the discussion is rather quiet - presumably the PHP devs didn't have time to look into it yet due to christmas vacations. At this point it's very likely impossible to answer your questions because it doesn't depend on just the Amphp team.

So can I therefore infer that the current plan is to have the RFC accepted and then complete amphp v3 with those fibers as a requirement (and min PHP version 8.1)?

So can I therefore infer that the current plan is to have the RFC accepted and then complete amphp v3 with those fibers as a requirement (and min PHP version 8.1)?

Yes, though the extension can also be installed on PHP 8.0.

Yes, though the extension can also be installed on PHP 8.0.

@trowski Reacting to your last message in the Fibers RFC discussion. (Sorry for doing it here, I have no idea how to send something there.)

Profilers that manage their own stack of frames will have to be modified to account for fibers.

I think this is worth mentioning in the Are fibers compatible with extensions section of the RFC (or a new separate section). Not the details ofc, just the fact that it does have an impact on profilers.

@trowski Reacting to your last message in the Fibers RFC discussion. (Sorry for doing it here, I have no idea how to send something there.)

Profilers that manage their own stack of frames will have to be modified to account for fibers.

I think this is worth mentioning in the Are fibers compatible with extensions section of the RFC (or a new separate section). Not the details ofc, just the fact that it does have an impact on profilers.

Do we think this RFC will pass without the extension being stable in the wild for a bit?
I'm available for testing if you need help with that.  We manage about 200 sites and a few webapps, and I would really like to use the benefits of this once it is more stable.  Let me know.

Do we think this RFC will pass without the extension being stable in the wild for a bit?
I'm available for testing if you need help with that.  We manage about 200 sites and a few webapps, and I would really like to use the benefits of this once it is more stable.  Let me know.


Support for the max option to parse only a number of rows

This PR adds the option --max can specify a maximum number of rows to parse.
After which the stream pushes null once and filters out everything it consumes.
Thanks for your attention!

Couldn't you just limit the number of lines being fed to csv-parser (something like head -n <max>), or use a counter outside of csv-parser that calls .destroy() once it gets enough lines? This option doesn't seem like something that should need to be tightly coupled to this package.

@slang800 it is a good point.
Many thanks for suggesting to use .destroy:
I am actually extending the Parser to run some checks on the cells before they are emitted as a Row. Invalid data is ignored and later reported to the user.
After too many errors and ignored rows, it will tell the Parser to stop processing the file all together.
I'll use .destroy() to do just that then.
For the command-line we would have to be careful as head -n would not make the difference between a new line in a quoted cell and an actual new line.
In another use case of the csv-parser, I am actually overriding enough of it to purely use it as a csv-line counter... that is aware of quoted newlines.


Get a telemetry client

This is deprecated:
           private TelemetryClient telemetry = new TelemetryClient();
Read more here https://github.com/microsoft/ApplicationInsights-dotnet/issues/1152
The recommended way to create a client is
        var config = TelemetryConfiguration.CreateDefault();
        var telemetry = new TelemetryClient(config);

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

ID: 401d2997-0fbd-7966-8996-edbaab1819ff
Version Independent ID: c3ee3318-4c69-8ded-a8d5-5059d699351b
Content: Application Insights API for custom events and metrics - Azure Monitor
Content Source: articles/azure-monitor/app/api-custom-events-metrics.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@mchudinov Thank you for bringing this to our notice, we will review and update the document accordingly.

@mchudinov Thanks again for bringing this to our notice, currently the documentation  have referenced to the microsoft/ApplicationInsights-dotnet#1152 in case anyone is seeing this method is obsolete messages.

However we acknowledge that the document can be further enhanced to use the recommended way of creating the client.
For now will close this thread, but will take this feedback with our document author @mrbullwinkle to have a backlog item to enhance the document.
If you have any further queries please tag us in your reply and will be happy to reopen the thread and continue the conversation. Thank you


Minim 1.0.0

Per issue #81, it seems like a good idea to move forward to 1.0.0 as soon we can. I've tried to go through and put the issues under the milestone of 1.0.0 that seem to be important to complete before we say "this is stable."
In addition that, I'd be really interested in other's thoughts. Is there anything else? Should any of the issues I've added not be considered?

I am wondering if we want to sync up with https://github.com/refractproject/rfcs/pull/13

@pksunkara Do you mean move this to the RFC, or to include things from the RFC for 1.0.0?

Or timing?

When we release refract v1, I think we should do minim v1 which fully supports refract v1. But I also doubt that we should actually do that since there can be a backward incompatible changes in minim unlike refract for further versions. A minor version change in refract change can lead to major version change in minim.
What do you think?

I like the idea of them both going to 1.0.0 at around the same time. My hope is that 1.0.0 for both of them is more so just establishing the API is now stable. I think we should try to make it where going to it is a relatively small thing.
But I also agree, I don't think we can keep the version numbers in step with each other.


writing multiple files from the logCB

Hi,
In the logCB i write multiple files based on some index that i send with each logged message.
Currently i write the index first and in the logCB i search for it through the message received. Then i convert to int, print remaining message to coresponding file...etc
Is there any more elegant way to do this, maybe with fmt::named tags and reading by name in the logCB?
thank you,

I've put that in the SPSCVarQueueOPT.MsgHeader along with logId and size. But not sure if it's the best thing since i break the perfect 64byte aligned MsgHeader :p

You can also try splitting the uint32_t logId into two uint16_t, one for logId and one for the index, if the number of log statments is less than 65535


Add Codecov Support

It would be nice to get some notion of Code coverage for this module, but I'm not sure how to install Gurobi in a GitHub action.

Gurobi.jl might have some ideas here: their CI yaml file.
It might be possible to build a Docker container from the provided optimizer image using a combination of this Docker container approach and this Docker container.

Maybe we can start a branch to address this!

Added support through a manual process in Pull Request #6 . If we can figure out a way to get the licensing issues resolved, then maybe we can make it a GitHub action later.


feat: add cloudnative pg on default installation

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Create Venus

What is the purpose of this file?

I need to create a file wherein I can redirect the API JSON outputs here.
Regards
Venu
From:	Jake Peyser<EMAIL_ADDRESS>To:	IBM-Bluemix/real-time-tone-analysis
<EMAIL_ADDRESS>Cc:	Venugopal E Kadankot/India/IBM@IBMIN, Author
<EMAIL_ADDRESS>Date:	08/24/2016 01:02 AM
Subject:	Re: [IBM-Bluemix/real-time-tone-analysis] Create Venus (#31)
What is the purpose of this file?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok this does not need to be merged into the origin repo


Cherry pick race condition fix

Processing this pull request

Merged into branches iso4 in 8f9b6196030c7faf7f24597e3ec6b8f7d34c831a

Processing #2807.


Adding CODE_OF_CONDUCT.md

@drkennetz  can you please check this and letting me know is this right or you want some changes?
Also, Can you please provide me your email address I have to mention that in CODE_OF_CONDUCT.md in line NO. 51.

Closes #13


Add fallback copy operation when fs.copyFileSync doesn't exist

Close #27

Thank you. I had to make some CI fixes for macOS but it should work now.


✘ [ERROR] Expected value for define "process.env.NODE_ENV" to be a string, got undefined instead

Hey guys! I am trying to move away from Contentlayer, but I can't build the content anyone knows why?
I've used bun and pnpm, and both got the error below.
projectfolder/node_modules/.pnpm/esbuild@0.19.12/node_modules/esbuild/lib/main.js:300:10:
      300 │     throw new Error(`Expected value for ${what}${key !== void 0 ? " " + quote(key) : ""} to be a string, got ${typeof value} ...
          ╵           ^

command: "build:content": "content-collections build"
Try with node 19, 20 and 21
node v21.6.1 (npm v10.2.4)
I also use @t3-oss/env-nextjs
content-collections.ts
import { defineCollection, defineConfig } from '@content-collections/core'
import { compileMDX } from '@content-collections/mdx'

const posts = defineCollection({
  name: 'posts',
  directory: 'content/blog',
  include: '*.mdx',
  schema: (z) => ({
    title: z.string(),
    description: z.string(),
    date: z.string(),
    image: z.string(),
    authors: z.array(z.string()),
    published: z.boolean().default(true),
    tags: z.array(z.string()).optional(),
    category: z.array(z.string()).optional(),
    toc: z.boolean().default(false),
  }),
  transform: async (document, context) => {
    const body = await compileMDX(context, document)
    return {
      ...document,
      body,
    }
  },
})

export default defineConfig({
  collections: [posts],
})

It looks like there is a problem in the cli with the new version. I will check this. It looks like you are using Next.js, you could try the Next integration.

@johanguse the issue should be fixed with the version 0.1.3 of the @content-collections/mdx package.


v1.12 Backports 2023-07-06

[ ] #26139 (@PhilipSchmid) :warning:  Resolved manually as file was under different path in v1.12.

Once this PR is merged, you can update the PR labels via:
for pr in 26139; do contrib/backporting/set-labels.py $pr done 1.12; done

or with
make add-labels BRANCH=v1.12 ISSUES=26139

Note that this also picks up most of the changes from https://github.com/cilium/cilium/pull/23616.


Minor changes in Lab1 to Lab 6

Module: 1 to 4
Lab/Demo: Lab 1 to 6
Fixes # .
Changes proposed in this pull request:
Lab1

Corrected Solution name

Lab2

Updated Table creation path
Minor text changes for label 'Display name'

Lab3

removed unnecessary instruction
Updated the images for task 1.2 as per new UI

Lab4

updated task 1.4 to correct field name to 'Name' from 'label'

Lab5

Minor text changes

Lab6

Added new instruction to add one more next

@sign-off


Cannot input non integer values

Whenever I try to input a non integer value it is always interpreted as an integer.
For example, if I input 0.025 it becomes 25.
I assume it has to do with my system language (Portuguese) using the character "," instead of "." for decimals. Changing the in-game language doesn't fix it, though.
Please let me know if I can help track down what causes the issue in any way.

thats an owml bug. the solution is allowing menus to use ,
owml input uses the system language and not the in game language, so that's why that didn't fix it


adding more max text

Hello, i've installed the addon onto my server and its working fine, i wanted to make the max textscreen amount higher, i looked all over online and found out how but theres no files to edit.
I tried to extract the files but instead of 1 folder i got 3-4 different files/folders
so i played around with it moved things around put things in certain places but nothing.
im using WinSCP to transfer files. Please help me~!

Hi there,
Firstly, don't extract the addon - no support is offered for this setup, and we recommend you only install it through the Workshop.
As for increasing the number of max textscreens though, check out the description of this addon:

sbox_maxtextscreens controls the maximum amount of text screens that each player can spawn. This defaults to 1. This cvar only exists on the server, so make sure it's set via RCON, or in something like server.cfg.

So simply add something like sbox_maxtextscreens 10 to your server.cfg file on a new line and restart your server.

ive tried that, but every time i restart the server its no longer in the server.cfg. Basically just gets deleted every time i restart.

You must have something else interfering on your server, sorry. On a fresh vanilla install, the above instructions work fine for me. If you can provide me steps to replicate the issue on a freshly installed gmod server, I'd be happy to take a closer look.

ill try and take out all the addons and see if that changes anything

Okay that seemed to work,

these are my addons when it WASNT working

Nothing from lua can edit server.cfg meaning that none of these addons is able to break it from being the cfg file.
Make sure you are saving the file, you can check if it is set by putting "sbox_maxtextscreens" in the server console and checking the number after the "="


Refresh access token failed with status code: 401

Project
Name: Virtual Assistant
Language: C#
Description
My bot does not deploy according to the documentation. Testing with the bot emulator results in POST 400 directline.postActivity with the contents
{
  "error": {
    "code": "ServiceError",
    "message": "Refresh access token failed with status code: 401"
  }
}

To Reproduce

Follow the documentation at https://github.com/microsoft/AI/blob/master/docs/tutorials/csharp/virtualassistant.md.

Manually create the application registration and password.

For the deployment step, use something like
.\Deployment\Scripts\deploy.ps1 -name "goose-the-cat" -location "westus" -luisAuthoringKey "xxx" -luisAuthoringRegion "westus" -resourceGroup "goose-the-cat" -appId "xxx" -appPassword "xxx"

because you manually created the application registration.

Finish following the instructions at https://github.com/microsoft/AI/blob/master/docs/tutorials/csharp/virtualassistant.md.

It won't work!

{
  "error": {
    "code": "ServiceError",
    "message": "Refresh access token failed with status code: 401"
  }
}

Expected behavior
To be able to send messages to the bot.
Screenshots

Additional context
Followed the directions to a T. Really not sure what's going on. To further complicate the issue, I've followed the directions to a T earlier today, and it worked.

Hi Eric,
Looks like you manually created an AppId/Password on the AD application. Did it prompt you to do this as this should be auto-created for you. If you did create it, can I confirm you performed the manual creation steps detailed in the docs (namely the  Accounts in any organizational directory)
https://github.com/microsoft/AI/blob/master/docs/tutorials/assistantandskilldeploymentsteps.md
If so, can you validate that your emulator instance has the same appid/secret as in appsettings.config?

I have tried with the automatic creation and the manual creation. I will say that with the automatic creation, I don't see the app registration in my Azure directory.
I confirm that I did indeed set it to accounts in any organizational directory.
I can also validate that the app ID and secret are identical to that found in appsettings.config (which is also the same as what's found in the Azure Portal with the manual creation).

OK - adding support as this appears to be another variation on MSA App/Emulator issue perhaps? To also double check can you confirm the template version you have installed. Some deployment script changes were made on Monday but suspect you have this already.

Pointer to latest just FYI is here in case you have an older template: https://github.com/microsoft/AI/tree/master/templates/Virtual-Assistant-Template/csharp/Sample/VirtualAssistantSample/Deployment/Scripts
visual

Looks like I'm up to date with the template version.

I just uninstalled all of Node.js and reinstalled (who knows what's going on---I can't tell at all from the lack of the solution breaking and the error messages inside the bot emulator).
PS C:\Users\eric.a.hansen> npm install -g botdispatch<EMAIL_ADDRESS>luis-apis qnamaker<EMAIL_ADDRESS>botskills
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

><EMAIL_ADDRESS>preinstall C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> node dotnetpreinstall.js

C:\Users\eric.a.hansen\AppData\Roaming\npm\dispatch -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\botdispatch\bin\dispatch.js
C:\Users\eric.a.hansen\AppData\Roaming\npm\botskills -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\botskills\lib\botskills.js
C:\Users\eric.a.hansen\AppData\Roaming\npm\ludown -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\ludown\bin\ludown
C:\Users\eric.a.hansen\AppData\Roaming\npm\luis -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luis-apis\bin\luis.js
C:\Users\eric.a.hansen\AppData\Roaming\npm\qnamaker -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\qnamaker\bin\qnamaker.js

><EMAIL_ADDRESS>install C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> dotnet tool install -g LUISGen

Tool 'luisgen' is already installed.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: `dotnet tool install -g LUISGen`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\eric.a.hansen\AppData\Roaming\npm-cache\_logs\2019-05-09T04_54_55_939Z-debug.log
PS C:\Users\eric.a.hansen> npm list -g botdispatch ludown luis-apis qnamaker luisgen botskills
C:\Users\eric.a.hansen\AppData\Roaming\npm
+--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>
That doesn't look good?

Attempting redeployment again after all this npm business. If this works, then might want to update docs to 1st run dotnet tool uninstall LUISGen --global.
PS C:\Users\eric.a.hansen> dotnet tool uninstall LUISGen --global
Tool 'luisgen' (version '2.0.2') was successfully uninstalled.
PS C:\Users\eric.a.hansen> npm install -g<EMAIL_ADDRESS>
><EMAIL_ADDRESS>uninstall C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> dotnet tool uninstall --tool-path tools LUISGen

Tool 'luisgen' (version '2.1.0') was successfully uninstalled.

><EMAIL_ADDRESS>preinstall C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> node dotnetpreinstall.js

><EMAIL_ADDRESS>install C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> dotnet tool install -g LUISGen

You can invoke the tool using the following command: luisgen
Tool 'luisgen' (version '2.1.0') was successfully installed.
+<EMAIL_ADDRESS>updated 1 package in 3.038s
PS C:\Users\eric.a.hansen> npm install -g botdispatch<EMAIL_ADDRESS>luis-apis qnamaker<EMAIL_ADDRESS>botskills
npm WARN deprecated<EMAIL_ADDRESS>This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).

><EMAIL_ADDRESS>uninstall C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> dotnet tool uninstall -g LUISGen

Tool 'luisgen' (version '2.1.0') was successfully uninstalled.

><EMAIL_ADDRESS>preinstall C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> node dotnetpreinstall.js

C:\Users\eric.a.hansen\AppData\Roaming\npm\dispatch -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\botdispatch\bin\dispatch.js
C:\Users\eric.a.hansen\AppData\Roaming\npm\botskills -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\botskills\lib\botskills.js
C:\Users\eric.a.hansen\AppData\Roaming\npm\ludown -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\ludown\bin\ludown
C:\Users\eric.a.hansen\AppData\Roaming\npm\luis -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luis-apis\bin\luis.js
C:\Users\eric.a.hansen\AppData\Roaming\npm\qnamaker -> C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\qnamaker\bin\qnamaker.js

><EMAIL_ADDRESS>install C:\Users\eric.a.hansen\AppData\Roaming\npm\node_modules\luisgen
> dotnet tool install -g LUISGen

You can invoke the tool using the following command: luisgen
Tool 'luisgen' (version '2.1.0') was successfully installed.
+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+<EMAIL_ADDRESS>updated 6 packages in 15.972s
PS C:\Users\eric.a.hansen> npm list -g botdispatch ludown luis-apis qnamaker luisgen botskills
C:\Users\eric.a.hansen\AppData\Roaming\npm
+--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>

The npm idea did not fix my problem. I'm seeing the same behavior.
{
  "error": {
    "code": "ServiceError",
    "message": "Refresh access token failed with status code: 401"
  }
}

@ericchansen CC: @darrenj
I just followed all of the steps in the REAMDE and was unable to produce the 401 error.

I did notice, however, that the powershell command fails if the bot files are in a directory with a space in the name. Did your Powershell command complete successfully?

401 is almost always a mismatched appId/appPassword. You've stated that they match in your App Registration as well as appsettings.json. Can you also verify that they match in Azure > App Service > Configuration?

That being said, it looks like you're debugging locally, connecting to localhost. You don't need appId and appPassword for that.

Can you follow the auth troubleshooting instruction here and let me know how it goes?
Is your Emulator up-to-date?

Looks like I'm on 4.3.3. What should I be on?

I can click Help > Restart to Update... but that doesn't actually update the program. It also doesn't restart. It just closes the program and I have to reopen manually.
I'll run through your other suggestions now.

@darrenj I'm curious. When you followed the steps in the documentation, did you manually create the application registration? Did the name of the application registration have anything in common with the name of your bot solution? Was the application registration in the same Azure sub as the other bot resources?

4.4.1 is the latest. May as well update to rule that out. Sometimes the update just doesn't work. You either have to download from that link, or if it says "Restart to Update", you can go to %AppData%\Roaming\@bfemulator\main\__update__ and run the .exe manually.
I'll answer your questions directed @darrenj, for now--he's likely busy with Microsoft Build 2019--Virtual Assistant is a big part of it.
I didn't do the manual creation, but I'll try that now.
I would think that the app needs to be under the same subscription as the other resources, but haven't tested. Will try that, too.
Here's my output of npm list -g botdispatch ludown luis-apis qnamaker luisgen botskills:
+--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>

Apologies for linking the wrong person in my last comment!
Your npm package versions contradict what's in the documentation. You're on ludown 1.3.0 when it should be 1.2.0. Similarly, the docs say we should use luisgen 2.0.2, but you have 2.1.0. I wonder if the docs are wrong or outdated. It's funny though because @darrenj specified those version numbers in the docs yesterday 2873a84c704399215a0f3117533f9cbd3b2fb22b (excerpt below).
npm install -g botdispatch<EMAIL_ADDRESS>luis-apis qnamaker<EMAIL_ADDRESS>botskills

Also, I just ran a deployment on a fresh project (output below). This looks exactly as the docs intend.
PS C:\Users\eric.a.hansen\source\repos\AntaresBot\AntaresBot\AntaresBot> .\Deployment\Scripts\deploy.ps1 -name "AntaresBotInAvanadeSub" -location "westus" -luisAuthoringKey "2499ed45abfe4291add663af2aca28ab" -luisAuthoringRegion "westus" -resourceGroup "AntaresBotInAvanadeSub" -appId "93047bb4-ecbf-425f-bc61-ab82ad03aed5" -appPassword "?HvwJ-Pu2widYo9e6e?[IvcUxMdmzlb5"
> Creating resource group ...
> Deploying Azure services (this could take a while)...
> Updating appsettings.json ...
> Deploying cognitive models ...
> Initializing dispatch model ...
> Parsing general LU file ...

     Update available 1.2.0 -> 1.3.0
     Run npm i -g ludown to update.
> Deploying general LUIS app ...
> Adding general app to dispatch model ...
> Parsing chitchat LU file ...

     Update available 1.2.0 -> 1.3.0
     Run npm i -g ludown to update.
> Deploying chitchat QnA kb ...
> Adding chitchat kb to dispatch model ...
> Parsing faq LU file ...

     Update available 1.2.0 -> 1.3.0
     Run npm i -g ludown to update.
> Deploying faq QnA kb ...
> Adding faq kb to dispatch model ...
> Creating dispatch model...
> Done.

Well I'm extra confused now.

This is with the npm package versions specified in the docs (see below) and Bot Emulator 4.3.3.
npm list -g botdispatch ludown luis-apis qnamaker luisgen botskills
C:\Users\eric.a.hansen\AppData\Roaming\npm
+--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>
Is it possible that there could be transient issues? What possible causes could there be that would cause temporary outage?
Notice that in my Stack Overflow thread on this same topic I commented on how the problem seemed to appear out of nowhere on a deployment that was previously functioning.

Another idea. I can't gaurantee the other tests I did had 100% new names for the LUIS app, app registration, solution name, etc. However, this time I'm sure the name is 100% new. I wonder if the Bot Emulator would reuse an appId or appPassword that was cached somewhere, somehow? Hmm.

Confirmed that it still works with Bot Emulator 4.4.1.

My guess regarding the npm packages is that the latest had some errors--I know there's been a couple issues related to the LUIS tools in the last couple of days. Shouldn't affect this error, though, unless it stops deployment-which it didn't.
Odd that it started working now.
I haven't seen any reported outages in the last couple of days.
I've definitely had issues with some password strings. The README notes that it has trouble with passwords containing @. I know I've had trouble with another password, however (I don't remember what special character gave it the issue). I would guess that this was the issue.
I've re-used names and not had issues before. Could be transient, I guess.
My best guess is that it was either an issue with a special character in a password, emulator caching id/pass in some unexpected way, or IIS Express caching id/pass in some way. Usually, if I'm switching bots with the same endpoints and running into trouble, I restart those and it usually works.
I'm going to close this as it appears to be resolved. If you run into this again, feel free to re-open. And thank you for being willing to troubleshoot and providing so much detail!!


Testing installation

Removed a comment

Can one of the admins verify this patch?

okay there are conflits

mine was outdated, deleted it.

Can you be a bit more specific please

mine was outdated
your what ?

I'm going to reject this because it doesn't add anything (just a few lines removed). However, the build error is still showing up in  build #297 - but I think this is a problem with GCC itself.


Profile links, and links in chat, should open in a new window

Clicking on a twitter or website link in a profile navigates away from the MUD window; these links should be target="_blank", I think?
I'll see if I can open a PR for this.

Oops, Twitter links are fine, they already have the target.

That would be awesome if you wanted to look into this!
For some context, the underlying issue seems to be the library we're using to automatically detect and link-ify links: https://github.com/tasti/react-linkify
For chat links (although not the profile links, I don't think) we're currently specifying target="_blank", although there's obviously something wrong with either the way we're doing this or the library: https://github.com/lazerwalker/azure-mud/blob/main/src/components/MessageView.tsx#L70


Fix missing import for Screenshots

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15631/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15631/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15631/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15631/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15631/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15631/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15631/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15631/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15631/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15631/merge/testResults/webgpuplaywright/index.html

Did screenshots never support WebGPU before?


docs: update wording in application-packaging

Minor tweak, should make the sentence a bit more fluent. Thanks!

:+1:


Background blur disabling it's self after a system reboot

I did run the command on terminal just what it says:
Opening su
applying the background blur
restarting the system UI (the command one on the FAQ)
And after that It works. But when I restarted my phone, the background blur just keeps disabling it's self after a system reboot.

This is not a CPM bug, you need to run those to enable hardware backed blur in the system. Put them in magisk.d

So am I going to create a sh script file with the commands inside of it then put it on service.d folder in /data/adb?

Just did it and it's now working fine. Thank you.


Fix Statsd sink

Currently executor jvm metrics are missing for dd, this fixes the executor metrics for yarn apps by looking at the correct item in parts for executor or jvm logs
@JasonMWhite @Shopify/data-engineers

Are these metrics going to be useful if we don't have the appname? Or do we? Aggregates of jvm heaps not sure how much use they will be even if they are broken down by host.

datadog will super yell at us if we send lots of unique ids again

No, this scrubs the unique app_id but I don't know if it will be useful without something to tell us what jvm is running where.

I misread the substring call. yeah, do it up then.

@udnay yeah I was thinking the same but I don't know a way to bring in app name. I wanted to get this in so I could possibly limit to a host and see how is java heap doing and go from there.

:rocket:

:shipit:

I want to someday get our own datadog or deploy our own statsd receptor and do it actually app wise with really low retention, influxdb or whatever.

:heart_eyes: our own data dog


Investigating flakey tests

I've run and re-run the tests.  The only single failure was a Cypress run which was beyond the scope I signed up for.


[WIP] 1.16.200/100 support

BlockID issues are fixed, the only issues left are the item runtime Id issues

passing! 🎉

At the moment, we have a loader for the new item entries and a map to go between the old ID + meta to the new runtime ID, but we're not sure on how we're going to be able to change the runtime ID back to the old ID and meta and the other way around. This is the only issue we're aware of right now, aside from the commented out blocks that need to be reimplemented.

At the moment, not all blocks are being translated correctly (I'll have to look into how I can fix that later), but after a small update to Gophertunnel (making a PR in a litttle), the inventory seems to work just fine. All that is left right now is reimplementing the blocks that were commented out, fixing the runtime ID translation for some items, and a general code cleanup.

As of right now block registration for multi-state blocks is required and creative items for the create inventory. Tal is currently working out the creative inventory, while I'm finishing the remaining blocks. If anybody is looking for a good starting project, feel free to help contribute to registering the block states

Hi.  I was just trying this fork on Rasp. Pi with client 1.16.201 (Android) but I couldn't get it to connect initially.  After restarting the client did connect but the server immediately crashed;
pi@raspberrypi:~/dragonfly $ go run main.go
INFO[0000] Starting server...
DEBU[0000] Loading world...
DEBU[0001] Loaded world 'World'.
INFO[0001] Server running on [::]:19132.
SnaggyAxis34484 has joined the game
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x12394]
goroutine 54 [running]:
runtime/internal/atomic.goLoad64(0x2ce2154, 0x0, 0x0)
/usr/local/go/src/runtime/internal/atomic/atomic_arm.go:131 +0x1c
go.uber.org/atomic.(*Int64).Load(...)
/home/pi/go/pkg/mod/go.uber.org/atomic@v1.7.0/int64.go:45
github.com/df-mc/dragonfly/dragonfly/player.(*Player).OnFireDuration(...)
/home/pi/dragonfly/dragonfly/player/player.go:817
github.com/df-mc/dragonfly/dragonfly/player.(*Player).State(0x2ce2000, 0x6703d8, 0x2ce2000, 0x2caa420)
/home/pi/dragonfly/dragonfly/player/player.go:1742 +0x2c4
github.com/df-mc/dragonfly/dragonfly/world.showEntity(0x6703d8, 0x2ce2000, 0x6706f0, 0x38000d0)
/home/pi/dragonfly/dragonfly/world/world.go:1453 +0x48
github.com/df-mc/dragonfly/dragonfly/world.(*World).addViewer(0x2ce2340, 0x292b360, 0x6706f0, 0x38000d0)
/home/pi/dragonfly/dragonfly/world/world.go:1344 +0xbc
github.com/df-mc/dragonfly/dragonfly/world.(*Loader).Load(0x2d7e190, 0x4, 0x2, 0x0)
/home/pi/dragonfly/dragonfly/world/loader.go:98 +0x110
github.com/df-mc/dragonfly/dragonfly/session.(*Session).sendChunks(0x38000d0, 0x2d313c0)
/home/pi/dragonfly/dragonfly/session/session.go:245 +0x154
created by github.com/df-mc/dragonfly/dragonfly/session.(*Session).handlePackets
/home/pi/dragonfly/dragonfly/session/session.go:212 +0x78
exit status 2
I see it is WIP and although I don't have the skills to debug/fix I am happy to test potential fixes.

Hi.  I was just trying this fork on Rasp. Pi with client 1.16.201 (Android) but I couldn't get it to connect initially.  After restarting the client did connect but the server immediately crashed;
pi@raspberrypi:~/dragonfly $ go run main.go
INFO[0000] Starting server...
DEBU[0000] Loading world...
DEBU[0001] Loaded world 'World'.
INFO[0001] Server running on [::]:19132.
SnaggyAxis34484 has joined the game
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x12394]
goroutine 54 [running]:
runtime/internal/atomic.goLoad64(0x2ce2154, 0x0, 0x0)
/usr/local/go/src/runtime/internal/atomic/atomic_arm.go:131 +0x1c
go.uber.org/atomic.(*Int64).Load(...)
/home/pi/go/pkg/mod/go.uber.org/atomic@v1.7.0/int64.go:45
github.com/df-mc/dragonfly/dragonfly/player.(*Player).OnFireDuration(...)
/home/pi/dragonfly/dragonfly/player/player.go:817
github.com/df-mc/dragonfly/dragonfly/player.(*Player).State(0x2ce2000, 0x6703d8, 0x2ce2000, 0x2caa420)
/home/pi/dragonfly/dragonfly/player/player.go:1742 +0x2c4
github.com/df-mc/dragonfly/dragonfly/world.showEntity(0x6703d8, 0x2ce2000, 0x6706f0, 0x38000d0)
/home/pi/dragonfly/dragonfly/world/world.go:1453 +0x48
github.com/df-mc/dragonfly/dragonfly/world.(*World).addViewer(0x2ce2340, 0x292b360, 0x6706f0, 0x38000d0)
/home/pi/dragonfly/dragonfly/world/world.go:1344 +0xbc
github.com/df-mc/dragonfly/dragonfly/world.(*Loader).Load(0x2d7e190, 0x4, 0x2, 0x0)
/home/pi/dragonfly/dragonfly/world/loader.go:98 +0x110
github.com/df-mc/dragonfly/dragonfly/session.(*Session).sendChunks(0x38000d0, 0x2d313c0)
/home/pi/dragonfly/dragonfly/session/session.go:245 +0x154
created by github.com/df-mc/dragonfly/dragonfly/session.(*Session).handlePackets
/home/pi/dragonfly/dragonfly/session/session.go:212 +0x78
exit status 2
I see it is WIP and although I don't have the skills to debug/fix I am happy to test potential fixes.

All bugs are finished, just waiting for a review

All bugs are finished, just waiting for a review

POG

POG

Tal is goated

Tal is goated


Fix customer.server.ts protocol function

WHY are these changes introduced? And WHAT is this pull request doing?
The previous protocol replacement was necessary for local testing however it inadvertently resulted in redirect URLs with a https protocol to be replaced with httpss. This PR prevents this from happening.
Checklist

[x] I've read the Contributing Guidelines
[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've added a changeset if this PR contains user-facing or noteworthy changes
[ ] I've added tests to cover my changes
[ ] I've added or updated the documentation

I wonder if this should be targeting 2023-10 instead?

That makes sense, I chose this branch/version as it was referenced in a developer submitted issue. Now that the Customer Account API is no longer in unstable and there are greater efforts to document it, it might not be essential to update these historic examples.


improvements: script to perform port-forward

Overview
Currently we use make port-forward-all as the command to route trafic locally. This can be done better.
From a user perspective, we need easy way get users working with the infra setup.
Proposal
There are a couple of ways we can solve the problem. Here is what the userflow will look like

User creates config.yaml file for spinup helm
User runs make install or helm install against a k8s cluster
User port-forwards all the desiered ports locally: (this can be done in multiple ways):
a. Create a script/port-forward.sh which will take the config.yaml file as input. User then would just run the script.
b. Have some python scirpt to replace spinup and port fowarding
c. Create a starshipd in golang.

Short term
Currently to improve the workflow out of the box, it might make sense to go with a bash script.
Extra note
Registry service needs to be able to adjust based on port forwarding or not. Down the line when we are running scripts and tests inside the cluster, is when we would need to figure more out

Currently closing the issue with the fix with the script that seems to work well. Down the line we can revist this and have a better solution in place.


20190923 chapinhall

Note: I got rid of the "have no idea what this commit is" in "added five more"