chore(rockspec) replace git protocol by https

Luarocks upload was failing when trying to download the rock from
Github, which was failing with "The unauthenticated git protocol
on port 9418 is no longer supported". More information here:
https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git
We're replacing git with https, which is one of the fixes recommended on
that guide.

Note that this pull request is for the release/2.8.x branch.


homebrew problems

zsh compinit: insecure directories, run compaudit for list.

see:

https://github.com/zsh-users/zsh-completions/issues/433
https://stackoverflow.com/questions/13762280/zsh-compinit-insecure-directories


Upgrade registry to 2.6.0

Coverage increased (+0.03%) to 54.661% when pulling 108aa21499a0f643e984f165558975a08d43cc31 on ywk253100:170315_registry_upgrade into 3b53b354d3cda3f023d53cb79262c03ce61ea75a on vmware:dev.

@wy65701436 Do you mean to create a variable in Makefile to define the version of registry?

@ywk253100 yes, and also for any other hard code ones.

Coverage increased (+0.09%) to 54.731% when pulling b5513d62818478625985e4871c58b553d043281c on ywk253100:170315_registry_upgrade into 3b53b354d3cda3f023d53cb79262c03ce61ea75a on vmware:dev.

@wy65701436 Updated.


Ubuntu deb installer has file read issues on mounted drives

Now testing the deb installer route.
On a clean 14.04 image, I followed the UbuntuInstall.md directions exactly.
Problem occurs when I insert a secondary SATA drive containing training data. It is not accessible to the DIGITS webserver.
Two symptoms are when trying to create New Image Classification Dataset are:

Cannot autocomplete path beyond /media/username/...
Manually inputting the full path results in Folder does not exist error.

I've tracked this down to parse_folder.py:320 that spawns that error.
Testing the conditional if os.path.exists() and os.path.isdir() in a regular python script as the user returns TRUE.
How should I mount external drives?

The above symptoms do not occur when I build from source.

Hi @mikepcw when using the .deb installer, DIGITS runs as a service under user www-data so you need to make sure your data (i.e. the images as well as all parent folders) are accessible by this user.

It does not help even when I recursively chmod -R 777 everything from the mount point of that drive.
(for disclosure, I work for NVIDIA in Australia)
I have an email thread going with JulieB and she seems to think might have to do with the way it's mounted?
I'm not adept enough with Linux to know what the default mount settings are.
I simply plug in the external drive and it pops up in Linux, mounted under /media... can you try similar and see if it happens too?
I would think that having multiple external SATA drives is not that uncommon, particularly with large datasets.

www-data needs to be able to read and execute every directory from / all the way to your data directory. So maybe check that www-data can read /media?
chmod a+rx /media

I will try that.
What about an NTFS or FAT32 formatted drive that comes from a Windows machine?

Can you review this post and see if this helps?
https://groups.google.com/d/msg/digits-users/wLQrOToE7cw/OgwnzhZwBAAJ

Does not work for some strange reason. Then it works if I copy to local drive. See screenshots.
The only difference is images are located on SATA drive (1st attempt) vs local disk (2nd attempt).
Still think it's something to do with disk mount settings.
"train_test" is just a selection of two directories extracted from the imagenet set

@mikepcw  I faced the same problem. Digits shows "Folder does not exits" when I gave a link from external drive. How to solve this problem. My local drive is only 100GB. If I cannot link the DATASET from external drive, I would not be able to work.

I fixed my NTFS drive by editing the default mount options in the Disks app.
Turn off Automatic Mount Options and add the following to the list of comma separated parameters
uid=1000,gid=1000,umask=022
022 gives wrx permissions to owner and rx permissions to all, for all files and dirs.
This fixed my issue above.

Great news, thanks for the update!

Thanks a lot. I tried your solution. It works!


Add sporadically failing multi-module ChangeParentPom tests

For https://github.com/openrewrite/rewrite/issues/1753

Are the failures problems downloading things from external services? Or because our treatment of what we download is in some way inconsistent?

No hints yet in the current output, suspect it's caught somewhere. Hadn't yet made a plan how to tackle this one; welcome to have as look if you have the time (but guessing you don't :)).

Ok this change in RewriteTest(!) https://github.com/openrewrite/rewrite/pull/3155/commits/8d7eff280c016aa7c47238898062c29457f81ce4 frustratingly only fixes the unit test, after noticing that tests failed when the order of processed source files was anything but parent-first. That means the test does not use the same mechanism that might lead to the errors seen in #1753 ; I was so far unable to find a direct parallel in src/main.
@sambsnyd Any chance you know of, or could help find a similar pattern in src/main that might help resolve #1753 ? Or do you want to let this rest until after the large iterable changes have been applied?

Merged as we track the issue separately already, although some of the findings above might still apply. Best to have another look after 8.0


ci/cd:Add long_description_content_type to setup.py

Add long_description_content_type to setup.py to avoid converting README.md to README.rst
Resolves: #331

This looks good, @manaswinidas!
Merging this PR now.


Test KIC working with no gateway API CRDs or only v1beta1 CRDs

Is there an existing issue for this?

[X] I have searched the existing issues

Problem Statement
In the upcoming release of KIC, Gateway feature is enabled by default. So, we should add e2e tests to verify that:

KIC works without gateway APIs
KIC works with v1beta1 resources of gateway APIs installed, and could process the resources correctly
KIC works with all resources(v1beta1 and v1alpha2)  of gateway APIs installed and GatewayAlpha feature is on,  and could process the resources of gateway API correctly

Proposed Solution

Update the TestDeployAllInOneDBLESSGateway to test with cases when no gateway API resources, only v1beta1 resources, or all resources in the cluster.

Additional information
Acceptance Criteria

[ ] e2e tests could verify that KIC works with gateway API correctly in the following situations:

[ ] no gateway API CRDs in cluster
[ ] only v1beta1 CRDs in cluster, could process Gateway and HTTPRoute correctly
[ ] all gateway API CRDs in cluster, and GatewayAlpha feature on, could process all supported resources correctly

Since #2823 is closed, create this to track comments in https://github.com/Kong/kubernetes-ingress-controller/pull/2815#issuecomment-1215119761 for updating e2es.


Serve static files from external location

Hello. Thanks for the server!
Is there way to make live-reload for directory with static files for rapid developemnt? It would be great

Reload in the sense that you don't have to do anything other than save the file? How are you running your application?

Yes. Is there way to "simulate" that path of classpath so instead of built classes server will serve actual folder on the disk?
I'm running app in idea

It's possible to serve an actual folder, but I'll have to write the code for it. Will have a look at it in a couple of days (feel free to have a look yourself and submit a PR).

@ruXlab Please have a look at https://github.com/tipsy/javalin/pull/22
It would work like this
app.enableStaticResources(path) // classpath-path
app.enableStaticResources(path, location) // path and location, CLASSPATH or EXTERNAL

@tipsy hey
Looks good for me!
For my usecase I'll provide location only during development. In prod I prefer to pack all resources in one fat jar
Thank you!

For my usecase I'll provide location only during development. In prod I prefer to pack all resources in one fat jar

Good, that was my reasoning for making the API like that. I'll wait 30 minutes, merge, bump jetty, then release a new version.

:+1: much appreciate!
looking forward for your update

Should be available now


[QUESTION]I am limiting the file to read 5 records only?Why it's taking more time for the files with large data?

Prerequisites

[ X ] Have read and understood: https://github.com/Maatwebsite/Laravel-Excel/blob/3.1/.github/SUPPORT.md
[ X ] Checked if your Laravel Excel version is still supported: https://docs.laravel-excel.com/3.1/getting-started/support.html#supported-versions
[ X ] Checked that your question isn't already asked before.
[ X ] Filled in the entire issue template

Versions

PHP version: PHP 7.2.19
Laravel version: 5.5.2
Package version: 3.1

Description
Below is the sample code and it is working properly.My question is why the same code is taking time with large file having large data?I have tried this code for 1000,5000 and 20000 records and it takes more time for 20000 though the chunk reading is still 1.
use Maatwebsite\Excel\Concerns\WithChunkReading;
use Maatwebsite\Excel\Concerns\WithLimit;
use Maatwebsite\Excel\Row;
use Maatwebsite\Excel\Concerns\OnEachRow;

class ImportHandlerWithLimit implements OnEachRow, WithLimit, WithChunkReading
{
	public function __construct($file_details, $header_array, $limit)
	{
		$this->limitedRowData = [];
	}

	public function chunkSize(): int
	{
		return 1;
	}

	public function limit(): int
	{
		return 5;
	}

	public function onRow(Row $rowDetails)
	{
		$row = $rowDetails->toArray();
		$this->limitedRowData[] = $row;
	}
}

Hi,
Can you please give me update on this.

Hi, could you try increasing the chunksize to 5.
Or you could forego chunkreading, as you're already limiting top just 5, chunking doesn't add anything in this case.
More importantly, regardless of chunksize or limits, the spreadsheets still needs to be loaded and read ( to be able to get those rows you want ). Even though it will stop after 5 rows, the overhead of the much larger file will still have an impact on the total time it takes.


Use StringComparison.Ordinal insted of StringComparison.CurrentCulture at startup time

PR Summary
Use StringComparison.Ordinal instead of default StringComparison.CurrentCulture.
This looks like a bug but discovered in startup scenario perf analyze - perf win 0.7% (5 ms - so long because of ICU initialization).
PR Context
Related #14268
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[x] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[x] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

Reopen to restart CIs.


"use strict" optimization bug

Bug report

What is the current behavior?
Uncaught SyntaxError: Strict mode code may not include a with statement from Chrome when webpack is used with production mode.  Does not reproduce with development mode.
If the current behavior is a bug, please provide the steps to reproduce.
The following test case reproduces the error:
(function(context, factory) {
  'use strict';

  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define([], factory);
  } else if (typeof exports === 'object') {
    // Node/CommonJS
    module.exports = factory();
  }
}(this, (function() {
  var context = {msg: "hello"};
  with (context) {
    console.log(msg);
  }
})));

