RequestBuilder::send() can result in SIGPIPE

In a long-running process using hyper 0.6.14, inevitably after some hours of operation a SIGPIPE is received during hyper::net::HttpStream.Write::write calling net::tcp::TcpStream.Write::write calling send() from libc.
I'm under the impression this is an example of this sort of behavior, which could be fixed by catching the SIGPIPE.
Assuming I have the right idea, I would suggest either making sure not to send to closed sockets (which may not be easily possible), handling such SIGPIPEs in hyper, or adding documentation suggesting developers handle any SIGPIPEs which may come up while sending HTTP requests through hyper.

Do you have any more specific info, such as OS, if using child processes, or calling in to Rust from another language, or anything?
Rust specifically turns off SIGPIPE behavior here: https://github.com/rust-lang/rust/blob/master/src/libstd/sys/unix/mod.rs#L76
So I'd think that if something is occurring that skips that, it should probably be fixed in Rust itself.

$ uname -a
Linux [hostname] 4.0.4-301.fc22.x86_64 #1 SMP Thu May 21 13:10:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Using glibc 2.21
rustc version 1.3.0
Single process, run in gdb.
No other languages in the program (communicates over network with programs in other languages, but no other languages embedded in the program itself).

Hm, some superficial Googling suggests that even with signal(SIGPIPE, SIG_IGN), gdb will still notice the signal and exit? Example http://ahlamnote.blogspot.com/2006/12/gdb-ignore-sigpipe.html

Bizarre. Hopefully that'll "fix" the "problem."

I'm going to say that and SIGPIPE happening in Rust program that uses libstd is perhaps a bug in libstd.


Only show saved files header when there are saved_paths

Looks like there's a test I need to fix up too...

@aarontp is this something we should consider for the new client or can we close this PR?

Yeah, let's close it and if we want to make changes to the new client we can do that independently.


add country of incident

generated by country code from cause of death column

https://gist.github.com/kp666/895a41a112694a36af97e66b6f8f1a24
I have a database of country codes populated from geodict. I query the db for country name and dump to a file. Then manually paste that list to the csv.

@kp666 thank you


Add SSOIDC support for AWS creddentials

Should solve the following error when using sso credentials
ProfileCredentialsProvider(profileName=default, profileFile=ProfileFile(sections=[profiles, sso-session], profiles=[Profile(name=default, properties=[sso_session, output, sso_role_name, region, sso_account_id])])): To use SSO OIDC related properties in the 'default' profile, the 'ssooidc' service module must be on the class path.

Thanks @jonbrew!
I think the dependency reference is missing one 'o' at the moment. Should be software.amazon.awssdk:ssooidc, not software.amazon.awssdk:ssoidc.

Thanks @jonbrew!
I think the dependency reference is missing one 'o' at the moment. Should be software.amazon.awssdk:ssooidc, not software.amazon.awssdk:ssoidc.

Whoops :)
I made a new PR without the typo and will be closing this one


fix(deployment): Run tests in parallel during upgrade

#TICKET_NUMBER

Reviewers
Functional: @ebezzi
Readability: @seve

Changes

modify the upgrade Github actions to run the tests in parallel after deployment has finished.

QA steps (optional)
Notes for Reviewer

These three test steps all run against the same deployed environment. Previously we didn't have to worry about making sure tests didn't interfere with each other. Do we know that the tests use complete separate data surfaces, and won't conflict with each other? I'm not sure they were designed with that in mind...
But I wouldn't be opposed to trying this and going with it if it seems to produce ✅ runs regularly. I like speed-ups.

@danieljhegeman if they aren't then they should be. I know the functional tests are independent. I think the smoke test are independent from what I've read in the code. The performance test should be.


Added safelisting to the process tree creation flow

Added all functions required to remove safelisted branches from process trees when they are created

Closes https://cccs.atlassian.net/browse/AL-1336
Incoming PR https://github.com/CybercentreCanada/assemblyline-service-cuckoo/pull/137 requires this to be merged first.

Note that tests passed in dev merge. Pipeline issue is due to this PR being made before the dev PR


Examples; Add minimal led

Examples: Add minimal led
Examples: Add some extra buildutils
lcsc: Improve paths
core: Make operations repr more readable
Library: Add Battery & Buttoncell
Picker: Improve recursive picking order determination

Description
Add a very simple, minimal code example to demonstrate faebryks power in a gif.
Checklist
Please read and execute the following:

[x] My code follows the coding guidelines of this project
[x] My PR title is following the contribution guidelines
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (if applicable)
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works (if applicable)
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I ran Black to format my code

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct:

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

Somethings going wrong with the Operation param resolution in the example for the current limiting resistor.


Host header cannot be set manually from the a browser's XMLHttpRequest

https://fetch.spec.whatwg.org/#forbidden-header-name

Can we use another custom header to set the host and have the proxy redirect to it?


Note H is missing

There's a "H" next to Guaranteed Copy Elision but no corresponding note below the table.

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

ID: d606e0aa-36fd-97f2-6e65-af0f9b05b24c
Version Independent ID: 207d361a-397e-d687-8828-a152ebc4e572
Content: Visual C++ Language Conformance
Content Source: docs/visual-cpp-language-conformance.md
Product: visual-cpp
GitHub Login: @corob-msft
Microsoft Alias: corob

@TheThief Good point. I'll see if I can find where it went.

The footnote originally went to a comment that the feature was available in previews of 15.3, but was pulled from the release. The comment was removed as no longer relevant when the feature shipped in 15.6,  but I forgot to remove the superscript H. A fix should be visible tomorrow or Monday.


Fleshing out PersistentSet

This adds customary overloads and some missing customization points, making PersistentSet work more like what's expected of a set-like type.
Checklist

[X] I've read the Contribution Guidelines
[X] My contributions are licensed under the Swift license.
[X] I've followed the coding style of the rest of the project.
[X] I've added tests covering all new code paths my change adds to the project (if appropriate).
[ ] I've added benchmarks covering new functionality (if appropriate).
[X] I've verified that my change does not break any existing tests or introduce unexplained benchmark regressions.
[ ] I've updated the documentation if necessary.

@swift-ci test


Problem: Some operation loops over the entire storage

use prefix iter

Codecov Report

Merging #467 (6f0730f) into main (7582359) will increase coverage by 0.03%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##             main     #467      +/-   ##
==========================================
+ Coverage   28.67%   28.70%   +0.03%
==========================================
  Files          47       47
  Lines        6553     6553
==========================================
+ Hits         1879     1881       +2
+ Misses       4527     4525       -2
  Partials      147      147

Impacted Files
Coverage Δ

module/x/gravity/keeper/keeper.go
86.74% <66.66%> (+0.46%)
:arrow_up:


Edit and Create actions should be tested using SelfSubjectAccessReview api

These types of modifying actions should be disabled by default; if the SelfSubjectAccessReview api confirms that the user is allowed to perform the action, it should be enabled.

Implemented in most recent releases.


Live output / flush

For longer running commands, such as wget or pv with progress indication, is it possible to flush output and make it visible to the webbrowser while running?

In the current code base this is difficult to implement. Refactoring required.
for me: can be use os/exec.StderrPipe()/StdoutPipe() instead of CombinedOutput()

That would be definitely a benefit, is it planned for the future or no chance?

Planned but unfortunately not quickly.

Just commenting here to follow this thread.. interested on this implementation

@msoap Do you think you'll ever get to this (It's been 5 years already)? And if not, do you have any other project suggestion that may have this working?

@thebiblelover7 unfortunately, not yet

do you have any other project suggestion that may have this working?

it depends on your task, but maybe it will help you https://github.com/joewalnes/websocketd

@msoap ok, thanks for that suggestion! I'll definitely check that out!
Also, thanks for this awesome project, I'm really putting some good use to it!

This would definitely be a great addition. I'll just add that although this could be combined with the -timeout argument, it could be that we need a different timeout on these requests, since they are, well... longer...
I would also suggest you to set up sponsorship. This is a really helpful project and would certainly benefit from some love.


Visual Search account impersonation

