It should be possible to synchronous retrieve a "loaded and ready" module's export object

I'm basically looking for a "retrieve X if present" without initiating a load.
In order to lookup a module from the registry, the "key" must be obtained, the "key" is only available via the "resolve" method (the key is loader defined so unpredictable), and the resolve method returns a promise which will never provide a value synchronously.

I have two use cases for this:
(1) conditionally use code if it is present.
(2) make ES6 modules available to traditional scripts by delaying the loading of those script until after the known ES6 module dependencies are available, and then allow the script to retrieve the module synchronously as they are loaded and evaluated.

(1) conditionally use code if it is present.

Are you talking about polyfills by any chance? Who is responsible for importing the code in the first place?

(2) make ES6 modules available to traditional scripts by delaying the loading of those script until after the known ES6 module dependencies are available, and then allow the script to retrieve the module synchronously as they are loaded and evaluated.

Interesting. In this scenario I suspect you will need a master puppet that will import the modules, wait for them to be ready, and then evaluate the script. Similar scenario happens today with modules compiled with browserify/webpack, and somehow, the communication between the two pieces running a different modes (async vs sync) happens via some global variable or function. Still, you should be able to do:
let mod = System.loader.registry.get('a-module-key').module; // flaky
mod.foo('do something');

My argument here is: if your script is already using the loader, and knows the key of the module, why not just use the import() mechanism? If the issue is not having to rely on an async process because of the ergonomics of the code, top level await my help:
let mod = await System.loader.import('my-module'); // robust
mod.foo('do something');

No, not polyfills, think a optional logging library or some such thing.

I should be specific about what my original motivation is here: I am trying to build a bridge between current module systems and ES6 modules.  My goals were:

allow gradual transition of code to ES6 modules
don't invent new syntax/library
avoid code translations ("transpilation, etc")

My general line of approach was this:

preload all ES6 modules (I want to do this anyway to avoid cascading network requests).
force all needed ES6 module to be evaluated
when they are ready, start loading the scripts that depend on the ES6 modules

And what I was looking for was the syntax to synchronous access the "load and ready" scripts: except there isn't any.    What I was expecting was something like:
   var foo = System.loader.getModuleIfPresent('./foo'); // or similar method

Such a system would need to gather needed dependencies server-side but would not need to modify any of the files.  However, no such API exists.   System.loader.registry.get is close but it needs a key something the code author does not have (as the value is left to the loader, it is impossible to predict).   So I left with poor choices:

invent my own loading library API that allows for synchronous location resolution
force all code to be migrated to ES6 module (impossible)
don't migration to ES6 modules (unfortunate)
do automated translation of the legacy scripts

It isn't at all clear what the use case a async "resolve" step is trying to support.

I will discuss the use-case with other folks in upcoming weeks, but for me, it smells. Think about how do you do this today with scripts only? And work your way back from that.
If your scripts can't use the loader (it seems), then create your own global registry from where they can get what they need, e.g.:
var legacyRegistry = {}; // this could be `window` as well.
System.loader.import('foo').then((mod) => {
     legacyRegistry['<whateverIdentifierAre>'] = mod;
}).then(() => {
     // load scripts that will rely on `legacyRegistry`
});

Right, there I have to (a) a new API to use the legacyRegistry (b) create a means of resolving the relative paths used in the script.  I want to avoid (a) and in the general case (b) isn't currently possible as the "name" of the script isn't known.

Is there any update on this?  I'm still haven't seen any proposal to solve circular imports in a meaningful way.   "import(...).then(...)" has the wrong timing.


Support WebSocketChunkedInput in websockets

Allow the client to send WebSocketChunkedInput's on the channel. Assumes that client has added a ChunkedWriteHandler in the customise-pipleline logic.
It would probably make sense for Aleph to support this directly for websockets in future like it does for HTTP, but for now it makes sense to pass though chunked inputs if we're doing it manually.

@scramjet Should we allow this only when ChunkedWriteHandler was added into the pipeline before?

@kachayev A warning would be nice, but add some overhead checking the filter stack. I'd expect anyone knowledgable enough about Netty to send WebSocketChunkedInput's down the line to know they also need a ChunkedWriteHandler in there too (and to not want the overhead of checking and warning).
Like I said, it would be nice if there were an API in Aleph to make this possibly without messing directly with Netty, but this seems like a pragmatic middle ground for now.

I've amended this to be more general: pass though anything implementing ChunkedInput.


Dragging multiple items

Hey there, amazing work with the lib so far. I'm curious if there is a way currently to support dragging of multiple items next to each other?

Hmmm I suppose you could combine them into one item. I have no plan to implement this feature for this library at the moment.


Switch away from tide web server

Currently, tide has its limitations especially not having support for web sockets which is preventing trunk from supporting web socket proxy and auto reloads (it may be possible to use SSE for auto reloads but tide's SSE's documentation also leaves a lot to be desired).
I suggest that tide should be switched out with something that is more complete at the moment like warp (or maybe even actix-web) (there are others servers too but they either don't have web sockets well documented or don't have support for web sockets at all). It's important to note that both of those frameworks would require switching away from async_std, which seems to be a requirement if web sockets support is needed. tokio-async-std crate can be used as a drop-in replacement to obtain the tokio runtime and use warp (from my very limited testing, it seems to work but I have never personally used it in a real application)

Additional note - if I'm not wrong, tide doesn't support HTTP/2 so it limits SSE connections and theoretically may cause different behavior of the proxied server. I would also choose probably actix or warp.

Additional note - if I'm not wrong, tide doesn't support HTTP/2 so it limits SSE connections and theoretically may cause different behavior of the proxied server. I would also choose probably actix or warp.

If that's correct, that's yet another reason to switch. I'd personally take warp over actix-web (since it has served me better in the past).

Yea, I know that not having WebSockets is a pain point for the current web server. I have been really hopeing that the WebSocket work in tide would have landed by now. I love the simplicity and clarity of the async-std & tide ecosystem. Don't get me wrong, I've used the hell out of the tokio stack and in other contexts I would definitely reach for it.
The one thing that I don't like about warp is it takes a very non-standard approach to building servers. It works, and is a solid system. However compared to tide, tide is exactly what you would expect from a web server. I have production systems running based on actix-web ... but that is also a bit heavier than I would like for this.
My plan at this point is to cross this bridge when I have the time to hack on the WebSockets/HMR/Browser reload feature. I might even just implement websocket support in tide myself, we'll see.
If someone beats me to it and has a PR which does all of the things and is of good form ... well, I'll probably merge it :)

Ad HTTP/2 for Tide:

We've talked about authoring an async-h2 crate, but we currently don't have the bandwidth to.

Quoted from https://blog.yoshuawuyts.com/async-http/

There is also a reserved crate: https://crates.io/crates/async-h2

I've started implementing hot reload using tide using their SSE and it simply doesn't work.
There is an open issue in their repo but it has no comments yet.
I would personally pick actix since I've used it before and I never had issues with it, but then again I don't think it would make that much of a difference since serving a few static resources and a websocket endpoint isn't rocket science.

@jeroenvervaeke mind taking a look at https://github.com/thedodd/trunk/pull/137 ??? Not sure if this will help at all, but with WebSocket proxy support landing soon, we could build on top of those capabilities perhaps?
Also, do you mind sharing some of your work related to the SSE bits? Perhaps the issue has a relatively simple fix, even if we need to patch tide/async_std.

@thedodd sorry for the late reply I'm currently too caught up with other projects.
At the time I started working on the implementation I had a lot of free time but it doesn't look like I'll have a lot of free time to contribute to this project anytime soon.

Hey there @jeroenvervaeke. No worries. All of our main requirements (websockets and such) are now covered by Tide and working quite nicely. So I'm actually going to close this issue. HTTP2 was the last outstanding issue, but Tide will support that in due time I would imagine. Not a critical issue for a dev server.


Can't select next month's dates

Version 8.0.3
Can't select next month's dates programmatically
calendar.selectDates(from: date, to: dates.last!, triggerSelectionDelegate: false, keepSelectionIfMultiSelectionAllowed: true)
This is what i do. Let's say user tapped on 14th and it selects 15th 16th 17th etc. But when it comes to selecting the next month, it just doesn't work. I think the reason for that is for each month is a cell in my collection view... When this edge-case happens, i think i shouldn't be doing hard-coded stuff to select dates from next month. Is there any practical way to fix this?

It supposed to look like this

So basically, you are saying that this function does not work?
calendar.selectDates(from: date, to: dates.last!, triggerSelectionDelegate: false, keepSelectionIfMultiSelectionAllowed: true)

I think the reason for that is for each month is a cell in my collection view...

Ok, help me understand.
Why do you have each month to be one cell in your collection view?

I think the reason for that is for each month is a cell in my collection view...

Ok, help me understand.
Why do you have each month to be one cell in your collection view?
There should just be one JTACMonthView. This JTACMonthView is a collectionView.
This view will display all the months as needed.

Okay i knew the problem was having cell for each month. Like you said JTACMonthView was the solution. Thank you!!!


vue ui contribution

Resource Name - Vue UI
Vue UI kit featuring a modern design system with dozens of custom components based on bootstrap 4.
https://designrevision.com/downloads/shards-vue/
Checklist:

[x] I have performed a self-review of submitted resource and its follows the guidelines of the project.

sorry I do not understand what you mean by unlit the file and add only the resource. Please come again and be much more clearer perhaps with an example.

@akwetey You used prettier or something like that to format the whole file. Don't do that, just add your resource.

@StefanSelfTaught I added just my resource. I guessed while saving the file prettier formatted the whole thing. My bad. How do I correct that because prettier will format the whole thing once I save the file again?

@akwetey You could disable 'format on save'. If you are using VS Code you will find that in Settings -> Extensions -> Prettier or something like that.

@StefanSelfTaught thanks very much. I will do that.

@StefanSelfTaught I have disabled prettier. I hope it is better now?

Yes.


Fix: getStartStep to accommodate for hidden components

Description

