Debugging with babel-register + NodeJs does not work

VSCode Version: 1.0.0
OS Version: Mac OS 10.11.3

Setup Steps:

Download and expand NodeJsWithBabelDebuggingExample.ZIP
into a local folder.
Open the Terminal and point it to the folder from Step 1.
Run npm install (to install the Babel dependencies).
Run npm start (to demonstrate that the project is working Node program) which should produce a few lines of output and no errors.

Steps to Reproduce (on Mac OS):

In VS Code, open the folder created in the steps above.
Press F5 to start debugging the program.
Observe the debugger break at line 1 of ./index.js, which is a comment.  (This is the first sign of trouble.)
Repeatedly press F10 (to step) and observe the debugger break on various other lines of ./index.js that have nothing to do with the code being executed.

Apparently, the inline source map generated by Babel is either being missed, ignored, or misinterpreted.  It is also possible that the source map may be faulty, but seeing as a similar setup using other tools (such as Chrome Dev Tools) results in accurate debugging (and only when the source map is supplied) suggests that this is not the case.
Btw, VS Code gives zero feedback (as far as I can see) as to whether a source map was found and/or is being used, making it almost impossible to diagnose this type of trouble.
A few questions:

Have a done something wrong in this setup?  Is there something wrong or missing in my launch.json or package.json (where the Babel settings are)?
Are there some diagnostics that I can enable in VS Code to help determine what is going wrong?
Should I even expect to be able to successfully perform source-level debugging of dynamically-transpiled code with VS Code like this, or not?  (Other tools can do it, so I will be disappointed if this is not a supported use-case for VS Code.)

The VS Code web pages (https://code.visualstudio.com/docs/editor/debugging) certainly make this sound like I should reasonably expect debugging to work:

Source maps can be generated with two kinds of inlining:

Inlined source maps: the generated JavaScript file contains the source map as a data URI at the end (instead of referencing the source map through a file URI).
Inlined source: the source map contains the original source (instead of referencing the source through a path).

VS Code supports both the inlined source maps and the inlined source.

As far as I know, setting { "sourceMaps": "inline" } in the Babel configuration (which this project does via package.json) adheres to the first case ("inlined source maps") which the above quote from the VS Code web pages seems to suggest is supported.
Thanks.

@isidorn @weinand fyi

@mattflix VS Code does support inlined source maps but it does not yet support **dynamically generated ** source maps. We are working on this feature already (and the April plan includes already some experimental support for dynamically generated source maps).
The babel-register setup is especially tricky because it maps the original source *.js to *.js.source and the generated JavaScript to the original source. This is not a big problem in a debug-only tool like node-inspector which gets all its files through node.js. But in VS Code it is much more difficult because we have to map the files seen by node.js back to the workspace (filesystem) that VS Code sees. And VS Code does not know what babel-register is actually doing.

@weinand  Thanks for the reply.  Good to know that the feature is being worked on.
Fwiw, Chrome DevTools with a workspace configured (where it can read/write from the local file system, turning into a more or less full editor/debugger) manages to work well with the source maps produced by dynamic Babel transpilation.. so it can't be that tricky.  :)  It creates the illusion that you are debugging and editing only the original source files.  It even subtly shades the lines in the code editor that have been mapped by the source map (which is as example of providing feedback about whether or not source maps have been used).

@mattflix VS Code's node debugging is limited by the v8 debugger protocol, it cannot (yet) use the Remote Debugging Protocol. On the other hand the VS Code debugger supports many more languages/runtimes than the Chrome DevTools. One consequence of this is that the VS Code debugger doesn't know anything about source maps. Providing source map feedback in the UI requires more abstractions and protocol enhancements which we will add over time.

@weinand  Thanks for the reply.  I don't debug Node.js per se in the regular Chome DevTools, but I can debug projects that take advantage of dynamic Babel transpilation via SystemJS there.  The source maps are provided inline (by Babel) and Chrome consumes them.  Used in conjunction with a DevTools workspace, to point to my local files, the debugging experience is very good.  Plus, I find that it is one of the fastest (most responsive) Javascript debugging environments out there.
In any case, the source map issues are a bit orthogonal to the "pure Node" debugging case but, to answer your question, I can simulate Node-style module resolution using SystemJS by "pre-resolving" all my module locations and writing them to a configuration for SystemJS (a bit like how JSPM works) such that all my requires and imports work as they would running under Node.exe.  Of course, I can't use Node-only APIs this way (fs, http), but I am usually debugging "pure" Javascript code, rather than anything Node-specific.

Is this still being worked on?

Is this being worked on?

This mostly works right now. The only real problem I see is that sometimes the debugger hangs. It's more reliable if you use "type": "node2" if you're targeting Node 6.3+. A couple things still show up, in both 'node' and 'node2' -

It usually breaks on the first line automatically. This is because it takes so long to launch that our debugger thinks that the pause is a legit pause, not the --debug-brk pause on launch that we expect to get. If this is a big problem I could increase the timeout but it could come at the cost of other scenarios so I'd rather not.

There are some extra steps that aren't associated with lines of authored code. This is because you're stepping over lines of code that were written by babel. If you debug without sourcemaps, you can see these extra lines around the 'import'. If this is annoying, you can set "smartStep": true and it will automatically step over them.

Is this still being worked on? Without this, vscode is basically just another text editor

Did you see my last comment? Last I tried, I considered it usable.

I think you may want to take another look at it. Every time I set a break point it moves it to a completely unrelated line, it usually even moves my breakpoints outside of the functions I'm trying to test. I wouldn't consider that usable.

I'll follow up in that issue.

Seem to work for me atm, maybe other case going on here<EMAIL_ADDRESS>

@katopz using your configuration I managed to get the breakpoints working, but they are still jumping around a bit unexpectedly. But at least its functional.

@katopz what command are you running with babel-register? Right now I am running
babel-node.js --debug --presets es2015 -- index.js --debug
in the terminal and the I am using your launch.json to try an attach to it. But my breakpoints are not being hit. How would I use babel-register?

@wonbyte I use F5 to debug and it run with node not babel-node as I mention in my blog.
for babel-node you'll need
https://github.com/katopz/universal-boilerplate/blob/master/.vscode/launch.json#L13
and run it with F5 no terminal and babel-register need here.
And you can't just put everything there it'll mess up, try start from working one. e.g. here which super easy to follow.
Cheers

@katopz when I hit F5 I see, 'There are not entries to pick from'

@katopz The solution you provided in your blog, seems to work the best for me. I really wanted to use the node2 debugger, but the old node debugger works better. node2 does work, but the problem is that it doesn't show me the values of variables if i hover them. It's also nice that you mention to enable the  retainLines option, because it doesn't work if you leave the option disabled. What exactly does this option do? Maybe i don't quite get the concept of this option, i thought the original line numbers always get mapped into the source file?!
Thanks!

I also look for a good way to debug babel transpiled code with vscode.

I tried but failed, can it work with async features?

@mengxingshike2012 yes, debugging async features works. But the use of babel could be a problem because of its dynamically generated JavaScript and source maps. I suggest that you add "protocol": "inspector" to your launch config.

maybe the most simple way to reach it.
lanunch.json
{   "version": "0.2.0",   "configurations": [     {       "name": "Launch",       "type": "node",       "program": "${workspaceRoot}/app.js",       "runtimeExecutable": "/usr/local/bin/babel-node",       "sourceMaps": true     }   ] }
.babelrc
{   "presets": ["env"],   "retainLines": true }

open your project with vscode.
switch to debug mode, choose Launch, run it.
add a breakpoint.
open in chrome browser.
boom !!! here the breakpoint is going on.

vscode can't hit the breakpoint, too,
just debug on chrome-dev-tools, without source map
Is this being worked on?

@su-rm-rf I tried your suggestion on launch.json and .babelrc but still have the same problem. My problem happens only on an "export default" for a class that has a async/await method.
When I use "export async function" debugging works fine!
If the class method is not async it works too!
Here some example from my code:
users.js
`import UserBusiness from './UserBusiness'
export async function authenticate (req, res) {
const result = await UserBusiness.authenticate(req.body)
return result
}
`
UserBusiness.js
`import BaseBusiness from './BaseBusiness'
const base = BaseBusiness('Users')
export async function authenticate (parameters) {
return base.authenticate(parameters)
}`
BaseBusiness.js
export default class BaseBusiness {   constructor (modelName) {     this.modelName = modelName   }   async authenticate (params) {     return params   } }
Can u help me?

@linomarcos You have explicitly stated that you don't have the issue mentioned - in all 3 cases the debugger stops.
Your actual issue is well known and is still open.

So. Anyone still can't get this to work?
Or can we close this ticket?

I will close this - using "inspector", I believe it works as well as it can.

In case somebody find it through google.
electron 1.7* + babel-register example of debugging configuration that works for me.
VSCode debug config:
        {
            "name": "Launch",
            "type": "node",
            "request": "launch",
            "stopOnEntry": false,
            "args": [],
            "cwd": "${workspaceRoot}",
            "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
            "runtimeArgs": [
                "-r",
                "babel-register",
                "./app"
            ],
            "sourceMaps": true,
            "outFiles": []
        },

package.json
  "devDependencies": {
    "babel-preset-es2015": "6.16.0",
    "babel-preset-es2016": "6.16.0",
    "babel-preset-react": "6.16.0",
    "babel-register": "6.16.0",
    "electron": "1.7.9",
    "electron-builder": "19.42.2",
    "electron-rebuild": "1.6.0",
    "eslint": "3.17.0",
    "gulp-util": "3.0.8"
  }

.babelrc
{
    "presets": ["es2016", "es2015", "react"],
    "sourceMaps": "inline",
    "retainLines": true
}


eureka: adds comment for follow-up regarding healthCheckPath

there's a hack currently in place, and it makes a log warning regardless of if eureka is in use. You can see it by going to the docker/examples directory and doing this:
$ TAG=master docker-compose -f docker-compose-eureka.yml up
--snip--
zipkin  | 2024-01-04 14:36:20:477 [main] WARN RejectedRouteHandler - Virtual host '*' has a duplicate route: /health
--snip--

This should be fixable by https://github.com/line/armeria/pull/5369

thanks for the look @reta!


tablex.pairmap: append if key already exists

Previously, a call to tablex.pairmap would overwrite values if a value
was returned for a key that already had a value. Now, when a value is
returned for a key that already exists, we convert the key's value into
a table containing the original value and append the new value being
returned into that table.  Running test-tablex.lua passed after this
modification.
Here's the motivating use case that will make this clearer:
trial_ids = {"001","001","002","002"}
--I'd like a list of which trials have ids 1 and which trials have ids 2, so I tried
--calling tablex.index_map:
trial_nums_for_ids = tablex.index_map(trial_ids)
--but I got this output (which occurs because index_map calls tablex.pairmap,
--which overwrites the value associated with a key whenever a value is returned
--for an existing key)
{
001: 2
002: 4
}
--my changes to pairmap produce the following desired output:
{["001"] = {1,2}, ["002"] = {3,4}}

Hi, Obviously I just submitted this pull request yesterday, but I'm a bit confused as to how the minor change caused the changes in coverage reported above.  Would love some feedback if/when someone is free.  Thanks!

@ElPiloto coverage decreased because most of the code you added isn't executed during testing. You should add a test checking the new behaviour to tests/test-tablex.lua.

I think this is useful functionality, but I agree with Peter - once you provide an extra test in test-tablex.lua then the coverage warning will go away.  When adding new functionality, the tests are an important source of documentation as well as being a sanity check.

I think this is useful functionality, but I agree with Peter - once you provide an extra test in test-tablex.lua then the coverage warning will go away.  When adding new functionality, the tests are an important source of documentation as well as being a sanity check.

Thanks for the feedback.  I was initially confused because I saw red highlighted lines in coveralls for code I didn't modify.  I eventually figured out that was existing missing coverage and had nothing to do with my commit.  Anyway, it's all fixed now.

Thanks, man. Release coming up!


10% improvement from parallelizing munmap(); jumps to around 12th from 16th based on local testing; no Unsafe; no bitwise tricks yet

Check List:

[x] Tests pass (./test.sh <username> shows no differences between expected and actual outputs)
[x] All formatting changes by the build are committed
[x] Your launch script is named calculate_average_<username>.sh (make sure to match casing of your GH user name) and is executable
[x] Output matches that of calculate_average_baseline.sh
[x] For new entries, or after substantial changes: When implementing custom hash structures, please point to where you deal with hash collisions (line number). See L907 for hash collisions and key equality checking

Timing went from ~2.50 secs to ~2.25 secs

#
Result (m:s.ms)
Implementation
JDK
Submitter
Notes

1
00:02.240
link
21.0.1-open
unbounded

2
00:02.250
link
21.0.1-graal
Elliot Barlas

3
00:02.272
link
21.0.1-graal
Subrahmanyam

00:02.411
link
21.0.1-graal
Jamal Mulla

00:02.442
link
21.0.1-graal
Yavuz Tas

00:02.597
link
21.0.1-open
John Ziamos

00:02.634
link
21.0.1-open
Arjen Wisse

00:02.709
link
21.0.1-open
Olivier Bourgain

00:05.089 now.


Improve performance and scalability of BERT FT training

What does this PR do?
I propose an optimization patch which improves the performance of BERT fine-tuning training and scale up factor to over 90%. In this approach, forward and backward passes are recorded using HPU graph mechanism, which gives a solid general boost (both single-worker and multi-worker), as well as invokes a single all-reduce collective operation on fused bfloat16 gradients. The scaling factor for 8 workers in relation to 1 worker is over 90% measured by unbiased throughput.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

Hi @mlapinski-habana! Nice PR to integrate HPU graphs for training :rocket:
Not reviewing now since it is still a draft, just a quick question: is this code compatible with SynapseAI 1.8.0?

Hi @regisss,
It has not been tested with SynapseAI 1.8.0 yet. Also, I have proven it works correctly only for a specific case of one epoch training of question answering with batch size of 24.

It has not been tested with SynapseAI 1.8.0 yet. Also, I have proven it works correctly only for a specific case of one epoch training of question answering with batch size of 24.

Okay I see. Eager to see a full training with it :slightly_smiling_face:

Thank you kindly @regisss for the feedback. I will rewrite the patch and have it tested properly.

I opened a second pull request, an immediate continuation of this one.
https://github.com/huggingface/optimum-habana/pull/200
Sorry for that.


ACELP typo correction

You need to change the resulting cpp file too.

Yep...i did it too fast ;)
Thanks.

