[features]: Package Manager Integration and Categorized

Features Describe | 功能描述
As title.
Usage Scenario | 需求背景/使用场景
Clean and selectable.

There's no need to list C# and dotnet, because C# is contained in dotnet, also F#, Visual Basic... I guess same problem occur in other packages.
The connection of each package is missing, for example, rust contains its own version, package manager, so it's independent. As for Node, C, C++, there's a missing exposition for its underneath manager. (fnm could be used on Windows, so for nvm for Windows, we should give the freedom for users.)
There's a fusion of langs and tools, langs and its version manager(npm is installed with node, but pnpm isn't).

Maybe Solutions | 可能的实现方案 - (if you are developer)

Extract info from category of package to categorize.
We need to detect env in each execution of xlings. (Construction of env. Index shouldn't take over the role of env management)
Construction of relation of package for its (general) parents or so (the relation could be general and hierarchy), therefore give the freedom of choosing its manager and detection. (A notion here: node, deno, bun is runtime of js, but it's independent, so doesn't collide, however, nvm and fnm may collide, so parents of a package must be single in a certain env)

Additional context | 额外补充

pre-v0.0.2 already support some features:

1.string match when search installer/package

2.merge alias to ref's version

@Sunrisepeak
I don't mean a pattern match or an alias expansion. I mean the relation of package is vague, and deps isn't enough (for example, node isn't depended on nvm or fnm, they are just the manager. And more explicitly, if we change the version by using the version manager, can xlings detect that?). And I interpret the problem above.

@Sunrisepeak
It's not what I mean. I mean here, every relation of package is vague, not the sibling of a package.
For example, fnm and nvm are both the version manager of node, but node is independent of these version managers.
And if I change the version by fnm or nvm, could xlings detect that?

xvm module will be easy to implement and control when use binary pcakge to install nodejs(or other

xvm module will be easy to implement and control when use binary pcakge to install nodejs(or other

You can't always suppose users do what you want to do. Users may use their own version manager or handle it manually. You need to suppose the worst condition.

now it is not support to detect fnm/nvm's node info.  maybe whereis can get node's path info if it is installed by fnm/nvm

Another problem I mentioned is the collision of (general) parents of a package. (not a sibling of a package), nvm and fnm surely control node, and independent, but only one can exist in same env. (You don't want a multiple version manager in a same env.)

A radical implementation is to preinstall version manager and call the version manager first. The package could transfer a part of role to version manager and maintain a stronger connection (We don't need to maintain a version list for this, because they can do better than us, all we need to do is to detect and partially call those managers.). For those package without version manager or unneeded retain the same.

A possible solution for manager in proto:
pub enum SystemPackageManager {
    // BSD
    Pkg,
    Pkgin,

    // Linux
    Apk,
    Apt,
    Dnf,
    Pacman,
    Yum,

    // MacOS
    #[serde(alias = "homebrew")]
    Brew,

    // Windows
    #[serde(alias = "chocolatey")]
    Choco,
    Scoop,
}

pub fn detect() -> Result<..> {}
pub fn config() -> Result<..> {}

Command control:
pub enum CommandType {
    /// Installs a system dependency.
    InstallPackage,

    /// Updates the registry index.
    UpdateIndex,
}

/// The CLI argument format for enabling interactive mode.
#[derive(Clone, Debug)]
pub enum PromptArgument {
    /// Does not support interactive.
    None,
    /// Enables interactive mode: `-i`
    Interactive(String),
    /// Disables interactive mode: `-y`
    Skip(String),
}

/// The CLI argument format for including the package version to install.
#[derive(Clone, Debug)]
pub enum VersionArgument {
    /// Does not support versions.
    None,
    /// In the same argument with the package name: `pkg=1.2.3`
    Inline(String),
    /// As a separate argument: `pkg --version 1.2.3`
    Separate(String),
}

/// Configuration for a specific package manager vendor.
/// The fields define commands and arguments for common operations.
#[derive(Clone, Debug)]
pub struct PackageManagerConfig {
    /// Mapping of command types to CLI arguments.
    pub commands: HashMap<CommandType, Vec<String>>,

    /// How interactive/prompt arguments are handled.
    pub prompt_arg: PromptArgument,

    /// List of commands that support prompts.
    pub prompt_for: Vec<CommandType>,

    /// How version arguments are handled.
    pub version_arg: VersionArgument,
}

A possible solution of config
-- class define
-- runtime.config (contains local, global etc..)
config = {
   possble setting
}
-- runtime.configFile (exist? global? local?)
-- runtime.configManager (detect and manage)

Refactor package index referring proto:
-- dir
-- rust
-- deno
-- bun
-- ...

-- every dir possibly contains:
-- rust
-- -- helpers (define private operation for its own package)
-- -- index/src (interface)
-- ...wait for better thought

xvm shouldnt process system's package-manager directly. install/uninstall can use xim to complete, xvm only need to focus on version control for software and env-workspace.
example

xvm can create a env-workspace independent with host
create a workspace by xvm_workspace.lock

xvm target version

xvm new workspace

xvm enter workspace

(xvm-module consider write by rust)

xvm shouldnt process system's package-manager directly. install/uninstall can use xim to complete, xvm only need to focus on version control for software and env-workspace.

That's mean you abandon the installation by system package manager, so what you do in previous construction? xvm workspace is a virtual env style, possibly better choice is to detect local project and use shim for env control, or user can directly call activate for local project.

xvm shouldnt process system's package-manager directly. install/uninstall can use xim to complete, xvm only need to focus on version control for software and env-workspace.

That's mean you abandon the installation by system package manager, so what you have done in previous construction? xvm workspace is a virtual env style, possibly better choice is to detect local project and use shim for env control, or user can directly call activate for local project.

installation by system package manager, they are not support multi-version management(core reason), but xpm can do, because it can track installation path. (use symlink or xlings_bashrc to ref to target version)

install software: pmwrapper, xpackage/xpm
version management: xpackage/xpm, (pmwrapper/system-pm is so hard to implement

installation by system package manager, they are not support multi-version management(core reason), but xpm can do, because it can track installation path. (use symlink or xlings_bashrc to ref to target version)

You could isolate the part as I said and postpone that. Actually proto implement that, even they don't directly use. There may exist a confliction between user native installation and xlings behavior, you can't guarantee that always.


Do not log warnings about proxy-related env vars

What does this PR do?
Silences warnings about DD_PROXY_NO_PROXY, DD_PROXY_HTTP and DD_PROXY_HTTPS env vars
Motivation
#10693
Additional Notes
I'd like to backport this to 7.34.
Possible Drawbacks / Trade-offs
None
Describe how to test/QA your changes
Set DD_PROXY_HTTP and start the agent; you should see no log messages.
Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] The appropriate team/.. label has been applied, if known.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the config template has been updated.

OK, I think everything that could have failed in CI has passed here (windows-unit-tests being the longest).


Fix code scanning alert - Server crash

Tracking issue for:

[ ] https://github.com/zeynelacar/my-juice-shop/security/code-scanning/9

Fixed with latest changes


Lazy loaded routes 404

HashLocationStrategy seems to work, but PathLocationStrategy results in 404 after building for production.
"GET /login" Error (404): "Not found"
Steps to reproduce:
npm run build
cd dist
http-server . -p 4200

Just realized this issue probably has nothing to do with webpack starter.


Folder structure changes

What's new?

got rid of umbrella.
dialyzer isnt completely broken now

Changes Unknown when pulling baf902dd9a743076486941ae4aea2d6d7f9bf546 on ConnorRigby:master into ** on FarmBot:master**.


Graceful Restart

Related to #465
Configure a graceful restart including the components: Systemd Socket, Poseidon, and Ansible.
This should prevent the Poseidon-deployment-related Sentry issues (See #465).

Try to exclude the WebSocket connections (as the restart should not wait 30 seconds).

No changes are required to match the issues criterias.

Systemd Socket: No changes are required as the socket holds the connections until Poseidon can again accept connections.
Poseidon: No changes are required as the HTTP server shutdown gracefully by default (https://github.com/golang/go/blob/de5b418bea70aaf27de1f47e9b5813940d1e15a4/src/net/http/server.go#L2965-L2985). WebSocket connections are excluded by default. Our current gracefulShutdownWait of 15s might be appropriate for this issue (and might be increased in #475).
Ansible: As stated here the default (graceful) timeout for systemd is 3 minutes. We could adjust it, but it seems appropriate.

Indeed; I was able to verify this behaviour on staging. Constantly requesting a page will work without a failure, besides restarting Poseidon in the meantime. What we see, and that's desired, is a short delay (here, shown in Iteration 29):

Further, I tested with a very slow client, taking multiple seconds for a response (and, of course, terminated Poseidon during that time). Everything worked:

Regarding your comments:

Systemd Socket :+1:
Poseidon: Excluding WebSocket connections for now is fine, I am eagerly waiting for the blue-green-deployment. Then, we can adjust the time separately or find another solution.
The systemd timeout is fine as well.

Therefore, I am happily closing this issue.


GenerateTrainData.m file generate .bc files

Hello friend, thank you for the impressive work! So I use the GenerateTrainData.m file to generate face scans, I got many .bc files, I have no idea how to open or read them, could you please give me some advice on how can I virtualize the face scans. Thanks a lot!

There is a dataset py file in our project to describe how to build the pytorch dataset for our face dataset.
In the .py file there is a readbc or readbcn funtion.
I wish it helps you.
On 12/13/2021 @.***> wrote：
Hello friend, thank you for the impressive work! So I use the GenerateTrainData.m file to generate face scans, I got many .bc files, I have no idea how to open or read them, could you please give me some advice on how can I virtualize the face scans. Thanks a lot!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

There is a dataset py file in our project to describe how to build the pytorch dataset for our face dataset. In the .py file there is a readbc or readbcn funtion. I wish it helps you. On 12/13/2021 @.***> wrote： Hello friend, thank you for the impressive work! So I use the GenerateTrainData.m file to generate face scans, I got many .bc files, I have no idea how to open or read them, could you please give me some advice on how can I virtualize the face scans. Thanks a lot! — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

Thank you so much!


Standard Formatter behaves different in different environments

Hello String Formatter behaves different in different environments when I use standard formatter.
The same code below, different outputs:
        var value = 10000.25M;
	Console.WriteLine(value.ToString("C", System.Globalization.CultureInfo.CreateSpecificCulture("ar-EG")));

In one computer decimal sepator is a specialized Arabic comma  (٫), in another computer it is dot (.).
ج.م. 10٬000٫25
ج.م. 10,000.25
Isn't this weird?

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

ID: 0ae38fce-fc98-9420-6b0b-ceee4e885f2d
Version Independent ID: f23035e0-f271-b48c-f9a9-8582be80b4ad
Content: Standard numeric format strings
Content Source: docs/standard/base-types/standard-numeric-format-strings.md
Product: dotnet-fundamentals
GitHub Login: @adegeo
Microsoft Alias: adegeo

@fkucuk There could be a lot of things at play here, such as OS configuration. I believe you could have a computer configured to use a different locale for currency, such as US while the system is using Arabic for everything else. You may want to check out https://docs.microsoft.com/en-us/globalization/locale/currency-formatting and see if there is something that can help you in configuring the system that you feel is operating incorrectly.
Otherwise, I'm not too sure what else I could do here. You may want to ask on StackOverflow or another general programming support forum if you can't figure it out.


API Onboarding Process Improvements

This is an epic to capture ideas and work needed to make refinements and improvements to our current API onboarding process. The O&O team has created service workflow to map the existing process as of 3/31/2022 here: https://lucid.app/lucidchart/1bb900ca-6a0e-41d1-9c86-d3529ea7e7fc/edit?invitationId=inv_e94a833a-e5a3-4784-96aa-23973f487065&page=0_0#
Proposed Ideas based on onboarding stage:

Communication

During kickoff, set clear expectations with sender on onboarding timelines. Some senders are very slow or ghost us after kickoff. If a sender commits to onboarding with us, the expectation should be that both parties will complete onboarding within X-number of weeks. (X could 2 or 3 weeks based on our existing capacity). The sender is expected to be responsive in the process.

Process Improvements and Better Tooling

Develop a self-serviceable data validation: Prior to kick-off, the sender should utilize a CDC/NIH tool to validate CSV or HL7 data to get a better understanding of their existing setup, and assess their readiness to onboard with ReportStream. The tool should provide enough guidance to a prospective sender to improve the data quality prior to onboarding. The tool does not need to get us 100% with data quality, but should be a good start.
Terms of Service: Make it a pre-requisite for the sender to provide their consent to our ToS prior to kickoff. This reduces a dependency once technical implementation kicks-off.

Other considerations and Questions

Do we need onboard a sender to staging? What value does it really provide?

After onboarding a sender in staging, we promote them to 'testing-in-production- stage where they send us real/PII data that does not reach states. What is we started with this step?
There are good reasons for onboarding senders to Staging first to understand their payload (i.e. large test manufs.); However, for the the smaller API senders we're getting now, the need is less obvious.

What if we onboard a sender directly to 'testing-in-prod' mode?

This shortens the overall time needed for onboarding
Fewer keys and endpoints to share with senders over keybase
We can contact states earlier (right after kickoff) and alert them of a prospective sender so testing with states begin earlier.

ReportStream Onboarding Sandbox

Under active discussions with Experience Team

@jbiskie @rhood23699 @sarahnw @Adrian-Brewster Above is a placeholder for now just to capture our recent discussions. Most of this is translatable into process enhancements, not necessarily as a feature-set improvement to our software. However, making these change MAY results in a shortened onboarding timeline and a better experience for our senders.
Please share any thoughts, suggestions you have. We can start adding tickets under the epic soon.
cc @MauriceReeves-usds @kjt9cc

can't figure out how to turn this into a ticket from an epic so closing and moving here https://app.zenhub.com/workspaces/onboarding--operations-6166edbd409257001e09f1b2/issues/cdcgov/prime-reportstream/6435


minimalistic look

so i was trying it out and now i cant remove it, the settings button has dissapeared, how do i find the settings? i tried to install discord again and then install the better discord app but it just loads it just like it was before, no buttons and stuff
https://gyazo.com/3b9e26f9910309799b53e46a97fc8f6c this is how it looks

There's a small "R" button for restorting the normal mode. Alternatively press ctrl+, or cmd+, to open settings.


Unit test for NSMNSE-37: removeClientInterface() function

This PR is a fix from https://github.com/cisco-app-networking/nsm-nse/pull/39 (Wrong branch used)

Hey @ziyuguo716 add the context to circleci so that the image gets published.

Hey @ziyuguo716 add the context to circleci so that the image gets published.

Hi @CosminNechifor, not sure if this addresses your comment: Samuel created a go-test circleci job in this PR. So, we are waiting for his circleci job to get merged into the workflow for both of our unit tests

Why wasn't this merged is there a reason for keeping it open?

This PR is a subtask of NSMNSE-18. @shanchunyang0919 's  https://github.com/cisco-app-networking/nsm-nse/pull/38 is the other part of the unit testing for pkg/universal-cnf/config/composite.go. Not sure if it's necessary to merge all our tests into composite_test.go, considering my unit tests are now in a separate file removeClientInterface_test.go. What do you think @CosminNechifor @tiswanso ?

Sorry for leaving this dangling @ziyuguo716.  What's the consensus on this?  If it's not already superseded by other merges please create this PR against the wwwin-github.cisco.com repo and we can merge it in with a quicker final approval.

Moved to internal repo: https://wwwin-github.cisco.com/cisco-app-networking/nsm-nse/pull/8


update block_area to support polygons.  eg  39.9423088<PHONE_NUMBER>,39…

….9451463<PHONE_NUMBER>,39.9469345<PHONE_NUMBER>,39.9480079<PHONE_NUMBER>,39.9480736<PHONE_NUMBER>,39.9468058<PHONE_NUMBER>,39.9147197<PHONE_NUMBER>,39.9094016<PHONE_NUMBER>,39.8995464<PHONE_NUMBER>,39.8967059<PHONE_NUMBER>,39.8775988<PHONE_NUMBER>,39.8699284<PHONE_NUMBER>,39.8692423<PHONE_NUMBER>,39.8699470<PHONE_NUMBER>,39.8698448<PHONE_NUMBER>,39.8710281<PHONE_NUMBER>,39.8685412<PHONE_NUMBER>,39.8672065<PHONE_NUMBER>,39.8673983<PHONE_NUMBER>,39.8688574<PHONE_NUMBER>,39.8754838<PHONE_NUMBER>,39.8954190<PHONE_NUMBER>,39.8961248<PHONE_NUMBER>,39.8971442<PHONE_NUMBER>,39.9020172<PHONE_NUMBER>,39.9203199<PHONE_NUMBER>,39.9407134<PHONE_NUMBER>,39.9423088<PHONE_NUMBER>

This PR has a bit poor quality - just judging from the title and not passing tests. Did you had a look into #1306 and can say what is different?

the  pr  import com.vividsolutions.jts  package  for  circle & polygon  ‘s  generate。However, the distance calculation rule is not spheroidal.


error messages should be written to STDERR instead of STDOUT

currently all output is written to stdout but that makes it hard to discern error messages from the rest :(

did I open this prematurely? let me double-check 😅


Combine author profiles

Fixes b/273908804

LG @gkindavishal, but let's also remove the page from search! This came from the dev.

LG @gkindavishal, but let's also remove the page that has no content from search! This came from the dev.

Can you share which page you're referring to? @5wathi

Main author's page: https://devlibrary.withgoogle.com/authors/wal33d
Merge this content to the above one and remove this page: https://devlibrary.withgoogle.com/authors/wal33d006

@5wathi already updated that: https://github.com/google/devlibrary/pull/638/commits/a9f53f1dafa6b16b27109252bc2c5c28dbfa2641#diff-034cf51f4ed3aabdcf5ec0ff3666adcf1982ad8df5f39991cd989002e6107f49


Fix the hanging issue after running the clearBatch test

After running the BatchExecutionWithNullTest.testClearBatch(), the following tests will encounter a hanging status. The server is locked by the test process.

Close this PR since another PR #1593 is for the same purpose.


openssl/ssl.h: No such file or directory

While uploadin code, it presents this error:
Arduino\libraries\esp32_https_server-master\src/HTTPResponse.hpp:12:25: fatal error:
openssl/ssl.h: No such file or directory

Compilation Terminated

"openssl/ssl.h" is part of the ESP-IDF, on top of which the ESP32 Arduino Environment is built.
If the IDE says it's missing during compilation, that's most likely a missconfiguration of the ESP32 Arduino tools. Have you checked/tried reinstalling them? Can you build other sketches that – for example – use WiFiClientSecure? Which version of the IDE and of the Arduino Tools are you using?

Could you solve your problem or do you need further assistance to deal with this? Otherwise I'd close the issue.

Actually I was trying this on ESP8266 :o:

Okay, that at least explains the error message.
Even though this library targets the Arduino Core for the ESP32, internally it uses some ESP-IDF modules directly to do communication and crypto, so this cannot work on the ESP8266, and I currently have no plans in porting it back to the ESP8266. The TLS performance of the 8266 is not that great anyway, and as the main goal for this lib was to support server-side TLS, porting it does not make much sense for me. For that reason I'd close this for now.
I'm sorry I cannot help you there.

I have the same message than ateeb327:
In file included from Static_Page\Static_Page.ino:32: Arduino\libraries\ESP32_HTTPS_Server\src/HTTPSServer.hpp:11:10: fatal error: openssl/ssl.h: No such file or directory
May be I am wrong, but as far as I can see "openssl/ssl.h" is part of the ESP-IDF up to version 4.4. I am using version 5.4.
My setup is esp32doit-devkit-v1 from esp32\hardware\esp32\3.0.7 with Arduino IDE 2.3.4 under Windows.
What can I do to get rid of this error?

I switched to Espressif's ESP-IDF V2.0.17 and changed in src/HTTPConnection.hpp
`#include <hwcrypto/sha.h>
with
#include <sha/sha_parallel_engine.h>`
now it compiles.


Add support for IntelliJ 2022.3.1+

* Add Support for IntelliJ 2022.3.1, 2022.3.2

* Bump version to 0.0.7

Hey @zty5678,
Thanks for this PR, apparently the CI pipeline for this build failed which means it did not generate the plugin zip which I can upload on Jetbrains with this feature request.
Can you take a look at what actually failed?

OK I have made some fix, please try again

Well is passed the build phase, but failed in verification. Seems like the IntelliJ plugin version is outdated, can you take a look?

According to https://plugins.gradle.org/plugin/org.jetbrains.intellij,  id("org.jetbrains.intellij") version "1.12.0" is already the newest version.
https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#usage  says that it may need jdk 11 or jdk17.  So maybe we should upgrade the jdk version that CI is using.

I change JAVA_HOME to 1.8 on my own PC, and get the same error:

The error disappears after I change  JAVA_HOME  to java 11. So I believe it need java 11 at least.

Ok I change the java-version to 11 in build.yml. Please try again


valueType option for prop?

Since non-primitive values can appear in the tree only once, assigning a statically defined object to two different models will result in the an object cannot be assigned a new parent when it already has one error.
I feel like it's pretty common to emit the same object from your UI input component. In that case you need to make sure to deeply clone the object before setting it on model. This is error-prone and such logic should probably live in the model definition.
I would like to see an option like withSetter({ clone: true }) to automatically deeply clone the data before setting it on the model – similar to Value-type class models.
Thoughts? Thanks!

Just wondering, why don't value types work for you in this case?

For example, I am storing a simple object like
{
  type: "AFTER_VARIABLE",
  params: {
    variableId: "123456",
    days: 3,
  },
}

I don't think it's viable to create a new mobx-keystone Model for every little object literal that I need to store.

so they are always immutable plain objects?

they are plain objects, whether immutable or mutable doesn't matter.
my UI component emits these objects and I need to set them on the model.
however, the UI component will return the same object reference each time, in which case I can end up with the same object in many model instances, which leads to the above error.
I feel like this should be handled on the model side, rather than cloning the object on the UI side.

I have been considering it (I was thinking of adding a transform option to withSetter to tweak the value before setting it), but I think it is not much more difficult to just have a custom setter. Is it a case that happens very often in your code base?

It doesn't happen very often, but when it does, it's kinda confusing error and takes a while to track down.
Having the possibility to specify this right where the prop is defined would be the ideal, most co-located solution for us.
On a related note, I just run into an issue where an object, that we usually consider immutable, gets mutated during the applySnapshot procedure and since the component that is rendering this object is not wrapped in observer, the UI doesn't get updated.
What do you think about having something like atom: true option for prop what would tell mobx-keystone to never mutate this object and instead replace it?
One quite common example would be a content for rich-text editors like ProseMirror, which is an object, and we don't ever want to mutate it. However, when applying updates via applySnapshot, the content object gets mutated and the editor is not re-rendered.


[FR]: Investigate using a logging library

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the problem

Should we use a logging library such as Timber? (Related: https://github.com/android/nowinandroid/pull/212)

Describe the solution

accompanist uses https://github.com/AAkira/Napier
iosched / adssched uses Timber

Additional context
No response
Code of Conduct

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

Also consider logcat, a pretty nice minimal logging library with a very understandable API imo.

Thanks for the idea! The team consensus it that there's very little logging in the app and so there's no justification for using a library at the moment.


indentguide gets offset with more levels of indents

title exactly says the problem. when there is more nested indentation, the guide gets offset

shown here:
note that i use tabs as indentation if that makes a difference

This seems to be a font loading issue, so moving to main repo.


Fix nested Log::withContext

This builds on @chasenyc's recent log context PR: github.com/laravel/framework/pull/37847
We have a custom context service to handle this in our own application, and I was glad to see it added to the framework. But I have a couple changes to propose based on our experience.
First, log context doesn't have to be flat. Say you want to have a couple values nested under user and then only change one. The following is how that would play out with array_merge(), array_merge_recursive(), and array_replace_recursive().
// setup -- assume each example starts clean and then runs this first
Log::withContext(['user' => ['id' => 1, 'name' => 'me']]); // ['user' => ['id' => 1, 'name' => 'me']]

// with array_merge it loses the unchanged key
Log::withContext(['user' => ['id' => 2]]); // ['user' => ['id' => 2]]

// with array_merge_recursive it keeps the unchanged key but combines the changed one into an array
Log::withContext(['user' => ['id' => 2]]); // ['user' => ['id' => [1, 2], 'name' => 'me']]

// with array_replace_recursive it replaces only the item specified
Log::withContext(['user' => ['id' => 2]]); // ['user' => ['id' => 2, 'name' => 'me']]

So array_replace_recursive() is what we landed on, and is what I have included in this PR. The TL;DR on this is that you can now change an individual nested key in the log context.
Second, I added a getContext() to get what is currently in the Log context. If you pass in some local overriding context to this method it will not apply to the future logs, only the current method response. This is useful if you want to  use your Log context for another purpose. For example, you could pass this context to a feature flag provider.

This would now be considered a breaking change. The feature has already been released.

@cykirsch well, getContext wouldn't be a breaking change I don't think, then at least within your code you can properly change the context.


Support for JAVA_OPTIONS with quoted values

We have an external library (hibernate-search) which requires a space-separated list of values passed through as system properties (a simplified example: JAVA_OPTIONS=-Dhosts="one two three").
This gets confused with the standard IFS="<space><newline><tab>" used by the shells, the command line ends up being: java '-Dhosts="one' 'two' 'three"' ...
While I'm the first to acknowledge that this configuration is a little unusual, it would be good to be able to pass through values pre-quoted and have them
Is there anyway this can be achieved?

have you tried to use simple quotes?


Add express example

I'd like to see an express example using the latest and greatest fable.

Actually we want to create a samples-node repo with express and other server-side samples. However, I haven't used Fable wit express myself that much. Maybe someone else has more experience? @et1975?

That sounds great.
It is currently rather confusing to get dotnet fable webpack to output some javascript.
App.fsx:
#r "C:\temp\FableInterop\packages\Fable.Core\lib\netstandard1.6\Fable.Core.dll"
#r "C:\temp\FableInterop\packages\Fable.Import.Express\lib\netstandard1.6\Fable.Import.Express.dll"

open System
open Fable.Core
open Fable.Core.JsInterop
open Fable.Import

let app = express.Invoke()

app.get
  (U2.Case1 "/",
    fun (req:express.Request) (res:express.Response) _ ->
      res.send(sprintf "Hello") |> box)
|> ignore

// Get PORT environment variable or use default
let port =
  match unbox Node.``process``.env?PORT with
  | Some x -> x | None -> 8080

// Start the server on the port
app.listen(port, unbox (fun () ->
  printfn "Server started: http://localhost:%i/" port))
|> ignore

   [0] ./FableInterop.fsproj 0 bytes {0} [built] [2 warnings] [4 errors]

WARNING in ./FableInterop.fsproj
C:\temp\FableInterop\App.fsx(1,0): (1,79) warning FSHARP: 'C:   emp\FableInterop\packages\Fable.Core\lib
etstandard1.6\Fable.Core.dll' is not a valid assembly name

WARNING in ./FableInterop.fsproj
C:\temp\FableInterop\App.fsx(2,0): (2,99) warning FSHARP: 'C:   emp\FableInterop\packages\Fable.Import.Express\lib
etstandard1.6\Fable.Import.Express.dll' is not a valid assembly name

ERROR in ./FableInterop.fsproj
C:\temp\FableInterop\App.fsx(11,10): (11,17) error FSHARP: The value, namespace, type or module 'express' is not defined. Maybe you want one of the following:
   exp

ERROR in ./FableInterop.fsproj
C:\temp\FableInterop\App.fsx(13,0): (13,7) error FSHARP: Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program poi
nt to constrain the type of the object. This may allow the lookup to be resolved.

ERROR in ./FableInterop.fsproj
C:\temp\FableInterop\App.fsx(21,19): (21,30) error FSHARP: The value, constructor, namespace or type 'process' is not defined. Maybe you want one of the following:
   Process

ERROR in ./FableInterop.fsproj
C:\temp\FableInterop\App.fsx(25,0): (25,10) error FSHARP: Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program po
int to constrain the type of the object. This may allow the lookup to be resolved.
Closing server...

I'm also not really a seasoned fsharp dev, so I might just be missing a very basic thing here.

Can you please try adding @ in front of the path strings?
#r @"C:\temp\FableInterop\packages\Fable.Core\lib\netstandard1.6\Fable.Core.dll"
#r @"C:\temp\FableInterop\packages\Fable.Import.Express\lib\netstandard1.6\Fable.Import.Express.dll"

That makes them verbatim strings, meaning \t won't be interpreted as a tab character.

No luck

Ok, we'll try to add a Express sample that works with latest Fable :) Maybe @fable-compiler/documentation, @MangelMaxime can help with that? 😉

I've started porting our elmish-ws sample to latest Fable, it uses Express for websockets, will try to wrap it up soon.


addon-a11y in config crashes with non-existent addons channel

Describe the bug
I'm trying to setup addon-a11y, however it crashes if I use the addDecorator in my config.js
Eg:
import { withA11y } from '@storybook/addon-a11y';
import { withKnobs } from '@storybook/addon-knobs';
import { addDecorator, configure } from '@storybook/react';
import React from 'react';

const req = require.context('../src', true, /\.story\.tsx$/);

function loadStories() {
  req.keys().forEach(filename => req(filename));
}

addDecorator(withKnobs);
addDecorator(withA11y);

configure(loadStories, module);

Which crashes with:
bootstrap:781 Uncaught Error: Accessing non-existent addons channel, see https://storybook.js.org/basics/faq/#why-is-there-no-addons-channel
    at AddonStore.getChannel (index.js:30)
    at Object.<anonymous> (index.js:46)
    at<EMAIL_ADDRESS>
Seems to me that the channel is not ready yet here.
However if I move the addDecorator(withA11y); to any story for example to a SampleComponent.story.tsx everything works as expected. However I really want to configure it in my config.js.
What am I doing wrong?
To Reproduce
Use addDecorator(withA11y) in config.js
Expected behavior
To not crash
System:

OS: MacOS
Device: Macbook Pro 2016
Browser: Chrome
Framework: React
Addons: a11y
Version: 5.0.3

For now, I found a workaround. Just export a function that return a story with the addDecorator
I'm in Vue and TypeScript but it should works fine in javascript if you remove the typings.
export function storiesOfComposant(nomComposant: Composants, module: NodeModule, filename: string): Story {
    const hierarchyRoot: string = getHierarchyRoot(nomComposant, filename);
    const espaceImportantePourVoirToutALaFin: string = ' ';

    const story: Story = storiesOf(hierarchyRoot + hierarchyRootSeparator + espaceImportantePourVoirToutALaFin + nomComposant, module);
    story.addDecorator(withA11y as any);

    return story;
}

We're using withA11y globally in examples/official-storybook inside the repo. Not sure what the difference is, but maybe you can look at that example to see if you can find any differences.

I'm having the same issue. Seems to be an issue with the order of imports 🤔
This doesn't work for me:
import { withA11y } from '@storybook/addon-a11y';
import { addDecorator, configure } from '@storybook/react';

However, this works:
import { addDecorator, configure } from '@storybook/react';
import { withA11y } from '@storybook/addon-a11y';

I'm able to reproduce it with examples/official-storybook.

That's pretty weird. Anybody of my a11y peeps wanna track this down? @CodeByAlex @jsomsanith @Armanio

Quick investigation only :

import of addDecorator from @storybook/react executes app/react/src/client/preview/index.js that calls @storybook/core/client > start() that sets the channel. That's why it works when it is imported before a11y.
import of anything from  @storybook/addon-a11y executes a addons.getChannel() that has not been set yet. It is used to set a listener to execute an aXe run on EVENTS.REQUEST.

Quick fix is what is suggested by @deini, but yes, need to find a way to register the listener once the channel is available.

@jsomsanith once again you do not disappoint. 😄 Thank you kindly!

Intresting. I'll try fix it in as soon as possible.

Hi guys! Sorry for my long absence. I create PR, check it. ⬆

Not sure if this fix has worked. I'm using v5.0.6 and having the same issue.

@trippingtarballs the change hasn't been released yet

w00t!! I just released https://github.com/storybooks/storybook/releases/tag/v5.1.0-alpha.21 containing PR #6354 that references this issue. Upgrade today to try it out!
Because it's a pre-release you can find it on the @next NPM tag.
Closing this issue. Please re-open if you think there's still more to do.


(Community Discussion) New PHP images: Post your required tools

Community Discussion: Required Tools
PHP-FPM images should be rebuild every night in order have latest patches and security updates applied.
Acceptance Criteria:

PHP-FPM images are automatically built every night
PHP-FPM images ship latest versions of common development tools

Reference Implementation
https://github.com/devilbox/docker-php-fpm

Required tools wishlist
If you have a wish for default installed tools, simply paste them in the comments, I will add it to all images and make sure they are always at the latest version.

[x] nano
[X] recent git version
[X] recent node version
[X] recent composer version
[X] linuxbrew
[x] swoole PHP module
[x] git-flow
[x] yarn
[x] jq

Update 1:
I have now moved all PHP images into one repository for easier maintenance.  PR will be opened shortly to beta-test.

yarn added

I will create a new PR in the coming days to test the new container.

It is ready for testing: https://github.com/cytopia/devilbox/pull/203

wkhtmltopdf's dependencies will be nice!

@dbrw this is coming: https://github.com/devilbox/docker-php-fpm/pull/55

I will re-open and keep this issue open in order to serve as an ongoing discussion.

@dbrw PR for wkhtmltopdf is open and should be merged later this day: https://github.com/cytopia/devilbox/pull/392

Would be nice to have jq
Its tutorial page explains how to use it.

Would be nice to have jq

That's true, there's no way around it nowadays

@llaville jq is added, merged and available with the PHP container.

@cytopia yes i saw. Thanks

@cytopia would it be possible to add the apt package unixodbc-dev to the container? It is a requirement for mssql drivers

@aowrew-fp  mssql support is now added

Would be nice to have geos the php extension. Is there any way to install & active it manually in container ?


HCAP-1142: MoH Edit Participant Return of Service Info

https://freshworks.atlassian.net/browse/HCAP-1142
Making a draft PR as it's going to be quite a big change 😬
❓What's included here: 🎨 🖌

Some refactoring on the ParticipantViewDetails page

breaking it down into smaller chunks basically

Adding edit buttons to some fields for RoS
Confirmation modal before making the changes
Added endpoints to handle ROS field updates

@arranfw @fw-noel thank you for reviewing this and all your comments!! 🙌
I know it's quite big, I'll avoid making such huge requests in the future. At this point, I don't think it can be broken down into smaller pieces. If I missed any of your questions, please let me know. I'm not ignoring them, it's just easy to miss something when there's 30+ comments

There's still some work remaining and I'll make it a separate request for this. I need to create a table to keep track of the changes made. The other thing I was thinking about is that we currently don't have updated_at column to track changes to RoS. Do you think it's a good idea to add it? Open for discussion here

https://github.com/bcgov/hcap/pull/782#discussion_r944677923
Getting close, this is the last major piece I want to chat about

I converted this to a draft so we can differentiate between what can be merged.
But I'm realizing now we should maybe use tags

TODO: ask Tavy if changes made by MoH should be showing up on the RoS reports


How do I validate a proto3 "oneOf" field with ozzo?

I have a oneOff field, and I want to validate that the value is present?

Can you formalize the problem in golang?


Snap version of joplin-desktop would not open

Hi there!
I've been using the snap version of joplin-desktop for a couple of years - thanks for your contribution!
I was unable to open Joplin today, and found this issue. My comment at the bottom helped me resolve. Thought I would bring it to your attention, as well :smiley:
Cheers!

Thanks for the info.
I publish one snap joplin-desktop and the other joplin-james-carroll (the original name). The one with my name is created from the other one by modifying the others metadata but otherwise they're bit for bit identical.
For some reason when I've tried doing that just now testing it's not working how I expect causing the exec= line to go missing, I'll rebuild and publish a patch in the next hour or so.

The fix is uploaded now and effected people should have the desktop icon working again once they receive the update.
Thanks again for your help.

Awesome, thank you @MrCarroll!


feat: show split data during fall DST transition in sensor matrix chart

This PR masks overlapping data during a DST transition (commonly on 1 day during fall) and then shows it split up vertically in a separate layer.
A small horizontal white bar (with height probably equal to 1/25th of the row height) is still visible, but it's a bit of a pain to get rid of.

It looks great!
Some comments and test that I run:

The chart looks a bit broken when there's no data in the selected period:

The message Please note that the sensor data you are viewing includes a daylight saving time (DST) transition. appears in both types of charts. I like this though as it reminds you that you could see some "artifacts".

Both messages look good,  maybe the space it too big. Also, I would prefer to see the offset in hours, although it's good like it is.


Dual zlib both 1.3 and 1.2

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@hmaarrfk it seems we missed this one. Do you still need it? Should we rebase this PR and fix the conflicts?


Create pypi.yml

Allow automated publication of pypi package.
Hi
I have noticed that the latest version of stackyter (0.3) had not been published on pypi.
This PR would ensure automated publication of stackyter on pypi after the creation of a GitHub release in the future.
To do so, it only requires an admin to connect to pypi and create a new token for stackyter:
https://pypi.org/manage/account/token/
and copy this token in github repo settings as a new secret named PYPI_API_TOKEN:
https://github.com/nicolaschotard/stackyter/settings/secrets/actions/new

I have a token from pypi, but unfortunately I do not seem to have access to stackyter's settings....

@nicolaschotard put the token in place, he is the only one to be able to do it on a repo in his personal github space.


Prepared rootless container

@lqb thanks for your contribution :partying_face:. We are reviewing your changes this week and keeping you posted.
But there was one change which breaks current behavior → the ARG PYTHON_INTERPRETER="python" was set by purpose because users can switch to a pypy container too. Could you please revert this removal.
Thanks & best regards

Reverted. But I don't like it because build output is confusing
$ docker build --build-arg PYTHON_INTERPRETER="pypy" --build-arg=PYTHON_VERSION=3.7-slim --tag rsvisa-python:3.7-slim-5.12.3 .
Sending build context to Docker daemon    234kB
Step 1/8 : ARG PYTHON_INTERPRETER="python"
Step 2/8 : ARG PYTHON_VERSION="3.8-slim"
Step 3/8 : FROM ${PYTHON_INTERPRETER}:${PYTHON_VERSION}
3.7-slim: Pulling from library/pypy
Digest: sha256:296481c35a8a913adfb10179e66d3d009bc1d5dc62ce710187304b555c7b71bb
Status: Downloaded newer image for pypy:3.7-slim

@lqb fair enough but how can we give the flexibility to choose between python and pypy? Maybe you have another idea?!

I usualy avoid using ARGs and seperate them in multiple repositories or somtimes different branches. Every new version is a change in the Dockerfile and a new commit.
Another way would be to use uninitalized ARGS. But then you can't build without specifying them on the commandline.


build ios-framework simulator slices for profile/release

Description
Generate an x86 simulator slice for profile and release for add-to-app flutter build ios-framework for plugins, App.framework, and plugin registrant framework.  This matches profile and release Flutter.xcframework.
This lets users build in profile/release against the simulator in their host app, (even though it uses a Debug version of Flutter).
Related Issues
Fixes https://github.com/flutter/flutter/issues/66474
Blocked by https://github.com/flutter/flutter/pull/73383 to avoid https://github.com/flutter/flutter/issues/47930
Tests
Updated build_ios_framework_module_test

Hi @jmagman!
I am trying to build flutter app with the following command: flutter build ios-framework --xcframework
And even after this PR there is no simulator slice in App.xcframework, FlutterPluginRegistrant.xcframework in release/profile folders. How can I build it so that I can run it on simulator and device in release configuration?

@Cr1xus I just tried is and I see:
Profile/App.xcframework/ios-x86_64-simulator
Profile/FlutterPluginRegistrant.xcframework/ios-x86_64-simulator

etc.
What version of Flutter are you on?  https://github.com/flutter/flutter/pull/73378 is available in 1.26.0-12.0.pre which is currently the dev and beta channels.

@jmagman I am on latest stable (1.22.6). My bad, it is not on master channel. Thank you for checking.
When do you plan to release it?
At the moment I did a workaround by copying Debug(x86_64) architecture into Release .xcframework, but would be good to use it properly.

@jmagman I am on latest stable (1.22.6). My bad, it is not on master channel. Thank you for checking.
When do you plan to release it?

We release stable about once a quarter, stay tuned!

At the moment I did a workaround by copying Debug(x86_64) architecture into Release .xcframework, but would be good to use it properly.

If that works, it's a good workaround.  I would have thought you would also have needed to add ios-x86_64-simulator to the XCFramework's Info.plist (example Profile/App.xcframework/Info.plist) AvailableLibraries array, but if it works without it, that's great.
Info.plist.txt
<array>
	<dict>
		<key>LibraryIdentifier</key>
		<string>ios-arm64_armv7</string>
		<key>LibraryPath</key>
		<string>App.framework</string>
		<key>SupportedArchitectures</key>
		<array>
			<string>arm64</string>
			<string>armv7</string>
		</array>
		<key>SupportedPlatform</key>
		<string>ios</string>
	</dict>
	<dict>
		<key>LibraryIdentifier</key>
		<string>ios-x86_64-simulator</string>
		<key>LibraryPath</key>
		<string>App.framework</string>
		<key>SupportedArchitectures</key>
		<array>
			<string>x86_64</string>
		</array>
		<key>SupportedPlatform</key>
		<string>ios</string>
		<key>SupportedPlatformVariant</key>
		<string>simulator</string>
	</dict>
</array>

If that works, it's a good workaround. I would have thought you would also have needed to add ios-x86_64-simulator to the XCFramework's Info.plist (example Profile/App.xcframework/Info.plist) AvailableLibraries array, but if it works without it, that's great.

Yep, did that as well. Actually, wrote a script to do that. Copies x86_64 & substitutes Info.plist into Release .xcframework.

We release stable about once a quarter, stay tuned!

Got it, will be waiting.


Add troubleshooting section to documentation

We should consider creating a troubleshooting section with commonly seen errors or questions that have popped up while users are trying to run the pipeline.
Some ideas to include right now would be:

how to clear the nextflow cache for the repo if trying to run an updated version
how to change the name of the queue used for your job scheduler (some places call it partition)
how to switch between docker and singularity

Closing this in favor of #690


Useless Documentation

Among many other problems, there is not "Project -> Provisioning Properties..." menu item. Does anyone at Microsoft bother to check this junk before they post it?

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

ID: 5ccadd93-fcc8-6a15-9670-d5af7ee7f6f8
Version Independent ID: 188007d3-cf20-97ba-137f-64ff25a88e7c
Content: Automatic Provisioning for Xamarin.iOS - Xamarin
Content Source: docs/ios/get-started/installation/device-provisioning/automatic-provisioning.md
Product: xamarin
GitHub Login: @asb3993
Microsoft Alias: amburns

Hi @markolbert – thanks for pointing out the mistake! I've fixed this, and it should be published soon.
In the mean time, to get to the bundle signing options, right-click on your project name in the Solution Explorer, choose Properties, and navigate to the iOS Bundle Signing tab.
Thanks again for calling this out.


fix image resolution

Fix #353
Test URLs:

Before: https://main--bevespi--hlxsites.hlx.page/how-to-use-bevespi-inhaler
After: https://353-bp--bevespi--hlxsites.hlx.page/how-to-use-bevespi-inhaler

Hi @paolomoz i already made some experiments locally some days ago and the results were still not perfect. I think a way to go would be to use the transform-scale to keep the original size and aspect ratio. I would continue merging my code with yours in this PR, wdy?


publishing: Truncate the git commit to 10 characters

https://github.com/Faire/build-targets-gradle-plugin/actions/runs/10426499138/job/28879547320#step:6:63

#15  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Nava2 and the rest of your teammates on  Graphite


Redirect URIs from oauth access_token flow incorrect

Given a link like
https://panoptes.zooniverse.org/oauth/authorize?response_type=token&client_id=XXXX&redirect_uri=http://localhost:3434/#/classify
Panoptes will return you to
http://localhost:3434/#/access_token=XXXXX&token_type=bearer&expires_in=7200

Not a bug Panoptes will only allow applications to redirect to their whitelisted URLs.

Ah - got it. Is there a way to add extra params to the redirect?

Yeah you can whitelist multiple URLs. You can't edit applications at the moment though.


 The opposite of what is desired...

Can you ensure you view hierarchy looks like this?
<view>
  /*Your views here*/
  <keyboardSpacer>
</view>

I have a ScrollView around everything, so it's like this:
<ScrollView)
/*all views and such*/
<KeyboardSpacer>
</ScrollView>

You will need to put the keyboard spacer below and outside of the the scroll view to make the scroll view shrink and not overlap with the keyboard.
<View>
    <ScrollView>
        /*Other Views*/
    </ScrollView>
    <KeyboardSpacer/>
</View>
``q

Thanks!


auto shape editor  used also for super auto shape graphics is now …

auto shape editor used also for super auto shape graphics is now keeping the  lines perpendicular to each other.
Lines now stay in parallel when editing gap or bridge.

I have reviewed, but can't put in my approval.  Go ahead and merge.

From: Alberto Acevedo<EMAIL_ADDRESS>Sent: Friday, October 6, 2017 2:53:45 PM
To: missioncommand/emp3-web
Cc: Supnekar, Rajendra; Review requested
Subject: Re: [missioncommand/emp3-web] - auto shape editor used also for super auto shape graphics is now … (#352)
Closed #352https://github.com/missioncommand/emp3-web/pull/352.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://github.com/missioncommand/emp3-web/pull/352#event-1282318557, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AYR9RA8kv-AcqAXsQmchE8w4BIuvRIWmks5spnc5gaJpZM4Ptzrr.


uq: init at 2018-05-27

Motivation for this change
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@doronbehar I think you forgot to force push your changes.

You were right @mmahut, thanks for catching that. I hadn't had the chance to push the changes till now so I hope this will get some attention never the less. @aanderse you don't have by any chance write privilidges to this repo right?

@doronbehar your changes look good :+1: Squash your commits into a single uq: init at 2018-05-27 commit and I'm happy to merge. Thanks!

@aanderse did you catch my force push?

@GrahamcOfBorg build uq

@doronbehar oops! Need to add to the package list!

I wonder how that got missed. Now @ofborg should build it.

Thanks @doronbehar :tada:

Thank you! :beers:


No longer collecting metrics after package upgrade

What happened?
Steps to Reproduce
In my open source project, I am on<EMAIL_ADDRESS>and http instrumentation @0.43. When I upgrade to the latest, most things seem to be ok, but NOT the http instrumentation - the server histograms are no longer present. The main branch tests this with current packages and works, and the djmax/latestotlp branch upgrades the packages and fails.
https://github.com/openapi-typescript-infra/service/pull/12
Expected Result
HTTP metrics should be present
Actual Result
http_server_duration histogram is not present in Prometheus output.
Additional Details
This package has to do a lot of fancy footwork to get metrics to work because OTLP just isn't very stable (thus 0.x, no judgement here), so it's possible that some of those tricks are no longer necessary or are problematic, but getting any definitive information on that is nearly impossible. So feel free to point me at something I'm doing completely incorrectly or is no longer necessary, etc. But I did verify that the http instrumentation IS getting called, and even _getHttpInstrumentation is being called, but it doesn't ever call the function arguments for this code:
return new instrumentation_1.InstrumentationNodeModuleDefinition('http', ['*'], moduleExports => {

OpenTelemetry Setup Code
https://github.com/openapi-typescript-infra/service/blob/main/src/telemetry/index.ts#L49

package.json
{
  "name": "@openapi-typescript-infra/service",
  "version": "4.9.0",
  "description": "An opinionated framework for building configuration driven services - web, api, or  ob. Uses OpenAPI, pino logging, express, confit, Typescript and vitest.",
  "main": "build/index.js",
  "scripts": {
    "test": "vitest",
    "lint": "eslint .",
    "build": "tsc -p tsconfig.build.json && yarn dlx glob-chmod 755 build/bin/*",
    "watch": "tsc -p tsconfig.json -w --preserveWatchOutput",
    "clean": "npx rimraf ./build",
    "prepublishOnly": "yarn build",
    "postinstall": "coconfig"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/openapi-typescript-infra/service.git"
  },
  "bin": {
    "start-service": "./build/bin/start-service.js"
  },
  "config": {
    "coconfig": "@openapi-typescript-infra/coconfig"
  },
  "engines": {
    "node": ">=18"
  },
  "keywords": [
    "service",
    "openapi",
    "express",
    "confit",
    "babel",
    "typescript",
    "vitest"
  ],
  "author"<EMAIL_ADDRESS>  "license": "MIT",
  "bugs": {
    "url": "https://github.com/openapi-typescript-infra/service/issues"
  },
  "release": {
    "branches": [
      "main"
    ],
    "plugins": [
      "@semantic-release/commit-analyzer",
      "@semantic-release/release-notes-generator",
      "@semantic-release/changelog",
      [
        "@semantic-release/exec",
        {
          "publishCmd": "yarn dlx pinst --disable"
        }
      ],
      "@semantic-release/npm",
      "@semantic-release/git"
    ]
  },
  "homepage": "https://github.com/openapi-typescript-infra/service#readme",
  "dependencies": {
    "@godaddy/terminus": "^4.12.1",
    "@opentelemetry/api": "^1.7.0",
    "@opentelemetry/exporter-prometheus": "^0.45.1",
    "@opentelemetry/exporter-trace-otlp-proto": "^0.45.1",
    "@opentelemetry/instrumentation": "^0.45.1",
    "@opentelemetry/instrumentation-dns": "^0.32.4",
    "@opentelemetry/instrumentation-express": "^0.33.3",
    "@opentelemetry/instrumentation-generic-pool": "^0.32.4",
    "@opentelemetry/instrumentation-graphql": "^0.36.0",
    "@opentelemetry/instrumentation-http": "^0.45.1",
    "@opentelemetry/instrumentation-ioredis": "^0.36.0",
    "@opentelemetry/instrumentation-net": "^0.32.3",
    "@opentelemetry/instrumentation-pg": "^0.37.1",
    "@opentelemetry/instrumentation-pino": "^0.34.3",
    "@opentelemetry/resource-detector-container": "^0.3.4",
    "@opentelemetry/resource-detector-gcp": "^0.29.4",
    "@opentelemetry/resources": "^1.18.1",
    "@opentelemetry/sdk-metrics": "^1.18.1",
    "@opentelemetry/sdk-node": "^0.45.1",
    "@opentelemetry/sdk-trace-base": "^1.18.1",
    "@opentelemetry/semantic-conventions": "^1.18.1",
    "@sesamecare-oss/confit": "^2.2.0",
    "@sesamecare-oss/opentelemetry-node-metrics": "^1.0.1",
    "ajv": "^8.12.0",
    "cookie-parser": "^1.4.6",
    "dotenv": "^16.3.1",
    "express": "next",
    "express-openapi-validator": "^5.1.1",
    "glob": "^8.1.0",
    "lodash": "^4.17.21",
    "minimist": "^1.2.8",
    "opentelemetry-instrumentation-fetch-node": "^1.1.2",
    "pino": "^8.16.2",
    "read-pkg-up": "^7.0.1",
    "request-ip": "^3.3.0"
  },
  "devDependencies": {
    "@commitlint/cli": "^18.4.3",
    "@commitlint/config-conventional": "^18.4.3",
    "@openapi-typescript-infra/coconfig": "^4.2.2",
    "@semantic-release/changelog": "^6.0.3",
    "@semantic-release/commit-analyzer": "^11.1.0",
    "@semantic-release/exec": "^6.0.3",
    "@semantic-release/git": "^10.0.1",
    "@semantic-release/release-notes-generator": "^12.1.0",
    "@types/cookie-parser": "^1.4.6",
    "@types/express": "^4.17.21",
    "@types/glob": "^8.1.0",
    "@types/lodash": "^4.14.202",
    "@types/minimist": "^1.2.5",
    "@types/node": "^20.10.0",
    "@types/request-ip": "^0.0.41",
    "@types/supertest": "^2.0.16",
    "@typescript-eslint/eslint-plugin": "^6.12.0",
    "@typescript-eslint/parser": "^6.12.0",
    "coconfig": "^1.0.0",
    "eslint": "^8.54.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-import": "^2.29.0",
    "pino-pretty": "^10.2.3",
    "pinst": "^3.0.0",
    "supertest": "^6.3.3",
    "ts-node": "^10.9.1",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.3.2",
    "vitest": "^0.34.6"
  },
  "resolutions": {
    "qs": "^6.11.0"
  },
  "packageManager"<EMAIL_ADDRESS>}

Relevant log output
No response

I do notice these odd messages:
@opentelemetry/instrumentation-express Module express has been loaded before @opentelemetry/instrumentation-express so it might not work, please initialize it before requiring express
@opentelemetry/instrumentation-pino Module pino has been loaded before @opentelemetry/instrumentation-pino so it might not work, please initialize it before requiring pino

Additional detail - even in the working version this is what shows up in Prometheus metrics:
# HELP http_server_duration Measures the duration of inbound HTTP requests.
# UNIT http_server_duration ms
# TYPE http_server_duration histogram
# HELP http_client_duration Measures the duration of outbound HTTP requests.
# UNIT http_client_duration ms
# TYPE http_client_duration histogram

I would expect there to be values given that I am making http requests to the test server.

And what is odd about them is if I console.log in instrumentation-express, and in express, the former is loaded first.

It's not about when you create objects from express but when the actual require statement is called. The instrumentation MUST be set up before the require('express') statement is evaluated

I'm sorry I might not have been clear enough. The require('express') must be called after the instrumentation is actually enabled, not just after it is required. It sounds like you have a typical setup where all the require statements are at the top of the file. The require for express must be moved to below the actual SDK setup, not just its require

It is a bit odd to me that just a dependency upgrade would surface this issue. We haven't made any changes recently that I thinks should affect the load order. I looked through your project a bit and it seems like your telemetry/index.ts file imports your express app, which imports express. These imports are called long before the SDK is started in your startGlobalTelemetry function.

I do have a branch that dynamically imports express to try and delay it until as late as possible. The behavior is the same.

Running to the same issue. Still getting this messages even sdk.start() is called before import express.

Well, a month and change has elapsed and some new versions are out, but unfortunately the behavior is the same. I've updated https://github.com/openapi-typescript-infra/service/pull/12 and the test still fails in the same ways. I'm happy to poke at stuff, but it's such an inscrutable mix of complex interdependencies that it seems pointless to go it alone.

Hi @djMax, I've tried to minimally reproduce this, but was unsuccessful:
https://github.com/pichlermarc/repro-4324
As @dyladan said earlier, it's odd that a depdendency upgrade would surface this. In previous versions we have also exported metrics that were never written (this was not spec compliant, so we removed it), could this be what you're seeing on the older version (metrics with empty buckets, sum and count)? :thinking:

I've given this another go and succeeded this time. For anyone wandering by, a few things:

Resource detectors are sync now, but not all support sync. So I had to do this to resolve the resources manually.
In vitest, require timing gets tricky, so I needed to move to a per-test setup file that gets loaded BEFORE the test file that ends up requiring express. Global setup won't work because it runs in a separate process..
Remove unnecessary dependencies as sdk-node already includes a bunch of them.

Here's the overall PR.


Creating Registration Form

I would like to add a registration form, which will be displayed when the user clicks on the "Register" button.

I want to work on this issue under JWOC.

I want to work on this issue

I would like to add a registration form, which will be displayed when the user clicks on the "Register" button.

assigning to @riiyaaa
Go ahead.
Make sure the page is responsive.
The Register page must have proper details. The UI should be nice.

I would like to add a registration form, which will be displayed when the user clicks on the "Register" button.

assigning to @riiyaaa Go ahead. Make sure the page is responsive. The Register page must have proper details. The UI should be nice.

I have added the following:

Username
Email address
Password
Confirm Password
Gender selector
Should I add phone number and DOB too?

Add First Name , Last Name
And just having the phone number should be fine !!

I am on it!


Token transformer does not preserve references of border token

Describe the bug
The token-transformer plugin does not preserve references for border tokens when resolveReferences is false or math.
To Reproduce
Token from Figma
"separator": {
  "border": {
    "value": {
      "color": "{sp.color.gray-blue_darker}",
      "width": "1",
      "style": "solid"
    },
    "type": "border"
  }
}

gets resolved to
"separator": {
  "border": {
    "value": {
      "color": "#d3dae0",
      "width": "1",
      "style": "solid"
    },
    "type": "border"
  }
}

Expected behavior
I would expect color to not resolve the reference to the {sp.color.gray-blue_darker} token when resolveReferences is false or math.

JSON (optional)
{
  "global": {
    "sp": {
      "color": {
        "gray-blue_darker": {
          "type": "color",
          "value": "#d3dae0"
        }
      },
      "card-row": {
        "separator": {
          "border": {
            "value": {
              "color": "{sp.color.gray-blue_darker}",
              "width": "1",
              "style": "solid"
            },
            "type": "border"
          }
        }
      }
    }
  },
  "$metadata": {
    "tokenSetOrder": [
      "global"
    ]
  }
}

Using<EMAIL_ADDRESS>

Yes, I came here to say this as well.


Add metadata editor to creator views

I want to merge this change because it adds metadata editor to creator views.
PR intended to be tested with API branch: master
Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Translated strings are extracted.
[x] Number of API calls is optimized.
[x] The changes are tested.
[ ] Data-test are added for new elements.
[ ] Type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Test environment config

API_URI=https://master.staging.saleor.rocks/graphql/

Task linked: CU-7mreaz Add metadata editor to creator views


[GHSA-pp84-v3mw-gg4w] Taipy 3.1.1 affected by CVEs on flask-core and pymongo

Updates

Affected products
Description
References

Comments
Linking existing CVEs to References to pass publishing steps.

Hi there @jrobinAV! A community member has suggested an improvement to your security advisory. If approved, this change will affect the global advisory listed at github.com/advisories. It will not affect the version listed in your project repository.
This change will be reviewed by our Security Curation Team. If you have thoughts or feedback, please share them in a comment here! If this PR has already been closed, you can start a new community contribution for this advisory


Should be better to load images that are “in view” and “visible”?

I have the following scenario: a page with thousands of images distributed in tenths of nested
s. By default, these
s are hidden, but “in view” because its parent element (
) is.
I think instead of only loading images that are “in view” we should also constraint to those that are “visible”.
What do you think?

Yeah, I agree. It totally makes sense. I'm overwhelmed with amount of tasks that I took at work right now but during Christmas break I will have some time to look at it.

Cool! I have made some changes on a separate branch, I will propose a PR for it.

Had you prupose your modifications on PR ?

+1


Add installation instructions (fixes #48)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Thanks for that @ikben ! 🍻


Issue #30: Nutrient registration number

Breaking Change:

The quantity in the nutrient object is now in an object.
registration_number field in the nutrient object.

Nutrients and ingredients are treated the same way.

Closes #30

Will be done in #73.


Use .attachFiles() in Answer Embed instaed of just using the URL in .setImage.

Instead of just using the image URL in the setImage which can create several problems instead we will create an attachment of the image and upload it to the embed using .attachFiles!
https://discord.js.org/#/docs/main/stable/class/MessageEmbed?scrollTo=attachFiles
https://github.com/RitsuProject/Ritsu/blob/ritsuv2.5/src/utils/functions/generateEmbed.js#L20

Added in 7e983d1


Issue with Alfheim

Heyyah! This mod is pretty amazing (never saw such mods on any version of MC), though it bugs a bit with Alfheim.
>> [23:44:52] [Server thread/ERROR]: Exception caught during firing event cpw.mods.fml.common.gameevent.PlayerEvent$PlayerLoggedInEvent@5d41d099:
>> java.lang.NullPointerException
>> 	at net.minecraftforge.common.BiomeDictionary.isBiomeRegistered(BiomeDictionary.java:267) ~[BiomeDictionary.class:?]
>> 	at net.minecraftforge.common.BiomeDictionary.checkRegistration(BiomeDictionary.java:423) ~[BiomeDictionary.class:?]
>> 	at net.minecraftforge.common.BiomeDictionary.isBiomeOfType(BiomeDictionary.java:250) ~[BiomeDictionary.class:?]
>> 	at com.draco18s.artifacts.worldgen.PlaceTraps.generate(PlaceTraps.java:239) ~[PlaceTraps.class:?]
>> 	at cpw.mods.fml.common.registry.GameRegistry.generateWorld(GameRegistry.java:112) ~[GameRegistry.class:?]
>> 	at net.minecraft.world.gen.ChunkProviderServer.func_73153_a(ChunkProviderServer.java:280) ~[ms.class:?]
>> 	at net.minecraft.world.chunk.Chunk.func_76624_a(Chunk.java:1055) ~[apx.class:?]
>> 	at net.minecraft.world.gen.ChunkProviderServer.originalLoadChunk(ChunkProviderServer.java:190) ~[ms.class:?]
>> 	at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:131) ~[ms.class:?]
>> 	at net.minecraft.world.gen.ChunkProviderServer.func_73158_c(ChunkProviderServer.java:101) ~[ms.class:?]
>> 	at net.minecraft.server.management.PlayerManager$PlayerInstance.<init>(PlayerManager.java:509) ~[mr.class:?]
>> 	at net.minecraft.server.management.PlayerManager.getOrCreateChunkWatcher(PlayerManager.java:204) ~[mq.class:?]
>> 	at net.minecraft.server.management.PlayerManager.func_72690_a(PlayerManager.java:194) ~[mq.class:?]
>> 	at net.minecraft.server.management.PlayerManager.func_72683_a(PlayerManager.java:241) ~[mq.class:?]
>> 	at net.minecraft.server.management.ServerConfigurationManager.func_72375_a(ServerConfigurationManager.java:240) ~[oi.class:?]
>> 	at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:505) ~[oi.class:?]
>> 	at alexsocol.asjlib.ASJUtilities.sendToDimensionWithoutPortal(ASJUtilities.kt:111) ~[ASJUtilities.class:?]
>> 	at alfheim.common.core.handler.EventHandler.onPlayerLoggedIn(EventHandler.kt:82) ~[EventHandler.class:?]
>> 	at cpw.mods.fml.common.eventhandler.ASMEventHandler_811_EventHandler_onPlayerLoggedIn_PlayerLoggedInEvent.invoke(.dynamic) ~[?:?]
>> 	at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
>> 	at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
>> 	at cpw.mods.fml.common.FMLCommonHandler.firePlayerLoggedIn(FMLCommonHandler.java:550) ~[FMLCommonHandler.class:?]
>> 	at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:180) ~[oi.class:?]
>> 	at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:190) ~[NetworkDispatcher.class:?]
>> 	at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:463) ~[NetworkDispatcher.class:?]
>> 	at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) ~[HandshakeCompletionHandler.class:?]
>> 	at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) ~[HandshakeCompletionHandler.class:?]
>> 	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) ~[SimpleChannelInboundHandler.class:?]
>> 	at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
>> 	at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
>> 	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[MessageToMessageDecoder.class:?]
>> 	at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?]
>> 	at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?]
>> 	at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?]
>> 	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?]
>> 	at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?]
>> 	at cpw.mods.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:77) ~[FMLProxyPacket.class:?]
>> 	at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212) ~[ej.class:?]
>> 	at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165) ~[nc.class:?]
>> 	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659) ~[MinecraftServer.class:?]
>> 	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) ~[MinecraftServer.class:?]
>> 	at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:186) ~[bsx.class:?]
>> 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:396) [MinecraftServer.class:?]
>> 	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [?:?]
>> [23:44:52] [Server thread/ERROR]: Index: 29 Listeners:
>> [23:44:52] [Server thread/ERROR]: 0: NORMAL
>> [23:44:52] [Server thread/ERROR]: 1: ASM: Forge playerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 2: ASM: baubles.common.event.EventHandlerNetwork@75950c90 playerLoggedInEvent(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 3: ASM: thaumcraft.common.lib.network.EventHandlerNetwork@6b59e401 playerLoggedInEvent(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 4: ASM: ichun.common.iChunUtil@1b0c34e5 onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 5: ASM: com.enderio.core.common.config.ConfigProcessor@78d3e54c onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 6: ASM: crazypants.enderio.config.Config@77f41d0d onPlayerLoggon(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 7: ASM: crazypants.enderio.machine.hypercube.ConnectionHandler@e7d5315 onPlayerLoggon(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 8: ASM: crazypants.enderio.machine.transceiver.ConnectionHandler@152bee6a onPlayerLoggon(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 9: ASM: com.hbm.main.ModEventHandler@1e0f3714 onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 10: ASM: assets.rivalrebels.common.round.RivalRebelsRound@53def358 onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 11: ASM: sync.common.core.EventHandler@15237784 onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 12: ASM: tconstruct.armor.player.TPlayerHandler@31fda035 PlayerLoggedInEvent(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 13: ASM: codechicken.wirelessredstone.core.WRCoreEventHandler@2a7b137d playerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 14: ASM: com.creativemd.ingameconfigmanager.api.common.event.ConfigEventHandler@7491210 onPlayerJoin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 15: ASM: codechicken.nei.ServerHandler@4b2cb16a loginEvent(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 16: ASM: alfheim.common.core.handler.ragnarok.RagnarokHandler@579f66ca informAboutRagnarok(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 17: ASM: alfheim.common.core.helper.ContributorsPrivacyHelper@21a82bdc onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 18: ASM: twilightforest.TFEventListener@4b962b36 playerLogsIn(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 19: ASM: CoroUtil.forge.EventHandlerFML@72390538 playerLoggedIn(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 20: ASM: mcp.mobius.waila.network.NetworkHandler@4b8380b0 onPlayerLoggedIn(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 21: ASM: thaumic.tinkerer.common.network.PlayerTracker@328c1871 onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 22: ASM: makeo.gadomancy.common.events.EventHandlerNetwork@7887f1a4 on(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 23: ASM: mod_Invasion PlayerLoggedInEvent(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 24: ASM: mapmakingtools.handler.PlayerTrackerHandler@2be2919d login(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 25: ASM: taintedmagic.common.handler.TaintedMagicEventHandler@3e7817ee onPlayerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 26: ASM: codechicken.wirelessredstone.addons.WRAddonEventHandler@662ae0e4 playerLogin(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 27: ASM: appeng.core.sync.network.NetworkHandler@12690676 newConnection(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V
>> [23:44:52] [Server thread/ERROR]: 28: LOWEST
>> [23:44:52] [Server thread/ERROR]: 29: ASM: alfheim.common.core.handler.EventHandler@420d6985 onPlayerLoggedIn(Lcpw/mods/fml/common/gameevent/PlayerEvent$PlayerLoggedInEvent;)V

As we were told by AlexSocol (Alfheim dev), the issue here as follows:
Alfheim is generated using the World Engine library, which makes the biome in the world as if it were one biome (under one ID), but it has subtypes for landscape diversity. And this biome is not registered in the usual list of biomes. He first takes the biome by coordinates, and then tries to get the same biome, but already from the list of biomes, by its ID. Expectedly, it does not find it, and as a result, an error occurs.
If you'll ever try to make a workaround for this, it would be an amazing thing, as this mod is really great.

Thanks for reaching out. I'm not able to update this at this time, as I don't have a working dev environment for... uh... I think this was last touched on 1.10?
Anyway, the issue is pretty easy to understand.
 It's clearly a check for specific biomes, but what those ones are, I have no idea, nor what I'd have to do to change the logic around to avoid biome IDs.
And lines like this should just get the current biome and query, like line 84 does:
https://github.com/Draco18s/Artifacts/blob/master/main/java/com/draco18s/artifacts/worldgen/PlaceTraps.java#L153
I'll happily take a pull request with updated code, but I can't build a new jar file.

I see, thanks a lot!


Hotkey fix

FPS counter is now the ` key (aka ~), you can now use the 1 key for typing IPs.

removing e.preventDefault(); an option?


Fix fix regression test multi thread init error in RuntimeFilterMergeControllerEntity

Proposed changes
Issue Number: close #xxx

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

run buildall


the prefix of mention

What problem does this feature solve?
<nz-mention
[nzSuggestions]="suggestions"
(nzOnSelect)="onSelect($event)">
<input
placeholder="input here"
nzMentionTrigger
nz-input
[prefix]="['from','where','group by']"
[(ngModel)]="inputValue"
(ngModelChange)="onChange($event)"
>

[prefix]="['from','where','group by']"
如果写 sql语句时，一个字符提及 实现不了，获得表名，字符名
What does the proposed API look like?
[prefix]="['from','where','group by']"

Not support, you can use ace or monaco-editor


Fix edge case issue where tutorials-overview bg may appear light

Bug/issue #, if applicable: 108634043
Summary
In situations with no footer and a long viewport height and little actual content, the background of the empty space will be white.
It should be a darker fill color in any light/dark/auto appearance since that page purposefully has an "always-dark" design theme.
Testing
Steps:

Open an existing tutorials overview page and remove any chapters it has, if any.
Render that page with this branch using VUE_APP_TARGET=ide and verify that the empty space in a tall viewport appears dark instead of light, regardless of the user's overall light/dark/auto preference.

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[ ] ~Added tests~ (CSS-only change)
[X] Ran npm test, and it succeeded
[X] Updated documentation if necessary

@swift-ci test


Adds WHATWG icon

I had to fix the aria-label, hence the push after the pull request. Sorry for that. It is now ready to be merged.


:robot: Notify of main failures via slack

What this PR does / why we need it:
This introduces a way for the main branch to notify in the slack channel
when failures happen on the main branch. Currently we have no visibility
over what happens on the main branhc unless we check manually. And as we
are moving more jobs to be run only in the main branch we need to keep
up to date on those failures.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

I think the best would be to add a final job that depends on all of these jobs. I haven't tried it but I think you could ensure it always runs by using if: always() and then in the part that does the actual notification you can validate if any of the previous jobs failed by doing if: failure()
docs.github.com/en/actions/learn-github-actions/expressions#always
docs.github.com/en/actions/learn-github-actions/expressions#failure

But im wondering, as if you depend on a previous job, and that job fails, your dependant job would not even trigger no? Even if you have a failure() check, that is only checked one the job is started, and it wont start.
Let me create a test repo with this to see if it actually works like that.

I think the best would be to add a final job that depends on all of these jobs. I haven't tried it but I think you could ensure it always runs by using if: always() and then in the part that does the actual notification you can validate if any of the previous jobs failed by doing if: failure()
docs.github.com/en/actions/learn-github-actions/expressions#always
docs.github.com/en/actions/learn-github-actions/expressions#failure

But im wondering, as if you depend on a previous job, and that job fails, your dependant job would not even trigger no? Even if you have a failure() check, that is only checked one the job is started, and it wont start.
Let me create a test repo with this to see if it actually works like that.

shiiiiet, it seems to actually work!
https://github.com/Itxaka/test-ci-depends/actions/runs/5597106674

fantastic!

ah yes, the problem I guess its how to depend on everything
Like if i depend on core and qemu-acceptance test and core fails, will it trigger? Then that means we still can not notify when building is broken as it wont trigger the notify job as the dependent jobs havent triggered
Gonna test that as well.

fantastic!

ah yes, the problem I guess its how to depend on everything
Like if i depend on core and qemu-acceptance test and core fails, will it trigger? Then that means we still can not notify when building is broken as it wont trigger the notify job as the dependent jobs havent triggered
Gonna test that as well.

wow, this actually works: https://github.com/Itxaka/test-ci-depends/actions/runs/5597190257
Im sure it has changed as I tried the same thing a couple of years ago and it was a no-go. NICE

Very cool! It's only missing to alwasy put a random gif speak_no_evil

yeah... not too sure about "random" gifs. I dont want it to post gore or something racist into the chat....internet is evil!

Fixed the lint and pushing as it wont affect PR tests!


CLI support

Would be glad a Pull Request to bring a CLI and the possibility to install the SW as global?
My idea is to have something like:
$ google-translate --key <API-KEY>
That store the API KEY inside a json file, used to make the Calls.
Then, the possibility to use PIPES:
$ echo "home" | google-translate -l it
$ casa

again, avoiding language auto-detect:
$ echo "home" | google-translate -l en:it
Also this will be possible:
$ google-translate "hello world" -l it
$ ciao mondo

Pretty intuitive and easy. I can make it asap, just let me know if it's worth the work and if PR are welcome.

It's an interesting idea thanks for providing. As of right now not sure the functionality is necessary, but if it comes up again or demand for it increases we can ping you :)

I mean a lot of repo has this double usage. Through the CLI or programmatic, to be included on external modules.


Fixing the bug for hightlight - /newsroom & /healthy-thinking pages a…

…re showing correctly
Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after), along with a short summary of changes:
#387
Fixes #387
Changelog:
Please enter each change as a new bullet point
Test URLs:

Original: https://www.sunstar.com/healthy-thinking
Before: https://main--sunstar--hlxsites.hlx.live/healthy-thinking
After: https://issue387-highlight-bug--sunstar--hlxsites.hlx.live/healthy-thinking

Library

[ ] New Blocks introduced in this PR
If yes, please provide details below
Block Name : For e.g. cards

[ ] Documented in sidekick library

[ ] New variations introduced in this PR
Variation Name :  For e.g. cards (grid)

[ ] Documented in sidekick library

[ ] New mixins introduced in this PR
Mixin Name :  For e.g. compact, white

[ ] Documented in sidekick library

Both https://issue387-highlight-bug--sunstar--hlxsites.hlx.live/healthy-thinking & https://issue387-highlight-bug--sunstar--hlxsites.hlx.live/newsroom pages are working fine.


Pass dynamic header to federated services

Hello @jensneuse,
How do you pass a dynamic header to the http handler (engine) ?
I have a simple use case where the client send an auth id that i need to validate(gateway side) then forward others different headers to my services.
I don't see a direct way to interface with the underlying http components in the engine. How can i pass a custom and non-generic headers to services ?
I've read https://github.com/wundergraph/graphql-go-tools/issues/270 and the other unanswered issue similar to mine, i have tested all of the above and nothing fit this case.

@jensneuse
For me it's not working, I've debugged it quite a bit
Following an examples/federation, you can check that it's broken by applying following patch:
diff --git a/examples/federation/gateway/http/http.go b/examples/federation/gateway/http/http.go
index a29a4091..a90907ad 100644
--- a/examples/federation/gateway/http/http.go
+++ b/examples/federation/gateway/http/http.go
@@ -27,7 +27,9 @@ func (g *GraphQLHTTPRequestHandler) handleHTTP(w http.ResponseWriter, r *http.Re

 	buf := bytes.NewBuffer(make([]byte, 0, 4096))
 	resultWriter := graphql.NewEngineResultWriterFromBuffer(buf)
-	if err = g.engine.Execute(r.Context(), &gqlRequest, &resultWriter); err != nil {
+	if err = g.engine.Execute(r.Context(), &gqlRequest, &resultWriter, graphql.WithAdditionalHttpHeaders(http.Header{
+		"X-Request-ID": []string{"123456"},
+	})); err != nil {
 		g.log.Error("engine.Execute", log.Error(err))
 		w.WriteHeader(http.StatusInternalServerError)
 		return
diff --git a/examples/federation/products/server.go b/examples/federation/products/server.go
index 1cf18943..46a3ca7e 100644
--- a/examples/federation/products/server.go
+++ b/examples/federation/products/server.go
@@ -20,7 +20,10 @@ func main() {
 	}

 	http.Handle("/", playground.Handler("GraphQL playground", "/query"))
-	http.Handle("/query", graph.GraphQLEndpointHandler(graph.EndpointOptions{EnableDebug: true, EnableRandomness: true}))
+	http.Handle("/query", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
+		log.Println(r.Header)
+		graph.GraphQLEndpointHandler(graph.EndpointOptions{EnableDebug: true, EnableRandomness: true}).ServeHTTP(w, r)
+	}))
 	http.HandleFunc("/websocket_connections", graph.WebsocketConnectionsHandler)

 	log.Printf("connect to http://localhost:%s/ for GraphQL playground", port)

treat X-Request-ID by any user defined header.
If I debugged correctly it's because https://github.com/wundergraph/graphql-go-tools/blob/e6e1a13e36eaf3a4e09a2bbd1eca3dfcb3d955d6/pkg/graphql/execution_engine_v2.go#L274
does not take into account any header that is in ctx.Request.Header.

@aerfio there is another step required to have the HTTP Headers passed to the underlying services for the federated gateway.
When creating your schema configuration you need to add the header with a custom syntax that will look for a value in the original HTTP request.
serviceCfg := graphqlSchema.Configuration{
	Fetch: graphqlSchema.FetchConfiguration{
		URL:    url,
		Method: http.MethodPost,
		Header: http.Header{
			// .request.headers.XXX transmits incoming HTTP headers value to the
			// internal sub-requests made
			"X-Request-ID":          []string{"{{ .request.headers.X-Request-ID }}"},
		},
	},
	Federation: graphqlSchema.FederationConfiguration{
		Enabled:    true,
		ServiceSDL: sdl,
	},
}

Should a similar config work for subscriptions?
I'm trying to propagate headers in the init message by doing something similar to what is here, but the options.Header is always empty.
I've seen this commit, that just landed in master, which does it in a different way, but similar in the end, but I should still have the problem of the headers being empty.

Bump! Same as @reistiago , I am having difficulty propagating the headers from my subscription request to the federated subgraphs. It works fine for queries and mutations.
Here's my data source config:
dataSourceConfig := graphqlDataSource.Configuration{
	Fetch: graphqlDataSource.FetchConfiguration{
		URL:    serviceConfig.URL,
		Method: http.MethodPost,
		Header: http.Header{
			"Authorization": []string{"{{ .request.headers.Authorization }}"},
		},
	},
	Subscription: graphqlDataSource.SubscriptionConfiguration{
		URL: serviceConfig.WS,
	},
	Federation: graphqlDataSource.FederationConfiguration{
		Enabled:    true,
		ServiceSDL: sdl,
	},
}

I've debugged in my func (g *Gateway) ServeHTTP(w http.ResponseWriter, r *http.Request) HTTP handler and can print the Authorization header in the request. It seems to be lost downstream or not sent to the subgraphs.

Any updates on this? I am using github.com/wundergraph/graphql-go-tools v1.67.2 and the initialPayload is not being propagated to the subgraphs
@reistiago did you get this to work?

This is a major issue for us as well, using the example code we are unable to pass custom headers to our code when using WithAdditionalHttpHeaders or otherwise.

Ok I managed to propagate the headers to a subscription by doing the following.
in ws.go I updated HandleWebsocket to use the latest handler
import (
	"github.com/wundergraph/graphql-go-tools/pkg/subscription/websocket"
)

func HandleWebsocket(done chan bool, errChan chan error, conn net.Conn,
	executorPool *subscription.ExecutorV2Pool, logger *slog.Logger) {
	defer func() {
		if err := conn.Close(); err != nil {
			logger.Error("http.HandleWebsocket(): could not close connection to client.", err)
		}
	}()

	transportProtocol := websocket.Protocol(helper.GetEnv(configuration.EnvTransportProtocol,
		string(websocket.ProtocolGraphQLTransportWS)))

	websocket.Handle(
		done,
		errChan,
		conn,
		executorPool,
		websocket.WithProtocol(transportProtocol),
		websocket.WithCustomSubscriptionUpdateInterval(50*time.Millisecond),
		websocket.WithCustomKeepAliveInterval(graph_server.WebsocketKeepAliveInterval),
	)
}

WithAdditionalHttpHeaders only gets called if the request is of type InitialHttpRequestContext so I updated the code to convert the context to type InitialHttpRequestContext which then allows WithAdditionalHttpHeaders to be called.
So handleWebsocket in ws.go was updated to this:
// handleWebsocket will handle the websocket connection.
func (g *GraphQLHTTPRequestHandler) handleWebsocket(req http.Request, conn net.Conn) {
	done := make(chan bool)
	errChan := make(chan error)

	newContext := subscription.NewInitialHttpRequestContext(&req)
	executorPool := subscription.NewExecutorV2Pool(g.engine, newContext)

	go HandleWebsocket(done, errChan, conn, executorPool, g.log)
	select {
	case err := <-errChan:
		g.log.Error("http.GraphQLHTTPRequestHandler.handleWebsocket()", err)
	case <-done:
	}
}

This also meant that I had to update the upgradeWithNewGoroutine in handler.go to:
func (g *GraphQLHTTPRequestHandler) upgradeWithNewGoroutine(w http.ResponseWriter, r *http.Request) error {
	conn, _, _, err := g.wsUpgrader.Upgrade(r, w)
	if err != nil {
		return err
	}

	g.handleWebsocket(*r, conn)
	return nil
}

previously only the context was being sent to the handleWebsocket and now it requires the whole request.
my datasource_poller.go looks like this
func (d *DatasourcePollerPoller) createDatasourceConfig() []graphqlDataSource.Configuration {
	dataSourceConfigs := make([]graphqlDataSource.Configuration, 0, len(d.config.Services))

	for _, serviceConfig := range d.config.Services {
		sdl, exists := d.sdlMap[serviceConfig.Name]
		if !exists {
			continue
		}

		dataSourceConfig := graphqlDataSource.Configuration{
			Fetch: graphqlDataSource.FetchConfiguration{
				URL:    serviceConfig.URL,
				Method: http.MethodPost,
				Header: http.Header{
					// .request.headers.XXX transmits incoming HTTP headers value to the
					// internal sub-requests made
					"X-Customer-Id":   []string{"{{ .request.headers.X-Customer-Id }}"},
					"X-SOB":   []string{"{{ .request.headers.X-SOB }}"},
				},
			},
			Subscription: graphqlDataSource.SubscriptionConfiguration{
				URL: serviceConfig.WS,
			},
			Federation: graphqlDataSource.FederationConfiguration{
				Enabled:    true,
				ServiceSDL: sdl,
			},
		}

		dataSourceConfigs = append(dataSourceConfigs, dataSourceConfig)
	}

	return dataSourceConfigs
}

@waeljammal I hope this helps

@mxncson were you able to find a solution to your request?
I am facing the same issue.
I want to replace the initial Auth header with a delegated header based on the downstream service being called.
I have followed the demo from examples folder. I see the datasource_poller file creates a list of SubgraphConfiguration which has only Name, URL, SDL and SubscriptionUrl. However, based on the examples mentioned here, I see a different type graphqlDataSource.Configuration.
Ultimately, I would like to hook into the fetch request before it is sent to the downstream service to overwrite it's headers.
Thank you

i just want to pass cookies / auth data / referrer down to service, and still don't see how it can be done int v2 version..

In Cosmo Router, we add the client request Header to the context and forward it to Subgraphs in the transport like so:
https://github.com/wundergraph/cosmo/blob/d79e08aec891655b206749a90abfd4fb371c78cd/router/core/graphql_handler.go#L159
https://github.com/wundergraph/cosmo/blob/d79e08aec891655b206749a90abfd4fb371c78cd/router/core/header_rule_engine.go#L102
Cosmo Router has a Header Rule Engine to propagate Headers dynamically, with defaults and such. You can replicate this.
Please re-open if there are still questions left.


netdata moved netdata/netdata

netdata has been moved from firehol/netdata to netdata/netdata

Deploy preview for landscape ready!
Built with commit 4f931446f622a69e3c66f06f58987d142e6db457
https://deploy-preview-842--landscape.netlify.com


New version: VMPK.VMPK version 0.8.6

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.0 schema?

Microsoft Reviewers: Open in CodeFlow

/azp run


PLEX/EMBY/KODI and Android app support

I don't know if this has been mentioned before, but since the software is designed to support PLEX/EMBY/KODI with Live TV channels, would it not make sense to build specific add-ons for the 3 main media centres.
It would make it a lot more easy to install the version of xTeVe on the system that you need.
In addition, an Android add on would also be a really good idear for running on the various android tv boxes around, and it would properly even be possible to sell it for a coin or 2 ;O)
I have proven that its pretty easy to install xTeVe in a Termux app (linux emulator) but that is perhaps not for everyone ;O)

xteVe is a Proxy that simply uses a url to access it. Your request doesn't make sense.

@MCTyler Either you are not aware what an add-on for the various media centers actually is,  or you are not aware in how many different platforms it can be installed on.
Its not for everyone to install the xTeVe on a separate device just to host the proxy, but if its was directly available in e.g. Kodi as a simple add-onn..to open and configure from kode og hosted webpage, it would be super easy for everyone regardless of platform and hardware.
A media center specific ad-don would make perfect sense.
That said, im not aware of the issues involved porting the code to e.g. a kodi or plax add-on