Can't install using documentation instructions

Following these docs produces numerous errors-
✖ Compiling with Angular sources in Ivy partial compilation mode.
node_modules/@types/jquery/misc.d.ts:26:33 - error TS2503: Cannot find namespace 'Sizzle'.

26     interface Selectors extends Sizzle.Selectors {
                                   ~~~~~~
node_modules/@types/jquery/misc.d.ts:34:14 - error TS2503: Cannot find namespace 'Sizzle'.

34         ":": Sizzle.Selectors.PseudoFunctions;
                ~~~~~~
node_modules/@types/jquery/misc.d.ts:42:17 - error TS2503: Cannot find namespace 'Sizzle'.

42         filter: Sizzle.Selectors.FilterFunctions;
                   ~~~~~~
node_modules/@types/jquery/index.d.ts:1:23 - error TS2688: Cannot find type definition file for 'sizzle
'.

1 /// <reference types="sizzle" />
                        ~~~~~~
projects/ziti-console-lib/src/lib/features/creation-summary-dialog/creation-summary-dialog.component.ht
ml:7:5 - error NG8001: 'lib-form-field-container' is not a known element:
1. If 'lib-form-field-container' is an Angular component, then verify that it is part of this module.
2. If 'lib-form-field-container' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule
.schemas' of this component to suppress this message.

7     <lib-form-field-container [showHeader]="false">

environment details -
     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 16.0.6
Node: 18.20.1
Package Manager: npm 10.5.0
OS: linux x64

Angular: 16.2.12
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1602.13
@angular-devkit/build-angular   16.2.13
@angular-devkit/core            16.2.13
@angular-devkit/schematics      16.0.6
@angular/cdk                    16.2.14
@angular/cli                    16.0.6
@angular/material               16.2.14
@schematics/angular             16.0.6
ng-packagr                      16.2.3
rxjs                            7.8.1
typescript                      5.0.4

/.ziti/quickstart/ip-10-0-48-250/ziti-console# git branch
* main

any suggestions would be most helpful.

Hi @em-jones, Do you get the same result following the build steps in this repo's README?
https://github.com/openziti/ziti-console?tab=readme-ov-file#readme
I see at least one omission in the quickstart doc you linked: ng build ziti-console;. Thanks for bringing attention to this issue.

I did a spot check and couldn't find the same issue on my Linux x64 workstation. I checked out the code from the latest release app-ziti-console-v3.0.8 in my working copy and ran this to invoke the node-api run mode. That may not be what you're after, though.
npm install;
ng build ziti-console-lib;
ng build ziti-console;
ng build ziti-console-node;
node server.js;

I did another test on the main branch and hit a bunch of errors. Not sure yet what's going on there, but the best advice I have right now is to build the latest release instead of main.
relatedly: https://github.com/openziti/ziti-console/issues/290

Looks like there was a missing component declaration in the shared library. I've put up a PR here that should resolve that:
https://github.com/openziti/ziti-console/pull/295/files
We just recently implemented Vercel builds into the merge process. That will hopefully help us catch/prevent those errors in the future. Thanks for finding & reporting.

Wow... Excellent response here. Sorry that I wasn't present to assist with more debugging.
Thanks team!


Add more contrasts for training a multi-contrast model

Our experiment based on the preliminary hypothesis used on a single contrast (T2w) from the CanProCo dataset. It is important to gather the remaining contrasts for each subject and train a multi-channel/multi-contrast model (each additional contrast being added as an additional channel). This will be useful for robustness and also contrast-agnostic centerline detection.
@valosekj Would you please be able to preprocess the remaining contrasts as we did for T2w?

For remaining contrasts, we do not have ground truth spinal cord segmentation. Thus, we cannot easily obtain the centerline for these contrasts.
But I can co-register all contrasts to T2w. Then, we would be able to use the T2w centerline also for other contrasts.

It would be much easier to instead leverage our many other datasets on which we already have the spinal cord segmentations (spine-generic, etc.)

But I can co-register all contrasts to T2w. Then, we would be able to use the T2w centerline also for other contrasts.

Just for clarification, this should also work right? I understand that it will take time but it should be good if we want to use all contrasts from CanProCo?

Just for my understanding, this should also work right? I understand that it will take time but it should be good if we want to use all contrasts from CanProCo?

yes, it should work, but registration needs to be QCed, which takes a bit of time

Just for my understanding, this should also work right? I understand that it will take time but it should be good if we want to use all contrasts from CanProCo?

yes, it should work, but registration needs to be QCed, which takes a bit of time

I tried to co-register other contrasts to T2w based on nii headers using -identity 1:
https://github.com/ivadomed/model_sc_centerline/blob/cd6ffe1fba144bdb928b88dda68e48fac4ecc539/scripts/get_centerline_from_segmentation.sh#L150
To allow easy QC (we have >1000 coregistered images), I'm projecting the T2w centerline to the coregistered image using:
https://github.com/ivadomed/model_sc_centerline/blob/cd6ffe1fba144bdb928b88dda68e48fac4ecc539/scripts/get_centerline_from_segmentation.sh#L152-L155
Example (coregistered PSIR image and T2w_centerline):

Based on the initial quick QC assessment, it seems that the registration works well for most subjects, and also, it seems that this type of QC is reasonable!


Contact Form

Hi,
I really liked your webpage and I'm thinking of using it as template, but for my page, I also need a Contact Form.
Do you know if it would be possible to integrate this in your template (using gh-pages and Jekkyl)?
Many thanks

Hi @Bezerragrasi
Glad you liked my page. I would be very happy if you used it as a template, just remember to include all credits.
About the contact form, the solution is not so straightforward because it would need PHP - which as far as I know doesn't integrate well with gh-pages. But there are simple tools that make it possible to create forms. You can see my github-pages_form repository on this subject.
This would be a feature I would like to have on my webpage, but at the moment I don't have time to implement it. If you want to play around and do a PR I'm happy to review/approve.

Thank you for your reply.
The github-pages_form solution is very good.
I will use this and do the PR


Faster expectation values

Before posting a feature request

[X] I have searched exisisting GitHub issues to make sure the feature request does not already exist.

Feature details
When calculating displacement-operator expectation-values of pure states in the Fock representation, the current implementation is ~10x slower than extracting the vectors and matrices of the state and operator and multiplying them together manually. So it seems something is limiting the speed of the current implementation.
Implementation
If the current method cannot be sped up, one could use bare matrix multiplication:
def expectation_matmul(state: mm.State, operator: mm.Operation) -> complex:
    state_fock = state.fock(settings.AUTOSHAPE_MAX)
    operator_fock = operator.fock(settings.AUTOSHAPE_MAX)
    return state_fock.T.conj() @ operator_fock @ state_fock

How important would you say this feature is?
2: Somewhat important. Needed this quarter.
Additional information
No response

I think this is related to the fact that Fock objects get converted to Bargmann, which might not be the optimal thing to do here (i.e. it's faster to convert the Dgate to fock).

Here's a modified version of the above code, which generates new states every attempt to rule out speed improvements from caching
import mrmustard.lab_dev as mm
import numpy as np
from mrmustard import settings
import timeit

def make_state_and_operator():
    state = mm.Ket.from_fock([0], np.random.random(10)).normalize()
    operator = mm.Dgate([0], x=1)
    return state, operator

def expectation_matmul() -> complex:
    state, operator = make_state_and_operator()
    state_fock = state.fock(settings.AUTOSHAPE_MAX)
    operator_fock = operator.fock(settings.AUTOSHAPE_MAX)
    return state_fock.T.conj() @ operator_fock @ state_fock

def expectation_buildin() -> complex:
    state, operator = make_state_and_operator()
    return state.expectation(operator)

%timeit expectation_matmul()
%timeit expectation_buildin()
%timeit make_state_and_operator()

Here also testing using .to_fock() on the operator. Faster, but still slower than the direct multiplication
import mrmustard.lab_dev as mm
import numpy as np
from mrmustard import settings
import timeit

def make_state_and_operator():
    state = mm.Ket.from_fock([0], np.random.random(10)).normalize()
    operator = mm.Dgate([0], x=1)
    return state, operator

def expectation_matmul() -> complex:
    state, operator = make_state_and_operator()
    state_fock = state.fock(settings.AUTOSHAPE_MAX)
    operator_fock = operator.fock(settings.AUTOSHAPE_MAX)
    return state_fock.T.conj() @ operator_fock @ state_fock

def expectation_buildin() -> complex:
    state, operator = make_state_and_operator()
    return state.expectation(operator)

def expectation_buildin_to_fock() -> complex:
    state, operator = make_state_and_operator()
    return state.expectation(operator.to_fock())

%timeit expectation_matmul()
%timeit expectation_buildin()
%timeit expectation_buildin_to_fock()
%timeit make_state_and_operator()


Adding bower support

Hello there!
I added a bower.json since I found your package
in browser registry, but it was lacking the "main" entry.
I searched the repo but didn't find the bower.json file.
Hope it helps!
Regards

Thanks for your contribution, @BrunoDF.
However I removed the bower config on purpose in this commit: 50372fa8e94ee478782421942b4e13ac42dc0519
With the latest version of NPM I don't see a need for bower anymore.

Hello @blueimp,
It seems like a great library and it's also one of the smallest out there which is also a perk.
But I'm not sure why you'd say that Bower is obsolete at this moment. In my setup we're using a few Grunt plugins that help which files from which Bower powered packages should be included in a project. If I want to do the same with NPM packages I need to have to do this entire process all over again.
Do you mind reconsidering your decision on this matter?

@harm-less
One of the best features of bower is that you can install packages from any git endpoint or even a GitHub shorthand, including providing a version:
http://bower.io/docs/api/#install
So, you're right that bower itself is not obsolete because it's still widely in use, but there is definitely no explicit need for a bower.json.


Add more hooks and improve isolation of kepler.gl within components

Remove kepler state selectors from within Stage component.
Create hooks for kepler keyframes and frame preparation.
Add deckProps and staticMapProps override
TODO: Remove kepler state selectors StageMap and StageContainer too.
TODO: timeline reducer contains kepler-specific keyframe state. Looking to be more flexible.

Pull Request Test Coverage Report for Build 848833753

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

Totals

Change from base Build 846389896:
0.0%

Covered Lines:
2

Relevant Lines:
2

💛  - Coveralls


Swarm Proposal - Milestone 1 Framework

This is the tracking issue for the task "Swarm Proposal - Milestone 1 Framework"
The requirements for the Swarm Intersect Town Hall proposal Milestone 1 are a framework document that provides the following details -

[ ] Agenda Templates

[ ] Roles and Responsibilities - the following broad roles and responsibilities are ...

Workgroup Meeting 1, Town Hall Facilitation - Tevo

Workgroup Meeting 2, Town Hall Facilitation - Vani

[ ] Communication Plan

[ ] Schedule of Events

inished Drafting the Framework page under the Playbook https://catalyst-swarm.gitbook.io/intersect-town-hall-playbook


Allow PendingDispatch to be cancelled.

Currently there is no way to cancel a pending dispatch.
This change allows a PendingDispatch to be cancelled before the application shuts down.
This is useful when queueing multiple (but still parallel - hence a chain is not appropriate) jobs but if one fails you don't want the others to be queued either.
$jobs = collect();
try {
    foreach(getItemsFromSomewhere() as $item) {
        $jobs->push(SomeJob::dispatch($item));
    }
} catch (\Throwable $throwable) {
    $jobs->each->cancel();
    throw $throwable;
}

I have added no tests, as it appears that due to the simple nature of PendingDispatch it does not have any existing tests (if this is wrong please point me towards the current tests and I'll add a test).

@devcircus I'm not sure what you mean about the ordering as this code changes nothing in that regard.
If order of jobs was important that's where you'd use the chains.
This is useful in the context of independent tasks that would normally run in parallel where in certain events if may want to cancel the queueing of the task before it has been dispatched to the queue.
Perhaps the user has requested a series of actions to be undertaken, so you loop over each one, check the permissions are valid, and then queue the job.
In the event that the user is not permitted to do one of the actions you want none of the actions they have requested to queue.
You could of course use two loops, first loop over each one checking the permissions, and then loop again to actually queue them..
Or you could do one loop and then cancel the queueing in the event an exception occurs.
These actions might be email bob, text joe, delete thing X... all unrelated things.
Does that clear it up?

Eh, no plans to do this. If you don't want to dispatch on destruction just do "new Job" and "Bus::dispatch($job);" when you want to dispatch it.

Thanks @taylorotwell, happy with that alternative :)


Zoomed pages are extremely slow & memory intensive

If you zoom in or out on a webpage, html2canvas takes a lot longer and uses a lot more memory than normal.  This is easiest to see on long webpages like http://www.illinoiscourts.gov/SupremeCourt/Rules/Art_III/ArtIII.htm
ctrl-+ zooms in
ctrl-- zooms out
ctrl-0 sets zoom to 100%
ctrl with the mouse scroll wheel zooms in or out depending upon direction
The Chrome menu also has +/- for zooming in/out.
This problem was originally noticed when using The Great Suspender on Google Chrome: https://github.com/deanoemcke/thegreatsuspender/issues/503

Does this still happen with the latest version, Pascal?


Cross-contamination when running multiple gulp tasks that use gulp-hb

I'm using gulp-hp to build email templates. For each template I build 2 a text version and an html version. To make this work, I have 2 sets of partials. One for each version. In order for the core templates to work with both sets, the partials need to have the same names.
I've set up gulp watch, so I don't need to run the tasks manually. If I change any of the core templates, both tasks trigger. At almost the same time. The problem is that the one that started second (by a few milliseconds), will overwrite the partials, and I end up with both versions of the templates being the same.
The cause of this seems to be, the glup-hb registers the partials and the helpers globally. The task that started first loads its partials, but then the other tasks loads its partials, overwriting those of the first task. The end result is that first tasks will render templates using the partials of the second task.
I think each task, and in turn each call to .pipe(hb(...)), should have its own set of registered partials, helpers...

This is a good idea. Would likely address #24 as well.

I have a v3 release candidate ready that should address this issue. Are you available to kick the tires?
npm i --save "shannonmoeller/gulp-hb#v3"

Released as v3.0.0

Sorry, for being late to the party. It works like a charm now. More gulp watch parallelization for me :)

Thanks for confirming!


replace vis-pipeline with queries

The original vis-pipeline consisted of the following:

Setup tasks:

Gcloud Prerequisites
System requirements

BigQuery Pipeline

result: BigQuery tables in mlab-oti.data_viz.*
schemas]

