automatically cancel running sagas on location change

Currently sagas associated with a route are loaded asynchronously as many times, as the user of an application has entered that route. To circumvent this, developers have to wrap each of their sagas in a fork - take(LOCATION_CHANGE) - cancel block.
Sagas are not meant to be duplicated by default - if a developer wants their saga to run as many times, as the user has visited a route, then redux-saga provides a way to do that using the "spawn" effect, and it would be best to explicitly state that this is happening in the application's code, not implicitly have it happen by NOT doing something in the code.
At least as long as there is no solution preventing the router from ever loading a saga that is already running, I think at least this much can be done to make sagas run as if they were not loaded asynchronously.

Coverage increased (+0.5%) to 99.479% when pulling 6c5ac355bdbd67e66871c3f67f847b92c09b7d09 on aldaty:dev into 18952bfdcc8ee32778934906ece1799b1daf3987 on mxstbr:dev.

I remember when I was first using this boilerplate this took me half a day to figure out why nested route run their sagas multiple times and what is actually happening.
Now I have to use cancel for every saga. Sometimes I have to wrap a watcher inside another watcher to make it work the way I want. This PR should be very helpful for guys like me that didn't know much about sagas when they first started using this boilerplate.

Interesting, not sure what the full implications of this are at the moment. @justingreenberg could you review this change? What do you think?

@aldaty thank you for your work on this!
this has been an ongoing issue—please check out this discussion... https://github.com/mxstbr/react-boilerplate/pull/744#issuecomment-233738166

Currently sagas associated with a route are loaded asynchronously as many times, as the user of an application has entered that route.

the idea is to load saga logic with chunked route bundle, which is cached. without going into too detailed review, there are a few issues off the top of my head:

i'm not sure we should be explicitly creating side effects from internals... it's a little bit different than adding a utility or demonstrating a pattern (redux is global)
LOCATION_CHANGE could also mean location.state or location.query was updated, which will cancel running sagas that manage those processes (see #888)

i have often considered whether or not this boilerplate should provide internal "channels" (effects.actionChannel)  for interfacing with basic services such as fetch, maybe the progress bar indicator, etc. (you can see some discussion of this on #826)
@sourcesoft

This PR should be very helpful for guys like me that didn't know much about sagas when they first started using this boilerplate.

we really don't want things to be magic...
i learned a lesson adding saga injector to the demo app: it was definitely an elegant solution for our simple purposes, but certainly not meant to be a reference implementation for route-based data loading! i mean it's literally one line sagas.map(store.runSaga)
@mxstbr i am hesitant to recommend adding additional functionality to the saga setup right now. it would make more sense to add comments all over the code.
i have been thinking a lot about this and there are a few solutions we have previously discussed in #744 and on gitter :) there are some other solutions i have been playing with but have been swamped with work lately. i will try to put together some demo PRs in the next week or two after i fix jest!!

@mxstbr i am hesitant to recommend adding additional functionality to the saga setup right now. it would make more sense to add comments all over the code.

👍  I think we'll close this PR for now then, thanks for taking the time to submit it though @aldaty! Please chime into the ongoing discussions as we try to solidify this setup.


Not showing on Firefox 51

Works just fine on Chrome and Safari but fails to draw anything on Firefox.

Hi there. Can you provide a reproducible code example?

Hi we're experiencing the same issue, and are unsure why.
http://spin.d.pr/BXiDyh+
http://www-goodwillsew-com.sandbox.hs-sites.com/community-impact/2016-financials
Chart in other browsers displays as:
http://spin.d.pr/75CoCK+


BroadcastDistributionRules to load segments on whole tiers rather than making server-by-server decisions

Broadcast rules which load segments on servers with colocated data sources (server-by-server decision) are very hard or impossible to implement correctly. I think the problems of non-atomic moves during balancing are underestimated.
When rules are loaded from the metadata store, Coordinator can figure out load rules for data sources and maps them to "colocated data sources", obtaining a list of tiers on which broadcasted segments should be effectively loaded. Then it loads broadcasted segments on all servers in the needed tiers, as described here: https://github.com/apache/incubator-druid/pull/4077#issuecomment-293732924
FYI @jihoonson @gianm

It probably makes BroadcastDistributionRules's timing (interval, period, forever) irrelevant too. All timing can be figured out from the load rules applied to the colocated data sources.


Single layer sei #2333

Description
This change is to include an option to have a single layer SEI model, rather than just the 2-layer version. Now it is set by default to use the single layer SEI model, however, the choice is there for the previously used 2-layer version.
Fixes #2333
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[ ] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[x] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[x] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[x] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[x] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
There are some unit test that the code fails, because they are looking for strings that are not created for the single-layer version. Probably need to skip those checks or edit the strings, but I can't find where the unit tests are comparing. Would really appreciate if someone could look through this.
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works

Would be a good one for @pybamm-team/maintainer-trainees to review carefully
Looks good to me but needs some tests

Would be a good one for @pybamm-team/maintainer-trainees to review carefully
Looks good to me but needs some tests

I can take a look this evening

Thank you @kratman I will change the code according to your suggestions!

Hi @kratman, I fixed the code according to your suggestions, but it still fails at the same test as before, as the issue remains that it's looking for strings that are not created in the single-layer option. I can't find where these are checked in the tests, so I'd really appreciate some help on that :)

@GBlanka I won't have time to take another look for a couple days, just do what you can and if you are still stuck then I will try to help out.
In addition to tests, some example notebooks (docs/source/examples) and benchmarks also make use of SEI. These may need to be updated after your changes, but I have not checked myself. You might want to start by seeing if you can get the examples to run. If they work, then keep digging into the tests.

Hi Blanka
Thank you for contributing to PyBaMM under Hacktoberfest! We greatly appreciate your contributions and would like to invite you to the monthly developer meeting of PyBaMM.
PyBaMM's monthly developer meeting is a great way to engage with PyBaMM maintainers, developers, and others interested in contributing to PyBaMM. You can put forward any blockers you are facing on a particular PR, discuss potential issues you plan to work on, or learn more about PyBaMM.
Please feel free to join the meeting on 30th October through the following calendar invite - https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=MGtxNnExZWc4ZzFiOGVuOXB0c2ZtdnZ2aTlfMjAyMzEwMzBUMTYwMDAwWiBjXzE1Nzc5MGZhNTQ0Y2JmN2UzZjViNjQ5YzcwMGJhNDA0MDRhZDA0NjM0ZjkzNDBlMjU1ZTZkZWY5OWE4OWVkZGFAZw&tmsrc=c_157790fa544cbf7e3f5b649c700ba40404ad04634f9340e255e6def99a89edda%40group.calendar.google.com&scp=ALL

I think the issue is that choosing single or double SEI layer is allowed to be set independently from the SEI model of choice. This should not be the case as, with the models we have at the moment, they should all work with double SEI except for the ec reaction limited ones which are for single layer SEI.

I think the issue is that choosing single or double SEI layer is allowed to be set independently from the SEI model of choice. This should not be the case as, with the models we have at the moment, they should all work with double SEI except for the ec reaction limited ones which are for single layer SEI.

Thanks @brosaplanella that could easily be a problem, however I don't think it solves the issue of the unit tests not even checking for the option of single or double layer, so they are looking for strings/variables that aren't created in the single layer case

But isn't that related? I mean, isn't it crashing because it is trying to access a variable from the double layer which the model requires but breaks because the default options is single layer so it is not generated?

But isn't that related? I mean, isn't it crashing because it is trying to access a variable from the double layer which the model requires but breaks because the default options is single layer so it is not generated?

Yes that is why it's crashing, I just don't know where to change the variables that the unit tests are trying to access

@GBlanka You can start by adding tests for your new functionality. It might be clearer once you have some of those in place.


Uploading file with security dependency waits for full file to be loaded prior to authentication?

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[x] I commit to help with one of those options 👆

Example Code
# main.py (start up application with this)
from fastapi import Depends, FastAPI, HTTPException, status, File, UploadFile
from fastapi.security import HTTPBasic, HTTPBasicCredentials
import secrets

app = FastAPI()
security = HTTPBasic()

def get_current_username(credentials: HTTPBasicCredentials = Depends(security)):
    correct_username = secrets.compare_digest(credentials.username, "stanleyjobson")
    correct_password = secrets.compare_digest(credentials.password, "swordfish")
    if not (correct_username and correct_password):
        raise HTTPException(
            status_code=status.HTTP_401_UNAUTHORIZED,
            detail="Incorrect email or password",
            headers={"WWW-Authenticate": "Basic"},
        )
    return credentials.username

@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...), username: str = Depends(get_current_username)):
    return {"filename": file.filename}

# uploadFile.py (to be put into separate file and run separately)
import requests
from requests.auth import HTTPBasicAuth
import time
import os

badAuth = HTTPBasicAuth(username="badstanley", password="badfish")
goodAuth = HTTPBasicAuth(username="stanleyjobson", password="swordfish")

smallFile = "smallFile.txt"
bigFile = "bigFile.txt"

if not os.path.exists(smallFile):
    with open(smallFile, "wb") as ofh:
        ofh.write(os.urandom(262144))  # generate 256 kb file

if not os.path.exists(bigFile):
    with open(bigFile, "wb") as ofh:
        ofh.write(os.urandom(268435456))  # generate 256 mb file

for file in [smallFile, bigFile]:
    print(file)
    for auth in [badAuth, goodAuth]:
        files = {"file": open(file, 'rb')}
        startTime = time.time()
        res = requests.post("http://<IP_ADDRESS>:8000/uploadfile", files=files, auth=auth)
        print(res.text, f"took {time.time() - startTime:.4f} seconds")

Description
Note: Basically the same as https://github.com/tiangolo/fastapi/issues/3165, but here I provide a full example and am curious if this is intended behavior or an opportunity for code improvement.
If I upload a file using an upload endpoint that depends on authentication, it seems that the full file is uploaded prior to checking whether the provided credentials are valid. E.g., if you start up the application below (main.py) and run the provided uploadFile.py script, you'll see that the time it takes to deny the large file upload request is significantly longer than the time to deny the small file upload request. To me, this indicates that the entire file is attempted to be read-in by the application prior to checking for authentication.
So I guess my question is three-fold:

Is this expected behavior?
Wouldn't it be more efficient to check authentication before spending the time reading in the entire upload file request
How would I implement a way to perform the upload in such a way? Using a middleware endpoint?

Thank you!
Operating System
macOS
Operating System Details
No response
FastAPI Version
0.78.0
Python Version
4.9.7
Additional Context
No response

I wouldn't say this is expected or unexpected: it's an implementation detail.
I think not always but generally it would be best do do auth first. You can't change this behavior. If you are receiving a single file you could just stream the bytes instead of using an UploadFile.

Thanks, I ended up using a middleware instead. Appreciate the response and advice.

Thanks for the help @adriangb! 🙇
And thanks for coming back to close the issue after finding a solution for your use case @piehld. 🍰

Sorry for the long delay! 🙈  I wanted to personally address each issue and they piled up through time, but now I'm checking each one in order.

Thanks, I ended up using a middleware instead. Appreciate the response and advice.

What are you using ?


Call to AddMvc is ambiguous

I'm getting the error that the call to AddMvc is ambiguous. The error doesn't really help as ambiguity is between the same types:
C:\Source\ProfessionalCSharp6\WebAPI\BooksServiceSample\src\BooksServiceSample\Startup.cs(31,22): error CS0121: The call is ambiguous between the following methods or properties: 'Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddMvc(Microsoft.Extensions.DependencyInjection.IServiceCollection)' and 'Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddMvc(Microsoft.Extensions.DependencyInjection.IServiceCollection)'
Did the package where MvcServiceCollectionExtensions is defined change, and I included the old and the new one? What else could be the reason?

Can you upload your sample project to github?

The BooksServiceSample project has this problem:
https://github.com/ProfessionalCSharp/ProfessionalCSharp6/tree/master/WebAPI/BooksServiceSample/src/BooksServiceSample
Using dotnet tools 1.0.0-beta-001494
dotnet restore
dotnet build
dotnet build shows this error.

Your issue is likely caused by the fact you're using Swashbuckle (whose last public version targets RC1) with the latest ASP.NET Core packages. Sadly, you can't reference both RC1 and RC2 packages in the same project.

You need to update everything to RC2 (if that's even possible)

Hi all,
This issue is still happening to me.
Here is the build output
Startup.cs(55,13): error CS0121: The call is ambiguous between the following methods or properties: 'Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddMvc(Microsoft.Extensions.DependencyInjection.IServiceCollection)' and 'Microsoft.Extensions.DependencyInjection.MvcServiceCollectionExtensions.AddMvc(Microsoft.Extensions.DependencyInjection.IServiceCollection)'
Here are my usings for Startup.cs:
using System;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using EShop.Services;
using Microsoft.AspNetCore.Http;
using System.IO;
using Microsoft.Extensions.DependencyInjection

I feel like it sees also Microsoft.AspNet (not Core) library, but how shall I fix it?

I feel like it sees also Microsoft.AspNet (not Core) library, but how shall I fix it?

Maybe you can ping the author of the offending library and offer him some help to port it to ASP.NET Core RC2?

I don't think that this library is offending. It is a core component, I am sure it works. I just don't know why it does not work in my particular situation.

AFAICT, there's no official version for RC2 on NuGet.org: https://www.nuget.org/packages/Swashbuckle/6.0.0-rc1-final
Trying to use a package relying on RC1 bits will bring incompatible packages in your project, explaining the error you're seeing.

I do not use Swashbuckle library (see my list of usings in Startup.cs).

Many projects use the Microsoft.AspNetCore.Builder namespace for their IApplicationBuilder extensions to make them easier to find so I'm not sure it's really relevant :smile:
Instead, you should post your project.json. I bet there's a package referencing RC1 bits somewhere (it's easy to confirm by looking at the project.lock.json file)

It might be true... My project.lock.json is really large and I am not sure what it is and how to see anything from it.
However, let me post my project.json file.
Thank you for your help!
{
	"userSecretsId": "aspnet5-EShop-58a1b196-f710-4cff-9654-b95ee66598f8",
	"version": "1.0.0-*",
	"dependencies": {
		"Microsoft.NETCore.Platforms": "1.0.1-rc2-*",
		"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview1-final",
		"EntityFramework7.Npgsql": "3.1.0-rc1-3",
		"EntityFramework7.Npgsql.Design": "3.1.0-*",
		"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-final",
		"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final",
		"Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-rc2-final",
		"Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0-rc2-final",
		"Microsoft.EntityFrameworkCore.InMemory": "1.0.0-rc2-final",
		"Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
		"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-*",
		"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-*",
		"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-*",
		"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-*",
		"Microsoft.AspNetCore.Mvc": "1.0.0-*",
		"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-*",
		"Microsoft.AspNetCore.StaticFiles": "1.0.0-*",
		"Microsoft.AspNetCore.Razor.Tools": "1.0.0-*",
		"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
		"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
		"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
		"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc2-final",
		"Microsoft.Extensions.Logging": "1.0.0-rc2-final",
		"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
		"Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
		"NetTelegramBotApi": "3.7.50926"
	},
	"frameworks": {
		"netcoreapp1.0": {
			"imports": [
				"dnxcore50",
				"portable-net45+win8"
			]
		}
	},
	"runtimes": {
		"osx.10.11-x64": {},
		"ubuntu.14.04-x64": {},
		"win7-x64": {}
	},
	"runtimeOptions": {
		"gcServer": false,
		"gcConcurrent": true
	},
	"buildOptions": {
		"emitEntryPoint": true,
		"preserveCompilationContext": true,
		"compile": {
			"exclude": [
				"wwwroot",
				"node_modules"
			]
		}
	},
	"publishOptions": {
		"include": [
			"wwwroot",
			"Views"
		],
		"exclude": [
			"**.user",
			"**.vspscc"
		]
	},
	"scripts": {
		"prepublish": [
			"npm install",
			"bower install  --allow-root"
		]
	}
}

P.S. It is the first time I am trying to migrate to RC2. Sorry for silly mistakes :)

As expected, you're mixing RC1 and RC2 packages, which can't work. Try to update these packages:
"EntityFramework7.Npgsql": "3.1.0-rc1-3",
"EntityFramework7.Npgsql.Design": "3.1.0-*",
"Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
"Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final"

Thank you! I will try.

Let me confirm that your suggestion actually does fix the issue!
In case somebody needs it, here are the updated dependencies:
"dependencies": {
		"Microsoft.EntityFrameworkCore.Tools": "1.0.0-*",
		"Npgsql.EntityFrameworkCore.PostgreSQL": "1.0.0-*",
		"Npgsql.EntityFrameworkCore.PostgreSQL.Design": "1.0.0-*",
		"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-*",
		"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-*",
		"Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-*",
		"Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0-*",
		"Microsoft.EntityFrameworkCore.InMemory": "1.0.0-*",
		"Microsoft.ApplicationInsights.AspNetCore": "1.0.0-*",
		"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-*",
		"Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0-*",
		"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-*",
		"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-*",
		"Microsoft.AspNetCore.Mvc": "1.0.0-*",
		"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-*",
		"Microsoft.AspNetCore.StaticFiles": "1.0.0-*",
		"Microsoft.AspNetCore.Razor.Tools": "1.0.0-*",
		"Microsoft.Extensions.Configuration.Json": "1.0.0-*",
		"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-*",
		"Microsoft.Extensions.Logging": "1.0.0-*",
		"Microsoft.Extensions.Logging.Console": "1.0.0-*",
		"Microsoft.Extensions.Logging.Debug": "1.0.0-*",
		"NetTelegramBotApi": "3.7.50926"
	}

@PinpointTownes thank you!

You're welcome :clap:

If you use RC2 solution with nuget packages which are using RC1 you may get this error. I got this error with Kendo UI

@nhtbtmz we don't recommend against mixing packages from earlier releases with the current one.

@nhtbtmz were you able to solve the ambiguity in AddMvc() because of kendo ui?
I'm having the same problem, if I remove the reference to Kendo.Mvc form Project.json the ambiguity disappears.

@sophisma nope I couldn't. You should wait for kendo ui rc2 support
you ll see details here
http://www.telerik.com/forums/asp-net-core-1-0-rc2-support
https://github.com/telerik/kendo-ui-core/issues/1682

@nhtbtmz Thank you very much.


(!!! DONT MERGE BEFORE MIGRATION) Restructure file system (not export)

Currently the file system accepting file upload and storage it under carp/storage, we should create a subfolder for each study and storage related resources under this study-subfolder. Once a study is deleted, the corresponding folder and resources should also be deleted.
and also for s3?

Remember to check the download / export scripts when changing the file structure.

Separate issue for file system restructuring for exports:
https://github.com/cph-cachet/carp-webservices-spring/issues/194

What we change?
-how we save export (depl/study)
-change the controller
-change to db (ownerId, deploymentId, studyId)


Issues with X

IMPORTANT
Please read README and Known issues before creating the issue.
Please fill out the below information:
Describe the issue
Any attempt to use X Forwarding fails (any attempt to run any software with a GUI complains about not being able to connect to a display), but if Ubuntu WSL is running and connected to a remote server, ArchWSL can use X-Forwarding just fine. Another thing I have noticed that even though I have the display variable in .bashrc, local software with a GUI will refuse to run until I manually export the display variable regardless if another WSL distro is running.
To Reproduce
Set up the prerequisites for using X on WSL (install an X server, make sure display variable is set, etc etc) then attempt to use anything that requires X (Geany for example).
Expected behavior
X to work.
Screenshots
Here is a video of the issue
Enviroment:

Windows build number: 10.0.18305.1003]
ArchWSL version 19010200
Launcher version 18122700

Additional context
As mentioned before I have all the requisites for X Forwarding to work via WSL. X Server (Vcxsrv), the relevant variable exported, the relevant configs in /etc/ssh/ssh_config, etc etc.

type in terminal or ~/.bashrc
export DISPLAY=:0

Yes, in my environment it works correctly by adding it to bashrc.

It's in my bashrc. It's setup exactly how I have my Ubuntu WSL setup.

I cleanly installed and reconfirmed but the same problem could not be confirmed...
Have you set up bashrc correctly?
echo $DISPLAY