Do the VIDEO_DELAY value can have decimal numbers ?

Yes (I think I don't do it for the moment, but it is a possibility if/when I want to have precision more than the millisecond)

Thank you :) It was for our parsing Regex string.


⚠ AGEG website (prod) has degraded performance

In d466061, AGEG website (prod) (https://www.ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 4488 ms

Resolved: AGEG website (prod) performance has improved in da2024b.


Ccpansys/solutions e2e testing

This PR adds a workflow file that will trigger the solution templates e2e tests on each PR that modifies one of the Solution templates.

@nick-marnik, @jacobevansgit: Thank you for your feedback!

@ccpansys This build triggered on a different PR and it looks like the secret may not exist: https://github.com/ansys/ansys-templates/actions/runs/6746000959/job/18338968194
Based on line 9, are you sure that ${{ secrets.ANSYS_SOLUTIONS_E2E_TESTS }} exists on this repo? I don't have admin access to check myself 😢

@nick-marnik That is surprising. The workflow has run with that token before, so it must exist (or it did, at least). And I am afraid I don't have permissions to check, either. @iazehaf, can you help us figure this one out?

I just checked and @ccpansys is correct, this build has run successfully in the past: https://github.com/ansys/ansys-templates/actions/workflows/solutions_ci.yml
I am just speculating, but I suspect this may be related to my permissions on this repo. Comparing the successful builds to my failed build, the difference is that my PR is based off of a branch from my personal fork of this repository. At one point in time, I correctly had write permissions for this repo and was able to push my branch directly. However, somewhere along the way of the public/private migrations of this repo, my permissions were broken and I was relegated to using a fork.
Paging @jacobevansgit for comment
PR in question: https://github.com/ansys/ansys-templates/pull/365

Sorry @nick-marnik  @ccpansys  I am also not admin of this org. Please reach out to Pyansys colleagues.
However after looking at this PR again, I am wondering if we should have this open repo signalling to start tests inside our internal org. The more appropriate way for this to scale would be to have the tests repo "listen" to this repository (ansys-templates) for any changes and then trigger if any are found.
Updating the ansys-templates each time for a future 5-10-50 repositories that need testing after this repo has changes, is not appropriate IMO.

Sorry @nick-marnik @ccpansys I am also not admin of this org. Please reach out to Pyansys colleagues.
However after looking at this PR again, I am wondering if we should have this open repo signalling to start tests inside our internal org. The more appropriate way for this to scale would be to have the tests repo "listen" to this repository (ansys-templates) for any changes and then trigger if any are found.
Updating the ansys-templates each time for a future 5-10-50 repositories that need testing after this repo has changes, is not appropriate IMO.

I don't disagree with your premise, but unfortunately I am not aware of a way to achieve this behavior. Currently, workflow_run triggers only work within the same repository, not between repos.
@jorgepiloto Do you have any idea what could be happening with the secret mentioned above?

Hi @nick-marnik. I can confirm that the secret ANSYS_SOLUTIONS_E2E_TESTS exists in this repository. It was updated two weeks ago. Have you authorized the TOKEN to operate with the Solution Applications org?

Hi @nick-marnik. I can confirm that the secret ANSYS_SOLUTIONS_E2E_TESTS exists in this repository. It was updated two weeks ago. Have you authorized the TOKEN to operate with the Solution Applications org?

I don't have access to see this, either, but I assume it is configured correctly because it works for some builds.
Are my permissions on this repo correct? I am curious if testing with a non-forked branch would yield different results.


Feat: move chain specific logic to importable submodule

Is your feature request related to a problem?
The introduction of non-Ethereum based use cases has caused divergence in the branches of pooler, where each chain's use cases require their own branch. Additionally, pooler requires a separate branch for use cases depending on their use of Uniswap V2 or Uniswap V3 smart contracts and pair addresses. This divergence has caused implementing feature updates and performing maintenance across use cases more difficult than it needs to be.
Describe the solution you'd like
These chain specific components should be moved to a separate submodule (e.g. chain_utils) to be imported on demand for each chain. This will allow every use case to share the same pooler version, while still allowing for changes to be made for chain specific issues.
Describe alternatives you've considered
I've considered moving chain specific logic to the compute module of each use case, but this will only create a dependency that each compute module will need to meet and is unnecessary.
Additional context
N/A

Implemented in https://github.com/PowerLoom/snapshotter-core/pull/10


update

This would need a new version to be published

I would suggest publishing this version under your own account. This replaces our current variants with lower contrast. If anything we would want to add a low contrast version of each variant but that would create a cluttered theme list. This is the same reason we don't publish a version without italics
https://code.visualstudio.com/api/working-with-extensions/publishing-extension


Adding Codefresh

codefresh.io
Codefresh is a container delivery toolchain that includes CI/CD, Docker Registry, and on-demand staging environments. It's the first CI/CD built specifically for Docker.
By submitting this pull request I confirm I've read and complied with the below requirements.
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.

I have read and understood the contribution guidelines Yes

The project submitted is conform to the quality standards outlined in the contribution guidelines

Go to the contribution guidelines and read it again.

RULES (because you probably didn't read the guidelines):
Links will be tested with awesome_bot. Please make sure your URL to be listed is unique (do some search queries), otherwise put a link at the end of README.md file.

FORMAT

Use the following format: [Name](Link) - Description.
[Name] should be the title of the project
(Link) should be pointing to a GitHub repository, not to a website
Description. should end with a full stop/period
For GitHub repositories, add the name of the author with a link to its GitHub account after the description, like By [@author](GitHub account)

ORDER: The entries are in lexical order (English letter order)
LABEL (Optional)

$$$ indicates if one needs a paying subscription to use the project.
Add $$$ next to the project name like [Name $$$](Link)
BETA indicates that the project is in beta phase.
Add BETA next to the project name like [Name BETA](Link)

Hi @dan-Codefresh
Thanks for sharing the tool.
According to the URL validator tool awesome_bot, codefresh is already listed -> under CI Services.
Currently, the Awesome Docker team are refreshing the categories (see issue #393). So, it is possible that your contribution is no longer correct and/or some items have to be (re)moved.
Until we reordered the categories, all incoming PRs will be on hold.
Thank your for your understanding.
The Awesome Docker Team

Hi @dan-Codefresh,
I went through your PR again and unfortunately, I have to close it for the following reasons:

The URL codefresh.io is listed multiple times in different categories. In my opinion, it's already correctly listed under CI services.
In such case it is also considered as promotion on behalf of an organization which is not desirable.
Didn't follow the contribution guidelines: $$$ not added. Even if Codefresh provides a free service, there is of course a limitation for this and sometime a paid subscription is required then.
As commented concerning blogs, we're mainly looking for advanced topics.

Of course, if you have an awesome Open Source project/tool related to Docker, please let us know and/or make a PR.
The Awesome Docker Team


Fixing editorial inconsistencies

Improved and removed inaccuracies and inconsistencies from several markdown files.

[x] Have you followed the contributing guidelines?
[x] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Ok

E?

Thank you! 🙌🏻

Thank you! 🙌🏻

I should be the one thanking you :-)


Confirm that Poisson clock filtering is still valid

It's been a while since we implemented and validated this filter.  We should check how many recent genomes are being filtered out.  Eventually we'll need to add a Poisson correction a la Jukes Cantor.

Bumping priority to address questions about B.1.1.529

import json
recoded = json.load(open("recoded.json"))

outfile = open('iss367.csv', 'w')
outfile.write("lineage,index,mindate,ndiffs\n")

for lineage, ldata in recoded.items():
    print(lineage)
    for index, diffs in enumerate(ldata["indexed"]):
        ndiffs = len(diffs)
        labels = ldata["labels"][str(index)]
        # determine earliest sample date
        dates = [label.split('|')[-1] for label in labels]
        mindate = min(dates)  # ISO dates sort as strings
        outfile.write("{},{},{},{}\n".format(lineage, index, mindate, ndiffs))
outfile.close()

df <- read.csv("iss367.csv")
df$mindate <- as.Date(df$mindate)
set.seed(1)
idx <- sample(1:nrow(df), 2e4)
x <- df$mindate[idx]
y <- df$ndiffs[idx]
origin <- as.Date('2019-12-01')
maxdate <- max(df$mindate)
rate <- 8e-4 * 29907 / 365
res <- 150
png(file="rtt.png", width=5*res, height=5*res, res=res)
par(mar=c(5,5,1,1), cex=1)
plot(x, jitter(y), xlab='Sample collection date',
     ylab='Number of differences', cex.lab=1.2,
     pch=20, col=rgb(0,0,0,0.2), cex=0.5)
segments(x0=origin, x1=maxdate, y0=0, y1=rate*as.integer(maxdate-origin),
         col='red', lwd=2)
dev.off()

Good news is that clock rate still seems to hold, and we don't seem to be trimming too much of the distribution with Poisson quantiles (note this filter has already been applied to the recoded.json data).
The not so great news is that there seems to be two clock rates, with a later stage probably associated with the emergence and sweep of B.1.1.617 (Delta).

Added Poisson 0.1% quantile cutoffs and B.1.1.529 genomes (red):


K coin Matrix Dp Problem

It is one of the Multidimensional (3d) dynamic programming Problem with some elegant solution
The problem is :
Given a N x N matrix where every cell has some number of coins. Count number of ways to reach bottom right cell of matrix from top left cell with exactly K coins. We can move to (i+1, j) or (i, j+1) from a cell (i, j).
Input:
2
16
3
1 2 3 4 6 5 9 8 7
12
3
1 2 3 4 6 5 3 2 1
Output:
0
2
@amritansh22  can you assign this to me so I can work on it in Oct?

can you assign me this problem

@Tripathi-Alok This issue is already assigned you may look for other issues or open your own here


Release/v1.0.10

We are pleased to announce v1.0.10.

@platfowner Thanks for the review! Merging now!


impl Deserialize for &'a Path

From our IRC discussion. My first PR here, so let me know if anything's off at all!

Thanks! I published this in Serde 1.0.3.


be more docker layer-cache friendly

I used a different requirements.txt file with pinned dependencies versions so it only expire the "pip install -r requirements.txt" layer when a version or new dep is added to this file.

Also based the image on ubuntu:12.04 as base:12.04 is an internal image not available to open public.

@ruairif this is ready to merge.


Doesn't work on Nova v2.11.1

Just shows nothing like without ResourceNavigationTab wrapper.
Any suggestion?
return [
ResourceNavigationTab::make([
'label' => 'Information',
'fields' => [
ID::make()->sortable(),
]
]),
ResourceNavigationTab::make([
'label' => 'Information 23354',
'fields' => [
ID::make()->sortable(),
]
]),
];
Shows 2 columns Id, no tabs

Did you forgot to include the trait? use HasResourceNavigationTabTrait; ?

This is a problem for me as well.
Have seem in another one of your projects that Nova 3 is now required. I'm getting the fieldsMethod() error.
Probably something to solve via composer.json to avoid upgrade for those still using Nova 2

Sorry about that I will start adding the constraints on the composer.json files

Thanks, very grateful for the awesome packages that you make available!


[All Hosts] (ui) remove any implication that add-in can have more tha…

…n 1 custom tab
There will be a corresponding PR in the references repo with the same purpose.

Docs Build status updates of commit a6b452e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/design/add-in-commands.md
:white_check_mark:Succeeded
View

docs/design/contextual-tabs.md
:white_check_mark:Succeeded
View

docs/develop/develop-overview.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


 They were 1 and 2 blocks away from the block I respawned in respectfully.
I apologize but I haven’t been able to bring myself to repeat the circumstances on more of them. It was quite traumatic. lol

It's not a bug, it's a feature 🤣😂

I think that this one can be closed. I have tried so many different ways of dying it is starting to feel like Groundhog Day. I have used water to shove the armor stand around, I have tried catching the golems when they were doing something, all to no avail. I suppose I should be happy. haha
I logged in once to find their parts on the ground but there wasn't anything I could see in the logs to indicate why. I'll report anything new I find but I think the respawn isn't the cause.


Add TryConfigure method

I'd like to be able to only configure options when they have not been configured already. E.g. when a framework sets default options but they can be overridden by the end-user.

Hi @henkmollema, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

@HaoK I think we talked about taking this but that it needed to be re-implemented based on TryAdd() and obviously rebased with all the renaming churn :sweat:. Can you take a look?

@divega do you mean something like this?
services.TryAddSingleton<IConfigureOptions<TOptions>>(new ConfigureOptions<TOptions>(setup));
// or
services.TryAdd(ServiceDescriptor.Singleton<IConfigureOptions<TOptions>>(new ConfigureOptions<TOptions>(setup)));

Whatever works. If the code reads similar to the non-try version on https://github.com/aspnet/Options/blob/dev/src/Microsoft.Extensions.Options.ConfigurationExtensions/OptionsServiceCollectionExtensions.cs the better. The main issue is that the method that was originally in the PR doesn't exist anymore.


this keeps appearing when i enter a song

Describe your bug here. If you are modding, try testing your bug in a clean version of the engine instead. Also, if you're using an older version of JSE, please try the latest version/action build. Also, be sure to check the pinned 'JS Engine: Known Issues' issue, to check if your issue hasn't already been found!
i dont know much sorry
Command Prompt/Terminal/Crash logs (if existing)
Uncaught Error: Null Object Reference
flixel/animation/FlxAnimationController.findByPrefix() [line 739]
Paths.addAnimAndCheck() [line 156]
Paths.initSplash() [line 138]
NoteSplash.loadAnims() [line 116]
NoteSplash.setupNoteSplash() [line 63]
NoteSplash.new() [line 44]
PlayState.create() [line 1182]
flixel/FlxGame.switchState() [line 639]
flixel/FlxGame.update() [line 726]
flixel/FlxGame.step() [line 679]
flixel/FlxGame.onEnterFrame() [line 558]
openfl/events/EventDispatcher.__dispatchEvent() [line 426]
openfl/display/DisplayObject.__dispatch() [line 1398]
Please report this error to the GitHub page: https://github.com/JordanSantiagoYT/FNF-JS-Engine
The engine has saved a crash log inside the crash folder, If you're making a GitHub issue you might want to send that!
Have you identified any steps to reproduce the bug? If so, please describe them below in as much detail as possible. Use images if possible.
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
i added songs and added characters
If you use 1.12.0 or earlier, did you have Optimized Chart Loading turned on?
None
Did you check for any similar issues to what you're reporting? Check, then come back here. If there is a similar issue, then do not report the issue, otherwise it will be marked as a duplicate.
Yes

duplicate of https://github.com/JordanSantiagoYT/FNF-JS-Engine/issues/559.
try going to Options, enter the Visuals & UI menu to reset your note splash/skin settings to defaults, then try again. If it still crashes, then you're missing a required config file for your game to work. Head to the Note Splash Editor by pressing 7 in the main menu, then entering the Note Splash Debug Editor and create one for your skin.


Add your github profile in contributors.json

Are you still active? @chandan-reddy-k

@debugleader yes

Please check my PR @chandan-reddy-k

Please check my PR @chandan-reddy-k

don it

Hey, @chandan-reddy-k please review my PR and merge in your repo. my id is @urjit2498

Hi  @chandan-reddy-k ,
please can you review and merge my pull request?
Thanks.

Hey! @chandan-reddy-k , Checkout my PR and merge it.
Thanks.

Hi! @chandan-reddy-k  , Checkout my PR and merge it.
Thanks.

Please check my PR @chandan-reddy-k
#226

hi can u plz check my pull request

is this pr count on hacktober fest

Please review my pull request. #682

https://github.com/OpenSourceTogether/Hacktoberfest-2020/issues/146

added  #770

This is counting or not for the Hacktoberfest 20202

@chandan-reddy-k I've made a PR to this issue, please review and merge it.

Hello, I made a PR for this issue but how can I add a hacktoberfest label to make sure it counts?

HOw to contribute in this?

Please check out my PR #888

@chandan-reddy-k , you still accepting?

Please check my PR #1018

Hi !
I've tried two times to add my profile and failed on 'Run schema check' , what's up with that ? 🤔

is it assigned? can I try it now?


Add tailwind

Closes #163
There is a lot in this PR, I'm sorry in advance for the review 🙈
I tried to break it with as many commits as possible
What's in this PR?

Add tailwind with django-tailwind
Remove django-bootstrap
Keep the style has it was with Tailwind
Review the reponsiveness
Starting of a re-org and theme dedicated for the project (not finished but ready for production at least)

What's missing?

Responsive of the blog page and entry page

Screenshots 📷

@dawnwages this is going to require the build process to change to involve the following commands:
manage.py tailwind install
manage.py tailwind build
# then manage.py collectstatic

As suggested, these need to be run before collectstatic.

For anyone else running this, you'll need to run the following commands
pip install -r requirements/requirements-dev.txt
python manage.py tailwind install
python manage.py tailwind start

Then in a separate terminal, you'll need to run runserver as usual. This will configure the frontend to be served separately from the django app.


Change Logs and Fix Readme for Config-UI-X

Hey @ztalbot2000  I was wondering if you can make your change logs appear in config-ui-x? Some plugins when updated on config UI X have a pop-up box that lists the latest updates to the plug-in :) I believe all you need to do is move the Changelog from README.md to the CHANGELOG.md file.
I have noticed when updating your plug-in from config UI X, that the readme file comes up before clicking continue, but the last two updates it still shows three updates ago about changes to suffix commands or something like that. Last time I figured it may have been a glitch but I saw it again with your not recent update.

Hi,
It is the notes written directly in postinstall.js.  It is crudely
triggered only when major changes occur to warn of things you must know
about.  Minor changes like spelling errors are unimportant.  It kind of
depends what version you came from and too.
TTFN,
John
On Mon, Jul 20, 2020 at 2:13 AM mitch7391<EMAIL_ADDRESS>wrote:

Hey @ztalbot2000 https://github.com/ztalbot2000 I was wondering if you
can make your change logs appear in config-ui-x? Some plugins when updated
on config UI X have a pop-up box that lists the latest updates to the
plug-in :) I believe all you need to do is move the Changelog from
README.md to the CHANGELOG.md file.
I have noticed when updating your plug-in from config UI X, that the
readme file comes up before clicking continue, but the last two updates it
still shows three updates ago about changes to suffix commands or something
like that. Last time I figured it may have been a glitch but I saw it again
with your not recent update.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ztalbot2000/homebridge-cmd4/issues/62, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSBCX7Q4ZCJVQVFWOZDCH3R4POB3ANCNFSM4PB5FUWQ
.

