Added Job submission support to the API server

Why are these changes needed?
API server already provides support for Ray Job, but its usage is not very convenient for Python developer.  Its not easy to get execution log, stop running job, etc. This functionality is provided by Ray job submission API, but requires knowledge about endpoint and corresponding security when used outside the cluster. This implementation provides all the functionality through the API server (with the well known URL) and corresponding Python client
Related issue number

Checks

[x ] I've made sure the tests are passing.
Testing Strategy

[x ] Unit tests
[x] Manual tests
[ ] This PR is not tested :(

Thank you @tedhtchang. Can you, please, approve it

@kevin85421, I think its ready for commit

@architkulkarni can review this PR. I will review it next week due to being overloaded this week.

@kevin85421, @architkulkarni  addressed your comments

e2e / ray-operator fails. @blublinsky could you take a look?

@kevin85421, can we merge, please

@architkulkarni would you mind answering https://github.com/ray-project/kuberay/pull/1639#pullrequestreview-1740469017 before we merge the PR? Thanks!

I have double checked them and indicated the necessary changes in the below comments.
(2) This was fixed in 4c12da6 and then un-fixed in 5bb51cc, it's not clear why. @blublinsky can you check this? I verified that a millisecond unix timestamp cannot overflow int64, but we might as well be consistent and use uint64

These fields were already defined as int64. I did not introduce them. We can change them, but it creates more changes outside this PR

We defined as required only the data that user provides data, doing it for data coming from the server does not make sense to me

Ok, that makes sense. Since we're not sending this data to the server there's no downside to leaving it as optional.

These fields were already defined as int64. I did not introduce them. We can change them, but it creates more changes outside this PR

That's fine with me, we can update it in a separate PR.
@kevin85421 thoughts? Is it okay to merge?

Discussed offline with @kevin85421 , it's okay to merge. The failing test  Compatibility Test - Nightly (pull_request) is flaky and unrelated (FAIL: test_detached_actor (main.RayFTTestCase.test_detached_actor))


kinesis feature not printing any output

I have trained a kinesis leftArm via dev console and wanted to access it via the python API. My script:
from neurosity import NeurositySDK
from dotenv import load_dotenv
import os
import time

load_dotenv("my.env")

device_id = os.getenv("NEUROSITY_DEVICE_ID")
neurosity = NeurositySDK({
    "device_id": device_id
})

neurosity.login({
    "email": os.getenv("NEUROSITY_EMAIL"),
    "password": os.getenv("NEUROSITY_PASSWORD")
})

info = neurosity.get_info()

def callback(data):
    print(data)

unsubscribe = neurosity.kinesis("leftArm", callback)

time.sleep(20)
unsubscribe()
print("Done with example.py")

When I run the script, however, I get no output. Not sure where the problem is.

Does your kinesis model work in the developer console?

Hi @eliquinox  👋 ,
To obtain the prediction, please use the kinesis_predictions function. Below is the example code:
from neurosity import NeurositySDK
from dotenv import load_dotenv
import os
import time

# Load environment variables from a .env file
load_dotenv("my.env")

# Initialize Neurosity SDK with device ID
device_id = os.getenv("NEUROSITY_DEVICE_ID")
neurosity = NeurositySDK({"device_id": device_id})

# Log in to Neurosity
neurosity.login({
    "email": os.getenv("NEUROSITY_EMAIL"),
    "password": os.getenv("NEUROSITY_PASSWORD")
})

# Fetch device information
info = neurosity.get_info()

# Callback function to process the data
def callback(data):
    print(data)

# Subscribe to kinesis events for the left arm
unsubscribe = neurosity.kinesis("leftArm", callback)

# Wait for 20 seconds to collect data
time.sleep(20)

# Unsubscribe and clean up
unsubscribe()
print("Finished execution of example.py")

Here are the results from running the above script:
{"label": "push", "metric": "kinesis", "probability": 0.01727728877348198, "timestamp":<PHONE_NUMBER>118, "type": "training"}
{"label": "push", "metric": "kinesis", "probability": 0.013549573655196736, "timestamp":<PHONE_NUMBER>243, "type": "training"}
{"label": "push", "metric": "kinesis", "probability": 0.01411070240397368, "timestamp":<PHONE_NUMBER>368, "type": "training"}
{"label": "push", "metric": "kinesis", "probability": 0.01187809103675398, "timestamp":<PHONE_NUMBER>493, "type": "training"}

Please let me know if this works for you!
PDT: If there is no response, it could be due to an incorrect naming of the trained action.

In case someone else is also confused, exactly like @AdonaiVera said:
unsubscribe = neurosity.kinesis_predictions("leftArm", callback)

instead of
unsubscribe = neurosity.kinesis("leftArm", callback)


removed deprecated ongenerate and replace with generateBundle hook

Summary
according to : https://rollupjs.org/guide/en#hooks
ongenerate hook is deprecated and is replaced with generateBundle hook.
Current behaviour
a deprecation message is displayed in the rollup cli:
(!) rollup-plugin-copy plugin: The ongenerate hook used by plugin rollup-plugin-copy is deprecated. The generateBundle hook should be used instead.

Behaviour after change
the deprecation message is removed & process continues with no side effect.

Yeah, was going to fix this too.  Anyone want to merge?

maintainer hasn't responded yet

@spudmashmedia thank you :)


[BUG] CSS in  is loaded when saving plugins

Description
In my project, I added some fallback CSS to be loaded in case the user has JavaScript disabled. Enclosed in a <noscript> HTML tag, the CMS should never do anything with it. However, after editing a plugin and saving it, the stylesheet defined within the <noscript>-tag is loaded. It happens in my own project and I can reproduce it with the Django-CMS quickstart repo.
Steps to reproduce
For example, in the Django-CMS Quickstart project:

Add a CSS file to static/css/noscript.css containing

  body {
      border: 5px solid red;
  }

In templates/minimal_page.html, add static to the {% load %} template tag and add the following lines to the <head>:

<noscript>
<link rel="stylesheet" href="{% static 'css/noscript.css' %}">
</noscript>

Add a new page, open structure mode, add a text plugin (or another plugin) and save the changes.
The red border appears.

Expected behavior
Whatever is defined within <noscript> shouldn't become active when using the CMS because using the CMS implies having JavaScript enabled.
Actual behavior
The styles defined in the <noscript> tag are applied to the document just like usual CSS.
Additional information
Reloading the page fixes it, but in my case it completely broke the behavior of JS-controlled collapsing elements, which is a poor UX for the editor. For the time being, wrapping the <noscript> in {% if not request.toolbar.show_toolbar %}<noscript>...</noscript>{% endif %} seems to fix it.

Thanks for the thorough bug report @fsimonjetz.
This feels like it'd be the fault of the browser, because it should be in control of what's being displayed & identify that <noscript> tag & ignore it because it knows javascript is enabled.


key_manager: mark rekey identifies with the KBFS_REKEY behavior

This lets the service suppress popups unless something is wrong.
Issue: KBFS-1928

Thanks.  I think we're going to be suppressing tracker popups in all cases, even if there is an error. I think the issue is that it's just too confusing otherwise.
CC: @malgorithms  on what's best here.

cc: @maxtaco: do I need to wait until the client-side support for this identify behavior is ready, or will the client continue to perform the default behavior if it doesn't recognize the behavior?

Thanks. I think we're going to be suppressing tracker popups in all cases, even if there is an error

Wow, that seems super duper dangerous.  Rekey is a pretty sensitive operation.
cc: @malgorithms

@maxtaco: oh maybe you mean the rekey will still fail, there just won't be a popup?

Maybe instead of tracker popups, we should be introducing a tracker notification pane on the main app, along with high priority un-toggleable toasts.

I meant the identify will fail, which will block the rekey, but the user won't know.
Asking @oconnor663 what happens when we get a new enum we don't know.  I think we're ok.

@jzila yes that's the plan on the "people tab" when we get around to it.

@maxtaco: thanks make sense!  I misinterpreted.

@strib, yes....  presumably we can just return an error to Identify2 but suppress all UI, and it hits all of the requirements?

Here are the important functions for the identify behaviors: https://github.com/keybase/client/blob/master/go/protocol/keybase1/extras.go#L751-L764
The WarningInsteadOfErrorOnBrokenTracks function in particular is conservative, and it won't suppress errors for a new behavior that it doesn't recognize.

@songgao yeah @oconnor663 is on it!

Nice work here by @oconnor663 to make this addition so easy on the Core side btw...

Pretty sure I was just following @songgao's pattern :)


[scss] Option to remove scss functions from property autocomplete

VSCode Version: 1.51
OS Version: Sierra

This type of behaviour is highly unpractical, since in 99.9% of cases I want to select a css property. Either group scss functions after css properties or add an option to turn them off.

I think part of the problem is related to the lack of context based on some properties.
For example, color looks crowded, but options are relevant:

But on margin-top seems that many options are invalid for that particular property:

@mrmlnc Hi! Are you working on the current scss implementation? Perhaps you can quick check this?

Hello, @druellan,
Sorry, but I don't see what you mean. You talking about SCSS IntelliSense extension?

Hi @mrmlnc No, the current built-in implementation is doing this without any extension. Sorry if this is not your area.

@druellan, I am not an employee of Microsoft or member VS Code team 😄 I just love this project and trying to help him.

