[FR] check if an updated version of the image is available

I propose a new check to check if a new version of the image is available.
k8s_image_availability_exporter_<TYPE>_update_available
Thoughts?

The only way i could see that could be achieved is probably comparing tag...
I see 2 option here ....

generic regex that would cover most common case...
add annotation/label/config for custom tag format per image / deployment

Option1 generic regex:
^(?P[\w.-]+((?::\d+|)(?=/[a-z0-9.-]+/[a-z0-9.-]+))|)(?:/|)(?P[a-z0-9.-]+(?:/[a-z0-9.-]+|))(:(?P(?:(?:version|v|ver)?(?:[-])?)(?P[0-9]{1,127})(?:[.-]?)?((?P[0-9]{1,127}))?(?:[.-]?)?((?P[0-9]{1,127}))?(.)?)|.)$
covered version tag format:
1.2.3
v1.2
version1_2_4
ver-2.4-3
1.2.3-codename
1_2_3
so using something like when comparing available tag vs current tag:
Patch Available when tagmajor are equal, tagminor are equal, new tagpatch is greater
Minor Available when tagmajor are equal, new tagminor is greater
Major Available when new tagmajor is greater
Option 2:
would require a little more thinking ... but could be like a regex that return a number ... and if the previous returned number is lower than the current.... or regex than split tag in major minor patch format like option 1...

Semantic Versioning libraries also exist that can do this.

This is a nice-to-have feature, yet still, the goal of the exporter is to highlight the problematic workloads that are already running in the cluster. Predicting future versions sounds like a duty of a fancy gitops tool like argocd.
Anyway, I'm good if someone wants to implement this feature under a flag.


Great work ,

Great work ,
what happen when i upload some image with my FTP , the thumb not shown , icon instead , i changed
$thumb_path = $this->getThumbPath($file_name);
if (File::exists($thumb_path)) {
    $thumb_url = $this->getThumbUrl($file_name) . '?timestamp=' . filemtime($thumb_path);
} else {
    $thumb_url = null;
}

to
$thumb_path = $this->getThumbPath($file_name);
if (File::exists($thumb_path)) {
    $thumb_url = $this->getThumbUrl($file_name) . '?timestamp=' . filemtime($thumb_path);
} else {
    $thumb_url = $this->getFileUrl($file_name)  ;
}

now ,when thumb not available ,image show as thumbnail,
do you have a better solution

Image icons will be shown when thumbnails are not available. Maybe a new config can be added in future versions.

Implemented in v1.7.6.


Is it possible to add proxy as a command line argument?

What are you trying to achieve?
We are looking to use Tabular Editor 2 to publish .pbit files to a premium PBI workspace as part of a Azure DevOps pipeline using PowerShell and the Tabular Editor CLI.
Our release agents are behind a firewall and need to go through a proxy to connect to the PBI service.
We did not see any ability to set the proxy server and credentials when calling from the CLI based on: https://docs.tabulareditor.com/te2/Command-line-Options.html
Is there any flags we might use or suggestion on how to invoke and specify the proxy for the Tab Editor CLI?
What have you tried so far?
Using Tabular Editor 2.16.15
Using an Azure Service Principal
Tested using the proxy configuration in the GUI successfully

Hi @abagini
Proxy settings in Tabular Editor are only used when the tool performs web requests, such as when requesting formatted DAX code from daxformatter.com or when downloading a Best Practice Rules JSON file from a URL.
It is not possible to specify proxy settings for Analysis Services / Power BI XMLA connectivity, since this is handled by Microsoft's client libraries. As noted, it is not possible to connect to Analysis Services through proxy servers that require a username / password. Contact your proxy admin to have XMLA protocol connections bypass the proxy.


Right hemisphere delete

There seems to be an issue with the current version deployed on brainlife.io when unselecting all tracts only the left-hemisphere tracts are removed from the visualization. All right hemisphere tracts stay. @soichih @stevengeeky

This is a duplicate of issue #10 Steven will fix this.

@stevengeeky Fixed this.


Backup codes download file name is not unique

After downloading the backup codes for multiple websites, I now have a Downloads folder full of "Recovery codes(x).txt" files.
I have absolutely no clue which project/website they belong to.
Suggestion:
Name the file something along the lines of $SiteConfig.Title Recovery codes.txt

That sounds like a good idea. Would you like to raise a PR introducing this change?

No

Could this be configurable by a user with a private static? Or maybe do what the CSV exporter does - append a timestamp

At a glance, the complicating factor here might be that the filename is not coming from the back-end but it's created in the react component, so it's not as easy as adjusting the PHP code.

Sounds like this will be fairly complex to implement, and there's no indicated desire from anyone to actually implement it.
As per our contribution guidelines I'll close this for now, but if someone wants to give this a go I'd be happy to reopen it.
The simple workaround is to manually rename the file after downloading it, which is probably good advice anyway.


Feat/faucet content

This PR adds the final Faucet content from okp4/ui to the webApp 🚀
This includes environment variables to be accessed both on server and client side.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Create retool.yaml

Added an entry to retool, a low-code, no-code platform that gets insanely expensive when you want to add SSO.

Hey @HeatherBarron ,we already have it over at https://ssotax.org. It's more up2date than here.

Hi @HeatherBarron since this PR is to change the base pricing from the lowest business tier to a limited free tier I'm going to close this. Per the site FAQ We disregard free tier pricing, as we can assume these aren’t intended for long term business customer use. We also disregard “single person” pricing, under the assumption that we’re looking on behalf of a team of 5, 10, or more people.


pyviz install fails on new Anaconda3-5.1.0-Linux-x86_64.sh

Hello. I was very excited to find the pyviz.org site and eager to try out the many capabilities it promises. However I am not able to successfully complete Step 3 of the installation instructions on http://pyviz.org/installation.html . I'm using Anaconda3-5.1.0-Linux-x86_64.sh for python.
The error happens on the first part of Step 3.
"pyviz --install-examples pyviz-tutorial"
The pertinent error message is:
AttributeError: module 'pandas' has no attribute 'rolling_count'
I have tried this on 2 different systems, one with Ubuntu 16.04.4 LTS and the other with Ubuntu 18.04 installed with current updates. I get the same response on both systems.
Subsequently I found the Holoviews tutorial that I could install so I'm busy learning about it. I understand that it is a subset of pyviz and it may well provide the functionality that I'm looking for but I wanted to make you aware of my problem. I say another Issue about Windows 10 but I'm not sure they are related.
I checked the version of pandas that was loaded and found it to be 0.23.0 with conda install providing no newer offering.

Ok, I was able to get the tutorial code and data loaded by "downgrading" pandas to 0.22 and executing steps 3 and 4. I'm afraid I don't quite understand what the pyviz script does but I'm not a bash whiz. I use tcsh because I grew up on the c shell (from Sun Workstation days) and I know most of the tricks. It appears that all pyviz did way download and unpack zip files for the tutorial and the data.
Anyway, I've got it installed and working. I'm pretty excited about it.
Thanks for the clue.

Ack; we had a miscommunication and the pyviz package was never updated to pin pandas to 0.22!  So sorry about that; @ceball is scrambling to fix that today.
The pyviz command isn't bash; it is a Python command-line script; thankfully we don't have to write any bash or tcsh. (Incidentally, I too still use tcsh for the same reason as you, i.e. coming of age using Sun workstations in the 1990s!)  Yes, all it does is grab the examples and data and make it ready for you to run things.

There's now a new package (pyviz-0.9.7-py_1.tar.bz2) on the pyviz channel which pins and/or constrains more dependencies.


[mds-core] Add build info to /health response

Adding build version info to the /health response

What's the plan for communicating changes to slack?  separate cron lambda?  something else?


Any button click in Dialog box on top of html editor is not working it is clicking in editor

Describe the bug
Any button click in Dialog box on top of html editor is not working it is clicking in editor
To Reproduce
Expected behavior
Click on dialog should click the dialog button not underneath html editor
Screenshots

Device:
Web
Additional context
Add any other context about the problem here.

Please check https://github.com/tneotia/html-editor-enhanced/issues/157

Flutter 2.13.0-0.1.pre • channel beta
working in above flutter beta version


[RFC] Event Bus

First, a few things...

[ ] Is your feature request related to a problem?
[X] Will this feature just help you or is it something everyone needs?
[ ] Have you tried to implement or draft this feature?
[ ] Is your feature a breaking change?

😄 Describe the solution you'd like
Event Bus to listen for changes inside a view with "emit" n "listen"
Use case
Listen for changes inside view without need explicit "update"

emit Global emit (emits for everyone who has the view opened, like update() updates to everyone)
on Listens for an event globally
context.emit Emits an event for context and view, not globally.
context.on Listens for an event on context and view, not globally.

🧠 Describe alternatives you've considered
No response
🤚 Drawbacks
No response
💻 Platform

[ ] Bukkit
[ ] Sponge
[ ] Other
[X] All

⭐ Version
v2.5.4-beta
✍ Additional context
No response

#234


Add rasa x --config CONFIG

Proposed changes:

Add rasa x --config CONFIG

Status (please check what you already did):

[x] made PR ready for code review
[x] modified existing test for the functionality
[ ] updated the documentation
[x] updated the changelog
[x] reformat files using black (please check Readme for instructions)

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

IMO this is ready to be merged.
Regarding testing: an ideal test would first create an empty project with rasa init, then change the config.yml file's name to foobar.yml (for example), then try running rasa x --config foobar.yml, which should load the config file properly. This would need to be done without actually launching Rasa X. Ideally we would use the run fixture in tests/cli/conftest.py but then we wouldn't be able to mock the launching of Rasa X because run starts a separate process.
Also I believe we should merge this first, do a Rasa release and then update the Rasa X dependency. What I'm not sure is if this should go in Rasa 1.5 or in the next 1.4 patch.

