build: Replace wasm-pack

This is the beginning of #1836, replacing wasm-pack with https://crates.io/crates/substrate-wasm-builder. wasm-pack requires additional binaries to be installed outside of the normal cargo build process, has been the source of lots of issues, makes builds slower — in particular small code changes cause a very long iteration cycle in playground builds — and is only lightly maintained now.
Using wasm-builder is a bit harder than I thought:

We need to create the paths bundler, node, web paths ourselves, replacing these lines, by calling wasm-bindgen debug/wbuild/prql-js/prql_js.wasm --target=....
We probably need some way of getting the .wasm file location, by reading include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); for the WASM_BINARY or WASM_BINARY_BLOATY constants. Ideally we'd do this at build time, all in the build.rs script; I'm not sure whether that's possible though.
Possibly I'm figuring too much of this out on my own and it's done elsewhere? The precedent for this approach seems to be blockchain rather than JS applications... I'll ask around to see if I'm missing anything.

Postponing given context at #1836, somewhat replaced by #2907


Install problem

git checkout tags/v3.3
I want to install new version 3.9, but when I run this command, Cogent turned to v.3.3. What can I do?

Hi @ClearloveMiao ,
I do not tag all Cogent versions. It may be easier to do git update or do a new pull in a new location.
--Liz


Default sketch is very large and offsets the planes graph

🐛 on Dev
Steps to reproduce:

Log into app
Observe the default sketch size
Click "Start Sketch"
Observe planes offset
Expected: Planes to be centered and default sketch to be at a smaller scale
Actual: Default sketch is very large offsetting the planes

Timestamp: 0:03
Video:
https://www.loom.com/share/9fc90a34ca36487c81fe5fa3111548ff?sid=ff052f6a-0bb5-4418-a56a-345a4d976c82 (https://www.loom.com/share/9fc90a34ca36487c81fe5fa3111548ff?sid=ff052f6a-0bb5-4418-a56a-345a4d976c82)
Bug report:
https://app.qawolf.com/zoo/bug-reports/c2a56f28-7ccd-4889-9862-fda2e0110065
Affected workflows:
• Start , Edit, and Delete a sketch - https://app.qawolf.com/zoo/workflows/clw9mdyg10sp8orodfdsok6h5
If you are aware of this bug you can set the priority to low which will prevent it from causing a run failure.

So it's not that the sketch is very large, it's that zoom-to-fit is doing its job and the resulting grid is at 1mm scale. It's not a bug but more like just a visual eyesore. This'll be fixed when we disable the grid.

reopening since failing in qawolf

this is still a bug since the planes are off center, see qawolf

Ah we should re-center the camera whenever the scene becomes empty again, or maybe fire our "reset camera" action.

My approach for a fix seems to have been a dead end, as it resulted in other strange zoom behavior.

We can maybe squash this together tomorrow @franknoirot

Sooooo close @franknoirot!
I basically stole your code and tweaked one thing
https://github.com/KittyCAD/modeling-app/pull/3293
long story short is the zoom to fit is kinda weird atm, there's a PR for it up atm that I'm hopeful for, but calling it on an empty scene is asking for trouble, so I just manually put the camera back to it's start position.
I'm not 100% sure if #3293 closes this or not, I'm going to review qa wolfs loom now.

Yeah I think it will close it, updating the PR description now.


Can't get ipinfo.io to return vps ip

Provider: Digital Ocean
Client: OSX
Ran through setup steps multiple times. All containers seem to be running on the droplet and nothing nasty in the netflix-proxy.log (that I can see).
Running networksetup -getdnsservers Wi-Fi gives back VPS IP
Running curl http://ipinfo.io/ or hitting it in a browser gives back ISP IP
Any tips on debugging?

ISP was messing with DNS packets.


Remove unused update methods from EmsCommon Mixin

EMS update related methods from EmsCommon mixin were overlaid by methods
from EmsCommonAngular mixin. These two mixins looks to be used/included
only together, so overlaided methods look redundant.

@aufi i think these methods are still in use from Middleware provider add/edit screens, those are not yet converted to angularJS.

https://github.com/ManageIQ/manageiq/blob/master/app/views/ems_middleware/edit.html.haml#L1
https://github.com/ManageIQ/manageiq/blob/master/app/views/shared/views/ems_common/_form.html.haml#L109

@h-kataria Ah, right, I missed that, thanks!


issue#55-statsModal

This React component defines a modal for displaying statistics related to a user's song ratings. The statistics include the user's username, top-rated song and its artist, the total number of songs, the top-rated genre, and the count of the user's ratings. The data is extracted from the component's state (activeItem) and presented in a structured format within the modal. The reactstrap library is used for styling.

This React component, CustomModal, displays statistics about a user's songs and ratings. Here's a breakdown:
Imports:
Imports essential components from "reactstrap" and React.
Class Component:
Extends the React Component class.
Constructor:
Initializes the state with activeItem from props.
handleChange Method:
Updates the state based on user input.
findBestRatedSong Method:
Searches for the highest-rated song in the user's song list.
userRatingsCount Method:
Calculates the total count of user ratings.
songCount Method:
Calculates the total count of songs.
popularGenre Method:
Determines the user's most popular genre based on average ratings.
renderItems Method:
Displays various statistics:
Username.
Top-rated song and artist.
Total number of songs.
Top-rated genre.
Total number of user ratings.
Render Method:
Renders a modal displaying the statistical information.
Props:
Utilizes activeItem and toggle for customization.
Modal Configuration:
Open modal with disabled animation.


Reconnect only if the Management Plugin didn't close the connection

Hi,
Currently we are unable to handle *amqp.Error correctly for closed connections. What I mean is, I wish to utilise conn.NotifyClose feature to reconnect which is a straightforward process. However, I want to skip reconnecting only if the connection was closed via the Management Plugin (UI). The problem is, error code for this action is 320 (ConnectionForced) which is same as  docker stop, docker-compose down and rabbitmqctl stop. As you can see I cannot use if err.Code == 320 because it covers everything else. I don't want to take err.Reason into account because it won't be reliable resource. What is the best solution for this?
Thanks
err := <-amqp.connection.NotifyClose(make(chan *amqp.Error))
if err != nil {
	if ??????? {
		// Definitely NOT closed by Management Plugin (UI) so reconnect
	}
}

connection.closeframes sent by the RabbitMQ node will contain a reason. As far as the server is concerned it has to force close client connections when the node is shut down as well as other cases. There are no separate error codes for each scenario in the protocol. Some other clients special case server initiated connection closure events but the user has to decide whether the library should recover from them.


[Bug] MorphToMany cannot retrievable

Laravel Version
10.13.5
PHP Version
8.2.8
Database Driver & Version
Postgresql docker image latest
Description
If you try to add the same context as laravel documentation tolds you, over here : https://laravel.com/docs/master/eloquent-relationships#many-to-many-polymorphic-relations i created same tables i created same relation functions over same models. and when i try to gather tags from my post i can't see. You can definetly understand this with the attached image.

// Post model get.
$p = Post::find(1);

//Post model is here.
dump($p);

//tags are not shown.
dump($p->tags);

//Tags can seen here.
dump($p->tags()->get());

we also try to declare $with over the model to be sure about it can come before initialization. and also in the example you can definetly see that.
Steps To Reproduce
just try to create fresh laravel application and create same tables at the document example and try to run commands i show as example at the above.

Heya, thanks for reporting.
We'll need more info and/or code to debug this further. Can you please create a repository with the command below, commit the code that reproduces the issue as one separate commit on the main/master branch and share the repository here? Please make sure that you have the latest version of the Laravel installer in order to run this command. Please also make sure you have both Git & the GitHub CLI tool properly set up.
laravel new bug-report --github="--public"

Please do not amend and create a separate commit with your custom changes. After you've posted the repository, we'll try to reproduce the issue.
Thanks!

it was a silly thing but. It's about having a column as same name as the relation that i've. Sorry about bothering


Material Theme on IOS bugs: ripple, checkbox, status bar

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Framework7 Version: 1.5.3

Platform and Target:  CORDOVA, IOS.

screenshot
We built the app for ios with material theme. And we have some problem:

ripple wave is not hiding after tap on the tab and they overlap each other.
checkbox only works on a double tap
I do not understand how the status bar work? The remaining space between tabs.

Hi, can you post some screenshots, video or live demo to showcase the issues? Thanks

This video problem https://monosnap.com/file/YqcEyDyo7rLBYrUJJlRfe5P9PajimF

@navi8602 Link returns a 404

@valnub  Fix link

https://monosnap.com/file/YqcEyDyo7rLBYrUJJlRfe5P9PajimF

I don't see these problems in the official demo http://framework7.io/kitchen-sink-ios/
So, the issue must be in your code. Can you provide it? Best is to use Codepen http://codepen.io/

On the WEB there are no such problems.
Such problems have to build applications running IOS device.

@valnub help please

Sorry, I don't know how to help without seeing the code

In this video, there is a code and configuration that we use when you hold for two seconds and release, it works. With the rapid clicking does not work
https://monosnap.com/file/S9MpWNU6olD7YNIcccyom2Nlgmi3k0

@valnub If you do build a android then everything works wonderfully. For iOS experience difficulties

Are you using React or Framework7-React?
Also, can you post your code to Codepen? it's very hard to debug like this.

Are you using React or Framework7-react?
It's very hard to debug and see what's going on just based on the video.

Also, why are you setting checked to true in the click event?

We use meteor js with framevork7.
Problem with active-state class, when i do fast tap on checkbox, or radio, or button, active-state class added to element, but after tap don't removed and ripple element note removed... If we make long tap, is it work. But we use default setting App...

It looks like your problem is rather related to your custom project architecture than being a F7 bug.
This Github page is only for reporting bugs in F7.
As far as I know there is no official support for Meteor in F7 anyways, so you're using it at own risk. F7 is best used with Vue.js, jQuery or Dom7/Template7.
If you seek for help with your code please ask on one of the following platforms.

