text:
Access denied in windows 11

i want to update version in my pc.
i download it with wget(windows) then extract it in previously directory.
PS C:\Portables\Tools> .\checkip.exe
Program 'checkip.exe' failed to run: Access is deniedAt line:1 char:1
+ .\checkip.exe
+ ~~~~~~~~~~~~~.
At line:1 char:1
+ .\checkip.exe
+ ~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
    + FullyQualifiedErrorId : NativeCommandFailed

i search a clue about wich file are denies but no luck.
i have .checkip.yaml in same directory also i copied it in to my user path.  c:\users\yunus.checkip.yaml
do you have any idea how can i run it. ?

Hi @cdprf. I don't have access to Windows (I use Linux + Mac) but a quick googling gave me this https://stackoverflow.com/questions/69671055/program-a-exe-failed-to-run-access-is-deniedat-line1-char1. Are you maybe running some antivirus program?

thanks for the info,
yes i guess its related with some kind of security issue, i am using Windows defender,  that folder was in exlusion list.
somehow its blocking. even i disable av i still cannot run.
i installed Mcafee , then scan my pc, then remove it. also tryed to resetting Windows defender settings completely but no luck atm.
current situaition of my console like this.
PS C:\Users\yunus> checkip.exe 172.64.146.*** C:\Portables\Tools\checkip.exe: Ping: socket: The requested protocol has not been configured into the system, or no implementation for it exists. C:\Portables\Tools\checkip.exe: mkdir C:\Users\yunus\.checkip: Cannot create a file when that file already exists. C:\Portables\Tools\checkip.exe: mkdir C:\Users\yunus\.checkip: Cannot create a file when that file already exists. C:\Portables\Tools\checkip.exe: mkdir C:\Users\yunus\.checkip: Cannot create a file when that file already exists. C:\Portables\Tools\checkip.exe: Tls: remote error: tls: handshake failure db-ip.com       Toronto, Canada iptoasn.com     CLOUDFLARENET malicious       0% (0/2) ✅

still not working, but i found the problem.
microsoft's new 365 defender stuf has a "Attack surface reduction" and its blocking powershell windows, then block checkip.exe too.
now i am trying to leave that microsoft 365 thingy.
https://docs.microsoft.com/en-us/mem/intune/protect/endpoint-protection-windows-10#attack-surface-reduction-rules
thanks for the help.

authors: cdprf jreisinger

repo: jreisinger/checkip


text:
[docker] Ability to add extra file to a distribution/repo

usecase: trying to configure the docker publisher but I like to add a readme and a action.yml (to make it a github action docker repo).
I tried adding src/jreleaser/distributions/jbang/docker/README.tpl but still only got a dockerfile.
Is there a way to add additional files for the distributions that updates/modifiies a repo ?

note, I see there are things like ${docker.templateDirectory}/assembly but they dont seem to support using templates  ?

also, in case of docker these files are not meant for the image but for the repo.

Any files placed under src/jreleaser/distributions/<jbang>/docker/ will be automatically copied to the prepare and package directories found in out/jreleaser[prepare|package]/distributions/<name>/docker/. These files are not added to the generated image. For example
src/
├── jreleaser
│   ├── distributions
│   │   └── app
│   │       └── docker
│   │           ├── README.adoc
│   │           └── README.md.tpl

Results in

If src/jreleaser/distributions/<jbang>/docker/assembly exists then any files placed there will be added to the generated image.
Templates will be evaluated for all files, which is something I find a bit troublesome specifically with binary files (such as images). Templates should be evaluated only for files ending with .tpl IMHO.

source: gharchive/issue

authors: aalmiray maxandersen

repo: jreleaser/jreleaser

license_type: permissive

license_source: github-api


text:
[core] Expose project copyright and description as flags in release auto-config

Follow up to #918
Properties to be added:

copyright
description
inceptionYear
stereotype
authors

Released in v1.3.0 -> https://github.com/jreleaser/jreleaser/releases/tag/v1.3.0


text:
Latest commit to paperclip master breaks gem

https://github.com/thoughtbot/paperclip/commit/09d6bb7865c06de9e4b90328f507977ae6146814

@jeffblake Thanks. This should be now fixed on master

authors: jeffblake morgoth

license: mit

license_source: bigquery


text:
Bit length, useful for ordinary numbers?

I wrote this in the explainer:

In contrast to other operations – such as abs and sqrt from the BigInt Math proposal – the new bit-length API would probably be useful only on BigInts and not on ordinary numbers.

Is this really true? One potential use case for ordinary-number bit lengths might be conveniently determining whether an ordinary number integer will fit within e.g. an Int16Array.
Of course, this would be complicated by what to do with non-integer numbers (something to do with IEEE floating-point representation? truncate? throw a TypeError?).
Either way, before or even during Stage 1, it is worth explicitly considering bit lengths for ordinary numbers.

If I needed it for an integer number, i'd do BigInt(number).bitLength. I don't think there's a sensible answer for non-integer Numbers, and it'd be very weird to have an accessor that throws on some Numbers and not others.

I agree that “properties should not throw” is a good principle, that .bitLength would probably be best as a property, and that BigInt(number).bitLength probably is the best general solution. However, bit length is not necessarily a property; it could still be a static function like Math.bitLength() that throws or truncates on non-integer numbers. For example:
Math.bitLength(255) // 1?
Math.bitLength(255.5) // ???
Math.bitLength(255n) // 1

Basically, I’m trying to think about how consistent we should be between this proposal, proposal-popcount (which I would definitely use on 8-, 16-, and 32-bit integer numbers), as well as maybe the existing Math.clz32:

Function
Useful for non-ints?
Useful for int numbers?
Useful for BigInts?
Non-int behavior

Bit length
No
???
Yes
???

Math.popcnt()*
No
Yes
Yes
Truncation?

Math.clz32()
No
Yes
Yes
Truncation with ToUint32

* Might be renamed Math.popCount, Math.bitCount, Math.nonzeroBitCount, Math.countOnes, etc. Uncertain whether bit length would be explicitly specified in the method name, e.g., Math.popcnt32.
Is there a fundamental difference between bit length, popcount, and clz32 such that that we should make popcount and clz32 apply to integral ordinary numbers but not to bit length? (I’m thinking probably yes.) If so, then we should give bit length a special API that is unlike popcount or clz32.
In general, when JavaScript developers use the bits of integral ordinary numbers (e.g., from Int8Array), they already know the bit length that they are dealing with, (e.g., 8, 16, 32). If they do not know the narrowest word width that fits certain values, they can just coerce to a BigInt like you suggest (i.e., BigInt(i).bitLength) or use < with an exponent of 2 (e.g. i < 2 ** 8, i < 2 ** 16, i < 2 ** 32).
(It may be useful being able to determine whether a non-integer number fits in a 32- versus 64-bit IEEE floating-point representation, but I don’t really see a way to fit that into the same API as integers’ bit lengths.)
So I’m inclined to agree to keep bit lengths specific to BigInts and use BigInt(i).bitLength as necessary, but it’s probably still worth exploring in these early stages whether elegantly fitting in ordinary numbers is possible. Having said that, the answer is probably, “No, there’s no elegant way to fit ordinary numbers in”.

Either way, the committee has been very clear that they do not want things that throw on some numbers and not others, or else number/bigint mixtures would have worked much more intuitively.
Unless there's a reasonable answer for every number, then it doesn't belong there.

Some method like frexp from C library can be useful for number type, it returns floor(log2(value)) + 1 (If I am not mistaking), which is something similar to bitLength).
The use case is reimplementation of Math.sin/Math.exp/... in JS itself :-) using algorithms from fdlibm - you need to extract exponent for this.

authors: Yaffle js-choi ljharb

repo: js-choi/proposal-bigint-bit-length


text:
🛑 Piwigo is down