Also I believe we should merge this first, do a Rasa release and then update the Rasa X dependency. What I'm not sure is if this should go in Rasa 1.5 or in the next 1.4 patch.

Good question. I suggest to be strict about it. It's a new feature (though it's a small change) and hence should go into 1.5

Regarding testing: an ideal test would first create an empty project with rasa init, then change the config.yml file's name to foobar.yml (for example), then try running rasa x --config foobar.yml, which should load the config file properly. This would need to be done without actually launching Rasa X. Ideally we would use the run fixture in tests/cli/conftest.py but then we wouldn't be able to mock the launching of Rasa X because run starts a separate process.

Yeah, it's tricky since it's right at the edge between rasa / rasa-x. For me it would be okay, to not add another test in rasa and maybe just adding a unit test in rasa-x for _configure_for_local_server

@ArjaanBuijk can you take another look at this so we can move this forward?


Adds uncached functions to VIP RestrictedFunctionsSniff.php.

Adds uncached functions to VIP.RestrictedFunctionsSniff. This should resolve #321 and includes other uncached functions mentioned in https://vip.wordpress.com/documentation/uncached-functions/

I copied most of the messages from the VIP docs verbatim. I'll see when I can get to working on this.

I think that #491 covered part (but maybe not all) of this.

Ah, sorry @allan23. I totally missed your PR. If you see anything missing in my PR, please revise. I also asked @sboisvert to identify anything missing. I uses the latest Uncached Functions listed on VIP docs as of yesterday.


opensta get_cells -filter not filtering when called alongside -of_objects

As the title says,
get_cells -filter ref_name==<cell_ref>

while this doesn't.
get_cells -filter ref_name==<cell_ref> -of_objects <net>

A quick look at the source code and seems like the -filter handler may not be properly scoped (unless that is intentional, then it should reflect in the documentation)
Thanks.

This is a bug, the filter should be respected.

fixed


SAK-41579 gradebook: show rubric from assignment

https://sakaiproject.atlassian.net/browse/SAK-41579

@bgarciaentornos Thanks for the review. Much appreciated.


Support Draft

Enabling front matter draft: true  in section theme

Nextra does not support draft mode, but I try to create darft : true with help of front matter.


transform animation not playing on chrome in react

Not sure how I am misusing this library, but everything looks and behaves correctly on Firefox.  When using on chrome, however, the transform animation will not play.  The opacity animation seems to play fine.  What is odd is that the demo site plays fine on chrome.  I assume the demo site is running the same 0.3.0 version.

I would like to see the code and the behavior.
Can you create an environment to reproduce it?
CodePen, Plunker, CodeSandbox, StackBlitz, GitHub Pages, or anything else.

I was unable to reproduce the issue in isolation.  I've spent my whole morning on this!  I event brought in your raw source so I could debug at every step of the way.
You ever have one of those experiences where code doesn't behave like it should, and you start to get desperate?  Finally you're reduced to commenting out large swaths of your code base just to try and hone in on where the issue exists; I call this, "playing battleship" with your code.
So I start trying to battleship my code, and suddenly things start to work!  Slowly, I start bringing code back to life in order to try and narrow down the offending lines.  It's going to break again eventually... right?
NOPE!
Everything works perfectly.  transition: transform starts working suddenly, and beautifully, on chrome.  Never changed a thing.
Now I am stuck here tearing my hair out trying to figure out how this possible.  My current theory is a rogue neutrino from a gamma ray burst in the Virgo super cluster just hit my computer.  I don't know...
Thanks for the quick response, and cheers on a great package!  Thanks!

It's strange... but strange things happen more often, in reality than in fiction.
I get hit by neutrinos every so often, too. Neutrinos are invisible to our eyes. So...
So please let me know when it reproduces in isolation.
(Seriously, it's really strange that Chrome and Firefox work differently.)


$super 的调用

......

methods: {
	hi: function () {
		// 法1：
		// this.$super();

		// 法2：
		// this.$super.hi();
	}
}

......

个人觉得『法1』更优雅些，不知博主怎么看？
另外，博主有了解过 Vue 为毛不支持 $super 的语法没

Hi @ystarlongzi. Sorry, I don't understand Chinese. Can you write in English instead? The best I can do is translate with Google.
Translated text:

Personally feel "method 1" something more elegant, I do not know how bloggers look?

In addition, bloggers have understood the Vue for the hair does not support the $ super syntax

In response to the first sentence, I prefer the second syntax as it's more similar to python's  implementation of super(). Explicit is better than implicit. There are also cases where you may need to reference a different method on the parent class, and method 1 is unable to accommodate that. Additionally, method 2 is simpler to implement than method 1 :)
Unfortunately, I don't understand the second sentence.

Thank you!!!
The 1st sentence, the translate text is my mean, and i have get your idea. Thank your explain！
The 2nd sentence is mean

Have blogger communicate with Vue author, about why Vue does not support $super syntax?

Now, i don't know whether you get my mean. My english is poor, especially speak and write.......
Thank you!!!

Have blogger communicate with Vue author, about why Vue does not support $super syntax?

Not yet.
@yyx990803 - do you think this is worth adding to Vue? I could submit a PR w/ tests etc..

One additional thought - this only supports inheritance for methods, not for other handlers. eg, computed properties, event handlers, etc...

I don't really want to simulate full OO with Vue's extension system - I believe it results in less flexible systems overall. If possible I'd rather compose directly with mixins. So I guess my stance is not adding this to core.


xWebsite: Resource does not check if the specified application pool exists

Details of the scenario you tried and the problem that is occurring
When you specify an application pool that does not exist in a xWebsite resource, the resource does not check if the specified application pool exists. This results in a broken website with error "Unknown:The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)"
Verbose logs showing the problem
N/A
Suggested solution to the issue
Check if the specified application pool really exists, before applying the configuration.
The DSC configuration that is used to reproduce the issue (as detailed as possible)
xWebsite "Website"
{
    Name            = "Example website"
    ApplicationPool = "NonExistentApplicationPool"
    BindingInfo     = @(
        MSFT_xWebBindingInformation
        {
            Protocol              = 'HTTP'
            Port                  = '80'
            IPAddress             = '*'
            Hostname              = "www.example.com"
        }
    )
}

The operating system the target node is running
Windows Server 2016
Version and build of PowerShell the target node is running
v5.1
Version of the DSC module that was used ('dev' if using current dev branch)
dev

I second this. A more user-friendly message would have saved my team an hour or more a few months back. The cryptic error from the Windows API is something that literally has to be Googled, when the actual issue is so simple.


Responsive design

Hello,
Is it possible to make the design responsive?
https://imgur.com/a/jV5htWM
Thanks.

I thought about this recently, but I don't have much free time.

Then the best scenario will be overriding style.

Any plan to reimplement this? i feel this could be quite essential as most of app on phone will be distorted..


Circular bezelView

In the legacy version I was able to use the following code to get a nice circular shaped view with the activity spinner inside. The bezelView was slightly larger than the UIActivityIndicator itself.
- (void)startLoading {
	self.hud = [[MBProgressHUD alloc] initWithView:self.iconImageView];
	[self.iconImageView addSubview:self.hud];
	self.hud.color = [UIColor colorWithRed:0.0471 green:0.349 blue:0.6 alpha:1.0];
	self.hud.yOffset = 3.5;
	self.hud.cornerRadius = 22.0;
	self.hud.margin = 4.0;
	[self.hud show:YES];
}

But nothing I do now with the latest version seems to make that work anymore. It's always much too big and never a perfect circle like I had it before.
Is there any other way to control the shape and size of the bezelView?

Works just fine here. Even with the deprecated API you are using. I just need to set a different radius.

To make this a bit more robust, and less magic number fiddling, rather subclass MBPorgessHUD, override layoutSubviews and after calling super do something like this: self.bezelView.layer.cornerRadius = CGRectGetHeight(self.bezelView.frame) / 2.f;.


Cannot get the companion app to work..

So, I even reinstalled full ToS from scratch, then cloned the repository, npm install, npm build and when I go npm start:
 npm build && npm start
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>
><EMAIL_ADDRESS>start C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass
> electron .

C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\settings.json: Checking
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\settings.json: Loaded
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\tracker.json: Checking
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\tracker.json: Not found
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior: Checking
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior: Found
   MD5 698572c182bf5fb49b7942d2a68380b8 C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\SumAni.ipf
   MD5 nil C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\data\SumAni.ipf
UPDATE: C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\data\SumAni.ipf
   MD5 2c907933aa5f477cac4ac447812052ad C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\addonloader.lua
   MD5 2c907933aa5f477cac4ac447812052ad C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\addonloader.lua
SAME: C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\addonloader.lua
   MD5 b2cffa61e0f1d26f074cd68d79ab7076 C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\laimascompass.lua
   MD5 b2cffa61e0f1d26f074cd68d79ab7076 C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\laimascompass\laimascompass.lua
SAME: C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\laimascompass\laimascompass.lua
listening on *:9183
   fileCopy ERR
{ [Error: EBUSY: resource busy or locked, open 'C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\data\SumAni.ipf']
  errno: -4082,
  code: 'EBUSY',
  syscall: 'open',
  path: 'C:\\Program Files (x86)\\Steam\\steamapps\\common\\TreeOfSavior\\data\\SumAni.ipf' }
>>>>>C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass
>>>>>C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\index.html
a user connected

Most noticeable is that tracker.json is missing and SumAni.ipf is locked, which I assume is because ToS is running.
But t didn't seem to work if I started laima's compass first, either:
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass>npm start

><EMAIL_ADDRESS>start C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass
> electron .

C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\settings.json: Checking
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\settings.json: Loaded
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\tracker.json: Checking
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\tracker.json: Not found
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior: Checking
C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior: Found
   MD5 698572c182bf5fb49b7942d2a68380b8 C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\SumAni.ipf
   MD5 698572c182bf5fb49b7942d2a68380b8 C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\data\SumAni.ipf