Official Framework7 forum
Stackoverflow

I'm sure that someone will be able to help you there. Make sure to post your full runnable code alongside your videos.
Good luck!

@valnub We solved the problem with our probable! The cases were in the mobile-experience
In order for it to work fast click and rip it in the meteor you need to remove mobile-experience Package from the meteor

I have seen this issue in a pure F7 v2 project. Doing that fast click, on the close of the nav bar with modals, when clicking fast. But i dont have a sample to show.  But i have seen it..


Add error handling on backend and validation over boundary model

This changeset is here to allow for more sophisticated frontend representations of failure.

+1 on tests passing


Not working with zabbix 6.0

Hi @blodone , i am getting the below error while trying it with zabbix 6
Seems like the group is created but the users are not.
ldap.FILTER_ERROR: {'result': -7, 'desc': 'Bad search filter', 'ctrls': []}

2022-11-03 14:03:42 - INFO    - ZabbixLDAPConf:41 - configuration for zabbix-ldap-sync release [unknown, no sourcecode checkout]
2022-11-03 14:03:42 - INFO    - pyzabbix:68 - JSON-RPC Server Endpoint: http://<IP_ADDRESS>:8080//api_jsonrpc.php
2022-11-03 14:03:44 - INFO    - pyzabbix:75 - Zabbix API version is: 6.0.9
2022-11-03 14:03:45 - INFO    - ZabbixConn:115 - Connected to Zabbix API Version 6.0.9
2022-11-03 14:03:48 - INFO    - ZabbixConn:474 - Processing group >>>APP-Zabbix_Admin<<<...
Traceback (most recent call last):
File "./ldapSync", line 115, in
main()
File "./ldapSync", line 111, in main
zabbix_conn.sync_users()
File "/u01/app/zabbix/lib/zabbixconn.py", line 478, in sync_users
ldap_users = {k: v for k, v in self.ldap_conn.get_group_members(group_name).items()}
File "/u01/app/zabbix/lib/ldapconn.py", line 100, in get_group_members
return self.get_group_members_active_directory(result)
File "/u01/app/zabbix/lib/ldapconn.py", line 184, in get_group_members_active_directory
uid = self.conn.search_s(base=member.decode('utf8'),
File "/u01/app/zabbix/venv/lib64/python3.8/site-packages/ldap/ldapobject.py", line 631, in search_s
return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
File "/u01/app/zabbix/venv/lib64/python3.8/site-packages/ldap/ldapobject.py", line 624, in search_ext_s
msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit)
File "/u01/app/zabbix/venv/lib64/python3.8/site-packages/ldap/ldapobject.py", line 614, in search_ext
return self._ldap_call(
File "/u01/app/zabbix/venv/lib64/python3.8/site-packages/ldap/ldapobject.py", line 128, in _ldap_call
result = func(*args,**kwargs)
ldap.FILTER_ERROR: {'result': -7, 'desc': 'Bad search filter', 'ctrls': []}

@blodone any update ? Pls help here

Thank you @blodone  for showing hope...😊.Can you please help me where to find those ? user_filter and disabled_filter please. Please lete know if you need any config files.

@blodone , below is my config file
[ldap]
type = activedirectory
uri = ldaps://ldap.uat.com:636/
base = OU=Corporate,DC=uat,DC=uat,DC=com
binduser = zabbix_ro
bindpass = asdfghjklwertyui
groups = APP-Zabbix_Admin
[ad]
filtergroup = (&(objectClass=group)(name=%s))
filteruser = (objectClass=user)(objectCategory=Person)
filterdisabled = (!(userAccountControl:1.2.840.1135<IP_ADDRESS>3:=2))
filtermemberof = (memberOf:1.2.840.1135<IP_ADDRESS>1:=%s)
groupattribute = member
userattribute = sAMAccountName
[openldap]
type = posix
filtergroup = (&(objectClass=posixGroup)(cn=%s))
filteruser = (&(objectClass=posixAccount)(uid=%s))
groupattribute = memberUid
userattribute = uid
[zabbix]
server = http://<IP_ADDRESS>:8080/
username = Admin
password = zabbix
auth = webform
[user]
role =Admin role

Use a ldap client like Apache Directory Studio to test the ldap connection, filters and to inspect available attributes.
The flag --verbose helps to get the ldap filters calculated by the script.


Serialize the init context

Fix #280 .

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

Project coverage is 79.73%. Comparing base (5937b88) to head (081cd33).
Report is 56 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #279      +/-   ##
==========================================
+ Coverage   75.75%   79.73%   +3.98%
==========================================
  Files          70       65       -5
  Lines        4615     4911     +296
==========================================
+ Hits         3496     3916     +420
+ Misses       1119      995     -124

Flag
Coverage Δ

python-3.11
?

python-3.12
79.65% <100.00%> (?)

python-3.9
79.69% <100.00%> (+3.95%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


fix(core): update relationship when manually specifying PK on inverse side

When creating an entity with many-to-one or one-to-one relationship on the inverse side, if the primary key is manually specified before flush(), the owning side's corresponding relationship definition will not be updated. This is because the manually specified primary key entity does not have a __identifier attribute, and the ChangeSetComputer.processToOne() method only adds a payload containing the updated relationship definition when the __identifier attribute is present. In this situation, if the owning side is only expected to update the relationship definition in this flush(), it will not trigger the onUpdate event, as the event relies on the changeSet, and an empty payload changeSet will not be added to the corresponding queue.

I have made the changes based on your suggestions.

您的更改正在打破 123 项测试... ：]

I'm sorry..... 😢

Hi @B4nan , when can we merge this request?

As I said, this breaks many tests, so not mergable at all.

So the problem was actually elsewhere, your problem was specific to using em.create() which uses the hydrator under the hood - and hydration did have disabled propagation of changes, or better say under hydration context the changes were considered as already saved in the database.
Fixed via 30778c35667d275bf4407a762feb1a92d91f7fe2


Import this mod to Fabric 1.19.2

Hi! I haven't found any other ways to contact you, so the question is: can you please make a version for 1.19.2 Fabric. I hope it's not too hard, but you would have saved me heh. Thanks!

I made a quick edit to backport to 1.19.2 make sure you use datapackportals 1.2.2. Don't have time to test it now so it's only available as a Release on Github. Do come back here if you encounter issues


proposal: errors: func wrap

Backwards compatibility should be a function a previous design's quality. It should NOT be a function of adherence to backwards compatibility. Go 2 does not promise to be compatible with Go 1: While compatibility is nice to have, it isn't required. Change is inevitable. So why are we limiting ourselves on this specific issue? Luckily, the answer to that question does NOT matter for this proposal. It's backwards compatible and boomer approved.
With that out of the way...
Proposal
You want error handling ideas. Yet restriction is bad for creativity. This proposal is unhinged. I might not even like it... but I'm making it anyways. Perhaps, my outlook will change.  All I know is that it isn't a duplicate.
An error is a value in Go, so anything that is applicable to errors should also be applicable to values; except panic and recover I guess... If we are going to use a function, it is either a built-in or keyword; none of this top of the page, 4th dimension, quantum realm nonsense.
People want to be able to return if not nil, wrap errors, and feed their families, all with a single error feature. Now, I'm not gonna lie: This one might leave lil timmy a lil hungry. Expecting a single feature to handle errors is like expecting the language to work without if statements and... Let's not get ahead of ourselves here. This proposal will meet the requirements.
 Otherwise, you are NOT amused right now. You may be asking yourself if this post even has a proposal in the first place. It does. I just needed to make it longer so it seems more sophisticated than the other ones. So without further ado...
Add the ability to accept functions in place of a value - or only error values - if it isn't equivalent to its zero value.
func bezo(baller, dollers string) error {
    bucko, (err) := strconv.Atoi(baller) // returns err if not nil
    bucks, _ := strconv.Atoi(dollers)
    fmt.Println("$:", bucko + bucks)

    ballin, fmt.Errorf("error: balled too hard\n%w", err) := isBaller(bucko + bucks,<PHONE_NUMBER>) // returns err if not nil
    if ballin {
        take50(err) := MakeMackenzieHappy() // returns err (cause not nil)
    }
    return nil
}

For the MENSA members out there.
func musk(money string) (bool, error) {
    if money == "long" {
        money = "longer"
    }

    sec, fmt.Tweet(err) := findSEC() // returns false, fmt.Tweet(err) error if not nil
    RunFrom(sec)
    return false, nil
}

Potential Supporters
@ianlancetaylor Due to my flow control.
@networkimprov he did it. he solved go errors.
Similar Proposals (Not Duplicates)
https://github.com/golang/go/issues/21732 @faiface +8 -8
idek @lldld
https://github.com/golang/go/issues/14066 @gertcuykens
https://github.com/golang/go/issues/46655 @smasher164
Symbolic Proposals
https://github.com/golang/go/issues/50207 @misaka123456
https://github.com/golang/go/issues/42214 @kidlj
https://github.com/golang/go/issues/32884 @integrii @alanfo
https://github.com/golang/go/issues/42318 @be-impl +18 -19 @sirkon
https://github.com/golang/go/issues/36390 @cmidt-veasna -5
Implications: https://github.com/golang/go/issues/52415
More Implications: https://github.com/golang/go/issues/52380

If I'm following this, you are suggesting that we permit functions on the left hand side of an assignment.  If we assign a non-nil value to a function, then we instead call the function, and then we return the result of calling the function from the caller.
In this example:
    ballin, fmt.Errorf("error: balled too hard\n%w", err) := isBaller(bucko + bucks,<PHONE_NUMBER>)

where is err declared?
This seems pretty similar to #32473.

I don't understand why this has so much weird meme-ish language. It makes it difficult for me to follow what you're talking about. Can you please cut out the noise and restate your proposal as simply as possible?

If I'm following this, you are suggesting that we permit functions on the left hand side of an assignment. If we assign a non-nil value to a function, then we instead call the function, and then we return the result of calling the function from the caller.

@ianlancetaylor You explained it! The #32473 is similar but his example is a bit complicated. It shouldn't be much more complicated than what you said. Also, we should NOT allow keywords such as return, break.

@efronlicht I have a broken keyboard right now so I can't use bigger words.

 HUH! IS a RETURNED AS WELL?

What happens in any other case.
// in a func that returns string and error
if err != nil {
   return "", err
}

Your question is not an issue with any proposal but rather the way Go handles values. Are other values reliable or not when an error is returned? _ implies that they can be. However, when that is the case, you have ignored the error explicitly (with _), implying that the other value is useful.
The difference here is that we are not USING variables but returning them. The reason you use the zero value for everything other than error is because we can't assume that the func wrap returns the result. As an example:
func leet() (string, error) {
     // a is a bool, not a string
     // err is an error, which fmt.Errorf returns
    fmt.Errof("%v, %w", a, err) := simple() // return "", err when err != nil

    return "code", nil
}

As you can see, the actual issue with any of these proposals is that the way Go handles errors is not consistent. In Go, errors are values, but not all values are errors. This is an implicit statement: panic and recover can only be used on error values. This may or may not be inconsistent behavior.

There is one significant drawback to [the current] approach, at least for some applications: there is no way to know how much of the processing completed before the error occurred. If that information is important, a more fine-grained approach is necessary. Often, though, an all-or-nothing check at the end is sufficient.
— @robpike

In contrast, a proposal is expected to maintain consistency based on a condition that isn't exactly consistent (errors being a special value), so no proposal will ever work barring functionality that requires you to be in the know. In this case, we limit assignment funcs to a single error and returning zero values for everything else.
To be honest, keeping errors the same isn't that bad. Google has like 20000 programmers so 3 lines shouldn't be a big deal. Google can adopt trio-programming or require more leetcode during interview. The industry will catch on eventually.

Stop mention me please.
This proposal is all about LOC reduction at the cost of line width and readability. I don't see how it solves real issues of Go error handling, these are:

No type system support for mandatory error handling. I mean you can write like this and will get NPD in the end:
 file, err := os.Open(filename)
 if err != nil {
     fmt.Println(err)
 }

 filedata, err := io.ReadAll(file)
 …

Some kind of "instability" of error handling:
 if err := f(x); err != nil {
     …
 }

And this fragment must be rewritten completely if a new return parameter is added:
     res, err := f(x)
     if err != nil {
         …
     }

Back to your proposal:

It doesn't solve #1
It will make kind of rewrites of #2 a bit more straightforward in simplest cases where it just returns raw or wrapped error. In the same time it will introduce a more annoying kind of literal "instability" where you need to extend error processing logic.

@switchupcb Please follow the Go Community Code of Conduct.  Please be polite and respectful in your comments on this issue tracker.

Yes, but that is the actual question. I don't know what NPD is or where a return parameter is added. I can't understand what he is saying.

@sirkon Well, if it's an issue from 58% of Gophers, we need to make proposals on it. I think you bring up yet another possible idea: remove a method of handling errors to standardize the language entirely. This isn't backwards compatible but it may have benefits that outweigh the current way of doing things.

@sirkon has got me thinking here. At first I didn't like this idea. However, treating errors as a special value is probably justified by the existence of panic and recover. The question he is proposing is whether this proposal is consistent with the current two methods of handling errors. Well, he isn't proposing the question literally but it's not like we will remove generics because we can use interfaces.

Two main forms

if err := simple(); err != nil {
   return err
}

v1, v2, vN, err := simple()
if err != nil {
    return err
}

This proposal implements:
v1, v2, vN, (err) := simple()

Alternatively.
v1, v2, vN, fmt.Errof("balled too hard\n%w", err) := simple()

This proposal could (but in my opinion, should NOT) allow:
if v1, v2, vN, (err) := simple(); ... {
    ...
}

Alternatively (not necessary in my opinion; just do 3 with a standalone if line).
if v1, v2, vN, fmt.Errof("balled too hard\n%w", err) := simple(); ... {
    ...
}

Feel free to go against my opinion, though.

@ianlancetaylor Fixed! With this determined, there is one more thing we must consider before submitting this proposal (which is NOT the same as approving it).
Justified by the consistency of panic and recover, this feature could be used on other values.
string(a), err := why() // where a being "" returns "", nil

This would then justify the following:
func woe() (string, error) {
    // where a being 123 returns "123", nil
    // where err being not nil returns "", err
    // where both being zero or nil doesn't return
    string(a), (err) := why()

    /* Alternatively. */
     string(a), b, fmt.Errof("balled too hard\n%w", err) := why()
}

This is too ambiguous.  I don't like the ability to use functions on the values that aren't error. So this proposal is only justified if it makes sense to only allow this on error types; which implies that they are a special type of value.

Also, the example in https://github.com/golang/go/issues/52416#issuecomment-1102798612 implies that we only return if err is not nil, cause otherwise you run into the issue above.

An additional concern I'd have it explicitness. This proposal simplifies the use of the error that one line. It says "do something here with the error" but then (similar to _) requires you to know what that thing is. I think something like https://github.com/golang/go/issues/37141 is more explicit but overall carries the same functionality. With any of these, you have to know what calling a function or keyword does.
Compared to https://github.com/golang/go/issues/37141, this proposal ends up being a similar idea, but the difference is that https://github.com/golang/go/issues/37141 adds a keyword (pass, check, whatever) and an additional line of code to declarations. his maintains explicitness and prevents the usage of the new feature in if statements. So at the current time, I like https://github.com/golang/go/issues/37141 better than this proposal unless you are seeing this proposal in a different way.
a, err := why()
check err // or pass fmt.Errorf etc

Just a syntax proposal
   ballin, err := isBaller(bucko + bucks,<PHONE_NUMBER>)
   return! fmt.Errorf("error: balled too hard\n%w", err)

Returns expr at right of ! if err not nil and default value for any other return values.
Still explicit return (behavior for other returned values is quite common and expected - as for me at least)
Does not overloads one line with a, fmt.Errorf(...) := call(toSmth) a call and error processing
It is just like macro if err != nil { return nil, ..., expr(err)  }, with minimum magic here

At first I thought you were joking OP but seeing this proposal, I imagine so much utility from it.

dispite whatever it is, go team should put a better error handle on the agenda, people bored to write more if err != nil. may be you can take a look https://github.com/goplus/gop/wiki/Error-Handling . after all, they already implemented a better error handle way.

@switchupcb
One of the most common issues with error-checking proposals (including all of the ones linked in the proposal), is that they lack explicit control flow keywords. This proposal does not address this, the syntax is easy to confuse with function calls and type conversions.
@hummerd  @switchupcb
Check out #39372 for an example of a fleshed out error-checking/error-passing proposal with explicit control flow.

@switchupcb: With regards to

What is NPD?

It is simply shorthand for this error, Invalid memory address or nil pointer dereference, which takes place when an application tries to dereference an uninitialized pointer. I assume, but I haven't seen this abbreviation.

Based on the discussion above, and the emoji voting, this is a likely decline.
Leaving open for four weeks for final comments.

@theherk There is no way his code could dereference unless it is wrong. His whole point was not changing errors in the first place because we have two ways to handle them.

This is already too much. You propose the third way.

I'm not sure if he read the proposal because of the backwards compatibility misconception, but it doesn't matter. He is an if err != nil maxi.
He's right though. Vim users only have like 80 characters for width and this would result in code with lots of 80+ character lines.

@switchupcb I'm not disputing any of that, nor making any statement on the proposal; just clarifying.


would be very handy for substitutions to respect the ${env:VARIABLE} syntax

Our cmake is run locally by a makefile which substitutes in various environment variables (eg CONDA_PREFIX which we use for package management). It would be very handy to be able to substitute environment variables into paths using the ${env:VARIABLE} syntax which is used in other extensions.

Closed.
If this issues still persists in the current 0.11.0-beta4, feel free to reopen this one or create a new one.


Update roomba to 1.2.2

Please update my adapter ioBroker.roomba to version 1.2.2.
This pull request was created by https://www.iobroker.dev c0726ff.

1.2.2 created 03.09.2023
94 user
OK


Catching an exception in sendbroadcast if service unexpectedly becomes u...

Regarding issue #59
Commit 6b005f22a83f0c72cb5864a15a0426888879bcf7

This solution doesn't address the underlying design issue.  In general, exceptions happen for a reason, so ignoring them is usually not a good idea.


Not showing images from same origin over https

We are using html to canvas for certificates but it is not showing images in the screenshot that it takes.
Issue appears only over https .
Any idea or clue about this?
Thanks in advance .

Any response here?

Sorry for the late reply. If this is still relevant, could you share an example


Use FileStreamPortable not FileStream

Legacy extents do not understand FileStream but do understand FileStreamPortable.
Need to remove references to FileStream that was introduced with the RowanLoggingService class.

References removed in 3.0.86. - To verify, one can do a Browse References for FileStream.


Better pagination

Closes: https://github.com/fnproject/fn/issues/560
Closes: https://github.com/fnproject/cli/issues/110
Closes: https://github.com/fnproject/cli/issues/109

Rebased. @treeder @rdallman can you revisit your reviews to make this land to the master branch?

Did you fix the possible infinite loop?  I still wonder why this doesn't just call the API and return whatever it gets. If the API has a 30 default, use that. If the API has a max of 100 (or whatever it is), let the API decide and return whatever it gives you, instead of looping over API calls here.


Removed seth init line from RPC service command

After adding proxy to build.args in docker-compose-installed. Related PR is https://github.com/hyperledger/sawtooth-seth/pull/35. The RPC does not start up properly in the docker-compose file. BWO of asking and testing the seth init line can be removed from the RPC service command. So the RPC does not try to startup improperly.  To check the RPC endpoint is working, on a new Terminal run the following curl to test.  documentation
This is my commit message
Signed-off-by: cliveb<EMAIL_ADDRESS>

Added Developer Certificate of Origin (DCO) to https://github.com/CertifiedTrue/ and Signed-off-by” cliveb line in each commit message after-the-PR forced signature to each commit. Unsure why DCO sign-off is missing still.

Hi Clive,
Thanks for the PR! I see you added the signoff in your PR message. However, the DCO actually checks your commit message for the signoff, so you will need to add the signoff on your commit message instead.  I cannot add the DCO to them or cancel them either. They are stuck in limbo. I will resubmit with proper DCO signatures.


Feature/release section

Fethed latest releases from recent repositories present in corona safe
Added Recent Release section in home page

Hey @rithviknishad we need to add a personal access token in the env file. I accidentally pushed my access token in the commit thanks to git-guardian it automatically got deleted from my GitHub profile. We can add GitHub personal access token, this is to call the graphql API endpoint.

Let's also have a dedicated /releases page which will show more number of releases along with their markdown contents, like how we have in /projects
And in the home page, let's show only recent 5 releases, the page feels like there's so much vertical content that needed.

added releases page with a similar markdown as the projects section
reduced releases on home page to 4 (was looking more clean instead of 5)

@kirtanchandak build failed

looks to me like a lint error

Everything perfect?


Text field input error block

Hello!
Could you please explain how to use text field input error block. Which event should perform it?

Sure!
The error block is called every time the user tries to input text less longer than the minimum specified by ´minimumTextLength. You can of course set minimumTextLengthto0` if you don't care about text length.


Implementation of sigmoid activation function.

Quite simple implementation, using the formula sigmoid(x) = 1/(1 + exp(-x)).
I did not write unit tests for this specific activation, as I was not able to find where they are. (I found the acceptance tests, not the unit ones.) If you point me to their location, I will gladly write them.

Tanh === Sigmoid… up to scaling and shifting (which the model can account for trivially with input layer weights *= 2 and bias += 1), there’s no need to add an extra activation function, it might confuse the user.  The results will be the same as with Tanh.
Tanh(x) = 2*sigmoid(2x) - 1

Thank you for the fast answer !
Indeed they are almost the same and there shouldn't be a big impact when using one or the other. I will close the pull request.
I was thinking that making a more complete model would have been useful, and that was an easy first pull request. I couldn't find an issue tracker or functionalities list that you would want to implement. What would be a task requiring additional programming muscle ?

jira.h2o.ai
search pubdev project
i will make this more prominent in github readme.

On Apr 16, 2015, at 9:02 PM, Sébastien Arnold<EMAIL_ADDRESS>wrote:
Thank you for the fast answer !
Indeed they are almost the same and there shouldn't be a big impact when using one or the other. I will close the pull request.
I was thinking that making a more complete model would have been useful, and that was an easy first pull request. I couldn't find an issue tracker or functionalities list that you would want to implement. What would be a task requiring additional programming muscle ?
—
Reply to this email directly or view it on GitHub.

FYI: The following list contains issues for new h2o contributors:
https://0xdata.atlassian.net/browse/PUBDEV-512?filter=13600
michal
Dne 4/16/15 v 9:29 PM Tom Kraljevic napsal(a):

jira.h2o.ai
search pubdev project
i will make this more prominent in github readme.

On Apr 16, 2015, at 9:02 PM, Sébastien Arnold<EMAIL_ADDRESS>wrote:
Thank you for the fast answer !
Indeed they are almost the same and there shouldn't be a big impact when using one or the other.
I will close the pull request.
I was thinking that making a more complete model would have been useful, and that was an easy
first pull request. I couldn't find an issue tracker or functionalities list that you would want
to implement. What would be a task requiring additional programming muscle ?
—
Reply to this email directly or view it on GitHub.

—
Reply to this email directly or view it on GitHub
https://github.com/h2oai/h2o-dev/pull/18#issuecomment-93891016.

Thank you !


[REQUEST] Add Additional HUDs

Describe the feature you're suggesting.
Add the following HUDs to the editor, as requested on GameBanana:

Print Hud
n1tehud
Darhud
middle mann hud

Closing for now since I don't have the time to add more HUDs myself right now


about  kong  rtsp  setting

kong  version  1.3.X
kong ip  <IP_ADDRESS> use vmware
client ip <IP_ADDRESS> , vmnet8:<IP_ADDRESS>
there i want kong to support rtsp ，I configured services
{"host":"<IP_ADDRESS>","created_at":1572487052,"connect_timeout":60000,"id":"997b83ba-36e7-401a-9201-943fe1671c87","protocol":"tcp","name":"rtsp-service","read_timeout":60000,"port":8554,"path":null,"updated_at":1572487110,"retries":5,"write_timeout":60000,"tags":null,"client_certificate":null}
then I configured routes
{"id":"50643353-721a-4402-9f81-9978a42003a5","tags":null,"updated_at":1572487163,"destinations":null,"headers":null,"protocols":["tcp"],"created_at":1572487163,"snis":null,"service":{"id":"997b83ba-36e7-401a-9201-943fe1671c87"},"name":"rtsp-route","preserve_host":false,"regex_priority":0,"strip_path":true,"sources":[{"ip":"<IP_ADDRESS>","port":null}],"paths":null,"https_redirect_status_code":426,"hosts":null,"methods":null}
And modified the configuration file in kong.conf
stream_listen = *:554
i visit rtsp://l<IP_ADDRESS>:8554/123 is ok , Can play normally
When I visit,
rtsp://<IP_ADDRESS>:554/123
the log is printed as，access.log is
<IP_ADDRESS> [31/Oct/2019:10:41:06 +0800] TCP 200 1786 857 10.763
<IP_ADDRESS> [31/Oct/2019:10:41:17 +0800] TCP 200 2100 1242 10.837
and  error.log is
2019/10/31 10:41:06 [warn] 3948#0: *17051 stream [lua] reports.lua:55: log(): [reports] unknown request scheme: nil while proxying connection, client: <IP_ADDRESS>, server: <IP_ADDRESS>:554, upstream: "<IP_ADDRESS>:8554", bytes from/to client:857/1786, bytes from/to upstream:1786/0
2019/10/31 10:41:17 [warn] 3948#0: *17125 stream [lua] reports.lua:55: log(): [reports] unknown request scheme: nil while proxying connection, client: <IP_ADDRESS>, server: <IP_ADDRESS>:554, upstream: "<IP_ADDRESS>:8554", bytes from/to client:1242/2100, bytes from/to upstream:2100/0
anyone help me please ,thanks so much

Can someone reply me, just reply one and tell me that it is better to not set it now than not to reply.
Thanks to the developer of kong

@rural-hermit We don't support rtsp and it's doesn't seem like an API gateway feature we consider in the short term. However, you can try to customize build Kong with rtmp C module (https://github.com/arut/nginx-rtmp-module#nginx-based-media-streaming-server)

@rural-hermit did you have any luck using the above nginx module?


Error while decrypting the chipertext provided to safeStorage.decryptString

Aknowledgements

[X] I have checked that there is no other issue describing the same or
similar problem that I currently have, regardless if it has been
closed or open.

[ ] This bug affects Discord website.

[ ] This issue is confirmed to be reproduceable when WebCord is packaged
on at least all three latest supported Electron major releases.

[ ] This issue is reproduceable in Chrome, Chromium or any
Chromium-based browser, e.g Brave or Edge (please write in
Additional Context which browser you have used if it is neither
Chrome nor unmodified Chromium).

[X] There are no fixes done to master which resolves this issue.

[ ] My issue describes one of the unstable and/or not fully implemented
features.

[ ] I have found a workaround to mitigate or temporarily fix this issue
in affected releases (please write it in Additional context section
below).

Operating System / Platform
🪟 Windows
Operating system architecture
x64 (64-bit Intel/AMD)
Electron version
Can't run it, so whatever's packaged with v4.2.0
Application version
v4.2.0
Bug description
I'm getting the following error when installing:

This is a fresh Windows 11 installation, so I might be missing some dependencies, even low-level ones. I remember everything was working fine before re-installing Windows, which is basically the only reason why I think I might be missing something.
Additional context
No response

A temporary fix that I found is to delete the windowState file, located at %AppData%/WebCord/ in Windows.

This is also happening to me, but I'm using Kubuntu Kinetic.

I've just installed it on Kali Linux on VM, and it's working normal there.

Why is this refering for Windows file paths?

Why is this refering for Windows file paths?

WinStateKeeper is a class name in program, this is a stack that points where it happens in code (file:line:character).

Why is this refering for Windows file paths?

WinStateKeeper is a class name in program, this is a stack that points where it happens in code (file:line:character).

Btw, it stopped working after some hours in my VM also, with the same error.

I'm having the same issue on Fedora 38 Workstation.

I'm having the same issue on Droidian, a mobile Linux OS, with Webcord installed as a flatpak. Any idea where are the configuration files for Webcord, see if deleting them helps as @K0vah1911 reported above? I couldn't find anything in ~/.config/ or ~/.local/share/, I suspect those are not the configuration directories for flatpaks?

Same issue on Arch Linux, both in the webcord and webcord-bin packages (config files not purged in-between testing both packages, which may explain why the issue persisted on an otherwise fresh install of webcord). Deleting windowState in ./config/WebCord seems to have resolved the problem for now.
Worth noting that I was not having this issue prior to updating today.

Just had this issue when trying to open webcord - deleting ~/.config/WebCord/windowState fixed the issue temporarily. I'm on openSUSE Tumbleweed if that's relevant.

Getting the same issue on Pop_OS

Same issue on Linux Mint 21 using the flatpak. Webcord v4.7.0 is what is in the Software Manager, Webcord v4.7.1 isn't in there yet.

Experiencing the same issue on Linux Mint 21 via Flatpak. Webcord v4.7.0

Also experiencing the same issue on Endeavouros via Flatpak. Webcord v4.7.1

I should be saying, Flatpak builds are not supported by me at all and spamming that this issue still happens, especially in case of the Flatpaks, is not helpful at all.

I should be saying, Flatpak builds are not supported by me at all ocommunity maintains them, so don't expect from me fixing any bugs specific to them) and spamming that this issue still happens, especially in case of the Flatpaks, is not helpful at all.

Sorry about that! kinda weird on the maintainer to link to this github page to report issues but I guess I should've read the description.

I should be saying, Flatpak builds are not supported by me at all ocommunity maintains them, so don't expect from me fixing any bugs specific to them) and spamming that this issue still happens, especially in case of the Flatpaks, is not helpful at all.

Also, I think I wanted to work on this at some point, but given Electron developers were planning to implement a special API to preserve window bounds, I stopped working on this and waited once this will be resolved. Honestly right now I'm not sure if it's been already implemented or will be implemented at all, I guess I need to either search for that in API docs or Electron's bug tracker to find out how that ended.

Same issue on Arch Linux, both in the webcord and webcord-bin packages (config files not purged in-between testing both packages, which may explain why the issue persisted on an otherwise fresh install of webcord). Deleting windowState in ~/.config/WebCord seems to have resolved the problem for now.
Worth noting that I was not having this issue prior to updating today.

This fixed it for me. Thank you, I just had to delete .config/webcord just like you said. Though, I fixed this on my own and came to this issue to post my solution. Should've read this post first but thanks anyways.

A temporary fix that I found is to delete the windowState file, located at %AppData%/WebCord/ in Windows.

Confirming this works. I've basically changed from GNOME to KDE Plasma in Arch Linux and It seems the only problem in WebCord because I've moved was that file (why?)


Deprecate TLS rely on Pulsar tlsEnabled configuration.

Motivation
Current the MoP broker use TLS to rely on Pulsar deprecated configuration tlsEnabled, we should separate TLS configuration for MoP and Pulsar for flexibility.
Modifications

Deprecate TLS rely on Pulsar tlsEnabled configuration. use mqttListeners prefix instead of it.

Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[x] doc
(If this PR contains doc changes)

Codecov Report

Merging #585 (d20f361) into master (757b02d) will decrease coverage by 0.00%.
The diff coverage is 73.43%.

@@             Coverage Diff              @@
##             master     #585      +/-   ##
============================================
- Coverage     75.84%   75.84%   -0.01%
- Complexity      784      827      +43
============================================
  Files           104      105       +1
  Lines          3420     3585     +165
  Branches        230      238       +8
============================================
+ Hits           2594     2719     +125
- Misses          671      706      +35
- Partials        155      160       +5

Impacted Files
Coverage Δ

...pulsar/handlers/mqtt/support/psk/PSKSecretKey.java
26.66% <0.00%> (-30.48%)
:arrow_down:

...ive/pulsar/handlers/mqtt/support/psk/PSKUtils.java
61.22% <0.00%> (-15.70%)
:arrow_down:

...upport/systemtopic/DisabledSystemEventService.java
55.55% <0.00%> (-6.95%)
:arrow_down:

...ar/handlers/mqtt/support/systemtopic/PSKEvent.java
40.00% <40.00%> (ø)

...e/pulsar/handlers/mqtt/MQTTChannelInitializer.java
63.04% <47.82%> (-4.89%)
:arrow_down:

...ndlers/mqtt/proxy/MQTTProxyChannelInitializer.java
60.00% <47.82%> (-4.92%)
:arrow_down:

...tive/pulsar/handlers/mqtt/MQTTProtocolHandler.java
73.33% <50.00%> (+1.66%)
:arrow_up:

...dlers/mqtt/support/systemtopic/MqttEventUtils.java
75.67% <77.77%> (+0.67%)
:arrow_up:

...ative/pulsar/handlers/mqtt/MQTTServiceServlet.java
81.15% <80.00%> (-8.13%)
:arrow_down:

...ar/handlers/mqtt/support/psk/PSKConfiguration.java
74.15% <80.00%> (+5.06%)
:arrow_up:

... and 10 more

Continue to review full report at Codecov.

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


ISPN-1849 Avoid an IllegalArgumentException when physical address is req...

...uested for logging but is not yet defined
And ISPN-1849-5.1.x for 5.1.x
https://issues.jboss.org/browse/ISPN-1849

Testing

Merged, thanks


Download CSV is broken with customBodyRender

A continuation of #963 and (possibly) reopening of #275 .
Expected Behavior
Having a customBodyRender should produce CSV file that looks exactly like shown in UI.
Current Behavior
Downloaded csv (in case of columns with customBodyRender) produces out-of-order output.
Like if UI shows:

id
name
char

0
a0
0

1
a1
1

2
a2
2

the downloaded CSV shows:

id
name
char

0
a0
0

1
a1
7

2
a2
4

Steps to Reproduce (for bugs)
https://codesandbox.io/s/suspicious-feynman-mf925
Your Environment

Tech
Version

Material-UI
3.9.3

MUI-datatables
2.11.1

React
16.8.6

browser
*

Since React 0.14, Dan Abramov says they are tagging react components to be easilty identified. Maybe this can help.

Thanks for opening. I've been looking into the react object identification as part of this, but it turns out this issue is not exactly that. It was a failure of the logic to account for the displayed data index. There was no problem until the data was sorted for a custom render, but once sorted, the index isn't maintained. I've added a fix for that to the PR I opened for the other issue as they involve the same line of code.

Hi. Thank you so much for being so responsive.
Unfortunately, this needs to be re-opened as it is not solved in 2.12.0.
The reproduce steps are a bit complicated but now they truly expose the issue: https://codesandbox.io/s/pedantic-rain-b4j6o
On
https://github.com/gregnb/mui-datatables/blob/b8bee522b0e554522daa34d4cb3a41ffe95bbe03/src/components/TableToolbar.js#L113
when column is indeed a React component, it looks like this:
[{…}]
0: {$$typeof: Symbol(react.element), key: "17", ref: null, props: {…}, type: ƒ, …}
length: 1
__proto__: Array(0)

and such it is an array and it fails the check, and doesn't pass the original value from data (data[row.index].data[i]) but the column itself.
The output of categories column in CSV should match the one in the UI.

The way you are using it now is actually unsupported behavior. You have to return either a react component or a string from customBodyRender.

Thanks. I guess I need to find a workaround for this as this is a show stopper.
What is the rational behind this differentiation? Why not always pass the original values to the create CSV function?

 Seems to me that you should be able to do just about anything with a component. If you need a list of something in the cell, then wrap a component around your map. Just make sure there's a component around everything in the customBodyRender.

wrap a component around your map

Yep, that's the workaround. It works now.
Thanks.

Ok, glad it works! The render functions are only set up to pass components and strings, It's just how they work, but I think they should provide enough for most use cases with those options.

My solution was create 2 columns one with custom body render (options:{download:false}), and second column is a normal but hidden with display "false"
like this
{
      name: "LOS",
      field: "los",
      options: {
        filter: false,
        sort: true,
        download: false,
        customBodyRender: item => {
          return (
            <label style={item.los > 0 ? { color: "red" } : { color: "" }}>
              {item.los}
            </label>
          );
        }
      }
    },
    {
      name: "LOS",
      field: "los",
      options: {
        filter: false,
        sort: true,
        display: "false"
      }
    },

with this we can get the data to csv download!


fix title

I wanted to merge this one...
On 16 February 2018 at 10:56, khaledkzy<EMAIL_ADDRESS>wrote:

Merged #5 https://github.com/khaledkzy/google-mws-nd-Links/pull/5.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/khaledkzy/google-mws-nd-Links/pull/5#event-1477652882,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AiFHBnGApnBbPaFUp16UCKXxeh4Rt6n_ks5tVV7rgaJpZM4SIFY4
.


Mark required fields in deposit form

:warning: Fields marked "HTML required" get frontend validation which doesn't look good and interferes with functionality (to doublecheck if they are the true culprit...). For a taste of this, try adding a new title and clicking the x of the first or second one (problematic some of the times...), it makes the HTML check appear and doesn't remove the title (multiple tries make it remove the title...).

@fenekku is your comment still valid? Otherwise, I think we can close this issue :)

Nope not valid anymore (see past discord message). We can close :) .


join: In absence of a field-list, merge all fields from left & right hand sides

Repro is with Zed commit 793260a.
This is one we'd discussed internally but hadn't yet added. However, a community beta tester just reported having been confused by its absence, hence putting it on the to-do list.
Start from the "inner" example shown in https://github.com/brimdata/zed/blob/main/proc/join/ztests/kinds.yaml. If we drop the hit:=sb portion, the output consists of only the fields from the left-hand record that had a successful match.
$ zq -version
Version: v0.29.0-391-g793260a1

$ cat A.zson
{a:10,sa:"a0"}
{a:15,sa:"a8"}
{a:20,sa:"a1"}
{a:25,sa:"a7"}
{a:30,sa:"a2"}
{a:35,sa:"a6"}
{a:40,sa:"a3"}
{a:45,sa:"a5"}
{a:50,sa:"a4"}

$ cat B.zson
{b:20,sb:"b20.1"}
{b:20,sb:"b20.2"}
{b:40,sb:"b40"}
{b:40,sb:"b40.2"}
{b:60,sb:"b60"}

$  zq -z 'inner join on a=b | sort a' A.zson B.zson
{a:20,sa:"a1"}
{a:20,sa:"a1"}
{a:40,sa:"a3"}
{a:40,sa:"a3"}

However, the user was expecting the totality of all fields from both sides for when the match succeeded, hence they were expecting the inclusion of the sb values in this example. So the proposal is that in the absence of an explicit field-list, this would become the default behavior.
This new behavior comes in handy in at least two ways:

If there's a lot of fields from the right-hand side the user wants to preserve. They'd otherwise be in for a lot of typing, with plenty of opportunities to make small typos and miss data.
If the right-hand record types vary such that the user doesn't even know the complete set of possible field names, but they know they want "all the data" in the output, whatever it might be.

Maintaining the ability to selectively cut a subset of fields is still very useful, though, so I'm not advocating removing what's already there.
FWIW, this does seem close to a SQL equivalent. For instance, if you examine https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_join_inner (which is the top "Try it Yourself" linked from https://www.w3schools.com/sql/sql_join_inner.asp)) the SELECT Orders.OrderID, Customers.CustomerName they start out with seems equivalent to the "cut expression" part of the Zed join, and if you run it, indeed you get only those two columns. However if you change it to SELECT * now you get them all. I'm not sure if we want to use a * in place the the cut expression or something else, though. :man_shrugging:

While we're waiting on this, @mccanne reminded me that something like this is possible today if you're ok adding the right-hand-side fields as an embedded record. Following on the example shown above:
$ zq -z 'inner join on a=b rhs:=this | sort a' A.zson B.zson
{a:20,sa:"a1",rhs:{b:20,sb:"b20.1"}}
{a:20,sa:"a1",rhs:{b:20,sb:"b20.2"}}
{a:40,sa:"a3",rhs:{b:40,sb:"b40"}}
{a:40,sa:"a3",rhs:{b:40,sb:"b40.2"}}

@mccanne notes that the challenge on doing the "merged" variant might be in dealing with the corner cases, e.g. what to do if the left-hand table has fields with the same names as the ones in the right-hand table. Do we overwrite? Make a separate field with _1 appended to its name? etc.

The Zed docs published in #2836 cited this issue as a current limitation. When this issue is addressed, the docs should be updated.

The Including the entire opposite record section of the Join Tutorial provides relevant detail for approaching this with the current implementation.


submit reason PR to github linguist

https://github.com/github/linguist/blob/master/CONTRIBUTING.md#adding-a-language
I've started and dropped this a few times now. Part of me want to see Reason immediately recognized by github but part of me says we should meet the popularity criteria on that page first. I'll hold this off and wait for us to acquire some more credibility.

The Rust highlighting works for me in the mean time!

Note for folks viewing this issue: if you put
/*
 * vim: set ft=rust:
 * vim: set ft=reason:
 */

At the top of your reason source file, the github heuristics will use Rust's language highlighting; Rust's syntax is similar than ours currently.
In the future, the  * vim: set ft=reason: line will act as a progressive enhancement if it ever becomes available.

@chenglou, Also if you have the ft=rust at the top, then you need the ft=reason after it in order for Vim to load Reason syntax instead of Rust, so it has two benefits.

Would it make sense to try to aggregate the github statistics accross OCaml and reason? I am confused by the classification of the latter as a separate language.

@braibant : I think that makes sense. It looks like it's possible to do this - .ml and .mli files are both considered OCaml files. The only thing I don't know how to do, is append to the existing OCaml linguist configuration by adding Reason syntax.

I would very much support that. @samoht is the one who apparently submitted the OCaml samples, so he might know what to do.

Any progress here? :)

No answer here yet: https://github.com/github/linguist/pull/3336

For now, you can put this at the top of your file and it will highlight it reasonably well:
/*
 * vim: set ft=rust:
 * vim: set ft=reason:
 */

Hey guys. Sorry about the slow response from Linguist's side... I've posted a list of steps that need to be taken before we can get it merged. 👍
@jordwalke There's a .DS_Store file that's been checked into the repository at editorSupport/VimReason/plugin/.DS_Store... you may wish to remove it. =)

Removed DS_Store, thanks for spotting it =)

An automated process of mine did, actually. =) It recursively clears my system of Steve Jobs' toenails every hour or so, and I noticed it'd modified one of Linguist's submodules. Not the first time a .DS_Store file made its presence known like that, heh.

It seems the linguist PR had been merged. Can we close this?

Yep! Thanks.


[Storage] Mismatch in docs and code behaviour

Hi @orhanmaden
I believe I found the issue:
  var credential = new DefaultAzureCredential();
  var containerUri = new Uri($"https://{accountName}.blob.core.windows.net/{containerName}/");
  var blobServiceClient = new BlobServiceClient(containerUri, credential);
  var containerClient = blobServiceClient.GetBlobContainerClient(containerName);

It looks like you are trying to use the containerUri as the Uri for the Blob Service.
I'd recommend trying this instead:
  var credential = new DefaultAzureCredential();
  var serviceUri = new Uri($"https://{accountName}.blob.core.windows.net");
  var blobServiceClient = new BlobServiceClient(serviceUri, credential);
  var containerClient = blobServiceClient.GetBlobContainerClient(containerName);

-Sean
Originally posted by @seanmcc-msft in https://github.com/Azure/azure-sdk-for-net/issues/13411#issuecomment-657707295

From the above comment in another issue.
There is a mismatch between the code behavior and documentation.
The documentation states that any reference to a container or blob will be ignored:

But the code throws an exception: InvalidUri -> The requested URI does not represent any resource on the server

Hi thanks for bringing this to our attention. The documentation that you provided seems to be for the Python SDK. As such, please submit an issue in the Python GitHub: https://github.com/Azure/azure-sdk-for-python


UnboundLocalError

Description of the bug
A clear and concise description of what the bug is.
Failure when trying to download files. UnboundLocalError.
To Reproduce
Steps to reproduce the behavior:
Running ArchLinux with pytr installed via pip.

Go to 'any location'
Ran the command pytr dl_docs ./
See error

Expected behavior
A clear and concise description of what you expected to happen.
Error log
23:43:48 Connecting to websocket ...
23:43:48 Connected to websocket ...
23:43:48 Received error message: '1 E {"errors":[{"errorCode":"UNKNOWN_ERROR","errorField":null,"errorMessage":"Unknown error","meta":{"source":"PLATFORM"}}]}'
23:43:48 ('1', {'type': 'timeline', 'after': None}, {'errors': [{'errorCode': 'UNKNOWN_ERROR', 'errorField': None, 'errorMessage': 'Unknown error', 'meta': {'source': 'PLATFORM'}}]})
Traceback (most recent call last):
  File "/home/xxx/.local/bin/pytr", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/xxx/.local/lib/python3.12/site-packages/pytr/main.py", line 208, in main
    asyncio.get_event_loop().run_until_complete(dl.dl_loop())
  File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/home/xxx/.local/lib/python3.12/site-packages/pytr/dl.py", line 77, in dl_loop
    if subscription['type'] == 'timeline':
       ^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'subscription' where it is not associated with a value

Environment

OS: arch linux 6.9.3-arch1-1
pytr version: 0.1.9

Additional context
Add any other context about the problem here.

I can reproduce this on
OS: macOS Sonoma 14.4.1, M3 Silicon
pytr version: 0.1.9

My best guess would be that TradeRepublic has made some changes in their api and therefore the subscriptions varriable in api.py does not get populated correctly anymore. However, I have not had a closer look at how the data is obtained or how the traderepublic api works.

HI,
yes TR definitely changed something. Another (browser based tool), cannot download the docs since 8th june 2024 as well. They also somehow changed the PDF format, so that portfolio performance could not read it. But this is fixed this today.
sorry, I cannot help more than that, as I am not a programmer.
thaks
Juergen

@marzzzello : if you walk me through where you get your data via the 'private traderepublic api', I can contribute

Same problem here at Windows 11:
C:\Users\juergen>pytr dl_docs H:\Juergen\Finanzen\traderepublic_juergen_downloads --last_days 60 21:15:27 Found credentials file 21:15:27 Phone: +49159********, PIN: **** 21:15:27 Web session resumed 21:15:27 Logged in 21:15:27 Found 3724 lines in history file 21:15:27 Awaiting #1  timeline 21:15:27 Connecting to websocket ... 21:15:27 Connected to websocket ... 21:15:27 Received error message: '1 E {"errors":[{"errorCode":"UNKNOWN_ERROR","errorField":null,"errorMessage":"Unknown error","meta":{"source":"PLATFORM"}}]}' 21:15:27 ('1', {'type': 'timeline', 'after': None}, {'errors': [{'errorCode': 'UNKNOWN_ERROR', 'errorField': None, 'errorMessage': 'Unknown error', 'meta': {'source': 'PLATFORM'}}]}) Traceback (most recent call last):   File "C:\Python310\lib\runpy.py", line 196, in _run_module_as_main     return _run_code(code, main_globals, None,   File "C:\Python310\lib\runpy.py", line 86, in _run_code     exec(code, run_globals)   File "C:\Python310\Scripts\pytr.exe\__main__.py", line 7, in <module>   File "C:\Python310\lib\site-packages\pytr\main.py", line 208, in main     asyncio.get_event_loop().run_until_complete(dl.dl_loop())   File "C:\Python310\lib\asyncio\base_events.py", line 646, in run_until_complete     return future.result()   File "C:\Python310\lib\site-packages\pytr\dl.py", line 77, in dl_loop     if subscription['type'] == 'timeline': UnboundLocalError: local variable 'subscription' referenced before assignment

While with my TR account everything works fine, on the same machine I get the error above with the account of my girlfriend. It seems that this also depends on the used tr account.

Same here.
Could this have to do with the new "Giro-Konto" upgrade they offer?
Hope that someone find's a fix.

Same here. Could this have to do with the new "Giro-Konto" upgrade they offer? Hope that someone finds a fix.

This might be the case, I did the Giro upgrade while my girlfriend did not get the information about this yet.

Got the same error message but I've already updated to Giro. :/

I can confirm, the pull req #74 seems to fix the issues.
"seems" because I didn't test all features & functions, but standard operation works like a charm again.
If you're somewhat familiar with GIT and pip, it's easy to download locally and install.

HI,
I did a
pip uninstall pytr
and a
pip install pytr
But the version number did not change. It still shows
pytr -V
0.1.9
14:46:08 pytr is up to date

Anything else I need to do?
(The "Abrechnung" PDFs are still not downloaded, this is why I am asking.)
thanks
Juergen

HI, I did a pip uninstall pytr  and a pip install pytr
But the version number did not change.

That's because the pull request has not been approved/incorporated by the (original) author yet.
What you can do meanwhile:

clone a local repo with & cd to it:
git clone https://github.com/pytr-org/pytr.git
cd pytr
fetch the pull req as a branch:
git fetch origin pull/74/head:datastructure-fix-formating
change branch:
git checkout datastructure-fix-formating
install from local source if you're using pip:
pip install -e .

Before item 4. (pip install) I did edit ./setup.py and changed the version number to <IP_ADDRESS> - just to be sure, you may not need to though.

Hi @olivermuc ,
thanks a lot.
This does:
17:11:16 Received #88 timeline, awaiting #89 timeline
17:11:16 Received #89 (last) timeline
17:11:16    1/2648: Einzahlung/Auszahlung --
17:11:16    2/2648: Einzahlung/Auszahlung --
Traceback (most recent call last):

and than
Traceback (most recent call last):
  File "/opt/homebrew/bin/pytr", line 33, in <module>
    sys.exit(load_entry_point('pytr', 'console_scripts', 'pytr')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/main.py", line 211, in main
    asyncio.get_event_loop().run_until_complete(dl.dl_loop())
  File<EMAIL_ADDRESS>line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/dl.py", line 80, in dl_loop
    await self.tl.timelineDetail(response, self, max_age_timestamp=self.since_timestamp)
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/utils.py", line 323, in timelineDetail
    title_text = self.get_title_text(response)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/utils.py", line 399, in get_title_text
    raise RuntimeError('Unable to detect titleText from response')
RuntimeError: Unable to detect titleText from response

as you might think, I have no clue :-) Hopefully someone else
(Just plain TR, no Banking, no credit card.)
thanks
Juergen

Hi @olivermuc , thanks a lot.
This does:
17:11:16 Received #88 timeline, awaiting #89 timeline
17:11:16 Received #89 (last) timeline
17:11:16    1/2648: Einzahlung/Auszahlung --
17:11:16    2/2648: Einzahlung/Auszahlung --
Traceback (most recent call last):

and than
Traceback (most recent call last):
  File "/opt/homebrew/bin/pytr", line 33, in <module>
    sys.exit(load_entry_point('pytr', 'console_scripts', 'pytr')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/main.py", line 211, in main
    asyncio.get_event_loop().run_until_complete(dl.dl_loop())
  File<EMAIL_ADDRESS>line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/dl.py", line 80, in dl_loop
    await self.tl.timelineDetail(response, self, max_age_timestamp=self.since_timestamp)
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/utils.py", line 323, in timelineDetail
    title_text = self.get_title_text(response)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/ry90/egeling.cloud/portfolio-performance/2024-trade-republic/pytr/pytr/utils.py", line 399, in get_title_text
    raise RuntimeError('Unable to detect titleText from response')
RuntimeError: Unable to detect titleText from response

as you might think, I have no clue :-) Hopefully someone else
(Just plain TR, no Banking, no credit card.) Version 0.1.9 did not gave errors, but also did not DL die "Abrechnungen" but downloaded other PDFs
thanks Juergen

I can confirm - same for me after installing with pull request as above

(Just plain TR, no Banking, no credit card.) Version 0.1.9 did not gave errors, but also did not DL die "Abrechnungen" but downloaded other PDFs

Odd. Like I said, for me it was straight forward and I followed the exact steps outlined above.
However, different accounts could have different "profiles" per your trading and document history.
Since I can't replicate the issue you're (and @mor3dr3ad) is mentioning, I can't dig deeper. Also, I'd be worried if I -for debugging purposes- ran scripts (and auth requests) too rapidly, my account might get flagged 😬.
Perhaps @marzzzello can shed some light on what to watch out for when debugging?! Cheers-

Hi all,
first of all, thanks for this nice tool :-)
I used this tool not before and had also the mistake described in this issue here:

UnboundLocalError: local variable 'subscription' referenced before assignment

As workaround I installed the branch from #74
pipx install git+https://github.com/DayAft3r/pytr
So, this error above was gone, but another one came :-(
For details, please see my comment there https://github.com/pytr-org/pytr/pull/74#issuecomment-2191237767


Cider command runs twice in the command line

As shown in the picture below, all cider commands runs twice in the command line
I tried to reinstall the package, the problem still persists.

This is not a Cider issue, to resolve take a look at the following.

@leoafarias Thanks a lot that solved my issue.


fix: offset by 1 issue in chain export

Summary of changes

According to the code doc, tipset should be included when height == stateroot_lookup_limit
    // Stream stateroots in range stateroot_lookup_limit..=tipset.epoch(). Also
    // stream all block headers until genesis.
    let blocks = par_buffer(
        // Queue 1k blocks. This is enuogh to saturate the compressor and blocks
        // are small enough that keeping 1k in memory isn't a problem. Average
        // block size is between 1kb and 2kb.
        1024,
        stream_chain(
            Arc::clone(&db),
            tipset.clone().chain(Arc::clone(&db)),
            stateroot_lookup_limit,
        )
        .with_seen(seen),
    );

Changes introduced in this pull request:

offset by 1 issue in chain export

Reference issue to close (if applicable)

Closes https://github.com/ChainSafe/forest/issues/4113
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Let's double check that we're actually aligned with Lotus' behavior.

@lemmih I used the below steps to validate a lotus snapshot with the updated forest-tool, and it was successful.

lotus chain export --tipset bafy2bzacebt3drb4kqhhx3axbts665skytvjg3pxdzyf3qhbux2qyp6bp27qg,bafy2bzacecpedn6y3ccdadoe4xyktq22hkbuxyfez3v7fp2cpr7aztiojpqn2 --recent-stateroots 2000 --skip-old-msgs ~/fr/snapshots/calibn et/lotus_snapshot_calibnet_2024-04-02_height_1490667.car
forest-tool snapshot validate lotus_snapshot_calibnet_2024-04-02_height_1490667.car

Actually, why isn't there a code change?


Delete the SA key when the cluster errors out in ClusterMonitorActor.

Add unit tests to cover GoogleIamDAO calls.
Needs https://github.com/broadinstitute/workbench-libs/pull/46
JIRA: https://broadinstitute.atlassian.net/browse/GAWB-2881
<your comments for this PR go here>
Have you read CONTRIBUTING.md lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:

[ ] I've documented my API changes in Swagger

In all cases:

[ ] Get two thumbsworth of review and PO signoff if necessary
[ ] Verify all tests go green
[ ] Squash and merge; you can delete your branch after this
[ ] Test this change deployed correctly and works on dev environment after deployment

Looks good!
But now comes the moment we've been dreading: please add an automation test.

:scream:
Ha ok I’ll give it a shot

There was some workbench-libs refactoring from under me to change WorkbenchUser*Email case classes to just WorkbenchEmail. I'm going to make the corresponding Leo changes in this PR in a separate commit.
Also working on Leo SWAT testing for this, but the workbench-libs update needs to happen first.

On second thought, maybe I'll make a separate PR for the workbench-libs update. There are a lot of changes.

@helgridly @jmthibault79 I added a SWAT test to verify that pet credentials are localized on the cluster. Can I have a re-review?
The test is kind of a work-in-progress -- I'm hoping to modify/extend it to test pets-pet-project. But it should be passing now, and I would like to merge this first.

Ugh the test is not actually passing yet; investigating..

@gdlex4015 this PR has my new SWAT test to verify pet's credentials get localized on the cluster.

Looks good, waiting on WithErrorCluster - don't wait for me!


Add matrix-rain to the list

Hi @alebcay, I'd like to clean up my pending PRs. I have a number of them.
Do you think you're likely to  merge this in the near future? Otherwise I'm happy to close this. Not a big fan of zombie PRs that remain open forever when they're unlikely to get merged.
Let me know.


Addition in Issue Template

Hi there!
I want to add  some more points to your issue template like styling changes etc
Please assign this issue to me under Gssoc'23 @anmode

@Anshika-Jain02
Please State the proper changes
what and where u will change

@AmanJain18  I want to add a style.yml file in the ISSUE_TEMPLATES folder that will guide the contributors who are working on the style changes or UI about what all they can specify while raising an issue regarding style changes.
This is the sample file that I would like to add :-
styles.txt

@AmanJain18  I want to add a style.yml file in the ISSUE_TEMPLATES folder that will guide the contributors who are working on the style changes or UI about what all they can specify while raising an issue regarding style changes.
This is the sample file that I would like to add :-
styles.txt

The ideology is right, but it generally comes under as part of enhancement only, IDTS will add any extra benefits for contribution.
Will let u know after discussing with PA.

@AmanJain18  ok sir.

@AmanJain18 I'm closing this issue as of now
thanks @Anshika-Jain02 you can check out another issues.


Add reconciliation tracking to transaction model

This consists of a new field, reconciled, which is orthogonal to
the status of the transaction. It is now possible to filter by
this field when querying the bank_admin endpoint. A new Log record
is created whenever a transaction is reconciled, which is done
by a patch request to the bank_admin transaction endpoint.

@ushkarev ready for review


Forbid Extra Query Parameters

First check

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

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Similar to the option on a model:
class MyModel(BaseModel):
    device_id : Optional[str] = Field(None,alias="id")

    class Config:
        """Model Configuration."""

        extra = Extra.forbid

Which causes a 422 to be returned if a post body has extra unknown values.  Is it possible to return an error if a query parameter is received on an endpoint which is not defined.
We had an endpoint defined like so:
@endpoint.get("/list")
async def device_list( device_id: Optional[str] = Query(None,alias="id")):
    """Lists a device."""
    return List.device(device_id)

Which works fine when someone calls it with the query parameters specified or omited.  But we had a client call it with the query parameter "device_id" not "id"  and they couldn't understand why they kept getting a default response and not the device they were requesting.  The API looked like it was working.  And it looked like the parameters were correct.  But they weren't.
So, is it possible to raise a 422 (or something) if an unknown query parameter is sent in a request to prevent issues like this?

Would something like this would be what you are looking for?

from pydantic import BaseModel, Field, Extra
from fastapi import FastAPI, Depends

class MyModel(BaseModel):
    device_id: str = Field(alias="id")

    class Config:
        """Model Configuration."""

        extra = Extra.forbid

app = FastAPI()

@app.get("/list")
async def device_list( req_model: MyModel = Depends()):
    """Lists a device."""
    return req_model.device_id

In [11]: r = requests.get('http://localhost:8081/list', params={})
In [12]: r.status_code
Out[12]: 422
In [13]: r.json()
Out[13]:
{'detail': [{'loc': ['query', 'id'],
   'msg': 'field required',
   'type': 'value_error.missing'}]}
In [14]: r = requests.get('http://localhost:8081/list', params={'id':'someid'})
In [15]: r.status_code
Out[15]: 200
In [16]: r.json()
Out[16]: 'someid'
In [17]: r = requests.get('http://localhost:8081/list', params={'notknown':'someid'})
In [18]: r.status_code
Out[18]: 422

The above works, however I notice you have it as an optional parameter. This way would force it to be a required parameter, rather than checking that they've passed the correct naming to an optional parameter. If you need this to be an optional parameter but need to add a check for people frequently using the wrong naming you can do the below:
You could do this by accessing the Starlette request and examine the parameters dict directly to get a finer level of control over it:
from typing import List, Optional

from fastapi import FastAPI, HTTPException, Query, Request

app = FastAPI()

@app.get("/list")
async def create_item(
    request: Request, device_id: Optional[str] = Query(None, alias="id"),
):
    params = request.query_params
    if "device_id" in params and "id" not in params:
        raise HTTPException(status_code=422, detail="Please use the 'id' parameter instead of 'device_id'")

    return device_id

@Cleptomania I am aware of the low level request.  We use it a lot for various things.  I was kind of hoping for something more automatic than manually parsing every endpoint.
I am now wondering if there would be a way to do it with a dependency that can examine the method, look at the request and compare the Query parameters that are in the request with what the method defines, and automatically reject it if there are any extras.

Answering my own question.  No, it doesn't seem possible without manually processing the request as suggested by @Cleptomania

The only way i could get this to work is i wrote a strictquery dependency function that gets initialized with the names of the query parameters the function can use.  It then throws a validation error like this:
        errors = []

        for query in request.query_params.keys():
            if query not in allowed_params:
                errors.append(ErrorWrapper(ExtraError(), loc=("query", query)))

        if len(errors) > 0:
            raise RequestValidationError(errors=errors, body=request.body)

Its not very DRY because i need to provide the allowed_params list to the dependency which is redundant with the query parameters defined by the endpoint, but i couldn't find a way to collect them automatically.
So, even with that small maintenance issue, it works quite well.

You can extend the APIRouter class to get the allowed query parameters.
Thus, with @stevenj code, we get something like this:
from typing import Any, Callable, Optional, Sequence

from fastapi import APIRouter as FastAPIRouter
from fastapi import Depends, params
from fastapi.dependencies.utils import get_dependant
from fastapi.exceptions import RequestValidationError
from fastapi.routing import Request
from pydantic.error_wrappers import ErrorWrapper
from pydantic.errors import ExtraError

async def verify_no_extra_query_param(allowed_params: Sequence[str], request: Request):
    errors = []

    for query in request.query_params.keys():
        if query not in allowed_params:
            errors.append(ErrorWrapper(ExtraError(), loc=("query", query)))

    if len(errors) > 0:
        raise RequestValidationError(errors=errors, body=request.body)

class NoExtraQueryParamChecker:
    def __init__(self, allowed_params: Sequence[str]):
        self.allowed_params = allowed_params

    async def __call__(self, request: Request) -> None:
        await verify_no_extra_query_param(self.allowed_params, request)

class APIRouter(FastAPIRouter):
    def add_api_route(
        self,
        path: str,
        endpoint: Callable[..., Any],
        *,
        dependencies: Optional[Sequence[params.Depends]] = None,
        **kwargs,
    ) -> None:
        """ forbid extra query parameters """
        dependant = get_dependant(path=path, call=endpoint)
        checker = NoExtraQueryParamChecker(dependant.query_params)
        extended_dependencies = [Depends(checker)]
        if dependencies:
            extended_dependencies += [d for d in dependencies]
        super().add_api_route(
            path,
            endpoint,
            dependencies=extended_dependencies,
            **kwargs,
        )

@Mascarpone  Thats awesome.

I'd like to request changing this issue from a "question" to a "feature request" or a "documentation bug" --
In my opinion, having to hunt down the above code snippet in the github issues doesn't play nice with FastAPI's "we check all that arg stuff for you" philosophy. It should be easier to specify what happens to extraneous query parameters without having to do all the above extra work. If it's not going to be added to the code as a feature, this behavior should be explained somewhere in the documentation.

Hi @Mascarpone! I was trying out your solution (extending the APIRouter class) and find a potential error here:
for query in request.query_params.keys():
    if query not in allowed_params: # ERROR

In my case it didn't work because query is a string, but allowed_params is a list of ModelFields. Also, those ModelFields could be using aliases, so we have to keep that in mind. I fixed it with:
allowed_params_aliases = {param.alias for param in allowed_params}
for query in request.query_params.keys():
    if query not in allowed_params_aliases:

P.S: acessing param.alias works even when the user doesn't define a value for it explicitily (it just uses the default value).

Trying to make the code snippet work but no success so far.
Seems it can't parse the query params for any endpoint as request.query_params is always an empty array.
It results in an error being raised each time I use a query param in my request.
How do have declared your params? I did it this way:
class QueryParametersRange(BaseModel):
    """Parameters used to query a range of records within a time window."""

    from_: datetime = Query(
        description="Query records starting from given timestamp. "
        "From must be smaller than to.",
        alias="from",
    )

    to_: datetime = Query(
        description="Query records stopping to given timestamp. "
        "From must be smaller than to.",
        alias="to",
    )

    @router.get(
    "/{acn}/{acc}/range",
    response_model=list[Scenario],
    status_code=status.HTTP_200_OK,
)
def get_scenarios_range(
    *,
    acn: str,
    acc: str,
    params: QueryParametersRange = Depends(),
):
...

Maybe this will help? Nowadays the APIRoute object is included in the scope so you can use that to see what parameters are allowed:
from fastapi import Depends, FastAPI, Request, Query, HTTPException
from fastapi.dependencies.models import Dependant

app = FastAPI()

def strict_query_params(request: Request):
    app: FastAPI = request.app
    requested_path = request.scope["path"]
    dependant: Dependant = request.scope["route"].dependant
    allowed_params = [modelfield.alias for modelfield in dependant.query_params]
    for requested_param, param_value in request.query_params.items():
        if requested_param not in allowed_params:
            raise HTTPException(
                400, f"Not allowed param: {requested_param}: {param_value}"
            )
    return

@app.get("/")
async def root(param1: str = Query(), _=Depends(strict_query_params)):
    return {"hello": "world"}

if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="<IP_ADDRESS>", port=8000)

The above example will run as-is. Examples using curl:
(venv) jarro@MacBook-Pro-van-Jarro fastapi-github-issues % curl "http://localhost:8000/?param1=text"
{"hello":"world"}%
(venv) jarro@MacBook-Pro-van-Jarro fastapi-github-issues % curl "http://localhost:8000/?param1=text&id=1"
{"detail":"Not allowed param: id: 1"}%

Thanks! I like this approach and it works the way you do it (declaring the query params in the function parameters).
But using a pydantic model doesnt work, probably because of my lack of understanding of how it is instantiated by the request. It is useful for me to validate the query params at the model level.
If you try something closer to what I am trying to do, you'll see that dependant.query_params is an empty list.
from fastapi import Depends, FastAPI, Request, Query, HTTPException
from pydantic import BaseModel
from fastapi.dependencies.models import Dependant

app = FastAPI()

def strict_query_params(request: Request):
    app: FastAPI = request.app
    requested_path = request.scope["path"]
    dependant: Dependant = request.scope["route"].dependant
    allowed_params = [modelfield.alias for modelfield in dependant.query_params]
    for requested_param, param_value in request.query_params.items():
        if requested_param not in allowed_params:
            raise HTTPException(
                400, f"Not allowed param: {requested_param}: {param_value}"
            )
    return

class MyParams(BaseModel):
    param1: str = Query()

@app.get("/")
async def root(params: MyParams =Depends(strict_query_params)):
    if params.param1:
        return {"param1": params.param1}
    return {"hello": "world"}

if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="<IP_ADDRESS>", port=8000)

Fair point, it was just a quick fix. I think this would work for dependencies in models:
from fastapi import Depends, FastAPI, HTTPException, Query, Request
from fastapi.dependencies.models import Dependant
from pydantic import BaseModel

app = FastAPI()

def strict_query_params(request: Request):
    app: FastAPI = request.app
    requested_path = request.scope["path"]
    dependant: Dependant = request.scope["route"].dependant
    allowed_params = [
        param.alias
        for dependency in dependant.dependencies
        for param in dependency.query_params
    ]
    allowed_params += [modelfield.alias for modelfield in dependant.query_params]
    for requested_param, param_value in request.query_params.items():
        if requested_param not in allowed_params:
            raise HTTPException(
                400, f"Not allowed param: {requested_param}: {param_value}"
            )
    return

class MyParams(BaseModel):
    param1: str | None = Query(None)
    param2: str | None = Query(None)

@app.get("/")
def root(*, params: MyParams = Depends(), _=Depends(strict_query_params)):
    if params.param1:
        return {"param1": params.param1}
    return {"hello": "world"}

if __name__ == "__main__":
    import uvicorn

    uvicorn.run(app, host="<IP_ADDRESS>", port=8000)

It works, thanks a lot for your help!