Security: Rogue https://pypi.org/project/chainlit2/ phishing package on PyPI

I am not sure, but this looks like an impersonating chainlit2 package on PYPI probably including some malicious code?

Wow...and this kind of thing is going to continue. Folks will be hunting for exploits in CL, targeting deployments that expose ports for CL...so anyone who is planning to host CL exposed to the internet the way it has currently been prescribed should be strongly warned.
If the CL team cannot guarantee that people won't be able to install root kits through CL, for example, they should recommend (and facilitate) that CL is hosted behind a production-caliber security wall, not as an internet-exposed standalone server/app.

Show me those root kits
In the interest of the community!

Wow...and this kind of thing is going to continue. Folks will be hunting for exploits in CL, targeting deployments that expose ports for CL...so anyone who is planning to host CL exposed to the internet the way it has currently been prescribed should be strongly warned.
If the CL team cannot guarantee that people won't be able to install root kits through CL, for example, they should recommend (and facilitate) that CL is hosted behind a production-caliber security wall, not as an internet-exposed standalone server/app.

That's a strong statement @stephenrs! We're definitely keeping security in mind and would love to hear from you on such exploits as part of this package.
We do not control PyPI and although it is definitely worrying (as well as a sign of success) if people try to make similarly named packages, this is most certainly not something within our control!
Proof of maliciousness
Similarly, @titusz, do you have any reason to believe that indeed this alternative build of chainlit is malicious and not just an impatient user who (at the time) wanted to share the latest & greatest (and possibly more unstable) version of chainlit with the world?
This is something which historically happened a lot on PyPI. So as such, simply having a similarly named package doesn't make it suspect!
Specifically, if we want to get this package pulled from PyPI, we need actual proof that the package is malicious. If you have any, please provide it and reopen this ticket and/or contact the maintainers of PyPI directly to act on any potential security issues.
Installing the latest and greatest from GIT
On the latter notice, I really do hope to allow installation directly from GIT (currently blocked by #1224), so such will no longer be necessary.

I have to say I'm a bit surprised by the dismissiveness of this response.
First, the chainlit2 project is using your name, branding, and has plagiarized your text. So, unless you have sanctioned the project, whether it contains malicious code or not, it is fraudulent and therefore suspicious, so deserves your attention. It is obviously intended to trick people into thinking the code came from you. Most people wouldn't ignore this.
It also doesn't discuss any distinction between chainlit and chainlit2, so the natural question is what's the difference between the two? It seems unlikely that the difference is better features, and seems at least possible if not likely that the difference is something malicious. So, I'm not sure that simply dismissing this without investigating it is the best course of action for the health/sustainability/reputation of the project/company.
I also want to assume the best about people's intentions, but unfortunately, the real world doesn't always work quite like that.
Also, SSH has been the gold standard of security for as long as any of us can remember, but a few months ago it was announced that an exploit had been discovered in SSH. This motivated anyone who is serious about security to review their sshd server versions and patch/update as needed.
So, we don't need to prove that there are exploits in CL to demonstrate that there should be a concern that it's a possibility. This is the nature of security awareness.
And, since the latest CL doesn't work when put behind an nginx proxy (#1262), it seems the only way to get it to work is to expose it directly to the internet (or localhost). This is inherently dangerous, so my statement isn't strong at all. Until you've had an expert try to penetrate it and fail, then certified it as impenetrable, we simply have no idea how safe it is. So, it's most sensible in a case like this to err on the side of caution. So, my comments stand :)
The perhaps bigger question (maybe for @willydouhard CTO), is: why invite the risk? CL doesn't need to be bulletproof to do the LLM/UI work that it does, so why continue to conceptualize and promote it as "everything you need to run a single-agent dedicated server except the hardware"? It's hard enough to get a new venture going, IMHO you don't need the additional threats highlighted on this issue. Just my 2 cents.

Also, rather than asking for outsiders to provide proof that the package is malicious, perhaps the responsibility falls to you to download it and prove that it doesn't.

Thanks for taking the time to write an extensive reply @stephenrs.
Thanks also for pointing out your feedback on #1262, I hadn't noticed that yet and expect to review it today or tomorrow. Indeed, if chainlit doesn't work behind a reverse proxy it should be considered broken, by all standards (including but not limited to security).
Now, neither you nor us are obliged to research other people's packages for security issues. I think it's fair to assume all of use have limited bandwidth and, at this very moment, I am already happy that I managed to address quite a significant number of internal security issues since I started just a few weeks ago. For my own startup, I'm running Chainlit in production -- I can assure you that security is a great personal concern to me.
The above context makes your arguments, which come across a bit like "you're not taking security seriously" come across a bit stingy, hence my somewhat defensive response.
Regarding our security policy, I do think we are soon approaching the point where we need to make clear and public statements on:

How issues can/should be reported.
What support we do and do not provide, as maintainers as well as a community.

With the latter, I would like to clarify that we rely, in large part, on the developer community, on contributors, to push this project forward. This definitely goes for security as well, although Chainlit might (or might not) be interested in offering commercial support, please reach out if you do so desire.
It is my (personal) hope and desire that we'll manage to graduate to a true community effort, as the interest of any single commercial entity to build and maintain an open source package is limited and, as such, not sustainable.
In other words, an interpretation of open source as 'free stuff other people build and support for you, at their expense', is not what this is.
As such, and in general, we do not accept vulnerability reports relating to general plausibilities 'this might be broken'. Or 'it looks like it's broken'. While it is an excellent starting point for security research, I guarantee you won't get awarded a CVE for it. In addition, to my knowledge we are not able to apply dedicated human resources toward security, but if you are interested to provide a budget, perhaps we can talk about involving pentesters, commercially.
Regarding brand infringement etc., this is not with me -- but obviously, if it will be required in order to take a malicious package down, so be it.

As I already spent so much time on my clarifications here, I just bothered to do a diff between chainlit2 and e1b2dfa4c93ef2f7f6d9f95bdb342f7b7a72a4d7 of the repo and I can confirm that there are 0 differences there.
As such, we won't take action.
In the future, for us to be able to allocate resources more thoughtfully, I would like to ask that any security vulnerabilities are reported based on actual evidence of specific vulnerabilities.

As I already spent so much time on my clarifications here, I just bothered to do a diff between chainlit2 and https://github.com/Chainlit/chainlit/commit/e1b2dfa4c93ef2f7f6d9f95bdb342f7b7a72a4d7 of the repo and I can confirm that there are 0 differences there.

Good work, and as my mother used to say "that's what you should have done in the first place" :) But more seriously, I agree with you that it's arguably not your obligation to investigate things like this, so that was a poor choice of words on my part. But, as I said in my follow-up message, it's in the interests of the project to handle potential problems like this, especially when it's so easy to do as in this case.
I also wouldn't characterize this as a "security vulnerability" in the typical sense because it's not a specific code/system problem, but this kind of thing can be problematic for the health of a project or company more generally. So, I'd think that you would be eager to make sure it was taken care of to protect the interests of the project (and deliver clarity to the community). We may have different approaches and philosophies, however.

In other words, an interpretation of open source as 'free stuff other people build and support for you, at their expense', is not what this is.

I find this interesting because this project is not an open source project in the typical or traditional sense because a commercial entity is behind it that stands to benefit directly (and perhaps most) from any contributions made by the community. So, I'm not actually sure how closely this aligns with the spirit of "open source" in the truest sense. I'm happy to hear some clarification about what CL/LAI's role is, however.
For anyone who has never read it, I recommend the GNU Manifesto, it's the reason OSS exists: https://www.gnu.org/gnu/manifesto.en.html


Refactor: split charger into current- and power controllers

This PR is an investigation into splitting chargers into:

CurrentController: typically wall boxes
PowerController: typically heating devices, some chargers (ChargeX)
no controller ability beyond on/off: switch sockets

TODO

[ ] move all current control and phase switching logic from Loadpoint to core.currentController
[ ] refactor switchSocket to declare required power and remove Controller interfaces
[ ] think about refactoring ChargeState as part of Charger, potentially separate PR

Refs https://github.com/evcc-io/evcc/pull/6301, https://github.com/evcc-io/evcc/pull/7207

Amperfied solar.connect kann auch mit Leistung statt Strom gesteuert werden und schaltet darüber auch selbstständig zwischen 1P/3P.

Just a note: with EEBUS both variants should be possible in the same charger implementation as it depends on the chargers EEBUS version and implementation which is being supported. And it can also make sense to use currents e.g. for ISO connected cars and power for PWM.


Resize tuning scales without using browser zoonm

As a user, I want to keep tuning tools looking small, while zooming into the tuning scales.

All legible, except perhaps at smallest zoom, the subscripts/superscripts of the smaller labels are not quite clear on a 1:1 display. For those, the floating title gives a detailed note description, including the smaller labels, at unscaled size.
Example set 1: 100% browser scale, device scaling 2 (e.g. 4K/2160p)

Default zoom

Smallest zoom:

Biggest zoom:

Example set 2: 100% browser scale, device scaling 1 (e.g. 1080p)

Default zoom

Smallest zoom:

Biggest zoom:


Segmentation Another Open Vocabulary Model (Object Detection) Results

Hello, I would like to detect objects using another open vocabulary based object detection model(DE-ViT: detect everyting) and segment them with the input. Is this possible and would be great to have an example.

Hello, I would like to detect objects using another open vocabulary based object detection model(DE-ViT: detect everyting) and segment them with the input. Is this possible and would be great to have an example.

Yes, I think both Grounded SAM and Grounded SAM 2 have the same idea that combining promptable segmentation model with detection model for detection and segmentation, it will also works with DE-ViT + SAM 2, but we want to keep our code more clean for community, I think it would be more convenient for you to implement this idea in your local environment.


NPM metadata is not timing out correctly.

The main reason for this is that ScheduleManager is not using package type
when querying SpecialPathManager for path information. It ends up using the
default package type, which is 'maven', and missing the fact that the path
package.json is a NPM metadata path. The metadata timeout is therefore not
applied to the package.json file.
To fix this, I simply modified ScheduleManager to use StoreKey.getPackageType().
I also added a functional test, NPMMetadataTimeoutTest.
Along the way, I noticed inconsistency in the way special path sets are
registered for non-default (i.e. non-maven) package types. I creeated
an interface, SpecialPathSetProducer, which is injected into
DefaultGalleyStorageProvider, where the sets can be registered in a
consistent way. I also made the two old registering classes implement this
new interface.
I also noticed that none of the TransferDecorator implementations used the
package-type variant of SpecialPathManager methods, meaning they will also
default to using special paths registered to the maven package type. I
corrected this using EventMetadata.getPackageType(). These changes will be
available in a Galley PR https://github.com/Commonjava/galley/pull/237.
Finally, I noticed that NPMContentAccessHandler can lose track of a locked
Transfer if it needs to remap a directory request to a package.json file
on disk. I added tracking for the original Transfer, and code to unlock
both at the end. I hit a transient error while testing, where the remapped
Transfer instance came up null, and none of the logic expected this. To
cope, I've added a null check to avoid hitting NPE in the finally block.