This pull request will fix the issue of getStartStep() in wizard.php@line:212  It does not accommodate for a scenario where a Step Component is hidden.

[✅] Visual changes (if any) are shown using screenshots/recordings of before and after.

There isn't really any visual changes, it only fixes an issue.
Code style

[✅] composer cs command has been run.

I was able to run composer cs.
Testing

[✅] Changes have been tested.

There was no tests for the Wizard component (I might be wrong here, so if you can redirect me to the right files, I will gladly write a test for this issue.)
Documentation

[✅] Documentation is up-to-date.

I'm Guessing there is no need for Documentation for this change?

PhpStan Errors does not concern my changes, what should I do about this?

Merged PRs cannot be reopened

I have made a follow-up pull request #12190


Vagrant deploy specific commit

have tested on:
MacOSX 10.10.2
vagrant 1.7.2

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/2860/
Test PASSed.

+1 LGTM


Possibility to overwrite default toast width

Describe the bug
First of all, thanks for the nice work!
I think there is currently no built-in option to increase the width of the toast, which I really need for wider desktop screens. I tried it by setting a class and then overwriting the "--width" property, which does make the toast wider but now the offsets aren't correct anymore.
Reproduction

Logs
-

System Info
-

Severity
annoyance

Hey, let me know if this thread helps you.

Hey, thanks for the link but unfortunately that didn't work. I also tried various CSS styles but at least for me, that unfortunately didn't change the width at all.

We can overwrite the default toast width using this css selector I hope it would be working.
[aria-label="Notifications alt+T"] ol {
  --width: 450px !important;
  height: 250px;
  right: 100px;
}

Similar to what @shub86 suggested, if you are using tailwind css, you can override the css variable --width when initializing Toaster.
<Toaster
  className="![--width:450px]"
/>

Just to add to this, for me this only worked with "class", not "className", e.g.:
<Toaster
  position="top-center"
  expand={false}
  richColors={false}
  duration={4000}
  class="![--width:340px] xl:![--width:660px]"
  toastOptions={{
    unstyled: true,
    classes: {
      toast:
        'flex items-center justify-center w-full px-5 py-3 rounded-lg shadow-lg bg-white dark:bg-zinc-800 border border-zinc-300 dark:border-zinc-500 text-zinc-800 dark:text-zinc-200',
      title: 'font-medium text-sm ml-2'
    }
  }}
/>


Login config file generated is different when used with flags

regctl registry login registry.private -u user -p password
This generates config file ~/.regctl/config.json
{
  "hosts": {
    "registry.private": {
      "user": "user",
      "pass": "private"
    }
  }
}

and all request fails with unauthorized error but same time
regctl registry login registry.private then enter username and password. This generates
{
  "hosts": {
    "registry.private": {
      "scheme": "https",
      "tls": "enabled",
      "dns": [
        "registry.private"
      ],
      "user": "user",
      "pass": "password"
    }
  }
}

and then this works.

Thanks for the report. I believe this is a case of the shell parsing special characters in the password string rather than a different behavior in regctl itself. All of the additional fields are default values that would get automatically set when reading an existing config vs creating a new config, so any command that updates the config may add those fields.
I'm working through a refactor that will change how this config is handled, and in that branch, I'm not seeing authorization issues with the config.json in the first state, so if there are issues with this, it will be fixed in the next release.

With the latest release, this should be fixed, or at least look different. If you're still having issues, let me know and we can reopen this.