BigTable Pipeline

Queried mlab-oti.data_viz.* and published tables in a BigTable cluster, as defined by these queries and schema definitions

Replace all of the above with:

[ ] (#291) Automated queries that generate the same tables as the BigTable Pipeline step above, by adding new functions to bigquery-maptiles
[ ] (#292) Decide whether to continue saving them to a BigTable Cluster or write the results to JSON files in GCS

This work is now in stats-pipeline, which will generate the data used by this front-end service.

This work is now in stats-pipeline, which will generate the data used by this front-end service.


fix(propTypes): fix more deprecated Proptype usage

Few more places PropTypes were being used from React instead of their
own module

👍

Bluemix toolchain: Delivery Pipeline deployed carbon-components-react to Bluemix Design System, including commit 470b7639723ad9739d10999b3315ac40250a7ac4


Trim end of keywords

Fix so recognized text "example_keyword" and keyword added with SpeechInputSource "example_keyword " (notice the extra space) are treated equally
Appending an extra space when adding keywords is an easy to make mistake and also easy to miss while debugging, causes events not being raised even though keyword is correctly recognized

Changed the merge base to may18_dev as changes are not taken directly into master.

Prepend whitespace(s) did not cause any unexpected behavior it was added
without any whitespace to the dictionary.
Maybe toLower and Trim should be called in speechInputSource instead
though, this way anyone wanting to use it but write their own handler
wouldn't need to think about whitespace and cases
Sorry for requesting it to master i just committed it and sent it
On Thu, 12 Apr 2018, 21:49 David Kline<EMAIL_ADDRESS>wrote:

Changed the merge base to may18_dev as changes are not taken directly into
master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/1946#issuecomment-380923835,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANj8g--yaJX-OZKCI0sychhxDjjSMQjFks5tn6_RgaJpZM4TSB4D
.

@LuckyXII,
No worries about the master request, we catch those :)
I like the idea of putting the fix in speechInputSource.
Thanks!
David

No worries glad I could contribute! Keep up the awesome work
On Thu, 12 Apr 2018, 22:35 David Kline<EMAIL_ADDRESS>wrote:

@LuckyXII https://github.com/LuckyXII,
No worries about the master request, we catch those :)
I like the idea of putting the fix in speechInputSource.
Thanks!
David
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/1946#issuecomment-380936103,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANj8g6KIIHzRse77edg2Cnfl9X5gv3Nkks5tn7qBgaJpZM4TSB4D
.


Module graph not working in workspace

Describe the bug
I have a workspace with multiple projects. When I run vitest --ui --coverage all the module graphs are empty. They do work if I run vitest in the project directly.
Reproduction
https://github.com/TECH7Fox/vitest-monorepo
System Info
System:
    OS: Linux 5.15 Ubuntu 20.04.6 LTS (Focal Fossa)
    CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1145G7 @ 2.60GHz
    Memory: 2.60 GB / 15.36 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 18.14.0 - ~/.nvm/versions/node/v18.14.0/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.6.7 - ~/repositories/my_project/node_modules/.bin/npm
  Browsers:
    Chrome: 113.0.5672.92
    Firefox: 113.0.2
  npmPackages:
    @vitest/coverage-c8: ^0.31.1 => 0.31.1
    vitest: ^0.31.1 => 0.31.1

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Here is a reproduction: https://github.com/TECH7Fox/vitest-monorepo

Here is the module graph when I run vitest in the project itself.

And here is the module graph when I run vitest from the workspace. Empty.

@sheremet-va any idea what could cause this?

@sheremet-va any idea what could cause this?

The module graph is now stored inside each workspace, but UI was not updated to reflect that.

This should be fixed in Vitest 2.0.


Feature: Add support for co-locating TypeScript files next to route files

Which scope/s are relevant/related to the feature request?
router
Information
Currently, any file with a .ts extension under thesrc/app/routes folder is treated as a route. If you want to co-locate some small components or TypeScript along with the route it must put outside the routes folder.
This feature would allow you to specify folders within the routes directory that will be ignored for route collection.
Potential folder names

_route
_data
??

Files included in these folders would be ignored from the file globbing handled by Vite.
Describe any alternatives/workarounds you're currently using
Put components/TypeScript outside the routes folder, such as components, utils, and so on.
I would be willing to submit a PR to fix this issue

[ ] Yes
[ ] No

cc: @goetzrobin

Thank you @brandonroberts! Do you think we need to give the folder a specific name or could just support excluding any folder that starts with a single underscore? We would probably need to coordinate this with the convention we use for the path less route support!

I think if it doesn't create too much confusion to have custom names, it should be fine to prefix with an underscore.
I agree about the coordination
cc @markostanimirovic

I like the idea!
There is another option that we can consider to enable this feature - using custom extensions for pages like in NextJS. This will provide the ability to define a more flexible folder structure, based on user needs. For example, with config { pageExtensions: ['.page.ts'] } and the following folder structure:
routes/
  users.page.ts
  users-meta.resolver.ts
  dashboard.page.ts

Analog router would register two routes: /users and /dashboard.

I like the idea!
There is another option that we can consider to enable this feature - using custom extensions for pages like in NextJS. This will provide the ability to define a more flexible folder structure, based on user needs. For example, with config { pageExtensions: ['.page.ts'] } and the following folder structure:
routes/
  users.page.ts
  users-meta.resolver.ts
  dashboard.page.ts

Analog router would register two routes: /users and /dashboard.

That could be an option also but would require a more significant effort. Analog currently uses Vite's globbing function to get the paths/dynamic imports for the routes.
import.meta.glob(['/src/app/routes/**/*.ts']);

This cannot be dynamic, so we wouldn't be able to configure it through the plugin.
I thought about having separate .route.ts files in the beginning, but we already have the routes folder for defining routes, so it felt like extra work to have a src/apps/routes/home.route.ts when there wasn't a notion of different types of files, such as .server.ts for example.

