Conversion between Timestamp and chrono::DateTime

These changes enable idiomatic conversions between chrono::DateTime and the protobuf Timestamp.
Such conversions were already provided with objects from std::time, but not with ones from the chrono crate.
Since it adds a dependency, this code is conditionally used, only if feature chrono-conversions is set.

Can you not use the existing SystemTime conversion?  I would have thought chrono could interoperate with the std lib time APIs.

To add a bit more color, in the medium term I'd like to add options to prost-build to emit std::time::SystemTime fields instead of the wkt Timestamp type, and have a corresponding impl Message for std::time::SystemTime.  When that's done this conversion won't be very useful, best I can tell.  I'd very much prefer not to have a dependency on chrono for a host of reasons.

@danburkert To clarify, are you saying prost would use std::time::SystemTime as the Rust representation of google.protobuf.Timestamp  (as shown below)?
syntax = "proto3";
import "google/protobuf/timestamp.proto";

message Record {
  google.protobuf.Timestamp created_at = 1
}

#[derive(::prost::Message)]
pub struct Record {
  pub created_at: std::time::SystemTime
}

FWIW I use chrono::DateTime<Utc> all over the place and I don't find the status quo particularly cumbersome. If let ts = prost_types::Timestamp::from(SystemTime::from(date_time)) becomes let ts = date_time.into() then I'd be content, especially if it keeps chrono out of prost's dependencies.

( I think, that's not tested)

Any news here? I think it would be cool to have ability for converting between protobuf Timestamp and Chrono DateTime

Can you not use the existing SystemTime conversion? I would have thought chrono could interoperate with the std lib time APIs.

The resolution and representable range of SystemTime varies by platform. A conversion of prost_types::Timestamp→SystemTime→chrono::NaiveDateTime or vice versa is lossy and/or fallible on anything other than a 64-bit Unix-like system (where prost_types::Timestamp and SystemTime use exactly the same representation of time).

I haven't looked in chrono in more than a year, but my experience is that chrono's supported range is significantly less than SystemTime, at least on macos and linux.

Yeah it's not even close: https://github.com/chronotope/chrono/blob/b0f32832a73a45bf89eaeae74e471aa5ee10fad1/src/naive/internals.rs#L24-L28

Right, but like I said, it varies by platform. macOS and 64-bit Linux use the same time representation as prost_types::Timestamp (64-bit signed seconds and 32-bit nanoseconds), so the conversion is lossless and infallible, but some other platforms' SystemTime is more restricted than both prost_types::Timestamp and chrono:

SystemTime on most (but not all) 32-bit Unix-like systems has nanosecond resolution but a 32-bit seconds counter, leading to the year 2038 problem.
Windows SystemTime has 100ns resolution and cannot represent time before 1 January 1601.

I am going to close this PR since it seems like we have consensus that we don't want to include chrono as a dep for prost. I believe the systemtime conversion should work.

My question might be naive, but why not just gate chrono under a feature flag?

Totally valid question and I am not 100% sure if we don't want to include it.
There are two reasons 1) the fields of timestamp are public so its quite easy to write your own custom conversion, 2) its more timestamp code to maintain. That said, if someone did want to open a PR with it feature flagged that was well tested, I would accept it :)
In that case (and my change of mind :D), I'll reopen the issue.

I would like to consider a bit what @danburkert said above as well before we introduce chrono. I am not convinced either way and need to spend sometime reading up on timestamps (super fun stuff).

Great @LucioFranco, IMHO it's part of the additions that would make prost more convenient to work with.
I believe the question I posted yesterday (#537) is distantly related to this one too :)

(Note that I've fixed the conflicts in case you'd want to merge this MR)

@LucioFranco I respectfully disagree with your judgement on this. I feel like best practice in the ecosystem is that higher-level crates (more complex API/functionality, more semver-breaking releases) should hold the integration with lower-level crates (simpler API/functionality, fewer breaking releases). In this case, it seems clear to me that prost is higher-level than chrono, so if the integration will live in either one of our crates it should be in the prost one IMO.

As a user of both chrono and prost I'd like to advocate for getting a conversion between the types added to one of the projects. FWIW I definitely expected this to be a toggle on prost rather than chrono -- perhaps because of the difference in size/ubiquity of the projects (prost! vs chrono). In any case, it doesn't appear to be a huge patch but it would definitely be appreciated.


Conditional sub-expression always evaluates to true

In the following conditional, the sub-expression namespace == namespace always evaluates to true.
https://github.com/cert-manager/cert-manager/blob/7c7e8f4ce6c1abba18025d3d00be368066801a63/internal/vault/vault_test.go#L967
Should the conditional just be name == secret ?
(Found while testing revive on cert-manager code base.)

I think the outer namespace variable must match the inner namespace variable.
Could you create a PR to fix this bug?

Yes, sure!

/remove-lifecycle stale

/remove-lifecycle stale

This was fixed in https://github.com/cert-manager/cert-manager/commit/ae98ba806bfdbe88e424dbc09b9e0b42e286ac60


Let ansible playbooks to be executed with ansible user spawning pods via custom service account

To avoid "aggressive" permissions on openstack-ansibleee-runner containers (recursive 777 on several folders, including system folders like /usr/share/ansible) we should execute jobs (and their pods) with a service account who has the 'anyuid' SCC.
This PR is a blocker for #51 in edpm-ansible repo.
Depends-On: https://github.com/openstack-k8s-operators/edpm-ansible/pull/51

/retest

recheck

/retest

recheck

recheck

recheck


Import Failed every time, need to "Try Fix" to run it

Hi, I'm having an issue that every time I start up ComfyUI, ComfyUI_FizzNodes fails to import.
I run "Try Fix" in the manager and then after restarting it works.
Would be great to have this looked at. Thanks a lot.

This is more an issue with the comfyui manager than this repo. Seems to happen on a couple of extensions

Oh okay, thanks for letting me know. I'll flag it in that repo.


T10.01: error in XML file prevents building

need to add a leading zero so this project will build properly.

Fixed.


Type 'typeof AudioProvider[]' is not assignable to type 'Provider[]'.

How do you include the AudioProvider in a new ionic 2 app (or just Angular2 in the @NgModule)?
I tried putting it it providers:[] but I get this error:
[14:50:40]  Error: src/app/app.module.ts(16,11): error TS2345: Argument of type '{ declarations: (typeof HomePage | typeof AnnouncementPage | typeof TabsPage | typeof MyApp)[]; i...' is not assignable to parameter of type 'NgModule'.
  Types of property 'providers' are incompatible.
    Type 'typeof AudioProvider[]' is not assignable to type 'Provider[]'.
      Type 'typeof AudioProvider' is not assignable to type 'Provider'.
        Type 'typeof AudioProvider' is not assignable to type 'FactoryProvider'.
          Property 'provide' is missing in type 'typeof AudioProvider'.

    at Socket.<anonymous> (/Users/jeff/dev/ang_projects/ChildCare/node_modules/@ionic/app-scripts/dist/tsc.js:72:33)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:177:18)
    at Socket.Readable.push (_stream_readable.js:135:10)
    at Pipe.onread (net.js:542:20)

I haven't yet tested the plugin on the latest RC0. Will do that as soon as I find some spare time.

Thanks! It seems simple enough, but I don't know the code well enough to
make a pull request.
On Tuesday, October 4, 2016, arielfaur<EMAIL_ADDRESS>wrote:

I haven't yet tested the plugin on the latest RC0. Will do that as soon as
I find some spare time.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/arielfaur/ionic-audio/issues/77#issuecomment-251575909,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA0oYBvMfHVbsAbqZOsUcsYK2moJaKiuks5qwx_OgaJpZM4KOBrC
.

--
--
Richard J Tindell
Ps 102:18- "This will be written for the generation to come, That a people
yet to be created may praise the Lord."

I have the same problem!

+1

+1

+1

+1
Doesn't work on Ionic 2.1.4. Ionic changed all the structure, since providers:[], ionicBootstrap (doesn't exists anymore), we cannot put "directives: []" into @Component decorator, many many more.
Can u update? Thanks mate!

+1

Solved with #78


shellcheck   travis-ci vs. docker vs. downloader installs

travis-ci installs an (old) version of shell check
GitHub has binary releases
there is an official docker image too

Need to figure out which to so local dev and travis do the same thing

travis-ci uses 0.46, current is 0.47 from https://github.com/koalaman/shellcheck/releases
$ shellcheck -V
ShellCheck - shell script analysis tool
version: 0.4.6
license: GNU General Public License, version 3
website: http://www.shellcheck.net

Looks like the current release is 0.6.0 and the released apt-get install is the same, closing.


Update Generic Pages “about”

Automatically generated by Netlify CMS

👷 Deploy Preview for benevolent-muffin-215770 processing.

Name
Link

🔨 Latest commit
0f2581fc4325e27541513086cf8b32007084fdfa

🔍 Latest deploy log
https://app.netlify.com/sites/benevolent-muffin-215770/deploys/6284354735a3cd00099ae71f