Oh ok, I guess for someone who doesn’t know that, it almost appears as if you are installing the same version again. I’ll keep that in mind in future.

Hi,
just released 2.4.0. it is mainly a refactor, but it does move everything to a ChangeLog file.  The postinstall.js file now just gives a kind of Welcome message.
I hope this helps any confusion you may have had.
ttfn,
John Talbot

Thanks John :)


Enforce valid URL on group links input

Closes #86

Looks great @urigat.
Can you please make sure to format the code using prettier?


test(e2e): disable flaky test PVC

Fixes #
Description
We've noticed a high rate of flakiness with the PVC test suite.
It order to make the development process smoother, I'm disabling the E2E test for now, while we work on improving it.
How was this change tested?
Nothing additional. Its disabling.
*
Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

Release Note

NONE

Closing this PR, and deleting branch for cleanliness as its been stale and open for a long time with no current plans for completion.
If we see this test causing issues, we can create a new branch and PR to disable it.


TCP connections don't work on wine

I'm a bit in rush. There seems to be an issue with async-std/smol/wepoll under wine, which is rooted in usage of an undocumented windows API that wine doesn't support.
https://bugs.winehq.org/show_bug.cgi?id=50520
https://github.com/tokio-rs/mio/issues/1444#issuecomment-766396117

