Exception in thread

Hi,
I've tryied your program but I've this problem:
nzbverify version 0.3.0, Copyright (C) 2014 Weston Nielson wnielson@github
Found 1 primary host
news.xxxxx.com
Found 0 backup hosts
Created 2/2 threads
Parsing NZB: tests/nzbs/ubuntu-12_04-dvd-amd64_iso.nzb
Found 43 files and 2878 segments totaling 1.75 GB
Available:    0 [0.00%], Missing:    0 [0.00%], Total:    0 [0.00%]Exception in thread thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/home/nzbverify/nzbverify/thread.py", line 32, in run
connection = self.server.create_connection()
File "/home/nzbverify/nzbverify/server.py", line 37, in create_connection
self.conf.get("use_ssl"), self.conf.get("timeout"))
File "/home/nzbverify/nzbverify/nntp.py", line 58, in init
if 'STARTTLS' in self.getcapabilities():
TypeError: argument of type 'NoneType' is not iterable
Available:    0 [0.00%], Missing:    0 [0.00%], Total:    0 [0.00%]Exception in thread thread-0:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/home/nzbverify/nzbverify/thread.py", line 32, in run
connection = self.server.create_connection()
File "/home/nzbverify/nzbverify/server.py", line 37, in create_connection
self.conf.get("use_ssl"), self.conf.get("timeout"))
File "/home/nzbverify/nzbverify/nntp.py", line 58, in init
if 'STARTTLS' in self.getcapabilities():
TypeError: argument of type 'NoneType' is not iterable
Have you an idea?

This version is not stable yet.  Try the version on PyPi and see if that works for you.

Hi,
Thanks for your reply. I was using the github version because is in 0.3.0
instead of the version in Pypi who is in 0.2.0!
I'll test this version and come back to you.
Regards
2017-05-03 15:21 GMT+02:00 Weston Nielson<EMAIL_ADDRESS>
This version is not stable yet. Try the version on PyPi
https://pypi.python.org/pypi/nzbverify and see if that works for you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wnielson/nzbverify/issues/2#issuecomment-298908563,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIE-rnsUHNM8Wmxj90WYNU5H5l18VUtrks5r2H9CgaJpZM4NPOft
.

I need to update the README to note that this is a work in progress and unstable at the moment.  Report back if you have issues with 0.2.0.

Problem is different but perhaps due to my use:
nzbverify -sxxxx.xxxx.com<EMAIL_ADDRESS>-p -P119 -n1 tests/nzbs/ubuntu-12_04-dvd-amd64_iso.nzb
nzbverify version 0.2.0, Copyright (C) 2012 Weston Nielson wnielson@github
Password:
Created 1 threads
Parsing NZB: tests/nzbs/ubuntu-12_04-dvd-amd64_iso.nzb
Found 43 files and 2878 segments totalling 1.75 GB
Available:    0 [0.00%], Missing:    0 [0.00%], Total:    0 [0.00%]Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/home/nzbverify-0.2.0/nzbverify/thread.py", line 26, in run
self.server = nntp.NNTP(**self.credentials)
File "/home/nzbverify-0.2.0/nzbverify/nntp.py", line 58, in init
if 'STARTTLS' in self.getcapabilities():
TypeError: argument of type 'NoneType' is not iterable
Available:    0 [0.00%], Missing:    0 [0.00%], Total:    0 [0.00%]^C
Stopping threads...done
I'm sure of the username and password given (but login have special character like @ and )
Thanks for your help

I just added version 0.2.0 to Github.  Can you please checkout that copy and give it a go?

Thanks a lot it's working fine with this version but It's not the version 0.2.0 but 0.2.1

Thanks for testing and reporting this.  I've uploaded the fixed version to PyPi.


Support Parser::Ruby32

Parser gem has been started development for Ruby 3.2 (edge Ruby).
https://github.com/whitequark/parser/pull/841
This PR supports Parser::Ruby32, the early adapters will be able to try edge Ruby with RuboCop.
And this PR update to require Parser <IP_ADDRESS> or higher, which contains Parser::Ruby32.
https://github.com/whitequark/parser/blob/master/CHANGELOG.md#v3110-2022-02-21

Thanks. Released v1.16.0


add breaking test case

GCP added a new field that does not cooperate with the NamedTuple instantiation, this uses the existing NamedTuples but filters to just the fields it understands.
New fields may be handled in a followup change. Missing fields should be treated the same.

Should we update the version to something like gcp-flowlogs-reader==0.9 with this?


added Dog Breed Classification using CNN

