Adding SeriesView object that allows inplace operations

Now df['column1'].fillna(0, inplace=True) will work correctly
Wraps all Series objects that are returned from getitem
Minor fix to an issue in setitem where some Series objects were
incorrectly set based on their index

What do these changes do?

Related issue number

[x] passes git diff upstream/master -u -- "*.py" | flake8 --diff
[x] passes black --check modin/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/204/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/142/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/143/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/205/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/206/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/144/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/207/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/145/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/208/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/146/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/209/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/210/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/148/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/147/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/211/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/149/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/212/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/150/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/213/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/151/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/157/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/222/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/160/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/223/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/161/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/224/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/162/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-Performance-PRB/163/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Modin-PRB/225/
Test PASSed.


Graphblas simple functions

graphblas.size
graphblas.num_rows
graphblas.num_cols
graphblas.num_vals
The lowering passes have been rewritten to use these instead of directly using memref.dim or looking at the pointers array for the number of values. This makes the lowering clearer in intent, while still producing the same final result.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

20 of 32 (62.5%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 82.348%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

mlir_graphblas/ops.py
20
32
62.5%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
1894

Relevant Lines:
2300

💛  - Coveralls


Missing id with for attribute on date selector

Factored out from issue #79 (see item 1-5). There is an instance in the code where a descendent input element has a parent label with a for attribute but no matching id

Fixed version on lr-pres-dev-c

@marklunn @MalcolmShazell Please confirm and close if appropriate.

Hi Ian,
I am just about to go through all the open tickets on Git hub to clear things down ready for the new work to start.
I will check all these as well.
Cheers,
M.
From: Ian Dickinson<EMAIL_ADDRESS>Sent: 17 July 2017 17:54
To: epimorphics/ukhpi<EMAIL_ADDRESS>Cc: Shazell, Malcolm<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [epimorphics/ukhpi] Missing id with for attribute on date selector (#93)
@marklunnhttps://github.com/marklunn @MalcolmShazellhttps://github.com/malcolmshazell Please confirm and close if appropriate.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/epimorphics/ukhpi/issues/93#issuecomment-315812886, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGXI-gTfJNEitLLJNFFBbqKECj6mPmfpks5sO5GTgaJpZM4JtBMm.

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

Your land and property rights: guaranteed and protected. HM Land Registry has given assurance and confidence to the property market in England and Wales since 1862. Find out more at www.gov.uk/land-registry
If you have received this email and it was not intended for you, please let us know, and then delete it. Please treat our communications in confidence, as you would expect us to treat yours. HM Land Registry checks all mail and attachments for known viruses, however, you are advised that you open any attachments at your own risk.

I'm going to close this - it is fixed


This was run from Jamf Pro as a self serve policy.
When I hooked up the computer to external monitor and re-ran the policy it displayed the entire window.
I would expect the entire window to display on any version of Mac with Big Sur or beyond.
Running 1.11.0 script with basic modifications which can mostly be seen.  No major modifications to base script.
How can I eliminate the white space in order to ensure everything fits?  Or what can I do to ensure this issue doesn't happen on all computers?

@dletkeman Please see the following:
https://github.com/dan-snelson/Setup-Your-Mac/issues/6#issuecomment-1578918385


Fixed ign launch

Signed-off-by: ahcorde<EMAIL_ADDRESS>🦟 Bug fix
Summary
During the ign to gz migration https://github.com/gazebosim/ros_gz/pull/280 this variable was not migrated
Checklist

[ ] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

It's in here instead
https://github.com/gazebosim/ros_gz/pull/282

thank you @methylDragon. Closing this one


Question about training VRP model.

Hello, I tried to training vrp model, I changed the tsp commend, used the command "python run.py --graph_size 20 --baseline rollout --run_name 'vrp20_rollout' --val_dataset data/vrp/vrp20_validation_seed4321.pkl " to trained vrp model.
But the terminal showed "an ValueError: expected sequence of length 2 at dim 1 (got 20)", could you please tell me how to trained vrp model?

I'm assuming your problem is solved so closing this issue.


FieldAccessContext skips wrappedNode on solveSymbol(...)

I was just looking at the FieldAccessContext. It doesn't seem to do anything but asking its parent context when solving a symbol. Usually this seems fine except for the following situation:
public class Foo{
	private int bar;

	public void test(int bar){
		this.bar = bar;
	}
}

In this case the context of the method is asked to solve the name before the class context. So this.bar is solved as being the parameter of the test(...) method (which is not correct ;) ).

I think I've got a crude solution for this:
public class FieldAccessContext extends AbstractJavaParserContext<FieldAccessExpr> {

	...

	@Override
	public SymbolReference<? extends ValueDeclaration> solveSymbol(String name, TypeSolver typeSolver) {
		if (wrappedNode.getFieldExpr().toString().equals(name)) {
			Expression scope = wrappedNode.getScope();
			if (scope instanceof ThisExpr) {
				com.github.javaparser.ast.body.TypeDeclaration context = null;

				Node parentNode = scope.getParentNode();
				while (parentNode != null && !(parentNode instanceof com.github.javaparser.ast.body.TypeDeclaration)) {
					parentNode = parentNode.getParentNode();
				}
				if (parentNode != null) {
					context = (com.github.javaparser.ast.body.TypeDeclaration)parentNode;
				}

				if (context != null) {
					return JavaParserFactory.getContext(context, typeSolver).solveSymbol(name, typeSolver);
				}
			}
		}
		return JavaParserFactory.getContext(wrappedNode.getParentNode(), typeSolver).solveSymbol(name, typeSolver);
	}

	...

}

Is there a more elegant way to do this? Right now I don't have a running setup for the project's build and test environment. But I could try to get it running and create a pull request afterwards.

solved with merge of pull request #51


TS-Check: Property 'createEventObject' does not exist on type 'Document'

Writing Javascript with // @ts-check on throws an error on document.createEventObject():

Please fill in the entire template below.
-->

TypeScript Version:  Writing Javascript with VS Code v1.36.1

Search Terms: ts-check createEventObject
Code

Expected behavior:
Method recognised and marked as fine.
Actual behavior:
Code not recognised and marked as an error.

That is Internet Explorer specific and was removed on version 1.5.
You can extend global Document interface to add it:
declare interface Document {
    createEventObject(): any;
}

That is Internet Explorer specific and was removed on version 1.5.
You can extend global Document interface to add it:
declare interface Document {
    createEventObject(): any;
}

Well if more definitions are needed than I'd say I could as well switch from Javascript to Typescript (which I don't want, I just want to check existing Javascript, which according to docs should be possible with Javascript). I don't really understand what's the use of being able to use // @ ts-check on Javascript if we need to define even build in DOM behaviour. Yes, this is an older method, but this is behind a conditional for older browsers only, so it makes sense to have older document methods there I'd say.

That is Internet Explorer specific and was removed on version 1.5.
You can extend global Document interface to add it:

Thanks for this workaround.
Well if more definitions are needed for build in document methods than I'd say I could as well switch from Javascript to Typescript (which I don't want, I just want to check existing Javascript, which according to docs should be possible with Javascript).
In the docs it says // @ ts-check could be used on Javascript too. But if we need to define all kinds of even build in DOM methods in Javascript files / definition files than what's the use of writing Javascript instead of Typescript I wonder?
Yes, this is an older method, but this is behind a conditional for older browsers only, so it makes sense to have older document methods there I'd say.

what's the use of writing Javascript instead of Typescript I wonder?

Maybe there isn't, for your use case.  Typescript's JS support is a "best effort" that attempts to do as much useful typechecking as possible while still letting you write plain JS.  It's not perfect, and your use case of supporting IE8 in 2019 is uncommon.
You can just ignore that warning, or add some IE8 specific types as needed, so there are solutions available.

... and your use case of supporting IE8 in 2019 is uncommon.
You can just ignore that warning, or add some IE8 specific types as needed, so there are solutions available.

Thanks for your response. I guess you're right. I could better just remove that old code, because I don't support IE8 anymore anyhow. And just leave ts-check for Javascript. Guess I could add a ts-check, but should always take the results with a grain of salt when using it for Javascript then. So I just leave it and already use es-lint, so that's fine for now than.


Create non-root user playbook

Create a playbook to provision a non-root user with sudo rights.

Completed in https://github.com/dbrennand/home-ops/commit/7809f394513c8f9f1721fb33dce93b5e099f21b5


Add options --exclude-traces and --exclude-evaluations to aftermath_convert_log

This patch adds two options to aftermath_convert_log, allowing the user to
reduce the size of the output trace.
The option --exclude-traces disables conversion of log events originating from
Message::Trace messages, while --exclude-evaluations disables conversion of
Message::Evaluation messages.
If both options are specified at the same time, a minimal Aftermath trace
containing only the candidate tree is written.

bors r=elarnon


can set participants name in ConnectInfo

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

lg! thanks for the PR


fixing django links

This PR should turn https://ci.openmicroscopy.org/view/Docs/job/OMERO-DEV-merge-docs/ green - fixes broken django links and removes anchor link which doesn't exist any more.

https://ci.openmicroscopy.org/job/OMERO-DEV-merge-docs/102/

:+1:


Feature/#62 refresh send icon

Tested on Oliver's machine

The fix adapts the focus() event.
We need to trigger this event from Smarti as well in order to make #62 work


Build Warning under GCC48 and VS2010

When building OpenSSL-1.1.0e source under UEFI environment with different toolchains, some build warnings were found, including:
Under GCC48:
build warning:
OpensslLib/openssl/ssl/statem/statem_clnt.c:2543:9: error: "len" may be used uninitialized in this function [-Werror=maybe-uninitialized]
len += pskhdrlen;
^
This happens in the tls_construct_client_key_exchange() function. And this is not a bug which looks more like GCC's mis-report. but the existent "len = 0" assignment in tls_construct_client_key_exchange() function can be moved to the unconditional part of the code, or initialize this when declaring "len":
int len = 0;
Under VS2010
The following VS2010 build warning was found:
openssl\crypto\asn1\tasn_dec.c(795) : warning C4306: 'type cast' :   conversion from 'int' to 'ASN1_VALUE *' of greater size
case V_ASN1_NULL:
    if (len) {
        ASN1err(ASN1_F_ASN1_EX_C2I, ASN1_R_NULL_IS_WRONG_LENGTH);
        goto err;
    }
    *pval = (ASN1_VALUE *)1;
    break;