smol relies on wepoll to work, and the wepoll maintainer has replied here stating that this is in fact due to missing emulation in Wine. Fixing this would be non-trivial.
One option we could perhaps employ though would be to fall back to a thread-pool based implementation on Wine (based on blocking + std::net::TcpStream). It'd be slow, but at least it wouldn't panic. Which I'm guessing would be a step up from the current status quo.
The question is how to detect we're running under Wine though. Perhaps we could scan whether the syscall exists and then swap backends? Perhaps Wine has a canonical way to allow people to detect it? We should probably figure that out since we shouldn't default to using the thread pool for all Windows targets.

smol relies on wepoll to work, and the wepoll maintainer has replied here stating that this is in fact due to missing emulation in Wine. Fixing this would be non-trivial.
One option we could perhaps employ though would be to fall back to a thread-pool based implementation on Wine (based on blocking + std::net::TcpStream). It'd be slow, but at least it wouldn't panic. Which I'm guessing would be a step up from the current status quo.
The question is how to detect we're running under Wine though. Perhaps we could scan whether the syscall exists and then swap backends? Perhaps Wine has a canonical way to allow people to detect it? We should probably figure that out since we shouldn't default to using the thread pool for all Windows targets.

AFAIK Wine has a few env vars set that make it obvious. I don't know about the threadpool idea though. It might catch ppl by surprise.

AFAIK Wine has a few env vars set that make it obvious. I don't know about the threadpool idea though. It might catch ppl by surprise.

I don't know about the threadpool idea though. It might catch ppl by surprise.

By default our async FS operations already run on a threadpool; this will change with io_uring / ringbahn eventually but only as an enhancement if we detect the OS has support for it.
I'm curious though: is the worry that the performance may not be good enough? Would it be enough if we documented this clearly?

AFAIK Wine has a few env vars set that make it obvious.

Yay!

I don't know about the threadpool idea though. It might catch ppl by surprise.

By default our async FS operations already run on a threadpool; this will change with io_uring / ringbahn eventually but only as an enhancement if we detect the OS has support for it.
I'm curious though: is the worry that the performance may not be good enough? Would it be enough if we documented this clearly?

AFAIK Wine has a few env vars set that make it obvious.

Yay!

I don't know much about async-std, as I mainly use smol. So I didn't know that FS is already using a thread pool. I think Wine is mostly used for games, but I don't know what the priorities for most developers are in that case. A threadpool definitely sounds better than crashing or blocking though.
Take my comment just as from someone who has no idea what they are talking about 🙂

I don't know much about async-std, as I mainly use smol. So I didn't know that FS is already using a thread pool. I think Wine is mostly used for games, but I don't know what the priorities for most developers are in that case. A threadpool definitely sounds better than crashing or blocking though.
Take my comment just as from someone who has no idea what they are talking about 🙂

https://github.com/tokio-rs/mio/issues/1444#issuecomment-867685922

This may still be an issue. Wine on Ubuntu 22 still uses 6.0.3, and Debian Stable is still on version 5.


Feature request: check_success to also accept a list of callbacks

Would be great if check_success would have the ability to not just receive a callback, but also a list of callbacks.
check_success: Union[Callback, List[Callback]]

The (very real) use case I have here is that when making a REST call, there are different verifications that need to be made before continuing the code.  These verifications are mix-and-match, depending on the scenario and I would love to do something like:
result = polling.poll(
    client.get_data,
    check_success=[
        lambda response: error_check(response, 200),
        validate_data,
        lambda response: check_something_else(response, some_other_args),
    ]
)

So check_success would only pass if all callables return True (if list, otherwise call the one callable passed in check_success, as-is now).

I think It would be unclear whether it has to pass all of them or one of them.
Alternatively, why not just wrap these into a single function? It is simple to create a function that unionizes them all while being more explicit.
check_success = lambda response: all([
    error_check(response,200),
    validate_data(response),
    something_else(response)
])

it also allows you do an "any" instead
Alternatively, It is simple to create a function that unionizes them all while being more clear.
check_success = lambda response: any([
    test_1(response),
    test_2(response),
    test_3(response)
])

wholy crap, that's an excellent suggestion!  beating myself for not having thought of that before..  Use any and all all the time.


Provide a method with all available Resources listed

In order to provide Developer Support functionalities, such as https://github.com/xFAANG/askql/issues/360, we need a method which returns a list of available resources. For each of resources it should return at least:

resource name
resource return type
a list of arguments ((type, name) pairs),

where 'type' means an AskScript type.

Hi @czerwinskilukasz1 ! It is not clear to me where the listed informations, in particular the the one about the arguments, would be available. I've been looking at the content of resource(), I get something like this {"name":"resource","type":{"name":"any","prototype":null},"argsType":{"name":"any!","prototype":null}} for a given resource, but it seemed to lack info about the resource arguments, in particular the number of arguments, and I think the described type of the resource is a typescript one, not the askscript (but I'm not sure). So I also took a look into the content of askscript.grammar.pegjs.classes file, but I didn't find the info I was looking for. Is it something that remains to be implemented (add some more info somewhere in the code about the resource) or did you have already an idea where to look for these informations (and maybe I did not search properly)? Thank you!


Step 3: compute optimal n sizes from both datasets

[ ] multiply both arrays to find all required image widths
[ ] find most frequent widths (above a threshold)
[ ] reduce the array with n pixels neighbours

Hi @nhoizey, I'm using daltons to optimize images on the website of one of my clients, but I figure out that the step 3 is not complete. What is the actual state of daltons? Do you plan to working on the step 3 soon? I watched your talk at We Love Speed 2018, and I was impressed by the fantastic possiblities of this tool to improve images loading :slightly_smiling_face:
Thanks!

Done in #210 🙏


P-type potassium:proton exporter activity

