Match params are mixed with search using react-router-config

Hello,
I have an issue on server with the value of matched params.  Here is how I declare a route to be used with react-router-config:
{
    path: '/items/:id',
    exact: true,
    component: ItemsRedirect,
}

Rendering /items/10, match.params.id will equal 10 as expected
Though rendering /items/10?test=1, match.params.id equals 10?test=1, the search gets included in params.

Here is how I retrieve and pass the match to my fetchData producing the results above, using react-router-config:
      const routes = makeRoutes(store, req)
      const branch = matchRoutes(routes, req.url)

      // Fetch data required by matched components
      const data = await Promise.all(branch.map(({ route, match }) => {
        const { fetchData } = route.component
        return fetchData instanceof Function ? fetchData(store, match) : Promise.resolve(null)
      }))

With "react-router-config": "1.0.0-beta.4",

We don't process query strings at all in 4.0. You would need to add an optional section to your path pattern to make that work, but it would be up to you to parse the query string further.

When processing this url: /items/10?test=1 based on the pattern /items/:id
1/ withRouter will give a match.params.id equal to 10 as expected,
2/ react-router-config will offer a match.params.id equal to 10?test=1
Is it intended to have a different match between matchRoutes and withRouter?

RR uses path-to-regexp for route matching. path-to-regexp only does pathname matching. Instead of passing req.url (which contains the pathname, search, and hash segments), you should use req.path.
Alternatively, you should be creating a history object, in which case you could pass the pathname from the current location to matchRoutes.
const history = createMemoryHistory({ initialEntries: [req.url] });
matchRoutes(routes, history.location.pathname);


fix(#38): cannot make commit after project initialization

Description
Fix issues that prevent developers from making commits if they don't have PHP installed on their local machines.
Related Issue

resolves #38
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] I have performed a self-review of my code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING.md document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] You have only one commit (if not, squash them into one commit).

You need to run the application using the make start command and then commit and push your changes

Done. But can u please explain why i should run make start before pushing? Very interesting)

Because we run all CI checks in the one environment - docker container with the php
Make start will run the php container, then you can develop a new feature or fix the bug, test it, run locally all CI checks that you need, and then commit and push changes, which will be tested by captainhook in the same container where you did the changes

@paaneko can we close this PR ?

Yes, on mac this issue fixed.

Oh, I didn’t notice that the commits with my changes were not merged into main, so the problem remains. Problem is that the captainhook uses PHP installed on the local machine, and not Docker one. And my changes fix it. Even if i run make start command, captainhook will throw error in console that php not found on local machine.

We little misunderstood each other :)

Please check the Makefile, we are using the docker compose by default for make commands that we are run in the captainhook
@Derane can you check this bug additionally ?

It can't be done because CaptainHook will call make commands inside the Docker container, and it requires another Docker container inside container for make commands. Unfortunately, this container does not exist.
Possible solution would be to create a Docker-in-Docker image, which the first container CaptainHook will use to run built-in commands and captainhook scripts that require PHP dependency. For example:
"actions": [
    {
        "action": "\\CaptainHook\\App\\Hook\\Message\\Action\\Regex",
        "options": {
            "regex": "/^(feat|fix|refactor|build|chore|ci|doc|style|perf|test)\\(\\#\\d+\\):.*$/i",
            "error": "The commit message should be in the format: feat|fix|refactor|build|chore|ci|doc|style|perf|test(#1):"
        }
    }
]

However, to call make commands, it needs a nested php container inside the first php container.
The solution I provide in this PR is to run check commands without the docker compose exec php prefix, so the command will run on the first Docker container without requiring nested one.

Thanks a lot, @Derane will check this bug

Thanks a lot, @Derane will check this bug

Yeah, @paaneko is right. PHP installed locally really must have for commit.


added ability to use icon from md_icons in attr icon of MDExpansionPanel

            if self.icon:
                if self.icon in md_icons.keys():
                    self.panel_cls.add_widget(IconLeftWidget(icon=self.icon))
                else:
                    self.panel_cls.add_widget(ImageLeftWidget(source=self.icon))
            # If the icon is not specified by the user, you must set by default.
            else:
                [...]

            self.add_widget(self.panel_cls)

@HeaTTheatR Done

@HeaTTheatR
anything else?


don't show future posts in daily view

currently posts scheduled for the future still show up in the daily view for regular users, which is undesirable. This checks to see if the current time is before the end of the day in question, and if so restrains the query to cap itself to only posts before the current moment.
Not the prettiest but it works and was the best I could think of on short notice :)

Oh, is the problem that it shows future posts for the current day?
I feel like that's probably not the best place to fix this though. Maybe it should go in https://github.com/TelescopeJS/Telescope/blob/master/packages/telescope-posts/lib/parameters.js instead? This way it'll be fixed on both the client and server.

Yup that's the problem. I'll take a look in the parameters.js file and fix the PR if I can make it work there instead.

Here's the issue:
https://github.com/TelescopeJS/Telescope/blob/master/packages/telescope-posts/lib/parameters.js#L40-L42
There's already a check to prevent future posts form showing up, but it's overridden if postedAt is already specified (which it is in this case).
So we need to check even when postedAt is specified, and cap its after to the current time, or something.

@SachaG ok I fixed it up & this works better now since it also handles singleday. The trick was the "scheduled" view was not sending along the showFuture param so I added it to that view.
Otherwise I just updated the parameters.js code to only hide future posts if showFuture is not set, and I'm careful not to replace any existing postedAt params that might exist like $gte by using _.extend.

Nice! But if you don't mind, I might wait until this next version is released to merge it in. I feel like it's the kind of change that probably should be tested :)

Sounds good to me, thanks!

Sorry for the delay, but I'm finally taking another look at this. It seems to me though that with the current code, postedAt.$lte would always end up being equal to the current timestamp? How does that work with showing posts from say, two days ago?

Seems like what we want to do is something like this?
  if (!parameters.showFuture) {

    if (!!parameters.find.postedAt) {

      if (!!parameters.find.postedAt.$lt) {

        // if postedAt.$lt is defined, use it or current date, whichever is earlier in time
        var lt = parameters.find.postedAt.$lt;
        lowerThan = lt < now ? lt : now;

      } else {

        // if postedAt.$lt doesn't exist, use current date
       lowerThan = now;

      }

    } else {

      // if postedAt doesn't exist at all, set it to {$lt: now}
      parameters.find.postedAt = { $lt: now };

    }

  }

OK, I'll use this for now, let's see if it works :)


@tturbo causes wrong results in loop that works with steps of 3

I have a nearest neighbor interpolation function that results in wrong results when @tturbo is added to the loop in the refine_field_int! function. The loop iterates over i and j in steps of 3.
## Load the packages.
using LoopVectorization
using Statistics
using PyPlot

## Create the refine function.
function refine_field_int!(hi, hi_tmp, lo, n_hi, n_lo)
    @tturbo for j in 0:3:size(hi, 2)-3 # This tturbo
        for i in 0:3:size(hi, 1)-3
            i_lo = i÷3 + 2
            j_lo = j÷3 + 2
            i_hi = i + 2
            j_hi = j + 2
            hi_tmp[i_hi  , j_hi  ] = lo[i_lo, j_lo]
            hi_tmp[i_hi+1, j_hi  ] = lo[i_lo, j_lo]
            hi_tmp[i_hi+2, j_hi  ] = lo[i_lo, j_lo]
            hi_tmp[i_hi  , j_hi+1] = lo[i_lo, j_lo]
            hi_tmp[i_hi+1, j_hi+1] = lo[i_lo, j_lo]
            hi_tmp[i_hi+2, j_hi+1] = lo[i_lo, j_lo]
            hi_tmp[i_hi  , j_hi+2] = lo[i_lo, j_lo]
            hi_tmp[i_hi+1, j_hi+2] = lo[i_lo, j_lo]
            hi_tmp[i_hi+2, j_hi+2] = lo[i_lo, j_lo]
        end
    end

    hi_tmp[1, :] = hi_tmp[end-1, :]
    hi_tmp[end, :] = hi_tmp[2, :]
    hi_tmp[:, 1] = hi_tmp[:, end-1]
    hi_tmp[:, end] = hi_tmp[:, 2]

    hi[:, :] = hi_tmp[:, :]
end

## Set up the grids.
n_hi = 9
n_lo = n_hi ÷ 3

a_lo = rand(n_lo, n_lo)
a_hi = zeros(n_hi, n_hi)

a_hi_gc = zeros(n_hi+2, n_hi+2)
a_lo_gc = zeros(n_lo+2, n_lo+2)

a_hi_gc[2:n_hi+1, 2:n_hi+1] = a_hi[:, :]
a_lo_gc[2:n_lo+1, 2:n_lo+1] = a_lo[:, :]

a_hi_gc[1, :] = a_hi_gc[end-1, :]
a_hi_gc[end, :] = a_hi_gc[2, :]
a_hi_gc[:, 1] = a_hi_gc[:, end-1]
a_hi_gc[:, end] = a_hi_gc[:, 2]

a_lo_gc[1, :] = a_lo_gc[end-1, :]
a_lo_gc[end, :] = a_lo_gc[2, :]
a_lo_gc[:, 1] = a_lo_gc[:, end-1]
a_lo_gc[:, end] = a_lo_gc[:, 2]

dx_hi = 1/n_hi; dx_lo = 1/n_lo
x_hi = dx_hi/2:dx_hi:1 |> collect
x_lo = dx_lo/2:dx_lo:1 |> collect

## Compute.
a_hi_tmp = zeros(size(a_hi_gc))
refine_field_int!(a_hi_gc, a_hi_tmp, a_lo_gc, n_hi, n_lo)
a_hi_int = a_hi_gc[2:end-1, 2:end-1]

println(mean(a_lo) ≈ mean(a_hi_int)) # This should evaluate to true.

## Plot the output.
xh_hi = 0:dx_hi:1 |> collect
xh_lo = 0:dx_lo:1 |> collect

figure(figsize=(10, 5))
subplot(121)
pcolormesh(xh_lo, xh_lo, a_lo, vmin=0, vmax=1)
subplot(122)
pcolormesh(xh_hi, xh_hi, a_hi_int, vmin=0, vmax=1)
tight_layout()
display(gcf())
show()

Alright, that all seems to work well. Thanks

If it wasn't clear, I did also fix the bug you reported, so the original version should be working, too.


Fixes #1356: Don't show error message twice

Change-Id: Iff591518853b1c5c229b676d08d8f914f1eb6f62
Signed-off-by: David Pursehouse<EMAIL_ADDRESS>