This seems like a valid warning, the C standard doesn't guarantee that (int) can be converted to a pointer type and vice versa. The code should be using intptr_t or uintptr_t, for example:
*pval = (ASN1_VALUE *)(uintptr_t)1;

This seems like a valid warning,

But later versions of VS compiler don't complain. Keep in mind that warning subsystem can also have bugs. Relevant question also is if they should be treated any differently from any other compiler bug...

the C standard doesn't guarantee that (int) can be converted to a pointer type and vice versa.

Does it actually say "no integer can be converted to a pointer type"? No, it only says that there is no guarantee that result of conversion will yield usable pointer. Note that in this case result is not usable pointer...

I'm closing this without resolution with following rationale. Even though this project had history of working around compiler bugs, it's obvious that it wouldn't really be a sustainable practice if we aimed to work around every one we run into. Probably the only case when doing so would [still] be justified is when user has no alternative, but to use some specific compiler. And failure would have to be fatal. Neither is case here. BTW, I can't even reproduce problem with 4.8.5, so that both are clearly compiler bugs in warning systems, since both were apparently fixed. Well, one can argue "come on, it's so bloody trivial to fix". But then, where would one draw the line at all?

Understanding. Thanks.
And it's workable to apply the "warning-disable" option to suppress these warning messages.


K-chart doesn't show tooltip on hover anywhere on chart.

G2 Version**:4.0.8

Platform:any
Mini Showcase(like screenshots):
https://g2.antv.vision/en/examples/candlestick/candlestick#basic

On any normal charts you can hover anywhere and the tooltip will show.
However for K-chart you have to specifically hover over the candlestick to see the tooltip.
The only way I see to make it work anywhere on the chart is with shared: true. However I can't think of a single scenario where you'd want to see shared data in a candlestick chart.
See this example for shared:true
https://g2.antv.vision/en/examples/candlestick/candlestick#k-and-area

fixed.

fixed.


schema.rb is borked when enum is used

did add_column :interests, :status, :enum
migration ran, but got this in schema.rb where my table should have apeared:
# Could not dump table "interests" because of following StandardError
#   Unknown type 'enum' for column 'status'

change_table also gave me the same error.


Autocomplete: Impossible to set aria-label on html input of TextField

Steps to reproduce
Link to live example: Codesandbox
Steps:

Add a TextField as renderInput on an Autocomplete with aria-label and without a real label (see examples provided in codesandbox)

Current behavior
If aria-label is set directly on the TextField component (<TextField aria-label="foo" />) it is set on the MuiFormControl-Root div, not the <input>.
If aria-label is set in InputProps of TextField component (<TextField {...params} InputProps={{ "aria-label": "foo" }} />) it is set on the MuiInputBase-Root div, not the <input>.
If aria-label is set in inputProps of TextField component (<TextField {...params} inputProps={{ "aria-label": "foo" }} />) it is correctly set on the <input> but the whole component breaks and produces an error when it is focused
Expected behavior
One of all the possible combinations should yield a functioning Autocomplete with the given aria-label set to the <input>
Context
I'm creating a form where there is some text explaining what the Autocomplete is used for that is too long to be set as label directly.
Would be glad to give this element an ID and use it on aria-labelledby, but this is also impossible to set without breaking the component.
Setting a shorter label on the field while having the text before would be redundant and unnecessary.
Your environment

npx @mui/envinfo
  System:
    OS: Linux 6.1 Debian GNU/Linux 12 (bookworm) 12 (bookworm)
  Binaries:
    Node: 20.10.0 - ~/.nvm/versions/node/v20.10.0/bin/node
    npm: 10.2.3 - ~/.nvm/versions/node/v20.10.0/bin/npm
    pnpm: Not Found
  Browsers:
    Chrome: 125.0.6422.141
  npmPackages:
    @emotion/react: ^11.11.3 => 11.11.3
    @emotion/styled: ^11.11.0 => 11.11.0
    @mui/base: ^5.0.0-beta.40 => 5.0.0-beta.40
    @mui/core-downloads-tracker:  5.15.15
    @mui/icons-material: ^5.14.16 => 5.15.5
    @mui/lab: ^5.0.0-alpha.152 => 5.0.0-alpha.161
    @mui/material: ^5.14.18 => 5.15.15
    @mui/private-theming:  5.15.14
    @mui/styled-engine:  5.15.14
    @mui/system: ^5.15.14 => 5.15.15
    @mui/types:  7.2.14
    @mui/utils:  5.15.14
    @mui/x-date-pickers: ^6.18.0 => 6.19.9
    @types/react: ^18.2.43 => 18.2.48
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0
    typescript: ^5.3.3 => 5.3.3

Search keywords: accessibility aria-label TextField Autocomplete

This looks like a duplicate of another support question we had on the autocomplete.

in inputProps of TextField component (<TextField {...params} inputProps={{ "aria-label": "foo" }} />)

@KingWarin This should work! Here's a demo: https://stackblitz.com/edit/mcve-react-material-ui-npgl9s?file=src%2FApp.tsx

it is correctly set on the  but the whole component breaks and produces an error when it is focused

I can't reproduce this, see the demo above!
By the way, I also noticed that in some places in your sandbox  inputProps is incorrectly nested inside InputProps:
 <Autocomplete
    renderInput={(params) => (
        <TextField
            {...params}
            InputProps={{
              inputProps: {
                ...params.inputProps,
                "aria-label": "foo",
              },
            }}
          />
        )}
      />

@mj12albert the nesting of inputProps inside InputProps was me trying all possible combinations I (with the help of intellisense) could think of...
Just took a look at your demo. In trying to find a valid combination I didn't add the ...params.inputProps inside the inputProps (as seen in the commented component of my codesandbox) which in led to having the aria-label on the resulting input, but everything else breaking, as the default functions where missing.
So you're absolutely right and after adding the spread it works.
Thank you very much for the reply.


CORS error

What I'm trying to achieve
I setup the linux remote server to test the saleor platform and deployment. I want to deploy the dev version to remote server.
kapljica-demo.fuel-agency.com should serve the default storefront frontend app.
For this I created a specific .env file where I changed the API_URI for the remote and etc.
kapljica-api.fuel-agency.com should be the api endpoint
For this I have added ALLOWED_HOSTS to be * (I even tried adding two of the main which are kapljica-api. and kapljica-demo.). When you go to the https://kapljica-api.fuel-agency.com you should be able to see the screen that shows successful start of the saleor backend. This doesn't work when I comment the ALLOWED_HOSTS. I also added ALLOWED_GRAPHQL_ORIGINS to be * but no help.
Issue is that I get cors error on fetch requests.

Steps to reproduce the problem

What I expected to happen
…
Screenshots

System information
Operating system:
Browser:

Is your API_URI set to https://kapljica-api.fuel-agency.com/ or https://kapljica-api.fuel-agency.com/graphql/
It should be the latter.

Hi, this didn't help, unfortunately, same error again.

I fixed the issue. It was actually a typo with ALLOWED_GRAPHQL_ORIGINS. I put "*" instead of *. Thank you all


Split campaign_page body html fragment into smaller fields

Complex html is difficult for the content team to edit.
Break down the body field into multiple smaller fields to avoid this.

Currently, other publishing apps are responsible for rendering their "nice" parts of bodies into one body field, which the frontend then renders. Perhaps a better pattern here would be for the publishing script to take the various fields and concatenate them or otherwise formulate them into one larger body field?

Makes sense thanks for the feedback @boffbowsh

Currently, other publishing apps are responsible for rendering their "nice" parts of bodies into one body field, which the frontend then renders. Perhaps a better pattern here would be for the publishing script to take the various fields and concatenate them or otherwise formulate them into one larger body field?

If you're building a new app, though, you won't be storing content items in the app, so won't have the ability to separate and combine fields like that.


Make IP & port config consistent across all node connections

Make sure that whenever a node connection is configured in config files IP address and TCP port are separate fields.

Closes https://github.com/casper-network/casper-sidecar/issues/331


How to set window size and shift for PLP feature extraction method

I have followed example of feature extraction:
https://github.com/pykaldi/pykaldi/blob/master/examples/notebooks/mfcc-extraction.ipynb
Yet i do not know how to set values such as window size or shift.
dir(plp_opts.frame_opts) gives result as below.

Unfortunately setting different  frame_length_ms or frame_shift_ms(like 25 and 10) does not change the output shape,
but it should.

Well, I managed how to do it:
Below is a snippet
WIDTH_MS = 50
SHIFT_MS = 20
from kaldi.feat.plp import Plp, PlpOptions
from kaldi.matrix import SubVector, SubMatrix
from kaldi.util.options import ParseOptions
from kaldi.util.table import SequentialWaveReader
from kaldi.util.table import MatrixWriter
plp_opts = PlpOptions()
plp_opts.frame_opts.frame_length_ms=WIDTH_MS
plp_opts.frame_opts.frame_shift_ms=SHIFT_MS

plp_opts.frame_opts.samp_freq = 8000 # i.e 8khz

plp = Plp(plp_opts)
sf = plp_opts.frame_opts.samp_freq

channel = SubVector(signal) # signal is of type numpy array (np array size, 1),

feats = plp.compute_features(channel, sf, 1.0)

feats = np.array(feats)


Flutter web app - query on jsonb array of json records not working

I have a Flutter web app that is querying a Supabase database via the Flutter Supabase client library.  One of my queries is not working when I try to query a jsonb column called 'tags' that holds an array of json records. For example:
[
  {
    "id": 22,
    "title": "test5",
  },
  {
    "id": 25,
    "title": "test6",
  }
]

When I construct a query to find all JSON records with the ID 22, the query returns nothing.
The fetch clause is like:
.eq('tags->id', 22)
The URL created by the client app includes a parameter like:
&tags-%3Eid=eq.22
Any suggestions?

Further to my advice found elsewhere,  I've changed my json data model for the 'tags' column to store things as...
{
  "tagEntries": [
    {
      "id": 22,
      "title": "test5",
      "userUid": "cc1b9ad0-c24b-4756-a884-7b8a5e18a5fb"
    }
  ]
}