retest this please

retest this please


fix(ansiblelint): Support to the latest output format

I installed ansiblelint and tried to make it work with none-ls but it seems the latest version (v6.22.x) I installed changed the output to the outdated (v4.x)
This code change makes sure it can handle the v6 format and keeps backwards compatibility with the legacy v4 via some simple object detection.

lgtm, needs more testing


[DNM][VL] enable hash build side selection

What changes were proposed in this pull request?
Allow to build with smaller side on LeftOuter, RightSemi
(Fixes: #ISSUE-ID)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)

@zhztheplayer here's the patch for always build with smaller table in hash join


chore: update relay-angular-chat

This PR upgrades version of js-waku used.
Resolves: https://github.com/waku-org/js-waku/issues/1353

It seems that in order to upgrade the packages - typescript should be upgraded or webpack config changed. Both are a bit time consuming so will delay PR for a bit.

not needed anymore


Review test to validate permissions in public tables

This activates parts of the already existent test that validates granting publicuser to a user allows to select from other users' public tables.
Ref: https://github.com/CartoDB/cartodb/pull/5021

No need to bump version as it only includes test changes.


BUG report: planner bucket list --ownedGroupName returns wrong data

Description
Most planner commands use the --ownedGroupName option to return values based on Group DisplayName.
If you have multiple groups with the same displayName, the command will take the first group it finds and return the plans or not. This might be misleading compared to other commands where we return an error message if multiple matches have been found.
Check related issue #3053
Expected results
The CLI should return the error message that there are multiple Groups with the same displayname and that the user should choose from one of these by id.
Actual results
Takes the first group it finds and returns the results

I think this issue is covered when #3267 completes.

Thank you. Closing the issue


Create tab with auto layout

Added a comment regarding the padding on the sides. Before it was 16, and now it is changed to 10 px. Can we have a discussion about it? 😊


Add fullscreen mode

This change adds a new toggle option called "Fullscreen Mode" to the settings, which basically sets the min-height and min-width css property to 100%. The result is that the modal is always using 100% of the screen size, regardless of the actual card content.

On my iPad and iPhone it removes the ~20% size top margin -> 20% more card content visible!
On my desktop it hides any note content in the background, which might disturb from the actual content. -> increased focus!

Closing as stale


Fix two SLF4J logger calls

There were an inconsistent number of formatting anchors ('{}') which
can cause information not to be logged as expected.
These issues were identified by SLF4J Helper for NetBeans:
http://plugins.netbeans.org/plugin/72557/

Coverage decreased (-0.1%) to 88.864% when pulling e865de8d202d1352abfc8d630eb7706595c88a54 on dtrebbien:fix-logger-calls into 68775d375d9b63fa18e2c6833d43ea59cedb963f on Netflix:master.

See #569


AvaloniaXamlReportImportance does not seem to be respected

Describe the bug
The AvaloniaXamlReportImportance MSBuild property does not seem to actually be respected. Its default value, low, should in fact disable informational messages in a normal dotnet build (w/o -v:n), yet GenerateAvaloniaResourcesTask still outputs such messages:
$ dotnet build
MSBuild version 17.4.0+18d5aef85 for .NET
  Determining projects to restore...
  All projects are up-to-date for restore.
  GenerateAvaloniaResourcesTask -> Root: C:\Users\alex\source\repos\test, 0 resources, Output:obj\Debug\/Avalonia/resources
  test -> C:\Users\alex\source\repos\test\bin\Debug\test.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:06.53

To Reproduce
dotnet build in an Avalonia project.
Expected behavior
No informational messages from GenerateAvaloniaResourcesTask.
Desktop (please complete the following information):

OS: Windows
Version: 10.0.25236.1010

Was previously fixed https://github.com/AvaloniaUI/Avalonia/issues/8971


TestEventf is failing intermittently

E0608 17:41:07.461082    9747 event.go:91] Unable to write event '&api.Event{TypeMeta:api.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:api.ObjectMeta{Name:"foo.13e5d41aaf1b6b5e", GenerateName:"", Namespace:"baz", SelfLink:"", UID:"", ResourceVersion:"", CreationTimestamp:util.Time{Time:time.Time{sec:0, nsec:0x0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*util.Time)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil)}, InvolvedObject:api.ObjectReference{Kind:"Pod", Namespace:"baz", Name:"foo", UID:"bar", APIVersion:"version", ResourceVersion:"", FieldPath:""}, Reason:"Reason", Message:"retry1", Source:api.EventSource{Component:"eventTest", Host:""}, FirstTimestamp:util.Time{Time:time.Time{sec:63569382067, nsec:0x1b622d5e, loc:(*time.Location)(0x1149c20)}}, LastTimestamp:util.Time{Time:time.Time{sec:63569382067, nsec:0x1b622d5e, loc:(*time.Location)(0x1149c20)}}, Count:1}' (retry limit exceeded!)

Maybe related to v1beta1/2 removal: https://github.com/GoogleCloudPlatform/kubernetes/issues/8087#issuecomment-110182028
cc @saad-ali @krousey

The retry limit exceeded looks like it is an expected part of a negative test. Can you link to logs showing the intermittent failure. I'll take a look.

One example:
https://travis-ci.org/GoogleCloudPlatform/kubernetes/jobs/65966544
Don't know if it's related, but I also see:
go build github.com/ugorji/go/codec: signal: killed

The build being killed is likely travis running out of resources.

Looks like the problem is:
  event_test.go:339: diff: (*api.Event){TypeMeta:(api.TypeMeta){Kind:(string) APIVersion:(string)} ObjectMeta:(api.ObjectMeta){Name:(string)foo GenerateName:(string) Namespace:(string)baz SelfLink:(string) UID:(types.UID) ResourceVersion:(string) CreationTimestamp:(util.Time){Time:(time.Time){sec:(int64)0 nsec:(uintptr)<nil> loc:(*time.Location)<nil>}} DeletionTimestamp:(*util.Time)<nil> Labels:(map[string]string)<nil> Annotations:(map[string]string)<nil>} InvolvedObject:(api.ObjectReference){Kind:(string)Pod Namespace:(string)baz Name:(string)foo UID:(types.UID)bar APIVersion:(string)version ResourceVersion:(string) FieldPath:(string)desiredState.manifest.containers[2]} Reason:(string)Started Message:(string)some verbose message: 1 Source:(api.EventSource){Component:(string)eventTest Host:(string)} FirstTimestamp:(util.Time){Time:(time.Time){sec:(int64)0 nsec:(uintptr)<nil> loc:(*time.Location)<nil>}} LastTimestamp:(util.Time){Time:(time.Time){sec:(int64)0 nsec:(uintptr)<nil> loc:(*time.Location)<nil>}} Count:(int)

    A: 3}

    B: 2}

Haven't been able to repro it locally. Trying to understand why this happens.

Ran github.com/GoogleCloudPlatform/kubernetes/pkg/client/record tests repeatedly back to back overnight, still no repro.

The error indicates that the number of times the event was seen in the past (event compression) is less (2) than expected (3).
Possibilities considered:

At 3rd occurrence of event, the previous occurrence was not found in LRU cache:

Maybe the key generated for the event to do LRU lookup is different between the 3 occurrences of the event.

Logs indicate this is not the case, the event object is identical all three times, and code ensures it computes keys off only immutable fields.

Also this can't be because logs show that Count is 2, meaning an entry was found, it just had the wrong count.

After 2nd occurrence of event, the event LRU cache was not updated:

Maybe sink.Create or sink.Update failed on 2nd occurrence so LRU didn't get updated

No error in log to indicate this happened
Also the test code always returns nil for error on sink.Create and sink.Update so this is essentially impossible.

Maybe the event was evicted from the LRU cache, causing the 2nd occurrence to create a new entry, and 3rd to show count 2.

The logs show that this is not the case: test passes for the 2nd occurrence indicating at that point the cache contained the correct entry. If the entry was evicted after that, then the failure of the 3rd event would complain about not finding any entry (count would be 1 not 2).

Maybe something is running in parallel and messing up the entries in the cache

Even if the same test was running in parallel, because read/write is protected with a RWMutex at worst the count would end up higher then what we expect, not lower.

So I'm not sure what is causing this to happen.
I did notice a problem, the events_cache is a singleton, meaning all sinks created by StartRecordingToSink in event.go end up using the same LRU cache. That doesn't explain this problem, but should also be fixed. Opened #9610 to track that.

Thanks for taking a look. Removing from 1.0. If it can't be reproduced, we can close. If it increases in frequency, we can reevaluate priority and milestone.

Closing this as obsolete: This code/tests has since been significantly modified.


Use feature detection instead of version detection

Python porting best practice use feature detection instead of version detection.

Thanks:)

Closing this as the compat py2 and py3 isnt needed as py2 support is dropped. Thanks!


Run in a specific event loop

Hello! I would like to run this IRC client with my Discord bot to make a brigde. I checked the code and it looks like there isn't any way to make the client run in the same loop as the bot. Did I check wrong? If yes, how can I run them in the same loop?

Hi, it should work. There's many example on how to run multiple bot instance using one loop https://github.com/gawel/irc3/blob/master/examples/benches.py
I guess from_argv is not for you but check from_config

Okay, thank you.


Cannot handle matlab v7.3 files

This is related to https://github.com/aces/Loris-MRI/issues/841

Does this mean most eeglab .SET files won't work with set2bids?  @jeffersoncasimir


Remove logger configuration

you trollin?

Oh I'm so sorry! This should have been opened on my fork! Not here 😅


org.apache.james.mime4j.MimeException: org.apache.james.mime4j.io.MaxLineLimitException: Maximum line length limit (1000) exceeded

org.apache.james.mime4j.MimeException: org.apache.james.mime4j.io.MaxLineLimitException: Maximum line length limit (1000) exceeded --
This above issue occurs when mime type html email data is parsed.
exception occurs on the following line :
mime4jParser.parse(mailData);
Kindly look into the issue, we need to extract html rendered body from the raw email data.