The downside of underscore for files is it makes for an ugly ordering:
routes/
  dashboard.ts
  users.page.ts
  welcome.ts
  _users-meta.resolver.ts

This cannot be dynamic, so we wouldn't be able to configure it through the plugin.

Yes, I forgot about this.

@AdditionAddict I do agree that it would definitely be a trade off.
My counter argument is that you should then group these files in a folder:
routes/
  dashboard.ts
  welcome.ts
  users/
    (users).ts
    _users-meta.resolver.ts

I'm open to moving to the .page.ts to explicitly define routes. It would keep the glob relatively the same.
The other side is how many users are going to co-locate components next to the route? I'm thinking of Nx as a use case where the components would be off in a library anyway, and the route is just a place to wire up/re-export a page.
Also would this apply to markdown files also? As far as defining a content route as .page.md?

https://remix.run/docs/en/v1/file-conventions/route-files-v2#folders-for-organization

@marcus-sa We were looking at that configuration in https://github.com/analogjs/analog/issues/237#issuecomment-1426409485. I think the remix routing is powerful but can be a little confusing. I do like the simplicity of using (home).ts or [...not-found].ts, etc.
@brandonroberts personally I try to collocate components that I use in only a specific part of the application instead of immediately extracting it into a library. The "follow-the-DOM" approach has been working quite well for me to stay organized.
I think if we adopt the .page file ending it would make sense to rename the routes folder since we would move from implicitly making everything a route to explicitly stating which files are pages and therefore turned into routes.
I think the underscore to exclude a file or folder from becoming a route is a little cleaner.
But then again, the .page path might allow more flexibility in the future...
Definitely an interesting discussion :)

I'd say add support for .page.ts and change src/app/routes to src/app/pages to not break existing apps. Then we can add a migration guide for the new structure and go from there.
The migration should be straightforward from there.

Opened a PR https://github.com/analogjs/analog/pull/281

@brandonroberts this tweet seems relevant and reassuring that the approach implemented is flexible and less error prone than others might have been! https://twitter.com/dan_abramov/status/1630573034120650761?s=20

It's definitely valid! It's all about the trade-offs willing to be made and how they play out over time 😄


rwkv.cpp server

Hi @saharNooby, first off amazing work in this repo, I've been looking for a cpu implementation of RWKV to experiment with using the pre-trained models (don't have a large gpu).
I've put together a basic port of my OpenAI-compatible webserver from llama-cpp-python and tested it on Linux with the your library and the RWKV Raven 3B model in f16, q4_0, and q4_1 (pictured below). Going to try some larger models this weekend to test performance / quality. The cool thing about exposing the model through this server is that It opens the project up to be connected to any OpenAI client (langchain, chatui's, multi-language client libraries).
Let me know if you want me to put a PR to merge this in somewhere and if so the best place to put it.
Cheers, and again great work!

Hi @abetlen, thanks!
Having an OpenAI-compatible inference server is indeed great and will definetly increase usability of rwkv.cpp. I've written one for myself, but it's too crude to be open-sourced. If your server is contained in a single file and has almost no dependencies (aside from flask), I think it can be straight up put into rwkv directory in this repo.
If the server requires more structure, then I'm not sure... Having it inside a subdirectory may not work: last time I checked, Python does not like referencing py files in subdirectories. Maybe in this case rwkv.cpp should become a pip package, you can create separate repo for the server, and I link it in README here. I'm not sure how to create a pip package tho, provided that we need to build a C library for it.
Please also don't forget to check out new Q4_1_O format, which will be merged in this PR soon. Q4_0 and Q4_1, inherited from llama.cpp heavily reduce quality of RWKV, so a new format was needed -- it preserves outlier weights better and does not quantize activations. Details are in this issue. I'll also add a simple perplexity measuring script soon, so everyone can verify the results.
I can also suggest implementing a state cache, like this. The idea is to cache states by hash of prompt string, so during next inference call, we don't need to go through whole prompt again -- I can't overstate how slow it is having long conversations with chatbots on CPU without a cache. You decide tho, the cache is an additional complication after all :)

Thanks for the reply @saharNooby
I'll see about putting it into a single file, right now it depends on 3 packages: fastapi (framework), sse_starlette (handle server-sent events), and uvicorn (server). And thank you for sharing that cache implementation I'll be sure to integrate it (something I'm working on for the llama.cpp server actually)!
I think a pip package would be very useful, if you need any help putting that together I'd be happy to assist. I have one for my llama.cpp python bindings and the approach that I took for the server is to distribute using a subpackage (ie pip install llama-cpp-python[server]).
To handle the C library dependency I ended up using scikit-build which has support for building native shared libraries. That way when users do a pip install it builds from source on their system ensuring the proper optimisations are selected. Let me know and I can put together a PR or something to get you going in that regard and gladly share any bugfixes between the projects.
PS: Will definitely check out that new quantization format, thanks!

@ss-zheng As I know, adding the server requires #21 to be merged, and it is not merged yet.
But there are already OpenAI-compatible REST servers that support rwkv.cpp, like https://github.com/go-skynet/LocalAI

Great thanks for pointing me to it!

I think it would be great to have a straight python server rather than LocalAI's docker build process.

Hi @abetlen, thanks!
Having an OpenAI-compatible inference server is indeed great and will definetly increase usability of rwkv.cpp. I've written one for myself, but it's too crude to be open-sourced. If your server is contained in a single file and has almost no dependencies (aside from flask), I think it can be straight up put into rwkv directory in this repo.
If the server requires more structure, then I'm not sure... Having it inside a subdirectory may not work: last time I checked, Python does not like referencing py files in subdirectories. Maybe in this case rwkv.cpp should become a pip package, you can create separate repo for the server, and I link it in README here. I'm not sure how to create a pip package tho, provided that we need to build a C library for it.
Please also don't forget to check out new Q4_1_O format, which will be merged in this PR soon. Q4_0 and Q4_1, inherited from llama.cpp heavily reduce quality of RWKV, so a new format was needed -- it preserves outlier weights better and does not quantize activations. Details are in this issue. I'll also add a simple perplexity measuring script soon, so everyone can verify the results.
I can also suggest implementing a state cache, like this. The idea is to cache states by hash of prompt string, so during next inference call, we don't need to go through whole prompt again -- I can't overstate how slow it is having long conversations with chatbots on CPU without a cache. You decide tho, the cache is an additional complication after all :)

So, I made this fork on my git server https://git.brz9.dev/ed/rwkv.cpp with this extra flask_server.py in rwkv/.
It can be run with $ python rwkv/flask_server.py --model <path_to_model> --port 5349
Then queried by :
curl -X POST -H "Content-Type: application/json" -d '{"prompt":"Write a hello world program in python", "temperature":0.8, "top_p":0.2, "max_length":250}' http://<IP_ADDRESS>:5349/chat

This is still a work in progress but that would be a small addition to the codebase

@saharNooby thank you for your great work.
is there any chance to get @abetlen  server/API implemented?
IMHO that would be a great gain for an easy openAI compatible API, without the burden++ of the LocalAI build process.


hide the template text in templates listing

the templates listing would be more usable (esp. if there are more than one templates :) if the template body wouldn't be shown.

You mean in the dashboard?

yes.


Currently cannot connect to remote server

As of commit d4cf6d6, there appear to be issues communicating with remote servers. The protocol works for a local client/server simulation (see examples/server.py) and across two devices on the same network, but when attempting to connect to an actual remote server, no packets are received (datagram_received is not called) and eventually the connection attempts are exhausted.

Fixed in commit a73965e


Convert Depreacted Flags for v1.27

Component of https://github.com/k3s-io/k3s/issues/5940, with v1.27, we need to completely remove the following flags from k3s and docs.

wireguard backend
k3s etcd-snapshot will no longer save a snapshot, it is now prints the help message.

Additionally, we must mark the following flags with a fatal error:

ipsec backend
Additional options of flannel-backend

Validated using v1.27.1-rc1+k3s1
$ k3s etcd-snapshot
NAME:
   k3s etcd-snapshot - Trigger an immediate etcd snapshot

USAGE:
   k3s etcd-snapshot command [command options] [arguments...]

Shows FATAL error passed --flannel-backend=ipsec  as expected
ubuntu@ip-172-31-3-176:~$ sudo k3s server --flannel-backend=ipsec
...
FATA[0000] The ipsec backend is deprecated and was removed in k3s v1.27; please switch to wireguard-native. Check our docs for information on how to migrate.

We need to updated the help text with removal of the flags
$ k3s server --help |grep flannel
   --flannel-backend value                    (networking) backend<=option1=val1,option2=val2> where backend is one of 'none', 'vxlan', 'ipsec' (deprecated), 'host-gw', 'wireguard-native', 'wireguard' (deprecated) (default: "vxlan")
   --flannel-ipv6-masq                        (networking) Enable IPv6 masquerading for pod
   --flannel-external-ip                      (networking) Use node external IP addresses for Flannel traffic
   --flannel-iface value                      (agent/networking) Override default flannel interface
   --flannel-conf value                       (agent/networking) Override default flannel config file
   --flannel-cni-conf value                   (agent/networking) Override default flannel cni config file