how to install is missing in docs

I did not found any hints how to install ftfy. It took my a bit to realize you provide it via pip.
I would mention it in the README
Thanks for your work!

Thanks for the suggestion! It's in the README now.


Unable to install add-on: returned a non-zero code 1

Hi, I get this error when trying to install the add-on. How to debug?
2024-05-19 12:48:55.984 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /addons/15d584b4_xfinity-usage/install - The command '/bin/bash -o pipefail -c pip3 install --upgrade pip &&     pip3 install --no-cache-dir   --prefer-binary   typing-extensions==4.11.0   pyee==11.1.0   greenlet==3.0.3   tenacity==8.2.3   requests==2.31.0' returned a non-zero code: 1

Try installing it again and see if you still have that issue. It looks like the Python pip is failing to install the dependent Python libraries which could be an issue with internet access during that build process. I did rebuild the addon on my system and didn't have any problems. Let me know if you keep running into this issue.

That is probably the problem, I do not include a 32 bit Ubuntu option in the build.yaml since there isn't a HA jammy docker image to use.


Multiple model not saved

Steps to reproduce:

Create setting as Media model (multiple = true).
Add one or more Media.
Save.
Nothing is saved.

Probably a general bug, it happens also with Gallery. It has to do with Setting because adding multiple Media to Gallery works.


Do not treat failure to collect metrics as fatal

Reverts PR #83 (see discussion in the issue for more information).

Thanks. @cpick, do you have a specific error that we could handle for credentials not being valid anymore?

We are seeing constant restarts due to timeouts against stackdriver. Would be nice if we can get the previous behaviour back.

Yes, I agree, let's merge this and work on what to do about the credential case separately.

Following up on handling the authentication issues more specifically in #101.

A release with this fix would be great :)

@SuperQ ^^


[BUG] OAuth2PasswordRequestForm returns 422 instead of 400

Describe the bug
When a validation error occurs on an OAuth2PasswordReqeustForm, the HTTP response code is 422 Unprocessable Entity). However, the OAuth2 spec specifies that either a 400 Bad Request or 401 Unauthorized MUST be returned. Also, a generic pydantic error JSON is returned, but the RFC specifies differently. Therefore FastAPI's imlementation is non-conformant. I understand these issues can be worked around in a custom implementation, but I feel that the default, batteries-included implementation should follow the spec correctly. Arguably a 422 is actually more suitable in this case, but its use is also likely to break OAuth2 client libraries.
To Reproduce

Create a file with:

from fastapi import FastAPI
from fastapi.security.oauth2 import OAuth2PasswordBearer, OAuth2PasswordRequestForm

app = FastAPI()
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/token")

@app.post("/token")
def login(form: OAuth2PasswordRequestForm):
    return {"access_token": "faketoken", "token_type": "bearer"}

Send an invalid request form
Observe the non-conformant 422 error with pydantic JSON error response

Expected behavior
A 400 error is returned with a valid error response as described in https://tools.ietf.org/html/rfc6749#section-5.2

Not sure there's an ideal way to implement this without a significant architectural change.

422 is a webdav thing.  a lot of APIs may choose to leverage this explicitly but it seems odd that this is a default unless this was settled upon by digging through stackoverflow comments.  I could be wrong, but I haven't seen an RFC that indicates that 422 is the valid for any response except a webdav interface so it seems odd that fastapi defaults to it.

422 is Unprocessable Entity
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422


engine: add basic object and record framework

Objects in memory are divided into three categories:

object: concept similar to redis
record: a contiguous piece of memory that stores value, list node, etc.
Ordinary memory: such as buckets and control applied by hashbrown

The object and record are aligned by 8 bytes, and the highest 16 bits in the first 8 bytes are the tag. tag records the type of memory ( object or record ), whether it is tombstone. The last 48 bits of the first 8 bytes of the record store the associated object, which is used to quickly find the associated object when the log structure allocator performs compaction.
All objects are stored in the key space, while the user-specified key is stored at the end of the object object.

BTW, this is how Redis handles deallocation. Seems there are only a few fundamental object types.

Let's move forward and refactor it later.


File System ISE connector

I don't see a File System ISE version connector, only the one that uses the on-prem data gateway. Has this been changed since File System was listed under the "Isolated versus global" section?

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

ID: 1835ffaf-25d4-f6ea-4e4f-ce62c702b770
Version Independent ID: f76d8032-e672-d8dd-d35e-a6c762bb61d4
Content: Access to Azure virtual networks - Azure Logic Apps
Content Source: articles/logic-apps/connect-virtual-network-vnet-isolated-environment-overview.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

I checked all the other listed connectors and found two versions, but as shown here there is only one version of File System showing.

Hi @dcbrown16 Thanks for reaching out. We will review and update as appropriate.

@dcbrown16 PG is working on enabling the ISE variant of the File System connector. For now you have to use the existing connector with the Gateway to access the File share. I agree it is a doc bug . For that PR has been created for this which will address this. Thanks so much for providing the feedback that help us in improving the documentation. For now I will proceed with closure of this and If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

Hi @DixitArora-MSFT, I provided the info you explained to Dillon, thank you. The customer asked us if there is the estimated target date to enable the ISE variant of the file system connector. Do you have any idea or information to share with the cx?

@v-hakob There is no ETA as of now. But if there is any update, I will keep that posted.

Noted, thank you @DixitArora-MSFT

Hi @DixitArora-MSFT & @v-hakob,
I asked PM about this issue and learned that when you have an existing ISE, any newly available managed connectors that support ISE don't automatically appear in the connector picker on the designer. To make the new ISE connectors available in the picker, you have to manually add them to your ISE. I'll create a work item to make this scenario clearer.
How to add new ISE connectors: https://docs.microsoft.com/azure/logic-apps/add-artifacts-integration-service-environment-ise#add-ise-connectors

Thanks @ecfan ! We'll let the customer know that they will have to do that once the new connector becomes available. Having that documented will be a big help for the future!

@dcbrown16: I believe the connector is available, you just have to add and deploy the connector to your ISE. Thanks!

@ecfan we were able to add the File System ISE connector via the method you indicated. We have a couple of questions regarding this (feel free to loop us in to emails, v-dibr and v-hakob internally).

@DixitArora-MSFT said the PG is working on enabling the ISE variant. Should we take that to mean that they are working on making it available without having to go through the steps to add it manually?
All of the triggers and actions are marked as preview. Is the File System ISE connector not suited for production use currently?

@kevinlam1, could you please help answer the previous questions from @dcbrown16?
Thanks!

The ISE File System connector is available. When a new ISE is created the ISE File System connector will automatically be added. For pre-existing ISE, you will need to do a one time update, as Esther noted above, to add the connector to your ISE.
The ISE File System connector has been stable so far, we just want it to bake a little longer before we lift the preview tag.

Thanks @kevinlam1 ! I did create a brand new ISE yesterday and had to manually add the ISE File System connector to get it to show up, but I think the customer has an existing one so we'll make sure they know how to add it manually and advise that they can try to start using it.

Sorry I want to correct a statement I made. The ISE File System connector will not yet be automatically added to new ISE, you will still need to manually add it yourself. Our engineers are working on getting that automatically added with new ISE deployments.

I'm seeing those actions. Any idea how to use them? Or how to get the same as for the File System Conector (Non ISE)

Hi @scleynen,
I'm not seeing the actions in your screenshot. Do you still see them? The ISE version should show these actions instead:

Hi, after removal of the File System ISE connector and reinstalling it, it was fixed and I indeed see those actions also

Glad to hear this issue resolved for you, @scleynen!

Does anyone know if the 20MB file size limit that is imposed on the File System Connector with the on-prem gateway, is greater for the ISE File System Connector?


Switch to using CopyDescriptorsSimple

Pushing this since Alex mentioned that there was actually a (small) measurable performance improvement using CopyDescriptorsSimple afterall.

Alex said that it improved things by about 1FPS, but I'm not sure how he verified that that was statistically significant since that's less than a 1% change. We can hold off on merging this if you want.

Yeah, it seems technically correct, I'm just not convinced that it's going to be a win across all drivers. Let's hold off for now I think.

We'll be keeping the original implementation, so closing this PR.


Uncaught TypeError: undefined is not a function

Atom Version: 0.169.0
System: linux 3.13.0-44-generic
Thrown From: linter package, v0.10.1
Stack Trace
Uncaught TypeError: undefined is not a function
At /usr/share/atom/resources/app/node_modules/q/q.js:126