Unlike mammals, fungi may pump potassium out of cells, as they are sometimes exposed to very high K+ environments (living on lysed plant matter etc)
An example of this is pombe cta3 11932440 and S. occidentalis ENA2 9430707 (mainly IMP and complementation experiments, no hardcore biochemistry unfortunately)
Currently there is no MF for the exporting activity
the def for P-type potassium transmembrane transporter activity states
Enables the transfer of a solute or solutes from one side of a membrane to the other according to the reaction: ATP + H2O + K+(out) = ADP + phosphate + K+(in).
This is appropriate for mammalian transporters e.g. ATP4A
The gastric hydrogen potassium ATPase or H+/K+ ATPase is the proton pump of the stomach. It exchanges potassium from the intestinal lumen  with cytoplasmic hydronium
it also looks appropriate for bacteria e.g. kdpC
Part of the high-affinity ATP-driven potassium transport (or Kdp) system, which catalyzes the hydrolysis of ATP coupled with the electrogenic transport of potassium into the cytoplasm
https://www.ebi.ac.uk/QuickGO/annotations?goUsage=descendants&goUsageRelationships=is_a,part_of,occurs_in&goId=GO:0008556&evidenceCode=ECO:0000269&evidenceCodeUsage=descendants
but not for the fungal exporting atpase (plant may also have this transporter)
there is a p-type sodium exporter  term: GO:0008554 P-type sodium transporter activity
Can we have a term for the potassium exporter a la GO:0008554?
I asked RHEA for advise and Kristian replied:
_GO:0008556 and RHEA:16777 describing a K+ importer is definitely not suitable
to use for a K+ exporter, so you should ask for a new GO term to cover your
activity. I will look at the evidence for CTA3 to see if it is well enough
characterised to create a new reaction. If I do create the reaction, it will
probably not include H+ counter transport since this has actually not been
shown it is only plausible theory.
I might take a little while before I can look at this issue, so don't wait for
the reaction._
@ValWood

Rhea created this reaction :
RHEA:75815 ATP + H2O + K+(in) = ADP + H+ + K+(out) + phosphate

Hi @Antonialock
Right now we do have some 'efflux' and 'influx' MF terms, but these are redundant with BPs. Right now I would suggest using 'MF GO:0008900 P-type potassium:proton transporter activity' + BP GO:0097623 potassium ion export across plasma membrane (and maybe even GO:0030007 'intracellular potassium ion homeostasis').
Does that work for you? Or do you think the direction of the transport belongs in the MF?

ping @Antonialock

Thanks I swapped GO:0015079 with GO:0008900, I had already annotated to  GO:0097623
I don't think we need the direction in the MF if it is in the BP.


Will it be possible to delete a token from the dApp?

If you have an unwanted Token.

You can send the token to a burn address and remove it from your wallet.

#define CC_BURNPUBKEY "02deaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddead"
This is the defined burn pubkey if you want to destroy a token

Should we make a specific 'Burn' option that does this for the user?

Should we make a specific 'Burn' option that does this for the user?

I vote yes.

Is #define CC_BURNPUBKEY already active?
I just tried it, but it doesn't work.

Should we make a specific 'Burn' option that does this for the user?

I too vote yes for there is an unwanted NFT in my GUI staring at me all the time.

I tried to manually send a token to this burn address and the dapp fails to do so.
https://i.gyazo.com/69ccacc27452d5dc5f67d84b907e11a9.png
log output:
[2022-02-02 11:03:57.532] [error] unreachable

The new valid burn pubkey is:
02deaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaddeaa
When a token is sent to this pubkey, the market UTXO will be spent as well.
This code will be implemented by @dimxy

This has been implemented in the latest hard fork.

This has been implemented in the latest hard fork.

This is some wonderful news!


Make CompatibilityOptions an object, not a class

This PR migrates CompatibilityOptions from a class with static properties into a plain Javascript object. This is from https://github.com/BabylonJS/Babylon.js/issues/14805. Continued from #15376.

Reopening with the addition of 075363d because of @sebavan's comment:

If the class with static sounds too much, you could simply replace with an object but keep the same structure.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Oops I didn't update the references. I'll do that tomorrow morning.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15380/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15380/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15380/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15380/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15380/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15380/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15380/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15380/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15380/merge/testResults/webgl2playwright/index.html

I am fine with this change. Just want to be sure the vis-tests pass

@RaananW,
This is kind of last minute, but could we still use a variable, and then export the object with getters and setters?
export let useOpenGLOrientationForUV = false;

export const CompatibilityOptions = {
	get UseOpenGLOrientationForUV() {
		return useOpenGLOrientationForUV;
	},
	set UseOpenGLOrientationForUV(value) {
		useOpenGLOrientationForUV = value;
	}
}

@RaananW,
This is kind of last minute, but could we still use a variable, and then export the object with getters and setters?
export let useOpenGLOrientationForUV = false;

export const CompatibilityOptions = {
	get UseOpenGLOrientationForUV() {
		return useOpenGLOrientationForUV;
	},
	set UseOpenGLOrientationForUV(value) {
		useOpenGLOrientationForUV = value;
	}
}

sure, but is there reasoning behind this? seems like the getter/setter are not really needed here

This just reduces bundle size and improves performance since all of the references aren't one on object:

Accessing useOpenGLOrientationForUV  is faster than CompatibilityOptions.UseOpenGLOrientationForUV
It removes CompatibilityOptions. from every access, which is 21 bytes, with 45 references that is ~1 KB (not very much, but still something).
It's cleaner syntax
Tree-shaking if more compatibility options are added in the future.

I haven't made the change yet, though I will if you give the green light.

This just reduces bundle size and improves performance since all of the references aren't one on object:

Accessing useOpenGLOrientationForUV is faster than CompatibilityOptions.UseOpenGLOrientationForUV
It removes CompatibilityOptions. from every access, which is 21 bytes, with 45 references that is ~1 KB (not very much, but still something).
It's cleaner syntax
Tree-shaking if more compatibility options are added in the future.

I haven't made the change yet, though I will if you give the green light.

On the other hand, legacy users (i.e. users who use CompatibilityOptions already) will have a slower access to the variable :-) There is always a trade-off.
I am fine with the change, as long as UMD doesn't export the variable. It should be an es6 feature only.

