powershell changed to pwsh in PowerShell Core 6.0.0-beta.9

This is a fix for issue #39
Starting in PowerShell Core 6.0.0-beta.9 (and for the rest of time) powershell is now pwsh in the terminal because apparently Linux people are super serious about the number of keystrokes they type.  This fix allows for people to opt in to the new syntax without breaking old projects by default, and it is documented in the readme.
This passed all 11 tests but I don't understand how I'm supposed to share my /coverage folder when its in the gitignore file.  Sorry, I'm such a noob.

Coverage increased (+0.06%) to 88.5% when pulling 5328d06e455ccc6e87e19fda6b7ce202b99b5ae0 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling 5328d06e455ccc6e87e19fda6b7ce202b99b5ae0 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling 5328d06e455ccc6e87e19fda6b7ce202b99b5ae0 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling 4073f1ca7ec18e7a6fd89fa2ee6f127bc0cf2081 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling 4073f1ca7ec18e7a6fd89fa2ee6f127bc0cf2081 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling 4073f1ca7ec18e7a6fd89fa2ee6f127bc0cf2081 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling dcd50dafdc1bb94aef63e65d8cade53a6cdb2bb1 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling dcd50dafdc1bb94aef63e65d8cade53a6cdb2bb1 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling dcd50dafdc1bb94aef63e65d8cade53a6cdb2bb1 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling dcd50dafdc1bb94aef63e65d8cade53a6cdb2bb1 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Coverage increased (+0.06%) to 88.5% when pulling dcd50dafdc1bb94aef63e65d8cade53a6cdb2bb1 on BenjaminMichael:master into fa9e41f1aa785e0a4614213bd5a965e0a46b4804 on rannn505:master.

Meh this is not very different from just going in and changing powershell to pwsh.


Property 'context' is private and only accessible within class 'Chart'.

Angular : 7.3.8
viser-ng : 2.4.5
I am trying to acquire a g2 Chart instance from viser-ng/es/Chart by using :
`
const g2Chart = chart.context.chart.chartInstance;
g2Chart.downloadImage("test");
`
this works in dev mode even if with some error message, however I can't build the project in prod mode with this error
error TS2341: Property 'context' is private and only accessible within class 'Chart'.
so why the context is private ?
if that's how it was designed,  then what should I do if I want to get g2 chart instance?
thanks!

你提个pr吧


enhancement: Added oportuniy set ImagePullSecret

Summary
Added oportuniy set ImagePullSecret param to manifest of job. It allows use a private registry for images when we use $BACKUP_IMAGE.
Fixes https://github.com/k8up-io/k8up/issues/567
Checklist
For Code changes

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] PR contains the label area:operator
[x] Link this PR to related issues
[ ] I have not made any changes in the charts/ directory.

For Helm Chart changes

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] PR contains the label area:chart
[x] PR contains the chart label, e.g. chart:k8up
[x] Variables are documented in the values.yaml using the format required by Helm-Docs.
[x] Chart Version bumped if immediate release after merging is planned
[x] I have run make chart-docs
[x] Link this PR to related code release or other issues.

@eunames Could you rebase your branch so we can have a look at the change again and merge it if everything looks good?


Make noopTransport optional

Startup of the client with noopTransport when the DSN is empty I think is dangerous in some cases.
I would suggest to introduce an option to disable this mode. A breaking change on the API can be avoided maintaining the current mode with the noopTransport as the default way.

Hey, thanks for the patience. I've scheduled some time for patches/features and releasing a new version of sentry-go this and next week. I'll make sure to fix all the remaining issues till the EOD next week. Cheers!

@codebien can you provide more insights why do you think it's a dangerous thing? The only thing we do there is log appropriate messages so that user is aware of what's going on.


Clustering Devices - Modern Interface

Dears,
Apologies  for posting in the wrong repository.
Per question on the forum, it would be useful for our usage if there is a possibility to switch off the clustering of devices.
This is mainly because of a high concentration of devices in a small area.

You can cluster Devices using groupId.

Can you elaborate? Why would you want to cluster devices by group?

If you have a lot of devices you can't remember who is this, so you need to group them according to their assigned groups

How is that related to clustering? We already have filtering by groups that let you do what you seem to be asking for.

We already have an option to turn off clustering.


[vcpkg-hash] use current working directory to get a file

Fixes: https://github.com/microsoft/vcpkg/issues/4791

This LGTM, thanks for the fix!


Can't install LinearMouse because Apple can't search it for malware