TypeError: undefined is not a function
  at LinterPylint.Linter (/home/mrtemp/.atom/packages/linter/lib/linter.coffee:54:33)
  at new LinterPylint (/home/mrtemp/.atom/packages/linter-pylint/lib/linter-pylint.coffee:18:5)
  at LinterView.initLinters (/home/mrtemp/.atom/packages/linter/lib/linter-view.coffee:51:27)
  at new LinterView (/home/mrtemp/.atom/packages/linter/lib/linter-view.coffee:33:6)
  at /home/mrtemp/.atom/packages/linter/lib/init.coffee:83:24
  at /usr/share/atom/resources/app/src/workspace.js:273:16
  at /usr/share/atom/resources/app/src/workspace.js:330:18
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at PaneContainer.module.exports.PaneContainer.addedPaneItem (/usr/share/atom/resources/app/src/pane-container.js:379:27)
  at /usr/share/atom/resources/app/src/pane-container.js:366:26
  at Emitter.module.exports.Emitter.emit (/usr/share/atom/resources/app/node_modules/event-kit/lib/emitter.js:82:11)
  at Pane.module.exports.Pane.addItem (/usr/share/atom/resources/app/src/pane.js:334:20)
  at Pane.module.exports.Pane.activateItem (/usr/share/atom/resources/app/src/pane.js:313:14)
  at /usr/share/atom/resources/app/src/workspace.js:497:16
  at _fulfilled (/usr/share/atom/resources/app/node_modules/q/q.js:787:54)
  at self.promiseDispatch.done (/usr/share/atom/resources/app/node_modules/q/q.js:816:30)
  at Promise.promise.promiseDispatch (/usr/share/atom/resources/app/node_modules/q/q.js:749:13)
  at /usr/share/atom/resources/app/node_modules/q/q.js:557:44
  at flush (/usr/share/atom/resources/app/node_modules/q/q.js:108:17)
  at process._tickCallback (node.js:386:11)

Commands
     -7:29.9 snippets:next-tab-stop (atom-text-editor.editor.is-focused)
     -7:29.9 snippets:expand (atom-text-editor.editor.is-focused)
     -7:29.9 editor:indent (atom-text-editor.editor.is-focused)
     -7:27.1 core:undo (atom-text-editor.editor.is-focused)
     -0:03.4 fuzzy-finder:toggle-file-finder (atom-text-editor.editor.is-focused)
     -0:00.6 core:backspace (atom-text-editor.editor.mini)
     -0:00.0 core:confirm (atom-text-editor.editor.mini)

Config
{
  "core": {
    "disabledPackages": [
      "linter-flow"
    ]
  },
  "linter": {
    "lintDebug": true,
    "showErrorInline": true
  }
}

Installed Packages
# User
autocomplete-emojis, v0.7.1
autocomplete-paths, v1.0.1
autocomplete-plus, v2.0.6
autocomplete-plus-jedi, v0.0.4
autocomplete-snippets, v1.0.0
language-log, v0.0.1
linter, v0.10.1
linter-jscs, v1.4.9
linter-pylint, v0.2.0
minimap, v3.5.6
minimap-find-and-replace, v3.1.0
minimap-git-diff, v3.1.1
minimap-selection, v3.1.1
revert-buffer, v0.4.0
view-tail-large-files, v0.1.8

# Dev
No dev packages

/cc @atom/core

Sorry I think this is an incompatibility between linter 0.10.1 and Atom 0.169.0. Please upgrade your copy of Atom!


Added rdg_read_http_unicode_string error messages

Added log entries in case something in the packet is wrong
reported by biganon via IRC, ttps://paste.debian.net/1198544/
add some more meaningful log messages to allow better tracing in what is going wrong.

@akallabeth Can you also backport https://github.com/FreeRDP/FreeRDP/pull/6924 and https://github.com/FreeRDP/FreeRDP/pull/7036 for the next stable release?

Thank you.
Output produced by the last version: https://paste.debian.net/hidden/252b1a1b/

@Biganon sorry, seems like you encountered https://github.com/FreeRDP/FreeRDP/issues/7045
will fix that one so next nightly it will be :/


[style]: Update Navbar and add animations to the links

What's the style idea?
We need to improve the header of the website as everything is too close also
The links need smooth animations to improve the UI experience
Add screenshots
Add screenshots

Code of Conduct

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

ok
assigned to you

Ok then i'll be only working on animation

yes

Hii @priyankarpal
I have made my changes but I cant find .env.example to add access token can you help me through it

Completed. Thanks for your contributions 🎉 ❤


[BUG] Opensearch sink, dynamic index not working

Describe the bug
It seems that using version 2.0.1 the dynamic index name (with index type custom) is not working when trying to create the index name starting from the value of a field inside a trace event.
To Reproduce
Steps to reproduce the behavior:

Data prepper config

entry-pipeline:
  delay: "100"
  source:
    otel_trace_source:
      ssl: false
  sink:
    - pipeline:
        name: "raw-pipeline"
raw-pipeline:
  source:
    pipeline:
      name: "entry-pipeline"
  processor:
    - otel_trace_raw:
  sink:
    - opensearch:
        hosts: ["https://<ENDPOINT>:443"]
        aws_sigv4: true
        aws_region: "eu-west-1"
        index: "otel-v1-apm-span-${resource.attributes.obs-tenant}-%{yyyy.MM.dd}"
        index_type: trace-analytics-raw
        trace_analytics_raw: true

My trace data inside Opensearch looks like:

[
  {
    "_index": "otel-v1-apm-span-${resource.attributes.obs-tenant}-2022.12.12",
    "_type": "_doc",
    "_id": "jTtrCIUB2abFRUifipmm",
    "_score": 0.6931471,
    "_source": {
      "traceId": "00000000000000000000e7a86b9eaece",
      "droppedLinksCount": 0,
      "kind": "SPAN_KIND_SERVER",
      "droppedEventsCount": 0,
      "traceGroupFields": {
        "endTime": "2022-12-12T22:09:28.160267Z",
        "durationInNanos": 108000,
        "statusCode": 0
      },
      "traceGroup": "HTTP GET /",
      "serviceName": "frontend",
      "parentSpanId": "",
      "spanId": "0000e7a86b9eaece",
      "traceState": "",
      "name": "HTTP GET /",
      "startTime": "2022-12-12T22:09:28.160159Z",
      "links": [],
      "endTime": "2022-12-12T22:09:28.160267Z",
      "droppedAttributesCount": 0,
      "durationInNanos": 108000,
      "events": [],
      "span.attributes.http@url": "/",
      "resource.attributes.client-uuid": "63d9e116e98c3b2",
      "resource.attributes.service@name": "frontend",
      "span.attributes.component": "net/http",
      "status.code": 0,
      "span.attributes.sampler@param": true,
      "span.attributes.http@method": "GET",
      "resource.attributes.ip": "<IP_ADDRESS>",
      "resource.attributes.opencensus@exporterversion": "Jaeger-Go-2.30.0",
      "resource.attributes.obs-tenant": "devsecops",
      "span.attributes.http@status_code": 200,
      "span.attributes.sampler@type": "const"
    }
  }
]

The trace is then added inside an index without parsing dynamically the value of resource.attributes.obs-tenant from the input data.

@skylagallm Thanks for try out dynamic indexing. It looks like you're trying it on Data Prepper 2.0.1 but dynamic indexing is supported from Data Prepper 2.1 version. Can you try with 2.1 and let us know how it goes?
You can also try building from source to try out the latest features as documented here.


Bug: Unit Default.: Operating Condition Code Drop Down options incorrect

Test Case
Steps to Reproduce
According to ticket #3002, the options for the Operating Condition Code should be (Dropdown - A, B, P). Currently the system is returning options that was not specified in the a/c of #3002, See below

Requirements
As an ECMPS user, I want to view Unit Default Test Data in the Global-View and add new Unit Default Test Data in the Workspace so that I can look at real-time data or add test information as needed
Acceptance Criteria: (Global-view)
Given a user has selected Unit Default from the Test Type Group dropdown and a data record is available
When the data is displayed
Then the user can see data displayed as a separate table
Fuel Code
NOX Default Rate
Operating Condition Code
Group ID
Number of Units in Group
Number of Tests for Group
Given a user is viewing Unit Default Test Data
When the data is displayed in a table
Then the default sort order is alphanumeric descending by the contents in the 1st column
And the user will have the option to sort the columns in ascending or descending alphanumeric order

[x] The fields and their order specified

Pagination?

[ ] Yes
[x] No

Filter by keyword?

[ ] Yes
[x] No

Columns are sortable?

[x] Yes
[ ] No

Nested rows, expandable?

[x] Yes
[ ] No

Acceptance Criteria: (Workspace - Add)
Given the user has selected Unit Default from the Test Type Group dropdown
When the user clicks on 'Add' for Unit Default Test Data
Then the system displays a modal
and the user can add new data for:
Fuel Code (Dropdown)
NOX Default Rate (Text)
Operating Condition Code (Dropdown - A, B, P)
Group ID (Text)
Number of Units in Group (Text)
Number of Tests for Group (Text)
Given the user has added Unit Default Test Data
When the user chooses to save and close
Then the data is saved
And the modal closes
And the user is returned to the Landing screen
And the Unit Default Test record is reflected on the UI
Given the user has added a new Unit Default Test Data
When the user chooses to Cancel
Then the user is returned to the Landing screen for Unit Default Test Data
And no updates are saved
Dev Note: This data section is at the second level of nesting (Test Data -> Unit Default Test )