SAME: C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\data\SumAni.ipf
   MD5 2c907933aa5f477cac4ac447812052ad C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\addonloader.lua
   MD5 2c907933aa5f477cac4ac447812052ad C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\addonloader.lua
SAME: C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\addonloader.lua
   MD5 b2cffa61e0f1d26f074cd68d79ab7076 C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\laimascompass.lua
   MD5 b2cffa61e0f1d26f074cd68d79ab7076 C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\laimascompass\laimascompass.lua
SAME: C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\addons\laimascompass\laimascompass.lua
listening on *:9183
>>>>>C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass
>>>>>C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\index.html
a user connected
[0x7FF99D3A7050] ANOMALY: meaningless REX prefix used

Ingame, I see the Load Addons button, It says laima's compass is loaded and information is getting recorded in data.txt, but the button keeps reappearing when I switch maps, and the companion app is "just dead". It doesn't read anything (it reads no data and shows no console errors).
I really love the idea of this App, and it'd be amazing if there could be an ingame version of it.

Hey @snivs , Thanks for your feedback!
@Questionguy663 reported on another issue thread that the problem may lie on restrictive permissions under C:\Program Files (x86). I didn't had time yet to test it, but I wouldn't deny the possibility.
Now, regarding the issues you experienced -

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>
These two events are expected - chokidar is a NPM module that allows for directory change monitoring, and the binaries that support it changes according to OS.

C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\tos-laimas-compass\assets\data\tracker.json: Not found

This is OK as well - tracker.json is the file where your character's data is stored.