Note that the with statement is outside the strict mode scope.  This remains the case when compiled with webpck in development mode, however, when compiled in production mode, the body of the factory method is moved so that it is now within the strict mode scope, resulting in the specified error.
Note that I'm experiencing this issue with a third-party library, and modifying the offending code is not an option.

What is the expected behavior?
The optimizer should respect strict mode scoping and not move non-strict mode code into a strict mode scope.

Other relevant information:
webpack version:  4.16.5
Node.js version: v8.11.1
Operating System: Windows 10
Additional tools:

Thanks for your report. It would be great if you reduce your issue to a small reproducible example. Best put this example into a github repository together with instructions how to get to the problem.

Should I open an issue against UglifyJS?

No the uglify-es branch is unmaintained anyway. terser is the maintained fork.

Use terser plugin, also you can try latest uglify plugin


Migrate target JDK to Java 11

Requirement for https://github.com/uhafner/autograding-github-action/pull/207

Will be fixed by #266 (new JDK 17 requirement).


Fix libc10 missing issue on jetson (#56)

Was put into 22.03 but missed in 22.04. @mc-nv we do not need to respin since this change does not impact 22.04 docker builds for pytorch but we do need to cherry-pick this into the r22.04 branch


Use a real Trillian Log in integration tests!

Diffbase #917
The current strategy of using a fake.TrillianLogClient was being a bit too predictable.
By using a real Trillian Log, we uncovered a number of timing and correctness issues.
This is the last of the fixes to use the real LogEnv. woohoo!

Rebased and working locally.  Requires google/trillian#982

Can you look at the build failure?

You might need to rebuild mock clients?

Build passing.


Unable to resolve module app/mattermost

Summary
[fatal][tid:main] Unable to resolve module app/mattermost from /Users/avi/src/mattermost/mattermost-mobile-master/index.js: Module does not exist in the module map
Environment Information

Device Name: A6iPad
OS Version: iOS 11.0.2
Mattermost App Version: N/A
Mattermost Server Version: N/A

Steps to reproduce
npm install and run the resulting xcode project
Expected behavior
App should run as expected on iOS

@ayehuda, were you able to solve it?

I'll close this issue off here for now as there has been no feedback so we assume your issue is resolved.  Please feel free to open a new issue if you are still experiencing a problem and we'll gladly help troubleshoot!


Home Page: Modified the statements in more meaningful way

Modified the statements in more meaningful way
Changed few words in proper Bangla

@zpbappi I addressed you feedback. Please have another look

@nutboltu Great Job!


Check for more human RBP databases

Details: https://github.com/avantikalal/covid-gene-expression/tree/master/project/human-RBP-analysis
Currently we have data from RBPDB: http://rbpdb.ccbr.utoronto.ca. We should look for more RBP datasets.


Fragment Market: check for small amounts and alert in the response reason for failure

A small amount could be like an amount smaller than 100K sats regardless of the asset type?


Added the Template interface + plates and twig adapters

This PR adds a Template interface and the adapters for Plates and Twig templating systems.
Note: we should think how to offer a template into a middleware callback. One solution can be to use a Factory class for middleware invokable components, like the one reported here.

Overall, looks great! I'll make the changes suggested above regarding the Twig implementation's defaults on merge; I'll think on how we might want to address the "multiple paths" question, because it's not uncommon (each of Twig, League/Plates, and zend-view allow multiple paths). We may want to use addPath() and getPaths() instead.

We may want to use addPath() and getPaths() instead.

I've looked at each of our initial templating targets, and this is what I'm seeing:
league/plates
Defines provides three ways to specify paths:

Via a constructor argument, which is equivalent to:
setDirectory().
Alternately, you can use addFolder().

The engine loops through all three, using the directory specified at instantiation or via setDirectory() as a fallback if it cannot find a corresponding template in its list of folders.
addFolder() takes two arguments, a $name and the $directory; the $name is used to namespace templates in that given directory. As an example:
$plates->addFolder('admin', 'path/to/templates/admin');

will resolve the template admin::welcome. A third argument to addFolder() is used to determine whether or not a failed lookup should look for the template in the default directory.
You can retrieve the default directory via getDirectory(), and the list of folders via getFolders(). The latter returns a collection object, from which you can call get($name) to retrieve the path for a given namespace.
twig
Defines three ways to set/add paths:

setPaths()
addPath()
prependPath()

Each takes a directory (or array of directories, in the case of setPaths()), and optionally a namespace. Again, like Plates, the namespace feature allows segregating templates by namespace. If no namespace is provided, a "default" is assumed; lookups will fallback to the default.
You can retrieve the list of paths via getPaths() (which optionally will accept a namespace, in which case it only returns paths for that namespace; by default, it will only return those on the default namespace).
zend-view
The TemplatePathStack resolver defines the following for adding paths:

addPaths() (adds)
setPaths() (overwrites)
 addPath()

These only accept paths; we do not have a concept of template namespaces. getPaths() will return the full list.
Recommendation
First, it's clear that all implementations support multiple paths; this must be a feature, as a result.
Second, one thing I learned while doing PSR-7: ambiguity sucks. setPaths(): does it overwrite, or merge? addPaths(): does it merge, or append? This is why we typically had separate methods for retrieving one item or a list of items, and a single method for altering state (e.g., withAttribute(); note the singular form).
As such, I recommend:

addPath($path, $namespace = null)
getPaths(): TemplatePath[]

Making namespace optional allows developers to opt-in to that feature, and implementations can either raise an exception based on that detail or silently ignore it (if they don't support it). Having getPaths() return an array of objects allows us to define an API around namespaces:
class TemplatePath
{
    public function __toString(); // the string path; for use with echo'ing
    public function getNamespace(); // return the namespace for the path
    public function getPath(); // retrieve the path itself
}

In terms of Plates' "default path" functionality, in that implementation, I'd argue we should:

Always pass a boolean true third argument to addFolder().
Treat lack of a namespace as setting the default path (i.e., proxy to setDirectory()).
When calling getPaths(), the returned array should be the combination of the directory and folders, with the directory having an empty namespace.

@ezimuel Does the above make sense? Do you agree with it, or have reservations?

wheb using api only application I actually realise it's not really needed to have a view layer as we are just serialising Json.
Can't we make this an optional dependency then?

@weierophinney I updated the PR with the changes proposed.
@bakura10 the idea is to include only a default template system and propose the others adapters in require-dev. I know that in API use cases this is not needed, maybe we can think to move the template support in a different repository, like zend-expressive-template to be able to be required in composer as needed. @weierophinney waht do you think?

That sounds like a good idea Enrico. My concern is that we may lead to the same problem as Zend/mvc, with a library trying to solve too much problems.
And I remember matthew's talk about ZF3 where he told we will have multiple skeleton for different purposes, and I think this is where it will shine: we could have a Zend-skeleton-whatever that will come with Zend expressive and the template layer, while still having the small core for others.
Remember that a lot of people (this is stupid but this seems to be how it works in real life) will choose a library depending on the number of dependencies. If, with Eend expressive, we can keep this "marketing advantage" of having few, that would be nice :).
Envoyé de mon iPhone

Le 11 août 2015 à 10:12, Enrico Zimuel<EMAIL_ADDRESS>a écrit :
@weierophinney I updated the PR with the changes proposed.
@bakura10 the idea is to include only a default template system and propose the others adapters in require-dev. I know that in API use cases this is not needed, maybe we can think to move the template support in a different repository, like zend-expressive-template to be able to be required in composer as needed. @weierophinney waht do you think?
—
Reply to this email directly or view it on GitHub.

I'd like to keep the template interface and implementations in this repository, but not make them required. That way:

Users who do not need template support are not adding more dependencies.
Users will need to select which template support they want to use explicitly.

Template libraries are less of a commodity item than containers or routers, and developers tend to hold strong opinions about which template solution they prefer. This approach will let them use exactly what they want, and only require one extra dependency, instead of two.
I'll be merging shortly.

@ezimuel Changes look great! I'm excited to give this a whirl!

Hey all, pretty cool to see you're using Plates. Let me know if you have any questions or need anything tweaked with the library to make it fit better.

@reinink I noticed two things that could be problematic for us, primarily due to the fact that we're doing an abstraction layer, however:

Differences between setDirectory() and addFolder(). From what I can tell, if you omit a namespace when calling addFolder(), those templates are unreachable; as such, we're having lack of a namespace proxy to setDirectory(). However, since that can only be a single directory, and calling it multiple times overwrites the value, we're having to raise a warning when multiple calls to addPath() without a namespace are called, as doing so has potentially unexpected ramifications.
getFolders() returns a Folders object, but there's no way to query that for paths unless you already know what namespaces are available, and I couldn't find a way to do that. As such, we're using reflection to get at the list and return it. :smile:

Otherwise, the main idea of this part of the library is to provide something that can be dropped into middleware easily, and consumed via a common API. As such, right now, it "just works," which is exactly what I generally want from software. :+1:

@weierophinney Hmm, okay, let me see how best to handle these issues. The second one is an easy one I think, we just have to make some data available. The first one might be a little tricker, as I don't want to break any backwards compatibility. I'll get back to you on this.

@reinink To be fair, I'm not sure there needs to be anything done for the first point. It's one of those cases where I suspect caveat emptor comes into play; the developer is responsible for knowing what implementation is being used, and the ways in which it may be safely consumed. It was just an interesting problem from an integration/abstraction standpoint for us. :)