@JanellC update this ticket to the tech team and indicate that this is a relationships ticket

Based on discussion during planning on 12/21 this ticket can be completed after the March beta


push in changes for word_finder and word_scrape

This PR implements the scraping tool to extract words from dictionary and then search them with a trie.

merging

You are amazing and this is super brilliant
On Tue, Apr 16, 2019 at 8:10 AM Josh Weinstein<EMAIL_ADDRESS>wrote:

Merged #1 https://github.com/vidawein/dict-word-finder/pull/1 into
master.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/vidawein/dict-word-finder/pull/1#event-2280022284,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARI8y0QFYCMh8kDlLgqRB6zjaFelgEfKks5vhefygaJpZM4cyfJF
.


Get all roles from resource

Is there any function like authorized_actions but list all roles instead of actions?
authorized_roles(actor, resource)

Hey @jneo8! That's a great idea, we can definitely consider adding that.
In the meantime, it's actually not too bad to implement that yourself. Here's how authorized_actions works: https://github.com/osohq/oso/blob/0c5d33f7d9820cd6ae4842970edfd5735ae6ad4e/languages/python/oso/oso/oso.py#L152
So it would be something like:
from oso import Variable

role_results = oso.query_rule("has_role", actor, Variable("role"), resource)
roles = set()
for result in role_results:
    role = result.get("bindings").get("role")
    roles.add(role)

This wouldn't handle the "wildcard" case (the user is allowed to have any role). But that's not commonly needed.

@samscott89 Thanks for your reply.
But I get this error msg when I try to implement
polar.exceptions.UnexpectedPolarTypeError: Received Expression from Polar VM. The Expression type is only supported when using django-oso or sqlalchemy-oso's data filtering features. Did you perform an operation over an unbound variable in your policy?

To silence this error and receive an Expression result, pass accept_expression=True to Oso.query.

Get help with Oso from our engineers: https://help.osohq.com/error/UnexpectedPolarTypeError

Because I'm not using either django-oso or sqlalchemy-oso, I add accept_expression=True to my code and it works!!
Just want to know is this ok if I add accept_expression=True to query_rule ?

Hey @jneo8. Glad you have a workaround, but to make sure it's correct would you mind sharing the policy that caused this?

@samscott89  thanks for you reply.
I can only share basic policy from our project.
We are using async SQLAlchemy && Ltree(PostgreSQL) together
allow (actor, action, resource) if
    has_permission(actor, action, resource);

resource Org {
    permissions = [
        "read",
        "edit",
        "invite",
    ];
    roles = [
        # Role can inherit
        "superuser",
        "agent",
        "manager",

        "member"
    ];

    relations = {
        parent: Org,
    };

    # superuser
    "agent" if "superuser";

    # agent
    "manager" if "agent";

    # manager
    "member" if "manager";
    "invite" if "manager";

    # member
    "read" if "member";

}

has_relation(parent_org: Org, "parent", child_org: Org) if
    parent_org = child_org.parent;

actor User {
}

# Superuser rule
has_role(user: User, "superuser", _org: Org) if
    user.is_superuser = true;

has_role(user: User, role_name: String, org: Org) if
    org_role in user.org_roles and
    org_role.org.id = org.id and
    org_role.role.value = role_name;

OrgIDSeq = Sequence("org_id_seq")

class Org(Base):
    """Org."""

    __tablename__ = "org"

    id: Any = Column(Integer, OrgIDSeq, primary_key=True)
    name = Column(String, nullable=False)
    path = Column(LtreeType, nullable=False)
    is_root = Column(Boolean, default=False)

    types = Column(
        ARRAY(
            ChoiceType(OrgType, impl=String()),
            as_tuple=True,
        ),
    )

    # relationship
    parent = relationship(
        "Org",
        primaryjoin=remote(path) == foreign(func.subpath(path, 0, -1)),
        backref="children",
        viewonly=True,
        lazy="immediate",
    )
    org_roles = relationship(
        "OrgRole",
        back_populates="org",
    )

    __table_args__ = (Index("ix_org_path", path, postgresql_using="gist"),)

UserOrgRole = Table(
    "user_org_role",
    Base.metadata,
    Column("user_id", Integer, ForeignKey("user.id"), primary_key=True),
    Column(
        "org_role_id", Integer, ForeignKey("org_role.id"), primary_key=True
    ),
)

class User(Base):

    __tablename__ = "user"

    id = Column(Integer, primary_key=True)
    name = Column(String)
    email = Column(EmailType)
    password = Column(String(length=128), nullable=False)
    is_active = Column(Boolean, default=False, nullable=False)
    is_verified = Column(Boolean, default=False, nullable=False)
    is_superuser = Column(Boolean, default=False, nullable=False)
    org_roles = relationship(
        "OrgRole",
        secondary=UserOrgRole,
        back_populates="users",
        lazy="immediate",
    )

class OrgRole(Base):

    __tablename__ = "org_role"

    id = Column(Integer, primary_key=True)
    org_id = Column(Integer, ForeignKey("org.id"))
    org = relationship("Org", back_populates="org_roles", lazy="immediate")
    role = Column(ChoiceType(Roles, impl=String()))

    users = relationship(
        "User",
        secondary=UserOrgRole,
        back_populates="org_roles",
    )

Thanks for sharing @jneo8! That generally looks good to me.
One thing is that you might want to change the has_role check operate over the org not the org.id. E.g.
has_role(user: User, role_name: String, org: Org) if
    org_role in user.org_roles and
    org_role.org = org and # << change here
    org_role.role.value = role_name;

The example provided worked for me with my policy. @samscott89 let me know if you'd like me to make a PR for the this functionality.

Never heard back, so just submitted #1675 in hopes of getting some feedback for or against

I think the problem I have with that reasoning is I had to dig through your GitHub issues to figure out how to do it. For a less experienced or interested user, I expect they'd believe this simply isn't possible to do.

I'd rather ask for those items, file backlog issues to add to other languages, etc than expect users to understand how to use a low level API like query rule, which personally I don't understand well at all

Ah I missed this. Yeah, this is actually going to be in #1572 in example code I'm sharing there


Adds "validate_discovery_issuer" configuration parameter to optionally work around certain invalid implementations.

Although OIDC Discovery 1.0 section 4.3 correctly identifies that the issuer must be validated to eliminate impersonation risks outlined in Section 7.2, we have identified various non-conforming implementations in the wild with this parameter incorrectly.
To work around this, this branch introduces an OPTIONAL configuration option that allows one to bypass this requirement and skip this validation.
Existing functionality and behaviour ONLY changes if this configuration option is set, and by setting this configuration option it is assumed that implementing parties are aware of the potential risks outlined in 7.2 and have mitigated these problems elsewhere (or that the implementation is not production quality/public).
Rspec tests are included, and if merged we'll add documentation to the github wiki so that users can utilise this functionality. I'm keen personally to make sure that those toggling this option would do so being fully aware of the consequences, so I'm open to discussions on how to eg. omit warnings or ensure this is documented effectively to prevent anybody making mistakes here.

If you can “trust” the invalid discovery document, you won’t need discovery feature. To trust it, you’ll need some “manual” steps.

@nov we agree with this, to enable this flag definitely undermines the feature in a technical sense.
In our use case we're troubleshooting some of the early implementations of Open Banking UK standards (based on FAPI R+W) and we're having to work around some spec non-conformance during our respective QA phases with other third parties.
We've forked this gem and are implementing these kind of configurable "workarounds", but for those that are appropriate for the wider community we submitted them in Pull Requests as we did here and in #37.
If these workarounds are too specific for our use case and not considered appropriate for the openid_connect gem itself, we're happy to confine them to our forked version for now. Obviously with this one in general undermining issuer verification has a significant security impact and attempts to bypass shouldn't go near a production environment except in very specialised circumstances (where there is some domain whitelist but you want to allow paths to change, as an off the top of my head example).
We're working with other stakeholders across the OB landscape to iron out these non-conformance issues, we just considered that other parties working against non-conforming endpoints during QA phases might find these options useful.

Hi, I understood your use-case.
v1.1.4 has this feature.
Thanks


Controls option show/hide threw state not working

1: create controls  state
state =
controls: {
polygon: true,
trash: true,
},
}

Hide contorls when change state .
onDrawCreate = () => {
this.setState({ controls: { polygon: false } });
};

controls not hide in jsx.

Hi, same issue here, any idea @amaurymartiny ?
Thank you for your work, the drawer is great!

Same here. I don't thinks it's possible right now, there's even an open PR on the original repo (https://github.com/mapbox/mapbox-gl-draw/pull/922) . My workaround was deleting the previous drawn points/polygon, every time a new one is created.

Same here. I don't thinks it's possible right now, there's even an open PR on the original repo (mapbox/mapbox-gl-draw#922) . My workaround was deleting the previous drawn points/polygon, every time a new one is created.

Indeed I had not thought of doing that. Thanks for the idea! :)