After dragging the program into my applications folder, I can't open it and get this error message instead, that can't be ignored :(
I'm on MacOS Monterrey

Just like opening other apps from unidentified developers (or people who don't pay $99 every year to Apple), you may right click the app and choose open rather than double click it directly.
A more official but complicated workaround can also be found here.

Thank you very much! I'm only using Macs for work so this wasn't obvious to me. Fascinating, that this works 😅 Maybe you can point that out on this Git's main page. I'm sure, there are other people out there who don't know that.

I'm sure, there are other people out there who don't know that.

I believe you're right. I'll add this to the documentation. Thank you for pointing it out.


Add Github Bounty bot changes and add pg beginnings for rust meetup bot [bounty 2XLM]

Thanks for contributing. Your account has been awarded 2XLM. To claim it, go to the BOT INTERACTION issue (#31). There you will need to /register your Stellar address and then you can /claim your bounty!


[Bullet] _integrate_forces(state) not reporting contacts, normals

Godot version
3.4.2
System information
Debian 11 (Linux)
Issue description
Hello,
When using the Bullet Physics Engine (currently the default for Godot 3.4), sometimes the _integrate_forces method fails to return a value other than 0 for get_contact_count or get_contact_local_normal, for a RigidBody. This appears to be similar to issue 43806.
Steps to reproduce
Putting the following in a RigidBody's script displays the problem for me:
func _integrate_forces(state):
	print(state.get_contact_count())
	print(state.get_contact_local_normal(0))

I am including a project that should reproduce this problem below. Simply Run full speed toward the green ramp in the middle, and pay attention to the printout in the output window. The script in question is Lee.gd located in the assets folder. You should notice that the other two ramps work fine, as do most objects in the game. This problem seems to be frequently mitigated by using a trimesh collision sibling. However these do not always compensate for more complex meshes, such as the insides of cylinders.
Minimal reproduction project
gammaball.zip

You need set "Contacts Reported" property of RigidBody node greater than 0 to get contact in _integrate_forces. I found you just leave it to 0.
Actually, I don't think leave default value to 0 is good idea, for it just looks like a bug.


chore: update cairo-lang to ^0.5.0

As title, dep bump.

Thank you for taking interest in the project. I'm currently working on a new version that will both update the dependencies and adapt to the alpha 3 testnet. I was hoping to release it tomorrow.

Seems that just updating the deps is not sufficient, run the devnet and try running
starknet deploy --contract PATH --gateway_url http://localhost:5000

It should fail with 500 Internal Server Error because 0.5.0 introduced breaking changes.
What do you say I close this this PR?

Ah OK sounds good to me. Looking forward to the update.

The changes proposed by this PR are included in #5 and the new version (v0.1.3). Check it out:
https://github.com/Shard-Labs/starknet-devnet/releases/tag/v0.1.3


mayhem integration

this harness fuzzes their serialization logic completely. serde is just the framework/common API that they expose (serde doesn't implement any serialization itself, just the interface)


New version: flux.flux version 4.131

Pull request has been created with komac v2.0.3 :rocket:

Resolve: #137765

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping @Exorcism0666, I'll get a notification.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！


Entry.log modifies writes Level, not reusable.

Entry.log modifies "entry.Level" to whatever level the current message is being logged at. This means that once an Entry has logged a more severe message it can no longer log a less severe message. The documentation says
// An entry is the final or intermediate Logrus logging entry. It contains all
// the fields passed with WithField{,s}. It's finally logged when Debug, Info,
// Warn, Error, Fatal or Panic is called on it. These objects can be reused and
// passed around as much as you wish to avoid field duplication.

If the object modifies itself it can't be reused. Here's a test program. I expect to see 5 log messages.
package main

import "github.com/Sirupsen/logrus"

func main() {
    logrus.SetLevel(logrus.DebugLevel)
    entry := logrus.WithField("thread", "main")

    // Less serious to more serious.
    entry.Debugf("debug entry.Level=%d", entry.Level)
    entry.Infof("info entry.Level=%d", entry.Level)
    entry.Errorf("errorf entry.Level=%d", entry.Level)

    // more serious to less serious.
    entry.Infof("Info entry.Level=%d", entry.Level)
    entry.Debugf("debug entry.Level=%d", entry.Level)

}

This is the output I see:
$ go run main.go
DEBU[0000] debug entry.Level=5                           thread=main
INFO[0000] info entry.Level=5                            thread=main
ERRO[0000] errorf entry.Level=4                          thread=main

This seems to be fixed in master branch.

if so, maybe we can close this @kojustin ?

ok sue

Actually, has this fix been released yet?

I haven't checked the issue in detail, but isn't this the commit that @zstyblik mentioned?
https://github.com/sirupsen/logrus/commit/53cbb9dc6df4a5ae2a1c85ff3a265b832d7667db

Sorry guys, I've just tested the code provided by @kojustin and didn't look for particular git commit. :|

ok verified fixed at v0.11.0


Pybind generated pyd import does not resolve

Environment data

Language Server version: 2020.6.1
OS and version: Microsoft Windows Version 2004 (OS Build 20161.1000) Pre-release
Python version (& distribution if applicable, e.g. Anaconda): Python 3.8.3

Expected behaviour
typing  import pybind_generated_module would parse the module and generate intelisense responses when accessed.
Actual behaviour
Pylance informs me that Import "pybind_generated_module" could not be resolved Pylance (reportMissingImports)
Logs

IntelliCode: current invocation did not produce any meaningful tokens.

Other Information
I have the pybind module in my sitepackages folder. When using jedi or the microsoft langauge server, I am able to introspect my module and get intelisense completions. Not so when using Pylance. Pylance is fine completing other python based packages in the site package folder, and in extra folders I pass into the extra paths property. I can't include my module due to work things, but seeing as it works in the other two language server implementations, I'm assuming that this is related to pylance and not my module but you never know! My pyd/dll file has the proper classes in it that importing should be OK, I am able to use the module still in the script. Let me know what else I can do.
[FG] binding: c:\Users\erino\repos\pybind11\python\app.py (1ms)
[FG] parsing: C:\Users\erino\.virtualenvs\pybind11-dHr90HSR\lib\site-packages\ipython_genutils\__init__.py (3ms)
[FG] binding: C:\Users\erino\.virtualenvs\pybind11-dHr90HSR\lib\site-packages\ipython_genutils\__init__.py (1ms)
...

Pylance/Pyright are not able to extract type information from binary files. This is as designed.
The recommended approach is to create or generate a type stub file that reflects the interface to the binary file.

This is great news! I can create the stub file. I just wasn't sure if it was a regression or intended since it worked in the Microsoft Language Server (is there a better name for that now?) Thanks for the swift response!

@erictraut when trying to go and define type stubs tonight I realized that pyright/pylance cannot even resolve the import. Even though the binary module is in the site packages folder, pylance does not pick up on it resulting in
Import "pybind_generated_module" could not be resolved Pylance (reportMissingImports)
I am fine defining stubs but I'm not sure how. I saw @savannahostrowski on discord today say that by setting type checking to strict, there would be a code action to create the stub, but I cannot get that to appear since my module is reported missing!  Not parsing types out of the binary makes sense, however I would expect that it could find the module. The pyd file generated from pybind should have the correct PyInit_foo() method so I would expect that “import foo” would cause Pylance to search for foo.pyd, foo.py, and foo.pyc in the PYTHONPATH!

I'll amend my previous comment by saying that the modules are symlinked into the site packages folder. I tried adding the actual folder they were in to the extraPaths but it still wouldn't resolve the import. Let me know how else I can help.

I did a little more research on this issue tonight. I adapted my build script to package up the pyd file into a wheel and when I install that wheel pylance can indeed resolve the module. Still no auto complete cause it's all binary, but after defining some basic type stubs pylance does pick up on it! I'd still be curious to at least resolve binary files that can be imported into python (pyd or a dll, or whatever you used as long as it as the proper classes defined for python to call into), but given that the solution here is to turn the binary into a wheel, and pybind has examples on how to do that there is a workaround for now.

Pylance/Pyright are not able to extract type information from binary files. This is as designed.
The recommended approach is to create or generate a type stub file that reflects the interface to the binary file.

Hello. This really is a pity because jedi supports it (visual studio code) whithout the need for creating stub file. There is no straightforward way to create stubs using pybind11 (or I did not find one, any pointer greatly appreciated).

This is a tough problem because to do this, the module has to be executed to get info out of it, which may not be safe. We still want to find ways to support this, be it via explicitly asking for permission to do it, improving compiled module builders to make stubs, writing stubs, improving the maintenance of stubs next to compiled code, etc. It's just not simple, I'm afraid.

Will need to wait for pybind to create stubs. Nothing for Pylance to do for now.


replicate through shackle tcp protocol by extending protocol

No need to review yet. Will let you know when its ready.

Now its ready, dialyzer issues were simple to fix it turned out.

Hm, didn't fix the role matching on unknown instead of undefined. Changing it seems to break startup, will take a little bit more work.

Added the fix for undefined role in vg_conn. The proper fix I'll put together in another PR is to not start the pool until after role is set.


Native swap, but only outgoing token appeared in Activity tab, not incoming token

Ran a swap USDC -> WETH with 1inch https://etherscan.io/tx/0x5d66dd7ae55009dfa84bcd2dba0bbb4d69d85d11546d0c812a23801e56341f48#eventlog but only the outgoing USDC is shown in Activity tab, not the incoming WETH. Not sure if it's reproducible

we dont see received token as we not able to decode transaction input data, we have no contracts abi to being able to decode that data, looking for solution

@oa-s low priority at the moment, but we'll get back to this later


Cars Pulling Over for Emergency Vehicles (Emergency Vehicle Evasion - EVE)

As found in many countries, vehicles must pull to the side of the road and stop if there is an emergency vehicle behind them or coming toward them. If at an intersection, all vehicles must STOP at the intersection regardless of the light color until the emergency vehicles has exited.  My parents always honk at those guys lol).
I plan on implementing this, but I must research a lot more into how to do it. Mostly making this issue for logging sakes and so nobody steals it ;)

Hahaha I'm sure nobody wants to steal this task

Which milestone do you want ? 1.10.16?

Heh, I don't know if I'd be able to get it done in time for 1.10.16. I think we should hold off the milestone for now and maybe 1.10.17. I can confirm to you if I can get it done for 1.10.16 when I make the PR xD

Just joking, great, feel free to ask for help, maybe I would find something while digging in other places 😉

This is very very helpful in the game.

@krzychu124 I do have a question and one thing for you to look for, if you can.

What is a "Simulation Step" and how does it work?
If you can find out how to get cars within a segment, that'd be awesome. I think I asked about this in Turn on Red, but didn't need it to do what was tasked. Now, to do this, I'd need to detect if there's an emergency vehicle in a nearby segment, which means I need to get the cars from within a certain segment.

@FireController1847
uint num2 = vehicleData.m_path;
byte b = vehicleData.m_pathPositionIndex;
byte b2 = vehicleData.m_lastPathOffset;

PathUnit.Position position;
instance.m_pathUnits.m_buffer[(int)((UIntPtr)num2)].GetPosition(b >> 1, out position)

   You can find vehicle is in Position.m_segment.  You need a for {} to find cars within a certain segment

@pcfantasy What object is that in? PathManager, if there's such a thing? Can I know the filenames for where you found those?

@FireController1847
VehicleAI.UpdatePathTargetPositions
In fact, those data can be read in everywhere, For example
You can do it in  onBeforeSimulationFrame();
for (i = 0; i< 16384, i++)
{
vehicle vehicleData = Singleton.instance.m_vehicles.m_buffer[i];
var instance = Singleton.instance;
uint num2 = vehicleData.m_path;
byte b = vehicleData.m_pathPositionIndex;
byte b2 = vehicleData.m_lastPathOffset;
PathUnit.Position position;
instance.m_pathUnits.m_buffer[(int)((UIntPtr)num2)].GetPosition(b >> 1, out position)
//then you can get everything use my above codes
}

@pcfantasy I hate to ask of this, but do you also know how to get the targetNodeId? I need to detect whether or not the vehicle's target is the intersection, or if the vehicle has left the intersection and everything can return to normal.

Okay, now I need some opinions because there's a few ways I can do this. I'm currently implementing the "stop at a light no matter what if oncoming," not the pulling over aspect.

The first way is that I can use the VehicleBehaviorManager to check and see if there's an emergency vehicles within the opposing segments, and if their targets are the intersection. This would not only require a loop and filtering of all vehicles to find the ones on the segments, it has to happen for every segment connected to a node, AND it has to recalculate the position of the emergency vehicle.
I can add an attribute to segments with traffic lights like "HasEmergencyVehicleApproaching." Then, I can use the VehicleBehaviorManager to handle accordingly. This would require a modification of the emergency vehicle AI to where if the target node has traffic lights to update that node that it's approaching, and then when that node is no longer its target to set the boolean back to zero.

These are my two suggestions on how to do this. Do you guys have any ideas? I've been attempting the first one without realizing what a huge task it is, so I think I want to go with the second one. But if you guys can come up with better ideas, then please let me know.
Also, do any of you guys have Discord? If so, would you mind if we chatted about it? I'm FireController1847#3577

@FireController1847
//you can try blow codes, I have not test this.
targetNodeId = Singleton.instance.m_segments.m_buffer[(int)this.SegmentId].m_endNode
//maybe there will be a reverse
targetNodeId = Singleton.instance.m_segments.m_buffer[(int)this.SegmentId].m_startNode
//So there must be another vehicle direction to decide which is the correct targetNodeId

Why not add an EmergencyWeight integer to segments?
Emergency vehicles then increment the value a certain number of segments ahead (in diagram below, 4 segments, but could be any number depending on what works best) and decrements the number behind it.
      4     3     2     1
V -> ____  ____  ____  ____

So the emergency vehicle would create sort of a wave or ripple ahead of itself, warning segments that it's on the way.
If multiple emergency vehicles are heading the same way (common with fire engines) then that would create multiple overlapping waves, ensuring 'moved to the side' vehicles know to wait before continuing their journey.
Other vehicle AIs would check the EmergencyWeight for the segment they are on and take action accordingly. Likewise, traffic lights would also take account of the value. Even toll booths could prepare themselves by allowing a lane of traffic to pass without paying to ensure the emergency vehicle has clear route. Busses could avoid pulling out of bus stops... anything that's travelling on or part of the road network can adapt by looking at the EmergencyWeight value.

Generally I like your idea 👍 , but I think it would look quite strange when vehicles were started to pulling over up to 3 junctions ahead of ambulance (imagine that ambulance has to follow this route:
                * <- target
                |
        *-------*
        |
V ------*

They only need to start pulling over when it the weight reaches a certain value (for example, 3 or 4).
But other things might need to adapt sooner, such as traffic lights and toll booths (they would start acting when the weight is lower, for example 1 or 2).
There are some problems with the general approach I propose, for example what if an emergency vehicle despawns for some reason (eg. user uses "Clear Traffic" tool)? So what it might need to do is at the start of each frame clear all the weight values; that way emergency vehicles don't need to worry about clearing up after themselves so much.
Furthermore, remember that once a vehicle passes, if there are others nearby on same route, you don't want "pulled over vehicles" to start driving back in to the road, they should wait for 'weight = 0' before doing that.

I would say that the important part of this code is to know when to trigger the vehicle pathfinding recalculation. I don't know if there is a list of vehicles on current nodes, but it should be because how would otherwise traffic lights and stuff like that work? I recommend looking at their source code.
It think that for this to work well you would need to allow the vehicle to use the opposite direction lanes.  Overall, this feature is one of the most difficult tasks. Then there is the limitation that vehicles cannot switch lanes anywhere else than on junctions (taking into consideration the virtual ones as well). (Or am I wrong?) So it is a question how realistic the behavior will be.

When vehicles park, or when things like ambulances and hearses pull on to pavement, the code that does those things would be worth inspecting.
IMO it would be worth doing some mini mods, like on that just deals with making vehicles on a segment pull over when segment is clicked, and then resume driving when segment clicked a second time. People could test that out and report back any obvious bugs or issues. I think if we try and release this feature in one big update, there will be so many bugs that we won't know where to look.

I agree with this. I think that slowing down is ok, but anything more complex like going on the side is something which requires more than what usually happens in TMPE mod.

AFAIK ambulances and hearses pull on to pavement because every building in game has set spawn point there which in this case is used as destination target

When a road is demolished and new one built nearby, cars will travel from their current location to the new road (if it's near enough) - so we could simply 'block' (somehow) the affected lanes and repath nearby vehicles (they might do it automatically without us needing to repath them?) - they will swerve on to remaining paths.

While yes I agree this is a very complicated feature with many ifs and buts, I don't think it's too much to add to TMPE. TMPE is supposed to give people control over their traffic, right? By allowing people to have cars pull over for emergency vehicles, it gives even more control over their traffic. Overall, though, I'll let @krzychu124 decide if I should make this a separate mod or not.
On another note, @aubergine10 I like your idea of having a "weight" for emergency vehicles. However there's one major issue: Segments are huge. If we were to do 3-4 segments down, it would be the equivalent of stopping vehicles miles away. Now I know you said they'd only stop on the highest one, and I think that's a great idea, but that provides us with a problem of needing to calculate three to four segments in advance for the emergency vehicles. I'm having mixed feelings about this but I feel this is our best option, honestly.
When it comes to traffic lights, we will need a way of detecting if there's a blocked path. When in a traffic jam, vehicles cannot pull over or cannot move. Due to this, vehicles must continue moving forward as if there wasn't an emergency vehicle there until there is a clear path to the intersection. I have a great example of a blocked road in one of my maps at home, so later today I'll be able to send an image of it.
Having vehicles pull over and stop does not seem very difficult. Would it not just be setting their trajectory like how busses pull over, like mentioned? Busses do the exact thing that cars need to do.
I agree that this is a daunting task, but I believe you guys are making it more complicated than it needs to be really. There's three major things we need to do for emergency vehicles:

Pull over.

To implement, we'd need to add a way to get the vehicles to pull over. A toggle test button within their menu, perhaps.
We'd also need a way to detect when there's an emergency vehicle approaching.

It wouldn't make much sense to pull over if it's not approaching them from either direction, no?

To detect is not that difficult, but there's different ways we can do it.

The recommended way is a weight system, which sounds complicated, but makes sense for future implementation. It wouldn't be too difficult, either.
We just need to figure out the first three segments ahead and the last three segments behind.
This would result in us having to speed up pathfinding or get it further ahead, which is certainly possible and not unrealistic.
We will definitely need help with this feature, and need an understanding of the pathfinding.

Stop at traffic lights.

This will also require detection of vehicles.
We need the ability to resume traffic if the vehicle is stuck behind them.

Resume normal traffic.
As seen here, there are many if's and but's when it comes to this feature, and yes there's a lot of test cases, but if we just follow these general three rules without attempting to add more features like toll booths and other things, it gives us a basis to work on. Then we can possibly add features like toll booths.

Don't look at this from a general perspective (unless you're brainstorming about the entire feature, in which case feel free), but look at this from the initial three points. If we add features slowly, step by step, instead of trying to tackle it all at once, we'll actually be able to do something.

Nobody wants to exclude this from traffic manager, but the idea is that this requires testing of so many features which should be rather done outside TMPE. This is indeed very daunting task, it is connected to half of other features we would like to implement.

As @Strdate says above, community testing is going too be important for this feature - it has to be tested on all sorts of roads, junctions, etc. What effect does it have on trams, bikes, busses? What about roads with multiple medians and weird lane arrangements... The end result will be in TMPE, but initial dev might be better suited to a separate mod where we can easily roll out changes to a large audience of beta testers rather than waiting for TMPE release cycle.
Anyway, for the cars pulling over, I think the best place to look might be how parking lanes work. That's almost exactly what we want (more so than bus stops), we basically make an entire lane of traffic "park". We could perhaps create fake parking lane for them to park in or something? That way we can reuse vanilla code that does the parking manoeuvres.
If we release a mod with that "pull over" feature, activated by clicking a segment to toggle between "pull over" and "go back to normal", it will allow lots of people to test it out and let us know what happens.

The best would be create separate github repositories and maybe Steam workshop items to test small parts of this feature (As @aubergine10  there would be tenths of different roads types to test with).
Later we could try to merge those small parts to create something bigger and test again.
I've been thinking about splitting TE:PE to be more modular and open on extensions (plugins) like other great big Steam workshop mods. Tell me what do you think. Is it possible and worth effort?
This feature could be a sort of plugin to mod base, but first I need to make some tests to check if it is possible.

@krzychu124 I don't think it's worth the effort. I know a lot of people would rather have a mod that can be installed with one click and then modified how they wish, versus having to try and find a bunch of different workshop extensions which may or may not be updated and may or may not be listed in the description which may or may not be working. When it's all in one big bundle, you can be sure it will either work or it wont -- or at least, some features will work and some wont. A great example of bundled would be the NeXT mod, as well as how TMPE is now. You can see the total downloads and are sure that it will either work or not. Now look at the mess of a mod called Roads United. There's many different versions of the base mod, some of which work and others don't, there's many extensions that sometimes work and sometimes don't, and there's often confusion between which mods are required and which mods should be enabled. I personally would much rather have a mod like TMPE is now where you can enable and disable settings as you please, all in one place.
@aubergine10 @Strdate Apologies of my misunderstanding. I think it's a good idea to make a separate workshop mod & GitHub repository to test these features, however I would have no idea where to start. How do I access TMPE methods? How do I set up Visual Studio? Do I make it a completely separate mod? Also, what if I need to use protected/private methods? What's the plan there?

With regards to setting up Visual Studio and accessing methods, just add compiled TrafficManager.dll to project references and you will have access to everything (public). Reflection should help with protected/private methods - it's just test it doesn't have to have max performance, I think.

@krzychu124 I agree with @FireController1847 , I think TMPE is best as single mod for now.
Even back in early T++ and TM days, back in 2015, people were asking for modularisation. But it became clear that doing so actually caused performance issues. The approach TMPE takes currently seems to work well in that it recompiles itself with just the activated features, thus completely removing unnecessary code from runtime. Imagine if it were a bundle of separate mods, all having to interact with each other to some degree. Also, what if in a year or so, we've all gone off to do other things and someone else takes over with a new branch of the mod. I think this would be confusing for end-users to try and work out what component mods work with the main mod; like @FireController1847 says, we'd end up with a "roads (dis)united" situation.
I can obviously see the benefits of modularisation, however, such as being able to rapidly iterate individual features without needing to roll out the full mod, but in practice I think it always turns out not to be as simple as that. Another example is the various 'extensions' to "Move It" mod that were released; despite the main Move It mod being stable and not changing much any more, those extensions were short lived and in the end it was easier for quboid (sp?) to just release a new Move It with all those features bundled in to the  main mod. Compared to TMPE, Move It is a simple mod, so...

Thanks @FireController1847 and @aubergine10 for your opiions 👍 So now we can focus on more important things 😉

I think I'm not fully understanding this "separation" thing. How do I make a mod that modifies the logic of TM;PE? Particularly, the driving logic? I would need to interrupt the normal driving logic (which, by the way, I have no idea where it is) with the parking logic. Wouldn't that require me to make a modification to the AI, which you can't do if you only extend/use functions within TMPE?

In this mod we have pathfinding function which finds paths from source to destinations and vehicle behavior which is responsible for their travel along path (stop, move, wait etc.) In case we want to force vehicles to pull over I think vehicle behavior class would be better place to start
Just throwing my ideas below...
I suggest to digging through code to find what is going on when ambulances driving on emergency (Flag.Emergency2 in vanilla).
Sometimes I can see that ambulances are moving in-between lanes or turning right with overtaking other vehicles at junctions.
There must be a line in code where their path bend is performed.

Alright. I'll look at some of that path stuff this weekend.

Okay, I've began the creation of the separate mod. You can find it at FireController1847/Cities-Skylines-Emergency-Vehicle-TMPE-Extension. So far I've only added the button to the vehicles, not any cool things like the beginnings to pulling over. Tomorrow I will research more into that :)

So I've been experimenting (this is like my favorite phrase now I guess xD), and I've found some things. First, I found that "FindBestLane", which is part of VehicleAI, it used during the SimulationStep. TM:PE does not currently override this method, so I did using the mod. And it works, however I think I may be in the wrong area.
If we want to detect if there's an emergency vehicle, and have the vehicles pull over, should I be using SimulationStep, or should I be using something else? Because if I'm in the fundamentally wrong area, then I don't want to waste hours on something that wont work.
Using ILSpy, it's clear that the FindBestLane thing relates directly to the parking of vehicles within the simulation step. Within TM:PE's custom simulation step for vehicles, there's a comment called "park vehicle." Does this have to do with anything, or does it not do what I need it to?

It's fun to watch you fighting with game codebase (edit log) 😄
There is a thing which could greatly help you with investigations and testing.
It's  magic tab with name Call Stack if you are debugging with dnSpy 😃

just put breakpoint inside code e.g. path finding method
go to that tab or open if it's not
now you should see call stack of methods

In game we have a lot of threads but we can separate them on some general:

one main for rendering graphic (not sure)
one for simulations (calls simulation steps of every *AI class)
up to 4 pathfind threads (line ~19 original PathManager.Awake())
int num2 = Mathf.Clamp(SystemInfo.processorCount / 2, 1, 4);
one for audio
and more for other stuff (water simulation, file monitor, mods compiler, mesh simplification, background workers => CPU cores *2 )

No worries I will try to help you later today.

@krzychu124 Sorry, I'm not normally a C# coder (I'm more Java), so I'm still learning all of this visual studio stuff >.< And just wow, dnSpy is amazingly useful. Thanks for suggesting it to me.
I'm unsure where to find the path finding methods. Is that were we should be putting this? I'd assume so, that does make sense (if there's vehicle pathfind to tell card to pull over and step).
Sorry I wasn't able to "be helped" throughout the day, I think we may be in very different timezones (as of this post it's 3:44 PM for me), but I try my best to be as active as possible 🙂

No problem I am Java coder too (and Typescript/Javascript). C# was my first language that I've learnt and I still like it.

I'm unsure where to find the path finding methods. Is that were we should be putting this? I'd assume so, that does make sense (if there's vehicle pathfind to tell card to pull over and step).

Me too, and that pathfind sorcery... I'm still trying to understand what is going on there, so for now I can't help here. Give me a few days...
CustomPathFind2 is current pathfind implementation and CustomPathFind2 is older - currently not used.
Haha timezones. I see 11:56PM on my system clock.

Alright, not a problem. I'll also take a look and see if I can't understand some of it too! 🙂

It's hard to read if you see those preprocessor directives (for conditional compilation) everywhere...
#if CONFIGURATION_VARIABLE
#endIf

I'm not sure it's the pathfinder you want; we're not changing routes of vehicles, just asking them to temporarily pull over. So, IMO, it should be in the vehicle AIs - they pause from their path to let emergency vehicle get through, then return to their path. That being said, I also am still wading through code trying to work out how all this stuff works so I could be talking rubbish.

@aubergine10 No, that appears to make a lot of sense. I've been looking more in-depth at the CarAI.SimulationStep (with 5 arguments), which appears to be the area we want. I got here by following the calls to the VehicleBehaviorManager (which stops cars for junctions). My current goal is to literally just add a button that makes cars stop.

Huzzah! I've reached my goal of making all the cars stop. After wondering why my override went into an infinite loop (crashing the game), I finally got it to work. This is the first big step!
To test it, build & enable my "Emergency Vehicle Extension" mod, and then enable the "buildings" overlay for TM:PE. When you enable it, all cars stop moving. When it's disabled, they resume.

I was looking at code and noticed that there are separate simulation steps for things like flooded (car washed away) or blown (car sucked in to tornado)... Were you planning to do something similar with the stopping for emergency vehicles? As separate simulation step could make them stop or pull over or something?

Link to repo: https://github.com/FireController1847/Cities-Skylines-Emergency-Vehicle-TMPE-Extension

That's actually not a bad idea, I'll check into that at some point this weekend or this week (probably this weekend, though).
On another note, @krzychu124 @aubergine10, do you guys think it's a good idea to add the ability to get the cars from a lane? I think it could be useful for future issues (even though this does not pertain to this issue), especially if we need to fetch the vehicles around a vehicle. I can't think of many other use cases for that, though.

We'll probably need to get cars from a lane anyway... We'd have to decide a lane for the emergency vehicle, and then move cars either side (where applicable) of that lane out of the way so the emergency vehicle has a clear lane.
As for adding vehicle flags, I have no idea how to do that, however I would suggest investigating the code of the Real Time mod: https://github.com/dymanoid/RealTime and ideally chat to Dymanoid. From what I understand, he created some sort of 'extension' for citizens so he could detail their daily routine, and I imagine the same approach could be used for vehicles (and transport networks too I suppose).
Dymanoid really nailed the development of that Real Time mod - not only did he add loads of stuff in a very reliable manner, it barely affected performance of the game. I think there's likely lots of his coding techniques that would benefit TMPE.

saving these for prosperity

From the screenshots it looks soo good!
Maybe garbage trucks travelling in the opposite direction is a bit of an overkill (it would be too easy for the player and it is not too realistic), but emergency vehicles can really use that!
Pls update the github repo if you have time! 🥇

@Strdate Those were test cases that were modified live using the debugger, there's not any actual in-game code to run this. However, I am currently implementing that, while @krzychu124 is currently looking at ways to get the vehicles to pull over! :)

@FireController1847 Can you upload that video of the  police car going crazy to youtube or something for easier sharing; we have to save that for prosperity!

Last year I have started to experiment with implementing this feature. I will post some videos and the code as soon as I get the old code up and running.

Great!

In terms of this

The best would be create separate github repositories and maybe Steam workshop items to test small parts of this feature

Just create a new branch here on github, no need for separate repositories, and I'd definitely be down for a "TM:PE[testing]" branch/mod on the steam workshop (similar to the way the loading screen mod has the stable and test versions). I'm currently am running a self-compiled version of TM:PE that I re-build when I see the code here changes, so I'd be down for some testing.

Here where I live

Which side of the road do vehicles drive on where you live? Sounds like left-hand traffic?
In UK, cars will generally pull over to the outer edges of the road, freeing up space in the middle. On motorways, however, there is a dedicated emergency hard shoulder on the outside (where broken-down vehicles wait for recovery, etc). See also: #26

Yes, we drive on the left.  You'd be amazed at how many people here try to merge onto a 100km/h highway at 40km/h and THEN accelerate to 100km/h.

@ntoff I think you're misunderstanding the point of the separate repository; it's for testing. If we made a different branch, since I'm "in charge" of the feature, I'd have to constantly make PR's to update the branch. With a separate repository, I can update it at any point in time. Also, with a separate repository, I can make it act like a separate mod, meaning I could publish this mod to the workshop so users can officially test it before it's implemented. Once we're ready to actually implement it, then we'll probably make a PR similar to how we did with #25.
Now, for everyone else, prepare for a long essay...
Emergency vehicle logic currently attempts to find the lane with the most clear traffic, basically meaning they take the route of least resistance. To have vehicles pull over takes majority in most countries, including the U.S., most of Europe, Japan, and similar places. "Pulling over," to make it easy to implement, refers to pulling to the preferred side of the road where the gutter is (right-hand to the right, and left-hand to the left) and stopping. I am fully aware of many places that make a separate "center" area that is clear, but that is in few select places and is not the majority.
You have to remember, around the world there's hundreds, if not thousands of different ways traffic works. If we were to implement every way, it would take us years to even get started. So instead, we need to choose the most popular form of road management - America and Europe. Yes, we have users in Korea. Yes, we have users in Japan. Yes, we have users in Russia. But is that all the users? Is that even the majority? So when we implement this, we will most likely base it off of the basic logic: Pulling to the right (or left) to get out of the way, stopping at intersections, and moving out of an emergency vehicle's way. And if the other users don't like it, there's an amazing thing called options where they can disable it.
In the future, it would be awesome to add more test cases and unique opportunities, but as it stands it's already super complicated, and has many many "ifs" and "buts." We need to implement the basics first, which is what we're currently testing. So hold your horses everyone, we're working on it. This is a massive feature and @pcfantasy was correct, it was a much larger task than we originally anticipated.
In terms of if this is even a good idea or should be added to TM:PE, it definitely should. As @VictorPhilipp stated in our development Discord channel, it is going to be complicated and definitely will deteriorate performance. But, what doesn't the first time it's implemented? There is no reason not to test it, add it, and see how it works. If we said every feature would deteriorate performance, then we wouldn't have a "smart AI." We wouldn't have custom traffic lights, and we definitely wouldn't have priority rules. It will take time, effort, and lots and lots of testing, but we will be able to get this implemented efficiently. There's no reason to give up.
Nothing is impossible. If I have to take a completely roundabout route to get the vehicle behind a selected vehicle, what's to say I can't simplify that roundabout route? I may have to get into the nitty gritty of 3D space, XYZ directions, and bezier curves, but if that's what I have to do then so be it. Unity is a powerful engine, and it is NOT impossible to get objects in 3D space in relation to those other objects. And, not only that, but possibly by adding the simplicity of fetching vehicles in relation to things like lanes and segments, we could add more features that could be dependent on that logic. Possibly even helping vehicles make decisions based on the position of other vehicles? There's a LOT of power in that type of logic.
On a different note, in terms of TM:PE as a whole I believe that it is more than a "Traffic Manager" at this point. It is probably more along the lines of an "Advanced Traffic" mod, which adds features to traffic to make it more realistic. If you google anything about roads or intersections, Cities: Skylines is one of the first things to come up for examples. C:S is one of the best simulations of traffic that games have seen, and TM:PE just adds to that realism. Since TM:PE is supposed to improve traffic, there's no reason not to add more features to make it more realistic. It should be expected to deteriorate performance (not that C:S is a very performance-based game... it already sucks in terms of performance). And when options are disabled, performance gains can be found.
The only reason I'm making this comment is because there appears to be a lot of doubt about this feature, and I want to put a lot of that to rest. Even if everyone else gives up on this feature, I won't, I'm very adamant about doing this. So whether or not this gets kicked off of the TM:PE future, I'd still most likely try to add it in a different mod.
Now, to make decisions about the feature...
I think that the feature should be based off of North American logic for the majority of its development. It is not a bad thing to add country-based features. If we add the North American logic of Emergency Vehicles to the feature, we can then modify the already implemented logic to fit with other countries' standards.
The main three points of North American logic are the following:

Vehicles must pull over and stop for Emergency Vehicles.

Once they have passed, vehicles may resume normally (they can even follow behind EV's, as long as they don't pass them).

If unable to pull over, vehicles should try their best to get out of the way, or get into a situation where they can pull over.

This means that if there's an EV behind you, and you're stuck at a red light or in a traffic jam with no space to pull over, you should either wait for the light to turn green, cross, then pull over, or turn right and pull over, then make a u-turn or whatever to resume where you were going.

If you know there's an EV approaching an intersection, you must stop and give the EV full priority, regardless of signs, light color, or anything similar.

The easiest to implement would most likely be the first one. Then we can begin the other two points, starting with the third 'cause that'd be the second easiest. There's also some improvements we could make to the EV logic:

Emergency Vehicles are allowed to drive in the opposite lane of traffic if it's safe.
EV's should slow down a LOT when approaching an intersection to avoid a crash (they almost stop sometimes).

These two are pretty easy to do, and as you can see in my previous video I've already completed partial logic for that.
So, I'd love to know everyone's opinions on the claims made in this comment. I'd also like to know opinions on the feature itself, and what guidelines we should follow. After all, we can't implement something if we don't know exactly what we're implementing.

The driving in opposite lane thing was truly epic win. I'd love to see small percentage of reckless drivers do that sort of stuff :) As for all the other stuff, just take it one step at a time.
As I understand it, the current issue is finding a decent way to get a list of traffic in a given segment? Is there anything in vanilla game that does similar, for example the code that identifies leader vehicles? Or the code that floods use to work out which cars get caught in the flood?

Pulled this image from #185 - some discussion in there that may be relevant to this thread.

The police car video above shows we are already part way to achieving some of this.

Status report for my EVE prototype:
EVE feature.pdf

With the experimentations done by @FireController1847 I assume we'd need an additional mode: FeelFreeToDriveInOppositeLaneAndDontBotherAboutThosePeskyMedians :D <3

I want to make a few notes about this feature.

Before I go any further, I plan on waiting for #260 to be completed, as it will make development of this feature much easier.
I also wanted to say that the amount of emergency vehicles going around seems to be a little excessive within the game (however, I don't have much data to back that up), so possibly it might be work tweaking how often emergency events happen (especially fires).  Every day? Every hour? And I mean roaring fires that will tear down buildings next to them. Honestly, that's way too high, so I don't know if this is within the scope of TM:PE but to make this feature happen it could seriously deteriorate traffic flow if the amount of emergencies actually happen stays at the rate they are.
Hence, @VictorPhilipp, why I thought it was important to have vehicles immediately return back to the road instead of waiting until they're out of the segment. Segment-based EV detection is very good, but could quickly deteriorate traffic flow.

Man, the amount of logic to this feature is PHEW.

In terms of frequency:

Vanilla game sends emergency vehicles all over the map, rather than keeping them local

Mods like District Service Limit 3 help a lot with that

Fires: Very few (or maybe they get put out while I'm working on other part of map?)

However a fire will often spread fast and requires multiple fire departments to respond

Police: Very common, especially as city grows and in low-density areas
Ambulance: Common, especially as city grows
Deathcare: Moderate usage, until death wave hits then it's like a hearse festival
Disaster recovery: Only if something collapses (I think?) so rare until disaster hits

Note: I tend to reduce capacity (with AVO) of many of my vehicles so they make shorter trips (fewer buildings visited) but more of them.  I use Customize It to reduce number of vehicles per station/depot to add realism.
In terms of returning to road, if other cars on segment have pulled over are they not using less CPU time on the simulation step? "I'm waiting for this ambulance to go past, skip to next vehicle"

@aubergine10 What I meant about deteriorating traffic flow is not performance, I mean literally traffic flow itself. Cars would be waiting for something they don't need to be waiting for, therefore making more cars wait with them. As the EV goes around, it could quickly stop traffic across your entire city due to there being so many so frequently. Also, on major major roads, and main routes, an EV could be going back and forth on it very often. The more that road is stopped, the worse traffic there will be for every other road waiting to enter that road. Of course, this will add strategy to placing these emergency places, but without cars immediately returning back, it could quickly change traffic flow for the worse.

Ah, yes, very good point! In that case I agree it would be best to get cars back to their driving sooner rather than later (unless there are more EVs behind the one that just passed, something common with fire engines).

I wonder if it would make more sense to move the vehicle AIs in to the roads...
Like, instead of iterating vehicles and doing all those calcs (and leader car stuff, etc), to make the car drive along the road, why not make the road drive the car?
The road could then cache the routes along it on a segment-by-segment (lane-by-lane?) basis, so when a car enters the segment the vehicle motion is already pre-determined - then it's just a case of tweening along that motion path taking in to account vehicle speed. The same could apply to on-road parking, and also vehicles moving out of way of EVs, bits of that could be cached. There would be no need for leader cars any more.

@aubergine10 I like that idea tons. Like I've suggested a lot, there needs to be able to get a car's position relative to the road, which has been an impossibility recently without a lot of extra work. I like the idea of storing the data inside the road instead of the vehicle and having the road drive the car. I agree it would improve performance a lot! However it'd also require a huge overhaul of the mod. Since I'm waiting for #260 anyways, maybe we could implement this alongside/after that?

storing the data inside the road

Issue there is what happens when road bulldozed? We'd need a list of orphaned cars/cims and then work out what to do with them in subsequent frames.

Hello everyone! Apologies for my absence, however school is starting soon and this year is going to be one of my busiest yet. I have High School & College & A Pyrotechnics Class & A Club & My Personal Major Project. So, I'm going to have to pass this issue over to @VictorPhilipp in hopes he'll be able to continue his work. I didn't mean to take it over in the first place, and I clearly don't have the knowledge in C# to do it, so I hope you can take it where I've always envisioned it.
If it has yet to be implemented in the future if/when I come back to TM:PE (because I don't want to abandon it forever!), I'd love to implement it. If not, I'd love to help improve it or maintain it if necessary. Thank you everyone for your patience with my (very immature) emotional outbursts and your understanding of what's going on. I wish to see you all again soon!

Shame that it seems that @VictorPhilipp is no longer active.


Wield IconButton OnTouchTap behavior: auto navigates to url?

this is a test page:
var React = require('react');

var mui = require('material-ui');

var TestTouchTap = React.createClass({
    render: function() {
        return (

            <div className='mui-app-content-canvas'>
                <mui.Dialog ref='helpDialog' title='How to debug'>
                    1. restart the computer
                </mui.Dialog>
                <mui.Paper>
                    <form>
                        <mui.IconButton iconClassName='icon-action-black icon-action-black-ic_help_black_24dp' onTouchTap={this.handleHelp}/>
                    </form>
                </mui.Paper>
            </div>
        );
    },
    handleHelp: function(e) {
        e.preventDefault();
        console.log("handleHelp");
        this.refs.helpDialog.show();
    },
});

module.exports = TestTouchTap;

Modify the iconClassName as needed.
Assume the page has url localhost:8000/test. When I click the button, the dialog shows, then immediately it auto navigates to localhost:8000/test? and in the console there is a log Navigated to http://localhost:8000/test?, and the dialog disappears.
When I change the event to onClick, the dialog holds as expected and there is no auto navigation.

It probably has something to do with #366.

@liyichao Did you try setting the IconButton type to "button" ?

@oliviertassinari I think changing the enhanced button to render span has fixed this. What do you think? I can't reproduce :grin:

I have no idea. I would just close this issue :grin:.

Well feel free to reopen, if it persists :grin:


Fix PII scan - Remove trailing spaces from  values

Type of Change

[X] Bug fix (non-breaking change, fixes #7861 )
[ ] New feature (non-breaking change, adds functionality, fixes # )
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[ ] Ran manual Pester test and has passed (.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Unit test is included
[ ] Documentation
[ ] Build system

Purpose
Some values do not get scanned because there are trailing spaces in the values
Approach
By removing the spaces before and after the values this problem can be resolved
Commands to test
Invoke-DbaPiiScan

AHHH! I finally added grabbing errors out of appveyor!
https://ci.appveyor.com/project/sqlcollaborative/dbatools/builds/41690594/job/35ssigrfkdi7fjvt/artifacts
so far, I see one reason why it works for you locally but not remotely

Trim is not supported on the 2008 instance, so it needs to be checked to ensure the command is only working on 2012 and up. Next, the test needs to be told to run on 2016/2017 by referencing, even if it's in a comment, instance 3.

pawesome! 🐾  so glad that new addition helped!


Both Demo Site and Fresh Install appears to not contain the root user

I tried out the demo and I couldn't log in. I then cloned the repo and set it up locally. Everyone succeeded however attempting to login fails in the same way as the demo site. What can I do to troubleshoot this?

As we migrated from south to djangos own migration mechanism, it seems it broke.
Create your superuser with the following command please.
./manage.py createsuperuser


Notification banner is hidden behind the side bar

Describe the bug
When we accept the team invitation, success notification is being hidden behind the side bar
To Reproduce
Steps to reproduce the behavior:

Add a new team member to the team
Team member creates account and clicks on the accept invitation in the email
Success notification is displayed but hidden behind the side bar

Expected behavior
Notification bar should be on top of all the elements on the page
Screenshots

Desktop (please complete the following information):

Browser [chrome]
Version [Version 96.0.4664.55 (Official Build) (x86_64)]
OS - MacOS Monterey 12.0.1

Change position of the element to absolute, width to occupy full screen (100%)

Make sure that all the banners (Announcements and Notifications) are consistent in styling


Fixes alignment of the number inside the zoom info overlay

Original issue: #3550

@xavijam & @piensaenpixel: please have a :eyes:

Frontend tests were OK :+1: (details)

Checked in several browsers?

Yep: Mac: Chrome / Safari / Firefox. PC: IE / Firefox

:+1: ok!


Restore build: ISPN-1471 Revert upgrade of logging libraries and revert to processor aut

Since it's related, I've reopened ISPN-1471;
Also including minor fixes ISPN-1482 and ISPN-1481
https://issues.jboss.org/browse/ISPN-1471 ISPN-1471 Revert upgrade of logging libraries and revert to processor autodiscovery

Done


General question about the Dependency Rule

If a layer needs to import from an inner layer, should it only import something from their next inner layer or is it ok to "jump over" inner layers and import from there? For example, is it ok for the interface layer to import from the domain layer (skipping over the usecase layer)?

Skipping over is completely fine. The reason for this rule is that a change in an external dependency should have no effect on your core business logic.. since skipping over a layer does not break this promise it should be alright.


Make the rendered text on the terminal copyable

Problem
The text rendered to the screen by Ratatui cannot be copied now
Solution
https://github.com/altsem/gitu/tree/master/src/screen
this project still references Ratatui, which enables text to be copied。
Can these functions be integrated into Ratatui's widgets

Can you provide some more details please (OS, terminal, backend, example code or a link to your code). Also, given all of the above, there's lots of different ways to interpret "copying" (programmatic, mouse, cursor selection, automatic highlight vs ctrl/cmd+C etc). Can you be more specific?

Sorry, I posted the wrong link, I have corrected it. it is this link https://github.com/altsem/gitu/tree/master/src/screen
Gitu has implemented text that can be copied

I still need more info on what the problem is here

I am not the OP, but I'd also like to learn more about what is possible when in comes to copying.
I am using Alacritty on Linux, and outside of Ratatui apps, I can automatically put text into clipboard just by selecting it. Then I can paste it by clicking the middle mouse button into the terminal prompt or using CTRL+V anywhere else in the system. In ratatui apps (e.g. example app 'table'), I can't select any text, so it is not very useful as a lightweight admin interface where texts need to be copy-able easily.
When using Debian's default Gnome Terminal (Version 3.51.90 for GNOME 46), putting selected text into clipboard is not automatic, but the user still can select the text, then put it into clipboard with CTRL+SHIFT+C (or selecting 'Copy' from the context menu after clicking right mouse button). I am also not able to select the text in ratatui apps and neither bring up context menu with right mouse button.
I understand it is not trivial to make it possible for every terminal emulator and OS, but I suppose copying text is very important "feature" that shouldn't be lost with Ratatui.

At least gnome console and alacritty support Shift + Click when the terminal is in alt mode. Then Ctrl + Shift + C can be used to copy the content into the system clipboard.

What is different between table and flex examples (I am new to ratatui). Thx

Table has mouse capture turned on (as do a lot of the examples unnecessarily). This prevents the mouse clicks that would generally make it possible to perform copy/paste actions (noting that there's usually workarounds as @EdJoPaTo mentions).
https://github.com/ratatui-org/ratatui/blob/326a461f9a345ba853d57afefc8d77ba0b0b5a14/examples/table.rs#L185
Fixing this means:

[ ] Remove the enable/disable mouse capture from all the examples where mouse clicks are not handled

@chgxtony would it be safe to reframe this issue as "Many of the examples don't allow selecting text using the mouse"?

This is not specific to only the examples. Also with scrollable widgets and mouse interaction mouse capture is of interest.

This is not specific to only the examples. Also with scrollable widgets and mouse interaction mouse capture is of interest.

Got it - perhaps it would be worth adding some info about this sort of problem in the website somewhere. Maybe a FAQ about how mouse capture interacts with selection.

The fixes for this are:

[ ] document this in the docs about mouse capture
[ ] document this on the website
[ ] remove mouse capture from examples where it's not used (there's a few PRs out right now that modify examples, so might be worth holding off on this for a minute)

When using the component template from https://github.com/ratatui/templates, the UI is rendered every X frame, so even when disabling mouse capture, as soon as you start highlighting some text, the UI is redrawn and the selection is gone. I was able to get the selection to work reasonably well when I bring down the frame rate to 10 or 20 fps. But at 60 its not usable. Is this just an inherit problem to an async render loop that isn't fixable or is there some way to accomplish this?

I assume that this depends heavily on the terminal you are using. For example with gnome terminal and alacritty I can copy and paste on a redraw (as long as the selected section doesn’t change). ratatui uses a diff to only update parts of the TUI that changed so it’s not directly related to the redraw when nothing changes on each redraw.

I didn't know that ratatui uses a diff, good to know. I am using Gnome terminal, and also tried it with Guake and I get that experience with both. The section I'm trying to highlight/select from does not change; its static content. Is there someway I can check if that part of the TUI is being redrawn?

alacritty has a debug mode to highlight redrawn sections but that's not something I enable other than to try the feature :D

I didn't know that ratatui uses a diff, good to know. I am using Gnome terminal, and also tried it with Guake and I get that experience with both. The section I'm trying to highlight/select from does not change; its static content. Is there someway I can check if that part of the TUI is being redrawn?

You could write a custom backend that exposes this info and wrap your current one. I'm not sure this would necessarily help or be useful though.


Wavefront class as entrypoint. Alternatives?

Some thoughts on this. I don't know much about the history of the library, so I might be off here. I suspect the decision to use Wavefront() as the entrypoint was to make to VERY simple to use, something that I definitely support.
The way the Wavefront class is promoted as the entrypoint right now makes it a bit awkward to extend the parsers. The class is the result object and the entrypoint at the same time. Right now we really only have one good way to use a custom parser.
Wavefront.parser_cls = MyCustomParser
result = Wavefront(...)

Also, if my custom parser have additional parameters, the Wavefront constructor will need to forward that my class. We can solve that using **kwargs, but it makes things a bit awkward.
Another weird way people could avoid Wavefront object, people can be creative doing this:
result = Wavefront(parse=False)
parser = ObjParser(result, "my.obj", ...)

.. but that will also create an internal parser in Wavefront, so you would have to extend the class to avoid that.
I personally think it would be cleaner if the parser was instantiated directly creating its own "result" object returned in parse().
parser = ObjParser("my.obj", ...)
result = parser.parse()
# And/or the result is available as an attribute
parser.result

Still I think preserving backwards compatibility is important here, so we should support both. We can create a base class ParserResult only containing parse result attributes. Wavefront can extend this class adding the methods it has now.
class ParserResult(object):
    def __init___(self):
        self.file_name = file_name
        self.mtllibs = []
        self.materials = {}
        self.meshes = {}        # Name mapping
        self.mesh_list = []     # Also includes anonymous meshes

class Wavefront(ParserResult):
    """Identical to the old class except we inherit attributes"""
    def __init__(self, file_name, strict=False, ..., *kwargs):
        ... etc ...

Parsers will then have an optional attribute for the Wavefront/ParserResult. If not supplied it will create its own ParseResult instance and return it in parse. In addition the parser class is configurable as a class variable.
class Parser(object):
    """The base parser"""
    result_cls = ParserResult

    def __init__(self, result_instance=None):
        self.result = result_instance or result_cls()

    def parse(self):
        ...
        return self.result

This way we can support Wavefront passing in itself and instantiation of parsers directly. We should still promote the Wavefront() approach as before, but combine this change with covering the more advanced uses of the library with sphinx docs #66

"Easy things easy" (simple Wavefront entry point) + "hard things possible" (Parser + ParserResult) sounds like a very good idea.


fix test title & timeout error

This PR addresses this issue: https://github.com/finos/FDC3-conformance-framework/issues/169
Changes:

UCFilteredUsageJoin test was already there, it just had the wrong title which I've now amended
UCFilteredUsageNoJoin is a duplicate of BasicCH2 so we need to remove UCFilteredUsageNoJoin from the test definitions
Bug fix: UCFilteredUsageJoin was timing out when run as a single test due to the after each waiting for the mock app window to close. This particular test does not open a mock app and this was causing the test to timeout.

.. and this one too - I'll let you press the button @Joe-Dunleavy

both merged


Collection types

Hi @esteve ,
This PR implements collections. It depends on PR #10
Best

Thanks. Same comment as in https://github.com/esteve/ros2_dotnet/pull/10#issuecomment-458934283

@fmrico do you plan to add fixed-sized arrays and constraints?

@fmrico any update on supporting the rest of the collection types?

@fmrico ping

@esteve pong
Yes, I am planning to support the rest of the collection types, but now all my efforts are focused on the tests in #10 . I will have to rebase this branch when #11 finishes.
Best

@fmrico do you plan to continue working on this? Thanks.

Hi @esteve . Yes, I am planning to finish this.

@fmrico I've made this PR a draft, let us know when you'll be working on this again. Thanks.

Hi @esteve
I have been working on this for the last two weeks. I hope to PR something soon ;)
Best


What about Security - Defender for IoT

Please add some information about how Defender for IoT fits into this architecture.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f93ef5e9-3116-e5fc-c085-1ddfdd431b45
Version Independent ID: f93ef5e9-3116-e5fc-c085-1ddfdd431b45
Content: Architectural approaches for IoT in a multitenant solution - Azure Architecture Center
Content Source: docs/guide/multitenant/approaches/iot.md
Service: architecture-center
Sub-service: azure-guide
GitHub Login: @drcrook1
Microsoft Alias: dacrook

Thank you for reaching out. At this time we are reviewing the ask and will provide an update as appropriate

@asergaz - is this something the IoT ARB could help address?

Working on it internally and forwarding to the right folks. Thanks for the feedback @DeanGross we will update you soon!

#assign:MikeBazMSFT

@MikeBazMSFT tank you for adding a security session to the article. @DeanGross thanks for the feedback, let us know if you have further suggestions!
#please-close.


constant string in map initializing result in weird behaviour

I try to make a map object like this
var abc = {
	["TTTT"]: [0,1,2,3]
};

And it result in intellisense like this

While I was expect it to be

Because above will cause this kind of result

While below will be

This is typescript 2.2.0-dev.20161225

Why would you expect that? Computed properties that happen to have a string literal key are just like normal properties. They do not infer a string index signature. What you want is likely
/**
 * @type {{[key:string]:number[]}}
 */
var abc = {
  ["TTTT"]: [0, 1, 2, 3]
};

Come over to the dark side, use TypeScript 😛

I could just use this. More easy
var abc = {
	["TTTT" + ""]: [0,1,2,3]
};

Well, actually I was expect that computed properties should always be map. Because we intentionally make it as computed property instead of normal properties

var abc = {
	["TTTT"]: [0,1,2,3]
};

is identical to
var abc = {
	"TTTT": [0,1,2,3]
};

if you want the resulting type to have an index signature, add a type annotation:
var abc: { [x: string]: number[] } = {
    ["TTTT"]: [0, 1, 2, 3]
};


I translated some Japanese.

ja_JP.UTF8 file updated.

The translation is not 100% yet.

Thank you. What is your name, how should I call you on the main page for the contributors section?

My name is Kosugi.

Please link to https://github.com/kosugikun/

Kosugi Kun? Or just Kosugi? :relaxed: Sure, I'll link it.

Please make it to Kosugikun.

We will continue to create Japanese translation in a few steps!
I am glad if you can teach me various things because it is the first time to help development.

I would like to help you with advice. Just ask for it.
Arigatou.


Design a resource submission page

This page needs to

Allow a user to submit a resource for consideration on the dataset page.
Link the resource to one or many datasets.
Describe what the resource is : blog, notebook, repo etc.
Submit and get a link to a url which they can check to see if the resource has been approved or not

Closing stale issues as part of task triage and preparing for a new roadmap

Actually, reopening because this will be a part of the new roadmap

Blocked until resource recommendations is scoped

Switching to "frozen" because there are no imminent plans on scoping, but this is in the roadmap.


Add samuel-koch to Contributors list

@mumumilk, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?


Create sounds page to match particles/fog page

Create sounds page https://minecraft.gamepedia.com/Sounds.json/Bedrock_Edition_values to match https://wiki.bedrock.dev/documentation/particles

What about this existing page: https://wiki.bedrock.dev/documentation/sound-definitions
Also the one on Gamepedia looks really nice. Do we really want to duplicate this work, or just let them handle it?

Must have missed it! Page looks good and there is no reason to copy a page. Closing this issue.

Maybe update the page to match 1.16.201??


GrowCutGenerator does not work for a single slice.

I've observed that GrowCut does not work for a single slice, the labelmap/strengthmaps do not change between iterations. I assume this is because the center is [x/2,y/2,0], and the latter coordinate means that no fragment in the shader pases this block:?
https://github.com/OHIF/ohif-step/blob/93e358445a514e30b2d327324f6a1d7f38e15000/src/GrowCutGenerator.js#L87
It must be a flooring issue, but I would expect the value in the shader to be 0.5 in the z direction for all voxels in the single frame sized texture any ideas @pieper?
Do we need a special 2D routine to deal with this edge case?
This is likely true for the core step library also.

I would have thought that loop would still work - the line you linked would just continue for the out-of-plane neighbors but the rest ought to work.
Maybe it's this line - the size might end up as (columns, rows, 0) but it should be (columns, rows, 1)
https://github.com/OHIF/ohif-step/blob/93e358445a514e30b2d327324f6a1d7f38e15000/src/GrowCutGenerator.js#L61

Good spot, that could be it.


[UF-299] disable git/ssh daemons by default when running tests

disabling the git/ssh daemons by default makes the tests more stable.
Maven build is usually executed in parallel (e.g. -TC), which means
tests in multiple modules are executed in parallel (in different JVM of course).
That sometimes leads into random test failures caused by failure
to bind to the default git/ssh ports.

I know 0.8.x is frozen now, but this is only test/build fix. @etirelli I believe it can be pushed, can you confirm?

Yes, if it only fixes tests, then it is fine to merge.


Bot sends a message when a single meeting is edited.

In this PR the bot is updated to send a message with meeting details into the room when a single meeting is edited.

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages (more info).
[ ] Added or updated documentation.
[x] Tests for new functionality and regression tests for bug fixes.
[ ] Screenshots or videos attached (for UI changes).
[x] All your commits have a Signed-off-by line in the message (more info).

@dhenneke many thanks for the comments and review!


error getting auth

i went to the link shown. entered code. still getting error getting auth

Could I ask you to do some things for me so I can get logs?
Firstly, can you tell me a bit about your setup? Device running MM, if you are using electron or an external browser, what version of node you are running node --version, any other interesting or unique things.
Secondly, there is a bunch of built in logging that can help us get more info on the situation. You will need to edit the file MMM-GoogleFit/node_helper.js, change the line at the top that says:
debug: false, to debug: true,
Finally, could add debug: true to your config of your config.js?
Unfortunately at this point in time I can't provide much more support without a lot more info. Those debug configs will output to a terminal as well as the web inspector of chrome if you go to localhost:8888 (I think it is 8888, check the MM website for more info on running from terminal + debugging).

Closing due to inactivity


Remove unused imports

Stack:

#8 ⬅
#7
#5
#4
#3

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.


documentation fix

On "Working with Data",  the .sum()  example is showing .last("balance").   It should say .sum('balance')
For .get()   I wonder if it's examples got deleted.  It's probably amazing, but I have no idea how to use it.  Can I use it to select a subset of records in an ordered result?
For .start(),    adding "The first record is 1, not 0".
I cannot figure out how to return the 2nd, or 3rd or 4th record in an ordered.  I only want 1 result so I .limit(1)  and if I want the 2nd record, I set .start(2)  but I get 0 results.
Adding documentation of how to do it correctly, would help me.
And by the way, this taffydb is wonderful.

Another thing in the documentation that I find confusing:    I want to remove some records from the query object, and all I can find is db().remove().  But it says it will remove from the database, not a resulting query object.  Is there a command to .omit or .exclude from a query object?
It seems to be, if it's going permanently delete records from a database, it should be db.remove()  and not db().remove().    I'm afraid to test this.  db().remove() is in the Query Object methods section.  Is it in the wrong section, or is the documentation wrong?

The db().filter()  ,  the documentation mentions Functions.  An example would be helpful.  I'm wondering if it is like .each()  and does it call the function for each record in the query object?  Does return false; omit a record from the query object result?
Is there a command that will convert a Query object result,  into a new database under a new name,  which I would consider using if db().remove() can only remove records from a database.

Adding a section to define words, would be helpful.   "collection" is confusing.  Sometimes it's data in localStorage, other times is a Query Object, and it can be the whole database.
db().order("col1 desc").filter( function() { // test true or false });    Seems to apply the filter function to the original data, before ".order",   unfortunately.  If I wanted the original data, I could put the function in db( function() {// test true or false }).order("col1 desc");     Is there a workaround?


Logical + Physical Operators for Create and Drop

Currently we don't have logical/physical operators for CREATE and DROP but we do have the plans (i.e src/include/planner/plannodes/create_*.h and src/include/planner/plannodes/drop_*.h).
Ideally for create/drop operations, the optimizer should take in a logical operator, convert it to a physical operator, and then emit the correct plan (as opposed to special casing in Peloton). To do this, we need logical + physical operators for CREATE and DROP that contain all the information required by the plan nodes.

@zhou0ricky Start with CreateDatabasePlanNode

Look at the create plan nodes to see what meta-data they store:

https://github.com/cmu-db/terrier/blob/master/src/include/planner/plannodes/create_database_plan_node.h#L111

Add new logical operators to this file: https://github.com/cmu-db/terrier/blob/master/src/include/optimizer/logical_operators.h

Add new physical operators to this file: https://github.com/cmu-db/terrier/blob/master/src/include/optimizer/physical_operators.h


App crashes when opening settings (cmd+,)

Describe the bug
App crashes when opening settings. First time it happened, it was when accessing one of the settings tabs, but now, even when reinstalling the app and cleaning leftovers, still crashes when opening settings, I believe because the last tab, where the error occurs, is saved.
To Reproduce
Access the app settings, either via menu bar or shortcut (cmd+,)
Expected behavior
settings open normally and app does not crash
Screenshots
https://user-images.githubusercontent.com/45739756/232820583-83480e4e-6dfc-4c38-8ca7-242ae9f0014b.mov
Version

OS: MacOS Ventura 13.3.1; MacBook Pro 2017 15 in, Intel processor, and got the same error with an Macbook Pro 2018, same OS and processor
Xcodes: 1.10.0 (18)

Also happens with me

@pietro1704 I found the issue. In the pt-BR translation file under DataSourceDescription the app, when localizing is searching for the words Xcode Releases and crashes if it doesn't find it.
If you are fluent in Portuguese perhaps you can create a PR where DataSourceDescription value includes  Xcode Releases somewhere and that will fix the issue.
Workaround in the mean time is to flip Xcode not use pt-BR localization.

@MattKiazyk I fixed the issue on #386


Trove link is defunct due to being retired

As per this link here - https://www.microsoft.com/en-us/garage/profiles/trove/ - Microsoft Trove is now retired, therefore this link in the reference page - https://docs.microsoft.com/en-us/azure/cognitive-services/Custom-Vision-Service/quickstarts/image-classification?tabs=visual-studio&pivots=programming-language-python#upload-and-tag-images - is no longer relevant.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4f6c3f20-25a4-bc19-0cb6-377eff01b00e
Version Independent ID: 02d76c7b-cffa-c94f-2298-ba7e506d4f79
Content: Quickstart: Image classification with Custom Vision client library or REST API - Azure Cognitive Services
Content Source: articles/cognitive-services/Custom-Vision-Service/quickstarts/image-classification.md
Service: cognitive-services
Sub-service: custom-vision
GitHub Login: @PatrickFarley
Microsoft Alias: pafarley

@jusso-dev Thanks for the question. We are investigating the issue and will update you shortly.

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@PatrickFarley Hello Patrick, could you please help to change the document? I am not sure if removing the whole part is the best way to do it or not. Please help. Thank you so much.

I've removed all the Trove notes
#please-close


PowerShell.7 WinRM environment does not allow to use System.Runtime.Loader.AssemblyDependencyResolver

Steps to reproduce

RemoteMachine:
Enable WinRM,
Enable PowerShell.7 WinRM configuration.

ClientMachine

    $psSession = New-PSSession $ipToConnect -Credential $cred -ConfigurationName "PowerShell.7"
    Invoke-Command -Session $psSession {
        $resolver = [System.Runtime.Loader.AssemblyDependencyResolver]::new("$PSHome\pwsh.dll")
        Write-Host $resolver
    }

Expected behavior
System.Runtime.Loader.AssemblyDependencyResolver

Actual behavior
MethodInvocationException: Exception calling ".ctor" with "1" argument(s): "Dependency resolution failed for component C:\Program Files\PowerShell\7-preview\pwsh.dll with error code -2147450750. Detailed error: Hostpolicy must be initialized and corehost_main must have been called before calling corehost_resolve_component_dependencies.
"

Environment data
RemoteMachine:

Name                           Value
----                           -----
PSEdition                      Core
PSVersion                      7.0.0-preview.6
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
Platform                       Win32NT
GitCommitId                    7.0.0-preview.6
PSRemotingProtocolVersion      2.3
OS                             Microsoft Windows 10.0.18363
WSManStackVersion              3.0
SerializationVersion           <IP_ADDRESS>

@dmitriyse Can you reference a real scenario you want address?
I guess it is a protection for remote session and it is by design.
Perhaps @PaulHigin can add more info.

Hostpolicy must be initialized and corehost_main must have been called

The remoting plugin pwrshplugin.dll is a native entry point that hosts CoreCLR, and I'm sure it doesn't deal with anything related to HostPolicy (hostpolicy.dll).
The hosting-layer-apis doc says hostpolicy library is for advanced hosting scenarios.

One example scenario of usages of AssemblyResolveContext in powershell script is when you are trying to load plugin library into powershell, but this library is in the development stage and not yet published (located usually at bin\Debug\netcoreapp3.1\), and *.deps.json is required to load all dependencies of a plugin.
There are many ways to host .Net Core, but current WinRM plugin implementation uses simple way which don't initialized hostingpolicy. Unfortunately the current .Net Core implementation have strong dependency from AssemblyResolveContext API to" hostingpolicy" and thus you cannot use *.deps.json to load plugins in development.
This case is not frequent, but to achieve my goals I was required to spend 2 more days to setup SSH channel instead WinRM in my development and production environments as a workaround. It was very disappointing.

One example scenario of usages of AssemblyDependencyResolver in powershell script is when you are trying to load plugin library into powershell, but this library is in the development stage and not yet published (located usually at bin\Debug\netcoreapp3.1), and *.deps.json is required to load all dependencies of a plugin.

@dmitriyse This sounds interesting. Do you put the plugin library, say pluginlib.dll and pluginlib.deps.json, in $PSHOME in your scenario?
Can you please provide more details of the scenario? For example, how are you using AssemblyDependencyResolver in your script for the loading of pluginlib.dll?

/cc @PaulHigin Perhaps you are interesting in the issue with WinRM too.

Assume the c:\myproject\bin\myplugins is an output directory for the Plugin1 project.
When Visual Studio compiles Plugin1 project there are some files in the c:\myproject\bin\myplugins:
Plugin1.dll
Plugin1.dll.deps.json
ProjectDep1.dll <- some dependencies are copied during the build
ProjectDep2.dll <-
But for example Newtonsoft.Json.dll is not copied to in the c:\myproject\bin\myplugins
it's referenced through Plugin1.dll.deps.json and located some where in C:\Program Files\dotnet..
So I need some trick to parse Plugin1.dll.deps.json and load Newtonsoft.json.dll from the correct location.
Fortunately in the .Net Core 3.0 we have AssemblyDependencyResolver class.
To load the non-published plugin in the PowerShell we need to use this code:
$CSharpModuleRoutinesSrc = @"
using System;
using System.Reflection;
using System.Runtime.Loader;

namespace Utils.PowerShellModule
{
    public class LoadContextForLibrary : AssemblyLoadContext
    {
        private readonly string _depsAssemblyPath;
        private readonly AssemblyDependencyResolver _resolver;

        public LoadContextForLibrary(string depsAssemblyPath)
        {
            _depsAssemblyPath = depsAssemblyPath;
            _resolver = new AssemblyDependencyResolver(depsAssemblyPath);
        }

        public void SubscribeToResolve(AssemblyLoadContext otherContext){
            AssemblyLoadContext.Default.Resolving += (context, asmName) =>
            {
                var asm = this.LoadFromAssemblyName(asmName);
                return asm;
            };
        }
        protected override Assembly Load(AssemblyName assemblyName)
        {
            string assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName);
            if (assemblyPath != null)
            {
                return LoadFromAssemblyPath(assemblyPath);
            }

            return null;
        }

        protected override IntPtr LoadUnmanagedDll(string unmanagedDllName)
        {
            string libraryPath = _resolver.ResolveUnmanagedDllToPath(unmanagedDllName);
            if (libraryPath != null)
            {
                return LoadUnmanagedDllFromPath(libraryPath);
            }

            return IntPtr.Zero;
        }
    }
}
"@
 Add-Type -TypeDefinition $CSharpModuleRoutinesSrc

$myPluginPath = "c:\myproject\bin\myplugins\Plugin1.dll"

$MyPluginLoadContext =
    [Utils.PowerShellModule.LoadContextForLibrary]::new($myPluginPath)

# This trick is required to make loaded dependencies visible for the PowerShell
$MyPluginLoadContext = SubscribeToResolve([AssemblyLoadContext]::Default)

# Loading library in the default AssemblyLoadContext (which PowerShell also uses)
# But all unresolved assemblies will be resolved with help of $MyPluginLoadContext according to ```Plugin1.dll.deps.json```
Add-Type -Path $myPluginPath

# Happy using of plugin code!
[MyPlugin1.MyType]::new()

This example works goon on PowerShell 7.0-RC in the normal startup mode.
But when the powershell were initialized by pwrshplugin.dll (in WinRM remote session) the hostpolicy is not initialized and the AssemblyLoadContext is not available.

I am working on very complex docker-based emulator of the real cluster. The cluster management application consist from the combination of .Net Core and PowerShell code and it have no sense about run it in emulation or in a real cluster. Distributed powershell scripts uses PSSessions to manage cluster, it's very beneficial to mount development machine folders (with the visual studio output) in the emulated cluster nodes (docker containers) and run quick testing.
SSH for me was suitable workaround, PowerShell Core started as a normal process when SSH is used.
Later I found the option
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

(https://stackoverflow.com/questions/43837638/how-to-get-net-core-projects-to-copy-nuget-references-to-build-output)
But I haven't tried yet this approach.

/cc @PaulHigin @rjmholt if you have an interest.


runchecker: fix no-des builds.

Some tests needed conditioning out when DES was not available.

[x] tests are added or updated

Fixes #14958

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

Merged to master. Thank you.


[PEP] Add Authorable PEP Destination override

Allows certain pages to use a different links than primaryCTA for PEP destination.
Resolves: MWPW-149062
Test URLs:

Before: https://stage--express--adobecom.hlx.page/express/spotlight/marketers
After: https://pep-link--express--adobecom.hlx.page/express/spotlight/marketers

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 38.90%. Comparing base (9809b54) to head (0b3581f).
Report is 188 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #914      +/-   ##
==========================================
+ Coverage   37.29%   38.90%   +1.61%
==========================================
  Files         131      119      -12
  Lines       25879    23727    -2152
==========================================
- Hits         9652     9232     -420
+ Misses      16227    14495    -1732

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


[Bug] EZTV regex in retags CF not complete

Guide Name

[ ] Bazarr
[ ] Downloaders/Deluge
[ ] Downloaders/NZBGet
[ ] Downloaders/Qbittorrent
[ ] Downloaders/ruTorrent
[ ] Downloaders/SABnzbd
[ ] Downloaders/Other
[ ] Guide-Sync
[ ] Hardlinks/Docker
[ ] Hardlinks/Dockstarter
[ ] Hardlinks/Native
[ ] Hardlinks/Synology
[ ] Hardlinks/TrueNAS-Core
[ ] Hardlinks/Unraid
[ ] Misc
[ ] Plex
[ ] Prowlarr
[X] Radarr
[X] Sonarr
[ ] Other

Description
Some torrent sites show EZTV releases with an addional suffix, e.g.
The Witcher S03E03 1080p WEB h264-ETHEL[eztv re] mkv

I would like to update the following files to include the suffix in the regex if that is OK:

./docs/Sonarr/Sonarr-Release-Profile-RegEx.md
./docs/Downloaders/SABnzbd/scripts/Clean/Clean.py
./docs/Downloaders/NZBGet/scripts/Clean/Clean.py
./docs/json/sonarr/rp/optionals.json
./docs/json/sonarr/cf/retags.json
./docs/json/sonarr/cf/french-lq.json
./docs/json/radarr/cf/retags.json
./docs/json/radarr/cf/french-lq.json

Expected Behavior
Also match [eztv re] as a retagged release.
Screenshots
No response
Additional Context
No response

If you want to make the changes and create a pull request we will review it and help if needed to accomplish it.


Adding rtmp port to configflow

Not a developer, please check :-)

Any progress on that? Would be great if frigate is behind traefik or any other reverse proxy

I have no plans to do this since you can change the external port with docker.

Got my repos mixed up. This could make sense here.

If the goal is to support a reverse proxy, I'd suggest that rather than storing the rtmp port directly, we use a template value that can be set in an option. This is what I did for the motionEye integration, see this documentation as an example of how it could be used. This is more extensible than just using a port number , as it means a single URL could support both the frigate frontend and the stream, without needing to open additional ports.