Remove dependency on Redux and React Redux

I may be wrong, but I'm not convinced that this library needs to depend on Redux or React Redux.
In particular, I'm not convinced that @reduxForm should use connect() inside.
Why not let the user take care of connecting? Then they understand how it binds to Redux, can customize the connection point (#4) by using connect() API, and it's intuitive where the bound state will appear.
It's slightly more typing but I think the benefits outweigh the downsides.
Instead of
import React, {Component, PropTypes} from 'react';
import reduxForm from 'redux-form';

@reduxForm('contacts', contactValidation)
export default class ContactForm extends Component {

you'd write
import React, {Component, PropTypes} from 'react';
import reduxForm from 'redux-form';

@connect(state => ({ form: state.contacts })) // or wherever you mount your reducer
@reduxForm(contactValidation)
export default class ContactForm extends Component {

The component generated by ContactForm would just accept dispatch and form state as props. It wouldn't need to worry which version of React Redux you use (or even if you use alternative bindings), as long as you pass dispatch and form.
This also opens up for reducers that delegates forms by dynamic IDs. E.g. you may have editItemForms reducer that calls ReduxForm-generated reducer for state.editItemForms[itemId]. And you can connect it to a form component, given a userId, thanks to React Redux API letting you use props:
import React, {Component, PropTypes} from 'react';
import reduxForm from 'redux-form';

@connect(
  state => ({
    forms: state.editItemForms
  }),
  null,
  ({ forms }, dispatchProps, parentProps) => ({
    ...parentProps,
    ...dispatchProps,
    form: forms[parentProps.itemId]
})
@reduxForm(contactValidation)
export default class ContactForm extends Component {

Your mind continues to amaze me.

I think the only thing you are wrong about is that (unfortunately) you've still got to pass the slice name, either as decorator parameter or prop, to reduxForm, because it has to include the slice name with each action.
@connect(state => ({ form: state.contacts }))
@reduxForm('contacts', contactValidation)
export default class ContactForm extends Component {

Does that make sense? Am I wrong?
It's a real shame that the reducer and the connector and the form HOC all need to know about the mount point.

Yes, it's a problem. Need to think more.

:+1:

Love a library that has no "dependencies" section of the package.json! :smiley:

I think this is a setback, having to declare connector and my form slice twice because of this it's redundant

I think that in the long run, the advantage of the decoupling is going to outweigh the burden of having to specify a string twice (could always be declared as a variable). Nothing stopping you from declaring your own @reduxConnectForm(sliceName, validate) decorator if it gets too annoying.

@gaearon, I thought more. :smile:

It's a real shame that the reducer and the connector and the form HOC all need to know about the mount point.

With v0.3.0, I have eliminated two of of these three points of duplication, as the reducer no longer needs to know about the form name, as it lazily initializes on the first action, and the connector just needs to put (state) => state.form, no matter what the form name. So now, the only place where you have your formName is in the reduxForm() call. It definitely would be be convenient to tuck the @connect call inside @reduxForm, as it's needed every time, but a purely functional library with no dependencies sure is a beautiful thing.

How about having reduxForm and connectReduxForm as an opinionated convenience method?

@gaearon: Convince me as to the importance of not depending on, and being opinionated about, react-redux. Already, this library is using a react component, so it's not like it's going to be compatible with angular-redux or hot-new-2018-framework-redux. I don't feel such a burden keeping this repo up to date when the react-redux api changes, since I'm actually dogfooding it. Is there value beyond the functional elegance of being dep-free?

We've been breaking its API for a couple of times and adding/removing features so I wanted to avoid screwing you up by removing something you depend on for your API :-)
We hit 1.0 so it's fairly stable now. However I'm not sure how it would work with React Native because react-redux currently lets you choose connect from react-redux/native instead. By using it directly you'd remove RN support (not sure if anybody uses Redux Form on RN?)
When React 0.14 is out and RN support won't require a separate entry point, this issue will be solved, as the same connect() will work for any platform.

Okay, thanks. I'm fine with leaving RN people out in the cold (or stuck on the current totally awesome version) until React 0.14 comes out.

If you bring this in, I'd still suggest keeping the internal distinction, even if not in the public API.

There could still be a reduxFormNoConnect option for the people who want to attach to the Redux store at somewhere other than state.form. Still mulling it over...

I like reduxForm() and connectReduxForm() because it's a non-breaking change (people can migrate slowly) and explains exactly what happens. You can change the docs to use connectReduxForm().


A bit confused about the code which in docs/handbook/interface.html

Actually, I am a newbie to typescript and I am learning it. I think maybe there is a bit problem in your handbook about the example code of interface.
I am reading the handbook of it, and I am a bit confused about the code below:
http://www.typescriptlang.org/docs/handbook/interfaces.html
there are some example code in interface.html to describe methods in an interface:
interface ClockInterface {
    currentTime: Date;
    setTime(d: Date);
}

class Clock implements ClockInterface {
    currentTime: Date;
    setTime(d: Date) {
        this.currentTime = d;
    }
    constructor(h: number, m: number) { }
}

when i try to compile the above code.
there is an error:
src/main.ts(3,5): error TS7010: 'setTime', which lacks return-type annotation, implicitly has an 'any' return type.
And as a java developer, i think return a type should be better like below:
interface ClockInterface {
    currentTime: Date;
    setTime(d: Date) : void;
}

class Clock implements ClockInterface {
    currentTime: Date;
    setTime(d: Date) {
        this.currentTime = d;
    }
    constructor(h: number, m: number) { }
}

Content is just for reference only.

You, probably have strict: true or noImplicitAny: true at tsconfig.json. The sample is wrote before these flags are added.

noImplicitAny

Thank U for your comments, and for your comments, can i think that "return a type" should be a better way?
Actually, the reason i try typescript to replace javascript is that i think the syntax of typescript is more strict and normative(although, it is no different after compiled).


 This PR sets updates console, build, graph, and upload to do the same.

@PascalPrecht - DApp plugins need to load last due to Embark's architecture: Core > Stack > Plugins, and then DApp plugins may need to leverage some of the functionality in Embark's plugins, so they need to be loaded AFTER everything has loaded in Embark.
I believe this was originally introduced with work on the embark-plasma plugin that required the proxy to be loaded so it could leverage modification of RPC requests (now rpc-manager). With the changes introduced then, the DApp plugins were no longer loaded automatically in the engine first, and instead introduced a requirement to explicitly call for the loading of the plugins, so they could be called in cmd_controller, after all other components had been loaded.

Thanks for clarifying!


Add optional argument to :GuessIndent to respect user config

Fixes #7 by adding optional argument to :GuessIndent that can specify the command is being run from an autocmd.
Running :GuessIndent auto_cmd respects the user config for file types and buffer types to exclude, even if auto_cmd is set to false.

Looks good! Thanks for the PR.


Fixed #26802 -- Prevented crash when attaching bytes as text message attachment

Not ready for Python 3.5...


Collect allocated storage for container projects

Fill in derived_vm_allocated_disk_storage in hourly MetricRollups for container groups and container projects.
@cben  @moolitayer @zakiva please review.
cc @simon3z
@miq-bot add_label providers/containers, wip,  enhancement, providers/metrics
Edit: Storage for pods was removed from this PR since in the case of many pods using the same pvc, no one specific pod was allocated the entire storage capacity.

@miq-bot remove_label wip

@simon3z Ping

@simon3z Ping

@zeari is this working with Claims that were defined only for a fraction of the hour?
Any limitation WRT archived projects? (e.g. if a project is archived will we collect if in its last hour had any Claim? etc.)
Code-wise please get some initial reviews from other CM engineers.

@zeari please update patch to use recently added collected PVC requests.

@zeari is this working with Claims that were defined only for a fraction of the hour?
Any limitation WRT archived projects? (e.g. if a project is archived will we collect if in its last hour had any Claim? etc.)

No and no, since we dont collect metrics for project directly. AFAIK We have only metric rollups for ContainerProject and not realtime metrics. Without adding realtime metrics for projects, 'end-of-the-hour-data' is as close as I can get.

Closing until relevant again.


Non-genesis UTxO expenditure

Adds issue-utxo-expenditure subcommand to cardano-cli, with scripts/issue-utxo-expenditure.sh
Factors a couple of immediately related things:

withRealPBFT
signTxId
genesisUTxOTxIn

All suggestions addressed @Jimbo4350 -- although I think that we could have postponed the reformatting, since it incurred some avoidable conflicts that had to be dealt with.
I also don't think we've reached consensus here, since in https://github.com/input-output-hk/cardano-node/pull/161#issuecomment-526576119 you said:

I think for now we can use stylish-haskell for imports and use our discretion for everything else

All suggestions addressed @Jimbo4350 -- although I think that we could have postponed the reformatting, since:

It incurred some avoidable conflicts that had to be dealt with.
It completely invalidated the work I did (separate from this PR, but temporarily residing in it) in 6f65dc0 -- that we discussed.

I also don't think we've reached consensus here, since in #161 (comment) you said:

I think for now we can use stylish-haskell for imports and use our discretion for everything else

..and I thought that was the consensus -- but apparently, alas, it wasn't.

@deepfire your suggested formatting makes reading diff more difficult than it needs to be. Formatting is not only about how it looks locally.

All suggestions addressed @Jimbo4350 -- although I think that we could have postponed the reformatting, since:

It incurred some avoidable conflicts that had to be dealt with.
It completely invalidated the work I did (separate from this PR, but temporarily residing in it) in 6f65dc0 -- that we discussed.

I also don't think we've reached consensus here, since in #161 (comment) you said:

I think for now we can use stylish-haskell for imports and use our discretion for everything else

..and I thought that was the consensus -- but apparently, alas, it wasn't.

Unfortunately the reformatting on your branch makes it very difficult to view changes on the github diff. The local view is important but I think the format in my PR is a good compromise.

Unfortunately the reformatting on your branch makes it very difficult to view changes on the github diff. The local view is important but I think the format in my PR is a good compromise.

I don't think it looks too bad -- does it?:

Granted, it might be a problem in a side-by-side diff, but that's not the default view, so it's probably not used very often by most people.
Reading the code in a text editor, though, is a much more frequent operation, for most people,
and the tabular layout, I think, was quite beneficial to that use case.

bors r+


doc mapper parse error on otel_logs_v0_7

Describe the bug
According to the log data spec, body field should support any type of data.
The doc mapping of the field is specified as json, but it seems to only accept JSON objects, not JSON arrays.
quickwit-1        | 2024-08-26T08:20:37.205Z  WARN quickwit_indexing::actors::doc_processor: doc mapper parse error: the document contains an array of values but a single value is expected: "body" index_id="otel-logs-v0_7" source_id="_ingest-api-source"

So log records generated by OTEL's official SDK are not indexed properly.
I used logtape, which add body field as array.
Steps to reproduce (if applicable)
Full setup: https://github.com/cometkim/quickwit-tutorial
Expected behavior
Valid OTEL logs must be able to be indexed.
Maybe by supporting more JSON values, or by changing the field type dynamic.
Configuration:

Output of quickwit --version: 0.8.2
The index_config.yaml: The built-in otel_logs_v0_7

cc @trinity-1686a

Is there update on this? I didn't expect this to be an easy fix in Quickwit. If there is your strategy for this, I would like to follow-up in advance.


ja-trans: content/ja/case-studies/sos

Translation for case study of SOS International
https://kubernetes.io/case-studies/sos/
Fixes #17323

/language de

/remove-triage support

/assign @nasa9084

/lgtm

/approve


crictl ps: output container namespace

What type of PR is this?
/kind feature
What this PR does / why we need it:
Follow-up on https://github.com/kubernetes-sigs/cri-tools/pull/1632 to output the namespace of the container in the same was as for pods.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

`crictl ps`: output container namespace on table or verbose output.

/approve
/lgtm


Fix 1139

@ryanjbaxter  ready to be looked at. thank you.

The changes were not that disruptive and I would rather make minor breaking changes now before GA.  I know there are a few other issues I need to look at, hopefully I can carve out some time today.


Rename allow_list to allow_stack_paths

Hello, thank you for this great gem.
While trying to set it up, I glossed over what Prosopite.allow_list does, and assumed it accepted a list of SQL queries to ignore, rather than paths in the call stack. To make it a bit easier for future me / others, I'd like to suggest a more explicit name: Prosopite.allow_stack_paths.
Obviously it's your gem and I won't be sad if you reject this change but I figured it doesn't hurt to try. I also added some tests for the allowlist functionality as it is currently untested.
(I think a feature to skip specific query fragments would be handy too... happy to build that if you are interested.)

@ghiculescu Thanks for your contributions!
This would make even more sense if we have 2 types of allow lists like with the one you've suggested.
I can merge this if we get rid of the conficts. A PR for a new allow list for skipping queries would be welcome!

Thanks @charkost
Keen to merge this, and I can do a separate PR for the query skipping.

I was going to report an error in current version 1.0.3, but I see that this PR already fixes it. Could it be merged, please?
The error happens when checking the allow list, it uses concat to add the DEFAULT_ALLOW_LIST to @allow_list, so @allow_list grows and grows, and the tests start to slow down.

@frsantos the fix is released in version 1.0.5, thanks for reporting.
I prefer to merge this PR when the ability to allow specific SQL queries is present.

Oh sorry I didn't realise you were waiting on that. How's it looking now?

Thanks a lot @ghiculescu!


resolveSync not defined in loader context

Bug report

What is the current behavior?
If the current behavior is a bug, please provide the steps to reproduce.

What is the expected behavior?
Loaders should be able to call this.resolveSync() for a synchronous module resolution as documented.
See issue webpack/webpack#1634 that was closed without resolution for context.
If this API has been removed and the webpack team does not care to restore it, it should be removed from the documentation.
This is important for loaders that require synchronous resolve. It enables plugins to avoid creating a separate enhanced-resolve instance and attempting to make its behavior match the one used by the webpack compiler.
See:
https://github.com/brandonkal/linaria/blob/27888fa8a3e15cedbfdcf779b18d81ca04af77ee/src/loader.ts#L277-L280
For a runnable example, you can clone that repository and run vscode-jest-tests in the VSCode debugger. You will see that the resolveSync is not defined in the loader's context, so the fallback code is executed.

Other relevant information:
webpack version:  4.40.2
Node.js version: v10.15.3
Operating System: MacOS 10.12.6
Additional tools: webpack-dev-server

Looking into it.


Text looks bad in sub-windows on Android

Tested versions
v4.3.stable.official [77dcf97d8]
v4.4.dev6.official [1f47e4c4e]
System information
Godot v4.3.stable - Fedora Linux 41 (Workstation Edition) - Wayland - Vulkan (Mobile) - dedicated AMD Radeon RX 7800 XT (RADV NAVI32) - AMD Ryzen 9 3900X 12-Core Processor (24 Threads)
Issue description
I'm writing a GUI app using Godot. When I run the app on Android, I have to call set_content_scale_factor on the main window in order to not have the GUI elements look microscopic (in this case, the scale factor is 3.0). The text of UI items in the main window and the titles of sub-windows look great but the UI text of items in the sub-windows looks terrible.

I can use multi-channel SDF, which gives better results, but the text is still rendered at a lower resolution and scaled up for sub-windows, so it looks blurry.

Steps to reproduce
See description above.
Minimal reproduction project (MRP)
Project is available here.

Are you aware of the Godot Engine MSDF feature?  https://docs.godotengine.org/en/stable/tutorials/ui/gui_using_fonts.html#msdf-font-rendering

Are you aware of the Godot Engine MSDF feature? https://docs.godotengine.org/en/stable/tutorials/ui/gui_using_fonts.html#msdf-font-rendering

MSDF is enabled in the project settings (second example image).

It seems like the entire output is not hi-dpi.

Hi-dpi setting has no effect.

Re-enabled hi-DPI in the project settings. Same result.

@Barugon, does this issue occur only on Android?

@Barugon, does this issue occur only on Android?

Any scaling greater than 1.0. Here I called set_content_scale_factor on the main window with 2.0 on Linux desktop (Fedora 41).

May be fixed by https://github.com/godotengine/godot/pull/97745

May be fixed by #97745

That change looks like it didn't make it into v4.4-dev7 but I built from the main github branch and it appears to be fixed. Closing.


docs: adds documentation on how to setup Docker on OSX using Minikube

Adds documentation on how to setup Docker on OSX using Minikube

@ipcrm The /deploy folder should be mounted into the running docker container.
from docker-compose.yml file:
    volumes:
      - ./:/root
      - ./terraform:/terraform
      - ./lacework:/lacework
      **- ./deploys:/deploys**


docs: added contributing.md file.

Pull Request Checklist

[ ] New code has 100% test coverage
[ ] (If applicable) The prose documentation has been updated to reflect the changes introduced by this PR
[ ] (If applicable) The reference documentation has been updated to reflect the changes introduced by this PR

By submitting this issue, you agree to:

follow Starlite's Code of Conduct
follow Starlite's Contribution Guidelines

Description
Close Issue(s)

I'm not sure how much this is needed - We are utilizing GitHub's Community Health Files that cover all non-explicit repos for a large variety of default files, with the exception being the main litestar repo.

But perhaps this repo has special requirements that supersede the defaults

It does require node and dependencies for tailwind, so this does make sense.

Hi @JacobCoffee! I just wanted to explain why I added the CONTRIBUTING.md file.
When I asked Anas to fix the CSS for mobile, we both had a hard time setting up and running the repo for development.
We had to ask @provinzkraut for help multiple times.
So, I thought it would be helpful if we had some documentation available for future contributors so that they won't have to go through the same struggle as us.
Let me know if you have any questions or concerns! :)

But perhaps this repo has special requirements that supersede the defaults

It does require node and dependencies for tailwind, so this does make sense.

Could we eliminate the need for node by using pytailwindcss?

pytailwindcss

Never used it before but if it works sure, why not?


about preprocessed code

when i want to run the third step
3. Run the following script to extract pre-processed data. This speeds up training significantly.
python preprocess.py -c configs/preprocess_nuscenes.yml -r path/to/nuScenes/root/directory -d path/to/directory/with/preprocessed/data

it turns out to be segmentation fault
and i check that when  from positional_encodings import PositionalEncodingPermute2D
it come up with segmentation fault (core dumped)
but when i import positional_encodings in the command line it turns out to be right.

I think this is probably caused by the mismatch between your tensorflow version and the cudatoolkit version. You can determine the matching relationship from https://www.tensorflow.org/install/source#common_installation_problems and reinstall.

I think this is probably caused by the mismatch between your tensorflow version and the cudatoolkit version. You can determine the matching relationship from https://www.tensorflow.org/install/source#common_installation_problems and reinstall.

Thank you very much. I switched the import sequence then get across it.

It can be solved by changing "from positional_encodings import PositionalEncodingPermute2D" to "from positional_encodings.torch_encodings import PositionalEncodingPermute2D".

This worked for me-
pip install --force-reinstall charset-normalizer==3.1.0


Assertion helpers for .getvalue()

Like https://github.com/bskinn/stdio-mgr/issues/80 (Windows EOL vs Unix EOL) , the reason .getvalue exists is to be used in assertions.  And https://github.com/bskinn/stdio-mgr/issues/80 exists because it is usually important for the precision of assertions to check most of the value, but allow some implementation/temporal/etc details to be ignored.
We could leave this to an external assertion library, however there are likely some other 'easy wins', similar to EOLs, where an internal helper can provide a common need, and can be easily achieved with the stdlib, or the helpers solve our own needs.
The one that comes to mind is a regex match, or some large text match, which could be used with https://github.com/bskinn/stdio-mgr/issues/11 to say "dump to the real streams if it doesnt match /this pattern/.
For implementation, this should be done after https://github.com/bskinn/stdio-mgr/issues/86 , so we have an abstract class to hang the helpers onto.

This is probably application-specific enough that pushing it up to stdlib won't make sense...and we'll probably want our own custom methods on it anyways.

The one that comes to mind is a regex match, or some large text match, which could be used with #11 to say "dump to the real streams if it doesnt match /this pattern/ .

This makes sense--only reproduce/push content out to the 'real' (e.g., prior to stdio-mgr) streams if it doesn't match what I expect.


Enable release promotion of nightly builds

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
As of now we run lots of tests during release which is a duplicated effort having in mind that most of those have already been run either on PRs, main or on nightly e2e tests run.
Proposed Solution
Enable a promotion workflow which would only be possible to be run from an already tested SHA/nightly build.
Additional information
Prerequisite:

#3349

Acceptance Criteria

[ ] As a developer of KIC I can trigger a promotion workflow which will promote a nightly (or equivalent?) build as a release (candidate?)
[ ] Release template mentions that only already tested git references can be used as input for the workflow.

Blocked on #3349.


Sample source plugin

A sample source plugin should be created to showcase how a source plugin could be bootstrapped.
It could piggyback on an existing source.
I'd suggest to move this source plugin as a whole project into a subdirectory with an own go.mod, and in the future we might want to add other 'specializations' of kn plugins for samples.
Origin: https://github.com/knative/client/issues/520

/remove-lifecycle stale


search bar of wheather page can be improved

assign to u complete it in 1 week and follow contributing.md file guide..


Update client3:circe, client3:core to 3.9.4

About this PR
📦 Updates

com.softwaremill.sttp.client3:circe
com.softwaremill.sttp.client3:core

from 3.8.16 to 3.9.4
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.softwaremill.sttp.client3" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.softwaremill.sttp.client3" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #234.


Remove Bond Map

Removes extraneous environment variable BOND_MAP in favour of putting these values directly into the payment query. Closes #24
Additional Notes:
I went looking through this billing query to try and find the "source" of this BOND_MAP we want to remove:

https://dune.com/queries/3702699
https://dune.com/queries/3702915
https://dune.com/queries/3665113

My guess is that it hasn't been recorded in a Dune query yet - so I propose a PR that hard-codes this value instead of having it as a query parameter. This will eliminate the need for the additional environment variable.
Test Plan
Existing CI

cc @olgafetisova can you comment on what's the best way is to rely this Bonding pool solver mapping in Dune?

I've spoken with @olgafetisova who is in the process of adding a bond_provider column to the BlockBuilders data table.
Then we will be able to query it from a source that combines all the runtime parameters without hard-coding these values into this query:
select distinct
  miner_biller_address as billing_account,
  bond_provider as initial_funder
from
query_3976545 -- This is my fork
-- query_3665113
where
  bond_provider is not null

I'll update the code now (although it won't pass CI until that column exists).

I am currently updating the following query https://dune.com/queries/3665113 with adding bond_provider as mentioned above. The PR is created, once merged, the query will have bond mapping and will allow us to maintaining everything in one place.


Not able to get the table name from the DuckDBReader.

I am trying to get the table names involved in the query.
In sqlite db, in the reader I have the getschematable method which has the "BaseTableName" property set with the correct table name.
But in the duck db reader this parameter is not set. the getschematable.table is also empty.
Is there any other way to read the table name from the DuckDBReader?

Hi @Giorgi, did you get a chance to look at this?

This is not implemented yet.


Allow extending test controller instance with custom methods (server-only actions)

Are you requesting a feature or reporting a bug?
I am requesting a feature: allow custom (server-only) test controller instance methods for more fluent APIs.
What is the current behavior?
Currently I have to break my nice fluent API chain to implement some checks. Example:
  // somewhere in a test
  await t
    .typeText(someInput)
    .click(submitButton);

  const consoleMessages = await t.getBrowserConsoleMessages();
  if (consoleMessages.error.length) {
    // handle console error messages
  }

  await t
    .click(logoutButton); // continue test

There are other scenarios like checking if there’s the first-time user tutorial and skipping it, etc.
What is the expected behavior?
// set up
import { t } from 'testcafe';

t.extendApi('checkConsole', () => {
  const consoleMessages = await t.getBrowserConsoleMessages();
  if (consoleMessages.error.length) {
    // handle console error messages
  }
});

  // later in a test
  await t
    .typeText(someInput)
    .click(submitButton)
    .checkConsole()
    .click(logoutButton);

Some simpler API is even possible:
  await t
    .typeText(someInput)
    .click(submitButton)
    .executeCustom(checkConsole, param1, param2)
    .click(logoutButton);

Again those methods should not be fully-fledged actions (supported on Hammerhead side, etc.) but rather just syntactic sugar for making tests more concise and maintainable.
As always with great appreciation for DevExpress’ team work 🥇, thank you!

It's a duplicate of https://github.com/DevExpress/testcafe/issues/1535


Login to web app from a third party POST request, does such a flow exist?

I'd appreciate any guidance on the following scenario.
App A (web application) uses the hybrid flow to secure access to it and get access to various APIs. The app and APIs are MVC 4.5 and are now using Identity Server 4 which works as expected.
From within a third party app users would like to view a subset of data from App A and they do this by clicking a link (2 - see image below) which posts an XML payload to an end point I control and result in the user being logged into App A and redirected to a specific page. The payload describes the user so we can identify him\her and have been authenticated by the third party app but not against our auth server. The user shouldn't see a login form as it is assumed the payload describes an authenticated user.
My plans were to create App B (web api) which receives this payload (3) and then triggers one of the auth flows (4, 5) to log the user into App A (6, 7). The question is, is there a flow for this type of interaction? Or am I looking at setting the auth cookie for App A manually but use client credentials or resource owner flow to get an access token in the background so that we can call other APIs from App A.

The third party app does not require access to our APIs, it just wants to hand off the user to us and expect we log them in automatically.

@naeemsarfraz if i understand your scenario correctly, would it be better for the third party app to get an access_token from the identityserver rather than handing off the XML payload to your WebApi to do the authentication for you? Since your WebApp A only trust IdentityServer4 as the authentication/identity provider.
In identityserver you could create a new client and assign a scope that has limited access to your WebAPI or WebApp A resources (i.e. scope.readonly).

Does that XML also contain a password? Or how is this trusted?

@leastprivilege there is no password however the XML contains a "token" which we validate against a http endpoint, if the endpoint says the token is valid we can assume it's good to proceed.

OK - well then you can sigin the user into the app, right?

@kenneth-y yes that would be better but that's a much bigger piece of work for a team upstream. It's not going to be possible right now.
@leastprivilege You know that saying everything looks like a nail when you have a hammer?
I was looking for a way to get Identity Server involved in this dance but your question has got me thinking. If I've validated the token then I could skip steps 4 & 5, go straight to 6, and sign the user in by setting the auth cookie.
Once signed in to App A I will need an access token (to get to APIs) & identity token (for the standard set of claims). I'm not sure how I can get these which is why I was looking at getting my Identity Server involved. I have access to the secret used by App A for hybrid flow. I thought I needed an authorization code to get the access token from here?
var tokenClient = new TokenClient(discoveryResponse.TokenEndpoint, "appa.client", "secret"); var tokenResponse = await tokenClient.RequestAuthorizationCodeAsync(??????, "{redirecturi}");

Well - you can get IS involved - implement an extension grant - sent you XML doc to the token endpoint, validate it, return an access token.

All set on this issue -- can we close?

I'm nearly there. I've got my extension grant up and running. Appreciate how well designed IS is so you can plug these things in really easily.
Any advice on how I would go about getting an Identity Token after I've got my access token using the external grant?

You can't get an identity token this way - but an access token that you can send to the userinfo endpoint.

Any update on the issue? closing for now - feel free to re-open if it needs further discussion.

Thanks for your help, I think I've got what I needed.


RepRate Data

Hello, how can I get rep rate (Hz) data from device?

There is no rep rate measured on this device. Or do you mean sampling rate of the measured power? The interface via DLL is a bit clumpsy and you won't get data following the internal sample rate of the device.


Optionally run the tests

Sometimes, the package compiles fine on a given version, but the tests don't run. Currently, we don't run the tests at all. We should. But since running the tests often take much longer than building, we should make them optional. Perhaps we could also allow an external verification script to be ran?

Does cabal-rangefinder mutate the current working directory? If so, then this should be rather straightforward to implement, as follows, wouldn't it?

If the user specifies --enable-tests for cabal-rangefinder, e.g. cabal-rangefinder my.cabal --enable-tests

Then run cabal install --enable-tests && cabal test on each iteration.
Else run as we do currently.

Yes, I agree that it should be straightforward. Would you like to take a stab at it? I'm rather busy with other Haskell projects at the moment.


Fail gracefully when no BLAST hits

Print an informative error message (loglevel CRITICAL) when there are no BLAST hits that match the user's criteria. Currently PASTA dies uncleanly, which causes BAD_Mutations to die uncleanly.

Fixed in e411f51475a9efa761c46fb423c58f9e9a1f05ae


fix system image library uninstallation on macos x86

~#7417 touched the general dev env creation for CI. Amongst other things, it now also install system libpng libraries on macOS x86. However, this leads to failures with our I/O tests: https://github.com/pytorch/vision/actions/runs/5057898641/jobs/9077254208. This uninstallation was part of the journey to get CMake running, but was no longer needed in the end.~
Thanks to @NicolasHug observation, it turned out that the root cause was a broken uninstall logic and nothing to do with the PNG libs. This PR now fixes the error described in https://github.com/pytorch/vision/pull/7622#issuecomment-1560914188.
cc @seemethere

8c5b87778889acd8e8d37c30fd4a6bb3ce7d91e2 has a green CI for all CMake and unittest workflows.

That is a really good question. I honestly didn't see that. My guess is that the new logic is somehow wrong and jpeg library is not uninstalled for some reason. Let me check.

Log output
before:
2023-05-23T07:05:30.8266370Z ##[group]Uninstall system JPEG libraries on macOS
2023-05-23T07:05:43.3191720Z jpeg-turbo jpeg-xl openjpeg
2023-05-23T07:05:46.3387080Z Uninstalling jpeg-turbo... (44 files, 3.9MB)
2023-05-23T07:05:49.6651010Z Uninstalling jpeg-xl... (43 files, 19.4MB)
2023-05-23T07:05:52.1431560Z Uninstalling openjpeg... (536 files, 13.8MB)
2023-05-23T07:05:52.6152150Z ##[endgroup]

So I guess I'm right since the log after the patch never has the Uninstalling ... output coming from brew.
after:
2023-05-23T13:28:30.1339840Z + echo '::group::Uninstall system JPEG libraries on macOS'
2023-05-23T13:28:30.1340560Z ++ brew list
2023-05-23T13:28:30.1389040Z ++ grep -E 'jpeg|png'
2023-05-23T13:28:44.4600320Z + IMAGE_LIBS='jpeg-turbo
2023-05-23T13:28:44.4600770Z jpeg-turbo
2023-05-23T13:28:44.4697740Z jpeg-xl
2023-05-23T13:28:44.4698360Z jpeg-xl
2023-05-23T13:28:44.4732740Z libpng
2023-05-23T13:28:44.4733290Z libpng
2023-05-23T13:28:44.4790080Z openjpeg'
2023-05-23T13:28:44.4790790Z openjpeg
2023-05-23T13:28:44.4822750Z + echo 'jpeg-turbo
2023-05-23T13:28:44.4838960Z jpeg-xl
2023-05-23T13:28:44.4885750Z libpng
2023-05-23T13:28:44.4924170Z openjpeg'
2023-05-23T13:28:44.4970110Z + for lib in '"${IMAGE_LIBS}"'
2023-05-23T13:28:44.5014900Z + brew uninstall --ignore-dependencies --force 'jpeg-turbo
2023-05-23T13:28:44.5066140Z jpeg-xl
2023-05-23T13:28:44.5107200Z libpng
2023-05-23T13:28:44.5131170Z openjpeg'
2023-05-23T13:28:47.4642280Z + echo ::endgroup::

Ok, there were two things coming together with
  for lib in "${IMAGE_LIBS}"; do
    brew uninstall --ignore-dependencies --force "${lib}" || true

I botched the loop by wrapping IMAGE_LIBS into a string. Thus, instead of iterating over the individual libs, we just had one string. For example:
LIBS="foo bar baz"

echo 1
for lib in $LIBS; do
    echo "${lib}"
done

echo 2
for lib in "${LIBS}"; do
    echo "${lib}"
done

Running this prints
1
foo
bar
baz
2
foo bar baz

While definitely a bug, this went undetected because we also ignored the error code brew uninstall ... || true.

I've fixed both things in 334b4e59fb919c8e7f703e82ed91164213ae096b

Looking good now
  + echo '::group::Uninstall system JPEG libraries on macOS'
  ++ brew list
  ++ grep -E 'jpeg|png'
  + IMAGE_LIBS='jpeg-turbo
  jpeg-xl
  libpng
  openjpeg'
  + for lib in '$IMAGE_LIBS'
  + brew uninstall --ignore-dependencies --force jpeg-turbo
  Uninstalling jpeg-turbo... (44 files, 3.9MB)
  + for lib in '$IMAGE_LIBS'
  + brew uninstall --ignore-dependencies --force jpeg-xl
  Uninstalling jpeg-xl... (43 files, 19.4MB)
  + for lib in '$IMAGE_LIBS'
  + brew uninstall --ignore-dependencies --force libpng
  Uninstalling libpng... (27 files, 1.3MB)
  + for lib in '$IMAGE_LIBS'
  + brew uninstall --ignore-dependencies --force openjpeg
  Uninstalling openjpeg... (536 files, 13.8MB)
  + echo ::endgroup::

CMake and unittest jobs on macOS x86 are green!


Questions for OOM During Mem Profile

Thank you very much for your excellent work. Recently, I tested compiling the Llama3-70B model using nnScaler on 32 A40 GPUs, each with 46GB of memory. During the profiling process, I encountered an OOM (Out of Memory) issue. Although nnScaler has a penalty setting with a default value for such cases, is there any way to leverage multiple GPUs during the profiling phase to avoid OOM? Besides, the profiling phase only use the GPUs on node0, maybe we can leverage all the GPUs to accelarate profiling phase

Could you provide the detailed OOM message so that I understand your problem more clearly?
Based on my explanation in another issue, autodist profiles all possible partitions of an operator. If an OMM is raised, then this partition is valid and we should exclude it from the generated partition plan. Adding more device helps to reduce the profiling time but will not avoid OOMs.
Thanks for your suggestion, we may add the distributed profiling in the near release :)

Thanks again for your help. The error message is showing below:
fail to profile FwOp83-()(name=mul, inputs=(t27054(p197,(1, 131072, 28672),d(),v(0/1)), t27056(p201,(1, 131072, 28672),d(),v(0/1))), outputs=(t27057(p203,(1, 131072, 28672),d(),v(0/1)),)), use default values
Traceback (most recent call last):
  File "/data/haiqwa/zevin_nfs/andy/Auto-Parallelization/nnscaler_group1/qinghe/nnscaler-main/nnscaler/profiler/database.py", line 343, in profile
    profile(node, fn, shapes, dtypes, requires_grads, values, **kwargs)
  File "/data/haiqwa/zevin_nfs/andy/Auto-Parallelization/nnscaler_group1/qinghe/nnscaler-main/nnscaler/profiler/database.py", line 253, in profile
    run_step(func, tensors, train_kwargs, backward=require_backward)
  File "/data/haiqwa/zevin_nfs/andy/Auto-Parallelization/nnscaler_group1/qinghe/nnscaler-main/nnscaler/profiler/database.py", line 199, in run_step
    torch.autograd.backward(outputs, grads)
  File "/opt/conda/envs/andy/nnscaler/lib/python3.10/site-packages/torch/autograd/__init__.py", line 267, in backward
    _engine_run_backward(
  File "/opt/conda/envs/andy/nnscaler/lib/python3.10/site-packages/torch/autograd/graph.py", line 744, in _engine_run_backward
    return Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 7.00 GiB. GPU  has a total capacity of 44.56 GiB of which 1.80 GiB is free. Process 3762519 has 458.00 MiB memory in use. Process 3785675 has 42.30 GiB memory in use. Of the allocated memory 42.00 GiB is allocated by PyTorch, and 0 bytes is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation.  See documentation for Memory Management  (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)

According to the error, the operator is too large to place into a single device. If the datatype is bf16 or fp16, each input / output tensor is 131072 * 28672 * 2 = 7GB. Since AutoDist profiles the forward and backward computation of a operator, it takes about 3 * 7 * 2 = 42 GB. I think in the generated plan, this mul operator will be partitioned along the 2nd dim or 3rd dim.

Thank you for your patient response. I wonder if there are any plans to use multiple devices to profile large operators, or to split large operators so that a single device can complete the profiling of large operators (like the mul mentioned before).

Thank you for the detailed explanation, and I get it now. I had some misunderstandings about the profile phase and generate phase previously.


Menu component: Dense prop doesn't change padding

The documentation explains that a "dense" prop may be applied to the Menu component to reduce its padding. It appears to only change the size of the typography component inside it, but doesn't change the height of the list item or any of its padding.

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Add a dense prop to a MenuList and the typography component changes from body1 to body2.

Expected Behavior 🤔
Add a dense prop to MenuList and the padding should be reduced, as well as the overall height.

Steps to Reproduce 🕹
I'm only a designer, so I'm inspecting documentation in Chrome and playing with it in code sandbox.

Context 🔦
I want to provide perfect specs to my engineers, and I want to modify components, which requires a perfect understanding of how they're set up.

Your Environment 🌎
Figma, Chrome.

`npx @mui/envinfo`
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

I suggest either updating the documentation's description to better describe what the prop will do

As of v5, will need to fix the docs. (thanks for pointing that out!)

change the behavior of the dense prop
I'll let @danilo-leal decide if you want to push this to v6 milestone or not.

@Samyc2002 Please take a look at MenuItem.js
diff --git a/packages/mui-material/src/MenuItem/MenuItem.js b/packages/mui-material/src/MenuItem/MenuItem.js
index 3ac8f0026b..d8c914000b 100644
--- a/packages/mui-material/src/MenuItem/MenuItem.js
+++ b/packages/mui-material/src/MenuItem/MenuItem.js
@@ -127,6 +127,7 @@ const MenuItemRoot = styled(ButtonBase, {
     },
   }),
   ...(ownerState.dense && {
+    // TODO: adjust padding here.
     minHeight: 36,
     ...theme.typography.body2,
     [`& .${listItemIconClasses.root} svg`]: {

@danilo-leal in ListItem, dense reduce padding top, bottom to 4px.
// ListItem
...(!ownerState.disablePadding && {
    paddingTop: 8,
    paddingBottom: 8,
    ...(ownerState.dense && {
      paddingTop: 4,
      paddingBottom: 4,
    }),

@Samyc2002 Have you figured out a fix yet? I'm from @brookssolveig's team and I'd like to dig into this since this is related to the work we're doing. If you're already there then no issues 👍🏼


Allow editing the git index

Using vim with the fugitive plugin, I can edit the index in the diff-view directly, instead of it being readonly. I would like to see this feature in VSCode as well!
This is really useful for making partial commits. If I do more than one change at the time, sometimes it is impossible to split these changes into distinct commits with just the current feature of being able to stage selected lines.
Let me give you an example:
Before the changes:
functionCall(argument);

After both changes:
functionCall(argument, changeA, changeB);

Although change A and change B can be independent from each other, you cannot do separate commits easily. If I could edit the index directly however, I could do this:
functionCall(argument, changeA);

Then commit change A and only after that commit change B as well.

It's impressive that fugitive offers that feature. Can you show me a screencast?

I will make a short video as soon as I find the time.

here

Uff, that's pretty cool!

I'm gonna go with the template reply: this can be done by an extension now. It's the best way to go.

Is there an extension that can do this or do you only mean that it is possible with the current APIs to write such an extension?

I meant it as it's possible to do with the current API. 👍

Does an extension exist that enables this?


[BUG] WebSocket sends the wrong data

Is there an existing issue for this?

[X] I have searched the existing issues

What version of workers-rs are you using?
0.0.18
What version of wrangler are you using?
3.6.0
Describe the bug
WebSocket::send_with_bytes reproducibly corrupts outgoing binary data in some situations. I have included a repro where [00 01 02] becomes [65 00 01].
Repro repo: https://github.com/paulgb/cloudflare-repro/tree/main
I been able to reproduce this on Mac and Linux.
Steps To Reproduce

Clone https://github.com/paulgb/cloudflare-repro.git
npm i && npm run dev
open another terminal and cd into client
npm i && npx ts-node ./client.ts

Observe that the output is received: <Buffer 65 00 01> rather than received: <Buffer 01 02 03>.

I hit the same issue. After some investigation it seems the bug is in web-sys itself, and may be related to how wasm_bindgen passes &[u8] to the Websocket.send() on the js side. This bug doesn't occur if you manually create an array buffer first:
    let uint8_array = Uint8Array::from(data.as_slice());
    Ok(ws.as_ref().send_with_array_buffer(&uint8_array.buffer()));

This bug is still present in the latest release (0.0.20); binary messages are always corrupted on send.
I applied the patch above to Worker::Websocket::send_with_bytes and can confirm it fixes the corruption, though it would be nice to track down what the root cause is.

I last checked on 0.0.20 and unless something has changed in recent weeks then I would expect that it's still a problem. It seems to affect every (binary) message, so it's not hard to reproduce.
My main concern is that we don't understand this bug very well. Is this a problem with web_sys? I am skeptical that could be the case, since it would be broken on web browsers as well.
If WebSocket::send_with_u8_array is only broken in the CloudFlare environment, then why is that? Is there a lower-level bug in the runtime? Is the corrupted data a symptom of reading uninitialized memory or unrelated memory (which could have security implications)? It's a bit disconcerting to paper over the bug without an understanding why it's happening.
If it's impractical to investigate further, then applying #523 would be an improvement.
In my experience send_with_str works fine (no corruption).

I last checked on 0.0.20 and unless something has changed in recent weeks then I would expect that it's still a problem. It seems to affect every (binary) message, so it's not hard to reproduce.
My main concern is that we don't understand this bug very well. Is this a problem with web_sys? I am skeptical that could be the case, since it would be broken on web browsers as well.
If WebSocket::send_with_u8_array is only broken in the CloudFlare environment, then why is that? Is there a lower-level bug in the runtime? Is the corrupted data a symptom of reading uninitialized memory or unrelated memory (which could have security implications)? It's a bit disconcerting to paper over the bug without an understanding why it's happening.
If it's impractical to investigate further, then applying #523 would be an improvement.
In my experience send_with_str works fine (no corruption).

I'm actually unable to reproduce this locally using the repo shared above. I initially tried the latest version of everything, and then tried the original versions contained in the repo. In every case I get the correct byte sequence output. What OS are you using and could you confirm the {wrangler, miniflare, workerd} versions that are demonstrating this behavior? Thanks!

I made a repository that shows the corruption here: https://github.com/eric-seppanen/websocket_corruption
I initially tried it on wrangler 3.30.1 but I also tried upgrading to wrangler 3.43.0 and the same corruption occurs.
I'm running this on Ubuntu 22.04; I'm not sure how to view the version of miniflare/workerd.
The data corruption happens every time I run it, and the bytes I receive are fairly consistent when running wrangler dev but they are different when I run wrangler dev --remote.

I sent a binary message containing the string hello world, binary message. The worker receives the bytes, and prints them correctly:
[104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100, 44, 32, 98, 105, 110, 97, 114, 121, 32, 109, 101, 115, 115, 97, 103, 101]

It then calls send_with_bytes on the same Vec<u8> that was just printed. The client receives:
[156, 105, 19, 0, 156, 105, 19, 0, 114, 108, 100, 44, 32, 98, 105, 110, 97, 114, 121, 32, 109, 101, 115, 115, 32, 0, 0]

Note that the first 8 bytes are corrupted, the next 16 bytes are correct, and the last 3 bytes are corrupted.
If I run with wrangler dev --remote the output changes from one run to the next. For example, I saw these two outputs the last few times I ran it:
[244, 105, 19, 0, 244, 105, 19, 0, 114, 108, 100, 44, 32, 98, 105, 110, 97, 114, 121, 32, 109, 101, 115, 115, 32, 0, 0]
[16, 0, 20, 0, 16, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 104, 19, 0, 0, 0, 0, 0, 32, 0, 0]

They both show similar patterns but the second one looks like the data got overwritten by zeros before the corruption pattern appeared.
I am also seeing server messages that say workerd/server/server.c++:3309: error: Uncaught exception: kj/compat/tls.c++:381: disconnected: worker_do_not_log; Request failed due to internal error but I'm not sure if that's relevant?

I'm not sure how to view the version of miniflare/workerd.

You should be able to look in node_modules/workerd/bin/workerd --version. Miniflare I guess you may not be using.

I have a few copies of my project laying around, and it looks like I've used a few different versions of workerd: 2023-12-18, 2024-03-20, and the project I posted above I used 2024-03-29.

Ok, I'm able to reproduce your new POC.
What we believe is happening is that Rust is assuming that the runtime will fully clone the provided buffer when send is called. Our runtime does not clone as this is generally wasteful, and instead asynchronously sends the original buffer. This behavior may differ in other runtimes, but this is the first time we have found it to be an issue. This would apply in any case where the ArrayBuffer is mutated right after calling send. In JavaScript, this is generally not an issue unless the user explicitly mutates the buffer, as the memory will not be freed due to the runtime holding a strong reference to the buffer. In the case of Wasm, the memory is opaque to the runtime and Rust appears to free the buffer right away after calling send.
I don't believe this is a security issue (only memory from within the isolate is accessed), but it is probably unintended behavior for those calling web_sys::Websocket.send_with_u8_array directly.
In the case of workers-rs, I believe the patch that you suggested is a good fix because it explicitly forces this clone into a JavaScript object.
cc @kentonv

Thanks for investigating this. It's an interesting bug!
If I understand correctly, the runtime is reading that memory concurrently with the wasm code freeing and reusing it.
What protects us from this exact bug coming back? (I assume future maintainers may not know the history of this problem.) Should there be a big comment next to any code that transfers a buffer to a websocket? This should set off alarms to rust engineers, who have become accustomed to not needing such load-bearing comments in safe code.
What if someone adds another send function in the future? How do they know what is allowed? Normally we could rely on the rust type system to uphold ownership and lifetime guarantees, but if the runtime and web_sys can't agree on what those guarantees are, then the compiler can't protect us, which is a big reason to use Rust in the first place.
I doubt that the optimizer would learn how to elide unnecessary-looking memory copies in FFI interfaces, but if I'm wrong, could this fail again on a newer rust toolchain?
Are there other places where the runtime makes this assumption, where lifetime/ownership assumptions are different from other runtimes (and from web_sys)?
If there are widespread disagreements over memory ownership or lifetimes between web_sys and the workers runtime, then it seems like the robust fix would be for one or the other to change so that they agree on the lifetime of that memory. Maybe the worker crate should fork the affected web_sys modules?

Im not sure that I’m going to be able to answer all of these questions here. I will audit places that ‘&[u8]’ is passed to JS and add comments.

I will audit places that ‘&[u8]’ is passed to JS

What about methods in web_sys that aren't part of the workers crate but might be used directly by wasm code?
For example, If I use methods on SubtleCrypto, do I need to worry about similar issues? Lots of those methods accept &[u8] parameters. (Not theoretical: I am doing this in my worker code today.)

I suppose SubtleCrypto is a bad example, because when it returns it has completed its task. Websocket send is sort of unique in that it has ongoing work to do in the background, after the call returns. There probably aren't that many places where that happens.

A possible (hacky) solution: We could change the runtime so that it automatically clones buffers any time that the passed-in buffer is a view into a larger memory area (such as Wasm memory). This is a strong hint that the caller might plan to reuse the buffer for other things and so reading it asynchronously will lead to trouble.


[FLINK-23935][docs] Fix unexpected page scrolling when click tabs

What is the purpose of the change
Fix unexpected page scrolling when click tabs.
Brief change log

docs/layouts/shortcodes/tabs.html
docs/static/js/flink.js

Verifying this change
This commit is for flink doc frontend so no unit tests are provided.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no

Hi @sjwiesman ,
Could you please help reviewing this issue? This problem still exists in Flink 1.14.3 docs. Thank you.

Hi @sjwiesman ,
Could you please help reviewing this issue? This problem still exists in Flink 1.14.4 docs. Thank you.


Add HTML sanitizer and markdown parser

Added a Sanitize component to sanitize, parse, and render any string of html or markdown
Implemented it to render the description in Card and JobPage
Addresses #13
Added test (tests the markdown rendering)

I went with dompurify for XSS sanitizing and snarkdown for super lightweight markdown parsing. Overall, it adds ~7kB to the gzipped build, 6kB from dompurify and 1kB from snarkdown. Not ideal but these are the smallest packages I could find (both are actively developed and widely compatible)

We are absolutely not caring about build size at this point, otherwise we wouldn't have gone with Material UI :)

Haha that's a good point


interopolation: units for yt return

when returning a yt dataset with interpolate_to_uniform_cartesian, the length units should make sense... they don't currently.

also, the field units should be set if possible.


Feature request: generate json with default values from schema

Feature request: generate json with default values from schema.
Thanks for considering, and thanks for making this helpful library open-source!

Can you create a PR with this enhancement? Would be great..


Update aws.tf

Fixes aws.tf to work with:
Terraform v0.12.29
+ provider.aws v2.70.0

.
WARNING:
Terraform no longer supports . in the output names so while tf apply will run the yamler is now broken.

What is the significance of yamler no longer working?  Do we have anything that relies on it working?  Is there a work-around that can be specified in documentation?

On hold to move to v0.13.x


[ART-5870] Show advisory type

Display advisory type (eg: RHSA) on the release status page.

/lgtm


Fix a state mutation race condition in substitute_references.

Because the substitute_references is called in parallel even the line
  object.each do |k, v|
    object[k] = ...

can get called in parallel. This results in the 2 (or more) threads
updating the structure passed in all the way by reference interfering
with each other.
For reference, the original problem's stacktrace:
[----] F, [2019-04-01T09:58:16.908016 #27866:1ab227c] FATAL -- : NoMethodError (undefined method `starts_with?' for /^\d+$/:Regexp):
[----] F, [2019-04-01T09:58:16.908057 #27866:1ab227c] FATAL -- :
[----] F, [2019-04-01T09:58:16.908102 #27866:1ab227c] FATAL -- : lib/open_api/docs/component_collection.rb:57:in `regexp_from_pattern'
lib/open_api/docs/component_collection.rb:48:in `block in substitute_regexes'
lib/open_api/docs/component_collection.rb:47:in `each'
lib/open_api/docs/component_collection.rb:47:in `substitute_regexes'
lib/open_api/docs/component_collection.rb:19:in `load_definition'
lib/open_api/docs/component_collection.rb:12:in `[]'
lib/open_api/docs/component_collection.rb:39:in `public_send'                                                                                lib/open_api/docs/component_collection.rb:39:in `fetch_ref_value'
lib/open_api/docs/component_collection.rb:30:in `substitute_references'
lib/open_api/docs/component_collection.rb:31:in `block in substitute_references'
lib/open_api/docs/component_collection.rb:31:in `each'
lib/open_api/docs/component_collection.rb:31:in `substitute_references'
lib/open_api/docs/component_collection.rb:31:in `block in substitute_references'
lib/open_api/docs/component_collection.rb:31:in `each'
lib/open_api/docs/component_collection.rb:31:in `substitute_references'
lib/open_api/docs/component_collection.rb:20:in `load_definition'
lib/open_api/docs/component_collection.rb:12:in `[]'
app/controllers/application_controller.rb:30:in `api_doc_definition'
app/controllers/application_controller.rb:152:in `api_doc_definition'                                                                                app/controllers/application_controller.rb:64:in `permitted_params'
app/controllers/application_controller.rb:60:in `safe_params_for_list'
app/controllers/application_controller.rb:124:in `filtered'
app/controllers/api/v0x1/mixins/index_mixin.rb:8:in `index'

Ah interesting, so both threads are trying to build a cached version on first access?  Could we just build the Api::Doc once on startup and treat it as readonly from then on?

Ah interesting, so both threads are trying to build a cached version on first access? Could we just build the Api::Doc once on startup and treat it as readonly from then on?

You mean when starting the application?
I assume that (@bdunne ?) did the calculation on first use to speed up the start. But I guess it can be done.
But regardless of future work I think that this PR should be merged. I think we should not be modifying a hash while iterating it.

You mean when starting the application?

I assume that (@bdunne ?) did the calculation on first use to speed up the start. But I guess we can give that up.

I don't think it was to reduce startup time, I think it just wasn't considered that multiple threads would be trying to build that structure.
I'm good with this, do you also want to work on moving building this to an initializer?

I'm good with this, do you also want to work on moving building this to an initializer?

Looking at how much work that is...
It seems that each controller for each API version is lazy-loading his part of the definition in the API::Docs[version].definitions[name]
Controller:
  @api_doc_definition ||= Api::Docs[api_version[1..-1].sub(/x/, ".")].definitions[model.name]

and each level of that is lazy loaded too:
DocV2:
  definitions ||= OpenApi::Docs::ComponentCollection.new(self, "definitions")

ComponentCollection:
  def [](name)
    super || load_definition(name)

So on "moving this to the initializers", how would you preload that?
Iterate over all the controllers and touch the structure?
Well I can start by changing ComponentCollection to preload all the definitions.
Looking at the code it's centered about the idea of lazy loading.
More fun: the ComponentCollection is a subclass of Hash which, as I remember, is a big NO-NO for a number of reasons. It's past my understanding why we are doing such things in new code.
Or do you have a better idea on how to approach this?

Iterate over all the controllers and touch the structure?
Well I can start by changing ComponentCollection to preload all the definitions.
Looking at the code it's centered about the idea of lazy loading.

Yeah I was thinking instead of lazy loading components we would iterate through an eager load every section.


Found missing tags in production

This is an example of missing TAGs according to dumped data from the database.
In interface_details:
"00:00:00:00:00:00:00:10:25":{
    "available_tags":{"vlan":[[1140,1399]]},
    "tag_ranges":{"vlan":[[1101,1399]]},
    "special_tags":{"vlan":["untagged","any"]},
    "special_available_tags":{"vlan":["any","untagged"]}
},

Data collected from EVCs, available_tags should be [[1101, 1101], [1114, 1114], [1120, 1121], [1127, 1127], [1130, 1130], [1136, 1136], [1140, 1399]].
There are missing values in available_tags that are not being used by any EVCs when the dumps where processed. These VLANs can only be available with a modification from the user.

Closed in PR.


Create html

Related issue

What changes does this PR do?
Screenshots (If any)
Questions

Closing as PR does not add value


add support for delay interval between retries.

In this PR, we add support for retry failed cases, but one thing we found missing is the delay interval between each retry. This could be very useful when some test is failed due to some resource limit, such as DB connection limit and etc. Therefore, could we add a flag let's say  --reruns-delay to set delay interval between each retry. We may refer to https://github.com/pytest-dev/pytest-rerunfailures for preference.

@hdw868 Thanks for looking at this and suggesting the feature.
Flaky tests are a frustrating. Gauge takes a conservative approach by limiting re-run features so that the actual test environment is fixed.
In the interest of keeping it as simple as possible Gauge won't be implementing this feature :(


feat(dx): Open browser on yarn start during dev

The type of this PR is: Feat
Description
Now that it doesn't take a painful minute to actually serve the app in a browser window, during development automatically open the browser when the server is done booting.
cc @artsy/diamond-devs

I think this is a step too far. Starting a server and starting a client are 2 different operations that devs may understandable want to do independently. It could even hide bugs, by often starting development in a fresh tab on the home page.


Geometry selection for postal code Georreference

Based in this support ticket https://github.com/CartoDB/support/issues/968 and urged by this PR https://github.com/CartoDB/camshaft/pull/329 , we need a new parameter, in the Postal codes Georreference analysis, for selecting between points and polygons.
cc @CartoDB/design to handle it first.

@alonsogarciapablo what do you think about this issue? Should I add it to the RT queue? There is a strong support for this feature. @juanignaciosl does it make sense with the new DO workflows that are coming?

This change makes total sense to me, because it's a big win for the users and the analysis is already ready to receive the output_geometry_type argument. DO future changes are not affecting this anytime soon.

Thanks! I will try to push this next shift!

Stale issue. Closing 👋


Implement move_file, copy_file to destination gdrive folder

My automation with google docs requires building documents and then copying or moving them to a share folder location.
My understanding is that the move process is an implementation of replacing an objects parent id, this is supported by the g drive API.
I believe most of this list is already being implemented, for completeness here are the gdrive file operations that I think are basic file system functionality:
create new folder
create new file (maybe this is not gdrive but gdocs, gsheets etc)
move file/folder to new destination
copy file/folder to new destination
rename file/folder
download file
upload file to specific folder
manage sharing permissions of folder/file

I would also like to see the ability to upload as google sheets or google docs. I have csv's and xls' files I would like to be upload as native google sheets without my direct intervention to convert them.

Everything mentioned (except creating new files) is implemented in the latest release.


FSD50K - validating on eval data

Hi! First off, excellent work with the module. It's showing great results so far in my project.
I'm having trouble, however, with an experiment. I am trying to fine-tune and train the model on subsets (3k samples for training and validating) and have created hdf5 files for that. The paths in config.basedatasets are corrected for this.
The problem that I run into is that when I run the command:
python ex_fsd50k.py evaluate_only with  passt_s_swa_p16_s16_128_ap473
the program uses the evaluation data for validation. I confirmed this by making a change in fsd50k/dataset.py:
def __len__(self):
    if self.hdf5_file == "audioset_hdf5s/mp3/FSD50K.eval_mp3.hdf":
        return 300
    return self.length

which affects the number of validation batches.
I really don't understand what is going on. Isn't the model supposed to validate on the validation data?
Kindest regards, Ludvig.

Hi! thank you!
The evaluate_only command get the validation dataset here, you can edit this line to load any dataloader
val_loader = get_my_loader()

If you want to validate on another dataset, you can create for exmaple a custom loader (like this one )
get_my_loader = ex.datasets.eval.iter(DataLoader, static_args=dict(worker_init_fn=worker_init_fn),
                                        validate=False, batch_size=10, num_workers=16,
                                        dataset=CMD("/basedataset.get_my_eval_set"))

you need however to define the function that gets the dataset /basedataset.get_my_eval_set which can be similar to this
@dataset.command
def get_my_baseeval_set(my_eval_hdf5="path_to_my_hdf.hdf", variable_eval=None):
    if variable_eval:
        print("Variable length eval!!")
        ds = AudioSetDataset(my_eval_hdf5, clip_length=None)
    else:
        ds = AudioSetDataset(my_eval_hdf5)
    return ds

@dataset.command
def get_my_eval_set(normalize):
    ds = get_my_baseeval_set()
    if normalize:
        print("normalized test!")
        fill_norms()
        ds = PreprocessDataset(ds, norm_func)
    return ds

First off; thank you a lot for answering! Second; forgive me, I made a silly mistake and wrote the wrong command in my earlier post. The command I used was
python ex_fsd50k.py with  passt_s_swa_p16_s16_128_ap473

and it makes use of the evaluation dataset for validation, which confuses me. I found this by changing the dataset length as described earlier. Is there something I'm misunderstanding?

Hi! yes  the default behaviour is that the model is evaluated on both datasets.
You can change that here by setting validate=False
or adding datasets.eval.validate=False to your command:
python ex_fsd50k.py with  passt_s_swa_p16_s16_128_ap473 datasets.eval.validate=False

Hi again. When I try to run the program as described above, I get this error:
ERROR - fsd50k - Failed after 0:03:31!
Traceback (most recent calls WITHOUT Sacred internals):
  File "ex_fsd50k.py", line 391, in evaluate_only
    res = trainer.validate(modul, val_dataloaders=val_loader)
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 883, in validate
    results = self.fit(model)
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 474, in fit
    self.dispatch()
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 513, in dispatch
    self.accelerator.start_evaluating(self)
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/accelerators/accelerator.py", line 95, in start_evaluating
    self.training_type_plugin.start_evaluating(trainer)
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/plugins/training_type/training_type_plugin.py", line 139, in start_evaluating
    self._results = trainer.run_evaluate()
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 745, in run_evaluate
    eval_loop_results, _ = self.run_evaluation()
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 700, in run_evaluation
    deprecated_eval_results = self.evaluation_loop.evaluation_epoch_end()
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/trainer/evaluation_loop.py", line 187, in evaluation_epoch_end
    deprecated_results = self.__run_eval_epoch_end(self.num_dataloaders)
  File "/home/ludvigj/Desktop/PaSST/src/pytorch-lightning/pytorch_lightning/trainer/evaluation_loop.py", line 222, in __run_eval_epoch_end
    eval_results = model.validation_epoch_end(eval_results)
  File "ex_fsd50k.py", line 216, in validation_epoch_end
    avg_loss = torch.stack([x[net_name + 'val_loss'] for x in one_outputs]).mean()
  File "ex_fsd50k.py", line 216, in <listcomp>
    avg_loss = torch.stack([x[net_name + 'val_loss'] for x in one_outputs]).mean()
TypeError: string indices must be integers

I've spent quite some time trying to make it work but can't get it right. There seems to be some trouble in validation_epoch_end. You don't happen to know what needs to be changed?

I think I've got it working now by copying the code for validation_epoch_end from ex_audioset.py, so everything should be settled now!


chore: Add missing LUMI devices

This PR adds some LUMI/Aquara devices I have at home that are managed by ZHA but not discovered automagically by Battery-Notes

Thanks!


Patternfly Topology

New: Adds support for Patternfly Topology to render our topology.

@R-Lawton fixed up

Noticed one small thing now with the change to listener links. They text boxes overlap each other with which ever you hover over being in the front

Added a small fix, although with how the component works there may be cases where labels can unavoidably overlap. There are options to prevent node overlap, sadly none really for labels


Correct certain punctuation spacing

I found out that in some cases the bot breaks up some punctuation symbols in a message's text like if they were another word. I believe this happens because of the tokenization process.
I tried some examples to test this in this order: Original message's text -> Text processed by the bot (what appears in the video)
"The command !render is very good!" -> "The command ! render is very good!"
"Don't be mean! :c" -> "Don't be mean! : c"
"?info @Member" -> "? info @Member"
"Exactly what i said :v" -> "Exactly what i said : v"

This seems to happen in specific situations such as a bot command that uses a punctuation, or some 'emojis' like a face made using a colon and a letter. If it could be changed so it doesn't add a space in these cases it would be very nice.
Also, i have another suggestion. Make the text of a character's dialogue have the same markdown as the message's text in Discord. For example, if a member said something in bold (using '**'), instead of showing the raw text, the appropriate part of the text could be in bold. The same with italics and strikethrough, but not with spoiler, code or cite, as these are too specific.
I'm not sure if there's a limitation with the font to do this, but if it is possible, i believe it should be done, it will even save space for the dialogue.
If you want to be more accurate to the original game's dialogue, maybe orange text for bold and blue for italics (leaving out the strikethrough, a color wouldn't be appropriate).
What do you think?

Hi!
The suggestions look cool. I really like the idea of using orange/blue text as it gets more inline with the original game
They're actually two different issues. The spacing one is a bug of the objection rendering engine and the other one requieres changes both in the objection engine and in the bot.
I've transferred this issue to the objection engine. The bold/italics issues is here: https://github.com/LuisMayo/ace-attorney-discord-bot/issues/30
Thanks a lot for your suggestion!


Arbitrary Gene Slicing

Fixes #871 separate from the hacks in #874, which will become their own PR's.

This PR also adds the ability for fast CSC sparse matrix indexing, which is natively very fast for column indexing (see: https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_column_(CSC_or_CCS)).  Not sure what to do about CSR format, but I guess it is no worse than the case previously where we had to load the whole dataset into memory for the heatmap if you wanted to look at it.  Also, the sparse matrices (at least at the size linked to below) tend to be small enough that loading them is not really the bottleneck - rescaling them to Uint8 is the bottleneck which I think we could offload onto worker threads in a separate PR if you think that is feasible.

Here is the Habib17 example with a heatmap saved as a CSC matrix  and saved as a CSR matrix.  The CSR is a bit slower, which is especially apparent when you don't have the heatmap loading things up front i.e when you first click on a gene in CSR without a heatmap, the entire matrix loads because the data is so poorly laid out for column slicing which is not the case for CSC: CSC vs CSR without the heatmap.
One catch that may not be apparent from the above is that the chunking for sparse formats is out of our control, and it is not great for heatmap filtering (you end up loading the whole dataset in order to load the subset because there are too few chunks).  That being said, it is good enough for fast individualized access, and not terrible for CSC.
Another thing is the "first gene selected" paradigm that appears a lot.  There is a lot of expressionData[0] where expressionData is one gene's feature for all cells scattered through the codebase because of that.  I don't think there is anything for us to do about that, but feel free to recommend.
Lastly, everything should be backwards compatible.  The genesFilter should still work as it did before so the slide-seq examples I sent in the chat last week should work with this PR identically.

One thing we never did here was throw a warning for poorly chunked data.  The more I think about it, the more I think that we shouldn't.  It's like imaging data, but perhaps less commonly known - if you tried to point Vitessce at a big WSI without being a pyramid, Vitessce would try downloading the whole thing.

rescaling them to Uint8 is the bottleneck which I think we could offload onto worker threads in a separate PR if you think that is feasible

I think we should have a bigger discussion about the uint8 scaling at some point, about the tradeoffs for supporting a larger range of number types in the heatmap

Another thing is the "first gene selected" paradigm that appears a lot.

Yes i think this will need to be revisited / resolved when implementing #882


[GHSA-p6mc-m468-83gw] Prototype Pollution in lodash

Updates

Affected products
Description

Comments
We identified that the patch fixing the vulnerability(https://github.com/lodash/lodash/commit/c84fe82760fb2d3e03a63379b297a1cc1a2fce12) is included in 4.17.16 tag while the reported fixed version is 4.17.20.

Hey there @idanbart, I believe the reason we have 4.17.19 listed for lodash is because the packages published to npm were corrupted
See: https://github.com/lodash/lodash/wiki/Changelog#v41719
For lodash-es there is no 4.17.19 and the next available version is 4.17.20.
https://www.npmjs.com/package/lodash-es?activeTab=versions


refine the return of service and deployment config in k8sassist  && fix issue #1378 && add operation api - [closed]

In GitLab by @sokril on Jul 18, 2018, 05:17
Merges weik8sassist -> dev

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is 23.4%  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
The test coverage for backend is FAIL  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:15
closed


Docs: packages/handbook-v1/en/declaration files/Introduction.md -- subsection links

packages/handbook-v1/en/declaration files/Introduction.md, starting at ## Library Structures:
In the following, the sections are introduced with a short blurb, and you have to search for the link in that blurb.  Would be better to use something like a description-list, where each header is a link to the document, and change the text to drop the name of the section.  For example:
* [Library Structure](...):

  Helps you ...

* [By Example](...):

  Many times ... guide us. Here you will see many common ...

etc

Or by making the headers links (which should work with most md renderers.)

Thanks, yeah, I think the re-write of the DT sections makes this less of an issue, in part because each section isn't a one-to-one direct map to a template anymore but gives you a more general sense and links to the different templates at the end


swift-api-digester: teach the tool to serialize and de-serialize generic requirements.

The tool should diagnose the change of extension's applicability since
such change can be source-breaking. We need first to support the
requirements in the module dump. Currently, we decorate each
member defined in extension with a field called extension info. The
field will keep track of the generic requirements that need to be satisfied
for this decorated member to be applicable. This patch doesn't implement the checking
of requirements change.

@swift-ci please smoke test and merge


Line no and line background is not highlighted as shown

Current line and line are not highlighted as shown

Please refer the screen shot.

Interesting, I'm not seeing this issue. Can you confirm what versions of Atom and Seti you are using?

How to check the Version of the Seti UI, Its getting updated...

Put this into your user defined settings:
"highlight_modified_tabs": true

I too don't have the icons on the tabs

Thanks @eorroe that worked me. Where I'll find all set of configuration list This setting is not listed on the package control page for Seti_UI. Is there any setting to highlight line number as well?

Oh I don't know how he did that. Before I got this theme. I had learned about highlight_line. I didn't even realize it till you said, it. Hopefully he sees this conversation and shows us how.

Oh, means these settings are already there with sublime then, I've found this link which shows up the few settings, including highilight_line. http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/reference/settings.html

Cool thanks. Yet it must be something withing his theme, that we must do. I don't know. Or perhaps it's Only Atom that does that not Sublime. We're using sublime and he's using Atom

Oh, I didn't knew that he's using Atom, ok one more thing, the preview which he's given on sublime package control page is also not showing the line highlight and icon on the top.

Yea I mentioned that I have that problem too as well. The icons don't show for me on the tabs. We'll have to wait till he replies.

Hey @eorroe / @phalvinayak it sounds like the issues you're seeing are with the Sublime theme? If that's the case, I recommend creating a ticket over there.
It is actually a whole separate code base maintained by @ctf0 here: https://github.com/ctf0/Seti_ST3
Feel free to re-open if you find the bug in Atom. Thanks!


How to communicate requirements/constraints for POST?

I tried asking on the forum, but there were no replies. Asking here with slight modifications:
I am creating a POST endpoint where:

Field A may or may not be required depending on the currently authenticated user
Field B and C are required and D is optional, but that may change - in the future, only B may be required and not C, or D may be required
Field E has an enumerated set of allowed values which may change

Is there a JSON:API-friendly way to communicate this to clients, so that the front-end knows which fields are required for POST, and which values to display in the drop-down for E?
One possible solution is to have a non-JSON:API (or at least not idiomatic) endpoint the client can query to get these constraints in some defined format. Are there better solutions?

you can create your own mutex syntax and put that in a meta somewhere... but other than that nothing else comes to mind other than documentation.

Sorry, mutex-whatnow?

You can write some domain specific syntax defining the relationship between attributes/values and their requirement.

When you said "in a meta somewhere", did you have a specific operation in mind? I can't think of any standard JSON:API operation where POST requirements would fit.
Well, perhaps a GET collection operation (e.g. GET /users), then the client could specify page[limit]=0, and a meta could include the POST requirements in some defined format. But that hardly seems better than just having a non-JSON:API endpoint for that information.

https://jsonapi.org/format/#document-meta

Thanks, I was unclear - I know about document-level meta, but did you have a specific request in mind (e.g. GET /collection) where one could place this meta containing the POST requirements?

You can also create another jsonapi endpoint where the requirements can be retrieved. for example
"attributes": {
  "field_A" : "required",
  "field_B" : "optional",
  "field_E" : ["c1","c2"]
}

This can be per user and you can create a relationship user->form_requirements and do a GET /user/0/form_requirements  or GET /user/0?include=form_requirements to retrieve the requirements.
(other scenarios are possible too)

Thanks for the tip. The user relationship is indeed one way I have been thinking of solving it. It works in some cases, at least. :)


DL-191: Fix license header issues

the copyright year is wrong.

I haven't checked whether this pull request covers all files, but otherwise it looks good, +1.

thank you @leighst . going to merge this one and resume the 0.4.0 release.


Do something better with ranges and lengths

Array indexes can be ranges, or can be integers passed with a length.
Right now the gem handles these in the same way that the base Array class does:
[1,2,3][0..1]
# => [1,2]

[1,2,3][1,2]
# => [2,3]

That's all well and good, but they should do something... better.  But what?
Ruby (2.0.0 at least) supports Ranges with Float boundaries. I'd like to see this:
[1,2,3,4][0.5..2.5]
# => [1.5, 2.5, 3.5]

%w[foo bar baz qux][0.5..2.5]
# => ["oob", "arb", "azq"]

That's easy.  That's approach would also work verbatin with a length argument with the array index. But what about irregular ranges like [0.5..10.9]? What would the stepping be?

helpers/build-app-list.js


[wifi] add support for Intel cards iwn(4)

Please add the iwn(4) module to the kernel to provide support for Intel Wifi cards. (Reported via #opnsense on Freenode.)

This works according to the man page:
 if_iwn_load="YES"
iwn1000fw_load="YES"
iwn100fw_load="YES"
iwn105fw_load="YES"
iwn135fw_load="YES"
iwn2000fw_load="YES"
iwn2030fw_load="YES"
iwn4965fw_load="YES"
iwn5000fw_load="YES"
iwn5150fw_load="YES"
iwn6000fw_load="YES"
iwn6000g2afw_load="YES"
iwn6000g2bfw_load="YES"
iwn6050fw_load="YES"

I don't want to deviate from the FreeBSD GENERIC if we can avoid it. How about adding those loader.conf vars to a plugin?

support ticket, seems fixed :)


Visual automation, Java JDK >= v8 (64-bit) - use Amazon Corretto OpenJDK

Hello Kensoh,
About  Java JDK, Oracle announced that starting January 1st of 2019, changes to Java licensing and support would go into effect, which would require paying substantial licensing fees for software.
Due to this we are looking for other options .
Can TAGUI run on other option like Amazon Corretto?
Thanks & Regards
Saket Lopes

Hi @saketlopes thanks for telling me, can you share with me the official announcement or link that best describes this change?
TagUI uses SikuliX for its visual automation engine, covering functions such as computer vision to interact with UI elements, OCR, keyboard and mouse automation. SikuliX is built to run on Java.
http://sikulix.com/quickstart/

Beginning with version 11, there will not be functional differences between Oracle JDK and OpenJDK anymore. I will use the OpenJDK from now on, since it has an Open Source license.

From SikuliX official documentation above, it looks like it is already supporting OpenJDK, an open-source version of Java JDK. Can you try if OpenJDK works for you in place of Oracle's Java?

Hello Ken
Thanks for sharing link on OPEN JDK.
I uninstall JAVA and install  Amazon Corretto 8. Check below link.
https://d3pxv6yz143wms.cloudfront.net/<IP_ADDRESS>/amazon-corretto-<IP_ADDRESS>-windows-x64.msi

Then tried Sikuli command with below example , it is working. Do I have to test any other tagui functionality , with open JDK ?
example.
vision type('m', Key.WIN)
wait 1
click outlook-icon.png
About JAVA licence information ,check below link
https://upperedge.com/oracle/using-java-heres-how-oracles-new-2019-java-se-licensing-affects-you/
Regards
Saket Lopes

Oh great, thanks Saket!
Above test is sufficient. Amazon Corretto is a distribution of OpenJDK, since it works you can continue to use it instead of installing OpenJDK, which is officially supported by SikuliX.
I'm not familiar enough with both tools to recommend which one users should use going forward, though I'll prefer a vendor-agnostic version (OpenJDK) versus Amazon Corretto.

Have updated readme and tutorial to point Java JDK v8 (64-bit) or later to Amazon Corretto OpenJDK website. Have tried the plain vanilla OpenJDK. I don't think the ease of setup meets the needs of most TagUI users. Thus opting for Amazon Corretto's distribution of OpenJDK.
The driver for this change is Oracle now requires Java JDK to be paid for commercial use, only for private and non-commercial use it is free. Amazon Corretto is a distribution of OpenJDK which can be used without restrictions and available on Windows, macOS, Linux.

Added a further commit to change reference to Java JDK to OpenJDK, firstly to avoid confusion for users, and secondly, it is better to err on side of caution and advise users to use Amazon Corretto distribution of OpenJDK, instead of pointing to Oracle's Java JDK. Otherwise, if users are using for commercial purpose, they would be flouting Oracle's usage restriction guidelines.

Thanks Saket for highlighting this important info to me! No other users have mentioned this before.


Localization (WinGet)

Fixes #3
Copied missing entries from en-US localization and checked for required spelling changes. Changed the term "setting" to "policy" in each object for consistency and clarity.

Fixes #3
Copied missing entries from en-US localization and checked for required spelling changes. Changed the term "setting" to "policy" in each object for consistency and clarity.

Can you elaborate on these changes? All of the ADMX and ADML files are pulled from their official sources. I would be hesitant to allow any custom changes as when we update these they would just be overwritten.

I've updated this repo with the latest admx from 24H2. You should test again.


feat: Add extra fields to Bottlerocket k8s config

Fixes #5517
Description
Adds support for seccomp-default and cluster-domain to the settings.kubernetes struct.
How was this change tested?
Deployed to a development EKS cluster, resulting user data and Kubelet configz checked to include the new fields when specified in an EC2NodeClass.
Does this change impact docs?

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

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.02%) to 82.485%

Files with Coverage Reduction
New Missed Lines
%

pkg/providers/amifamily/ami.go
1
90.56%

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
5496

Relevant Lines:
6663

💛  - Coveralls


How to get all the registered endpoints and their metadata like (version, route etc..)

Question : Is there anyway to get all the registered endpoints?

you can resolve IEnumerable<EndpointDataSource> from the DI container and get at the EndpointDefinitions like so:
var epDefinitions = sources
    .SelectMany(s => s.Endpoints)
    .SelectMany(e => e.Metadata.OfType<EndpointDefinition>())
    .ToArray();


Building with esbuild minifier produces the same css twice

⚠ IMPORTANT ⚠ Please check the following list before proceeding. If you ignore this issue template, your issue will be directly closed.

[x] Read the docs.
[x] Use Vite >=2.0. (1.x is no longer supported)
[x] If the issue is related to 1.x -> 2.0 upgrade, read the Migration Guide first.

Describe the bug
When building with minify: 'esbuild', production code has the same CSS twice. One in a js chunk, and the second one in css chunk.
Reproduction

create project with vue-ts template npm init @vitejs/app esbuild-bug --template vue-ts
update vite.config.ts as follows:

export default defineConfig({
  plugins: [vue()],
  build: {
    minify: 'esbuild'
  }
})

run npm run build
open /dist/assets/index.[hash].js
you will see non-minified CSS
open index.[hash].css
you will see the same css, but minified

System Info

vite version: 2.0.1
Operating System: MacOS Big Sur 11.2.1
Node version: 14.4
Package manager (npm/yarn/pnpm) and version: 6.14.4

maybe it's not a bug.
just a unused variable.

@edison1105 I think producing giant unused variable is a bug. It even contains comments if there are some.
As far as I know, Vite uses it's own plugin for esbuild to parse .vue files, so I guess it's Vite problem?

so I guess it's Vite problem?

I agree, the unused variable should remove.

Related: https://github.com/vitejs/vite/pull/2148
We may remove the default export for CSS imports unless an explicit query is used.

This is also reproduced in the use of react
import './style.css'

seems it's already fixed on #3570

it happened again after 91eb2a6 🌚

Is it fixed? Can we close the issue?

@sheremet-va  it's still no fixed on the latest vite (v2.4.4)
I use a workaround plugin to make minify: 'esbuild' work correctly
{
    plugins: [
        // other plugin
        {
            name: 'remove-css-in-js',
            enforce: 'post',
            transform (_, id) {
                if (id.endsWith('.scss') || id.endsWith('.css')) {
                    return ''
                }
            },
        },
    ],
    build: {
        minify: 'esbuild',
    },
}

Thanks for the heads up @Dreamacro!


Layout About Page

Figma: https://www.figma.com/file/Lo1ZcBOO9t4QRbX2I0PwBQ/RBB?node-id=429%3A57
Leveraging Chakra UI components and already existing ContactCard components, we need to layout the home page to match up to UI designs
Trello:
https://trello.com/c/TeFxrCVb/43-about-page
Desktop:

Responsive
The layout should be responsive, the content will center, span the full width.
Mobile:

I can pick this item up for tonight.
I'm somewhat newish to react so if I don't finish, I don't mind someone else continuing in the morning. Will make sure to leave any details before going to bed.

@juanri0s and I worked on the contact cards, making it responsive.
When adding width to the parent Flex on the about page, it causes the mobile site to left align all cards. To fix, I added margin: 2% auto to center the cards, and add spacing in between.

Couple of notes:

"Add your business to our list" - opens a modal, what fields are we expecting (we don't have mockups or flows for this yet)? Or are we just focused on the general layout and styling of the about page as part of the task.
"General inquiry" - Do we still want this opening the default mail app? I know sometimes this isnt a good practice.
The about background image isn't a card so it doesn't have the cloudinary stuff, is this part of the task or is someone else going to do the implementation?
As noted in the trello task, "Likely want to utilize the ContentBlock component, may need to be done as tech debt if that story isn't ready". I don't believe this is ready

Image

don't worry about adding the interactions yet, first step is just lay it out.

As noted in the trello task, "Likely want to utilize the ContentBlock component, may need to be done as tech debt if that story isn't ready". I don't believe this is ready although I see the task

Exactly, if it isn't ready it'll have to be refactored later

@juanri0s don't worry about using the ContentBlock component here. Just use basic ChakraUI components for the text.
Appreciate the thoroughness!


Remove an option to activate or deactivate 3D secure

Remove an option to activate or deactivate 3D secure by setting this variable here: https://github.com/commercetools/commercetools-adyen-integration/blob/77f9cbab55efe4ca40761666983d6f3244b35c87/extension/src/paymentHandler/creditCard/credit-card-make-payment.handler.js#L101
Instead, let it be handled by Adyen automatically through Dynamic 3D secure

The code is not valid anymore with https://github.com/commercetools/commercetools-adyen-integration/releases/tag/v5.0.0, I am closing the issue.


Add RISC-V targets to the benchmark pipeline

Add the RISC-V targets to the benchmark pipeline. Right now we only collect the compilation statistics from those targets.
This change also reorganizes the x86_64 benchmark pipeline. It creates a top-level Linux benchmark pipeline to handle the common flow, then delegates the x86_64 benchmark steps to its own pipeline. This makes it easier to add the RISC-V and CUDA pipelines later.
After checking in this change, the buildkite needs to be updated to use build_tools/buildkite/cmake/linux/pipeline.yml as the start point.

Kindly ping : )


LineChart with Multiple Axes

Describe your question
How can I set the Type = AxisType.Category?
Which Blazor project type is your question related to?

Client-Side

Which charts is this question related to?
Line
Additional context
I'm trying to set the Type = AxisType.Category, but it's readonly.
Property or indexer 'LinearCartesianAxis.Type' cannot be assigned to -- it is read only

For help you guys unterstand me, I'm trying to achieve this graph Multiple Axes, with XAxes = Months

I'm sorry, I don't quite understand your question. In order to achieve the multiple axis sample, you don't need to explicitly set the axis type.
Just use a single CategoryAxis in the XAxes and two LinearCartesianAxis in the YAxis. Then you can assign an id to an axis and use that same id in your dataset.
Check the source for the sample you sent (via GitHub or the devtools) and you'll see the config used. It's pretty much the same in C#, just different syntax and casing.

Thank you! Worked.