Unable to move project past 6.4.1 due to webpack issues.

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
7.2.0
Electron version
v25.3.1
Operating system
Windows 11 Pro
Last known working Electron Forge version
6.4.1
Expected behavior
run start and have the app start
Actual behavior
running start fails to start the app.
Error message about webpack not having polyfills for modules is displayed. The app does not start.
In some cases (in versions between 7.0.0 and 6.4.2) the app starts but the errors are dumped into the JS web inspector console instead of the cli.
Error message shown with 7.2.0:
PS C:\Users\zcr22\Desktop\electron node 18\my-new-app> npm run start

><EMAIL_ADDRESS>start
> electron-forge start

✔ Checking your system
✔ Locating application
✔ Loading configuration
✔ Preparing native dependencies: 2 / 2 [1s]
✔ Running generateAssets hook
✔ [plugin-webpack] Compiling main process code [0.7s]
✖ [plugin-webpack] Launching dev servers for renderer process code
  › Compilation errors in the preload: group_0:
    asset main_window/preload.js 1.28 MiB [emitted] (name: main_window)
    runtime m…

An unhandled rejection has occurred inside Forge:
Error: Compilation errors in the preload: group_0:
  asset main_window/preload.js 1.28 MiB [emitted] (name: main_window)
  runtime modules 26.4 KiB 12 modules
  modules by path ./node_modules/ 395 KiB 86 modules
  modules by path ./src/ 20.5 KiB
    modules by path ./src/electron/OSC/ 18.4 KiB
      ./src/electron/OSC/MixerEventListeners.ts 2.28 KiB [built] [code generated]
      ./src/electron/OSC/core/X32.ts 16.1 KiB [built] [code generated]
    ./src/electron/preload.ts 636 bytes [built] [code generated]
    ./src/electron/ipcRenderer/IpcRendererListeners.ts 730 bytes [built] [code generated]
    ./src/shared/helpers/time.ts 727 bytes [built] [code generated]
  modules with errors 78 bytes [errors]
    node:net 39 bytes [built] [code generated] [1 error]
    node:os 39 bytes [built] [code generated] [1 error]
  external "events" 42 bytes [built] [code generated]
  external "electron" 42 bytes [built] [code generated]

  ERROR in ./node_modules/node-gyp-build/node-gyp-build.js 1:9-22
  Module not found: Error: Can't resolve 'fs' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\node-gyp-build'
   @ ./node_modules/node-gyp-build/index.js 4:2-49
<EMAIL_ADDRESS>10:41-66
<EMAIL_ADDRESS>9:17-36
<EMAIL_ADDRESS>23:17-36 28:13-32
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in ./node_modules/node-gyp-build/node-gyp-build.js 2:11-26
  Module not found: Error: Can't resolve 'path' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\node-gyp-build'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }
   @ ./node_modules/node-gyp-build/index.js 4:2-49
<EMAIL_ADDRESS>10:41-66
<EMAIL_ADDRESS>9:17-36
<EMAIL_ADDRESS>23:17-36 28:13-32
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in ./node_modules/node-gyp-build/node-gyp-build.js 3:9-22
  Module not found: Error: Can't resolve 'os' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\node-gyp-build'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "os": require.resolve("os-browserify/browser") }'
        - install 'os-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "os": false }
   @ ./node_modules/node-gyp-build/index.js 4:2-49
<EMAIL_ADDRESS>10:41-66
<EMAIL_ADDRESS>9:17-36
<EMAIL_ADDRESS>23:17-36 28:13-32
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:24-48
  Module not found: Error: Can't resolve 'child_process' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\bindings-cpp\dist'
<EMAIL_ADDRESS>8:21-44
<EMAIL_ADDRESS>24:16-34 29:13-31
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>8:15-30
  Module not found: Error: Can't resolve 'util' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\bindings-cpp\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "util": require.resolve("util/") }'
        - install 'util'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "util": false }
<EMAIL_ADDRESS>9:24-50
<EMAIL_ADDRESS>25:16-34 30:13-31
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>9:15-30
  Module not found: Error: Can't resolve 'path' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\bindings-cpp\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }
<EMAIL_ADDRESS>9:24-50
<EMAIL_ADDRESS>25:16-34 30:13-31
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>9:15-30
  Module not found: Error: Can't resolve 'path' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\bindings-cpp\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
        - install 'path-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "path": false }
<EMAIL_ADDRESS>9:17-36
<EMAIL_ADDRESS>23:17-36 28:13-32
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>7:15-30
  Module not found: Error: Can't resolve 'util' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\bindings-cpp\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "util": require.resolve("util/") }'
        - install 'util'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "util": false }