When I try to query on the json data I'm  using....
.eq('tags->tagEntries[*].id',22)
... and it still does not work.
Any suggestions??

Where did you found the tagEntries[*].id syntax? I couldn't find it in the postgrest or postgresql documentation.

I found a Postgres doc showing json syntax

I found the operator here, but this is just postgresql syntax and not everything is supported by postgrest. Their supported json functions are listed here and I don't think they support your desired query. So I suggest you to write a rpc instead.

@davoutuk Yup, rpc is probably the easiest. Also you might have some luck playing around with contains.
The following code is not verified, so it might or might not work, but something like this:
final data = await supabase
  .from('table')
  .select()
  .contains('tags->tagEntries', { 'id': 22 });


Relation filter operator 'every' does not work correctly

Bug description

Relation filter.
Relation filter operator 'every' does not work correctly.
'Every' will return records in case there's no related record (relation field of that record is an empty array) regardless of filter conditions
How to reproduce
Schema
Similar to this
Client API Reference
model ExtendedProfile {
  id        Int    @id @default(autoincrement())
  biography String
  user      User   @relation(fields: userId, references: id)
  userId    Int
}
model User {
  id           Int             @id @default(autoincrement())
  name         String?
  email        String          @unique
  profileViews Int             @default(0)
  role         Role            @default(USER)
  coinflips    Boolean[]
  posts        Post[]
  profile      ExtendedProfile?
}
model Post {
  id         Int        @id @default(autoincrement())
  title      String
  published  Boolean    @default(true)
  author     User       @relation(fields: [authorId], references: [id])
  authorId   Int
  comments   Json?
  views      Int        @default(0)
  likes      Int        @default(0)
  categories Category[]
}
model Category {
  id    Int    @id @default(autoincrement())
  name  String @unique
  posts Post[]
}
enum Role {
  USER
  ADMIN
}

Query
const result = await prisma.user.findMany({
    where: {
      posts: {
        // add 'some' here will explicitly fix
        // some: {},
        every: {
          views: {
            gt: 10,
          },
        },
      },
    },
  });

Result
Assuming that user id 11 has no post

the result still includes it
Environment & setup

OS: , Windows
Database: PostgreSQL,
Node.js version: 14.5.5
Prisma version:

Environment variables loaded from .env
prisma               : 2.20.1
@prisma/client       : 2.20.1
Current platform     : windows
Query Engine         : query-engine 60ba6551f29b17d7d6ce479e5733c70d9c00860e (at<EMAIL_ADDRESS>Migration Engine     : migration-engine-cli 60ba6551f29b17d7d6ce479e5733c70d9c00860e (at<EMAIL_ADDRESS>Introspection Engine : introspection-core 60ba6551f29b17d7d6ce479e5733c70d9c00860e (at<EMAIL_ADDRESS>Format Binary        : prisma-fmt 60ba6551f29b17d7d6ce479e5733c70d9c00860e (at<EMAIL_ADDRESS>Default Engines Hash : 60ba6551f29b17d7d6ce479e5733c70d9c00860e
Studio               : 0.365.0

I can confirm this bug, user with no posts are also being returned from that query.

Another duplicate bug report: https://github.com/prisma/prisma/issues/6441

This is definitely confusing but the current state is by design. We may consider re-defining behavior:

Every will return all related records that match or have no relations.

Next Steps:

See what SQL does

I looked into the issue and discovered that the generated SQL is not really intuitive:
SELECT
    "public"."ModelA"."id"
FROM
    "public"."ModelA"
WHERE
    ("public"."ModelA"."id") NOT IN (
        SELECT
            "t0"."id"
        FROM
            "public"."ModelA" AS "t0"
            INNER JOIN "public"."ModelB" AS "j0" ON ("j0"."a_id") = ("t0"."id")
        WHERE
            (
                (NOT "j0"."counter" >= 0)
                AND "t0"."id" IS NOT NULL
            )
    )

Intuitively, the SQL should (simplified) be:
SELECT
    "t0"."id"
FROM
    "public"."ModelA" AS "t0"
    INNER JOIN "public"."ModelB" AS "j0" ON ("j0"."a_id") = ("t0"."id")
WHERE
      "j0"."counter" >= 0

Note that the current version inverts the filter condition (NOT "j0"."counter" >= 0), which is odd. I will ask around why that's the case. Straight up changing the behavior is hard, I will schedule follow-up work on this.

Is there any workaround for this issue?

Related: https://github.com/prisma/prisma/issues/14847, https://github.com/prisma/prisma/issues/11819

As mentioned earlier in this thread, this is not a bug, this an expected behaviour.  In JS, for example [].every(anything) will also return true and so will do sql ALL statement.
If you need to ensure that relationship has at least some records, adding some: {} to the query is the way to go.
I am going to close this as duplicate of #11819, let's continue discussion there.


[webkitbrowser][memory_pressure]: Sync with rdkservices

Do not set a default value for gpu_limit.
Both gpu limit and file are needed to set GPU limitation

@modeveci what does this mean: "Both gpu limit and file are needed to set GPU limitation" is there an external relation that needs to be satisfied by the user of this plugin? Can we not move this into the plugin ?

When there is only gpu limit set and no file is determined from the config file, the system will not use gpu (video) limitation. In the plugin handling means giving error or warning during runtime. It is something requested by Comcast and added to rdkcentral with review of @MFransen69 and me.


Setting up ssh connections between worker nodes in parallel universe

@rwf14f, I'm trying to establish ssh connections between worker nodes in parallel universe, which is a prerequisite to bootstrap MIPCH.
The following is a Minimal Working Example (MWE) demonstrating the problem. The key is that it follows the example of mp1script which uses sshd.sh provided by HTCondor to bootstrap a "contact" file between the processes. And then a command performing ssh -p PORT -i KEY_FILE USER@HOSTNAME date to show the error Host key verification failed.. Different variations of this example is performed, including less descriptive variants such as ssh HOSTNAME date.
Is it a configuration issue at Blackett?
MWE:
In mpi.ini,
universe = parallel
executable = mp1script
machine_count = 2
should_transfer_files = yes
when_to_transfer_output = ON_EXIT_OR_EVICT
request_cpus   = 2
request_memory = 1G
request_disk   = 10G

log = mpi.log
output = mpi-$(Node).out
error = mpi-$(Node).err
stream_error = True
stream_output = True

queue

In a modified mp1script,
#!/bin/sh

# modified from /usr/share/doc/condor-9.0.17/examples/mp1script

_CONDOR_PROCNO=$_CONDOR_PROCNO
_CONDOR_NPROCS=$_CONDOR_NPROCS

CONDOR_SSH=`condor_config_val libexec`
CONDOR_SSH=$CONDOR_SSH/condor_ssh

SSHD_SH=`condor_config_val libexec`
SSHD_SH=$SSHD_SH/sshd.sh

. $SSHD_SH $_CONDOR_PROCNO $_CONDOR_NPROCS

# If not the head node, just sleep forever, to let the
# sshds run
if [ $_CONDOR_PROCNO -ne 0 ]
then
		wait
		sshd_cleanup
		exit 0
fi

export P4_RSHCOMMAND=$CONDOR_SSH

CONDOR_CONTACT_FILE=$_CONDOR_SCRATCH_DIR/contact
export CONDOR_CONTACT_FILE

echo "Created the following contact file:"
cat $CONDOR_CONTACT_FILE

# The second field in the contact file is the machine name
# that condor_ssh knows how to use
sort -n -k 1 < $CONDOR_CONTACT_FILE | awk '{print $2}' > machines

export idkey
awk '{
    print "ssh -p " $3 " -i " ENVIRON["idkey"] " " $4 "@" $2 " date";
}' $CONDOR_CONTACT_FILE > ssh.bash
echo "Trying to reach other hosts via ssh..."
cat ssh.bash
bash ./ssh.bash

sshd_cleanup
rm -f machines

exit $?

Submitting the job:
condor_submit mpi.ini

which results in error:
Host key verification failed.
Host key verification failed.

In theory you should be able to use
echo "Trying to reach other hosts via ssh..."
for h in $(<machines); do
	$CONDOR_SSH $h date
done

This doesn't work either though because the condor_ssh expects a different format of the contacts file. I currently don't know when and where the file is created, but in your case it starts with a number (probably the proc number), followed by the hostname, whereas condor_ssh expects it to start with the hostname. It could be a bug in our HTCondor version somewhere. Unfortunately, condor_ssh has the location of the contacts file semi-hardcoded ($_CONDOR_SCRATCH_DIR/contacts), so you can't just give it a different $CONDOR_CONTACT_FILE. You could hack your way around this, but it's probably not worth it.
Anyway, have a look at /usr/libexec/condor/condor_ssh to find out which options you need to set to get this working.

Thanks for the pointer @rwf14f, I got it further after that. There's another related issue, originated from the fact that MPICH3+ expects ssh HOST COMMAND ... to work without any way to customize the flags at all. So the recommended way to configure ssh when using MPICH3+ is to use ssh_config: [mpich-discuss] how to set ssh port in mpich
So is there any way I can configure ssh on the worker node? $HOME/.ssh/config could work, but first there's an issue that worker nodes has no HOME (#4), and even if I set my HOME in the job script, is the sshd reading that file in the current configuration (as defined in /etc/ssh/sshd_config that I cannot read)?

Does MPICH3+ honour the PATH ? If it does you could write an ssh wrapper script that calls /usr/bin/ssh with the appropriate options, put it into a directory and add the directory to the PATH.

Thanks for the pointer. Turns out it is hard-coded to /usr/bin/ssh but provide an option -launcher-exec to override it: https://github.com/search?q=repo%3Apmodels%2Fmpich+%2Fusr%2Fbin%2Fssh&type=code
A quick question: was either /usr/libexec/condor/sshd.sh or /usr/libexec/condor/condor_ssh changed/updated? I am a bit confused with my memory and the conversation here, as at one point we said the contact file generated by the first isn't that expected in the 2nd. But I just checked and in the 1st:
echo "$_CONDOR_PROCNO $hostname $PORT $user $currentDir $thisrun"  |
        $CONDOR_CHIRP put -mode cwa - $_CONDOR_REMOTE_SPOOL_DIR/contact

whereas in the 2nd:
#proc=`echo $line | awk '{print $1}'`
host=`echo $line | awk '{print $2}'`
port=`echo $line | awk '{print $3}'`
username=`echo $line | awk '{print $4}'`
dir=`echo $line | awk '{print $5}'`

so it now seems that both are agreeing.

Ah, the usage of condor_ssh says:
Usage: condor_ssh hostname command arg1 arg2

so I was passing in the hostname as first parameter, but the script expects it to be the proc number in the contacts file:
line=`grep "^$proc " $contact`

if [ $? -ne 0 ]
then
    echo Proc $proc is not in contact file $contact
    exit 1
fi

It is quite confusing that HTCondor does that, but even in the OpenMPI wrapper script they are doing exactly that (calling host but actually is the process no).
I got it passes the ssh stage a few days ago but MPICH has other errors that I have yet to figure out. I'd have my annual leave soon so I'd revisit this probably in ~1 month time.


fix: removed args input to jx gitops helmfile template as this is redundant now in helmfile template. Replaced with a values file input that accepts multiple files on the command line

Hi @chrismellard. Thanks for your PR.
I'm waiting for a jenkins-x or todo member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/ok-to-test

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jstrachan
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jstrachan]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@chrismellard: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
847c077f6ed863b6c6a2778765d9834103de198d
link
/retest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

There's a valid test failure which I was gonna fix and push to get this merged but first I used it while debugging the BDD pipelines with this PR https://github.com/jenkins-x/jxr-versions/pull/1822/files.  I kubectl exec'd a locally built version of this PR and ran it in the BDD pipeline but we're not getting yaml templated to the ./config_root dir.  I've had a tinker with the --output-dir-template options, managed to get the yaml generating using
--output-dir-template "$OUTPUT_DIR//{{ .Release.Namespace }}"

But each nested helmfile overwrites the config_root folder so we only get the last helmfile.yaml templated yaml.
I might have a bit more time to look later but I think its probably worth trying out fixes locally or by uploading into the BDD pipeline.

fwiw the output used to be a bit wonky so we used to use various commands like split, move, rename to process the template output & move resources into the right directory tree (cluster, crds, namespaces).
We could maybe put the output in a folder per namespace then when all the helmfile templates are run, invoke the split / move / rename steps?

I've got something working locally using vanilla helmfile template and --output-dir-tem plate $(pwd)/$OUTPUT_DIR/{{.Release.Namespace}} but just tested with jx-gitops thats still not generating them so just looking at that now.  fwiw I kinda prefer using vanilla helmfile template as its clearer whats going on but will try and get this working and worry about that another day.

yeah - I like the idea of doing as little as we can in jx gitops helmfile template (ideally removing it completely some day).
Any other steps we need can be done later on in the makefile.
We need to run split to ensure 1 resource per file which makes life easier for other steps; I do like the rename to enforce canonical file names but it’s not essential. We definitely need to move into the 3 directory trees (cluster, crds & namespaces) to fix ordering issues etc - but those are all existing commands we can put in the makefile

yeah - let's avoid the helmfile template, run that in the makefile and this command just does the restructure for the follow steps.  I'm running out of time but maybe able to try that using a custom boot image with our BDD and see what happens.

New changes are detected. LGTM label has been removed.

@chrismellard: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
2b270033af2580ed15a7940b7f41508309e025c8
link
/retest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

pushed a fix for the unit tests. this revealed the fact that values are resolved relative to the helmfile location which isn't going to work for us so I've made all values file locations relative to the --dir are

/retest

@chrismellard: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr
2b270033af2580ed15a7940b7f41508309e025c8
link
/retest

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here.

FWIW there's a WIP PR here which avoids the jx gitops helmfile template command all together. Along with version stream makefile changes here https://github.com/jenkins-x/jxr-versions/pull/1823


GeoLift package recognition issue

Project Robyn/GeoLift
Describe issue
When trying to install the geolift package for as a docker image the docker build completes but when trying to actually run the container and call my API geolift is not recognized. This isn’t happening for other packages downloaded with remotes/devtools. Any ideas why?
Environment & Robyn version
Latest Robyn version

Hi! It seems like a docker and GeoLift concern here. Feel free to share how you built your docker and to ask in GeoLift's repository.


Set up Travis CI to automatically test all code

As discussed in #75, we should set up Travis CI to automatically test all code in this workshop.

There's runipy, but I am not sure if that's not a bit overkill. I was thinking that just checking that the cells execute okay would be sufficient. What do you think?


Support keep x latest tag base on tag pattern

Hi, great utility, thank you very much for creating this 👍
Is there a way that we can support to keep x latest tags base on some pattern, for repos that hold images for several mainstream releases ?
eg: Images built base on alpine and debian
Consider following tag:

1.14.1-stretch, 1.14.2-stretch, 1.14.3-stretch, 1.14.4-stretch
1.14.1-alpine, 1.14.2-alpine, 1.14.3-alpine, 1.14.4-alpine,
1.13.9-stretch, 1.13.10-stretch, 1.13.11-stretch, 1.13.12-stretch,
1.13.9-alpine, 1.13.10-alpine, 1.13.11-alpine, 1.13.12-alpine,

I would want to always keep 2 latest tags for each release stream: 1.14.x-stretch, 1.14.x-alpine, 1.13.x-stretch, 1.13.x-alpine
WDYT ?

it will be a great addition

I think the issue is the current options only allow for either extreme.
When allow_tagged is false, it ignores all tagged images, thus not saving any space. Alternatively, when allow_tagged is true, it will respect the grace period, but delete all images outside that window, including tagged ones that are not deployed very often. This may mean that some tags are cleaned and no longer exist, which partially defeats the purpose of tagging.

https://github.com/sethvargo/gcr-cleaner/pull/24


[Release-1.22] - Objects removed from a manifest file aren't removed from the cluster

Backport fix for Objects removed from a manifest file aren't removed from the cluster

#5559

Validated using commit b1a3ad0aa292956eac6552dd28b8b29819aacfa4
$ k3s -v
k3s version v1.22.9+k3s-b1a3ad0a (b1a3ad0a)
go version go1.16.10

When the nginx deployment file exists

$ kubectl get pods -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
default       nginx                                     1/1     Running     0          6s
kube-system   coredns-7796b77cd4-6tz2z                  1/1     Running     0          7m10s
kube-system   helm-install-traefik--1-klksz             0/1     Completed   1          7m10s
kube-system   helm-install-traefik-crd--1-9kdx9         0/1     Completed   0          7m10s
kube-system   local-path-provisioner-84bb864455-r2cs8   1/1     Running     0          7m10s
kube-system   metrics-server-ff9dbcb6c-tbvc2            1/1     Running     0          7m10s
kube-system   svclb-traefik-jdpp7                       2/2     Running     0          6m48s
kube-system   traefik-d497b4cb6-tslkh                   1/1     Running     0          6m48s

Once content file is deleted:

$ kubectl get pods -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   coredns-7796b77cd4-6tz2z                  1/1     Running     0          11m
kube-system   helm-install-traefik--1-klksz             0/1     Completed   1          11m
kube-system   helm-install-traefik-crd--1-9kdx9         0/1     Completed   0          11m
kube-system   local-path-provisioner-84bb864455-r2cs8   1/1     Running     0          11m
kube-system   metrics-server-ff9dbcb6c-tbvc2            1/1     Running     0          11m
kube-system   svclb-traefik-jdpp7                       2/2     Running     0          10m
kube-system   traefik-d497b4cb6-tslkh                   1/1     Running     0          10m


Completed adding button monitor feedback for midi controllers

I though it would be visually helpful for users of Midi controllers that have back-lit or otherwise feedback enabled button midi controllers to see what functions that have been activated by another function (monitoring) to create the same visual feedback you already have with the virtual console buttons.
I'm using an Akai APCMini for testing these changes and wanted to contribute to this amazing software and project.

This would fix #1413

https://www.qlcplus.org/forum/viewtopic.php?t=12839
Another request for this feature

I finally merged this and found a few errors:

the word "Value" was removed from labels (luckily I saw this)
the monitoring spinbox was visible also for non button widgets

Now it's fixed. Thanks for contributing.

Huge improvement! Thanks guys :)


Fine grained updates for RecyclerView Adapter

Hi!
Agera RecyclerView Adapter always calls notifyDataSetChanged(), regardless of what changed, which is bad according to RecyclerView guys (you can ask @yigit or his teammates), and I think so too, as it makes the adapter invalidate everything even if just one item was added.
Fine grained data changes notifications such as notifyItemChanged(int position) or notifyItemRemoved(int position) are better for user experience (can have comprehensible animations following the changed that occurred), and performance.
I'm not an Agera expert yet, but I would like to get advice, or better, a sample on how such an Adapter could work with Agera and if it could be integrated in the rvadapter official Agera extension.
Thanks!

Hi.
Fine-grained events are not available because Repositories themselves don't have fine-grained events. To fire such events, either the RepositoryPresenter (client code) will be responsible for the job -- which makes it very difficult to implement, or RepositoryAdapter needs to magically discover the right sequence of events to notify the RecyclerView, which requires RepositoryPresenters to provide more information; most probably the data items' stable IDs.
However, with one single "the world has changed" event, just the stable IDs can already enable smooth animation in RV. Let all RepositoryPresenters provide stable IDs (implement RepositoryPresenter.getItemId(...)), and then enable stable ID in the RepositoryAdapter. Some predictive animations will be "wrong" (items fading in and out rather than sliding in and out, because RV doesn't know where those newly-on-screen items come from), but items that have not changed will not "flash" (disappear and appear).

@maxtroy Thanks for the stable IDs tip! It would be a good candidate for Agera's rvadapter documentation!
It does not completely solves the little performance hit though (but is good enough to be implemented if Agera use can improve code quality in the use case), so I'll let this issue open, if anyone have a solution to make fine grained RecyclerView Adapter notifications usable with Agera.

I have a better plan for this issue. Stay tuned for Agera 1.5 (or 1.6) :)

@maxtroy You plan to use DiffUtil, right?

It's a solution that enables client code to use DiffUtils easily. Client code doesn't need to actually use DiffUtils.

@LouisCAD please try out the new fine-grained event support and let us know what you think!

@maxtroy How can I test it? Need to clone the repository? Is there an example in the sample?

The sample isn't in the perfect shape to demo the fine-grained events right now. In particular there's no change and move events. It needs a bit of tweaking.
Meanwhile, you can try out by doing one of the following:

In your subclass(es) of RepositoryPresenter, override the new getUpdates() method to provide your own fine-grained events.
In your compiled RepositoryPresenter (RepositoryPresenters.repositoryPresenterOf(...)), or compiled data-binding RepositoryPresenter, add a .diffWith(...) directive to enable using DiffUtil to compute the fine-grained events.

You can now turn off stable IDs, if you like.
You can get the complete information in the documentation of RepositoryPresenter.getUpdates(), and the compilers' diffWith() and diff() directives.

This is now included in 1.4.0-alpha4


Tweak API and add tests for schedule

Blocked on #226

#226 merged in

#226 merged in

@peterkos what do mean by tweak API?

@peterkos what do mean by tweak API?

blocked by #480

blocked by #480

semi implemented #551


Dev enhancement: Add IntelliCode Github Action

At MS Build, we discovered a new IntelliCode Github Action has been created. It only requires 2 lines in yaml to enable. Please get this set up to make contributing even easier using Visual Studio! (VS Code is also planned to be supported later).

Tagging @DHowett for this.

I get e-mails for every single issue that gets filed or commented on in this repository. Much of the team, and many of our followers, are in the same boat. Please don't needlessly tag people to get your issue triaged first.

(Sorry. I am trying not to be grouchy. :smile:) What does this Intellicode action do? I've not yet seen the news!

Yes sorry! So I think it's best to watch the session itself. But it helps remove duplicate effort, especially once somebody already does some code such as adding a function or expression that will be re-used elsewhere in a file or even a different one in the project. This includes adding exceptions. It will also follow your vars so even if you redefine it later, the IntelliCode will determine where else it exists so you can correct all problems/add functionality everywhere it exists.

BDL156
IntelliCode – AI-assisted development, now and in the future is the Build session

Excellent. Thanks!

https://visualstudio.microsoft.com/services/IntelliCode/ also has some information.


implement swtfb for libremarkable

this is superceded by our LD_PRELOAD shim, it looks like libremarkable works pretty great with it


Simple way to get accurate city boundaries

Currently the part about importing new city suggest

Use geojson.io or geoman.io to draw a boundary around the region you want to simulate and save the geojson locally.

Which is probably good enough for local use but painful if you want to capture the city accurately which you'd presumably want for permanently added cities.
It seems it would be more simple to

go to openstreetmap.org and search for the city
select the City / City Boundary / Municipality Boundary etc., one that is a type=boundary Relation such as https://www.openstreetmap.org/relation/271110
copypaste the number to http://polygons.openstreetmap.fr/ (sample)
download the GeoJSON

Unfortunately "type": "GeometryCollection" on the toplevel causes an "unexpected geojson" panic, so

paste the GeoJSON to geojson.io
draw a rectangle and delete it
copy the now acceptable GeoJSON

Unfortunately, most cities are too large to comfortably import into A/B Street as a single map. The greater Seattle area winds up about 250MB, compared to about 5MB for most smaller areas. Besides performance (of initially loading the file, of rebuilding the routing structures after editing the map, etc), a larger area means way more places where the traffic simulation can get stuck.
So, usually my advice is to just pick a chunk of a city that's particularly interesting to study something specific. In Seattle, different ideas for changing roads have meant lots of different partly overlapping boundaries have been created:

And in other places, we just divide the city somewhat arbitrarily, based on local knowledge of meaningful boundaries:

Sometimes a city has administrative boundaries smaller than cities that happen to be about the right size, and we could use them. But it takes a bit of tuning to get the size and exact boundary right. So I'm not sure using OSM admin boundaries will work well.
I've meant to add this explanation and example pictures to the docs for a long time, so definitely will keep this issue open until I do that.

Yes, I see. I imported all of Amsterdam and then gave up waiting on the traffic pattern generator wanting to go through one million parking spots. I think a whole city could maybe work for a scenario of sorts but only if someone goes through all traffic signals and makes the timings make sense first.
It seemed sensible at the time but as you say it probably makes more sense in practice to carve out as small an area as possible to cover the area of interest. Which I suppose brings its own problem of defining existing traffic patterns.

Undocumented trick: If you run the game with --infinite-parking, driving trips will directly start and end at buildings, and that costly assignment of parking spots is totally skipped.
The bigger problem here is that the generator you're using, https://a-b-street.github.io/docs/tech/trafficsim/travel_demand.html#proletariat-robot, has no clue about the total population in the area, and is probably making very awful estimates on how many people try to drive through Amsterdam. There are some other options on that page to generate a more realistic travel demand model, but there's no easy answer that works everywhere yet.
I'm curious if you hit #32 with Amsterdam -- there are so many bodies of water there, there's no way the code that tries to stitch together multipolygons got it right.

Sure, I understand the naive traffic generator is totally inaccurate to begin with. As the robot uses the map region as the basis I believe the smaller the map the worse it gets since the percentage of through traffic increases. If I were to zoom in to just the Central Station I suppose it would be better to generate traffic based on the whole city area and keep the trips going through the map. And the robot doesn't seem to consider train stations at all. Anyway different topic, I understand it's not simple problem
As for flooding, looks ok to me.


Ensure column width is respected

I have a wide table with 34 columns, and I need the title column to have sufficient width so that it will not wrap.
These are the field definitions:
{"fields": [
      {
        "name": "sequence1",
        "sortField": "sequence1",
        "title": "序号",
        "titleClass": "center aligned",
        "dataClass": "left aligned",
        "width": "40px"
      },
      {
        "name": "sequence2",
        "sortField": "sequence2",
        "title": "",
        "titleClass": "center aligned",
        "dataClass": "left aligned",
        "width": "40px"
      },
      {
        "name": "__slot:title",
        "title": "项目",
        "titleClass": "center aligned",
        "dataClass": "center aligned",
        "width": "120px"
      },
      {
        "name": "__slot:year0",
        "title": "N年度",
        "titleClass": "center aligned",
        "dataClass": "left aligned"
      },

      {
        "name": "__slot:year30",
        "sortField": "year30",
        "title": "N＋30年度",
        "titleClass": "center aligned",
        "dataClass": "center aligned"
      }
  ]
}

This is how it ends up:

How can I ensure the title column has at least a width of 120px?
Environment
vuetable-2: 1.7.5
vue: 2.5.2
Note: not using vue 2.5.16 because it is causing conflicts with vue-material at the moment

I think this is actually the DOM issue. If you don't want the column to wrap when it does not have enough space to display, you may need to set some styling to force it not to wrap. I can't remember which one though.

I add a class "no-break" using dataClass. Then style the class with word-break: keep-all:
name: 'product',
dataClass: 'no-break'

.no-break {
  word-break: keep-all;
}

It's useful for columns with CJK characters.


remove credentials field

What does this fix or implement?
Remove the unpopulated credentials field from the MongoDB Cluster data source.
Checklist

[ ] PR name added as appropriate (e.g. feat:/fix:/doc:/test:/refactor:)
[ ] Tests added or updated
[ ] Documentation updated
[ ] Changelog updated and version incremented (label: upcoming release)
[ ] Github Issue linked if any
[ ] Jira task updated

good! please write in Changelog.md what you did. also remove credentials from dbaas_mongo_cluster.md


Add multi cursor click selections

This builds on top of #107
You can hold alt and click on multiple points to multiple cursors. Also, when using a selection modifier on top of adding a new cursor (like click+drag or double/triple click), I fixed it so the modifier only applied on the latest/current selection (earlier it would affect all selections which had some funny effects 😛)
However, to enable selection modifiers only affecting the last cursor, I'm simply pushing a new cursor to selections (instead of binary searching to insert it in the right order). This lets me simply refer to last_mut(). I don't understand what the point of sorting it correctly is (would love an explanation, cc @nathansobo) but if we need to retain that, I can update this PR to have a variable tracking the newest "cursor".

Apologies for the mistakenly submitted (and unsolicited) review. I have no way to undo it 👎.


get_off_bike should differ between city vs rural

Currently we show "get off bike" for paths e.g. here although it is probably not required to get off the bike here. In general we should probably mark "get_off_bike" as true only if it is legally required. Similar problem here. The reason is that we do not set the speed to walking speed for path in case of mtb vehicle but for the other bike profiles we do.
Is it required for highway=path @ratrun ? (I found this issue where you say so and in the wiki they even say 'Actual usage of highway=footway vs highway=path differs between mappers and areas. ')

As far as I can tell there is no common understanding for ways just tagged as highway=path. There are endless discussions on the OSM forum about that issue. This is documented on the english wiki  where they say "Usage of this tag varies regionally, and paths without any additional tags are common. Consequently, paths require careful interpretation by data consumers to avoid causing map users inconvenience, or worse."
What I can tell is that it is definitely not required to get off the bike on such ways when we are talking about the international level. So I agree to remove the path from the GET_OFF_BIKE list in OSMGetOffBikeParser.

@karussell we still treat highway=footway as a pushing section in the avg speed and priority parsers:
https://github.com/graphhopper/graphhopper/blob/94a5602fd269a523c00300bbaf00fa82d560f198/core/src/main/java/com/graphhopper/routing/util/parsers/BikeCommonPriorityParser.java#L50
https://github.com/graphhopper/graphhopper/blob/94a5602fd269a523c00300bbaf00fa82d560f198/core/src/main/java/com/graphhopper/routing/util/parsers/BikeCommonAverageSpeedParser.java#L35

My point is that we should standardize the handling of such ways across parsers. The changes from https://github.com/graphhopper/graphhopper/commit/402976482c3dbe76cb1d3beda0404435ec0b4155 indicate that the cyclist is able to drive on these ways without getting off his bike. The priority and speed should reflect this.

But we want a low speed for footway (?)

IMHO, this is up for discussion. The OSM wide consensus seems to be that highway=path should be treated the same as highway=footway. We should rather check tags with a well established definition. e.g:
https://github.com/graphhopper/graphhopper/blob/94a5602fd269a523c00300bbaf00fa82d560f198/core/src/main/java/com/graphhopper/routing/util/parsers/BikeCommonPriorityParser.java#L162


Arduino device not found

can i use this without an arduino?

reverted back to old commit and got it to work

Fixed.


feat: completed the navigation bar

feat: completed the navigation bar; then moved SearchBar component folder into the new NavBar component folder I created
Description
I created a new NavBar component folder which holds the other components. So, SearchBar isn't imported into App.js, but into NavBar.js.

Fixes #320

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no lint warnings

I tested this locally on Brave browser. Here is an image


Hot to detect if the app is running on tizen ?

Flutter offers the Platform class to check on which platform the app is running, but how to check if we are running on Tizen Platform ?

This should do the job for me !(Platform.isWindows || Platform.isAndroid || Platform.isMacOS) , I have no plan to publish anywhere else so it's sufficient

The official way to check if the current running platform is Tizen is to use the isTizen property of the flutter_tizen package as documented in https://github.com/flutter-tizen/flutter-tizen/wiki/Limitations#apis, but you can just copy its implementation and inline into your code if you don't want to add the package dependency just for that.

Thank you @swift-kim  for the quick reply, very kind !


Unable to use file tree to diff files

I would like to be able to use the file tree to select files for diff.

Now that I think about it, I am not sure that this is a very important feature. Will probably close this soon if no one says anything.

I would find this very useful

Absolutely, very important feature IMO.

Just got this package and shocked it doesn't do this... can I not diff 2 arbitrary files?

@protokris You can, but you need to have the two files split side by side. One way to do that is open your two files, right click the tab for one of them and select split right. Then toggle split-diff with the two files you want to diff visible next to each other.
Not the greatest user experience at all, I definitely agree... Hopefully now that I've finished refactoring, features like this should be much easier to implement.

Sorry for the long wait, everybody. This is in v1.1.0, which I will be pushing out now.


How to correctly turn closure to promise?

Hello guys, just started learning about amphp. Really excited!
I want to convert sync call to async call using event loop in amphp. My sample code use file_get_contents as sample blocking call.
Using sync call, it look like this:
$uris = [
    "https://google.com/",
    "https://github.com/",
    "https://stackoverflow.com/",
];

$results = [];
foreach ($uris as $uri) {
    var_dump("fetching $uri..");
    $results[$uri] = file_get_contents($uri);
    var_dump("done fetching $uri.");
}

foreach ($results as $uri => $result) {
    var_dump("uri : $uri");
    var_dump("result : " . strlen($result));
}

And the output:
string(30) "fetching https://google.com/.."
string(34) "done fetching https://google.com/."
string(30) "fetching https://github.com/.."
string(34) "done fetching https://github.com/."
string(37) "fetching https://stackoverflow.com/.."
string(41) "done fetching https://stackoverflow.com/."
string(25) "uri : https://google.com/"
string(14) "result : 48092"
string(25) "uri : https://github.com/"
string(14) "result : 65749"
string(32) "uri : https://stackoverflow.com/"
string(15) "result : 260394"

I know there's artax that would do the call in async. But, I want to learn how to correctly turn blocking code into async concurrent code (not parallel). I'm already success implementing it in parallel using amp parallel-functions (yay!).
I believe the correct output if I successfully implement it in async in amp, will be something like this:
string(30) "fetching https://google.com/.."
string(30) "fetching https://github.com/.."
string(37) "fetching https://stackoverflow.com/.."
string(34) "done fetching https://google.com/."
string(34) "done fetching https://github.com/."
string(41) "done fetching https://stackoverflow.com/."
string(25) "uri : https://google.com/"
string(14) "result : 48124"
string(25) "uri : https://github.com/"
string(14) "result : 65749"
string(32) "uri : https://stackoverflow.com/"
string(15) "result : 260107"

I've tried with this code:
<?php
require __DIR__ . '/vendor/autoload.php';

use Amp\Loop;
use function Amp\call;

Loop::run(function () {
    $uris = [
        "https://google.com/",
        "https://github.com/",
        "https://stackoverflow.com/",
    ];

    foreach ($uris as $uri) {
        $promises[$uri] = call(function () use ($uri) {
            var_dump("fetching $uri..");
            $result = file_get_contents($uri);
            var_dump("done fetching $uri.");
            yield $result;
        });
    }

    $responses = yield $promises;

    foreach ($responses as $uri => $result) {
        var_dump("uri : $uri");
        var_dump("result : " . strlen($result));
    }
});

Instead giving me my expected result, it give me this error:
string(30) "fetching https://google.com/.."
string(34) "done fetching https://google.com/."
string(30) "fetching https://github.com/.."
string(34) "done fetching https://github.com/."
string(37) "fetching https://stackoverflow.com/.."
string(41) "done fetching https://stackoverflow.com/."
PHP Fatal error:  Uncaught Amp\InvalidYieldError: Unexpected yield; Expected an instance of Amp\Promise or React\Promise\PromiseInterface or an array of such instances; string yielded at key 0 on line 20

The result also seems run in sync, not async.
How should I correctly do it?

As long as you use blocking calls you wont get the result you expect (except you use the parallel-functions lib or similar parallelization primitives).

So I need to convert the blocking call to parallel code first?
So my assumption that reactphp will turn blocking sync I/O into async concurrent (not parallel) is wrong then?
Sorry, I just started this library. So many things not really obvious for me from the docs.
Sent from my iPhone

On 5 Oct 2018, at 20.45, Markus Staab<EMAIL_ADDRESS>wrote:
As long as you use blocking calls you wont get the result you expect (except you use the parallel-functions lib or similar parallelization primitives).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@staabm thanks for replying :)
So I need to convert the blocking call to parallel code first?
So my assumption that amphp will turn blocking sync I/O into async concurrent (not parallel) is wrong then?
Sorry, I just started this library. So many things not really obvious for me from the docs.