{ [Error: EBUSY: resource busy or locked, open 'C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior\data\SumAni.ipf'

This means that ToS was running - the file was locked. It is expected, and shouldn't be an issue if you had previously installed Excrulon's mods; it's exactly the same file.

It says laima's compass is loaded and information is getting recorded in data.txt

Good. This is the hardest part. It means that the LUA addon is up and running.

but the button keeps reappearing when I switch maps

Now that's slightly odd. Mind taking a screenshot of your addon folder? I may need to replicate your configuration in order to test.

and the companion app is "just dead". It doesn't read anything (it reads no data and shows no console errors).

This happens because the Steam repository detector may have failed. To fix this, click on the gear button on the top right, and use the browse function to select the game directory (not the addon - it'll resolve itself automatically. I Hope. =) )

I really love the idea of this App, and it'd be amazing if there could be an ingame version of it.

Thank you! I like the idea of being able to use my tablet as a secondary info screen, so that's one of the reasons I chose to implement it as a separate service. But who knows - as other developers keep implementing new APIs, it may be possible to port the logic and use ingame-only resources. One can hope!
Once again, thanks for testing it out!

This means that ToS was running - the file was locked. It is expected, and shouldn't be an issue if you had previously installed Excrulon's mods; it's exactly the same file.

I hadn't installed excrulon's :l or any other addon, I was trying to run laima's compass in a clean ToS install, I didn't even have an addons folder at first.

Now that's slightly odd. Mind taking a screenshot of your addon folder? I may need to replicate your configuration in order to test.

As I mentioned above, it was just a fresh install... now it only has the addons folder and files created by laima's compass.

This happens because the Steam repository detector may have failed. To fix this, click on the gear button on the top right, and use the browse function to select the game directory (not the addon - it'll resolve itself automatically. I Hope. =) )

I have selected the game path so many times... yet it doesn't work for some reason, I find it weird, like I'm missing some silly detail.

Thank you! I like the idea of being able to use my tablet as a secondary info screen, so that's one of the reasons I chose to implement it as a separate service. But who knows - as other developers keep implementing new APIs, it may be possible to port the logic and use ingame-only resources. One can hope!

Who knows, maybe I'll be the one to port it... if I ever get some time to do so, lol.
As of Now, I'm reinstalling all of steam to C:/Steam to see if anything changes.. (that's why there's no screenshot of my addons folder :/ )

After reinstalling ToS to C:\Steam\steamapps\common\TreeOfSavior the compass works nicely.
A wild guess is that the compainion app failing to load data would have something to do with the ToS folder route previously containing a space in C:\Program Files (x86)\Steam\steamapps\common\TreeOfSavior.


Tissue doesn't by default use the latest uberon version

It uses "2022-08-19" instead of "2023-02-14", despite both are present in the versions.yaml

Same for the disease:

Could you please check your _current.yml and _lndb.yml ?

If this is a new installation the defaults aren't set properly. I'll take a look then

Ohhh! I init a new instance and was expecting the versions are set to be the most recent. But it was using the .current,yml. OK, never mind!


Resize columns (request)

Our company requires resizable columns for our grids.
I wrote a small script to adjust the columns. For usability i append a span inside the th which will show a grip handle on hover over the th. Because the MvcGrid sort click event is bounded to the table header the column get's sorted each time i drag my handle for resizing. Now i adjusted the script a litte so the click event is set to the mvg-grid-title and sort button. Ofcourse it's not done to adjust the script so the question i have is, if it's possible for you guys to set the sort on the title instead of the whole th, or create a resize column feature.
Thanks a lot
Talsja

You should be able to prevent event propagation when clicking on your handle.
Similarly to how it is currently done on sorting.


Can't build because of askcom is renamed by AskMediaGroup

Hi i constantly get this error on build, Go can't build because it don't find the askcom user on github.

This will be fixed with #1 thanks for reminding us to complete it.

@RomanJos Please fetch the latest changes in master and try building again.

Perfect ! the only clue is that i'm on windows so /dev/stdin doesn't exist but i tried using remote server to manually enter my local and a domain file that i have found on pastebin and this is what i got with dnscrypt :
λ dnsbench.exe run remote <IP_ADDRESS> -f "..\..\Desktop\domain list.txt"
Reading names from ..\..\Desktop\domain list.txt
Benchmarking <IP_ADDRESS>...

# requests errors min  [ p50  p95  p99  p999] max  qps
    262       0   0.97    [91.10 673.71 1046.48 1650.46] 1650.46  52.40
    380       1   0.98    [2.01 368.57 957.35 5003.80] 5003.80  76.00
    202       5   0.98    [2.00 780.14 5003.80 5003.80] 5003.80  40.40
    104       3   0.98    [2.00 404.49 5003.80 5003.80] 5003.80  20.80

Finished 1000 requests

# latency summary
   1000      10   0.97    [2.02 532.68 1902.12 5003.80] 5003.80  40.72

Concurrency level: 10
Time taken for tests: 24.56 seconds
Completed Requests: 990
Failed Requests: 10
Requests per second: 40.72 [#/sec] (mean)
Time per request: 149.98 [ms] (mean)
Fastest request: 0.97 [ms]
Slowest request: 5003.80 [ms]

So this is actually great thank you for fixing the name issue !


Load config from .js file

The CLI documentation mentions we can either load database config from config/default.json or from environment variables DATABASE_URL. However, I would like to understand if it would be possible to load this from a .js file.
Reason for this is that I already manage my own configuration, depending on the environment I run in. It could be either coming from environment variables, or hard coded somewhere.
If it's not possible, I could write an extra build step to create the .json file required for running migrations, but I might as well check.

There are three ways how to customize config - config package, env variables (direct or .env) and custom json file with same config structure like config configuration - https://github.com/salsita/node-pg-migrate/blob/master/docs/cli.md#cli-usage
If it does not suit you, you will need to create custom script to create one of these configurations...

Question along the same lines, if I have 4 env files .env.dev, .env.sta, .env.pro and so on which one will be loaded, how do I configure something along the lines of '.env.' + process.env.NODE_ENV

For loading .env files we use https://www.npmjs.com/package/dotenv package, so check its documentation...


crun: 1.14.4 -> 1.15

Description of changes
Update crun to the latest release.
cc @NixOS/podman
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 308496 run on aarch64-linux 1

11 packages built:

buildah
buildah.man
cri-o
cri-o.man
crun
hci
hercules-ci-agent
hercules-ci-agent.data
out-of-tree
podman
podman.man


All-day events turn into 2am-2am events

When I add an all-day event to one calendar, it gets copied into the other calendar shifted by 2 hours:

The timezone of both calendars is the same, UTC+2. My guess is that the sync routine detects an all-day event in calendar A and inserts a 0:00 UTC - 0:00 UTC event into calendar B, which is not the same thing.

Thanks for reporting this - I also noticed it myself. I'm currently working on a v0.5 version where this will be fixed, and where the synchronization becomes also a bit more stable (I'm having problems with SyncBlocker event duplicates).
The underlying cause is that the synchronization should also sync the value of the "is all day" attribute from the source event to the target sync-blocker event.
I'll close this ticket once v0.5 is released (expect 1-3 weeks).

Fixed by releasing v0.5


[project] imodel-react-hooks

extracted from the it1 monorepo with some changes. Currently used in at least two known applications, which will need to migrate to the new name and public location.

and I just realized I haven't done the changelog stuff. Sorry about that 😞 I'll fix it


Is it possible to have multiline input in "Examples" data table?

Summary
Multiline step arguments exist. But there doesn't seem to be a similar implementation for Examples data table. If present, this would make it easy to pass long json data in data tables without loosing readability (which is lost when everything is pressed into one line)
Expected Behavior

Examples:
| Header 1          | Header 2  |
| Line 1            | { "a": 1,
"b": 2
}         |

Current Behavior
The above is not allowed
Possible Solution

Examples:
| Header 1          | Header 2  |
| Line 1            | '''{ "a": 1,
"b": 2
}''''         |

Steps to Reproduce (for bugs)
None
Context & Motivation
Using feature files to test long lines of json necessitated this. Currently I am putting json in one line. But I lose readability. When json data gets longer and longer, this is becoming a problem.
Your Environment

Operating System and version: Windows 10/Ubuntu 16.04LTS

It looks like you are requesting the same / similar as in #565 where the conclusion was that we will not offer support for it, as it makes the syntax too confusing.


Handle non-numeric versions strings from *IDN?

Not all instruments return numerical strings.
By handling exceptions when converting the version string to a float number, we can fallback into storing the version into a tuple, that also handles version comparison.
It also requires to set _versionLegacy into an empty tuple, so that comparison can take place.
I needed this specifically for a Keysight N6705B DC Analyzer that reports a firmware version of D.02.13
While not technically a scope, there are many useful functions for me in the SCPI module, and as the same app also supports another scope, I preferred using SCPI for this as well.
As the SCPI standard doesn't enforce any format on firmware version numbers, you might find this useful anyhow.

Sorry for the delay in getting back to you. I like how you handled the non-numeric version number, especially with try/except and I am fine merging it. I do not like the newline stripping. The last thing _instQuery() does before returning the string is do a right whitespace strip if read_strip is passed into __init__() with the characters to be stripped. If you are getting a newline character in _getID() then you likely need to set read_strip to '\n' at instantiation to always strip out termination. Is there a use case that I am not thinking of where you want to strip only in  _getID() but not everywhere else? If there is, I prefer the use of .rstrip() to strip out all whitespace in case some machines return '\r\n' or the like.


Feature: Blendtree Asset Exporting & Creation

Blendtrees made in the animator cannot be utilized outside the source animator unless copy pasted. That's painful because changes will not propagate. An option to export the selected blendtree as a standalone asset would be very nice.
Asset Blendtrees available in the right click create menu might also be appreciated.

Some code @rurre assembled for specifically that a bit ago:
//Original from VRCAvatars3Tools by gatosyocora
//Simplified for just Blend Trees by Pumkin

using System.IO;
using UnityEditor;
using UnityEditor.Animations;

namespace CreateBlendTree
{
    public class CreateBlendTree : Editor
    {
        [MenuItem("Assets/Create/BlendTree", priority = 411)]
        private static void CreateNewBlendTree()
        {
            var folder = Selection.activeObject;
            var folderPath = AssetDatabase.GetAssetPath(folder);
            var assetPath = AssetDatabase.GenerateUniqueAssetPath(Path.Combine(folderPath, "BlendTree.asset"));

            var asset = new BlendTree
            {
                name = Path.GetFileNameWithoutExtension(assetPath)
            };
            AssetDatabase.CreateAsset(asset, assetPath);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();

            Selection.activeObject = asset;
        }
    }
}

In general, there is no reason for blend trees to not be exportable since you can just save them to assets like any other object.
If you open an animator in a text editor and set the  m_ObjectHideFlags to 0 on a blend tree you can see it as a sub asset and duplicate it in the editor, so should be easy to do in script.
Also, updated the BlendTree creation code to be more in line with how other assets get created.
// CreateBlendTree.cs by Pumkin
// https://github.com/rurre

#if UNITY_EDITOR
using System.IO;
using UnityEditor;
using UnityEditor.Animations;
using UnityEditor.ProjectWindowCallback;
using UnityEngine;

namespace CreateBlendTree
{
    public class CreateBlendTree : Editor
    {
        [MenuItem("Assets/Create/BlendTree", priority = 411)]
        static void CreateNewBlendTree()
        {
            ProjectWindowUtil.StartNameEditingIfProjectWindowExists(
               0,
               CreateInstance<DoCreateBlendTree>(),
               "New BlendTree.asset",
               EditorGUIUtility.IconContent("BlendTree Icon").image as Texture2D,
               null);
        }

        class DoCreateBlendTree : EndNameEditAction
        {
            public override void Action(int instanceId, string pathName, string resourceFile)
            {
                BlendTree blendTree = new BlendTree { name = Path.GetFileNameWithoutExtension(pathName) };
                AssetDatabase.CreateAsset(blendTree, pathName);
                Selection.activeObject = blendTree;
            }
        }
    }
}
#endif


Range Type

Previously the range topic was hard coded to always map to the rated range.  A user reported that there are some models for which rated isn't a good fit and requested that other range types be available.  This
change adds a --range-type flag to the CLI that lets a user select between estimated, ideal, and rated (default) for the range topic.
[resolves #21]

Belatedly I’ve added a --range-type flag to the CLI.
Usage:
  teslamate-discovery [flags]
Flags:
      --ha-discovery-prefix string   home assistant discovery message prefix (default "homeassistant")
      --help                         help for teslamate-discovery
  -h, --mqtt-host string             mqtt broker host (default "<IP_ADDRESS>")
  -P, --mqtt-password string         mqtt broker password
  -p, --mqtt-port int                mqtt broker port (default 8883)
  -s, --mqtt-scheme string           mqtt broker scheme (default "ssl")
  -u, --mqtt-username string         mqtt broker username
      --range-type string            range type ["estimated", "ideal", "rated"] (default "rated")
      --tm-prefix string             teslamate message prefix (default "teslamate")
      --units-distance string        distance units ["imperial", "metric"] (default "imperial")
      --units-pressure string        pressure units ["imperial", "metric"] (default "imperial")
  -v, --version                      version for teslamate-discovery


AVD Scaling Plan Peak Hours Could Use Additional Setting

[Enter feedback here]
Hi Team,
Thank you for launching this much awaited feature. If I may recommend an item - the Peak hours schedule should have Minimum percentage of host option.
Here's a scenario:
Number of Session Hosts in a Pool: 10
Host Pool Max Session: 20
During Ramp up schedule we can configure this setup to have minimum number of hosts turned on and monitor for capacity threshold (sessions). When we get to Peak hour schedule, the customer should have the option to turn on all the session hosts instead of waiting for the capacity threshold to keep getting triggered and one by one turn on the VMs.

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

ID: e485eb1b-63d7-6fb4-a84a-367be0b7ae09
Version Independent ID: 6b38c7f4-b264-853c-ac69-9a7d9abc557e
Content: Azure Virtual Desktop session host autoscale preview
Content Source: articles/virtual-desktop/autoscale-scaling-plan.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

@edlaguni
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@Heidilohr
Can you please check and add your comments on this doc update request as applicable.

Hi @edlaguni. This is not a documentation update request, this is a feature redesign request. I have made a note of it and will certainly relay this information to the team since I have heard similar feedback before. Thank you for your feedback!

@sefriend Thanks for commenting on this and putting this feature request to the team.
@edlaguni
We will now close this issue. If there are further questions regarding this, please tag me in a comment. I will reopen it and we will continue the discussion.


Add myself to backend Owners

Add Andrew Stoycos to backend Owners
and Reviewers since I am the owner of
the ebpf backend POC.
Also add to core
Reviewers, since I plan to keep updating CI
infra.

/lgtm
/approve


CSV ?_stream=on redundantly calculates facets for every page

I'm trying to figure out why a full CSV export from https://covid-19.datasettes.com/covid/ny_times_us_counties runs unbearably slowly.
It's because the streaming endpoint works by scrolling through every page, and it turns out every page calculates facets and suggested facets!

Relevant code: https://github.com/simonw/datasette/blob/0a7621f96f8ad14da17e7172e8a7bce24ef78966/datasette/views/base.py#L263-L315

Related issue: https://github.com/simonw/datasette/issues/263 - "Facets should not execute for ?shape=array|object"

It's not just facets, I think it's trying to execute suggested facets too!

Now that I have ?_nofacets=1 I can use that to fix this. The challenge is that in this block of code I need to modify the incoming request's query string arguments, which isn't something I've done before: https://github.com/simonw/datasette/blob/0a7621f96f8ad14da17e7172e8a7bce24ef78966/datasette/views/base.py#L263-L270

I think the right way to do this is to construct a new Request with a modified ASGI scope: https://github.com/simonw/datasette/blob/c5ae1197a208e1b034c88882e3ac865813a40980/datasette/utils/asgi.py#L88-L99

Actually there is precedent for swapping out request.scope for a new scope, as seen here in the routing code: https://github.com/simonw/datasette/blob/c5ae1197a208e1b034c88882e3ac865813a40980/datasette/app.py#L1117-L1122

I'm having a really hard time figuring out how to unit test this - ideally I'd monitor which SQL queries are executed using the tracing mechanism, but that's not set up to work with anything other than HTML or JSON outputs: https://github.com/simonw/datasette/blob/c5ae1197a208e1b034c88882e3ac865813a40980/datasette/tracer.py#L125-L134

I think it's worth getting ?_trace=1 to work with streaming CSV - this would have helped me spot this issue a long time ago.

Fixed in https://github.com/simonw/datasette/commit/d1d06ace49606da790a765689b4fbffa4c6deecb


Using T.self_type in proc params causes generic error 7011

Input
→ View on sorbet.run
# typed: strict

class MyClass
  extend T::Sig

  sig {params(block: T.proc.params(arg0: T.self_type).void).void}
  def foo(&block)
    yield self
  end
end

inst = MyClass.new
inst.foo do |obj|
end

Observed output
editor.rb:13: Expression does not have a fully-defined type (Did you reference another class's type members?) https://srb.help/7011
    13 |inst.foo do |obj|
    14 |end
  Note:
    Historically, users seeing this error has represented finding a bug in Sorbet
    (or at least finding a test case for which there could be a better error message).
    Consider searching for similar bugs at https://github.com/sorbet/sorbet/issues
    or reporting a new one.

editor.rb:7: Expression does not have a fully-defined type (Did you reference another class's type members?) https://srb.help/7011
     7 |  def foo(&block)
                   ^^^^^
  Note:
    Historically, users seeing this error has represented finding a bug in Sorbet
    (or at least finding a test case for which there could be a better error message).
    Consider searching for similar bugs at https://github.com/sorbet/sorbet/issues
    or reporting a new one.
Errors: 2

Expected behavior
obj should be of type MyClass.

Replacing T.self_type with MyClass works as expected, but it'd be nice to have this work with T.self_type for subclasses.

Duplicate of #5632

I'm not sure how I missed that issue or the other one that was closed as duplicate while searching through existing issues. Sorry about that!


⚠ Bofrost.fr has degraded performance

In 49fbb79, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1009 ms

Resolved: Bofrost.fr performance has improved in a92f604 after 14 minutes.


POST call to server side route doesn't provide data object...

Hi there,
Trying to set up a simple REST API, using Iron-Router.  On the server, I've set up the following routing map:
Router.map(function () {
  this.route("apiRoute", {path: "/api/",
    where: "server",
    action: function(){
      console.log('------------------------------');
      console.log('apiRoute');
      console.log(this);
      console.log(this.body);
      console.log(this.data);
      console.log(this.query);

      this.response.writeHead(200, {
        'Content-Type': 'text/html',
        'Access-Control-Allow-Origin': '*'
      });

      if (this.request.method == 'POST') {
        console.log('POST');
      }
      this.response.end("success");
    }
  });
});

And in another application, I query that route by doing an HTTP call, like so:
HTTP.call("POST", 'http://localhost:3000/api/', "test string", function(error, result){
        if(result){
          //do something
        }
        if(error){
          //do something ELSE
        }
        done();
      });

In theory, the data object test string should show up in the server log.  Unfortunately, this is all I'm getting:
I20140223-02:55:27.961(-5)?      url: '/api/',
I20140223-02:55:27.961(-5)?      method: 'POST',
I20140223-02:55:27.961(-5)?      statusCode: null,
I20140223-02:55:27.964(-5)?      _consuming: false,
I20140223-02:55:27.964(-5)?      _dumped: false,
I20140223-02:55:27.964(-5)?      httpVersionMajor: 1,
I20140223-02:55:27.964(-5)?      httpVersionMinor: 1,
I20140223-02:55:27.964(-5)?      upgrade: false,
I20140223-02:55:27.964(-5)?      originalUrl: '/api/',
I20140223-02:55:27.966(-5)?      query: {},
I20140223-02:55:27.966(-5)?      body: {},
I20140223-02:55:27.966(-5)?      files: {} },

As you can see, this.query and this.body are empty.
I've tried shaping the data payload in various ways, such as replacing "test string" with a JSON object (which is what our Express REST API expects).  Tried things like this:
// var dataPayload = {text: "words!  and more words!"};
var dataPayload = {data: {text: "words!  and more words!"}};
HTTP.call("POST", 'http://localhost:3000/api/', dataPayload, function(error, result){
    // stuff
});

But that didn't seem to do anything either.  Any ideas on what I might be doing wrong?
Thanks!

This is an issue I have also been having problems with, and cannot find a solution for. I have set up an endpoint inside a server side router so I can get notifications of Contentful.com updates and update my Server side collections accordingly.
With the content type set as 'application/vnd.contentful.management.v1+json' I run a post request from the command line like below, and this.response.body is blank
curl -H 'Content-Type: application/vnd.contentful.management.v1+json' -d 'test1=matt&test2=finucane' http://localhost:3000/hooks/contentful
Running the same command, without specifying the content type, it defaults to 'application/x-www-form-urlencoded' and the content comes through in the request body.
Has anyone encountered a similar issue and if so, how did you overcome it?

I post a request : mydomain/test
then : this.request.url will print : /test
How to print print the whole url (mydomain/test) ?
Thanks
See you soon
Mourad


Title: Pet Adoption Site

Is your feature request related to a problem? Please describe.
For the adoption of pets that are abondoned due to miscellaneous reasons
Describe the solution you'd like.
Will create a page about different types of pets from different locations to be adopted based on users needs
Describe alternatives you've considered.
It will be an intuitive page with each and every details about the pets , so that users can adopt it
Add any other context or screenshots about the feature request here.
No response

Can You assign it to me under GSSoC'24 label will complete this project

@cxde-Sujal Thank you for providing your insight but it is not required as of now.


[Unity][Disco] Add runtime.disco.scatter_from_local

This is an initial step for supporting shard loading without communication

cc: @junrushao


⚠ Bofrost.fr has degraded performance

In 4698b91, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1257 ms

Resolved: Bofrost.fr performance has improved in fa09027 after 6 minutes.


Add apple and apple's random position generation

Awesome, these changes were merged with some tweaks at #4.
Closing this one.


Fix a few typos I noticed

Excited for my PCBs to arrive. :smile:

Nice! Thank you for the corrections! :)


Subprocess with visual studio debugger attached to process causes a problem in python project

This issue has been moved from a ticket on Developer Community.

I'm facing a very annoying issue with Visual Studio 2022. Here's how to replicate it.
Folder contents:
test-debugpy-issue
|   test-debugpy-issue.sln
|
\---test-debugpy-issue
        cli.py
        environment.json
        test-debugpy-issue.pyproj
        test_debugpy_issue.py
        test_debugpy_issue_simplified.py

Contents of cli.py:
print("hello world")

Contents of test_debugpy_issue_simplified:
import subprocess
import os
import json

print(os.getpid())
input()

configArgs = ["python", "cli.py"]

ret_code=0
while ret_code==0:
    ret_code = subprocess.call(configArgs, shell=False, universal_newlines=True)
    print(ret_code)

In order to replicate the issue, carry out the following steps:

Open up a Powershell or CMD terminal
Run python .\test_debugpy_issue.py
Copy the provided PID
In Visual Studio 2022 under Debug > Attach to Process, paste the PID, select the process as shown below:

[! [enter image description here] 1] 1

Click Attach, then wait in the Output window until the process has successfully attached. This apparently requires multiple attempts:

[! [enter image description here] 2] 2

Go back into your Powershell and CMD terminal and press Enter
The following error should appear:

0.47s - Error importing debugpy._vendored.force_pydevd (with sys.path entry: 'c:\program > files\microsoft visual studio\2022\professional\common7\ide\extensions\microsoft\python\core')
Traceback (most recent call last):
File "c:\program files\microsoft visual studio\2022\professional\common7\ide\extensions\microsoft\python\core\debugpy_vendored\pyde> vd_pydevd_bundle\pydevd_defaults.py", line 60, in on_pydb_init
import(module_name)
ModuleNotFoundError: No module named 'debugpy'

I've found this issue on Github which describes a similar problem, but it's from the Vs Code repo. I'm not using VS Code.
Why is this happening and how can I fix it ?

Original Comments
Feedback Bot on 4/7/2023, 01:36 AM:
(private comment, text removed)

Original Solutions
(no solutions)

@int19h Could you help taking a look at this one whenever you got a chance? Thanks.😊


LaTeX Error: File `orcidlink.sty' not found.

Hey, thanks for the template!

! LaTeX Error: File `orcidlink.sty' not found.

I think I can download the style file and put it in the folder - but maybe it makes sense to put it in the repository as well.
# this works for me to compile the pdf
wget https://raw.githubusercontent.com/duetosymmetry/orcidlink-LaTeX-command/master/orcidlink.sty .
pdflatex main.tex

Hi @hoelzer! orcidlink.sty is now included in the TexLive/MikTeX distributions, so try updating your installation depending on how you're using LaTeX. It was only added recently, so it might not be part of your current installation. Let me know if that's somewhat on point.

Ah, I see! Okay, I don't have latex installed on my system and just use a docker container:
docker run --rm -v $PWD:$PWD -w $PWD nanozoo/pdflatex:3.14159265--6263fbd pdflatex main.tex

After manually downloading the orcidlink.sty this works for me.
I think compiling the PDF via a docker container might be also helpful for others (keeps the system clean, or if someone does not want to install TexLive/MikeTeX for any reason).
I will try to add the missing style file to that docker container. If this works, I let you know here and then, if you want, you can also provide that command as an option to easily compile the template w/o any need of installing additional software (except docker ;) ).

Oh, cool! I did previously also have the file as part of the repo, but I'm trying to keep it as clean as possible for now. If you'd be keen to do a short write-up about how to work with LaTeX (and the template) with Docker, I can add it to the wiki. 😃


PPF-355: fix auto font size for auto font paragraph field

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (4f43e67) 100.00% compared to head (23b9f4f) 100.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff            @@
##            master      #356   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           19        19
  Lines          619       621    +2
=========================================
+ Hits           619       621    +2

Impacted Files
Coverage Δ

PyPDFForm/core/patterns.py
100.00% <ø> (ø)

PyPDFForm/core/utils.py
100.00% <ø> (ø)

PyPDFForm/core/filler.py
100.00% <100.00%> (ø)

PyPDFForm/core/font_size.py
100.00% <100.00%> (ø)

PyPDFForm/core/template.py
100.00% <100.00%> (ø)

PyPDFForm/wrapper.py
100.00% <100.00%> (ø)

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


"Feature can only be used in a .ts file." when switching the language mode to TypeScript in a .js file

VSCode Version: all versions, tested also on latest: 1.4.0-insider 50a0945d8de129472b154fa514ba5328897d3be1
OS Version: OS X 10.11

Steps to Reproduce:

Create a TypeScript file with a .js extension
Change the language mode inside VSCode to "TypeScript" (defaults to JavaScript in files with a .js extension)
Add some TypeScript specific code, e.g. interface ABC {}

Causes an error:

'interface declarations' can only be used in a .ts file.

Mentioned in the discussion here: https://github.com/Microsoft/TypeScript/issues/7926

This is a problem with the TSServer that infers the language mode from the extension. There are discussion to make the customizable.
Moving to TS team.

This issue was moved to Microsoft/TypeScript#9670


Schedule - Add first draft

Did this get generated from GitHub issues via a script?

Did this get generated from GitHub issues via a script?

It was via script :smiley:


Always got softbanned when trying to snipe pokemon.

What you mean by snipe?

Ah that word from .net version.
People can use trick to teleport to pokemon coords and encounter it then teleport back.
After that we can catch it normally without softban.

Yes apparently you have to start the fight and teleport back before throwing the first pokeball

Can you take a look at this PR https://github.com/PokemonGoF/PokemonGo-Bot/pull/1748

./pokecli.py --snipe=True
First run and it success.
But maybe need more refactoring work, please help to review.

@TheSavior Updated, please have a look again. Thanks.

Awesome!

Processing snipe targets from a configuration file on each tick would be awesome.

@douglascamata Please review this

@TheSavior @douglascamata @nikhil-pandey is something like watchdog & a config file is ok?

I think I defer to @douglascamata here. I'd want to make sure what we do is compatible with the websockets stuff which is probably coming in the next day or two. It is also possible he would want to merge something like that in the mean time and then he can go back and update it. Not sure, I'll wait for him.

I'm pretty sure we don't need to have user inputs in bot. It should be configured only from configs, because in that case we have ability to run it automatically by provision tools.

@Nihisil Right. I think we should use a configuration file with a list of destinations to snipe. The destinations are removed once they are processed. I don't exactly know what the plan is with websockets. I assume it will be used to perform actions from the web later on through API calls? If so, same config file can be updated later during API calls.

@douglascamata Could you please review this?

Please put the snipe coordinates inside the worker config parameter.

Also please consider adding the pokemon name along with each coordinate. This way snipping is more effective because it will search only for the pokemon you want to snipe and not for everything there..

@Nihisil @nikhil-pandey @douglascamata  Are you guys suggesting we add the sniping coordinates to the already jam packed config file? If so I would have to disagree with you.
I believe the use case intended was to allow sniping of pokemon while the application was already running, allowing you to pass individual locations as you discover them without having to close the application then open, alter, and save the config.json and again relaunch the application each time.
I like the idea of adding the pokemon name along with the coordinate, but I would suggest this remain an optional feature.
./pokecli.py —snipe=True —location=1.232,1.232 —"Dragonite"

@Kassius509 Maybe an option for config file location is what u need. You can share it among your Docker instances.

On 1 Aug 2016, at 5:46 AM, Kassius509<EMAIL_ADDRESS>wrote:
with

@Kassius509 all flags in config.json can be overwrote by console arguments, it is a main approach (at least we try to do it).

Just an idea, maybe we could work together with this site to use their database for sniping. That way we can just set sniping to true and automatically snipe the rare pokemon that get listed there.

I've tried this and it doesn't seem to work at all.
[12:02:13]  Found location: 40.773115629, -73.980903625
[12:02:14]  Teleport to location..
[12:02:15]  No pokemon found!

I've basically tested this with common pokemon that are scanned from PokemonGo-Map, I used their provided coordinates with this and every one will return "No pokemon found!".
I've also tried the coordinates provided by Rare Pokemon Spawns, then confirm whether the Pokemon actually exists by putting the location into the PokemonGo-Map, finally input the location to snipe_list.json, but again, always, "No pokemon found!".
What am I missing with this? If my coordinates are not specific enough, is it not possible to have a configuration to expand the searching for the teleported part? That might cause softban but you can have a brute force way of teleporting to and back for the search.

@nelsyeung fixed, because api was updated

@nelsyeung consider using this #1992 or checkout master branch on my fork

i get this error
./pokecli.py --snipe=true
[15:11:45]  PokemonGO Bot v1.0
[15:11:45]  No config argument specified, checking for /configs/config.json
usage: pokecli.py [-h] [-cf CONFIG] [-a AUTH_SERVICE] [-u USERNAME]
[-ws WEBSOCKET.SERVER_URL]
[-wss WEBSOCKET.START_EMBEDDED_SERVER]
[-wsr WEBSOCKET.REMOTE_CONTROL] [-p PASSWORD] [-l LOCATION]
[-lc LOCATION_CACHE] [--forts.spin FORTS.SPIN] [-w WALK]
[-k GMAPKEY] [-d DEBUG] [-t TEST] [-du DISTANCE_UNIT]
[-ec EVOLVE_CAPTURED] [-rt RECONNECTING_TIMEOUT]
[-hr HEALTH_RECORD] [-ac FORTS.AVOID_CIRCLES]
[-mcs FORTS.MAX_CIRCLE_SIZE]
[--catch_randomize_reticle_factor CATCH_RANDOMIZE_RETICLE_FACTOR]
[--catch_randomize_spin_factor CATCH_RANDOMIZE_SPIN_FACTOR]
[--map_object_cache_time MAP_OBJECT_CACHE_TIME]
pokecli.py: error: unrecognized arguments: --snipe=true
(i have downloaded your fork)

What do I type in to snipe a pokemon or add the location? theres no example besides this
   {         "type": "SnipePokemon"       },

@JohnnyOmm If you use his master branch, you simply need to add that to the task and it will prompt you to enter a location. However, I myself can't really find pokemon that way reliably. I would also recommend #1992 if you want sniping.
@drees5 For his master branch, you don't need to specify a command line argument, you simply add "type": "SnipePokemon" to your tasks. If you are using his feature branch, you do the same but also you have to cp the snipe_list.example.json file to snipe_list.json then you run python pokecli.py -spl configs/snipe_list.json to make it work.

Remove argument —snipe=True pls, just need to add task SnipePokemon in config.json

On 3 Aug 2016, at 9:53 PM, drees5<EMAIL_ADDRESS>wrote:
i get this error
./pokecli.py --snipe=true
[15:11:45] PokemonGO Bot v1.0
[15:11:45] No config argument specified, checking for /configs/config.json
usage: pokecli.py [-h] [-cf CONFIG] [-a AUTH_SERVICE] [-u USERNAME]
[-ws WEBSOCKET.SERVER_URL]
[-wss WEBSOCKET.START_EMBEDDED_SERVER]
[-wsr WEBSOCKET.REMOTE_CONTROL] [-p PASSWORD] [-l LOCATION]
[-lc LOCATION_CACHE] [--forts.spin FORTS.SPIN] [-w WALK]
[-k GMAPKEY] [-d DEBUG] [-t TEST] [-du DISTANCE_UNIT]
[-ec EVOLVE_CAPTURED] [-rt RECONNECTING_TIMEOUT]
[-hr HEALTH_RECORD] [-ac FORTS.AVOID_CIRCLES]
[-mcs FORTS.MAX_CIRCLE_SIZE]
[--catch_randomize_reticle_factor CATCH_RANDOMIZE_RETICLE_FACTOR]
[--catch_randomize_spin_factor CATCH_RANDOMIZE_SPIN_FACTOR]
[--map_object_cache_time MAP_OBJECT_CACHE_TIME]
pokecli.py: error: unrecognized arguments: --snipe=true
(i have downloaded your fork)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/PokemonGoF/PokemonGo-Bot/pull/1887#issuecomment-237249145, or mute the thread https://github.com/notifications/unsubscribe-auth/ADs-e0_dD2z_n8Jv_rjk9I9P7v0w4AsZks5qcKtmgaJpZM4JY2kH.

How do I test this?

@nelsyeung I used the regular dev version and im getting this error when I add it to config
pokemongo_bot.tree_config_builder.ConfigException: No worker named SnipePokemon defined

Just found this PR, since PokemonGo-Map has been ceased, is this still working? If yes, what is the source of the teleport list – I read the previous comments and haven't found any here

@tolinwei Check out this version of the PokemonGo-Map. If you want rare spawns try PokeSpawns. Also check out MoveToMapPokemon feature that's already out for the less specific sniping feature.

Should this be closed as the code it's based off is pretty old, and the movetomap task config option exists until #3672 is implemented?

Yeah, probably a good choice.
Thanks @enjoy2000, it will help provide us some base code to look at when building a new version.


Support eagerly configuring child routers

Lazily configuring child routers has a couple downsides:

We can't support hierarchical nav menus because the application's route structure isn't known until all child routes are activated.
More importantly, we can't support generating URLs for routes in "sibling" routers for the same reason.

If we let child routers be eagerly configured we could implement features that require knowledge of the whole apps routing structure. Ideas:

We could let route configs specify child router configs inline, so an App module could configure a larger hierarchy of routes.
We could let route config objects indicate that their modules will configure a child router that should be eager-loaded.

+1 this would indeed be a nice enhancement. :)

I would love this, as well. Until then, is there a workaround one could use?

+1 for this feature :)

+1 - fingers crossed for this!

+1 configuring routes in the ViewModel isn't really pretty

+1

For the next RC could we expected this feature ?

+1

Sorry, but I don't know of any plans to work on this before 1.0. I really want it too, but I haven't had much time to spare lately. If anyone wants to work on a PR I'd be more than happy to discuss the necessary changes and answer questions.

+1

+1

+1, any plans on this feature?

We are working towards v1 release in the next few weeks. After that we'll look at adding some new features to the router. This is high on the list.
(As this is open source, all community members are welcome to implement this and send a PR. That helps to move certain requests ahead faster.)

I think the solution for this and https://github.com/aurelia/router/issues/89 should address a more general scenario. Aurelia is so modular it comes natural to have an app built upon different external modules which may contribute to the route hierarchy. For example:
/       (main-app)
/admin  (admin-app)
/blog   (blog-app)
/wiki   (wiki-app)

Then blog-app and wiki-app may depend both on admin-app, and their view-models might need to generate a route to a view-model in admin-app (for example a user's profile). Problem is, the code of both apps do not know how main-app would configure the base path for admin-app (could be nested too)! The only assumption an app can make about a route of another app it depends on is that it should be mapped somewhere in the hierarchy.
The solution I propose in https://github.com/aurelia/router/issues/89#issuecomment-237277713 could work for this if its supposed to start from the AppRouter (which AFAIK is the root router of the app) and its generate function which would take a path of route names to let the router navigate through the path building the needed children and expanding the route templates it encounters with provided parameters.
I'm willing to work on this, but since it's a bit of a work and I need to study the router internals, I'd like to know if it could be an accepted solution or not 😉

@heruan We'd love to have you work on it. It's a very tricky problem, especially since the child apps may not even be loaded and you've got to account for parameters and wild cards at various levels.

I'm just studying the RouteLoader logic and since loading is involved it's clear that generate will never be able to return synchronously. I'm evaluating a more straightforward approach, of a RouteMapper which would be built with all the involved routers configurations and thus have a static hierarchy of url templates. I'll publish ASAP a repo with examples.

Yeah, whatever is done here, it has to be considered how it might affect bundling.
Lets say we have the root router, and a child router for each area of the site.
The app would also  be bundled this way; one core bundle, and one bundle for each area.
To make this work, I think we would need to move the configureRouter function to a separate file, such that this file can be included in the core bundle, despite being physically located in the directory of an area, thus keeping the solution nice and organized.
Having the configureRouter function in the view model of a router view is problematic, as the view model may, for whatever other reasons, need to reference other things within the area-specific bundle, thus preventing us from including it in the core app bundle - because if we did, it would effectively end up pulling the entire area bundle into the core bundle.
Maybe this could be as simple as moving the configureRouter function to an index.js file in the area folder (i.e. next to the view model it would currently be defined in), and simply have the router look for that file by convention?
Maybe this could somehow tie in nicely with https://github.com/aurelia/framework/issues/427?
Of course, the "look for index.ts" convention could be explicitly enabled with a per-route option, so it won't break any existing code.
Does that make sense?

I think this could be a good approach. One idea I had, just off the top of my head, was very similar. Basically, enable a separate mapper or some additional config at the app level that would provide info for generation. Child routers could maybe reference this information so they didn't need to repeat themselves. It's a difficult problem. We are open to ideas.

I came up with this: https://github.com/heruan/aurelia-route-mapper
and this example app: https://github.com/heruan/aurelia-route-mapper-example
The concept is to use a RouteMapper which is an extended RouteRecognizer and has a map(routes: RouteConfig[]) function which adds to the its recognized routes the ones passed as the argument, but also looks for a settings.childRoutes and recursively adds them prefixing names and routes accordingly.
Any external application or submodule could just export its routes and the main application will configure the RouteMapper.

@heruan Your solution has worked really well for me! Are you planning any more work on it?

@Kukks Yes, I'm currently working on a JavaScript object-mapper but I'm open to suggestions on how to improve the route-mapper!

@thomas-darling I also had the similar idea, how about just making only the routes a separate file like symfony and not the whole function which could be basically models/data holders. So this way, you can eagerly loaded.

@heruan Thanks for the good job. I tried the demo you provided and it worked nicely. @EisenbergEffect Can we go ahead to use this? Any idea if this will be added to one of the releases soon? Thanks

@bryanrsmith I'd love to see what you think of the solution that @heruan has come up with. It seems like we could build this into Aurelia without much work if we think it will solve the problem. Let me know what you think.

I found this to be good solution and simple and its working ...
http://www.jeremyg.net/entry/create-a-menu-with-child-routes-using-aurelia
https://github.com/jagonalez/aurelia-menu

@heruan I've ended up using your route-mapper and its concepts and made a package for my use case where I can generate child router applications registered without loading them.
https://github.com/Kukks/aurelia-modules-example
The examples themselves may  be a little out of date as I'm working on the src in another private project as part of the solution.

I have a modified version of solution suggested by @activebiz. First we have to gather all the routes from all modules and after that we can use the service to generate the parent/child route combination like this:
routeGeneratorService.generate([{ route: 'products', params: { id: 1 } }, { route: 'top', params: { top: 100 } } ])
The code: https://gist.github.com/tdamir/34861b86c015e3fb5c0e25d477b11bbb

Just my two cents but I believe the solution proposed by @heruan is more elegant.
As I mentioned in my blog post using the composition engine loads each module in the route config which could cause performance issues.
I don't believe it'll retrieve any routes added using the router instead of the RouterConfiguration.

I agree that loading modules in advance could cause performance issues and is a very hacky. I also agree that the solution @heruan proposed is more elegant and not that hacky. I might be missing something but I think that the route-mapper cannot handle parent+child navigation properly if the name of route parameters is the same (eg. parentRoute/{id}, childRoute/{id})?

I've forked a route-mapper and handled the problem I mentioned before. If someone needs it: https://github.com/tdamir/aurelia-route-mapper

Any update on when/if we can include any of these solutions into Aurelia itself so others can use it more easily? This seems like a huge win to just let it sit here in limbo. Any thoughts @heruan, @bryanrsmith, @EisenbergEffect?

I agree with @dasch88. @heruan's solution should be included in Aurelia ASAP unless there is something better that is being considered or worked on.

+1 I just struggle with that few days ago. @bryanrsmith @EisenbergEffect any plans of releasing this soon?

I recently created a little plugin (npm i aurelia-router-metadata) to provide router configuration through decorators, basically to replace most configureRouter code with convention-based configuration.
Eager loading of childRoutes wasn't my initial plan with it, but it turned out to be really simple to add in.
Essentially there's two decorators (they can both be applied to the same class):

@routable({..}) configures a ViewModel to expose a RouteConfig
@mapRoutables([PLATFORM.moduleName(".."), PLATFORM.moduleName(".." ]) configures a ViewModel to grab the RouteConfigs from specified modules and map those to its own router.

A quick run-through of how this works:

The @routable() decorator generates a RouteConfig based on information found on the class and passed into it. It uses aurelia-pal to find the moduleId of the class it's applied to, then uses that as the key to store the RouteConfig in a metadata resource using aurelia-metadata

The @mapRoutables() decorator needs these moduleNames passed into it. When configureRouter is called it tells aurelia-loader to load them, which invokes their decorators (recursively, if eager loading is enabled) and so the whole routing tree is stored in metadata after the root's configureRouter is done.

You can access the child routes through NavModel.config.settings.childRoutes and combine the route property with the parent nav's href into full URL's, and let the router take care of the rest.
While the modules are loaded upfront in order to execute all the decorators, I don't believe this will impact initial load time too much. Apart from loading the modules, nothing really happens (no component lifecycles are invoked, no child routers are configured, etc)
I'm not really sure where to take it from here, so I'm very much open to suggestions and feedback.
@EisenbergEffect @bryanrsmith My idea with this is to have a sort of extra "metadata layer" on top of the router to enhance its configuration and exposure capabilities, rather than actually adding functionality to the router itself. In that light, does it make sense to keep this in a separate package (I could rename it to something else if you don't like aurelia-router-metadata) or do you see this as potentially part of aurelia-router? Another consideration for me is that I'm simply more comfortable with TypeScript..

Hey @davismj Can you take a look at this? Seems interesting.

@fkleuver This is exactly what I had in mind from the start. It's going to be very at home with the .NET crowd.

I've uploaded a sample project to showcase how to utilize this for building a navigation menu. I'm using a value converter to traverse the routeconfigs and build the url which is still a bit hacky imo. Should I add in some route generator functionality to make the href part a bit cleaner? Opinions?

I come to the party quite late. I have implemented hierarchical nav menus since 2016 when I picked up Aurelia, and I had totally different view on this problem.
To me, having delayed router config is NOT a bad thing. Dynamic behavior is good, is flexible, please don't "FIX" it.
In my view, the problem here is not to show hierarchical menus of hierarchical router config. "Hierarchical menus" is pure view logic, is only presentation, you don't need to have a nested matching router model.
Here is how my top level router config would look like.
{nav: true, route: '', name: 'home', ...},
{nav: true, route: 'products', name: 'products', ...},
{nav: true, route: 'manage/products', name: 'manageProducts', settings: { group: 'Manage'} ...},
{nav: true, route: 'manage/users', name: 'manageUsers', settings: { group: 'Manage'} ...},
{nav: true, route: 'settings/plugins', name: 'pluginSettings', settings: { group: 'Settings'} ...},
{nav: true, route: 'settings/webhooks', name: 'webhooksSettings', settings: { group: 'Settings'} ...},

Instead of repeat.for="row of router.navigation", I do repeat.for="rowOrGroup of groupedNavigation", you can figure out the rest of the story. You can imagine there are not many code needed.

@huochunpeng

To me, having delayed router config is NOT a bad thing. Dynamic behavior is good, is flexible, please don't "FIX" it.

I completely agree with you there. And the example you gave does work fine in most smaller projects.

"Hierarchical menus" is pure view logic, is only presentation, you don't need to have a nested matching router model.

Maybe not for a shallow admin panel or line-of-business application where you know the structure upfront.
Consider e-commerce, CRM, ERP and other "category/data-heavy" types of web applications. I've worked on several large projects of this sorts with Aurelia, and I can guarantee your approach isn't always feasible.
This is a key point for me:
It's about automation and composition
To create a large-scale dynamic data-driven website completely in Aurelia with limited time and resources, manually keeping multiple layers in sync (server-and-client, view-and-viewmodel, navigation-and-routerconfig, etc) is the biggest time sink by a mile. How well this is managed is literally what makes or breaks a project.
I use code generation for things like services, models and view-models based on C# (long live Roslyn), and have lots of small composable template parts to let Aurelia stitch it all together based on the data at run-time. Aurelia's strength, for me, lies in its amazing ability to compose. It's like having a DSL for the UI.
Except when it comes to navigation?
It seems like it always needs to be done from scratch (more or less) so this is where I currently spend 80% or so of my time.
For data-driven back-end applications I ended up making width-oriented recursive navigation (think portal.azure.com) where each view is a narrow list of properties or navigable items. It's perfect for large and complex back-end applications.
You can't do this to visitors of a webshop, you want to give those extensive exploration options. I for one hate it when I need to click through multiple times just to see the next level of categories. And you can't do it to yourself to put all of that in the top-level route config settings when you've got a million products with arbitrarily deep category structures.
Conclusion:

It can make perfect architectural sense to let Aurelia recursively generate a big menu upfront
You need some form of (selective) eager loading for that, and
Currently it doesn't have this capacity
There are plenty of lucrative business cases (amazon has a brilliantly working navigation but they also have the resources to it with whatever's available)

So I'm committed to it for one.
I've tried a dozen different approaches and haven't quite found the sweet spot yet - nor have others by the looks of it. So now I try to generalize bits and pieces of my own solutions into a plugin, which I'll combine with solutions others have proposed, and mess around with it until it works in a way that makes sense and fills the "gap"

@fkleuver I understand your argument, you want the framework to help to organize the code.
My argument is, I might not need much from the framework in order to meet this. Since your complex structured routes are static anyway, why not push them up to top level routes definition. You can have some code to automate the routes creation without fighting the framework.
This is just my view, I understand everyone have different opinion and approach. And aurelia is permissive enough to tolerant me :-) I was very hard to breath in react.
BTW, we have something in common. I hate AZURE portal ui too with a passion (if that's what you mean).
FYI, my front-end apps are not small projects. The following stats is for (biggest) one of my apps. I have separate front-end domain logic lib and shared front-end ui lib (they have about 8k lines in addition). Similar to what you described, my apps are heavily driven by meta-data to compose the view. Just put here for reference.
~/b/bcx-broker-au-frontend on master ◦ cloc src/
     679 text files.
     676 unique files.
       3 files ignored.

github.com/AlDanial/cloc v 1.74  T=3.26 s (207.1 files/s, 16343.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
JavaScript                     343           4951            353          27948
HTML                           312           1288             24          14444
Sass                            21            816             24           3501
-------------------------------------------------------------------------------
SUM:                           676           7055            401          45893
-------------------------------------------------------------------------------

@fkleuver I think this is a 2.x level change. Appreciate the feedback, extremely useful.

@fkleuver I also had a much more rough and primitive automatic router configurator but I ran out of time to work on it and the tracing breaking change(PLATFORM.moduleName) wreaked havoc on it and made me scrap it. You can find an example repo of its usage here but I took down the main lib to not confuse people that found it hoping for a solution

@huochunpeng

you want the framework to help to organize the code.

Correct, and I acknowledge that in the end this boils down to coder preference and experience.
I put a lot of work into my codegen templates to make the output as robust and feature-rich as possible. Popular tools such as the Visual Studio TypeWriter extension and T4 templates generate one output file per input file. I've had to resort to wonky build scripts to concatenate some of these outputs and you get all these "don't touch it once it works" artifacts that (for me) make a project more volatile over time.
However even without code generation, I quite fancy the idea of creating the pages that I want, configuring everything related to those pages on those pages, then in my app just reference the moduleIds and everything just wires up like magic. Navigation included.
Aurelia already works like that for the most part (it does SO. MUCH. STUFF. under the covers) so why not have that magic for routing as well, is my thought here.
@Kukks That's a pretty neat concept, thanks for the link!
PLATFORM.moduleName (with webpack) was the direct trigger for me to create my plugin. I was dynamically creating creating routes in code and webpack suddenly starts tree-shaking off all my pages unless they've got those long unparameterized PLATFORM.moduleName calls. So if they need to be there, then they'll be the ONLY thing I'll have there and then it's acceptable I suppose.

@davismj makes sense. Has TypeScript been considered for a 2.0 release as well? I converted it as a learning exercise and feels promising to me. The type checking exposes everything ruthlessly :)

I've made several updates to the plugin  and in it's current form is actually serving me pretty well in a moderately sized app. Using it for the decorator convention-based configuration though, so I haven't really tested the navigation-templating side of things that much.
I'm guessing next steps are to make the regular configureRouter() completely replaceable with the decorators so it's just a matter of exposing more api and configuration. Core functionality seems to be good, but of course I would love to hear other opinions :)


one service has multiple traffic splits not working in 0.8.0

Please describe the Improvement and/or Feature Request

Scope (please mark with X where applicable)

New Functionality          [ ]
Install                    [ ]
SMI Traffic Access Policy  [ ]
SMI Traffic Specs Policy   [ ]
SMI Traffic Split Policy   [ ]
Permissive Traffic Policy  [ ]
Ingress                    [ ]
Egress                     [ ]
Envoy Control Plane        [X]
CLI Tool                   [ ]
Metrics                    [ ]
Certificate Management     [ ]
Sidecar Injection          [ ]
Logging                    [ ]
Debugging                  [ ]
Tests                      [ ]
CI System                  [ ]
Project Release            [ ]

Possible use cases

In 0.7.0, it works fine. But not work in 0.8.0.
I guess it relates with logic https://github.com/openservicemesh/osm/blob/main/pkg/catalog/routes.go#L89.
- apiVersion: split.smi-spec.io/v1alpha2
  kind: TrafficSplit
  metadata:
    labels:
      target: boot
    name: boot-gray
  spec:
    backends:
    - service: boot-prod
      weight: 100
    service: boot
- apiVersion: split.smi-spec.io/v1alpha2
  kind: TrafficSplit
  metadata:
    labels:
      target: boot
    name: boot-gray-282
  spec:
    backends:
    - service: boot-gray
      weight: 100
    service: boot

I think the logic of 'apex service' should be that if 'existing', append to existing WeightedClusters set (make apexServices variable as map, key is MeshService, and value is OutboundTrafficPolicy).
Current logic limits one service can have ONLY one traffice split.

What's the use case to have multiple traffic splits for the same FQDN? The check you see above is present to ensure conflicting traffic split policies for the same root service are not configured.
To avoid misconfiguration, it is advisable to list all the backends for the root service in the same traffic split policy. I don't see a good use case to support multiple traffic split policies corresponding to the root service. The reason this might be working in v0.7 is because if no checks in place, doesn't mean it was the intended behavior.
@michelleN , do you see a use case for multiple traffic splits for the same root service? Eventually, such ambiguity must be resolves using a validating webhook for SMI.

@shashankram I think the split is not only applicable for canary release. Canary release usually has traffic splitted between two versions, and is implemented by route. Widely, route can be used among more than two versions, like bellow.
Some times, the environment resources are offten limited. And services may have multi versions being tested in one environment. Assuming that we have a flow A-B-C, and some of them have multi versions: A(A-v1,A-v2, A-main), B-main, C(C-v1, c-v2, c-main), main means the default/main branch.
The route is header with v1 will fall into v1 flow, and v2 is v2, v3 is v3.
Then for FQDN, the will be two traffic splits, one is for v1 and another for v2.
We can call this 'flow dyeing', and the colorful flow likes swiming lane.
I think the route is NOT ONLY for canary/AB/blue-gray testing only. It should be more widely used.

@shashankram I think the split is not only applicable for canary release. Canary release usually has traffic splitted between two versions, and is implemented by route. Widely, route can be used among more than two versions, like bellow.
Some times, the environment resources are offten limited. And services may have multi versions being tested in one environment. Assuming that we have a flow A-B-C, and some of them have multi versions: A(A-v1,A-v2, A-main), B-main, C(C-v1, c-v2, c-main), main means the default/main branch.
The route is header with v1 will fall into v1 flow, and v2 is v2, v3 is v3.
Then for FQDN, the will be two traffic splits for service A, one is for v1 and another for v2.
We can call this 'flow dyeing', and the colorful flow likes swiming lane. The traffic may be splited two, maybe more.
I think the route is NOT ONLY for canary/AB/blue-gray testing only. It should be more widely used.

Traffic splitting in SMI is simple, you pick the root service's FQDN for which you want to split traffic, and specify the backends to split traffic to. When you decide to change your traffic splitting configuration, you simply update the existing traffic policy spec corresponding to the root service. This is simple and easy to configure.
Allowing multiple traffic split for the same service FQDN opens the door for misconfiguration, and this can become hard for users to spot and debug.
Currently, with v1alpha2 of TrafficSplit, only canary splitting is possible. With v1alpha4 of TrafficSplit, A/B testing with route matching on traffic splitting will be supported. When route matching can be linked with traffic splitting, you can specify a route match on headers, methods etc.
To be able to do traffic splitting based on routes matching, the following 2 issues need to be resolved:
https://github.com/openservicemesh/osm/issues/2368
https://github.com/openservicemesh/osm/issues/2369
@addozhang let me know if this clarifies your request.

Totally agrees with "Traffic splitting in SMI is simple, you pick the root service's FQDN for which you want to split traffic".
But I think what we should do is not closing the door, it is asking a verification check to avoiding miconfiguration for users insteadl.
The logic in v0.7.0 is ignoring multi splits for one FQDN checing, and combine them at last. That approach is better, and it follows the envoy routing design.

The logic in v0.7.0 is ignoring multi splits for one FQDN checing, and combine them at last. That approach is better, and it follows the envoy routing design.

SMI is not meant to follow Envoy routing design. OSM implements SMI with Envoy as the proxy. Envoy allowing something does not imply SMI should behave one way or the other.
As I mentioned before, route matching with traffic splitting will be available with v1alpha4 of SMI traffic splitting.
Is there a reason you can't specify all the backends in a single traffic split resource?

In v1alpha4 split, will it support mult splits for same FQDN?


python36: enable ctypes.util.find_library patch

Motivation for this change
Fixes #109079
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109262 run on x86_64-darwin 1

1 package marked as broken and skipped:

multibootusb

2 packages failed to build and are new build failures:

doh-proxy: log was empty
plover.dev: log was empty

2 packages built:

python36
python36Full

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 109262 run on x86_64-darwin 1

1 package marked as broken and skipped:

multibootusb

2 packages failed to build and are new build failures:

doh-proxy: log was empty
plover.dev: log was empty

2 packages built:

python36
python36Full