I have the same problem and looking for some solution.

According to this hint, you can make your own MimeConfig class, but that class is final so it's not so easy.
But you can also use this and it has infinite line length limit and so works:
MimeConfig mime4jParserConfig = MimeConfig.PERMISSIVE;

Sure will give it a try and update here, Also one use case i found is, when the email data is raw email which i directly pasted from Gmail's view original section. The parsing works properly.
Whereas when the email data is raw email and contains \r\n in between, which is a text/plain mime type the parsing throws the above error. Any thoughts on that ? @Dacesilian @ram-sharma-6453

Can you please share the raw email that is giving you trouble, I would look into that particular case .


linux: drag and drop v2

This PR adds support for dragging files in and out of lockbook.
Dragging a file into lockbook:

https://user-images.githubusercontent.com/20663038/128616306-175865b9-dd92-4c19-9345-126c293e3770.mp4

Dragging a file out of lockbook:

https://user-images.githubusercontent.com/20663038/128616239-55e5eb22-d5db-4d8c-a0e2-133596dd6574.mp4

@steverusso probably a good time to do a tidy pass here

Also update the PR description with the latest flows, @SmailBarkouch


Add ability to configure network protocol and load balancer class for external service configs

Q
A

Bug fix?
no

New feature?
yes

API breaks?
no

Deprecations?
no

Related tickets
fixes #331

License
Apache 2.0

What's in this PR?

Adds the ability to set the network protocol for external services. Defaults to TCP and behaves almost identically to the recent addition to support this for internal listeners in #320.
It also adds the ability to set the loadBalancerClass for external services. This is useful when using cloud based load balancers.
Example:
  externalServices:
    - name: "clusterip"
      spec:
        type: ClusterIP
        portConfigs:
          - port: 8080
            internalListenerName: "http"
          - port: 7182
            internalListenerName: "my-custom-listener"
            protocol: TCP
      metadata:
        annotations:
          toto: tata
        labels:
          titi: tutu

And to set a loadBalancerClass:
externalServices:
    - name: "nlb"
      spec:
        type: LoadBalancer
        loadBalancerClass: "service.k8s.aws/nlb"
        portConfigs:
          - port: 8080
            internalListenerName: "http"
          - port: 7182
            internalListenerName: "my-custom-listener"
            protocol: TCP
      metadata:
        annotations:
          toto: tata
        labels:
          titi: tutu

Why?

It's possible to set the network protocol for container ports but not for services, so this just completes the feature.
Checklist

[x] Implementation tested
[x] Error handling code meets the guideline
[x] Logging code meets the guideline
[x] User guide and development docs updated (if needed)
[x] Append changelog with changes

Can you add in the example loadBalancerClass as you did for protocol?

In the docs? Surely!


Update dg for undo command

Modifies the dg to show the current implementation of the undo command.

Codecov Report

Merging #270 (90c5e8a) into master (aeca6c2) will increase coverage by 2.89%.
The diff coverage is 50.00%.

@@             Coverage Diff              @@
##             master     #270      +/-   ##
============================================
+ Coverage     64.60%   67.49%   +2.89%
- Complexity      546      571      +25
============================================
  Files            96       96
  Lines          2040     2043       +3
  Branches        234      236       +2
============================================
+ Hits           1318     1379      +61
+ Misses          628      571      -57
+ Partials         94       93       -1

Impacted Files
Coverage Δ

.../seedu/address/logic/parser/HelpCommandParser.java
100.00% <ø> (+25.00%)
:arrow_up:

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

...ain/java/seedu/address/logic/commands/Command.java
100.00% <100.00%> (+13.04%)
:arrow_up:

...in/java/seedu/address/logic/parser/ParserUtil.java
70.88% <0.00%> (+5.06%)
:arrow_up:

src/main/java/seedu/address/model/person/Flag.java
60.00% <0.00%> (+6.66%)
:arrow_up:

...a/seedu/address/logic/parser/HustleBookParser.java
79.16% <0.00%> (+12.50%)
:arrow_up:

...java/seedu/address/logic/commands/RedoCommand.java
14.28% <0.00%> (+14.28%)
:arrow_up:

...java/seedu/address/logic/commands/UndoCommand.java
14.28% <0.00%> (+14.28%)
:arrow_up:

.../seedu/address/logic/parser/ListCommandParser.java
76.92% <0.00%> (+23.07%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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


Enhance userdocs with easily updatable video

There is a video tutorial that describes an exemplary use of TIRA as a user who submits a run from start to end. This is a great overview on what there is to do for first time users of the platform.
TODO:

[ ] Reproduce this video on the current tira platform (new interface...), while
[ ] using this tool for generating spoken lectures from scripts

Using this software, thedocumentation video becomes easily updatable, when TIRA changes. See also this
[example Video] (https://www.youtube.com/watch?v=699e_l6XDI8&list=PLgD1TOdHQCI_R9aX5MvoM8kMqz_YECTke)done with this software.

Superseeded by Maik's work, i.e. https://www.tira.io/t/screencast-for-participants/886


Issue with Quick Start Documentation

I am following instruction on Spring Cloud Stream Quick start at this location.
https://cloud.spring.io/spring-cloud-stream/#quick-start
Instructions talk about including following dependencies.
dependencies {
compile 'org.springframework.cloud:spring-cloud-stream'
compile 'org.springframework.boot:spring-boot-starter-kafka'
compile 'org.springframework.cloud:spring-cloud-starter-stream-kafka'
}
For some reason, following is not getting resolved. It gives me following error.
=======
What went wrong:
Could not resolve all dependencies for configuration 'detachedConfiguration24'.

Could not find org.springframework.boot:spring-boot-starter-kafka:.
Searched in the following locations:
http://repo.spring.io/milestone/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.pom
http://repo.spring.io/milestone/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.jar
http://repo.spring.io/snapshot/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.pom
http://repo.spring.io/snapshot/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.jar
https://repository.jboss.org/nexus/content/repositories/releases/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.pom
https://repository.jboss.org/nexus/content/repositories/releases/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.jar
https://oss.sonatype.org/content/repositories/releases/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.pom
https://oss.sonatype.org/content/repositories/releases/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.jar
https://oss.sonatype.org/content/repositories/snapshots/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.pom
https://oss.sonatype.org/content/repositories/snapshots/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.jar
http://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.pom
http://repo.maven.apache.org/maven2/org/springframework/boot/spring-boot-starter-kafka//spring-boot-starter-kafka-.jar
Required by:
project :core
=======

I looked up pom.xml in Brooklys.SR1 release and don't see any reference to spring-boot-starter-kafka.
I changed it to following and it's able to resolve correctly.
compile group: 'org.springframework.cloud', name: 'spring-cloud-stream-binder-kafka'
Is this correct? Or I am missing something?

Hi, thanks for reporting. The Gradle instructions are wrong.

Thanks for the update. So Do I need to add following to Gradle or  it's not needed.
compile group: 'org.springframework.cloud', name: 'spring-cloud-stream-binder-kafka'
Just having following should be fine?
compile 'org.springframework.cloud:spring-cloud-stream'
compile 'org.springframework.cloud:spring-cloud-starter-stream-kafka'

The starters include the corresponding binders as transitive dependencies so they don't need to be included separately - just the starter should be fine.

Great. Thanks.

When are you gonna update the frontpage? thanks!


Make the units serializable via the use of data contract

Datacontract is part of dotnet portable, so it gives the ability to serialize in xml unitsnet objects.
It may be the answer to json serialization because datacontract offers a datacontractjsonserializer class.
Allthough I have tested it locally, the actual unit tests do not cover this use case.
We would need to create integration unit tests for that purpose.

Might be a solution for anjdreas/master#92

```    [Test]
    public void Foo2()
    {
        Length l1 = Length.From(10, LengthUnit.Centimeter);
        DataContractSerializer s = new DataContractSerializer(typeof(Length));
        string filePath = Environment.CurrentDirectory + "Length.xml";
        using (var stream = File.OpenWrite(filePath))
        {
            s.WriteObject(stream, l1);
        }
        Length l2;
        using (var stream = File.OpenRead(filePath))
        {
            l2 = (Length)s.ReadObject(stream);
        }
        Assert.AreEqual(l1, l2);
    }

The resulting xml file looks like this:
<Length xmlns="http://schemas.datacontract.org/2004/07/UnitsNet" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><_meters>0.1</_meters></Length>

Same test but with json:

    [Test]
    public void Foo3()
    {
        Length l1 = Length.From(10, LengthUnit.Centimeter);
        DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(Length));
        string filePath = Environment.CurrentDirectory + "Length.json";
        using (var stream = File.OpenWrite(filePath))
        {
            s.WriteObject(stream, l1);
        }
        Length l2;
        using (var stream = File.OpenRead(filePath))
        {
            l2 = (Length)s.ReadObject(stream);
        }
        Assert.AreEqual(l1, l2);
    }

Resulting in a json file looking like this:
{"_meters":0.1}

It does not seem to be good enough for json...

Yes, this should work, but as per the discussion in #92 I am still a bit worried about breaking data compatibility at some point, say we decide to rename the private field to singular, or change the base unit to a different unit, or whatever. We could simply decide that, any breaking changes to units are simply not allowed, unless we bump the major version of the nuget or similar. I'd love some thoughts and feedback from more people on this though, I think it's easy to make a mistake here that will shoot someone horribly in the foot later.

If we do add support for serialization, we at least need to document what guarantees we put in that implementation, so anyone can make an informed choice on whether to use the built-in method or their own.

What are your thoughts on this? Should we leave it at the examples or implement data contract?

I checked out #92, and I find it very elegant but to me it does not answer the question.
See I believe the serialized data should be auto descriptive meaning that the serialized data should contain everything needed for its deserialization. As a result two clients could serialize/deserialize despite using different libs and without any configuration.
If the above serialization data are not good enough, how about those ones:

XML from data contract
<Length xmlns="http://schemas.datacontract.org/2004/07/UnitsNet" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Value>0.1m</Value></Length>
JSon from data contract

{"Value":"0.1m"}

I think I am not wrong saying that an abbreviation is unique among the abbreviations from a unit type.
So in the Value property setter, we could imagine having that kind of parsing code:
public string Value
       {
            set
           {
                Length l = Length.Parse(valueAsString, CultureInfo.InvariantCulture);
                _meters = l.Meters;
           }
      }

And the power of data contract makes possible to set the visibility of such property to internal, protected or private.
The client can choose wether he wants to use the xml data contract serializer or the json data contract serializer.
I will try later today or this week to propose such an exemple as in #92.

See #100 and #99 .

For your info, #100 and #101 are now closed and merged. Nugets UnitsNet.3.17.0 and UnitsNet.Serialization.JsonNet.1.0.0-alpha2 are out and support JSON serialization.
Are you still looking to pursue datacontract serialization or will this satisfy your needs?

Sorry I could not answer earlier, yes I will keep looking into it because my use case it to save quantities into some configuration files.

Just checking up on this, still planning to move forward with this PR?

No plan to move forward anymore.
PR can be closed.


queue doc changes to copilot agent until after-change-functions

I am not an Emacs expert, but my hypothesis is that jsonrpc-notify causes buffer navigation to occur, which causes the (org-todo) function to break when called twice in a row.
This fixes issue:
https://github.com/zerolfx/copilot.el/issues/172

The original pull request would never have worked properly, since I thought nreverse reversed in place, but it was actually dropping the subsequent set of changes, meaning the buffer would have been desynced.
There is also some other extra stuff here, like the (copilot-resync-buffer) command, and a rewrite to fix save-* nesting order.
But assuming this is the wrong way to fix #172, there isn't anything too important here to merge.

But assuming this is the wrong way to fix #172, there isn't anything too important here to merge.

@raymond-w-ko I am confused. does this PR fix the linked issue or not?

I will push changes and get this merged.

One last thing to check is that copilot-panel-complete also flushes pending messages before requesting completions.

@timcharper Although I did manage to reproduce the problem initially I am also not seeing it anymore on Emacs 29.2 org mode version 9.6.15.
I do, however, feel like this is a good improvement nonetheless. That being deferring jsonrpc communication with the server to some idle time or until the user requests a completion (as implemented in and shamelessly stolen from eglot). This can still be "turned off" by setting the idle time low enough.
In any event, the PR title and description needs some work. I will update.


docs: update README.md to reflect current projectstate

What this PR does / why we need it:
The README.md says that the project is an alpha version, while since version v0.1.0 it is a beta version.

I signed the CLA

@svenbs Thanks for the PR - could you please sign the CLA?

@jimmidyson : I signed the CLA

/lgtm
/approve


fix: modify result for add-default-resources

Related Issue(s)
https://github.com/kyverno/kyverno/issues/6975

Description
use skip as a result in kyverno-test.yaml as mutation won't occur on nginx-demo2 because it has both memory and cpu fields.

Checklist

[x] I have read the policy contribution guidelines.
[] I have added test manifests and resources covering both positive and negative tests that prove this policy works as intended.
[] I have added the artifacthub-pkg.yml file and have verified it is complete and correct.

I think the test fails because we have a cyclic dependency between this repo and the kyverno repo

Yes, modifications made here require modifications already be made in kyverno/kyverno in main.

May be easier to merge this first, kyverno repo doesn't allow merging PRs if tests fail.

Ok


Undesired scrolling bars when the body uses a flex layout

Hei,
My application uses angular-material, and the HTML body has an horizontal flex layout. When the input is added to the body, it results in a undesired scrollbar.
I can fix the problem by setting top:0;left:0; to the input element.

Could you create a jsfiddle?

Here you go: http://jsfiddle.net/2acn71m3/3/

Fixed in 5.0.3

Thank you.


cannot use react-router Link with ListItem in TypeScript

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

I should be able to somehow use a <ListItem> with a Link in TypeScript.
Current Behavior

I've found a few examples that suggest using:
<ListItem button component={Link} to="/somelink"></ListItem>

But I use TypeScript, and using to attr throws a compilation error since to is not a property of ListItem.
Steps to Reproduce (for bugs)

Use create-react-app my-app --scripts-version=react-scripts-ts to create a simple react app with TS
Add react-router as dep and install it
Use a List in the app template and try to add an item with <ListItem button component={Link} to="/somelink"></ListItem>

Context

I'm trying to setup Material UI with react-router.
Your Environment

Tech
Version

Material-UI
next

React
16.1.0

browser
Chrome

etc

It's something we have already been discussing in https://github.com/callemall/material-ui/issues/8063#issuecomment-342330737.

@oliviertassinari ops, I haven't searched well enough 😄  But just to be clear, I should be using:
<ListItem component={props => <Link {...props} to="/about" />}>
  // ...
</ListItem>

Right? At least that's the only variation that works for me without throwing any TS compilation errors.

@rolandjitsu Yes, I would encourage using this pattern.

@oliviertassinari thanks, I've just started with React and at this point all is a little confusing 😆

I think @rolandjitsu 's solution is the only way it could work becouse the ListItem 's typescript def. is fixed and adding Link can not be dyamnically changed.

@rolandjitsu This soultion no longer work in @types/react 16.0.36 version. :(

@activebiz I'll give that a try tomorrow and see if it still works for me.

It seems when ListItem's innerRef is passed to Link, Link will not work properly. Try this:
<ListItem component={({innerRef,...props}) => <Link {...props} to="/about" />}   // ... </ListItem>

I wrote my own component for that which seams to work fine and is reasonably type safe:
import * as React from 'react'
import { ListItem } from '@material-ui/core';
import { Link } from 'react-router-dom';
import { ListItemProps } from '@material-ui/core/ListItem';
import { LocationDescriptor } from 'history';

interface Props extends ListItemProps {
    // ListItemProps and LinkProps both define an 'innerRef' property
    // which are incompatible. Therefore the props `to` and `replace` are
    // simply duplicated here.
    to: LocationDescriptor
    replace?: boolean
}

function createLink({innerRef, ...props}: Props) {
    // Remove `innerRef` from properties as the interface
    // is incompatible. The property `innerRef` should not be
    // needed as the `ListItem` component already provides that
    // feature with a different interface.
    return <Link {...props}/>
}

export class ListItemLink extends React.PureComponent<Props> {
    render() {
        return <ListItem {...this.props} component={createLink}/>
    }
}

I tried to write it as type safe as possible. That's the reason for a dedicated createLink function, so that the compiler can shout at me if LinkProps and ListItemProps become incompatible in the future.
Usage:
<ListItemLink to="/about">... </ListItemLink>

This solution is more or less identical to the one suggested by @adimitris but also adds some extra type safety (due to createLink) and wraps it all neatly together for a simpler usage.

The ripple effect seems to not be working when using @adimitris solution. Any idea why? I'm trying to figure out.

The ripple effect seems to not be working when using @adimitris solution. Any idea why? I'm trying to figure out.

@Nelrohd You need to create the link component outside of the render method. If you don't, the component reference will change at each render. React will consider it's a new component, unmount and remount it.

Same thing with Tab or any other component that can be a Link.
So far I found this:
<Tab label="Local" {...{component: Link, to: `/local`} as any}/>

Still an issue in 2020


[Joy] Add Badge component

[x] I have followed (at least) the PR section of the contributing guide.

This PR includes:

Remove unnecessary code in Joy Avatar demo
addition of Joy Badge component

Props: color, size, variant, overlap, anchorOrigin, and props of BadgeUnstyled component in @mui/base
Default values:

color: neutral
size: sm
variant: light
overlap: rectangular
anchorOrigin: {vertical: 'top', horizontal: 'right'}

Preview: https://deploy-preview-31401--material-ui.netlify.app/experiments/joy/badge/

Design
Can you add try out some of these designs on the experiment page?

https://dribbble.com/shots/6203221-Rewards-Badges
https://dribbble.com/shots/3904840-Achievements-UI
https://www.pinterest.com/pin/482307441353517063/
https://search.muz.li/ODFhNTgzNTg3
https://www.pinterest.com/pin/529947081151425115/
https://www.pinterest.com/pin/703756180567074/

Accessibility
The badge in the preview seems like it is clickable but the markup is span, I think it is incorrect.
Props

badgeContent
I am not really sure why <Badge> has to wrap the children and use badgeContent prop to show the badge label. There are cases where using a wrapper can cause the layout to look incorrect (if the Badge is inside a flexbox). Isn't it easier to be customized if it is just a plain span that stays inside a relative parent?
<IconButton>
  <Badge>content</Badge>
  <Icon />
</IconButton>

anchorOrigin remains the same

invisible remains the same

max remains the same

overlap remains the same

showZero remains the same

Isn't it easier to be customized if it is just a plain span that stays inside a relative parent? cc @danilo-leal

Seams clearer indeed!

@siriwatknp

overlap prop is added
Added a few more examples to the demo
Changed BadgeBadge component's markup to button. Kept BadgeRoot to span.

This is looking great, Benny! Great work 👍
I guess the only thing I'd point out at this point is about the overlap prop. By playing around with the circular & rectangular values, I'm not sure what it is actually doing (without inspecting) and if the words are the best options we have 🤔

I think by default it should be a span. I don't see that a badge is clickable in Material UI, or do I miss anything?

Oh, I think I misunderstood. On it.

Would love to get @samuelsycamore's input about the overlap prop. Maybe we could find a better term for it?!

What exactly does the overlap prop do? How would we describe it in documentation?

The overlap prop changes positioning CSS properties. It has a rectangular value, that places the badge "outside" of the relying element, and a circular element, that places the badge almost in a "perfect" tangent line. Indeed tricky to describe it, I wonder if you'll be able to imagine that only reading. I don't recall seeing this feature in other badge components out there.
@hbjORbj please correct me if I said any non-sense!

So if overlap is set to rectangular then it's not actually "overlapping" the main element?
Would this be more accurate?
overlap => position
rectangular => outside
circular => inside OR overlap

What if overlap was called location instead (keeping the inside / outside values)? I think it's clear what it means in relation to anchorOrigin and avoids confusion with the concept of CSS positioning.

Sounds good 👍! I will make the change.

@hbjORbj I pushed several updates.

Default props: From various designs, I found that the variant is usually a contained but the color varies between usage (so I set the color to primary instead)
Fix variables: Some variables are not needed, eg. the --Badge-minWidth, and add more meaningful variables (I think the variables should come up by testing with real-world examples).

Add --Badge-ring variable to create overlap spacing
Add --Badge-minHeight variable as a baseline for dot. By default, <Badge>...</Badge> shows the dot.

Simplify the conditions (from 100+ lines to 10 lines)
Add more examples on the experiment page

Note: I did not change any functional implementation

@danilo-leal @samuelsycamore I wonder if we should be more open about the customization. What location is doing limits the customization to 2 options, either inside (offset by -14%) or outside.
There are real-world examples where you have to customize this value because of the type of the element that the badge is wrapping (text, avatar, button).

The location prop does not matter here because 0% or 14% does not work for this case, so you have to do this:
<Badge sx={{ '& .MuiBadge-badge': { top: '2px', right: '-3px' } }}>
  ...
</Badge>

I propose to make the customization more robust by using badgeOffset (or it can be location) prop with the value to target CSS property instead.
<Badge offset={{ top: '2px', right: '-3px', }}>
  ...
</Badge>

// same as location="inside"
<Badge offset="14%">
  ...
</Badge>

@siriwatknp I think that's a great way to make this feature more robust. 👍 And with that kind of functionality I think offset makes sense for a name. In this case, would it make sense for the developer to be able to enter negative numbers? (e.g. badgeOffset="-14%" to send the badge further outside and away from the main component. Or maybe that should be flipped—negative values send it further inside, and positive values move it further outside?)

@siriwatknp I think that's a great way to make this feature more robust. 👍 And with that kind of functionality I think offset makes sense for a name. In this case, would it make sense for the developer to be able to enter negative numbers? (e.g. badgeOffset="-14%" to send the badge further outside and away from the main component. Or maybe that should be flipped—negative values send it further inside, and positive values move it further outside?)

I would follow CSS outlineOffset property. A negative value moves it further inside, and a positive value moves it further outside.

I am very happy with the result! It's definitely a huge improvement from Material UI.

<Badge
  color="success"
  size="sm"
  badgeInset="20%"
  anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}
  sx={{ px: 1 }}
>
  <Avatar size="sm" src="/static/images/avatar/1.jpg" />
</Badge>
<Badge size="sm" badgeInset="2px -3px">
  View 2
</Badge>


Circle CI not triggering builds on some pull requests

:clipboard: Description
This is absolutely doing my head in and we seem to be seeing it more frequently.
I don't know what the problem is but I have spent the time to write up an issue on the Circle CI support forum. Lets see where it goes.. https://discuss.circleci.com/t/circle-ci-builds-failing-to-trigger-on-some-pull-requests/44472

I raised this as a support request. Here's the response I got

Thank you for reaching out to CircleCI Support. From the information you've provided, we've determined that this could be hitting a known issue related to permissions on open projects at this time. This scenario has open work in flight and we've linked your case to this internal tracker for further updates in case this does fit after further investigation.
In the meantime, will you please ask the user to sign in to the CircleCI application and authorize the app so that it appears in the personal account settings in case this helps: https://github.com/settings/applications
Can you let us know if that particular user has this under those settings and if not, did that help?
Another scenario where this could happen is where the user is following the project on the fork and not on the source of the project. Has this user's builds ever run? See https://circleci.com/docs/2.0/oss under "Note" or Why aren't pull requests triggering jobs on my organization?

I can't find the PR but having read this, I seem to remember someone submitting a PR and saying they had to create an account/log in to CircleCI to get the build to start.. does that ring a bell?
@sunny0826 there might be some advice above or in https://support.circleci.com/hc/en-us/articles/360008097173-Why-aren-t-pull-requests-triggering-jobs-on-my-organization- that might be worth a try next time you open a PR (although you're not the only contributor we've seen have this issue).
There is a part of me also wondering if the time has come to migrate everything off CircleCI and on to Github Actions. We're already using GHA for quite a lot of things. It might improve everyone's contributor experience if we moved the CI builds there too.

We'd seen this before with people not being able to view the Circle logs if they didn't have an account, but nothing like what we've seen recently. There was a non-brief period when the jobs weren't triggering against a PR I opened, in this-repo, so at a minimum I think there are (or at least have been) multiple issues at play.

There is a part of me also wondering if the time has come to migrate everything off CircleCI and on to Github Actions. We're already using GHA for quite a lot of things. It might improve everyone's contributor experience if we moved the CI builds there too.

I'm not opposed to this in spirit, and have largely made the same move in other projects. However, GitHub Actions is still quite feature nascent on several fronts, notably including rich test execution and reporting. Don't anticipate that being a monumental effort to overcome, but for certain jobs, e.g. daily tests, it may be a trickier than expected exercise

We'd seen this before with people not being able to view the Circle logs if they didn't have an account

Aah yes - that sounds right. Well remembered

GitHub Actions is still quite feature nascent on several fronts, notably including rich test execution and reporting. Don't anticipate that being a monumental effort to overcome, but for certain jobs, e.g. daily tests, it may be a trickier than expected exercise

This is another good point.  I reckon this might be a good thing to look in to if we want to replicate that: https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
In some ways daily tests is less critical because its only really us that use it - not external contributors working on forks but equally I wouldn't want to be in a situation where the main repo and daily tests use a totally different test environment for any length of time.

@sunny0826 - how did you manage to get this working?
There was a period where every PR you submitted wasn't running the builds, but they have been running on all your recent contributions. Did you change something, or did it just start working one day?

@sunny0826 - how did you manage to get this working?
There was a period where every PR you submitted wasn't running the builds, but they have been running on all your recent contributions. Did you change something, or did it just start working one day?

You may have missed my previous feedback https://github.com/badges/shields/pull/8108#issuecomment-1173236860.  This issue was caused by me not registering for Circle CI, and it went away after I completed the registration and bound GItHub.

Thanks - did you have to grant Circle write access to private repos to do that?

yep. The permissions granted were actually full control! which I hadn't even noticed before.

OK thanks for confirming.
Its kind of good that we know how to "fix" this. I'm still not 100% sure if this is required or if there is something else less invasive that users could do in order to submit PRs where the builds run.
Obviously us as maintainers have to give Circle CI a certain amount of access/trust, but if we also have to say to some subset of users: "step 1 of contributing to this open source project is give this app you may or may not trust write access to your private repos", that's not a position I'm really comfortable having to adopt and the complaint in https://github.com/badges/shields/pull/8275#issuecomment-1207848845 is justified IMO.
Given that, I think we should probably plan to start gradually migrating stuff from Circle to GHA (although I probably don't have time to start this until ~next week). It doesn't have to be a 'big bang'. I think we can take each of the builds (main, frontend, package, integration, services, etc) one-by-one in its own PR and do it gradually. I'm sure each will throw up its own challenges :smile: I am quite keen to have an experiment with https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/ For the services, there is a WIP at https://github.com/badges/shields/pull/5129 already, although we can probably reign the old scope in on that on a bit.

I have made a start on this.
You're right that there is going to be a bit of work to generate decent outputs to allow people to see what failed and why, but certainly not impossible.
One thing that I have realised since starting on it is that there are a number of things we kind of hacked one way or another with Circle to reduce the number of concurrent builds we are running (e.g: not having separate builds for tests and linters, running the package builds one-by-one using NVM), but migrating to GHA should allow us to just run as many as we want.

Obviously us as maintainers have to give Circle CI a certain amount of access/trust, but if we also have to say to some subset of users: "step 1 of contributing to this open source project is give this app you may or may not trust write access to your private repos", that's not a position I'm really comfortable having to adopt and the complaint in https://github.com/badges/shields/pull/8275#issuecomment-1207848845 is justified IMO.

Completely agree with this :+1:

The core of this is done.
:heavy_check_mark: Last build migrated from Circle to GHA.
:heavy_check_mark: Branch protection rules updated
:heavy_check_mark: Circle CI disabled
:heavy_check_mark: Env vars deleted from Circle
There's a few bits of follow up needed which I have noted in

https://github.com/badges/shields/issues/8819 (danger)
https://github.com/badges/shields/issues/8820 (services)
https://github.com/badges/shields/issues/8821 (daily tests)

If there is any more mop-up I have failed to capture, shout.


Type mismatch in array keys (string  vs number) in "for( a in b)" with advanced compilation

/**
* @param {Array.<*>} l
*/
function f(l){
  for(var i in l ) {
    console.info( l[i] )
  }
}

Produce :

JSC_TYPE_MISMATCH: restricted index type
found   : string
required: number at line 8 character 20
console.info( l[i] )

Example :
https://closure-compiler.appspot.com/home#code%3D%252F%252F%2520%253D%253DClosureCompiler%253D%253D%250A%252F%252F%2520%2540compilation_level%2520ADVANCED_OPTIMIZATIONS%250A%252F%252F%2520%2540output_file_name%2520default.js%250A%252F%252F%2520%253D%253D%252FClosureCompiler%253D%253D%250A%250A%252F%252F%2520ADD%2520YOUR%2520CODE%2520HERE%250A%250A%252F**%250A*%2520%2540param%2520%257BArray.%253C*%253E%257D%2520l%250A*%252F%250Afunction%2520f(l)%257B%250A%2520%2520for(var%2520i%2520in%2520l%2520)%2520%257B%250A%2520%2520%2520%2520console.info(%2520l%255Bi%255D%2520)%250A%2520%2520%257D%250A%257D%250Afunction%2520hello(name)%2520%257B%250A%2520%2520f(%255B1%252C%2520%2522test%2522%252C%2520%257B%257D%255D)%253B%250A%2520%2520alert('Hello%252C%2520'%2520%252B%2520name)%253B%250A%257D%250Ahello('New%2520user')%253B%250A%250A

This is working as intended, also:
http://stackoverflow.com/questions/500504/why-is-using-for-in-with-array-iteration-such-a-bad-idea


SolidJS web components cannot be nested with each other

Describe the bug
I first copied a simple example from the README.md file: my-counter Web Components:
import { createSignal } from "solid-js";
import { customElement } from "solid-element";

import style from "./My.css?inline";

customElement("my-counter", () => {
  const [count, setCount] = createSignal(0);
  return (

      <button onClick={() => setCount(count() - 1)}>-</button>
      {count()}
      <button onClick={() => setCount(count() + 1)}>+</button>

  );
});

Then I wrote a simple component that uses 'my-counter':
// .......

customElement("my-header", () => {
  return (

      I AM HEADER
      <my-counter></my-counter>

  );
});

in html:

  <my-header></my-header>

then, boom, I get two error:

Your Example Website or App
No
Steps to Reproduce the Bug or Issue
N/A
Expected behavior
N/A
Screenshots or Videos
No response
Platform

OS: macOS
Browser: Chrome113
Version: 1.7.6

Additional context
No response

i cannot reproduce this https://playground.solidjs.com/anonymous/3f018fdf-84cd-43e4-a29a-6045e6a26478 you could make a repro

i cannot reproduce this https://playground.solidjs.com/anonymous/3f018fdf-84cd-43e4-a29a-6045e6a26478 you could make a repro. also worth checking solid js version.

Note that Typescript will be upset unless you update the type definitions (though it will still work at run-time).
https://stackoverflow.com/questions/72238932/how-to-use-a-web-component-in-a-solid-js-project

As a general rule, Solid should be reading from the HTMLElementTagNameMap interface in TypeScript any way so that any side-effectful registrations of components in a project will be properly annotated and added to the language server if it is present. While @AlexErrant's link is a workaround, the entirety of the tag name map should be added to the IntrinsicElements interface by default.

@skychx here is your example and it works fine:
https://playground.solidjs.com/anonymous/ff22c8b8-0385-415d-ae79-21e269dcb5a6
Perhaps you have another issue in your app that we can't see.
Also here's the same example that provides type definitions for you elements (there is no other way to do it in TypeScript unfortunately):
https://playground.solidjs.com/anonymous/4fa39c98-f5be-49c5-995f-de710c4c8b38
No more type error!


Add update settings allowlist for searchable snapshot

Signed-off-by: Rabi Panda<EMAIL_ADDRESS>
Description
Allow search related settings to be updated for searchable snapshots.
Issues Resolved
Resolves #4966
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #5907 (bd480d1) into main (44aabe9) will increase coverage by 0.06%.
The diff coverage is 43.75%.

:exclamation: Current head bd480d1 differs from pull request most recent head 952077f. Consider uploading reports for the commit 952077f to get more accurate results

@@             Coverage Diff              @@
##               main    #5907      +/-   ##
============================================
+ Coverage     70.80%   70.87%   +0.06%
- Complexity    58727    58787      +60
============================================
  Files          4769     4770       +1
  Lines        280708   280738      +30
  Branches      40535    40546      +11
============================================
+ Hits         198761   198976     +215
+ Misses        65644    65475     -169
+ Partials      16303    16287      -16

Impacted Files
Coverage Δ

...ting/PreferenceBasedSearchNotAllowedException.java
0.00% <0.00%> (ø)

...rg/opensearch/common/settings/ClusterSettings.java
91.89% <ø> (ø)

...g/opensearch/cluster/routing/OperationRouting.java
83.44% <42.85%> (-2.06%)
:arrow_down:

...es/settings/put/TransportUpdateSettingsAction.java
67.39% <52.63%> (-11.92%)
:arrow_down:

.../main/java/org/opensearch/OpenSearchException.java
93.63% <100.00%> (+0.01%)
:arrow_up:

...index/translog/transfer/FileTransferException.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...cluster/coordination/PendingClusterStateStats.java
20.00% <0.00%> (-48.00%)
:arrow_down:

...ensearch/client/indices/DetailAnalyzeResponse.java
20.54% <0.00%> (-34.25%)
:arrow_down:

...min/cluster/snapshots/get/GetSnapshotsRequest.java
52.63% <0.00%> (-31.58%)
:arrow_down:

...opensearch/snapshots/SnapshotMissingException.java
28.57% <0.00%> (-28.58%)
:arrow_down:

... and 456 more

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

New issues for the flaky tests:
#5957
#5956


Automatically split lecture into lecture units

Is your feature request related to a problem?
The competency and lecture unit features are apparently used rather scarcely. Since their introduction, less than 50 learning goals (now competencies) have ever been created on TUM's Artemis instance.
We suspect the low usability of these functionalities as one possible explanation.
Describe the solution you'd like
While our proposed system makes it easier for users to link lecture units to competencies, splitting up a lecture into segments and manually creating individual units takes an instructor several minutes.
Artemis could accelerate this process and improve the user experience by automating repetitive tasks.
As an example, the system could accept a PowerPoint or Keynote presentation via file upload and then process it as follows:
Export the presentation as a PDF document, compress the resulting file, split it into individual segments based on the table of contents and create a lecture unit for each of those.
Running these steps automatically would reduce the duration needed for this task by minutes, thus saving an instructor time and frustration.
Describe alternatives you've considered
No response
Additional context
No response

Related to #6081


Allow setting credentials as lambda

We had a problem with multiple Puma workers and preload, because Temporal initializer which configures connection credentials ran before fork. Therefore after fork it we got an error:
grpc cannot be used before and after forking

Reconfiguring credentials after forking does not work because of the guard in grpc gem:
https://github.com/grpc/grpc/blob/e20e7a1198b2ff276a2f4f8514201b8ac1456830/src/ruby/ext/grpc/rb_grpc.c#L264
There is an old issue about it: https://github.com/grpc/grpc/issues/8798
Therefore the most elegant solution was to configure credentials on demand, when connection is being built (after fork).
I have added a lambda support to solve this issue. It works for us.
@egletam

@laurynas @egletam any updates on when this will be merged?

@lorines I don't know, it is up to the library maintainers.
cc @jeffschoner

Hey @antstorm  anyone willing to take a look at this?


Sdk delivery refactor

this refactor purpose is that the SDK could work also with delivery3.0.

changed ekoPlayer constructor - construct this.ekoEmbed with ekoEmbed factory ,to expose different behaviour.

ekoEmbed/v1 - old version api (baloo)

ekoEmbed/v2 - new version api (delivery)

refactor cover with cover factory

iframeCreator.js control the iframe instanceCount

update tests -  integration tests use puppeteer for testing ekoPlayer api

*** i still need to change package.json version***

Looks really good! Agree with Tomer that it would be good to have some tests around args being passed correctly, but other than that it looks good to me.


[Refactor] Rename StarOSTablet to LakeTablet

What type of PR is this：

[ ] bug
[ ] feature
[ ] enhancement
[x] refactor
[ ] others

Problem Summary(Required) ：

We will introduce StarRocks LakeTable, so rename StarOSTablet to LakeTablet.

run starrocks_fe_unittest

[FE PR Coverage check]
:heart_eyes: pass : 16 / 20 (80.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/planner/OlapScanNode.java
0
1
00.00%

:large_blue_circle:
com/starrocks/planner/MetaScanNode.java
0
1
00.00%

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
0
1
00.00%

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
2
3
66.67%

:large_blue_circle:
com/starrocks/catalog/lake/LakeTablet.java
1
1
100.00%

:large_blue_circle:
com/starrocks/catalog/TabletStatMgr.java
4
4
100.00%

:large_blue_circle:
com/starrocks/catalog/MaterializedIndex.java
1
1
100.00%

:large_blue_circle:
com/starrocks/planner/OlapTableSink.java
1
1
100.00%

:large_blue_circle:
com/starrocks/persist/gson/GsonUtils.java
1
1
100.00%

:large_blue_circle:
com/starrocks/common/proc/TabletsProcDir.java
6
6
100.00%


CARP with IPv6

Hi
I'm trying to setup native IPv6 with CARP. The setup is as follow:
Our Net: 2a02:aa08:xy:900::/56
Provider Router is 2a02:aa08:xy:900::1
WAN Net: 2a02:aa08:xy:900::/64
LAN Net: 2a02:aa08:xy:902::/64
OPNsense1 WAN IPv6: 2a02:aa08:xy:900::14/64
OPNsense2 WAN IPv6: 2a02:aa08:xy:900::13/64
OPNsense WAN CARP vIP: 2a02:aa08:xy:900::2/64
According to our provider he routes the 2a02:aa08:xy:902::/64 LAN net to IP 2a02:aa08:xy:900:2 (WAN CARP vIP)
What I see now: If I try to ping the CARP vIP (2a02:aa08:xy:900::2) it doesn't respond. If I change something on the vIP  Page in the GUI and click "Apply" the vIP responds for about 10s and afterwards stops to respond.
Did I miss anything in my setup?
ICMPv6 Rule is allowed on WAN from any to any, in Advanced setup IPv6 is enabled

timeout

More Investigations done and found a workaround.
Comment from our provider:

Unser ipv6 neighbor table zeigt den Eintrag erst wenn wir die Addresse  2A02:AA08:xy:900::2 pingen, kurz danach lauft der Eintrag ab.
ch-mceBUB010#sh ipv6  nei vrf INTERNET1
Load for five secs: 1%/0%; one minute: 1%; five minutes: 1% Time source is NTP, 12:42:02.924 CEST Fri May 10 2019
IPv6 Address                              Age Link-layer Addr State Interface
2A02:AA08:xy:900::6                       0 000d.b94f.619a  REACH Gi9
2A02:AA08:xy:900::13                      0 0cc4.7a97.e943  REACH Gi9
2A02:AA08:xy:900::14                      0 0cc4.7a97.e5e3  REACH Gi9
2A02:AA08:F000:5::1                         0 70e4.2268.1074  REACH Gi8.1188
FE80::72E4:22FF:FE68:1074                   0 70e4.2268.1074  REACH Gi8.1188
Wir stellen fest dass kurz nach einem Ping aus dem connected Interface , die CARP ( 2A02:AA08:xy:900::2 ) gibt Antwort zu unserem NS mit eineme NA und ARP Addresse.
May 10 12:38:30.791 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) DELETE -> INCMP
May 10 12:38:30.791 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Sending NS               ---------------------------> neighbor Sollicitation
May 10 12:38:30.791 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Queued data for resolution
May 10 12:38:30.795 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Received NA from 2A02:AA08:xy:900::14        -------------> neighbor Advertissement
May 10 12:38:30.795 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) LLA 0000.5e00.0114 May 10 12:38:30.795 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) INCMP -> REACH
aus einem anderen Interface , gibt die CARP ( 2A02:AA08:xy:900::2 ) kein antwort zu unserem NS und deswegen kennt unser Router die entsprechende ARP nicht.
May 10 12:31:44.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Resolution request
May 10 12:31:44.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) DELETE -> INCMP
May 10 12:31:44.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Sending NS
May 10 12:31:44.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Queued data for resolution
May 10 12:31:45.880 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Sending NS
May 10 12:31:46.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Replaced data for resolution
May 10 12:31:46.904 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Sending NS
May 10 12:31:47.928 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) INCMP -> DELETE
May 10 12:31:48.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Resolution request
May 10 12:31:48.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) DELETE -> INCMP
May 10 12:31:48.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Sending NS
May 10 12:31:48.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Queued data for resolution
May 10 12:31:49.944 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Sending NS
May 10 12:31:50.852 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Replaced data for resolution
May 10 12:31:51.032 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) Sending NS
May 10 12:31:52.112 CEST: ICMPv6-ND: (GigabitEthernet9,2A02:AA08:xy:900::2) INCMP -> DELETE

Workaround:

statische Binding Lösung:
ch-mceBUB010(config)#ipv6 neighbor 2A02:AA08:xy:900::2 gigabitEthernet 9 0000.5e00.0114

But I guess there should be a smarter & nicer solution...


Add Laravel 5 support

This fixes/should close #20
I've seen this method used in a couple packages, and since it retains backwards compatibility from Laravel 4 it can be more widely used as there's no Laravel specific code in this package.

This could use comments on the configuration, but I'm still very new to StatsD, so maybe someone else should do this... Specifically the namespace.


[HOLD for payment 2024-09-11] [$250] Opening a report from Search panel is not smooth

Problem
Transition between Search panel and a Report screen is not smooth. After user selects a report, it causes:

[iOS] Long rendering process (~270ms)
[Web] Noticeable jittering of animation

We would like to have app as responsive to user input as possible, while currently it creates a noticeable delay or jittering.
Testing setup:

Base commit: https://github.com/Expensify/App/commit/cf897a002e8949eb429026a020f23f92c2de6bee

Reproduction steps:

Open Search panel (aka ChatFinder)
Search for empty report
Wait until network request finishes (spinner is gone)
Open empty report

Solution
Initial investigations show that the potential villain is a piece of selectReport callback in ChatFinderPage component:
updateSearchValue('');
Navigation.dismissModal(option.reportID);

The dismissModal helper calls originalDismissModalWithReport, which in turn calls getStateFromPath.
On a regular HT account, single call to getStateFromPath takes about 20ms to complete on the web and about 40ms to complete on iOS.
The getStateFromPath internally calls original getStateFromPath implementation from React Navigation, which is quite complex. It may lead to extensive computation resulting in low performance.
The Navigation.dimissModal is called many time across the codebase (75 usages in 52 files).
The implementation of this proposal would aim to improve dimissModal performance (also targeting additional improvements like reduction of unnecessary re-renders).
Potential gains (defining an upper-bound)
In order to prove it is indeed responsible for low-quality performance during transition, dimissModal was replaced with regular call to navigate method and unnecessary updateSearchValue call was removed entirely:
Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(option.reportID));

Keep in mind, this change is not a ready solution (it changes how navigation works) and is here to define how much we could gain after implementing actual solution.
The results of proposed change are as follows:

[iOS] Rendering time reduced by ~15%
[Web] No jittery animation

Profiling web application shows promising results:

~1050ms time of scripting reduced to ~400ms (~60% reduction)
big chunk of RAM was released (possibly GC - further measurements are needed to prove)

[Web] Before
[Web] After

)

PR with changes: https://github.com/Expensify/App/pull/47726
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021833637723306135397
Upwork Job ID:<PHONE_NUMBER>306135397
Last Price Increase: 2024-09-10
Automatic offers:

DylanDylann | Contributor | 103906105

Issue OwnerCurrent Issue Owner: @anmurali

@mountiny Could you please process the payment for this issue?

@anmurali can you please pay $250 to @DylanDylann for their help with this PR? Thanks!

@anmurali Please help process payment for me


Add time to GiggleMe webpage listing scheduled posts.

Add time readout on the page to make it easy to determine how long until the announcement will post. Alternative option is to add a new column showing "Time Until Announcement" countdown.

Nice :)


adoptopenjdk-bin: add OpenJDK 13

Motivation for this change
Adds AdoptOpenJDK builds of OpenJDK 13, as well as updating some of the other builds. AdoptOpenJDK provides 32-bit ARM builds of OpenJDK 8 now, so the update script added them as well. I tested that JDK 13 build was able to start JMeter on x86_64-linux, and that the armv7l-linux JDK 8 package builds, but did not do any runtime testing on that platform.
I do not think the 32-bit ARM JDK 8 build will be able to bootstrap our openjdk8 package (but I haven't tried), because I believe OpenJDK 8 requires some patches to build on ARM.
The JDK 13 builds should be able to bootstrap our source build of OpenJDK 13 in #70983.
Things done

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

[x] NixOS
[ ] macOS
[x] other Linux distributions

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

Notify maintainers
cc @jerith666
cc @taku0

LGTM again. It works on nixOS and macOS Catalina (10.15). Not tested on ARM processors.

Included in #70983


Color Palette Set Up

Added two new color palette related functions:

TADA_ColorPalette - creates colorblind accessible palette for use in TADA visualizations
TADA_ViewColorPalette - view palette color swatches with labels identifying their position in palette and hex code for easier future development (or if users want to design additional figures with a similar look)

Applied the new palette to the following functions:

TADA_Boxplot
TADA_Histogram
TADA_OverviewMap
TADA_FieldValuesPieChart
TADA_Scatterplot
TADA_TwoCharacteristicScatterplot

We may want to discuss some additional options for TADA_FieldValuesPieChart as the number of colors required can exceed the number in the palette (n = 9). Right now I am using color ramp to generate additional colors, but it doesn't always look great. Might be worth adding some additional colors to the palette in TADA_ColorPalette? And then only using color ramp if a really large number of colors is needed?

Merged depth profile functions with color palette setup. Depth profile functions include: TADA_IDDepthProfile, TADA_DepthProfilePlot, TADA_DepthCategory.Flag

@cristinamullin - this is ready for your review

@cristinamullin - thanks for catching that. I like your proposed solution and will make those updates.

@hillarymarler I noticed that the new columns generated by some of the depth functions are appended to the end of the dataframe (TADA.ConsolidatedDpeth.Bottom, TADA.DepthCategory.Flag, TADA.DepthProfileAggregation.Flag & there may be more). Can you add any new columns that are created to the require.cols list at the top of RequiredCols.R. It looks like a few are there already under the ActivityDepth or ResultDepth sections but not all.

@hillarymarler I like your idea for addressing the pie chart colors: "adding some additional colors to the palette in TADA_ColorPalette and then only using color ramp if a really large number of colors is needed". Do you want to create a separate issue for that or include in this PR?

Recommendations for figure/map colors:

The orange outline for sites in the TADA_OverviewMap is a bit faint/hard to see. Should we use the same dark blue outline for the sites that is used for TADA_Scatterplot point outlines (is that #6 in the TADA palette)?

In TADA_TwoCharacteristicScatterplot the second char points are orange with a blue outline. Could these have a darker orange outline instead? So the inside would be #2 in the TADA palette and outline would be #7?

TADA_FieldValuesPie. For figures like this that use a lot of colors, I am wondering if the TADA_ColorPalette could specify by default which colors to use first and in which order? For example, if we always want to use #3 blue first followed by #2 orange) can that specification be included in TADA_ColorPalette?

My thoughts so far:

...new columns generated by some of the depth functions are appended to the end of the dataframe (TADA.ConsolidatedDpeth.Bottom, TADA.DepthCategory.Flag, TADA.DepthProfileAggregation.Flag & there may be more). Can you add any new columns that are created to the require.cols list at the top of RequiredCols.R.

Yes I will add those to require.cols in RequiredCols.R

"adding some additional colors to the palette in TADA_ColorPalette and then only using color ramp if a really large number of colors is needed". Do you want to create a separate issue for that or include in this PR?

This is not difficult technically, but I will do that separately as I will need seem time to figure out which colors to add so that the palette remains colorblind accessible

The orange outline for sites in the TADA_OverviewMap is a bit faint/hard to see. Should we use the same dark blue outline for the sites that is used for TADA_Scatterplot point outlines

Yes, I'll change this

In TADA_TwoCharacteristicScatterplot the second char points are orange with a blue outline. Could these have a darker orange outline instead? So the inside would be Created TADA_AutoClean.R #2 in the TADA palette and outline would be [7]

Yes, I'll change this

TADA_FieldValuesPie. For figures like this that use a lot of colors, I am wondering if the TADA_ColorPalette could specify by default which colors to use first and in which order? For example, if we always want to use blue first followed by orange) can that specification be included in TADA_ColorPalette?

I have noticed that the order of the colors in the palette does not seem to determine which colors are selected first in TAD_FieldValuesPie. I think we should specify the order we want the colors used in, but it may need to happen within the plotly functions used to create the figure. I think there is a way to tell it to use the colors in order from the palette or specify the order within the function. I'll take a look at this and figure out the best place to do it.

@hillarymarler I tried running TADA_DepthProfilePlot with the surfacevalue and bottomvalue null which currently produces as error message. Recommendation: update this so that when these inputs are null, the function returns the figure without the black horizontal lines and text on the figure marking surface, middle, and bottom.
> TADA_DepthProfilePlot(Data_6Tribes_5y_Harmonized,
+                       groups = c("TEMPERATURE_NA_NA_DEG C", "PH_NA_NA_NA", "DEPTH, SECCHI DISK DEPTH_NA_NA_M"),
+                       location = "REDLAKE_WQX-ANKE",
+                       activity_date = "2018-10-04",
+                       surfacevalue = NULL,
+                       bottomvalue = NULL)
[1] "TADA_DepthProfilePlot: Running TADA_DepthCategoryFlag function to add required columns to data frame"
[1] "TADA_DepthCategory.Flag: checking data set for depth values. 69516 results have depth values available."
[1] "TADA_DepthCategory.Flag: assigning depth categories."
[1] "TADA_DepthCategory.Flag: Grouping results by MonitoringLocationIdentifier, OrganizationIdentifier, CharacteristicName, and ActivityStartDate for aggregation for entire water column."
[1] "TADA_DepthCategory.Flag: No aggregation performed."
[1] "TADA_DepthProfilePlot: Depth unit in data set matches depth unit specified by user for plot. No conversion necessary."
[1] "TADA_DepthProfilePlot: Identifying available depth profile data."
[1] "TADA_DepthProfilePlot: Any results for DEPTH, SECCHI DISK DEPTH, DEPTH, SECCHI DISK DEPTH (CHOICE LIST), DEPTH, SECCHI DISK DEPTH REAPPEARS, DEPTH, DATA-LOGGER (NON-PORTED), DEPTH, DATA-LOGGER (PORTED), RBP STREAM DEPTH - RIFFLE, RBP STREAM DEPTH - RUN, THALWEG DEPTH match the depth unit selected for the figure."

Error: Must supply `x` and `y` attributes

@cristinamullin should "null" be the default for surfacevalue and bottomvalue in this function?

I like what you have now (consistent with the default used to the categories) but null would work too.
From: hillarymarler @.>
Sent: Thursday, May 23, 2024 3:23 PM
To: USEPA/TADA @.>
Cc: Mullin, Cristina (she/her/hers) @.>; Mention @.>
Subject: Re: [USEPA/TADA] Color Palette Set Up (PR #462)
Caution: This email originated from outside EPA, please exercise additional caution when deciding whether to open attachments or click on provided links.
@hillarymarlerhttps://github.com/hillarymarler I tried running TADA_DepthProfilePlot with the surfacevalue and bottomvalue null which currently produces as error message. Recommendation: update this so that when these inputs are null, the function returns the figure without the black horizontal lines and text on the figure marking surface, middle, and bottom.

TADA_DepthProfilePlot(Data_6Tribes_5y_Harmonized,

                  groups = c("TEMPERATURE_NA_NA_DEG C", "PH_NA_NA_NA", "DEPTH, SECCHI DISK DEPTH_NA_NA_M"),

                  location = "REDLAKE_WQX-ANKE",

                  activity_date = "2018-10-04",

                  surfacevalue = NULL,

                  bottomvalue = NULL)

[1] "TADA_DepthProfilePlot: Running TADA_DepthCategoryFlag function to add required columns to data frame"
[1] "TADA_DepthCategory.Flag: checking data set for depth values. 69516 results have depth values available."
[1] "TADA_DepthCategory.Flag: assigning depth categories."
[1] "TADA_DepthCategory.Flag: Grouping results by MonitoringLocationIdentifier, OrganizationIdentifier, CharacteristicName, and ActivityStartDate for aggregation for entire water column."
[1] "TADA_DepthCategory.Flag: No aggregation performed."
[1] "TADA_DepthProfilePlot: Depth unit in data set matches depth unit specified by user for plot. No conversion necessary."
[1] "TADA_DepthProfilePlot: Identifying available depth profile data."
[1] "TADA_DepthProfilePlot: Any results for DEPTH, SECCHI DISK DEPTH, DEPTH, SECCHI DISK DEPTH (CHOICE LIST), DEPTH, SECCHI DISK DEPTH REAPPEARS, DEPTH, DATA-LOGGER (NON-PORTED), DEPTH, DATA-LOGGER (PORTED), RBP STREAM DEPTH - RIFFLE, RBP STREAM DEPTH - RUN, THALWEG DEPTH match the depth unit selected for the figure."

Error: Must supply x and y attributes
@cristinamullinhttps://github.com/cristinamullin should "null" be the default for surfacevalue and bottomvalue in this function?

Reply to this email directly, view it on GitHubhttps://github.com/USEPA/TADA/pull/462#issuecomment-2127871948, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALGLGYCRFU3QVLH6AI6F7U3ZDY62VAVCNFSM6AAAAABH4TNKAOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRXHA3TCOJUHA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


Revert "rag evaluation using ragas"

Reverts aws-samples/amazon-bedrock-samples#60

Not required anymore.


[backport/1.21] deps: Bump kafka_source -> 3.3.1

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

This looks reasonable, but the deps check is failing. Is that problematic?

not sure - its for api deps which this doesnt touch so seems like a flake - i just kicked it

/lgtm deps

LGTM from Kafka side but there's something weird coming from precheck dependencies build ... and I can't even tell what it wants?
2022-11-08T17:02:20.6225561Z An error occurred while processing ./api/bazel/repository_locations.bzl, please verify the correctness of the metadata: Mismatch with metadata release date of 2020-07-21
2022-11-08T17:02:20.7425827Z ##[error]Bash exited with code '1'.

Looks like we need to backport everything that happened in the meantime:
#19967 , #20006 , #21411 , #21414 , #23311 , #23354
found by comparing git log envoy/main  --oneline | grep kafka vs git log v1.21.0 --oneline | grep kafka

brilliant! that worked - thanks for your help @adamkotwasinski - really appreciated


Contains subsequence assertion on list of strings fails on valid subsequence

Summary
When a valid sub-sequence in a list of strings is asserted then the assertion will fail even though the sequence is present.
Example
This is a slightly reworked example from assertj-core-examples repo:
    @Test
    public void longerString() {
        final List<String> list = Arrays.asList("Batman is weaker", "than Superman", "but he is", "less", "annoying");
        assertThat(list).containsSubsequence("Batman is"); // Fails
    }

The described behavior is actually correct, in your example containsSubsequence is a collection assertion that will look at elements (sub)sequence but "Batman is" is not an element of list thus the failure.
I guess you were thinking of the String containsSequence assertion, which you could achieve by concatenating all the String from your list into a single one.
I'm closing this issue as work as expected but feel free to continue discussing it if you want to.


Update Snapshots for bwc test

Description

Update Snapshots

Issues Resolved

https://github.com/opensearch-project/reporting/pull/684#issuecomment-1512267740

Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Is there a way to auto fetch these details.

Yes I think sql has auto fetch. I'll raise follow up PR for that.


strange output

I have latest neovim. I am receiving strange output.
||                                                                                Run options: include {:focus=>true, :locations=>{"./spec/use_cases/flipping_coaches/flipping_coaches_spec.rb"=>[105]}}
||
||
|| Randomized with seed 52097
||
||
||
||  0/1 |>                                                        |  ETA: ??:??:??
||
||
||
||
||
|| Failed examples:
||
|| rspec ./spec/use_cases/flipping_coaches/flipping_coaches_spec.rb:105 # Flipping coaches Bookmarking Flip back return to the next page         Then { expect(current_page).to eq('3') }
||
||
|| Randomized with seed 52097
||
||

Those are control characters. I had a look at the tmux adapter and it strips them out, so I'm gonna have to reimplement that.
Meanwhile, if you disable colors in the test output, it should work.


18 form validation

Naming Rules
Missing Register form validation
Description
Write a summary of your change. Explain why you have made it.
Related to
Make sure you include the issue number with a hash sign # so Github can link this PR to the right issue, like this:
Fixes #1
Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have carefully reviewed my own code
[ ] I have commented my code
[ ] I have updated any documentation

Great to have it!


Build OTBR agent for Thread 1.2

I was so far working with a RCP using Thread 1.1.1 and I was building the OTBR agent with:
INFRA_IF_NAME=wlan0 BACKBONE_ROUTER=0 BORDER_ROUTING=1 OTBR_OPTIONS="-DOT_THREAD_VERSION=1.1" ./script/setup
I'm now moving to a RCP using Thread 1.2. I'm wondering if I should simply use :
INFRA_IF_NAME=wlan0 ./script/setup
or if I still need the other parameters (BACKBONE_ROUTER=0 BORDER_ROUTING=1 OTBR_OPTIONS="-DOT_THREAD_VERSION=1.2").
Can you please tell me?
Thank you

It depends what git commit you are using.
The latest OpenThread main branch default for OT_THREAD_VERSION is 1.3 - see https://github.com/openthread/openthread/blob/dd631b2a1914b60223d527aafbca50b964cd9b7d/CMakeLists.txt#L105

I'm using the latest version of openthread/ot-br-posix's main branch. So if I understand correctly, I should add OTBR_OPTIONS="-DOT_THREAD_VERSION=1.2" to force the usage of 1.2.
Do I still need BACKBONE_ROUTER=0 BORDER_ROUTING=1  or was it specific to 1.1?
Thanks

Ok thanks.
I have looked at examples/platforms/raspbian/default and I can see that BORDER_ROUTING and BACKBONE_ROUTER are enabled so I will build with :
INFRA_IF_NAME=wlan0 ./script/setup

Yes, Thread 1.2 includes low-power enhancements that require an update to the RCP. I suggest updating your RCP to match the latest main branch as well.

Ok, thank you Jonathan.

@jwhui
Hi Jonathan,
Our RCP is not yet ready to include the low-power enhancements so I will have to build it with the flags to force the version 1.1 (this is what I was using so far).
A quick question about SRP: Will it work if my OTBR is configured for Thread 1.1?
Thank you


npm install --no-bin-links fsevents fails

It can not find node-pre-gyp executable here https://github.com/strongloop/fsevents/blob/master/install.js#L5
Error: spawn node-pre-gyp ENOENT
    at exports._errnoException (util.js:1014:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:189:19)
    at onErrorNT (internal/child_process.js:366:16)
    at _combinedTickCallback (internal/process/next_tick.js:102:11)
    at process._tickCallback (internal/process/next_tick.js:161:9)
    at Function.Module.runMain (module.js:607:11)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:575:3

Are you using npm@5 and if so, does it work with npm@4?  I ran into the same issue, see https://github.com/strongloop/fsevents/pull/174.

@bnoordhuis I'm using npm 3.10.10 installed with node 6.11.0. But issue still persists when updating npm to npm@4 and to npm@5.

@bnoordhuis fsevents installation succeeds without --no-bin-links option.
More details about my situation:
I build my project in macOS environment and in docker container. Docker for Mac had some issues with symbolic links. So I created .npmrc file with bin-links = false (which is the same as specifying --no-bin-links option) that's shared between docker container and macOS. When I run npm install on macOS I get the above error.
This issue is not a showstopper for me because Docker for Mac symlink issue seems to be already fixed.


[1444] Rescue from 500s by showing the generic 500 page

Context
Currently, the users get a blank page. This is an improvement.
Guidance to review
The test I wrote resides in pages_controller_spec which is probably not the best place?

 Rescue from generic 500s with the existing 500 page

Is there enough logging to denote where the user came from and where they going, are they logged in etc.

This should be done with request logging. Would be nice if AI could work.

The test I wrote resides in pages_controller_spec which is probably not the best place?

spec/features/view_pages_spec.rb where it is now seems reasonable enough.

@defong this doesn't seek to improve the existing logging, just make sure that users see an appropriate error message while maintaining the same level of logging we do currently have. :)


shahak/client refactor/move reader client to reader mod

refactor(starknet_client)!: Move FGW code to reader module
refactor(starknet_client)!: Fix imports and rename client structs
refactor(starknet_client)!: Rename starknet_reader_client to starknet_client
refactor(starknet_client)!: Fix references to starknet_client in other crates

This change is

crates/starknet_reader_client/src/reader/starknet_feeder_gateway_client_test.rs line 22 at r7 (raw file):

use starknet_api::{patricia_key, stark_felt};

use crate::reader::objects::state::StateUpdate;

Why not super?
Code quote:
crate::reader

crates/starknet_client/src/lib.rs line 1 at r9 (raw file):

//! Client implementation for the [`Starknet`] feeder gateway.

Please fix the documentation (generalize here and move this to the feeder client).
Can be in the next PR
Code quote:
Client implementation for the [`Starknet`] feeder gateway.

crates/starknet_client/Cargo.toml line 10 at r9 (raw file):

[features]
testing = [
    "mockall",

In the PR for fixing documentation - please add description here as well