Description
This project aims to classify INPUTED dog image according to its breed into below 10 different categories using CNN :
Golden Retriever
German Shepherd
Labrador Retriever
Bulldog
Beagle
Poodle
Rottweiler
Yorkshire Terrier
Boxer
Dachshund
with an accuracy of 97 % using CNN  with 0.05 average loss value. The CNN model is trained with 10 epochs . The process goes from data collection and search , data processing , feature engineering ,model selection and evaluation to deployment.
The output is predicted dog species of inputted image along with dog breed information like scientific name, predicted dog specie's height ,weight , life span , nature and temperament etc.
i have done complete data analysis and model training in .ipynb file and made UI application with the help of Streamlit as follows. i have also provided complete readem.md for reference and setup[ as well as output folder which contains entire graphs ,plots and visualizations that i have applied in my EDA part.
https://github.com/Recode-Hive/machine-learning-repos/assets/137288727/919d856f-501b-4627-b0a9-4baa7f8181b8
Fixes #456
Type of change

[X] Added a new machine learning frameworks, libraries or software.

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings

@sanjay-kv  please merge this PR along with level and label of gssoc , this will resolve issue no 456


Fix code indentation

Cool, thanks for taking the time to fix this, @PoLaKoSz! 👍
[@]nunit/samples-team  Given this is only whitespace changes, I'm going to merge without waiting for a second review. 🙂


Update how-to-install-iot-edge-windows-with-linux.md

Adjusting to VMware for consistency within the documentation.

@sbkuehn : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thank you for this update @sbkuehn
#sign-off


Assign roles with lower rights than admin

So users can use certain commands, and have no access to others.

In #40

As far as the bot goes towards functionality, the bot can really do as much as the user can via Trello so this feature wouldn't be all that necessary.

If you are talking about managing webhooks, then only give the role to users you want to have set up. At the moment, not having the Trello role prevents you from editing your own boards in your server, this may change in the rewrite so people with the Trello role will be restricted to just server-related changes (webhooks, server locale, etc.)


custom_options with Rails.logger.error

I am using Rails.logger.error "some error" in my controller's action.  I can see the resulting JSON-formatted log in development.log but it completely bypassed the custom_options code where I add in the params values.
Is this working as designed?
Rails 5.0.x

I'll take a stab at this one, as I believe it's working as designed here:
Lograge doesn't mess with direct calls to a logger. It functions by capturing a lot of the events that Rails uses to trigger log writes and silencing them or incorporating them into its own log output.
I think the point of Lograge is sort of "one log line per request" but if you wanted to log your own messages in its format, you could imitate what it's doing here:
https://github.com/roidrage/lograge/blob/master/lib/lograge/log_subscribers/base.rb#L22-L23

@dleavitt Thanks for the response.
I think we are looking at it not so much as lograge messing with other messages, but the ability for other messages to be inserted into the lograge output.
A specific use case is an exception in the middle of the request/response cycle. Because lograge does not mess with it, the exception hits the logs immediately--before the lograge entry that marks not only the start but the end of request response cycle. As a result, you need to check the lograge timestamp and subtract the duration rails took to generate the response in order to see if the stacktrace entry falls in that window and my have been caused by that particular request.
What I was looking for was the ability to "annotate" the lograge entry on the fly, as it were, so I could capture an error and have some messaging inserted into the logs as part of the request/response log entry in order to definitively connect the cause and the effect.
Granted, we use json formatted logs plus a log aggregator, so having "one log line per request" be a very long log line is not as much of a concern for us as having error messaging dropped in the context as the request/response log entry.
It felt like you were suggesting that a 2nd log entry be created with the same request/response info, but would you say that if we add info to the ActionController payload by overloading
https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/instrumentation.rb#L87-L102
we could then use a custom data extractor and formatter to pull it out again and log whatever we want?
https://github.com/roidrage/lograge/blob/master/lib/lograge/log_subscribers/base.rb#L21-L22

I think the point of Lograge is sort of "one log line per request" but if you wanted to log your own messages in its format, you could imitate what it's doing here:
https://github.com/roidrage/lograge/blob/master/lib/lograge/log_subscribers/base.rb#L22-L23

I tried @dleavitt 's suggestion. That does bring in the same "format", in that you'll get something like

key1=value1 key2=value2

but that's really missing the heart of what the original request is. There's useful information (like user_id) that I've set up via config.lograge.custom_options and append_info_to_payload(payload), and this suggestion doesn't pull in those fields. These fields are pulled into our default rails logs, so we get those instrumented on every request (for example). But I want those fields to be included on lines when I call rails.logger.error.
For us to use https://github.com/roidrage/lograge/blob/1729eab7956bb95c5992e4adab251e4f93ff9280/lib/lograge/log_subscribers/base.rb#L22-L23 as an example for how to include custom_options in our output from rails.logger.error, we would have to execute Lograge::LogSubscribers::Base.extract_request, specifically the line data.merge!(custom_options(event)). I don't know how to get the event variable though in order to extract the custom options.
I'm excited to see if #303 can be revived in order to offer this functionality though!
Thanks for all the work the team has put into this so far.


How can I get gyro and accel values from L515 in C#?

Required Info

Camera Model
{ L515 }

Firmware Version
<IP_ADDRESS>

Operating System & Version
{Win 10}

Kernel Version (Linux Only)
-

Platform
PC

SDK Version
{ 2.47.0 }

Language
{C#}

Segment
{Robot}

How can I get gyro {Quaternion} and accel values from L515 in C#?

Hi @asheesh1996   The link below contains references for accessing IMU streams in C# using callbacks or through the RealSense SDK's Low Level API.
https://github.com/IntelRealSense/librealsense/issues/8746#issuecomment-814030029
There is also information in the link below about accessing the IMU through Unity, which is C#-based.
https://github.com/IntelRealSense/librealsense/issues/5993#issuecomment-596358982

Hi @asheesh1996  Do you require further assistance with this case, please?  Thanks!

HI @MartyG-RealSense, I found the solution for my issue, after receiving the frames (https://github.com/IntelRealSense/librealsense/issues/8746#issuecomment-814265930) I had to process them to get rotations in Euler then converted it to Quaternions  (link to example in c++)
Thanks for help

Great to hear that you found a solution, @asheesh1996 - thanks very much for the update and for sharing the details of your solution with the RealSense community  :)


Deploying template based app to Service Fabric

Debugging and Running the template locally works great on my local machine, however when I deploy the same app into a Service Fabric cluster is fails with the following error
Exception: Call to Node module failed with error: If you use aspnet-prerendering >= 2.0.0, you must update your server-side boot module to call createServerRenderer. Either update your boot module code, or revert to aspnet-prerendering version 1.x
I suspect this is because it's looking for a node_module which I'm not shipping as part of the SF packaging process but I would have though any files that were needed would be bundled and be present under the dist folder.
Can anyone recommend what I could do to track down what I'm missing, seems like shipping the node_modules folder into the cluster is a bad idea.

If I disable the Server Side rendering then it works well both inside and outside SF. I'm going to see if I can monitor the file system and look for files it asks for but cannot find.

Is it setup to be using Node 4+? Wondering if that might be playing a part in this as well.
Interesting the app works otherwise though, since that is a dependency and it seems like everything else installed. Let me know! Looking into it on my end as well.

Ah good, question, I'm going to sound dumb now but to use SSR I would need to the SF cluster machines to have Node installed right ?
This might not be an option for us.

 Yes so what it does is creates a small node process to run Universal (which ends up serializing the app).
I believe it's possible on SF isn't it?
At worst case for now, you can simply disable SSR for now, I'll see if I can get some more information on this issue.

Oh yes, I forgot about this capability, thanks for pointing this out and being so responsive :-)
We are early days in this project so I'll disable for now and move this into the backlog.
Loving the template, looking forward to showing some of my web developers some of the pain this removes for us.

@johnkattenhorn Did you update the aspnet-prerendering by any chance in your package.json? What version do you have in there?

I didn't as I was trying to be careful about mimicking exactly the same versions from the repo. My npm reports 1.0.7.

I'm lucky it's didn't work on my developer workstation as I have node installed otherwise I would have pushed the code and would have failed inside the cluster right now :-)

Strange!  That error comes from the 2.x warning, but the repo is still calling the 1.x signature. Not sure how that error is appearing. Interesting

What's a good way to double check I've not made a mistake ?

That looks fine there!
Hmm
Also someone told me this about SF & Node: "when we had a node service on SF, we simply embedded the node.exe." I'm not sure if that helps you any? I'm not familiar with SF unfortunately, haven't gotten around to using/experimenting with it yet.

I think embedding would be the best way going forward. I've added an item to our backlog but server-side rendering is not high on our project list right now (it will be though for something else).


Hebrew diacritical marks offset in Safari and Edge

Started with the Quickstart, changed the html tag to , and added the text "לְדַפדֵף הפתרונות שלי עֶזרָה הֲגָנָה" to the page content. In Safari & Edge, the diacritical marks are offset to the left:

Safari 11.1.2 on top; Chrome 68 on bottom; Edge offset like Safari; FF 61 & IE 11 OK. Sample website: http://localgovtemplates2.esri.com/support/fonts/he.html
Thanks to @akudinova477, who discovered this.

@paulcpederson, if I use the debugger to remove "Avenir Next <W01,W00,>", the next font family is Avenir, and it displays correctly in both browsers.

Are you on a Mac/do you have Avenir installed on your system. Most likely when you remove the fonts from the font stack it's just falling back to a copy of Avenir which you have on your system. Users that don't have that font (windows users, android, linux, etc) won't see the correct font at all in that scenario. I am trying a couple things locally and hopefully I'll figure out the issue.

Oops.
Safari test is on a Mac; Edge test is on Windows 10.

@paulcpederson --no JSAPI for test page (copied below); JSAPI 4.8 + calcite-web + globalNav for webapp where it's also visible.
<!doctype html>

    <meta charset="utf-8">
    <meta content="IE=edge" http-equiv="X-UA-Compatible">
    <meta name="viewport" content="width=device-width, user-scalable=no">
    <title>Your Title</title>
    <link rel="shortcut icon" href="/img/favicon.ico">

    <link rel="stylesheet" href="https://s3-us-west-1.amazonaws.com/patterns.esri.com/files/calcite-web/1.0.1/css/calcite-web.min.css">

      ArcGIS תעשייה ספציפית מפות ויישומיםדף הבית לְדַפדֵף הפתרונות שלי עֶזרָה הֲגָנָה

thanks @MikeTschudi , that is very helpful

@paulcpederson The test program is hosted at http://localgovtemplates2.esri.com/support/fonts/he.html

@MikeTschudi I figured this out: when exporting from monotype, OpenType features must be enabled so that these work as expected. Not totally sure why this only affected Safari, I guess chrome's rendering engine is slightly more capable of figuring it out even when the OpenType stuff isn't there.
I've exported the hebrew font files out again, and will let you know once they make their way to the CDN.


Milestone 4 tasks

In this milestone, we focus on getting ready for the release and setting up branches for future development

[x]  Add header flags that need to be supported for compatibility
[x]  fork main branch to 1.0 branch for release, 1.x branch for future releases
[x]  delete all other unwanted branches
[x]  Accept either ELASTICSEARCH_URL or OPENSEARCH_URL
[x]  Add status badge
[x]  Add simple connection code to README to get started and get reviewed from Andrew
[ ]  Able to generate desired artifacts

I think we can close this.


Use Django 4 in dev

Migrations are being created in projects that use Django 4 and giant-news, so we are updating at source to avoid

Actions are due an overhaul soon so expected to fail as they are outdated


[RFD] Introduce a simple node orchestration API to simplify interaction with Nodes for the Supercomputer Institute

With the current API spec, adding nodes is a bit cumbersome for our students to navigate.
Our microservices optimize for adding/removing nodes on the fly through a continuous discovery system based on Redfish.  The appearance of a new Redfish Endpoint in SMD triggers a discovery process that follows the Redfish tree of whatever device is connected.  That applies as easily to a chilled water system as it does to a compute node.  This flexibility is great when operating a large heterogeneous system, but confusing at the point where students need to bootstrap a small cluster and operate it for a short lifetime.
With so many concepts to teach, I don't think it's reasonable to include this extended and flexible system.  Our students will want to be able to add nodes directly to the system and query the system in one place to understand the compute node makeup of the system.
I am proposing the creation of a thin node orchestration API that presents a Node-centric view of the world to students and converts their intent to smd/bss commands on the backend.  This go microservice will support filtered CRUD operations on a Node schema that looks like this:
type BootProfile struct {
	// The internal UUID of the node
	ID uuid.UUID `json:"id,omitempty"`
	// Public SSH Key for access to the node
	SSHKey string `json:"ssh_key,omitempty"`
	// AdminUsername is the username for the admin account on the node (non-root users will need properly configured sudo access)
	AdminUsername string `json:"admin_username,omitempty"`
	// UserData is the Cloud-Init user-data for the node
	UserData string `json:"user_data,omitempty"`
	// The url for the root filesystem image for the node which will be used by BSS to create the boot script
	ImageURL string `json:"image_url,omitempty"`
	// The url for the kernel image for the node
	KernelURL string `json:"kernel_url,omitempty"`
	// The url for the initrd image for the node
	InitrdURL string `json:"initrd_url,omitempty"`
	// Kernel parameters for the node
	KernelParams string `json:"kernel_params,omitempty"`
}

// ComputeNode represents an individual node, physical or virtual, that we can boot and run jobs on
type ComputeNode struct {
	// The internal UUID of the node
	ID uuid.UUID `json:"id,omitempty"`
	// The XName of the node following xname standard from github.com/Cray-HPE/hms-xname
	XName string `json:"xname"`
	// ManagementIP is the IP address of node on the management network
	ManagementIP string `json:"management_ip,omitempty"`
	// BMCIP is the IP address of the node's BMC
	BMCIP string `json:"bmc_ip,omitempty"`
	// BMCMAC is the MAC address of the node's BMC
	BMCMAC string `json:"bmc_mac,omitempty"`
	// BootMac is the MAC address of the node's boot interface
	BootMAC     string      `json:"boot_mac,omitempty"`
	BootProfile BootProfile `json:"boot_profile,omitempty"`
	// Architecture of the node
	Arch string `json:"arch,omitempty"`
	// LastUpdated is the last time the NodeSpec was updated
	LastUpdated time.Time `json:"last_updated,omitempty"`
}

type NodeGroup struct {
	// The internal UUID of the group
	ID uuid.UUID `json:"id,omitempty"`
	// Description of the nodegroup. Intention and Usage Information
	Description string `json:"description"`
	// List of nodes in the group
	Nodes []ComputeNode `json:"nodes"`
	// LastUpdated is the last time the Group was updated
	LastUpdated time.Time `json:"last_updated,omitempty"`
}

Through these three structures, I believe we can capture the needs of a node-centric student and convert those into upstream api calls.

Please add this node and set it to boot my image
Please create a group of nodes and set the SSH key for root to my public key on all of them
Please reboot all nodes in my group
etc...

What am I missing?  Should we proceed?

I think it'd be nice to have an input wrapper as well, so the students can write in a standard data format (I'm a yaml enjoyer), and run something against it to create their resources.
It'd also replicate how other microservice architectures do their resource ingestion (ie kubectl apply -f yourcoolpodshere.yaml) .

This work is related to the schema work in #39 and the linked repositories.


⚠ Bofrost.be has degraded performance

In 2445189, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1582 ms

Resolved: Bofrost.be performance has improved in 92ee417.


[3.0.15] TransformConsume doesn't seem to properly decrement stacks

I know it isn't in the wiki; I'm referencing the code here: https://github.com/jaredlll08/CraftTweaker/blob/master/MineTweaker3-API/src/main/java/minetweaker/api/item/IngredientTransform.java#L98-L116
    recipes.addShapeless(<primal:flint_hatchet>,
        [<primal:flint_hatchet>.anyDamage().marked("hatchet").noReturn(), <druidry:branch>.transformConsume(1)],
        function(output, inputs, crafting) {
            return inputs.hatchet.withDamage(max(0, inputs.hatchet.damage - 50)).withTag(inputs.hatchet.tag);
        });

So, the recipes I'm trying to make involve repairing at item. For some reason, it will not properly reduce the size of the stack at all with the recipe I'm using, nor will it destroy the tool original item I'm trying to repair, so I am using .noReturn() on the tool and trying to use .transformConsume(1) on the other items. with one item in the stack, the recipe more-or-less works, consuming the one item in the stack (though, it returns a stack with zero items). With two items in the stack, no items are consumed. With three or more items in the stack, the stack size gets larger.
So, I tried to find a different method. I did notice that in the above link that the comment suggests trying to verify that the stack has enough items to consume the required amount of items for the recipe. However, I couldn't find a way to do that. .withAmount(2) presumably only works for a stack of 2, but I couldn't get that to work in my recipe because it is an ore dictionary entry rather than an itemstack.
Going back to trying to reduce the size of the stack by one, I tried using the function's "inputs.sticks.amount()" function, but there is no function that I could see that would return the original stack's size (IE: "inputs.sticks.getAmount()"). If you've any suggestions on how to fix this issue on my end, I'm all ears.

fixed in alter versions


Don't require all the maps for initial startup

Is your feature request related to a problem? Please describe.
When first launching the application, it took 20 seconds to download all the maps and things. This is very frustrating to me, and it's not clear that it's even working. This was very frustrating to me. It will probably get worse in the future as Among Us adds new maps (5th one coming today or soon)!
Describe the solution you'd like
Don't block the application startup on the maps. Instead show the selector, and download the maps then. (Maybe you can also download the other maps in the background).
Describe alternatives you've considered
None.
Additional context
N/A