@yuk7  do you have a telegram account ??

I'm having the same issue. I have DISPLAY=:0 and installed xorg-apps and xorg-server as instructed on the Arch wiki. I also have xming set up which works fine with ubuntu. However, I cannot forward anything with the Arch WSL to xming

I needed to specify my ip address in the DISPLAY (ie. DISPLAY=192.168.xx.xx:0). I actually needed to do this with Ubuntu as well. I've never gotten it to work with just =:0

It still doesn't work for me unfortunately. I tried with DISPLAY=$(hostname -i):0 without any luck

Have you fix the problems? I have the same issue.

Follow steps:
1. Run "XLaunch.exe" with "Display number: 0", and checks ON "No Access Control"
  (The "No Acess Control" must turn on, otherwise it would NOT work)
2. Make sure you are running WSL 2 version:
   $ wsl -l -v
   NAME      STATE           VERSION
 * Ubuntu    Stopped         2
   Arch      Stopped         2

   If not, run below:
   $ wsl --set-version Arch 2
3. Open ArchWSL, then run following command:
   $ cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'
   <IP_ADDRESS>
   $ export DISPLAY=<IP_ADDRESS>:0
4. Test GUI
   ## Install xeyes
   ## $ yes | pacman -S xorg-xeyes
   $ xeyes
   ## toda!! volia~

Follow steps:

Run "XLaunch.exe" with Display number: 0, and checks ON No Access Control
(The No Acess Control MUST TURN ON, otherwise it would NOT work)
Make sure you are running WSL 2 version:

   $ wsl -l -v
   NAME      STATE           VERSION
 * Ubuntu    Stopped         2
   Arch      Stopped         2

If not, run:
   $ wsl --set-version Arch 2

Open Arch WSL with arch, then run following command:

   $ cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'
   <IP_ADDRESS>
   $ export DISPLAY=<IP_ADDRESS>:0

Test GUI

   ## Install xeyes
   ## $ yes | pacman -S xorg-xeyes
   $ xeyes

toda!! volia~ You should see eyes appear on your screen.

You can also add the script into your ".bashrc" file by running command:
$ cat <<EOF >> ~/.bashrc
export DISPLAY="\$(cat /etc/resolv.conf | grep nameserver | awk '{ print \$2 }'):0"
EOF

Follow steps to fix WSL2 with X11-server Xming issue:

Run "XLaunch.exe" with Display number: 0, and checks ON No Access Control
(The No Acess Control MUST TURN ON, otherwise it would NOT work)
Make sure you are running WSL 2 version:

   $ wsl -l -v
   NAME      STATE           VERSION
 * Ubuntu    Stopped         2
   Arch      Stopped         2

If not, run:
   $ wsl --set-version Arch 2

Open Arch WSL with arch, then run following command:

   $ cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'
   <IP_ADDRESS>
   $ export DISPLAY=<IP_ADDRESS>:0

Test GUI

   ## Install xeyes
   ## $ yes | pacman -S xorg-xeyes
   $ xeyes

toda!! volia~ You should see eyes appear on your screen.

You can also add the script into your ".bashrc" file by running command:
$ cat <<EOF >> ~/.bashrc
export DISPLAY="\$(cat /etc/resolv.conf | grep nameserver | awk '{ print \$2 }'):0"
EOF

Follow steps to fix WSL2 with X11-server Xming issue:

Run "XLaunch.exe" with Display number: 0, and checks ON No Access Control
(The No Acess Control MUST TURN ON, otherwise it would NOT work)
Make sure you are running WSL 2 version:

   $ wsl -l -v
   NAME      STATE           VERSION
 * Ubuntu    Stopped         2
   Arch      Stopped         2

If not, run:
   $ wsl --set-version Arch 2

Open Arch WSL with arch, then run following command:

   $ cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'
   <IP_ADDRESS>
   $ export DISPLAY=<IP_ADDRESS>:0

Test GUI

   ## Install xeyes
   ## $ yes | pacman -S xorg-xeyes
   $ xeyes

toda!! volia~ You should see eyes appear on your screen.

You can also add the script into your ".bashrc" file by running command:
$ cat <<EOF >> ~/.bashrc
export HOST_IP="\$(cat /etc/resolv.conf | grep nameserver | awk '{ print \$2 }')"
export DISPLAY="\$HOST_IP:0"
EOF

Follow steps to fix WSL2 with X11-server Xming issue:

Run "XLaunch.exe" with Display number: 0, and checks ON No Access Control
(The No Acess Control MUST TURN ON, otherwise it would NOT work)
Make sure you are running WSL 2 version:

   $ wsl -l -v
   NAME      STATE           VERSION
 * Ubuntu    Stopped         2
   Arch      Stopped         2

If not, run:
   $ wsl --set-version Arch 2

Open Arch WSL with arch, then run following command:

   $ cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }'
   <IP_ADDRESS>
   $ export DISPLAY=<IP_ADDRESS>:0

Test GUI

   ## Install xeyes
   ## $ yes | pacman -S xorg-xeyes
   $ xeyes

tada!! volia~ You should see eyes appear on your screen.

You can also add the script into your ".bashrc" file by running command:
$ cat <<EOF >> ~/.bashrc
export HOST_IP="\$(cat /etc/resolv.conf | grep nameserver | awk '{ print \$2 }')"
export DISPLAY="\$HOST_IP:0"
EOF

see https://github.com/microsoft/WSL/issues/4793#issuecomment-577232999

see Unable to accessing Windows applications from WSL


Authentication Issue

I am getting :
{'error': {'code': '-2147024891, System.UnauthorizedAccessException', 'message': 'Access denied. You do not have permission to perform this action or access this resource.'}}
Line error :     response = json.loads(requests.get(self._discovery_service_url, headers=headers).text)
What kind of permissions required ? How to assign that ?
Thanks alot in advance for help.

May be  same problem as posted here:
https://github.com/OneDrive/onedrive-sdk-python/issues/119#issuecomment-379048581
With new created accounts, service discover dont works.
Usually, all people here are using accounts created before, that will work fine until nov-2019
If yours is the same problem than this, you have to wait at least 1 year for someone to solve.

@ashu16815 here's how to fix this:

Regenerate your client_id and client_secret at Azure.
Upgrade your library with

pip3 install git+https://github.com/OneDrive/onedrive-sdk-python.git
pip3 install --upgrade git+https://github.com/OneDrive/onedrive-sdk-python.git

If that solved your problem, consider closing. It's 2020 and it's working for me fine.

Thank you for reaching out and for your patience. This SDK is being officially deprecated. See #209 for more information


Fix error message when no columns found in schema

This PR fixes error message in ParquetMetastoreSupport, so now it shows the original schema and indexed column that does not exist - easier to check original schema. Also wraps column names in messages with quotes.
Closes #71.

Coverage decreased (-0.004%) to 95.845% when pulling 1f7e482e951f39b12a1917226d6cf384f22f4bce on fix-column-not-exist-error-message into c68d07f2f697f630d1d61bc5a6d02a497429d479 on master.


FF extension is hidden under the browser panel

the FF extension is hidden under the panel and I cannot log in:

Also reproducible in the latest release.

Got the same issue :(

duplicate of #973


Fixes OSD muting inconsistencies

When muting via command, the previous values were still visible in the level bar and label.
The is_muted !== false looks counterintuitive, but seems to me like the best way to handle the null return (e.g. when no microphone is available) which should also be treated as a muted state.

Is this pull request to show the bar and the counter at 0 whenever muting?

Exactly, yes it will show a level of 0 in both the bar and label whenever muting, and the current percentage when unmuting.
microphone volume is at 50%  (25% was my speaker volume changed before)
Before:

After:

@painerp Something interesting I found is that there's no standard UX design for OSD when it comes to muting. Windows displays the volume number and bar at the current values even when muted (similar to hyprpanel's current behvaior) and macOS behaves the way you've implemented it.
I still think this is a good implementation but I would rather make this optional and opt-in rather than changing it entirely; since both behaviors are 'normal'. If you would like to implement these options yourself, that'd be awesome. But no worries if not, I can create a branch based off of yours that you can merge into yours.

 I will just open a new one :)


Inconsistent maintenance and release of TeamCityEventListener

The latest full release was version 1.0.7, done by @NikolayPianikov in 2019. It was published on NuGet, Chocolatey and GitHub.
The CHANGES.txt file mentions 1.0.8, with a new feature, in 2020, but it's not published anywhere.
CHANGES.txt also mentions version 1.0.9, which is on NuGet but not on Chocolatey or GitHub.
This all came to my attention when trying to do a new release of the console runner, which bundles the teamcity extension. For version 3.18.3, I'm still using the five year old 1.0.7 release 1.0.7, which is the last proper release. The next release, 3.19.0, should be out by year end and it would be lovely to get this straightened out for that release.
I know that it's important to @JetBrains that we continue to bundle this extension, which we will do, but it's very difficult to do without someone who carries the @JetBrains end of the load by keeping the extension itself up to date. Has anyone been assigned to do this?

Hi @CharliePoole
I'm from TeamCity team. Thank you for highlighting this! We are aware about this issue and very sorry that happened. However, due to internal reasons, we didn't have resources to work on this for some time.
We are ready to take care about nunit-listener because NUnit runner is part of TeamCity in general and it's not working without, but first we need to internally decide at what level we will interact. We have now initiated a discussion on how we would potentially be ready to work with this.
Let's stay in touch, and feel free to ping me about this issue if need. I going to return back with suggestion after our TC 2024.11 release since now it takes all our attention.

That's my bad. At the moment there were no serious problems related to TeamCity event listener. I will update to 1.0.8 soon while TeamCity team will think about ongoing support from their side

@NikolayPianikov Good to hear from you! You may need to skip ahead a little since somebody did release a 1.0.9 version on nuget only. I can give advice if there are questions about the release process but I can't do it myself as I no longer have access to that project.


Scroll problem when second modal is hidden

When using two modals, the second modal messes up the scrolling focus when hiding.
An example can be seen here.
To reproduce this problem :

Use Bootstrap 3.2.x
Create two dialogs
Make the first dialog show the second
If returning to the first dialog (closing the second), the first dialog will no longer scroll.