Oh, sorry about the ping then (BTW, I'll take note for that SCSS IntelliSense extension!).

SCSS IntelliSense is an alternative vscode-less to SCSS. I'm working on it now.

I agree that we should filter the functions by the return type. We have the type information for all properties, so it shouldn't be very hard to implement. Unfortunately I'm busy with other stuff, but I'm happy to provide help if someone wants to give it a try. The code is inhttps://github.com/Microsoft/vscode-css-languageservice/blob/master/src/services/scssCompletion.ts.

@aeschli, @druellan, I'll try to resolve this issue at the weekend.

Any update for this issue?
Every time I try to write 'display: block;' with b or bl it suggests me the 'blue()' function.
Same for the 'none' value with 'nth()'.

I pushed a fixed that adds more filtering. The remaining functions that don't return a specific type are sorted to the end.


Bitwarden password generator bug stuck in input

Extension – Bitwarden

Author: @pomdtr

Description
Since there is a limited range of possible values for the length of passwords in Bitwarden, I am not able to change the field (input will be disregarded) for certain inputs.
Steps To Reproduce

Open generate password
change length of password to e.g. 21
congrats: You are stuck there

The current behavior
Inputs are checked during typing
The expected behavior
Inputs should be checked for validity after stuff is typed
Raycast version
Version: 1.36.1

@jomifepe do you have time to take a look at this ?

@jomifepe do you have time to take a look at this ?

Yeah sure, I'll take a look


Split drawing code into separate files

Reference Issue

Part of https://github.com/svg-net/SVG/issues/590
Continuation of https://github.com/svg-net/SVG/pull/931
What does this implement/fix? Explain your changes.

Splits of all drawing code inside NO_SDC if/def into separate files. This should be easier to read and maintain also make next step closer for #590
Any other comments?

Yes, I think this is a good idea. As far as I can see, you didn't change any code so far, just moved out the drawing code into partial classes. As this is a bit difficult to review, you may want to add a note if you do change anything else.

Yes, I think this is a good idea. As far as I can see, you didn't change any code so far, just moved out the drawing code into partial classes. As this is a bit difficult to review, you may want to add a note if you do change anything else.

Ok will add PR comments if something is changed.

Yes, I think this is a good idea. As far as I can see, you didn't change any code so far, just moved out the drawing code into partial classes. As this is a bit difficult to review, you may want to add a note if you do change anything else.

@mrbean-bremen @H1Gdev Added notes to PR description.

@wieslawsoltes
@mrbean-bremen
I think it's not readable in IDE...
How about using File nesting ?
I think the following will be helpful.
https://stackoverflow.com/questions/59406201/filenesting-not-working-for-class-or-shared-library-projects

@wieslawsoltes @mrbean-bremen
I think it's not readable in IDE... How about using File nesting ?
I think the following will be helpful. https://stackoverflow.com/questions/59406201/filenesting-not-working-for-class-or-shared-library-projects

I think next step would be moving all drawing code into separate project.

I think next step would be moving all drawing code into separate project.

Yes, exactly.

@mrbean-bremen
It seems that the PR related to this will make a big change toward .Net 6.
So I think it's better to release to Nuget once based on 7c643dd476412f24992cb79c202f23c9f355c299.

So I think it's better to release to Nuget once based on 7c643dd.

Yes, I also thought that we should make a release before these changes, good point.

This PR is ready for final review. Moving to separate project is more complex task and requires some interfaces and code refactoring with breaking changes so I would do that work is separate PR.

I'll see if I can review this tomorrow, and also make a release of the current version (bit knocked out today after the Booster).

I made a release based on the current version (really have to understand how this works with NerdVersioning, I couldn't get it to work correctly and worked around it), but didn't get the time for a review (again). Though from a cursory glance it looks as if nothing is really changed apart from the restructuring (which is what I would expect). Maybe @H1Gdev can have a look, and I will see if I can merge this finally later tomorrow.


Don't default to exporting HTML and PDF files to the root (/) directory of the user's machine

Currently when you export to PDF or HTML, the location of the exported file is the root of the user's machine (e.g. /filename.pdf)
Users working on remote hosts (e.g. Azure ML compute, Azure VM) are sometimes unable to write to the root of their host. They have to manually change the export path to a directory that they can write to.
Ideally the exported path defaults to either the root of the user's workspace, current working directory, or the directory in which their Notebook is in.

Bug - as this breaks simple HTML in AML (the export doesn't work with default directory & it needs to be changed to workspace) - could be permissions or the like.
Either way, not the best default experience

This more seriously affects remote scenarios.

Validated. Didn't default to Mac home directory anymore and tested from Native Notebooks, old webviews, and custom editors.


Very low download/upload results - Raspberry Pi4B - Buster

For several days I've been fighting with my new Raspberry PI4B to validate tests with speedtest-cli.
All the tests I perform cannot exceed 5 Mbit/s.
In order to remove any hardware problems from the Pi4B (OS: Buster), I performed a two-way iperf test, i. e. once in server mode and once in client mode. And it was able to reach almost 1Gbps !
For information I had a Raspberry Pi3B+ before and the speedtest-cli tests worked perfectly. All I did was install the ISO (Buster) on the SD card and then run the speedtest-cli command.
Would it be possible to help me get a normal throughput, please ?
Pi3B+ :
Linux raspberrypi3  4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux

pi@raspberrypi3:~/speedtest-cli $ python speedtest.py --version
speedtest-cli 2.1.2
Python 2.7.13 (default, Sep 26 2018, 18:42:22) [GCC 6.3.0 20170516]

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
Retrieving speedtest.net configuration...
Testing from ISP. (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by xxxx [8.48 km]: 16.051 ms
Testing download speed................................................................................
Download: 204.84 Mbit/s
Testing upload speed................................................................................................
Upload: 256.49 Mbit/s

Pi4B :
Linux raspberrypi4 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux

pi@raspberrypi4:~/speedtest-cli $ python speedtest.py --version
speedtest-cli 2.1.2
Python 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0]

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
Retrieving speedtest.net configuration...
Testing from ISP. (xxx.xxx.xxx.xxx)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by xxxx [8.48 km]: 34.292 ms
Testing download speed................................................................................
Download: 1.82 Mbit/s
Testing upload speed................................................................................................
Upload: 1.94 Mbit/s

Iperf :
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  76.5 MBytes   642 Mbits/sec
[  4]  1.0- 2.0 sec   114 MBytes   956 Mbits/sec
[  4]  2.0- 3.0 sec   114 MBytes   957 Mbits/sec
[  4]  3.0- 4.0 sec  88.8 MBytes   745 Mbits/sec
[  4]  4.0- 5.0 sec  75.5 MBytes   633 Mbits/sec
[  4]  5.0- 6.0 sec   101 MBytes   850 Mbits/sec
[  4]  6.0- 7.0 sec   114 MBytes   956 Mbits/sec
[  4]  7.0- 8.0 sec   114 MBytes   957 Mbits/sec
[  4]  8.0- 9.0 sec   114 MBytes   957 Mbits/sec
[  4]  9.0-10.0 sec   114 MBytes   957 Mbits/sec
[  4] 10.0-11.0 sec   114 MBytes   957 Mbits/sec
[  4] 11.0-12.0 sec   114 MBytes   957 Mbits/sec
[  4] 12.0-13.0 sec  95.2 MBytes   798 Mbits/sec
[  4] 13.0-14.0 sec  89.3 MBytes   749 Mbits/sec
[  4] 14.0-15.0 sec   114 MBytes   957 Mbits/sec
[  4] 15.0-16.0 sec   114 MBytes   957 Mbits/sec
[  4] 16.0-17.0 sec   114 MBytes   955 Mbits/sec
[  4] 17.0-18.0 sec   114 MBytes   957 Mbits/sec
[  4] 18.0-19.0 sec   114 MBytes   957 Mbits/sec
[  4] 19.0-20.0 sec   114 MBytes   957 Mbits/sec
[  4]  0.0-20.0 sec  2126 MBytes   891 Mbits/sec

Thank you for your support :)

Well, in the continuity of my debug, I think there is really a problem with the speedtest-cli script because when I run the test with Fast.com I get better results.
For my tests I use this script in bash Github rsvp which allows me to test the speedtest-cli and fasttest.

pi@raspberrypi4:~ $ echo "$(curl -skLO https://git.io/fasttest.sh && chmod +x fasttest.sh && ./fasttest.sh)"
2019-12-02, 09:35, None, 80.0, None
pi@raspberrypi4:~ $ echo "$(curl -skLO https://git.io/speedtest.sh && chmod +x speedtest.sh && ./speedtest.sh)"
2019-12-02, 09:39, 31.821, 2.28, 3.18

As you can see with speedtest-cli we are at 2.28M while with fasttest we are at 80M.


KAFKA-13836: Improve KRaft broker heartbeat logic

More detailed description of your change
Don't advertise an offset to the controller until it has been published
Summary of testing strategy (including rationale)
This is really arduous work, I added a test in BrokerLifecycleManagerTest to test the whole state conversion.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Changing the heartbeat request to advertise an offset only after it has been published, would make the test less flaky but can't completely remove the flakiness, because the QuorumController will mark a broker as unfenced as soon as the broker catches up to the LEO the first time, at this point, the UnfenceBrokerRecord has not yet been generated.
This can't be perfectly solved since we will encounter the "chicken and egg" problem here: QuorumController waits for the broker to publish UnfenceBrokerRecord to unfenced it, the broker waits for the  QuorumController to unfenced it and generate UnfenceBrokerRecord.
So we'd better try both solutions here, postpone advertising an offset until it is published and wait for MetadataCache has acknowledged all brokers.
cc @showuon @hachikuji

I'm not sure the change to let the heartbeat request advertise an offset only after it has been published is a workaround for these flaky tests, or it's actually the expected behavior we want. Might need @hachikuji 's comment here. Thanks.

Yeah @hachikuji , it's impossible to remove the gap but we can still minimize it by:

Don't advertise an offset to the controller until it has been published
Only unfence a broker when it has seen its own registration

I also added a test case for these 2 logics in BrokerLifecycleManagerTest, it seems a little messy, PTAL.

Thanks for the PR, @dengziming .
I don't think we need to add the custom logic to look for the broker's own registration record. That should be covered by the check done on the controller side, right? We know that the broker will register prior to sending any heartbeats, and we know that the controller will not allow the broker to join the cluster until its metadata offset has caught up to the high water mark. So those two things, taken together, mean that the existing code is already verifying that the broker has read past its own registration.
The only hole is the bug where we reported the offset from the raft layer rather than from the broker metadata publisher. So I'd say, let's fix that hole and leave the other stuff the same.

I don't think we need to add the custom logic to look for the broker's own registration record. That should be covered by the check done on the controller side, right?

Yes, @cmccabe . 👍  we can make sure the Broker has seen its own registration record if it's unfenced by the controller. I reverted this redundant logic and you can take a look again.

Bumped BrokerHeartbeat and use version 2 if MetadataVersion is above IBP_3_3_IV1, this is the first use case of FeatureVersion, PTAL. @hachikuji @mumrah

This has been fixed in #12983, we use sharedServer.loader.lastAppliedOffset() which is the published offset.


What does value (statistic) indicate?.

Hello,
This is a question about understanding the data presented for covidcast endpoint. I'm a newbie to this api and trying to understand the data.
I'm trying to read daily data of us counties (fb-survey) and the results I'm getting from the api are value and sample_size. There's not much information available about what does 'value' indicate.
The website https://covidcast.cmu.edu/ shows us map with percentages. I did not understand what percentage are we looking at and how to get percentage from value?

This issue can be closed. I was looking at different signals in data and in map. I should be looking at smoothed_cli. I'm closing this.


Allow creation of a pipeline from a supported artifact (notebook , Python script)

Currently Elyra supports two pipeline creation workflows:

Create a "transient" (one node) pipeline from a notebook using the "Submit ..." task in the notebook editor (see https://github.com/elyra-ai/elyra/issues/933 for related enhancement request for Python scripts)
Create a new pipeline using the visual pipeline editor

As a user I might want to re-use "transient" pipelines, for example to re-run a variation of an experiment/analysis/training multiple times. As of today, a user cannot do that easily if the notebook|python script requires inputs (e.g. environment variables) because the values need to be configured every time a notebook|python script is re-submitted.
One potential solution to the problem is to enable the user to optionally create a regular pipeline (one that is visible in JL/Elyra). By supporting creation of a regular pipeline from a supported artifact (notebook|Python script) Elyra would enable the following user scenarios:
Create a pipeline from the File Browser
Workflow steps:

User selects a (one or more) notebook|python script and creates a pipeline

Benefits:

Removes a few steps from the current workflow, which comprises of: (1) creating a new pipeline (from the Launcher) (2) dragging a notebook | Python script onto the canvas and (3) repeating step 2 for additional notebooks | Python scripts

The scenario could in theory be extended by also supporting adding notebooks | Python scripts to an existing pipeline in the current workspace.
Create a pipeline from the  Notebook | Python editor
Workflow steps:

User has notebook | Python script open in an editor
User selects the "submit ..." task and has the option to create a regular (instead of "transient") one node pipeline which can be executed.

Benefits:

The node configuration for the notebook | Python script is persisted, enabling the user to re-run the notebook | Python script over and over again without having to re-define the entire configuration over and over again

The scenario could in theory be extended by also supporting adding the notebook | Python script to an existing pipeline in the current workspace.
Additional user experience considerations:

Where and when should the user have the ability to configure the node properties? Should this happen before the pipeline is created (and the node automatically added and displayed in the pipeline editor) or should this happen after - in the pipeline editor? The former would allow for a smoother user experience (add a pre-configured node vs add a node and configure it) but require duplication of code.
Should the pipeline be created and run automatically? In essence, (1) the pipeline is created (2) the pipeline is opened in the visual pipeline editor (3) the outputs are presented as they are today if a pipeline is run explicitly from the pipeline editor
Should the user have the option to only create the pipeline?  In essence, (1) the pipeline is created (2) the pipeline is opened in the visual pipeline editor and the user can add more nodes or run the pipeline

See https://github.com/elyra-ai/elyra/issues/990 for Python script support from File Browser.


'APP Platform Settings' to just 'APP settings'

fixes #700

This change is

@gertipoppel PTAL

OK for me. I don't have permissions to merge though

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable

Reviewed 1 of 3 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Inclusive language on internal terminology

Steps
See https://dotty.epfl.ch/docs/internals/best-effort-compilation.html

One of the goals of this feature is to keep the maintainance cost low, and to not let this feature hinder the pace of the overall development of the compiler. Because of that, the tests can be freely disabled in compiler/neg-best-effort.blacklist (testing TreePickler) and compiler/neg-best-effort-from-tasty.blacklist (testing TreeUnpickler).

Problem
This is a friendly reminder about Inclusive Language Guide - https://docs.scala-lang.org/contribute/inclusive-language-guide.html

blacklist/whitelist
While the etymology of these words has no relation to racism, their use suggests an association between the color black and some form of badness or exclusion, and between the color white and some form of goodness or inclusion. Prefer alternatives when possible. Several alternatives have been proposed but none sticks as “the one”. We suggest using the pair denylist/allowlist or the pair excludelist/includelist, as these are generic enough to replace most uses of blacklist/whitelist.

Expectation
Thankfully, the term seems to be mostly limited to GitHub issues and testing, so I'd appreciate it if we could switch to something like excludelist. Thanks!

While we're at it, we can take the opportunity to audit the whole codebase, focusing on usage of inclusive language.
Optionally, we could even have a script to check for words we should avoid automatically.

We might try writing a script to feed the whole codebase through ChatGPT for inclusive language as a good start point.

I feared breaking out of that would unjustly paint those past additions a certain way, which I wanted to avoid.

As an aside, I think we should be unafraid to correct courses especially if it makes our own or peer's past decisions less informed. Otherwise, we're now making an informed mistake. See also "Pimp my library" terminology being used, long after it was considered passé among some circle.


Importers

[x] Scala .scl
[x] AnaMark

Removed Korg importer from this list and making a dedicated issue.


Cover the missing fields in Open API specification

Check which top level and children fields are missing from the form and add them to the relevant sections.
You can break this issue into smaller tasks in the Github issue list if you want.
Related

[ ] #29
[ ] #30

We will create new issues for the fields that are missing in the Aurelia version.


Smart invoice migration to rainbowkit

Asana Task: https://app.asana.com/0/1203018424638448/1204583659407167
Old walletconnect stuff is broken. Need to sort out the problems here and upgrading to Rainbowkit will likely fix this.
IMPORTANT NOTE:
This change introduces a new required env variable.
REACT_APP_WALLETCONNECT_ID
This is a requirement for WalletConnect V2 and can be grabbed for free from their cloud site here: https://cloud.walletconnect.com/sign-in

Everything looks to be good and working on my end. Can you add Gnosis though? Looks to be the missing from the networks SI supports.


Enable license header check

Enable license header check Github workflow
Add license header for files that are within the included scope and did not have a header before.

Please help to review if the patterns in included_file_patterns is enough and correct, and if we need to add excluded file patterns. Thanks!


[Enhancement] Support 2FA

Summary
Code42 supports two-factor authentication for locally-authorized accounts. Py42 currently errors out if you attempt to set up an SDK connection using an account with two-factor.
We could investigate implementing support for accounts which require this auth type.
Proposed API
By default, if a user requires 2FA, prompt them:
>>> c42 = sdk.from_local_account(hostAddress, username, password)
Please input your authentication code: ******
>>> c42.user.get_current()

After time has passed, prompt again if necessary when renewing the v3_user_token.
Additionally, accept an optional function that returns the 2FA code (for automation):
>>> c42 = sdk.from_local_account(hostAddress, username, password, totp_function)
>>> c42.user.get_current()

If a function is provided, it will be called again when the token needs to be renewed, allowing developers to provide interfaces to alternative TOTP solutions/implementations.
Intended Use Case
This could be used by Code42 users who wish to automate API interactions, but also want an additional layer of security protecting API accounts.

Hi @ceciliastevens,
Thanks for sharing this request. I don't think we would go the route of prompting within py42 itself because if any of our integrations accidentally used a 2FA user this would cause the app / script etc to hang forever as it waits for input.
Instead, I'm thinking we would add an optional totp_code argument to from_local_account. The workflow would be something like:
try:
    c42 = sdk.from_local_account(hostAddress, username, password)
except Py42MFARequiredError: # new exception type
   # user handles this on their own instead of having it be baked into py42
    code = input("Please input your authentication code:")
    c42 = sdk.from_local_account(hostAddress, username, password, totp_code=code)

Additionally, accept an optional function that returns the 2FA code (for automation):
If a function is provided, it will be called again when the token needs to be renewed, allowing developers to provide interfaces to alternative TOTP solutions/implementations.

There is not a way to programmatically retrieve a user's 2FA code. If there was, it would defeat the whole purpose of 2FA! So, one limitation to be aware of even if we implemented the above approach would be that auto-renewing the authentication would not be possible when using 2FA.

There is not a way to programmatically retrieve a user's 2FA code. If there was, it would defeat the whole purpose of 2FA! So, one limitation to be aware of even if we implemented the above approach would be that auto-renewing the authentication would not be possible when using 2FA.

I've seen customers in the past have other applications generate their 2FA code (i.e. using onepassword or something instead of an authenticator app on the phone), I was imagining some sort of interface with whatever other system they've got for managing that.

There is not a way to programmatically retrieve a user's 2FA code. If there was, it would defeat the whole purpose of 2FA! So, one limitation to be aware of even if we implemented the above approach would be that auto-renewing the authentication would not be possible when using 2FA.

I've seen customers in the past have other applications generate their 2FA code (i.e. using onepassword or something instead of an authenticator app on the phone), I was imagining some sort of interface with whatever other system they've got for managing that.

Ah, that makes a little more sense, you are probably thinking of something like https://totp.app/, which allows you to decide the secret key that is used generate your totp. This would technically be possible if the user had their secret key, but in many cases (like with the authenticator app), the secret key is generated for them by a third party and is unknown to them. Since that would be a function that the user would have to provide, they'd have to look into how to implement that, but I'm willing to look at passing that function itself more closely as a feature possibility.


pubsub: correct emulator sample

Previously we use TopicAdminSettings.defaultBuilder().
The default channel uses secure connection,
which is incompatible with the emulator.
This commit corrects this.
We cannot yet provide a way for users to set plain text
in InstantiatingChannelProvider, since usePlaintext
is still a beta API.

Changes Unknown when pulling 663da74f85cfa513732b97426e91c1130db5fd49 on pongad:pub-sub-emu-doc into ** on GoogleCloudPlatform:master**.

LGTM.
It occurred to me that we are calling usePlaintext from GrpcLoggingRpc, which is a problem (but outside the scope of this PR).


AMD Renoir/Cezanne GPU: Sluggish and laggy desktop

Good day,
This is a Ryzen 5700G box running HelloSystem 0.7.0 off an external SSD USB with 32 GB of RAM. Assigend 2 GB to VRAM in BIOS.
The system behaves quite poorly, anything that is drawn on the screen takes even seconds to appear.

Even typing letters have to wait for a second from hitting the key to the actual letter to appear on screen.
Mouse cursor jumps from location to location making it hard to click on any menu/icon

Querying the About System reports the system has 32GB of RAM, instead of 30 GB, leaving the 2 GB of RAM used theoretically by the iGPU. I presume HelloSystem is bypassing BIOS settings and finds no memory assigned to the GPU thus its performance is a PITA?
I would appreciate any help on how to solve this issue, and let me know if I can provide more info to identify why this happens.
Regards,
RR

5.5 cannot work with 13.0-RELEASE, it needs new linuxkpi addition.
It works with 13-STABLE tough.

This was a quick and dirty backport from 13-STABLE to 13-RELEASE. It's a mix between patching the driver, patching /usr/src and ditching things that would just not work on RELEASE. It works enough that I can use my laptop for work but this is clearly not in state of providing a pkg.
I intentionally didn't publish a working tarball for 13-RELEASE along the post because I didn't want people to use this in the wild without understanding the consequences. Backtraces and panic can/do occur.

OK, so we will hopefully see it in a future helloSystem that will be based on 13.1-RELEASE. Thanks a lot @evadot @gawen94.

Good day @probonopd ,
I'll try to do that test you pointed out in the next days, though not sure yet when. Worst thing that may happen is that I have to reinstall.  Thanks for the tip @probonopd
@evadot @gawen947 , thanks for the explanation. Willing to test it out once is merged into release and forwarded to HelloSystem.
Regards,
RR

… a future helloSystem that will be based on 13.1-RELEASE. …

https://github.com/helloSystem/ISO/releases
graphics/drm-510-kmod

http://beefy16.nyi.freebsd.org/build.html?mastername=131amd64-default&build=cfc19930a459 built for latest
http://beefy14.nyi.freebsd.org/build.html?mastername=131amd64-quarterly&build=8327a5f1bca6 queued for quarterly.

https://github.com/helloSystem/drm-510-kmod.pkg
Maybe archive this repository, if the availability of FreeBSD-provided packages will be satisfactory.

Maybe archive this repository, if the availability of FreeBSD-provided packages will be satisfactory.

How can whe know when this time will be there? (Probably when 13.0 is no longer supported + 1 quarter = when 13.1 came out + 3 quarters?)

… (Probably when 13.0 is no longer supported + 1 quarter = when 13.1 came out + 3 quarters?)

If the packages will be in quarterly and latest within the next few days, why assume so much longer?

I think they start building against the latest released minor version of FreeBSD once the previous one is eol, a quarter after the new minor version came out. And then we have to wait (in the worst case) one quarter for it to appear in quarterly. Or am I wrong? (is this documented somewhere clearly?)


Use logger instead of logging

see #9

Current coverage is 78.32% (diff: 100%)

Merging #18 into master will not change coverage

@@             master        #18   diff @@
==========================================
  Files             8          8
  Lines           812        812
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            636        636
  Misses          176        176
  Partials          0          0

Powered by Codecov. Last update 3a4616a...33930b7

Merged, thank you @geekli !

Released in 0.6.1


Cleaned up code, upgraded package.json, made js folder

npm start now starts the application since I renamed "app.js" to
"server.js". See
https://docs.npmjs.com/files/package.json#default-values
Check out the code, try it on your machine, and verify that everything still works. I resolved a merge conflict that was still left in the code so be sure to check that I resolved it correctly.

Nice organizational changes - they worked fine on my machine using npm start.


campfire: add otherwise unused CAMPFIRE properties for Bazel support [phab:D151]

Created by schroederc at 2015-03-31 16:01:58:

fromberger wrote at 2015-03-31 16:03:46:
Woot! Thank you.

fromberger accepted this revision at 2015-03-31 16:03:46

schroederc closed via commit d6dc336baa2bac3d496cb8ea2e559f7b8b9743f6 at 2015-03-31 16:05:00


DetailView out of a Datatable

Would it be possible to create a DetailView by generating a single-row Datatable and transposing it? What tweaks would be necessary? The purpose here is to re-use all the design and logic created for a table. But for a single record only.

 You could do that overriding get_queryset.
I have a ParentDatatableView that I use, it populates an object with the parent data and it has a datatable as detail.
This is the code I use
class ParentObjectMixin(ExtraContextMixin):
    parent_model = None
    context_object_name = 'object'
    object = None
    pk_url_kwarg = 'pk'
    slug_field = None
    slug_url_kwarg = 'slug'
    parent_queryset = None

    def get_context_data(self, **kwargs):
        context = super(ParentObjectMixin, self).get_context_data(**kwargs)
        obj = self.get_parent_object()
        context[self.context_object_name] = obj
        return context

    def get_slug_field(self):
        """
        Get the name of a slug field to be used to look up by slug.
        """
        return self.slug_field

    def get_parent_object(self, parent_queryset=None):
        """
        Returns the object the view is displaying.
        By default this requires `self.parent_queryset` and a `pk` or `slug` argument
        in the URLconf, but subclasses can override this to return any object.
        """
        # Use a custom parent_queryset if provided; this is required for subclasses
        # like DateDetailView
        if parent_queryset is None:
            parent_queryset = self.get_parent_queryset()
        # Next, try looking up by primary key.
        pk = self.kwargs.get(self.pk_url_kwarg)
        slug = self.kwargs.get(self.slug_url_kwarg)
        if pk is not None:
            parent_queryset = parent_queryset.filter(pk=pk)
        # Next, try looking up by slug.
        if slug is not None and (pk is None or self.query_pk_and_slug):
            slug_field = self.get_slug_field()
            parent_queryset = parent_queryset.filter(**{slug_field: slug})
        # If none of those are defined, it's an error.
        if pk is None and slug is None:
            raise AttributeError("Generic detail view %s must be called with "
                                 "either an object pk or a slug."
                                 % self.__class__.__name__)
        try:
            # Get the single item from the filtered parent_queryset
            obj = parent_queryset.get()
        except parent_queryset.model.DoesNotExist:
            raise Http404("No %(verbose_name)s found matching the query" %
                          {'verbose_name': parent_queryset.model._meta.verbose_name})
        return obj

    def get_parent_queryset(self):
        """
        Return the `parent_queryset` that will be used to look up the object.
        Note that this method is called by the default implementation of
        `get_object` and may not be called if `get_object` is overridden.
        """
        if self.parent_queryset is None:
            if self.parent_model:
                return self.parent_model._default_manager.all()
            else:
                raise ImproperlyConfigured(
                    "%(cls)s is missing a parent_queryset. Define "
                    "%(cls)s.model, %(cls)s.parent_queryset, or override "
                    "%(cls)s.get_parent_queryset()." % {
                        'cls': self.__class__.__name__
                    }
                )
        return self.parent_queryset.all()

class ParentDatatableView(ParentObjectMixin, DatatableMixin, ListView):
    template_name = 'core/datatable.html'

And to implement I use something like this:

class ListTrainingRecord(StaffuserRequiredMixin, ParentDatatableView):
    model = LegacyCourseTaken
    datatable_class = LegacyTrainingRecordTable
    title = "Training Record"
    parent_model = Employee
    slug_url_kwarg = 'username'
    slug_field = 'user_name'

    def get_queryset(self):
        qs = super(ListTrainingRecord, self).get_queryset()
        # queryset is for the datatable data, get the kwarg to filter
        pk = self.kwargs.get(self.pk_url_kwarg)
        employee = get_object_or_404(Employee, user_name=self.kwargs.get(self.slug_url_kwarg))
        return qs.filter(employee=employee)


TS|TSX  files are linted with useTypescriptIncrementalApi

My current config:
 new ForkTsCheckerWebpackPlugin({
  // useTypescriptIncrementalApi: false,
      async: false,
      eslint: true,
      ignoreLintWarnings: false,
    }),

created the variable without using it anywhere else
const me = 'something'

Actual output
[cI1f] /Users/theophy/dev/..../../Component.tsx 2.17 KiB {Page} [built]
+ 13 hidden modules

Expected output
[cI1f] /Users/theophy/dev/..../../Component.tsx 2.17 KiB {Page} [built]
+ 13 hidden modules
WARNING in /Users/theophy/dev/..../../Component.tsx
WARNING in /Users/theophy/dev/..../../Component.tsx(20,9):
@typescript-eslint/no-unused-vars: 'me' is assigned a value but never used.

Changing useTypescriptIncrementalApi to false works but is much slower.
related to #219

@theoomoregbee
Please try fork-ts-checker-webpack-plugin@alpha - I've published a new version which should resolve this issue 🚀
I will close this issue to clean-up the backlog. If this release didn't solve the issue, we can re-open this :)


Switch default stemcell from bionic to jammy

As the support for bionic is running out we should switch to jammy as default stemcell.
Tested to deploy concourse with jammy stemcell in our environment which worked fine.
Fixes #247

@xtremerui Can we please merge this? We tested with 7.9.1 and it works fine.
At least the bionic won't be a problem for 7.9.2 if this is merged.


Add dry_run to a number of EC2 services

Add dry_run capability for a number of boto EC2 calls and also provided unit tests where applicable.

Coverage decreased (-0.1%) to 94.168% when pulling 57ab70b05cfacf33b502ade652d3c2acdbcb2b77 on rocky4570:dryrun-ec2 into 4157abe8de154b7ff00c79d6427c0d774889da3f on spulec:master.

Coverage decreased (-0.1%) to 94.168% when pulling 57ab70b05cfacf33b502ade652d3c2acdbcb2b77 on rocky4570:dryrun-ec2 into 4157abe8de154b7ff00c79d6427c0d774889da3f on spulec:master.

I should admit that possibly some of the responses from this commit are not likely to be accurate with what AWS respond with as I havent had a need or seen all DryRun responses that were committed here. Please update any that may come along the way.

This is great, thanks!


ng g interceptor ?

Feature Request (mark with an x)
- [  `x` ] feature request  ng g interceptor

Area
-[ ] generator for interceptor

Versions

generator for  interceptor

Should be close as duplicate of https://github.com/angular/angular-cli/issues/6937.

Duplicate of #6937


⚠ Fetchers has degraded performance

In 77e3535, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 496 ms

Resolved: Fetchers performance has improved in 2a6d0a0.


Support for secrets in ddc.yaml

For example instead of using PAT token in clear text in ddc.yaml.
Workaround for now should be to pass in token on command line

I think we should actually remove the option for a pat from the yaml and only allow it to be passed in via a flag that hides the password, this also means that we need to update the docs around this flag

changing my mind on removing it. there will be people who that is their preference nonetheless but I think adding the option to be a masked flag is nice..this also means that the current method for disabling REST via using a blank pat when submitting local-collect to executors will have to go away and be replaced with something else (detection of environment, etc)


("Error Domain=kAFAssistantErrorDomain Code=209 "(null)"") Still Listening even it has error or forcibly stopped.

This happens on spamming the listening trigger

device? os version?
how can you tell the app is still listening?

It displays a behaviour same as "not saying anything". Behaviour was After 30 mili/seconds of no activity then it pops an error message. after that happens it all goes okay.

For more info and example with ionic 2.. same problem with both plugin:
https://github.com/macdonst/SpeechRecognitionPlugin/issues/88#issuecomment-281378459

@mosca90 I think this is not related to your issue, Just want to ask if you have internet when you are testing this or have you done this
Requirements
XCode 8.0 (requires 10.12+ macOS Sierra or 10.11.5+ OS X El Capitan)
iOS 10
NSMicrophoneUsageDescription permission
NSSpeechRecognitionUsageDescription permission

@Truedison i'm under wifi with phone on airplane mode..

@mosca90 How about these 2  ?
NSMicrophoneUsageDescription permission
NSSpeechRecognitionUsageDescription permission

I'm calling exatly like here: https://github.com/pbakondy/cordova-plugin-speechrecognition/issues/17#issuecomment-280759863
I got 2 popups window of permission request.

@mosca90 Do you have something like this on your config.xml if youre running on ionic

@Truedison sorry, like what?

"

"

" <variable name="MICROPHONE_USAGE_DESCRIPTION" value="would like to use this" />         <variable name="SPEECH_RECOGNITION_USAGE_DESCRIPTION" value="would like to use this" />"

@Truedison no.
Added to config.xml but nothing change.. so sad.

@mosca90 There's a right way to add it man. You dont have to add it manually in config.xml You have to uninstall the plugin and add again the plugin with those variables

cordova plugin add cordova-plugin-speechrecognition --variable MICROPHONE_USAGE_DESCRIPTION="microphone" --variable SPEECH_RECOGNITION_USAGE_DESCRIPTION="microphone" --save
Now in config.xml i have these lines:
    <plugin name="cordova-plugin-speechrecognition" spec="~1.1.1">         <variable name="MICROPHONE_USAGE_DESCRIPTION" value="microphone" />         <variable name="SPEECH_RECOGNITION_USAGE_DESCRIPTION" value="microphone" />     </plugin>
Using this code to start recognition: https://github.com/pbakondy/cordova-plugin-speechrecognition/issues/17#issuecomment-280759863
iphone 5s with latest update.
Run under wi-fi with plane mode on.
Sim card with no service available on this phone.
When the recognition starts, near the wifi icon appear a search icon too, idk why.
When the icon stops to turn, the error appears:  Error Domain=kAFAssistantErrorDomain Code=209
After 3 attempt, there is no icon and the error is Error Domain=kAFAssistantErrorDomain Code=1
Maybe siri has some problem without sim service?
Native recognition works well.
Thx @Truedison.

@mosca90 Are you using this in Ionic ? I think they already added this in ionic-native maybe there's a new/better implementation there.

https://ionicframework.com/docs/v2/native/speechrecognition/
Btw, it would be nice in future to be able to remove the limitation to 10 iOS only, like Android which has various versions supported

"limitation to 10 iOS only" - Apple supports speech recognition since iOS 10.
See: https://developer.apple.com/reference/speech?language=objc

I am using in my iphone 8 and i am getting the same error code 209 can any1 please help me out.


Empty overall

Hi,
I just enabled this library in my project however, I have issues with the logs.

It does not respect to name of the log and not group it.  Do you have any idea how to fix it? I haven't customized anything, I just enabled it and deployed it, let me know if you need any more information.
Best,

Hi yes, it is fixed but i haven't realesed 0.2.1 yet.

Thank you! Could you tell me what is the estimated date of the new release?

Probably today or tomorrow, i'm doing some tests and releasing it afterwards :+1:

btw in the meantime you can use 'applicationinsights:trackRequest:before' hook, the second parameter allows you to change the tracking object.
you can set trackInfo[event.$appInsights.client.context.keys.operationName]: trackInfo.name
event is the event request

Thank you, fixed!


upgrade cmd to cobra

Signed-off-by: calvin<EMAIL_ADDRESS>/kind feature
upgrade our cmd to cobra.

add --verion --kubeconfig and more ElectionLease options.
replace log to klog

Why do we need ElectionLease  ?

Why do we need ElectionLease ?

If we are prepare to add mutils operator replicas to ensure high availability, wo need support elections feature.
We used to support it, just not very elegant.

are those all necessary for cobra?

are those all necessary for cobra?

we did not have a vendor directory before, the following features of cloudtty are more and more, and it is necessary to add the vendor directory.

@panpan0000  We did not have a vendor directory before, but cloudtty has more and more features, so it is necessary to add a vendor directory


arm64 and x86_64 linux: TF java full native builds are failing to find the native headers

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04 x86_64): Linux Ubuntu 22.04, aarch64
TensorFlow installed from (source or binary): Source
TensorFlow version: TF version is v2.16.1, TF java version is  tag: v1.0.0-rc.1
Java version (i.e., the output of java -version): openjdk 11.0.23 2024-04-16
Java command line flags (e.g., GC parameters): mvn install -P native-build -Dbazel.build.flags='--verbose_failures -s --config=mkl_aarch64_threadpool' -X
Installed from Maven Central?: No
Bazel version (if compiling from source): bazel 6.5.0
GCC/Compiler version (if compiling from source):gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
CUDA/cuDNN version: Not applicable
GPU model and memory: Not applicable

Describe the problem
TensorFlow java source builds are failing on aarch64 linux system with the missing native headers. please let me know how it's built for x86_64 linux platform.
based on my debugging so far it looks like the dependency comes from this  commit which added C API extension for custom gradient functions, and introduced these headers and .cc which requires several third_party libraries from tensorflow native but none of those bazel workspaces are cloned.

tensorflow-core/tensorflow-core-native/src/main/native/org/tensorflow/internal/c_api$
tfj_gradients.h  tfj_gradients_impl.cc  tfj_graph.h  tfj_graph_impl.cc  tfj_scope.h  tfj_scope_impl.cc

I tried to manually clone the missing workspaces into bazel cache, but the cycle is never ending, it's missing tsl, eigen, ml_dtype, absl, protobuf, and now compiled headers for protobuf....
Provide the exact sequence of commands / steps that you executed before running into the problem
sudo apt-get install pkg-config ccache clang ant python3-pip swig git file wget unzip tar bzip2 gzip patch autoconf-archive autogen automake make cmake libtool bison flex perl nasm curl gfortran libasound2-dev freeglut3-dev libgtk2.0-dev libusb-dev zlib1g libffi-dev libbz2-dev zlib1g-dev

sudo apt install maven default-jdk

cd $HOME
mkdir bazel
cd bazel
wget https://github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-linux-arm64
mv bazel-6.5.0-linux-arm64 bazel
chmod a+x bazel
export PATH=/home/ubuntu/bazel/:$PATH

# Build and install javacpp-presets.
# Clone the following forked repo to exclude the libraries that are not supported and not required
git clone https://github.com/snadampal/javacpp-presets.git
cd javacpp-presets
git checkout tfjava_aarch64
mvn install -Djavacpp.platform=linux-arm64 -Dmaven.javadoc.skip=true -X -T 16

# Build and install tensorflow java bindings
git clone https://github.com/tensorflow/java.git
cd java
git checkout v1.0.0-rc.1
mvn install -P native-build -Dbazel.build.flags='--verbose_failures -s --config=mkl_aarch64_threadpool' -X

Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

The issue is not specific to arm64, I see the same missing headers issue even on the other platforms, at least I have reproduced it on linx-x86_64 as well, with Ubuntu 22.04 OS. From the code it looks like it happens on every platform.
I have root-caused the issue to the fact that the dist_download step is skipped for the native build, but the dist_download is the one setting up all the required native headers for the javacpp build.  the non native build is working fine because dist_download step executes there.

            <!--
              Download TensorFlow native libraries
                This will download the official Python distribution for the active platform, and extract the `tensorflow_cc` library
                from it so that we can generate the JavaCPP API bindings and distribute it as a JAR. This will be executed only
                when not building a full native build.
            -->
            <id>dist-download</id>
            <phase>initialize</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <skip>${dist.download.skip}</skip> <!-- skipped when full native build is enabled -->
              <executable>bash</executable>
              <arguments>
                <argument>scripts/dist_download.sh</argument>
                <argument>${dist.download.folder}</argument>
              </arguments>
              <environmentVariables>
                <PLATFORM>${native.classifier}</PLATFORM>
              </environmentVariables>
              <workingDirectory>${project.basedir}</workingDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>

The backtrace:
[INFO] g++ -I/home/ubuntu/java/tensorflow-core/tensorflow-core-native/src/main/native/org/tensorflow/internal/c_api -I/home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/external/org_tensorflow -I/home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/external/org_tensorflow/third_party/xla/third_party/tsl -I/home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/execroot/tensorflow_java/bazel-out/k8-opt/bin/external/org_tensorflow -I/home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/external/com_google_protobuf/src -I/usr/lib/jvm/java-11-openjdk-amd64/include -I/usr/lib/jvm/java-11-openjdk-amd64/include/linux /home/ubuntu/java/tensorflow-core/tensorflow-core-native/target/native/org/tensorflow/internal/c_api/linux-x86_64/jnitensorflow.cpp /home/ubuntu/java/tensorflow-core/tensorflow-core-native/target/native/org/tensorflow/internal/c_api/linux-x86_64/jnijavacpp.cpp -march=x86-64 -m64 -O3 -s -std=c++17 -Wl,-rpath,$ORIGIN/ -Wl,-z,noexecstack -Wl,-Bsymbolic -Wall -fPIC -pthread -shared -o libjnitensorflow.so -L/home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/execroot/tensorflow_java/bazel-out/k8-opt/bin/external/org_tensorflow/tensorflow -Wl,-rpath,/home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/execroot/tensorflow_java/bazel-out/k8-opt/bin/external/org_tensorflow/tensorflow -ltensorflow_framework -ltensorflow_cc
In file included from /home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/external/org_tensorflow/third_party/xla/third_party/tsl/tsl/c/tsl_status_internal.h:19,
                 from /home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/external/org_tensorflow/tensorflow/c/tf_status_internal.h:19,
                 from /home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/external/org_tensorflow/tensorflow/c/c_api_internal.h:32,
                 from /home/ubuntu/java/tensorflow-core/tensorflow-core-native/src/main/native/org/tensorflow/internal/c_api/tfj_graph_impl.cc:18,
                 from /home/ubuntu/java/tensorflow-core/tensorflow-core-native/src/main/native/org/tensorflow/internal/c_api/tfj_graph.h:31,
                 from /home/ubuntu/java/tensorflow-core/tensorflow-core-native/target/native/org/tensorflow/internal/c_api/linux-x86_64/jnitensorflow.cpp:115:
/home/ubuntu/.cache/bazel/_bazel_ubuntu/255b14aaecc232d3c121b5bd17b6e1a3/external/org_tensorflow/third_party/xla/third_party/tsl/tsl/platform/status.h:28:10: fatal error: absl/base/attributes.h: No such file or directory
   28 | #include "absl/base/attributes.h"

when I added the wheels for linux-arm64, the missing headers issue is solved and the jni build is successful. Next there are some test failures which I'm looking into.

We modified where it's looking for the headers just before the rc1 release to fix this kind of issue. I tested it on macOS, and I thought I had tested it on a few Linuxes as well. I'll rerun the Linux build to see what's going on.

So it looks like the problem is that we used to get the absl headers from Bazel, but something has changed in the TF build process so it's not putting the absl repo in the bazel-tensorflow-core-native folder like it used to. We'd missed this because the clean is inconsistent between bazel & non-bazel builds.

Hi @Craigacp , it's not just the absl, there are several other packages are missing too, like Eigen, ml_dtypes, protobuf......
they exist in the repo but the workspaces are not cloned.

I can replicate this, but we couldn't replicate it on Karl's machine, even after a clean of bazel. Both machines are running macOS 14.5 with the latest XCode, and the same version of bazel so I'm pretty confused as to what's causing the issue.

I'm surprised in the working case where it is getting the all absl/Eigen/ml_dtype headers from. Probably checking the include paths for libjnitensorflow.cpp compilation might give some clue?
btw, it's consistently failing on linux.

No, in some cases the external folder in bazel-tensorflow-core-native has extra folders in it linking to the dependencies we need the headers for. Not sure why bazel only puts them in some of the time. Not ruled out some memory on the machine that works yet.

I see the same problem on Ubuntu 24.04 with rc2
mvn -T 8 clean install -TDjavacpp.platform.extension=-gpu -Dnative.build


iambic should play nice with sts:SetSourceIdentity

Is your feature request related to a problem? Please describe.
In enterprise setup, source-identity is checked against and IambicHubRole will face issue like no permission to perform sts:SetSourceIdentity on itself.
Describe the solution you'd like
Consider adding sts:SetSourceIdentity permissions to the trust policy on your Hub and Spoke roles.
Describe alternatives you've considered
N/A
Additional context
2023/04/24 17:00:50 [error    ] Failed to assume role
  assume_role_arn=arn:aws:iam::REDACTED:role/IambicHubRole
  error=ClientError('An error occurred (AccessDenied) when calling the AssumeRole operation: User: arn:aws:sts::REDACTED:assumed-role/REDACTED_ROLE_1/REDACTED_SESSION_NAME is not authorized to perform: sts:SetSourceIdentity on resource: arn:aws:iam::REDACTED:role/IambicHubRole')

https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_monitor.html#id_credentials_temp_control-access_monitor-setup
When you assume a role with another role, called [role chaining](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-role-chaining), permissions for sts:SetSourceIdentity are required in both the permissions policy of the principal who is assuming the role and in the role trust policy of the target role. Otherwise, the assume role operation will fail.

Example role trust policy for source identity
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowDevUserAssumeRole",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:user/DevUser"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringEquals": {
          "sts:SourceIdentity": "DevUser"
        }
      }
    }
  ]
}