Trace after applying this change:
test-project $ GIT_CURL_VERBOSE=1 GIT_TRACE=1 git push origin HEAD:refs/for/master
13:38:54.130468 git.c:350               trace: built-in: git 'push' 'origin' 'HEAD:refs/for/master'
13:38:54.131780 run-command.c:336       trace: run_command: 'ssh' '-p' '29418' 'admin@localhost' 'git-receive-pack '\''/test-project'\'''
13:38:54.219326 run-command.c:336       trace: run_command: '.git/hooks/pre-push' 'origin' 'ssh://admin@localhost:29418/test-project'
13:38:54.224146 git.c:563               trace: exec: 'git-lfs' 'pre-push' 'origin' 'ssh://admin@localhost:29418/test-project'
13:38:54.224732 run-command.c:336       trace: run_command: 'git-lfs' 'pre-push' 'origin' 'ssh://admin@localhost:29418/test-project'
trace git-lfs: run_command: git rev-list --objects --stdin --
trace git-lfs: run_command: git cat-file --batch-check
trace git-lfs: run_command: git cat-file --batch
trace git-lfs: run_command: 'git' config -l
trace git-lfs: tq: running as batched queue, batch size of 100
trace git-lfs: tq: sending batch of size 1
trace git-lfs: api: batch 1 files
trace git-lfs: HTTP: POST http://admin@localhost:8080/test-project/info/lfs/objects/batch
> POST /test-project/info/lfs/objects/batch HTTP/1.1
> Host: localhost:8080
> Accept: application/vnd.git-lfs+json; charset=utf-8
> Content-Type: application/vnd.git-lfs+json; charset=utf-8
> User-Agent: git-lfs/1.3.1 (GitHub; darwin amd64; go 1.6.3; git 080a707)
>
{"operation":"upload","objects":[{"oid":"cfa869ea8de71cc47c09170b906c1c7d79c585eb5053a4efd93dcbfe1c826170","size":1273278}]}trace git-lfs: HTTP: 422

< HTTP/1.1 422 Unprocessable Entity
< Content-Length: 139
< Date: Sat, 13 Aug 2016 04:38:54 GMT
<
trace git-lfs: api error: Client error: http://admin@localhost:8080/test-project/info/lfs/objects/batch from HTTP 422
Git LFS: (0 of 1 files) 0 B / 1.21 MB
Client error: http://admin@localhost:8080/test-project/info/lfs/objects/batch from HTTP 422
error: failed to push some refs to 'ssh://admin@localhost:29418/test-project'
test-project $

@technoweenie could you have a look at this?  It works, but I'm not entirely sure that it's correct.

We'd lose valuable error reporting by merging this. @ttaylorr and I have been talking about moving LFS to https://github.com/pkg/errors soon, which should fix how we bubble low level errors up to end users.