Okay.
I included a setOpenGLOrientationForUV, because with ES6 when you import something, you import the binding not the value, and the binding is read-only (though it's live). Because of that, we need a separate function for updating the value.
Given that it is a new function, and the naming convention of useOpenGLOrientationForUV is camel case, I opted to use camel case for the function's name. Please let me know if pascal case would be preferred for the variable and setter instead.

I included a setOpenGLOrientationForUV function because ES6 imports are read-only live bindings to symbols. Because of that, we need a separate function for updating the value.
Given that it is a new function, and the naming convention of useOpenGLOrientationForUV is camel case, I opted to use camel case for the function's name. Please let me know if pascal case would be preferred for the variable and setter instead.

This is fine as is right now. I'll merge this when CI is done


grub-bhyve hangs with 100% CPU usage when booting Debian

I cannot get Debian to boot with neither os=debian nor os=custom. It worked fine during iohyve install (using debian-8.3.0-amd64-CD-1.iso), but after destroying it and doing the initial iohyve start it spawns a grub-bhyve process that takes up 100% CPU, freezing cu and making the VM unable to start.
Am I doing something wrong? I have tried reinstalling GRUB using grub-install /dev/sda in the VM, to no avail. /boot is on its own partition (#1).
I learned about os=custom from the wiki page on CentOS, even though the feature doesn't seem to be documented in the manpage. I tried the following:
iohyve set web os=custom
iohyve set web autogrub='linux%1s(hd0,msdos1)/vmlinuz-3.16.0-4-amd64%1sroot=/dev/sda3%1sro%1squiet\ninitrd%1s(hd0,msdos1)/initrd.img-3.16.0-4-amd64\nboot\n'

However, the result was exactly the same after starting it.
I was wondering if the GRUB string might get cut off prematurely due to a character limit on ZFS property values:
# iohyve get web autogrub
Getting web prop autogrub...
linux%1s(hd0,msdos1)/vmlinuz-3.16.0-4-amd64%1sroot
# zfs get iohyve:autogrub zroot/iohyve/web
NAME              PROPERTY         VALUE                                               SOURCE
zroot/iohyve/web  iohyve:autogrub  linux%1s(hd0,msdos1)/vmlinuz-3.16.0-4-amd64%1sroot  local

Although it can just as well be a limit on the output of zfs get.
If I boot the VM by manually running grub-bhyve with the above boot parameters, it starts just fine.
I am using FreeBSD 10.2-RELEASE-p12 with iohyve-0.7.3 from ports.

First of, my apologies for the radio silence for a week.
Secondly, thanks for the detailed report! I do have a few questions.
Did you do an LVM install of Debian? If so, you may want to try os=d8lvm.
If you did a standard install of Debian without LVM support, can you try os=default?
As far as autogrub goes, it's very hacky and can lead to various issues. Because of this, we are phasing out the feature in favor of custom grub.cfg files in iohyve.
Thanks!

I'm going to go ahead and close this issue. If you have further issues related to this, feel free to pop back into this thread and I'll reopen.

Hello,
I'm using v0.7.7 on FreeNAS. I think I have the same problem.
grub-iohyve taking 100% cpu and iohyve start saying
GRUB Process does not run in background.... If your terminal appears to be hanging, check iohyve console backupqc in second terminal to complete GRUB process...
I installed an Ubuntu 16.04.1 VM (standard partition, no LVM) but once the VM is installed, I can't boot it. Setting os=default doesn't change anything. I already manually patched the issue fixed in a95e1d2.
I just reinstalled my VM with LVM this time and the VM is now booting.

I'm not sure if that fix made it into the latest release or not. If not we can tag a new one soon™. In the mean time, I would suggest upgrading to iohyve version 0.7.8 as it came with some more FreeNAS related bug fixes. If that is not the latest version provided by FreeNAS ports, I suggest pinging someone on the FreeNAS forums like their perpetually busy engineer Kris.
If you continue to have issues related to this, please feel free to open a new ticket. Thanks!


Rasa-X installation issue with pip

Rasa version: 2.3.1
Rasa SDK version (if used & relevant): 2.3.1
Rasa X version (if used & relevant):
Python version: 3.7.4
Operating system (windows, osx, ...): Windows-10-10.0.19041-SP0
Issue:
Rasa-X taking taking more than an hour to install and still not getting installed
Error (including full traceback):

Command or request that led to error:
pip3 install rasa-x --extra-index-url https://pypi.rasa.com/simple
Other commands were not working as well

This is due to pip:

pip install --upgrade pip==20.2
pip -V to make sure the right version is installed
pip install -U rasa-x --extra-index-url https://pypi.rasa.com/simple

OR
pip install --use-deprecated=legacy-resolver --user rasa-x --extra-index-url https://pypi.rasa.com/simple

I have tried all the above mentioned things. Issue is still not resolved.

Still taking long time? Or is there any different issue?

Thanks for the issue, @desmarchris will get back to you about it soon!
You may find help in the docs and the forum, too 🤗

Still taking long time? Or is there any different issue?

Yeah same issue. Taking a long time.

@rhazra-003 can you share the traceback / any logs you're seeing when you install with the commands above?

This is all what I am getting that I have shared earlier in the screenshot.

if you are still seeing those same logs, I don't think the commands above worked for your environment or another python environment overrides what you downgraded. Can you try with a fresh virtual environment?

I have repeated the procedure in a new conda env. But same issue was there as well.

I have exactly the same problem when installing on Windows. Hoping for a solution.

Hi @desmarchris , any solution?

Anybody found a solution for that problem, still can not install rasax

Native installation on windows isn't a supported environment for the current Rasa X release. I'd recommend using docker instead for a reliable installation on windows.


stages: add a sudoers stage

An initial implementation of a sudoers stage.
This is currently really basic as in it only takes some placeholders like so:
        {
          "type": "org.osbuild.sudoers",
          "options": {
            "filename": "/etc/sudoers.d/10-test",
            "specifications": [
              {
                "user": "user",
                "host": "ALL",
                "target": "ALL",
                "command": "ALL"
              }
            ]
          }
        }

And formats them into a file.

[ ] Validate data in fields according to the EBNF of sudo.
[ ] Do we want the types to be arrays and do the joining on , ourselves for User_List, etc
[ ] Do we want to validate that users/groups actually exist?
[ ] Do we want to run visudo -cf on the resultant file?

This idea came from the #947 PR.

With the merge of #1037, this now passes tests (at least locally) so I'm changing this from draft to an actual PR so we can discuss schema and scope.
user@desktopa osbuild € sudo pytest -vv test/run/test_stages.py -k sudoers
=============================== test session starts ===============================
platform linux -- Python 3.10.4, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /home/supakeen/src/osbuild
plugins: anyio-3.5.0
collected 60 items / 59 deselected / 1 selected

test/run/test_stages.py::TestStages::test_sudoers PASSED                    [100%]

=================== 1 passed, 59 deselected in 85.10s (0:01:25) ===================

Does it ever make sense to have these files anywhere else than /etc/sudo.d/? Could we hard code the directory?

@teg I think the only option I could see is if you want to write /etc/sudoers directly. That's likely a bad plan on the manifest creators side so hardcoding the prefix seems good to me.

i think we hardcode the "correct" path in other stages. usually we go for /usr if supported, but not sure if sudo supports that

Hardcoded the /etc/sudoers.d path. Changed filename pattern to not allow /.

I think this needs to run visudo -cs on the resulting changes to validate them. Otherwise you can end up with a situation where bad user input may be really difficult to debug.

@bcl Yea, I feel the same way. I'll add it.


about tag

excuse me , i like this theme very much ,thank you. but i hava a question , that is   how can i add tags when i create  a new post ?

That is not theme-related but Ghost-related. You should check the documentation: http://www.ghostforbeginners.com/how-to-categorize-ghost-blog-posts-with-tags/
Cheers!

oh!!!!!!!!! I find it!!!
Thank you !!!


Dot dot dot end of text

Describe the bug
Having a dot at the end of static content, dosen't get registerd as static content.

Fixed in 1.1.1

Fixed in 1.1.3


Bump peerDependencies to 0.14

And check if all works.

Blah, turned out it was another package that was causing issues :dancers:


receiver.complete_message(msg) is not settling the message in Service Bus Queue

Package Name: azure-servicebus
Package Version: 7.12.2
Operating System: Debian GNU/Linux 12 (bookworm)
Python Version: 3.9

Describe the bug
receiver.complete_message(msg) call is not settling the message in Service Bus Queue, instead the lock is released on the message after completion and the delivery count is incremented and it is available for pickup by next job instance. I have checked the lock_token, _lock_expired & _settled properties pre and post complete_message call, and do not see any anomaly there.
pre complete_message call value of lock_token: xxxx-xxxx-xxxx
pre complete_message call value of _lock_expired: False
pre complete_message call value of _settled: False
post complete_message call value of lock_token: None
post complete_message call value of _lock_expired: False
post complete_message call value of _settled: True
To Reproduce
Steps to reproduce the behavior:

Run the following code
from azure.servicebus import ServiceBusClient

import os
connstr = os.environ['SERVICE_BUS_CONNECTION_STR']
queue_name = os.environ['SERVICE_BUS_QUEUE_NAME']
with ServiceBusClient.from_connection_string(connstr) as client:
with client.get_queue_receiver(queue_name) as receiver:
for msg in receiver:
print(str(msg))
receiver.complete_message(msg)

Look at the message in the queue, it still remains active and available for pickup and delivery count is incremented.

Expected behavior
I expect that once the message is settled by complete_message call, it should be removed from the queue.

@ravi-stan thanks for your issue, the team will take a look as soon as possible.

Hi @ravi-stan,
I just tried the repro code posted above against a service bus queue with 21 messages. All of them were received by the iterator and then completed with the portal showing 0 messages in the queue after it was done.
My queue was using the default settings. Are there any other details or processes running ?

With all the logs enabled I go the following error message on receiver.complete_message(msg) call.
DEBUG | azure.servicebus._pyamqp.aio._transport_async | Transport write failed: ConnectionResetError('Cannot write to closing transport') Transport write failed: ConnectionResetError('Cannot write to closing transport')

Hi @ravi-stan, could you please provide the full logs of the run when the error occurred so we can provide assistance debugging the issue?

Did you try with Message lock duration on queue shorter than the processing time of message, i.e. before the complete_message call?

@ravi-stan just to understand the set up
A queue with a lock time of 5 mins
a message is pulled off and then processed for 7 mins
then try completing that message?
If thats the case, then the lock has been expired already and is available for someone else to pick up from the queue. That is an expected scenario and things are working just fine. To get around that you would need to use the autolock renewer.

@kashifkhan Thanks for your prompt response! Yes, I am using autolock renewer and setting the mac_lock_rnewal_duration as message TLL(which is longer than time it takes to process the message).

@ravi-stan can you provide a repro that shows how you are using the libraries exactly please. It wasn't clear from the initial code that auto lock renewer was being used.
DEBUG logs with frame tracing will also be super helpful. This line shared above would indicate issues on the network side and would prevent a message from being completed
DEBUG | azure.servicebus._pyamqp.aio._transport_async | Transport write failed: ConnectionResetError('Cannot write to closing transport') Transport write failed: ConnectionResetError('Cannot write to closing transport')
however just that one line is not enough for us to make any sort of determination and or have further insights.


SK-189 Add images support for profile

@Oleksandr1414 I have a more general thing to discuss regarding performance and possible optimizations.
It's probably make sense to try to reduce the amount of 'getAvatarUrl' requests by providing this data as a part of others requests which we already perform. For example, maybe we can return avatar object (with prebuilt url) as a part of get_participants_by_cids  so in this case we can reduce some noise at client-side.


add http response data

new values added to http for issue #172

Change looks good and user is happy. Merging.


Stack and queue

Stack/queue tests:

[x] Can successfully push onto a stack.
[x] Can successfully push multiple values onto a stack.
[x] Can successfully pop off the stack.
[x] Can successfully empty a stack after multiple pops.
[x] Can successfully peek the next item on the stack.
[x] Can successfully instantiate an empty stack.
[x] Calling pop or peek on empty stack raises an exception.
[x] Can successfully enqueue into a queue.
[x] Can successfully enqueue multiple values into a queue.
[x] Can successfully dequeue out of a queue the expected value.
[x] Can successfully peek into a queue, seeing the expected value.
[x] Can successfully empty a queue after multiple dequeues.
[x] Can successfully instantiate an empty queue.
[x] Calling dequeue or peek on empty queue raises an exception.


Unwrap phase node

Would you be open to an unwrap phase button, perhaps similar to the subtract average node/filter/widget (I'm not sure on the naming)? I can imagine the interface should not get too cluttered, but phase wrapping does come up quite frequently and makes it essentially impossible to look at the data. Or would you say the user should take care of this on their data acquisition end?

@abargerbos yes, i think that would be a great addition (even though i do tell my students to always use correct electrical delays in vna measurements, for example ;))
one option would indeed be an additional control like for the average subtraction.
an even better solution would be a more comprehensive filter node that does multiple 'typical' complex data operations (like rotation in iq space, etc).
did you mean to imply that you are willing to give a first prototype a shot? :)
I'm not yet sure when i myself would have the time to implement this, there's a few projects ahead of this on my end.

A node like that does sound like it would be very useful! I'm willing to give it a shot, but I can't yet guarantee when that will be either. To be continued!


Create benchmark for rare diseases based on GTRx and/or FDA's OOPD

Previously in https://github.com/TranslatorSRI/Benchmarks/pull/19, I created a benchmark associated with DrugCentral, which mostly focuses on common diseases and treatments.  This issue is to propose and track progress/discussion toward the creation of a benchmark focused on rare diseases and treatments.
Possible data sources for rare diseases and treatments include:

GTRX

website: https://gtrx.rbsapp.net/
api: https://biothings.ncats.io/gtrx

OOPD

website: https://www.accessdata.fda.gov/scripts/opdlisting/oopd/
api: https://mychem.info/v1/query?q=exists:fda_orphan_drug&fields=fda_orphan_drug

note, the API has older data, but the diseases have been normalized to UMLS

also remembering that we have a related issue #6 , which has an open PR #10

I created 3 benchmarks - GTRx, OOPD, and RareDisease (combination of GTRx and OOPD) - which can be found here: https://github.com/ngk5/Benchmarks/tree/main/config
Each benchmark contains

Jupyter Notebook that retrieves indications from the associated API
data_full.tsv with all indications before further processing, includes some attributes that may be helpful for filtering
data.tsv (subset of data_full.tsv) used to run the benchmark (GTRx and OOPD each have 20 entries, RareDisease has 50)
templates folder with treats.json (essentially the same in all 3 benchmarks)

Upon testing, each of these are returning a MRR of ~0.3 which seems as expected according to this analysis. Also note that some filtering decisions on the data.tsv files (e.g. only keeping cases with one drug per disease) were done to simplify data processing and to follow get_indications.py, but should be easily changeable from the respective benchmark's data_full.tsv.
Please take a look and let me know of any improvements!

Given the merge of #23, going to close this issue as successfully completed


Unexpected empty records while -f

Hi, I have problems when watching file with -f parameter. Everytime new log comes in, it is appended with extra empty record, after that line numbers does not comply with the real line numbers and makes the output disorganized.
Settings:
version v1.0.1-alpha
json format log files
custom config since time and level keys are different
input file log example:
when issuing jog -f <log_file>, the file had following record inside:
{"asctime":"2021-03-04T07:59:25+0100","levelname":"INFO","name":"some_component","filename":"some_file","message":"some_message"}
After a while I have manually added next log record on a next line:
{"asctime":"2021-03-04T08:02:46+0100","levelname":"CRITICAL","name":"other_component2","filename":"other_file2","message":"other_message2"}
Again after some time I have added the third line:
{"asctime":"2021-03-04T09:31:20+0100","levelname":"WARNING","name":"other_component","filename":"other_file","message":"other_message","exc_info":"optional_traceback"}
jog output:
while watching the file with -f mode

after quiting -f mode and starting it again

Config file
colorization: true
pattern: "${timestamp} - ${level} - ${app} - ${file}:${message}${stacktrace}${others}"

line-no:
  print: true
  color: FgRed
  print-format: "\n%s"

unknown-line:
  print: true
  color: FgGray

fields:
  others:
    name:
      color: FgYellow
    separator:
      label: =
      color: FgDefault
    value:
      color: FgDefault
    print-format: "\n%s"
  level: # 'level' field is a hard-coded field used for level filter as well, so don't rename it
         # And, it must be an enum.
    print-format: "%s" # follows https://golang.org/pkg/fmt/
    alias: "levelname"
    case-sensitive: false
    enums:
      case-sensitive: false
      NOTSET:
        alias: notset,0
        color: FgGray,OpBold
      DEBUG:
        alias: debug,10
        color: FgGreen,OpBold
      INFO:
        alias: info,20,
        color: FgBlue,OpBold,OpFuzzy
      WARNING:
        alias: warn,warning,30
        color: FgYellow,OpBold
      ERROR:
        alias: error,err,40
        color: FgMagenta,OpBold
      CRITICAL:
        alias: critical,50
        color: FgRed,OpBold
  app:
    print: false
    alias: "name"
    case-sensitive: false
    color: FgLightBlue
  file:
    alias: "filename"
    case-sensitive: false
    color: FgDefault
  message:
    alias: "message"
    case-sensitive: false
    color: FgCyan,OpItalic
    print-format: "\n%s"
  stacktrace:
    alias: "exc_info"
    case-sensitive: false
    color: FgDefault
    print-format: "\nStack trace: \n%s"
  timestamp: # 'timestamp' field is a hard-coded field used for time range filter as well, so don't rename it
    alias: "asctime"
    case-sensitive: false
    color: FgYellow

confirmed.

Fixed and included in release v1.0.2.alpha

Great, I really like jog and I really appreciate how quickly you respond and solve things. Thank you!


add a polyfiller

simple file to auto polyfill. taken from: https://github.com/developit/unfetch/blob/master/polyfill.js
useful with webpack. closes #46

@matthewmueller Thanks for the pull request. Unfortunately your pull request only works for browsers and people who are using webpack or browserify. I would be fine adding a polyfill file, but it needs to work without webpack and support Node.


[BUG] Excesive disk writes from redis cache when using Docker Compose

Describe the bug
Redis writes it's cache to disk too often cause excessive write throughput.
To Reproduce
Steps to reproduce the behavior:

Run Nostream using the provided Docker Compose templates
Run docker stats cache and monitor
Observe Disk I/O column, Output increases pretty fast.

Expected behavior

Redis uses default saving configuration. Remove --save command-line argument for redis-server.

Fixed in https://github.com/Cameri/nostream/releases/tag/v1.17.2


Command 'Wolfram Language Notebook: Create New Wolfram Language Notebook' resulted in an error (command 'wolframLanguageNotebook.new Notebook' not found)

When I try to use any command from WolframLanguageNotebook I receive the following error:
Command 'Wolfram Language
Notebook: Create New Wolfram Language Notebook' resulted in an error (command
'wolframLanguageNotebook.new
Notebook' not found)

Operating system: macOS Ventura 13.1
Mathematica/Engine: 13.2
VS Code:  1.74.2

Today I used this extension on my Windows 11 PC and everything was OK.

I am also experiencing the same problem in Windows 11 on ARM.
I am able to use it on Windows 11 (x64).
All four commands result in the same error.

wolframLanguageNotebook.newNotebook
wolframLanguageNotebook.manageKernels
wolframLanguageNotebook.exportAs
wolframLanguageNotebook.openConfigurations

I meet the same problem on arm macOS, waiting for solution!

Same problem running in an Ubuntu dev container/docker. Works in Ubuntu 23.04 outside containers.

Also same errors in vscode dev containers/docker with a Ubuntu 23.04 host. Works directly in the host OS though.

Same error with
macOS: Ventura 13.4
Mathematica/Engine: 13.2
VS Code: 1.79.2 (Universal)

same error here


Broken code after commenting / uncommenting

in *.cc files this line:
/*secure*/ false, /*reuse port*/ false, /*backlog*/ 1, /*SSL*/
turns into this after commenting:
/[>secure*/ false, /*reuse port*/ false, /*backlog*/ 1, /*SSL<]

I was able to use this as a workaround:
let g:NERDLPlace = "/*"
let g:NERDRPlace = "*/"


rectangles: improved unit-tests

used self.assertEqual (for easier debugging and consistency)
beautified closing brackets and removed superfluous comma

Look's great! Could you just change the commit message to imperative mood (see).

Done. Thank you for the link.
I am not sure whether i should capitalize the first letter though.

LGTM!
By the way I'm also not sure what the idea behind the exercise prefix is, as the commit message is only displayed on the files that are part of the commit, so it should be clear which exercise was changed.


[release-1.4] Add upgarde subcommand from operator to istioctl

Add operator (https://github.com/istio/operator) subcommand upgrade to istioctl.
Dependencies pulled by GO111MODULE=on go get<EMAIL_ADDRESS>(https://github.com/istio/istio/wiki/Vendor-FAQ), please let me know if I need use the master branch in operator.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[x] Test and Release
[x] User Experience
[ ] Developer Infrastructure

@elfinhe: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gencheck_istio_release-1.4
ff636d17f17e55a166169addd850e44ca6bf2314
link
/test gencheck_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@elfinhe: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gencheck_istio_release-1.4
ff636d17f17e55a166169addd850e44ca6bf2314
link
/test gencheck_istio_release-1.4

integ-istioio-k8s-tests_istio_release-1.4
ff636d17f17e55a166169addd850e44ca6bf2314
link
/test integ-istioio-k8s-tests_istio_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-istioio-k8s-tests_istio_release-1.4


Question:  setting a different unit for Y-axis, i.e., for translation --> elevation

Is there a setting to change the unit of the elevation w/o changing the source code?
In my case, I'm customizing this to display ocean front gradient values and the unit is K/100km or some variant. A sample data file is attached (rename to .js to include in the file header)
test.txt
Thank you

I am also struggling to figure out how to insert 'properties' in FeatureCollection. The example .js file provided with the plugin is not a valid geoJSON (fair enough) and properties cannot be specified for a FeatureCollection but only for features. When I read a geojson data dynamically, need to append the following leading and trailing blocks:
{
    "type": "FeatureCollection",
    "features": [
      **<<insert A valid geojson feature>>**
	],
    "properties": {
        "Creator": "https://www.star.nesdis.noaa.gov/star/socd_index.php",
        "records": 1,
        "summary": "steepness"
    }
}

My question is, can the 2nd set of properties at the bottom be specified externally to the plugin?


[Feature Request] Require review from Code Owners

It would be great if this tool could handle the setting of the Require Code Owner Reviews sub-property of branch protections.
This is governed by the require_code_owner_reviews property in the required_pull_request_reviews object.
This might go hand in hand with https://github.com/ossf/allstar/issues/284 (or negate the need for it).
https://docs.github.com/en/rest/branches/branch-protection#update-branch-protection
We are happy to contribute if you're happy to see this added.

Same as the other issue, happy to have more coverage of the BP options.

It can be closed I think @jeffmendoza  ?


Handle withdrawal abs max

Description
If the user trying to withdraw from a pool is a significant LP, i.e. they can withdraw more than 30% of the BPT in a pool, then currently the withdrawal form fails on selecting a single asset to withdraw.
This PR fixes the call to fetch the single asset max withdrawal by using the minimum of either the user's full balance or 30% of the BPT in the chosen token as the max value. It also adds a warning to explain why the maximum withdrawable amount is less than the user might be expecting.
This issue was less relevant before we launched pool creation. However, with pool creation live it's likely more users will run into this problem.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Dependency changes
[ ] Code refactor / cleanup
[ ] Documentation or wording changes
[ ] Other

How should this be tested?

[ ] Create a pool so you are the sole LP (or go to a pool you have previously created) and try to withdraw in a single asset. You should notice that the max withdrawable amount is not the full pool balance and you should see a warning.
[ ] Ensure that single asset maxes work as expected for other pools where you are not the majority LP

Visual context
Demo
Checklist:

[x] I have performed a self-review of my own code
[x] I have requested at least 2 reviews (If the PR is significant enough, use best judgement here)
[x] I have commented my code where relevant, particularly in hard-to-understand areas
[x] If package-lock.json has changes, it was intentional.
[x] The base of this PR is master if hotfix, develop if not

I haven't tested this yet because the graph is still having issues on Kovan. In the loom video though it seemed like you could only withdraw 30% of your DAI, not 30% of the pools value in DAI. As the overall pool value looks to be ~$1k.

Bug here:

Start withdrawing
Choose single asset (I chose WBTC)
Dismiss the warning
Enter '1' or any input to the withdrawal amount

https://www.loom.com/share/a642f543f48040ec8d5f0f2a130228ee


Oracle OpenJDK 21 support

Add test and documentation for Oracle OpenJDK 21 support.
There will be more to do when the other distributions support it, but it's the first at the moment.
Check list:

[x] Mark if documentation changes are required.
[x] Mark if tests were added or updated to cover the changes.

Thanks for updating! Please note that this is Oracle JDK and not OpenJDK.

You’re right @fniephaus ! I’ve been typing OpenJDK too much at work! I updated the title and description.

What's the status of this PR? I'd really appreciate being able to use JDK 21 in actions. Thanks!

Hi, @rjeberhard 👋 We'll take a look at the PR, but even without it, you already can install Oracle JDK 21 with setup-java.

@jdubois @sormuras Is there a plan to release this? Java 21 was released 2 months ago already..

@asolntsev I'm sorry but I just contributed this small PR and I'm not a member of the project, I have no idea when they'll do a release

Oracle JDK 21 should already be working fine. This PR just adds documentation and a test for it. Just specify java-version 21 or 21.0.1 or something like that and you should be good to go. Otherwise, please notify us here 🙂


Way to get expired elements.

I know I can clear expired elements via the .DeleteExpired() method. My question is, is there a way to get the expired elements?
Right now I am using it as a vendor module by adding the following method.
// PopExpired deletes and return all expired items from the cache.
func (c *Cache[K, V]) PopExpired() []V {
	c.items.mu.Lock()
	defer c.items.mu.Unlock()

	if c.items.expQueue.isEmpty() {
		return nil
	}

	expired := make([]V, 0)

	e := c.items.expQueue[0]
	for e.Value.(*Item[K, V]).isExpiredUnsafe() {
		c.evict(EvictionReasonExpired, e)

		expired = append(expired, e.Value.(*Item[K, V]).value)

		if c.items.expQueue.isEmpty() {
			break
		}

		// expiration queue has a new root
		e = c.items.expQueue[0]
	}

	return expired
}

Do you think this is a safe and reasonable implementation, and if so, can we add it to the official API?

You can use OnEviction method. DeleteExpired is the only method that uses the EvictionReasonExpired reason, which can be used to identify deleted items.
Something like this:
// c is Cache instance.
cleanup := c.OnEviction(func(ctx context.Context, er ttlcache.EvictionReason, i *ttlcache.Item[string, string]) {
    if er != ttlcache.EvictionReasonExpired {
        return
    }

    // do something with the expired item.
})

// once we no longer need to track evicted items, we can remove the callback function.
defer cleanup()

c.DeleteExpired()

There is a way to do it.


Enabling/Disabling a Path

Describe the feature
Let me know if I'm missing something, but I do not see a way to disable a path without deleting it.
The Use Case I'm thinking of is a UI that uses the HTTP API to add/remove/configure stream paths. There may be cases where you want to disable a proxied stream to save resources, but you don't want to lose all of the path information associated with it since you will enable it at a later time. And of course if you are able to disable, the feature would need to allow enabling it again. "sourceOnDemand" helps conserve resources if there are no readers, but it won't kick off active readers.
A simple addition to the configuration file like "sourceEnabled: true" or "sourceEnabled: false" would work.

Good idea, +1.
Thanks for a great project aler9!

I have a use case in retail for camera sharing where it is required to pause a stream to one application reader, reposition the camera (using PTZ) for a minute or so to look at something else for a different use case, put the camera back and then resume the initial stream.
Automating this through an API is required.
Potentially this could help here.

@pkerney store the entire path configuration somewhere in the application that is controlling the server through the API, add it to the server when you need it and remove it when you don't need it anymore.


Restructure Documentation Top-Level Structure

As Cora the developer, I want consolidated developer documentation in the docs so that I am not confused by having several locations for different docs today and so I can easily find the specific type of developer docs I want.

Let's consolidate all "developer docs" into one top level item and then further split out app/core/jobs/etc. from there. Having them is separate locations in the docs today is very confusing.
Note that the docs.nautobot.com landing page has some hard coded links that will need to be updated.

@nautobot/core I believe this is done in next?


Not working on Win11 + 1.10 game version

Hopefully someone sees this!
I first tried with python 3.12 directly from their website and nothing happened, uninstalled then tried with the Store version and now it does open python console, then closes it and the game never starts. I tried everything I thought of, including "unblocking" the er-patcher file as Windows for some reason "blocks it" as it's probably not signed / recognized.
Any ideas? Anything I can edit in the file to make it work? I can see the temp folder is created and populated btw. If I try to run the eldenring.exe in there it just says a ton of dlls arent installed such as oo2core etc
I've tried:
python er-patcher --rate 120 --disable-vigniette --disable-ca --skip-intro --remove-60hz-fullscreen --disable-rune-loss -- %command%
and even simpler
python er-patcher --rate 120 --all --disable-rune-loss -- %command%
Thanks!

Has it ever worked for you on a previous version of the game or windows? 1.10 should be working fine so I guess its something with your setup.
Since the console window opens and the temp folder is created, the patcher script runs as intended, so no "blocking" by windows.
You can try python er-patcher -- %command% to see whether this is caused by any of the patches. Other than that I dont know what the problem could be. Dont have windows 11 either, so I cant test it on that.

To fix this on Windows 11, you can change L137 to
(game_dir_patched / f).hardlink_to(f)

Oh, ok. It seems then the core issue at play is that python 3.12 finally removed the link_to method.

@NostromoUS Can you please test this change and report back whether it solves your issue?
You can get the updated version here: https://github.com/gurrgur/er-patcher/tree/python-3-12-compat
Also thanks @mtnorthcott for the fix.


Working directory of "run settings" not taken into account when using dedicated interpreter

From<EMAIL_ADDRESS>on 2013-06-10T13:55:05Z
When executing a script into a new dedicated python interpreter, the specified working directory is not taken into account. It is also the case for the default working directory specified in the Preferences dialog.
Spyder always uses the script directory.
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1440

From<EMAIL_ADDRESS>on 2013-06-10T13:46:18Z
Just adding that I have the same problem with "Execute in an external System terminal".

From ccordoba12 on 2013-06-28T05:47:14Z
Labels: -MS-v2.2.1 MS-v2.3

From<EMAIL_ADDRESS>on 2013-08-15T21:11:31Z
I can't reproduce this on Windows 7 or on Ubuntu 13.04 under revision 5eddc313c2e5 . Everything seems to be working as designed. I'm going to mark this as WontFix, but if the problem arises again in the context of Windows XP, please reactivate.
Status: WontFix

From<EMAIL_ADDRESS>on 2013-07-04T11:57:58Z
I tried to debug this but the bug does not occur on my new machine (win7). I only had this issue with Windows XP.
I just used the script
import os
print os.getcwd()
to print the working directory and check that it was always using the directory of the python file.

From<EMAIL_ADDRESS>on 2013-08-16T06:21:24Z
OK, anyway, I don't have an XP available to reconfirm. Everything got migrated to win7.


Current rinkeby problem: Solver calculates wrong price

We have this failing solution on rinkeby https://gnosis-dev-dfusion.s3.amazonaws.com/data/rinkeby/open-solver/results/2020-04-24/instance_5292363_2020-04-24T06%3A22%3A52.976870141%2B00%3A00/06_solution_int_valid.json .
Look at the first order.
Smart contract has this:
    function getExecutedSellAmount(
        uint128 executedBuyAmount,
        uint128 buyTokenPrice,
        uint128 sellTokenPrice
    ) private pure returns (uint128) {
        return
            uint256(executedBuyAmount)
                .mul(buyTokenPrice)
                .div(FEE_DENOMINATOR - 1)
                .mul(FEE_DENOMINATOR)
                .div(sellTokenPrice)
                .toUint128();
    }

evaluating this with the first order and price gives
>>><PHONE_NUMBER>3809902 *<PHONE_NUMBER>050715546420634236 * 1000 / 999 /<PHONE_NUMBER>000000000
2.632644859491992e+25

which is larger than the orders sell amount.
I think the solver is using the wrong formula. If you swap the prices you get
>>><PHONE_NUMBER>3809902 *<PHONE_NUMBER>000000000 * 1000 / 999 /<PHONE_NUMBER>050715546420634236
16886419.0

which is execSellAmount + 1 of that order in the solution.
The correct price should be around 800889530 so that the execSellAmount matches.

Hi Valentim. I wonder if you can help me reproducing the problem here. Where does this value comes from<PHONE_NUMBER>3809902 ?

Nevermind. I was trying with the latest version from master, and I only got 3 matches. @josojo Is this the latest version with the economic viability order constraint enabled? If so, what was the  value passed for this parameter?

yeah, defintively ttag v0.0.6 was running and the variable passed for min-avg-fee-per-order was 0

The instance in question is this one: https://gist.github.com/josojo/313ce02794dc999e2715b5e0b6832a27

Using open-solver command "python" "-m" "src.match" "/app/instances/2020-04-24/instance_5292363_2020-04-24T06:22:52.976870141+00:00.json" "--solution=/app/results/2020-04-24/instance_5292363_2020-04-24T06:22:52.976870141+00:00/06_solution_int_valid.json" "--min-avg-fee-per-order=0" "best-token-pair"

This has been happening every batch for the rinkeby open solver for some time. So we have lots of (probably similar) instances. Sorry for not linking the instance in the OP. The link is https://gnosis-dev-dfusion.s3.amazonaws.com/data/rinkeby/open-solver/instances/2020-04-24/instance_5292387_2020-04-24T08%3A23%3A04.120587324%2B00%3A00.json .

No worries, thanks a lot for reporting this and pointing towards what seems to be the problem. I'll start there!


⚠ Bofrost.at has degraded performance

In ff42fff, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1281 ms

Resolved: Bofrost.at performance has improved in f7f681b after 15 minutes.