rule for ValueError: I/O operation on closed file.

ruff does not complain about:
with open('/a.txt', "w") as f:
    f.write('a')
with open('/b.txt', "w"):
    f.write('b')

but python does:
ValueError: I/O operation on closed file.

Do you think the rule could be generalized to disallow method calls on any object defined in a context expression after the with statement.

@MichaReiser no, you can safely use many objects after their context is exited :) we'd need type-inference for that to be broadly correct.

For example with with pytest.raises() as exc_info you have to use the object after the context is exited.

We would probably need to make this specific to open calls (which would be okay).

https://github.com/wemake-services/wemake-python-styleguide?tab=readme-ov-file finds this
flake8 --select WPS441 somefile.py
https://wemake-python-styleguide.readthedocs.io/en/0.16.1/pages/usage/violations/best_practices.html#wemake_python_styleguide.violations.best_practices.ControlVarUsedAfterBlockViolation


fix: add us-east4.gcp to regionMapping

added the region us-east4.gcp to regionMapping. currently snowflake_current_acount values resolve in nulls
Test Plan

[ ] acceptance tests

[ ] …

References

@AnatEzra81 thank you for your contribution!


Review CI for pip install . && nmodl.

Locally I'm getting an error for the following:
$ pip install .
$ nmodl
/nmodl/venv-dyn/bin/nmodl: error while loading shared libraries: unexpected PLT reloc type 0x00

Is this reproducible on BB5?

As discussed offline, it doesn't reproduce on BB5 or a mac.


Generators missing from 860