I've rewritten the commit with a different approach.  Now it only shows the second message if it's different to the one already shown.
As before, it works for me, but perhaps I'm missing something about why this inner message is needed.  How can I reproduce a case where the messages are different?
(Note that I'm testing this against Gerrit Code Review with a work-in-progress implementation of LFS).

moving LFS to https://github.com/pkg/errors soon

Is "soon" soon enough that we can just give up trying to make an interim fix for this?

@dpursehouse Ah, this looks better. We plan to either ship v1.4.0 this week (with github.com/pkg/errors), or v1.3.2 with the latest bug fixes. If we're not ready for v1.4.0, I'll include this in v1.3.2.

Looks great 👍

I'm thinking we should merge this now. If we need v1.3.2, we can backport easily to the release-1.3 branch. If we use github.com/pkg/errors, then the code will change anyway.
Also, this code is very similar to ExitWithError(). The main difference is that ExitWithError() ends the current process, while the inline code in upload() from this PR prints multiple errors.
I added another commit to this PR in https://github.com/github/git-lfs/pull/1453.


Add dbhost to wp-config create function

Fix #431

@joshlyford
Thanks for pointing out this issue
You have made right changes, but i guess you have messed something with multisite config.
I guess you should review your pull request.
We are getting this issue
$ sudo ee site create site5.net --wpsubdir

Setting up NGINX configuration [Done]

Setting up webroot [Done]

Downloading Wordpress [Done]

Setting up database [Done]

tuple index out of range

https://travis-ci.org/rtCamp/easyengine/builds/51121678

Good catch. I see the problem and will update the pull request in a bit.

@harshadyeola should now be fixed. please let me know if not.

@joshlyford You can check Travis status for pull request at
https://travis-ci.org/rtCamp/easyengine/pull_requests


add Go 1.20 to the build matrix

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 14.657%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
79

Relevant Lines:
539

💛  - Coveralls


The password of the required data is wrong

Would you update the password of vatex-i3d.tar.gz and msrvtt10k-resnext101_resnet152.tar.gz since c3p0 is wrong? What's more,  there is no actual content of the links of the feature and caption of Multi-30K.

thanks, I'll check it soon.


allow passing custom 'description' for images for 508 compliance

Sorry, meant to only do this PR to my fork. Doesn't look like I can rescind this PR. I'm going to be working on a few updates for 508 compliance and may do a PR in the future once I've added more features.


AB#16553 Script migrate pv to lvv

closing because the migration is done. this code is not needed in repository any more.


Typeerror when computing the Hessian

julia> using ComponentArrays, Zygote

julia> ps = (;bias = rand(4))
(bias = [0.028680052413891932, 0.028488060933192783, 0.14102421410834098, 0.5148641146388963],)

julia> Zygote.gradient(x -> sum(x.^3 .+ ps.bias), Zygote.seed(rand(4),Val(12)))[1]
4-element Vector{ForwardDiff.Dual{Nothing, Float64, 12}}:
 Dual{Nothing}(1.9044946542432517,4.78057902883312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(0.9007160656424562,0.0,3.2876424361097234,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(1.443553597479418,0.0,0.0,4.162047953802673,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(0.854126057634067,0.0,0.0,0.0,3.201486013027201,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)

julia> ps = ComponentArray(;bias = rand(4))
ComponentVector{Float64}(bias = [0.8753842481152277, 0.816098534734367, 0.5547681434517868, 0.7963916275223])

julia> Zygote.gradient(x -> sum(x.^3 .+ ps), Zygote.seed(rand(4),Val(12)))[1]
4-element Vector{ForwardDiff.Dual{Nothing, Float64, 12}}:
 Dual{Nothing}(0.44589405810839866,2.313164217538561,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(0.3204937948764665,0.0,1.9611031432634027,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(1.2913481890316207,0.0,0.0,3.936518546683027,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(0.43271702177241456,0.0,0.0,0.0,2.27872865020585,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)

julia> gradient(x -> sum(x.^3 .+ getdata(ps)), Zygote.seed(rand(4),Val(12)))[1]
4-element Vector{ForwardDiff.Dual{Nothing, Float64, 12}}:
 Dual{Nothing}(2.9040980928805133,5.903319160825219,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(0.12702647408947199,0.0,1.234632612996135,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(1.7155041799425579,0.0,0.0,4.537185268347623,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)
 Dual{Nothing}(0.5602367500231364,0.0,0.0,0.0,2.592844191284474,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0)

julia> Zygote.gradient(x -> sum(x.^3 .+ ps.bias), Zygote.seed(rand(4),Val(12)))[1]
ERROR: TypeError: in typeassert, expected Float64, got a value of type ForwardDiff.Dual{Nothing, Float64, 12}
Stacktrace:
  [1] setindex!(A::Vector{Float64}, x::ForwardDiff.Dual{Nothing, Float64, 12}, i1::Int64)
    @ Base .\array.jl:903
  [2] setindex!
    @ .\array.jl:917 [inlined]
  [3] macro expansion
    @ C:\Users\Luffy\.julia\packages\ComponentArrays\IQNQW\src\array_interface.jl:0 [inlined]
  [4] _setindex!(x::ComponentVector{Float64}, v::Vector{ForwardDiff.Dual{Nothing, Float64, 12}}, idx::Val{:bias})
    @ ComponentArrays C:\Users\Luffy\.julia\packages\ComponentArrays\IQNQW\src\array_interface.jl:129
  [5] setproperty!
    @ C:\Users\Luffy\.julia\packages\ComponentArrays\IQNQW\src\namedtuple_interface.jl:17 [inlined]
  [6] (::ComponentArrays.var"#getproperty_adjoint#88"{ComponentVector{Float64, Vector{Float64}, Tuple{Axis{(bias = 1:4,)}}}, Symbol})(Δ::Vector{ForwardDiff.Dual{Nothing, Float64, 12}})
    @ ComponentArrays C:\Users\Luffy\.julia\packages\ComponentArrays\IQNQW\src\compat\chainrulescore.jl:4
  [7] ZBack
    @ C:\Users\Luffy\.julia\packages\Zygote\IoW2g\src\compiler\chainrules.jl:205 [inlined]
  [8] Pullback
    @ .\REPL[271]:1 [inlined]
  [9] (::typeof(∂(#509)))(Δ::ForwardDiff.Dual{Nothing, Float64, 12})
    @ Zygote C:\Users\Luffy\.julia\packages\Zygote\IoW2g\src\compiler\interface2.jl:0
 [10] (::Zygote.var"#60#61"{typeof(∂(#509))})(Δ::ForwardDiff.Dual{Nothing, Float64, 12})
    @ Zygote C:\Users\Luffy\.julia\packages\Zygote\IoW2g\src\compiler\interface.jl:41
 [11] gradient(f::Function, args::Vector{ForwardDiff.Dual{Nothing, Float64, 12}})
    @ Zygote C:\Users\Luffy\.julia\packages\Zygote\IoW2g\src\compiler\interface.jl:76
 [12] top-level scope
    @ REPL[271]:1

Interesting, looks like we need to promote the eltype before the setproperty!

It's fixed! Thanks!


Allow usage of ./path paths

h2. Problem
[description](./some/path/to/image.png)

Will produce errors like
✖  fatal     Error: ENOENT: no such file or directory, copyfile '../images/bla.png' -> '.../dist/._images/bla.png'

Already resolved


To-many relation with primary key, giving multiple objects with same primary key in relation

I have a class A(with primary key) which contains a to-many relation to B(with primary key).
If I create object of B with existing primary key and add to A's relation, The relation shows count more than 1 and if I fetch All objects of B from db, it shows count 1
My Schema looks like
class A: Object {
    @objc dynamic var text: String?
    @objc dynamic var idx: Int = 0
    let bList = List<B>()
    override static func primaryKey() -> String? {
        return "idx"
    }
}

class B: Object {
    @objc dynamic var text: String?
    @objc dynamic var idx: Int = 0
    let aList = LinkingObjects(fromType: A.self, property: "bList")

    override static func primaryKey() -> String? {
        return "idx"
    }
}

Expected Results
Once I add an object of B with existing primary key, it should also update in A's relation.
Actual Results
Adding duplicate objects to A's relation, But it is not present if I fetch all objects of B
Steps to Reproduce
func check1() {
    let realm = try! Realm()
    let a: A
    if let existing = realm.object(ofType: A.self, forPrimaryKey: 10) {
        a = existing
    } else {
        a = A()
        a.idx = 10
        a.text = "Test modified"
        do {
            try realm.write {
                realm.add(a, update: true)
            }
        } catch let error {
            print("error 1 \(error)")
        }
    }

    let b = B()
    b.idx = 11
    b.text = "child modified"

    do {
        try realm.write {
            realm.add(b, update: true)
            a.bList.append(b)
        }
    } catch let error {
        print("error 1 \(error)")
    }

    print("a.bList.count \(a.bList.count)")
    print("realm.objects(B.self).count \(realm.objects(B.self).count)")
}

And  call the function twice
like
check1()
check1()

This will print
a.bList.count 1
realm.objects(B.self).count 1
a.bList.count 2
realm.objects(B.self).count 1

We can also see weird thing in realm browser also

Version of Realm and Tooling
Realm framework version: RealmSwift (3.1.1)
Realm Browser version: 3.0.1
Xcode version: 9.0
iOS/OSX version: iOS 11.0
Dependency manager + version: Cocoapods 1.4.0

The code you've shared adds the same B instance to A.bList multiple times. There's only one B instance involved. If you don't want it to appear in bList multiple times, don't append it multiple times.

@bdash Okay, then should I check each time before adding?
like
if a.bList.contains(b) {
    print("not added")
} else {
    a.bList.append(b)
}

Sure, that’s one way to accomplish that.


Update /users/magic_auth/send to take email rather than email_address

Description
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
[ ] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

Current dependencies on/for this PR:

main

PR #860   👈

This comment was auto-generated by Graphite.


Stef jun19

Hi @jules32. As discussed, I've spent 2hrs on Lesson Series review:

this PR
opening issues
tried to make pdf output (needs work) https://github.com/Openscapes/series/issues/44


Create Dashboard for the bot

We moved bot configuration to the database and now we should be able to configure it, by setting right values. ie Use echo as a web server and templates. Secure Dashboard with login|password.
We should be able to set all values and write them to the database to run bot.

created a separate project for this. Opensourcing it soon.


Revise the preview package proposal.

This streamlines the process change to automatically land changes in the standard library.

Thanks @benrimmington!


Scaling for dithered images?

Hi!
I checked why my dithered image wasn't scaling, and I think it's because it's not supported?
Is there a way of scaling the jpg, then running the ditherer?
 // Too big? Then scale.
  uint8_t scaling = 0; // Get's or'd with options for the following:
  uint8_t options = 0;
  /*Decoder options
    JPEG_AUTO_ROTATE 1
    JPEG_SCALE_HALF 2
    JPEG_SCALE_QUARTER 4
    JPEG_SCALE_EIGHTH 8
    JPEG_LE_PIXELS 16
    JPEG_EXIF_THUMBNAIL 32
    JPEG_LUMA_ONLY 64
  */
  if (width > 960 || height > 540) {
    // Try half size.
    width >>= 1;
    height >>= 1;
    Serial.println("Trying half size:");
    Serial.println(width);
    Serial.println(height);
    scaling = JPEG_SCALE_HALF;
    if (width > 960 || height > 540) {
      // Try quarter size.
      width >>= 1;
      height >>= 1;
      scaling = JPEG_SCALE_QUARTER;
      Serial.println("Trying quarter size:");
      Serial.println(width);
      Serial.println(height);
      if (width > 960 || height > 540) {
        // Try eigth size.
        width >>= 1;
        height >>= 1;
        scaling = JPEG_SCALE_EIGHTH;
        Serial.println("Trying eighth size:");
        Serial.println(width);
        Serial.println(height);
        if (width > 960 || height > 540) {
          Serial.println("Still too big after scaling attempt, skipping.");
          // Still too big, cancel operation, and don't pause for any length of time for next image.
          waitingTime = 1;
          return;
        } // Too big.
      } // Eighth size.
    } // Quarter size.
  } // Half size.
  // For when this image is smaller than the last - make sure no old image can be seen on the boundaries.
  canvas.fillCanvas(15);
  offsetX = (960 - width) >> 1;
  offsetY = (540 - height) >> 1;
  jpeg.setPixelType(FOUR_BIT_DITHERED);
  jpeg.decodeDither(ditherSpace, options || scaling);
  jpeg.close();

made by mistake. I thought I closed the page without posting. (was my code)


[Bug]: Can't have multiple projects with an empty domain

Description
The domain field appears to have a unique constraint attached to it, so you can have one project with an empty domain, but not two.
Minimal Reproduction (if possible, example repository)
Create two projects, each with no domain. The second will not save.
Exception or Error

Version
v4.0.0-beta.69

Oops. It will be fixed in the upcoming version.


IndexError: tuple index out of range in convert_to

Dear @HamedMP ,
I use files in example folder for reading and convert images to tfrecords file. but, I have some errors:
I using grayscale transform, so my images are 2D array.
first, I had a "too many indices" error in line:  validation_images = train_images[:FLAGS.validation_size, :, :, :]
and with changing [:FLAGS.validation_size, :, :, :] to [:FLAGS.validation_size] this worked well.
besides that, my other issue is "IndexError: tuple index out of range" in convert_to function( in line "rows = images.shape[1]").
I don't understand, why we are using "rows = images.shape[1]" whereas our images have different size and even more, they have no depth in grayscale version.
best,
MRHajbabaei.

I hope this gonna be useful for everyone who encounter with this problem:
if you use GrayScale images try to use :  im = im[..., None] after :  im = np.asarray(im, np.uint8)
to integrity with RGB mode (channel=3).
and then u can change these lines to your code to get pic size:
rows = im_shape[0]
cols = im_shape[1]
depth = im_shape[2]


Godot 4.1rc2 Weird floating plane mesh and black flickering screen.

Godot version
Godot 4.1rc2
System information
Windows 10 x64 - Godot v4.1rc2 - OpenGL (Compatibility) - dedicated. GPU: FirePro v4900. CPU: AMD Phenom II X6
Issue description

The black flickering screen happens when i open any project. But the floating rectangle only does when using shaders/materials.
Setting a WorldEnvironment seems to briefly fix it but it returns shortle after.
At first i tought the rectangle moved at random, but it seems to only happen a short time after i move the camera. It snaps to a seemingly random position and deforms when it does tho.
This issue didn't happen in 4.0.1 nor 4.0.3. I do not know if previous RC versions had this issue.
Steps to reproduce

Open project, see black flickering screen and other similar artifacts.

Create a MeshInstance3D
Add a Material, add a ShaderMaterial as a next_pass
Encounter wonky possessed plane.

Minimal reproduction project
N/A

In case anyone wonders. There's no AutoLoads and the shader code shown is what there is, the ending bracket got cut in the screenshot but that's about it.

The FirePro V4900 is a very old GPU with end-of-life drivers, so I wouldn't be surprised if OpenGL 3.3 can't work well on it. See also https://github.com/godotengine/godot/issues/78888.

Yeah, i know it's old. Altho it can run games that require OpenGL 4.5 just fine so i can confirm that it has support for that.

Could you please upload an MRP so that other contributors can try to reproduce the issue? I haven't seen an issue like this before, but there could easily be something in your shader that is causing this behaviour

Could you please upload an MRP so that other contributors can try to reproduce the issue? I haven't seen an issue like this before, but there could easily be something in your shader that is causing this behaviour

Sorry for the ignorance, but what is an MRP?
Also, the display still flickers without shaders.

Sorry for the ignorance, but what is an MRP?

A MRP (minimal reproduction project) is a project that reproduces the issue. The project must run on its own but should not have unnecessary files included.

I kind left this to rot here. But as far as MRP, this doesn't require anything in particular. Just adding a mesh and adding a new material of ANY kind will cause the bug.
I updated the bug to mention the latest version, because it keeps happening as of the latest versions, both stable and experimental.
It would seem as if Godot is unable to compile shaders during runtime, but it can do so when booting up. Any shaders compiled while loading the project will work, any attempt at recompiling them later fails.


az login --service-principal gives 'NoneType' object is not callable

Trying to log in a sp gives me an error.  Just before I successfully ran:
az ad sp create-for-rbac --role="Contributor"  --scopes="/subscriptions/${SUBSCRIPTION_ID}" -n [user] -p [pass]
The command I ran and the error:
az login --service-principal -u [user] -p [pass] --tenant [tenant]
'NoneType' object is not callable
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/knack/cli.py", line 194, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 347, in execute
    six.reraise(*sys.exc_info())
  File "/usr/lib/python3.6/site-packages/six.py", line 693, in reraise
    raise value
  File "/usr/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 319, in execute
    result = cmd(params)
  File "/usr/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 180, in __call__
    return super(AzCliCommand, self).__call__(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/knack/commands.py", line 109, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/azure/cli/core/__init__.py", line 420, in default_command_handler
    result = op(**command_args)
  File "/usr/lib/python3.6/site-packages/azure/cli/command_modules/profile/custom.py", line 135, in login
    allow_no_subscriptions=allow_no_subscriptions)
  File "/usr/lib/python3.6/site-packages/azure/cli/core/_profile.py", line 162, in find_subscriptions_on_login
    username, sp_auth, tenant, self._ad_resource_uri)
  File "/usr/lib/python3.6/site-packages/azure/cli/core/_profile.py", line 687, in find_from_service_principal_id
    result = self._find_using_specific_tenant(tenant, token_entry[_ACCESS_TOKEN])
  File "/usr/lib/python3.6/site-packages/azure/cli/core/_profile.py", line 732, in _find_using_specific_tenant
    client = self._arm_client_factory(token_credential)
  File "/usr/lib/python3.6/site-packages/azure/cli/core/_profile.py", line 649, in create_arm_client_factory
    base_url=self.cli_ctx.cloud.endpoints.resource_manager))
TypeError: 'NoneType' object is not callable

Environment summary
Install Method (e.g. pip, interactive script, apt-get, Docker, MSI, edge build) / CLI version (az --version) / OS version / Shell Type (e.g. bash, cmd.exe, Bash on Windows)
azure-cli (2.0.31)
installed via pacaur
shell: bash

If you run az cloud show, what you get?

{
  "endpoints": {
    "activeDirectory": "https://login.microsoftonline.com",
    "activeDirectoryDataLakeResourceId": "https://datalake.azure.net/",
    "activeDirectoryGraphResourceId": "https://graph.windows.net/",
    "activeDirectoryResourceId": "https://management.core.windows.net/",
    "batchResourceId": "https://batch.core.windows.net/",
    "gallery": "https://gallery.azure.com/",
    "management": "https://management.core.windows.net/",
    "resourceManager": "https://management.azure.com/",
    "sqlManagement": "https://management.core.windows.net:8443/",
    "vmImageAliasDoc": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json"
  },
  "isActive": true,
  "name": "AzureCloud",
  "profile": "latest",
  "suffixes": {
    "azureDatalakeAnalyticsCatalogAndJobEndpoint": "azuredatalakeanalytics.net",
    "azureDatalakeStoreFileSystemEndpoint": "azuredatalakestore.net",
    "keyvaultDns": ".vault.azure.net",
    "sqlServerHostname": ".database.windows.net",
    "storageEndpoint": "core.windows.net"
  }
}

I can't reproduce it. You mentioned installed via pacaur, can you elaborate the installation steps to get CLI installed? Since you have logged in as a user account in the same machine before so to run az ad sp create-for-rabc, I can't think of any reasons that would cause this error, which has nothing to do with the account types.

the AUR is the arch linux repository of user contributed build scripts.  the one I used to get az installed is this one: https://aur.archlinux.org/packages/python-azure-cli/
Is there another preferred way to install on a non-apt linux system?  I'd be fine to try that.

Can you check out  https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest and see whether  yum and zipper would work for you?
Please note we never maintained the AUR, and it is the first time I know this.

yeah, yum and zipper are no go on arch, but I installed via the InstallAzureCli script and that worked.  Feel free to close this.  I'll follow up with the AUR maintainer.
Thanks

Thanks. Good to know you found a way to unblock yourself.


French translation for dislike text option

The french translation of the dislike text is "Je n'aime pas"

Added in v1.9.9 5713f1e


fix: Fix deployments

This PR re-instates the reverted fix for ARM based machines.

Benchmark results
Metrics with a significant change:

note_history_successful_decrypting_time_in_ms (5): 1,347 (+16%)
note_history_trial_decrypting_time_in_ms (5): 154 (+148%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit d003bd62 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
5,668
18,820
36,356

l1_rollup_calldata_gas
66,004
238,636
469,304

l1_rollup_execution_gas
666,636
953,497
1,336,612

l2_block_processing_time_in_ms
1,277 (-1%)
4,869 (+7%)
9,226 (+3%)

note_successful_decrypting_time_in_ms
132 (-8%)
495 (-13%)
1,022 (+10%)

note_trial_decrypting_time_in_ms
40.9 (-10%)
109 (+35%)
49.9 (-24%)

l2_block_building_time_in_ms
16,940 (-1%)
67,169 (-1%)
134,920 (-1%)

l2_block_rollup_simulation_time_in_ms
6,983
27,748 (-1%)
56,066 (+1%)

l2_block_public_tx_process_time_in_ms
9,936 (-1%)
39,358 (-1%)
78,750 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,829 (+1%)
27,218 (+4%)

note_history_successful_decrypting_time_in_ms
:warning: 1,347 (+16%)
2,473 (+3%)

note_history_trial_decrypting_time_in_ms
:warning: 154 (+148%)
154 (+5%)

node_database_size_in_bytes
19,095,632
35,885,136 (+1%)

pxe_database_size_in_bytes
29,859
59,414

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
278
44,338
27,700

private-kernel-ordering
217 (+1%)
52,324
14,326

base-rollup
637 (+3%)
177,083
925

root-rollup
68.1 (+2%)
4,176
789

private-kernel-inner
635 (+1%)
73,197
27,700

public-kernel-app-logic
439 (+2%)
35,198
28,215

public-kernel-tail
178 (+2%)
40,926
28,215

merge-rollup
8.32 (+2%)
2,696
925

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
9.94 (+1%)
15.9 (+2%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.580 (+1%)
0.492 (+2%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
46.2 (+3%)
71.5 (+1%)
231 (+1%)
443 (+4%)
863
1,715
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.474 (+3%)
0.442 (+1%)
0.421 (+1%)
0.416 (+4%)
0.411
0.411
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
53.6 (+2%)
106 (+2%)
333 (-1%)
659 (+4%)
1,308
2,603
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
104
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.478 (+2%)
0.480 (+2%)
0.454
0.454 (+4%)
0.454
0.453
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
61.1 (+2%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.534 (+2%)

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes

tx_size_in_bytes
22,014

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
3,976
1,734 (+2%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
12.6 (+7%)
1,231 (+2%)


mount xtables lock in proxy

What this PR does / why we need it:
Mounts iptables lock from host into kubeproxy to allow iptables .. -w to work correctly

/lgtm

FYI @marrobi


Fix for issue #4831. The data_min_idx and data_max_idx were flipped.

Existing test cases cover this fix. In addition I have added an assert to make sure that the data_min is always less than equal to data_max.
Thanks for contributing to TVM!   Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

@anijain2305 and @GuoliangLiCN can you take a look at the fix.

Thanks @anijain2305 @shoubhik  @GuoliangLiCN


Rules aren't Applied on ReOpen

Rules are not applied after closing and reopening the tab.
Each time I reopen the url, I must save the rule again to get the custom title and icon back.
This is on Google Chrome and Opera Browser.

Hello @fabianbanu,
I am unable to reproduce your issue. Could you please use the template below to provide more details?
**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Extension version:** `X.Y.Z`

_Can be found here: chrome://extensions/?id=hcbgadmbdkiilgpifjgcakjehmafcjai_

**Additional context**
Add any other context about the problem here.

Best regards,

Hi @sebastienfontaine
I've figured out how to reproduce this bug!
I realize I often visit the same set of links for work from a  folder of bookmarks in Chrome.
When the page is first opened from specifically the bookmark, the rules for that URL do not apply until I refresh the page.
I think this is due to a discrepancy between saved bookmark and actual page URL, probably solved by using 'contains' instead of 'exact' for the rule.
Perhaps this doesn't need addressing.
Thanks for the great product.

Hi! This is probably resolved by using ‘contains’ instead of ‘exact’ for the rule. Thanks for sharing the link to the favicon resource and for your feedback on the extension! I appreciate it! 🥳


Make tunneled an optional parameter that defaults to true

Without the tunneled parameter set to true, the created SauceTunnel is essentially useless.
This PR makes the tunneled parameter optional so that it defaults to true when not specified in the SauceTunnel constructor (or when it is specified as null or undefined).
Fixes #8

Published in 2.2.0. Sorry for the delay!


Link to Data Missing

Hi
To get around the LFS issue and inability to see the images, I forked and downloaded the repo, and it wants to run, but there's no link I can see to the data.  Could you point me in the right direction to get the data so I can run this?
Thanks

Hi
You got me. I've not published the script that was used to generate the data nor the base data, and links. I was planning on getting this sorted this week and pushing this to GitHub on the weekend. FWIW this was very much a post-Boxing Day holiday project not my day job.
I'm going to see how I can fix the hosting tonight, having just got in from meetings, and get on to cleaning up the code and instructions over the next few days.
Hope that helps.

I've just had a go a updating and posting the scripts with some minimal instructions in the README.md if you're still interested in having a look. It is very much beta development code as I hacked it over a few days over the holiday break. However, if you want to give it a go it should work.
However, I've not run it to completion as it takes quite a long time to execute on my old kit (5-6h). So let's see where we are in the morning.

Hi Will.  Thanks for that - I will give it a go over the weekend, I'll be running it on an M1 Max macbook so I'll let you know how it goes!


Create yomovies.loan.js

Added yomovies.loan as an alternative to yomovies.dog

This is not an alternative. Yomovies just changed it domain. Prmovies maybe considered as alternative but not this.


Web Scraper and MIT OCW Course Downloader

Closing this because it's not connected with Railway. See replacement PR here: #8


[Monitor OpenTelemetry Exporter] Make DNS Lookup Timeout Errors Retriable

Packages impacted by this PR
@azure/monitor-opentelemetry-exporter
Describe the problem that is addressed by this PR
We should try to resend telemetry in the event of a transient DNS Lookup Timeout error.
Checklists

[x] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[x] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Documentation for middleware parameter count

In the past few days, I've seen two instances of #Node.js IRC users running into trouble with middleware parameters, where the parameters would not contain the expected data.
In both cases, the issue was a piece of middleware with the signature (err, req, res). Due to the parameter count, Express seemingly assumes that the signature is (req, res, next) and thus treats the middleware as regular middleware. It is evidently not obvious to users that the middleware type is determined by the parameter count, and that they cannot simply omit the next parameter for error handling middleware.
I'm not sure of the specific place it would fit in, but this should probably be in the documentation somewhere, to keep people from running into this trap :)

I agree. So the place to file this would be over at https://github.com/strongloop/expressjs.com :)
Currently the only docs we have on this is http://expressjs.com/guide/error-handling.html


"Did not expect BoundT" error with function argument destructuring

This:
function f <Val> ({list} : {list : Array<Val>}) {
  return list[0]
}

fails with:
2.js:0
  0:
     ^ Failure("Did not expect BoundT")

Using Flow 0.20.1.

Hey, you're in luck! This is fixed in the next release. Coming your way very soon now.

Fixed in 0.21.0


Error trying to register an account on mud.molylepke.hu

I tried to create an account with register Username Password , but it output this result:
Traceback (most recent call last):
  File "/home/deyurn/zschokkei_mud/lib/telnet.py", line 206, in lineReceived
    self.factory.router.shell.command(self.factory.router[self.peer]["console"], line)
  File "/home/deyurn/zschokkei_mud/lib/shell.py", line 230, in command
    return self.call(console, ' '.join(line[:-splitpos]), line[-splitpos:])
  File "/home/deyurn/zschokkei_mud/lib/shell.py", line 597, in call
    return self._commands[command].COMMAND(console, args)
  File "/home/deyurn/zschokkei_mud/commands/register.py", line 100, in COMMAND
    "enabled": console.database.defaults["users"]["keepalive"]["enabled"]
KeyError: 'keepalive'

Is it still too early to be able to register and try out the game?

Sorry I didn't really pay much attention to the place because of irl stuff, it's a silly bug I'll fix asap.


Incorrect session attributes being returned

Scenario 1
Expected behavior:
Given: UpdateMode=AFTER_REQUEST and ReadMode=REDIS
When two tomcat instances are writing to the same redis server for the same session, we expect the last write done by either server to be persisted, and read by subsequent reads
Actual Behavior:
When AFTER_REQUEST is set, stale attribute values are being written back to the redis server, even if more recent values have been read or persisted to redis.
See commit: https://github.com/redisson/redisson/pull/3040/commits/637f877fb20eef46eea2afa97bc286fd000426e8
Test Case for stale session values - AFTER_REQEUST

Created a new test cases highlighting bug where if two servers have
loaded a value into the session from redis, and the updateMode=
AFTER_REQUEST, stale in memory data can be written back out to redis

Scenario 2
Expected behavior:
Given: UpdateMode=DEFAULT and ReadMode=REDIS
When two tomcat instances are writing to the same redis server for the same session, we expect the last write done by either server to be persisted, and read by subsequent reads
Actual Behavior:
When the second request goes to the first server, it will use its potentially stale in memory session values rather than reading it from redis, due to loadedAttribtues not being cleared at the end of the first call
See commit: https://github.com/redisson/redisson/pull/3040/commits/37c0a0ab0a3b4aa3f5fcceb4adcc9d208dbbd64e
loadedAtrributes not cleared after first request

The newly introduced loadedAttributes map, and UsageValve do not
always clear after each request. The first time a session is created,
it is not marked with startUsage, and endUsage is never called
which leaves the loadedAttribtues map in place until the end of the
next request.

Please try attached version. It should fix the issue.
redisson-tomcat-8-3.13.5-SNAPSHOT.jar.zip

@mrniko Thanks for the quick responses! I will work on validating the jar today.
(if you have a branch of code I could look at for the changes, that would be appreciated, as we are extending the RedissonSessionManager class to bypass the bugs right now, so just dropping the jar in isn't quite enough to test, would need to remove some Overrided method also)

Looking through the changes in the Jar, I like the addition of both Update and UsageValves to the engine given the right mode, but still leaves a couple issues i think:

on RedissonSession.save() we still push all this.attrs entries into the map being written back to redis. however that map is not updated by any getAttribute() calls when readMode==REDIS, so it would still clober any existing values with stale ones, even after a read
The UsageValve never calls s.endUsage() in cases where the session is created mid-request, leaving the potentially stale loadedAttributes map uncleared after the request completes

@mrniko I just added another commit with fix for a different bug. Would it be helpful if I opened an issue to track it?
https://github.com/redisson/redisson/pull/3040/commits/86ac2aafcda806e2f4c9cb4b59ccb55ec66dea2b
RedissonSession.getAttributeNames() is always going straight to redis to get all the keys, even if loadedAttributes has a new value that was set earlier in the request, or if an attribute was deleted and AFTER_REQUEST is on.

So we've run into a different issue around expiring sessions.
The scenario where we ran into this problem was with readMode=Redis and broadcast mode off, but it may exist with it on also.

user interacts with server 1
network partition/round robin loadbalancing makes a the next request to server 2 for a short period of time
user interacts with server 1 again (partition over or dynamic load balancing)
user's in memory session on server 2 will expire prior to their actual session expiration since the last access time in memory on server2 is older than server1 or in redis itself.
server 2 expires the session which triggers a delete call, removing the session from redis, even if they were still active on server 1

we patched this by overriding
RedissonSession.isValid
@Override
  public boolean isValid() {

    if (!this.isValid) {
      return false;
    }

    if (this.expiring) {
      return true;
    }

    if (ACTIVITY_CHECK && accessCount.get() > 0) {
      return true;
    }

    if (maxInactiveInterval > 0) {
      if (isSessionTimeout()) {
        LOG.log(Level.FINE,"Possible timeout detected for session {0} last access time = {1}", new Object[]{id, lastAccessedTime});
        try {
          // If we timeout with the local lastAccessTime, resynch the local metadata from redis and check again
          reloadSessionMetadata();
          LOG.log(Level.FINE,"Reloaded session metadata from redis for session {0} last access time = {1}", new Object[]{id, lastAccessedTime});
          if (isSessionTimeout()) {
            LOG.log(Level.FINE,"Session {0} has timed out", id);
            expire(true);
          } else {
            LOG.log(Level.FINE,"Session {0} is still active in redis", id);
          }
        } catch (Exception e) {
          LOG.log(Level.FINE,"Unable to reload session metadata from redis for session {0} to validate access time...cancelling timeout", id);
        }
      }
    }

    return this.isValid;
  }

  private void reloadSessionMetadata() {
    load(((RedissonSessionManager)getManager()).getMap(id).getAll(RedissonSession.ATTRS));
  }

so before we expire any session, we make sure that the last accessed time is accurate.

@ghollies

Looking through the changes in the Jar, I like the addition of both Update and UsageValves to the engine given the right mode, but still leaves a couple issues

Fixed in attached jar
redisson-tomcat-8-3.13.5-SNAPSHOT.jar.zip

I just added another commit with fix for a different bug. Would it be helpful if I opened an issue to track it?

Yes, in another issue please.

So we've run into a different issue around expiring sessions

Please create a seprate issue.

created https://github.com/redisson/redisson/issues/3057 and https://github.com/redisson/redisson/issues/3058
Good luck! We are re-implementing the Manager and session with just the configuration we are concerned with, as all the current toggles make maintenance more difficult.

@ghollies
Thanks much for your help!

Fixed. Passes tests you provided


Add "add-in" to the application.

"Add-in" system to enable users to use their test document, test driver code, apply rules.

User can build "customized" function as DLL using SDK provided as DLL.
Now the usable SDKs are for parsing test data, generating codes, and plugins.


Add support for customUserData with Bottlerocket

1. Issue, if available:
N/A
2. Description of changes:
This change only adds support for customUserData with Bottlerocket AMIFamily. It follows what's defined in this doc for the most part. The one main change is that I'm no longer merging labels / taints from the custom userData but rather overwriting them completely. This is because of what we discovered here regarding kubelet not merging in other labels. As long as Karpenter creates the node object itself, there's no point merging in labels / taints etc.
3. How was this change tested?

I've tested this locally - ran through both the provider level validation checks.
The bootstrap logic isn't unit tested but I've been testing it out locally and my nodes are joining the cluster. I haven't tried the full extent of all BR settings but most that I've tried have worked.

4. Does this change impact docs?

[ ] Yes, PR includes docs updates
[X] Yes, issue opened: link to issue
[ ] No

I'm thinking of only adding docs once AL2 support is here.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

can you add docs with an example of a simple bottlerocket config in the provisioner?
And can you add a test too?

I intentionally left the docs out. I was thinking of adding them once I've got support for both AMI families rather than just one, but can add them now.
I'll add a few tests :+1:

Have you thought more about the configmap approach for specifying userdata?

Have you thought more about the configmap approach for specifying userdata?

I did think about it. Most of it seemed good -

ConfigMaps support both binary and UTF-8 data. For example, kubectl's --from-file will automatically detect if the file is UTF-8 and if so puts it under .data otherwise under base64 encodes it and puts it under .binaryData so that'll work great for us.
Makes the ProvisionerSpec read shorter (UserData can go up to 16KB of Base64 content which is quite large).
Looks like Karpenter already had the permissions to read ConfigMaps across namespaces so should be good there too.

My worry though is that -

We're introducing a new call to describe ConfigMaps in the call path to launching instances where we're trying to reduce as much latency as possible - even though I don't think this is double digit ms from what I can tell.
We can potentially cache the responses of the ConfigMap but that made me wonder if it would lead to confusing UX. The larger issue is that you can modify the nodes being provisioned across provisioners by modifying a single ConfigMap. Maybe that's desirable?

Have you thought more about the configmap approach for specifying userdata?

I did think about it. Most of it seemed good -

ConfigMaps support both binary and UTF-8 data. For example, kubectl's --from-file will automatically detect if the file is UTF-8 and if so puts it under .data otherwise under base64 encodes it and puts it under .binaryData so that'll work great for us.
Makes the ProvisionerSpec read shorter (UserData can go up to 16KB of Base64 content which is quite large).
Looks like Karpenter already had the permissions to read ConfigMaps across namespaces so should be good there too.

My worry though is that -

We're introducing a new call to describe ConfigMaps in the call path to launching instances where we're trying to reduce as much latency as possible - even though I don't think this is double digit ms from what I can tell.
We can potentially cache the responses of the ConfigMap but that made me wonder if it would lead to confusing UX. The larger issue is that you can modify the nodes being provisioned across provisioners by modifying a single ConfigMap. Maybe that's desirable?

As far as the latency in the call-path, we can create a reconciler that watches config maps, so basically a cache but a stronger form since it should only be out of date while fetching the new one on a change.
I think the problem of a single config map causing multiple provisioners to change could be a pro if there's some sort of base bootstrap that the admin is managing for a bunch of provisioners. At the end of the day, it will be up to the admin on how they segment the config maps. They could just as easily duplicate the config map to do 1:1 mappings, but the config map semantic will provide more flexibility in that regard.


add more Food blog

I want to add more food blogs. It will give more descent look to that section. Please assign me this under GSSOC 2023. I want to work on it.

Maybe I could enhance the blogs and add few paragraphs of relevant content. Please do assign this to me under GSSoC '23 if this issue is still available

I would like to work on this project.please assign this to me under GSSoc'23.


Relax input requirements in deserialize_str

Instead of attempting to downcast the input to a PyString, rely on the fact that for str objects, calling __str__ is a no-op, while for other objects it may allow us to support neat use cases.
An example of one such use case is turning Python's uuid.UUID into Rust's uuid::Uuid. If you call Uuid::depythonize you end up in <Uuid as Deserialize>::deserialize (if you enabled its serde feature). Since Depythonizer doesn't override Deserialize::is_human_readable, the implementation tries to deserialize with deserialize_str. At that point, the Deserializer has a value of type uuid.UUID (actually PyAny, but it really is uuid.UUID), and the visitor expects a value of type &str. We can make that happen by using str.

Opened this PR but I'm not sure this is the right way to do this, or if it's even broadly useful. Wanted to get some feedback.
Generally, I think this approach is sound, as it mirrors the way deserialize_bool relies on is_true as opposed to a strict cast.
An alternate idea I had would be to maintain a list of "known types" that we want to stringify, but that could get expensive.

I just realized there's no way to implement the serialization half of this, since there is nothing in the serde data model that tells us the original Rust type as a Uuid. This might still be a good change, but I'll wait for feedback.

Hello, thanks for the PR!

:)

So I think this use-case is reasonable but I'm a bit nervous about introducing this coercion globally. Instead would you be prepared to amend this PR to add a depythonize_custom API which takes a setting to enable this behaviour? That way we can have the default be unchanged.

Totally, I was considering feature flags/custom for this.

The is_true comparison you draw above is incorrect IIRC - I believe PyAny::is_true() only checks for the True singleton rather than truthy objects.

The docs say "This is equivalent to the Python expression bool(self)".

I did some further pondering about the usefulness of this change with regards to UUIDs. I got wrapped around the axle with serde, pythonize, and {To/From}PyObject. Preserving non serde data model types through serialization isn't really in scope for pythonize I think. Really what I was looking for was a custom implementation of FromPyObject.
That being said, I think that being more permissive with what is considered a str coming from Python is sensible.


How to implement autograd's notrace_primitive in Jax

Hi JAX team,
I'm attempting to translate an autograd algorithm to JAX, but am struggling to work around differentiating a call to np.digitize. In the original implementation, this is merely protected with a @notrace_primitive decorator—clearly the actual derivative contribution doesn't matter, which is good because digitize clearly won't have great derivatives.
How can I do something similar in JAX? Is there also a decorator? I could not find anything similar in the docs. I've considered adding a primitive to wrap digitize with some kind of no-op derivative, but I'm not sure how to do that either.
Any help appreciated!

Good idea! I don't think we have something with the same API, but we do have jax.lax.stop_gradient.
Is the other API better?

Honestly, I think stop_gradient works just fine, I just struggled to find it.
I guess it's a rarer feature, but I spent a good while looking for something like that unsuccessfully. Thanks for pointing me to it!


Update sql-database-automated-backups.md

fixed a typo

Hi @nromyn, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

@nromyn : Thanks for your contribution to the Azure documentation! The author, @anosov1960, has been notified to review your proposed change.

@nromyn Thank you for pointing this out. We will merge your fix and publish it.
#sign-off


x/sys/cpu: fails to build because cacheLineSize redeclared in this block

What version of Go are you using (go version)?

$ go version
go version go1.10.4 linux/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/denton/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/denton/go"
GORACE=""
GOROOT="/usr/lib/go-1.10"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go-1.10/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build043849175=/tmp/go-build -gno-record-gcc-switches"

### What did you do?

I tried to compile the following:
package main

import _ "golang.org/x/sys/cpu"

func main() {}

What did you expect to see?
The compile should be successful.
What did you see instead?
$ go build
# golang.org/x/sys/cpu
../go/src/golang.org/x/sys/cpu/cpu_x86.go:9:23: cacheLineSize redeclared in this block
	previous declaration at ../go/src/golang.org/x/sys/cpu/cpu_wasm.go:11:23

Duplicated by #30668.


[server] Reduce excessive logging in LeaderProducerCallback

Summary, imperative, start upper case, don't end with a period

Resolves #XXX
How was this PR tested?

Does this PR introduce any user-facing changes?

[x] No. You can skip the rest of this section.
[ ] Yes. Make sure to explain your proposed changes and call out the behavior change.

Thanks for the review, @ZacAttack !


Add ConvLSTM2D instead of Conv2D layer for better performance?

I've been very interested in this project, playing with it locally.
I think it would be helpful to make at least one of the layers (perhaps all of the Conv2D ones) Convolutional 2D LSTM layers. I believe this will help find temporal-spacial relationships within the game screen better and result in better network models.

Hi,
Thanks for the suggestion! Yes it could, possibly, who knows…
Could you try and see if it gives any improvement on the performance? (see keras documentation)
So far, all my experiments have been huge failures, with up-to 4 days of training leading to zero improvement over the random policy.

I got an error while trying to replace Conv2D with ConvLSTM2D without any other modification, and I have the feeling that it won't be trivial to do the change.
Please try on your own, and submit a PR if you succeed (I won't have time to experiment right now).
FYI:
Traceback (most recent call last):
  File "run-mario.py", line 204, in <module>
    mario_main(N=PARALLEL_EMULATORS)
  File "run-mario.py", line 127, in mario_main
    name=dqn_model_name
  File "/home/lilian_besson/gym-nes-mario-bros.git/src/dqn/model.py", line 164, in __init__
    self.base_model = q_model(input_shape, num_actions)
  File "/home/lilian_besson/gym-nes-mario-bros.git/src/dqn/model.py", line 107, in q_model
    inputs, outputs = q_function(input_shape, num_actions)
  File "/home/lilian_besson/gym-nes-mario-bros.git/src/dqn/model.py", line 80, in q_function
    out = ConvLSTM2D(filters=32, kernel_size=8, strides=(4, 4), padding=padding, activation='relu')(image_input)
  File "/usr/local/lib/python3.5/dist-packages/keras/layers/convolutional_recurrent.py", line 277, in __call__
    return super(ConvRNN2D, self).__call__(inputs, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/keras/layers/recurrent.py", line 499, in __call__
    return super(RNN, self).__call__(inputs, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py", line 575, in __call__
    self.assert_input_compatibility(inputs)
  File "/usr/local/lib/python3.5/dist-packages/keras/engine/topology.py", line 474, in assert_input_compatibility
    str(K.ndim(x)))
ValueError: Input 0 is incompatible with layer conv_lst_m2d_1: expected ndim=5, found ndim=4

The LSTM algorithm learns patterns from data across time, this means the LSTM aims to understand the relationship between data from one instance in time and another instance, while still learning relationship between inputs and output. To achieve this, the LSTM needs a time step which is bassically grouping rows of your dataset and feeding to the neural network. So you will need to reshape your dataset which current is in 4 dimensions to 5 dimensons which is what the last line of the error means, the ValueError
Assuming your dataset shape is as follows:
dataset.shape
=> (1023, 4, 28, 28)
def reshape_input(data, time_steps):
    # Converting dataframe to numpy array
    if isinstance(data, pd.DataFrame):
        data = data.values

    # Reshape the data into a 5D array
    num_samples = data.shape[0]
    image_width = 28
    image_height = 28
    grouping = 4

    # Define empty numpy array
    input = np.zeros((num_samples, time_steps, grouping, image_width, image_height))
    for i in range(num_samples):
        if i+time_steps < num_samples:
            input[i, :, :, :, :] = data[i:i+time_steps, :, :, :]

    return input

# Reshape the dataset with time step of 6
dataset = reshape_input(dataset, 6)
dataset.shape

=> (1023, 6, 4, 28, 28)
You may also employ the numpy reshape method but I prefer it this way

Hi @Nindaime,
Thanks for your suggestion.
As you might have seen, this project hasn't been updated in the last... 5 years! And I don't plan on updating it, sorry.
I'll leave your interesting comment, if someone ever wants to explore this project in this direction.
Regards.


Fix File Manager

There is no option like '...' to goto upward/back directory
everytime had to close and open it again

hello @dmouse207
I didn't understand, You mean this http://prntscr.com/ks5pvb ?


Fixing CSS style code problems

Fixing CSS code problems

/intelci: run

@aegorova651 - thanks.  I don't think quotation is required for fonts - only for font names with spaces.  Overall this is not the only place - i see lot of inconsistency across document on formatting anyway.  + other linters generate other warnings for this css. So wide overall question would  be - do we have a good one that should be used across components


Design ChangeListeners API

First draft of this API was added here #107, but this doesn't add support for also providing detailed changes.
There are two orthogonal discussions:

How to register and deregister any changelistener?

// ...

How should fine-grained notification listeners look like?

class RealmResults {

    // Option A: Two arguments returned
    fun addChangeListener1(listener: (listener: (collection: RealmResults<E>, change: OrderedRealmCollection<E>) -> Unit) { TODO() }

    // Option B: One argument returned
    fun addChangeListener1(listener: (OrderedCollectionChange<E, RealmResults<E>>) -> Unit) { TODO() }
}

It seems that using a named interface causes problems with how easy it is to autocomplete in Android Studio for Kotlin code at least. There you manually have to add the implementation.
Using an anonymous lambda seems to offer the easiest way to autocomplete for Kotlin, i.e.
    // Autocomplete support for this isn't great. Even though it is marked as a functional interface,
    // autocomplete in Android Studio doesn't work.
    // Java support is superior though as the IDE can autocomplete the implementation
    fun interface Listener<E: BaseRealmModel<E>, T: RealmResults<E>> {
        fun onChange(collection: RealmResults<E>, change: OrderedRealmCollection<E>) { TODO() }
    }
    fun addChangeListener1(listener: (t: Listener<E, RealmResults<E>>) -> Unit) { TODO() }

    // While this "just works"
    // But Java support is not great as the signature turns into `Function2`
    fun addChangeListener2(listener: (collection: RealmResults<E>, change: OrderedCollectionChange<E, RealmResults<E>>) -> Unit) { TODO() }

It seems that using a named interface causes problems with how easy it is to autocomplete in Android Studio for Kotlin code at least. There you manually have to add the implementation.
Using an anonymous lambda seems to offer the easiest way to autocomplete for Kotlin, i.e.
    // Autocomplete support for this isn't great. Even though it is marked as a functional interface,
    // autocomplete in Android Studio doesn't work.
    // Java support is superior though as the IDE can autocomplete the implementation
    fun interface Listener<E: BaseRealmModel<E>, T: RealmResults<E>> {
        fun onChange(collection: RealmResults<E>, change: OrderedRealmCollection<E>) { TODO() }
    }
    fun addChangeListener1(listener: (t: Listener<E, RealmResults<E>>) -> Unit) { TODO() }

    // While this "just works"
    // But Java support is not great as the signature turns into `Function2`
    fun addChangeListener2(listener: (collection: RealmResults<E>, change: OrderedCollectionChange<E, RealmResults<E>>) -> Unit) { TODO() }


scvi-tools fails

scvi-tools installation fails on ubuntu 20. I've tried the installation two different ways (see below), but did not get far. Any suggestions how install scvi-tools properly?
GPU: NVIDIA RTX A4000
1st SCVI installation fail: See atached scvi-env_lib_list_version.txt for environment libraries installed
conda create -n scvi-env python=3.9
conda activate scvi-env
conda install -c anaconda pip
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
conda install jax jaxlib -c conda-forge
conda install scvi-tools -c conda-forge
Error:
/python3.9/site-packages/torchaudio/lib/libtorchaudio.so: undefined symbol: _ZNK5torch8autograd4Node4nameEv
2nd SCVI installation fail: See atached scvi-env-p310_lib_list_version.txt for environment libraries installed
conda create -n scvi-env-p310 python=3.10
conda activate scvi-env-p310
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
conda install anndata -c conda-forge
conda install scvi-tools -c conda-forge
conda install -c conda-forge scanpy python-igraph leidenalg
conda install jax jaxlib -c conda-forge
Error:
libtorch_cuda.so: cannot open shared object file: No such file or directory
reinstalling torch produces:
lib/python3.10/site-packages/torchaudio/lib/libtorchaudio.so: undefined symbol: _ZNK5torch8autograd4Node4nameEv
scvi-env_lib_list_version.txt
scvi-env-p310_lib_list_version.txt

Could you try installing PyTorch and JAX dependencies as follows and seeing if it works:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 cuda-nvcc=11.8 -c pytorch -c nvidia -c conda-forge
pip install jax[cuda11_pip] -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

and then
pip install scvi-tools

We've had some issues with our conda install in the past, so please give pip a try!

Jumping on this issue as well. I have tried installing scvi-tools in many ways but always bump into variations of the following error:
CUDA backend failed to initialize: Found cuSOLVER version 11305, but JAX was built against version 11401, which is newer.
This is after installing it the way @martinkim0 suggested. I have not found a way yet to match cuda, cudnn etc with jax and jaxlib... Would be extremely grateful for a combination that works

Manually upgrading seems to work 👍
Would be great if you could update the installation section in the docs :)

Hey @demian1, glad you got it to work! What package did you manually upgrade that led to the fix?

I've tried the suggested recipe including scanpy, but get the error below. Reinstalling scvi-tools did not help. Have any other suggestions to try? Thank you
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 cuda-nvcc=11.8 -c pytorch -c nvidia -c conda-forge
pip install jax[cuda11_pip] -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install scvi-tools
pip install scanpy
OSError: libtorch_cuda.so: cannot open shared object file: No such file or directory

Hi, please see this https://github.com/pytorch/pytorch/issues/91186 and see if any of the fixes work for you

Ran into few errors (different from the ones described above) installing scVI using the tutorial on the website. This solution below from @martinkim0 works for me in conjunction with cuda/11.7.1 and python 3.9.

Could you try installing PyTorch and JAX dependencies as follows and seeing if it works:
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 cuda-nvcc=11.8 -c pytorch -c nvidia -c conda-forge
pip install jax[cuda11_pip] -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

and then
pip install scvi-tools

We've had some issues with our conda install in the past, so please give pip a try!

This installation worked for me:
git clone https://github.com/scverse/scvi-tools.git
conda create -n scvi-pip-p310 python=3.10
conda activate scvi-pip-p310
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
cd scvi-tools
pip install .
pip install scanpy
pip install jax[cuda11_pip] -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install --user scikit-misc
python -c "import scvi; print(scvi.version)"

@martinkim0 After setting it up as explained in your previous comment, I needed to upgrade
pip install nvidia-cusolver-cu11==<IP_ADDRESS>

I managed to fix all the compatibility issues by running
conda install jaxlib=*=*cuda* jax cuda-nvcc -c conda-forge -c nvidia ,
which took care of selecting the right version based on the cuda version I have installed
This is the full code:
conda create -n scvi-env python=3.9
conda activate scvi-env
nvidia-smi
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.08              Driver Version: 545.23.08    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  Quadro P2000                   On  | 00000000:09:00.0  On |                  N/A |
| 65%   69C    P0              52W /  75W |   1165MiB /  5120MiB |     87%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

pip install pandas PyYAML scipy

conda install jaxlib=*=*cuda* jax cuda-nvcc -c conda-forge -c nvidia

# some things I tried but all failed
# pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
# pip install -U --pre jaxlib -f https://storage.googleapis.com/jax-releases/jaxlib_nightly_cuda12_releases.html
# pip3 install torch torchvision torchaudio

pip install scvi-tools
pip install 'scanpy[leiden]'

Now the GPU is recognised and used correctly

@frac2738, tried your recipe and worked great getting the same output as your. However, I also received a warning on JAX and cuDNN conflict. Any suggestions on how to resolve this new issue?
Unable to initialize backend 'cuda': Found cuDNN version 8700, but JAX was built against version 8800, which is newer. The copy of cuDNN that is installed must be at least as new as the version against which JAX was built.

Actually, the warning went away after executing the command below. Any suggestion how to resolve the other warning? I'm using a nVidia RTXA4000 GPU
"pip install --upgrade "jax[cuda11_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html"
2024-01-11 13:52:13,509 - INFO - Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: "rocm". Available platform names are: CUDA
2024-01-11 13:52:13,520 - INFO - Unable to initialize backend 'tpu': INTERNAL: Failed to open libtpu.so: libtpu.so: cannot open shared object file: No such file or directory

@joseagraz I wouldn't worry about the JAX warning if you don't intend on using any of our JAX models. I also wouldn't worry about the additional warning messages you're seeing as they relate to AMD and TPU backends, which you're not using.

Great, thanks.
I put together these two repositories with the info gathered here. I hope it helps others!
https://github.com/Kidney-Science/python_single_cell_analisys
https://github.com/Kidney-Science/install_RTXA4000_Driver_CUDA_cudNN_Ubuntu_22


User deletion not possible due to constraint violations

Describe the bug
Using internal user management, it is not possible to delete users.
To Reproduce

Create a user
Make the user have connected entities like a participation (any entity will do)

Expected behavior
In the admin view clicking delete I am able to delete the user and all connected entities
Environment
GitLab + Internal User management

No longer happens. Users are soft-deleted now. I.e. their personally identifiable information like username/email/matriculation number is masked but the user entity still exists in the database. This preserves the foreign key constraints and ensures the error does not occur.


Fix m4a and mp4a playback

Addresses issue #581 where all tests (including the new one) pass.

It includes the necessary symphonia features
Handles "end of stream" decoding errors
Selects only tracks with supported codecs
Adds test for m4pa file from YouTube (CC License)
Let me know what revisions need to be made to get this merged.

Yikes, well it worked on my machine LOL

just not seeking on the RL.m4a, which is something I will fix later (for now maybe we can just disable the test again)

I strongly suspect that's a bug in symphonia, see: #577. I haven't been able to work on bringing that to the attention of the symphonia folk yet unfortunatly.

Addresses issue https://github.com/RustAudio/rodio/issues/581 where all tests (including the new one) pass.

Thank you so much for adding a test :+1:  that makes reviewing sooo much easier. I'm gonna take a detailed look tomorrow! At a quick glance it seems great though!

running cargo fmt should fix that last failing test

Some nitpicks and a small mistake regarding the crate features otherwise looks great. With some tweaks we can get it merged!

Some nitpicks and a small mistake regarding the crate features otherwise looks great. With some tweaks we can get it merged!

Yippee! I think I covered everything, thanks for pointing that stuff out.

YIPPEE! Thanks for your help with this :D


How to pass Phoenix.Token on socket connect?

Disclaimer: I'm fairly new to Elixir/Phoenix, so this might be a case of missing the obvious - sorry about that.
I'm trying to connect an Elixir App to a running Phoenix server. I have a number of channels working (and am using the Phoenix.Token method to handle socket authentication). That works fine from a browser.
I have added the PingChannel from the example directory and am trying to connect to it via the socket_client.ex also from the example directory, but in another app.
I can see that the connection is trying to happen, but it gets rejected by the server due to the token not being present upon connection. I have trawled the code to figure out when and how to pass the token when the socket is created, but I haven't been able to figure out where to add it.
The code used is 1:1 the one from the examples, the difference is the connect function in the user_socket.ex file in the Phoenix app:
  def connect(%{"token" => token}, socket) do
    case Phoenix.Token.verify(socket, "user socket", token, max_age: @max_age) do
      {:ok, uuid} ->
        IO.puts "verified : #{uuid}"
        {:ok, assign(socket, :user_uuid, uuid) }
      {:error, _reason} ->
        IO.puts "error: #{_reason}"
        :error
    end
  end

in JavaScript, in the browser, this is how the socket is connected:
let socket = new Socket("/socket", {params: {token: window.userToken}})

Any ideas?

Glancing at the Phoenix code, it looks like token is just appended as a parameter to URL. Could you try providing url as ws://server_url/my_socket/websocket?token=your_token ?

That's what I just figured out myself as well - it actually works. I have faked the token, because I need to figure out how to really sign a token (That would probably mean that I need to import Phoenix.Token into a non-Phoenix application somehow).
For now (this is a quick and dirty hack) I can live with a hardcoded token (that is handled on the server)

thanks for the help - I'm closing this


Add --force-vm-extensions to configure-product

If set, this flag will delete all VM extensions from a given job's resource config, if additional_vm_extensionsis explicitly set to[]. If the flag or additional_vm_extensions` is missing, then the existing VM Extensions will not be affected.
Resolves #400.

Went back to issue #400 to describe what we've landed on for addressing that issue; we'd rather have the config be the source of truth more or less as originally described, rather than having a flag (which, we know, we suggested) complicate the issue.
I'm closing this PR, though it looks like fine work. We'd be happy to take a similar PR without the flag, matching the behavior I described in issue #400.


Refactoring part 7

@mohsen1 I think it last part of big refactoring.
It still many TODO left, but it should be pretty small changes like 10-20 SLOC.
I'm not aware of any regression from previous release.
Maybe it's finally time to release?

@mohsen1 Ping :smile:

Oh sorry forgot about this.
Let me know when you think you're done so we can release it.


Suggestion: consistent numpy documentation style

See here. I prefer this style personally and it definitely is just a personal choice, but if there are no objections this is how I'll start documenting!

It's a good style. I don't mind as long as we are consistent (i.e. we don't have a situation where one part of the package uses NumPy style and another one uses Google style).

See #32 but long story short no I haven't tried to build the docs yet.

I'll close this for now- we can probably just use your style of documentation plus the auto-docstring generation. No need to complicate things too much for now!


Add badges of 3.8 and 3.9

Hi! Thank you for useful Docker image!
Added
I added badges for 3.9 and 3.8 and updated the badge link of 3.7 because 3.7 is no longer latest.

Thanks ! I took this opportunity to create new docker tags with an up-to-date glib for all supported Alpine versions, and reference them all properly in the README.

@jeanblanchard Thanks for the new README. The table looks so good!

@jeanblanchard
Hi, I found the metadata badges look the same badge, 3.9.

Oops ! Indeed I messed up my copy-pasting, good catch. Fixed now


fix(curriculum): update all comprehension check questions for attributes lecture

…tes lecture
Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #56858

This issue is for first time contributors only, you have already #56892 open


Android fix

I think commas are needed

Bash doesn't split on commas. it splits on IFS which defaults to any whitespace


Syntax fixes and append OCP Self-Managed

Syntax fixes and append OCP Self-Managed
Incremental fixes followed by duplicated subdirectory, and subsequent changes required for OCP Self-Managed

overall looks fine I was trying to have common deployment for OCP and k8s but its fine as of now so that you will be un-blocked.
Can you please fix the DCO i.e sign the commit and we will finally review and merge it. Also please add your test results as well.

Can you please share the following test results on IPI cluster

Deploying VPC file csi driver on IPI cluster by using PR changes
Verify PVC creation by using storage class which is created by CSI driver
Verify mounting PVC in the POD
Read/write data from POD to/from PVC

Test results:
Looks good
[root@rhocp-installer ~]# kubectl get pods
NAME                                     READY   STATUS    RESTARTS   AGE
test2-pvc-pod-validate-78479dcdd-gk4dk   1/1     Running   0          47m
[root@rhocp-installer ~]# kubectl create -f test_storage.yaml
storageclass.storage.k8s.io/ibmc-file-share-dp2 created
persistentvolumeclaim/test1-pvc-validate created
deployment.apps/test1-pvc-pod-validate created
[root@rhocp-installer ~]# kubectl get pods -w
NAME                                      READY   STATUS    RESTARTS   AGE
test1-pvc-pod-validate-6cfdf465bf-lx975   0/1     Pending   0          7s
test2-pvc-pod-validate-78479dcdd-gk4dk    1/1     Running   0          47m
test1-pvc-pod-validate-6cfdf465bf-lx975   0/1     Pending   0          32s
test1-pvc-pod-validate-6cfdf465bf-lx975   0/1     Pending   0          32s
test1-pvc-pod-validate-6cfdf465bf-lx975   0/1     ContainerCreating   0          32s
test1-pvc-pod-validate-6cfdf465bf-lx975   0/1     ContainerCreating   0          49s
test1-pvc-pod-validate-6cfdf465bf-lx975   1/1     Running             0          51s
^C[root@rhocp-installer ~]# kubectl get pods
NAME                                      READY   STATUS    RESTARTS   AGE
test1-pvc-pod-validate-6cfdf465bf-lx975   1/1     Running   0          57s
test2-pvc-pod-validate-78479dcdd-gk4dk    1/1     Running   0          48m
[root@rhocp-installer ~]# kubectl get pvc
NAME                 STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS          VOLUMEATTRIBUTESCLASS   AGE
test1-pvc-validate   Bound    pvc-a9784bda-cb89-4ef6-b22a-d0d2995ebb7f   50Gi       RWX            ibmc-file-share-dp2   <unset>                 61s
test2-pvc-validate   Bound    pvc-54561313-a710-404f-a7a0-eb9f58cea5a8   50Gi       RWX            ibmc-file-share-dp2   <unset>                 48m
[root@rhocp-installer ~]# kubectl get pods -n openshift-cluster-csi-drivers | grep file
ibm-vpc-file-csi-controller-7577f8ff45-m5zvm         4/4     Running   0               6m51s
ibm-vpc-file-csi-node-272kb                          3/3     Running   0               2d
ibm-vpc-file-csi-node-8t7vv                          3/3     Running   0               2d
ibm-vpc-file-csi-node-p5pqg                          3/3     Running   0               2d
ibm-vpc-file-csi-node-tlbbd                          3/3     Running   0               2d
ibm-vpc-file-csi-node-tshhw                          3/3     Running   0               2d
ibm-vpc-file-csi-node-wm4ds                          3/3     Running   0               2d
[root@rhocp-installer ~]#


kodi: implement kodiWithPlugins, add more plugins

Motivation for this change
I tried to add YATP to Kodi, ended up rewriting a bunch of stuff.
Known issues
I did not touch wrapKodi and the default wrapped kodi, but, really, we should probably deprecate and then remove it.
Things done

[X] It builds.
[X] Both old kodi with its configuration via nixpkgs.config and the new kodiWithPlugins work.

Don't merge sooner than 2018-09-09 23:59 UTC. Merge at will.

/cc @titanous @edwtjo @cpages @worldofpeace from git-blame of kodiPlugins
/cc @edolstra because I reverted a tiny piece of yours here

Success on x86_64-linux (full log)
Attempted: kodi, kodiPlugins.simpleplugin, kodiPlugins.yatp
The following builds were skipped because they don't evaluate on x86_64-linux: kodiPlugins.steam-launcher
Partial log (click to expand)
building
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/0v7q2iifi2j10yfln9bkfa9h9j9ibcsy-kodi-plugin-yatp-3.3.2
patching script interpreter paths in /nix/store/0v7q2iifi2j10yfln9bkfa9h9j9ibcsy-kodi-plugin-yatp-3.3.2
checking for references to /build in /nix/store/0v7q2iifi2j10yfln9bkfa9h9j9ibcsy-kodi-plugin-yatp-3.3.2...
/nix/store/n90qpxp56f81k6s94hakrbndwv8c0flc-kodi-with-plugins-17.6
/nix/store/h51bg87wk936qlm7d0n53k165aif6zbg-kodi-plugin-simpleplugin-2.3.2
/nix/store/0v7q2iifi2j10yfln9bkfa9h9j9ibcsy-kodi-plugin-yatp-3.3.2

Success on aarch64-linux (full log)
Attempted: kodiPlugins.simpleplugin, kodiPlugins.yatp
The following builds were skipped because they don't evaluate on aarch64-linux: kodi, kodiPlugins.steam-launcher
Partial log (click to expand)
no configure script, doing nothing
building
no Makefile, doing nothing
installing
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/fy0xvhfd5zk7gmrllwzcxhgqjqrh9jhm-kodi-plugin-yatp-3.3.2
patching script interpreter paths in /nix/store/fy0xvhfd5zk7gmrllwzcxhgqjqrh9jhm-kodi-plugin-yatp-3.3.2
checking for references to /build in /nix/store/fy0xvhfd5zk7gmrllwzcxhgqjqrh9jhm-kodi-plugin-yatp-3.3.2...
/nix/store/jvxdq68dlcy878gd0gppkd84nfalf65w-kodi-plugin-simpleplugin-2.3.2
/nix/store/fy0xvhfd5zk7gmrllwzcxhgqjqrh9jhm-kodi-plugin-yatp-3.3.2

@xeji
Ugh, I see, pythonPackages.requests is a mass rebuilt.
I don't want to move this to staging as I rebased this several times already, it touches a lot of kodi stuff and I'm tired of fixing those conflicts.
I removed YATP from here, changes to plugins will go to staging after this gets merged to master.
@worldofpeace

Please drop this plugin as it no longer exists.

Ok, will do in that second PR.
This is now became a purely infrastructure PR.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: kodi, kodiPlugins.steam-launcher
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: kodi
The following builds were skipped because they don't evaluate on x86_64-linux: kodiPlugins.steam-launcher
Partial log (click to expand)
copying path '/nix/store/l7l9j7y4haayli2qw0fs90w6j8kg4m90-bluez-5.50' from 'https://cache.nixos.org'...
copying path '/nix/store/5qykkwx1xx2zsr3vnirhvw60ahrn91iw-xf86miscproto-0.9.3' from 'https://cache.nixos.org'...
copying path '/nix/store/76xzpl5q63y2cf2xrl8q8hfh03dgsy55-cwiid-2010-02-21-git' from 'https://cache.nixos.org'...
copying path '/nix/store/x40l832fzx6xjlwczhlddcnfjaqvv0pm-libXxf86misc-1.0.3' from 'https://cache.nixos.org'...
copying path '/nix/store/hmx9ryz40xxhf60g18mx199qcvi7b2gr-yajl-2.1.0' from 'https://cache.nixos.org'...
copying path '/nix/store/js6ll6kcxwcjid92zhwwsd508cvvv7rn-xdpyinfo-1.3.2' from 'https://cache.nixos.org'...
copying path '/nix/store/v7kr9w76qfhm5h7hchvarw1k95v4b7ws-kodi-17.6' from 'https://cache.nixos.org'...
building '/nix/store/j27ma3apd2zyjdpv9najrasqmsqd6hgx-kodi-with-plugins-17.6.drv'...
created 6 symlinks in user environment
/nix/store/n90qpxp56f81k6s94hakrbndwv8c0flc-kodi-with-plugins-17.6

I've rebuilt everything (with mass-rebuild YATP patches included) on top of this revision. I can see no issues.
LGTM. Merge at will.

@xeji Thanks!

Changes to plugins: #46403.


Function Type Parameter Specification Assertion Change: Allow "Complex" Types

Hello,
In the grammar, a function type's parameter specifications are based off of the following rule:
parameter-specification:
      parameter-name parameter-type

Where:
parameter-type:
      assertion

assertion:
      as nullable-primitive-type

However, Power Query in Power BI Desktop allows more complex types to be used for these assertions. Example:
type function (input as any, options as [PrettyPrint = logical, MaxLineCount = Int64.Type]) as any

This PR proposes an adjustment to reflect the fact that a function type parameter assertion can be more "complex" than a nullable primitive types while maintaining the fact that only nullable primitive types can be used when defining functions.
If the below looks good, will copy the relevant changes to https://learn.microsoft.com/en-us/powerquery-m/m-spec-types#function-types.

#sign-off

#sign-off


chore(deps): update common-dev-assets digest to 7aa8a96

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
5fdee53 -> 7aa8a96

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix/Can not merge block not linked problem

:x: Build AElf <IP_ADDRESS>8 failed (commit https://github.com/AElfProject/AElf/commit/c44329e7d9 by @zhxymh)

:x: Build AElf <IP_ADDRESS>3 failed (commit https://github.com/AElfProject/AElf/commit/f5aa40ac58 by @loning)


Question and/or Feature Request

QQ: Does watir currently support generating Netscape-style cookie jar files?  I've searched the inter-tubes feverishly in hope for a solution...unfortunately browser.cookies.to_a or browser.cookies.save(cookie_jar_dest) isn't directly meeting the requirement.  I'm reaching out directly at this point - combing through old stack overflow posts is beginning to feel like an exercise in frustration.  That said there's always:
require 'http-cookie'
Initialize a cookie jar
jar = HTTP::CookieJar.new
Load from a file
jar.load(filename) if File.exist?(filename)
however, missing method errors are rearing their ugly heads from that gem (issues have been opened on their end for quite some time w/ no response...I'm inclined to say the gem is starting to look like vaporware).
A watir-native approach is preferred in this case.  Any help is greatly appreciated.  Thanks in advance!

I'm not familiar with cookie jars. What functionality is needed that #to_a does not provide?

It's quite a bit different...cookie jars are an old Netscape standard used
in some modern apps for tracking session state.  Fortunately from my
perspective I was able to leverage a Cookie header instead:
https://github.com/ninp0/csi/blob/master/bin/csi_arachni#L75-L98
On Nov 18, 2017 3:28 PM, "Titus"<EMAIL_ADDRESS>wrote:
I'm not familiar with cookie jars. What functionality is needed that #to_a
does not provide?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/watir/watir/issues/672#issuecomment-345476197, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA9jx70UA_lqOCNSjLwWngKm3n1Asytmks5s31ofgaJpZM4QA7_9
.

Fwiw, more info on cookie jar files here:
https://curl.haxx.se/docs/http-cookies.html
On Nov 18, 2017 3:28 PM, "Titus"<EMAIL_ADDRESS>wrote:

I'm not familiar with cookie jars. What functionality is needed that #to_a
does not provide?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/watir/watir/issues/672#issuecomment-345476197, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA9jx70UA_lqOCNSjLwWngKm3n1Asytmks5s31ofgaJpZM4QA7_9
.

I guess I don't see how this is an issue Watir should provide directly. If you have specific code to suggest, we can take a look, otherwise it sounds like you have a working solution, so I'm going to close this issue.

Sounds good - to your point, I found a work-around.  Thanks.
On Nov 18, 2017 4:17 PM, "Titus"<EMAIL_ADDRESS>wrote:

I guess I don't see how this is an issue Watir should provide directly. If
you have specific code to suggest, we can take a look, otherwise it sounds
like you have a working solution, so I'm going to close this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/watir/watir/issues/672#issuecomment-345478628, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA9jx9-AEKw2m0h2Qo4DWVXr0umCjFXgks5s32VvgaJpZM4QA7_9
.


readme update for gem caching

[ ] I have added or updated the specs.
[ ] I have verified that the specs pass on my computer.
[ ] I have not attempted to bump, or alter versions.
[x] This is a documentation change.
[ ] This is a source change.

Description
update of readme regarding gem caching volumes

Thanks 💖


Mods don't have their messages shown

This is probably because the parser is not taking something into account:

Can you paste one of those messages from bork.log?

[debug] (default): unknown: @badge-info=founder/2;badges=moderator/1,founder/0,premium/1;
client-nonce=fbe59befcb1a315845379957d8753aec;color=#006880;display-name=kcthepandaman;
emotes=;flags=;id=38dec4d8-19e7-479d-8120-0b3ec4af5987;mod=1;room-id=23875822;
subscriber=0;tmi-sent-ts=1609176796155;turbo=0;user-id=25174982;user-type=mod
<EMAIL_ADDRESS>PRIVMSG #komarispaghetti :We are not here

Docs not exactly up to date I see

So founder is the special type of subscriber, like the first 10 IIRC? Also user-type=mod allows detecting mods.
Do you want to do the fix or shall I do it?

Well, I'm probably not gonna get around to it today, so you can jump on it