<EMAIL_ADDRESS>11:21-44
<EMAIL_ADDRESS>23:17-36 28:13-32
   @ ./node_modules/osc/node_modules/serialport/dist/serialport.js 5:23-58
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 24:13-36
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-byte-length\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 13:13-54
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-cctalk\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 14:13-49
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-delimiter\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 15:13-52
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-inter-byte-timeout\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 16:13-61
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-packet-length\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 17:13-56
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-ready\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 19:13-48
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-regex\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 20:13-48
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-slip-encoder\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
<EMAIL_ADDRESS>13:13-33
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 21:13-55
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-slip-encoder\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
<EMAIL_ADDRESS>14:13-33
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 21:13-55
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>4:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\parser-spacepacket\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 22:13-54
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in<EMAIL_ADDRESS>7:17-34
  Module not found: Error: Can't resolve 'stream' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\node_modules\@serialport\stream\dist'

  BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
  This is no longer the case. Verify if you need this module and configure a polyfill for it.

  If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "stream": require.resolve("stream-browserify") }'
        - install 'stream-browserify'
  If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "stream": false }
   @ ./node_modules/osc/node_modules/serialport/dist/serialport-mock.js 4:17-46
   @ ./node_modules/osc/node_modules/serialport/dist/index.js 23:13-41
   @ ./node_modules/osc/src/platforms/osc-node-serialport-loader.js 15:21-42
   @ ./node_modules/osc/src/platforms/osc-node.js 38:12-54
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in ./node_modules/osc/src/platforms/osc-node.js 31:16-32
  Module not found: Error: Can't resolve 'dgram' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\src\platforms'
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in ./node_modules/osc/src/platforms/osc-node.js 32:14-28
  Module not found: Error: Can't resolve 'net' in 'C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\osc\src\platforms'
   @ ./src/electron/OSC/core/X32.ts 23:14-28
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in node:net
  Module build failed: UnhandledSchemeError: Reading from "node:net" is not handled by plugins (Unhandled scheme).
  Webpack supports "data:" and "file:" URIs by default.
  You may need an additional plugin to handle "node:" URIs.
      at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:838:25
      at Hook.eval [as callAsync] (eval at create (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
      at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\Hook.js:18:14)
      at Object.processResource (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:835:8)
      at processResource (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\loader-runner\lib\LoaderRunner.js:220:11)
      at iteratePitchingLoaders (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\loader-runner\lib\LoaderRunner.js:171:10)
      at runLoaders (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\loader-runner\lib\LoaderRunner.js:398:2)
      at NormalModule._doBuild (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:825:3)
      at NormalModule.build (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:969:15)
      at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Compilation.js:1377:12
      at NormalModule.needBuild (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:1257:32)
      at Compilation._buildModule (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Compilation.js:1358:10)
      at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\util\AsyncQueue.js:305:10
      at Hook.eval [as callAsync] (eval at create (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
      at AsyncQueue._startProcessing (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\util\AsyncQueue.js:295:26)
      at AsyncQueue._ensureProcessing (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\util\AsyncQueue.js:282:12)
   @ ./node_modules/get-port/index.js 1:0-27 44:17-33
   @ ./src/electron/OSC/core/X32.ts 25:35-54
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  ERROR in node:os
  Module build failed: UnhandledSchemeError: Reading from "node:os" is not handled by plugins (Unhandled scheme).
  Webpack supports "data:" and "file:" URIs by default.
  You may need an additional plugin to handle "node:" URIs.
      at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:838:25
      at Hook.eval [as callAsync] (eval at create (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
      at Object.processResource (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:835:8)
      at processResource (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\loader-runner\lib\LoaderRunner.js:220:11)
      at iteratePitchingLoaders (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\loader-runner\lib\LoaderRunner.js:171:10)
      at runLoaders (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\loader-runner\lib\LoaderRunner.js:398:2)
      at NormalModule._doBuild (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:825:3)
      at NormalModule.build (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:969:15)
      at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Compilation.js:1377:12
      at NormalModule.needBuild (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\NormalModule.js:1257:32)
      at Compilation._buildModule (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Compilation.js:1358:10)
      at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\util\AsyncQueue.js:305:10
      at Hook.eval [as callAsync] (eval at create (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
      at AsyncQueue._startProcessing (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\util\AsyncQueue.js:295:26)
      at AsyncQueue._ensureProcessing (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\util\AsyncQueue.js:282:12)
      at processImmediate (node:internal/timers:478:21)
   @ ./node_modules/get-port/index.js 2:0-25 27:20-40
   @ ./src/electron/OSC/core/X32.ts 25:35-54
   @ ./src/electron/OSC/MixerEventListeners.ts 8:30-55
   @ ./src/electron/preload.ts 5:30-66

  24 errors have detailed information that is not shown.
  Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.

  group_0 (webpack 5.88.2) compiled with 26 errors in 7147 ms

group_0:
  asset main_window/index.js 16.2 MiB [emitted] (name: main_window)
  asset main_window/index.html 277 bytes [emitted]
  runtime modules 27.9 KiB 16 modules
  orphan modules 4.55 KiB [orphan] 7 modules
  modules by path ./node_modules/ 5.11 MiB 1293 modules
  modules by path ./src/ 136 KiB
    modules by path ./src/shared/ 77 KiB 22 modules
    modules by path ./src/applications/ 55.7 KiB
      modules by path ./src/applications/MuteSync/ 34.6 KiB 6 modules
      modules by path ./src/applications/Workbench/ 12.9 KiB 3 modules
      modules by path ./src/applications/MeterBridge/ 3.99 KiB 2 modules
      modules by path ./src/applications/GetStarted/ 4.28 KiB 2 modules
    modules by path ./src/electron/ 1.68 KiB
      ./src/electron/renderer.ts 1010 bytes [built] [code generated]
      ./src/electron/index.tsx 709 bytes [built] [code generated]
    ./src/App.tsx 1.89 KiB [built] [code generated]
  group_0 (webpack 5.88.2) compiled successfully in 8644 ms
at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\@electron-forge\plugin-webpack\src\WebpackPlugin.ts:395:27
    at Hook.eval (eval at create (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:7:1)
    at Hook.CALL_DELEGATE [as _call] (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\Hook.js:14:14)
    at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\MultiCompiler.js:97:22
    at Hook.eval [as callAsync] (eval at create (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:29:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\Hook.js:18:14)
    at Watching._done (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Watching.js:299:28)
    at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Watching.js:213:21
    at Compiler.emitRecords (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Compiler.js:919:5)
    at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Watching.js:191:22
    at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Compiler.js:885:14
    at Hook.eval [as callAsync] (eval at create (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\tapable\lib\Hook.js:18:14)
    at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\webpack\lib\Compiler.js:882:27
    at C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\neo-async\async.js:2818:7
    at done (C:\Users\zcr22\Desktop\electron node 18\my-new-app\node_modules\neo-async\async.js:3522:9)

Steps to reproduce

Clone Project from here: https://github.com/JoueBien/X32-OSC-Node-Bridge
upgrade to 7.2.0 (Copy & replace of "^6.2.1" in package.json)
start the app npm run start

Additional information
{
"name": "my-new-app",
"productName": "my-new-app",
"version": "1.0.0",
"description": "My Electron application description",
"main": ".webpack/main",
"scripts": {
"start": "electron-forge start",
"package": "electron-forge package",
"make": "electron-forge make",
"publish": "electron-forge publish",
"lint": "eslint --ext .ts,.tsx .",
"fix": "eslint --fix --ext .tsx,.ts .",
"installNode": "nvm install 20.11.0",
"swapNode": "nvm use 20.11.0"
},
"keywords": [],
"author": {
"name": "",
"email": ""
},
"license": "MIT",
"devDependencies": {
"@electron-forge/cli": "7.2.0",
"@electron-forge/maker-deb": "7.2.0",
"@electron-forge/maker-rpm": "7.2.0",
"@electron-forge/maker-squirrel": "7.2.0",
"@electron-forge/maker-zip": "7.2.0",
"@electron-forge/plugin-auto-unpack-natives": "7.2.0",
"@electron-forge/plugin-webpack": "7.2.0",
"@josephmark/eslint-config-react": "^1.0.9",
"@types/react": "^18.2.15",
"@types/react-dom": "^18.2.7",
"@types/uuid": "^9.0.2",
"@types/validator": "^13.7.17",
"@typescript-eslint/eslint-plugin": "^5.62.0",
"@typescript-eslint/parser": "^5.62.0",
"@vercel/webpack-asset-relocator-loader": "^1.7.3",
"css-loader": "^6.8.1",
"dotenv-webpack": "^8.0.1",
"electron": "25.3.1",
"eslint": "^8.45.0",
"eslint-plugin-import": "^2.27.5",
"fork-ts-checker-webpack-plugin": "^7.3.0",
"node-loader": "^2.0.0",
"prettier": "^3.0.0",
"prettier-eslint": "^15.0.1",
"style-loader": "^3.3.3",
"ts-loader": "^9.4.4",
"ts-node": "^10.9.1",
"typescript": "~4.5.4"
},
"dependencies": {
"decimal.js": "^10.4.3",
"electron-squirrel-startup": "^1.0.0",
"fs-extra": "^11.1.1",
"get-port": "^7.0.0",
"osc": "^2.4.4",
"px-par": "^0.2.3",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"rsuite": "^5.37.1",
"serialport": "^11.0.0",
"styled-components": "^6.0.4",
"use-async-setstate": "^0.1.1",
"use-debounce": "^9.0.4",
"usehooks-ts": "^2.9.1",
"uuid": "^9.0.0",
"validator": "^13.9.0"
}
}

Working through this issue I seam to have resolve it:

Add nodeIntegration: true, to forge.config.ts
set webPreferences to:

   webPreferences: {
      contextIsolation: true,
      nodeIntegration: true,
      // enableRemoteModule: true,
      preload: MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY,
    },

Set webpack.renderer.config.ts to actually build as web by setting the target to   target: "web", so I could finally get rid of the your not allowed to use require error message.

Will update once I bring the entire app back up to a point where I can call OSC code.

Thanks for submitting your solution. Btw you don't need to enable nodeIntegration in your webPreferences as it might cause some security issues.
Updating the forge.config.ts and webpack.renderer.config.ts as you did was enough in my case.


Mu4e: Improve gmail checks

I can't comment on the Mu4e PR because Henrik's locked the repo for the week, so I guess I'm doing a PR to a PR?
I'm guessing your Gmail account had a maildir with "gmail" in the name, because the to-from parsing doesn't work. (mu4e-message-field msg :to/:from) return alists (because mail can be to many people) with keys of names and values of email addresses, so we would have to get the values with mapcar #'cdr and then do something like seq-intersection to determine if any personal address were in the "To" or "From" address lists. I don't know if this makes sense, since all Gmail messages will be in Gmail maildirs anyway, and we could get false positives when marking messages in other accounts' maildirs. For example, a message in a non-Gmail maildir that was also sent to your Gmail, or a message in the Sent maildir of another personal account that you sent to your Gmail. The maildir way seems foolproof.
I just ended up changing +mu4e-gmail-addresses to be required rather than only for extras, since maildir names might not have Gmail in them. It seemed like telling users to list only Gmail accounts with maildirs that don't have "gmail" in the path might be more confusing than just having them list them all outright?
I am also having issues with some of the tag-based management you've set up, so I'll comment on that here since I can't on the main PR.

Great, I can't comment on it here since it's outside my diff :sweat:
    ;; In my workflow, emails won't be moved at all. Only their flags/labels are
    ;; changed. Se we redefine the trash and refile marks not to do any moving.
    ;; However, the real magic happens in `+mu4e|gmail-fix-flags'.
    ;;
    ;; Gmail will handle the rest.
    (defun +mu4e--mark-seen (docid _msg target)
      (mu4e~proc-move docid (mu4e~mark-check-target target) "+S-u-N"))

I debugged this and found it a bit confusing. The flag stuff is making sense, but the "emails won't be moved at all" doesn't make sense since messages do get moved due to this function. When I delete messages, the mu4e~mark-check-target call does return my trash folder and the message does get moved there. This results in the message getting completely removed from my local mail store.
I'm also confused about the -u? I know +S is seen and -N is removing new, but I've never seen a u flag?
Overall though this does seem like the smart way of handling it. Setting flags and letting the server rearrange how it presents the IMAP folders accordingly. Thanks for figuring this out!

Great, I can't comment on it here since it's outside my diff :sweat:
    ;; In my workflow, emails won't be moved at all. Only their flags/labels are
    ;; changed. Se we redefine the trash and refile marks not to do any moving.
    ;; However, the real magic happens in `+mu4e|gmail-fix-flags'.
    ;;
    ;; Gmail will handle the rest.
    (defun +mu4e--mark-seen (docid _msg target)
      (mu4e~proc-move docid (mu4e~mark-check-target target) "+S-u-N"))

I debugged this and found it a bit confusing. The flag stuff is making sense, but the "emails won't be moved at all" doesn't make sense since messages do get moved due to this function. When I delete messages, the mu4e~mark-check-target call does return my trash folder and the message does get moved there. This results in the message getting completely removed from my local mail store.
I'm also confused about the -u? I know +S is seen and -N is removing new, but I've never seen a u flag?
Overall though this does seem like the smart way of handling it. Setting flags and letting the server rearrange how it presents the IMAP folders accordingly. Thanks for figuring this out!


Missing or invalid description in page-sections

Provide the exact quote of the error or issue
The following are missing and need to be added in page-sections:

Missing Japanese description in contents/page-sections/metadata.json

Missing English description in contents/page-sections/metadata.json

Missing Japanese translation for description in contents/page-sections/metadata.json

Does the feature already exist? Please link to it.
No response
Are you willing to participate in fixing this issue and create a pull request with the fix?
None

I'll do this.


optionally use login rather than ID for GitHub

Allow an option to use the github user handle rather than an id.
For downstream apps using a github handle is much simpler than working with numbers.
Whilst the number is stable and the handle is not - GitHUb does give you a big scary wanring if you try and change it that bad things may happen to you, and generally few users ever change it.
This can be enabled with a configuration option useLoginAsId

/test this

/lgtm
(I guess the ID re-use thing is pretty generally true, e.g. a whole load of things are keyed off e-mails, but if someone deletes/renames an address an attacker could take control of loads via password resets. tbh I have no idea if e-mail services (or github for that matter) prevent re-use of addresses...)

filed upstream as dexidp/dex/pull/1396

/lgtm


No environment file provided, using default values on windows 10 despite ffmpeg setup

Only download around 24 per subreddit

The default is 25 posts, try increasing it with -l, --limit <LIMIT>               Limit the number of posts to download [default: 25]

it works thank you


add optional TARGET=.. parameter for 'make containerized-test'

Running the containerized-tests is relatively time consuming as it runs
all the tests. By adding a TARGET=.. option to the Makefile, it is now
possible to run a selected test, for example:
make containerized-test TARGET=static-check

This reduces the time the tests take, so it is more friendly to the
developers while addressing problems.
When no TARGET=.. parameter is passed, the default tests are run.

@nixpanic spell check optinal to optional in the PR description :)

@nixpanic updated PR title. please update commit message

Subject of the commit message has been updated!

@humblec @Madhu-1 I made the requested commit message typo correction, please +1 this again. Thanks!

@nixpanic need a rebase.

@humblec wrote:

@nixpanic need a rebase.

Done!


Webassembly compatibility

I attempted compiling with emscripten a project that depends on marl and I am hitting an error in osfiber_asm.h.
marl/src/osfiber_asm.h:40:2: error: "Unsupported target"
Would anyone have any pointer regarding what it would take to port marl to webasm? Has it been considered/attempted?

My understanding of web assembly is that  it does not yet have full fiber/stack switching support. Marl requires a working makecontext/swapcontext, or the ability to insert oyr item assembly version.
I think emscripten Asyncify might have enough support for marl, as marl does not move fibers between threads once started, but there needs to be some work there to verify and add the bits and pieces that are missing. Otherwise we have to wait until one of the various fiber/coroutine/async/stack switching proposals is finalized and available in webasm and emscripten.

Thank you for the informed reply. For my own information, where can I get more information and track those webasm/emscripten proposals?

The different versions of this I have seen are in the following links:
https://github.com/WebAssembly/design/issues/1359
https://github.com/WebAssembly/stack-switching
https://github.com/WebAssembly/stack-switching/blob/main/proposals/fibers/Explainer.md
One note about emscripten/ASYNCIFY is that IIUC it may make compilation time/program size balloon because it has to do a lot of analysis to figure out where fibers might get swapped out, but I am not completely understanding of all of the implications there.

Thanks!
For the time being I managed to get something to run off standard (current version) emscripten, using emscripten/fiber.h and ASYNCIFY emscripten link option.
I just opened a PR: #238
I tested on firefox and chrome using the code in examples/
Here is what the tasks_in_tasks example looks like in the browser:
http://localhost:8080/tasks_in_tasks.html

https://github.com/google/marl/pull/238 has been merged. Thank you very much for the contribution!
Are we good to close this issue?

Thanks for the review - all good from my end.


Fix a minor problem with the copy-paste script

This style works better and doesnt show the error, at least for me. ohmyzsh uses a line similar to this to setup their script

Thanks.


AllowCustomMetrics=false and custom metrics are emitted

Or OpenCensus doesn't work as you think it does
Expected Behavior
When metrics.backend-destination in ConfigMap is set to stackdriver and metrics.allow-stackdriver-custom-metrics is either not set or set to false, I am expecting no custom metrics to be emitted (e.g. go_alloc).
Actual Behavior
These metrics are emitted.
Steps to Reproduce the Problem
Scenario 1
If a Pod (let's say Activator) starts and metrics.backend-destination is set to stackdriver, then those metrics are not emitted.
Scenario 2
If a Pod starts and metrics.backend-destination is set to prometheus, and then changed to stackdriver, the metrics are emitted.
Why?
OpenCensus doesn't work as knative.dev/pkg/metrics assumes it does. Swapping exporters and filtering calls to Report is not enough.
For example, for go_alloc, a Measure is created, and that Measure is associated to a View and that View is registered to the system. In this case the View has an aggregation of type LastValue, meaning that when the exporter periodically asks the View for the value to export, the last value reported using the Measure will be returned.
An aggregation of type LastValue doesn't return anything if no value was ever reported, so the exporter doesn't export anything for that view (a.k.a metric) in that case.
Scenario 1
metrics.backend-destination is set to stackdriver and there is some logic to filter out those metrics if allowCustomMetrics is false. In this case, when Report is called for go_alloc, the call never ends up going to the corresponding Measure and therefore the corresponding View always return nothing to the exporter and nothing is exported.
Scenario 2
metrics.backend-destination is set to prometheus and there is no logic to filter out these metrics, so a call to Report ends up going to the Measure and to the Aggregator.
At some point, metrics.backend-destination is set to stackdriver. As explained in Scenario 1, from that moment on, the filtering logic will prevent any call to Report to end up reaching the corresponding Aggregator, BUT that Aggregator still stores a value (the last one reported before switching to stackdriver) and that value will be returned to the exporter when it periodically scans the views.
As a result, that last reported value before switching to stackdriver will be perpetually emitted.
Workaround
Configure config-observability before creating the knative-serving Deployments.
Or reboot the Pod after changing config-observability.
Fix
The views corresponding to the custom metrics should be unsubscribed from the system when we don't want them to be emitted. It is vastly cleaner and more efficient than the manual filtering done at every call to Report.

/assign @evankanderson @MontyCarter
I'm wondering whether the hot-reload of ConfigMaps for metrics is worth it, but I'd love to get an additional opinion.

Another option would be to actually wrap / reimplement the stackdriver export, since the "custom metrics" feature only applies for stackdriver (IIRC, this was because on Google's product, certain metrics are provided gratis, and all additional metrics are paid-for).

/assign @evankanderson @MontyCarter
I'm wondering whether the hot-reload of ConfigMaps for metrics is worth it, but I'd love to get an additional opinion.

If I don't misunderstand your suggestion, I think it's kind of unpolished without the config hot reload, and is inconsistent with user expectations (if I change the config, the configuration should change...).  With that said, I wouldn't expect this to get changed for most customers of products built on top of knative (though maybe for OSS users - though these users will expect a little less hand holding).
Getting rid of hot reload means that customers will need to manually restart all knative-serving pods, plus all of their user-container workloads.  This seems like a pretty poor experience to me.
I think modifying stackdriver export would be an ok solution, as it confines the exceptional custom metrics code to just stackdriver.
However, perhaps the idea I like best is waiting till Google has an otel collector service in place, at which point we can do all of the filtering on the collector service.  We could then remove custom metrics from knative altogether.


Upgrade PyPI Version Request

Would it be possible to bump the pypi yubioath-desktop package to 4.2.0? The current version on pypi is 3.1.0.

Unfortunately not. The 4.x version is no longer a python package. Instead it's a compiled Qt application which calls Python code, using QML for the UI rather than the Qt-bindings for Python.


OSSM-5614 Add CEL validation to Istio and IstioRevision

Is it possible to have tests that cover this CEL validation?

Yes, sir! :)


Sending activation mail for New-GSUser

Hello guys :)
Us in our company create user with "no password" and let the new user choose his password by clicking on "more action" > "Email Login Info".
I don't fin any kind of solution for doing this with PSGSuite, do you think it's possible to improve this helpful feature for let users have some liberty ?
All the rest of fields needed works so good ! We just miss this "little" feature for having a simple automated new user script
Thanks a lot :)
Alex

Hey @ABricka - Thanks for checking out PSGSuite! Password is unfortunately a required property when creating a new user (check out the Required Properties section on the Insert User API method here: https://developers.google.com/admin-sdk/directory/v1/reference/users/insert#required-properties).
There are a couple things that Google has in the Console that they simply don't have in the API, with this and the ability to force a user to logout of all of their current sessions being the ones that stand out in my mind.
If you have access to an external email of the new user (i.e. the one I'm assuming they provide to Human Resources during their onboarding, if applicable) or their new managers email, you could provide the new password to them and include the switch New-GSUser -ChangePasswordAtNextLogin .... in your New-GSUser call, then email that other account the new user details using Send-GmailMessage as sort of a welcome package.

In fact by google the password is not sent and have to be set by the user after receiving the mail.
That's why i've asked if you got this kind of feature cause we don't want to send clearly the password even if it's need to be changed.
However a "temporary" password is set during the user creation and works well but it's that mail sent to an external address with the link to change the password without writing it in clear we need :/
I will try to find a solution maybe with a shorturl who can give me the opportunity to the user to set his password without viewing the initial one in clear for the security.
But your PSGSuite tool is awesome and thanks a lot @scrthq  for this !

@ABricka - I getcha! I don't think there's any way to replicate that purely through the API, but I'd be happy to implement it if it's doable! IIRC, Google sends a special link that pre-authenticated for that user. That link doesn't exist on the User context from the API side, so it's a bit difficult to pull it out, if possible at all.

@scrthq Yes that's it, it look like the screenshot attached in this comment.
However, if nothing is like that in the API, I will try to do something manually by side of this project.
I found a -notify parameter in powershell tool GAM but it's not what i need, it just notify me or the admin that the account is created but don't give any link to do a user's self-setting.
I hope to see any update from you on this part if google open the possibility to send this mail by the API.

If you right-click that Sign-in button and grab the URL, does it contain anything that looks like a token in the URL? Do not paste that URL here. Does it contain anything that appears to map back to something that exists on that User's returned object somewhere? I'd be surprised if so, but that's the info that I'd be looking for myself!
I'll 100% let you know if that functionality gets added, regardless!

I just thraw an eye on the link and we got a 48h valid token with no "direct link" with account created, no userid, no customerid, the link is like that (i do a privacy on the token to ensure security) :
https://accounts.google.com/RP?c="27chartoken"&uc=ac&hl=en&continue=https://admin.google.com&fc=1
I don't really know if it can help you but for exemple the reset password link is exactly the same type of link but the 27 char token change and I got a 28 char token so I think it will be hard to search by this side.

Thanks for checking, @ABricka !! I don't think there's much we can do from the API/PSGSuite side, unfortunately. I don't believe those values are retrievable via API. I'll keep an eye out in case that changes though!
Thanks for using PSGSuite! 💖


Transpiled template literals behave incorrectly

TypeScript Version:  3.9.7, 4.0.0-dev.20200725

Search Terms:
template literals, template strings, ES5, ES3
Code
class C {
    toString() {
        return "toString()";
    }
    valueOf() {
        return "valueOf()";
    }
}

const c = new C;
const s = `${c}`;
console.log(s);

Expected behavior:
According to ES2015 (and later) spec, the result of expressions in template literals are converted to primitives first by calling toString() and then by valueOf() (unless there is [Symbol.toPrimitive](), but I'll just ignore it here as Symbols wouldn't get transpiled). s therefore evaluates to "toString()".
Actual behavior:
s evaluates to "valueOf()".
The above code is compiled to the following when the target is ES5 or ES3.  + operator attempts to convert its operands to primitives first by calling valueOf() and then by toString(), which is the opposite of the expected behavior.
"use strict";
var C = /** @class */ (function () {
    function C() {
    }
    C.prototype.toString = function () {
        return "toString()";
    };
    C.prototype.valueOf = function () {
        return "valueOf()";
    };
    return C;
}());
var c = new C;
var s = "" + c;
console.log(s);

FWIW, Babel compiles the above code to this unless loose transformation is enabled. It makes use of String.prototype.concat() and behaves as expected.
Playground Link: Link
Related Issues:
#30239: Although OP's suggestion is not related, some people commenting on the issue seem to confront this issue (like this comment)

Is this something you ran into in a real-world app?

Yes, I had some trouble when I was trying to interact with Discord API using discord.js.
The library defines a class User, which extends another class Base. User overrides toString() so its instances can be serialized into a format Discord API specifies using template literals (see example on the library's documentation) while Base overrides valueOf() presumably for its internal uses. I tried to serialize a User instance with template literals as the example shows, which didn't work as expected since the transpiled code would call valueOf() from the Base class instead of toString() from the User class.

As a heads-up, this behaviour will cause problems with the upcoming Temporal proposal. Currently some of the Temporal objects are specified to throw an error in their valueOf() methods.
There's a discussion about TypeScript's transpilation behaviour for template literals at https://github.com/tc39/proposal-temporal/issues/1681

This is a spec compliance issue that babel also had to deal with; it’s worth fixing.
It also comes up when interpolating Symbols.

As a heads-up, this behaviour will cause problems with the upcoming Temporal proposal. Currently some of the Temporal objects are specified to throw an error in their valueOf() methods.
There's a discussion about TypeScript's transpilation behaviour for template literals at tc39/proposal-temporal#1681

Yep. As a champion of the (currently Stage 3) Temporal proposal, this issue is concerning because it will cause divergence in behavior between spec-compliant interpolation of Temporal instances (which will succeed) and TSC-polyfilled interpolation (which will throw).
Given that TS transpilation is sometimes done via babel and sometimes done via TSC, I can see this creating a lot of confusion among developers, esp. those who are less familiar with the bundler/transpilation plumbing that underlies most modern apps.
Also, a common use case for interpolation of Temporal instances will be console.log statements, because logs often have timestamps or durations displayed. It'd be a bummer to have logging code that works great in JS suddenly start crashing when porting that code to TypeScript.

Totally agree. Hopefully typescript, which has a tc39 presence, can match the spec before it becomes a problem.

@andrewbranch would be great to see this in 4.5 final release if possible. The first (flagged) implementations of Temporal are starting to be released in JS engines, e.g. Safari just shipped the first tech preview with a partial Temporal implementation. And production polyfills are maturing. Would be great to have this fixed in TS before there's too much in-the-wild usage.  Thanks!


Fix build breakage introduced by #1911

1911 is breaking the Android build for us, so would appreciate if this fix or an equivalent one could be reviewed and merged.

@okias since you authored #1911: does this proposed fix still work with your use case?

@svenvh still working properly for musl-libc, thanks for the ping!

Merging as discussed in the May 7th teleconference.
Two areas for follow-up:

Can we do this check in CMake, to choose the right version of strerror_r?
Why wasn't this break found in CI?


Improve template filtering/grouping on metrics page

Metrics screen shows aggregated run stats for each template. Statistics is aggregated by repo, template name, branch. From user's point of view there is one template in repo and branches contains different versions of it, so statistics should be aggregated by repo/template name.
Following changes are required:

[x] Implement API which returns unique list of template names.
[x] Filter jobs by template name instead of template id: https://github.com/argoproj/argo/issues/183
[x] Add template name filter to jobs global search: https://github.com/argoproj/argo/issues/184
[ ] Allow navigate to jobs from metics page: https://github.com/argoproj/argo/issues/185

Created PR for API change which allows fetching unique template names/repos:  https://github.com/argoproj/argo/pull/182

PR for #185 https://github.com/argoproj/argo/pull/197


Merging already reviewed Create and Update Webhooks

Motivation
The Create and Update branchs were point to feat/override_configs
Proposed solution
Reopen the PR pointing to main to reorganize the tree

Codecov Report

Merging #14 (4c04f34) into main (8e23b8d) will decrease coverage by 1.14%.
The diff coverage is 97.43%.

:exclamation: Current head 4c04f34 differs from pull request most recent head 2a255d9. Consider uploading reports for the commit 2a255d9 to get more accurate results

@@            Coverage Diff             @@
##             main      #14      +/-   ##
==========================================
- Coverage   98.64%   97.50%   -1.15%
==========================================
  Files           8        8
  Lines          74       80       +6
==========================================
+ Hits           73       78       +5
- Misses          1        2       +1

Impacted Files
Coverage Δ

lib/pluggy_elixir/auth.ex
75.00% <83.33%> (-25.00%)
:arrow_down:

lib/pluggy_elixir/config.ex
100.00% <100.00%> (ø)

lib/pluggy_elixir/http_adapter/tesla.ex
100.00% <100.00%> (ø)

lib/pluggy_elixir/http_client.ex
100.00% <100.00%> (+4.16%)
:arrow_up:

lib/pluggy_elixir/webhook.ex
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Fix #32: added check for webbitMatchesSelector to support Android n…

…ative browser for Android <5

reenabled tests for Android browser
reordered the tests in the runTests() function in form -> "select-multiple" to work around odd behavior on BrowserStack and SauceLabs which would fail tests that pass when using an emulator

@kitsonk I've created this, but Travis seems to be having a problem. It is saying that our "Automate Plan" has expired. Also, I don't think I have the rights to assign this PR to you for review, please let me know if I'm doing something wrong :smiley:

Can you fix the commit message on this branch?  (Remove the leading "- " and fix the "webbit" typo)


Moodle Plugin

Hi Márcio.
bibleapi is amazing. Thank you so much. I'm considering to develop a Moodle (it is a well-known learning management system) Plugin that uses his API to present daily verses to the users.
I'd like to request your permisson and opinion.
Best regards. Paulo.

Paulo, thank you very much for using the bibleapi. Of course, share the repository to add to the README of this repository.
Best regards.