Thank you for your report, I will take a look at this. I thought I had addressed this before, but most of gotten lost.


Search results in editor cannot ctrl click the file location and line of code

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: Version: 1.78.0-insider (system setup)
OS Version: Windows 10

This only happen to the latest version of insider (1.78), the current vscode is still working
Steps to Reproduce:

Search a keyword
Click open in editor
Results shown in editor but now unable to ctrl click "Follow link" to go to the file or the line of code

@alexdima is this a regression in link detection? I also notice that I can't ctrl+click on imports in the newest insiders.

double clicking to go to the file also stopped working

I ran npx run vscode-bisect and it points to this commit range: https://github.com/microsoft/vscode/compare/3e0b354932b8ddeb099c68ed3b7dfac25350dde2...ea0e3e0d1fabf0622fbcacdc4fe1c7b73b34dc0b

When I try to add the activation event back to the package.json, I get a squiggle that it isn't necessary and that I should remove it.

I do not see this in the latest insiders, do you still repro? I updated the extension linter to not emit a warning in https://github.com/microsoft/vscode/commit/413f98e4995d0c509c3b02bfd7498cbdd317b90c (the same commit which changes the implicit activation behavior):

Is there any fix for this available?


Request add new Wallet Adapter

Hi Solana Labs manager,
Now  i am finding how to add new wallet adapter into your project. I don't find any form or guideline to request or submit our wallet adapter. Could you support me find where guideline or form to request new wallet adapter ?
Thank you !

I see you created https://github.com/solana-labs/wallet-adapter/pull/379 :)


UserInput setting is missing

There is no option to configure the "User Input" setting for an Agent as shown here in the console UI

@mirodrr It is not configurable at the moment as it can't be triggered with the API call and only works through the console. Just wanted to make sure we are on the same page - I do work for AWS but this a personal project and not affiliated with the Bedrock service team. I try to make changes and look for updates in my free time but if you see there are updates being made that you would like to incorporate you are free to make the updates and submit a PR so I can merge it. Thank you!

Ah okay, then there's nothing you can do about it. Thanks for the info, you can close this ticket.

Nothing can be done about this currently. Bedrock team needs to update their API. Closing


EAFP: Zero division check is non-pythonic

The following code in the dived_by method in episodes 3-14 is non-pythonic and can be fixed
Sorry if I'm rude: I'm new to GitHub:
if other.value == 0:
	return None, RTError(
		other.pos_start, other.pos_end,
		'Division by zero',
		self.context
	)

	return Number(self.value / other.value).set_context(self.context), None

to
try:
    return Number(self.value / other.value).set_context(self.context), None
except ZeroDivisionError:
   return None, RTError(
	other.pos_start, other.pos_end,
	'Division by zero',
	self.context
    )

And this is an issue because...?

...Zero division check is non-pythonic!
Anyway, I realized the repository was "archived", so I'm gonna close this issue


obj-c Realm Bug

Bugs:
I found a bug on objective - c Realm, someone is proposed.Now I tell you how to reproduce this bug: through a for loop, create some data stored, and then removes the first element of the database, you will find that the last element will be moved to the location of the first element.Please take a look at this bug.
Thanks for helping us help you! :-)
Please remove this line and all above before submitting.

Goals
Element position should not be changed
Expected Results
Element position should not be changed
Actual Results
What did happened instead?
e.g. the stack trace of a crash
Steps to Reproduce
through a for loop, create some data stored, and then removes the first element of the database, you will find that the last element will be moved to the location of the first element.Please take a look at this bug.
Code Sample
RLMResults <0x7be70c00> (
[0] GSUploadInfo {
fileName = 查良镛1;
MIMEType = txt;
localPath = zly.realm;
fileUUID = 282DE6EF-F5AF-4078-9D66-F13280DDCEA1;
servicerAddress = 192.168;
uploadDate = 2016-07-16 09:13:20 +0000;
uploadState = 100;
fileSize = 0;
uploadOffset = 0;
progress = 0;
},
[1] GSUploadInfo {
fileName = 金庸永恒;
MIMEType = doc;
localPath = /d/jy.doc;
fileUUID = 78A97F2D-F9A5-4E9C-80EC-A287D2B298FE;
servicerAddress = (null);
uploadDate = 2016-07-16 09:05:38 +0000;
uploadState = 100;
fileSize = 0;
uploadOffset = 0;
progress = 0;
},
[2] GSUploadInfo {
fileName = 查良镛;
MIMEType = txt;
localPath = zly.realm;
fileUUID = 4EAC5791-0959-4883-9D11-96A81604B1BB;
servicerAddress = 192.168;
uploadDate = 2016-07-16 09:13:07 +0000;
uploadState = 100;
fileSize = 0;
uploadOffset = 0;
progress = 0;
}
)
GSUploadInfo * info = [[GSUploadInfo objectsInRealm:GSUploadRealm() where:@" fileName = '查良镛1' "] lastObject];
        [GSUploadRealm() transactionWithBlock:^{
            [GSUploadRealm() deleteObject:info];
        }];

NSLog(@"%@",[[GSUploadInfo allObjectsInRealm:GSUploadRealm()] description]);

[0] GSUploadInfo {
fileName = 查良镛;
MIMEType = txt;
localPath = zly.realm;
fileUUID = 4EAC5791-0959-4883-9D11-96A81604B1BB;
servicerAddress = 192.168;
uploadDate = 2016-07-16 09:13:07 +0000;
uploadState = 100;
fileSize = 0;
uploadOffset = 0;
progress = 0;
}
[1] GSUploadInfo {
fileName = 金庸永恒;
MIMEType = doc;
localPath = /d/jy.doc;
fileUUID = 78A97F2D-F9A5-4E9C-80EC-A287D2B298FE;
servicerAddress = (null);
uploadDate = 2016-07-16 09:05:38 +0000;
uploadState = 100;
fileSize = 0;
uploadOffset = 0;
progress = 0;
},
Version of Realm and Tooling
In the CONTRIBUTING guidelines, you will find a script,
which will help determining these versions.
Realm version: 1.0
Xcode version: 7.3
iOS/OSX version: 8.4

This is expected behavior. Objects of a given type are not stored with any inherent order. You can achieve ordering in two different ways:

Sort the objects when fetching them from the Realm.
Store the objects in a RLMArray property of another class. Arrays are inherently ordered.

Thank you very much.Believe Realm will be better.


Fix classroom for similar students

While using filters in the Users View. If Class A and Class B have the same students. If we use the filter for Class B, then it displays the name of Class B in the select field.

Fixed:

Waow, very complex issue to find. Thanks.


How can I extend an existed language server?

I am going to create a language server which is pretty similar to javascript. Is there a way to reuse existed javascript server for highlighting, auto complete, syntax error etc?

Could you let me know how to apply an account in the slack workspace?


[CursorInfo] Always add module name to response

Do not skip adding module name, regardless of whether its the current
module or not. Clients can decide themselves how to handle module vs
source positions.
Resolves rdar://77003299

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - a006806d746e2966ed0c359dae4dfb6e7ea8a148

What's the problem being solved here?  Non-Apple folk can't read rdars.
The current design point of omitting the module name for declarations from the module being queried (the IgnoreModule part) is very long-standing and changing the semantics of the API like this will cause some breakage.


Fix broken pipe in run_tests_less.sh.

Running the script (prior to this PR) results in: ./run_tests_less.sh: 12: Syntax error: "&" unexpected.
This is because plain sh (Bourne shell) does not support the bash shorthand |& for 2>&1 |.

Thanks! I forgot about this bash-ism.


Feature/3439 app bar playground

Changes proposed in this Pull Request:

AppBar Playground

Fixes
fixes #508

I was also a little surprised that we do not have a 'default' color for blui-app-bar

The default color is supposed to be primary, I didn't create the knobs correctly.   Should be good now!

The button ripple is not centered

I'm having a hard time reproducing this one.  The icon is off-centered, for me, based on how far out I'm zoomed.

... and you need to update the playground code

Ran out of complaints

🚀 Going to merge this one in.  Thanks @huayunh , good observations


[Live] Access on Morphdom's onBeforeElUpdated callback - Alpine.JS compatibility

I use Alpine.JS a lot. It is a nice library and complements Live components perfeclty.
Right now I use it for toggling the state Dropdowns.
What happens, when a Live component re-renders, is, that all the states of the components is discarded. All dropdowns of that particular Live component are open.
I learned, that, the state must be copied from the old DOM to the new DOM. Details.
Concretely, what I need to do in my project, is to extend the onBeforeElUpdated callback in morphdom as follows:
https://github.com/symfony/ux/blob/f05e5f1460cdb80ea284b0a2e3a3d8d9094261c8/src/LiveComponent/assets/src/morphdom.ts#L38
onBeforeElUpdated: (fromEl: Element, toEl: Element) => {
            if (fromEl === rootFromElement) {
                return true;
            }

            // skip special checking if this is, for example, an SVG
            if (fromEl instanceof HTMLElement && toEl instanceof HTMLElement) {

+           if (fromEl.__x) {
+                 window.Alpine.clone(fromEl.__x, toEl);
+            }

                if (childComponentMap.has(fromEl)) {
                    const childComponent = childComponentMap.get(fromEl) as Component;

                    childComponent.updateFromNewElementFromParentRender(toEl);

                    return false;
                }

                // if this field's value has been modified since this HTML was
                // requested, set the toEl's value to match the fromEl
                if (modifiedFieldElements.includes(fromEl)) {
                    setValueOnElement(toEl, getElementValue(fromEl));
                }

                // handle any external changes to this element
                const elementChanges = externalMutationTracker.getChangedElement(fromEl);
                if (elementChanges) {
                    // apply the changes to the "to" element so it looks like the
                    // external changes were already part of it
                    elementChanges.applyToElement(toEl);
                }

                // https://github.com/patrick-steele-idem/morphdom#can-i-make-morphdom-blaze-through-the-dom-tree-even-faster-yes
                if (fromEl.isEqualNode(toEl)) {
                    // the nodes are equal, but the "value" on some might differ
                    // lets try to quickly compare a bit more deeply
                    const normalizedFromEl = cloneHTMLElement(fromEl);
                    normalizeAttributesForComparison(normalizedFromEl);

                    const normalizedToEl = cloneHTMLElement(toEl);
                    normalizeAttributesForComparison(normalizedToEl);

                    if (normalizedFromEl.isEqualNode(normalizedToEl)) {
                        // don't bother updating
                        return false;
                    }
                }
            }

            // look for data-live-ignore, and don't update
            return !fromEl.hasAttribute('data-live-ignore');
        },