@reinink thanks for you help. As @weierophinney said we already integrate your template system without any issue. I really love the simplicity of Plates, great work!


null safety

Thanks, I will look at this tomorrow, there's a lot of things to do for redesign this plugin but I'm too busy on my job these days, it's better to use the official camera plugin before I have time to come back for this :)


Create Profile

Related to #2
Create a one-to-one relationship with the User base class
https://simpleisbetterthancomplex.com/tutorial/2016/07/22/how-to-extend-django-user-model.html#onetoone

Added /profiles/ endpoint


Add to favorites feature

Right now we can store the favorites in localForage
I belive there should be new vuex store (wishlist?) created within /store and localForage collection added:
  wishlistCollection: new UniversalStorage(localForage.createInstance({
    name: 'shop',
    storeName: 'wishlist'
  }))

Although there is no design for wishlist provided for now it can be raw Category alike page with Sidebar accordingly to User Account page
https://github.com/DivanteLtd/vue-storefront/issues/316

Regarding layout - please as for now base on Microcart layout - right pane sidebar


[Feature] Add a match field to rules

Problem Statement
Add a match field to rules:

before- expression: envoy.Denied(403)

after- match: variables.token.Claims.?role.orValue("") != "admin"
  response: envoy.Denied(403)

Solution Description
Add a match field to rules:

before- expression: envoy.Denied(403)

after- match: variables.token.Claims.?role.orValue("") != "admin"
  response: envoy.Denied(403)

Alternatives
No response
Additional Context
No response
Research

[X] I have searched other issues in this repository and mine is not recorded.

/assign

@fjogeleit assigned to you

Closing, done in #256


Change defaults to match SpatialMaterial

Set the albedo to completely white and the roughness to one by default.

The default parameters are meant to make the text look plastic-y by default. I think they're current parameters are fine.
No need for it to match the SpatialMaterial.


[+0-normal-args] When forcing an argument into memory when performing…

… a translating transform thunk, make sure it is at +1.
Fixes an issue where it was possible for a +0 pointer from an argument to get to
this thunk transform code. This is significantly more likely to happen when all
arguments are at +0.
This is tested by a SILGen test that I updated out of tree. It shouldn't effect
normal +1 code.
rdar://34222540

@swift-ci smoke test and merge


Scroll behaviour not correct in Object page layout

OpenUI5 version: 1.128.0
Browser/version (+device/version): Chrome, Desktop
Any other tested browsers/devices(OK/FAIL): Fail
URL (minimal example if possible):
https://platformx-d1b6a0fc1.dispatcher.us2.hana.ondemand.com/serviceCatalog/application-logging-service?region=all
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:

Open above given link
Try to scroll down
You can observe there is sudden jump in the screen.

What is the expected result?
The scroll behaviour should be smooth, switch between expanded heading and snapped heading should be smooth.
What happens instead?
Switch between expanded heading and snapped heading is not proper. Screen jumps while switching.
Any other information? (attach screenshot if possible)
Please refer to the gif file.