You need to switch to a non-blocking implementation like Artax, file_get_contents is blocking and that won't change.

Okay, so file_get_contents in my case is just an example of blocking call. Now I know that I have to build my own non-blocking function.
Could you give me simple example of converting a blocking function into a non-blocking function?
Sorry, if this too much to ask.
Sent from my iPhone

On 5 Oct 2018, at 22.30, Niklas Keller<EMAIL_ADDRESS>wrote:
You need to switch to a non-blocking implementation like Artax, file_get_contents is blocking and that won't change.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Maybe rewriting your example with Artax helps?
<?php
require __DIR__ . '/vendor/autoload.php';

use Amp\Loop;
use function Amp\call;

Loop::run(function () {
    $uris = [
        "https://google.com/",
        "https://github.com/",
        "https://stackoverflow.com/",
    ];

    $httpClient = new Amp\Artax\DefaultClient;

    foreach ($uris as $uri) {
        $promises[$uri] = call(function () use ($uri, $httpClient) {
            var_dump("fetching $uri..");
            $response = yield $httpClient->request($uri);
            $result = yield $response->getBody();
            var_dump("done fetching $uri.");
            return $result;
        });
    }

    $responses = yield $promises;

    foreach ($responses as $uri => $result) {
        var_dump("uri : $uri");
        var_dump("result : " . strlen($result));
    }
});