Hi @yanickrochon!
You appear to have posted a live example (http://fiddle.jshell.net/YanickRochon/949p0u6c/show/light/), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

line 12, column 3: W013: Bootstrap version might be outdated. Latest version is at least 3.3.2 ; saw what appears to be usage of Bootstrap 3.2.0
line 13, column 3: W013: Bootstrap version might be outdated. Latest version is at least 3.3.2 ; saw what appears to be usage of Bootstrap 3.2.0

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

Please note that, while this automated message is very nice, the problem still exists under Bootstrap 3.3.2. It just happens that jsfiddle only accept 3.2.0.

## Overlapping modals not supported
Be sure not to open a modal while another is still visible. Showing more than one modal at a time requires custom code.

From http://getbootstrap.com/javascript/#modals

What is this custom code? How can it be fixed?

And the modal background is a known issue with #15833, #15106, #15418, #15136 and #15314.
Custom code is not something supported here. The issue tracker is not for personal support requests about custom code. Stack Overflow (twitter-bootstrap-3 tag) or IRC are better places to get help for that.

As comment, why doesn't the modal component implement a stack to know what modal is on top, then restore it's backdrop when restoring?
var modalStack = [];

just call modalStack.push(currentModal); when invoking show on a modal (or before it's show.bs.modal event), then remove that modal from the stack when invoking hide (or after it's hidden.bs.modal event), using .pop(), or even .splice(...) to be more safe.
Since the component is self contained, I don't see how a basic support for overlapping modals could not be possible. No?

Properly implementing multiple modals (including making them accessible, correctly handling focus hand-off from one to the other, etc) is not a simple matter. For this reason, rather than rolling out a half-baked implementation, Bootstrap decided not to support multiple concurrent modals.

A "modal" is not a "modal" for no reason, why would they switch focus? If it was called "dialog", I would agree with that decision. However this is not the case, here, and the decision seems misguided to me. The current implementation is more half-baked at the moment, in my opinion, by allowing such problems to occur (backdrop resizing, scrolling issues, etc.)

I can understand the sentiment. The backdrop portion of modals were changed to fix #14916 and #15008. It's an imperfect solution but was the immediate answer to those two rather big bugs. The original fix which was proposed for #14916 was to just simply also add padding to the backdrop and leave it position: fixed. That was changed to address feedback. (excerpts from #15136).

Closing per https://github.com/twbs/bootstrap/issues/15837#issuecomment-74905235


Add Metronome Battle format

After testing: Sets are getting rejected because the pokemon cannot learn metronome, and are NOT getting rejected when they have a move other than metronome.

Fixed

Will struggle with travis & finish testing later

Okay


PyPI Setup

Hello,
I have made some changes to the PyHIP repository in order to add a Python package to PyPI. However, since there is already a package with the name "pyhip" on PyPI, we need to choose a new name for the package. I propose renaming the package to "pyhip-interface", but if you have a different suggestion, we can easily change it in the setup.py file.
Additionally, I have added a global "version" variable to the init.py file and set the version number to 0.1.0, so that the version number can be accessed programmatically. In addition, I have updated the README file with installation instructions for the new package.
Please let me know if you have any questions or concerns about these changes.

Perfect, thanks for merging! Will you upload the library to PyPI or should I do it?

Can you do it? I am not familiar with the process, will have to look up.

Will do!


Configure vmgroup for dynamic vm creation

From  a discussion with a customer. In many cases VMs are provisioned is automated and pretty dynamically. In these case , current mechanism of manually enumerating VMs is not enough, and adding vmgroup customization to existing code of VM provisioning is time consuming.
We should allow one (or all) of the options:
[ ] assign a VM folder or a resource group to a vmgroup. All VMs in the folder get in the group
[ ] assign a VM name regexp to a vmgroup. In this case naming convention (dev_vm_xxx) would be covered too.
//CC @pdhamdhere

Cross ESX multi tenancy feature is experimental.So pushing this issue on the back burner for now.


[BOW-129] Make media relationships one-to-many

The scaffolding work for allowing media item reuse between shows: media items' relationships to rundown/continuity items go from 1:1 to n:1.
Contributes to BOW-129.

Codecov Report
Attention: 50 lines in your changes are missing coverage. Please review.

Comparison is base (1c174cd) 15.30% compared to head (ac153c4) 15.55%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #154      +/-   ##
==========================================
+ Coverage   15.30%   15.55%   +0.24%
==========================================
  Files           5        5
  Lines        1006      990      -16
  Branches        2        2
==========================================
  Hits          154      154
+ Misses        852      836      -16

Files
Coverage Δ

jobrunner/src/jobs/ProcessMediaJob.ts
11.97% <3.84%> (+0.38%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support either MD5, SHA1 or BCrypt format

In order to generate http basic auth password.

Does sha512 not work?


On the Road to 1.0

Brief feature description
This is a tracking issue for our 1.0 release.
Detailed information
Required features/game planes for our 1.0 release.

[N:M communication #25]
[new Publisher/Subscriber API #218]

Please add stuff you think should go into our 1.0 release in the comment section. Vote by the 👍 and 👎 if you want the idea into 1.0

I think the API compliance tests should be ready for the 1.0 release
#284

Building blocks should also be finished, at least the mandatory ones from #252

iceoryx-posh and iceoryx-utils meet ROS Quality Level 1 for Linux/Mac/Windows (maybe Level 2?)

Rework non-shm interprocess communicution

rework the initial registering at RouDi, and make sure an application always get a response, at least an error response, even if the application is build with an incompatible iceoryx version compared to RouDi
document the serialization and/or refactor the current one
don't transmit the response deep down in multiple classes, but let the classes just return their response to the caller, which makes testing easier

decide if we use C++14 as standard (#220)

detect if an application registers at RouDi is build with an incompatible iceoryx version compared to RouDi

see https://github.com/eclipse/iceoryx/projects/2 for content of 1.0 release


Add report option to show the npm audit report

Hi,
It would be great to see the original npm audit report and recommendations on the CI environment so I added a -r option to show the original npm audit report.
I tried to keep the output consistent with what you had before but please consider my pull request and if needed I can adapt or address any issue you point out.
Thanks,

Thank You.


Install

Hello
I saw your wonderful plugin and I was wondering: can you tell me how to install it in the home assistant that I didn't understand?  What works with your plugin?
Thanks a lot and nice job

I'm sorry for the considerable delay.
Something wrong happened with notifications.
Basically, you have to put the "comelit" folder under the custom_componets folder.
Then you have to enable the configuration and restart home assistant.
Did you look at the readme


CI test with kubernetes

The topic controller has a ControllerIntegrationTest which currently:

does an oc cluster status and aborts if a cluster is already running
does an oc cluster up,
does admin login and creates roles and rolebindings, the does developer login
runs tests against the cluster
finishes with an oc cluster down

This works nicely on my development machine, but wouldn't work on CI because it depends on the external oc tools to be installed. What I want, though, is for the same test to run during CI tests. The enmasse project does something like this for their system tests. The main differences are:

They use minikube, because the version of ubuntu used on travis is too old to have an recent enough systemd for oc.
They start minikube in the travis before_script hook

Should we switch to using minikube? Should the test itself retain responsibility for starting kube and doing the setup with roles etc?

We now have CI tests with minikube, so I think we can close this.


Incompatible types error with different versions for documents generated with code generators

Description:
Came across this issue when I was testing the azure functions package with latest update 1 pack. I published the bala to local repo. and added the entry to Ballerina.toml. when i built the project, I got the following error. it comes from the generated code from azure functions.
ERROR [az-func-generated_1.bal:(3:46,3:51)] incompatible types: expected '(ballerina/http:2.3.0:Listener|error)', found 'ballerina/http:2.2.1:Listener'
ERROR [az-func-generated_1.bal:(4:55,4:62)] incompatible types: expected 'ballerina/http:2.2.1:Request', found 'ballerina/http:2.3.0:Request'
ERROR [az-func-generated_1.bal:(4:63,4:71)] incompatible types: expected 'ballerina/http:2.2.1:Response', found 'ballerina/http:2.3.0:Response'
ERROR [az-func-generated_1.bal:(8:55,8:62)] incompatible types: expected 'ballerina/http:2.2.1:Request', found 'ballerina/http:2.3.0:Request'
...

The generated code contains a http service. you can find a sample code below.
import ballerinax/azure_functions as af;
import ballerina/http;

public listener http:Listener __testListener = af:hl;

service http:Service / on __testListener {
    isolated resource function 'default hello(http:Caller caller, http:Request request) returns error? {
    }
}

Versions -
http version in azure functions build.gradle - 2.2.1
http version in update 1 pack - 2.3.0
However when I added import ballerina/http as _;  as @azinneera suggested to the client code, issue went away.
Steps to reproduce:
Install update 1 pack.
Build azure functions modules with 2201.1.0-rc1.3 lang version
Publish to local
Build a sample azure functions code with the publishd bala in ballerina.toml
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Analyzed this and understood the following:
Use case:

User has imported ballerinax/azure_functions and ballerinax/azure_functions depends on ballerina/http
ballerinax/azure has a code generator compiler plugin and this plugin adds a new file that contains an import for ballerina/http

Compiler extension design:
According to the compiler extension design, compiler plugins are executed after the compilation and if there are any code generators or modifiers, the compilation will be run twice in the CLI, that is, before running the compiler plugins and after running the compiler plugins. Since the is a file edit operation taking place here, the compilation is done on a fresh package which runs the package resolution as well.
Root cause:
During the 1st compilation, ballerina/http is a transitve dependency so, dependency resolution adds the http version locked in the ballerinax/azure_functions as af (ballerina/http:2.2.1)
During the 2nd compilation, ballerina/http is a direct dependency and so it sticks to the latest version available (ballerina/http:2.2.1)
Since the second compilation is done on a new package instance, the compilation is expected to be a fresh compilation, but instead looks like some caches are not cleared from the first compilation.
Looping in @hasithaa and @MaryamZi

We had a quick chat on this yesterday.
Here is how the current dependency resolver works:

Create the package dependency graph
Store compiled representations of those dependencies in a package cache.
Reuse them in subsequent compilations (e.g., triggered via source code changes)
Then, create a new dependency graph for each source code change.
Compare the new graph with the old graph to figure out package dependencies that need to be removed.
Update package cache by removing packages identified in the above step.

To fix the above issue, my suggestion is to remove the unused packages and the packages that depend on them.


Getting a list of linked zones for a country

Hi, recently we switched to using tzinfo with tzinfo-data gem which led to some weird issues.
When I try to get time zones for Croatia I get only Europe/Belgrade
pry(main)> TZInfo::Country.get('HR').zones
=> [#<TZInfo::TimezoneProxy: Europe/Belgrade>]

However, without using tzinfo-data I get the correct time zone, which is Europe/Zagreb
[3] pry(main)> TZInfo::Country.get('HR').zones
=> [#<TZInfo::TimezoneProxy: Europe/Zagreb>]

This might the intended behaviour, because in IANA database Europe/Zagreb is linked to Europe/Belgrade, however we need to list the original time zone name when letting the user select the time zone.
So my question is, is there a way to list original names of the time zones for a country, instead of jumping to the linked ones?

What you are seeing is the intended behaviour. It is actually caused by the definitions in the IANA Time Zone Database, not because tzinfo is jumping through linked zones.
The Country#zones method returns data from one of either the zone1970.tab or zone.tab files in the IANA Time Zone Database. zone.tab was deprecated in 2014 and replaced by zone1970.tab.
The zone1970.tab file was introduced as a simplification to the database. It only lists distinct non-linked time zones that have differences since 1970. For Croatia, this means that the correct time zone as defined by the IANA Time Zone Database maintainers in zone1970.tab is Europe/Belgrade (even though Belgrade is in Serbia).
The zone.tab file does still list the linked zone Europe/Zagreb as the time zone for Croatia.
The tzinfo-data gem includes just the data from zone1970.tab. When using your system time zone data instead of tzinfo-data, tzinfo will try and use the zone1970.tab file if it exists and will fallback to zone.tab.
I suspect that your system doesn't include the newer zone1970.tab file. When you're not using tzinfo-data, tzinfo is having to fall back to zone.tab and you see Europe/Zagreb instead of Europe/Belgrade.
The intention of the IANA Time Zone Database coordinator appears to be to stop distributing zone.tab at some point. It is therefore not really sensible to include a way of accessing the zone.tab data through tzinfo-data.
When using tzinfo-data, it is possible to query the list of zones that link to a particular zone. For example, the following would return you all the zones that link to Europe/Belgrade:
TZInfo::Timezone.all_linked_zones.find_all do |z|
  z.canonical_zone.identifier == 'Europe/Belgrade'
end

However, you would need to use a separate source of data to determine which country the identifiers of the returned zones relate to.
It sounds like you are having users select a time zone by country and then zone identifier. If this is the case then, for countries that only have a single time zone (like Croatia), I'd suggest not showing a list of zone identifiers and automatically selecting the only available option.

Thanks again for a detailed response, it seems we're just going to go with the new standard and be over with it. Thanks!


Document full scenario

Introduction
In this PR scenario 1 was simplified and added to the gallery to show how a user can add a new scenario
Changes
Some functions were made public to the NDK package so they can be used by a scenario implementer, these functions are now exposed in the API docs as well

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.11 :tada:

Comparison is base (89ed759) 69.74% compared to head (619d2ae) 69.86%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #44      +/-   ##
==========================================
+ Coverage   69.74%   69.86%   +0.11%
==========================================
  Files          27       27
  Lines        2036     2024      -12
==========================================
- Hits         1420     1414       -6
+ Misses        616      610       -6

Impacted Files
Coverage Δ

src/neurotechdevkit/scenarios/_base.py
77.88% <ø> (+0.11%)
:arrow_up:

src/neurotechdevkit/scenarios/_scenario_0.py
27.84% <ø> (-0.55%)
:arrow_down:

src/neurotechdevkit/scenarios/_scenario_1.py
86.73% <ø> (+1.44%)
:arrow_up:

src/neurotechdevkit/scenarios/_scenario_2.py
50.53% <ø> (+0.02%)
:arrow_up:

src/neurotechdevkit/scenarios/_utils.py
95.60% <ø> (ø)

src/neurotechdevkit/scenarios/__init__.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Message#delivery doesn't return a validated receipt.

https://github.com/mailboxer/mailboxer/blob/master/app%2Fmodels%2Fmailboxer%2Fmessage.rb#L36
On that line, the loop breaks after the first receipt fails validation.  Since sender_receipt is the last element in tmp_receipts, sender_receipt won't have validate called on it if a previous receipt fails validate.
This means the receipt returned by Messageable#send_message, won't have errors on it even if it isn't valid.
Am I missing something or should we make sure Messageable#send_message returns a validated receipt?  We could just prepend instead of append sender_receipt to tmp_receipts.

Last merge request solved this problem #412

This was fixed by the linked PR, let's close it!


Paperspace Error loading Notebooks

The error appeared when cloning the repo:
Error Message:
Cloning into '/notebooks'...
fatal: unable to access 'https://github.com/TheLastBen/PPS.git/': Could not resolve host: github.com

use the link https://github.com/TheLastBen/PPS


add document page

refer to https://shardingsphere.apache.org/document/current/
releated discuss: https://lists.apache.org/thread.html/r8c09cd51104cecd028d8399338d3370e8c1f164ed66d7e2a8498cfa4%40<dev.apisix.apache.org>

DONE


Additional step needed under the Deploy a SQL Server container section

It seems that the routes section in the deployment.json file will overwrite the values set in the routes section of the Set Modules components of the Iot Hub >>>  IoE Edge >>> Devices Details blade on the Azure Portal.  Thus I had to make sure the routes section in the deployment.json file had the following...
    "routes": {
      "sensorToFilter": "FROM /messages/modules/tempSensor/outputs/temperatureOutput INTO BrokeredEndpoint(\"/modules/filterFunction/inputs/input1\")",
      "filterToIoTHub": "FROM /messages/modules/filterFunction/outputs/* INTO $upstream"
   },

Any restart of the iotedgectl component on the VM seems to overwrite these values to the portal, so they need to be consistent between the JSON file and the portal.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4a587f44-2e8d-5ad3-1d22-764724579c20
Version Independent ID: b6e91fa0-a5ae-c949-192d-4713d6bb54b3
Content: Azure IoT Edge SQL module | Microsoft Docs
Content Source: articles/iot-edge/sql-storage.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban, ebertrams

@jcbendernh
Thanks for the feedback! We are currently investigating and will update you shortly.

@jcbendernh I have assigned the issue to the author to investigate and update as appropriate.

#in-process

Hi @jcbendernh. I'm sorry for leaving this issue open for so long, but I knew that the SQL article needed serious rethinking. Today we published it in a new version as a tutorial. Please check it out and let me know if it addresses your original issue.
https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-store-data-sql-server

@MohitGargMSFT could you #please-close this issue as the linked article no longer exists, and has been replaced with a tutorial that should address the original concerns.


Grow

Grow 1- Making sure that when the destination gets updated, the already existing reviews are removed. So if Paris was changed to Turin, the reviews that were there for Paris should be removed.
async function update(req, res) {
try {
const destinationData = { ...req.body };
const editedDestination = await Destination.findById(req.params.id);
editedDestination.name = destinationData.name;
editedDestination.favoriteSpots = destinationData.favoriteSpots;
editedDestination.budget = destinationData.budget;
    // Fetch updated image from Google Places API
    const response = await axios.get(
        "https://maps.googleapis.com/maps/api/place/textsearch/json",
        {
            params: {
                query: editedDestination.name,
                key: process.env.GOOGLE_PLACES_API_KEY,
            },
        }
    );
    // Store api key inside env as google places API
    if (
        response.data.results &&
  response.data.results[0] &&
  response.data.results[0].photos
    ) {
        const photoReference = response.data.results[0].photos[0].photo_reference;
        const imageUrl = `https://maps.googleapis.com/maps/api/place/photo?maxwidth=800&photoreference=${photoReference}&key=${process.env.GOOGLE_PLACES_API_KEY}`;
        editedDestination.image = imageUrl;
    }

    await editedDestination.save();
    res.redirect("/destinations");
} catch (error) {
    handleError(res, "something went wrong", error);
}

}
Grow 2- Changing the number rating system to Star icons
Add a Review

Hotel Rating

Food Rating

Summary

Submit Review

        <% } else { %>
            Log In to add reviews
        <% } %>
    <% if (foundDestination.reviews.length) { %>

Reviews

        <% foundDestination.reviews.forEach(r => { %>

                            <img alt="avatar" src="<%= r.userAvatar %>" referrerpolicy="no-referrer" class="img-fluid rounded-circle">

<%= r.userName %>

Date: <%= r.postDate.toDateString() %>

Hotels: <%= r.hotels %>

Food: <%= r.food %>

Total Rating: <%= (r.hotels + r.food) / 2 %>

I think these are definitely good stretch goals to take on moving forward! You also have a good foundation for refactoring to star icons. Removing existing reviews would take priority as this functionality would be expected/beneficial to user experience. But overall, your application is functional with required basic CRUD. Keep us posted on this! Would love to see the outcome! 💯

Instructional Grow: Build upon current CSS  - landing page feels a bit empty, centering and spacing. I wonder what other APIs can compliment this app! Can currently delete anyone’s post! Sharp or rounded border edges - perhaps stick to one?


Update documentation on expected data formats to include references.

The configuration.rst doc doesn't yet contain a write-up on the expected data format for references.
For example: While FASTA files can generally contain multiple records, the reference server mandates that a reference FASTA contain a single record, whose name is identical to that of its containing file. If this requirement is not met, an InconsistentReferenceNameException is thrown.

Has this been clarified in the latest docs @macieksmuga?

Closed with https://github.com/ga4gh/server/commit/00d6b7962019a86d77e549f4be6d49436e602446


[NF] Iron Losses

So finally, this is the first release of some classes to calculate the machine losses (especially the iron losses).
I'm not quiet sure on how to organize the models and the calculated results. For now I decided to use a dict based structure.
There are 2 models for now, i.e. LossModelBertotti and LossModelWinding. More models to come in the near future, e.g. some general mech. loss models. There are as well some general changes, e.g. regarding the FEMM groups.
An example calculation can be found in 'Tests\Validation\Simulation\test_FEMM_Loss.py'.
Some feedback as well as validation cases are greatly appreciated.
EDIT: Unfortunatly I also pulled 'StructElmer' branch into this branch. Sorry for that. :-(

Hi Sebastian !
I have reviewed your contribution. I was able to run it successfully on my computer. I think we can merge it for now as it is quite independant from the rest.
Nevertheless, I would like to add in the documentation some references (for example an article which clearly explain the coefficients such as Bertotti or windings ...). Maybe we could find some results in such articles that we could try to reproduce with Pyleecan.
Best regards,
Raphaël

Hi Sebastian !
I have reviewed your contribution. I was able to run it successfully on my computer. I think we can merge it for now as it is quite independant from the rest.
Nevertheless, I would like to add in the documentation some references (for example an article which clearly explain the coefficients such as Bertotti or windings ...). Maybe we could find some results in such articles that we could try to reproduce with Pyleecan.
Best regards,
Raphaël

Hello Raphaël,
thank you for reviewing. Unfortunatly I recognized that the actual organization of the models and outputs is not serializable.
So I got to change that before. :-(
Open references for the iron losses could be the 'Vu Xuan Hung thesis' or the FEMM example from the test.
Do you think this is sufficient?
Best regards,
Sebastian

Hello Raphaël,
thank you for reviewing. Unfortunatly I recognized that the actual organization of the models and outputs is not serializable.
So I got to change that before. :-(
Open references for the iron losses could be the 'Vu Xuan Hung thesis' or the FEMM example from the test.
Do you think this is sufficient?
Best regards,
Sebastian

Hello @BonneelP
could you have a look at my '[NF] allow None' commit. I think this could be useful sometimes.
Best regards,
Sebastian

Hello @BonneelP
could you have a look at my '[NF] allow None' commit. I think this could be useful sometimes.
Best regards,
Sebastian

I think I'm done for now with this PR. Tests (tested without GMSH and Force) seem okay.
There are only some FEMM tests that 'lose focus' if I run all tests at once. If I run failed FEMM tests one by one they are okay as well.

I think I'm done for now with this PR. Tests (tested without GMSH and Force) seem okay.
There are only some FEMM tests that 'lose focus' if I run all tests at once. If I run failed FEMM tests one by one they are okay as well.

Hello,
Thank you for this amazing work. This is a great step for pyleecan :)
Maybe one question: what is the purpose of pyleecan/load_dialog.py ?
I'm Ok to merge it, then I plan to merge the PR #294 on log and update your code to use "Pyleecan.Loss" as a logger to match the new standard (in OutLoss and in Loss classes). Once merged, should I review/merge #287 and #291 (and in which order) ?
Best regards,
Pierre

Hello,
Thank you for this amazing work. This is a great step for pyleecan :)
Maybe one question: what is the purpose of pyleecan/load_dialog.py ?
I'm Ok to merge it, then I plan to merge the PR #294 on log and update your code to use "Pyleecan.Loss" as a logger to match the new standard (in OutLoss and in Loss classes). Once merged, should I review/merge #287 and #291 (and in which order) ?
Best regards,
Pierre

Hello Pierre,
I may added load_dialog.py by accident. So you can remove it.
Yes you can review #287 and then #291.
For #291 there are also some additions at @ajpina PR. But I had no time to review. I also havent resolved Raphaëls comments there.
Best regards, Sebastian

Hello Pierre,
I may added load_dialog.py by accident. So you can remove it.
Yes you can review #287 and then #291.
For #291 there are also some additions at @ajpina PR. But I had no time to review. I also havent resolved Raphaëls comments there.
Best regards, Sebastian

Great I will have a look at #287 and I will wait a bit before merging #291
Thank you again :)

Great I will have a look at #287 and I will wait a bit before merging #291
Thank you again :)


some kind of CI

Now that multiple people are contributing to the repo...we should really be running some kind of CI to make sure that the code compiles, at least...

Yeah, this is a very good call. I'm going to be mostly "out of office" tomorrow, should try to get to this over the weekend.
I need to find something not using actions-rs (maybe mycelium?) to set up basic build + tests + lints.

feel free to copy from https://github.com/hawkw/mycelium/blob/main/.github/workflows/ci.yml, but note that it's also doing a bunch of stuff that we don't currently need (running tests in QEMU, running different sets of Loom and Miri tests based on which crates changed, etc)


[wip] Windows support

LGTM

I'll wait unit I finish porting all the scripts, that would probably be early next week.

@mcollina Have you anything left to push to this branch? If not I will reuse it to complete the windows work.

please go ahead and do whatever you prefer :)

@mcollina I'll finish off the ones missed as I go.


updated Dutch translations

I merged the upstream repo after I committed my 'finished adding translations' commit, so there might be new keys that still need translating

I will try to update the file with the latest translations and comments that have been added during today's stream tomorrow, I see that there have been some more updates.

Thank you for the updates!


Success statusCode for failed bulk inserts with HTTP endpoint

CrateDB version
5.7.1
CrateDB setup information
Local single node deployment
Problem description
given a batch insert that fully or partially fails, the statusCode is always 200. For single inserts you may get 400 for failed insertions, but for batch cases, it always returns as successful (200).
I'd expect the 400 code at least for the complete fail case.
Steps to Reproduce
1 - Create table:
CREATE TABLE locations (
      id INT,
      name TEXT,
      kind TEXT,
      description TEXT
)

2 - Batch insert:
curl -sS -H 'Content-Type: application/json' \
-X POST '<IP_ADDRESS>:4200/_sql' -d@- <<- EOF
{
  "stmt": "INSERT INTO locations (id, name, kind, description)
          VALUES (?, ?, ?, ?)",
  "bulk_args": [
    [1337, "Earth", "Planet", "An awesome place to spend some time on."],
    [1338, "Sun", "Star", "An extraordinarily hot place."],
    ["error", "Titan", "Moon", "Titan, where it rains fossil fuels."]
  ]
}
EOF

3 - check the statusCode on the response
Actual Result
"crate_response": {
    "body": {
        "cols": [],
        "duration": 10.722357,
        "results": [
            {
                "rowcount": -2
            },
            {
                "rowcount": -2
            },
            {
                "rowcount": -2
            }
        ]
    },
    "duration": 381.178,
    "statusCode": 200
}

Expected Result
"crate_response": {
    "body": {
        "cols": [],
        "duration": 10.722357,
        "results": [
            {
                "rowcount": -2
            },
            {
                "rowcount": -2
            },
            {
                "rowcount": -2
            }
        ]
    },
    "duration": 381.178,
    "statusCode": 400
}

The exact behavior here depends on how/where exactly the statement is failing. For bulk operations execution-runtime errors are currently deliberately reports via the rowcounts, so getting a 200 instead of 400 is intentional.
This relates a bit to https://github.com/crate/crate/issues/12218


libsmi-0.4.6 or greater required

The -k option is only available in libsmi-0.4.6 , and should be noted somewhere as a requirement.

It was found that SLES 11 SP4 supports libsmi-0.4.5


Bug: First 30 packets are not sent?

https://github.com/fyhertz/libstreaming/blob/master/src/net/majorkernelpanic/streaming/rtp/RtpSocket.java#L302
				if (mCount++>30) {
					if (mTransport == TRANSPORT_UDP) {
						mSocket.send(mPackets[mBufferOut]);
					} else {
						sendTCP();
					}
				}

What is it for? Does is it mean first 30 packets are not sent?

@4ntoine I have the same question like you, mCount and mBufferOut are the same value that present index of packet in FIFO packets buffer that available for sending to server. I do not know why it ignore the first 31 packets (0 to 30 index) and just send the packet from index 31. Do you resolve or figure out this problem?


Make Pointer debug output less noisy

This PR reduces the noise from printing Pointer with the debug formatter. It also breaks down the opaque PointerData bitfield into its components.
Before
Pointer {
    data: PointerData(
<PHONE_NUMBER>7927943
    ),
    pending: Mutex { data: Pending { add_ref: [0, 3, 3, 2, 5, 5, 6, 6, 7, 7, 2, 7], sub_ref: [3, 5, 6, 7, 6, 5, 3, 7], epoch: [] } },
    marker: PhantomData
}

After
Pointer {
    index: 7,
    epoch: 0,
    storage_id: 1,
    pending: Pending {
        add_ref: [
            0,
            3,
            3,
            2,
            5,
            5,
            6,
            6,
            7,
            7,
            2,
            7
        ],
        sub_ref: [
            3,
            5,
            6,
            7,
            6,
            5,
            3,
            7
        ],
        epoch: []
    }
}

greatness!
bors r+


Build VM on Azure

Your assistant in this task is @anasos20
We need to build a VM on Azure and try to use it to download ADNI data

I have already built the VM on Azure with the help of @anasos20 and downloaded a sample of our data to the VM on Azure then uploaded it to OneDrive.
@ahmedtarek26
We will need to try training a model on Azure using this sample from OneDrive

Great Job @Omarelsherif010
We need to make sure that we can access and preview the data in Azure like our first try this morning.
We'll try again and solve this problem then download the rest of the data
Now, I think that this issue is already done


Vector

@Manwe56 i have a formatting problem. In intellij, by default, we replace tabs with white spaces.

That's fine to remove the tabs. I'll change this in my IDE too, so that it is not a conflict later on :)


Keep the other dim from the original segment when modifying vertex

Previously, when modifying a 3d geometry, the third dimension was lost when you move a vertex, replaced by zero. This commit fixes it.
However, when adding a new vertex in a segment, the third dimension will still be zero. Should it be the average between the previous and next vertex?

This looks very solid. I hope to have a deeper look the next days.

Is there a chance to have this in next version, we would really appreciate this correction.
@marcjansen ?


[21136] Fix Large data usecase flowcontrollers XML snippet

Description

During the revision we missed this malformed snippet. This PR fixes the doc generation to display the complete snippet.

Contributor Checklist

[x] Commit messages follow the project guidelines.
[x] Code snippets related to the added documentation have been provided.
[x] Documentation tests pass locally.
N/A Applicable backports have been included in the description.

Reviewer Checklist

[x] The PR has a milestone assigned.
[ ] The title and description correctly express the PR's purpose.
[ ] Check contributor checklist is correct.
[ ] CI passes without warnings or errors.

@richiprosima please test_3 this


bug: LspInfo opening in new window instead of modal

Did you check docs and existing issues?

[x] I have read all the LazyVim docs
[x] I have updated the plugin to the latest version before submitting this issue
[x] I have searched the existing issues of LazyVim
[x] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.10.2 Release
Operating system/version
MacOS 15.2
Describe the bug
Running LspInfo or pressing <leader>cl is opening what used to be the LspInfo modal as a tab instead. I looked into the changelog to try to understand if this was intended but it seems like a bug, please correct me if I'm wrong.
Steps To Reproduce

Run :LspInfo
See LspInfo window instead of modal

Expected Behavior
LspInfo should open in a modal!
Repro
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

require("lazy.minit").repro({
  spec = {
    { "LazyVim/LazyVim", import = "lazyvim.plugins" },
    -- add any other plugins here
  },
})

That has nothing to do with LazyVim. nvim-lspconfig changed this behavior a while ago. This commit is what introduced this behavior.

@dpetka2001 Got it! Going to close this, then! Thanks for the answer.


BBC Rewind

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2022.07.18 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
United Kingdom
Example URLs
Single video: https://www.bbcrewind.co.uk/asset/5acb6b2bdae8bd001aa0c3f2?categories=scienceAndTechnology
Playlist: https://www.bbcrewind.co.uk/search?categories=scienceAndTechnology
Provide a description that is worded well enough to be understood
BBC Rewind is a new site from the BBC containing archive documentary footage. It probably uses the same player as other BBC sites, but it has a new domain.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://www.bbcrewind.co.uk/asset/5acb6b2bdae8bd001aa0c3f2?categories=scienceAndTechnology']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.07.18 [135f05e] (zip)
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.10.0-16-amd64-x86_64-with-glibc2.31 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.3.4-0, ffprobe 4.3.4-0
[debug] Optional libraries: sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.07.18, Current version: 2022.07.18
yt-dlp is up to date (2022.07.18)
[debug] [generic] Extracting URL: https://www.bbcrewind.co.uk/asset/5acb6b2bdae8bd001aa0c3f2?categories=scienceAndTechnology
[generic] 5acb6b2bdae8bd001aa0c3f2?categories=scienceAndTechnology: Downloading webpage
WARNING: [generic] Falling back on generic information extractor.
[generic] 5acb6b2bdae8bd001aa0c3f2?categories=scienceAndTechnology: Extracting information
[debug] Looking for video embeds
ERROR: Unsupported URL: https://www.bbcrewind.co.uk/asset/5acb6b2bdae8bd001aa0c3f2?categories=scienceAndTechnology
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1431, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1506, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 644, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/generic.py", line 4108, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.bbcrewind.co.uk/asset/5acb6b2bdae8bd001aa0c3f2?categories=scienceAndTechnology

No, it's totally different ... The people responsible plainly see HTML as a bit of a hindrance in the process of sending information to viewers, so it's all API-based.
The metadata for https://www.bbcrewind.co.uk/asset/5acb6b2bdae8bd001aa0c3f2 comes from https://www.bbcrewind.co.uk/api/svc/api/v2/assets/5acb6b2bdae8bd001aa0c3f2, including a video URL.
The metadata for the search URL comes from https://www.bbcrewind.co.uk/api/svc/api/v2/assets/search?categories=scienceAndTechnology, or, for full results, https://www.bbcrewind.co.uk/_next/data/0eJEpo-5CI4kfkT5EziVV/en/search.json?categories=scienceAndTechnology&includedGLFilters=distress,violence,sex,language.


fix(hubble): hub operator fid is not set docker compose

Motivation
Fixes #2088 #2117
There is likely an underlying issue with the commander configuration but this is a quick change that gets this working for those having trouble getting the container up and running.
Change Summary
Reordered CLI arguments in docker-compose.yml.
Merge Checklist
Choose all relevant options below by adding an x now or at any time before submitting for review

[x] PR title adheres to the conventional commits standard
[x] PR has a changeset
[x] PR has been tagged with a change label(s) (i.e. documentation, feature, bugfix, or chore)
[ ] PR includes documentation if necessary.
[x] All commits have been signed

Additional Context
If this is a relatively large or complex change, provide more details here that will help reviewers

PR-Codex overview
This PR updates the docker-compose.yml file for the @farcaster/hubble app to fix an issue with CLI arguments order affecting the hub operator FID.
Detailed summary

Added --hub-operator-fid ${HUB_OPERATOR_FID:-0} to fix unset hub operator FID in docker-compose.yml.
Rearranged CLI arguments to ensure correct order and parameter assignment.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Thanks! It looks like we (unintentionally) have our --hub-operator-fid flag set further down in our list of CLI flags in our production environment, which is why we haven't seen this issue ourselves.
Appreciate the workaround fix.


[SDP-1243] GET /balances return 500 when circle account is not activated

What
Steps to reproduce

Provision a new tenant with distribution_account_type = DISTRIBUTION_ACCOUNT.CIRCLE.DB_VAULT
e.g.

{
    "name": "circle-alpha",
    "owner_email"<EMAIL_ADDRESS>    "owner_first_name": "Marwen",
    "owner_last_name": "Owner",
    "organization_name": "Circle Alpha Testing",
    "sdp_ui_base_url": "https://circle-alpha.mtn-sdp-frontend-dev.stellar.org",
    "base_url": "https://circle-alpha.mtn-sdp-backend-dev.stellar.org",
    "distribution_account_type": "DISTRIBUTION_ACCOUNT.CIRCLE.DB_VAULT"
}

Call GET /balances endpoint before configuring Circle.

Expected Behaviour

Returns 400 error because circle account is not configured.

Actual Behaviour

Returns 500 error because of nil pointer

Checklist
PR Structure

[x] This PR has a reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR title and description are clear enough for anyone to review it.
[x] This PR does not mix refactoring changes with feature changes (split into two PRs otherwise).

Thoroughness

[x] This PR adds tests for the new functionality or fixes.
[x] This PR contains the link to the Jira ticket it addresses.

Configs and Secrets

[x] No new CONFIG variables are required -OR- the new required ones were added to the helmchart's values.yaml file.
[x] No new CONFIG variables are required -OR- the new required ones were added to the deployments (pr-preview, dev, demo, prd).
[x] No new SECRETS variables are required -OR- the new required ones were mentioned in the helmchart's values.yaml file.
[x] No new SECRETS variables are required -OR- the new required ones were added to the deployments (pr-preview secrets, dev secrets, demo secrets, prd secrets).

Release

[x] This is not a breaking change.
[x] This is ready for production.. If your PR is not ready for production, please consider opening additional complementary PRs using this one as the base. Only merge this into develop or main after it's ready for production!

Deployment

[ ] Does the deployment work after merging?

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr329.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr329.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr329.previews.kube001.services.stellar-ops.com


Lack of clarity which DB connector is used under the hood

This is a request to add a bit more info in the README regarding the connector that is used under the hood.
In the docs it seems that Databricks supports both ODBC and JDBC drivers.
What is being used with this client library to connect to Databricks warehouse JDBC/ODBC/Something else?
I am using this to initialize the connector:
// NewConnector creates a connection that can be used with `sql.OpenDB()`.
// This is an easier way to set up the DB instead of having to construct a DSN string.
func NewConnector(options ...connOption) (driver.Connector, error) {
	// config with default options
	cfg := config.WithDefaults()

The ODBC, JDBC, Python, NodeJS, and Go connectors all connect to Databricks via thrift.

The Go driver is independent of JDBC/ODBC


(maint) Change HikariCP FailFast to FailTimeout

The failfast property of HikariCP is deprecated and replaced with a
failtimeout.
Our previous setting of failfast=false would not error when the
minimum number of connections could not be obtained. The new fail
timeout setting of less than zero will mean the pool will start
immediately, and it will not timeout if it can't establish the minimum
number connections.

CLA signed by all contributors.


Support for ISO keyboards

Please implement support for ISO keyboards, especially on keys that ANSI don't have like the key between Z and the Left Shift.
Thank you.

No. It doesn't work.


CMake Conduit + HDF5 Find Issue

In this CMake logic:
https://github.com/mfem/mfem/blob/4ba0c28a6ab815081946fdd7b5750be0324bc920/config/cmake/modules/FindConduit.cmake#L28
If CMake var HDF5_DIR is not set, this logic will look at an empty location and likely find a system HDF5 instead of the one that Conduit was compiled with.
When Conduit is built with HDF5 support, Conduit's cmake logic for downstream projects will automatically find HDF5.
It also provides CONDUIT_HDF5_DIR that reflects the location of the HDF5 that it was compiled with.
I don't think you are using that logic to import Conduit, but you may be able to still extract CONDUIT_HDF5_DIR to get a consistent path.

@v-dobrev yes, that is what I had in mind, in whatever way works best for the build system.
The main concern is that in a many cases there will be a system install of hdf5 that is likely to be found & not the same/intended version we want to link to.


add more_itertools to requirements.txt

File thicket/thicket/helpers.py:6, in <module>
      1 # Copyright 2022 Lawrence Livermore National Security, LLC and other
      2 # Thicket Project Developers. See the top-level LICENSE file for details.
      3 #
      4 # SPDX-License-Identifier: MIT
----> 6 from more_itertools import powerset
      7 import pandas as pd
     10 def _are_synced(gh, df):

ModuleNotFoundError: No module named 'more_itertools'

@michaelmckinsey1 add it to setup.py first and foremost. If this dependency is not in setup.py, it will not be visible to any pip installs.

more-itertools is in setup.py https://github.com/LLNL/thicket/blob/develop/setup.py#L50. @slabasan Maybe you were running on an environment that was installed before #145 was merged (April 9)? In which case you just need to pip install more-itertools in that environment. Any new environments installing Thicket will have more-itertools.


main window is not displayed

I already run i3 with tray in the bar.
Running geektray the default binding (Super+grave) doesn't do anything and no message is shown.

First, multiple system trays cannot work simultaneously. GeekTray will attempt to take ownership of the tray if another tray is running. Therefore i3bar's tray feature should be disabled. However, that is probably not related to this issue.
I'm guessing the issue is either global key bindings aren't working or the window isn't visible or drawing. Please check the following:

Does assigning ToggleWindow action to another key solve the problem?
Set log_level to Debug and check the stdout. Is there a log entry for "draw tray window"?


Expectations around MODULE.bazel.lock

It seems as if MODULE.bazel.lock is updated if one runs bazel from top dir. When developing it kept making it into commits. Is it intended that this file be kept up to date? Added to PRs where it would have gotten updated locally?

It seems as if MODULE.bazel.lock is updated if one runs bazel from top dir.

Does this occur in all cases? Running locally, if I run bazel from the toplevel directory I don't see an update to MODULE.bazel.lock. We did have an issue with this before, though. Did you run into this while working on https://github.com/openxla/stablehlo/pull/2040? If so, it looks like you started that PR on Feb 23 and we fixed the issue on Feb 29: https://github.com/openxla/stablehlo/pull/2060

Is it intended that this file be kept up to date? Added to PRs where it would have gotten updated locally?

Yes. If a change causes MODULE.bazel.lock to update, we want that to be captured as part of the PR introducing the change. In fact, CI should fail if the lockfile is not up to date: https://github.com/openxla/stablehlo/blob/633119601a3c438c2459a664d68286d877f83805/build_tools/github_actions/ci_build_bazel.sh#L25


Data mirroring for RDev stacks [CI/CD]

For both ad hoc test and automated E2E and functional tests, RDev envs will need to be initialized with prod-representative data. We already data mirroring scripts to move data from prod to dev and staging, which can be adapted to also mirror to RDev. Both engineers and automated testing workflows should be able to invoke this script.
Implementation notes:

For ad hoc testing needs, should support user-selectable data types to be mirrored: Portal DB (RDS), H5ADs (S3), CXGs (S3), WMG snapshot (S3) and possibly by collections/datasets (subsets of corpus).
It may be sufficient for E2E tests to only test on subsets of corpus data, so the user-selectable data types feature may also be useful for automated tests.
Any S3-related code that is not currently capable of finding its data using S3 paths that include the "stack prefix" will need to be updated (WMG only?)
It is worth considering having this script run as a Batch job (or some other hosted compute), rather than in the localhost process, but that is a stretch goal.

Goal:
Allow engineers to initialize an RDev stack with selected production data, as needed for a particular dev/testing effort.
Provide a script that can mirror any combination of the following data types:

[X] Portal database (RDS db) sync
[X] S3 Portal datasets: .h5ad, .rds. Specify by list of datasets and or collection identifiers.
[X] S3 Explorer datasets: CXGs.  Specify by list of datasets and or collection identifiers.
[X] S3 WMG snapshot(s)
[X] S3 CellGuide data (to s3://cellguide-data-public-dev/env-rdev-cellguide/{stack-name}/)

Hey team! Please add your planning poker estimate with Zenhub @atolopko-czi @Bento007 @danieljhegeman @ebezzi

duplicate https://github.com/chanzuckerberg/single-cell-data-portal/issues/5274?

Hmm yeah feels like duplicate to me, maybe worth combining the descriptions since they're slightly different? Will defer to BE engs to decide what to do 😆

We pointed the dup issue at 3 pts, so I pointed this issue the same.

S3 Portal datasets: .h5ad, .rds. Specify by list of datasets and or collection identifiers.
S3 Explorer datasets: CXGs. Specify by list of datasets and or collection identifiers.

I'm not going to handle Portal datasets and Explorer assets separately. Instead, the user can pass dataset ids or collection ids; all related assets will be copied over.

@danieljhegeman There's another requirement for this script: CellGuide S3 data. See https://docs.google.com/document/d/1nynGcBS_TA55qlQo9WjINGkcMnE_xIBz7-inmop2bqo/edit?disco=AAAA4WHy6wE

@danieljhegeman Ready to be closed?

@danieljhegeman There's another requirement for this script: CellGuide S3 data. See https://docs.google.com/document/d/1nynGcBS_TA55qlQo9WjINGkcMnE_xIBz7-inmop2bqo/edit?disco=AAAA4WHy6wE

I'll add this!

Done!


How to prevent/disable swipe back navigation?

Is there a way to prevent the app from navigating back when the user swipes (to right gesture) on left edge of the screen? I am developing a PWA and it seems there's no way I can handle this with VRouter. I'm not sure if this is possible because I think it's the default behavior of the browser. But would greatly appreciate if you could share your thoughts. Thanks in advance.

It is possible somehow, you can do this using VGuard.beforeLeave and using vRedirector.stopRedirection:
VGuard(
  beforeLeave: (vRedirector, _) async => vRedirector.stopRedirection(),
  stackedRoutes: [...],
)

Warning: This is not perfect and VRoutter does not always succeed in the prevention of navigation. In any case you user can always type in the old url manually:

✅ DO use this to display a popup/warn the user and provide better UX
❌ DON'T use this as a security tool

Hi, I notice beforeLeave do not contains the buildConext. How can I use showDialog to display a popup warning inside it?
Thanks!

Closing this since I answered the original question from @dioseltorre.
Regarding your question @yellowgraysu, I would suggest using the context that you can get by putting a navigatorKey on VRouter.

Here is a concrete example:

import 'package:flutter/material.dart';
import 'package:vrouter/vrouter.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final routerKey = GlobalKey<NavigatorState>();

  @override
  Widget build(BuildContext context) {
    return VRouter(
      navigatorKey: routerKey,
      routes: [
        VGuard(
          beforeLeave: (vRedirector, _) async {
            await showDialog(
              context: routerKey.currentContext!,
              builder: (context) => LeavingConfirmationDialog(
                onConfirm: () => Navigator.of(context).pop(),
                onCancel: () {
                  Navigator.of(context).pop();
                  vRedirector.stopRedirection();
                },
              ),
            );
          },
          stackedRoutes: [
            VWidget(path: '/', widget: const HomeScreen()),
          ],
        ),
        VWidget(path: '/settings', widget: const SettingsScreen()),
      ],
    );
  }
}

class LeavingConfirmationDialog extends StatelessWidget {
  const LeavingConfirmationDialog({
    Key? key,
    required this.onConfirm,
    required this.onCancel,
  }) : super(key: key);

  final VoidCallback onConfirm;
  final VoidCallback onCancel;

  @override
  Widget build(BuildContext context) {
    return AlertDialog(
      title: const Text('Are you sure?'),
      actions: [
        TextButton(onPressed: onConfirm, child: const Text('Yes')),
        TextButton(onPressed: onCancel, child: const Text('No')),
      ],
    );
  }
}

class HomeScreen extends StatelessWidget {
  const HomeScreen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Home'),
        actions: [
          IconButton(
            onPressed: () => context.vRouter.to('/settings'),
            icon: const Icon(Icons.settings),
          ),
        ],
      ),
      body: Center(
        child: Text('Home', style: Theme.of(context).textTheme.headline3),
      ),
    );
  }
}

class SettingsScreen extends StatelessWidget {
  const SettingsScreen({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Settings')),
      body: Center(
        child: Text('Settings', style: Theme.of(context).textTheme.headline3),
      ),
    );
  }
}

Feel free to open a new issue where you reference those messages if something remains unclear :)


Clicking "Load More Results" does not always load more pages of results

Description
@bidoubiwa and I debugged this. Charlotte has a suspicion about where the bug lies.
Expected behavior
Clicking "Load More Results" with the ais-infinite-hits widget should load more results as long as there are more pages of results.
Current behavior
Clicking "Load More Results" with the ais-infinite-hits widget sometimes does not load more results even if there are more pages of results.
searchContext.pagination.page is incorrect when building out a searchContext resulting in a cached response being used instead of issuing a new network query.
Screenshots or Logs
Slack discussion: https://meilicommunity.slack.com/archives/C01HTBLHGFL/p1659566578644099
Environment

OS: Ubuntu 20.04
Browser: Firefox 104.0b4
Meilisearch version: v.0.28.1
instant-meilisearch version: v0.8.1
instantsearch.js version: v4.38.0

This may not be a problem with Meilisearch after all. I will verify proper behavior once I have updated our production system. I think this issue was manifested by a change in our search function <ais-instant-search :search-function="searchFunction"> combined with running outdated Meilisearch-related code at the time.

Oh! That would be amazing news. I was still confused about how it could have happened

@bidoubiwa Everything seems to be working correctly after fixing an issue in my code and upgrading from v.0.23.x to v.0.28.1


Change in behaviour of tensor_svd breaks left_canonise (and others)

tensor_svd has changed its behavior w.r.t the labels returned ("svd_out" is now "svdout" by default etc.). This breaks functions that assumes the old behavior. The functions that appear to be affected are

left_canonise
swap_gate
tensor_to_mps
tensor_to_mpo

Another issue is that truncated_svd is a bit different than tensor_svd. Do we need both, or can tensor_svd be augmented with appropriate keywords to take over for truncated_svd?

Indeed, I fixed this at uni but forgot to push the change, sorry. Simply need to change the default keyword argument to svd_label="svd_". Yes I think it would make sense to remove truncated_svd and have tensor_svd truncate when chi, and threshold arguments are set.

Okay, wasn't sure if you preferred changing the default to "svd_" or changing to "svdout" etc. everywhere else.. (Either change is pretty trivial to do). I'll just fix it locally and wait for your push later.

I also changed the other functions which use tensor_svd to generate a unique label for svd_label using unique _label() (so as to avoid any potential conflict with user supplied labels, e.g. if the input to tensor_svd has its own label called "svd_in").  I felt this would be safest, what do you think?

Yeah that seems like a good idea. I guess that could be a good general convention to follow whenever there is a "temporary" label only existing in the scope of a function or similar.

Fixed as described above.


Update checkConsistency to compare fingerprint

Compare fingerprint instead of just length: https://alluxio.atlassian.net/browse/ALLUXIO-3363
Replacement for #8588

jenkins, test this please

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3840/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/3839/
Test PASSed.

alluxio-bot, merge this please.

alluxio-bot, cherry-pick this to branch-2.0 please.

@tahakashaf @madanadit Thank you for fixing this!