Validated help text is updated using the commit bc5b42c27908ab430101eff0db0a0b22f870bd7a from master branch
$ sudo k3s server --help|grep flannel
   --flannel-backend value                    (networking) Backend (valid values: 'none', 'vxlan', 'ipsec' (deprecated), 'host-gw', 'wireguard-native' (default: "vxlan")
   --flannel-ipv6-masq                        (networking) Enable IPv6 masquerading for pod
   --flannel-external-ip                      (networking) Use node external IP addresses for Flannel traffic
   --flannel-iface value                      (agent/networking) Override default flannel interface
   --flannel-conf value                       (agent/networking) Override default flannel config file
   --flannel-cni-conf value                   (agent/networking) Override default flannel cni config file


yii\rest\Serializer should serialize arrays

What steps will reproduce the problem?
Consider the following code
class MyModel extends ActiveRecord {
    // ...

   public function fields() {
      return ['id', 'test1','test2'];
   }

   public function extraFields() {
      return ['testExtra' => function ($model, $field) { return ['key' => 'value',]; };
   }
}

// ..
class MyController extends RestController {
   public function actionTest() {
       $query = MyModel::find();
       return $query->all();
   }
}

What is the expected result?
[
    {
        "id": 1,
        "test1": "xxx",
        "test2": "yyy",
        "testExtra" : {
           "key": "value"
        }
    }
]

What do you get instead?
[
    {
        "id": 1,
        "test1": "xxx",
        "test2": "yyy"
    }
]

Additional info

Q
A

Yii version
2.0.33

PHP version
7.4.1

Operating system
Arch Linux (Linux 5.4.10-arch1-1  x86_64 09/01/2020)

I've submitted the patch on branch 17886_serialize-arrays of my fork of yii2. I don't know how to submit patch nor pull request but if you want you can merge this commit
https://github.com/patacca/yii2/commit/c7885985a9bd06d1ce96f0a08789a75609b74707

Pull requested it.


chore(ci): add verify-commits make target

Add the verify-commits Make target to verify that commits added between the current
head and master:

reference only one upstream, if any
if referencing an upstream, only make changes to the vendor,
manifests, and/or respective staging directory

Also, include verify-commits under the verify target. This ensures the verification is executed by Prow w/o requiring any updates to the Prow config.

/test verify

/lgtm

/lgtm

This is a script change that doesn't affect any of the running e2e tests in any way. Overriding ci
/override ci/prow/e2e-aws-olm
/override ci/prow/e2e-gcp
/override ci/prow/e2e-upgrade


remove string interpolation in char:

don't merge this yet, please, i meant to add another patch first.

with this, testing just parsing of https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/api/gl.xml i get a tiny improvement from this:
69.20user 0.23system 1:09.47elapsed 99%CPU (0avgtext+0avgdata 705276maxresident)k
→
61.29user 0.22system 1:01.54elapsed 99%CPU (0avgtext+0avgdata 725004maxresident)k
i don't quite understand why it uses up so much more memory, but the speed gain is nice to have, IMO!

with the last commit i'm at:
60.20user 0.20system 1:00.44elapsed 99%CPU (0avgtext+0avgdata 704412maxresident)k


KAFKA-3875: Transient test failure: kafka.api.SslProducerSendTest.testSendNonCompressedMessageWithCreateTime

The IllegalStateException is actually thrown from testCloseWithZeroTimeoutFromSenderThread() due to a bug. We call producer.close() in the callback. Once the first callback is called, producing records in the callback will hit the IllegalStateException. This only pollutes the output, but doesn't fail the test. I fixed this by only calling producer.send() in the first callback.
It's not clear which test throws TimeoutException and it's not reproducible locally. One thing is that the error message in TimeoutException is mis-leading since the timeout is not necessarily due to metadata. Improved this by making the error message in TimeoutException clearer.
It's not clear what actually failed testSendNonCompressedMessageWithCreateTime(). One thing I found is that since we set the linger time to MAX_LONG and are sending small messages, those produced messages won't be drained until we call producer.close(10000L, TimeUnit.MILLISECONDS). Normally, 10 secs should be enough for the records to be sent. My only hypothesis is that since SSL is more expensive, occasionally, 10 secs is still not enough. So, I bumped up the timeout from 10 secs to 20 secs.

Thanks for the PR. Left a couple of minor comments, looks good otherwise. Do you think we should close the JIRA or keep it open for some time to see if the test fails again?

Thanks for the reviews. Addressed the comments. I think we can close the jira for now and open a new one if it ever shows up again.

Thanks, LGTM. Merging to trunk.


AFNI's 3dvolreg oblique dataset warning

When running fmriprep on MyConnectome (with option --no-freesurfer), I get the following warning for all EPI's.
I'm not sure what this means and I don't get wiser from afni's documentation/message board. Can I ignore this warning?
170726-19:46:28,993 workflow INFO:
	 Running: fslsplit /oak/stanford/groups/russpold/data/MyConnectome_new/ds000031_R1.0.3/sub-01/ses-105/func/sub-01_ses-105_task-eyesopen_run-003_bold.nii.gz -t
170726-19:46:29,351 workflow INFO:
	 [Job finished] jobname: dte jobid: 1187
170726-19:46:29,727 workflow INFO:
	 Executing: ds_validation_report ID: 1226
170726-19:46:29,732 workflow INFO:
	 Executing node ds_validation_report in dir: /oak/stanford/groups/russpold/data/MyConnectome_new_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_01_wf/func_preproc_ses_105_task_eyesopen_run_003_wf/func_reports_wf/ds_validation_report
170726-19:46:29,769 workflow INFO:
	 [Job finished] jobname: ds_validation_report jobid: 1226
170726-19:46:29,823 workflow INFO:
	 [Job finished] jobname: magmrg jobid: 1172
170726-19:46:29,944 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:++ 3dvolreg: AFNI version=Debian-16.2.07~dfsg.1-5~nd16.04+1 (Jun 12 2017) [64-bit]
170726-19:46:29,944 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:++ Authored by: RW Cox
170726-19:46:29,944 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:*+ WARNING:   If you are performing spatial transformations on an oblique dset,
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:  such as /oak/stanford/groups/russpold/data/MyConnectome_new_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_01_wf/func_preproc_ses_105_task_eyesopen_run_003_wf/epi_hmc_wf/gen_ref/slice.nii.gz,
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:  or viewing/combining it with volumes of differing obliquity,
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:  you should consider running:
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:     3dWarp -deoblique
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:  on this and  other oblique datasets in the same session.
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021: See 3dWarp -help for details.
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:++ Oblique dataset:/oak/stanford/groups/russpold/data/MyConnectome_new_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_01_wf/func_preproc_ses_105_task_eyesopen_run_003_wf/epi_hmc_wf/gen_ref/slice.nii.gz is 9.895926 degrees from plumb.
170726-19:46:29,945 interface INFO:
	 stderr 2017-07-26T19:46:29.944021:++ Coarse del was 10, replaced with 3
170726-19:46:30,205 workflow INFO:
	 Executing: n4 ID: 1173
170726-19:46:30,212 workflow INFO:
	 Executing: magmrg ID: 1229
170726-19:46:30,214 workflow INFO:
	 Executing node n4 in dir: /oak/stanford/groups/russpold/data/MyConnectome_new_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_01_wf/func_preproc_ses_105_task_eyesopen_run_003_wf/phdiff_wf/n4
170726-19:46:30,217 workflow INFO:
	 Executing node magmrg in dir: /oak/stanford/groups/russpold/data/MyConnectome_new_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_01_wf/func_preproc_ses_105_task_eyesopen_run_002_wf/phdiff_wf/magmrg
170726-19:46:30,233 workflow INFO:
	 Running: N4BiasFieldCorrection -d 3 --input-image /oak/stanford/groups/russpold/data/MyConnectome_new_preprocessed_0.5.3/temp/fmriprep_wf/single_subject_01_wf/func_preproc_ses_105_task_eyesopen_run_003_wf/phdiff_wf/magmrg/sub-01_ses-105_run-001_magnitude1_avg.nii.gz --output sub-01_ses-105_run-001_magnitude1_avg_corrected.nii.gz
170726-19:46:32,526 workflow INFO:

Can you post the full log, or at least a larger segment around this warning? I'm not sure what node is running 3dvolreg.

Full logs here.

Awesome, thanks. Found the call in niworkflows.
@chrisfilo, I think this was one of your contributions. I don't think we want to deoblique this image, but have we validated that 3dvolreg works well enough on oblique images? Or should we just move to MCFLIRT?

AFAIK it's fine to ignore this warning. Deobliquing would force an
unnecessary interpolation.
On Thu, Jul 27, 2017 at 12:19 PM, Chris Markiewicz<EMAIL_ADDRESS>
wrote:

Awesome, thanks. Found the call
https://github.com/poldracklab/niworkflows/blob/master/niworkflows/interfaces/registration.py#L309-L310
in niworkflows.
@chrisfilo https://github.com/chrisfilo, I think this was one of your
contributions. I don't think we want to deoblique this image, but have we
validated that 3dvolreg works well enough on oblique images? Or should we
just move to MCFLIRT?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/issues/614#issuecomment-318460526,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkp8yLjvgRKtpGTdWxiP90OwbM3tdVks5sSOKogaJpZM4OkgaH
.

Sounds good. @jokedurnez let us know if there seem to be issues with the output. Should be pretty evident; the results of this function will be in several of the report visualizations.


Benchmarks

Changelog
Check what happens if a benchmark script runs into an error (module level and inside a test)
Helper function for function alias and the __main__? It's a bit tedious to repeat these all the time.

Investigate: Why is there a difference with subprocess.run between ubuntu and windows


Update dependency @types/yargs to v17.0.22

This PR contains the following updates:

Package
Type
Update
Change

@types/yargs (source)
devDependencies
patch
17.0.19 -> 17.0.22

Configuration
📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

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

This PR has been generated by Self-Hosted Renovate Bot. Find all logs here.

Seems like this yarns typing PR upstream causes the breakage here: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/63694
Specifically this part:
Old type:
command<U>(module: CommandModule<T, U>): Argv<U>;

New type:
command(module: CommandModule<T, any>): Argv<T>;

Not sure exactly what the story is here, but it might be possible to fix it by using ordered parameters instead of the CommandModule type

Seems like the breakage here may not be a regression in typing as much as it may be revealing that type safety was probably never is present as it appeared before: you could have always passed completely the wrong handler to the "handler" argument without getting a type error.
Seems like putting "as any" casts into the code is at least a more honest way to indicate that.

cc @jonathan-codaio for unclean dep upgrade

Ah ok, yeah I guess this is fine. Seems like on the old version the handler type was inferred as (args: ArgumentsCamelCase<unknown>) but that was heavily obfuscated. So this is equivalent. Seems valuable to get the strong typing to actually work, but that kind of seems like a yargs bug that inference isn't happening. Do their docs indicate that they expect you to manually do typing in .command<{something}>(...)?

yargs itself isn't in typescript
https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/yargs/yargs-tests.ts shows some examples of what the @types folks thing works but nothing there jumps out at me as testing type inference for .command()

Oh ok, yeah that totally makes sense if the types are just from DefinitelyTyped. Would take some restructuring of the JS most likely in conjunction with TS to make inference work properly. We could manually provide the templated type, e.g. .command<ExecuteArgs>(...) though. I don't that brings any new type safety but I guess at least expresses the intent of the command definition.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

Oh ok, yeah that totally makes sense if the types are just from DefinitelyTyped. Would take some restructuring of the JS most likely in conjunction with TS to make inference work properly. We could manually provide the templated type, e.g. .command<ExecuteArgs>(...) though. I don't that brings any new type safety but I guess at least expresses the intent of the command definition.

The .command() method doesn't type parameters, so something like this is possible but it seems like it might involve having a named variable for each command like const executeCommand: yargs.CommandModule<{}, ExecuteArgs> = {...} and then .command(executeCommand)
One option here might be to move all the command declarations into their respective implementation files. That might make it a little more awkward to share common arguments or default values, though.
My inclination is to merge this as-in with the "as any" since it seems like the alternatives involve more thinking and refactoring that don't seem important right now.

Ok let's merge this as-is.
It turns out it is doing strong typing and type inference, but it's just doing it naively and in a way that's not really compatible with how yargs actually works.
This new package version seems to be much better at type inference than the old version, and it is indeed inferring a type for handler based on the inputs to builder. The problem is, the arguments passed to the handler also include positional parameters that are given names in the command string: for example, in the command definition 'execute <manifestPath> <formulaName>', there are arguments called manifestPath and formulaName in addition to the named arguments like fetch and vm. The handler correctly declares that it accepts parameters named manifestPath and formulaName. But the inferred type of handler is not expecting those parameters, because they are invisible to the type system because those names only exist inside of an arbitrary command string. And the typing is naively implemented because instead of allowing the handler to accept at least the named types from builder it seems to require that the handler accept only the named types from builder. This is probably beyond our ability to control without fixing their type defs.


Alpine base image

Image size now only 15.4MB down from 105MB. Alpine is great for Docker lightweight images such as this.
Credit to xiaozhuai for the Dockerfile which shows you how to build rinetd from source on Alpine. This is required because Alpine does not currently include a rinetd package.
I have tested this on a pair of linux/amd64 machines, I have not noticed any issues.

Thanks for this 👍 I did try to get this working with Alpine originally, but like you mentioned it's not available in their package manager.
I'm currently away for a few weeks, but I'll test this when I'm back.


STORM-3061: Upgrade lots of dependencies

This upgrades lots of dependencies, including thrift.  The thrift changes are based off of an earlier patch done by @arunmahadevan
Please skip over the generated files and look mostly at the other files.
I have only tested that the unit tests pass and that a single node cluster comes up and runs, with similar performance.
I did make a few minor changes in some places to be able to remove dependencies that are not used/needed any more (hbase-server from storm-hbase just to get some string functions).

The travis failure is an interesting one, sql-core is failing, but none of the tests are failing, the junit JVM exist badly as a part of shutdown.  I have not been able to reproduce it locally, but I'll keep trying.

The failure looks like it might be related to #2674

Could we break this PR down to non-external and externals (per module)? This is too hard to follow and do manual tests. Passing UTs doesn't represent for some external modules to guarantee working correctly.

I'll try to break it down to more manageable chunks that are split up by component as much as possible.  There are a lot of the dependencies that cross boundaries though I will call those out in each individual pull request.
@srdo I am going to close this pull request so I can break it up.  I will look at/fix what you have called out.


lda is decoded incorrectly

0080f9 a9 78           LDA        #$0x78=>LAB_0080f9+1
0080fb 22 40 b1 02     JSL        !>$DAT_02b140                                    = F0h

really should be
0080f9 a9 78 22    LDA    #$2278
0080fc 40          RTI

you need to check the processor options, you can also sometimes need to set the Register value. Make sure ctx_EF is 0. First clear the place where the SEP or REP is down. then modify the EF flag, then 'd' again and it should then track the SEP/REP. If you are jumping to code that assumes a different value from the code above, you will need to manually set the ctx_XF or ctx_MF flags either in the register settings window of the processor settings window. ( both in the right click context menu)

So in my case, where I try to disassemble a SNES game, the EF flag should always be set? Am I correct?

well not always. Some games do use emulation mode, but its very rare. Basically the 2 or 3 instruction from the emulation RESET vector will probably be
clc
xce
and from then on EF will be 0
0 = 65816 mode
1 = 65C02 mode
also on
MF/XF
1 = 8 bit
0 = 16 bit

but the initial state of the machine at RESET entry point is 1 for all 3. From there you will need to dissemble. Then follow the JSR/JSL/JMP/JML/BRX etc and trace out each code called and what the MF/XF flags need to be.

thanks for the answer. I try to take a look into this this week.


Lite/Full split: decide on "The EventMetadata interface"

The "The EventMetadata interface" chapter has a TODO for deciding whether we should mention BeanManager.getEvent() or BeanContainer.getEvent().
https://github.com/eclipse-ee4j/cdi/blob/864e1b4f779e4d6d5a80f147d975a510446d4987/spec/src/main/asciidoc/core/events.asciidoc

Since getEvent() is now on BeanContainer, we should mention that one instead.


Contributors and Maintainers welcome

Hi!
Thank you @real-yfprojects for your contribution in #3 and #18
Would you like to co-author and co-maintain this project?, you'd be more than welcome!
...then I would add you on github.
thx
Johannes

I'd be interested. I am still catching up on the last few weeks.

Thank you... I added you as collaborator! br, Johannes


Make examples runnable

Follow-up of #900.

https://github.com/apple/swift/pull/61684
@swift-ci Please test


Docs.MS Release Updates for azure_mgmt_appconfiguration

Update docs metadata and targeting for release of azure_mgmt_appconfiguration

Docs Build status updates of commit 6569290:
:clock10: Full build: the average full build time is 174 min(s) 38 sec(s), this is based on the last 551 build(s) for this repository.

Docs Build status updates of commit 6569290:
:clock10: Full build: the average full build time is 174 min(s) 38 sec(s), this is based on the last 551 build(s) for this repository.

Docs Build status updates of commit 6569290:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs-ref-services/mgmt-appconfiguration-readme.md
:warning:Warning
View (azure-python)
Details

preview/docs-ref-autogen/azure-functions-durable/azure.durable_functions.tasks.call_http.yml
:warning:Warning
View (azure-python-preview)
Details

ci-configs/packages-latest.json
:white_check_mark:Succeeded

docs-ref-services/mgmt-appconfiguration-readme.md

Line 21: [Warning-multiple-h1s] Multiple H1s({0}) are not allowed. You can only have one top-level heading.
Line 27: [Warning-multiple-h1s] Multiple H1s({0}) are not allowed. You can only have one top-level heading.

preview/docs-ref-autogen/azure-functions-durable/azure.durable_functions.tasks.call_http.yml

[Warning-DuplicateUids] Uid(azure.durable_functions.tasks.call_http) has already been defined in preview/docs-ref-autogen/azure-functions-durable/azure.durable_functions.tasks.yml.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add metric description to factory API

Resolves #60
Signed-off-by: Gary Brown<EMAIL_ADDRESS>

I just mentioned in #62 - maybe we should consider using structs as arguments instead of explicit args.

@yurishkuro Updated. Let me know if you would prefer different struct names, and whether would prefer no embedded type.

@yurishkuro Updates applied. Did you mean the reflection here?

@yurishkuro SGTM - updated.

Nice!


Add m7i/m7a to /pkg/aws/vpc/limits.go

What would you like to be enhanced:
IHAC requesting limits details for the recently GA'ed m7i and m7a instances to limits.go
Why is the change needed and what use case will it solve:
This is needed to remain current with recently launched instance families.

Thanks for the report, we will update this on the next release.

@sushrk when can we expect this to be supported?

We have merged the changes to add m7i/a instance type. Current ECD to deploy to all clusters is by end of October.

For anyone eagerly waiting for this. I expect this is the event to look for (check a port started the last hour):
  Normal  ControllerVersionNotice  22s   vpc-resource-controller  The node is managed by VPC resource controller version v1.3.0

https://github.com/aws/amazon-vpc-resource-controller-k8s/pull/293

This is now available with v1.4.0 release, thanks!

@sushrk didn't the ControllerVersionNotice Event from vpc-resource-controller make it to the same release?
A freshly started pod does not have this event:
k describe po                       app-x-7798c5c665-25965     | grep vpc-resource-controller
  Normal   SecurityGroupRequested  116s                 vpc-resource-controller  Pod will get the following Security Groups [sg-abcdef]
  Normal   ResourceAllocated       115s                 vpc-resource-controller  Allocated [{"eniId":"eni-abcdef",..."}] to the pod

update :man_facepalming:
check events on a node to check the version number (a node started the last hour):
kubectl describe node ...
  Normal   ControllerVersionNotice  110s                 vpc-resource-controller  The node is managed by VPC resource controller version v1.4.0

@chlunde that's right. The event is published on the nodes.


Fix error signature

This changes the Twiglet .error signature to be able to handle a single error argument like the base Logger does.
The only way that Twiglet .error now differs from the standard is that it will allow separate message and error args. The standard Logger will raise an error if passed more than one argument, but Twiglet won't to preserve backwards compatibility for anyone who is using it that way.

/dobby version patch

Also - have updated catalog-info. In Backstage some repos have title case titles and some don't. Trying to make it look neater by standardising as name - lowercase, title - titlecase.

/dobby version patch

/dobby version patch


Creating a SimpleConsumer with consumer_group causes RequestError.

Hello,
I'm trying to use PyKafka for a project to allow communication between microservices. I'm fairly green to Kafka, So sorry if these questions come across as n00b. I have looked through many stack overflow messages. And to the best of my knowledge no-one has posted a similar issue.
In my case I'm using a SimpleConsumer to connect to a 3 node cluster. My version numbers are as follows:
Python2.7
PyKafka 2.6.0
Kafka 0.9
Here is the code where I'm utilizing my consumer. In this case i only have a single consumer running. We have not yet to begun to experiment with partitions or parallel tasks yet. I have been able to get things to work locally with a single confluent instance, and a landoop docker version as well.
if ENVIRONMENT == 'staging':
    kafka_url = '<staging_kafka_ip_node1>:9092'
else:
    kafka_url = '<dev_kafka>:9092'

kafka_client = KafkaClient(kafka_url)

topics = ['topicA', 'topicB']

kafka_consumers = {}

for topic in topics:
    kafka_consumers[topic] = kafka_client.topics[topic].get_simple_consumer(consumer_group='task-runner', auto_commit_enable=True)

So when trying to instantiate the consumer I'm getting the following error:
Traceback (most recent call last):
  File "mapper/pm_mapper.py", line 34, in <module>
    kafka_consumers[topic] = kafka_client.topics[topic].get_simple_consumer(consumer_group='task-runner', auto_commit_enable=True)
  File "/usr/lib/python2.7/site-packages/pykafka/topic.py", line 196, in get_simple_consumer
    **kwargs)
  File "/usr/lib/python2.7/site-packages/pykafka/simpleconsumer.py", line 190, in __init__
    self._discover_group_coordinator()
  File "/usr/lib/python2.7/site-packages/pykafka/simpleconsumer.py", line 321, in _discover_group_coordinator
    self._group_coordinator = self._cluster.get_group_coordinator(self._consumer_group)
  File "/usr/lib/python2.7/site-packages/pykafka/cluster.py", line 412, in get_group_coordinator
    future = broker.handler.request(req)
AttributeError: 'NoneType' object has no attribute 'request'

Removing the group name is not included the error does not occur. Is there something that I'm doing when setting this up that is wrong.

@jhcarter1985 Thanks for the report! I'm actually unable to replicate the behavior you're seeing when I run your example code as a script. Are you running the code your provided as a single script in one process?
Also, the consumer_group kwarg is not meaningful for get_simple_consumer, since consumer groups are only used in balanced consumption.

I've got the same bug.
code:
from pykafka import KafkaClient
from pykafka.simpleconsumer import OffsetType
import logging

logging.getLogger("pykafka.broker").setLevel('ERROR')

client = KafkaClient(hosts="remotehost:9093")
topic = client.topics[b'test']
consumer = topic.get_simple_consumer(consumer_group=b'pykafka-test-1', auto_commit_enable=True, auto_offset_reset=OffsetType.EARLIEST, reset_offset_on_start=True)
for message in consumer:
	if message is not None:
		print(message.offset, message.value)

error:
Traceback (most recent call last):
  File "read.py", line 9, in <module>
    consumer = topic.get_simple_consumer(consumer_group=b'pykafka-test-1', auto_commit_enable=True, auto_offset_reset=OffsetType.EARLIEST, reset_offset_on_start=True)
  File "/usr/local/lib/python3.5/dist-packages/pykafka/topic.py", line 199, in get_simple_consumer
    **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/pykafka/simpleconsumer.py", line 198, in __init__
    self._discover_group_coordinator()
  File "/usr/local/lib/python3.5/dist-packages/pykafka/simpleconsumer.py", line 329, in _discover_group_coordinator
    self._group_coordinator = self._cluster.get_group_coordinator(self._consumer_group)
  File "/usr/local/lib/python3.5/dist-packages/pykafka/cluster.py", line 453, in get_group_coordinator
    future = broker.handler.request(req)
AttributeError: 'NoneType' object has no attribute 'request'

kafka <IP_ADDRESS>
Python 3.5.2
pykafka 2.7.0

And with balanced consumer:
from pykafka import KafkaClient
from pykafka.simpleconsumer import OffsetType
import logging

logging.getLogger("pykafka.broker").setLevel('ERROR')

client = KafkaClient(hosts="remotehost:9093")
topic = client.topics[b'test']
consumer = topic.get_balanced_consumer(
	consumer_group=b'pytkafka-test-2',
	auto_commit_enable=False,
	auto_offset_reset=OffsetType.EARLIEST,
    zookeeper_connect='<IP_ADDRESS>:2181'
)
for message in consumer:
    if message is not None:
        print(message.offset, message.value)

error:
Stopping consumer in response to error
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 319, in start
    self._rebalance()
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 587, in _rebalance
    self._update_member_assignment()
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 558, in _update_member_assignment
    if self._setup_internal_consumer(new_partitions):
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 372, in _setup_internal_consumer
    cns = self._get_internal_consumer(partitions=list(partitions), start=start)
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 436, in _get_internal_consumer
    consumer_id=self._consumer_id
  File "/usr/local/lib/python3.5/dist-packages/pykafka/simpleconsumer.py", line 198, in __init__
    self._discover_group_coordinator()
  File "/usr/local/lib/python3.5/dist-packages/pykafka/simpleconsumer.py", line 329, in _discover_group_coordinator
    self._group_coordinator = self._cluster.get_group_coordinator(self._consumer_group)
  File "/usr/local/lib/python3.5/dist-packages/pykafka/cluster.py", line 453, in get_group_coordinator
    future = broker.handler.request(req)
AttributeError: 'NoneType' object has no attribute 'request'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 721, in consume
    message = self._consumer.consume(block=block, unblock_event=self._rebalancing_in_progress)
AttributeError: 'NoneType' object has no attribute 'consume'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "read.py", line 15, in <module>
    for message in consumer:
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 740, in __iter__
    message = self.consume(block=True)
  File "/usr/local/lib/python3.5/dist-packages/pykafka/balancedconsumer.py", line 730, in consume
    raise ConsumerStoppedException
pykafka.exceptions.ConsumerStoppedException

It seems that is a problem with server configuration and related to listeners setting in server.config.
As I understand, it suggest hostname:port for producers and consumers. The default value is hostname. BUT if the client does not know this hostname, this error is emitted.
Similar problem decribed here: https://github.com/wurstmeister/kafka-docker/issues/100#issuecomment-297815839
The solution for me was to add remotehost to /etc/hosts.
Nevertheless, this should be detected and the exception message should be way more clear.

See the fix in https://github.com/Parsely/pykafka/pull/811


racket,racket-minimal: 8.9 -> 8.10

Changelog: https://github.com/racket/racket/releases/tag/v8.10
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 249455 run on x86_64-linux 1

3 packages built:

racket
racket-minimal
vscode-extensions.eugleo.magic-racket


Migrate tests to Node.js test runner

Replace jest with the Node.js test runner (and tsmatchers for assertions if needed).

Duplicate of #1586


Create Github action workflow

See the test action  .github/workflows/cy.yml in https://github.com/manulera/ShareYourCloning_backend

Hi @manulera  I have added a docker file and ci.yaml. I need some help with the docker documentation.


haproxy: 2.9.7 -> 3.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/haproxy/versions.
meta.description for haproxy is: Reliable, high performance TCP/HTTP load balancer
meta.homepage for haproxy is: https://haproxy.org
meta.changelog for haproxy is: https://www.haproxy.org/download/3.0/src/CHANGELOG
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.0.0 with grep in /nix/store/fiwqbsppvc6dy04qivl319nzvzl3v6fq-haproxy-3.0.0
found 3.0.0 in filename of file in /nix/store/fiwqbsppvc6dy04qivl319nzvzl3v6fq-haproxy-3.0.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

haproxy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fiwqbsppvc6dy04qivl319nzvzl3v6fq-haproxy-3.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A haproxy https://github.com/r-ryantm/nixpkgs/archive/fcedf1f7dfd0e9ccf356485a7a8f225577f383c3.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/fcedf1f7dfd0e9ccf356485a7a8f225577f383c3#haproxy

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fiwqbsppvc6dy04qivl319nzvzl3v6fq-haproxy-3.0.0
ls -la /nix/store/fiwqbsppvc6dy04qivl319nzvzl3v6fq-haproxy-3.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

haproxy

Maintainer pings
cc @vifino for testing.

3.0.1 is due to be released soon/today, lets wait.

See #318848 instead.


Fix delegation strategy

The delegation strategy always returns a score of 0 if any of the internal strategies return {} (which is a common return value of strategies such as the uniswap strategy). This causes the delegation strategy to often lose a delegatee's voting power.

Hi! Thank you for your PR 🙏 . Do you have a proposal where you've noticed this issue?

I discovered this bug while testing out some new strategies for our space using the test/scores.ts file. This is my modified version of that file:
global['fetch'] = require('cross-fetch');
const { JsonRpcProvider } = require('@ethersproject/providers');
const snapshot = require('../');
const networks = require('../src/networks.json');

const space = 'index';
const network = '1';
const strategies = [
  {
    "name": "delegation",
    "params": {
      "symbol": "INDEX (delegated)",
      "strategies": [
        {
          "name": "erc20-balance-of",
          "params": {
            "address": "0x0954906da0Bf32d5479e25f46056d22f08464cab",
            "symbol": "INDEX",
            "decimals": 18
          }
        },
        {
          "name": "sushiswap",
          "params": {
            "address": "0x0954906da0Bf32d5479e25f46056d22f08464cab",
            "symbol": "INDEX (Sushiswap)",
            "decimals": 18
          }
        }
      ]
    }
  }
];
const addresses = [
  '0xc987eb2E50959b51e74056Ee62c8F0e437c3a56f',
];

(async () => {
  console.time('getScores');
  try {
    const scores = await snapshot.utils.getScores(
      space,
      strategies,
      network,
      new JsonRpcProvider(networks[network].rpc[0]),
      addresses,
      'latest'
    );
    console.log(scores);
  } catch (e) {
    console.log('getScores failed');
    console.error(e);
  }
  console.timeEnd('getScores');
})();

The address in the addresses array has had ~277 INDEX delegated to it from 0xf6401adc23Faa6B9AD83eA8604CA7254CB7F53e7, yet this code results in a score of 0 index. If I remove the sushiswap strategy from the delegation that it correctly displays 277 index as my voting power.


drill down in custom table visual

Please provide documentation for drill down implementation in a custom visual.

Same question, is it possible to use drilldown atm ? with api version 1.1.0 ?

Hi Guys,
Drill Down is now available in custom visuals.
Here is the documentation on how to implement this ability:
https://github.com/Microsoft/PowerBI-visuals/blob/master/Capabilities/Drilldown.md


EFS issue

how to check weather EFS has mounted to 2 ec2
i have mounted it to ec2 but i'm not able know how to find it.. help me out
@revathi_muthana123

Do it with "df -h" command.

Did you get it vinay?


Mediaserver not downloading files

Describe the bug
Mediaserver is not storing any files.
I'm bridging rocket.chat with discord and configured matterbridge to download files to a folder, which it doesn't do. The folder has 777 but remains empty. Additionally, nothing in the debug output points to the mediaserver being configured, as there's simply no notification. Oddly enough, every message also shows Avatar:""
To Reproduce
Upload files, post text with an avatar, check the media directory.
Expected behavior
Matterbridge should fetch the media and put it in the configured folder.
Screenshots/debug logs
Sending a message makes no mention of the Mediaserver:

[0002]  INFO main:         [main:matterbridge.go:61] Gateway(s) started succesfully. Now relaying messages
[0007] DEBUG rocketchat:   [handleRocketClient:bridge/rocketchat/handlers.go:66] message models.Message{ID:"123", RoomID:"123", Msg:".", EditedBy:"", Type:"", Groupable:false, EditedAt:(*time.Time)(nil), Timestamp:(*time.Time)(0xc000584040), UpdatedAt:(*time.Time)(nil), Mentions:[]models.User(nil), User:(*models.User)(0xc0002d8ea0), Attachments:[]models.Attachment{}, PostMessage:models.PostMessage{RoomID:"", Channel:"", Text:"", ParseUrls:false, Alias:"", Emoji:"", Avatar:"", Attachments:[]models.Attachment(nil)}}
[0007] DEBUG rocketchat:   [handleRocket:bridge/rocketchat/handlers.go:19] <= Sending message from moi on rocketchat.myrocketchat to gateway
[0007] DEBUG rocketchat:   [handleRocket:bridge/rocketchat/handlers.go:20] <= Message is &config.Message{Text:".", Channel:"#development", Username:"moi", UserID:"123", Avatar:"", Account:"rocketchat.myrocketchat", Event:"", Protocol:"", Gateway:"", ParentID:"", Timestamp:time.Time{wall:0x0, ext:0, loc:(*time.Location)(nil)}, ID:"123", Extra:map[string][]interface {}(nil)}
[0007] DEBUG gateway:      [SendMessage:gateway/gateway.go:421] => Sending config.Message{Text:".", Channel:"#development", Username:"moi", UserID:"123", Avatar:"", Account:"rocketchat.myrocketchat", Event:"", Protocol:"rocketchat", Gateway:"gateway12", ParentID:"", Timestamp:time.Time{wall:0xbfbaf0d6ad1a7f20, ext:7090806192, loc:(*time.Location)(0x311d640)}, ID:"123", Extra:map[string][]interface {}(nil)} from rocketchat.myrocketchat (#development) to discord.mydiscord (dev)
[0007] DEBUG discord:      [Send:bridge/discord/discord.go:192] => Receiving config.Message{Text:".", Channel:"dev", Username:"moi", UserID:"123", Avatar:"", Account:"rocketchat.myrocketchat", Event:"", Protocol:"rocketchat", Gateway:"gateway12", ParentID:"", Timestamp:time.Time{wall:0xbfbaf0d6ad1a7f20, ext:7090806192, loc:(*time.Location)(0x311d640)}, ID:"", Extra:map[string][]interface {}(nil)}
[0007] DEBUG discord:      [Send:bridge/discord/discord.go:246] Broadcasting using Webhook
[0007] DEBUG discord:      [Send:bridge/discord/discord.go:266] Setting webhook channel to "dev"
[0007] DEBUG discord:      [Send:bridge/discord/discord.go:273] Processing webhook sending for message config.Message{Text:".", Channel:"dev", Username:"moi", UserID:"123", Avatar:"", Account:"rocketchat.myrocketchat", Event:"", Protocol:"rocketchat", Gateway:"gateway12", ParentID:"", Timestamp:time.Time{wall:0xbfbaf0d6ad1a7f20, ext:7090806192, loc:(*time.Location)(0x311d640)}, ID:"", Extra:map[string][]interface {}(nil)}
[0007] DEBUG gateway:      [SendMessage:gateway/gateway.go:464] mID discord.mydiscord:<PHONE_NUMBER>91824926

Environment (please complete the following information):

OS: Debian Bullseye
Matterbridge version: Tried version: 1.17.5 8eb5e3cb and version: 1.17.6-dev

Additional context
The .toml looks like this

[general]
MediaDownloadPath="/opt/matterbridge/media"
MediaServerDownload="https://media.sErVeR.org/matterbridge"
PreserveThreading=true
ShowUserTyping=true
verbose=true

[discord.mydiscord]
Token="tOkEn"
Server="sErVeR"
WebhookURL="https://discordapp.com/api/webhooks/wEbHoOk"
RemoteNickFormat="{NICK}"

[rocketchat.myrocketchat]
Server="sErVeR"
Login="lOgIn"
Password="pAsSwOrD"

PrefixMessagesWithNick=true
RemoteNickFormat="<{NICK}> "

[[Lots of gateways that work]]

Rocketchat attachment download isn't implemented yet.
See https://github.com/42wim/matterbridge/pull/756
And discord doesn't download cause everything is publicly reachable.
More info here: https://github.com/42wim/matterbridge/wiki/Features#attachment--files-handling


update capability documentation for planned refactor

Updates the capability documentation to match the capability refactor https://github.com/neoforged/NeoForge/pull/73
I try to keep parity to the PR if further changes happen.

Preview URL: https://pr-13.neoforged-docs-previews.pages.dev

I'm assigning myself so I can keep track of this. Request a review whenever you want me to take a look in its current state. This should probably be a draft until it gets merged.

I'll probably reword and add a few things here and there (like the BlockCapabilityCache), but I would like to get an opinion: Where should the Capabilities Page go? It's currently under the data storage category, even though caps don't do that anymore. Should the page stay there to keep links working? Or which category should the page be put under?

It's probably better to rename the entire section since caps, attachment data, and saved data are roughly the same category in my mind. Maybe something like 'extensions'?

I've decided against the rename of the group to extensions, because that would exclude Codecs from the group and would clash with the Concepts of Extension Interfaces that are added by Neo

Closing because of #34. Thank you for the work so far though!


proposal: x/crypto/ssh: support server-side Diffie-Hellman Group Exchange

Support for Diffie-Hellman Group Exchange was proposed and added in the linked proposal: https://github.com/golang/go/issues/17230
This was marked as closed and completed.
However, the PR that actually closed and completed this only implemented client-side kex. It did not implement server-side; only a minimal implementation to allow tests for the client-side to pass. See PR https://go-review.googlesource.com/c/crypto/+/174257 and commit https://github.com/golang/crypto/commit/57b3e21c3d5606066a87e63cfe07ec6b9f0db000.
I posit that the original issue should not have been marked as closed and completed because it was not truly completed as the Diffie-Hellman Group Exchange is still not fully supported.

cc @golang/security

Server-side support was intentionally left out. Diffie-Hellman Group Exchange is complex, and I wish we could have implemented none of it. People argued that it was necessary to connect to certain servers, so in the name of compatibility we added client-side support. What's the argument for adding server-side support?

The original discussion thread did not contain a justification or discussion as to why server-side shouldn't be supported, so it appeared to me to be somewhat of an oversight as the discussion implied that this kex algorithm was fully supported, when it is not. That's why I created this proposal, just to make sure the team was aware that it was not fully supported.
As far as an argument, I can't provide anything except for information about my use-case, which doesn't really answer your question, but I'll provide the info regardless.
We have written an SFTP server using golang that allows our various downstream applications to SFTP backups to the server. One of these applications supports only diffie-hellman-group-exchange-sha256, so as a result we cannot accept backups from that system. Because golang does not support this, we are looking into other solutions specifically for that application.

@FiloSottile in DHGEX the server picks the group, so the server side should be safer than the client side. The proposed patch implements server side DHGEX to improve interoperability but hard code sending Oakley Group 14 or Oakley
Group 16 so basically this is the same as traditional DH security wise

We discussed this with @drakkan for https://go.dev/cl/532415, and indeed since the server selects the groups it's mostly the client side that is complex and risky, and that we already implemented.
The other advantage of implementing server-side support, too, is removing the logic for half-supported algorithms.
Let's go ahead with it.

Can someone say what new API this would involve, if any?

Can someone say what new API this would involve, if any?

No new API, we will simply remove the check to prohibit the use of server-side DHGEX and complete the server-side implementation which is currently only used in test cases and is not production ready.
In short we will add support for a new server-side algorithm but no changes to the API are needed because the algorithms are currently unexported strings

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group
The proposal is to implement support for Diffie-Helman Group Exchange in the ssh server side. The client side already implements support, and that’s the more complicated one, since the server gets to pick the algorithms. There is no visible API change.

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group
The proposal is to implement support for Diffie-Helman Group Exchange in the ssh server side. The client side already implements support, and that’s the more complicated one, since the server gets to pick the algorithms. There is no visible API change.


vimPlugins/playground: remove parser query

Avoid installation of multiple versions of the same parser.
The parser is already bundled with nvim-unwrapped, see pkgs/by-name/ne/neovim-unwrapped/treesitter-parsers.nix
Description of changes
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

considering the whole plugin is now part of https://github.com/nvim-treesitter/playground, I think we could remove it altogether

Removal can be done in a separate PR.

the way I see it: either you use neovim < 0.10 and you need the plugin with its queries or you use neovim >= 0.10 in which case it's builtins and you dont need the plugin. Removing just the dependency breaks the first scenario so let's remove it altogether ?

I think you are right. We should remove both to avoid friction. So I close this PR.


Add CD job for devopsconsole-operator

For https://github.com/redhat-developer/devopsconsole-operator

@sbose78 fyi


Process Update - OSHI "Update Attributes" Function Gives Null Output

Terminal Error Message:
Cannot invoke "oshi.driver.windows.registry.ProcessPerformanceData$PerfCounterBlock.getName()" because "pcb" is null

Issue with Oshi and how the processUpdate function is implemented.  Handled the error on the backend through a try catch to prevent bug from propagating.


SQL Server query parsing issues

Bug Description
This seems to be an issue with the latest master, presumably from the SQL parsing changes that went through in PR #26767.
We're unable to get even the most basic queries to parse and run successfully via the superset UI. The auto-generated SQL commands to list table metadata are failing in the new parse code:

superset_app           | 2024-03-19 03:07:44,700:DEBUG:superset.stats_logger:[stats_logger] (incr) DatabaseRestApi.table_metadata.error
superset_app           | 2024-03-19 03:07:44,700:ERROR:flask_appbuilder.api:Expected table name but got <Token token_type: TokenType.L_BRACKET, text: [, line: 2, col: 10, start: 48, end: 48, comments: []>. Line 2, Col: 10.
superset_app           |   SELECT [Name], [PhoneNumber], [Email]
superset_app           | FROM dbo.[Person]
superset_app           | Traceback (most recent call last):
superset_app           |   File "/usr/local/lib/python3.9/site-packages/flask_appbuilder/api/init.py", line 110, in wraps
superset_app           |     return f(self, *args, **kwargs)
superset_app           |   File "/app/superset/views/base_api.py", line 127, in wraps
superset_app           |     raise ex
superset_app           |   File "/app/superset/views/base_api.py", line 121, in wraps
superset_app           |     duration, response = time_function(f, self, *args, **kwargs)
superset_app           |   File "/app/superset/utils/core.py", line 1476, in time_function
superset_app           |     response = func(*args, **kwargs)
superset_app           |   File "/app/superset/utils/log.py", line 255, in wrapper
superset_app           |     value = f(*args, **kwargs)
superset_app           |   File "/app/superset/databases/api.py", line 742, in table_metadata
superset_app           |     table_info = get_table_metadata(database, table_name, schema_name)
superset_app           |   File "/app/superset/databases/utils.py", line 92, in get_table_metadata
superset_app           |     "selectStar": database.select_star(
superset_app           |   File "/app/superset/models/core.py", line 642, in select_star
superset_app           |     return self.db_engine_spec.select_star(
superset_app           |   File "/app/superset/db_engine_specs/base.py", line 1451, in select_star
superset_app           |     sql = SQLScript(sql, engine=cls.engine).format()
superset_app           |   File "/app/superset/sql_parse.py", line 349, in init
superset_app           |     for statement in parse(query, dialect=dialect)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/init.py", line 86, in parse
superset_app           |     return Dialect.get_or_raise(read or dialect).parse(sql, **opts)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/dialects/dialect.py", line 442, in parse
superset_app           |     return self.parser(**opts).parse(self.tokenize(sql), sql)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1026, in parse
superset_app           |     return self._parse(
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1092, in _parse
superset_app           |     expressions.append(parse_method(self))
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1287, in _parse_statement
superset_app           |     expression = self._parse_set_operations(expression) if expression else self._parse_select()
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2271, in parse_select
superset_app           |     from = self._parse_from()
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2432, in _parse_from
superset_app           |     exp.From, comments=self._prev_comments, this=self._parse_table(joins=joins)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2771, in _parse_table
superset_app           |     exp.Expression, bracket or self._parse_bracket(self._parse_table_parts(schema=schema))
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2737, in _parse_table_parts
superset_app           |     self.raise_error(f"Expected table name but got {self._curr}")
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1136, in raise_error
superset_app           |     raise error

In the trace above you can see a valid SQL script throw a parse error:
SELECT [Name], [PhoneNumber], [Email] FROM dbo.[Person]
For whatever reason the parser doesn't support brackets around table or schema names.
How to reproduce the bug

Create a table in SSMS
Connect database to superset
Query the table in SQL Lab
Click "Create Chart"

Screenshots/recordings

Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
superset_app           | 2024-03-19 03:07:44,700:DEBUG:superset.stats_logger:[stats_logger] (incr) DatabaseRestApi.table_metadata.error
superset_app           | 2024-03-19 03:07:44,700:ERROR:flask_appbuilder.api:Expected table name but got <Token token_type: TokenType.L_BRACKET, text: [, line: 2, col: 10, start: 48, end: 48, comments: []>. Line 2, Col: 10.
superset_app           |   SELECT [Name], [PhoneNumber], [Email]
superset_app           | FROM dbo.[Person]
superset_app           | Traceback (most recent call last):
superset_app           |   File "/usr/local/lib/python3.9/site-packages/flask_appbuilder/api/init.py", line 110, in wraps
superset_app           |     return f(self, *args, **kwargs)
superset_app           |   File "/app/superset/views/base_api.py", line 127, in wraps
superset_app           |     raise ex
superset_app           |   File "/app/superset/views/base_api.py", line 121, in wraps
superset_app           |     duration, response = time_function(f, self, *args, **kwargs)
superset_app           |   File "/app/superset/utils/core.py", line 1476, in time_function
superset_app           |     response = func(*args, **kwargs)
superset_app           |   File "/app/superset/utils/log.py", line 255, in wrapper
superset_app           |     value = f(*args, **kwargs)
superset_app           |   File "/app/superset/databases/api.py", line 742, in table_metadata
superset_app           |     table_info = get_table_metadata(database, table_name, schema_name)
superset_app           |   File "/app/superset/databases/utils.py", line 92, in get_table_metadata
superset_app           |     "selectStar": database.select_star(
superset_app           |   File "/app/superset/models/core.py", line 642, in select_star
superset_app           |     return self.db_engine_spec.select_star(
superset_app           |   File "/app/superset/db_engine_specs/base.py", line 1451, in select_star
superset_app           |     sql = SQLScript(sql, engine=cls.engine).format()
superset_app           |   File "/app/superset/sql_parse.py", line 349, in init
superset_app           |     for statement in parse(query, dialect=dialect)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/init.py", line 86, in parse
superset_app           |     return Dialect.get_or_raise(read or dialect).parse(sql, **opts)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/dialects/dialect.py", line 442, in parse
superset_app           |     return self.parser(**opts).parse(self.tokenize(sql), sql)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1026, in parse
superset_app           |     return self._parse(
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1092, in _parse
superset_app           |     expressions.append(parse_method(self))
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1287, in _parse_statement
superset_app           |     expression = self._parse_set_operations(expression) if expression else self._parse_select()
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2271, in parse_select
superset_app           |     from = self._parse_from()
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2432, in _parse_from
superset_app           |     exp.From, comments=self._prev_comments, this=self._parse_table(joins=joins)
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2771, in _parse_table
superset_app           |     exp.Expression, bracket or self._parse_bracket(self._parse_table_parts(schema=schema))
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 2737, in _parse_table_parts
superset_app           |     self.raise_error(f"Expected table name but got {self._curr}")
superset_app           |   File "/usr/local/lib/python3.9/site-packages/sqlglot/parser.py", line 1136, in raise_error
superset_app           |     raise error
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Taking a look.

I've run into the same issue using the apache/superset:26d8077 docker image.

I have a fix for this, working on a PR. But the long-term solution is that a SQL Server dialect to sqlglot.


Fix the font issues in the Cloud Functions

Summary
The fonts of parts of the Cloud Functions are different from Figma
Steps to reproduce

Clone the repo 9-dapp-cloud-functions
yarn dev
Enter your data to the prod enviroment
Go to your dapp and click in Settings -> Cloud Functions

What is the current bug behavior?

The font-weight from the 'View the documentation' is 400px
The font of the steps are with the color #687328D (Silver)

What is the expected correct behavior?

The font-weight from the 'View the documentation' should be 600px
The font of the steps should be in the color #041836 (Blue)

Relevant logs and/or screenshots

Fixed!


Simplify Go build tags

Currently there is a bunch of go build tags that have to be explicitly listed during build to get various functionalities that are not really depending on some 3rd party C library being installed on the system as they have all the needed implementation in referenced Go modules in pure Go.
Eg
https://github.com/refaktor/rye/blob/832b291606652ac7db1da17d03888054d127ccab/.github/workflows/build.yml#L63
lists a bunch of tags to build as much code as possible, but is easy to miss one or even check if all are included.
The list is hard to keep track of and can easily get out of sync and vastly different in other places:
https://github.com/refaktor/rye/blob/832b291606652ac7db1da17d03888054d127ccab/.github/workflows/build.yml#L78
https://github.com/refaktor/rye/blob/832b291606652ac7db1da17d03888054d127ccab/.docker/Dockerfile#L10
https://github.com/refaktor/rye/blob/832b291606652ac7db1da17d03888054d127ccab/.goreleaser.yaml#L37
https://github.com/Homebrew/homebrew-core/blob/45c5ae17a86523d65c9b1f1afb02c2de981157ea/Formula/r/ryelang.rb#L22-L23
IMO a better approach would be to include all functionality that only depends on Go code by default, and require tags to specifically enable features relying on external C libraries (ebitengine, webkit, raylib, gtk...).
making it easier to run & install also by
go run github.com/refaktor/rye@latest hello.rye
go install github.com/refaktor/rye@latest

without listing ANY tags.
Such unnecessary build tags could be removed or inverted (eg b_postgres -> b_no_postgres) to allow disabling them if this is needed (eg. if binary size is important).
Some tags could even be combined with default tags (cgo, wasm, linux, windows....), so that eg building wasm wouldn't require b_tiny build flag (not sure if this is still needed).

I am not in favor of bundling all builtins in, but it would make things simpler, and available for new users, it would simplify build processes, automated and manual. Binary would then have "bateries included" which now they don't so they are less useful
And we just figured out that build flags don't get passed down to imports (I tested it once and falsely concluded that they do get passed). So if we build rye-ebitengine for example we can't pass -tags "b_sqlite" (again example) and rye would include it. So Rye including more bindings by default also solves problems around that, for now at least.
I will do this, I also made multiline repl with microliner work better (but now perfectly yet) so I would make another release with that commit.
Thank you for the proposal!

I made "allin" branch ... I enabled most modules and also some that weren't in ./build b_* tags now. Now it seems golint-ci is checking all these files and it reported a tons of issues. Which is great, for example "Error return value is not checked" as the builtins will be much more robust in an instant we solve this. But it will take some more time.

Ok. This was done now. Thanks!