Hello @azharnh,
Thank you for reporting this issue and providing access to your application.
After reviewing it, I noticed that your application includes significant custom CSS modifications. These customizations appear to affect the behavior and layout of the ObjectPage component, potentially leading to the scrolling issue you’ve described.
In order to help us identify and resolve the issue effectively, could you please provide an isolated example (e.g., a minimal reproducible scenario using tools like jsbin? This would allow us to determine whether the problem lies in the ObjectPage implementation itself or if it is being influenced by the custom CSS or other external factors in your application.
To assist you further:

You could start by removing your custom styles temporarily to see if the issue persists. If the issue disappears, it’s likely that the custom CSS is contributing to the behavior.
If the issue persists even without custom CSS, then it might be a bug in the ObjectPage, and we’d be happy to investigate further with the isolated example.

Looking forward to your feedback!
Best regards,
Ivaylo

Since there is no response from the author for more than 4 weeks I'm closing the ticket.


(Fix) Tx Table fails to display OutgoingTx data

This is @Agupane finding, we were working on fixes.

wrong parameters order: https://github.com/gnosis/safe-react/commit/c887c71b05df409213e6b3825e320a0e88f2d15c
wrong logic for some sendTokens: https://github.com/gnosis/safe-react/commit/cdcdd07b234d1af472f97220bc96652bedfbb2ec
invalid display of txs amount with long decimals: https://github.com/gnosis/safe-react/commit/55eee73ea735c11a445f3d717797bfd10ca9f94e

Travis automatic deployment:
https://pr799--safereact.review.gnosisdev.com/app

Travis automatic deployment:
https://pr799--safereact.review.gnosisdev.com/app

@lukasschor Just to clarify. We should see the short notation (<0.0001) in both, the tx and the overview? or just in the tx row?
Also, it is not working for ETH
@Agupane @fernandomg

Do we show the exact number in the transaction details? If yes, then I think this should be fine.

So it should ideally show the exact number in the details. But this would not be a release blocker for me. Users can always go to etherscan, but then we should fix it later.

The fact that it does not shorten for ETH is also fine for now.

@lukasschor incoming tx should also use the short notation? I think it should, for consistency

@fernandomg
If possible could you change the behavior to

Short notation in the overview for all transactions (incoming, outgoing, ETH/ERC-20)

Long notation in the transaction details for all transactions

If we can merge it by Monday we can of course include it in the release. But if there's not enough time to do testing, afterwards I would leave it out for the release. We can and just make a hotfix (2.0.1.) afterwards.


NoOpTrigger

Description
Added NoOpTrigger to be used when constructing monitor error alerts or alerts which are not generated as a result of ran triggers
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

plz resolve conflicts

Codecov Report

Merging #420 (6dee931) into main (6af3110) will decrease coverage by 0.16%.
The diff coverage is 52.77%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main     #420      +/-   ##
============================================
- Coverage     72.82%   72.67%   -0.16%
- Complexity      701      709       +8
============================================
  Files           112      113       +1
  Lines          4670     4706      +36
  Branches        602      606       +4
============================================
+ Hits           3401     3420      +19
- Misses         1019     1035      +16
- Partials        250      251       +1

Impacted Files
Coverage Δ

...n/org/opensearch/commons/alerting/model/Monitor.kt
81.77% <0.00%> (-0.43%)
:arrow_down:

...g/opensearch/commons/alerting/model/NoOpTrigger.kt
30.43% <30.43%> (ø)

...lin/org/opensearch/commons/alerting/model/Alert.kt
75.10% <100.00%> (+1.26%)
:arrow_up:

Is the idea to use the NoOpTriggers to create error alerts for all monitor types when the monitor fails?

yes

yes

How exactly will the NoOptrigger be used in the monitor executions? Also why is this needed for the error alerts? Can't we have a function in Alerting to generate error alerts from monitor failures and have that shared amongst all the monitor runners? Something similar to that is already in place.
Also would the idea be for users to make monitors with these noop triggers?

After discussion with @getsaurabh02 conclusion was that it is safest to keep constraint of mandatory trigger parameter in Alert constructors, hence the NoOpTrigger implementation.
You can't make monitors with this type of trigger. I added this constraint inside init block of Monitor class.


PUT insert sixgill mentions

💡 Summary
Add new REST endpoints that mirror existing sql queries and replace existing sql query with REST
Specifically: Convert "insert_sixgill_mentions()" TSQL query to an API endpoint
Motivation and context
There are two major reasons to use endpoints in place of sql queries.

Replace the need to know t-sql
Off load data aggregation to fastapi parallel workers

Implementation notes

Gather existing queries from code.
Create new endpoints at fastapi.
Secure new endpoints in same fashion as existing endpoint.

Acceptance criteria

[X] home/models.py model created
[X] dataAPI/schemas.py schema created
[X] dataAPI/views.py functions created
[X] dataAPI/tasks.py function created
[X] Verified endpoint is working
[X] pushed to api extended branch

Endpoint has been completed and pushed to the api extended branch


Update README.md to fix the link of back to top

What is this Python Dataviz tool?
Describe features.
What's the difference between this Python Dataviz tool and similar ones?
Enumerate comparisons.
--
Anyone who agrees with this pull request could submit an Approve review to it.

LGTM


Add locking functionality to Noto

What would you like to be added?
Add functionality to Noto for locking a particular amount of value, such that a transaction can be built and guaranteed to be successful when certain conditions are met.
Why is this needed?
Currently Noto supports a pre-approval flow (where an owning party can approve some of their tokens to be spent by another), but it provides no way to guarantee that the flow will be possible. The input states are still available after a particular transfer has been approved - so they may end up getting consumed by another transaction before the approved transfer is able to execute. This lack of an execution guarantee prevents many types of trades and cross-chain flows from being implemented with Noto.

Below is a potential implementation of this feature. It requires adding a new "locked" attribute to Noto states, and defining a way to lock and unlock them, ensuring that the following conditions are met:

anytime value changes owners, the notary must be involved
the logic around locks must be programmable, so it must be possible to implement in a shared ledger contract without involving the notary directly in the logic

Some additional points after further thought on this design:

Either the existing Noto coin schema must be altered to include a "locked" boolean in its data, or a new state schema must be introduced (such that B is not a regular coin, but is a new "lock" or "locked coin"). I am leaning toward the latter.
There does not appear to be any need to make Paladin core aware of how locking works - it seems like it can be knowledge held by the domains only, and is just a special state or state attribute.
It should not be required to specify D ahead of time. Only A, B, C must be specified up-front - D may be designated later. In fact, it should be possible to designate any number of possible "success" outcomes, as long as they are all validated by the notary. It should also be possible to remove an outcome. Adding/removing outcomes to the lock must always result in a base ledger transaction.
The base ledger Noto contract will need knowledge of current locked states and all of their possible outcomes.
In the special case where a Pente private contract is used for notary hooks, it will need new hooks for each Noto operation discussed here (create lock, add lock outcome, remove lock outcome, unlock). The private contract must track the state of all open locks and their possible outcomes - and must ensure that all possible outcomes remain valid. If another operation on the private contract causes a previously-specified outcome to become invalid, the private contract may trigger Noto to remove that outcome possibility.

There's still a bit of an odd window between these two steps:

the point where the lock delegate selects which outcome has become "true"
the point where someone instructs the notary to "unlock" and therefore move all the private/public states into the correct shape

But I can't figure out any way to make that cleaner.

This definitely feels in the right direction to me.
I just couldn't convince myself we've covered all the angles yet.
I'm really focussed on the Pente-backed-notary case, because it's the most complex, but also because I think it's the most pure and attractive way to implement a notary pattern.
I can see that using a Noto+Pente transaction to enter the locked state works. However, I can't yet see how the completion transaction can be atomic.
Struggling to put it into words, but my assumption of how it would work is as follows:

OrgA, owner of CoinA creates a Pente privacy group with Smart Contract address 0xAAA
OrgA performs a Noto(+Pente) transaction to swap CoinA for CoinA1

Notary privacy group marks some value "locked by 0xAAA" in the Notary-only privacy group
Two pre-signed outcome transactions are prepared that can execute without involvement of the notary contract

CoinA1 -> CoinA2 - owned by OrgB
CoinA1 -> CoinA3 - owned by OrgA, but no longer locked

OrgA executes the path - let's say CoinA2 path (success)

At this point the Noto smart contract is out of sync with the Notary smart contract on-chain - Noto is ahead
OrgB will not be able to spend the coin they've owned, until the Notary does a further blockchain txn
Event is emitted by Noto in this case for immediate action by the Notary

The Notary submits a new Pente-only smart contract call

This removes the lock state in the Notary contract, thus allowing the spending to happen

How did I do?
The fact this this flow does not allow a coin to be immediately spendable by OrgB is awkward, but possibly unavoidable.
There is a lot of detail to work out on which Paladin TransactionIDs get confirmed at which points, and how the steps are orchestrated. But this does seem like a plausible way forwards.

@peterbroadhurst That's mostly what I've proposed, except that I'm proposing state CoinA2 doesn't get confirmed until step (4). In step (3), we settle that the only possible resolution of the lock will be CoinA2, and emits an event indicating so, and the notary must respond to that event by executing (4) which is a Noto+Pente call that confirms CoinA2 and purges other possible outcomes, and keeps Noto in sync with the notary's private contract logic. I believe this can be enforced on the base ledger Noto contract so that once (3) has executed, no other transition of CoinA1 will be possible except to spend it and confirm CoinA2.
The slight alternative you've outlined is that CoinA2 is confirmed earlier, as part of (3). This has some attractive qualities in that it feels a little bit more atomic (as the Noto transfer itself can be part of another base ledger transaction that doesn't involve the notary). However, the resulting coin is still not really spendable unless (4) happens next, so I don't think the ownership guarantees and atomicity are fundamentally different than the way I've outlined it (unless the notary misbehaves, in which case nothing matters anyway). And the limbo here with Noto doing a state confirm out of sync with the Pente notary logic feels slightly problematic to me.

After thinking some more, I can see an argument for making the Noto state confirmation happen in (3), particularly for the purposes of ownership tracking. If it's important to know the exact moment that Org B took ownership of the value, then it's useful to reflect the Noto state change in (3). In DvP or PvP scenarios, this would ensure that both legs of the transaction are recorded together.
There are still some difficulties with this approach, and it means accepting that the private notary contract may get temporarily out of sync with Noto. But it also reinforces that Noto is the true ownership record.

As I've started working through this and related ideas on #483 and #485, I believe the API can be generalized as follows.
Private ABI of Noto:

lock(bytes32 id, uint256 amount, bytes data) - Create a new lock using the specified amount of the owner's tokens.
unlock(bytes32 id, string[] to, uint256[] amounts, bytes data) - Unlock the specified amount of value from a lock, sending it to the recipients. The total value unlocked must be less than or equal to the total locked amount. If less, the leftover value remains locked. Can only be called by the lock creator, and only if the lock has not been delegated.
approveUnlock(bytes32 id, string to[], uint256 amounts[], bytes data) - Approve an unlock operation that can be executed by the lock delegate. Can only be called by the lock creator, and only if the lock has not been delegated.
delegateLock(bytes32 id, address delegate) - Delegate unlocking to another address. Once delegation is exercised, control of any remaining locked value is returned to the lock creator.

I believe the "lock outcomes" outlined previously are implementable as "approveUnlock" transactions. Additional thoughts on approvals:

We may want a batch version of "approveUnlock", to register multiple approvals for different unlock outcomes all at once (only one of which will be able to be chosen).
There are use cases for combining some calls - such as "lock and approve" or "approve and delegate". For now I've only proposed them as discrete operations, which is most similar to existing token standards.
"approveUnlock" must retain the characteristic that the "unlock" can be exercised on the base ledger, without the need to go back through the notary.
We may need a spelling for removing an approval. Many standards spell this by reusing the "approve" call with a boolean parameter or a 0 amount, rather than having a separate method for it.

When combined with Pente hooks, this set of operations should also allow implementing custom patterns similar to the one proposed on #485. More on hooks:

We need to ensure that the data parameter is passed in to hooks. This can be used for adding custom logic to hooks.
The default checks on lock creator should be disabled when hooks are used. This can allow parties other than the lock creator to unlock portions of value if they meet specific (custom) criteria.


Custom explorer nodes with children show a "placeholder" icon now

Issue Type
Bug
Description
In the latest insiders build, I see that nodes, without provided icons but with children, have a new placeholder icon.

I'm hopeful that this isn't the desired behavior.
VS Code Info
VS Code version: Code - Insiders 1.21.0-insider (ef42990520a856451ba5ad6fa1d299b0e0c185a2, 2018-02-12T05:14:21.574Z)
OS version: Windows_NT x64 10.0.17093

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (8 x 4008)

Memory (System)
31.93GB (16.32GB free)

Process Argv
C:\Program Files\Microsoft VS Code Insiders\Code - Insiders.exe

Screen Reader
no

VM
0%

Extensions (20)

Extension
Author (truncated)
Version

Bookmarks
ale
0.18.1

openmatchingfiles
bca
0.3.0

markdown-preview-github-styles
bie
0.1.0

gitignore
cod
0.5.0

vscode-svgviewer
css
1.4.3

gitlens
eam
8.0.0

restore-editors
eam
0.2.1

toggle-excluded-files
eam
1.6.0

tslint
eg2
1.0.24

typelens
kis
1.5.0

vscode-postcss-sorting
mrm
3.0.1

vscode-scss
mrm
0.6.2