[CentOS 7] nerdctl run failed.failed to call cni.Setup: plugin type="bridge" failed (add): running  (iptables v1.8.7 (nf_tables):  RULE_APPEND failed (Invalid argument): rule in chain POSTROUTING\n")

centos7
Description
> nerdctl --namespace=nerdctl-test run --rm --net host myregistry.domain.com:5001/stargz-containers/alpine:3.13-org
>
> nerdctl --namespace=nerdctl-test ps -a
CONTAINER ID    IMAGE                                                                           COMMAND                   CREATED                   STATUS     PORTS                       NAMES
c9c847257348    myregistry.domain.com:5001/stargz-containers/alpine:3.13-org                    "/bin/grep shm /proc…"    Less than a second ago    Created                               nerdctl-testcopytocontainer
> nerdctl --namespace=nerdctl-test start c9c847257348
FATA[0000] failed to create shim: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: time="2022-08-16T06:37:17Z" level=fatal msg="failed to call cni.Setup: plugin type=\"bridge\" failed (add): running [/usr/sbin/iptables -t nat -A POSTROUTING -s <IP_ADDRESS> -j CNI-641983adac3364af5cf2b254 -m comment --comment name: \"bridge\" id: \"nerdctl-test-c9c8472573488660d111090f204c6d7637614ee4949da9ead7932d9f2103abd4\" --wait]: exit status 4: iptables v1.8.7 (nf_tables):  RULE_APPEND failed (Invalid argument): rule in chain POSTROUTING\n"
Failed to write to log, write /var/lib/nerdctl/1935db59/containers/nerdctl-test/c9c8472573488660d111090f204c6d7637614ee4949da9ead7932d9f2103abd4/oci-hook.createRuntime.log: file already closed: unknown

Steps to reproduce the issue

Describe the results you received and expected
run it successful
What version of nerdctl are you using?
Version:	v0.22.1
OS/Arch:	linux/amd64
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
No response
Host information
[root@zxsvp_docker_build ~]# nerdctl version
Client:
Version:	v0.22.1
OS/Arch:	linux/amd64
Git commit:	3c83196ab006154fd1c3bc14bbcc0d3660fb7d5f
buildctl:
Version:	v0.10.3
GitCommit:	c8d25d9a103b70dc300a4fd55e7e576472284e31
Server:
containerd:
Version:	1.5.9
GitCommit:

/usr/bin/bridge -v
CNI bridge plugin v1.0.0

@kzys @dqminh @mattfarina  @vbatts

Change the iptables version,the problem solved.But do not know why nerdctl  has relation to the iptables

Change the iptables version,the problem solved.But do not know why nerdctl has relation to the iptables

@xuegege5290 I had the same problem.Can you tell me what version for iptables?but,I use a debian buildroot system


feat: Add crc16 check

Description:
Adds a CRC16 check.
Related Issues:
Fixes #6
Checklist:

[x] Review the CONTRIBUTING.md documentation.
[x] Add a reference to a related issue in the repository.
[x] Add a description of the changes proposed in the pull request.
[x] Add unit tests if applicable.
[x] Update documentation if applicable.
[x] Add a note in the CHANGELOG.md if applicable.
[x] Sign the Google CLA.

Codecov Report
Attention: Patch coverage is 64.63415% with 29 lines in your changes missing coverage. Please review.

Project coverage is 67.59%. Comparing base (557b254) to head (5515c73).

Files with missing lines
Patch %
Lines

reader.go
64.63%
23 Missing and 6 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
+ Coverage   62.76%   67.59%   +4.83%
==========================================
  Files           1        1
  Lines         239      287      +48
==========================================
+ Hits          150      194      +44
- Misses         63       65       +2
- Partials       26       28       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add decoding of groups

Groups is a way of nesting information in a protobuf message similar to nested messages. While groups is a depricated  feature, and should not be used when creating new messages, it may still be useful to be able to decode legacy messages which contain groups.
In the wire format a group is started by a tag with the wiretype SGROUP = 3 (group start) and ends with a tag with wiretype EGROUP = 4 (group end).
From the documentation groups start and ends with a tag containing the same field number, but have SGROUP and EGROUP wire types respectively. This would give the start tag as: tag = (fieldNum << 3) | SGROUP and end tags as: tag = (fieldNum << 3) | EGROUP with a valid protobuf message in between.
This should be pretty straight forward to add to the message decoder by performing a subfield decode starting from the SGROUP tag, and terminating the subfield  decode when an  EGROUP tag is reached. The field number for the start and end tag should be compared when terminating the subfield decode in order to verify that the group was correctly decoded.

Added with commit https://github.com/andreasbell/sqlite_protobuf/commit/f7252709d51e3353b5faea3b69c19c33d62caef4


Struct ref mutating broken

Looks like mutating of ref structs was broken:
using System;

public struct Struct
{
    public int _x;

    public void Mutate()
    {
        _x++;
    }

    public int X { get { return _x; } }
}

public static class Program
{
    public static void Main(string[] args)
    {
        var s = new Struct();

        StructRefMethod(ref s);
        Console.WriteLine(s.X);
    }

    public static void StructRefMethod(ref Struct s)
    {
        s.Mutate();
    }
}

C# result: 1
JS result: 0

It works now. @kg, what should we do with test cases in such old bug? I suppose that we already added test case that check something similar, but it would be hard to find it now. Will we just close it or should we add test cases to SimpleTests?

If it works now let's add the test case anyway.


Re-created nodes are not provisioned

I have four nodes in my GCE cluster
NAME                                                 LABELS              STATUS
kubernetes-minion-3wsr.c.lucid-walker-725.internal   <none>              Ready
kubernetes-minion-7yx6.c.lucid-walker-725.internal   <none>              Ready
kubernetes-minion-eatx.c.lucid-walker-725.internal   <none>              Ready
kubernetes-minion-kvgz.c.lucid-walker-725.internal   <none>              Ready

Delete the first two from GCE console, after a while, they are re-created by MIG.  nodecontroller picks it up and re-created them in k8s, but they remain NotReady, which means kubelet is not responding.
NAME                                                 LABELS              STATUS
kubernetes-minion-3wsr.c.lucid-walker-725.internal   <none>              NotReady
kubernetes-minion-7yx6.c.lucid-walker-725.internal   <none>              NotReady
kubernetes-minion-eatx.c.lucid-walker-725.internal   <none>              Ready
kubernetes-minion-kvgz.c.lucid-walker-725.internal   <none>              Ready

NotReady node is not useful.  Reference PR #4164
@fbalejko @cjcullen

Yes, I agree all the features of MIG are not yet usable for K8s clusters.
I'll work towards fully supporting resizes (and node recreations). For now note there are two things still done instance by instance in the kube-up command: setting ip-range metadata and creating routes (routes persist recreations, if the new node has the same name the previous one had, but metadata is always lost). I'm planning to move that part to nodecontroller.

Furthermore, once MIG recreates one of your nodes, kube-push.sh will never work on your cluster again: it always thinks your cluster is broken because of the one node having not been provisioned.

cc @jszczepkowski @gmarek

Might work now, need to test and verify?

@alex-mohr @bgrant0607 @lavalamp - is this still a thing?

My guess is no, but we need someone to run a quick test. Any volunteers?

I believe the resize e2e test should cover this case? If that's passing, we can probably close this.

Supposedly clusters are scalable, so closing.
cc @jszczepkowski


On merging jupyter-lsp org

The Jupyter Security team was recently informed of a vulnerability that impacts the jupyter-lsp package (which is installed by default with JupyterLab). However, this package's source is hosted under the jupyter-lsp/ GitHub org, rather than an official Jupyter GitHub org like jupyter/ or jupyterlab/. This makes it challenging for us to open private discussion about potential security issues, or review any best practices.
Can the executive council consider merging the jupyter-lsp/ GitHub org into jupyterlab/ or jupyter/?
cc @jtpio @krassowski and @martinrenou

CC @bollwyvl
I think this was never formally confirmed, but I could agree that jupyter-lsp org is under the Jupyter EC governance (although without representation); indeed at least one member of the EC was added to the team of owners after the LSP JEP (https://github.com/jupyter/enhancement-proposals/pull/72) was merged. In that case the question is why not make it an official Jupyter GitHub org?
Previously there was a proposal to move the server part to jupyter-server (https://github.com/jupyter-server/team-compass/issues/30) but it was abandoned because there was no bandwidth to sync across repos across orgs. Moving all the repositories to another org rather than splitting out a bit would be easier, but still it would make it harder to manage.
One non-disruptive solution would be adding representative(s) of the security team to the jupyter-lsp org as a security manager(s) (https://github.com/jupyter/security/issues/68), an approach that we discussed on at least two security meetings.

In that case the question is why not make it an official Jupyter GitHub org?

See https://github.com/jupyter-governance/ec-team-compass/issues/12 among other discussion.

but still it would make it harder to manage.

The question here is for whom ? Having to manage 15+ org and search repository, or check settings, or remove write permissions from someone because they got their machine compromised in 15 org is definitely not fun.

Another simple solution is to remove the jupyter-lsp dependency from jupyterlab. It is not really used right now as jupyterlab does not ship with any LSP server.

Let's keep the discussion on reducing the number of orgs into a issue to reduce the number of orgs.

Another simple solution is to remove the jupyter-lsp dependency from jupyterlab. It is not really used right now as jupyterlab does not ship with any LSP server.

It's not sufficient for me, if we remove it and jupyter-lsp org is not official then it also need to clearly update the description and the log and actually be unaffiliated.
It also does not solve how we open a security discussion, because we have a report and it affects existing deployment.

I have now created security managers team in juypter-lsp and invited security team members there.

@krassowski and others - what do you think about proposing jupyter-lsp be adopted by the jupyterlab subproject and github org?

No strong opinion, also depends on what exactly you mean; again we had this discussion before:

https://github.com/jupyterlab/team-compass/issues/148 our original intent
https://github.com/jupyterlab/jupyterlab/pull/12534 - this part happened
https://github.com/jupyter-server/team-compass/issues/30 - this one did not (equally because there were pros and cons on maintenance side and because no one pushed to finalise the transition, which requires committing a number of hours to split up the monorepo and this is not only extracting out the server part but then also cleaning up the other bit, which no one offered to do).

Keeping it as a monrepo and moving it to jupyterlab org:

pro: easier maintenance-wise
pro: better on issue migration (most issues will be filled against jupyterlab anyways, or transferred therein from notebook)
con: creates a question what is the status of jupyterlab-lsp which so far was treated as "unofficial" extension

Splitting up jupyter-lsp (server) from jupyterlab-lsp (front) and moving only jupyter-lsp into jupyterlab org:

pro: clarity on what is official and what is unofficial
con: substantial maintenance and development overhead
con: then it make more sense to move it to jupyter-server org, right?
con: users may be confused on where to report issues

Here are the current repos that could be migrated:

https://github.com/jupyter-lsp/jupyterlab-lsp - contains both jupyterlab-agnostic jupyter-lsp and "unofficial" jupyterlab-lsp extension which is easily confused with a subset of the code that was merged into jupyterlab v4
https://github.com/jupyter-lsp/demo-r
https://github.com/jupyter-lsp/demo-julia
https://github.com/jupyter-lsp/demo-python
https://github.com/jupyter-lsp/yaml-lsp
https://github.com/jupyter-lsp/json-lsp

Of course we could only migrate the first repo and leave the gutted jupyter-lsp org as an unofficial org for jupyter-lsp-adjacent stuff (where you would find e.g. ipython-optimized language server extensions for python-lsp-server).
At this point it is probably better for me to distance myself from the decision and let EC decide.

I opened https://github.com/jupyter/security/issues/73 to consider a different solution to the underlying problem.

I guess this issue would be friendlier if Jupyter Security team approached jupyter-lsp directly first rather than starting with EC, especially given that a presence of a security vulnerability is now being discussed in public although it was not reported to maintainers, and I still don't know if I should prepare for a sleepless night because of a potential a critical issue which as stated affects existing deployments ;)

During the EC meeting someone was present and pointed out that some discussion of having lsp into jupyterLab were already discussed and took a long time, likely hence the reason for the separate org.
Hence our decision to directly open an issue at a higher level.
I don't think the discussion that there is a security vulnerability report is a problem, It does not give attacker any information, nor say if the report is valid. Which I don't know as I have not read it.

Thanks for the extra context and thank you for taking care of everything security!

Thanks for looking at this @krassowski and @Carreau
There are two routes for incorporating jupyter lsp:

We we want to pull it into an existing subproject, that subproject Council can vote to do that (for example, the new jupyter-frontend subproject).
If we want to pull it into Jupyter as a new official subproject, with its own Council, that would go through the Software Steering Council and Executive Council. The process for that is a bit out of date and the Software Steering Council is working on updating it.

We we want to pull it into an existing subproject, that subproject Council can vote to do that (for example, the new jupyter-frontend subproject).

That would make sense. Maybe https://github.com/jupyter-lsp/jupyterlab-lsp could be transferred to https://github.com/jupyterlab as is, under the Jupyter Frontends subproject?

Yeah, I am happy for it to happen if someone is going to champion it (and help with the associated reconfigurations).

Maybe we could have an issue on the Jupyter Frontends team compass repo to discuss this?

Yes, I reopened https://github.com/jupyterlab/frontends-team-compass/issues/67.
@ellisonbg regarding a conversation ( https://github.com/jupyterlab/frontends-team-compass/issues/247#issuecomment-2052265012) about AWS team being constrained to contribute to repositories in jupyterlab oganization, did having jupyter-lsp as a separate organization prevent the team from contributing to jupyter-lsp or was this never considered? I am aware that some AWS products make use of jupyterlab-lsp (1, 2).

There are two routes for incorporating jupyter lsp:

I presume this implies that the EC's stance is then that jupyter-lsp is not currently an official part of Project Jupyter governance?

We we want to pull it into an existing subproject, that subproject Council can vote to do that (for example, the new jupyter-frontend subproject).
If we want to pull it into Jupyter as a new official subproject, with its own Council, that would go through the Software Steering Council and Executive Council. The process for that is a bit out of date and the Software Steering Council is working on updating it.

If you don't change the process too much I already have a checklist filled for this option, ready to go since 2020, here: https://github.com/jupyterlab/frontends-team-compass/issues/67#issuecomment-640240410. But seriously, think I would lean that it makes more sense to make it a part of Jupyter Frontends subproject than create a new thing. The overhead of holding an election for representative does not seem worth it, and it would be odd for this rather a minor feature to have the same voting power as both Jupyter Notebook and JupyterLab combined. And the debugger does not have its own subproject either ;).

think I would lean that it makes more sense to make it a part of Jupyter Frontends subproject than create a new thing. The overhead of holding an election for representative does not seem worth it, and it would be odd for this rather a minor feature to have the same voting power as both Jupyter Notebook and JupyterLab combined. And the debugger does not have its own subproject either

Thanks for reopening https://github.com/jupyterlab/frontends-team-compass/issues/67 :+1:
Yes it would make sense to make it part of the Jupyter Frontends, and eventually retire the jupyter-lsp organization.

So apparently Jupyter is now using Enterprise as per https://github.com/jupyter/enhancement-proposals/issues/122#issuecomment-2099501888. I don't think it changes much, except reducing the number of arguments against having a separate jupyter-lsp org.

So apparently Jupyter is now using Enterprise as per https://github.com/jupyter/enhancement-proposals/issues/122#issuecomment-2099501888. I don't think it changes much, except reducing the number of arguments against having a separate jupyter-lsp org.

See https://github.com/jupyter/governance/issues/219 for more info about the enterprise org.

I accepted the invite to the Jupyter Enterprise Org for jupyter-lsp based on the invite as per https://github.com/jupyter/governance/pull/221#issuecomment-2124984410

Thanks @krassowski. Based on the messages in the past few weeks about jupyterlab-lsp being adopted under the Project Jupyter umbrella, can we have a jupyter frontend subproject council vote about adopting the jupyter-lsp org under the frontend subproject before the final approval from our end to join the jupyter enterprise org?

Yes that makes sense.
We can probably comment on https://github.com/jupyterlab/frontends-team-compass/issues/67 as mentioned above, and open a new issue on the team compass for the vote.

Bumping this; -lsp is still not an official Jupyter org but have the Jupyter-logo and name; it looks like it is officially par of jupyter but not under the /enterprise ?

I now removed the Jupyter logo and removed<EMAIL_ADDRESS>from the account contact details. There is many packages which have jupyter- prefix on PyPI, so I think renaming is not required.
I invited a co-developer of the jupyter-lsp to the Jupyter frontends council because I wanted them to have a say. I waited with opening a vote before for this reason. My understanding (based on my private conversation with them) is that they politely declined the invitation as they do not want to be involved in governance.
It was important to me given how the governance structure is set up in Jupyter, but maybe it is not that important because in practice members of councils do not have a vote on governance decisions.
I am happy for anyone to open a voting PR for the frontends council to vote on adopting the LSP org for governance purposes. Once my workload reduces I can do that myself, unless better ideas are raised in the meantime.

The entire discussion about "we need to have this under Jupyter frontends in order to invite you to enterprise" seems a bit moot to me, frankly there was a JEP which said:

We would like to propose its incorporation as an official sub-project of Project Jupyter

https://github.com/jupyter/enhancement-proposals/issues/67
https://github.com/jupyter/enhancement-proposals/pull/72

And it was approved. I know this was a previous governance and since then a different structure of subprojects emerged, but at the time I invited EC members to join the org and tried to coordinate the package rights and stuff but it seems this was not followed through (some invites were ignored, but one past EC who since left Jupyter did accept and was an admin).
I previously also said that LSP does not really warrant a separate governance representation, but I also feel like dumping everything into "Frontends" umbrella is creating an opposite problem - individual contributors to projects under "Frontends" have dis-proportionally small influence on governance decisions due to dilution of the one vote that this subproject has.

I'm personally happy with whatever as long as it's clear; I was diving into other stuff to make sur the PyPI and GitHub structure where correctly represented and writing tools to work across orgs; m
I'm also happy to invite Jupyter-LSP to enterprise if it helps. Even if part of enterprise, I think we can make this fact private; and at least it gives visibility on all the org – but I can see the confusion it can brings.
For PYPI, I think you are the only maintainer listed of lsp, so you may want to have backups.

@krassowski - thanks for reminding us about https://github.com/jupyter/enhancement-proposals/pull/72.

I am happy for anyone to open a voting PR for the frontends council to vote on adopting the LSP org for governance purposes. Once my workload reduces I can do that myself, unless better ideas are raised in the meantime.

+1 - I think it makes a lot of sense these days to have jupyter-lsp in the jupyter frontends subproject.


[open62541] update to 1.2.3 & add hisorizing feature

required by qt 6.3

All features are tested successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static


support dilation in conv2d

This PR adds dillation support in conv2d. Please review.
Related github issue:
#402

@Huyuwei

@nishi-t testcase is needed: https://github.com/dmlc/nnvm/blob/master/tests/python/compiler/test_top_level2.py#L12

@nishi-t can you please act on @Huyuwei 's comments? Thanks!

@tqchen @Huyuwei Thank you for review. Yes, I can do it. I'll send the fix soon.

I addressed @Huyuwei 's comments in 120e4b6. I think that submodule update is required to pass currently failing tests.
/cc @tqchen

@nishi-t  You can update submodule this way: https://github.com/tj/git-extras/pull/80

@Huyuwei Thanks for your advice. I updated the submodule in 702112f


feat: add v7.2 version check

Summary by CodeRabbit

New Features

Added a version check for blockchain data to identify if the block height is less than 14,369,500 and display Version: V7.0.

mg


Invalidate all refresh tokens when refresh token replay attack detected

Feature Description
When a refresh token invalidation is enabled and refresh token replay attack is detected,   Gitea should invalidate all refresh tokens and grants following OAuth security best practice  https://datatracker.ietf.org/doc/html/draft-ietf-oauth-security-topics-23#section-4.14.2

Refresh token rotation: the authorization server issues a new refresh token with every access token refresh response. The previous refresh token is invalidated but information about the relationship is retained by the authorization server. If a refresh token is compromised and subsequently used by both the attacker and the legitimate client, one of them will present an invalidated refresh token, which will inform the authorization server of the breach. The authorization server cannot determine which party submitted the invalid refresh token, but it will revoke the active refresh token. This stops the attack at the cost of forcing the legitimate client to obtain a fresh authorization grant.

Screenshots
No response

Relevant code https://github.com/go-gitea/gitea/blob/d1e066f5d6e1ba91f45118de835c3777eee0811f/routers/web/auth/oauth.go#L732-L739

In this case, wouldn't it make sense to delete all of the user's auth tokens?

What did you mean auth tokens? Refresh tokens?
I think the refresh token should be deleted, but I think the question is when. Maybe

deleted immediately after used
password change
logout at the authorization server
other situations.


Model in image support

Need to merge this when code is unfreezed
https://github.com/oracle/weblogic-kubernetes-operator/pull/1515/files


[6.4.x] kie-server-tests: jbpm - add escalation test to UserTaskEscalationInt…

…egrationTest
same as https://github.com/droolsjbpm/droolsjbpm-integration/pull/500
Locally tested on Eap 6.4 and tests passed

+1 to merge, affects only tests


Introduce AccountIdRef

This is a port of near/near-sdk-rs#1062 since we're trying to centralize our AccountId types.
Breaking changes:

removed impl Deref<Target = str> for AccountId (we want to target AccountIdRef here)
removed impl Borrow<str> for AccountId (these are semantically different types, so AFAIK Borrow<str> is improper, but AsRef<str> is fine)
all methods previously implemented for AccountId are now moved to AccountIdRef and available through Deref - more obscure ways of calling these will break
added an AsRef<AccountIdRef> implementation to AccountId - this might subtly break type inference for as_ref callers targeting AsRef<str> without specifying str

@frol bump


GUACAMOLE-615: Correct potential parse failures in webapp parser implementations.

The Java and JavaScript implementations of the Guacamole protocol parser may cause unexpected parsing failures due to those languages' use of UTF-16 internally for string representations and string length. In particular, characters involving high/low surrogates may end up with miscalculated length prefixes, ultimately causing the resulting instruction to fail to parse.
These changes refactor both implementations to calculate lengths in a way that takes high/low surrogates into account, and refactor the tunnel implementations to use a common parser.
The internal implementations of the length calculation (codePointCount() in Java and regex in JavaScript) were chosen after benchmarking the parser to verify that performance is not impacted. The "naive" solution (walking the string and counting codepoints manually) is significantly slower, whereas the solution here is as fast as the old implementation (if not faster).

Everything looks pretty reasonable to me. Any concerns @necouchman (or anyone else)? This touches a lot of pretty important things so it'd be nice to get a second pair of eyes before I merge this.

Sure @jmuehlner, I'll try to have a look this afternoon/evening.

Working through the review, hopefully be done with it today...


fix status issue using a computed field. Remove status dropdown

We used margin-top to resolve the issue that occurs bcos of the inconsistency of field-component for atom. Perhaps, its not an issue but sometimes its annoying that atom StringField behave differently from atom CompoundField

https://github.com/cardstack/boxel/pull/1916/commits/299ffcb90eb925c947f47a2c8fef0b8d4b0f07e3


Dividers

What?

We often need to handle fairly complicated sets of information
We want to use cards less often for non-clickable content so that we make good use of the standard background colour, which is better for accessibility and not misleading with regard to what you can do with the content
Thus, I believe we should look into how develop new / better ways to divide content (with lines, probably)

here's a quick doodle looking at some options (thick, full width dividers? ghost cards?)

@michaelgallagher would Section breaks serve your purpose?
(admittedly rather unfindable under typography)

@edwardhorsford partly! though, given the kinds of information we work with, i think it would be worth investigating other forms to enable clearer structures. (meaning: thicker lines, lines that run to the screen edge on mobile, etc.)


Can't change password after enablePasswordReset="false"

Description of bug
We like to hide the reset password button on the login module.
So we found the solution: open web.config and set enablePasswordReset="false".
The reset button ins't visible anymore, great!
When you change this setting you also can't change the password of a DNN user (persona bar - users). It shows the alert: doesn't meet the security requirement of a password.
Steps to reproduce
List the precise steps to reproduce the bug:

Open the web.config;
Set enablePasswordReset="false";
Open persona bar;
Open users;
Edit a user;
Change password;
Can't change: doesn't meet the security requirement of a password.

Affected version

[ ] 9.4.2
[ ] 9.4.1
[ ] 9.4.0
[ ] 9.3.2

Affected browser
All

This is expected behavior or limitation of the MembershipProvider.  If this is set to false, you cannot reset the passwords.
We might want to find a workaround for this


Improve Permission Handling UI

Hi @odaridavid  I would like to work on this issue.
Can you please assign this to me?
Thankyou.

Sure, go ahead

I don't see any related code references linked to this issue, can you please guide on where to start from?

Hey, sorry missed this comment and was off this codebase for a while, it's the settings dialogs for the current options.


Made the check column type exportable

Currently, when you try to export the columns, as this simply shows a font it shows blank in the export.
This adds the ability to apply labels to the checked states, which can then be exported, which might also be better for accessibility.
There is also some refactoring for more flexible configuration
Should be completely backwards compatible

This looks excellent. Thank you @OwenMelbz !
Tested, works great, merging now on master. It'll be available with a composer update in 3.4.10, most likely later today.
Thanks, cheers!


Backport: matrix-synapse: 0.28.1 -> 0.30.0

Backport of #41036
(cherry picked from commit 429d81db2b10dc641ec1a79e260ecc1effdc3842)
Motivation for this change
A backport for this was requested due to GDPR concerns.
@florianjacob and @pstn have done some testing on this already, are any further changes necessary?
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: matrix-synapse
Partial log (click to expand)
error: while evaluating the attribute 'propagatedBuildInputs' of the derivation 'matrix-synapse-0.30.0' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'buildInputs' of the derivation 'python2.7-systemd-234' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating 'getOutput' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/attrsets.nix:450:23, called from undefined position:
while evaluating anonymous function at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/stdenv/generic/make-derivation.nix:97:17, called from undefined position:
while evaluating the attribute 'systemd' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/top-level/all-packages.nix:13915:3:
while evaluating 'callPackageWith' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:113:35, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/top-level/all-packages.nix:13915:13:
while evaluating 'makeOverridable' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:72:24, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:117:8:
while evaluating anonymous function at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/os-specific/linux/systemd/default.nix:1:1, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:74:12:
assertion failed at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/os-specific/linux/systemd/default.nix:14:1

To document what I tested exactly:
Since I only have my production setup, I did services.matrix-synapse.package = pkgs.callPackage ../../pkgs/matrix-synapse.nix { }; where ../../pkgs/martix-synapse.nix {}; is the exact file that should be merged here. I also supplied the appropriate (and unchanged) matrix-synapse.patch from this repository.
The server is running for ~12h now and I didn't notice any breakage at any point so far.

Success on aarch64-linux (full log)
Attempted: matrix-synapse
Partial log (click to expand)
stripping (with command strip and flags -S) in /nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/lib  /nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/bin
patching script interpreter paths in /nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0
checking for references to /build in /nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0...
wrapping `/nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/bin/hash_password'...
wrapping `/nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/bin/homeserver'...
wrapping `/nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/bin/move_remote_media_to_new_store.py'...
wrapping `/nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/bin/register_new_matrix_user'...
wrapping `/nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/bin/synapse_port_db'...
wrapping `/nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0/bin/synctl'...
/nix/store/0ndccjh941z4fxgq0syvmrwzpfzfky4v-matrix-synapse-0.30.0

Success on x86_64-linux (full log)
Attempted: matrix-synapse
Partial log (click to expand)
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/lib  /nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/bin
patching script interpreter paths in /nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0
checking for references to /build in /nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0...
wrapping `/nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/bin/synapse_port_db'...
wrapping `/nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/bin/register_new_matrix_user'...
wrapping `/nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/bin/synctl'...
wrapping `/nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/bin/move_remote_media_to_new_store.py'...
wrapping `/nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/bin/hash_password'...
wrapping `/nix/store/dis5zancz3yj0vfw3al4lp799l6j1jpb-matrix-synapse-0.30.0/bin/homeserver'...

@GrahamcOfBorg test matrix-synapse

Success on x86_64-linux (full log)
Attempted: tests.matrix-synapse
Partial log (click to expand)
server_postgres# [   34.037650] synapse[980]: synapse.storage.background_updates: [] Starting update batch on background update 'user_ips_device_index'
server_postgres# [   34.041104] synapse[980]: synapse.storage.background_updates: [] Adding index user_ips_device_id to user_ips
server_postgres: exit status 0
test script finished in 38.38s
cleaning up
killing server_sqlite (pid 593)
killing server_postgres (pid 604)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/smhrkc5fihwn12dzrlqcjdpaidb007lh-vm-test-run-matrix-synapse

Success on aarch64-linux (full log)
Attempted: tests.matrix-synapse
Partial log (click to expand)
server_postgres: exit status 0
server_sqlite: running command: sync
server_sqlite: exit status 0
test script finished in 102.10s
cleaning up
killing server_postgres (pid 627)
killing server_sqlite (pid 639)
vde_switch: EOF on stdin, cleaning up and exiting
vde_switch: Could not remove ctl dir '/build/vde1.ctl': Directory not empty
/nix/store/b0hp32rj4rb41c0ky9c2pgaq3l8s0yrz-vm-test-run-matrix-synapse


Month picker popup is not opening responsively it goes beyond the screen size

Hi Team,
Popup for the month picker is not opening as per the screen size. The popup is going out of screen size if there is no sufficient space available. Attaching the screenshot for your reference.

You need to modify the css for rmp-popup to pull towards left for quick fix.


Feature/api/do not clear node tags on patch

Purpose
Keep tags from clearing out when someone does a PATCH on /v2/nodes/{{node_id}}/ when no tags are included in the patch. Closes https://openscience.atlassian.net/browse/OSF-5403
Changes

Check for the partial update condition in the update method and, in that case, make the tags equal to the original tags
Add a test for this situation

Side effects
None

Good to merge when the build passes.


Tag a new mapper as “replied” before “welcomed” will cause ERROR

Here's a example:

This is a user that not been welcomed:

I click the right button and only set this user as replied:

The server returned a "500 Internal Server Error".

Thanks for the notice @LaoshuBaby !
I'll have a look as soon as I have a little free time.


VS2017 compilation

Hi,
there is an issue during compilation with Visual Studio build tool 2017.
An error occured : fatal error LNK1107: fichier non valide ou endommagÚá: impossible de lire Ó 0x417D92 [C:\Users\xxxxx\AppData\Roaming\npm\node_modules\bluetooth-hci-socket\build\binding.vcxproj
Sorry it's french (i give you translation)  : File not valid ou damaged: impossible to read at 0x417D92
it's work fine with VS2015.
Any idea ?
Many thks for your work

Sorry it was 64bit  support. ith 32 bits vesion all fine


Ensure cbdata_ is always reset in before_move

After pull request #57, the result object could potentially be left in a state where it reported is_null true for columns that were not null, which I think is worse than the reverse, so this pull request eliminates that possibility.

(By the way, I suspect this leaves the rowset_size_ member of bound_column superfluous.)

Yep, agreed on the superfluous rowset_size_!


nrfx-blink-sdk: Fix incompatible PIC setting and libc usage

The changes here are a bit subtle (I with the build system and tools from the Zephyr SDK were more strict and more verbose, but it is what it is):

Object files are expected to have PIC off, all C and C++ compilations already have it, so we need to match that on Swift compilations. This fixes the mysterious linker error described in https://github.com/apple/swift-embedded-examples/issues/38.

We should explicitly build with -Osize, as CMake's default is to not pass any -Onone/-O/-Osize flags when the user has not explicitly provided a CMAKE_BUILD_TYPE. (C/C++ compilations are defaulted to -Os in the Zephyr CMake setup already.)

Disable the stack protectors (they require more symbols provided from a libc but they are not available in the Zephyr SDK).

Explicitly ask for newlib as the selected libc (to avoid symbol clashes with picolibc) in prj.conf. This makes malloc/free and aligned_alloc available.

Implement posix_memalign on top of aligned_alloc. This satisfies the requirements on heap API from Embedded Swift.

Fixes https://github.com/apple/swift-embedded-examples/issues/38.

Didn't test this yet on a nRF board, will do that before merging. But @nrbrook if you'd like to give it a try, feel free to!

Thanks @kubamracek. When building I'm getting 'newlib.h' file not found.  If I add the following it gets past that, but then picolibc.h can't be found, which doesn't seem to be present in zephyr. I'm not sure what's going wrong here and can't see much from searching around...
target_include_directories(app PRIVATE
    ${ZEPHYR_BASE}/../modules/lib/picolibc/newlib/libc/include
)

What version of Zephyr and/or NRF SDK are you using?

Zephyr, the latest commit in main:
zephyr % git log --abbrev-commit --pretty=oneline -2
2de6274119c (HEAD -> main, origin/main, origin/HEAD) drivers: flash: Do not select NRFX_RRAMC while building with TF-M

Could you post the entire build error complaining about newlib.h?

Btw I finally got to upload the firmware from this PR to a nRF52840-DK and it works (for me).

I have wiped my Zephyr installation and re-installed it to get the latest development version (this commit: https://github.com/zephyrproject-rtos/zephyr/commit/2aa31a369514a8ecb32dc5287eb446e117c28ade), and I don't reproduce the problem, the setup from this PR builds fine:
(.venv) cmake --build build
[1/134] Preparing syscall dependency handling

[3/134] Generating include/generated/zephyr/version.h
-- Zephyr version: 3.7.99 (/Users/kuba/zephyrproject/zephyr), build: v3.7.0-775-g2aa31a369514
[127/134] Linking Swift static library app/libapp.a
warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: archive library: /Users/kuba/Documents/swift-embedded-examples/nrfx-blink-sdk/build/app/libapp.a the table of contents is empty (no object file members in the library define global symbols)
[129/134] Linking C executable zephyr/zephyr_pre0.elf
/Users/kuba/zephyr-sdk-0.16.8/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: warning: orphan section `.swift_modhash' from `app/libapp.a(Main.swift.obj)' being placed in section `.swift_modhash'
[134/134] Linking C executable zephyr/zephyr.elf
/Users/kuba/zephyr-sdk-0.16.8/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd: warning: orphan section `.swift_modhash' from `app/libapp.a(Main.swift.obj)' being placed in section `.swift_modhash'
Memory region         Used Size  Region Size  %age Used
           FLASH:       20896 B         1 MB      1.99%
             RAM:        5696 B       256 KB      2.17%
        IDT_LIST:          0 GB        32 KB      0.00%
Generating files from /Users/kuba/Documents/swift-embedded-examples/nrfx-blink-sdk/build/zephyr/zephyr.elf for board: nrf52840dk

I wonder if you possibly just have some specific commit of Zephyr where the picolibc support is busted?

Let's go ahead and merge this, and if there's any remaining issues, let's take that separately.


Name conflict when I use mongo as StatefulSet's name

Kubernets version:
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.4", GitCommit:"9befc2b8928a9426501d3bf62f72849d5cbcd5a3", GitTreeState:"clean", BuildDate:"2017-11-20T05:28:34Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

The following StatefulSet gave me a very quiky bug.
apiVersion: v1
kind: Service
metadata:
  name: mongo
  labels:
    app: mongo
spec:
  ports:
  - port: 27017
  selector:
    app: mongo
---
apiVersion: apps/v1beta2
kind: StatefulSet
metadata:
  name: mongo
spec:
  serviceName: mongo
  replicas: 1
  selector:
    matchLabels:
      app: mongo
  template:
    metadata:
      labels:
        app: mongo
    spec:
      containers:
        - name: mongo
          image: mongo
          command:
            - mongod
            - "--replSet"
            - rs0
            - "--bind_ip"
            - <IP_ADDRESS>
            - "--smallfiles"
            - "--noprealloc"
          ports:
            - containerPort: 27017
          volumeMounts:
            - name: mongo-pv
              mountPath: /data/db
        - name: mongo-sidecar
          image: cvallance/mongo-k8s-sidecar:latest
          volumeMounts:
            - name: mongo-pv
              mountPath: /data/db
          env:
            - name: MONGO_SIDECAR_POD_LABELS
              value: "app=mongo"
            - name: KUBERNETES_MONGO_SERVICE_NAME
              value: "mongo"
  volumeClaimTemplates:
  - metadata:
      name: mongo-pv
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: mongo
      resources:
        requests:
          storage: 10Gi

Here is the error log from mongo-sidecar:
Error in workloop RangeError [ERR_SOCKET_BAD_PORT]: Port should be > 0 and < 65536. Received tcp://<IP_ADDRESS>:27017.
    at lookupAndConnect (net.js:1065:13)
    at Socket.connect (net.js:1034:5)
    at Object.connect (net.js:107:35)
    at Connection.connect (/opt/cvallance/mongo-k8s-sidecar/node_modules/mongodb-core/lib/connection/connection.js:412:25)
    at Pool.connect (/opt/cvallance/mongo-k8s-sidecar/node_modules/mongodb-core/lib/connection/pool.js:666:16)
    at Server.connect (/opt/cvallance/mongo-k8s-sidecar/node_modules/mongodb-core/lib/topologies/server.js:399:17)
    at Server.connect (/opt/cvallance/mongo-k8s-sidecar/node_modules/mongodb/lib/server.js:368:17)
    at open (/opt/cvallance/mongo-k8s-sidecar/node_modules/mongodb/lib/db.js:229:19)
    at Db.open (/opt/cvallance/mongo-k8s-sidecar/node_modules/mongodb/lib/db.js:252:44)
    at getDb (/opt/cvallance/mongo-k8s-sidecar/src/lib/mongo.js:32:11)

I digged into mongo-sidecar's image, and debugged its environment variable.
It turns out that at https://github.com/cvallance/mongo-k8s-sidecar/blob/master/src/lib/config.js#L79
The process.env.MONGO_PORT has the value of tcp://<IP_ADDRESS>:27017.
There is an environment variable name conflicts with kubernettes' default environment variable.
I would suggest giving each config file a prefix so that I won't accidentally run into name conflict, or put an note in the docs to remind everyone to avoid using mongo as the name of statefulset.

Had the same conflict issue while trying to expose this mongo via LoadBalancer. Would anyone know how to expose properly this type of service? Thanks for this amazing project.

i‘m  have same mistake. i set the evn MONGO_PORT after the mongo  cluster is health.  kubectl exec the pods , enter command "mongo" "rs.status()" .i find the cluster is health. thank u very  much .


Support for Bun

Just add support for Bun by incorporating a utility function.

Thanks for contributing! Could you also add a changefile similar to https://github.com/tauri-apps/tauri-action/pull/873/files#diff-49ce1ef878a93e08475e3ee91852e6cb38a5dc8d5d0873b25fad5cb6494efb17 please?

thanks again


new release?

I'd like to know if a new release of ~xbatcher~ rechunker could be made? ) 0.4.2 was made nearly a year ago and since there have been a few important additions here, including the removal of an annoying print statement (https://github.com/pangeo-data/rechunker/compare/0.4.2...master). Would someone be willing to make the 0.4.3 release?

You mean rechunker?

It's relatively easy to make a new release. We have a workflow for it.
The problem is that the current package is pretty fundamentally broken--see https://github.com/pangeo-data/rechunker/issues/92. But I guess we don't have to fix that in order to release 0.4.3.

You mean rechunker?

🤦  - yes. Multithreading is not my strong suit.

The problem is that the current package is pretty fundamentally broken--see https://github.com/pangeo-data/rechunker/issues/92.

Interestingly, we don't seem to be hitting the same problem in #92 so a new release would work. But I we can also try reverting to 0.3.3 too.

I have a theory that this problem is highly dependent on the inputs and is particularly bad if you are using xarray inputs.


build fails

I'm building on debian and I get this message:
gopath/src/github.com/appc/docker2aci/lib/internal/internal.go:41:2: cannot find package "github.com/appc/spec/aci" in any of:
/usr/lib/go/src/pkg/github.com/appc/spec/aci (from $GOROOT)
/home/dav/_/docker2aci/gopath/src/github.com/appc/spec/aci (from $GOPATH)
along with a bunch more similar messages.  ( I can post the rest of them if it would be helpful )
also, let me know if I need to provide any more info ( I'm not familiar with golang... )

@daviddelikat how are you building? Are you using a copy of the source checked out from master, or somewhere else?

I followed the direction in the README.  ( git clone <>; cd <> ; ./build.sh )

@daviddelikat ah, what version of Go are you using? something <1.6 I guess? We rely on the vendoring support: https://golang.org/doc/go1.6#go_command

correct, I've got 1.3.3; I'll have to find the latest version.
thanks for your help


[Relay][Training] Add more missing gradients

Added the following gradients:

take
reverse_reshape
stack
squeeze
expand_dims
arange

Also fixed a typo in type solver diagnostics. I had to use a Relay loop in take_grad to support Any size in indices.
cc @t-vi @SWu @MarisaKirisame

@antinucleon

Please try to pass lint locally first~

merging per reviews, feel free to send followup improvements per @MarisaKirisame 's comment
Thanks @jroesch @altanh @antinucleon @MarisaKirisame


Support management of all app capabilities with Spaceship

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
👋  Hi everybody!
App Capabilities are elegantly managed by Spaceship in the app_service module
I just noticed a few of the supported capabilities are missing, maybe just those that have been added recently. I'll be happy to submit a PR to update the module and add the missing ones, using the Developer Center as the source of truth. I already have all the information needed.
Would that be fine for you? Has it any chance of getting merged?
Thank you!

Yeah, that would be awesome, we always appreciate help. Thanks @alaincaltieri, and welcome to the fastlane community 🚀


W/m2=j/s/m2. Should be lower per sq ft than per m2

What happened?
W/m2=j/s/m2. Should be lower per sq ft than per m2
How to reproduce
W/m2=j/s/m2. Should be lower per sq ft than per m2
Relevant log output
No response
Which version are you running?
latest beta
Diagnostics file

[X] I have attached a diagnostics file

Additional information
No response

confirmed


Umar/286 react setup documentation

It would be nice if we could add some notes about the libraries used and share their doc links

Yeah Sure will add those

I added some documentation regarding Python libraries. Not sure if it will be the same kind for the frontend libraries, but you can look it a bit to have some ideas:
https://github.com/sixfeetup/cookiecutter-sixiedjango/pull/34/files


Improve active database selection

OS INFO: Win 10 2004

I work with multiple hosts and databases at the same time and this MySQL client helps a lot!
However, there is a high risk of code running for the wrong host (even with the little host-IP in the status-bar).
The following changes would be a great asset to me:

Set active DB via Explorer: "Explorer / Host or Database / context menu / Set as active for current query"
Show active DB via Explorer - highlight the current active host and db when you switch through the queries / tabs
"Query / context menu / Change Active Database" is far too confusing because the host is only in front of the name if databasenames exist twice in all hosts. My suggestion would be to always put the connection name in front

Thanks for reading!
BTW: Keep the work up! This is by far the best client vor VSCode! Star nr. 100 for you!

This is a good idea, I will release in the next version, but I am busy at the moment, please wait for the next release.

Version 2.3.11. has been support highlight active connection.


How to modify the code in HGT_workflow.py to define the kingdom and subphylum based on my input protein.

I have the same question as in https://github.com/SysBioChalmers/HGTphyloDetect/issues/5 . How do I modify the code in HGT_workflow.py？Could give an example? Should I provide a species number or a gene number? Thank you!！

Hi, sorry for the late reply.
Currently I don't have such an example, but it is relatively easy. If you input protein is a new protein, you can use a similar protein ID that has the same kingdom and the same subphylum, then our program could output the same predicted result for you.
In the next version of our HGTphyloDetect software, we will provide this kind of example and make it more user-friendly and much faster. Thanks for your attention!
Best regards,
Le


Root inode ACL check is not a strong/safe model

Summary
Currently, Alluxio has a check on startup that the owner of the root directory in the Alluxio FileSystem matches the user who started the service. This check can lead to breaking scenarios.
Scenario 1: Using HDFS as a UFS
User runs as superuser of Alluxio filesystem (foo). User (foo) changes permission of / to be owner bar:bar. Command succeeds. In the event of a restart, Alluxio will fail to start since the root inode doesn't match the user who started the process.
Scenario 2: Using HDFS as UFS
User runs as superuser of Alluxio filesystem (foo). User (foo) tries to change mode of / to be 777. User mistakenly inputs chown instead of chmod. Command succeeds. In the event of a restart, Alluxio will fail to start since the root inode acl (777:foo) doesn't match the user who started the process. Fixing this requires a format.
A better approach may be to skip the root inode ACL check entirely. The original reason for this check is to prevent users from accidentally starting the Alluxio service as the incorrect user. An alternative would be to restrict the journal directory so that the permissions must be 700. If the journal is a kerberized HDFS, the keytab for the HDFS cluster must be restricted to 700 permissions as well. This will prevent any other user from being able to read the journal location configured in alluxio-site.properties and will therefore fail on startup.
Urgency
Can cause breaking scenarios where recovery of the Alluxio process requires creating new user, changing permissions of the Alluxio installation directory, and then starting the service in order to fix the root inode ACL.

+1
This check makes it mandatory to format a cluster when switching from OS user 'foo' to OS user 'bar'.

+1


Index length limit

It says: Index values must have less than 512 bytes (after BSON serialization).
Questions:
I get this exception: LiteDB.LiteException: 'Index key must be less than 255 bytes.' Which is correct?
When index is multikey index, should this limit apply to individual element or whole multikey? Multikey  ['a','b','c'] has length 3 or 1 as each is 1 byte?

@mitja-p The correct value is 255 (the lenght of the index key must fit in a byte). I will fix the documentation.
Regarding your question, your example ["a", "b", "c"] takes 32 bytes after BSON serialization. This is because it is stored as the following document: {"0": "a", "1":"b", "2":"c"}. Each element takes 9 bytes  (2 bytes for the key string, 2 bytes for the value string (because of the trailing \0) and a 5-byte overhead because string is a variable-length type) and there's also another 5-byte overhead for the document itself, adding up to 32 bytes.
If this answers your question, please close the issue.


Tests no longer pass under Node 10

The Buffer readUInt32LE, readInt32LE, writeUInt32LE, writeInt32LE calls have changed (there's no more noAssert parameter) and how things are interpreted also seems to have changed.
The code that deals with xxhash now seems to compare signed & unsigned types, and write calls sometimes reject values (seemingly) for being outside the range of a 32-bit integer.
See: https://gist.github.com/leafi/be4fe7807577d170ef558dd0081a3091 for full log
11 passing (30ms)
3 failing

LZ4 checksum should encode/decode data:
RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must be >= -2147483648 and <=<PHONE_NUMBER>. Received<PHONE_NUMBER>
at checkInt (internal/buffer.js:35:11)
at writeU_Int32LE (internal/buffer.js:515:3)
at Buffer.writeInt32LE (internal/buffer.js:684:10)
at Encoder._flush (lib/encoder_stream.js:215:7)
at Encoder.prefinish (_stream_transform.js:141:10)
at prefinish (_stream_writable.js:643:14)
at finishMaybe (_stream_writable.js:651:5)
at endWritable (_stream_writable.js:662:3)
at Encoder.Writable.end (_stream_writable.js:602:5)
at Object.LZ4_compress [as encode] (lib/encoder.js:14:10)
at Context. (test/checksum-test.js:12:20)

LZ4 checksum should encode/decode data:
RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must be >= -2147483648 and <=<PHONE_NUMBER>. Received<PHONE_NUMBER>
at checkInt (internal/buffer.js:35:11)
at writeU_Int32LE (internal/buffer.js:515:3)
at Buffer.writeInt32LE (internal/buffer.js:684:10)
at Encoder._flush (lib/encoder_stream.js:215:7)
at Encoder.prefinish (_stream_transform.js:141:10)
at prefinish (_stream_writable.js:643:14)
at finishMaybe (_stream_writable.js:651:5)
at endWritable (_stream_writable.js:662:3)
at Encoder.Writable.end (_stream_writable.js:602:5)
at Object.LZ4_compress [as encode] (lib/encoder.js:14:10)
at Context. (test/checksum-test.js:21:20)

LZ4 checksum should encode/decode data:
RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must be >= -2147483648 and <=<PHONE_NUMBER>. Received<PHONE_NUMBER>
at checkInt (internal/buffer.js:35:11)
at writeU_Int32LE (internal/buffer.js:515:3)
at Buffer.writeInt32LE (internal/buffer.js:684:10)
at Encoder._flush (lib/encoder_stream.js:215:7)
at Encoder.prefinish (_stream_transform.js:141:10)
at prefinish (_stream_writable.js:643:14)
at finishMaybe (_stream_writable.js:651:5)
at endWritable (_stream_writable.js:662:3)
at Encoder.Writable.end (_stream_writable.js:602:5)
at Object.LZ4_compress [as encode] (lib/encoder.js:14:10)
at Context. (test/checksum-test.js:31:20)

@leafi @pierrec Shouldn't that be writeUInt32LE? I.e. unsigned, not signed int.

Changing that one line from writeInt32LE to writeUInt32LE makes tests pass.
https://github.com/pierrec/node-lz4/blob/4c8cc28c2482c86c29222df34ef8206acd79f6c4/lib/encoder_stream.js#L215

Fix PR: https://github.com/pierrec/node-lz4/pull/65


[Story] Identify communication strategy for the release of the private preview

What projects is this story for?
OpenChallenges
As a user, I want
As a Product Owner, I want to identify the communication strategy ahead of time so that we have time to implement it for the release of the private preview of OpenChallenges at the end of May.
Description
Example of resources that we could prepare ahead of the release:

email to external stakeholders invited to test OpenChallenges
2-5 min video introducing OpenChallenges, its current limitation, roadmap and how to submit challenge data?
Documentation and how to submit data and feature & bug requests

Acceptance criteria

We have identified the communication and documentation resources that we need to prepare soon enough so that we still have time to craft them ahead of the release of the private preview.

Out of scope:

Crafting the resources will be tracked in separate, individual tickets.

Tasks
No response
Anything else?
No response
Have you linked this story to a GitHub Project?

[X] I have linked this story to a GitHub Project and set its metadata.

@chepyle What are your thoughts on the communication strategy and resources that we should prepare ahead of the release of the private preview of OpenChallenges later this month?

@chepyle I agree with your suggestion from our last discussion about contacting the stakeholders individually. We could then organize a call with each stakeholder organization where we demonstrate OpenChallenges and share with them how they could contribute with feedback and challenge data.
If this approach sounds good, then we could close this ticket.


How to handle Ajax requests with Timber ?

I'm facing an issue at the moment as I try to include some ajax filtering on my website. It's the first time I try Timber extensively, my apology if this sounds obvious.
I'm simply wondering where I can find some informations about how to handle Ajax requests using Timber with Wordpress. Or if it is in any documentation at all.
I basically do the same kind of implementation as here (using WP built-in ajax features):
http://www.geekpress.fr/tuto-ajax-wordpress-methode-simple/
PS: Article is in french but should be self-explanatory with the code blocks
I've been trying a few things already, but it seems I got something wrong. Not really sure what. Can somebody point me to an "official" Timber documentation or some useful resources? I have to say I haven't been very successful by googling about this.
Many thanks

You can use the compile or render functions in your ajax function.
Here is a quick rewrite of the mon_action function as an example:
function mon_action() {

	$posts = Timber::get_posts( array(
	    'post_type' => 'post',
	    'posts_per_page' => 10
	) );

	Timber::render( 'partials/my-template.twig', array( 'posts' => $posts ) );

	die();
}

Nice, thanks!

@DanDvoracek This doesn't have to be timber specific, you can write a little bit of javascript using the wp-json api that's cooked directly into wordpress now. I wrote a lil article a while back (I was also using timber in the article) if you want an example of doing it with some vanilla js

@DanDvoracek did @iamkevingreen solved your problem?


Move package off of JCenter because JCenter is getting deprecated

According to https://mvnrepository.com/artifact/io.alterac.blurkit/blurkit/1.1.1, the artifact for this library is on JCenter. However, on May 1, 2021, JCenter will be shutting down (https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/). Is there a plan to move the package somewhere else (like Maven Central)?

Currently no specific plan but Maven Central would make sense, we have until 2022 but we will definitely migrate things over this year.

Keep in mind that you won't be able to push new versions to JCenter after March 31st, 2021.
I guess the library is stable since the last update was in 2019, but I just wanted to point that out.

It seems that the library is still on JCenter, and Gradle warns me everytime I build, Is the migration planned ? I can help if you need

Hello is this already solved? it is almost deadline

We stopped using this library, probably it's abandoned anyway

@gildor are you still using a blurring library? If so, which one?

@lynxnb Just use render script directly, same as blurkit, though Renderscript is also deprecated, so we will probably switch on https://github.com/android/renderscript-intrinsics-replacement-toolkit when it will be more mature


Cors-anywhere-error403

"Request temporary access to the demo server" button, to temporarily restore the full functionality of CORS Anywhere for your client only. UNLESS you access the demo server, the lyrics function will return 403 error.

fixed with https://thingproxy.freeboard.io/fetch/ proxy url

doesnt work on netlify deploy

fixed with https://thingproxy.freeboard.io/fetch/ proxy url


Bugfix: Updates for Tensorflow 1.0 API

Session 5 part 2 raises an exception in the cell where the function tf.split is called, due to change in the Tensorflow API.

Looks great thank you!


Add 2d shapes

Tests complete, just need some formatting to be done and then should be ready for merge

new tests above good to merge


Base mathematical functions

A few basic mathematical functions are still required. Some are listed here, in xtensor.
I tried sign, but I think failed because it doesn't exist for uint types. I might be mistaken that that was the issue.

Sign is now here. I'd say the missing ones to complete this issue are:

[ ] minimum
[ ] maximum
[ ] clip
[ ] rad2deg
[ ] deg2rad
[ ] square


oidc object in store always missing

Hi,
Thanks for a great library! I never got the login flow to work so quickly with other libraries on other platforms :). But I have a problem.. I can't get the loged in user. The callback gets called and the user object looks good but when I'm trying to get the oidc.user obejct from state it's always null. I also tried to call the userManager.getUser(), but this one also returns null. So i Guess I'm missing some thing.
This is how i set up the Store:

This is how i trigger the login:

Callback:

And in mapStateToProps the state.oidc is always undefined:

Hi!
Many thanks for the kind words. At first glance I can see that the CallbackComponent is not registered to any route.
Try the following:
<Switch>
  <Route path="/" component={App} />
  <Route path="/callback" component={CallbackComponent} /> // <-- the path has to be the same as the one registered with your auth server
</Switch>

If you are using a dedicated login page like in the example app, you have to make a check whether or not the routes should be rendered. The check usually returns true when either a valid user is present, or the callback route has been requested. The code for this check in the example app is here.
Hope this helps!

Thanks for the quick response :), I have the routing in another file so the callback works. I have a login component that I want to use to render login/logout buttons and the name of the currently logged in user etc.
I'm triggering the login by clicking the login button that calls "userManager.signinRedirect" And in the callback i get the user:

When i then try to get the user in a component the state.oidc is always undefined:

So the question is how do i get hold of the logged in user in react?

Hard to tell from the information given. Is it possible for you to log the dispatched actions in the console? The userManager should dispatch the USER_FOUND action after a successful callback. If this doesn't happen, maybe the problem is there.
Also your last log message says that  state.oidc is undefined. Maybe something went wrong accessing the OIDC state in mapStateToProps?

Hi, I figured out what the problem was.. I'm quite new to React/Redux and I didn't add the oidcReducer to my store. Since we are using react-redux-form this is what I ended up with:

Glad to see it's working now.


Rebuild sitemap and others

I made a lot of mistakes when merging master into rebuild branch last week.
This PR rectifies those mistakes and also fix some TODOs along:

Delete unused files.
Update Alex configuration, https://github.com/webpack-contrib/npm-install-webpack-plugin/pull/124 was created to fix a warning.
Include sitemap generation in build pipeline.
Include CNAME generation in build pipeline.
Removed unused dependencies.
Add missing dependencies.
Update SCSS import.

Thank you @EugeneHlushko


[QUESTION] How do I download the icons for rofi?

How can I change my icons to yours on the rofi launcher?

if you see there is no icon theme provided in the config. So, it uses the defaults, all you have to do is install papirus icon theme and set it as default through lxappearance

Thanks


ERR: better error message on invalid window when using .rolling

In [15]: pd.DataFrame(np.arange(10)).rolling(2., center=True).median()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-15-73c4e557093d> in <module>()
----> 1 pd.DataFrame(np.arange(10)).rolling(2., center=True).median()

/usr/lib/python3.5/site-packages/pandas/core/window.py in median(self, **kwargs)
    811     @Appender(_shared_docs['median'])
    812     def median(self, **kwargs):
--> 813         return super(Rolling, self).median(**kwargs)
    814
    815     @Substitution(name='rolling')

/usr/lib/python3.5/site-packages/pandas/core/window.py in median(self, how, **kwargs)
    592         if self.freq is not None and how is None:
    593             how = 'median'
--> 594         return self._apply('roll_median_c', how=how, **kwargs)
    595
    596     _shared_docs['std'] = dedent("""

/usr/lib/python3.5/site-packages/pandas/core/window.py in _apply(self, func, window, center, check_minp, how, **kwargs)
    473             # calculation function
    474             if center:
--> 475                 offset = _offset(window, center)
    476                 additional_nans = np.array([np.NaN] * offset)
    477

/usr/lib/python3.5/site-packages/pandas/core/window.py in _offset(window, center)
   1356 def _offset(window, center):
   1357     if not com.is_integer(window):
-> 1358         window = len(window)
   1359     offset = (window - 1) / 2. if center else 0
   1360     try:

TypeError: object of type 'float' has no len()

Note that pd.DataFrame(np.arange(10)).rolling(2.).median() works fine.
pandas 0.18.0.

yeah looks like the validation is only in place for a Window and not the Rolling and sub-classes. It should be an int, or raise a nicer message.
pull-requests welcome.

I would prefer requiring an int raising with an informative TypeError in this case.

I'm also in favor of requiring ints too.

Dose this look all right? I don't think we need ' whatsnew entry'. Do we?

@pt247 pls comment on PRs directly - always need a whatsnew entry

The input validation is inconsistent in window.py. I was proposing to reuse ```_prep_window`` to unify behaviour. Could somebody familiar with the code offer guidance (instead of spot fixes)? Thanks

@gliptak these DO have different validations, as Window can accept an integer or an integer array, while Rolling can only accept an integer. This does not require a big change.

I closed https://github.com/pydata/pandas/issues/12714, https://github.com/pydata/pandas/pull/12718 is closer to the approach described.

ok, that's fine.


Usr official gulp-tenon package

Switching back to gulp-tenon-client repo instead of a fork as a fix has been merge in.

We'll need to bump the version of gulp-tenon-client first, as this fix hasn't been released.

closing in favour of #209


[launching-pad] Find a home for the Community Content Team

This is a tracking issue for finding a long-term home for the Community Content team.
Leads Members (team has no leads currently):

@adityac8
@nellshamrell
@wezm

Hey there all, I'm James, the Leadership Council member for the Launching Pad Team, and as part of https://github.com/rust-lang/leadership-council/issues/118, I'm starting the triage process of trying to find permanent homes for teams currently under the launching pad.
In this first pass, I'm making tracking issues for each of the teams, starting the discussion on whether y'all think there is a reasonable team you think would make sense to move under, and in general checking whether the members of these teams are still actively working on things related to these teams.
There is also a separate tracking issue for the top level community team here: https://github.com/rust-lang/leadership-council/issues/128
Could anyone help me enumerate the current activities and responsibilities of the Community Content subteam, and whether this subteam is generally still active?
If so, are there any members we should look to promote to "leads"?
Thank you!

Could anyone help me enumerate the current activities and responsibilities of the Community Content subteam, and whether this subteam is generally still active?

My impression is this team is inactive. I was added back when I was actively maintaining and curating Read Rust, but that's been mostly been on hiatus since 2020.

In this first pass, I'm making tracking issues for each of the teams, starting the discussion on whether y'all think there is a reasonable team you think would make sense to move under

I'm not sure there's a suitable team to move current members to.

Thank you @wezm! @adityac8 or @nellshamrell, are there any objections to archiving this team? If so, could you please leave a comment here by January 1st? Otherwise I will start the process of archiving this team. If there is objection, we can continue to discuss finding a good home for the team!


Support for large Graph

Does this support running algorithms (e.g. GraphSage) on very large graphs? This would mean

Memory requirement to hold large data
Speeded up training.

I see the connection to neo4j as a solution for 1 (assuming a distributed version of neo4j), but any support for speeding up the training time?
Can model training be run either in a distributed mode or using multiple GPU's.

Hi @dkalim, thanks for getting in touch!

You're correct that Neo4j is our recommended approach, which supports both GraphSAGE and Cluster-based training methods (e.g. Cluster-GCN): https://stellargraph.readthedocs.io/en/latest/demos/connector/neo4j/cluster-gcn-on-cora-neo4j-example.html
Since StellarGraph models are just Keras models, it's possible to use most functionality available to such models. We've previously done some work with https://github.com/horovod/horovod where we had a distributed cluster that trained a model against different subgraphs of one large graph, with the parameters being shared across the cluster.

Can you share some more specific requirement, so we might be able to recommend a more tailored solution? For example, what size of graph are you thinking of?

The graph has 10M nodes and close to 1B edges. Big enough to not fit on a single system.
I am using BigQuery to process the graph in a distributed environment.
Cluster-GCN does seem to solve the issue of load into memory (clustering of graph would be done in neo4j and only 1 subgraph will be loaded into memory at a time). But my exact use case is HinSAGE. Does neo4j support this?
For faster training:
I think support for multi gpu training is available (similar to Keras), but I would prefer to try a distributed approach as well. Can you point me to the horovod experiment along with any observation that you got in terms of scaling performance?

Thanks for the info about the graph. HinSAGE isn’t currently directly supported, but there might be some options still. For HinSAGE, how many nodes of each type and how many edges of each type?
I’m on my phone at the moment so I’ll reply to the rest of your comment later (probably in three days, because it’s a long weekend here in Australia). Thanks for waiting!

Thanks for the reply.
The graph has close to 10 different node types and around 50 different edge types.
Both the nodes and edge types are skewed. Maximum number of nodes of 1 type is around 5M and the maximum number of edge of one type is around 200M.

Thanks for waiting.

I think support for multi gpu training is available (similar to Keras), but I would prefer to try a distributed approach as well. Can you point me to the horovod experiment along with any observation that you got in the performance of scaling?

Unfortunately, this isn't open source (yet), and I don't recall the overall performance scaling. I can tell you the outline of the implementation, which was effectively a distributed Cluster-GCN:

create an appropriate GraphSAGE or other (inductive) model and compile it with a Horovod DistributedOptimizer optimiser, and serialise it
On each worker:

load the model using Horovod's load_model function
sample a subgraph from the database
train the model against the subgraph

This theoretically scales linearly with the number of workers (at least, as well as Horovod scales), except for the sampling of subgraphs. This sampling may be bottlenecked by the database since it may be trying to compute subgraphs for many workers at once.
Does that help give a sense for how to approach it? I'll investigate if I can get more specifics.

The graph has close to 10 different node types and around 50 different edge types.
Both the nodes and edge types are skewed. Maximum number of nodes of 1 type is around 5M and the maximum number of edge of one type is around 200M.

Ah, that sounds like an extreme case, where alternative strategies might be suboptimal.
Here's some options off the top of my head (unfortunately I don't think many can be applied directly, but they're potentially possible to apply manually):

to use one of the already-supported methods in StellarGraph (GCN, GAT, GraphSAGE, etc.):

for nodes: encode the node types and their features as a single "type", e.g. one-hot encode the types, and concatenate any other feature vectors with 0. The type imbalance may mean this is ineffective.
for edges: ignore the edge types, and just treat all edges the same; or, translate edge types into edge weights, if some edge types are likely more "important"

add support for Neo4j RGCN, which is similar to GCN, except a separate adjacency matrix is sampled for each edge type (this is likely to be relatively easy, since it's mostly an extension of GCN):

for nodes: do the same as 1, collapsing all the node types and their features to a single type
for edges: keep the types

add support for Neo4j HinSAGE, where sampling handles both node and edge types natively
finally, this very much depends on your specific environment, but 1B edges isn't out of range of a single machine. In particular, cloud providers offer machines with a lot of memory, and renting one large machine may be an appropriate choice compared to renting many smaller machines (as I said, this very much depends on your specific environment, and is likely to not be the perfect choice, but I thought I'd mention it). For specifics:

GCP offers "memory optimised" machines with up to 11TB of RAM (no GPUs though), and GPU machines with up to 0.6TB of RAM:
AWS has similar offerings: no GPU up to 24TB, GPUs up to 0.7TB

Do you have thoughts on any of these?

I'll investigate if I can get more specifics.

Unfortunately I cannot, but I'm more than happy to answer further questions to the best of my ability.

Thanks for the info.
Size of the graph is a concern not because it's difficult to load but because

Holding embedding on GPU goes OOM, consider 10M nodes each with 64 dimensions float32 embedding.
Training takes too long (though it can be speeded up using multi gpu on the same machine)

Hey!
Is there any update on support for large graph?