In bda8907, Piwigo ($SERVER_BASE/piwigo/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Piwigo is back up in 9860d9e.

repo: jscmidt/upptime

license: MIT


text:
🛑 API is down

In 46493c1, API ($SERVER_BASE/api/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: API is back up in 81be0e3 after 547 days, 5 hours, 42 minutes.


text:
🛑 Piwigo is down

In e4cbd07, Piwigo ($SERVER_BASE/piwigo/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Piwigo is back up in 49479b8 after 548 days, 12 hours, 14 minutes.


text:
🛑 Tandoor is down

In be6fce4, Tandoor ($SERVER_BASE/recipes/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Tandoor is back up in 07162b6 after 5 minutes.


text:
🛑 Grafana is down

In 111f893, Grafana ($SERVER_BASE/grafana/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Grafana is back up in 0467887 after 10 minutes.


text:
🛑 Linus-Wordpress is down

In e5ba5e3, Linus-Wordpress ($SERVER_BASE/wordpress/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Linus-Wordpress is back up in fb5cb9f after 11 minutes.


text:
Request: disallow spaces when indexing into array or object

Maybe there's an existing way to do this, that I've missed. But I would like to ensure that you can't do arr[ 0 ] or obj[ prop ]. However - I do have requireSpacesInsideArrayBrackets: all, so it shouldn't conflict with that

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9035978-request-disallow-spaces-when-indexing-into-array-or-object?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F281640&utm_medium=issues&utm_source=github).

This seems related to #923 which was closed by 2df4009. But it doesn't look like the feature was added as described.
So I think the desire here is to have a separate rule for array literals/instantiation from array access. That way spaces can be required (for instance) when creating array literals, but disallowed when accessing/indexing. Which doesn't seem to have been added by  2df4009

I think this is the same as #875 if I'm not mistaken?

authors: dmitrig01 hzoo jasonkarns

repo: jscs-dev/node-jscs


text:
🧤 Gloves: provide an easier alternative to writing harnesses

As discussed here https://github.com/jscutlery/test-utils/issues/4 and here https://github.com/angular/components/issues/20871, component harnesses are easy to use but hard to implement.
It would be nice to provide another approach with the following constraints:

[ ] It should be easier than writing a harness,
[ ] It should be easier than hacking the DOM,
[ ] It should be framework agnostic,
[ ] 🤔 Should it be able to interact with the state?

I understand that the goal is:

to provide a way of using existing harnesses with Cypress

One of the key features of harnesses is the test environment abstraction and harness reuse through environments (TestBed, Protractor etc...) but if I am using TestBed and Cypress and if I can't reuse my harnesses with Cypress then it somewhat defeats the purpose of harnesses.

This means that what this library can control is:

What is in the test spec

Loading a harness
custom commands to make more readable tests and enable them to have proper types.

base abstractions for new test harnesses, e.g. default implementation of static with and shared functions like selecting elements

In regards to the below constraints and the goal:

It should be easier than writing a harness - we need to write harnesses in a cdk way and the only thing we can do to make it easier is abstractions and shared functions
It should be easier than hacking the DOM - to allow harnesses to be used outside of cypress they need to exclusively use the TestElement, i.e. the harness cannot use cy internally.
It should be framework agnostic - the harness class should be framework agnostic, but the instantiation of it should be framework specific, i.e. getHarness in this library is specifically getting a cypress version of the harness. Maybe there could also be a lighter weight instantiation for when you don't need the TestBed, e.g. in storybook and E2E tests.
Should it be able to interact with the state? What do you mean by state. In general, I think the state should only be changed by interacting with the UI as that is what you are testing.

Can you define what you think the library should have in terms of the:

base ComponentTestHarness class for abstractions and shared functions
custom commands to make more readable tests and enable them to have proper types
harness instantiation

I understand that the goal is:

to provide a way of using existing harnesses with Cypress

One of the key features of harnesses is the test environment abstraction and harness reuse through environments (TestBed, Protractor etc...) but if I am using TestBed and Cypress and if I can't reuse my harnesses with Cypress then it somewhat defeats the purpose of harnesses.

This means that what this library can control is:

What is in the test spec

Loading a harness
custom commands to make more readable tests and enable them to have proper types.

base abstractions for new test harnesses, e.g. default implementation of static with and shared functions like selecting elements

In regards to the below constraints and the goal:

It should be easier than writing a harness - we need to write harnesses in a cdk way and the only thing we can do to make it easier is abstractions and shared functions
It should be easier than hacking the DOM - to allow harnesses to be used outside of cypress they need to exclusively use the TestElement, i.e. the harness cannot use cy internally.
It should be framework agnostic - the harness class should be framework agnostic, but the instantiation of it should be framework specific, i.e. getHarness in this library is specifically getting a cypress version of the harness. Maybe there could also be a lighter weight instantiation for when you don't need the TestBed, e.g. in storybook and E2E tests.
Should it be able to interact with the state? What do you mean by state. In general, I think the state should only be changed by interacting with the UI as that is what you are testing.

Can you define what you think the library should have in terms of the:

base ComponentTestHarness class for abstractions and shared functions
custom commands to make more readable tests and enable them to have proper types
harness instantiation

repo: jscutlery/test-utils


text:
Possible tu use with Electron?

Possible to use webdriver-sync with Electron & chromedriver binary?
Usage of selenium-webdriver with Electron is basically the same with upstream, except that you have to manually specify how to connect chrome driver and where to find Electron's binary:
selenium-webdriver provided a Node package for Electron with web driver.
An example
var webdriver = require('selenium-webdriver');

var driver = new webdriver.Builder()
  // The "9515" is the port opened by chrome driver.
  .usingServer('http://localhost:9515')
  .withCapabilities({chromeOptions: {
    // Here is the path to your Electron binary.
    binary: '/Path-to-Your-App.app/Contents/MacOS/Atom'}})
  .forBrowser('electron')
  .build();

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
 return driver.getTitle().then(function(title) {
   return title === 'webdriver - Google Search';
 });
}, 1000);

driver.quit();

I'm not very familiar with Electron.  Is that like an editor?

No. Electron is a framework that lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium. Electron uses web pages as its GUI, so you could also see it as a minimal Chromium browser, controlled by JavaScript.

If you can view the project in a browser, then you should be able to test it with webdriver-sync.

authors: LeMoussel jsdevel

repo: jsdevel/webdriver-sync


text:
Animated: useNativeDriver was not specified.

Receiving a warning when I swipe my listitem. Animated: useNativeDriver was not specified. This is a required option and must be explicitly set to true or false. This occurs when you are using an animation and not setting the native driver to true or false. Can you please update?
For example:
 Animated.timing(animationState, {       toValue: 1,       duration: 250,       useNativeDriver: true     }).start()

I solved this by adding the patch to following line in react-native-swipeable/lib/index.js
useNativeDriver : true


text:
Option to assume strict mode (for nodejs)

Now that nodejs is es5 compliant it can be run in strict mode by default without including (function () { "use strict"; /* code here */ }());.
Will you add an option implicitstrict so that it's not required to have the boilerplate code?

Nearly two years since this was opened, is this actually implemented?

It's not yet implemented, a patch was refused because it was mixed with other unrelated stuffs.
Please, it would be nice to implement what @valueof had in mind: strict  multivalue option

Any word on when we will have a release with this in it? I've been waiting for it for a while, and it looks like it landed in master.

@jugglinmike can tell you,  I think one is due soon.

This gets very annoying with Babel, as it puts 'use strict'; in front of everything and explicit 'use strict' declarations are not necesssary anymore. @lukeapage, could we have a new 2.8.1 release?

@jugglinmike is working hard to get the next release out. It has alot of
work in it and a few regressions were identified which slowed things down.
we hope it will be soon.

repo: jshint/jshint


text:
Expose get_rates() function

This is necessary where we want to make sure we get the rates to be saved to DB without requesting them directly through the store itself (and therefore possibly get different data).

Coverage remained the same at 100.0% when pulling dfe88b52d81688331d6a74abe57f759c1adaa8b1 on strzibny:expose-rates into 543c624c355e948b9215057c17197151a1f94552 on jshmrtn:master.

@strzibny Released as v1.0.0-alpha.2.

source: gharchive/pull-request

authors: coveralls maennchen strzibny

repo: jshmrtn/currency-conversion


text:
Allow for jump through for bastion host before install

Hi there, loving hashi-up, just wondering if it has the ability to install via a jump host. If so is there any documentation regarding it
Thanks

Hi @octdanb, thanks for your interest in hashi-up
Installation via a jump host is not supported, but I have a workaround to achieve this:
I'm sure the ssh client will use your SSH config, so you should be able to create a connection with local port forwarding, eg:
My SSH config:
Host 192.168.5.101
  ProxyJump ubuntu@192.168.5.1

First bring the SSH service of the target to your local machine:
ssh -L 2222:localhost:22 ubuntu@192.168.5.101

Now you can install nomad with hashi-up, using the local port:
hashi-up install nomad --ssh-target-addr localhost:2222 ...

authors: jsiebens octdanb

repo: jsiebens/hashi-up


text:
Filter expression return  array can not use [index] get item inside

eg. I want get the price for book "Sayings of the Century"
👍  $.store.book[?(@.title=='Sayings of the Century')]  will return an book array
👍  $.store.book[?(@.title=='Sayings of the Century')].price  will return an price array
😂  $.store.book[?(@.title=='Sayings of the Century')][0]  will return an empty array
😂  $.store.book[?(@.title=='Sayings of the Century')].price[0] will return an empty array
I think $.store.book[?(@.title=='Sayings of the Century')][0] should return a book
$.store.book[?(@.title=='Sayings of the Century')].price[0]  should return a price

Somehow i have a similar issue here https://github.com/openhab/openhab/issues/4768
i there any way to address the item after a filtering has been done?

I found out a possible solution:
$.store.book[?(@.title=='Sayings of the Century')].price.min()
would take the one value from the list...

A path must point to something in the document. That is the case for:
'''$.store.book[?(@.title=='Sayings of the Century')]'''
but not with:
'''$.store.book[?(@.title=='Sayings of the Century')][0]'''
where the [0] actually is expected to be applied to the result of the path evaluation. I agree that this would useful in many situations but it should not be confused with the actual path.

My 2 cents.
This is a workaround using read method on the result of the filter:
String filterResult = JsonPath.read(fullJson, "$.store.book[?(@.title == 'Sayings of the Century')]").toJSONString();
Double price = JsonPath.read(filterResult, "$[0].price");
Hope it could help until we will be able to do sort of:
$.store.book[?(@.title=='Sayings of the Century')][0].price

Any chance of getting a way to support this?

@jochenberger whats your thoughts on this?

That's a tough one. It's apparently not part of the original JsonPath spec and is not supported on any of the implementations.
I have a similar use case in the project I use JsonPath for and I have decided to create helper methods findAll(object, path) and findFirst(object, path) where the latter calls JsonPath.parse(object).limit(1).read(path) and returns an appropriate response.
I'd say we should stick to the spec and not support this, but it's not a very strong opinion.

I would agree that going off spec is not the best idea yes because then you have an excuse to just add anything even if it deviates spec. Maybe custom functions or some sort of extension capability which is separate from the base project (which is pure spec).

What are the contribution guidelines in terms of "accepting any terms" or processes. I thought I might try experimenting.

I don't think there are any terms. Adding tests is a good way to get PRs merged, so is not breaking existing ones. ;-)
#243 seems related btw.

And there's also #191 and #197.

Struggeling with the same and @kallestenflo have a hard time to understand your argument:

A path must point to something in the document. That is the case for:
$.store.book[?(@.title=='Sayings of the Century')]
but not with:
$.store.book[?(@.title=='Sayings of the Century')][0]
where the [0] actually is expected to be applied to the result of the path evaluation. I agree that this would useful in many situations but it should not be confused with the actual path.

The result of the path operation after the filter is a JSONArray, so at that point he document is a JSON Array, e.g. with 1 element.
So now this is a new document and [0] points into the first element of this new intermediate document.
So why disallow such functionality, where is it not inline with 'the JSON path spec'?
After each '.' in a JSON path a new intermediate resulting document results and the next operator applies to that, at least that is how I understand the concept of a 'path operation'.
Compare with xpath, it'd works exactly like that, with some added magic to deal with resulting arrays.
For example I'd expect
$.*[?(@.name=='MyMongoDb')][0].credentials.hostname
to return the same as
$.*[?(@.name=='MyMongoDb')].credentials.hostname[0]
or $.*[?(@.name=='MyMongoDb')].credentials[0].hostname
This seems so essential path operation logic that I cannot understand why all related cases get quickly closed and people are building their own experimental forks to workaround the lack of functionality.

@jochenberger is there any support on this. Filtering should not lead to a non accessible array.
The problem is getting old and a solution is not found yet in which this is handled within the JSONPATH call itself without additional script functions

Good to see I am not the only one struggling with this. I would expect such a filter to return whatever the content type is, not forced in a single result array.
My workaround is to parse the one result to a string and either add the following to the assert somewhere:
expectedResult = "[\"" + expectedResult + "\"]"
or strip the last and first two characters from the String returned but somehow I feel that is worse.
Is it because you stay with the content type list and filter inside that? In which case I would have to say I see why you went with a single entry list and I will alter my approach to use something like what I found at @fhoeben 's commit and use result.get(0)
Yeah, it all makes a lot more sense now.
Still would like it to return the object type of the actual object referenced to.

How to get he array name?
My json data is as below
{
"store": {
"book": [
{
"category": "reference",
"author": "Nigel Rees",
"title": "Sayings of the Century",
"price": 8.95
},
{
"category": "fiction",
"author": "Evelyn Waugh",
"title": "Sword of Honour",
"price": 12.99
},
{
"category": "fiction",
"author": "Herman Melville",
"title": "Moby Dick",
"isbn": "0-553-21311-3",
"price": 8.99
},
{
"category": "fiction",
"author": "J. R. R. Tolkien",
"title": "The Lord of the Rings",
"isbn": "0-395-19395-8",
"price": 22.99
}
],
"bicycle": {
"color": "red",
"price": 19.95
}
},
"expensive": 10
}
I am looking for list of store only i.e. in above case output should be just
"book"
"bicycle"
For this what should be json path .
Also would like to apply the filter init as price should be greater than 1.

I know that this is not the same as being able to select any given element, but I think a lot of people end up here because they are looking for a way to select the first (or maybe last) element of the resulting array from an applied filter. Therefore I don't think we should necessarily go for:
$.store.book[?(@.title=='Sayings of the Century')][0]

And expect a specific element of the array, because square brackets, for JSON path, is either square bracket notation or applying a filter (and there's nothing in the spec that specifically covers this use case where we want to mix both).
I would argue the closest way to adhere to the spec is to add some more methods, called after the filter, the same way we do for .min() and .max() - except they are not tied to the values of the array, but instead the elements, namely: .first() and .last().
It's not as powerful but could be easier to implement and resolve a number of people's issues?

I'm having problems understanding how come a filtered array is not an array, that is without any knowledge of library internals.

Any update on this issue?

Hey!
What is workaround to get this work in a single path selector?

Apparently there is no workaround in a single path selector.  The workaround is to read in 2 stages.

I had to build my own parser because of this issue, it was surprisingly easy with ANTLR4

@zakjan any chance you published that parser? Maybe others could benefit also.

Yeah, I'll try to extract it and share

Hi @zakjan I'd be interested in seeing this too if you don't mind sharing? Thanks in advance.

I like @apocheau  workaround suggestion (it less hacky) but I think this might also be a good one:
List<String> filterResult = JsonPath.read(fullJson, "$.store.book[?(@.title == 'Sayings of the Century')]");
then
Double price = filterResult.get(0);

My workaround for kotlin applications is to extend DocumentContext with a function to read a String directly, like this:
private fun DocumentContext.readString(path: String): String{
    this.read<List<String>>(path)[0]
}

Then it can be used like this:
val singleValue: String = JsonPath.parse(myJsonString).readString("$.sampleArray[0]")

@fhoeben @bhreinb Sorry for late response. My parser is already published at https://github.com/zakjan/objectpath . It supports more advanced cases, might be too complex for general use cases. Feel free to use it as a reference for building your own parser.

Almost 5 years people are struggling with it and unfortunately no any progress here :( Too sad :(

This is really an issue for us also.
We migrate a project from an older version of the library "json-path-0.8.1.jar" to "json-path-2.4.0.jar".
In 0.8.1 the result was not wrapped in an [ ]. Why is it now??

I know that this is not the same as being able to select any given element, but I think a lot of people end up here because they are looking for a way to select the first (or maybe last) element of the resulting array from an applied filter. Therefore I don't think we should necessarily go for:
$.store.book[?(@.title=='Sayings of the Century')][0]

And expect a specific element of the array, because square brackets, for JSON path, is either square bracket notation or applying a filter (and there's nothing in the spec that specifically covers this use case where we want to mix both).
I would argue the closest way to adhere to the spec is to add some more methods, called after the filter, the same way we do for .min() and .max() - except they are not tied to the values of the array, but instead the elements, namely: .first() and .last().
It's not as powerful but could be easier to implement and resolve a number of people's issues?

Of all the solutions mentioned, I like this solution the best as it doesn't break the original spec

just a suggestion on the jsonpath syntax:
$.store.book[?(@.title=='Sayings of the Century')] will return a book array
$.store.book[?(@.title=='Sayings of the Century')[0]] will return the first book item
$.store.book[?(@.title=='Sayings of the Century')].price will return a price array
$.store.book[?(@.title=='Sayings of the Century')[0]].price will return the first price
it should not break compatibility to existing syntax.

Another workaround to get arrays, objects or values as string:
JsonPath.parse(BOOKS).read("$.store.book[?(@.title=='Sayings of the Century')]", List.class).get(0).toString();

I've just come across this issue as well.  I'd assumed that JSONPath was the JSON version of XPath for XML documents.
The not being able to index the result of a filter is quite a pain.  This ticket has been open for 7 years now.  Any prospect of it happening?

I encountered exactly the same issue as discussed on this page. Because the order in my response array under test is pretty complex, I want to test the individual entries for the correct values baased on the unique "token" field of each response array element.
Of course, after filtering I expect a single element (of zero or more are found the test should fail) and then verify some fields based on this single element. But as discussed in this post, the filter actually results in a single-elemnt array. There is no way to access this by using [0] or a firstElement function.
I solved it bu converting putting the value tot test against also in an array using the Java List.of() function.. It does not look very nivce but is straightforward and does not need any scripts or custom functions:
Result after filtering:
[
  {
    "token": "6064364892108791641",
    "productId": 390403,
    "importStatus": "SUCCESS",
    "cardPrintDate": "2022-10-05T21:46:07.270792",
    "expirationDate": null,
    "importErrorCode": "",
    "importErrorMessage": ""
  }
]

And in the unit test:
.andExpect(jsonPath("$[?(@.token == '6064364892108791641')].importStatus", equalTo(List.of("SUCCESS"))))
And this works for now.

I would argue the closest way to adhere to the spec is to add some more methods, called after the filter, the same way we do for .min() and .max() - except they are not tied to the values of the array, but instead the elements, namely: .first() and .last().

It's not as powerful but could be easier to implement and resolve a number of people's issues?

It would not help to paginate the array, would it? Custom function are evil. The array from the filter expression should work like any other array. I don't see anything in spec. contradicting it and saying "filter expression can not be composed with other operations".

did you find any workaround?

This issue is still open. 8 years, incredible!

authors: AntonioDell CMoH DinoChiesa GrayedFox Klaas68 RamakrishnanArun amiduai apocheau bhreinb consultantleon fhoeben gauravphoenix genezx gideonaina gitdode gsambasiva gyk001 ivan-kleshnin jhlweb jochenberger kallestenflo keetron kohlsalem mredeker nanonull okainov pahaderajesh v-mwalk zakjan zhavir

repo: json-path/JsonPath


text:
readthedocs: specify build.os

readthedocs deprecated build.image. We need to specify the OS used by the build these days.
Related-to: https://blog.readthedocs.com/use-build-os-config/

I don't have a good way to test this locally so I'm kinda editing this blind. Hopefully this works ;-)

LGTM!

authors: Theelx davvid

repo: jsonpickle/jsonpickle


text:
Remove unused files

Removing a few files that don't seem to be used anymore.

Gonna re-run the build once I've merged #59 which should fix a few things.

:+1: nice work

authors: PeterDaveHello ThomWright

repo: jsonresume/registry-server


text:
2015-06-10 Practical Open Linked Data Mega Meetup

Last year there was a really good talk at UXOxford about the importance of linked data. It would be great to follow that up with talks around the practicalities of consuming and presenting open linked data sources.
This theme definitely lends itself to being a super mega meetup. OxRug are onboard (whoop), @LuRsT would you guys be keen to get pythonistas involved?
Date
Wednesday 10th June 2015, 7:30
Speakers
TBA, Leigh Dodds from ODI is potentially keen, @spikeheap will touch base and see if these dates work.
We could do with another (preferably local) speaker too.
Core actions

[ ] Confirm sponsorship for snacks/drinks (@spikeheap)
[ ] Confirm venue (@benfoxall, as it's super-mega, we might want to consider a bigger venue for this one...)
[ ] Organise speakers

Event organisation

[ ] Ensure someone has carried out the actions above
[ ] Add to MeetUp.com (just prior to preceding event)
[ ] Announce event

We sure are!

:+1:, with unicorns and rainbows and such.

I've added the draft Meetup.com event: http://www.meetup.com/JSOxford/events/221686847/

Happy to fill the gap if needed.
"Tom Talks About Trains Again" - running draft title.

This happened.

authors: LuRsT spikeheap tomlane


text:
fix: columns header title attribute use wrong attr

https://github.com/jspreadsheet/jexcel/commit/0a3c6a82ac7ba092106559393804d146751bae28#comments

It has been merged. Thanks

repo: jspreadsheet/ce


text:
My updates

Hello all,
I have been busy coding and I must say that I really enjoy writing with jsPsych. It is easy and fun.
I have put together scripts for delivering questionnaires. I have a setup file for each questionnaire that contains the questions and scoring info. The only thing that needs to be changed in the HTML is which setup file to import. The scoring of the questionnaire is also performed and saved in the output file. I have completed the CFI, CFS, PANAS, STAI and AES. These are easy to make so I will add more later. By having the text and the "guts" separate it will be "easy" to have the language translated since someone does not have to dig through any code to get to the text.
I have the Baddeley's gramatical reasoning test completed.
I have an attentional network task done (This is like a complicated flankers task).
I have my own staircase procedure task, I know this will be at least the third version available.
I am also working on a verbal delayed match to sample task.
I have first drafts completed on these so far. Once I do some more internal testing I will make a pull request. They are all in my fork if anyone is interested right now.
Take care,
Jason

Hi Jason.
Sounds great. A few comments:

Is there any way you can do separate pull requests for each of these?
Is the attentional network task a Posner cueing task, or do you mean something else by that? I have a student working on the Posner cueing task is why I ask.

Best,
Peter

Is the staircase procedure just your version of using a staircase to measure thresholds?

oh and I would be great if you could raise issues labeled "DemoTaskDevelopment" for each of these, just so we are following the procedure we are trying to enforce.

Yes, I will try my best to do separate pull requests for these once I feel they are good enough.
The ANT task is the one discussed here: Fan, J., McCandliss, B. D., Sommer, T., Raz, A., & Posner, M. I. (2002). Testing the efficiency and independence of attentional networks. Journal Cognitive Neuroscience, 14(3), 340-7.
The staircase procedure is for measuring thresholds. I tried to use: https://github.com/hadrienj/StaircaseJS but I could not figure out how to use it. I did get to learn how to use objects in javascript by making my own. So that is good.
I cannot see how I can assign a label to an issue, sorry.

well, raise the issues and I will assign the labels.
I think any type of staircase experiment would be good for this library.

I wonder if we could somehow merge different versions of the Posner cueing experiment into one experiment on here?

Fine with me. If your student wants to take what I have and make it work best for you, that is fine.  I have all the functionality complete along with the coding of the trial types for the results file. All that is left is setting the trial/ITI timing so that it matches the original article. It was a pain finding the best arrows and asterix to use. What I have also been doing for different tasks is using tables to align multiple items on the screen. I make functions  like "PutStuffIntoTable" that takes some items and arranges them in a table. And if the margins and layout of the tables are set correctly than things show up in the same spot on the screen for every trial. That I think has been one of the most challenging things.

@steffejr you may want to explore a combination of relative and absolute CSS positioning to get items in particular locations on the screen.
Here's an example posner task stimulus that I made:
{
          type: 'html-keyboard-response',
          stimulus: `

🔵

If the circle appears in the right box, press P.

Press P to continue.

`,
          choices: ['p']
        },

My full experiment is here:
https://github.com/jodeleeuw/219-eyetrack-example-full

authors: jodeleeuw pjkohler steffejr

repo: jspsych/experiment-demos


text:
jsPsych.pluginAPI.compareKeys handling null keys

Hi, just trying out jsPsych 6.3.0 (great update btw), and noticed that jsPsych.pluginAPI.compareKeys fails when one of the keys is null. Would you consider allowing null inputs? So the function would return false if any one input is null and true if both are null.
I'm handling null responses now as follows:
if (data.response != null) {
    data.hit = jsPsych.pluginAPI.compareKeys(data.response, data.correct_response);
} else {
    data.hit = false;
}

Hi @klanderson, I've now changed this on the master branch version of jspsych.js, so jsPsych.pluginAPI.compareKeys will handle null values in the next release.
As of right now there haven't been any other changes to the master branch jspsych.js file since the 6.3.0 release on Feb 21. This means you could replace your v6.3.0 jspsych.js file with the master branch version to get this new functionality, without risking any compatibility issues. If you do this, it might be a good idea to double-check the jspsych.js commit history before downloading, to see if there have been any other changes made in the meantime.

Thank you!

authors: becky-gilbert klanderson

repo: jspsych/jsPsych


text:
push git://github.com/jstrachan-testing/ngx-base.git master

UpdateBot pushed version changes from the source code in repository: git://github.com/jstrachan-testing/ngx-base.git ref: master

UpdateBot commands:
updatebot push --ref master git://github.com/jstrachan-testing/ngx-base.git


text:
[Feature]: Add loader to pages

Feature Title
Add loader
Description
Whenever we switch between the pages it takes time so I want to add loader in it
Motivation
Whenever we switch between the pages it takes time so I want to add loader in it
Issue Type
Frontend
Screenshot of the feature if done ?
No response
Are you taking this fetaure implementaion
yes

hey @jsvigneshkanna Can I add loader ?

Sure @kuldeepmangla , great idea
You can work on this issue

closing as done @kuldeepmangla ,
Check other issues like https://github.com/jsvigneshkanna/tailwind_ui_components/issues/40 https://github.com/jsvigneshkanna/tailwind_ui_components/issues/53 https://github.com/jsvigneshkanna/tailwind_ui_components/issues/54

authors: jsvigneshkanna kuldeepmangla


text:
[Bug]: semver dep security vulnerability

Is there an existing issue for this?

[X] I have searched the existing issues and my issue is unique
[X] My issue appears in the command-line and not only in the text editor

Description Overview
When installing package using npm, audit fails with:
$ npm audit
# npm audit report

semver  <7.5.2
Severity: moderate
semver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
fix available via `npm audit fix --force`
Will install eslint-plugin-react@7.25.3, which is a breaking change
node_modules/semver
  eslint-plugin-react  7.19.0 || >=7.26.0
  Depends on vulnerable versions of semver
  node_modules/eslint-plugin-react

2 moderate severity vulnerabilities

To address all issues (including breaking changes), run:
  npm audit fix --force

Running npm audit fix --force downgrades to eslint-plugin-react@7.25.3 :eyes:
Expected Behavior
No security vulnerabilities.
eslint-plugin-react version
7.32.2
eslint version
8.43.0
node version
18.16.1

It’s not a vulnerability here - like most transitive dep CVEs, it’s a false positive -  and we can’t upgrade because v7 drops support for engines we need to support.

The babel team has backported the fix to semver v6, can we use that? https://github.com/babel/babel/pull/15742

I’d really rather not use a fork if we can avoid it.

repo: jsx-eslint/eslint-plugin-react


text:
NtCreateThreadEx crashes the process

I have spent quite a few hours in debugging and finally nailed down why process injection is failing. The call to NtCreateThreadEX using SysWhispers2 isn't really working for me. The process crashes as soon as the thread is injected.
My code is very simple that I open the process using Pid, create a virtual memory and then create RemoteThreadEX. I have ported all the calls to Syswhispers from High level APis but when I call NtCreateThreadEX, the process is crashing. When I just call CreateRemoteThread Directly, it works fine.
This is how I am calling the function
NtCreateThreadEx(&hThread, GENERIC_EXECUTE, NULL, process_handle, pointer_after_allocated, pointer_after_allocated, FALSE, NULL, NULL, NULL, NULL);
I am trying to follow this tutorial but in my code, I take PID to inject.
https://sevrosecurity.com/2020/04/08/process-injection-part-1-createremotethread/

replace this with the following.
    def _get_function_asm_code(self, function_name: str) -> str:
        function_hash = self._get_function_hash(function_name)

        # Generate 64-bit ASM code.
        code = ''
        code += f'{function_name} PROC\n'
        code += '\tmov [rsp +8], rcx          ; Save registers.\n'
        code += '\tmov [rsp+16], rdx\n'
        code += '\tmov [rsp+24], r8\n'
        code += '\tmov [rsp+32], r9\n'
        code += '\tsub rsp, 28h\n'
        code += f'\tmov ecx, 0{function_hash:08X}h        ; Load function hash into ECX.\n'
        code += '\tcall SW2_GetSyscallNumber  ; Resolve function hash into syscall number.\n'
        code += '\tadd rsp, 28h\n'
        code += '\tmov rcx, [rsp +8]          ; Restore registers.\n'
        code += '\tmov rdx, [rsp+16]\n'
        code += '\tmov r8, [rsp+24]\n'
        code += '\tmov r9, [rsp+32]\n'
        code += '\tmov r10, rcx\n'
        code += '\tsyscall                    ; Invoke system call.\n'
        code += '\tret\n'
        code += f'{function_name} ENDP\n'

        return code

Do you have a working VS project? I have tried the new code, it seems like SYSCalls being failed. For e.g. I use High-level API to allocate memory and copy the code, but I call SYSWhisper CreateRemoteThread call to create a thread, I can see in the debugger that the thread is not created. I am not sure why these syscalls aren't working for me. I am not sure even if NTWriteVirutal memory syscall or NTVirtualAllocateMemory syscall is even working for me.

Can you upload some code for reviewing? It works for me. However, it may be a misligned data structure or stack.

void
InjectDll(const HANDLE hProcess, const char* dllPath)
{
    HANDLE hThread = NULL;
    LPVOID lpAllocationStart = NULL;
    SIZE_T szAllocationSize = lstrlenA(dllPath);
    LPVOID lpStartAddress = GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA");
    NTSTATUS Status;

    Status = NtAllocateVirtualMemory(
      hProcess,
      &lpAllocationStart,
      0,
      &szAllocationSize,
      MEM_COMMIT | MEM_RESERVE,
      PAGE_EXECUTE_READWRITE
      );

    if(!NT_SUCCESS(Status)) {
      printf("NtAllocateVirtualMemory failed : %08lX\n", Status);
      goto Cleanup;
    }

    Status = NtWriteVirtualMemory(
      hProcess,
      lpAllocationStart,
      (PVOID)dllPath,
      lstrlenA(dllPath),
      NULL
      );

    if(!NT_SUCCESS(Status)) {
      printf("NtWriteVirtualMemory failed : %08lX\n", Status);
      goto Cleanup;
    }

    Status = NtCreateThreadEx(
      &hThread,
      THREAD_ALL_ACCESS,
      NULL,
      hProcess,
      lpStartAddress,
      lpAllocationStart,
      FALSE,
      0,
      0,
      0,
      NULL
      );

    if(!NT_SUCCESS(Status)) {
      printf("NtCreateThreadEx failed : %08lX\n", Status);
    }
Cleanup:
    if(lpAllocationStart) {
      NtFreeVirtualMemory(
        hProcess,
        &lpAllocationStart,
        0,
        MEM_RELEASE
        );
    }
    printf("Leaving. Status : %s\n",
      NT_SUCCESS(Status) ? "OK" : "FAILED");
}

Thanks, I also found the issues. pointer_after_allocated has to be assigned to nullptr. I guess it became a dangling pointer during the testing and therefore was causing the issue.


text:
read tar file by requested block

Problem
An .tar file is entirely read during BlockReader::read_block_FileTar.
This may cause problems for very large compressed files (the s4 program will have the entire unarchived file in memory; it will use too much memory).
This is due to design of the tar crate. The crate does not provide a method to store tar::Archive<File> instance and tar::Entry<'a, R: 'a + Read> instance due to inter-instance references and explicit lifetimes.  (or is prohibitively complex; I made many attempts using various strategies involving references, lifetimes, pointers, etc.)
A tar::Entry holds a reference to data within the tar::Archive<File>. I found it impossible to store both related instances during new() or read_block_FileTar() and then later, during another call to read_block_FileTar(), utilize the same tar::Entry.
A new tar::Entry could be created per call to read_block_FileTar().  But then to read the requested BlockOffset, the entire .tar file entry would have to re-read.  This means reading an entire file entry within a .tar file would be an O(n^2) algorithm.
Solution
Read an .tar file per block request, as done for normal files.

Similar problem as Issue #12.

Current code https://github.com/jtmoon79/super-speedy-syslog-searcher/blob/0.0.32/src/readers/blockreader.rs#L2012-L2032
Uses https://github.com/alexcrichton/tar-rs/releases/tag/0.4.38

See solution idea in https://github.com/jtmoon79/super-speedy-syslog-searcher/issues/12#issuecomment-2016681186

Not relevant after #283

What is wanted is to create an tar::Entry and later make calls to Entry.read_exact.
Creating an tar::Entry requires creating tar::Archive<File>, tar::Entries<File>, tar::Entry<'a, File>. But this is greatly complicated in that tar::Entry is borrowing tar::Archive and also the tar::Entry is derived from the tar::Entries. So AFAICT, a later call to Entry.read_exact requires all three instances must remain in existence.
Here are the permutation of technical approaches I have tried:

storing a Box<...>
storing a Pin<Box<...>>; this was to avoid an error of the Archive becoming overwritten

storing the same but using unsafe blocks to read from Entry; Entry instance became corrupted

using thread_local! (lazy_static! requires Sync and Send to be implemented)
forcibly allocating on the heap with the help of the copyless crate; this was to attempt to avoid lifetime problem of Archive
storing Archive, Entries, Entry in a struct and annotating with ouroboros::self_referencing; ouroboros macros did not like the < symbol in the T

trying the same with self_cell::self_cell

trying Serialize, Deserialize from crate serde; tar::Archive does not support Sync and Send

Again, I tried many permutations of all of the prior.

The closest I got was
use std::env;
use std::io::prelude::*;
use std::fs::File;
use std::cell::RefCell;
use std::ops::DerefMut;
use std::pin::Pin;
use ::copyless;

use ::tar::Archive;
use ::tar::Entries;
use ::tar::Entry;

std::thread_local! {
    static MyArchive4: RefCell<Option<Box<Archive<File>>>> = {
        eprintln!("thread_local! MyArchive4");
        RefCell::new(None)
    };
    static MyEntry4: RefCell<Option<Box<Entry<'static, File>>>> = {
        eprintln!("thread_local! MyEntry4");
        RefCell::new(None)
    };
    static MyEntries4: RefCell<Option<Box<Entries<'static, File>>>> = {
        eprintln!("thread_local! MyEntries4");
        RefCell::new(None)
    };
}
fn main() {
    let args: Vec<String> = env::args().collect();
    let filename = &args[1];

    MyArchive4.with(|rca| {
        let file: File = File::open(filename).unwrap();
        unsafe {
            // https://stackoverflow.com/a/59368947/471376
            // forcibly allocate on the heap
            let mut bx = <Box<Archive<File>> as copyless::BoxHelper<Archive<File>>>::alloc();
            rca.borrow_mut().replace(
                copyless::BoxAllocation::init(
                    bx,
                    Archive::<File>::new(file)
                )
            );
        }
        MyEntries4.with(|rces| {
            unsafe {
                let mut bx = <Box<Entries<'_, File>> as copyless::BoxHelper<Entries<'_, File>>>::alloc();
                MyEntry4.with(|rce| {
                    let mut bx = <Box<Entry<'_, File>> as copyless::BoxHelper<Entry<'_, File>>>::alloc();
                    rce.borrow_mut().replace(
                        copyless::BoxAllocation::init(
                            bx,
                            rca.borrow_mut().as_mut().unwrap().entries().unwrap().nth(0).unwrap().unwrap()
                        )
                    );
                });
            }
        });
    });
}

but this results in error
298 |     MyArchive4.with(|rca| {
    |                      ---
    |                      |
    |                      `rca` is a reference that is only valid in the closure body
    |                      has type `&'1 RefCell<Option<Box<Archive<std::fs::File>>>>`
...
333 |                             rca.borrow_mut().as_mut().unwrap().entries().unwrap().nth(0).unwrap().unwrap()
    |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |                             |
    |                             `rca` escapes the closure body here
    |                             argument requires that `'1` must outlive `'static`


text:
Segfault when running headscale nodes list --output json when backend is not running.

When running headscale nodes list --output json against a server that is offline, a segfault is encountered. headscale nodes list fails gracefully with Could not connect..... This segfault is problematic for frontends that consume json output exclusively.
$ headscale nodes list --output json
panic: runtime error: invalid memory address or nil pointer dereference
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xb1feab]

goroutine 1 [running]:
google.golang.org/grpc.(*ClientConn).Close(0x0)
        google.golang.org/grpc@v1.46.0/clientconn.go:998 +0x4b
panic({0x1124f80, 0x1c52bc0})
        runtime/panic.go:838 +0x207
google.golang.org/grpc.(*ClientConn).Invoke(0x80203cf18?, {0x1464490?, 0xc00054ec60?}, {0x1292a76?, 0x0?}, {0x118afc0?, 0xc00054c040?}, {0x118b080?, 0xc00054c180?}, {0x0, ...})
        google.golang.org/grpc@v1.46.0/call.go:32 +0x5e
github.com/juanfont/headscale/gen/go/headscale/v1.(*headscaleServiceClient).ListMachines(0xc00007a780, {0x1464490, 0xc00054ec60}, 0xc0002f4420?, {0x0, 0x0, 0x0})
        github.com/juanfont/headscale/gen/go/headscale/v1/headscale_grpc.pb.go:195 +0xce
github.com/juanfont/headscale/cmd/headscale/cli.glob..func16(0x1c666e0?, {0x125c23c?, 0x2?, 0x2?})
        github.com/juanfont/headscale/cmd/headscale/cli/nodes.go:168 +0x2d0
github.com/spf13/cobra.(*Command).execute(0x1c666e0, {0xc000550980, 0x2, 0x2})
        github.com/spf13/cobra@v1.4.0/command.go:860 +0x663
github.com/spf13/cobra.(*Command).ExecuteC(0x1c68260)
        github.com/spf13/cobra@v1.4.0/command.go:974 +0x3b4
github.com/spf13/cobra.(*Command).Execute(...)
        github.com/spf13/cobra@v1.4.0/command.go:902
github.com/juanfont/headscale/cmd/headscale/cli.Execute()
        github.com/juanfont/headscale/cmd/headscale/cli/root.go:85 +0x25
main.main()
        github.com/juanfont/headscale/cmd/headscale/headscale.go:42 +0x235

To Reproduce

Invoke headscale with --output json against a backend that is not running.

Context info

Version of headscale used: v0.16.0-beta4 (and v0.15.0)
Version of tailscale client: N/A
OS (e.g. Linux, Mac, Cygwin, WSL, etc.) and version: FreeBSD 13.1-RELEASE

@theonemcdonald Does this mean headscale is coming someday to pfSense? 👀

repo: juanfont/headscale


text:
bugfix: Added base key validity period of 60 minutes.

[x] read the CONTRIBUTING guidelines
[x] raised a GitHub issue or discussed it on the projects chat beforehand
[ ] added unit tests
[ ] added integration tests
[x] updated documentation if needed
[x] updated CHANGELOG.md

Fixes #764
PR Description,
Currently headscale initializes machine key's expiry time with &time.Time{}. This is formatted to, 0001-01-01T00:00:00Z(in RFC3339 format).
This means, The keys expiry time will always be in the past and clients will be stuck in a loop renewing the key.
This PR addresses this problem by adding a minimum validity of 60 minutes to the generated keys.

This issue has not been fixed completely.
Android clients are working fine and are getting the correct expiry time but Linux clients are still getting,

expiry                 | 0001-01-01 05:53:28+05:53:28

Fixed.

OIDC renewal code mentios that the function accepts current time but then passes, &time.Time{}. This has been changed to pass, time.Now().Add(DefaultKeyExpireTime).
In protocol_common.go, In the refresh operation it was not renewing the key. expire field in database was being overwritten to 0001-01-01T00:00:00Z.

Digging into this, upstream only seems to say about key expiration this (in RegisterRequest)
// Expiry optionally specifies the requested key expiry.
// The server policy may override.
// As a special case, if Expiry is in the past and NodeKey is
// the node's current key, the key is expired.

Perhaps could be DefaultKeyExpireTime could be something configurable, with a default time of 60 minutes...

Hi! as part of #1473, we have reorganised a lot of the code.
To clear PRs that needs to be rebased or redone, we are closing open PRs that will require significant code change to be merged.
In addition, the issue of the PR might in some cases have been fixed, change or no longer relevant, so it would be great if this is considered as well.
Thank you for your contribution!
If it is still relevant and the PR is reopened, we will aim at getting the changes into the next release after the reorg if accepted.

authors: ishanjain28 juanfont kradalby


text:
using tomogram generated by AreTomo

Hi Tim-Oliver and Thorsten,
This is more a question rather than a issue, but thought it would be helpful to write here for others as well.
I am now using AreTomo to generate tomograms, and the AreTomo output files don't include all the etomo output files listed in your previous python script to generate even/odd frame tomogram .
Now, my question is whether it's okay to generate EVN/ODD tomograms using AreTomo using the same parameter I used for full frame tomogram. Otherwise, what would you suggest? I don't have access to warp yet because we don't have a window workstation.
Cheers,
Joy

Hi Joy,
In my workflow, I am also using AreTomo-aligned tomograms for cryoCARE denoising. The routine is MotionCor2 alignment with -Splitsum 1 -> AreTomo alignment of the "main" tiltseries -> applying the same transformations (saved in the .aln output) to the EVN/ODD stacks with the flag -AlnFile ts.aln -> reconstruction and trimming using imod's tilt.
In my experience, this works quite nicely. I have a Python script which makes this all relatively convenient. Let me know if this would help you.
Hope this helps,
Benedikt

I would be interested :-) Please share it.
06.10.2022 15:46:36 Benedikt Wimmer @.***>:

Hi Joy,
In my workflow, I am also using AreTomo-aligned tomograms for cryoCARE denoising. The routine is MotionCor2 alignment with -Splitsum 1 -> AreTomo alignment of the "main" tiltseries -> applying the same transformations (saved in the .aln output) to the EVN/ODD stacks with the flag -AlnFile ts.aln -> reconstruction and trimming using imod's tilt.
In my experience, this works quite nicely. I have a Python script which makes this all relatively convenient. Let me know if this would help you.
Hope this helps,
Benedikt
—
Reply to this email directly, view it on GitHub[https://github.com/juglab/cryoCARE_pip/issues/26#issuecomment-1270081262], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AAIP66JC5MR77OXZHIRBOZLWB3J3XANCNFSM6AAAAAAQDEV5Z4].
You are receiving this because you are subscribed to this thread.[Verfolgungsbild][https://github.com/notifications/beacon/AAIP66NFOZ27RN2L5ME3UPDWB3J3XA5CNFSM6AAAAAAQDEV5Z6WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSLWPTO4.gif]

authors: bwmr jychoi0616 thorstenwagner


text:
[OPTIMIZATION]  System namespace filter is unnecessary in system pod page

What happened:
From the juicefs csi deployment perspective, if my understanding is correct, there is only one system namespace, so no need to enable the system namespace filter in system pod page.
What you expected to happen:
disable the system namespace search in system pod page
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?
Environment:

JuiceFS CSI Driver version (which image tag did your CSI Driver use): latest
Kubernetes version (e.g. kubectl version):
Object storage (cloud provider and region):
Metadata engine info (version, cloud provider managed or self maintained):
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage):
Others:

closed by https://github.com/juicedata/juicefs-csi-driver/pull/841

authors: showjason zwwhdls

repo: juicedata/juicefs-csi-driver


text:
fix oracle ep regex parsing error

#3073

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.neo.chen seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant neocxf

repo: juicedata/juicefs


text:
Incrementing the revision for kubeapi-load-balancer and kubernetes-worker.

Version bump with our work today.

bump bump bump it up 👍

authors: chuckbutler mbruzek


text:
Error: internal error, Client(5) claimed to return *client.Client but returned *client.ClientV5

Hi there,
Thank you for opening an issue. Please note that we try to keep the Terraform issue tracker reserved for bug reports and feature requests. For general usage questions, please see: https://www.terraform.io/community.html.
Terraform Version
terraform -v
Terraform v1.3.7
on linux_amd64
+ provider registry.terraform.io/juju/juju v0.3.1

Affected Resource(s)
Please list the resources as a list, for example:

juju_application

Terraform Configuration Files
https://gist.github.com/VariableDeclared/4822b6acebf0a90815fffb03a82512c8
Debug Output
https://gist.github.com/VariableDeclared/bc38016916cb014ef42aac786bd801d5
Expected Behavior
Juju model is added and charmed deployed to this model
Actual Behavior
Terraform failed to provision the applications
Steps to Reproduce

place the k8s tf file
terraform init
terraform apply (accept/enter yes)

Important Factoids
Nothing out of the ordinary as far as I know. Running juju 2.9.38
References
None

It seems you're using an old version of the provider. Could you try with the latest 0.4.3?

thanks! @juanmanuel-tirado that was it :)

authors: VariableDeclared juanmanuel-tirado

repo: juju/terraform-provider-juju


text:
Update writing-tests.md - Shown test code is wrong

Change errorf to Errorf in shown test code..

Playing a bit with the code reveals that in order to pass the test GetPi needs to return 3.14159265358979323846264338327950288419716939937510582097494459.
However, outln cannot print out the full number, only 3.14159.
Is this by design?
Thanks

Playing a bit with the code reveals that in order to pass the test GetPi needs to return 3.14159265358979323846264338327950288419716939937510582097494459.
However, outln cannot print out the full number, only 3.14159. Is this by design?

In many languages, will not be printed with full-precision and precision varies implementation to implementation.
In Jule, the built-in outln function uses API's conversion algorithms. Naturally, std::conv is not implemented for API, therefore the C++ API uses conversion algorithm of C++ STL by default. And STL converts as 3.14159. But if you are using std::fmt to print values, it will use std::conv package to convert string. The default format call is conv::FmtFloat(f64(arg), 'g', -1, 64) for f64 types, quoted from implementation source code. And it will be converted as 3.141592653589793.
For example:
use math for std::math
use fmt for std::fmt

fn main() {
    outln(math::Pi)
    fmt::Println(math::Pi)
}

If you need more precision or any custom format, call the relevant function of std::conv package.
For example:
use math for std::math
use conv for std::conv

fn main() {
    outln(conv::FmtFloat(math::Pi, 'f', 5, 64))
    outln(conv::FmtFloat(math::Pi, 'g', -1, 64))
    outln(conv::FmtFloat(math::Pi, 'f', 48, 64))
    outln(conv::FmtFloat(math::Pi, 'e', 48, 64))
    outln(conv::FmtFloat(math::Pi, 'f', 20, 64))
    outln(conv::FmtFloat(math::Pi, 'f', 8, 64))
}

BTW: Just realized that there is not only the errorf in the code, but there is a second one in the text; which I overlooked. Sorry.

No problem. I'll update relevant outdated codes.
Thanks for your contribution.

Thank you for the thorough explanation about the print functions.
Maybe it's a good idea to copy and paste what you explained here into the manual, as I'm sure I'm not the only one to find this explanation excellent.

authors: mertcandav sparkylein

repo: julelang/manual


text:
Resources implementation refactoring

We've been eliminating a lot of duplicated code by storing them in the module  XClarityClient::ManagementMixin which is included in management classes

@juliancheal it is ready for merge


text:
Ordering of transform properties is not preserved

I want
rotateX(abc) rotateY(cde) and then translateZ(asdf)

but sometimes

I get rotateX(abc) translateZ(asdf) and then rotateY(cde)
because of that I am unable to achieve desired effect.

I implemented a solution for this. Basically, there is an options argument which is by default an empty array. It can be filled with an ordered list of transform properties. It will sort the transformCache before applying it. 7fc7bdd815c01639df96a24728f607d81f0b84f2.

Interesting......................... You should clear the whitespace change commits and open a new GH issue with your changes and a copy of the description you just wrote. I really like this.

Yeah I just updated it, check 643cd0b9ef6dd62af51c9c49f22b5b8895a479da

authors: julianshapiro parin2092 samuelhorwitz

repo: julianshapiro/velocity


text:
QR code not scanning, onDetect not calling

onDetect callback not calling. I tried to downgrade to 3.2.0 and upgraded to 3.5.2. 2 weeks before it worked with 3.2.0 but the QR code not detecting both Android and iOS.
I tried the unbundled version too.
W/OnBackInvokedCallback(13664): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest. D/TransportRuntime.SQLiteEventStore(13664): Storing event with priority=DEFAULT, name=FIREBASE_ML_SDK for destination cct D/DeferrableSurface(13664): Surface created[total_surfaces=1, used_surfaces=0](androidx.camera.core.SurfaceRequest$2@bc92979} D/CameraOrientationUtil(13664): getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90 D/TransportRuntime.JobInfoScheduler(13664): Upload for context TransportContext(cct, DEFAULT, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... D/CameraOrientationUtil(13664): getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90 D/CameraOrientationUtil(13664): getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90 D/DeferrableSurface(13664): Surface created[total_surfaces=2, used_surfaces=0](androidx.camera.core.impl.ImmediateSurface@6c8566c} D/CameraOrientationUtil(13664): getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90 D/CameraOrientationUtil(13664): getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90 E/FileUtils(13664): err write to mi_exception_log D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Use case androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548 ACTIVE D/UseCaseAttachState(13664): Active and attached use case: [] for camera: 0 D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Use case androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837 ACTIVE D/UseCaseAttachState(13664): Active and attached use case: [] for camera: 0 D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Use cases [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] now ATTACHED D/UseCaseAttachState(13664): All use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 D/UseCaseAttachState(13664): Active and attached use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Resetting Capture Session D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Releasing session in state INITIALIZED D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Attempting to force open the camera. D/CameraStateRegistry(13664): tryOpenCamera(Camera@ed0ef0[id=0]) [Available Cameras: 1, Already Open: false (Previous state: CLOSED)] --> SUCCESS D/CameraStateRegistry(13664): Recalculating open cameras: D/CameraStateRegistry(13664): Camera                                       State                  D/CameraStateRegistry(13664): ------------------------------------------------------------------- D/CameraStateRegistry(13664): Camera@f0633fa[id=1]                         UNKNOWN                D/CameraStateRegistry(13664): Camera@ed0ef0[id=0]                          OPENING                D/CameraStateRegistry(13664): ------------------------------------------------------------------- D/CameraStateRegistry(13664): Open count: 1 (Max allowed: 1) D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Opening camera. D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Transitioning camera internal state: INITIALIZED --> OPENING D/CameraStateMachine(13664): New public camera state CameraState{type=OPENING, error=null} from OPENING and null D/CameraStateMachine(13664): Publishing new public camera state CameraState{type=OPENING, error=null} D/UseCaseAttachState(13664): All use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 W/libc    (13664): Access denied finding property "persist.vendor.camera.privapp.list" D/CameraExtImplXiaoMi(13664): initCameraDevice: 0 W/libc    (13664): Access denied finding property "vendor.camera.aux.packagelist" W/CameraManagerGlobal(13664): ignore the torch status update of camera: 3 W/libc    (13664): Access denied finding property "vendor.camera.aux.packagelist" W/CameraManagerGlobal(13664): ignore the torch status update of camera: 4 W/libc    (13664): Access denied finding property "vendor.camera.aux.packagelist" W/CameraManagerGlobal(13664): ignore the torch status update of camera: 5 W/libc    (13664): Access denied finding property "vendor.camera.aux.packagelist" W/CameraManagerGlobal(13664): ignore the torch status update of camera: 6 W/libc    (13664): Access denied finding property "vendor.camera.aux.packagelist" W/CameraManagerGlobal(13664): ignore the torch status update of camera: 7 D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Use case androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548 ACTIVE D/UseCaseAttachState(13664): Active and attached use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Use case androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837 ACTIVE D/UseCaseAttachState(13664): Active and attached use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Issue capture request D/UseCaseAttachState(13664): Active and attached use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} CameraDevice.onOpened() D/Camera2CameraImpl(13664): {Camera@ed0ef0[id=0]} Transitioning camera internal state: OPENING --> OPENED D/CameraStateRegistry(13664): Recalculating open cameras: D/CameraStateRegistry(13664): Camera                                       State                  D/CameraStateRegistry(13664): ------------------------------------------------------------------- D/CameraStateRegistry(13664): Camera@f0633fa[id=1]                         UNKNOWN                D/CameraStateRegistry(13664): Camera@ed0ef0[id=0]                          OPEN                   D/CameraStateRegistry(13664): ------------------------------------------------------------------- D/CameraStateRegistry(13664): Open count: 1 (Max allowed: 1) D/CameraStateMachine(13664): New public camera state CameraState{type=OPEN, error=null} from OPEN and null D/CameraStateMachine(13664): Publishing new public camera state CameraState{type=OPEN, error=null} D/UseCaseAttachState(13664): All use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 D/UseCaseAttachState(13664): Active and attached use case: [androidx.camera.core.Preview-8753efdb-cbe1-44de-af96-a040e4be711b83214548, androidx.camera.core.ImageAnalysis-2417b284-bf34-4955-a969-d3fc925d2e6689907837] for camera: 0 D/SyncCaptureSessionBase(13664): [androidx.camera.camera2.internal.SynchronizedCaptureSessionBaseImpl@6375a46] getSurface...done D/CaptureSession(13664): Opening capture session. D/DeferrableSurface(13664): New surface in use[total_surfaces=2, used_surfaces=1](androidx.camera.core.SurfaceRequest$2@bc92979} D/DeferrableSurface(13664): use count+1, useCount=1 androidx.camera.core.SurfaceRequest$2@bc92979 D/DeferrableSurface(13664): New surface in use[total_surfaces=2, used_surfaces=2](androidx.camera.core.impl.ImmediateSurface@6c8566c} D/DeferrableSurface(13664): use count+1, useCount=1 androidx.camera.core.impl.ImmediateSurface@6c8566c D/CameraDevice-JV-0(13664): waitUntilIdle: E. id = 0 D/CameraDevice-JV-0(13664): waitUntilIdle: X D/CaptureSession(13664): Attempting to send capture request onConfigured D/CaptureSession(13664): Issuing request for session. D/Camera2CaptureRequestBuilder(13664): createCaptureRequest D/CaptureSession(13664): Issuing capture request. D/Camera2CaptureRequestBuilder(13664): createCaptureRequest D/CaptureSession(13664): CameraCaptureSession.onConfigured() mState=OPENED D/CaptureSession(13664): CameraCaptureSession.onReady() OPENED I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed I/olutions.festiv(13664): createIfNeeded: Recreate new EGLImage since dataspace changed D/TransportRuntime.SQLiteEventStore(13664): Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct D/TransportRuntime.JobInfoScheduler(13664): Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... D/TransportRuntime.SQLiteEventStore(13664): Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct D/TransportRuntime.JobInfoScheduler(13664): Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... D/TransportRuntime.SQLiteEventStore(13664): Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct D/TransportRuntime.JobInfoScheduler(13664): Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... D/TransportRuntime.SQLiteEventStore(13664): Storing event with priority=VERY_LOW, name=FIREBASE_ML_SDK for destination cct D/TransportRuntime.JobInfoScheduler(13664): Upload for context TransportContext(cct, VERY_LOW, MSRodHRwczovL2ZpcmViYXNlbG9nZ2luZy5nb29nbGVhcGlzLmNvbS92MGNjL2xvZy9iYXRjaD9mb3JtYXQ9anNvbl9wcm90bzNc) is already scheduled. Returning... W/System  (13664): A resource failed to call Surface.release.  I/BpBinder(13664): onLastStrongRef automatically unlinking death recipients: <uncached descriptor>
The Camera is still open and the controller configuration is
 MobileScannerController cameraController = MobileScannerController(     autoStart: true,     facing: CameraFacing.back,     formats: [BarcodeFormat.qrCode],     torchEnabled: false,     detectionSpeed: DetectionSpeed.noDuplicates,   );
Any solutions or workarounds?

Hi, its happening too me also, is there any solutions yet?

Found the solution, need to widen the scanWindow if you have declare the scanWindow

Still having the same issue, I'm not using the scanWindow

authors: CollinsMunene KaiExa mahendravijay


text:
GitHub Actions: use MacOS runner

macOS hosted runners have more cores and more ram and allow graphics HW acceleration.
See: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources

Despite the more cores and ram the build takes far longer on the macOS runner. Closing this.

repo: julioromano/tmdb-client-android


text:
Can the example rfv command use a starting directory? (Help request)

In the fzf advanced examples, there is a command defined (rfv):
#!/usr/bin/env bash

# 1. Search for text in files using Ripgrep
# 2. Interactively restart Ripgrep with reload action
# 3. Open the file in Vim
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
INITIAL_QUERY="${*:-}"
: | fzf --ansi --disabled --query "$INITIAL_QUERY" \
    --bind "start:reload:$RG_PREFIX {q}" \
    --bind "change:reload:sleep 0.1; $RG_PREFIX {q} || true" \
    --delimiter : \
    --preview 'bat --color=always {1} --highlight-line {2}' \
    --preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \
    --bind 'enter:become(vim {1} +{2})'

This is very useful and allows me to type:
rfv <search>

How can this be extended to start searching from a different directory? This would search subdirectories too. I'd like to have:
rfv <search> <start directory>

At the moment, I'm having to change directory first.
Ideally, I'd like to get the same working in the Switching between Ripgrep mode and fzf mode script as well.
Many thanks.

It's possible to use getopts to allow for flags like -l (location), -i (ignore case), or other tailored customizations.
rfv() {
	local case="--case-sensitive"
	local location="$PWD"
	while getopts il: cmd_arg; do
		case "$cmd_arg" in
			i) case="--ignore-case" ;;
			l) location="${OPTARG}" ;;
			*)
				echo "Invalid flag provided"
				return 1
				;;
		esac
	done
	shift "$((OPTIND - 1))"
	RG_PREFIX="rg --column --line-number --no-heading --color=always $case "
	INITIAL_QUERY="${*:-}"
	: | fzf --ansi --disabled --query "$INITIAL_QUERY" \
		--bind "start:reload:$RG_PREFIX {q} -- $location" \
		--bind "change:reload:sleep 0.1; $RG_PREFIX {q} -- $location || true" \
		--header "Search Directory: $location" \
		--delimiter : \
		--preview 'bat --color=always {1} --highlight-line {2}' \
		--preview-window 'up,60%,border-bottom,+{2}+3/3,~3' \
		--bind 'enter:become(vim {1} +{2})'
}

@LangLangBart Perfect! Thank you very much for taking the time to answer and demonstrate the solution.

authors: LangLangBart Praful

repo: junegunn/fzf


text:
Add --builtin-filter-dirs

fzf's builtin filesystem walker is faster then overridding via FZF_DEFAULT_COMMAND, especially on Windows
If this switch is specified, fzf will read directories instead of files if FZF_DEFAULT_COMMAND is not specified and there's no input from tty

I'm open to ideas, but using FZF_DEFAULT_COMMAND or passing through std-in is way slower than using the default walker in fzf.

I agree that design-wise it makes sense, but pragmatically it's just faster to walk the filesystem in native Go.

Here's an example comparing the built-in go walker vs Window's dir built-in command:

Thanks. Is the performance difference due to the performance limit of dir, or is it a fundamental limitation of the pipe mechanism in Windows? I mean, can we achieve better performance by using another program that is faster than dir?

Closed in #3649.


text:
Prevent panic on unsupported char for MultiCell

Currently if an unsupported char is inserted (like 😀) the library panics.
I think it would be better to return an error.

Thanks @oliverpool -- this is a real improvement.

authors: jung-kurt oliverpool

repo: jung-kurt/gofpdf


text:
docs(typo) : modify Compile-time Type Checking Section

Before : - useColor('#00ffzz')
After : - useColor('#00ffzaz')
Change the wrong typo.

Hi, @GwonHeeJun! Thanks for contributing. ☺
I had really no idea of that typo and haven’t found it without your help.
These are my feedback;

Can you change the comment, not the code? The intended example(#00ffzz) is to show that it detects wrong digits like z, even it has the ordinary length. I'll be hoping you to change the content in your commit as well.
This is an somewhat minor request, and it's about this our project's commit convention. Maybe it'll be nicer if you remove the spaces before the parentheses?

Codecov Report

Merging #4 (1a07e13) into main (2c892c3) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #4   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            9         9
  Lines           89        89
  Branches        22        23    +1
=========================================
  Hits            89        89

Continue to review full report at Codecov.

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

Can I change it like this?
- useColor('#00ffzz')
// Argument of type '"#00ffzz"' is not assignable to parameter of type '...'.ts(2345)

Can I change it like this? @junhoyeo

Yup. That will be wonderful 🎉

Can I change it like this? @junhoyeo

Yup. That will be wonderful 🎉

I fixed it! Check it out plz XD @junhoyeo

authors: GwonHeeJun codecov-commenter junhoyeo

repo: junhoyeo/use-color


text:
Add a plugin tutorial

This adds a tutorial for creating basic plugins with Jupyter Book. It covers creating and registering plugins, creating a directive, and creating a transform.
It also cleans up some navigation and adds two how-tos related to plugins.
This is a result of some self-learning I had to do in creating some plugins for my website, so hopefully this makes things easier to learn for future readers!
Follow ups
A few things I opened along the way:

https://github.com/jupyter-book/mystmd/issues/1651
https://github.com/jupyter-book/mystmd/issues/1649
https://github.com/jupyter-book/mystmd/issues/1652
https://github.com/jupyter-book/mystmd/issues/1654
https://github.com/jupyter-book/mystmd/issues/1655

Awesome, thx @choldgraf!! Pinging both @minrk and @ryanlovett who have been thinking about this as well, they may have input/suggestions.

I added a brief update to show off how to use the ctx command and put it in a howto as well. @agoose77 feel free to take a pass and merge whenever you like!

I've added another little how-to that has boilerplate for how to create a role, directive, and transform. It doesn't really add any new content, just gives quick boilerplate users can copy into their own plugins.
I also added a warning to make clear that ctx.parseMyst is experimental and might change.
I'll plan to merge this one in and we can iterate on the content from there - I'm happy to make changes if folks spot something we shouldn't have put up there!

authors: choldgraf fperez

repo: jupyter-book/jupyter-book


text:
Update to protoco 2.1.0 (echo_update)

Add comments around the update protocol
Unconditionally send echo_update on front_end change
Update protocol version

@SylvainCorlay  @martinRenou @maartenbreddels @jasongrout this is a PR to add the "echo_update" feature to XWidgets.
If you have a moment, would you mind checking that it looks correct?
This is still missing the mechanism to deactivate "echo_update" on specific properties but that might require some bigger changes on the way we handle properties.

repo: jupyter-xeus/xwidgets


text:
adding repo name parsing

this is an attempt at adding more parseable image names to the pushed image. I'm not sure if this is the right location to do this (maybe better in binderhub?) but LMK thoughts

Closing this and we'll figure it out another way!


text:
UI to show resource usage (e.g. CPU, memory) if limits are set

Proposed change
Include a component in the default notebook UI that shows when excessive resources are being used.
This came to mind after a question in the UKRSE slack, where it turned out a notebook wouldn't run because it had hit the mybinder memory limit. I think it'd be nice if there was a way to see current resource usage along with the limits.
Alternative options

Who would use this feature?

New users to mybinder who aren't aware of the resource limits.
Existing users who may find it interesting to see the resource consumption of their notebooks

(Optional): Suggest a solution
It might be enough to include https://github.com/yuvipanda/nbresuse in repo2docker though I'll need to check whether it will correctly show the K8S resource limits. It's also undergoing heavy redevelopment at the moment, especially with regards to jupyterlab.

Sounds like a good idea. nbresuse should "just work" (I've used it on z2jh deployments). Do you know if it works with lab as well?

Do you know if it works with lab as well?

Lab shows the memory usage in the status bar if the nbresuse data is available:

There are also some alternative frontends using nbresuse but displaying the data differently:

https://github.com/jtpio/jupyterlab-system-monitor
https://github.com/NERSC/jupyterlab-cpustatus

authors: betatim jtpio manics

repo: jupyterhub/binderhub


text:
Source file of docs/source/_static/images/architecture.png

@consideRatio do you have the SVG file of docs/source/_static/images/architecture.png?

It's made in Google Slides: https://docs.google.com/presentation/d/1t5W4Rnez6xBRz4YxCxWYAx8t4KRfUosbCjS4Z1or7rM/

authors: minrk rgaiacs


text:
Rewrite the frontend

/* If this file gets over 200 lines of code long (not counting docs / comments), start using a framework

This was the first line I wrote when I started writing the existing frontend, and of course that line is still there.
This PR cleans up and rewrites the entire frontend, to 'start using a framework'. There's no functional change to the UI itself, so it should be treated as a pure upgrade / refactor.
Demo
Main page
https://github.com/jupyterhub/binderhub/assets/30430/4c629efb-2210-4f43-aeb3-3b3a0a4d65b8
Loading page
https://github.com/jupyterhub/binderhub/assets/30430/da6eefbe-8044-42aa-8562-03f7a79520ed
Functional Status
The following functional pieces need to be completed:

[x] Landing page link generator
[x] Loading page
[x] Actually launching servers correctly
[x] Progress bars for launching
[x] Stream logs
[x] Favicon switching to indicate progress
[x] About page
[x] Extra scripts at the bottom (for google analytics / similar)
[x] nbviewer in loading page
[x] Help text in the main page
[x] Banner on top
[x] Donation button on top
[x] Badge generator for markdown + rst
[x] view raw logs
[x] social cards
[x] error page
[x] fix copy button icon
[x] Faithfully replicate layout
[x] Fix markdown and rST icons

Technology changes

[x] Upgrades to Bootstrap 5, latest version. Nicely matches JupyterHub upgrade in version 5.
[x] Use react
[x] Use JSDoc type annotations rather than typescript. It feels to me this gives me a good balance between the positives of optional type checking without the extra community investment needed for full typescript. This PR does switch the compiler we use from babel to tsc, but type checking is not enforced. We may choose to do so later, but not now.
[x] Use react-router for URL parsing. This makes the BinderHub UI a SPA, which may be split into its own package separately in the future if so desired.
[x] Move the _config endpoint to a refactored /api/repoproviders. This is with an eye on allowing us to implement #844 eventually, as well as being able to implement the correct frontend bits in other users of the binderhub API (like https://github.com/yuvipanda/jupyterhub-fancy-profiles)
[x] Deprecate direct google analytics functionality, where we embedded GA code into our source. Instead, extra_footer_scripts can continue to be used - that's what we use for matomo.

Functionality changes

[x] Progress bar is now also shown in the loading page.
[x] Learning from experience with nbgitpuller, the link generator now prefers outputting only urlpath - both when the user enters a file to open or a URL to open. This prevents the issue we had when we tried to change the default app that was going to open from classic notebook to lab, and broke a lot of people's stuff. By only outputting urlpath, URLs will always have this information encoded in them. The older filepath and labpath are still accepted as input, because Cool URIs don't break
[x] Slightly better validation for the link generator, but most of this should be instead implemented as part of #844

Maintenance changes
One primary goal here is to make the frontend safer to change, so it's less fragile and brittle.

[x] Add some frontend tests. This should be much easier now thanks to all the componentization.
[ ] Provide thorough jsdoc inline documentation for everything
[x] Refactor whatever is in binderhub-client package to make sure it only contains api-client related functionality - all UI stuff should be in a separate package.
[ ] Unify the current 'split' between the repo's root js/ and the binderhub/static/js sources of JS files. Pick up best practices from other Jupyterish projects for what to do here.

Timeline
My hope is to slowly but consistently work on this, and get it fully complete before end of June. I have also asked for some frontend review help from @batpad (either directly or via someone else), as he has significant experience in this kinda frontend work (even though he is less experienced in the JupyterHub community itself).
Fixes https://github.com/jupyterhub/binderhub/issues/774

I've added functionality for the top banner here, and poked around to make sure that the existing banner can display well. It needs to be redone to use bootstrap 5 utility classes, but here it is:

                Thanks to OVH, GESIS Notebooks and Curvenote for supporting us! 🎉

                mybinder.org has updated the base image to Ubuntu 22.04! See the upgrade guide for details.

                    🤍 Donate to mybinder.org!

This works well!

Have asked @oliverroick to do a review here since his React eyes are much, much sharper than mine.

Getting closer and closer!

We've finally got some dedicated time from @oliverroick so hopefully with that we can push this one to completion

Will need to be rebased on https://github.com/jupyterhub/binderhub/pull/1891 but otherwise pretty close!

I've merged #1891 here, and the failing tests are all actually genuine failures! \o/

Looking at the build token and seeing how that is generated:
        build_token = jwt.encode(
            {
                "exp": int(time.time()) + self.settings["build_token_expires_seconds"],
                "aud": provider_spec,
                "origin": self.token_origin(),
            },
            key=self.settings["build_token_secret"],
            algorithm="HS256",
        )

It contains:

Host
Provider spec

While host is still available in the backend, as the PR is written, provider_spec is not available in the backend code. There are two paths to fixing this:

Remove provider_spec from the jwt. This means the token will now be valid for all providers in the origin
Change the handler so we do know what provider_spec is in the backend, and don't change the build token generator algorithm.

Reading the original PR that introduced it (https://github.com/jupyterhub/binderhub/pull/1309), my understanding is that this means that launching from the home page will be rate limited by IP, but launching from a link will not be rate limited by IP. I don't think I fully understand the considerations here, and will poke and ask for help!

I don't recall super well, but the main thing was to limit cross-site launches, e.g. from thebe or API requests, but not from regular browser visits. I think you're right that the scheme may not be properly affecting home page builds, which I think isn't right, but also home page builds are a tiny fraction of launches in the current setup.
I think perhaps we may be able to get to a better, simpler result today using sec-fetch headers. The federation makes this complicated, but perhaps still manageable.

Oh, I forgot to comment on the removal of jinja template support. I think most of the changes are AOK by me, but GESIS currently relies on this, but only to add some outer material. As I understand it, that should still work today. So instead of removing all documentation/support of templates, maybe we can update it to clarify that you can still re-skin page.html to some degree, but not reach into the 'App' itself, which I don't think anybody actually wants to do, and probalby doesn't really work today, anyway. WDYT? Or do you want to write new docs for how to accomplish these same goals in The New Way, e.g. with extra_header, extra_footer, extra_css (or theme_ etc.)?

Looks like we've kinda uncovered a rats nest of 'when do we expect repo to be encoded'? For example, with zenodo, we don't expect it to be encoded - localhost:8000/services/binder/v2/zenodo/10.5281/zenodo.3242074/ is a valid URI, but 10.5281/zenodo.3242074/ is the repo, even though it looks like repo/ref.

The only times repo is actually uriEncoded is:

When using gl provider (due to explicit check)
When using git provider (as repo is a full http URL, and it matches the :// check)
When using ckan provider (same :// check)

Everything else is unencoded, including when / are present (as it is for DOIs).

The existing route is  (r"/v2/([^/]+)/(.+)", ParameterizedMainHandler),. Basically I think we lucked out that repoproviders that aren't listed in https://github.com/jupyterhub/binderhub/pull/1856#issuecomment-2529602076 happen to have / in the repo part because DOIs have / in them! I don't think that was intentional.

CC @rgaiacs https://github.com/jupyterhub/binderhub/pull/1856#issuecomment-2527354774

I think in most cases we don't want to double-encode the spec unless we really have to (i.e. the spec is invalid as a URL path, as in git, or there is ambiguity as in gitlab), and in most cases we don't have to, because the spec is already defined by the repoprovider as a URL fragment. But you're right, we can only do that for repoproviders where the spec is a valid URL path fragment, either guaranteeing a certain number of / (github) or not needing to at all (DOI). For frontend purposes, it should be an explicit property of the provider whether the input to the resource / repo / etc. needs encoding or not.

The existing route is (r"/v2/([^/]+)/(.+)", ParameterizedMainHandler),. Basically I think we lucked out that repoproviders that aren't listed in https://github.com/jupyterhub/binderhub/pull/1856#issuecomment-2529602076 happen to have / in the repo part because DOIs have / in them! I don't think that was intentional.

I don't think so. The first group (([^/]+)) matches the repoprovider name (figshare or dataverse or gh), while the (.+) matches the full spec to pass to the provider, which may have zero or more slashes.

For frontend purposes, it should be an explicit property of the provider whether the input to the resource / repo / etc. needs encoding or not.

Yep, this is now my implementation plan!

yay! all tests pass!

All this work is awesome! @arnim and I are planning to dedicated January 2025 to mybinder.org. We hope to make a huge progress and have things in a better state.

@rgaiacs yay!
if we merge this as is, would that be ok with you? Or would we need to add some more customization features before we do that so we don't break your installs?

@yuvipanda can we delay this to be merged on Tuesday? I'm finishing my day and I will not be able to provide support until Tuesday. Thanks for the understanding.

@rgaiacs oh yeah, no problem at all!

if we merge this as is, would that be ok with you?

@yuvipanda this should be OK. But I prefer if this could be merged on Tuesday for me to be ready to act if things stop on GESIS side.

Or would we need to add some more customization features before we do that so we don't break your installs?

@arnim and I need to do a frontend update on our installation because of GESIS change of corporate design. We are planning to do this in January and we will catch up with this changes.

@rgaiacs ah excellent.
This still needs more review, so won't be merged before tuesday i think!

The new interface is a lot narrower than the existing one, and the form background is lighter which I find makes it difficult to distinguish the input fields from the text labels, especially since the input fields have placeholder text that looks very similar to the label text. Do you think you could change the styling to make the input fields more obvious?

@manics the color contrast changes are the result of upgrading bootstrap. I do agree with you though, it could be better. I'll see what I can do.

@manics this is how it looks now. what do you think?
While the form controls didn't flag in the WCAG Contrast Checker some other things did. I'll poke at those.

authors: arnim batpad manics minrk rgaiacs yuvipanda