extension-manifest-editor
ms-
0.1.5

github-issues-prs
ms-
0.9.0

typescript-javascript-grammar
ms-
0.0.31

vscode-subword-navigation
ow
1.1.5

vscode-versionlens
pfl
0.19.1

partial-diff
ryu
0.5.1

code-settings-sync
Sha
2.8.7

vscode-autohotkey
sle
0.2.2

(1 theme extensions excluded)

Reproduces only with extensions

Might be related to https://github.com/Microsoft/vscode/issues/43216

This is due to #28974
@eamodio It is intended because to have proper alignment for tree. Alignment is broken if some nodes have icons and some does not. Hence a placeholder is placed.
Meanwhile, I am waiting to get a better placeholder icon.

@sandy081 Can this be reopened? I really don't like the forcing placeholder icons when an extension doesn't provide one when and item is expandable.
This isn't a problem for the explorer view, so why is it an issue for custom views? Now I could probably get behind it if it went along with the file theme, but again I feel like that should be the choice of then extension.

@eamodio

I really don't like the forcing placeholder icons when an extension doesn't provide one when and item is expandable.

Otherwise tree will be mis-aligned right.  For example

If feature node does not have an icon then without place holder icon, labels are not aligned and tree looks broken.

This isn't a problem for the explorer view, so why is it an issue for custom views?
Yes. Because all nodes in the explorer are consistent. Either all nodes have icons or only files have icons or no icons.

Now I could probably get behind it if it went along with the file theme, but again I feel like that should be the choice of then extension.
Yes extension can do that (choose to go along with current file icon theme) by using the properties iconPath and resourceUri properties on TreeItem.

Looking at this a bit more -- it looks like in the latest insiders it does sort of go along with the file icon theme, but not correctly. It seems to hide icons when they exist in the theme, and show them when they don't.
It is a bug to show folder icons instead of placeholders. Got fixed here - https://github.com/Microsoft/vscode/issues/44726. After the fix, screenshots in the above comment will show always same in all themes.

Long story In short, tree view will not align with File icon theme unless extension asks so. Place holder icons are placed only when needed to make the tree aligned completely.
Gitlens tree look like following in all themes.

Why not use root folder icon for the root folders?

@sandy081 So I can definitely see this, if you have 2 items at the same nesting level where 1 has an icon and the other doesn't, but if none of them do why does it need to be forced? Forcing the addition of icons when not required (i.e. when they won't break alignment) seems to be forcing more visual noise - if an extension doesn't feel it provides value.
For example the folder icon here, on each remote and each stash. I can add an icon for each, but will it provide any useful information (maybe, maybe not).

So while I can certainly add icons for each of these (though stashes are a bit tricky), I just don't like adding more if it doesn't provide value. Honestly, I was thinking of removing the tag icon from each tag, because it is just a repeated icon without any added value -- where as branches provide extra value about its sync state.
Also as an aside, is there a way to provide something like a constant resourceUri that means I want this treated as a folder and/or a file of this type? Currently in GitLens when I want to show a "folder" type icon, I hack a resourceUri to some base folder -- seems a bit ugly :)

I have to admit that extension authors are not liking this placeholder approach to fix the tree alignment issue. Hence I reverted the fix and revisit the tree alignment problem with a different approach in next milestone.

@sandy081 Thank you and really appreciate your consideration!

@eamodio Forgot to reply to your question

Also as an aside, is there a way to provide something like a constant resourceUri that means I want this treated as a folder and/or a file of this type? Currently in GitLens when I want to show a "folder" type icon, I hack a resourceUri to some base folder -- seems a bit ugly :)

There is a constant you can set iconPath to ThemeIcon.Folder or ThemeIcon.File. By doing so system assigns an icon to the node based on File icon theme.

To verify, make sure that no place holder icons are added to the nodes in the tree view. An example is install gitlens extension and check in the Gitlens view.


Add option to re-indent text after exchange

This change adds an option to re-indent text after the exchange for linewise exchanges. The option is off by default and can be enabled per buffer.

I often run into this issue when inverting an if condition and exchanging the if body with the rest of the function. Would use :+1:

I've been thinking of implementing this for along time, but I don't want it to use =. It often does more than just shifting left or right.
I'd much prefer that we detect the indentation level of each block and manually adjust them after exchanging. Nothing but leading indentation should be affected.
(I have this issue with surround.vim as well: if I surround a linewise block with {, it changes my block of code substantially. I'd prefer it just did an > operation on the surrounded text. This is probably because I haven't configured 'indentexpr'.)

That makes sense and I think I addressed your concerns plus fixed some bugs in the first commit with the commit I just pushed.

The new implementation is still using =, even if only for a single line. I'd prefer using the indentation level of the text that was there previously instead of the indentation level that = thinks it should use.
After that, if you can squash all of the commits together I'll be happy to merge this in :)

I'll add that as a option but I don't think it makes as much sense. Re-indenting the first line using == works well because it is indented in the context of its new position and preserves manual alignment of lines after the first line that would be lost by using == on all lines. Just switching the indents of each of the blocks based on the indents of the first lines doesn't work so well. For example, moving a line outside of an if statement:
if (foo == 1)
{
    Something();
    foobar = 2 + 3
           + 4 + 5;
}

with no change in indentation:
if (foo == 1)
{
    Something();
}
    foobar = 2 + 3  // shouldn't be indented
           + 4 + 5;

with my initial PR:
if (foo == 1)
{
    Something();
}
foobar = 2 + 3
    + 4 + 5; // + should align with =

with my latest PR:
if (foo == 1)
{
    Something();
}
foobar = 2 + 3
       + 4 + 5;

without ==:
if (foo == 1)
{
    Something();
    } // shouldn't be indented
foobar = 2 + 3
       + 4 + 5;

I don't consider that a use-case for exchange.vim. What you're doing is moving one piece of text, not exchanging two pieces of text.
Here's a use case where I think = is totally wrong:
fooThing = a + b
         + somethingForBar();
if (condition) {
    barThing = c + d
             + somethingForFoo();
}

Exchanging the somethingFor* lines here, = would destroy the alignment.

I implemented swapping the existing indent of each region and squashed/rebased on master. It got a bit more complicated to handle tabs/spaces/mixed and blank lines that didn't work properly before. I put in an option to re-indent using == on the first line of each region by setting g:exchange_indent = '=='. Hope that's okay. Neither mode is enabled by default.

Sorry for taking so long to get back to you on this.
I think there are some bugs to work out. Using g:exchange_indent = 1, a lot of my testing left incorrect indentation. Often, it seemed that one of the regions was indented correctly, while the other had no indentation at all.
Another thing that didn't work was a region with another region fully contained inside of it. For example, replacing an if statement with just the body (i.e. remove the conditional part). It seems that some of the math used affects the indentation of nearby lines.
I'm gonna leave this open, and over time we can figure out where the bugs are and squash them.

I'm glad you're testing it instead of blindly merging. Can you be more specific with your examples?

I fixed the overlapping region case. I'll squash the commits again after we work out all the kinks.

I finally got around to testing these new changes. I'm gonna go ahead and merge this in. It seems to be in working order.
Thanks for adding this, and sorry for my slow responses!


Feat/dialog

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 50.00000% with 6 lines in your changes missing coverage. Please review.

Files with missing lines
Patch %
Lines

...cker-lib/lib/components/dialog/dialog.component.ts
50.00%
6 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files with missing lines
Coverage Δ

...cker-lib/lib/components/dialog/dialog.component.ts
87.65% <50.00%> (-6.64%)
:arrow_down:


Web interface should have Content-Security-Policy headers

We should have Content-Security-Policy on all pages on pub.dartlang.org.
We should be very strict about the origin of scripts we allow to run.
But it might also be useful to block mixed content, and if possible disallow inline scripts.
This would mitigate security risks, if there is a bug in the markdown to HTML generator somewhere in dartdoc.
I don't really see any active ways to exploit it right now, but we should harden services.

Also, we should definitively set disown-opener, even if it's not supported yet.
See mdn for details.

Could you please give an example policy setting you'd like to see? I'm not that familiar with those policies and not sure what can be misconfigured.

I haven't tested this, but we could do something a long the lines of:
Content-Security-Policy: default-src 'none'; block-all-mixed-content
Content-Security-Policy: script-src 'self' 'unsafe-inline' 'https://www.googletagmanager.com'
Content-Security-Policy: frame-src 'self'; img-src 'self'; frame-ancestors 'self'

Warning: setting this too strict will break the site.
Ideally, we should probably try to get rid of 'unsafe-inline' and not have inline scripts at all.
IMO, there is not rush to do this right now, but we probably should guard against XSS with CSP at some point, before we allow too many interactive features.

I've started to extract the inline scripts from the templates, but we have a conflict with the inlined microdata we provide for Google Search:
https://developers.google.com/search/docs/guides/intro-structured-data
@jonasfj: any chance to reach out to somebody with a deeper knowledge about the content security policies, whether the type="application/ld+json" would give us troubles here? I guess it would be ok to leave it there, because worst case the browser probably won't interpret the script at all, and the search engine will index the part, regardless of the content security policy.

Hmm, this is a good question, I'm not sure if we can continue to use embedded json-ld...
if the browser doesn't complain I would expect that we can.. :)

@jonasfj did you mean 'self' instead of 'none' here? 'none' blocks everything by default.
Content-Security-Policy: default-src 'none'; block-all-mixed-content

Or we could use ngrok when testing locally?
But, yeah maybe we just disable CSP when running locally.

did you mean 'self' instead of 'none' here? 'none' blocks everything by default.

I'm also okay with specifying object-src: none; ... for all the possible ...-src:  values, see:
https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP#Browser_compatibility


Add minimal script-exporter Dockerfile

This change adds two new files to support prometheus federation deployment of the script-exporter for ndt5 e2e monitoring using access tokens.
The cache_exit_code.sh takes inspiration from ndt_e2e.sh but generalizes it to run any command.
The Dockerfile.minimal includes the command dependencies for the ndt5 e2e monitoring.

This change is

https://github.com/m-lab/dev-tracker/issues/574


Enables calibration interfaces in NoahMP401

This updates includes the following changes:

NoahMP401 has been updated to enable spatially distributed specification of model parameters
This also allows the parameters to be exposed for optimization
Added interfaces for parameter estimation within Noahmp401
Added support for University of Arizona snow data for use in parameter estimation

Resolves #514

A testcase is at :  /discover/nobackup/svkumar/LISF_testing/514

Hi Sujay,
I have reviewed your changes and found the following issues to review/address:

Minor conflict in lis/make/default.cfg (likely due to recent changes merged in #509)
File lis/optUE/type/paramestim/obs/UAsnow/UAsnow_obsMod.F90

74: Add Description?
119-133: hard coded grid projection variables

Add comment describing grid data being used?
Include technical information, reference to paper if it exists?
Indicate that lis/core/LIS_PRIV_rcMod.F90 describes what is going on with gridDesc?

File lis/optUE/type/paramestim/obs/UAsnow/read_UAsnowobs.F90

102-105: Add comment describing purpose of if-then block? (i.e., why mm = 10)

File lis/surfacemodels/land/noahmp.4.0.1/NoahMP401_setup.F90

572-585: add comment describing hard coded values (where did they come from?)

File lis/surfacemodels/land/noahmp.4.0.1/pe/NoahMP401_peMod.F90

100, 102, 124-125: remove commented code if not needed
613-624: change print call to write(LIS_logunit, *)?

File lis/surfacemodels/land/noahmp.4.0.1/pe/NoahMP401_set_pedecvars.F90

100, 184-185, 187, 189, 468, 475: remove commented code if not needed

File lis/surfacemodels/land/noahmp.4.0.1/phys/module_sf_noahmpdrv_401.F90

706: remove commented code if not needed

All updates have been done except:

File lis/surfacemodels/land/noahmp.4.0.1/NoahMP401_setup.F90
572-585: add comment describing hard coded values (where did they come from?) -

These came from the NoahMP physics

File lis/surfacemodels/land/noahmp.4.0.1/phys/module_sf_noahmpdrv_401.F90
706: remove commented code if not needed

These commented lines are left as is for posterity (and to let the users know that it was moved for exposing model parameters for OPTUE)

The changes look good and they pass compile and run tests. Merging.
Compile and run results:
- [x] SLES 11/Intel 18 -- *PASS*
    * Results identical to target
- [x] SLES 11/GNU 4 -- *PASS*
    * Results ~identical to target


[2.1] bump calico

High-level description
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (required)

COPS-6121 Beta4: Calico networking not working with Docker
D2IQ-65076 Bump calico to the latest version before releasing dc/os containing it

@mesosphere-mergebot label Ready for review

@mesosphere-mergebot changelog-not-required part of calico effort

@mesosphere-mergebot sync

@mesosphere-mergebot sync

@mesosphere-mergebot label Ship It

@mesosphere-mergebot merge-it

@AliakseiKhomchanka can you have a look why this pr is not merged by mergebot?
/cc @orsenthil


kvpctl.exe can't detect target Hyper-V VMs in Intel E3 / E5 CPU machines

Summary:
Based on Provisioning Fedora CoreOS on Microsoft Hyper-V, find that kvpctl.exe couldn't detect target Hyper-V VMs in Intel E3 / E5 CPU machines.
Steps to Reproduce:

Prepare a Windows Server 2022 or Windows 10 in a Intel(R) Xeon(R) CPU E5 / E3 machine.
Install a fedora-coreos VM in Hyper-V, and confirm Get-VM can detect it.
Follow the steps (prepare all required files and tools) to execute .\kvpctl.exe <name_of_vm> add-ign <path_to_ign_file>.

.\kvpctl.exe fedora-coreos-38.20230902.3.0 add-ign .\example.ign
Find machine failed: could not find virtual machine "fedora-coreos-38.20230902.3.0"

Prepare a Windows Server 2022 or Windows 10 in a AMD EPYC machine.
Install a fedora-coreos VM in Hyper-V, and confirm Get-VM can detect it.
Follow the steps (prepare all required files and tools) to execute .\kvpctl.exe <name_of_vm> add-ign <path_to_ign_file>.

.\kvpctl.exe fedora-coreos-38.20230902.3.0 add-ign .\example.ign
added key:  ignition.config.0

So, seems kvpctl can't detect Hyper-V VMs in Intel E series.

Hi. What version do you used? I had the same problem on 0.4.0. Try to download current master and build kvpctl from source. This helped me.

Have rebuilt kvpctl from current master. It works.
Thanks. a loooooot @herrart


fix(#2018): prettier app-header

Modify the commit message to release a hotfix #2018

:tada: This PR is included in version 1.17.0-alpha.85 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.23.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.17.0-alpha.34 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 4.23.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0-alpha.5 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


add custom domain to api gateway

reason not there to do this now

reason not there to do this now


Error when multiple paths are passed with --all

Previously, gb vendor --all a b would just delete all vendored
packages.
Closes #646

Hello,
I've fixed the build for the testing/testmain changes in Go 1.8, #657. Please rebase your change and push again.
Sorry for the delay, I've recently changed jobs.
Thanks
Dave


Update Set-SPOTenant.md

Missing closing bracket for [-ContentTypeSyncSiteTemplatesList MySites].

Docs Build status updates of commit 72c3ef0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOTenant.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Looks somewhat strange format so I ran a PlatyPS against the file, and I see that two parameters sets are being outputted
### None (Default)
and
### ParameterSetContentTypeSyncSiteTemplatesList
and that parameter is documented like this
-ContentTypeSyncSiteTemplatesList <String[]> [-ExcludeSiteTemplate]
Also, the parameter description section for ContentTypeSyncSiteTemplatesList is not being rendered in the published version of the article, because it lacks the yaml portion. Can you fix that?

@Kateyanne Please merge this PR. Thanks

Docs Build status updates of commit cd7e44a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOTenant.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 3555112:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/Set-SPOTenant.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


feat: implicit container contributions

What does this PR do?
This PR introduces 3 changes to the container contribution mechanism:

The controller.devfile.io/merge-contribution component attribute is no longer required in order to define a target for container contributions. The first container component in a DevWorkspace (that is not imported by a plugin or parent DevWorkspace) is automatically selected as a merge target if the controller.devfile.io/container-contribution is used on at least one other DevWorkspace component. However, if the controller.devfile.io/merge-contribution attribute is set to true for a container component, it will be selected as a target for container contributions.

Users can opt out a container component from being implicitly selected as a container contribution merge target by setting the controller.devfile.io/merge-contribution attribute to false.

If a DevWorkspace has multiple container components with the controller.devfile.io/merge-contribution attribute set to true, the workspace fails. The webhook was extended to prevent the creation of a DevWorkspace that has multiple container components with the controller.devfile.io/merge-contribution attribute set to true, and to prevent updating a DevWorkspace to have multiple container components with the merge-contribution attribute set to true.

What issues does this PR fix or reference?
Fix #993
Is it tested? How?
Automated tests
Automated tests were added to check that implicit container contributions (with the spec.contributions field and the attribute) work as expected; these are based off of the tests previously created in https://github.com/devfile/devworkspace-operator/pull/844 and https://github.com/devfile/devworkspace-operator/pull/939. A test was also added to ensure that DevWorkspaces with multiple container components with the   controller.devfile.io/merge-contribution: true attribute will fail.
Manual testing
First, checkout the changes from this PR and install DWO onto your cluster, e.g set your DWO_IMG environment variable to point to your quay repo and make docker install on OpenShift.
The following DevWorkspaces were based off of the Che-Theia + Golang example from https://github.com/devfile/devworkspace-operator/pull/844. They should behave the same as the original example, except for the opt-out cases and multiple merge-contribution attribute cases.
Ensure implicit container contributions work
Apply the following DevWorkspace:
kind: DevWorkspace
apiVersion: workspace.devfile.io/v1alpha2
metadata:
  name: test-contrib-theia
spec:
  started: true
  template:
    attributes:
      controller.devfile.io/storage-type: ephemeral
    projects:
      - name: golang-sample
        git:
          remotes:
            origin: "https://github.com/che-samples/golang-example.git"
    components:
      - name: tools
        attributes:
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          env:
            - name: GOPATH
              value: /projects:/home/user/go
            - name: GOCACHE
              value: /tmp/.cache
          endpoints:
            - name: 8080-tcp
              targetPort: 8080
          memoryLimit: 2Gi
          mountSources: true
      - name: theia-ide
        plugin:
          uri: https://gist.githubusercontent.com/amisevsk/b342b9ae064b5a79e08945d04d02c208/raw/84cd2df9266b4a608fbc0fd0cc18816bca03e344/theia-contrib.devfile.yaml
          # workaround to make Theia listen on localhost rather than <IP_ADDRESS>; can be
          # dropped if routingClass: che
          components:
            - name: theia-ide
              container:
                env:
                  - name: THEIA_HOST
                    value: <IP_ADDRESS>

When inspecting the tools container, you should see that contributions from the theia-ide plugin component have been added, e.g. the PLUGIN_REMOTE_ENDPOINT_EXECUTABLE environment variable is set.
Ensure implicit container contributions work with spec.contributions
Apply the following DevWorkspace, and similar to the last test case, ensure you can see contributions from theia-ide (e.g. environment variables)
kind: DevWorkspace
apiVersion: workspace.devfile.io/v1alpha2
metadata:
  name: test-spec-contrib-theia
spec:
  started: true
  contributions:
  - name: theia-ide
    uri: https://gist.githubusercontent.com/amisevsk/b342b9ae064b5a79e08945d04d02c208/raw/84cd2df9266b4a608fbc0fd0cc18816bca03e344/theia-contrib.devfile.yaml
    # workaround to make Theia listen on localhost rather than <IP_ADDRESS>; can be
    # dropped if routingClass: che
    components:
      - name: theia-ide
        container:
          env:
            - name: THEIA_HOST
              value: <IP_ADDRESS>
  template:
    attributes:
      controller.devfile.io/storage-type: ephemeral
    projects:
      - name: golang-sample
        git:
          remotes:
            origin: "https://github.com/che-samples/golang-example.git"
    components:
      - name: tools
        attributes:
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          env:
            - name: GOPATH
              value: /projects:/home/user/go
            - name: GOCACHE
              value: /tmp/.cache
          endpoints:
            - name: 8080-tcp
              targetPort: 8080
          memoryLimit: 2Gi
          mountSources: true

Ensure opting out from implicit container contributions works
Apply the following DevWorkspace.  Ensure that the opt-out container does not have contributions from theia-ide, and that the tools container does have the contributions.
kind: DevWorkspace
apiVersion: workspace.devfile.io/v1alpha2
metadata:
  name: test-contrib-theia-opt-out
spec:
  started: true
  template:
    attributes:
      controller.devfile.io/storage-type: ephemeral
    projects:
      - name: golang-sample
        git:
          remotes:
            origin: "https://github.com/che-samples/golang-example.git"
    components:
      - name: opt-out
        attributes:
          controller.devfile.io/merge-contribution: false
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          memoryLimit: 2Gi
          mountSources: true
      - name: tools
        attributes:
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          env:
            - name: GOPATH
              value: /projects:/home/user/go
            - name: GOCACHE
              value: /tmp/.cache
          endpoints:
            - name: 8080-tcp
              targetPort: 8080
          memoryLimit: 2Gi
          mountSources: true
      - name: theia-ide
        plugin:
          uri: https://gist.githubusercontent.com/amisevsk/b342b9ae064b5a79e08945d04d02c208/raw/84cd2df9266b4a608fbc0fd0cc18816bca03e344/theia-contrib.devfile.yaml
          # workaround to make Theia listen on localhost rather than <IP_ADDRESS>; can be
          # dropped if routingClass: che
          components:
            - name: theia-ide
              container:
                env:
                  - name: THEIA_HOST
                    value: <IP_ADDRESS>

Ensure DevWorkspaces with multiple container components  that have the  merge-contribution: true attribute are rejected
Apply the following DevWorkspace:
kind: DevWorkspace
apiVersion: workspace.devfile.io/v1alpha2
metadata:
  name: test-contrib-theia-multiple-merge-contributions
spec:
  started: true
  template:
    attributes:
      controller.devfile.io/storage-type: ephemeral
    projects:
      - name: golang-sample
        git:
          remotes:
            origin: "https://github.com/che-samples/golang-example.git"
    components:
      - name: tools
        attributes:
          controller.devfile.io/merge-contribution: true
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          env:
            - name: GOPATH
              value: /projects:/home/user/go
            - name: GOCACHE
              value: /tmp/.cache
          endpoints:
            - name: 8080-tcp
              targetPort: 8080
          memoryLimit: 2Gi
          mountSources: true
      - name: tools-2
        attributes:
          controller.devfile.io/merge-contribution: true
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          memoryLimit: 2Gi
          mountSources: true
      - name: theia-ide
        plugin:
          uri: https://gist.githubusercontent.com/amisevsk/b342b9ae064b5a79e08945d04d02c208/raw/84cd2df9266b4a608fbc0fd0cc18816bca03e344/theia-contrib.devfile.yaml
          # workaround to make Theia listen on localhost rather than <IP_ADDRESS>; can be
          # dropped if routingClass: che
          components:
            - name: theia-ide
              container:
                env:
                  - name: THEIA_HOST
                    value: <IP_ADDRESS>

You should get a response similar to the following:
$ kubectl apply -f theia-golang-multiple-merge-contributions.yaml -n $NAMESPACE

Error from server (only a single component may have the controller.devfile.io/merge-contribution attribute set to true. The following 2 components have the controller.devfile.io/merge-contribution attribute set to true: tools, tools-2): error when creating "theia-golang-multiple-merge-contributions.yaml": admission webhook "mutate.devworkspace-controller.svc" denied the request: only a single component may have the controller.devfile.io/merge-contribution attribute set to true. The following 2 components have the controller.devfile.io/merge-contribution attribute set to true: tools, tools-2

Ensure DevWorkspaces modifications to make multiple container components  have the  merge-contribution: true attribute are rejected
Apply the following DevWorkspace:
kind: DevWorkspace
apiVersion: workspace.devfile.io/v1alpha2
metadata:
  name: test-contrib-theia-add-multiple-merge-contributions
spec:
  started: true
  template:
    attributes:
      controller.devfile.io/storage-type: ephemeral
    projects:
      - name: golang-sample
        git:
          remotes:
            origin: "https://github.com/che-samples/golang-example.git"
    components:
      - name: tools
        attributes:
          controller.devfile.io/merge-contribution: true
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          env:
            - name: GOPATH
              value: /projects:/home/user/go
            - name: GOCACHE
              value: /tmp/.cache
          endpoints:
            - name: 8080-tcp
              targetPort: 8080
          memoryLimit: 2Gi
          mountSources: true
      - name: tools-2
        attributes:
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          memoryLimit: 2Gi
          mountSources: true
      - name: theia-ide
        plugin:
          uri: https://gist.githubusercontent.com/amisevsk/b342b9ae064b5a79e08945d04d02c208/raw/84cd2df9266b4a608fbc0fd0cc18816bca03e344/theia-contrib.devfile.yaml
          # workaround to make Theia listen on localhost rather than <IP_ADDRESS>; can be
          # dropped if routingClass: che
          components:
            - name: theia-ide
              container:
                env:
                  - name: THEIA_HOST
                    value: <IP_ADDRESS>

Now do a kubectl edit dw test-contrib-theia-add-multiple-merge-contributions -n $NAMESPACE to add an extra merge-contribution: true attribute to the tools-2 component
kind: DevWorkspace
apiVersion: workspace.devfile.io/v1alpha2
metadata:
  name: test-contrib-theia-add-multiple-merge-contributions
spec:
(...)
      - name: tools-2
        attributes:
+          controller.devfile.io/merge-contribution: true
          che-theia.eclipse.org/vscode-extensions:
            - https://github.com/golang/vscode-go/releases/download/v0.23.0/go-0.23.0.vsix
        container:
          image: quay.io/devfile/universal-developer-image:ubi8-0e189d9
          memoryLimit: 2Gi
          mountSources: true
(...)

You should get an error mentioning that multiple container components have the merge-contribution: true.
PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

Added an extra test case to account for the case where the first component could be implicitly selected as a merge target, but a later component explicitly opts in as a merge target. A duplicate test could be added for spec.contributions if desired.

Squashed the fixups


Feature Enhancement : Added sorting option in each column

When user press the column name , it will sort in ascending , if user presses it again then it will sort in descending order.
GSSOC'24

Thank you for submitting your pull request! 🙌 We'll review it as soon as possible. In the meantime, please ensure that your changes align with our CONTRIBUTING.md. If there are any specific instructions or feedback regarding your PR, we'll provide them here. Thanks again for your contribution! 😊

Just added some packages like mantine and loadsh for better performance.

By default, the sorting icon is not visible. I think we can not understand whether the sorting functionality is available or not.
So I think by default icon should be visible.

Fixed the changes check it now and close this under GSSOC'24
#71


Conversions from ColliderView into parry's SharedShape/TypedShape

Thanks! I changed the name of as_shared_shape to to_shared_shape to follow the style guide recommendations.


Update planning_domains_api.py

Updating the PD API.

@e-cal : Still fixing things up. Will let you know when we're good to check it over.

@e-cal : Ok, set. Uses the latest planning.domains API file, and fixes the attr/dataclasses issue.


Issue with deploy dash > 1.1 on Shinyproxy 2.3.1

Hi community,
I am trying to deploy a dash (latest build) app with Shinyproxy. It seems that the last successful dash/dash dependencies built than can work with Shinyproxy is:
dash 1.1.1
dash-bootstrap-components 0.7.1
dash-core-components 1.1.1
dash-html-components 1.0.0
dash-renderer 1.0.0
dash-table 4.1.0
I have tried a couple of fixes to launch it without luck, neither of which works with Dash > 1.1.0. I am adding the known solutions I’ve tried so far:
Method 1:
app = dash.Dash(__name__, requests_pathname_prefix='/app_direct/dash-demo/')
Method 2:
app = dash.Dash(external_stylesheets=[dbc.themes.BOOTSTRAP],
suppress_callback_exceptions=True,
prevent_initial_callbacks=True,
requests_pathname_prefix='/app_direct/<appname>')
#app.config.update({
#         # remove the default of '/'
#         'routes_pathname_prefix': '',
#         # remove the default of '/'
#         'requests_pathname_prefix': ''
#    })

I did try to include __name__ and/or exclude external_stylesheets
I also tried without success to move the request inside the config.update:
app.config.update({
         # remove the default of '/'
         'routes_pathname_prefix': '',
         # remove the default of '/'
         'requests_pathname_prefix': '/app_direct/<appname>/'
})

For reference, these solutions always result in none of this components loading:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>dash_bootstrap_components.v0_10_3m1598451933.min.js
bundle.v4_9_0m1598451932.js
dash_html_components.v1_0_3m1598451932.min.js
dash_core_components.v1_10_2m1598451932.min.js
dash_core_components-shared.v1_10_2m1598451932.js
dash_renderer.v1_6_0m1598451932.min.js
<EMAIL_ADDRESS><EMAIL_ADDRESS>dash_bootstrap_components.v0_10_3m1598451933.min.js
bundle.v4_9_0m1598451932.js
dash_html_components.v1_0_3m1598451932.min.js
dash_core_components.v1_10_2m1598451932.min.js
dash_core_components-shared.v1_10_2m1598451932.js
dash_renderer.v1_6_0m1598451932.min.js
I would appreciate any help with this issue.

UPDATE: Dash 1.17.0 and ShinyProxy 2.4.1 seem to have done the trick.
Just needs:
app = dash.Dash(
    __name__,
    external_stylesheets=[dbc.themes.BOOTSTRAP],
    suppress_callback_exceptions=True,
    server = server,
    requests_pathname_prefix='/app_direct/<appname>/'
)

I can't reproduce this fix with Dash 1.17.0 and ShinyProxy 2.4.1. The Dash Demo works fine with older version of Dash, but it's not clear to me how the above solution should be implemented for the Dash Demo:
https://github.com/openanalytics/shinyproxy-dash-demo
Can you provide some more details?

UPDATE: Dash 1.17.0 and ShinyProxy 2.4.1 seem to have done the trick.
Just needs:
app = dash.Dash(
    __name__,
    external_stylesheets=[dbc.themes.BOOTSTRAP],
    suppress_callback_exceptions=True,
    server = server,
    requests_pathname_prefix='/app_direct/<appname>/'
)

Hi @jtpoirier
When creating a Dash application, you can specify some parameters. In order to make Dash work properly with ShinyProxy you''ll have to specify two parameters, with the same value. These parameters are:

routes_pathname_prefix
requests_pathname_prefix

The value of these parameters should be as follows:
/app_direct/<appname>/
``
You have to replace `appname` by the id of the app that uses Dash. To make this clear, here is a full example:
Let's say you have the following `application.yml` file:

proxy:
title: Open Analytics Shiny Proxy
logo-url: https://www.openanalytics.eu/shinyproxy/logo.png
landing-page: /
heartbeat-rate: 10000
heartbeat-timeout: 60000
port: 8080
authentication: simple
admin-groups: scientists
users:

name: jack
password: password
groups: scientists
name: jeff
password: password
groups: mathematicians
docker:
cert-path: /home/none
url: http://localhost:2375
port-range-start: 20000
specs:
id: dash-demo # Note: this is the id of the application
display-name: Dash Demo Application
port: 8050
container-cmd: ["python", "app.py"]
container-image: openanalytics/shinyproxy-dash-demo

Then the id of the application is `dash-demo`, and thus the value of the parameter becomes:

/app_direct/dash-demo/

So at the top of your dash application, you'll probably have the following python code:

app = dash.Dash(
name,
external_stylesheets=[dbc.themes.BOOTSTRAP],
suppress_callback_exceptions=True,
server = server,
requests_pathname_prefix='/app_direct/dash-demo/',
routes_pathname_prefix='/app_direct/dash-demo/'
)

I hope this is clear and helps. Good luck!

Hi @jfrubioz
We made a change that will be included in the next ShinyProxy release to make working with Dash apps easier. From that release on, every ShinyProxy app will have an environment variable SHINYPROXY_PUBLIC_PATH that basically contains the value your specified in your workaround. For the example above that thus would be /app_direct/dash-demo/.
The advantage is that you can make your Dash applications independent on the app name used in ShinyProxy.
BTW: we will also provide a way to bind this value to any environment variable, again to make apps more independent of ShinyProxy.

Thanks for the fast responses. It sounds like your planned improvement will help.
The above code does not seem to successfully launch dash-demo with the latest version of Dash, potentially for a few reasons. "server" is not defined in the dash-demo app.py, so it won't run. If that line is removed, the app will start in the command line as below, but the container will never respond in time via the web interface. To be clear, the dash-demo works fine in this environment w/ dash ≤ 1.1.
Running on http://<IP_ADDRESS>:8050/app_direct/dash-demo/
Debugger PIN: 394-772-284
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
Running on http://<IP_ADDRESS>:8050/app_direct/dash-demo/
Debugger PIN: 807-835-959

@jtpoirier
Yes, I realized that I did not include any reference to the server. I updated the update to include the server = flask.Flask(__name__) line. Make sure you import flask into your module.
As @LEDfan explained, the solution relies simply on adding '/app_direct/dash-demo/' to your 'requests_pathname_prefix'. But I do not think you need to enter it into 'routes_pathname_prefix' as well. Hence, I would just make sure your python code looks like this:
app = dash.Dash(
    __name__,
    external_stylesheets=[dbc.themes.BOOTSTRAP],
    suppress_callback_exceptions=True,
    server = flask.Flask(__name__),
    requests_pathname_prefix='/app_direct/dash-demo/',
)

if __name__ == '__main__':
    app.run_server(
           #make sure you have the right host address
           #host = '<IP_ADDRESS>',
    )

Starting with the latest dash-demo release, I replaced the line 'app=dash.Dash()' with the below code as suggested. Again the server will run in command line but times out when launched from shinyproxy. I confirm that the id of the app is 'dash-demo' in my application.yml file.
import flask

app = dash.Dash(
    __name__,
    suppress_callback_exceptions=True,
    server=flask.Flask(__name__),
    requests_pathname_prefix='/app_direct/dash-demo/'
)

if __name__ == '__main__':
    app.run_server(debug=True, host = '<IP_ADDRESS>')

Hi @jtpoirier , great that you managed to solve the issue!
@jfrubioz we released ShinyProxy 2.5.0 in which each container now has the SHINYPROXY_PUBLIC_PATH environment. As you can see in our demo it should now be easier to support newer Dash versions.
Thank you for contributing the solution to us!
Since this is fixed now, I'm closing this issue. As always, feel free to open a new issue if you encounter any problem.


minor: release 0.5.8

Codecov Report

Merging #142 (7b55dbf) into 0.5.x (def1410) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            0.5.x     #142   +/-   ##
=======================================
  Coverage   81.53%   81.53%
=======================================
  Files          34       34
  Lines         780      780
=======================================
  Hits          636      636
  Misses        144      144

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 568e8e8...7b55dbf. Read the comment docs.


dependancy issue

Thogs_Vehicles depends on some items from Thogs_Things. However, it is not listed in the modinfo.json to depend on Thogs_Things.
a quick fix is to add Thogs_Things to the dependencies field to make sure that it's loaded in the correct order.

I forked my own version and fixed the dependency and fixed the rocket handcannon recipe. I also modified spy car's mounted gun.
https://github.com/WarriorKingBob/Thogs_Vehicles_Standalone/releases/tag/Latest