How can I achieve this (I don't know, how to hook-up here)?
I already tested this by manipulating the dist files and it solves my issue.

This is a tiny amount of code. If this is all that's needed, I would welcome a PR to add it to core itself. We could add a hook point to allow users to do this, but it may be better just to "solve it" for Alpine automatically, if it's just 3 lines of code.


Feature/disable compare by configuration

Related Issues
New feature for vsf-default theme: https://github.com/DivanteLtd/vsf-default/pull/22
Short Description and Why It's Useful
The new configuration 'compare.enabled' allows to disable the compare feature.
It's useful because this feature does not make sense in all kind of shops.
Screenshots of Visual Changes before/after

Which Environment This Relates To
Check your case. In case of any doubts please read about Release Cycle

[x] Test version (https://test.storefrontcloud.io) - this is a new feature or improvement for Vue Storefront. I've created branch from develop branch and want to merge it back to develop
[ ] RC version (https://next.storefrontcloud.io) - this is a stabilisation fix for Release Candidate of Vue Storefront. I've created branch from release branch and want to merge it back to release
[ ] Stable version (https://demo.storefrontcloud.io) - this is an important fix for current stable version. I've created branch from hotfix or master branch and want to merge it back to hotfix

Upgrade Notes and Changelog

[x] No upgrade steps required (100% backward compatibility and no breaking changes)
[ ] I've updated the Upgrade notes and Changelog on how to port existing Vue Storefront sites with this new feature

Contribution and Currently Important Rules Acceptance

[x] I read and followed contribution rules

I'm not sure about this. If you don't want to have a compare button, you should remove it :woman_shrugging: The default theme is just the starting point. When we add v-if, the comparison button will not be displayed, but will still be included in the bundle. Which means it won't be completely removed. The best option is to delete it if you don't need it.

@gibkigonzo
Would you have another solution to deactivate the compare module?
I have the problem with the update ability, because if I remove all entries in the vsf-theme to compare, they would reappear at the next vsf-theme update. Maybe there is another solution here?
Thanks

There is no other option then remove it. Default theme (or Capybara) should be a starting point. If your store is more or less same as those themes then you can relay on updates. But we recommend to copy it and create your own theme based on default.

The compare feature should be remove via commenting out the module allowed in src/modules and then by removing all the theme references. It shouldn’t be adobe via anothe rconfigurabe option. We’re trying to make the core even simpler with each subsequent release and this feature is rather against loose coupling principle. I’d suggest to close this PR @gibkigonzo
@bernarddelhez thanks for your contribution, I appreciate your time but we can’t accept this feature. We will be more than happy to merge in some feature from you if you’d find time to pick any of the issues marked for the upcoming releases 🙌


geometry needs attention

I'm fatigued by looking at this module, mostly because my math isn't up to snuff.
Also, someone else needs to look at it anyway, to ensure that the tests cover edge cases I haven't thought of.
Finally, there would be same value in extending the benchmark suite to cover alternative implementations of the various functions -- especially given that compiler optimizations may be very different across the architectures we are targeting.
Right now, functions that aren't working are made to pass tests with the todo() function. There are a couple that are essential, I think, like slerp() and nlerp() for quaternions.

I can do that, but not this year.
a
On Thu, Dec 24, 2015 at 2:42 AM, Mike Gogulski<EMAIL_ADDRESS>wrote:

I'm fatigued by looking at this module, mostly because my math isn't up to
snuff.
Also, someone else needs to look at it anyway, to ensure that the tests
cover edge cases I haven't thought of.
Finally, there would be same value in extending the benchmark suite to
cover alternative implementations of the various functions -- especially
given that compiler optimizations may be very different across the
architectures we are targeting.
Right now, functions that aren't working are made to pass tests with the
todo() function. There are a couple that are essential, I think, like
slerp() and nlerp() for quaternions.
—
Reply to this email directly or view it on GitHub
https://github.com/conreality/conreality/issues/20.

Super!

Overcome by events.


update for zero padded ids, add screenshots

Updated workshop scripts to zero pad the user ids so update documentation to correspond with changes.
planning/817
Also Added screen shots to these labs to help users follow along with the stpes.

@csantanapr I updated the pages as suggested.  Added a userdemo and updated the scripts as well to create this user.
Also I updated the setup, I split out the terminal configuration for the workshop participants and I documented how to customize the workshop setup.
Thanks!


marker.ClusterGroup not working

Dear Igor,
I would like your help with the following:
I have a markerClusterGroup with almost 500 markers, when I zoom in and marker.ClusterGroup shows many markes, browser.print works ok, but when zoomed out and marker.ClusterGroup shows only a few or no markers, browser.print throws me an error: too much recursion.
What am I doing wring?
Please advice

Hi there. Can you provide any working example (jsfiddle or any other) that I can take a look?

Dear Igor,
@Igor-Vladyka
Thank you for your plugin. It is very nice. I encounter the similar issue like @runtimeavl, but I have over 6000 markers. I can provide you more information and I hope this problem can be solved.
For auto print or custom select print, except I zoom in a lot and only a few unclustered markers shown on screen, otherwise, it will have error messages below when the screen displays ClusterGroup and stop popup printing windows dialog.
In Firefox, the error message is
too much recursion     leaflet.browser.print.js line 127 > eval:14:1
In Chrome, the error message is
leaflet.browser.print.utils.js:159 Uncaught RangeError: Maximum call stack size exceeded
at Function.[Symbol.hasInstance] ()
at Object.__getRenderer (leaflet.browser.print.utils.js:159)
at Object.cloneLayer (leaflet.browser.print.utils.js:129)
at Object.cloneOptions (leaflet.browser.print.utils.js:22)
at Object.eval [as builder] (leaflet.browser.print.utils.js:79)
at Object.cloneLayer (leaflet.browser.print.utils.js:137)
at Object.cloneOptions (leaflet.browser.print.utils.js:22)
at Object.eval [as builder] (leaflet.browser.print.utils.js:79)
at Object.cloneLayer (leaflet.browser.print.utils.js:137)
at Object.cloneOptions (leaflet.browser.print.utils.js:22)
Thank you.

Dear Igor,
@Igor-Vladyka
I have created a jsfuddle https://jsfiddle.net/curtis18/gLd2m3ab/ that is based on the example of markercluster https://leaflet.github.io/Leaflet.markercluster/example/marker-clustering-realworld.388.html and combined it with browser print. Thank you.

Hello, just fixed it in latest v0.9.2. Please take a look.
Here is working fiddle: https://jsfiddle.net/8ce3bx9w/

@Igor-Vladyka
Thank you very much for your fix. The issue basically has been solved. But I found that the performance and memory usage has problem when I have over 6000 markers on the map. Even when I select a small area to print, it will be either browser freezing and wait a lot of time for printing or out of memory and crash. Please help. Thank you.
Zoom in and select a small area

Browser Freeze

Out of memory

Hi guys,
Released new version of the plugin, with a MarkerClusterGroup registration moved out of the plugin. You will need to add your own registration/copy-paste it from documentation to make it work with latest.
Regards,
Igor

@Igor-Vladyka Thanks a lot. I am going to update it according to the documentation.

Hi there,
Here is a bit dirty hack how to make it work without outofmemory exceptions:
// We are not cloning markercluster to preserve original clasterization behavior and prevent OutOfMemory problems
L.Control.BrowserPrint.Utils.registerLayer(L.MarkerClusterGroup, 'L.MarkerClusterGroup', function (layer, utils) {
	return layer;
});

// On print end we invalidate markercluster to update markers;
map.on(L.Control.BrowserPrint.Event.PrintEnd, function(e) {
	map.removeLayer(markers);
	map.addLayer(markers);
});

Regards,
Igor

How do I set the same zoom that is on my base map when printing?


Issue with Non-conforming DI Container integration with constructor injected services

After I noticed the PR by Simple Injector's Steven (@dotnetjunkie) was merged, I gave the lastest Fastendpoints a whirl with SimpleInjector as described in the PR:
https://github.com/FastEndpoints/FastEndpoints/pull/243
and similar info here: https://github.com/simpleinjector/SimpleInjector/issues/955#issuecomment-1254827842
However, using the example code below, it seems if you inject an application service into your endpoint, the MS DI container will complain that it can't resolve the service. Whilst this makes technical sense since we haven't registered the application service in the DI container, we have instead registered it in SimpleInjector, it doesn't help in being able to use SimpleInjector to resolve the endpoints and services.
The only work-around that I can see is to register the application services in the MS DI container as well - which doesn't seem correct.
Whilst the new IEndpointFactory seems to work (if you work around the MS DI registration issue) and resolves with SimpleInjector, it would seem that perhaps something else is needed in the AddFastEndpoints() method to either allow a different DI service registration or to skip the registration of the Endpoints in the MS DI container ?
Example
Example has been adapted from the Fastendpoints startup example:
global using FastEndpoints;
using SimpleInjector;

var container = new Container();

var builder = WebApplication.CreateBuilder();

// Setup FastEndpoints
builder.Services
       .AddFastEndpoints();

// NOTE: By this stage, MyEndpoint has been registered in the MS DI!

// Setup Simple Injector
builder.Services
       .AddSingleton<IEndpointFactory, SimpleInjectorEndpointFactory>()
       .AddSimpleInjector(container, options =>
                                     {
                                        options.AddAspNetCore();
                                     });

// Register our service and Endpoint with SimpleInjector
container.RegisterSingleton<MyService>();
container.Register<MyEndpoint>();

// If the next line is uncommented, the MS DI container can correctly verify - but then we've essentially duplicated the
// registrations in the MS DI container and the SimpleInjector container.
//builder.Services.AddSingleton<MyService>();

// Fails here due to the application service not being registered in the MS DI container - which makes sense.
// Error:
// Some services are not able to be constructed (Error while validating the service descriptor
// 'ServiceType: MyEndpoint Lifetime: Transient ImplementationType: MyEndpoint':
// Unable to resolve service for type 'MyService' while attempting to activate 'MyEndpoint'.)
// (Error while validating the service descriptor 'ServiceType: MyWebApp.MyEndpoint Lifetime: Transient ImplementationType: MyWebApp.MyEndpoint':
// Unable to resolve service for type 'MyService' while attempting to activate 'MyWebApp.MyEndpoint'.)
var app = builder.Build();

app.UseAuthorization()
   .UseFastEndpoints()
   .UseSimpleInjector(container);

container.Verify();

app.Run();

public record SimpleInjectorEndpointFactory(Container Container) : IEndpointFactory
{
   public BaseEndpoint Create(EndpointDefinition def, HttpContext ctx) =>
      (BaseEndpoint)Container.GetInstance(def.EndpointType);
}

public class MyService
{
   public async Task<string> GetVersion()
   {
      return await Task.FromResult("v1.0");
   }
}

public class MyEndpoint : Endpoint<MyRequest>
{
   private readonly MyService _svc;

   // Injecting the application service, MyService into our endpoint.
   public MyEndpoint(MyService svc)
   {
      _svc = svc;
   }

   public override void Configure()
   {
      Post("/api/user/create");
      AllowAnonymous();
   }

   public override async Task HandleAsync(MyRequest req, CancellationToken ct)
   {
      var v = await _svc.GetVersion();

      var response = new MyResponse()
                     {
                        FullName = req.FirstName + " " + req.LastName + " " + v,
                        IsOver18 = req.Age > 18
                     };

      await SendAsync(response);
   }
}

public class MyRequest
{
   public string FirstName { get; set; }
   public string LastName { get; set; }
   public int Age { get; set; }
}

public class MyResponse
{
   public string FullName { get; set; }
   public bool IsOver18 { get; set; }
}

i believe the correct way to use simpleinjector is to register the simpleinjector container with MS DI and then resolve the container first in fastendpoints and then use the injected container to resolve any needed services.
@dotnetjunkie pls correct me if i'm wrong.
any other way would just not be possible because it's a "non-conforming" IOC lib. and fastendpoints does not have any knowledge of simpleinjector, nor will it ever will.

Thanks for your time and prompt response.

is to register the simpleinjector container with MS DI

This line will register the SimpleInjector container in the MS DI and link SimpleInjector to the MS DI container so that if a request is made to the SimpleInjector container and it can't resolve the instance, it will ask the MS DI container to resolve it.
.AddSimpleInjector(container, options =>
                                     {
                                        options.AddAspNetCore();
                                     });

and then resolve the container first in fastendpoints and then use the injected container to resolve any needed services.

I'm not sure what you are meaning here?

and fastendpoints does not have any knowledge of simpleinjector, nor will it ever.

Fair enough regarding not wanting to have knowledge of simpleinjector. I agree. The question then is why have the IEndpointFactory? Is it just to allow you to do something else weird with the Endpoint creation?
I'm trying to figure out what I'm missing?
Further DI registration thoughts...
I had a play around with removing the Endpoints from the MS DI container once Fastendpoints registers the Endpoints (from EndpointData creation). That way the MS DI can verify correctly, but the resolution of the Endpoints is then done by the SimpleInjectorEndpointFactory.
It's not elegant and assumes funky things wont be done in Fastendpoints in the future. eg as a POC
// Setup FastEndpoints
builder.Services
       .AddFastEndpoints();

// Remove the unneeded IEndpoint registrations in the MS DI container
var endpointRegos = builder.Services.Where(descriptor => descriptor.ServiceType.GetInterface(nameof(IEndpoint)) != null).
                            ToList();

foreach (var r in endpointRegos)
{
   builder.Services.Remove(r);
}

Digging into the Fastendpoints code, there could be the potential to add to EndpointDiscoveryOptions to skip the "actual" registration. Then in BuildEndpointDefinitions check for that option. eg
EndpointDiscoveryOptions.SkipEndpointRegistration = true;

//... in BuildEndpointDefinitions()
if (!options.SkipEndpointRegistration)
{
   services.AddTransient(t);
}
//...

or a step further and separate out the registration from the discovery. The registration then being done on the results of that discovery. Still having a skip registration option:
eg
    public static IServiceCollection AddFastEndpoints(this IServiceCollection services,
        Action<EndpointDiscoveryOptions>? options = null,
        ConfigurationManager? config = null)
    {
        var opts = new EndpointDiscoveryOptions();
        options?.Invoke(opts);
        Endpoints = new(services, opts, config);

// Register the discovered endpoints
if (!opts.SkipEndpointRegistration)
{
   foreach (var epDef in Endpoints.Found)
   {
      services.AddTransient(epDef.EndpointType);
   }
}

        services.AddAuthorization(BuildSecurityPoliciesForEndpoints); //this method doesn't block
        services.AddHttpContextAccessor(); //todo: remove after removing scoped validator support.
        services.AddSingleton<IEndpointFactory, EndpointFactory>();
        services.TryAddSingleton(typeof(IRequestBinder<>), typeof(RequestBinder<>));
        services.AddSingleton(typeof(Event<>));
        return services;
    }

I maybe missing something here, so I'm interested in thoughts around this.
Cheers

Hi guys, I'm in a different time zone so my apologizes for replying a bit late.
The problem here is caused the MS.DI container registrations becoming incomplete, because FastEndpoints still registers the endpoints (even though Simple Injector creates them), while its dependencies will not be registered (as they are registered in Simple Injector).
This is a problem that, for MS.DI, only exists during development, because in production this verification step is omitted. Still, I would discourage from suppressing validation during debugging, because I deem such feature vital to be productive as developer. Simple Injector contains such verification feature for a very long time already.
I would say that in case a non-default mechanism is used (i.e. endpoints being resolved from Simple Injector), those endpoints should not be registered any longer in the default MS.DI container, especially in order to be able to verify the MS.DI registrations.
It means that those registrations must be removed again 'manually', much like @mpickers did above:
// Move registrations to Simple Injector
var endpoints = builder.Services.Where(s => typeof(BaseEndpoint).IsAssignableFrom(s.ServiceType));

foreach (var endpoint in endpoints.ToArray())
{
    builder.Services.Remove(endpoint);
    container.Register(endpoint.ImplementationType!);
}

I will update the samples on the Simple Injector page.

@dj-nitehawk,
In the future, I could imagine FastEndpoints users to be able override or influence the way that FastEndpoints registers its endpoints in the MS.DI container and allow them to not being registered. But I would like to stress that not having such feature shouldn't be that big of a deal. For Simple Injector, for instance, I provided the 'workaround' above and for other non-conforming containers the solution would be similar.
By adding an IEndpointFactory you enabled non-conforming and other interception scenarios, which is a big plus. It isn't that weird for users that deviate from the default must to 'some extra work' to get things running. Again, thanks to the new flexibility there are now a lot of new possibilities.
If you decide to add the ability to override registration, I'm happy to exchange some ideas on how this can be achieved.
But there are other options to explore.
Another option for FastEndpoints is to not register endpoints at all. Might seem weird, but many of the Microsoft .NET Core frameworks actually take this approach and instead of calling into IServiceProvider.GetService, they create their root types by calling ActivatorUtilities.CreateInstance. Take a look, for instance, at ASP.NET Core MVC and SignalR Core for instance; they both take this approach. I believe that in MVC, there's a default IControllerFactory implementation that calls ActivatorUtilities (or uses some optimized implementation of that).
Do keep in mind that not registering the root types (as MVC and SignalR do) has its downsides of its own, which is that you are losing the ability to verify them with their dependencies (which is a problem that currently exists with MVC and SignalR). The non-registration design for MVC was picked with .NET Core 1.0, while verification only was added in .NET Core 3.0, so that might explain that design choice a bit. But this is one of the reasons why MVC allows controllers to be explicitly registered by calling AddMvcControllersAsServices() (which I think that every MVC developer should do).
But I can imagine FastEndpoints taking a similar root where ActivatorUtilities.Create is the default method, while developers can call AddEndpointsAsServices() can be called to get the endpoints into MS.DI. This means that non-conformers can simply skip calling AddEndpointsAsServices(). We could argue about this, but at least it is very much in sync with what Microsoft is doing.

so... i removed the endpoint di registration from the startup/discovery and switched to using ActivatorUtilities.CreateFactory() in v<IP_ADDRESS>-beta.
this should do the trick for now right?

this should do the trick for now right?

Certainly, as long as you considered the consequences of not having endpoints as explicitly registered root types.

Happy to see I wasn't going mad and on the right track with my thinking.
@dj-nitehawk Thanks for the tweak! I'll give it a spin.
I do tend to agree with @dotnetjunkie in regards to the possibility of container registration and verification down the track by way of some hook-in point for acting on the discovered Endpoint types.

Certainly, as long as you considered the consequences of not having endpoints as explicitly registered root types

yeah i don't think that's a big deal. only reason they were registered in DI was to support ctor injection on them. which now the discovery of ActivatorUtilities takes care of. i wasn't aware of that until you mentioned it. thanks for that!

I can confirm v<IP_ADDRESS>-beta works as per above discussions with SimpleInjector. Thanks!

great!
thanks everyone for your input.

hey guys...
with the latest beta FE now uses a "service resolver proxy" interface to obtain services from DI.
https://github.com/FastEndpoints/FastEndpoints/blob/main/Src/Library/Config/IServiceResolver.cs
it's not 100% there yet but should help with simpleinjector.
you can register your own IServiceResolver implementation which wraps around simpleinjector calls.
here's the default implementation which gets stuff out of MS DI.
https://github.com/FastEndpoints/FastEndpoints/blob/main/Src/Library/Config/ServiceResolver.cs

Is that new IServiceResolver interface meant to be called by FastEndpoints for all its services? If so, this is likely not going to help any non-conforming containers (e.g. Simple Injector, Castle Windsor, etc), because it still assumes the built-in container is completely replaced with the non-conforming container, which will never be the case. A non-conforming container is non conforming because it can't comply to the specification of the built-in DI abstraction, because it behaves in an incompatible manner. This can cause subtle but hard to fix issues, because FastEndpoints will for this service still expect the built-in DI behavior.
Besides, there already exists an abstraction just like your IServiceResolver, which does the same. It's called IServiceProvider. As far as I see, if you would allow the IServiceProvider to be replaced with a custom one, you'd likely achieve exactly the same.
Although allowing to replace/intercept calls to IServiceProvider (by providing a custom implementation for a non-conforming container) might have its use, it will typically still be rather awkward to create an implementation for a non-conforming container, because most of the FastEndpoints registrations will (and arguably should) be part of the built-in DI Container. This means that the custom IServiceProvider (or IServiceResolver as you will) implementation must switch internally between resolving from the built-in container or the developer's application container (i.e. the non-conforming container).
I hope this makes sense. If I'm misinterpreting what IServiceResolver is for, please let me know.

@dotnetjunkie yeah i see your point.
well.. it was done for a different purpose anyway.


Switch to https URLs everywhere.

/CC @mikelambert @RyanZim

So it seems phantomjs has issues on Travis while it works fine on AppVeyor. Unfortunately we can't pass any options ourselves to phantomjs since it's called by chai-resemble. Yet another reason to drop chai-resemble...

I'm confused. Do you know why it's failing on Travis? What options would you want to pass to fix it?
I presume chai-resemble does work on travis (https://travis-ci.org/giakki/chai-resemble/jobs/109139849), which is why I'm not sure it's "evidence of another reason to drop chai-resemble" ?

It doesn't work with https. That enough reason to me... anyway there was a
flag to make phantom ignore ask errors. That might fix the issue. But again
we don't own chai-resemble and it's clearly something unmaintained
On Aug 5, 2017 21:32, "Mike Lambert"<EMAIL_ADDRESS>wrote:

I'm confused. Do you know why it's failing on Travis? What options would
you want to pass to fix it?
I presume chai-resemble does work on travis (https://travis-ci.org/giakki/
chai-resemble/jobs/109139849), which is why I'm not sure it's "evidence
of another reason to drop chai-resemble" ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/giakki/uncss/pull/326#issuecomment-320462434, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVVtYWaw0uvJttuSbVGnG09SD7B8MGuks5sVLU1gaJpZM4Oua17
.

Ah, got it.
So where is the https problem here? With chai-resemble or with phantomjs? chai-resemble is another package adjacent to this one, and presumably easy to submit changes to. To fix the https error, or to pass a new flag to phantomjs, or whatever.
I have trouble believing phantomjs has fundamental issues with https though.

But chai-resemble is unmaintained too :/ We'd need to use our fork/package. That is why I say it would be much better if we moved away from chai-resemble completely.

Ahh okay.
I thought the objection for chai-resemble was based on the dependency tree and phantomjs, which I don't personally care about for a dev-only dependency. Likewise, an unmaintained dependency isn't a bad thing either...oftentimes projects just don't need updates. But in this case, it seems there is a bug with chai-resemble and https, and so now the unmaintained nature of it can become an issue. :)
So, now it becomes a tradeoff: Do you want to add tests that reference https urls? If so, are you willing to replace the entire chai-resemble tree to get there? I still think the easiest solution is to just ask giakki (via email) for commit privileges to chai-resemble (similar to what we did with uncss) to make what would presumably be a one-line fix.
But I'll defer to you, as you seem much more motivated to work on and solve these issues.

I think PhantomJS 1.x has problems with SNI based https.

I'm not clear on what problems this PR attempts to fix?

@RyanZim @mikelambert: can you guys pass the


video_player plugin causes unexpected null value while calling setState internally

I'm seeing the following crash in a Flutter 2.0.6 application which indirectly depends on video_player 2.1.1:
Null check operator used on a null value

Stack trace:

#0 State.setState (package:flutter/src/widgets/framework.dart:1287)
#1 _MaterialControlsState._updateState (package:chewie_audio/src/material_controls.dart:227)
#2 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:243)
#3 ValueNotifier.value= (package:flutter/src/foundation/change_notifier.dart:309)
#4 VideoPlayerController.pause (package:video_player/video_player.dart:405)
#5 _VideoAppLifeCycleObserver.didChangeAppLifecycleState (package:video_player/video_player.dart:584)
#6 WidgetsBinding.handleAppLifecycleStateChanged (package:flutter/src/widgets/binding.dart:690)
#7 ServicesBinding._handleLifecycleMessage (package:flutter/src/services/binding.dart:192)
#8 BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:73)
#9 BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:72)
#10 _DefaultBinaryMessenger.handlePlatformMessage (package:flutter/src/services/binding.dart:284)
#11 _invoke3.<anonymous closure> (dart:ui/hooks.dart:221)
#12 _rootRun (dart:async/zone.dart:1354)
#13 _CustomZone.run (dart:async/zone.dart:1258)
#14 _CustomZone.runGuarded (dart:async/zone.dart:1162)
#15 _invoke3 (dart:ui/hooks.dart:220)
#16 PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:457)
#17 _dispatchPlatformMessage (dart:ui/hooks.dart:90)

This looks quite similar to #81684 to me, but given there's no user code involved here and the discussion over there focusing on a potential user error I'm opening a new issue. So this looks like either a framework bug to me or the video_player plugin is making the same mistake as allegedly the user over there.
The video element is contained in a big ListView of user generated content, so it's quite likely that user scrolled the player away quick enough for the widget to get unmounted before the pause event propagated.

@jhass
Check above comment as applicable.

Right, I don't know how I overlooked the package in that stack trace item being chewie all the time, sorry 🙈
It's clear there's an issue here as the cupertino style implementation does this check (https://github.com/brianegan/chewie/blob/09659cc32a898c1c308a53e7461ac405fa36b615/lib/src/cupertino_controls.dart#L603) while the material one does not (https://github.com/brianegan/chewie/blob/09659cc32a898c1c308a53e7461ac405fa36b615/lib/src/material_controls.dart#L382). I'll take the issue over there.


Create a user tutorial/walkthough script

When a new user logs into the Sandbox, they will be prompted to run a tutorial script that walks them through the steps to compile, configure, and run a model job (or whatever of the above we don't automate separately).
Once they've run the script, a flag will be written so they aren't prompted to run it again on subsequent logins.
Instead, they can run it manually from their home directory if desired.

https://github.com/ciroh-ua/cloudinfra
There's a good tutorial script here. Walk through the README.md and see what about that guide.sh script you like/don't like and we can add menus and options to the tutorial.
It makes the up-take of where the files for the models are easier and also familiarizes the users with the environment.

I like the look of that tutorial and would be fine with something similar for our sandbox.

I am drafting a Sandbox tutorial based off of the above link that Zach submitted.

NOTE related issue: Documenting login

 Draft Sandbox Tutorial


ExtendedCfgNodeMethods: rename type parameter

@tajobe has been doing some byte code surgery in order to create a Kotlin interoperability layer and found an interesting edge case when type parameters are shadowed.

Taking a simpler example, consider the following Scala code:
class Example[NodeType <: Object](node: NodeType) extends AnyVal{
  def foo[NodeType](x: List[NodeType]): List[NodeType] = x
}

When decompiling the foo method, we'll find the following:
public static <NodeType extends java.lang.Object, NodeType extends java.lang.Object> scala.collection.immutable.List<NodeType> foo$extension(java.lang.Object, scala.collection.immutable.List<NodeType>);
    descriptor: (Ljava/lang/Object;Lscala/collection/immutable/List;)Lscala/collection/immutable/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: getstatic     #18                 // Field Example$.MODULE$:LExample$;
         3: aload_0
         4: aload_1
         5: invokevirtual #25                 // Method Example$.foo$extension:(Ljava/lang/Object;Lscala/collection/immutable/List;)Lscala/collection/immutable/List;
         8: areturn
    Signature: #23                          // <NodeType:Ljava/lang/Object;NodeType:Ljava/lang/Object;>(Ljava/lang/Object;Lscala/collection/immutable/List<TNodeType;>;)Lscala/collection/immutable/List<TNodeType;>;

Notice how NodeType (the type parameter) occurs twice in the definition of foo$extension. Apparently the JVM (assuming Oracle as canonical) is designed to accept this when loading/linking, but guarantees nothing if the byte code is interpreted through reflection/etc, cf. https://docs.oracle.com/javase/specs/jvms/se23/html/jvms-4.html#jvms-4.7.9:

Oracle's Java Virtual Machine implementation does not check the well-formedness of Signature attributes during class loading or linking. Instead, Signature attributes are checked by methods of the Java SE Platform class libraries which expose generic signatures of classes, interfaces, constructors, methods, and fields. Examples include getGenericSuperclass in Class and toGenericString in java.lang.reflect.Executable.

This byte code poses a problem that is trivially fixed if we prevent shadowing by just renaming one of the type parameters, e.g.
class Example[CfgNodeType <: Object](node: CfgNodeType) extends AnyVal{
  def foo[NodeType](x: List[NodeType]): List[NodeType] = x
}

resulting in
public static <NodeType extends java.lang.Object, CfgNodeType extends java.lang.Object> scala.collection.immutable.List<NodeType> foo$extension(java.lang.Object, scala.collection.immutable.List<NodeType>);
    descriptor: (Ljava/lang/Object;Lscala/collection/immutable/List;)Lscala/collection/immutable/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: getstatic     #18                 // Field Example$.MODULE$:LExample$;
         3: aload_0
         4: aload_1
         5: invokevirtual #25                 // Method Example$.foo$extension:(Ljava/lang/Object;Lscala/collection/immutable/List;)Lscala/collection/immutable/List;
         8: areturn
    Signature: #23                          // <NodeType:Ljava/lang/Object;CfgNodeType:Ljava/lang/Object;>(Ljava/lang/Object;Lscala/collection/immutable/List<TNodeType;>;)Lscala/collection/immutable/List<TNodeType;>;

Compiling Joern with -Wshadow:type-parameter-shadow only warns about 2 sites: the one in this PR and another one buried in javasrc2cpg. The latter is not public-facing, so I won't even bother proposing to change it at this point.
This rename is purely syntactical and seems to easily solve a bigger hurdle. Wdyt?

Indeed, there's no ambiguity at Scala level: it's just another form of good ol' lexical scoping. It's only when it gets down to byte code that we find ourselves in a pickle, as we get 2 same-named type parameters in the same method, causing havoc with (I think) kotlin-reflect.
Briefly, and in the context of #4796, @tajobe has been working on a plugin to automatically generate ergonomic Kotlin bindings for the most relevant APIs. It starts by finding which methods to codegen for (based on their signature), and proceeds emitting a more ergonomic (Kotlin-wise) method definition for it. So for so good... until a wild method signature with 2 same-named type parameters appeared and kotlin-reflect bailed out.
Changing the type parameter name was the trivial workaround. No one was expecting to find a method with 2 same-named type parameters. I couldn't find anything about this edge case in various JVM-related docs online: not sure if it's undefined behaviour or I just missed something. At any rate, if someone knows more about this, I'd love to hear!

Thanks for elaborating, yeah that all makes sense.


Extension crashes related to WASM

Presumably IntelliCode related. We're seeing similar issues in 2023.9.21 and 2023.9.20, so I don't believe this is related to the recent onnxruntime-web upgrade.

Error: no available backend found. ERR: [wasm] RuntimeError: Aborted(Error: ENOENT: no such file or directory, open '<REDACTED: user-file-path>'). Build with -sASSERTIONS for more info., [cpu] Error: previous call to 'initializeWebAssembly()' failed., [xnnpack] Error: previous call to 'initializeWebAssembly()' failed.    at <REDACTED: user-file-path>:2:46756at func (<REDACTED: user-file-path>:2:46414)at func (server.bundle.js:1:371558)at func (server.bundle.js:1:399034)at func (server.bundle.js:1:396806)
Error: no available backend found. ERR: [wasm] RuntimeError: Aborted(Error: ENOENT: no such file or directory, open '<REDACTED: user-file-path> (Perso)<REDACTED: user-file-path>'). Build with -sASSERTIONS for more info., [cpu] Error: previous call to 'initializeWebAssembly()' failed., [xnnpack] Error: previous call to 'initializeWebAssembly()' failed.    at func (Perso)<REDACTED: user-file-path>:2:46756    at func (<REDACTED: user-file-path> (Perso)<REDACTED: user-file-path>:2:46414)    at func (<REDACTED: user-file-path> (Perso)<REDACTED: user-file-path>:1:375897)    at func (<REDACTED: user-file-path> (Perso)<REDACTED: user-file-path>:1:403130)    at func (<REDACTED: user-file-path> (Perso)<REDACTED: user-file-path>:1:400881)
Error: Bad archive    at func (<REDACTED: user-file-path> <REDACTED: user-file-path>:2:28156)    at func (<REDACTED: user-file-path> <REDACTED: user-file-path>:2:37642)    at func (node:fs:684:5)

First step is to just add more logging. Not sure which wasm file can't load.

Logging showed out of memory errors with wasm, I don't believe we're seeing the no such file errors anymore.
We do see this weird one though:
Error: no available backend found. ERR: [wasm] RuntimeError: Aborted(CompileError: WebAssembly.instantiate(): section was shorter than expected size (8957861 bytes expected, 2199997 decoded) @+2243173). Build with -sASSERTIONS for more info., [cpu] Error: previous call to 'initializeWebAssembly()' failed., [webnn] Error: previous call to 'initializeWebAssembly()' failed., [xnnpack] Error: previous call to 'initializeWebAssembly()' failed.    at func (<REDACTED: user-file-path>:2:2700711)at func (<REDACTED: user-file-path>:2:2705307)at None pylance-internal/src/server/asyncServer.ts:336:12at getWorkspaceForFile pylance-internal/src/server/asyncServer.ts:1846:37at None pylance-internal/src/server/asyncServer.ts:1716:51
I can only guess that our install is failing in some scenarios?


A warning ‘The validity of extension bundle could not be verified’ pops up when opening one extension with the variable set

Storage Explorer Version: 1.17.0
Build Number: 20201222.4
Branch: main
Platform/OS: ia32/x64
Architecture: Windows 10/ Linux Ubuntu 16.04/ MacOS Catalina
Regression From: Previous release (1.17.0)
Steps to Reproduce

Open command window -> Type and run command: '
set STG_EXP_EXTENSION_GALLERY_URL=https://storageexplorerpublish.blob.core.windows.net/extensions-ppe-v1'.
Launch Storage Explorer from the command window by running command 'StorageExplorer.exe'.
Click 'File -> Open Extension' -> Choose one extension bundle like 'is-compatible-one-1.0.0.seix' and open it.
Check whether no warning dialog pops up.

Expected Experience
No warning dialog pops up.
Actual Experience
A warning dialog pops up.

Additional Context
Pop up the same warning dialog when opening any extension bundle.

Verified this issue on build 20210115.2. Fixed.

Verified this issue on build 20210115.2. Fixed.


Add Support for Device Metadata Endpoints

Add support for the following endpoints:

https://m2x.att.com/developer/documentation/v2/device#Read-Device-Metadata
https://m2x.att.com/developer/documentation/v2/device#Update-Device-Metadata
https://m2x.att.com/developer/documentation/v2/device#Read-Device-Metadata-Field
https://m2x.att.com/developer/documentation/v2/device#Update-Device-Metadata-Field

This is already supported by the M2XClassWithMetadata  class.


Add "application/vnd.api+json" media type.

JSON:API has a media type of application/vnd.api+json, which is just json, so it can be parsed as such. This pull request adds it to the list of parsable media types.

@jrversteegh Would you mind pulling the latest changes in main and adding an entry to the changelog? Once thats all set I'll merge - thanks!

@jrversteegh Would you mind pulling the latest changes in main and adding an entry to the changelog? Once thats all set I'll merge - thanks!


chore(release): prepare new release

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

v1.4.0
GitHub release

Your semantic-release bot :package::rocket:


Count the number of examples of all and/or specific intents

Acceptance Criteria

Proto - http://proto.we.ee/burokratt/treening/treening/teemad
Rasa YAML file with intents - https://koodivaramu.eesti.ee/buerokratt/plug-and-play/rasa-ilmateenused/-/blob/main/data/nlu/common_teenus_ilm_nlu.yml
Temporary list of API endpoints

[ ] GET service /intents/examples/count to count all examples and group by intent names
[ ] POST service /intents/examples/count to count examples of a specific intent
[ ] Due to the need of providing a number of examples for all intents, OpenSearch is used for better performance

done

@RaulAltmae please link this issue with an appropriate pull request.

Working as intended.


Fixed typos (DE)

Hi, while the German translation was already pretty good, I noticed some typos. While I was there, I took the chance to further improve it.

fixed typos
added missing translations (messages)
replaced German umlauts

Hey @BattleRattle, thanks for the additions, much appreciated!


Hepmc

Adding the interface to HepMC3 ascii reader. One can chose now between running with the particle gun or with the HepMC data file.

In case HepMC3 is not found, there is still a compilation error:
/home/agheata/geant_src/AdePT/examples/Example14/include/HepMC3G4Interface.hh:14:10: fatal error: HepMC3/GenEvent.h: No such file or directory
 #include "HepMC3/GenEvent.h"
          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

If the data file is not found, currently the simulation continues with 0 hits at the end. Probably better if the messenger checks the existence of the file and aborts the simulation.

The data files need also license info, which can be added in the same folder as: filename.license (containing the common license header), see an example in the /logo folder

fixed the CMakeLists.txt file
On 6 Apr 2022, at 14:37, Andrei Gheata<EMAIL_ADDRESS>wrote:
In case HepMC3 is not found, there is still a compilation error:
/home/agheata/geant_src/AdePT/examples/Example14/include/HepMC3G4Interface.hh:14:10: fatal error: HepMC3/GenEvent.h: No such file or directory
#include "HepMC3/GenEvent.h"
^~~~~~~~~~~~~~~~~~~
compilation terminated.
—
Reply to this email directly, view it on GitHubhttps://github.com/apt-sim/AdePT/pull/185#issuecomment-1090218819, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABLG4WTZPP4OIJBBRMWS76DVDWAQTANCNFSM5SI3MCBQ.
You are receiving this because you authored the thread.Message ID: @.***>

Actually, the simulation is aborted and it says so.
The 0 hits come from the end of run action which is still called (and displays the counter of hits to be 0).
I think, we can leave it for the time being.
On 6 Apr 2022, at 14:39, Andrei Gheata<EMAIL_ADDRESS>wrote:
If the data file is not found, currently the simulation continues with 0 hits at the end. Probably better if the messenger checks the existence of the file and aborts the simulation.
—
Reply to this email directly, view it on GitHubhttps://github.com/apt-sim/AdePT/pull/185#issuecomment-1090220714, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABLG4WUZHJGP4MYPXZLYUTLVDWAYRANCNFSM5SI3MCBQ.
You are receiving this because you authored the thread.Message ID: @.***>

Checks are still failing because:

the branch needs to be rebased on master
the extension for the license files is misspelled (.licence)
Also, we should use 2022 instead of 2021 in all files

Actually, the simulation is aborted and it says so. The 0 hits come from the end of run action which is still called (and displays the counter of hits to be 0). I think, we can leave it for the time being.

OK, I see, I was mislead by the hits printing.


Fix FrozenStringLiteralComment offenses

When complete, this PR will fix all RuboCop FrozenStringLiteralComment offenses.
Auto-correction of those offenses is not safe, and in fact throws errors in the MO test suite
because in some files we do modify Strings.
The PR therefore involves manual intervention for those files (and auto-correction in the others).
The PR will deliver Pivotal #173095705

Coverage remained the same at 91.988% when pulling e416f3b79a48e88c875da0c221c08ddc00d54e83 on JoeCohen:frozen-strings into f0ba023b6f5cd8b26d4604f23365e88d9eaec02b on MushroomObserver:master.

While the purpose of the PR is to fix RuboCop violations, I think the bigger issue is whether we want to go with the (in-progress) Ruby program -- and current RuboCop default -- of freezing string literals. My (naive?) opinion is that it's best to follow the conventions. What do others think?

While the purpose of the PR is to fix RuboCop violations, I think the bigger issue is whether we want to go with the (in-progress) Ruby program -- and current RuboCop default -- of freezing string literals. My (naive?) opinion is that it's best to follow the conventions.
What do others think?
This PR should be much easier to review than suggested by the number of files changed (555). There are just 7 spots that really need review, each of which is highlighted by a Review Comment.

Almost all of those changes simply add the magic comment # frozen_string_literal: true to the top of the file, and -- in only about 6 files -- remove now-redundant freeze calls. (The removal was done by auto-correction in order to avoid manual typos.)
There are only 7 files really needing review. In those I made changes to avoid a Ruby FrozenError. I also had a question about autocorrect of FrozenStringLiteralComment.
In all those cases, I left a Review Comment, so all that's needed is reviewing those comments.

If this PR is merged to master, my plan to also combine it with bootstrap-4 is: after resolving conflicts, go through the whole process again on that branch. See the Tasks in https://www.pivotaltracker.com/story/show/173095705

Looks good.  I wouldn't be surprised if we bounce against some other issues that the tests missed later down the road.  I know we did at work.  It's pretty easy to miss code that modifies "constant" strings, but it's much better to be explicitly aware of them in the code.  The comments are really helpful.
Regarding getting it to bootstrap-4, I would just make sure you first merge master again into bootstrap-4 before doing a Rubocop driven pass.  That will avoid git merge pain in the future.  I'd also wait for all the tests to be working since it's the only way we have to find the problem cases.


Script fails to run in course that contains no-image plans

Hi there!
Nice job with the script. I like the "base plan" option to say the least.
Here is an errror I got during experimentiation:
When you run the script on a plan that belongs to a course which contains at least one plansetup that has no image attached, the script will crash. Such plans are sometimes created for simulation in Plan Parameters and usually contain a setup field and maybe a treatment field, but have no CT image behind them. Perhaps you could filter out such plans when reading plansetups for GUI.
Denis

Hi Denis,
Thanks for the bug report!
I believe I've fixed this in the latest commit, which also includes automatic detection of when the structure set is in an approved course (which is solved by the creation of a temporary structure set)


Turn ErrorObject into a tagged union type

What issue does this pull request resolve?
https://github.com/ajv-validator/ajv/issues/1319: The ErrorObject's params are inaccessible in TypeScript. Example code:
const validationError: ajv.ValidationError = new ajv.ValidationError([{
    dataPath: ".someKey",
    keyword: "enum",
    params: { allowedValues: ["1", "2", "3"] },
    schemaPath: "",
}]);
validationError.errors[0].params.allowedValues; // TypeError, see below

$ tsc --target ES5 --noImplicitAny --noEmit spec/typescript/index.ts
spec/typescript/index.ts:60:34 - error TS2339: Property 'allowedValues' does not exist on type 'ErrorParameters'.
  Property 'allowedValues' does not exist on type 'RefParams'.

60 validationError.errors[0].params.allowedValues;

What changes did you make?
Turned ErrorObject into a tagged union type, the tag being the keyword; based on the errors definition file. I also discovered that there might have been one error params type missing, namely the OneOfParams type. So, I added it.
Is there anything that requires more attention while reviewing?
Yes, I didn't understand very well the code and the project structure, so I couldn't verify if all keywords are correct and that the relationship between a keyword and its params type is also correct.

@vecerek it is already done in v7 - I recommend migrating to it.
I will not be merging it to v6, sorry.

Thank you. I'll migrate over to v7 then 🙂

@epoberezkin I've just migrated over to v7 and noticed that although the params are accessible, the type safety is lost. params is just a Record<string, any>. Should try and port the tagged union solution over to v7?

@vecerek sorry for the delay - busy week...
ErrorObject has to be open to allow users defining additional keywords.
There is a type DefinedError that extends ErrorObject and is exported - this is the tagged union for all bundled keywords. If you need to access error parameters you would need to cast an error to this type. See this test: https://github.com/ajv-validator/ajv/blob/master/spec/types/error-parameters.spec.ts
Maybe there is a better solution, but I didn't figure out how to make it better. It cannot be just closed tagged union.
So if you just use bundled keywords, you just need this type, but if you define your own keyword you would need to defined your type that combines DefinedError with your keyword errors.
This reminds me that such type should be added to ajv-keywords.
It probably should be better documented.

Also see the example in readme: https://github.com/ajv-validator/ajv#getting-started


Include mapaddress text

Geocodes appear to be approximates in a lot of cases. In certain instances, the listing will have the address in the mapaddress div tag and it doesn't seem like this reads that. This is a feature request to include that information.
Example page - https://york.craigslist.org/apa/d/york-room-for-rent/7104679926.html
Example return:
{
  'id': '7104679926',
  'repost_of': None,
  'name': 'Room for Rent',
  'url': 'https://york.craigslist.org/apa/d/york-room-for-rent/7104679926.html',
  'datetime': '2020-05-07 08:47',
  'last_updated': '2020-05-07 08:47',
  'price': '$669',
  'where': None,
  'has_image': True,
  'geotag': (39.955682, -76.718121)
}

Page with inspection open:

Unfortunately, I believe this is a craigslist.org http://craigslist.org/ problem.

On May 29, 2020, at 9:59 PM, Favian Contreras<EMAIL_ADDRESS>wrote:
Geocodes appear to be approximates in a lot of cases. In certain instances, the listing will have the address in the mapaddress div tag and it doesn't seem like this reads that. This is a feature request to include that information.
Example page - https://york.craigslist.org/apa/d/york-room-for-rent/7104679926.html https://york.craigslist.org/apa/d/york-room-for-rent/7104679926.html
Example return:
{
'id': '7104679926',
'repost_of': None,
'name': 'Room for Rent',
'url': 'https://york.craigslist.org/apa/d/york-room-for-rent/7104679926.html',
'datetime': '2020-05-07 08:47',
'last_updated': '2020-05-07 08:47',
'price': '$669',
'where': None,
'has_image': True,
'geotag': (39.955682, -76.718121)
}
Page with inspection open:
https://user-images.githubusercontent.com/2354042/83319871-f274f780-a1f6-11ea-857b-5c4c41f28e8b.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/juliomalegria/python-craigslist/issues/75, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALT4J535KSZHHK5LXEORDE3RUCHBTANCNFSM4NORCK5A.

This is just a scraper, which is why I identified the tag that displays this. This tag is in the output of the following code (which is found in this package):
import requests
from bs4 import BeautifulSoup

response = requests.get('http://york.craigslist.org/apa/d/york-room-for-rent/7104679926.html')
soup = BeautifulSoup(response.content, 'html.parser')
print(soup)

Unclear how this is a craigslist problem given it is output from the craigslist request call.

This is not this library's problem as it is Craigslist's. Check out the html source for the link you provided (btw the link will expire eventually).
html source

As stated above, this issue is to include the mapaddress div tag in the result, which in this case is "239 E Boundary Ave". Please look at what is highlighted in the original image on the inspection frame for reference.

Hey @BigFav,
I think this would be a great addition. Thanks for the feature request! Seems pretty simple to do, I'll work on it today or tomorrow.
However, just FYI, this won't get the lat,lng from that address. The geotag will remain the same, from the approx info provided by Craigslist, however there'll be a new field "address" is the mapaddress is present. Your example return was a bit confusing, but it would be something like this:
{
  'id': '7104679926',
  'repost_of': None,
  'name': 'Room for Rent',
  'url': 'https://york.craigslist.org/apa/d/york-room-for-rent/7104679926.html',
  'datetime': '2020-05-07 08:47',
  'last_updated': '2020-05-07 08:47',
  'price': '$669',
  'where': None,
  'has_image': True,
  'geotag': (39.955682, -76.718121),
  'address': '239 E Boundary Ave'.         <<<< NEW
}

Thanks @irahorecka for stepping in to help 👍

Definitely doesn't map sense to be used as geotag, was just noting it is more accurate than geotag. Where does where come from? From my naive perspective, it seems like it could go there.

I had forgotten about where. This comes from result-hood in the list results. In the US, this always seems to be only the neighborhood, for e.g.

However in other countries, result-hood seems to contain the full address:

And in others (for example here in Berlin) is a mix of both: only the city/neighborhood, or the full address:

I'm hesitating whether to just override where with the value of mapaddress if it exists, or to have 2 separate fields. I guess option C would be to concatenate them. For example in:
https://sfbay.craigslist.org/pen/apa/d/san-bruno-updated-1br-1ba-with-parking/7134532065.html
mapaddress is "443 San Anselmo Ave N near Mastick and Martin" and where is "san bruno". The resulting where could be: "443 San Anselmo Ave N near Mastick and Martin, San Bruno".
Any thoughts?

Two separate fields is the simplest to me as it puts the power in the hands of the user; this tool is simply a scraper. My question was more for information purposes, apologies for the confusion.

@juliomalegria wondering if there's any progress on implementing this new extracted object. I'm considering doing something similar but if the work is already in flight think it makes sense to check in.

Key @KeeonTabrizi, I'm sorry. This change is very much in flight. As a matter of fact, it was ready, I had just forgotten to push it. I'll do it now and release a new version.

This was resolved in commit 1f8c44c. I've just released version 1.0.9 in PyPI


Red Dead Redemption 2 crashes at launch when vkBasalt is used with AMDVLK

Install wine-staging 6.6, Rockstar Games Launcher and then Red Dead Redemption 2. The game successfully starts
-with AMDVLK (open and pro) as long as vkBasalt isn't used.
-with RADV + vkBasalt
The game crashes at launch when AMDVLK (open and pro) and vkBasalt are used at the same time. For example:
export VK_ICD_FILENAMES="/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd64.json:/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd32.json"
cd "/home/user/.wine/drive_c/Program Files/Rockstar Games/Launcher"
export ENABLE_VKBASALT=1
wine Launcher.exe

Program versions:
vkBasalt v<IP_ADDRESS>: https://github.com/DadSchoorse/vkBasalt/tags
amdvlk-open 2021.Q2.1 & amdvlk-pro 21.10.1247438
wine-staging 6.6
RX 6800, Linux 5.12-rc8

@aufkrawall could you help check if the issue is still reproducible with  2021.Q3.2 build?


Fix Route Matching Bug in handleRequest Method

There's a reported bug in the route matching logic within the handleRequest method, where some valid routes are not recognized. Investigate and resolve this issue.

@zlorgoncho1 Can you describe the bug that is mentioned above?


IsaacLab examples does not work for SAC/TD3

Description
When I ran the example scripts under docs/source/isaaclab for torch_ant_ppo.py and jax_ant_ppo.py the training starts as expected without an issue but for torch_ant_sac.py, scene loads and right before training starts ant objects are disappearing preventing learning. For jax_ant_sac.py the program crashes with the following error.
Traceback (most recent call last):   File "/home/deniz.seven/workspace/skrl/docs/source/examples/isaaclab/jax_ant_sac.py", line 114, in <module>     trainer.train()   File "/home/deniz.seven/miniconda3/envs/isaaclab/lib/python3.10/site-packages/skrl/trainers/jax/sequential.py", line 81, in train     self.single_agent_train()   File "/home/deniz.seven/miniconda3/envs/isaaclab/lib/python3.10/site-packages/skrl/trainers/jax/base.py", line 172, in single_agent_train     actions = self.agents.act(states, timestep=timestep, timesteps=self.timesteps)[0]   File "/home/deniz.seven/miniconda3/envs/isaaclab/lib/python3.10/site-packages/skrl/agents/jax/sac/sac.py", line 301, in act     return self.policy.random_act({"states": self._state_preprocessor(states)}, role="policy")   File "/home/deniz.seven/miniconda3/envs/isaaclab/lib/python3.10/site-packages/flax/linen/module.py", line 701, in wrapped_module_method     return self._call_wrapped_method(fun, args, kwargs)   File "/home/deniz.seven/miniconda3/envs/isaaclab/lib/python3.10/site-packages/flax/linen/module.py", line 1233, in _call_wrapped_method     y = run_fun(self, *args, **kwargs)   File "/home/deniz.seven/miniconda3/envs/isaaclab/lib/python3.10/site-packages/skrl/models/jax/base.py", line 310, in random_act     actions = np.random.uniform(low=self.action_space.low[0], high=self.action_space.high[0], size=(inputs["states"].shape[0], self.num_actions))   File "numpy/random/mtrand.pyx", line 1156, in numpy.random.mtrand.RandomState.uniform OverflowError: Range exceeds valid bounds
https://github.com/user-attachments/assets/2eedf1a8-7fa3-491a-9384-f146d412b0cc
What skrl version are you using?
1.2.0
What ML framework/library version are you using?
JAX and torch
Additional system information
Python 3.10.14, Linux

The problem comes from Model::random_act. This function is being called when random_timesteps is greater than the current timestep. In isaaclab environments, the action spaces are defined in the bound of [-inf, inf] and Model::random_act tries to create a torch uniform distribution with the bounds of [-inf,inf] which produces NaN action values and that's why the objects are disappearing from the scene.
Quick fix for me was to set random_timsteps parameter to 0. But I don't know what is the permanent fix for this issue.

Hi @bekleyis95
It works for me to modify the source code like this.

Same issue remain in skrl-1.3.0.


129

QUESTION 129
Hotspot Question
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.

N
Y
N


encoding/json: Decoder internally buffers full input

When using the JSON package, if I encode a struct like
type Data struct {
    Count int
    Names []string
}

and then decode it into
type SmallData struct {
    Count int
}

it will still allocate memory for the list of names, even though it just gets thrown away.  This becomes an annoyance when I have several multigigabyte JSON files like this.  It would be neat if the JSON parser could identify what fields it cares about, or somehow be told what fields to ignore, and chuck them.

I don't believe this is true. Specifically, I don't believe it allocates any memory for fields being discarded. If you think it does, please explain why you think that or point to the allocation. Thanks.

I wrote a small test that writes a json file of Data and then (as a new process) reads it into SmallData and prints runtime.MemStats.TotalAlloc: http://play.golang.org/p/5CB3FUL86m
I ran it with --make=10 to --make=1e8, stepping powers of ten.
The resulting plot is
, which indicates that the larger the json file, the more memory is consumed reading into SmallData.  It's not obvious, but each datapoint is actually a collection of 3 runs; the variance between runs was very small.

Pprof says 99% of bytes are allocated here.

The memory here is for holding the JSON input as read in from the file, not for decoding unused fields.

The title says "Decoder internally buffers full input" but it might be better phrased as "Decoder buffers an entire value at a time".
We introduced Decoder.Token last cycle so it is technically possible for the user to use that and avoid buffering a whole value at once.
It would also be possible for the decoder to stop decoding a whole value at once and instead read from the stream into the target structure incrementally. That would be a big refactoring of the decoder. Is that what this bug requires, or is there some simpler option I'm overlooking?

The new decoder.token should let people build incremental parsers customized to a particular use case. We cannot change the default behavior: right now if encoding/json consumes a very large but ultimately malformed JSON value, nothing is written to the destination. Incremental decoding would change those semantics by writing to the destination before realizing the value was malformed.
It might be possible to have a different opt-in mode in the Decoder, but certainly not at this point in the Go 1.7 cycle.

The corresponding change for an Encoder is #7872.

Related to #14140 which mentions some possible API changes.

Hi all, we kicked off a discussion for a possible "encoding/json/v2" package that addresses the spirit of this proposal.
The prototype v2 implementation is truly streaming when writing to an io.Writer or reading from an io.Reader.
See https://github.com/go-json-experiment/jsonbench#streaming for details.