Any blocking call you want to replace needs to be replaced with a promise-returning function that uses promise-returning functions for any blocking I/O call.

@rawaludin I've uploaded an example of how I'm doing it.
https://github.com/choval/amphp-non-blocking-example

@choval Thanks!
I've question though. Is using DefaultWorkerFactory equal to using parallel or is it a concurrent one? My goal was to execute the code in concurrent.
I've successfully implemented my sample in parallel with this code:
<?php
require __DIR__ . '/vendor/autoload.php';

use function Amp\ParallelFunctions\parallelMap;
use Amp\Promise;

$uris = [
  'https://google.com/',
  'https://github.com/',
  'https://stackoverflow.com/',
];

$values = Promise\wait(parallelMap($uris, function ($uri) {
    var_dump("fetching $uri..");
    $result = file_get_contents($uri);
    var_dump("done $uri.");

    return [
          'uri' => $uri,
          'result' => $result
      ];
}));

foreach ($values as $result) {
    var_dump("uri : " . $result['uri']);
    var_dump("result : " . strlen($result['result']));
}

@techno-express Thank you!
That is the answer I'm looking for :)
You know, I have code some golang code and tried to compare all this coroutine stuff on amphp with golang. I've come from understanding that parallelism is not concurrency https://blog.golang.org/concurrency-is-not-parallelism
And trying to get my head around the amp. I was thought that amp would do concurrency like golang.

@techno-express Artax does not use amphp/parallel to make concurrent HTTP requests. It uses asynchronous I/O and stream_select or whichever backend the event loop implementation in use uses. Amp is mainly focused on concurrency, but also allows true parallel execution via amphp/parallel.
Maybe reading https://blog.kelunik.com/2017/11/06/magic-behind-async-php.html helps a bit.
As maintainers of this library we're so used to the concept that we're not very good at explaining it to total newcomers, so we're always happy about any questions you might have. If you later have a better understanding, it'd be great if you could contribute back what you learned in form of documentation PRs, so future newcomers can have a better start.

@kelunik Okay, I've read the blog. Here's what I've used to understand concurrency and goroutine in golang https://gobyexample.com/goroutines
// A _goroutine_ is a lightweight thread of execution.

package main

import "fmt"

func f(from string) {
    for i := 0; i < 3; i++ {
        fmt.Println(from, ":", i)
    }
}

func main() {

    // Suppose we have a function call `f(s)`. Here's how
    // we'd call that in the usual way, running it
    // synchronously.
    f("direct")

    // To invoke this function in a goroutine, use
    // `go f(s)`. This new goroutine will execute
    // concurrently with the calling one.
    go f("goroutine")

    // You can also start a goroutine for an anonymous
    // function call.
    go func(msg string) {
        fmt.Println(msg)
    }("going")

    // Our two function calls are running asynchronously in
    // separate goroutines now, so execution falls through
    // to here. This `Scanln` requires we press a key
    // before the program exits.
    fmt.Scanln()
    fmt.Println("done")
}

Output:
$ go run goroutines.go
direct : 0
direct : 1
direct : 2
goroutine : 0
going
goroutine : 1
goroutine : 2
<enter>
done