Hi, to use Visual Search api there need to be generated service account with owner/editor permissions from the same project (let's call it project X).
We need to access VS api from another project(Y) using service account (A).
Currently we are generating key fro SA in project X and add it to docker image in project Y. But I found that it should work when using account impersonation. It worked when I did it by hand using gcloud generated access tokens but I can't find how to do this using client library.
Is there tutorial somewhere?

Hi there! This library doesn't provide any API functionality; it's more of an index of our client libraries.
Perhaps you want to open an issue with a code snippet to reproduce here, or more specifically, here for authentication questions?


wip

You can ignore this for now

Apologies in advance for the PR noise, but sometimes after I spike something out I like to start fresh and do it for reals. So, that's what I did with #16984 - I incorporated any and all feedback I got from this PR (including @xirzec preference towards a third parameter to createSpan) into that PR. Will close this one in favor of that one.


chore(rpc): add convenience from impl

cc @sambukowski
ref https://github.com/paradigmxyz/reth/pull/1664

Codecov Report

Merging #1686 (59e9322) into main (e07e953) will decrease coverage by 55.83%.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             main    #1686       +/-   ##
===========================================
- Coverage   75.03%   19.21%   -55.83%
===========================================
  Files         378      378
  Lines       45463    45466        +3
===========================================
- Hits        34113     8735    -25378
- Misses      11350    36731    +25381

Flag
Coverage Δ

integration-tests
19.21% <0.00%> (-2.36%)
:arrow_down:

unit-tests
?

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

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


Inability to push file

i've been unable to push pages to my github account. i need help

/question
It looks like you are new to GitHub, so maybe new to Git as well. If you haven't done so already, please read the docs at https://code.visualstudio.com/docs/editor/versioncontrol#_git-support


clients/web: server-side redirection for logged-in/out users

The idea is to leverage Next.js server-side redirects to automatically redirect the user if they are logged-in or not.
The good thing is that it'll save us some "flashing" states when accessing login page while authenticated and vice versa.
Ultimately, this might allow us to remove the Gatekeeper component.
As a bonus, when accessing polar.sh, the user is automatically redirected to polar.sh/feed is they are logged in (not sure if desired, but I personally like the behavior. Can remove it otherwise).

To make this work, we simply check for the existence of our session cookie, polar, which I made a root domain cookie (see https://github.com/polarsource/polar/commit/11cac1d451cb935a87defe739241b69c3dfbbb65)

Would gladly have your call on this, guys 😄

This looks very nice

Indeed! Good job @frankie567 🥳


Updated README.md

Related Issue
#3635
Fixes:  #3635
Description
I have included a video of the app deployment so that it is easy for the viewers of the repo about the project clearly.
 #3635
Type of PR

[x] Documentation update

Checklist:

[x] I have made this change from my own.
[x] I have performed a self-review.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@sailaja-adapa Please assign this under gssoc-ext and level and hacktoberfest-accecpted tags


Spec styling and consistency issues

As mentioned here, there's some consistency issues with the non-normative parts of the spec. It would be great to get a thorough review of this. These proposed fixes are all editorial, not functional.
Examples of ways we can improve:

consistent use of monospace to refer to types and glossary terms (adding more glossary terms if necessary)
Consistent language examples: some examples are typescript others are java. I think unless the requirement specifically demands a particular language, we use choose one example language, or a consistent pseudo-code. I recommend Java because it's explicit, typed, and generally well-understood.
consistent reference to types with spaces and in lower-case as described in the style guide (ex: flag metadata not flagMetadata)
consistent links in non-normative text (link anything relevant)
Consistent diagrams (I vote we use mermaid for everything). We have diagrams in the provider and hooks sections that are not mermaid.
Consistent pluralization: now that there's multiple providers, we need to update some language which implies there's only one. This will impact normative sections, but not in a meaningful or breaking way.

cc @tcarrio

I thought I could help here with the mermaid diagrams. If you think they're fine, I can add them - they also work on GitHub, so I would also suggest using them. Please let me know, if this is suitable ;) - glad to open a pull request for this.
provider

flowchart LR
    A[Application] --> |Evaluation API| B{Provider}
    B --> C[Flag managment system]

hooks
i am unsure
either a state diagram (can't change it to dotted lines, but syntactically it is the correct one)
stateDiagram-v2
    direction LR
    B : "Before" Stage
    F : Flag Evaluation
    A : "After" Stage
    E : "Finally" Stage
    X : "Error" Stage

    [*] --> B
    B --> F
    B --> X : on Error
    F --> A
    F --> X : on Error
    A --> E
    X --> E
    E --> [*]

or a flowchart (looks better, but is more a hacked version with the start point)
flowchart LR
    A("Before" Stage)
    F("Flag Evaluation")
    B("After" Stage)
    C("Finally" Stage)
    E("Error" Stage)

    Start( ) --> A
    A --> F
    F --> B
    B --> C
    A -.-> E

    F -.-> E
    E -.-> C
    C --> End( )

state diagram

I like the state diagram as we can define the operation on the transition compared to flow chart.


verbose debuging

I've installed kubemod with a basic setup. I'd like to be able to add taints to nodes as they come online. So far I haven't gotten it to do anything. I don't see any errors or any indication of what's going on at all.  I've reverted to a basic simple match. Its possible that's still incorrect.
I've ran the full setup, including the patch with extra objects, though that seems to be the default now.
i've tried this
apiVersion: api.kubemod.io/v1beta1
kind: ModRule
metadata:
  name: add-cilium-taint
  namespace: kubemod-system
spec:
  type: Patch
  match:
    - select: '$.kind'
      matchValue: Node
    ## make this rule idempotent
    - select: '$.spec.taints[*].key'
      matchValue: node.cilium.io/agent-not-ready
      negate: true
  patch:
    - op: add
      path: /spec/taints/-1
      value: |-
        effect: NoSchedule
        key: node.cilium.io/agent-not-ready
        value: "true"

i've even tried a more basic
apiVersion: api.kubemod.io/v1beta1
kind: ModRule
metadata:
  name: add-cilium-taint
  namespace: kubemod-system
spec:
  type: Patch
  match:
    - select: '$.kind'
      matchValue: Node
  patch:
    - op: add
      path: /spec/taints/-1
      value: |-
        effect: NoSchedule
        key: node.cilium.io/agent-not-ready
        value: "true"

I don't get anything useful in the logs
 kubectl -n kubemod-system logs kubemod-operator-6484b8d847-m56rw
{"level":"info","ts":"2022-10-11 22:35:40.391Z","logger":"webapp-setup","msg":"web app server is starting to listen","addr":":8081"}
{"level":"info","ts":"2022-10-11 22:35:40.695Z","logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":":8082"}
{"level":"info","ts":"2022-10-11 22:35:40.695Z","logger":"operator-setup","msg":"health server is starting to listen","addr":":8083"}
{"level":"info","ts":"2022-10-11 22:35:40.696Z","logger":"controller-runtime.builder","msg":"Registering a mutating webhook","GVK":"api.kubemod.io/v1beta1, Kind=ModRule","path":"/mutate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-11 22:35:40.696Z","logger":"controller-runtime.webhook","msg":"registering webhook","path":"/mutate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-11 22:35:40.696Z","logger":"controller-runtime.builder","msg":"Registering a validating webhook","GVK":"api.kubemod.io/v1beta1, Kind=ModRule","path":"/validate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-11 22:35:40.696Z","logger":"controller-runtime.webhook","msg":"registering webhook","path":"/validate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-11 22:35:40.696Z","logger":"operator-setup","msg":"registering core mutating webhook"}
{"level":"info","ts":"2022-10-11 22:35:40.696Z","logger":"controller-runtime.webhook","msg":"registering webhook","path":"/dragnet-webhook"}
{"level":"info","ts":"2022-10-11 22:35:40.696Z","logger":"operator-setup","msg":"starting manager"}
{"level":"info","ts":"2022-10-11 22:35:40.697Z","logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
{"level":"info","ts":"2022-10-11 22:35:40.697Z","logger":"controller","msg":"Starting EventSource","reconcilerGroup":"api.kubemod.io","reconcilerKind":"ModRule","controller":"modrule","source":"kind source: /, Kind="}
{"level":"info","ts":"2022-10-11 22:35:40.697Z","logger":"controller-runtime.webhook.webhooks","msg":"starting webhook server"}
{"level":"info","ts":"2022-10-11 22:35:40.698Z","logger":"controller-runtime.certwatcher","msg":"Updated current TLS certificate"}
{"level":"info","ts":"2022-10-11 22:35:40.789Z","logger":"controller-runtime.webhook","msg":"serving webhook server","host":"","port":9443}
{"level":"info","ts":"2022-10-11 22:35:40.790Z","logger":"controller-runtime.certwatcher","msg":"Starting certificate watcher"}
{"level":"info","ts":"2022-10-11 22:35:40.897Z","logger":"controller","msg":"Starting Controller","reconcilerGroup":"api.kubemod.io","reconcilerKind":"ModRule","controller":"modrule"}
{"level":"info","ts":"2022-10-11 22:35:40.897Z","logger":"controller","msg":"Starting workers","reconcilerGroup":"api.kubemod.io","reconcilerKind":"ModRule","controller":"modrule","worker count":1}

any help will be appreciated
I'm on AKS Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.6", GitCommit:"b39bf148cd654599a52e867485c02c4f9d28b312", GitTreeState:"clean", BuildDate:"2022-09-21T21:46:51Z", GoVersion:"go1.18.6", Compiler:"gc", Platform:"linux/amd64"}
with the latest install of kubemod

Hi @davem-git,
At a first glance I see no issues with your modrule or the way you are using it.
Can you remove the idempotency check select and try again?
I wonder if:

There is an issue with detecting nodes being brought online...or
The idempotency check is failing the intercept

Also, I don't see a difference between your two modrules.

Oops I removed the bottom part of the selection. I just didn't copy and paste it properly

Ok, so KubeMod does not detect the Node-related event.
Can you please elaborate what you mean by "come online"?
Are you rebooting the nodes? Or draining/removing/adding them back to the cluster?

Got it, thanks.
I don't have access to an AKS cluster at this time, but will play around with node modrules though node updates when I have some time.

Thank you! If there's anyway i can help debug this, and flags i can enable for more verbose logging please let me know.

Logging every CREATE and UPDATE event that passes through KubeMod won't be reasonable as KubeMod interception is quite promiscuous and there may be hundreds of events per second at the time large application stacks are being stood up, torn down, scaled up/down.
It may make sense to add flags to log events for specific resources (for example nodes).
Let me see what I can find in my node modrule tests. If nothing comes out, I'll ship a new version with event logging for specific resources.

Hi @davem-git,
I have an update. I tried your ModRule (first version above) on my Docker for Windows deployment of Kubernetes.
Then I triggered an UPDATE event on the node by setting a random label, for example:
kubectl.exe label nodes docker-desktop color=blue

This triggered your ModRule and applied the taint on the node as expected, issuing the following log line in kubemod:
{"level":"info","ts":"2022-10-14 19:19:01.689Z","logger":"modrule-webhook","msg":"Applying ModRule patch","request uid":"542a5404-92e8-4833-a2d4-08a536d3e3ce","namespace":"","resource":"nodes/docker-desktop","operation":"UPDATE","patch":[{"op":"add","path":"/spec/taints","value":[{"effect":"NoSchedule","key":"node.cilium.io/agent-not-ready","value":"true"}]}]}

Can you try the same on your end?
Keep the ModRule in the system, and trigger a node UPDATE event (by assigning a label) against one of your currently running taint-free nodes.
See if that triggers the ModRule patch.
This is obviously not your use case - I am only trying to test if node-related events are being intercepted by KubeMod on your AKS cluster.

I'll give it a try. Thanks!

still nothing. I uploaded my yaml as a .MD since its not supported as yaml format. incase I have something just wrong, but I don't think i do as there wasn't much to customize for my environment.
kubemod.MD
Labels:             agentpool=pool1az0
                    beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=Standard_E4ds_v5
                    beta.kubernetes.io/os=linux
                    color=blue

❯ kubectl -n kubemod-system logs kubemod-operator-d595864b8-dz25h
{"level":"info","ts":"2022-10-14 20:30:56.834Z","logger":"webapp-setup","msg":"web app server is starting to listen","addr":":8081"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.metrics","msg":"metrics server is starting to listen","addr":":8082"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"operator-setup","msg":"health server is starting to listen","addr":":8083"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.builder","msg":"Registering a mutating webhook","GVK":"api.kubemod.io/v1beta1, Kind=ModRule","path":"/mutate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.webhook","msg":"registering webhook","path":"/mutate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.builder","msg":"Registering a validating webhook","GVK":"api.kubemod.io/v1beta1, Kind=ModRule","path":"/validate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.webhook","msg":"registering webhook","path":"/validate-api-kubemod-io-v1beta1-modrule"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"operator-setup","msg":"registering core mutating webhook"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.webhook","msg":"registering webhook","path":"/dragnet-webhook"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"operator-setup","msg":"starting manager"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.manager","msg":"starting metrics server","path":"/metrics"}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller","msg":"Starting EventSource","reconcilerGroup":"api.kubemod.io","reconcilerKind":"ModRule","controller":"modrule","source":"kind source: /, Kind="}
{"level":"info","ts":"2022-10-14 20:30:57.149Z","logger":"controller-runtime.webhook.webhooks","msg":"starting webhook server"}
{"level":"info","ts":"2022-10-14 20:30:57.150Z","logger":"controller-runtime.certwatcher","msg":"Updated current TLS certificate"}
{"level":"info","ts":"2022-10-14 20:30:57.150Z","logger":"controller-runtime.webhook","msg":"serving webhook server","host":"","port":9443}
{"level":"info","ts":"2022-10-14 20:30:57.150Z","logger":"controller-runtime.certwatcher","msg":"Starting certificate watcher"}
{"level":"info","ts":"2022-10-14 20:30:57.250Z","logger":"controller","msg":"Starting Controller","reconcilerGroup":"api.kubemod.io","reconcilerKind":"ModRule","controller":"modrule"}
{"level":"info","ts":"2022-10-14 20:30:57.250Z","logger":"controller","msg":"Starting workers","reconcilerGroup":"api.kubemod.io","reconcilerKind":"ModRule","controller":"modrule","worker count":1}

I wonder if there is some timing issue involved.
Please make sure that your test steps are in this order:

Install KubeMod (I assume you've already done that)
Deploy your modrule using kubectl
Make sure the target node doesn't have the taint created by the modrule
Make the change to the node label (which should trigger an UPDATE event, which should be intercepted by KubeMod)
Observe the kubemod-operator logs

If this is the order in which you've performed your test, and you still don't see any activity in the log, then I think there might be some configuration in your environment that prevents KubeMod from receiving node-related admission webhook requests.
Can you test if KubeMod works against other resources in your cluster?
For example, you can test by deploying the following sample modrue to any namespace...
kubectl apply -f https://raw.githubusercontent.com/kubemod/kubemod/master/samples/modrules/modrule-1.yaml

... and then deploy the following sample NGINX deployment in the same namespace:
kubectl apply -f https://raw.githubusercontent.com/kubemod/kubemod/master/samples/stack/nginx-deployment.yaml

The above should produce KubeMod logs like this:
{"level":"info","ts":"2022-10-14 21:45:08.596Z","logger":"modrule-webhook","msg":"Applying ModRule patch","request uid":"f384b4a7-9a3e-4e2e-a6d3-2827c6fce7c4","namespace":"default","resource":"deployments/nginx","operation":"CREATE","patch":[{"op":"replace","path":"/metadata/annotations/kubectl.kubernetes.io~1last-applied-configuration","value":"{\"apiVersion\":\"apps/v1\",\"kind\":\"Deployment\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"nginx\",\"color\":\"whatever\"},\"name\":\"nginx\",\"namespace\":\"default\"},\"spec\":{\"replicas\":1,\"selector\":{\"matchLabels\":{\"app\":\"nginx\"}},\"template\":{\"metadata\":{\"labels\":{\"app\":\"nginx\"}},\"spec\":{\"containers\":[{\"image\":\"bitnami/nginx:1.14.2\",\"name\":\"nginx\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"resources\":{\"limits\":{\"cpu\":\"500m\",\"memory\":\"1Gi\"}}},{\"command\":[\"sh\",\"-c\",\"while true; do sleep 5; done;\"],\"image\":\"alpine:3\",\"name\":\"injected\"}]}}}}"},{"op":"add","path":"/metadata/labels/color","value":"whatever"},{"op":"add","path":"/spec/template/spec/containers/1","value":{"command":["sh","-c","while true; do sleep 5; done;"],"image":"alpine:3","name":"injected"}},{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"bitnami/nginx:1.14.2"},{"op":"replace","path":"/spec/template/spec/containers/0/ports/0/containerPort","value":8080}]}

You can then clean up by deleting the modrule and deployment:
kubectl delete -f https://raw.githubusercontent.com/kubemod/kubemod/master/samples/stack/nginx-deployment.yaml
kubectl delete -f https://raw.githubusercontent.com/kubemod/kubemod/master/samples/modrules/modrule-1.yaml

Please let me know if the above produces logs.
This is the simplest smoke test - if this does not generate activity, we need to look further into what's causing this.
If it does generate activity, then we know there's something specific to node events.

no luck. That was the order of operations I was using. I didn't have any luck with the nginx rule test either.
I noticed the modrule doesn't include a namespace. I am adding it on mine. Do i not need too? Could that have any issues?
I'm going to remove kubemod and try again seeing if I missed something in the setup.

I'm not sure what I did, but it seems to be working?
color","value":"whatever"},{"op":"add","path":"/spec/template/spec/containers/1","value":{"command":["sh","-c","while true; do sleep 5; done;"],"image":"alpine:3","name":"injected"}},{"op":"replace","path":"/spec/template/spec/containers/0/image","value":"bitnami/nginx:1.14.2"},{"op":"replace","path":"/spec/template/spec/containers/0/ports/0/containerPort","value":8080}]}
{"level":"info","ts":"2022-10-17 15:31:13.070Z","logger":"modrule-webhook","msg":"Applying ModRule patch","request uid":"8deefcc6-6235-40dc-9720-e7313e0fe876","namespace":"","resource":"nodes/aks-pool0-38869568-vmss000000","operation":"UPDATE","patch":[{"op":"add","path":"/spec/taints","value":[{"effect":"NoSchedule","key":"node.cilium.io/agent-not-ready","value":"true"}]}]}
{"level":"info","ts":"2022-10-17 15:31:13.108Z","logger":"modrule-webhook","msg":"Applying ModRule patch","request uid":"3c0bbb55-be4e-4152-993d-efb72d865d56","namespace":"","resource":"nodes/aks-pool1az0-57119049-vmss000003","operation":"UPDATE","patch":[{"op":"add","path":"/spec/taints","value":[{"effect":"NoSchedule","key":"node.cilium.io/agent-not-ready","value":"true"}]}]}
{"level":"info","ts":"2022-10-17 15:31:13.142Z","logger":"modrule-webhook","msg":"Applying ModRule patch","request uid":"a33e82fb-65ba-4312-8ef4-bd6c31c10f89","namespace":"","resource":"nodes/aks-pool1az0-57119049-vmss000004","operation":"UPDATE","patch":[{"op":"add","path":"/spec/taints","value":[{"effect":"NoSchedule","key":"node.cilium.io/agent-not-ready","value":"true"}]}]}
{"level":"info","ts":"2022-10-17 15:31:13.174Z","logger":"modrule-webhook","msg":"Applying ModRule patch","request uid":"f43b0106-6fa9-4091-aa43-1ef2b3a3edde","namespace":"","resource":"nodes/aks-pool1az0-57119049-vmss000005","operation":"UPDATE","patch":[{"op":"add","path":"/spec/taints","value":[{"effect":"NoSchedule","key":"node.cilium.io/agent-not-ready","value":"true"}]}]

Hmm, it does feel (again) like timing has something to do with it.
Several points:

When you create a new ModRule, it does take some time (usually less than a second) for KubeMod to acquire the ModRule. If you create both the ModRule and the resources it targets in a very quick succession (for example from  script), this latency may lead to KubeMod missing the resources. I know this is probably not related to your experiments, but I thought it's important to note.
When you create Kubernetes resources using kubectl, if you don't specify the namespace in the manifest, the resource is created in the default namespace, or in the namespace specified by the -n switch.

I wonder if we can reset and retest by following these steps:

Uninstall KubeMod:

kubectl delete -f https://raw.githubusercontent.com/kubemod/kubemod/v0.15.3/bundle.yaml

Install KubeMod again:

kubectl delete job kubemod-crt-job -n kubemod-system
kubectl label namespace kube-system admission.kubemod.io/ignore=true --overwrite
kubectl apply -f https://raw.githubusercontent.com/kubemod/kubemod/v0.15.3/bundle.yaml

Create your node ModRule in namespace kubemod-system
Wait a minute (just in case)
Test by changing a node's label

If this works, then test your ModRule by scaling your node pool up and down.

seems like things are mostly working. Everything besides trying to get the rule to apply only once. It seems to be running over and over again. i'll play around with the
    - select: '$.spec.taints[*].key'
      matchValue: node.cilium.io/agent-not-ready
      negate: true

i think i found this to work better. still running some tests
apiVersion: api.kubemod.io/v1beta1
kind: ModRule
metadata:
  name: add-cilium-taint
  namespace: kubemod-system
spec:
  type: Patch
  match:
    - select: '$.kind'
      matchValue: Node
    - select: '$.metadata.labels["kube-moderule-applied"]'
      negate: true
  patch:
    - op: add
      path: /metadata/labels/kube-moderule-applied
    - op: add
      path: /spec/taints/-1
      value: |-
        effect: NoSchedule
        key: node.cilium.io/agent-not-ready
        value: "true"

@davem-git any update?

Great - thanks!

hmm weird re-install didn't work again on a new cluster. seems inconsistent trying to figure out what's different

It seems to be an order of operation issues. My company uses kustomize. so I've broken the deployment down to fit our standard. Kustomize seems to try to deploy the modrule before its an object on the cluster. It errors, which case i normally run it again and it applies cleanly.
kb workload/kube-mod/base  | kubectl apply -f -
namespace/kubemod-system created
customresourcedefinition.apiextensions.k8s.io/modrules.api.kubemod.io created
role.rbac.authorization.k8s.io/kubemod-crt created
clusterrole.rbac.authorization.k8s.io/kubemod-crt created
clusterrole.rbac.authorization.k8s.io/kubemod-manager created
rolebinding.rbac.authorization.k8s.io/kubemod-crt created
clusterrolebinding.rbac.authorization.k8s.io/kubemod-crt created
clusterrolebinding.rbac.authorization.k8s.io/kubemod-manager created
service/kubemod-webapp-service created
service/kubemod-webhook-service created
deployment.apps/kubemod-operator created
cronjob.batch/kubemod-crt-cron-job created
job.batch/kubemod-crt-job created
mutatingwebhookconfiguration.admissionregistration.k8s.io/kubemod-mutating-webhook-configuration created
validatingwebhookconfiguration.admissionregistration.k8s.io/kubemod-validating-webhook-configuration created
error: unable to recognize "STDIN": no matches for kind "ModRule" in version "api.kubemod.io/v1beta1"
❯ kb workload/kube-mod/base  | kubectl apply -f -
namespace/kubemod-system unchanged
customresourcedefinition.apiextensions.k8s.io/modrules.api.kubemod.io configured
role.rbac.authorization.k8s.io/kubemod-crt unchanged
clusterrole.rbac.authorization.k8s.io/kubemod-crt unchanged
clusterrole.rbac.authorization.k8s.io/kubemod-manager configured
rolebinding.rbac.authorization.k8s.io/kubemod-crt unchanged
clusterrolebinding.rbac.authorization.k8s.io/kubemod-crt unchanged
clusterrolebinding.rbac.authorization.k8s.io/kubemod-manager unchanged
service/kubemod-webapp-service unchanged
service/kubemod-webhook-service unchanged
deployment.apps/kubemod-operator unchanged
cronjob.batch/kubemod-crt-cron-job unchanged
modrule.api.kubemod.io/add-cilium-taint created
job.batch/kubemod-crt-job unchanged
mutatingwebhookconfiguration.admissionregistration.k8s.io/kubemod-mutating-webhook-configuration configured
validatingwebhookconfiguration.admissionregistration.k8s.io/kubemod-validating-webhook-configuration configured

some order of operation issue with this error causes kube-mod to not get any events, at least from nodes. my testing shows from anything at this point.
If i remove kubemod re-install it without the rule, then add the rule after it works fine. Not sure what's going on. I'm working on a way to ensure that always runs last to see if that fixes it.

Ah, this makes sense.
So what's happening is, you are installing KubeMod and an instance of a ModRule (add-cilium-taint) in a quick succession.
Part of the KubeMod installation registers ModRule as a CRD with the K8S API server (third line from the top of your log).
I suspect that this is an asynchronous operation for Kubernetes, and the ModRule CRD registration has not propagated yet through the K8S API server at the time you hit it with the add-cilium-taint ModRule.
Please see this as a description of your issue: https://github.com/kubernetes/kubectl/issues/1117
It makes sense to split your installation into three parts:

Install KubeMod
Wait for the ModRule CRD to be registered: kubectl wait --for condition=established crd modrules.api.kubemod.io
Install your ModRules

apparently that's easier said than done with the tools i have at my disposal. Ideally this would be something we can deploy with argoCD as the rest of our applications use it. That method above really doesn't fit that format. It doesn't seem to have a way to wait.  Normally this isn't a problem as ArgoCD will try to deploy it again, and again deploy whats missing.
That doesn't work in this case as it seems to permanently break kube mod with no logs.  which requires manual removal and redeployment without the rule.
Since this will be used as part of provisioning, I think i can remove the argo aspect and get some way of manually installing it when new clusters are provisioning. It would be nice to know why this order of operations issue can't be fixed without a reinstall

I think it is clear that you cannot deploy an instance of a CRD before the CRD was registered with the cluster.
Since the creation of CRD is async, the solution (of waiting) belongs to the client deploying the K8S resources.
ArgoCD provides the following solution: https://github.com/argoproj/argo-cd/pull/1999

oh good to know ARGOCD. Thanks for all your help. This can be closed out!

Thanks! Closing :)


Pass verbose flag when running jest tests

Issue
Refs: https://github.com/trivikr/vitest-codemod/issues/129
Description
Pass verbose flag when running jest tests.
This will help surface which jest test fails.
Testing
CI

Passing verbose flag is not helpful, as no new information is available.
Jest likely exists because of memory issue.
Example run: https://github.com/trivikr/vitest-codemod/actions/runs/4195813347/jobs/7275894400
➤ YN0000: [@vitest-codemod/jest]: PASS src/__fixtures__/returns/mockResolvedValue.input.js
➤ YN0000: [@vitest-codemod/jest]:   ✓ mockResolvedValue (2 ms)
➤ YN0000: [@vitest-codemod/jest]:
➤ YN0000: [@vitest-codemod/jest]: Process exited (exit code 1), completed in 16s 516ms


    Update events.md

New updates on head repo.
https://github.com/vuejs/docs/commit/0c0b6f05f85f4300dc642af5394700249c743a4e

resolved at 06ad1d28a1ead571022606eaf66c18a1445553df


Job option active

Instead of writing:
config :app, App.Scheduler,
  jobs: if Mix.env() == :prod, do: [
    job_name: [
      schedule: "0 5 * * *",
      task: {App.JobModule, :job_method, []}
    ]
  ]

It would be nice to have:
config :app, App.Scheduler,
  jobs: [
    job_name: [
      schedule: "0 5 * * *",
      task: {App.JobModule, :job_method, []},
      active: Mix.env() == :prod
    ]
  ]

Definitely the same result, but more readable and kind of more the elixir-way of writing this IHMO.
I'm aware that if this has to do with environment config only, it could be set in config/prod.exs instead but I'm not fan of it because it could be forgotten in there (eg. for debugging). Putting it in prod.exs means "it should only run in this environment" while deactivating it in config.exs means "it is part of the app, simply I don't need to activate it right now in other environments".

The elixir-way for doing that is definitely to put this into prod.exs. The configs are full fledged elixir scripts. Therefore this capability is not needed.

This is disappointingly undiscussed. :disappointed:

What if the test is not about environment but some other logic, like:

config :app, App.Scheduler,
  jobs: [
    job_name: [
      schedule: "0 5 * * *",
      task: {App.JobModule, :job_method, []},
      active: not is_nil System.get_env("DO_CRON_TASK")
    ]
  ]

I mentioned the elixir-way as the functional-way about having an activekey to filter a list instead of if cond, do: [element], else: [] which is heavy and ugly.

I meant my point when I said that it can be clearer to deactivate something instead of activating it within the options. Just like unless is better looking than if not in a condition.

This suggestion is 100% backward compatible (of course the default value of this option would be true), and must be pretty trivial to implement, so this would not change bring breaking changes, version controlling etc.

But in the end, if you are so sure about what your product needs, I wonder why contributions are accepted on this project. Good luck with yourself.

I'm sorry if this looked arrogant, this was not my intention. A closed issue does not imply that discussions on the topic are not encouraged.

What if the test is not about environment but some other logic, like:

I don't see the benefit of doing that since you can do exactly the same as in the first example.

I mentioned the elixir-way as the functional-way about having an activekey to filter a list instead of if cond, do: [element], else: [] which is heavy and ugly.

This is the way lists are manipulated in elixir. If you'd like a more concise way it would be better to address that issue in elixir itself. (for example something like spreading arrays in JS)

I meant my point when I said that it can be clearer to deactivate something instead of activating it within the options. Just like unless is better looking than if not in a condition.

Here we are talking about syntactic sugar of the language. What could be discussed is to for example allow and filter out nil from the list.
Example:
config :app, App.Scheduler,
  jobs: [
    unless is_nil(System.get_env("DO_CRON_TASK")) do
      {"@daily", {Module, :daily, []}}
    end,
    {"*", {Module, :run_always, {}}
  ]

This could also be extended to allow nested list. This would allow something like that:
config :app, App.Scheduler,
  jobs: [
    "CACHE_DOMAINS" |> System.get_env() |> String.split(",") |> Enum.map(&({"@daily", {Cache, :clear, [&1]}}),
    {"*", {Module, :run_always, {}}
  ]


storage/test: make repo paths abs; add t.Helper()

I get intermittent failures where test setup fails to
remove testdata directories.
I put these changes in to try & debug the problem, and
it appears to have stopped happening, not sure if this
fixed it or if after 5+ test runs the issue cleared by
itself.
Worth keeping these changes in case it happens again.

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger

Codecov Report

Merging #595 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #595      +/-   ##
==========================================
+ Coverage   70.55%   70.58%   +0.02%
==========================================
  Files         227      227
  Lines       12868    12870       +2
==========================================
+ Hits         9079     9084       +5
+ Misses       3159     3156       -3
  Partials      630      630

Impacted Files
Coverage Δ

ext/storage/preparetestgitrepo.go
72.41% <100%> (+2.04%)
:arrow_up:

util/restful/putbackjson.go
62.5% <0%> (+1.38%)
:arrow_up:

lib/auto_resolver.go
89.39% <0%> (+1.51%)
:arrow_up:

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 4394627...54f1e67. Read the comment docs.


change variables type to calculated

A few UI variables in the MSPT model were not correctly labeled as calculated
And delete unused variable

Same comment as https://github.com/NREL/ssc/pull/949 - develop, not patch?

Same comment as NREL/ssc#949 - develop, not patch?

Thanks, develop (not patch) is fine


tr_image: _cinematic image is not a normal map

Something I spotted while reading the code.
On line 2884 we have
imageParams.bits = IF_NOPICMIP | IF_NORMALMAP;

So we must re-set this variable to IF_NOPICMIP when creating the cinematic images.
Once such variables are set, there is no need to set them again for following images with same options, so I just moved existing lines at an early point.

LGTM


Support direct WMTS definition through eox-map language

As far as i understand it is not possible to define WMTS directly when not using the capabilities.
Ideally adding a story examples ;)

implemented in https://github.com/EOX-A/EOxElements/pull/1046


Don't spam browser history when scrolling thru page

Been a while since I've looked through this repository, I see all new faces on the docs team.
Hi there!
Proposed changes
As you scroll through the site, your browser history will get horrendously spammed with every single header; even if you just scroll past it.
This change consists of the following:

Rewrite the highlightRightNav() function to be far simpler
Do not modify browser history at all. Now, your browser history will only change when you actually click on a heading on the TOC (default browser behavior).
Change the auto-TOC script to no longer include the page path (just the IDs are needed)

Related issues (optional)

Fixes #6299

Deploy preview for docsdocker ready!
Built with commit e489c4acf136456f60a255829cc7aaa8d8e6d050
https://deploy-preview-7496--docsdocker.netlify.com

This looks good. Thanks, @allejo, for cleaning this up.

Looks good. Thanks, @allejo, for cleaning this up.

@ahh-docker feel free to merge whenever you're ready.


change the search dialog item's view/layout

Hi
I am new to android , Recently I used your search dialog and it is really amazing. but the problem is less documentation. the top pictures describes it can be done in many views. But i cant understand how to do it. Ex: adding images to the layout.
And also cant make the position of the dialog
Can you help me.
Thanks

Hi,
I tried to understand your questions but It's so general and vague, I need more detail so I can help you.
can you describe what exactly do you mean by adding images to the layout? and by "the" layout, which layout do you mean?
And also what do you mean by making the position of the dialog?


FR: Option to disable images

title.
I want to disable parsing images
![enter image description here](... "enter image title here")

should not be parsed

See #420

Any updates on how can we disable parsing images?

No commits were made since my last comment. That method I linked is still the easiest one to achieve what you need.

#989

I don't believe we need a new feature for this since it can be disabled as discussed in #420 and #1302
const marked = require('marked');
const renderer = new marked.Renderer();

renderer.image = function (text) {
  return text;
};

var html = marked(markdownString, { renderer: renderer });


Add 1st set of DspaceMets field methods

Purpose and background context
Refactors the first set of DspaceMets fields as separate field methods. The absurd line count is from updating the METS fixtures and updating the imports for test_datacite.py to bring it in line with the other unit test modules in the repo. The actual code changes are ~250 lines.
How can a reviewer manually see the effects of these changes?
Run the following command to see that the DspaceMets transform still transforms a source file:
pipenv run transform -i tests/fixtures/dspace/dspace_mets_records.xml -o output/dspace-mets-transformed-records.json -s dspace

Includes new or updated dependencies?
NO
Changes expectations for external applications?
NO
What are the relevant tickets?

https://mitlibraries.atlassian.net/browse/TIMX-286

Developer

[x] All new ENV is documented in README
[x] All new ENV has been added to staging and production environments
[x] All related Jira tickets are linked in commit message(s)
[x] Stakeholder approval has been confirmed (or is not needed)

Code Reviewer(s)

[ ] The commit message is clear and follows our guidelines (not just this PR message)
[ ] There are appropriate tests covering any new functionality
[ ] The provided documentation is sufficient for understanding any new functionality introduced
[ ] Any manual tests have been performed and verified
[ ] New dependencies are appropriate or there were no changes

@ehanson8 Great first pass! I focused on reviewing the main changes in dspace_mets.py, and changes look good. I was curious what changes you made to the fixtures? It appears that a lot of the changes were directly to the XML files?

Just editing them to include <records> as the top level element which is how the app would always receive records even if there is only 1 (as well as being consistent with the other sources' fixtures). That shifts the indentation so GH thinks the whole file was edited


Explicit clone is required when an embedded document is set to another document

It seems that if you "copy" an embedded document from inside a persisted document into newly created document, the embedded document is not persisted to the new document.
In terms of OOP principles, need for explicit clone is the most logical choice - and it works. However, I would prefer that an exception ("You try to persist an embedded object that belongs to another object") is thrown instead of ODM silently ignoring the embedded document at the target document.
Some code to clarify the issue:
/**
 * @EmbeddedDocument
 */
class Address {
    /**
     * @String
     */
    public $addressline;
}

/**
 * @Document
 */
class Person {
    /**
     * @EmbedOne(targetDocument="Address")
     */
    public $address;
}

$person1 = $personRepository->get('person1-id');
$person2 = new Person();

// Following does not set address to $person2
$person2->address = $person1->address;
$this->dm->persist($person2);
$this->dm->flush();

// Following sets address to $person2
$person2->address = clone $person1->address;
$this->dm->persist($person2);
$this->dm->flush();

Funny thing, I just wanted to use first code snippet as a failing test case for #1252 but it works just fine o.O

Things seemed to work before and now #1252 and #1259 are both merged so I'm closing the issue


Doctrine Entities implements JsonSerializable Interface

Hi there!
Does anybody knows (or has the experience) if there is a problem/conflict in  doctrine entities JsonSerializable Interface?
Thank you!

@ibekiaris shouldn't cause any issue: doctrine is API-agnostic.


support ux components

I'm a huge fan of Symfony UX Components, and greatly prefer them to macros.  I think it's worth considering supporting them in this bundle as well.
In addition to not needing the import, I find the syntax cleaner, and of course the big benefit is that you can inject services, like security.  Plus, setting defaults and handling logic is easier in PHP than in Twig.
// using macros
{% from<EMAIL_ADDRESS>import alert %}
{{ alert({title : 'Title V2', description: 'Description V2', icon : 'warning', dismissible : true}) }}

// using a component
<twig:alert title="Title V2" description="Description" icon='warning' dismissable="true" />

{# Since often the data passed to the component is dynamic, it's even shorter, from a different theme bundle  #}

                    {% for bsClass in bootstrap_theme_colors() %}
                        {% set message ="Look, a %s alert — check it out!"|format(bsClass)   %}
                        <twig:alert :message="message" :type="bsClass" />
                    {% endfor %}

There's a lot of power in the UX components, I have a whole set of them that I wrote for the sneat theme that would likely port pretty easily.

I didn't use them by now, as I had no real interest in the entire JS stack around it.
But the components looked good to me as well.
Do you want to make an proposal PR? I am happy to look into and probably integrate it, as long as I do not have to use the Stimulus stuff then.

You don't HAVE to use stimulus, but you get to! I love Stimulus.  But no, twig components don't require it.
Before integrating components into the bundle, I added one into the demo app, since it's easier to work with during the brainstorming/prototyping stage.
While it might look like simply a syntax change, I find components much easier to develop.   For example, see the Alert.php code here, I put setting the defaults in Twig in a comment, I find setting PHP defaults easier.
https://github.com/tacman/TablerBundle-Demo/commit/6a976d5e225e4f45cd7d5ab33ed989a5495e65a8
Then we can drop the {% if variable is not empty %}, since we are setting all the variables in php and passing them.
A question for discussion: namespaces.  That is, if it were integrated into the tabler bundle, how should alert be called?  Options:
* <twig:Alert>
* <twig:alert>
* <twig:tabler:alert>

I'm slightly leaning toward prefixing it with tabler, in part because my Bootstrap bundle currently uses another theme (sneat), and at one point had supported adminkit.   Hmm, I wonder if it's possible to be a bundle setting?
Anyway, continuing the brainstorming, macros could then be a simple wrapper around the ux components, so avoid code duplication.  I was brainstorming on the Symfony Discussions board about this issue here:
https://github.com/symfony/symfony/discussions/51755

Hey @tacman, we already talked about this part of Symfony UX in this discussion 😄
Are you using it in your projects? We have not yet taken that step on our side.
You may have an answer to my current problem with the state of the macro/component here.
Are you able to use StimulusBundle function inside component params?
With the current state, if we want to use stimulus actions/params, we have to write all attrs for stimulus explicitly:
{% from<EMAIL_ADDRESS>import button %}

{{ button('calendar', {
    title: 'label.date.notification'|trans,
    combined: false,
    attr: {
         'data-modal-form-target': 'submitButton',
         'data-action' : 'modal-form#submitForm',
         'data-modal-form-refresh-on-success-param': false,
    },
}, 'primary') }}

At the end, when using stimulus complex logic, we do not use Tabler macros anymore, but straight HTML with the Symfony StimulusBundle.
{{ tabler_icon('calendar') }}

The downside of this is that we lose CamelCase param naming for dash-case. When searching for param/action usage, there's no hint to find where it's used or configured.

I really like the approach from @tacman where twig-components can be used instead of macros.
Watching Ryan Weaver implementing that, he had an idea about having tabler icons being twig components too. How to use them?
Simply like: <twig:tabler-icon("plus") /> (this is a simplified example, tho
Would it be possible to start or continue the work from @tacman and migrate to TwigComponents?
WDYT?

Here's a site that uses some of my bundles to create grids (aka datatables) without a build step.  That is, no npm or yarn or webpack.  It does use Stimulus, but fundamentally simulus isn't required.  Well, required for my datatables bundles, but not for things like the card component.
https://dt3-demo.survos.com/
BUT relevant to this conversation, it also uses the card component, from my bootstrap bundle.
                    {% component card with {} %}
                        {% block title 'Simple Datatables' %}
                        {% block text %}

                                A wrapper around simple datatables.
                                Pros: no dependencies, just one js file and one css file.
                                Simple.

                                For example, the credits links use simple-datatables

                        {% endblock %}
                        {% block links %}

                                Simple Datatables Library
                                Simple Datatables Bundle

                        {% endblock %}
                    {% endcomponent %}

I'll be moving the links and buttons to the components shortly, but wanted to show you what I've done.  It's soooo much easier than using macros.
I have a few Bootstrap components converted to twig components: https://github.com/survos/BootstrapBundle/tree/master/src/Components
And not surprisingly they work as expected when switching out bootstrap themes like bootswatch.  The tabler css will also work for the basic bootstrap 5 components.
I'll continue to work on these and will post an example with the tabler css.  Happy to share what I've learned during this process.

Actually, here's a better example, as all of the pages are focused on the components (and there's no stimulus!)
https://bootstrap-demo.survos.com/
The repo is at https://github.com/tacman/bootstrap-demo
Install and run it locally in less than a minute:
git clone git@github.com:tacman/bootstrap-demo.git && cd bootstrap-demo
composer install
bin/console importmap:install
symfony server:start -d
symfony open:local

There's no custom javascript beyond loading the libraries and css, the only javascript that's loaded is the core bootstrap library (and popper).


Include Homebrew-Cask installation instructions.

Ammend readme to include instructions for installation via Hombrew-Cask.

Just had a look at homebrew-cask and how it works. So you install the app from the command line but you also have to use the command line to launch it (open ~/Applications/"Gitify.app"). To be honest I'm not convinced by the way it works and that we have to open a PR for every release. Was thinking that we can keep it the homebrew-cask release "unofficial" - no readme info? What do you think?

It's not made as clear as I think it should be, but you can export HOMEBREW_CASK_OPTS="--appdir=/Applications" in .bash_profile to symlink the installed apps into /Applications instead of~/Applications.
This will make the the apps appear in the same Application-folder as the one that's probably in your dock and your Finder sidebar, and in Spotlight search results.
I agree that the workflow of "PR-for-every-release" seems cumbersome.
There are ways around this, but a permanent link for the latest release binary would be needed. Github doesn't support this as far as i know.
I think "unofficial" homebrew-cask releases seems like a good solution.

I had a look at the examples and what would be ideal is what Firefox did (example) - adding a cask that will always grab the latest release but this is not possible with GitHub. So I'm closing this one and we're going with "unofficial" homebrew-cask releases! Thanks for letting me know!


Update the data preparation in the Wiki

Please update the wiki data prepration section for the

locations @mariald
travel time matrices @aschengen
population @avonschmidt
diaries @schakalakka

You can use the Data Preparation page or create extra pages in the wiki if you like.
You can look at the information from our old wiki here or (better) take the information from your new paper.

@MHeinrichs

modechoice
please add chapter to the above wiki page

Information about diary groups added.

Information about locations added.

general information about matrices inside TAPAS added. Closing the issue.


Add page name to page title (in HEAD section)

So that it shows on bookmarks and on the top of the browser's tab

Done


chore(deps): update go-criu

This PR updates the go-criu dependency to version v6.3.1-0.20230807192453-2210c022f3aa from the main branch of the go-criu repository. This update is required to address the requirements of PRs #94 and #95.

Codecov Report
Patch coverage has no change and project coverage change: -0.30% :warning:

Comparison is base (002ac82) 82.80% compared to head (c8d3c37) 82.51%.
Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #99      +/-   ##
==========================================
- Coverage   82.80%   82.51%   -0.30%
==========================================
  Files           4        5       +1
  Lines         634      652      +18
==========================================
+ Hits          525      538      +13
- Misses         80       84       +4
- Partials       29       30       +1

see 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Event Request] Table 39 "Purchase Line" OnValidateNoOnBeforeAssignQtyFromXRec

Hello,
would it be possible to get an event OnValidateNoOnBeforeAssignQtyFromXRec(Rec, xRec, IsHandled) with the IsHandled-pattern like this:

	field(6; "No."; Code[20])
		trigger OnValidate()
			...
			if HasTypeToFillMandatoryFields then begin
				PlanPriceCalcByField(FieldNo("No."));
				// Event request
				IsHandled := false;
				OnValidateNoOnBeforeAssignQtyFromXRec(Rec, xRec, IsHandled);
				if not IsHandled then
					Quantity := xRec.Quantity;
				// Event request
				OnValidateNoOnAfterAssignQtyFromXRec(Rec, TempPurchLine);
				Validate("Unit of Measure Code");
				InitOutstandingAndQtyToShipReceive(TempPurchLine);
				UpdateWithWarehouseReceive;
				UpdateJobFields();
			end;
			...

    [IntegrationEvent(false, false)]
    local procedure OnValidateNoOnBeforeAssignQtyFromXRec(var PurchaseLine: Record "Purchase Line"; var xPurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 43974.


module namespaces

We should probably support implicit namespaces for modules.  We could model something loosely after the Python module system: Each module comes with its own namespace and when loading it you can access declared entities in the module,
load system "io".
io @println "hello world!".

or you could specifically import declared entities from the module into your own namespace,
load system "io" import println.
println "hello world!".

or you could specifically import declared entities from the module into your own namespace under a different name,
load system "io" import println as foobaz.
foobaz "hello world!".

Importing * will make load work the way it is working right now,
load system "io" import *.
println "hello world!".

Interesting consequence of introducing namespaces for modules: module names become namespace qualifiers as in,
io @println "hello world".

What are the implications of this for the load statement?  I could see something like this,
load system "io".

is equivalent to
load system io.

where io is the name of the module.  The need for quotes is that this provides the ability to provide module paths,
load "mymodules/print".
print @println "hello world".

I have implemented the io module as an object to address the concerns of this issue. The hello world program works now as,
load system io.
io @println "Hello, World!".

Since objects have their own scope the will be no clash with function/member names of other modules making the other suggestions above superfluous.
In particular I dislike the Python like statement
load system io import println.
println "hello world!".

which would import a name into the current name space without being able to trace to where it came from.  The scoped version of the module import is much cleaner because you are not allowed to clutter your current name space with duplicates from the object name space.
Take a peek at the io.ast module on the issue-69 branch.  I would be very interested to hear your thoughts. If this is acceptable then I will convert all the other modules to objects as well.

Looks great!!


Separate check and correction action

I like this role but I would appreciate if it would be possible to separate the check from the correction action. That would allow us to skip certain correction actions if the files touched by the action are managed by other Ansible role. Then we could use ansible-playbook --skip-tags="V-38653-action" site.yaml to run all the STIG checks and correction actions but the V-38653 action.

The challenge here is that there isn't always a task that checks and then a check that remediates. For many components it's just Ansible being idempotent with a single task. Sure it could be done with some tasks but it ultimately wouldn't work out for everything. If you are using some other role that messes with the same file then I would ultimately advise to remove that task from one of the roles so you simply don't have duplication to begin with. If I misunderstood something let me know.

Please could you name a task for which you think it wouldn't be possible to create a check?

I see what you mean, I didn't fully grasp what you meant initially. So yes for tasks where the source of identification and remediation occur in the same task  (ie something that only leverages a single module call like V-38457) we could theoretically them all into check and action tasks.
My initial opinion is to not be in favor of this due to the increased workload for what I'm perceiving, initially anyways, to be a minimal gain. This is not a dogmatic opinion and am certainly open to further discussion (and keeping this issue open) and would want to get @shepdelacreme's take on this too.

I think that it would be worth the work to split every task into a check task and a remediation task. I believe that the audience of this role will be very limited without this feature.

I definitely understand where you're coming from. Thinking about it a bit more. Rather that splitting it off (or at least using those words) I think I'd be more in favor of adding (versus splitting) check tasks that don't interact with any of the logic that's already been built. This way you can run all of the things via check mode while cleverly using always_run: yes for all of the check related tasks; you'd be able to skip a rule but still be able to see the outcome of the check task(s). Thoughts?

It would be a fairly significant undertaking but might be worth it. I wanted to build a separate "audit" role that would simply run all the STIG checks similar to what openscap does. So maybe adding check tasks and incorporating them into the existing role is the way to go. I like the always_run: yes idea.

I would definitely appreciate a role which would allow to run only checks without any remediation (audit mode).

Adding this as an action item for the next release.

After going down the path of adding discrete audit tasks, we have determined that the audit tasks are more of a distraction than a net benefit. We will be removing them unless the community decides otherwise.
See discussion here.


SvelteKit build fails due to peer dependency issues with Svelte v4

With the new Svelte 4 release, trying to build my SvelteKit project fails due to the peer<EMAIL_ADDRESS>dependency in Svelte-mapbox.
Just messing with it in dev, I don't have any issues using Svelte 4 with the current version of Svelte-mapbox.
I don't know what testing you would want to do before bumping that number up to include Svelte 4, or I would just submit a pull request to fix it.
Thank you for the great package, I use it in multiple sites with great success.
The full error on Cloudflare Pages:
12:30:43.619 | npm ERR! Found<EMAIL_ADDRESS>12:30:43.619 | npm ERR! node_modules/svelte
12:30:43.619 | npm ERR!   dev<EMAIL_ADDRESS>from the root project
12:30:43.619 | npm ERR!
12:30:43.619 | npm ERR! Could not resolve dependency:
12:30:43.620 | npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>12:30:43.620 | npm ERR! node_modules/@beyonk/svelte-mapbox
12:30:43.620 | npm ERR!   dev<EMAIL_ADDRESS>from the root project
12:30:43.620 | npm ERR!
12:30:43.620 | npm ERR! Fix the upstream dependency conflict, or retry
12:30:43.620 | npm ERR! this command with --force, or --legacy-peer-deps

adding --force to the build command does not fix the problem.

Just tried installing svelte-mapbox and ran into the same error. Think this will be affecting most potential new users at this point.

I opened a pull request to add svelte 4 compatibility.
I know Antony is a busy guy so I published a temp package that fixes the compatibility: https://www.npmjs.com/package/svelte-mapbox-4-temp
I will delete my temp package once compatibility on this repo gets added.

I'm using pnpm - it gives a warning but still works fine.
Not a real solution but an alternate work around if you need to make it work!

Tagging @antony for visibility. This project is broken on the current release of Svelte.

in your project, edit package.json like this:
"devDependencies": {
...
"@beyonk/svelte-mapbox": "^9.1.0",
...
},
"overrides": {
"@beyonk/svelte-mapbox": {
"svelte": "$svelte"
}
}

Thanks @antony. Looks like a release has gone out. Can this be closed now?


combine_sizes not defined

In combination with StaticArrays 1.4.2 I get the error combine_sizes not defined when comparing two matrices.
MWE:
A = HybridArray{Tuple{2,2,StaticArrays.Dynamic()}}(randn(2,2,4));

B = rand(2,2,4);

A .== B

Likely related:
https://github.com/JuliaArrays/StaticArrays.jl/pull/1008

Thanks for the report, I'll fix it in a moment.


Multiple charts on a single page

Hi Kibo,
I have a fork of the javascript code that is able to produce dual or more astrochart charts.
Currently if you initialize a second chart to be shown, the wrapper always produced any second charts on the first html entities.
I can send you the code to merge with the master branch.

Hi
That could by help:

Or
patch.diff file, sorry no time for PR, I am using SVN.

212c212,213
< 	astrology.SVG = function( elementId, width, height){
---
> 	astrology.SVG = function( elementId, width, height){
> 		astrology.ID_CHART = elementId + '-astrology';
1933c1934,1935
< 		endPosition,
---
> 		endPosition,
> 		textPosition,
3617c3619
< 		for( i = 0, start = 0, step = 5; i < 72; i++ ){
---
> 		for( var i = 0, start = 0, step = 5; i < 72; i++ ){

Thanks for the hosted service,
Alex.

Hi, I'm having the same issue. I made this html:
<!DOCTYPE html>

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

This render just the first chart.
@astrawin I've tried your solution, but it doesn't work.

Sorry, I did a mistake. The solution provided by @astrawin works.
I'll send a PR until the end of the day :)


Aggregator: store concepts used in works

Although this can't be completed until we set up the databases for it, I can at least start on formatting the bulk request, defining the mappings etc.


⚠ Bofrost.lu has degraded performance

In bd09af7, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2036 ms

Resolved: Bofrost.lu performance has improved in fdda45a after 45 minutes.


Convert ConnectionPool to Kotlin

Actually managed to make it compile by adding @JvmField to delegate, will remove it once OkHttpClient is in Kotlin.


add margin-top to badges inside BadgeTooltip

What: Added margin-top ti badges inside BageTooltip

Why:Makes it consistent with bage spacing without the tooltip

How: using adjacent .badge selector to add the margin

Checklist:

Before:

After:

Thanks for contributing!


Remove custom fixed size types option

Custom fixed size types in common_types.h requires assumptions outside required standards.  Remove this code in favor of stdint.h.  For any platform without stdint.h the resolution is platform dependent and outside the scope of the cFS framework.
Remove HAVE_STDINT logic from cmake recipe, and custom defines in common_types.h.
See also [cfs_cfe:#306] in cfs_cfe.

Imported from trac issue 226.  Created by jhageman on 2019-07-08T15:18:20, last modified: 2019-07-26T15:13:27

Trac comment by jhageman on 2019-07-10 11:17:41:
Note relates to [cfs_cfe:#310] in cfs_cfe to remove doxygen reference to HAVE_STDINT

Trac comment by jhageman on 2019-07-10 11:14:28:
See [changeset:de84853] in trac-226-fixed-size-types

Trac comment by jhageman on 2019-07-10 13:26:31:
CCB 7/10/2019 - code reviewed and approved for test

Trac comment by jphickey on 2019-07-11 11:19:52:
Merged into branch ic-ccb-2019-07-10 for integration test

Trac comment by jhageman on 2019-07-17 16:52:03:
CCB 7/17/2019 - approved for merge to dev.

Trac comment by jphickey on 2019-07-17 18:52:55:
Merged to "development" branch

Trac comment by jhageman on 2019-07-26 15:13:27:
Milestone renamed


Fix: expr will be evaluated twice when error occurred

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@b1efa86). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #4   +/-   ##
=======================================
  Coverage        ?   42.52%
=======================================
  Files           ?      137
  Lines           ?    10074
  Branches        ?        0
=======================================
  Hits            ?     4284
  Misses          ?     5790
  Partials        ?        0

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 b1efa86...47aa171. Read the comment docs.


Suggest

add command /pending (@user)
to command a ticket to one of the employees
+true/false
add support_role_ids2 (Just see this role in the delete tickets)
blacklist time
Possibility to choose to add the Transcript file for the person who created the ticket

Hello, the blacklist time feature has been added now in the latest commit as an optional argument in the blacklist add command.
Regarding your other suggestions, I'm not sure what you exactly mean by them so please try to rephrase them and explain further, I will probably check again in the future. Thanks.

i wana add options true and false for transcript to the someone creates ticket

i wanna support_role_ids2 does permissions view channels and send massage in close tickets catgory (Only support_role_ids2 should be added to the colse ticket category)

add cmd /locdown /unlock (Permission to send messages is obtained)

all blacklist massages sended by bot in form of embed be send

 i wana add options true and false for transcript to the someone creates ticket

If what you mean is an option to enable/disable the transcript being sent in their DMs, it's currently a part of this config option:
DMUserSettings:
  enabled: false # Enable or disable sending a direct message to a user once their ticket has been deleted. It would contain the transcript and an embed.

It's not currently possible to send the embed in their DM without the transcript, but I can add an option for this in the future.

i wanna support_role_ids2 does permissions view channels and send massage in close tickets catgory (Only support_role_ids2 should be added to the colse ticket category)

I understand the idea but I don't think I will be adding it, it doesn't sound right for specific support team members to have permissions to chat in a ticket channel where the user cannot reply back. The support team should just reopen the ticket and then normally continue it, the reopen feature is great for such cases.

add cmd /locdown /unlock (Permission to send messages is obtained)

This sounds more like a feature of a moderation bot and not a tickets bot, considering most tickets only have 1 user in them or a few, it would be easier to use the discord timeout feature on the individual user(s) or a lockdown feature from a moderation bot on the channel.

all blacklist massages sended by bot in form of embed be send

Some error messages or bot messages still do not use embeds as they are simple messages but I will probably change that in the future since embeds are more customizable and fancy. Thanks for the suggestion.

DMUserSettings:
enabled: false # Enable or disable sending a direct message to a user once their ticket has been deleted. It would contain the transcript and an embed.

transcript : false
embed: true


Pass a reference so we don't explode

Current dependencies on/for this PR:

main

PR #8   👈

This stack of pull requests is managed by Graphite.


Add a Delete Message button to the StepContainer

Description
Add a Delete Message button to the StepContainer to allow the user to delete messages. This allows the user to shorten or clean up the context that is sent on request.
Checklist

[x] The base branch of this PR is dev, rather than main
[x] The relevant docs, if any, have been updated or created

Screenshots

Testing

Create a new message.
Hover over the StepContainer in a user message.
Click the Delete Message button which should be an X.
Expect the message to be deleted.
Write a new message referencing the deleted message and expect the LLM response to not know the content.

A trash can would be better in terms of UX.

+1 to @priyashpatil feedback, otherwise this looks good to merge 👍

Don't love the trash icon but let's try it out. Should be good to go!


【question】Is there a way to set global Decorator and Parameters in preset ?

I am writing a preset to make my config reuseable, I find There is a lot config in the .storybook/config.js file, I want move it to the preset, but I had not find a way to do it on the doc, is it possible ?
Thanks in advance.

I find config hook in the source code, This is what I do.
// my-preset.js
module.exports = {
    config: function(config){
        return [...config, require.resolve('./config.js')];
    }
}

Works fine, but you can not use require.context API in the file, maybe It is out of the project dir, webpack does not process it.

Sorry, It work not fine, I find the addon and manage use different channel, case data not update.
Could someone tell how split the config out ?


[PE-D][Tester E] UI does not show list of all tutorials

As a teaching assistant, I would want to be able to easily see the details of the tutorials/modules  I teach. This would be especially useful when I need to link each student to a tutorial code. Not showing a list of all of the user's tutorials in the UI would result in them using the listTut command every single time after adding a student.
For example, assuming I have the following list of students and entered listTut:

and I want to assign 4. Daniel Ng to a module, I enter edit 3 c/T1101 and get the following:

From here, if I want to assign more tutorials, I need to re-enter the listTut command to refer to the tutorial IDs again, making it troublesome for the user.
This reduced efficiency creates a poor user experience. Moreover, as an application targeted to teaching assistants, users should be able to easily see their modules and its information.
One possible improvement is to include a UI component under the single student detail (left side of the screen) to show a list of each tutorial name, id, and its existing assignments

Labels: severity.Medium type.FeatureFlaw
original: yyanyee/ped#12

Is just a good to have as you will be able to have clear insights of student details with current interface.


test: try using createResolver to get rootDir

tracking down an issue with CI, this PR does the following things. Happy to split into separate PRs if needed.

uses corepack to manage pnpm versions
installs playwright in vitest environment (also needed there for nuxt ssr tests)
gitignores .nuxt folder and generates tscionfig in postinstall instead
tests nuxt playground against built (or stubbed) module
runs nuxt ssr test in node environment (which was causing CI failure in first place)
updates some nuxt/vue dependencies and deduplicates the lockfile

~> https://github.com/vitest-dev/vitest/issues/3826 😆

great changes! I especially like using corepack on CI, thank you 🙏


Plugin requires AWS_PROFILE to be set in shell (or default profile)

Thanks for sharing your plugin!
I had a bit of trouble getting it to work initially - I found that I needed to make sure the AWS_PROFILE variable was set in the shell to get the API call to work to API gateway.
We are passing --aws-profile as a custom option in our deployment toolchain, which we use to set profile on the provider, and that didn't work with this plugin, probably because of the direct call with the SDK here: https://github.com/dvla/serverless-apigateway-log-retention/blob/master/src/serverlessApigatewayLogRetentionPlugin.js#L23
Once I set AWS_PROFILE in the shell everywhere, it worked OK.
However, in the end I actually found serverless framework can set the log retention itself on the provider for API gateway, though it doesn't seem to be documented on the configuration page - see here:
https://github.com/serverless/serverless/blob/v2/lib/plugins/aws/package/compile/events/apiGateway/lib/stage.js#L113
I ended up not needing to use this plugin, because of the logRetentionInDays parameter: https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml#general-function-settings
So if anyone needs to set just a single log retention value for both lambda and API gateway, that's the simplest option.
I missed that when reading the API gateway docs, so just thought I'd let you know in case it's useful to you or anyone else.
The same goes for the serverless-plugin-log-retention which now does exactly the same thing as serverless core as far as I can tell.

I couldn't use the logRetentionInDays property to set the execution log retention. Not sure if they support this now.

Fixed under this PR

Fixed under this PR


Move to Slack

I believe @mattklein123 wants to move the Lyft community to Slack

Dup of https://github.com/envoyproxy/envoy/issues/956


Unable to proceed The ID

Game crashes after banter with characters before the chest near the statues in base game questline. Unable to proceed the game at all.
Including log and save file.
Player.log
new test1.zip

This is a vanilla game bug. Reason you see the pop up is because the mod intercepts any issue, vanilla or not. It's safe to proceed here. This particular location is missing an asset that causes this.


Use luau-lsp for analysis

luau-analyze was deprecated in favor of using luau-lsp analyze

Coverage remained the same at 99.237% when pulling<PHONE_NUMBER>8e1e983771c5cf912929fef6aaac1b on luau-lsp into ce63e3d57b55c6af9805a92cc04691e98c8027a8 on master.


deno: prefer badPlatforms over broken for macos

This works better with lib.meta.availableOn
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Can someone try building using https://github.com/NixOS/nixpkgs/pull/346043


Release multiple packages without prefix

Hello, I've read the docs and relevant issues.
Should it at all be possible the release multiple packages (with github) without a prefix (component tag)?
When I use: include-component-in-tag: false only one (the root?) package seems to be considered.
If I understand correctly this configuration should give my desired behaviour:
{
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
  "include-component-in-tag": false,
  "packages": {
    ".": {
      "release-type": "node",
      "exclude-paths": ["deploy"],
      "component": "node"
    },
    "deploy/helm": {
      "release-type": "helm",
      "component": "helm"
    }
  },
  "plugins": [
    {
      "type": "linked-versions",
      "groupName": "One release to rule them all",
      "components": ["node", "helm"]
    }
  ]
}

I this behaviour possible?

include-component-in-tag can be set on individual packages.
This should work:
{
  "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
  "packages": {
    ".": {
      "release-type": "node",
      "exclude-paths": ["deploy"],
      "include-component-in-tag": false,
      "component": "node"
    },
    "deploy/helm": {
      "release-type": "helm",
      "component": "helm"
    }
  },
  "plugins": [
    {
      "type": "linked-versions",
      "groupName": "One release to rule them all",
      "components": ["node", "helm"]
    }
  ]
}

Thanks Jeff, am afraid that config does not work, now it only considers the
first ("node") component like so:
https://github.com/bhuism/nextjstryout2/pull/51/files
When include-component-in-tag is used anywhere, only one package is
considered
When no include-component-in-tag is used, I see noth packages considered
like so:
https://github.com/bhuism/nextjstryout2/pull/49
but then I have the prefixes in the release tag
On Wed, 14 Feb 2024 at 18:04, Jeff Ching @.***> wrote:

include-component-in-tag can be set on individual packages.
This should work:
{
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
"packages": {
".": {
"release-type": "node",
"exclude-paths": ["deploy"],
"include-component-in-tag": false,
"component": "node"
},
"deploy/helm": {
"release-type": "helm",
"component": "helm"
}
},
"plugins": [
{
"type": "linked-versions",
"groupName": "One release to rule them all",
"components": ["node", "helm"]
}
]
}
—
Reply to this email directly, view it on GitHub
https://github.com/googleapis/release-please/issues/2223#issuecomment-1944245182,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAETC3JXEP5WAFJRJL7QWMTYTTVAPAVCNFSM6AAAAABDIKM5WCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNBUGI2DKMJYGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

I did get what I wanted with extra-files 🙇🏻♂


[Scrollbar] isPointerOverScrollbar() kind parameter

Last month, there was a commit that changes isPointerOverScrollbar() so that it requires an additional parameter for 'kind' (PointerDeviceKind).
As a result, on newer builds of Flutter that has this change (at the time of creating this issue, at least on the dev branch [2.3.0-0.1.pre]), builds will fail due to the expectation of having two parameters rather than one.
https://github.com/flutter/flutter/commit/e02621b997c622d2805c9dbcac00bf6529017b60#diff-7ea53e627d4729db3a54ab440e8f6d2610cbfc44ac4f9718daef49b2b4645f2dL1177-R1213

This commit hasn't landed on stable yet, so I can't update the code since almost all of the devs are on the stable branch (I am too). I don't see a reason for you to use the beta branch tho, since the desktop environment is now supported on the stable branch under an early reklease flag

@bdlukaa As of Flutter 2.2, on stable branch, I'm receiving the same error. I think the commit might have landed?

@msoham123  The commit hasn't been published to pub.dev yet. Please make sure you're using github's project as dependency:
dependencies:
  fluent_ui:
    git: https://github.com/bdlukaa/fluent_ui.git

Version 2.1.0 will be released at June's 10, 2021 on pub

@bdlukaa Ah okay, makes sense. I'll use the github repo instead!


Problems with timezone conversions around the end of daylight saving time

Steps to reproduce
I just stepped across several difficulties converting timestamps from my local time zone to UTC and back, when they are occurring around the end of daylight saving time (the change occurred Oct 25 2015, 01:00 UTC).
Trying to convert a datetime right after the 'extra' hour when daylight saving time was ending last fall from my local timezone (Zurich) into UTC fails:
Interactive Elixir (1.2.0) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Timex.datetime({ {2015, 10, 25}, {03, 12, 34} }, "Europe/Zurich") |> Timex.Timezone.convert("UTC")
** (FunctionClauseError) no function clause matching in Timex.Timezone.resolve/2
    (timex) lib/timezone/timezone.ex:182: Timex.Timezone.resolve("UTC", {:error, :badarg})
    (timex) lib/timezone/timezone.ex:268: Timex.Timezone.convert/2

The hour from 02:00:00–02:59:59 occurs twice in succession, first in the daylight saving time zone, then in the normalized time zone. But any value after 03:00:00 is unique, so this conversion is supposed to work fine.
Even worse, picking a timestamp during this 'duplicated' hour results in an unresponsive iex:
iex(1)> Timex.datetime({ {2015, 10, 25}, {02, 12, 34} }, "Europe/Zurich") |> Timex.Timezone.convert("UTC")
[iex freezes with high CPU load, have to break using Ctrl-C]

Going the opposite way reveals a different error:
iex(1)> Timex.datetime({ {2015, 10, 25}, {00, 12, 34} }, "UTC") |> Timex.Timezone.convert("Europe/Zurich")
#<Ambiguous(#<DateTime(2015-10-25T02:12:34 Europe/Zurich (+02:00:00))> ~ #<DateTime(2015-10-25T01:12:34 Europe/Zurich (+01:00:00))>)>

This time in fact is NOT ambiguous; the only correct result is #<DateTime(2015-10-25T02:12:34 Europe/Zurich (+02:00:00))>.
#<DateTime(2015-10-25T01:12:34 Europe/Zurich (+01:00:00))> actually is not valid, as the +01:00 timezone does not kick in before 02:00 (+01:00)
Last but not least, let's try the conversion UTC-to-local one hour later:
iex(2)> Timex.datetime({ {2015, 10, 25}, {01, 12, 34} }, "UTC") |> Timex.Timezone.convert("Europe/Zurich")
** (KeyError) key :millisecond not found
    (timex) lib/timezone/timezone.ex:274: Timex.Timezone.convert/2

Now we get yet a different error.
The expected result would be #<DateTime(2015-10-25T02:12:34 Europe/Zurich (+01:00:00))>
My Erlang version for completeness:
Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Description of issue

Timezone conversions around the ending of a daylight saving time zone result in several different errors

Interesting that this doesn't occur with some other DST-related tests. I've done some review though, and I think I see where the issue is. I'll update this thread once I have a fix pushed. Thanks for the detailed report!

@mkummer I did find one assumption that is incorrect here:

This time in fact is NOT ambiguous; the only correct result is #<DateTime(2015-10-25T02:12:34 Europe/Zurich (+02:00:00))>.

Actually that time is ambiguous according to the wall clock. Here's what is in the Olson timezone database:
iex(12)> :calendar.datetime_to_gregorian_seconds({{2015,10,25},{2,12,34}})
63612958354
iex(13)> Tzdata.periods_for_time "Europe/Zurich",<PHONE_NUMBER>4, :wall
[%{from: %{standard:<PHONE_NUMBER>0, utc:<PHONE_NUMBER>0, wall:<PHONE_NUMBER>0},
   std_off: 3600,
   until: %{standard:<PHONE_NUMBER>0, utc:<PHONE_NUMBER>0, wall:<PHONE_NUMBER>0},
   utc_off: 3600, zone_abbr: "CEST"},
 %{from: %{standard:<PHONE_NUMBER>0, utc:<PHONE_NUMBER>0, wall:<PHONE_NUMBER>0},
   std_off: 0,
   until: %{standard:<PHONE_NUMBER>0, utc:<PHONE_NUMBER>0, wall:<PHONE_NUMBER>0},
   utc_off: 3600, zone_abbr: "CET"}]

As you can see, there is an overlap in wall time between the two zones, which represents how time is perceived locally. As you described, the hour occurs twice, however neither zone can be said to own the time of 2-3 AM, it is technically both, and the ambiguity is regarding which 2-3 AM hour you are trying to represent. That is why you get back an AmbiguousDateTime with both possible choices, you have to specify which of the two you actually wanted.
I suspect this may have an effect on some of your other notes, however I have already made one fix, and I'll be reviewing each of them in turn to see if there are other bugs hiding there as well.

@bitwalker : first of all many thanks for your quick response!
Regarding my remark about Timex.datetime({ {2015, 10, 25}, {00, 12, 34} }, "UTC") |> Timex.Timezone.convert("Europe/Zurich") not being ambiguous: according to my understanding so far, the timestamp in UTC I start with clearly is not ambiguous, and simply converting it to my local timezone shouldn't make it ambiguous either, as at that very point in time only the DST variant of the time zone exists. But obviously you are right if we are talking about wall time, I apologize for being not very precise there.
Still I don't understand why #<DateTime(2015-10-25T01:12:34 Europe/Zurich (+01:00:00))> should be considered valid, when the transition to the +01:00:00 variant occurs only at 02:00:00 – but that's clearly my own problem. You are following the principles of the Olson db here which I'm not trying to question. Obviously I have to do some more research into the common practice regarding dealing with DST transitions. Thanks for pointing that out to me!

@mkummer Just to be clear, I have found some edge cases due to this, so not everything is correct by the Olson database either.
Regarding converting from 2015/10/25 00:12:34 UTC to Europe/Zurich - the timestamp you start with in UTC may be valid/unambiguous in UTC, but according to the timezone database at this exact time in UTC, there are two timezones in effect according to wall time, even though 00 in UTC would correspond to 02 in CEST, and 01 in UTC would correspond to 02 in CET, the date/time 2015/10/25 02:00:00 can represent both, and is thus ambiguous.
The question then becomes, do we allow Timex to automatically resolve the ambiguity for this case since it has the knowledge to say which of the two timezones applies for that hour in UTC? We could, however any operation which further modifies the date/time will no longer have that context, and we can't distinguish which timezone to use when Olson comes back with both again. It seems to me that it would be even more confusing to get back an unambiguous DateTime in the one case, but then, let's say shift it by 5 minutes, and suddenly you get an AmbiguousDateTime back. I would rather return the ambiguous value in both cases, and rely on the consuming code to handle choosing.
Do you have thoughts on that?
As an update, I've addressed the bugs I did find, and pushed a fix. I'll push a new release shortly.

Perfect, that's an awesome service, thank you. Your fixes are effective indeed as from what I can tell after a few tests.
Regarding your question, I support your opinion of keeping the ambiguity and letting the application code handling the case; I think this is the more universal approach.

@mkummer Great to hear :)
If you run into any other edge cases, or have any further questions about how Timex handles shifting across timezones, feel free to open an issue anytime. I like having a history of bug reports/discussions to go through, helps other people as much as it helps myself sometimes :)


Quality checks are performed automatically and continuously upon any new incoming code

Acceptance Criteria

[ ] As a project visitor, I want to see in the GitHub README the status of quality continuous checks
[ ] As a FINOS Project Team member, I want to rely on automatic quality checks provided/suggested by FINOS
[ ] As a FINOS Project Team member, I want to be able to configure quality checks using GitHub files (GitOps)

Tasks

[ ] Ensure all GitHub repositories have a summary, automatically and continuously - #31
[ ] Ensure all GitHub repositories have a FINOS Project Lifecycle badge in README.md, automatically and continuously - #16

Given the introduction of LFX in our infrastructure, we are going to rely on those collaboration tools.
Closing issue and marking it with LFX label.


import devtools from '@vue/devtools' gets into Vite production build

Version
6.4.3
Browser and OS info
Chrome 105 / macOS 12.6
Steps to reproduce

Create an empty vite project
Add import devtools from '@vue/devtools' &if (import.meta.env.MODE === 'development') {
  devtools.connect()
}

Build the production build. @vue/devtools doesn't get tree shaken and gets into the production build. I have also seen cases of it importing node specific code which leads to an undefined import to emitter.

What is expected?
For it to be tree shaken so it is easy to include @vue/devtools standalone only for dev builds
What is actually happening?
It is not tree shaken

Without it being tree shaken, I will have to manually comment/uncomment it. I haven't found a way to direct it to tree shake @vue/devtools outside of modifying its package.json and adding "sideEffects": false. It still spews a huge amount of eval warnings despite this which I have no idea how to silence.

This rollup plugin can be used as a workaround:
    {
      name: 'vue-devtools-side-effects',
      transform(code, id, options?) {
        if (/@vue\/devtools\/index.js$/.test(id)) {
          return {
            code,
            moduleSideEffects: false,
            map: null,
          };
        }
      },
    },

Although you will still get a lot of eval warnings.

Same here, and the size it adds to the production build is huge!

It doesn't get into production build but the eval warnings are still there. Can these warnings be fixed?
The warning is 'Error when using sourcemap for reporting an error: Can't resolve original location of error.
Use of eval is strongly discouraged, as it poses security risks and may cause issues with minification' and it shows around 50times for build

Looking for a solution for this as well

Found it here:
// vite.config.js
  build: {
    rollupOptions: {
      onwarn: (warning, warn) => (warning.code !== 'EVAL') ? warn(warning) : undefined // suppress eval warnings (@vue/devtools)
    }
  }

Can someone explain why the warnings appear in prod mode ( for what is used eval in this case?) ?