This is available starting in release 0.4.1


Discussion of  v1.15.x  Roadmap

Discussion of  v1.15.x  Roadmap
Roadmap for next release (it can change and is here only to focus development a bit)

[ ] make API feature complete to Web-UI (#14299)
[ ] More Integration Features

[ ] Add Gitea secrets storage and management (#14483)
[ ] Add GH Actions (#13539)

[ ] Enhance Project
[ ] Improve memory footprint (#14486) (#14487)
[ ] Add virtual subgroups in organization (#1872)
[ ] Increase test coverage
[ ] reply issue by email (#13585)

My requests:
[Features]

More mirror options https://github.com/go-gitea/gitea/issues/8689, specifically:

Bitbucket #12919
Issues #1876
LFS #9939 #849
Reverse mirroring #7609 #3480
SVN migration #4158

My CSV diff feature request #14320 :)

[Refactor]

js to proper framework (vue?) - web_src/js/index.js is a behemoth
CSS/less overhaul - fix mobile & simplify all of the custom code in web_src/less

My requests:
[Features]

More mirror options https://github.com/go-gitea/gitea/issues/8689, specifically:

Bitbucket #12919
Issues #1876
LFS #9939 #849
Reverse mirroring #7609 #3480
SVN migration #4158

My CSV diff feature request #14320 :)

[Refactor]

js to proper framework (vue?) - web_src/js/index.js is a behemoth
CSS/less overhaul - fix mobile & simplify all of the custom code in web_src/less

my request:

Automated Kanban board  #14359

(who would've guessed given that I even opened a feature request for it…)

my request:

Automated Kanban board  #14359

(who would've guessed given that I even opened a feature request for it…)

@go-gitea/owners Sugget add a project for roadmap, example:
https://github.com/RT-Thread/rt-thread/projects/4

@go-gitea/owners Sugget add a project for roadmap, example:
https://github.com/RT-Thread/rt-thread/projects/4

I will work on supporting Github Actions or implementing Gitea Bots . Another interesting topic is distributed git storage system.

I will work on supporting Github Actions or implementing Gitea Bots . Another interesting topic is distributed git storage system.

Yeah, I'm working on adding secret management that could be used for builds and probably other stuff also

Yeah, I'm working on adding secret management that could be used for builds and probably other stuff also

Added, @lafriks is there a issue or pull?
if not just alter the issue above and write the title into it

Added, @lafriks is there a issue or pull?
if not just alter the issue above and write the title into it

Might not hit most people's sentiment here, but:
I'd like to see a milestone heavily focusing on bugfixes & performance optimization.
With the current pace of the project it seems many more bugs are added than fixed, including some heavy performance regressions.
Which is worrysome, especially when considering that Gitea's selling points are 'it just works' and 'low-powered environment friendly'

Might not hit most people's sentiment here, but:
I'd like to see a milestone heavily focusing on bugfixes & performance optimization.
With the current pace of the project it seems many more bugs are added than fixed, including some heavy performance regressions.
Which is worrysome, especially when considering that Gitea's selling points are 'it just works' and 'low-powered environment friendly'

Might not hit most people's sentiment here, but:
I'd like to see a milestone heavily focusing on bugfixes & performance optimization.
With the current pace of the project it seems many more bugs are added than fixed, including some heavy performance regressions.
Which is worrysome, especially when considering that Gitea's selling points are 'it just works' and 'low-powered environment friendly'

I think v1.14 should do that. :)

Might not hit most people's sentiment here, but:
I'd like to see a milestone heavily focusing on bugfixes & performance optimization.
With the current pace of the project it seems many more bugs are added than fixed, including some heavy performance regressions.
Which is worrysome, especially when considering that Gitea's selling points are 'it just works' and 'low-powered environment friendly'

I think v1.14 should do that. :)

my request:

Automated Kanban board  #14359

(who would've guessed given that I even opened a feature request for it…)

I second this.
There are also a couple of simple proposals related to  projects, that would greatly increase their usability:

https://github.com/go-gitea/gitea/issues/14298
https://github.com/go-gitea/gitea/issues/13814
https://github.com/go-gitea/gitea/issues/13520
https://github.com/go-gitea/gitea/issues/13519
https://github.com/go-gitea/gitea/issues/13518
https://github.com/go-gitea/gitea/issues/13517

my request:

Automated Kanban board  #14359

(who would've guessed given that I even opened a feature request for it…)

I second this.
There are also a couple of simple proposals related to  projects, that would greatly increase their usability:

https://github.com/go-gitea/gitea/issues/14298
https://github.com/go-gitea/gitea/issues/13814
https://github.com/go-gitea/gitea/issues/13520
https://github.com/go-gitea/gitea/issues/13519
https://github.com/go-gitea/gitea/issues/13518
https://github.com/go-gitea/gitea/issues/13517

Added, @lafriks is there a issue or pull?
if not just alter the issue above and write the title into it

@6543 I created draft PR #14483

Added, @lafriks is there a issue or pull?
if not just alter the issue above and write the title into it

@6543 I created draft PR #14483

my draft pulls:

reply issue by email (#13585)(will finish test code soon)
agit flow (#14296)

my draft pulls:

reply issue by email (#13585)(will finish test code soon)
agit flow (#14296)

My request is for improving the pull request experience:

Mark files as "Viewed" #11730 + new changes since you last viewed (like on github)
Suggesting code changes #9388
Fix false positives in merge conflict detection #13679
Resolve merge conflicts from web UI  #9014
Cherry-pick commit to other branch #3880

My request is for improving the pull request experience:

Mark files as "Viewed" #11730 + new changes since you last viewed (like on github)
Suggesting code changes #9388
Fix false positives in merge conflict detection #13679
Resolve merge conflicts from web UI  #9014
Cherry-pick commit to other branch #3880

As an only partially related side note, for 1.15 maybe even #1029 can finally be closed, as the dependency of the last remaining unchecked action (#12244) has been closed…

As an only partially related side note, for 1.15 maybe even #1029 can finally be closed, as the dependency of the last remaining unchecked action (#12244) has been closed…

As an only partially related side note, for 1.15 maybe even #1029 can finally be closed, as the dependency of the last remaining unchecked action (#12244) has been merged…
Or is that already intended for 1.14?

Yeah. Maybe 1.14 or 1.15 which depends on how long we should spend on the migrations.

As an only partially related side note, for 1.15 maybe even #1029 can finally be closed, as the dependency of the last remaining unchecked action (#12244) has been merged…
Or is that already intended for 1.14?

Yeah. Maybe 1.14 or 1.15 which depends on how long we should spend on the migrations.

About TOC tags
对于长文档来说目录是相对重要的功能
#7225
#7182

About TOC tags
对于长文档来说目录是相对重要的功能
#7225
#7182

It really would be awesome, if wiki pages could be managed via the REST API :smiley:

It really would be awesome, if wiki pages could be managed via the REST API :smiley:

My suggestion https://github.com/go-gitea/gitea/issues/2529 wildcard protected branches

#14622 Group Issues/Milestones
As I play around with and integrate Gitea into my productivity flow, I'll add more here

@noerw I agree. We've unfortunately made a very bad call with defaulting to argon2 which has caused a lot of problems.
I have ummed and ahhed about whether we should change the default back and I've come to the conclusion that I've spent way too much time dealing with it so I think we should just drop that.
My recent work on returning to git should also represent a significant improvement in memory use. (Albeit I need to think more about lastcommitcache.)
In terms of performance I think we definitely should focus on pushing more things out to Ajax rendering.
I'm more than happy to work with people looking specifically at performance prs though. So In particular I think we desperately need to look at two things:

The history / lastcommitcache should not hold up rendering it should be ajaxed in like in gitlab.
Diff pages need to infinite scrolled and ajaxed in to.

In terms of bugs - both the git and chi prs are likely to be a source of a few bugs. We really need to put some effort into looking for regressions due to these before 1.14 is released.

Regarding API feature completeness, I'd propose to add #14248 to the list.

It would be really awesome if create from template would be available from API #9126

Regarding API feature completeness, I'd propose to add #14248 to the list.

I just opened #15571 to which the same applies.

Add admin email notifications on new user registration and user notification for activated accounts would be just amazing  #15147
😍😍

Feature

allow users to hide them from explore/users list - not all want to publicly appear and allow access from that page to they profiles
access to profile from commit info from public repo - not changed (allowed)

Locking this as we will be entering feature freeze for 1.15 soon so be sure to get your PRs in.

I moved this as 1.16 roadmap as pretty much all tasks are left now for 1.16 :D

I porpose to open a new issue and copy relevant stuff :)


Alluvial flows errors

In which chart does the bug happen?

Alluvial diagram

RAWGraphs Version
2.0 beta
Web browser and version
Brave Version 1.21.76 Chromium: 89.0.4389.86 (Official Build) (x86_64)
Operating System
MacOSX Mojave 10.14.6
Steps to reproduce this
copy/paset data
choose alluvial
map dimensions: Recommended IND (numbers) / Rating (numbers) / Age (numbers)
output: Nodes in the central column ("Rating") don't match with flows coming from column 1 ("Recommendede IND"), and then from column 2 to column 3 ("Age")
Project file
_alluvial_test.rawgraphs.zip
Additional context

Quick fix:
change steps dimension from number to string

weird


qs doesn't work

in the options object using
qs: { some: 'query' }

should append a ?some=query to the end of the request

It's old but it helps me
I was using uri instead of url in combination with qs


Update README.md

git show <commit id> was very helpful to me when I did this kata & and later on the job

It is a good command. Thank you for your contribution :)


Pingora In Front Of HTTP/HTTPS Proxies

Trying to setup a Pingora-based logic in front of an HTTP/HTTPS proxy (Squid etc) without luck.
When creating an HTTP request over cURL, the logic works as expected.
When creating an HTTPS request, the following error is shown:
cURL
curl: (56) CONNECT tunnel failed, response 502

Pingora
[ERROR pingora_proxy] Fail to proxy: Upstream ConnectError context: Fail to establish CONNECT proxy: addr: <IP_ADDRESS>:3128, scheme: HTTP,proxy: next_hop: <IP_ADDRESS>:3128, host: <IP_ADDRESS>, port: 3128, cause:  context: CONNECT proxy connect() error to "<IP_ADDRESS>:3128" cause:  context: Fail to connect to <IP_ADDRESS>:3128 cause: No such file or directory (os error 2), status: 502, tries: 1, retry: false, CONNECT google.com:443, Host: google.com:443

I know it related to the fact the HTTPS proxy are working over tunnels and the CONNECT method, and I'm not trying to create an SSL MITM proxy to read the content of the request. Just to be able to use the request_filter method of the ProxyHttp trait of Pingora.
Pingora
use async_trait::async_trait;

use pingora::proxy::{http_proxy_service, ProxyHttp, Session};
use pingora::server::Server;
use pingora::upstreams::peer::HttpPeer;
use pingora::Result;

pub struct Gateway {}

#[async_trait]
impl ProxyHttp for Gateway {
    type CTX = ();
    fn new_ctx(&self) -> Self::CTX {}

    async fn upstream_peer(
        &self,
        _session: &mut Session,
        _ctx: &mut Self::CTX,
    ) -> Result<Box<HttpPeer>> {
        Ok(Box::new(HttpPeer::new(
            ("<IP_ADDRESS>", 3128),
            false,
            "".to_string(),
        )))
    }
}

fn main() {
    env_logger::init();
    let mut server = Server::new(None).unwrap();
    server.bootstrap();
    let mut service = http_proxy_service(&server.configuration, Gateway {});
    service.add_tcp("<IP_ADDRESS>:8080");
    server.add_service(service);
    server.run_forever();
}

Squid
acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
acl CONNECT method CONNECT

http_access allow localhost manager
http_access allow localhost
http_access allow localnet
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all

cache deny all

coredump_dir /var/spool/squid

logfile_rotate 10

cURL
curl -x http://localhost:8080 https://google.com
curl: (56) CONNECT tunnel failed, response 502

Would really appropriate a push in the right direction.

Is the example you provided here complete? We shouldn't be invoking proxy_connect unless new_proxy is called or proxy is set on HttpPeer.
If I try your example code I see:
2024-04-12T22:21:26Z ERROR pingora_proxy] Fail to proxy: Upstream ConnectRefused context: Fail to connect to addr: <IP_ADDRESS>:3128, scheme: HTTP, cause:  context: Fail to connect to <IP_ADDRESS>:3128 cause: Connection refused (os error 61), status: 502, tries: 1, retry: false, CONNECT google.com:443, Host: google.com:443

The error log you provided is happening because right now proxy_connect expects a UDS.

The code snippets I've added are full. I'm using it on an MacOS Intel machine if that make any diffrence.
I'm attaching here the full Pingora service logs:
[2024-04-13T14:46:16Z INFO  pingora_core::server] Bootstrap starting
[2024-04-13T14:46:16Z DEBUG pingora_core::server] None
[2024-04-13T14:46:16Z INFO  pingora_core::server] Bootstrap done
[2024-04-13T14:46:16Z INFO  pingora_core::server] Server starting
[2024-04-13T14:47:12Z DEBUG pingora_core::services::listening] new event!
[2024-04-13T14:47:12Z DEBUG pingora_proxy] Successfully get a new request
[2024-04-13T14:47:12Z DEBUG pingora_core::connectors] No reusable connection found for addr: <IP_ADDRESS>:3128, scheme: HTTP,
[2024-04-13T14:47:12Z DEBUG pingora_core::connectors::l4] connected to new server: <IP_ADDRESS>:3128
[2024-04-13T14:47:12Z DEBUG pingora_proxy::proxy_h1] Sending header to upstream RequestHeader { base: Parts { method: CONNECT, uri: google.com:443, version: HTTP/1.1, headers: {"host": "google.com:443", "user-agent": "curl/8.4.0", "proxy-connection": "Keep-Alive"} }, header_name_map: Some({"host": CaseHeaderName(b"Host"), "user-agent": CaseHeaderName(b"User-Agent"), "proxy-connection": CaseHeaderName(b"Proxy-Connection")}), raw_path_fallback: [] }
[2024-04-13T14:47:12Z DEBUG pingora_proxy::proxy_h1] finish sending body to upstream
[2024-04-13T14:47:12Z DEBUG pingora_core::protocols::http::v1::client] Response header: ResponseHeader { base: Parts { status: 200, version: HTTP/1.1, headers: {} }, header_name_map: Some({}) }
[2024-04-13T14:47:12Z DEBUG pingora_proxy::proxy_h1] upstream event: Some(Header(ResponseHeader { base: Parts { status: 200, version: HTTP/1.1, headers: {} }, header_name_map: Some({}) }, false))
[2024-04-13T14:47:12Z DEBUG pingora_proxy::proxy_h1] downstream event
[2024-04-13T14:47:12Z DEBUG pingora_core::protocols::l4::stream] Dropping socket BufStream { inner: BufReader { reader: BufWriter { writer: Tcp(PollEvented { io: Some(TcpStream { addr: <IP_ADDRESS>:49747, peer: <IP_ADDRESS>:3128, fd: 16 }) }), buffer: 0/1460, written: 0 }, buffer: 0/65536 } }
[2024-04-13T14:47:12Z WARN  pingora_core::protocols::http::v1::server] Respond header is already sent, cannot send again
[2024-04-13T14:47:12Z ERROR pingora_proxy] Fail to proxy: Downstream ConnectError context: Peer: addr: <IP_ADDRESS>:3128, scheme: HTTP, cause:  context: Sent data after end of body, status: 400, tries: 1, retry: false, CONNECT google.com:443, Host: google.com:443
[2024-04-13T14:47:12Z DEBUG pingora_core::protocols::l4::stream] Dropping socket BufStream { inner: BufReader { reader: BufWriter { writer: Tcp(PollEvented { io: Some(TcpStream { addr: <IP_ADDRESS>:8080, peer: <IP_ADDRESS>:49746, fd: 15 }) }), buffer: 0/1460, written: 0 }, buffer: 319/65536 } }

And the cURL command resulted in:
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to google.com:443

Should I configure Pingora differently?
I was manage to make it with in duplex mode with the example from here but then I can't use the request_filter method.

Circling back to this it looks like there's an issue handling CONNECT responses.
[2024-04-13T14:47:12Z WARN  pingora_core::protocols::http::v1::server] Respond header is already sent, cannot send again

I’m facing the same issue, were you able to figure it out?

I’m facing the same issue, were you able to figure it out?

Unfortunately no.
The options as I see them are:

This logic is not supported by Pingora.
The docs are not showing a valid example for this scenario.
Either way, no success so far.
Left our HAProxy + Lua at the moment.

Another use case is to setup a local dev proxy to run a http dev server like http://<IP_ADDRESS>:3000 (with response body Hello World!), then setup pingora to proxy a online https domain like https://example.com, when visit https://example.com the upstream will redirect to http://<IP_ADDRESS>:3000.
The curl command will be:
curl -x http://<IP_ADDRESS>:8080 https://example.com

And the response will be Hello World!


Unexpected character removed

Describe the bug
If I set a mask with group separator to "." and decimal separator in ","
When trying to remove the decimal digits and the decimal separator, the library also removes the last character of the integer value and moves the decimal separator "," to the place of the group separator
To Reproduce
Steps and link to sandbox. You can use jsfiddle
Expected behavior
It should maintain the value correctly, not eliminating the last digit of the entire value
https://github.com/RobinHerbots/Inputmask/assets/42501674/08de7c3d-1823-493d-8ce9-1a04cbb8bca2

Set "substituteRadixPoint" option to false. You need it to be disabled since you are using different group and decimal separators. Not sure how, but it does fix the issue.

thanks! It's working fine!
But why is this option not present in the documentation? (or I just didn't find it)

@jhonimaike, @Techn1c4l,
I will investigate why, because disabling that option shouldn't be needed.

@jhonimaike, @Techn1c4l,
The latest beta fixes the issue.
https://jsfiddle.net/wpnk54o9/


Improve loading time for images

Currently, images take a while to load as they're quite large. Can we compress the images when they are committed using a GitHub action to improve loading speeds?

@OmkarAcharekar and I would love to do this


fixed square black and white square bug with raphael 2.1.4

This should fix #18.

I've noticed that with this included, if I have more than one colour picker on the page, that the first picker's square is coloured, but the rest are not.


Octavia Prime showing up as "Titania Prime" (screenshot)

OS: W10
Version 9.3.3

Probably because Octavia Prime was just released. Just letting someone know. Thanks!

Indeed, it's doing fuzzy matching and it's closest. We will have a look, but most likely it will get autoresolved tonight when Warframe-items picks new mobile API changes.

New items should be available to you. She's showing up in a simple search on the api, so should come up ok from y'all's pull.

@GregariousJB do you mind checking out if this issue is still happening now after Octavia is available in our datasets?

I didn't test the Octavia Prime Systems like in the screenshot, but I just got the Octavia Prime Neuroptics and it showed up fine in WFinfo. I think this issue is fixed, thanks!


Contributing back to LevelGraph

Can our indexing strategy be ported to LevelGraph?

Quad duplication has been eliminated by 7dc3d47c86a2792b41ab5cbf6f8738917b66fe05 .

Closing as very unlikely due to the complexity of levelgraph's codebase. Also, https://github.com/levelgraph/levelgraph/issues/167.


PStream modifications

Modelled PStream as a FOAM interface
Added auto generation of ProxyPStream
Modelled Parser as a FOAM interface
Added auto generation of ProxyParser
Added apply method to PStream interface
Modified Parser implementations to make use of the apply function instead of the parser function.
Renamed StringPS to StringPStream

@eatonk @kgrgreer This is a breaking change. Consumers of StringPS in JavaScript are broken without warning. Could we please revert and ease into deprecation in JavaScript?

@mdittmer I've submitted a PR that reverts the name back to StringPS


Security Issue

psi version: - 4.1.0
We are getting vulnerability issue while doing npm audit fix for Angular js project in psi npm
High            Prototype Pollution in node-forge
Package         node-forge
Patched in      >= 0.10.0
Dependency of   psi [dev]
Path            psi > googleapis > google-auth-library > gtoken >
google-p12-pem > node-forge
More info       https://npmjs.com/advisories/1561
High            Prototype Pollution in node-forge
Package         node-forge
Patched in      >= 0.10.0
Dependency of   psi [dev]
Path            psi > googleapis > googleapis-common > google-auth-library >
gtoken > google-p12-pem > node-forge
More info       https://npmjs.com/advisories/1561
Please let us know if any fix is available.

Would love if this got merged in!


glib: 2.80.2 -> 2.80.3

Changes: https://gitlab.gnome.org/GNOME/glib/-/releases/2.80.3
Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

The update causes aarch64-darwin failure (confirmed by reverting locally).  Log: https://hydra.nixos.org/build/264536642/nixlog/1/tail

Looks like it requires https://gitlab.gnome.org/GNOME/glib/-/commit/9d0988ca62ee96e09aa76abbd65ff192cfce6858

Ok, let's backport this, let me create a PR real quick

Avoid rebuilding glib on linux at this point, please.


XmlAdaptedPerson#toModelType(): Enforce checking of required parameters #725

Fixes #725
XmlAdaptedPerson#toModelType() does not have a non-null check for each
parameter in person before the isValid*(String).

When null value is passed into the parameter's isValid*(String) check,
a NullPointerException is thrown, causing the app to crash.

Let's update XmlAdaptedPerson#toModelType() to have a separate non-null
check for each parameter before passing them into the isValid*(String)
check.

Reworking on this issue since #749 has been resolved.

@Zhiyuan-Amos @damithc
Sorry, I actually forgot that I should also add regression tests for XmlSerializableAddressBookTest and XmlAddressBookStorageTest as well since they were in a separate commit which I removed previously 💦.
Will submit a new iteration again for your review after adding them back.

Sorry, I actually forgot that I should also add regression tests for XmlSerializableAddressBookTest and XmlAddressBookStorageTest as well since they were in a separate commit which I removed previously 💦.

Why do you need (regression?) tests for that?

Why do you need (regression?) tests for that?

To test that reading files with missing values will also throw the IllegalValueException to the higher level components.

To test that reading files with missing values will also throw the IllegalValueException to the higher level components.

The test in XmlAdaptedPersonTest is sufficient, because each test is supposed to cover the code path of the method that it is testing for. E.g. In XmlSerializableAddressBook:
https://github.com/se-edu/addressbook-level4/blob/master/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java#L49-L58
We just need a code path to test for 1 kind of wrong tag that will throw IllegalValueException at addressBook.addTag(t.toModelType());, and 1 kind of wrong person that will throw IllegalValueException at addressBook.addPerson(p.toModelType());

While there is test for throws IllegalValueException, there isn't any test to ensure that the correct message is being shown. E.g, phone is null but shows name is empty field instead. This also helps to ensure that the throws clause is being executed at the correct location.

Good catch @eugenepeh. That means we need to write another method in Assert class.

@Zhiyuan-Amos @eugenepeh

Also, instead of using "Name", would it be better to use Name.class.getSimpleName()?

Sounds good, will try that.

The test in XmlAdaptedPersonTest is sufficient, because each test is supposed to cover the code path of the method that it is testing for. E.g. In XmlSerializableAddressBook

Hmm, my thinking was that XmlAdaptedPersonTest only tests for the null values within themselves, but we should also add tests of reading a valid xml format file but it has missing fields (no  <name> </name>), testing that doing so will cause the values saved in the XmlAdaptedPerson to be null and thus throws the IllegalValueException.

That means we need to write another method in Assert class.

Will add that in an earlier commit. Which reminds me, should we instead switch to import the static method import seedu.address.testutil.Assert.assertThrows so that we can remove the Assert static call in front of each Assert.assertThrows(IllegalValueException.class, person::toModelType) in XmlAdaptedPersonTest?

we should also add tests of reading a valid xml format file but it has missing fields (no  )

Hmm I'm thinking that we should test XmlUtil#getDataFromFile(File, Class<T>) instead. So we pass in a .xml file with missing field, and we set the class to be XmlAdaptedPerson. Then we call XmlAdaptedPerson#toModelType() to ensure that IllegalValueException is thrown.

should I overload assertThrows method with an additional String expectedMessage parameter so that methods that also want to check the message thrown can use it?

Yup. This seems to be a more natural way of doing things.

On a side note:
https://github.com/se-edu/addressbook-level4/blob/2e7f092c5e58dff587347304f59b0b8286abdaee/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java#L43-L49
Do we have tests to check that duplicate persons will throw IllegalValueException? Since it's specified in the header comments.

We are basically trying to test that when a .xml file with missing field is being converted to an object (whatever object, be it XmlSerializableAddressBook, XmlAdaptedPerson etc), then the field remains missing, and we expect an IllegalValueException to be thrown when toModelType() is called right?
I'm thinking that we should test using XmlUtil#getDataFromFile(File, Class). So we pass in a .xml file with missing field, and we set the class to be XmlAdaptedPerson. Then we call XmlAdaptedPerson#toModelType() to ensure that IllegalValueException is thrown. I.e. this can be written XmlAdaptedPersonTest.
If we have tested for what I've suggested above, then I'm not too sure whether there's a need to write another test in XmlSerializableAddressBook as mentioned above

Noted. Will try that out. Just thought that we should also test reading of files, and what you suggested seems better.

Do we have tests to check that duplicate persons will throw IllegalValueException? Since it's specified in the header comments.

Don't think there is any 😓. Probably should raise another issue for that.

@Zhiyuan-Amos for your review again.

2nd para:

We are unable to perform stronger tests to verify the correctness of
the error message thrown.

Would it be better if we add in that some method/tests throws different instances of the same exception class for different errors, thus there is a need for a stronger test for these method/tests to ensure we are testing the correct exception instance.?

Would it be better if we add in that some method/tests throws different instances of the same exception class for different errors, thus there is a need for a stronger test for these method/tests to ensure we are testing the correct exception instance.?

Also ok, but you have to specify in the first paragraph that Assert#assertThrows(...) is a test utility method which helps us to test that certain methods throw Exception... Something like that.  Just be clear ah :)

@damithc shall we merge this immediately too as this PR fixes one of the issues raised by the students over the past semester?

@damithc shall we merge this immediately too as this PR fixes one of the issues raised by the students over the past semester?

Just checked the CS2103 timeline. level 4 is released next week, not this week. So it is fine if we merge by  this Friday.


chore: add .dockerignore and simplify Dockerfile

Description

Add .dockerignore to exclude files that're not needed by Docker Image and simplify the Dockerfile.
Linked Issues
Additional context

The following is a simplification of dockerfile:

No need to create the /usr/src directory before WORKDIR, it will be created automatically.
Combine these ENV commands into one line.
EXPOSE the environment variable PORT, no numbers needed.
Use the exec form in the CMD.

In the end, dockerfile should start with a capital letter D, so rename it to Dockerfile.
Reference: https://docs.docker.com/engine/reference/builder/
I don't know much about Node.js, so please excuse my mistakes.

Thanks


feat: add ory/hydra

https://github.com/aquaproj/aqua-registry/pull/6276 ory/hydra: OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Works with Hardware Security Modules. Compatible with MITREid
$ aqua g -i ory/hydra

Thanks!

Released. https://github.com/aquaproj/aqua-registry/releases/tag/v3.55.0


[Feature]: Improve "init/finish" interface using a context manager

Description
In Python, bracketing patterns are typically represented using context managers.  This ensures that the closing part of the bracket necessarily happens even in the case of exceptions.
Also, when a function takes more than a few parameters, these parameters are typically wrapped in a dataclass so that shim functions don't have to either copy the entire parameter list (which is onerous to maintain), or else use keyword argument unpacking (which loses type annotations).
Suggested Solution
I suggest adding wandb_context_manager as the return value of wandb.init (make Run a context manager), and WAndBSettings as wandb.InitSettings:
from collections.abc import Generator, Sequence
from contextlib import contextmanager
from dataclasses import dataclass
from os import PathLike
from typing import Any

import wandb
from wandb.sdk.wandb_run import Run

__all__ = ['WAndBSettings', 'wandb_context_manager']

@dataclass
class WAndBSettings:
    job_type: str | None = None
    dir: str | PathLike[str] | None = None
    config: dict[str, Any] | str | None = None
    project: str | None = None
    entity: str | None = None
    reinit: bool | None = None
    tags: Sequence[Any] | None = None
    group: str | None = None
    name: str | None = None
    notes: str | None = None
    magic: dict[str, Any] | str | bool | None = None
    config_exclude_keys: list[str] | None = None
    config_include_keys: list[str] | None = None
    anonymous: str | None = None
    mode: str | None = None
    allow_val_change: bool | None = None
    resume: bool | str | None = None
    force: bool | None = None
    tensorboard: bool | None = None
    sync_tensorboard: bool | None = None
    monitor_gym: bool | None = None
    save_code: bool | None = None
    id: str | None = None
    settings: wandb.Settings | dict[str, Any] | None = None

@contextmanager
def wandb_context_manager(settings: WAndBSettings) -> Generator[Run, None, None]:
    run = wandb.init(job_type=settings.job_type,
                     dir=settings.dir,
                     config=settings.config,
                     project=settings.project,
                     entity=settings.entity,
                     reinit=settings.reinit,
                     tags=settings.tags,
                     group=settings.group,
                     name=settings.name,
                     notes=settings.notes,
                     magic=settings.magic,
                     config_exclude_keys=settings.config_exclude_keys,
                     config_include_keys=settings.config_include_keys,
                     anonymous=settings.anonymous,
                     mode=settings.mode,
                     allow_val_change=settings.allow_val_change,
                     resume=settings.resume,
                     force=settings.force,
                     tensorboard=settings.tensorboard,
                     sync_tensorboard=settings.sync_tensorboard,
                     monitor_gym=settings.monitor_gym,
                     save_code=settings.save_code,
                     id=settings.id,
                     settings=settings.settings)
    assert isinstance(run, Run)
    yield run
    run.finish()

Alternatives
No response
Additional Context
No response

Hi @NeilGirdhar! Thank you for the feedback. I will go ahead and send it to our SDK team to take a look at!


Create astar.py

Assigned Issue Number ?
#597
Language Opted ?
Python
Number of files added or updated ?
1
Name of these files ?
Algorithms => Graph_Algorithms => A_star=> astar.py
example :
Algorithm => Search_Algorithm => Linear_Search => Linear_Search.py
Checklist

[ y] I've read the contribution guidelines.
[ y] I've referred the correct issue number.
[ y] I've fill up this entire template correctly.

I have creates a pull request for this algorithm in python


Buildr added to the showcase

Merged. Thanks for the PR! Please feel free to close it and delete the branch.

Ping @mahnuh! Please close this PR.