Is it possible to convert that code to amphp version?


Change extension recommendations to be dynamic

Recommendations currently come from two curated lists. The first is one we want to keep, we call them important recommendations and only essential extensions exist within; these recommendations appear as popus to the user. The second one is an ever growing list of not-so-important extensions, which appear only in the @recommended list. We want to replace curation by dynamically querying the Marketplace.
cc @seanmcbreen @waderyan
--
We still have to look into whether the tagging currently in place gives us acceptable results. The tagging currently running by vsce and run as a background task in the Marketplace creates hidden tags __ext_${EXTENSION} for extensions. We can then query for them as users open said files. Eg: if the user opens a .js file, we'd search for extensions tagged with the __ext_js keyword.
Let's take our current curated suggestions and see whether they would show up given this strategy. Make sure you scroll right to see the full data.

Recommendation
Files
Current
Next

ms-vscode.csharp
**/*.cs,**/project.json,**/global.json,**/*.csproj,**/*.sln
5
1

ms-vscode.mono-debug
**/*.cs,**/*.csproj,**/*.sln
3
0

msjsdiag.debugger-for-chrome
**/*.ts,**/*.tsx**/*.js,**/*.jsx,**/*.es6
5
0

lukehoban.Go
**/*.go
1
1

ms-vscode.PowerShell
**/*.ps,**/*.ps1
2
0

austin.code-gnu-global
**/*.c,**/*.cpp,**/*.h
3
0

Ionide.Ionide-fsharp
**/*.fsx,**/*.fsi,**/*.fs,**/*.ml,**/*.mli
5
3

dbaeumer.vscode-eslint
**/*.js,**/*.jsx,**/*.es6
3
0

eg2.tslint
**/*.ts,**/*.tsx
2
0

Kasik96.format-indent
**/*.php
1
0

felixfbecker.php-debug
**/*.php
1
0

linyang95.phpmd
**/*.php
1
0

ikappas.phpcs
**/*.php
1
0

tht13.python
**/*.py
1
1

donjayamanne.python
**/*.py
1
0

magicstack.MagicPython
**/*.py
1
1

saviorisdead.RustyCode
**/*.rs,**/*.rslib
2
1

hars.CppSnippets
**/*.cpp,**/*.cc,**/*.h
3
0

mitaki28.vscode-clang
**/*.cpp,**/*.cc,**/*.h
3
0

ms-vscode.cpptools
**/*.c,**/*.cpp,**/*.cc,**/.cxx,**/*.hh,**/*.hpp,**/*.hxx,**/*.h
8
0

seanmcbreen.Spell
**/*.md
1
0

ms-vscode.Theme-MarkdownKit
**/*.md
1
0

DavidAnson.vscode-markdownlint
**/*.md
1
0

PeterJausovec.vscode-docker
**/dockerfile,**/Dockerfile,**/docker-compose.yml,**/docker-compose.*.yml
5
0

60
8

In the third column you'll find the number of triggers per recommended extension. A trigger is a file name/extension which we currently use to recommend that extension. For example, foo.js triggers the extension dbaeumer.vscode-eslint. There are a total of 60 triggers in our current curated list.
Using the __ext_ keywords, only 8 of those would actually work. That's 13%. This happens because most of these extensions are not tagged with the corresponding keywords based on the file extensions we recommend them from. For example, msjsdiag.debugger-for-chrome doesn't specify anything about .js files in its manifest.
Then there's the additional problem of queries returning too many extensions. The query for the __ext_h keyword alone returns 359 results. Sorting that query by downloads or by rating doesn't seem to help much in narrowing which extensions really are recommendable.
Finally, imagining that the __ext_ keyword queries return a healthy collection of extensions, we need to figure out how to sort that collection and where is the cut-off point between a recommended extension and simply a popular one.

@seanmcbreen @waderyan I've distilled the problems with this plan item in the first comment. You guys should figure out whether this is still a viable solution and, if not, how it can be improved.

@joaomoreno thank you for looking into this. Initially, I thought (and told Sean) we should look into improving our manual curation processes and abandon the automatic curation approach. Looking into this in detail though has led me to change my opinion.
Not enough trigger coverage
In the table below I comment on each extension. We can achieve 59 / 60 (98%) triggers with some tweaks and fixes to the current algorithm. I have summarized the fixes in the second table below.

Recommendation
Comments
Fixable with automation