There are 152 records of plant/generator/years that exist in generation_eia923 and do not exist in generators_eia860. This corresponds to 28 plants. This is the count of generators by year that is missing:
2011: 0
2012: 20
2013: 39
2014: 48
2015: 45
These generators either should be dropped from 923 entirely or partially recreated in 860. Recreating the generator records in 860 would create a complete list of generators in one place but the records would be incomplete (i.e. energy source, capacity). The recreated generator records would propagate NA values through calculations that require those fields. Dropping the plants altogether on ingest would make running any subsequent functions simpler (you wouldn't have to deal with null values) but those plants would me gone.

@cmgosnell Is this issue still relevant, given the current status of the 860/923 normalization and ID harvesting?

this is no longer relevant because of the EIA entity tables generated from Issue #135


Pcfdev Container Networking

Hi,
Just read an article about the new container level networking. Can't wait to get hands-on with it. Is it going to be released with the pcfdev release?

Hi @amitoj, we are planning on including container networking in the next release of PCF Dev.

Great, thanks


Correct Compilation Issue by returning in StartAsync

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

I made a mistake, there is no compilation error here. I had lost the async keyword in the method signature when aggressively removing warnings.


Cargo should use a variable other than RUST_LOG for env_logger.

Suggestion: CARGO_LOG.
This came up during the Debugging session at Rust Belt Rust. Basically, as soon as people set up their project to use env_logger and set RUST_LOG=debug, they were super confused by the crazy amount of seemingly-random output suddenly on their screen, which appeared to include parse tokens of some sort? The same problem exists at the info level, though obviously to a lesser extent.
While it makes sense for most things to just use RUST_LOG, and it's true that you can solve this problem by specifying a module filter for env_logger, it seems like a common and confusing enough behavior, and a likely enough case that somebody would do RUST_LOG=debug cargo run and get a whole bunch of confusing output, that it likely makes sense to just use a different variable for Cargo.
In fact, while working on a potential PR for this, it happened again to the guy sitting next to me.  He wasn't a plant or anything!
The only potential downside here is if people expect RUST_LOG to work and it doesn't, but I suspect the number of workflows this would break is vanishingly small and it's a simple fix, so maybe that's not a big deal?
Anyway, PR coming shortly for feedback.

Noting for the record (there's a backlink, but still): https://github.com/rust-lang/cargo/pull/6190 fixes this but was postponed to a later date.

https://github.com/rust-lang/rust/pull/60401 was merged

Fixed via #6918.


the same function is also present in base.py

https://github.com/bessagroup/rvesimulator/blob/420db1b9b9b6800006a06689cb645cc71873bfe4/src/rvesimulator/cases/utils.py#L57-L100

fixed


No yarn

This change is

Sorry, wrong PR

Coverage remained the same at ?% when pulling 1e23d4f8c4f46735a60f3483ec5f5a675d1420be on Garethp:no_yarn into dc73be5fb3f5477e0550444f23dc66bcb1b28c42 on shakacode:master.


Use vscode native TestProvider API

https://github.com/microsoft/vscode-docs/blob/vnext/api/extension-guides/testing.md#migrating-from-the-test-explorer-ui
https://github.com/microsoft/vscode-extension-samples/tree/main/test-provider-sample

This work is in https://github.com/ply-ct/vscode-ply/tree/native-testing


regex_match (unicode) problem

When I set RegexTemplate = ([\u4e00-\u9fa5]) , starting the server will crash directly and the log will display in [ASAN | Loading]: Plugin Loading..
but when i set ([^\x00-\xff]) , the server was running
so i think maybe it 's a bug here
it looks like ... can't use \u ?

In addition, I have seen that you have not been active on Github for a long time. How are you doing recently?

Hello.
hm. i will check it soon.
Thank you.


WIP: haskellPackages.graphql-engine: 2.0.10 -> 2.2.2

haskellPackages.kriti-lang: init at 0.3.1
Towards getting hasura-related packages to work with Stackage Nightly /
GHC 9.0. Current Problem is that haskellPackages.graphql-parser doesn't
work with GHC 9.0 template-haskell. Possible remedy could be rebasing
this PR: https://github.com/hasura/graphql-parser-hs/pull/56
Hoping @Lassulus maybe feels like picking this up, I started on it a bit out
of boredom, but don't really feel like writing patches for the project tbh.
Description of changes

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

hmm, not sure I want to dig into the hasura code. But if I find the time (probably not, quite busy rn) I will try to do that :)

Remaining problem is that graphql-engine itself doesn't build with aeson 2.0 (but all of its dependencies does). Downgrading to aeson 1.5 is work as well, as some dependencies require aeson >= 2.0.

I'll merge this now since it reduces the amount of broken hasura-related packages to just one (graphql-engine itself) and let's us get rid of some overrides that were causing eval errors in the main branch.
Building it is pending https://github.com/hasura/graphql-engine/issues/8369 or a more elaborate set of overrides to downgrade to aeson 1.5.


assert explore exception：search failed due to Elasticsearch exception

Describe the bug
Abnormalities occur when viewing data assets

Version:

OpenMetadata version: 1.3.0

use  quickstart packages

@wuwuwuuw closing this, as this does not seem OM-related. You should look into your Elasticsearch resources.


Lazy routes not working

I have a project based off of the Angular 2 dotnet new SpaTemplate where I had a router which used a number of lazy loaded modules.   I then used the generator-aspnetcore-spa to create a version sample compatible with Angular 4.   I then used the Angular 4 version as the template for upgrading my Angular 2 project.
Now that I have changed over to Angular 4 my lazy loaded routes aren't working anymore.  I get a message in the browser about the module not being found.  The routes themselves haven't changed from the V2 version.
I also added a simple lazy loaded module to the plain yeoman version and it behaves the same way so it definitely appears to be something about the new version - either the routing logic changed or webpack isn't doing its thing, etc.

See thsi SO: http://stackoverflow.com/a/43396199/522322
Modify webpack.config.js:
const path = require('path');
const webpack = require('webpack');
const merge = require('webpack-merge');
const CheckerPlugin = require('awesome-typescript-loader').CheckerPlugin;
const ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = (env) => {
	// Configuration in common to both client-side and server-side bundles
	const isDevBuild = !(env && env.prod);
	const isSSREnabled = (env && env.ssr) ? true : false;

	console.log(`==== Dev: ${isDevBuild} SSR: ${isSSREnabled} ====`);

	const sharedConfig = {
		stats: { modules: false },
		context: __dirname,
		resolve: { extensions: ['.js', '.ts', '.scss'] },
		output: {
			filename: '[name].js',
			publicPath: '/dist/' // Webpack dev middleware, if enabled, handles requests for this URL prefix
		},
		module: {
			rules: [
				{
					test: /\.ts$/, exclude: [/\.(spec|e2e)\.ts$/],
					use: [
						{
							loader: 'ng-router-loader',
							options: { loader: 'async-import', genDir: 'compiled' }
						},
						'awesome-typescript-loader',
						'angular2-template-loader'
					]
				},
				{ test: /\.scss$/, use: ['to-string-loader', 'css-loader', 'sass-loader'] },
				{ test: /\.css$/, use: ['to-string-loader', isDevBuild ? 'css-loader' : 'css-loader?minimize'] },
				{ test: /\.html$/, use: 'html-loader?minimize=false' },
				{ test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=25000' }
			]
		},
		plugins: [new CheckerPlugin()]
	};
...

The code snippet alse has a scss support. You will need to npm i -D ... all the required packages(cant remember which).

Thanks for the answer, @skorunka!

The route configuration is the same as before but what I did have to add were the differences outlined in the webpack.config.js and import the ng-router-loader.
Since this is the required configuration to make lazy routes work, any reason to not include it as part of the default template?

@clintsinger Yes, I think it should be included by default.

@clintsinger @skorunka Would either of you be willing to write up the steps to enable lazy routes as a wiki entry under "Recipes" here?
If others want to do this, it would be great to have a clear place to point them. And then if it turns out to be a common request, we can certainly consider migrating it to be in the default setup.

@SteveSanderson Sure. Do I need a permission to edit the page?

I had the same "problem" with Angular2 template. There was information somewere in this repository.
Anyway I made the same things i have done for Angular2.
Add angular2-router-loader package and change webpack config to
                {
                    test: /\.ts$/, include: /ClientApp/, use: ['awesome-typescript-loader?silent=true','angular2-router-loader', 'angular2-template-loader']
                },


Screen Display and File Output

Is there any way with this plugin to output both to a file (using the formatter) and the screen using the default formatting? The --tee option outputs to both file and screen however xml is written to the screen.

Currently no.
But once I tried (and perfectly forgot about it), so I'll check and consider it agin.

Any update on this ?

Any update on this ?

I first thought that I had the same request, having added format = junit-xml to my project's setup.cfg. But then I realised that this option could instead just be added when calling it within my CI server's context, so I moved it to (in my case) the invocation within a .gitlab-ci.yml file:
    script:
    - flake8 --format junit-xml > flake8-report.xml

In the terminal, flake8 remains default format, CI gets nice test reports.

+1 for this. I'd like to be able to write to an xml file and print the Default content to screen


Modulith-actuator + Native = ClassNotFoundException: com.tngtech.archunit.core.importer.ModuleImportPlugin

Following advice from @odrotbohm in https://github.com/spring-projects/spring-modulith/issues/365 I tried to create a minimalist example of spring native + spring modulith with actuators, using latest versions available from https://start/spring.io, but I got the same error.
What I did : create new project from https://start.spring.io , with

latest Spring Boot (3.3.1),
Maven,
JAR,
Java 21,
dependencies on native, modulith and actuator,

resulting in the project visible here : https://github.com/fpoyer/spring-modulith-native-actuator
What I expected : to be able to compile a native image and run it with no error
What I got : error on startup ending with
Caused by: java.lang.ClassNotFoundException: com.tngtech.archunit.core.importer.ModuleImportPlugin

What I tried :

changing dependency from spring-modulith-observability to spring-modulith-insight => same result
removing dependencies to spring-modulith-observability and spring-modulith-insight => application starts as expected, but no modulith actuator (obviously)

Am I missing something obvious or is spring-modulith-actuator still not compatible with native image compilation ?

I unfortunately cannot get the reproducer to run as the build fails with:
[INFO]     [creator]     #
[INFO]     [creator]     # A fatal error has been detected by the Java Runtime Environment:
[INFO]     [creator]     [thread 258 also had an error][thread 256 also had an error]#
[INFO]     [creator]     #
[INFO]     [creator]
[INFO]     [creator]     SIGSEGV (0xb) at pc=0x00007ffffe939ac5, pid=224, tid=257
[INFO]     [creator]     #
[INFO]     [creator]     # JRE version: OpenJDK Runtime Environment Liberica-NIK-23.1.3-2 (21.0.3+10) (build 21.0.3+10-LTS)
[INFO]     [creator]     # Java VM: OpenJDK 64-Bit Server VM Liberica-NIK-23.1.3-2 (21.0.3+10-LTS, mixed mode, tiered, jvmci, compressed oops, compressed class ptrs, parallel gc, linux-amd64)
[INFO]     [creator]     # Problematic frame:
[INFO]     [creator]     # V  [libjvm.so+0xf39ac5][thread 253 also had an error]
[INFO]     [creator]       ObjectSynchronizer::quick_enter(oopDesc*, JavaThread*, BasicLock*)+0x15
[INFO]     [creator]     #
[INFO]     [creator]     # No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
[INFO]     [creator]     #
[INFO]     [creator]     # An error report file with more information is saved as:
[INFO]     [creator]     # /layers/paketo-buildpacks_native-image/native-image/hs_err_pid224.log
[INFO]     [creator]     [thread 252 also had an error]
[INFO]     [creator]     [2.900s][warning][os] Loading hsdis library failed
[INFO]     [creator]     #
[INFO]     [creator]     # If you would like to submit a bug report, please visit:
[INFO]     [creator]     #   https://bell-sw.com/support
[INFO]     [creator]     #
[INFO]     [creator]     Error: Image build request for 'com.example.spring_native_actuator.SpringNativeActuatorApplication' (pid: 224, path: /layers/paketo-buildpacks_native-image/native-image) failed with exit status 134
[INFO]     [creator]     unable to invoke layer creator
[INFO]     [creator]     unable to contribute native-image layer
[INFO]     [creator]     error running build
[INFO]     [creator]     exit status 134
[INFO]     [creator]     ERROR: failed to build: exit status 1
[INFO] ------------------------------------------------------------------------

That looks like a buildpacks issue, though. What I can see though, is that the architectural description is generated for inclusion in the image:
[INFO] --- spring-boot:3.3.1:process-aot (process-aot) @ spring-native-actuator ---
…
… c.e.s.SpringNativeActuatorApplication    : Starting SpringNativeActuatorApplication using Java 21.0.3 with PID 97936 (/Users/odrotbohm/temp/spring-modulith-native-actuator/target/classes started by odrotbohm in /Users/odrotbohm/temp/spring-modulith-native-actuator)
… c.e.s.SpringNativeActuatorApplication    : No active profile set, falling back to 1 default profile: "default"
… com.tngtech.archunit.core.PluginLoader   : Detected Java version 21.0.3
… onfiguration$ApplicationModulesBootstrap : No application modules detected!
… pplicationModulesFileGeneratingProcessor : Generating application modules information to META-INF/spring-modulith/application-modules.json

Also, the example includes the currently unsupported observability JAR (via the insight starter). If you flip that to only include the spring-modulith-actuator and run ./mvnw -Pnative clean native:compile you'll get an artifact that starts successfully.

The failing buildpacks build seems to be related to being in an M1 Mac. I.e., you should see your project build when flipping the dependency to only include the actuator one.

spring-modulith-observability seems is the problem indeed, removing it from the classpath (by changing spring-modulith-starter-insight to spring-modulith-actuator solves the situation.
Thanks for your help !


server rendering?

Hello! So while I've submitted this pull request and would be excited were it merged (and then improved, still tons to do I'm sure), this is also simply a nice format for an RFC to see if this is something the community is interested in in, how it can be approved, what I've done terribly wrong, etc.
There are basically 2 things going on:

Generating HTML on the server

mock.js updated so we get innerHTML property
isomorph.js created to interface with mithril and give user back some html

Building the cache and attaching events in the browser

new "existing" redraw strategy

Say you are using express, you can run your server and do something like:
var mi = require('mithril/isomorph');
var router = require('./app/my-router.js');
app.get('*', function(req, res){
    var html = mi.isoRoute(router, req.url, 'pathname');
    res.send(html);
});

And then in the browser you might have:
document.addEventListener("DOMContentLoaded", function(){
    m.redraw.strategy('existing');
    m.route(document.querySelector('body'), '/', router);
});

I'm sure there is tons more to consider, special cases.. but maybe this is a decent start? Whatever the case, I would love to see server side rendering make it into mithril core one way or another.

Nice attempt.
redaw.strategy() = 'existing' would be also really awesome for mithril-node-render.
How do you want to handle async data-dependencies that are required in order to render the page?
Other question is why do you want the rendering itself in the core, while this can easily be done in userLand.

Other question is why do you want the rendering itself in the core, while this can easily be done in userLand.

Are you referring to the server side of things? ie it is easy enough for a user to just require mithril, write a few lines of code and generate the html?
One reason is that in order to accomplish this, nothing was actually added to mithril. All the code for server rendering is in mock.js and isomorph.js, so mithril stays nice and small.
Another (and I think far more important) reason, is that if a potential user 'x' is evaluating frameworks, it is a great feather in the mithril cap to have the bullet point "Super easy isomorphism". Along these lines, if this is in core, it will get a lot of eyes on it, people contributing to it, finding/fixing bugs and all that good stuff. User 'x' would feel very comfortable that they have a well cared for implementation.

How do you want to handle async data-dependencies that are required in order to render the page?

Ah, good one! I gave this zero thought.. as I said, I'm sure plenty still to do :smile: Do you know how react/etc deal with this? I guess the first question is basically the other point you brought up.. should we help the user with this or leave it up to them?

There is a benefit of course to using Mithril for rendering either just on the server or on the client. The crux of the matter IMHO is to use Mithril to render initial HTML on the server, and then steamlessly continue to use Mithril on the client.
Consider this use case. Some mithril/isomorph on the server renders HTML for the initial page. The HTML includes an INPUT tag into which the user starts typing before the initial page is completely loaded.
If Mithril on the client now rerenders the initial page, the user will lose what he's typed. Mithril on the client would need to internally hydrate the state of the HTML without redrawing, then it could continue normally.
Rendering on the server alone is sufficient for SEO purposes, and I believe @Leo thinks that being able to hydrate on the client is of questionable value.
However our mobile apps are used often enough in marginal parts of the world and the use case above occurs.

@eddyystop WRT persisting state between page load and application init, a quick hack would be simply to disable user input until the page is ready. Something like this at the bottom of the HTML might be able to handle that?
<script>
// Expose the return function so you can execute it after your first render
var release = ( function preventInteraction(){
	// All interactive elements on the page
	var interactives = document.querySelectorAll('a,area,button,input,select,textarea,[contenteditable],[tabindex]');

	// Prevent any kind of activity
	[].map.call( interactives, function preventFocus( el ){
		el.addEventListener( 'click', stop, false );
		el.addEventListener( 'focus', blur, false );
	} );

	return function(){
		// Remove the event listeners
		focusables.map( function reinstate( el ){
			el.removeEventListener( 'click', stop );
			el.removeEventListener( 'focus', blur );
		} );
	};

	function blur( e ){
		e.target.blur();
	}

	function stop( e ){
		e.preventDefault();
	}
}() );
</script>

@barneycarroll , disabling input wouldn't be acceptable. We might as well wait for Mithril to render client side, and handle spiders as special cases.

@eddyystop at face value that's a completely rational desire — the user is king  — but at the end of the day technology has its limitations and something will always be better than nothing. Right now the choice is either between nothing or some holding content until full app init, or what appears to be the full app, but resets any interactions on load. At some point you need to run some initialisation and load your scripts, during which time the user will not have the full experience. That's an unavoidable fact — if they already had the full experience there wouldn't be any need to load or execute anything further — the question is how best to handle the moment in between.

For those interested in isomorphic Mithril (especially the async data part), take a look at @jsguy's misojs.
Re: hydration - this topic has popped up a few times already (most recently, I've commented on it here). Someone still needs to explain to me why it's somehow faster to download HTML populated w/ potentially-expensive-to-query database data THEN download the raw Mithril modules/templates/etc for your app THEN have the app re-fetch the same database dataset as part of the normal Mithril bootstrapping process (and all of this over starbucks' wi-fi), and only THEN be at a fully hydrated state, where interactions are guaranteed to work.

@lhorie I was just going to say the Ember community seem to have got something they're quite happy with in this domain, although I haven't had time to investigate. There does seem to be a fair bit of self-congratulating delusion around solving tricky programming problems with solutions that leave a lot to be desired for the end user. There was an article reposted on Javascript Weekly titled something to the effect of 'how I learned to give up on my rational suspicion and love isomorphism', but the turning point for the author was a drunken exchange with a Twitter dev and didn't expound upon any of the salient logic or use latency data. As stated above, at some point I believe you have to make a tradeoff — you can end up reviving state completely but in doing so you've wasted server latency fetching resources and use latency fetching a compiled snapshot of the app whose uncompiled components will need to be requested separately. Like it or not you are inevitably dealing with two runtime separated by implementation technology and latency. That's not lack of developer ambition, it's just a fact. The ultimate use case would seem to be for an application which has a high likelihood of just being loaded once and then ditched without any further user action — at which point you'd still need to do extra work to make sure they weren't pointlessly downloading the scaffolding twice and then still suffer the latency of the browser runtime application load. There's a Holy Grail here that sounds very similar in symptoms to the 'RequireJS + bundled resources' which has seen very limited success despite a huge amount of heavy investment over many years.
Another strategy, off the top of my head: bind all your interactive elements to a config function that re-triggers input on first execution and then becomes a noop on the next tick. Proof of concept:
var persist = m.prop( function init(){
	var queued = m.prop( false );

	return function trigger( el, init ){
		el.oninput();

		if( !queued() ) queued( setTimeout( persist.bind( undefined, noop ) );
	}

	function noop(){}
}() );

// Meanwhile, elsewhere...
m( 'input', {
	config : persist(),
	value  : prop(),
	oninput: m.withAttr( 'value', prop )
} );

Something like sweet.js could do static analysis and remove the need for a config binding in the source code, allowing this behaviour to take place automagically: you could parse the code for all instances of attribute properties matching /^on/. For each of these, you append a script tag that grabs the last element in the tree and attaches handlers for all such events that wait for a single global config to unbind all of them, and on execution remove the handlers.  That's a massive load of work, and I bet nobody will ever honestly think the alternative is so unacceptable that they'd actually go ahead and do it, but I'd be eager to hear of conceptual alternatives.

Re: hydration - this topic has popped up a few times already (most recently, I've commented on it here). Someone still needs to explain to me why it's somehow faster ...

For me, the appeal of this concept does not really have much to do will fully loaded application speed.
Having said that, I would propose that this gives the developer great flexibility, and I would be very surprised if there are zero use cases in which a nice hydration option could be leveraged to speed up load time. Maybe I am missing something, but would not a simple, mostly static information page with an event handler or two be ready to go and (especially) presented to the user quicker? And aren't those types of pages very common (while maybe not particularly technically interesting)? I could also see some database caching stuff for common application states on more complicated pages being served and ready to go faster: a page might have multiple modules which would make separate xhr requests, whereas they could all be served from a cache and rendered on the server in a single go?
Speed aside, why I really like the concept: one, code reuse; two.. it just feels right? One is pretty obvious, we write all our m() view stuff once and get to use it front and back. And I think that is pretty great. As for two, I dunno, it just seems like such a solid, comprehensive, safe way to create web pages. If a user has javascript disabled (I actually know a real life normal person who does this by default!) they still can get a functioning site.. the user gets to see something faster.. some strange browser/addon/whatever causes something to go wrong with javascript and thus not render correctly as an SPA, they've still got a page to look at when served.. etc?
As has been said, generating html on the server via mithril can be done with no changes to mithril, but without mithril later hydrating and not just simply rebuilding everything, you'll always have a somewhat clunky paradigm that can also result in a clunky experience re: input, scrolling, etc.

without mithril later hydrating and not just simply rebuilding everything, you'll always have a somewhat clunky paradigm that can also result in a clunky experience re: input, scrolling, etc.

@kedashoe code reuse is one of arguments that I agree with when it comes to the proposition of isomorphic apps. I also get that some people might legitimately want server rendering for SEO or whatnot regardless of what I think about the performance implications.
My concern is this: hydrating ideally needs to work in all scenarios, otherwise we're just shifting the point at which things get clunky. It doesn't make sense to have something that works in a mostly static page with a couple of events, but that doesn't work in a mostly static page with a couple of events that should update an entity when you click the save button. The line between what works and what doesn't is pretty arbitrary, and it might as well not work in both cases.
WRT to the pull request: on a separate topic, I'm thinking about the properness of m.redraw.strategy in general and whether it should even exist (see #409 and the issues that reference it for some context). Because of that, I'm a bit reluctant to add more functionality of top of the redraw strategy API. I do like the idea of the opt-in though (which is achieved via declaring strategy("existing") here)

WRT to the pull request: on a separate topic, I'm thinking about the properness of m.redraw.strategy in general and whether it should even exist (see #409 and the issues that reference it for some context).

Ya, seems to be a lot going on right now! I've been trying to follow along with everything as I've been learning mithril. I didn't actually use m.redraw.strategy at first but a new private variable that could be set as an optional parameter on m.route. m.redraw.strategy seemed like a nice fit, but we could use anything here.

Added isoRender and isoModule.
Also added a couple tests under e2e. The async test using Syn fails when run from the command line but works when run in the browser, anyone know why that might be happening?

How do you want to handle async data-dependencies that are required in order to render the page?

I'm going to leave this alone for now. I think an onhydrate (or whatever name) hook would be nice, but I believe we can get this behavior with config by checking the redraw strategy, eg
function configFn(el, isInitialized, ctx) {
    if (!isInitialized) {
        if (m.redraw.strategy() === 'existing') {
            // we just finished hydrating
        }
        else {
            // finished default mithril rendering
        }
    }
    else {
        // not our first time
    }
}

Hi Kedashoe,
Looks like a nice piece of work :)
In miso, I have full control of the rendering, and the data fetching pipelines, so I've simply implemented a binding for rendering, which is only executed when the data has finished loading - you can do that here, but if you were to expose a hook as you mentioned, that would be ideal, as it would allow users such as myself to use it right now. In case you're interested, here is the code, _misoReadyBinding is a "promise-like" binder - I say promise-like, because using actual promises won't work, I think due to the reason that Leo mentions here.

https://github.com/amark/theory
Abstraction layer for cross platform JavaScript.

I'm going to close this for now and investigate further by using it with some projects. Thanks for the responses everyone and thanks for the awesome framework @lhorie :fireworks:


Template module for catalog-services condition

Note: this PR will not be merged!

This branch will remain unmerged as a module template for catalog-services condition
Purpose of the PR is to make it easier to view the catalog-services condition specific changes and get a chance for feedback
Opening the PR in 'draft' state so it won't accidentally be merged, but it is ready for review.

Updates the examples to be more catalog-service condition-y Preview README.tmpl.md

Thanks for the review @findkim! Going to close the PR and let this branch hang out in our repo :)


Extend support for Custom CA to parquet service

Add support for Custom CA certs to Parquet.
Currently, only the W&B app has the support.
Probably a “copy and paste” from
https://github.com/wandb/helm-charts/blob/main/charts/operator-wandb/charts/app/templates/_deployment.tpl#L293-L297
https://github.com/wandb/helm-charts/blob/main/charts/operator-wandb/charts/app/templates/_deployment.tpl#L76-L80
https://github.com/wandb/helm-charts/blob/main/charts/operator-wandb/charts/app/templates/configmap.yaml

https://github.com/wandb/helm-charts/pull/254


Messagebus exploration

Proof of Concept
Description
This is a Proof of Concept for discourse/message_bus as an alternative transport
I tested it against expo, to make this work you need to make the following changes there:
in application.rb, insert the message bus rack middleware:
require "message_bus"
...
    config.middleware.use MessageBus::Rack::Middleware

in routes.rb, mount the StimulusReflex engine:
  mount StimulusReflex::Engine, at: "stimulus_reflex"

I think this is valuable as a general exploration that alternative transports are possible, using https://github.com/hopsoft/stimulus_reflex/pull/183 and an adapted version of @jonathan-s 's https://github.com/hopsoft/stimulus_reflex/pull/182 where I fixed some issues.
Note that when I tested this, some features of expo (e.g. validation, book search) became glitchy both for message bus and action cable, while others (tabular, todo list) work. This might be configuration/timing issues of MessageBus, or some issues introduced in the extraction of adapter.js, or new bugs creeping in - at this point I cannot really tell. I would ask @jonathan-s to review his PR and double check that it works so I can then pull this in.
In my opinion, a HTTP transport would solve scalability considerations some users have uttered, while it is clear that probably MessageBus is not the right choice due to the hoops I had to jump through while making it talk to cable_ready.js properly.
Then, it occurred to me that this very JS part of CableReady is actually backend agnostic and calling anything called "Cable..." from an HTTP transport might be confusing.
So all in all, this PR is for you to explore, and a good point that the abstractions I chose in https://github.com/hopsoft/stimulus_reflex/pull/183 were correct.

I still look at this code frequently, but it's fair to say that it's now just an artifact that will inspire v4 greatly.


Getting an error message after restarting HASS Core

Logger: homeassistant.setup
Source: setup.py:162
First occurred: 9:25:24 AM (1 occurrences)
Last logged: 9:25:24 AM
Setup failed for custom integration mass: Unable to import component: No module named 'aiofiles.ospath'
I haven't seen anyone else with this issue, unless I'm missing something.

Probably this means you have another custom integration set-up that requires aiofiles and it installed an older version than the version required by MA (which is 0.8+)

I have the same issue

There's another custom integration causing a conflict. Music Assistant requires aiofiles 0.8.x (the latest) for a few functions.
I've just looked at the code and with a few adjustments I can make it compatible with aiofiles 0.7.x (previous version) so I'll go with that instead of trying to search for a needle in a haystack for the integration causing the conflict.
So long store short you may expect this issue to be fixed in next update.

Fix released in 1.1.17


Add missing test cleanups

Add missing cleanup codes for AP-mode repair eqc. Without it, it made other test cases fail (depending on execution order.) The cleanup includes process termination in #state of the test, which mitigates process leak memtioned at [1] but does not solve completely.
Also it adds -v flag to rebar eunit command
[1] https://github.com/basho/machi/issues/37#issuecomment-152521760

+1, great work as always.

@shino Awesome work! :hamster:


Unable use make command

when I run make within the jupyter-cytoscape directory I get the following stack trace. Any suggestions on how to fix this or if its a bug ?
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration[0].output.path: The provided value "../cyjs/static" is not an absolute path!
   -> The output directory as **absolute path** (required).
 - configuration[1].module has an unknown property 'loaders'. These properties are valid:
   object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, defaultRules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp?, strictExportPresence?, strictThisContextOnImports? }
   -> Options affecting the normal modules (`NormalModuleFactory`).
 - configuration[1].output.path: The provided value "../cyjs/static" is not an absolute path!
   -> The output directory as **absolute path** (required).
 - configuration[2].module has an unknown property 'loaders'. These properties are valid:
   object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, defaultRules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp?, strictExportPresence?, strictThisContextOnImports? }
   -> Options affecting the normal modules (`NormalModuleFactory`).
 - configuration[2].output.path: The provided value "./dist/" is not an absolute path!
   -> The output directory as **absolute path** (required).

I'm also interested in what it would take to get jupyter-cytoscape running again - especially with jupyterlab.

It turns out to be a simple fix to get the makefile to work.
Change:
(cd ./js; webpack --config webpack.config.js)
To:
(cd ./js; node_modules/.bin/webpack --config webpack.config.js)


Correct my name :P

Ping, @jerrymarino 😄

@mattrobmattrob thanks for the fix - and of course all of your help 👍


to use as "database-augmenter-2"

[x] add option in settings: "DISABLE_EXPORT_TO_MF = False or True"
[x] use DISABLE_EXPORT_TO_MF in models.Security.save

if DISABLE...: return

[x] add fields to models.Security

bloomberg_code = models.CharField(max_len=10, default=None, ...)

[x] add to import script a part that imports all TITRE from Dubai/Lebanon

@shadiakiki1986 field added


White screen on flutter web 1.10.15-pre179

After updating flutter to newest version through AUR package flutter-git on Manjaro, Flutter Web completely stopped working.
Only showing white screen and nothing else,
Logs from Flutter doctor and verbosely running web server:
https://pastebin.com/PhneNk7n
System info:
Manjaro Linux 5.2.21, all packages updated
Flutter 1.10.15-pre.179
Ryzen 3 2200U

I'm not able to reproduce the issue - are there any failures in the network tab? From looking at the bit of DOM it looks like something is rendering, what does you application look like?

Nothing here either

This is how app looks on phone

Have you tried enabling mobile view emulation in Chrome devtools? (it's the button in the top-left corner that looks like a phone and a tablet). I'm wondering if the issue is with the layout, e.g. MediaQuery.

I am also facing the same problem with flutter web after upgrading to 1.10.15 .. IT was working perfectly fine then in terminal i got a message to upgrade. and as soon as I did upgrade.. the window became blank, like the ones showed in earlier comments. What is the solution?

I have tried enabling mobile view and still nothing, no fix found

Same thing happens to me too, with 1.10.15 - pre284 on windows 10 both on vs-code and android studio (updated to newest releases etc) :
"flutter run -d chrome -v" results in eternal awaiting with last output as "Attempting to connect to browser instance..". Chrome opens and remains with blank screen.
When running with "flutter run -d web-server -v" and "flutter run --profile -d chrome -v" everything works as expected.

For me it's not the same, flutter run -d chrome, flutter run -d web-server and flutter build web all do the same... I used headless-server before but since newest version it doesn't exist

I tried both "flutter run -d web-server -v" and "flutter run --profile -d chrome -v" .. still seeing the blank screen.

Can someone please provide a small app that reproduces this?

Ok, so it looks that my problem is actually shared_preferences package, not flutter itself, I am sorry for inconvenience, but if some of you have different problem please try to send small app for testing

Closing this issue since shared_preferences package has added web support. Please reopen if you still see issue.


Docs

Updating all files until Sprint 10

Pull Request Test Coverage Report for Build 139

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

Totals

Change from base Build 134:
0.0%

Covered Lines:
115

Relevant Lines:
119

💛  - Coveralls


Re-instate OSMC as listed project

OSMC still uses MirrorBits and this hasn't changed for several years.

Merged :)


XMLHttpRequest follows redirects behind the scenes, mirage does not

When actual servers responds with
  return new Mirage.Response(302, { location: '/user' });

browser automatically follows a redirect and returns JSON data from '/user' route as if it was coming from initial route. Mirage, on the other hand, returns the redirect response to the Ember app.
Transparent redirects are described by XMLHttpRequest standard.

This would probably need to be fixed in the underlying Pretender library

Closing due to inactivity.


Use pseudo element to represent shell prompt

This is an improvement on #1575.

Nice. Given that we only have one user of it, I don't think it's significantly shortening the code. But I like the pattern it sets up, so let's go with it!

Nice. Given that we only have one user of it, I don't think it's significantly shortening the code. But I like the pattern it sets up, so let's go with it!


Stop using "cluster admin" role and restrict to ns

Heron doesnt need "cluster admin" level permissions, and based on helm chart set up also does not need to manage resources across kubernetes namespaces. Therefore we should be using a Role and RoleBinding combo to only allow heron apiserver to perform actions on statefulsets in its own namespace.
see https://github.com/apache/incubator-heron/issues/3615#issue-701399133

The Kubernetes scheduler also creates and deletes namespaced services using the coreClient as seen here.


Fix "Compiler failed" when aggregation is used as an argument to format()

Please update the commit title to ~50 characters, something like

Allow using aggregation as argument to format()

We follow these guidelines: https://chris.beams.io/posts/git-commit/

as discussed with @martint , took the refactor out and created another PR (#3859 ) to fix this issue, closing this PR.


action.Install installs chart in Namespace, but deploys in kubecontext namespace.

I'm using the Go SDK. It's way easier to use now that we're not establishing tunnels to Tiller and everything appears much tidier. It seems though there might be some leaks in the abstraction to plug up though?
So I'm setting the Namespace like so:
installAction.Namespace = d.Namespace()
values := map[string]interface{}{}
_, err = installAction.Run(chartRequested, values)

My chart is registered in the Namespace I specify, but the resources are all deployed in the default namespace.
I've read some other issues that seem to indicate the kubecontext is used to deploy resources and the namespace setting only tells helm where to store its configuration.
The chart I'm using also probably has not been modified to work with helm3, but when I deploy it using the command line and specifying -n it works fine.
I'm assuming this means that the CLI is modifying the kubecontext to compensate via the EnvSettings.
Output of helm version: v3.1.2
Output of kubectl version:
Cloud Provider/Platform (AKS, GKE, Minikube etc.):

So it looks like the reason helm installs the chart config in the namespace I specify comes from here:
https://github.com/helm/helm/blob/v3.1.2/pkg/action/action.go#L223
Which I am doing.
	if err := actionConfig.Init(helmEnvSettings.RESTClientGetter(),
		d.Namespace(),
		helmDriver, debug); err != nil {
		return err
	}

Logging the release indicates that the Namespace is not being added to the rendered documents.
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app: mongodb-replicaset
    chart: mongodb-replicaset-3.9.5
    heritage: Helm
    release: mongodb-integration

I'm glad the client experience works better for you.
The Helm CLI uses the SDK. Have you looked at how that's working? If not I would look at two places. First, there is the code where the install command happens. You can find it at https://github.com/helm/helm/blob/v3.1.2/cmd/helm/install.go. Then there is where action config is initialized. You can find that at https://github.com/helm/helm/blob/v3.1.2/cmd/helm/helm.go#L64
Helm has the capability to store the release in a different namespace from kubernetes objects. There are some who need to leverage that though it's not the most common case by far.
If your code is open source I would be happy to take a quick look and see if there is an obvious reason for your issue.

@mattfarina I think I'm getting close to fixing this using the debugger. I've been following what the CLI does and with the debugger when it comes into renderResources the Release object in chartutil.Values has an empty Namespace.

Looks like namespace is not properly exposed to be set 😅 I think the main field to look over here is this one
https://github.com/helm/helm/blob/v3.1.2/pkg/cli/environment.go#L41
and I can see that it gets set by the -n flag here
https://github.com/helm/helm/blob/v3.1.2/pkg/cli/environment.go#L64
and how it's accessed over here
https://github.com/helm/helm/blob/v3.1.2/pkg/cli/environment.go#L113
But it's still namespace and not Namespace.

@Freyert The 2to3 plugin sets it as follows: https://github.com/helm/helm-2to3/blob/master/pkg/v3/connect.go#L42

More debugger findings:
from action.Install.Run

So from watching the debugger the namespace isn't being passed correctly here:
https://github.com/helm/helm/blob/master/pkg/chartutil/values.go#L144-L151

One note to add here: it’s intentional that the namespace is not added to the manifests. It’s not required; you just need to set the kube client’s namespace parameter and the resources will be installed in the intended namespace: https://github.com/helm/helm/blob/master/pkg/kube/client.go#L136
In your code, how is your kube.Client initialized?
https://github.com/helm/helm/blob/master/pkg/cli/environment.go#L137

I might be trimming some stuff out here from what I followed the CLI doing.
First initialize the settings the way the CLI is doing it because I don't really care to invent a new and nifty way to get config.
var (
	helmEnvSettings = cli.New()
)

Another pretty much straight rip from the CLI code.
	if err := actionConfig.Init(helmEnvSettings.RESTClientGetter(),
		d.Namespace(),
		helmDriver, debug); err != nil {
		return err
	}

Try setting this parameter...
https://github.com/helm/helm/blob/master/pkg/kube/client.go#L61

Looks like the reason those values are undefined in my screenshots from the debugger is because it can't properly evaluate the interface. So that's probably not the problem.
I'll try setting this parameter will have to dig around and figure out how.

So quickest hackiest way to do it with my current setup which tries to emulate the CLI is to add:
os.Setenv("HELM_NAMESPACE", "mongodb-integration") before every re-initializing the envConfig which would have to be done on every new release deployed.

I would expect setting the Release namespace to be respected in this case though as that variable is used in the chart as seen here.
And why would you set client.Namespace = settings.Namespace() if it doesn't do anything?
https://github.com/helm/helm/blob/3706aa7ca666fda6d8301c55118fa1c092f124a2/cmd/helm/install.go#L223

Seems like there's a lot to unpack here and the gist of it is it's probably not good to use the CLI's EnvironmentSettings function when driving the SDK. It seems to have a run once approach which works well for an invoked CLI, but not great from an SDK standpoint. That's just the perception I'm developing though.

And why would you set client.Namespace = settings.Namespace() if it doesn't do anything?

The namespace parameter is used in a few places across the install action. The kubernetes client is a separate client that needs to be initialized separately, which is probably why there's a bit of confusion over what that parameter does in this case since the kube client is initialized prior to calling the install action.
For example:

we use it to set the in-memory driver's namespace on --dry-run: https://github.com/helm/helm/blob/783be10aef396150f8f5c0fbdd1d41751557e11e/pkg/action/install.go#L199
it's used for --create-namespace: https://github.com/helm/helm/blob/783be10aef396150f8f5c0fbdd1d41751557e11e/pkg/action/install.go#L288
it's used to create the release secret in the correct namespace: https://github.com/helm/helm/blob/783be10aef396150f8f5c0fbdd1d41751557e11e/pkg/action/install.go#L433

Your assessment is correct here though, the cli package is really meant to be used for the Helm CLI. If there are parts that can be refactored out of that package and turned into a more SDK-friendly  action config package, we'd be open to suggestions.

@bacongobbler looks like it's in my best interest do explore that :D). Thank you for all this detail and opening the floor for a PR.
My personal feeling is that whatever the solution for the SDK is should also be leveraged by the CLI since that is currently the best way for new SDK users to understand how to use the SDK.
My very narrow vision here is to add a Namespace(n string) function to the EnvSettings, but I see this having a lot of issues if you want to run concurrently.
Ideally, install would respect Release.Namespace and inject that into the rendered templates as it was done in the past (is this right)? This seems to be the missing piece because helm deploys the release configuration into the directory I specify, but I have no knob to tell it where to deploy the kubernetes resources.

I will close this one as a new issue to have a better configuration setup for the SDK is more appropriate.


@HostBinding like Annotation for class binding to the host element

Should this be an RFC?

[X] This is not a substantial change

Which package is this a feature request for?
Lit Core (lit / lit-html / lit-element / reactive-element)
Description
It would be nice if Lit had an annotation for binding classes to the host element.  More here.
https://stackoverflow.com/questions/78965676/adding-a-static-class-to-the-host-element-with-the-lit-element-framework
Angular has:
@HostBinding('class') class = 'someClass';

Alternatives and Workarounds
connectedCallback() {
this.classList.add('ELEMENT_CLASS');
}

Can you explain why this would be useful, perhaps by detailing a couple of use cases?
Ideally a custom element should treat its attributes like class as something the user of the element configures rather than the element developer. In addition, the styling environment in which the element is placed is dynamic so it seems unusual to always want to add a specific class to the element.

If someone is creating a framework with web components this allows the framework to provide both custom elements and external CSS classes that go with the elements in the framework.

Adding a feature like this would encourage a collision between the host element and the scope using the element. It also isn't coherent with style scoping, where an element should not assume what class selectors are active in the scope containing the element.
The way that an element should apply styles to itself is with the :host {} selector.

@justinfagnani all web components / elements that are styled as part of a framework have to come with classes already bound to the component.  All the Angular Material components do this.
Having a @HostBinding annotation available for such use cases just allows designers of component frameworks syntactic sugar.  It's a very common design pattern and React / Angular / ... all popular web frameworks have classes built in to the top level element and users can override these as necessary.


[innerloop] Fix innerloop by moving styles and adding missing dependencies

Description

There were two problems with the innerloop:

Some styles were depending on certain controls which are not part of the common innerloop
Some common controls were missing from the core innerloop

Both are being fixed by this PR by either moving the styles to the control package or adding the controls to the core innerloop.
Motivation and Context

Closes #5919
How Has This Been Tested?

Tested manually.
Screenshots (if appropriate):

@aqibbanday The issues should be fixed with this PR, feel free to try it out if you want.

@aqibbanday The issues should be fixed with this PR, feel free to try it out if you want.

Sure, thank you.

Hi, The project works now, but the inner loop app is blank. i enabled single feature and all features still bank.

What feature-areas did you include in your InnerloopArea.props file?

What feature-areas did you include in your InnerloopArea.props file?

Uncommented the one commented, after that tried all features together still blank.

Did you close and reopen visual studio after modifying the file and rebuild the app? Unfortunately, Visual Studio does not properly pick up changes to the InnerLoopArea.props file.
Also, there was a bug where the feature area did not build correctly, so you should pull the branch again.

Did you close and reopen visual studio after modifying the file and rebuild the app? Unfortunately, Visual Studio does not properly pick up changes to the InnerLoopArea.props file.
Also, there was a bug where the feature area did not build correctly, so you should pull the branch again.

Yes, i tried that. Will try this and revert tomorrow

Did you close and reopen visual studio after modifying the file and rebuild the app? Unfortunately, Visual Studio does not properly pick up changes to the InnerLoopArea.props file.
Also, there was a bug where the feature area did not build correctly, so you should pull the branch again.

Works.

Awesome, thank you for your help in fixing this @aqibbanday !

/azp run

@chingucoding Can you get main and resolve the conflicts?

/azp run

Thank you for submitting this PR, the current focus of the team is to assist our users in moving from WinUI 2 to WinUI 3. We are closing this PR as it does not address resolving a critical issue for WinUI 2 or WinUI 3.


Not getting authenticated when i use the redirectUri prop on the SocialLoginLink

If I specify a redirectUri on the SocialLoginLink component I get redirected back to the right URI, but I'm not authenticated. If I don't specify a redirectUri and use the default one I do get authenticated.
<SocialLoginLink providerId='facebook' redirectUri={window.location.origin}>

Hi @thedrew12 , this happens because we're doing the authorization code flow with facebook, which requires you to land on the /callbacks/facebook endpoint of our express app.  That endpoint handles the last part of the authentication flow by exchanging the facebook code for stormpath tokens.
If you need to redirect the user to a custom location after login, I would suggest this configuration in your express server:
app.use(stormpath.init(app, {
  web: {
    login: {
      nextUri: '/foo'
    }
  }
}));

That will cause the user to be redirected to /foo after the token exchange is done by /callbacks/facebook.
I hope this helps!

Hi @robertjd, thanks for getting back with me.
I added this to the express server.
    login: {
      nextUri: '/'
    },
    register: {
      nextUri: '/'
    }

But I'm still not getting authenticated. I tried a different nextUri like /explore, but that didn't work either. It redirects me to a custom route specified in the express server if I don't supply the redirectUri prop on the SocialLoginLink. Thanks for your time.

Thanks, can you enumerate the user story you're trying to support, so that I can make sure I'm pointing you in the right direction?

I'm trying to login/register in to our app using a social provider. Everything seems to be setup properly in the stormpath admin. I've tested this on two different domains, localhost and in a QA environment. Same issue, correct redirectUri, but no authentication.

Any ideas on how to fix this?

@thedrew12 are you still stuck on this one?  Sorry for the delay here, holidays :)

@thedrew12 Sorry about the delay with resolving this issue. I think you're misunderstanding the redirectUri property here. If I understand correctly, you're trying to redirect the user to some page after they are logged in? The redirectUri is not used for that - instead it's the URI the social provider (e.g. Facebook) should redirect to for your application to verify that the user has been signed in. Unless you've implemented your custom FB/whatever login checker, you should not touch that property.
Now, if you're talking about redirecting the user after they are authenticated (i.e. standard post-login redirect), we have two possible scenarios: If there is always a redirect to the same URI, the answer provided by @robertjd above is absolutely correct - do not touch the redirectUri prop at all and just add a:
{
  login: {
    nextUri: '/your-uri-inside-app'
  }
}

I tested this inside the https://github.com/stormpath/stormpath-express-react-example repo and can provide you with a fork containing an example if you need something like that?
The other option is that you want dynamic redirects. For example, you want the user to be redirected back to the last page they were on. If that is your use case, I'm not sure it's currently supported, but it's quite easy to set up, provided you're using Express, which you seem to be.
Look at the few minimal changes I made to the SocialLoginLink in this branch that leverage express-stormpath's ability to unpack the URI from the cookie. It can then be used like this:
const redirect = '/profile';

const mySocialLink = (props) => {
 return (
   <SocialLoginLink providerId="google" nextUri={props.redirect} />
 );
};

// ...

mySocialLink({redirect}); // Redirects to http://my.host/profile after the process is successful

@robertjd A technical note: I'm leveraging the functionality offered by express-stormpath here:
https://github.com/stormpath/express-stormpath/blob/master/lib/oauth/common.js#L67
I'm not sure how standardised this behaviour is? If it is, I can make a PR to the version-1.x.x branch as to support this behaviour globally?

@Tweety-FER Thanks for the response, can you provide the example of the social login working? I can't seem to get it working on my end. I don't have the redirect props on the SocialLoginLink component <SocialLoginLink providerId={type} scope={scope}> and I have the stormpath configured like so
  web: {
    produces: ['application/json'],
    me: {
      expand: {
        groups: true,
        customData: true
      }
    },
    saml: {
      enabled: false,
      host: redirectHost,
      protocol: redirectProtocol
    },
    logout: {
      enabled: true
    },
    login: {
      enabled: true,
      nextUri: '/'
    }
  }

When I click on the social login link button I get redirected to /callbacks/facebook asking for me to login again with facebook. Thanks for your help.

I updated to version 2 and tried to use the SocialLoginLink component and now I'm getting an error. Cannot read property 'split' of undefined I feel like something in my stormpath config is not setup right. I followed the steps and setup a facebook login and setup a OAuth redirect URI.

@thedrew12 Looking at the code in React and Express SDKs, it would appear that the new social login flow only works with Client API out of the box. I'm not seeing it documented anywhere, though, and the error is hardly descriptive, so we could improve on that.
@robertjd Are there plans for adding express support for the same social login behaviour? I remember we talked about this, but not sure what we concluded.

@Tweety-FER I got the facebook login working for version 1.3.3, but not with 2.

@thedrew12 Thanks for the update! As I was saying (maybe not clearly enough), v2 works with the Client API flow, instead of handling the redirect flows manually like 1.X.Y. This binds the integration to the Client API (for the time being), but allows many more social login providers than the older versions.
Switching to the Client API, if needed for your use case, should be more or less seamless, as it only handles the basics, taking over for the pre-defined routes in the back-end integrations. At that point, it's just a question of handling the Client-API-provided token from the rest of the back-end integration. Of course, if the v1 implementation is sufficient, there is no need for any of this.

Is there a way to send a user to a certain URI upon 'registering' for the first time with a SocialLoginLink. Something akin to redirecting a user upon a successful signup on the RegistrationForm component?


Link to RSS

On the home page at the bottom in the supporters section, clicking on the RSS logo takes me to https://www.theorsociety.com/. Should it be https://rss.org.uk/ instead?

Oh I tried to fix that but forgot to accept the PR! Thanks for the issue 😄

@all-contributors please add @anyaferguson for bug


hypergan cli doesn't load examples/*

Decoupling this issue from #55
To reproduce:

Train/save colorizer model
Load model with hypergan cli
Expected: loads
Actual: error

I'm moving this to a feature request in pivotal since loading is supported on the examples.

https://www.pivotaltracker.com/story/show/141667693


some basic stats in JSON

Coverage remained the same at 71.97% when pulling e75b5750c4eb326d54d6706ba0725022c7d55ce5 on json-views into 296782c2560358743dc76a7455527ea57f5089d8 on master.


Run tests against sqlite and postgres

This is the first step to tackle https://github.com/Shopify/maintenance_tasks/issues/462.

Hey @Shopify/rails, could I get thoughts / feedback on doing the above ^ to handle testing the install generator properly with PostgreSQL?

Found the cause of MaintenanceTasks::RunTest#test_#reload_status_does_not_use_query_cache random failure.
When the test is executed first, active record first executes SHOW search_path to find out which postgres schemas to search. The solution I came up with is to run a query (e.g., Run.first) in setup and it worked. Is there any better solution?

Found the cause of MaintenanceTasks::RunTest#test_#reload_status_does_not_use_query_cache random failure.
When the test is executed first, active record first executes SHOW search_path to find out which postgres schemas to search. The solution I came up with is to run a query (e.g., Run.first) in setup and it worked. Is there any better solution?

@shouichi you can filter that query out from the count_uncached_queries method:
    def count_uncached_queries(&block)
      count = 0

      query_cb = ->(*, payload) do
        unless payload[:cached] || payload[:sql].match?("SHOW search_path")
          count += 1
        end
      end
      ActiveSupport::Notifications.subscribed(query_cb,
        "sql.active_record",
        &block)

      count
    end

Fixed all the problems, please take a look. Feel free to ping me if I need to rebase or squash.

How about using DATABASE_URL which overrides config/database.yml entirely, just for the postgres cases in the matrix?

I think we'll still run into the same problem -- if we use a db with the same name (maintenance_tasks_test), Postgres will complain that the maintenance_tasks_runs table exists already in the install generator test. We could use a DATABASE_URL instead of the additional db config file, but I believe we'd need to have a different database. We could use psql to create one in CI, but this makes things not-so-nice for local testing.
Also looked into starting PostgreSQL directly on the Ubuntu VM, but couldn't quite get it -- not sure how to provide a password and / or specify no password. I tried
  sudo systemctl start postgresql.service
  psql -h localhost -U postgres -w --no-password 'create database maintenance_tasks_test;'
---
  sudo systemctl start postgresql.service
  PG_PASSWORD=postgres psql -h localhost -U postgres 'create database maintenance_tasks_test;'
---
  sudo systemctl start postgresql.service
  sudo -u postgres psql postgres -c 'create database maintenance_tasks_test;'

But no luck with any of them. I think it's acceptable to start postgres in another service. If you'd like to invest some more time into it @etiennebarrie let me know -- otherwise I'll ship this tmrw afternoon.

Thanks for the feedback. Speaking of the local development, I plan to open a follow-up PR to introduce docker based development environment. This way we don't need to set up postgres locally. Does this make sense?

Agree that DATABASE_URL is a more correct solution to this problem 👍  So to clarify @shouichi, let's do the following before shipping:

Add a step to CI to export the DATABASE_URL if the db is postgres, as Étienne did in 3b8f99edfc1558b8eed3437245c67c877ccfb219 (although to me it's more readable to have it as echo "DATABASE_URL=postgresql://localhost/maintenance_tasks_test" >> $GITHUB_ENV)
Remove the changes to config/database.yml
Change the install generator to use the DATABASE_URL instead, as proposed in 631c89df519b7ace188f2350fa4a981e4b2c9863

Thanks for your patience! 🙏

@adrianna-chang-shopify Thanks for the clarification. The DATABASE_URL solution is much cleaner, it's great! Changed based on the suggestions, rebased, and squashed. Please take a look.


createBinariesTasks fails for deploy script

I am having an issue writing a custom deploy script for my RoboRIO. I am trying to write a deploy script for a smart dashboard that I am creating. This involves moving a directory of files into /home/lvuser and then running some commands. However, when I run gradle deploy, I get the following error:
The following model rules could not be applied due to unbound inputs and/or subjects:

    DeployPlugin.DeployRules#createBinariesTasks(ModelMap<Task>, ExtensionContainer, BinaryContainer)
      subject:
        - tasks ModelMap<Task> (parameter 1)
      inputs:
        - extensionContainer ExtensionContainer (parameter 2)
        - <no path> BinaryContainer (parameter 3) [*]

  [*] - indicates that a model item could not be found for the path or type.

My deploy script is as follows:
plugins {
    id "com.jetbrains.python.envs" version "0.0.25"
    id "jaci.gradle.EmbeddedTools" version "2018.09.21"
}

repositories {
}

dependencies {
}

deploy {
    targets {
        target("roborio") {
            directory = "/home/lvuser"
            maxChannels = 1
            timeout = 3
            failOnMissing = true

            locations {
                ssh {
                    address = "roborio-5499-frc.local"
                    user = "admin"
                    password = ""
                    ipv6 = false
                }
                ssh {
                    address = "<IP_ADDRESS>"
                    user = "admin"
                    password = ""
                    ipv6 = false
                }
            }
        }
    }

    artifacts {
        // COMMON PROPERTIES FOR ALL ARTIFACTS //
        all {
            directory = "dashboard/"
            targets << "roborio"

            onlyIf = { execute("echo Hi").result == "Hi\n" }

            predeploy << { execute "echo Pre" }
            postdeploy << { execute "echo Post" }

            disabled = true
        }
        // END COMMON //

        // FileTreeArtifact - the directory structure is preserved
        fileTreeArtifact("dashboard") {
            files = fileTree(dir: "dashboard")
        }

        commandArtifact("restartDashboard") {
            command = "echo Hello"
            dependsOn("dashboard")
            disabled = false
        }
    }
}

envs {
    bootstrapDirectory = file(".")
    python "virtualenv_run", "3.6.4", ["pre-commit", "requirements-tools", "tox"]
}

task install_hooks {
    dependsOn "build_envs"

    doLast {
        exec {
            executable file("./virtualenv_run/bin/pre-commit")
            args "install", "-f", "--install-hooks"
        }
    }
}

Any help is appreciated!

Try updating to 2018.11.14
Your build.gradle will also need some modification: dependsOn takes a task name, not an artifact name (you can do the commands in postDeploy << { execute "echo Hello" } in the file artifact)


backport to php53

back-port to php53 so that this package is available to a wider range of applications.
i back-ported to php53 in my fork so that i could use this fantastic package in a legacy application that i help support. it's being upgraded, but i don't know when that will wrap up. one of my collaborators thought i should offer the suggestion back upstream, so here it is.
@igorw thanks for the tip. i wasn't aware that namespaced functions were a php53 feature. i did have to convert back to traditional array syntax, and the callable type-hint is not supported. do you think throwing an exception instead is a compatibility break?
bonus, this package works on php70 : )

we're all up-to-date over here : )


chore: update deps

What type of PR is this?
Update dependencies
What this PR does / why we need it?
Which Jira/Github issue(s) this PR fixes?
Fixes #
Special notes for your reviewer:
Pre-checks (if applicable):

[ ] Tested latest changes against a cluster
[ ] Ran make go-test command locally to run all the unit tests and mock tests locally.
[ ] Included documentation changes with PR

/retest

/lgtm


Add <all_urls> permission to the manifest for chrome

Probrem
Using Chrome Extension, Unable to capture pictures on some websites.
It's probably since #265 was merged(since version 3.1.0 ?).
Here is an example; In pixiv.net an error occurs due to a CORS policy.
// console of a background page
Access to XMLHttpRequest at 'https://i.pximg.net/***.jpg' from origin 'chrome-extension://plancmjpkcgbonmakhjeebjeggaenpmj' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

To address this issue, add <all_urls> permission.
Risk
Gyazo Chrome Extensionの再公開について - Gyazo Blog
I have read the article.
I'm wondering if <all_urls> permission has anything to do with Google's review process.
Changing permission may be a risk, but please consider it.

Thanks for your contribution and We recognize this issue and have prepare to publish 😄


Add a FAQ

It'd be good to add a FAQ for the project. Initially it can probably still live on the main page, later on we might want to move it into its own file.
@crw had a couple questions we could add to seed the section:

Can we do integration testing?

Yes, Flagger supports webhooks to do integration testing.

What if I only want to target beta testers?

Feature in Flagger, not in App Mesh. On the App Mesh roadmap.

Can I do A/B testing?

Feature in Flagger, not a feature in App Mesh (yet).

https://weave-community.slack.com/archives/CGLQLLH9Q/p1554219991026500?thread_ts=1554140783.021000&cid=CGLQLLH9Q

The community Slack does not store history and is thus it is not a good idea to link to it if you actually want the data. Here is the thread:
Hi All, I've been racking my brain about this one for a few days now and can't seem to come up with a solution.
Basically What I've boiled it down to is during a canary deployment of our nodejs app, the version that is being served <50% traffic reports mime type mismatch errors in the browser (js as "text/html")
When the deployment Passes/ Fails (doesn't really matter) the version that stays alive works as expected. If anyone has any tips or direction I would greatly appreciate it. Even if its as simple as I'm looking in the wrong place. Thanks in advance!
----
For anyone looking here later.
The issue was that we were not maintaining session affinity while serving files for our frontend. Which resulted in any redirects or refreshes occasionally returning a mismatched app.*.js file (generated from vue)
The solution is to use A/B testing instead of a Canary roll-out to make sure that each version remains separated and doesn't mix routes.

Details can be found here: https://docs.flagger.app/usage/ab-testing


Pin dot not showing

Before Submitting Your Bug Report

[ ] I have verified that there isn't already an issue reporting the same bug to prevent duplication.
[ ] I have seen the FAQ.

Maccy Version (see 'About' window)
2.0.0 Beta 13
macOS Version
14.6.1
Maccy Settings
"KeyboardShortcuts_delete" = "{\\"carbonModifiers\\":2048,\\"carbonKeyCode\\":51}";
    "KeyboardShortcuts_pin" = "{\\"carbonModifiers\\":2048,\\"carbonKeyCode\\":35}";
    "KeyboardShortcuts_popup" = "{\\"carbonKeyCode\\":9,\\"carbonModifiers\\":768}";
    "LaunchAtLogin__hasMigrated" = 1;
    "NSStatusItem Visible Item-1" = 0;
    "NSWindow Frame com.sindresorhus.Settings.FrameAutosaveName" = "2472 607<PHONE_NUMBER> 37 1920 1055 ";
    SUEnableAutomaticChecks = 1;
    SUHasLaunchedBefore = 1;
    SULastCheckTime = "2024-08-26 16:28:11 +0000";
    SUUpdateGroupIdentifier =<PHONE_NUMBER>;
    avoidTakingFocus = 1;
    enabledPasteboardTypes =     (
        "public.rtf",
        "public.utf8-plain-text",
        "public.html"
    );
    ignoredPasteboardTypes =     (
        "Pasteboard generator type",
        "com.typeit4me.clipping",
        "net.antelle.keeweb",
        "de.petermaurer.TransientPasteboardType",
        "com.agilebits.onepassword"
    );
    migrations =     {
        "2024-07-01-version-2" = 1;
    };
    pasteByDefault = 1;
    showFooter = 1;
    showSearch = 1;
    showTitle = 1;
    windowSize = "[450,800]";

Description
I have 3 pinned items - in V1, the Pinned items had a dot to the left (denoting they were pinned) There is no dot next to them at this time.

The first 3 are pinned.
Steps to Reproduce
Open the history list > no dot.

Yeah, v2 doesn't show dots, instead, it keeps them outside of the scroll view and never hidden.


ARROW-13627: [C++] Fully support ScalarAggregateOptions in (hash) any/all/sum/product/mean

This should let R easily support na.RM = TRUE / FALSE by setting skip_nulls = false / true (respectively).

D'oh, I forgot to check the R tests that motivated this in the first place.

Blocked on ARROW-13638.


TextFeaturizer produces NaN values if input row is missing alphanumeric characters

In work on integrating the TextFeaturizer into automl, I found that putting the TextFeaturizer after the Imputer but before the OneHotEncoder will cause the OneHotEncoder to throw an error due to the existence of NaN(s) in the input data for some datasets.
The offending row in question contained text that was simply ":)". Since the TextFeaturizer removes punctuation, this was getting passed in as an empty string, and therefore the primitive MEAN_CHARACTERS_PER_WORD" was null. We need a way to prevent this from throwing an error, since the order of Imputer >> TextFeaturizer >> OneHotEncoder` is the desired order of component operations.

This was fixed by #1090


🐛 [firebase_crashlytics] enable opt_in reporting not working correctly

Bug report
Describe the bug
Following the documentation of firebase_crashlytics you can disable/enable the upload of crash reports to firebase with two options.

Option: Disable the report natively via AndroidManifest.xml for Android or Info.plist for iOS.
Option: Run FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true); inside you code and set it to true (default) when you want to enable crash report collection or to false when you want to disable it.

When using the first option, the configuration inside the AndroidManifest.xml seems to be ignored, because even when adding
<meta-data
  android:name="firebase_crashlytics_collection_enabled"
  android:value="false" />

the report is still being uploaded.
For iOS, when adding
<key>FirebaseCrashlyticsCollectionEnabled</key>
	<false/>

to the Info.plist no report is being uploaded as it's supposed to.
Steps to reproduce
Steps to reproduce the behavior:

Create a new project flutter create my_app
Follow the firebase documentation for adding firebase_crashlytics
Exchange the main() inside your main.dart with the version below

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // Initialize Firebase.
  await Firebase.initializeApp();

  // Comment in/out when testing
  // FirebaseCrashlytics.instance.crash();
  runApp(MyApp());
}

Check whether you've configured firebase correctly by sending a report for Android and ios and verify it is being uploaded in the crashlytics dashboard
Follow the documentation for opting-out reporting with option one (natively).
Delete the app from the emulator/simulator if it is installed to mimic the first install
Run the app and let it crash
Comment out FirebaseCrashlytics.instance.crash(); and run the app again
Check the crashlytics dashboard.

Expected behavior
When using option one to disable collection reporting via the AndroidManifest.xml no reports should be sent to firebase and displayed in the dashboard. For iOS, option one works as intended and no report is being uploaded.
Sample project
https://github.com/eddiesTime/crashlytics_example

Additional context
The same behavior has been discovered by another user recently and reported in #6874. I think he was on to something but assume he went with option two.
I've been testing with the iOS Simulator and a Samsung Galaxy S7.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.5.1 20G80 darwin-x64, locale
    en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] Connected device (3 available)

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.13.4
Flutter SDK 2.2.3
crashlytics_example 1.0.0+1

dependencies:
- cupertino_icons 1.0.3
- firebase_core 1.6.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.2.1 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- async 2.6.1 [meta collection]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.1.0
- charcode 1.2.0
- clock 1.1.0
- collection 1.15.0
- fake_async 1.2.0 [clock collection]
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.1.2 [collection firebase_core flutter meta plugin_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- js 0.6.3
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- path 1.8.0
- plugin_platform_interface 2.0.1 [meta]
- sky_engine 0.0.99
- source_span 1.8.1 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.3.0 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0 [collection]
- vector_math 2.1.0

Hi @eddiesTime, this isn't something we have much control over I'm afraid. This setting is part of the official Firebase SDK, for further reading, please see here.
Take note of this API:
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);

Quote documentation:

Enable collection for select users by calling the Crashlytics data collection override at runtime. The override value persists across launches of your app so Crashlytics can automatically collect reports. To opt out of automatic crash reporting, pass false as the override value. When set to false, the new value does not apply until the next run of the app.

You might need to set that API to false to remove persistence. If it still does not work, I'd suggest raising an issue on the official android sdk repository.


UNFILED: try to fix failing int test

LockApiImpl simply called the underlying lock handler - If the handler throws an exception then that exception will be propagated.
ZooKeeperLockHandler throws an exception if it can't find the lock, but catches and logs at a low level any exception thrown by the Zookeeper lock.release() call - whereas MongoLockHandler does not explicitly throw or catch anything.

ah a difference in expected behavior @jeremy-flieder can you log and @scarabus fix please?

https://incapture.atlassian.net/browse/RAP-4356


"cancelled on" filter does not work on 6.2.0 for android

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
"cancelled on 2024-04-06" query should be parsed normally, running on Android Obsidian 1.5.12, Tasks 6.2.0. Just as it does on Linux or Mac.
Current behaviour
It shows an error instead:
Tasks query: couldn't parse sub-expression 'cancelled on 2024-04-06'
Steps to reproduce

Launch Obsidian on Android with Tasks plugin installed
Add the following tasks query to any note:

cancelled on 2024-04-06

Toggle Reading view to watch the query process

Which Operating Systems are you using?

[X] Android
[ ] iPhone/iPad
[ ] Linux
[ ] macOS
[ ] Windows

Obsidian Version
1.5.12
Tasks Plugin Version
6.2.0
Checks

[ ] I have tried it with all other plugins disabled and the error still occurs

Possible solution
No response

Restart Obsidian
If it’s still a problem delete and reinstall the Tasks plugin on that device.

There are some other things to investigate but I will wait until I’ve heard back from you about the first options above… 😄

Delighted to hear it. Thanks for reporting back.

Thank you for the suggestions, I feel bad for bothering you before trying those :facepalm:


"loadstart"/"loadend" event or similar for ol.source.ImageWMS

Right now there seems to be no way to determine whether a WMS-image source is in loading-state or not.
(see https://groups.google.com/forum/#!topic/ol3-dev/qFc1Xm5_VBc; https://groups.google.com/forum/#!searchin/ol3-dev/loadend/ol3-dev/H13hTihzxwU/vaEvsG-8QdsJ)
Especially on mobile devices with poor network connectivity its really important to see whether the map is loading or not.
In my opinion and for 2.x compatibility this feature is really important for the 3.0 release.

Want to back this issue? Place a bounty on it! We accept bounties via Bountysource.

As a workaround we use an custom image-load method like this:
//global variable indicating loading-status
var int_layer_loading = 0;

//ImageLoad-method to catch image-load-events
var function_image_load = function(image, src)
{
	var int_event_id = new Date().getTime();

	//set loading-status
	int_layer_loading = int_event_id;

	//set loading message
	//...

	//set image source
	image.getImage().src = src;

	//onload-listener of image-object
	image.getImage().onload = function()
	{
		//if latest request, then reset loading status
		if (int_layer_loading == int_event_id)
		{
			int_layer_loading = 0;

			//unset loading message
			//...
		}
	};
}

//create layer
var obj_layer = new ol.layer.Image(
{
	source: new ol.source.ImageWMS(
	{
		//[...]
		imageLoadFunction: function_image_load
	 })
});

I have approached it that way:
I am using the precompose event of the ImageWMS layer source. I am looking at the stage of the image (1 is LOADING, 2 is READY, and 3 is ERROR). By running the debug version of OL3 and looking at the console in Chrome, I found out the image state is under "event.target.a.d.state"
layer.on('precompose', function(event) {

  var imageState = event.target.a.d.state;

  if (imageState === 1) {
    showLoader();
  }

  if (imageState === 2 || imageState === 3) {
    hideLoader();
  }

  if (imageState === 3) {
    displayErrorMessage();
  }
});

This is probably an hacky way but it works for me. Maybe it can help as temporary solution?

@ahocevar i can implement your code, but how you make a request to retry? I can keep a track of what images is being loaded, i can put a timer so if the status is still Loading cancel and try again. Do you know how to do that?
in my case some pieces arent retrive because mapserver is too slow.
But ol3 doesnt try to download again. Even if i change zoom to other layers when i return the space is still empty. I need to wait lot of time until a time out occurs or refresh the whole page.

have you seen #3248 which was released in 3.3.0 ?

As a visual aid is great. But still doesnt help to reload the frozen request.
I think every request should have some timeout parameter or a method to allow repeat the request.
Please let me know if this is something worth of creating a new issue.
As you can imagine i can't have my app with those white holes. I know the issue is a combination of my slow internet and slow mapserver. But that is the usual scenario in my country.
I can tolerate 30 seconds for load (usally much faster) but 5 minutes and no way to reload unless I reload the whole page isnt.
I'm willing try to update the code if someone point me in the right direction. #3248 already handle each image to increase the progress bar. I just need to create a timer for each request. But i dont know how I restart the request.
Will have a setting like
MaxNumberRetry = 5;
Timeout =  1000ms
FailImage = redcross.png

@regiodata That imageLoadFunction is only for ImageWMS? or work for TileWMS too? I try to look on the documentation and didnt found it. I try to use it on my sample and do nothing, not even show an error.

@dropyghost My imageLoadFunction can be used for loading one image at a time and show a loading animation. For example ol.source.ImageWMS (http://openlayers.org/en/v3.3.0/apidoc/ol.source.ImageWMS.html?unstable=true) and also ol.source.ImageMapGuide (http://openlayers.org/en/v3.3.0/apidoc/ol.source.ImageMapGuide.html?unstable=true).
But keep in mind that the unstable property "imageLoadFunction" is used.

@regiodata thanks for the link. Result searching imageLoadFunction in google take you to v3.1 doc and that function appear is on v3.3. There is a titleLoadFunction for TileWMS. I will try that.

this was done with #3248


OLM-2787: Add support for gather testing artifacts when a test case fails

Closes #56. Adds a bash script that dumps the YAML representation of the PlatformOperator/BundleDeployment/Bundle resources when failed e2e runs.

These changes only affect the dev testing suite. Adding the required no-ff labels.
/label px-approved
/label docs-approved
/label qe-approved

I'm going to pull out that unrelated constant variable commit into it's own PR.

/test e2e-techpreview

/test e2e-techpreview

Looks like I neglected to verify that we're creating a directory for each test case failure vs. overwriting the contents of a shared directory.
/hold

Alright fixed the issue where we were overwriting the contents for previous test case failures. Tested this new logic out by forcing multiple failures:
-               It("should consistently report a healthy CO status back to the CVO", func() {
+               FIt("should consistently report a healthy CO status back to the CVO", func() {
                        Consistently(func() (*configv1.ClusterOperatorStatusCondition, error) {
                                co := &configv1.ClusterOperator{}
                                if err := c.Get(ctx, types.NamespacedName{Name: clusteroperator.AggregateResourceName}, co); err != nil {
@@ -40,10 +40,10 @@ var _ = Describe("aggregated clusteroperator controller", func() {
                                WithTransform(func(c *configv1.ClusterOperatorStatusCondition) configv1.ClusterStatusConditionType { return c.Type }, Equal(configv1.OperatorAvailable)),
                                WithTransform(func(c *configv1.ClusterOperatorStatusCondition) configv1.ConditionStatus { return c.Status }, Equal(configv1.ConditionTrue)),
                                WithTransform(func(c *configv1.ClusterOperatorStatusCondition) string { return c.Reason }, Equal("NoPOsFound")),
-                               WithTransform(func(c *configv1.ClusterOperatorStatusCondition) string { return c.Message }, ContainSubstring("No POs are present in the cluster")),
+                               WithTransform(func(c *configv1.ClusterOperatorStatusCondition) string { return c.Message }, ContainSubstring("a")),
                        ))
                })
-               It("should consistently contain a populated status.versions array", func() {
+               FIt("should consistently contain a populated status.versions array", func() {
                        Consistently(func() (bool, error) {
                                co := &configv1.ClusterOperator{}
                                if err := c.Get(ctx, types.NamespacedName{Name: clusteroperator.AggregateResourceName}, co); err != nil {
@@ -54,7 +54,7 @@ var _ = Describe("aggregated clusteroperator controller", func() {
                                }
                                version := co.Status.Versions[0]

-                               return version.Name != "" && version.Version != "", nil
+                               return version.Name == "" && version.Version != "", nil
                        }).Should(BeTrue())

Which produced the following output when running the e2e suite locally:
$ echo $ARTIFACT_DIR
/home/tflannag/Documents/openshift/platform-operators/output
$ tree output
tree output
output
├── junit_e2e.xml
├── should-consistently-contain-a-populated-status.versions-array
│   ├── get_bundledeployments_-o_yaml
│   ├── get_bundles_-o_yaml
│   ├── get_co_platform-operators-aggregated_-o_yaml
│   └── get_platformoperators_-o_yaml
└── should-consistently-report-a-healthy-CO-status-back-to-the-CVO
    ├── get_bundledeployments_-o_yaml
    ├── get_bundles_-o_yaml
    ├── get_co_platform-operators-aggregated_-o_yaml
    └── get_platformoperators_-o_yaml

/hold cancel

Recycling checks now that our downstream CI release configuration has been updated.

/test e2e-aws-techpreview-operator

/retest

I don't think we care about that test case failure here. Looks like MCO is having some issues right now.

/test e2e-aws-techpreview-operator

Storing the test artifact output in the /logs/artifacts/should-consistently-report-a-healthy-CO-status-back-to-the-CVO directory
Collecting get co platform-operators-aggregated -o yaml output...
./collect-ci-artifacts.sh: line 26: kubectl: command not found

Nice.

Collecting get co platform-operators-aggregated -o yaml output...
./collect-ci-artifacts.sh: line 26: oc: command not found

Nice

Should just be a PATHing issue given oc should be present in this container: https://github.com/openshift/release/blob/master/ci-operator/config/openshift/platform-operators/openshift-platform-operators-main.yaml#L63.

/hold

Okay so it looks like oc is present in the image:
$ whereis kubectl
kubectl:
$ whereis oc
oc: /cli/oc

Updated the implementation to use a shell to see whether that irons out any issues.

Looks like https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/origin-ci-test/pr-logs/pull/openshift_platform-operators/66/pull-ci-openshift-platform-operators-main-e2e-aws-techpreview-operator/1574800020341788672/artifacts/e2e-aws-techpreview-operator/test/artifacts/ now contains populated resources.
/hold cancel

/hold
/lgtm


feat: Button, Link - use focusVisible instead of focus styles. Hover styles only on desktop devices.

Please delete checklist items and sections that are not relevant
Checklist

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Storybook or docs have been added / updated (for bug fixes / features)

What is the ticket / issue associated with this change? (Link to the ticket or issue)
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Other information:
Storybook Link (Link to a local storybook url to review new functionality)

Yes, these changes have been approved by the design team 👌🏻


feat(custom-roles): added support to import/export custom-roles

This relates to CS-27152

@vkalta , please resolve the comments with solution and reply for the questions. cc : @netrajpatel

@shafeeqd959 I have made the changes for moving custom-roles module just before workflows.
cc: @netrajpatel


jsonwrite for outdated SPM

The interface of spm_jsonwrite changed in SPM in revision r. 6975, making it unusable for outdated SPM installations.
Installation of JSONio do not change anything as the check for existence for spm_jsonwrite comes first.
I see two solution for this (other from keep SPM updated):

use only JSONio, cite it as dependency
Invert if in +bids/+util/jsonencode.m line 33, so JSONio takes priority

Tell me that you think
UPD:
You also check for native MATLAB jsonencode, but it has the lower priority. May be it can be rendered as highest one

Thanks for spotting that.
For the moment, I am in favor of reordering the priorities: because adding "hard dependencies" with matlab can be annoying due to the lack of package management: unless we decide to ship it with bids-matlab.
For priorities: how about JSONio > SPM > Matlab?
I thought of putting Matlab first but then realized that the json_encode only appeared in Matlab 2016, so I currently ordered them by how "heavy" those "dependencies" are.
Personnal note: how is the JSON support on octave 5.1 these days?

Naively I would prefer first Matlab: Matlab is guaranteed to be maintained with same interface.
Then JSONio: independent package not linked with organisation -- danger to disappear.
FInally SPM, with danger of interface change.
But I'm only starting to discover all the versions dependencies, so take my opinion at low weight

Yeah that's a good point as well.
Will ping @gllmflndn for this take as he knows a thing or 2 about JSONio and SPM. :wink:

We should rely on native implementations (jsonencode/jsondecode) first as everything else is just a temporary solution that will become deprecated as soon as native options are widespread.
spm_BIDS (JSONio, bids-matlab) predates jsonencode/jsondecode that were introduced in MATLAB R2016b and improved in R2017b (ConvertInfAndNaN) and R2021a (PrettyPrint). These functions are now implemented in the development version of Octave and will be available in Octave 7.1 that, I guess, won't be released until 2022.
Given this timeline, it is still relevant to have workarounds in place in the absence of built-in JSON functionality. I am not sure whether to check for SPM or JSONio first matters much. I guess the message to someone wanting to use bids-matlab with a incompatible version of MATLAB or Octave is to install JSONio unless they are SPM users where they can rely on spm_jsonread/spm_jsonwrite. JSONio is just a spin-off the SPM functions, to make them more acceptable as a dependency.
Concerning the change in interface, JSON functions were added during SPM12's lifetime so, sure, the first version of SPM12 did not have them. The syntax might have changed to add new features (r6975 you mention is already 5 years old) or match MATLAB when the functions were introduced there but note the same is happening with these functions (you can only rely on PrettyPrint from R2021a). As for the comment about 'danger to disappear', I will be careful next time I cross the street.
In short: 👍 for using jsonencode/jsondecode first and foremost and let's remove everything else in 2023?

Thanks for all the clarifications.
What you outline matches what I did in the PR #178 so I will merge the change.

As for the comment about 'danger to disappear', I will be careful next time I cross the street.

Don't worry, we are not about to send people after you. We love you too much!!! :heart:


[BUG]: No start hearing option in hearings tab

In this view, dont see option to start hearing

Whereas in home page I do:

If hearing start is allowed should see it in the first place too?

HI @anshumanth-egov, @Ramu-kandimalla
UAT
Start Now button is shown in both Overview and Hearing Tab as shown in below Images.
In the action menu view, we are not showing Start Hearing Option.
Overview Tab:

Hearing Tab


Vulnerability in the dependency: jsonwebtoken

Core Library
MSAL Node (@azure/msal-node)
Core Library Version
1.14.5
Wrapper Library
Not Applicable
Wrapper Library Version
not applicable
Public or Confidential Client?
Public
Description
There is a security issue in dependency jsonwebtoken. Updating to jsonwebtoken's latest version 9.0.0 resolves the vulnerability.
Details: GHSA-27h2-hvpr-p74q
MSAL Configuration
No response
Relevant Code Snippets
No response
Identity Provider
None
Source
External (Customer)

Same as this one: https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/5500

Thanks, we'll look to address this ASAP. Closing as duplicate, updates will be shared in #5500