ms-vscode.csharp
To fix add project.json, global.json, .csproj, .sln` as hidden tag outputs for C#.
Yes

ms-vscode.mono-debug
To fix, collect language ids from contributions.breakpoints.
Yes

msjsdiag.debugger-for-chrome
We did not identify this as a JavaScript extension. To fix, look at keywords and contributions.breakpoints
Yes

ms-vscode.PowerShell
To fix, look at keywords, contributions.breakpoints, or contributions.snippets.languages
Yes

austin.code-gnu-global
Bug. Fixable with activationEvents.onLanguage.
Yes

Ionide.Ionide-fsharp
Missing file extensions for fsharp. Add **/*.ml,**/*.mli.
Yes

dbaeumer.vscode-eslint
Bug. Fixable with activationEvents.onLanguage
Yes

eg2.tslint
This is a tough one. I would say we could search the string for TS but that will be too common.
No

Kasik96.format-indent
I cannot access package.json (as an aside we should likely remove this from our list because of its low ratings). We can fix this by looking at keywords
Yes

felixfbecker.php-debug
Fixable by looking at contributers.debuggers.type
Yes

linyang95.phpmd
Bug. Should have worked with activationEvents.onLanguage. Also fixable with keywords.
Yes

ikappas.phpcs
Bug. Fixable with activationEvents.onLanguage and keywords
Yes

donjayamanne.python
Bug. Fixable with activationEvents.onLanguage and keywords
Yes

saviorisdead.RustyCode
Add **/*.rslib to list of associated file extensions to rust
Yes

hars.CppSnippets
Fixable with keywords and contributions.snippets.languages
Yes

mitaki28.vscode-clang
Bug. Fixable with activationEvents.onLanguage
Yes

ms-vscode.cpptools
Cannot see package.json. Fixable with keywords
Yes

seanmcbreen.Spell
Bug. Fixable with activationEvents.onLanguage
Yes

ms-vscode.Theme-MarkdownKit
Nothing in package.json to help us here. We could look at the text in the title / description.
Yes

DavidAnson.vscode-markdownlint
Bug. Fixable with activationEvents.onLanguage and keywords
Yes

PeterJausovec.vscode-docker
Bug. Fixable with activationEvents.onLanguage and keywords
Yes

This table summarizes the table above when looking at the fixes we could apply.

Fixable Option
# of Extensions

activationEvents.onLanguage
10

keywords
11

contributions.snippets.languages
2

contributions.breakpoints
3

contributers.debuggers.type
1

Associate more file extensions
3

Search title / description for text
1

Unfixable
1

Too many extensions

Then there's the additional problem of queries returning too many extensions. The query for the __ext_h keyword alone returns 359 results. Sorting that query by downloads or by rating doesn't seem to help much in narrowing which extensions really are recommendable.

To answer this I looked at the results for many of our hidden tags. The table below summarizes what I found.

Tag
# of Search Results
Language Intent
Useful?

ext_h
373
C, C++
No

ext_c
373
C
No

ext_cpp
0
C++
No

ext_php
1
PHP
No

ext_py
3
Python
Somewhat

ext_rb
4
Ruby
Yes

ext_js
10
JavaScript
Yes

ext_jsx
2
JavaScript
Somewhat

ext_es6
1
JavaScript
Somewhat

ext_ts
3
TypeScript
Somewhat

ext_go
4
Go
Yes

ext_ps
3
Powershell
No

ext_md
1
Markdown
No

ext_markdown
0
Markdown
No

ext_yaml
2
Yaml
No

ext_sln
0
C#
No

ext_fs
1
F#
Yes

ext_fsi
1
F#
Yes

ext_dockerfile
0
Dockerfile
No

From the results above, it looks like the problem of "too many results" is an outlier for C and C++. Most of the queries are not useful because of a lack of results.
I do not know right now how to solve for C and C++. Open to suggestions.
Summary
I am in favor of making the tagging algorithm changes and then figuring out a fix for C and C++. Please advise on what you would like me to do after syncing with @seanmcbreen (since he's in Zurich I'm assuming you two can connect on this).
Resources

draft of tag seeding algorithm sent to MP team.
You can see hidden tags with &showHiddenTags=true on the URL.

Hi,
@joaomoreno and I managed to catch up today and have the following suggestions, we:

Should update the manually curated list this iteration for missing items
Need to address a few issues in the tag search in the marketplace
Will add a gesture to the file type picker to search for related extensions

We will see how that goes and then we may...

Introduce a more visible hint in the case of no existing extension.

Here is a little more on each item...
Update Curated List
We should add items for known gaps e.g.

.babltrc
.eslint
.tslint
.editorconfig
DOCKERFILE
.gitignore
...

Marketplace Fixes
We found two quick issues:
1. Tag Match: - high priority
Currently the tag query does a match on the start of the extension so a search for c will yield all sorts of results e.g. cs - csharp, cgi = ruby, cpy = magicpython, ...  it should be a strict match to avoid this.
2. Missing Tags: - more investigation
When we processed tags it looks like we did not manage to catch extension only extensions e.g. we should look into this.  At the same time I think of these guys the curated list may be the best approach as for instance Editor config activates on * not the config file.  This is true for many where the file is simply .json.
New item in file type picker
We will add a new option in the file type picker for Search for .js marketplace items [final string TBC] and this will do an extension based search and sort by download count.  For this to work well we need the marketplace search fix mentioned above.

Visible Hint for Unknown Files
the scenario here is that the user adds a new file say foo.tex we don;t out of the box know what .tex is so we render as plaintext.  We could do a check in the background to see if the marketplace understands .tex since it does we would notify the user and let them review the marketplace for results.
There is some concern that this could be annoying for some users who look at lots of files with random extensions - so we need to go here carefully.  We would for instance need to offer the ability to stop the nag permanently for some file types.
Ok thats my notes...
@waderyan - do you want to work w/ the marketplace on the HiPri item and also update the curated list?  I can also update the list if you would prefer.

Added the new item:

Nice work add to release notes :)
@waderyan @gregvanl

Created #14347. Closing this one.


fix: make_schedule and minor bugs

fixed make_schedule feature
also minor bugs and layout issues here and there

Look GREAT TO ME!!!


Add a migrate command for running migration scripts between upgrades

What is the purpose of adding a migrate command? Just like the Cosmos SDK all migrations should be done via in-place store migrations and existing upgrade handlers.


EvmError: Revert when calling new Curve Tricrypto pools

Component
Forge
Have you ensured that all of these are up to date?

[ ] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (31d6498 2023-06-28T00:19:43.942564000Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
Contract code :
`pragma solidity ^0.8.19;
contract LoanManagerTest is Test {
address constant TRICRYPTO_USDT = address(0x7F86Bf177Dd4F3494b841a37e810A34dD56c829B);
function setUp() public {
}

function testSetupLoan() public {
    uint256 dy = ITricrypto(TRICRYPTO_USDT).get_dy(0, 2,<PHONE_NUMBER>7);
    console.log(dy);
}

}`
I got :
`Traces:
[120] LoanManagerTest::setUp()
└─ ← ()
[4949] LoanManagerTest::testSetupLoan()
├─ [1849] 0x7F86Bf177Dd4F3494b841a37e810A34dD56c829B::get_dy(0, 2,<PHONE_NUMBER>7 [3.998e10])
│   └─ ← ()
└─ ← "EvmError: Revert"`
But working on etherscan

Are you using forking or an external rpc? If so, you'll use a local instance and the contracts won't be deployed

yes i'm using a fork url :
forge test --fork-url https://eth-mainnet.g.alchemy.com/v2/....
Fork created today

Closing—stale and not enough info


Fix unknown filters

Fixes the filter macro names for pascal_case and snake_case.
Also, I checked the docs and only found info for the date filter. Should we add a note about how to use these other filters in the README?
Closes #180

thank you so much!


ng-file-drop-available doesn't seem to work.

The DEMO page on my iOS 8 Safari Browser and Android 4.3 Stock Browser both show the file drop div.
Can I use shows that Drag and Drop should not work on these browsers.

+1, this is still a problem with the latest 3.2.4 release.

Fixed in version 4.0.0


revert(deps): update dependency prettier to v3

This reverts commit bd521fbb2705ad785abdee317c56f9a554fe114c.

☁ Nx Cloud Report
We didn't find any information for the current pull request with the commit c4ec05727fa10629b5e0286a0a2bee1e538dbcd5.
Please verify you are running the latest version of the NxCloud runner.
Check the Nx Cloud Github Integration documentation for more information.
Alternatively, you can contact us at<EMAIL_ADDRESS>
Sent with 💌 from NxCloud.


fix(c8yscrn): Fix positioning of highlight for multiple elements

The highlight element is now appended to the parent instead of body. This will fix for example highlights to disappear for modals.

Approved


Change of the orientation of the device management

Hi
When i change the orientation of the device while the picker is on screen, the navigation bar is well re-render but not the selector it self.
I tried to force a re-render via a call to forceUpdate but that does not work as i guess that child do not detect the rotation
Any tip/advice to achieve that ?

hi you right its not working atm ill need to register some listener to the screen rotation in the next update


GitHub - Dump and diff of users

As a GitHub administrator,
I want to dump and diff users of all repositories
So that I can check if some unexpected users have been added or not, or have inconvenient permissions.
Dump and diff here means to have a record of users and permissions for each repo, to be able to load such records, and compare differences between iterations.
Inconvenient permissions here means to have to high privileges for example.
Unexpected users here means people outside the Group.
Pseudocode :
O = Organisation
OM = Organisation Members For O
OOC = Outside Collaborators For O

For Each Project P in O:
        PM = Get Membres For P
        MPerm = Get Permissions Of PM

        For Each Membre M in PM:
                If M Is In OC:                                                // Partner, external contributor
                        Display Member And Warning
                Else If M Is Not In OM:                               // Someone who has left the Group but still in project
                        Display Member And Warning
                Else:                                                            // Ok
                        Display Member

By Display Member* it means display the alias of the member and its permission for this project.
Warning means use emoji or something visible to request attention
A JSON report can be produced in parallel of standard output, like:
[ /* Projects in array */
        {
                "project" : projectName,
                "warning": emoji,
                "members": [ /*Project members in arrays*/
                                {
                                                "alias": memberAlias,
                                                "company": memberCompany,
                                                "mail": memberEmail,
                                                "isOutsideOrganisation": yes/no,
                                                "isOutsideCollaboratorOfOrganisation": yes/no,
                                },
                                ...
        }
        ...
]

The need here is to be able to find contributors of projects who are not employees of the organisation owner.
This feature is not so relevant and have a kind of low priority because GItHub exposes already a list of outside collaborators with references to the projects they work on.
Thus if someone has left the company and the organisation, but is still on a project, this person will appear in the list.
If a subcontractor is not in the organisation, but contributes to projects, he or she will appear in the list.
So the pitfall is only to check sometimes that list and be sure only organisation owner employees are invited to join the organisation.
An exemple of the list for the Orange-OPenSource organisation: https://github.com/orgs/Orange-OpenSource/outside-collaborators


Resolve data connector deploy to azure error

Required items, please complete
Change(s):

Update linuxFxVersion setting.

Reason for Change(s):

When deploying the data connector to azure, we got error:
{ "status": "Failed", "error": {    "code": "BadRequest",    "message": "The parameter LinuxFxVersion has an invalid value.",    "details": [        {            "message": "The parameter LinuxFxVersion has an invalid value."        },        {            "code": "BadRequest"        },        {}    ] } }

Version Updated:

No

Testing Completed:

Need help

Checked that the validations are passing and have addressed any issues that are present:

Yes

Hi,
I have raised this issue here https://learn.microsoft.com/en-us/answers/questions/1534921/azure-function-linux-python-3-9-problem?page=1&orderby=Helpful&comment=answer-1452262#newest-answer-comment. And got an answer from an Microsoft employee. I have made the change based on his answer, but could test it locally. Could you please help us with it to make sure the data connector could deploy successfully?

Sure @FortiNDR-Integration let's schedule a call for this, I'll get a better understanding for the same.

@v-prasadboke , I have fixed the issue with the help from https://learn.microsoft.com/en-us/answers/questions/1534921/azure-function-linux-python-3-9-problem, and tested, it is working. Now we are having a new issue that the deployed function app is not showing any functions inside it, we will keep looking into it.

Thanks for the updates @FortiNDR-Integration


Allow some routes to non authenticated users?

Hello,
this is a bit related to #37. Sometimes there are routes in the same scope, but some of them need authentication and some not.
Is there a strait way in actix-web-grants  to implement this? My idea was, to map all users which send requests without authentication header to role Guest and use this in the route as:
#[has_any_role("Role::Admin", "Role::Guest", type = "Role")]
#[get("/my_route/")]
async fn my_route( ...

My only solution is s very bad workaround:
async fn validator(req: ServiceRequest, credentials: BearerAuth) -> Result<ServiceRequest, Error> {
    match auth::decode_jwt(credentials.token()).await {
        Ok(_) => req.attach(vec![Role::Admin]),
        Err(e) => {
            error!("validation: {e}");
            req.attach(vec![Role::Guest])
        }
    };
    req.attach(vec![Role::Admin]);

    Ok(req)
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
   HttpServer::new(move || {
            let auth = HttpAuthentication::bearer(validator);

            App::new()
                .wrap_fn(|mut req, srv| {
                    if req.headers().get("authorization").is_none() {
                        req.headers_mut().append(
                            actix_web::http::header::HeaderName::from_static("authorization"),
                            actix_web::http::header::HeaderValue::from_static("Bearer guest"),
                        );
                    }
                    srv.call(req).map(|res| res)
                })
                .service(
                    web::scope("/api/v2")
                        .wrap(auth)
                        .service(my_route)
                        ...

is there a better way to solve the problem here?

I've took a look at the reasons, and it looks like issue with actix-web-httpauth. It extracts header before validator will be called 🤔
I just mean that it's relevant only for integration with external crates. With actix-web-grants it's possible to define custom logic
Have you tried HttpAuthentication::with_fn(validator) and define validator fn with Option<BearerAuth> instead of just BearerAuth?
In this way it should be possible to handle empty header and mark user as Guest.

Thank you very much! With HttpAuthentication::with_fn(validator) it is possible! Now I only use the validator function like:
async fn validator(
    req: ServiceRequest,
    credentials: Option<BearerAuth>,
) -> Result<ServiceRequest, Error> {
    match credentials {
        Some(credit) => {
            auth::decode_jwt(credit.token()).await?;
            req.attach(vec![Role::Admin]);
        }
        None => {
            req.attach(vec![Role::Guest]);
        }
    }

    Ok(req)
}


feat: node os module

Implement node os module in js, https://github.com/WasmEdge/WasmEdge/issues/1535 .
Module name "os" has been used by quickjs, and in windows "node:os" is not a valid name, so I named "nodeos" temporarily.
os.constants and os.networkInterfaces() return empty data.
os.getPriority(), os.loadavg() and os.userInfo() return fake data.
os.cpus() is unimplemented and will throw error.
os.totalmem() always return<PHONE_NUMBER> (4GiB, as much as wasm32 can use) and os.freemem() is totalmem() - memory.size.

rename nodeos.js to os.js

Will this name not conflict with this quickjs built-in os module?

Or, should re-export built-in os module in os.js?

rename nodeos.js to os.js

Will this name not conflict with this quickjs built-in os module?

Oh, I forget it.
https://github.com/second-state/wasmedge-quickjs/blob/a471968c0f1b0df28d59f2a4d08d71b2ae0d9a7d/src/quickjs_sys/mod.rs#L369
quickjs built-in os module is registered by this line.
modify it to js_init_module_os(ctx, "qjs:os\0".as_ptr() as *const i8);  just ok.

I rebase my branch to latest main, rename nodeos.js to os.js, and re-export qjs:os in os.js.


update checklist

For issue fixes
Fixes ISSUE #xxx
For updates and changes
Changes:

Fixes ISSUE #16
Add a note for MKL with numpy/scipy

Fix check list issue without any functionality change. Skip the review part