Add button to launch visualization of entire module dependency tree

anvaka/npmgraph.an provides a nice visualization of the entire dep tree.
This PR adds a button into the injected DOM so you can easily click to view this tree:

Anything else I can do on this?

LGTM but we have to wait for @zeke 😅

This looks pretty cool. Sorry I haven't had time to maintain this module lately. @bfred-it I just added you as a collaborator.
Do you know if there's a way I can add you as an admin on the chrome web store? I don't see an option for that in the UI. Maybe @paulirish knows?

yup!
https://developer.chrome.com/webstore/publish#set-up-group-publishing
Basically: look at the bottom of https://chrome.google.com/webstore/developer/dashboard
you'll want to make a google group that has the people in it.
then you can select that google group
and then in the dashboard UI you can transfer the extensions into the group.

@zeke if you merge #13 i can rebase this PR

thx. rebased

Does group publishing still work? The help page disappeared and I don't see any groups in my account.
Once the autodeployment is setup though this won't matter.
@zeke Did you have any luck with the OAuth process?

Move the extension to the new group. You two should be able to publish now.

Did you have any luck with the OAuth process?

I got stuck at some point. If you are unable to publish with the new setup, let me know and I'll give it another go. Thanks.

I think it's because my account has no publishing rights:

Publishing/Things to note

Each member of the group must pay the developer fee.

I sent you a request to join the group with my other account, which is what I use to publish mine with

I sent you a request to join the group

You should be in! Let me know.

It worked! Thanks :)


Authentication Failed when connecting using a CC SSO user account

Code of Conduct

[X] I agree to follow this project's Code of Conduct

On what operating system are you seeing the problem?
Windows (x64)
VS Code version
Version: 1.95.3 (user setup)
Commit: f1a4fb101478ce6ec82fe9627c43efbf9e98c813
Date: 2024-11-13T14:50:04.152Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.22631
Version of Confluent extension
0.21.3
To Reproduce

Click on Connect to Confluent Cloud
The VSCode dialog box appears, and clicked the Allow button, to allow the extension to sign in to Confluent Cloud.
Enter my SSO email address
Then a web page appears with the Authentication Failed message

Current vs. Expected behavior
I expect the login to be successful and see my CC resources in Confluent for VScode extension.
Relevant log output
2024-12-05 09:32:34.207 [error] [errors] [browser sign-in flow] error: {"authStatus":"NO_TOKEN","connectionId":"vscode-confluent-cloud-connection"}
2024-12-05 09:32:34.218 [error] [commands.connections] error creating CCloud connection {"error":{"name":"Error","message":"Authentication failed, see browser for details"}}
2024-12-05 09:32:34.219 [error] [commands] Error invoking command "confluent.connections.create": Authentication failed, see browser for details

Which area(s) are affected? (Select all that apply)
Connections, Confluent Cloud, Topics, Schemas, Messages
Additional context
No response

Hey @j3-signalroom, Thanks for reporting the issue!
Do you see any further error message on the web page with the Authentication Failed message?

Hi,
This is the message I get:

@j3-signalroom, Thanks! It looks like the URI of that page contains some kind of error description. Do you mind sharing the full URI here, assuming it doesn't contain sensitive information?

Well it depends, if any of the URL parameter contain secure info:
state
client
protocol
response_type
code_challange_method
code_challenge
redirect_uri
scope

Please advise.

Thanks!
I meant the URL http://<IP_ADDRESS>:26636/gateway/v1/callback-vscode-docs?error=invalid_request&error_description=the... from your screenshot. I'd be mainly interested in the query param error_description.

Got it!
http://<IP_ADDRESS>:26636/gateway/v1/callback-vscode-docs?error=invalid_request&error_description=the%20connection%20was%20disabled&state=hIeUfrYoAhDB9kHFxw-jjq4yUFyomAZaVvqTzYOkpCY

Thanks, that's helpful!
In general, signing in via SSO works for the VS Code extension. I checked it this morning.
I'll ask our Auth team about the error message and get back to you ASAP. Thanks for your patience!

Yeah, I would think so too!  I appreciate your attention to the matter, and I am looking forward to hearing the feedback from the Auth Team.

Do you mind sharing the email address you're using to sign in with me? We want to confirm the SSO provider is set up correctly. You can send it to ssprenger at confluent dot io. Thanks!

No problem, I went ahead emailed you the email address, yesterday.
(I know you know, I am just keeping this issue dialog up to date.  ;-))

@j3-signalroom could sort out the issue offline. Somehow, the VS Code extension's OAuth app wasn't enabled for their SSO provider. We'll make sure this doesn't happen again.

Thank you, Stefan for being so helpful and getting it done!


umaniAnalytics not working

Describe the bug
Below is how I enabled the umamiAnalytics with the setting from params.toml file.

However, nothing is shown up on the umami website.

Here is how I get the site id.

Hugo & Blowfish versions
Hugo version: v0.127.0
Blowfish version: 2.70.0

domain is used if you self hosted your Umami instance, in your case you are using umami.is cloud service, removing domain from the your config will fix it
Umami (and other analytics app) usually inject a script (usually a .js) on your website <head> block, where the script is retrieve from the analytics app. In the case of self host-able analytics apps, you retrieve the script directly from your analytics app domain (analytics.your-own-domain.com), while if you are using cloud service, you'll use the service domain (cloud-analytics.com)

It works now. Great thanks


Unapproved Transaction Confusion on MetaMask Mobile

I'm not sure what's going on here, but it's probably a MetaMask issue rather than something wrong with our DApp. It may be something that we will need to work around though.
I submitted a redeem transaction after manually editing the gas limit.

I think I then backgrounded the app to go do something else and received a notification saying that "something went wrong". When I returned to MetaMask, I found an "unapproved" transaction status.

I confirmed that the transaction was submitted (per Etherscan) and waited. After it was mined, our DApp detected this and responded accordingly. At this point, MetaMask still shows only an "unapproved" transaction in my wallet's Transaction History.

Oh, wow. I just realized that the "unapproved" transaction is a different one. For whatever reason, it decided to alert me during this session. 🤦 I still can't do anything with it.


{Storage} Make sure default kind is Storage in Azure Stack

Description

For Azure Stack env, it always requires that default kind is Storage.
Testing Guide

az storage account create in different profile.
History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Storage


Add a "questions export" (CSV? spreadsheet?)

To facilitate data entry of new societies.

Closing this a wontfix for now as I think it's not going to be a major need.


By Coordinates should be free

Google maps out of the box is generally used in a particular radius. This should be the base case of this scraper.

Please elaborate.


Find a better solution for integration testing

Getting a lot of 1/1 Brokers are down errors in travis recently. Maybe we should investigate a more suitable and stable solution for integration testing.

Solved by #80


Only application/x-www-form-urlencoded supported for POST request

I get this from web_server upon flipping any switch on the web UI (v3):
23:11:29 [W] [web_server_idf:070] [httpd] Only application/x-www-form-urlencoded supported for POST request
That warning seems to be raised here: https://github.com/esphome/esphome/blob/dev/esphome/components/web_server_idf/web_server_idf.cpp#L69
Chrome confirms that it sent a Content-Type: text/plain;charset=UTF-8 with the turn_on request to the esp web server, so it seems like https://github.com/esphome/esphome-webserver/blob/dev/packages/v3/src/esp-entity-table.ts#L147 (if I'm looking in the right spot) should include headers: { "content-type": "application/x-www-form-urlencoded" }.

Related: https://github.com/esphome/esphome/pull/6037

strange, I never got any warning when sending Content-Type: text/plain;charset=UTF-8
I guess it only happens when using espessif-idf as the framework?


Add qol entities

Still WIP will complete description once ready.

@1saf Can you change the base for this PR to the dev branch?

@1saf Can you change the base for this PR to the dev branch?

Yep!


feat: Add search syntax guide popovers to search, activities pages

Adds popovers to the Insight Search and Activity Search bar, detailing the search syntax.

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


Investigate Canonical Signed Digit representation for faster exponentiations

The canonical signed digit, or Non-Adjacent Form (NAF) is a unique way to represent a binary number with a lower absolute hamming weight, using digit € {0,1,-1} as coefficients instead of just digit € {0,1}.
See  https://en.wikipedia.org/wiki/Non-adjacent_form
It should improve performance in exponentiation by squaring algorithms and similar as you just need a sub or negate function for -1 cases.
The overall hamming weight W = sum([abs(digit) for digit in bin(int)]) is in average 1/3 instead of 1/2.
Using this representation should lead to improvements in the range of 10-25% for the average case.
An example of this technique can be found in the gnark repo :
definition : https://github.com/ConsenSys/gnark-crypto/blob/8f7ca09273c24ed9465043566906cbecf5dcee91/ecc/bn254/bn254.go#L141-L143
usage (miller loop) : https://github.com/ConsenSys/gnark-crypto/blob/8f7ca09273c24ed9465043566906cbecf5dcee91/ecc/bn254/pairing.go#L161

As an addendum to your point here, this can be combined very efficiently with GLV scalar multiplication, which can allow for ~50% speedups when performing group scalar muls. I've implemented the code for BLS12-377 here and I'd be happy to port that code over as well :)


tests/image: test ami images on AWS

very wip, I just need to test the CI

Still WIP, should be ready for review pretty soon I hope.


30d chart (snapshot) VS 24h chart (real-time)

https://balancerecosystem.slack.com/archives/C04MZ3X2SLW/p1733489481171979

Discussion ongoing.


Required depth of 10 for rules to run

I tried refactoring by creating a loop and doing it dynamically but tests would fail, so I followed your example.

Coverage increased (+0.02%) to 99.318% when pulling 67af3adfe645d7fd5a025380b17d70d9f52b4257 on Points:master into 36e9e834c10582cc5da8b3acf61a4af344e62d10 on asafschers:master.


NSwag 14.0.3 still issues warning CS8618

Seemingly the same _baseUrl issue that was reported in #4704

Same here. We use a strict build configuration which has WarningsAsErrors set to nullable, so this is a build error for us that we currently have to work around. For now I'm just removing the field manually, since it is apparently never used in the generated code.

Same here
Have had to disregard the errors for now with

CS8618;CS0169


HLS CORS not working

Which version are you using?
v0.16.2
Which operating system are you using?
OS

[x] Linux
[ ] Windows
[ ] macOS

Architecture

[x] amd64
[ ] arm64
[ ] arm7
[ ] arm6

Describe the issue
JavaScript console:
Access to XMLHttpRequest at 'http://localhost:8888/test' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Server logs:
2021/06/04 16:20:50 I [0/0] [path test] [rtsp source] ready
2021/06/04 16:22:09 I [0/0] [HLS] [conn <IP_ADDRESS>:64260] GET /test
2021/06/04 16:22:10 I [0/0] [HLS] [conn <IP_ADDRESS>:64260] GET /test

Describe how to replicate the issue
Copy paste the source URL in this HLS player: https://hls-js.netlify.app/demo/

Perhaps it could be useful to add "allowedOrigins" field in config.yml, with "*" being the default.

I'm also facing the same issue.

Upon more investigation, I think the problem is because the initial request to /test is redirected to /test/ with a 301 response instead of the expected 200 for CORS.
If we try to access http://localhost:8888/test/ directly there is no more CORS issue, but this is not an acceptable workaround because now the Basic authentication is failing since /test/ is considered a different path than /test so it falls back to default path (all) which can have other credentials.

Actually my understanding of HLS was incomplete.
The correct src url would be http://localhost:8888/test/stream.m3u8. And this plays the video if there is no auth.
But with auth, it doesn't work anymore.
config.yml
paths:
  test:
    source: rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
    readUser: user
    readPass: pass
    sourceOnDemand: false
    sourceProtocol: tcp

Player logs:
Status:
0.071 | Loading http://user:pass@localhost:8888/test/stream.m3u8
0.102 | Loading manifest and attaching video element...
0.193 | Media element attached

Error:
Cannot load http://user:pass@localhost:8888/test/stream.m3u8 HTTP response code:401 Unauthorized
0.178 | A network error occurred: manifestLoadError

When I play the HLS url https://localhost:8888/demo/stream.m3u8 on vlc player it is playable but when I try to access on browser/any online player it is giving me an CORS issue. Is there any workaround to run the HLS on any of the online player?

The Access-Control-Allow-Origin is now inserted into every HTTP response (even redirects)
a new parameter hlsAllowOrigin has been added to the configuration file

Thank you, can you provide a nightly build to test or how to use the Makefile to build on my own?

rtsp-simple-server_v0.16.3-2-gc900bc4_linux_amd64.tar.gz
rtsp-simple-server_v0.16.3-2-gc900bc4_linux_arm64v8.tar.gz
rtsp-simple-server_v0.16.3-2-gc900bc4_darwin_amd64.tar.gz
rtsp-simple-server_v0.16.3-2-gc900bc4_windows_amd64.zip
I tested and it still doesn't work properly with readUser and readPass.
2021/06/24 12:20:55 I [0/0] rtsp-simple-server v0.16.3-2-gc900bc4
2021/06/24 12:20:55 I [0/0] [RTSP] TCP listener opened on :8554
2021/06/24 12:20:55 I [0/0] [HLS] listener opened on :8888
2021/06/24 12:20:55 I [0/0] [path test] [rtsp source] started
2021/06/24 12:21:02 I [0/0] [path test] [rtsp source] ready
2021/06/24 12:21:26 I [0/0] [HLS] [conn <IP_ADDRESS>:64704] OPTIONS /test/stream.m3u8
2021/06/24 12:21:26 I [0/0] [HLS] [converter test] opened
2021/06/24 12:21:26 I [0/1] [HLS] [converter test] is converting into HLS
2021/06/24 12:21:27 I [0/1] [HLS] [conn <IP_ADDRESS>:64704] OPTIONS /test/stream.m3u8
2021/06/24 12:22:27 I [0/0] [HLS] [converter test] closed

Chrome devtools on custom HLS player page:
Request Headers
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: ro-RO,ro;q=0.9,en-US;q=0.8,en;q=0.7,de;q=0.6
Access-Control-Request-Headers: authorization
Access-Control-Request-Method: GET
Cache-Control: no-cache
Connection: keep-alive
Host: localhost:8888
Origin: http://localhost:3000
Pragma: no-cache
Referer: http://localhost:3000/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36

Response Headers
Access-Control-Allow-Origin: *
Content-Length: 0
Date: Thu, 24 Jun 2021 12:21:26 GMT
Www-Authenticate: Basic realm="rtsp-simple-server"

General
Request URL: http://localhost:8888/test/stream.m3u8
Request Method: OPTIONS
Status Code: 401 Unauthorized
Remote Address: [::1]:8888
Referrer Policy: strict-origin-when-cross-origin

added in v0.16.4


Single action dispatch results in multiple effect call until Maximum call stack size exceded

@Effect()
public loadAccommodations$: Observable = this.actions$
.ofType(PAA.PROPERTY_LOAD_REQUEST)
// .debounce(300) introducing this mitigates the flood but does not resolve the issue
.switchMap((action: Action) => {
// loading logic called multiple times
return this.propertyService.load(action.payload);
});
After dispatch PAA.PROPERTY_LOAD_REQUEST only once my effect intercepts this action many times until Maximum call stack size exceeded.
Versions:
"angular/core": "2.4.6",
"@ngrx/core": "^1.2.0",
"@ngrx/store": "^2.2.1",
"@ngrx/effects": "^2.0.1",
"rxjs": "5.0.2",
Note: effects are registered only once in app.module.

I got same problem.
@Effect()
login$: Observable<Actions> = this.action$
  .ofType(auth.AUTH_LOGIN)
  .map(toPayload)
  .switchMap(loginData => {
    if(loginData.credential.username == '' || loginData.credential.password == '') {
    	return empty();
    }

    let mappedActions;

    return this.authentication.login(loginData.credential)
      .map(jwt => {
      	if(jwt.message)
      		return new auth.AuthLoginFailAction(jwt.message)
      	else {
          mappedActions = [new auth.AuthLoginSuccessAction(jwt), new auth.AuthRedirectHomeAction(loginData.redirectRoute)];
        }
      })
      .mergeMap(val => mappedActions)
      .catch((error) => {
        return of(new auth.AuthLoginFailAction('Login failed.'));
      })
  });

//PROBLEM IS HERE
@Effect()
loginSuccess$: Observable<Action> = this.action$
  .ofType(auth.AUTH_REDIRECT_HOME)
  .do(data => {
    return this.router.navigate([data.payload]);
  });

Version:

"angular/core": "^4.0.0",
"@ngrx/core": "^1.2.0",
"@ngrx/effects": "^2.0.4",
"@ngrx/store": "^2.2.3",
"rxjs": "^5.1.0",

The problem is that AUTH_REDIRECT_HOME action dispatched multiple times causing the Effect executed multiple times too. What should I do with this problem?
Thank you.

Hi @ndaroeya your problem is different from mine.
In your case the issue is unrelated with effects because the effect itself is working as expected: every time AUTH_REDIRECT_HOME is dispatched the listening effect is executed.
Probably you have an actions loop, could it be AUTH_REDIRECT_HOME action triggers AUTH_LOGIN action in some way?

In my case the problem was caused by takeUntil in this piece of code:
 return this.propertyAccommodationsService.loadAccommodations(action.payload.id)
.takeUntil(this.loadAccommodations$)

By dispatching 2 PROPERTY_LOAD_REQUEST actions, the second one triggered takeUntil() operator which resulted in multiple effects calls.

@ndaroeya you need to add dispatch: false inside your Effect decorator since you aren't returning a new action, otherwise you'll just end up in a loop of the same action.


[FEATURE REQUEST] Double-click Target Goal for Category to apply Target Goal amount.

I'm always wishing for a faster way to budget my goal amount in each category.
Could it be set so that, if the Display Target Goal Amount And Overbudget Warning, double-clicking the goal amount automatically budgeted the Goal Target?
I'm definitely open to other ways of quickly applying the Target Goal amount. In fact, bulk applying it would be incredible too!
Thanks!

This feature request is already in Trello. Hopefully someone on the team can get to it soon!


[WIP] Helper functions

Change Overview

Has helpers for create/connect to a repository and creating snapshots.

Pull request type
Please check the type of change your PR introduces:

[x] Work in Progress
[ ] Refactoring (no functional changes, no api changes)
[ ] Trivial/Minor
[ ] Bugfix
[ ] Feature
[ ] Documentation

Issues

#XXX

Test Plan

[ ] Manual
[ ] Unit test
[ ] E2E

Done with tests.


Refactor out Request validation to the Request class

We re-implement Request validation in various places e.g. here and here. We should refactor it out and move it to the Request class.
Things to validate:

Exactly one of Request.messages, Request.prompt or Request.multimodel_prompt should be set
Every MediaObject of type "text" has the text field set
Every MediaObject of type "image" has the location field set

I have taken a stab at it here


Requests from Server

Trying to create a web application using nba_py, and am unable to make a request from heroku. When I make a request, it just hangs. Is there any workaround to getting the stats.nba.com API to accept requests from a server?

You need to host it somewhere else; NBA.com blocks IP addresses from cloud hosting providers (AWS, Heroku, several others). I've had success accessing it from a server hosted by Linode (https://www.linode.com/) which is a much smaller provider

Ok. I'll try hosting on linode.  Why does the NBA block those IP addresses?

So people can't do exactly what we're trying to – build & deploy apps using their API

attempted to make a request through linode and it is giving me the same issue 😭

Oof. I'll check this evening and see if Linode is still working for me. What type of application are you building? Another possible workaround (but its a major change) is to offload all the API requests to the browser using the JSONP API. This would mean rewriting your app in JS though (or using something like https://github.com/QQuick/Transcrypt to transpile python to JS). I maintain a JS NBA client (https://github.com/bttmly/nba) that works in the browser, although not all of their endpoints support JSONP :/

Hi
I'm Korean University student. I have a term-project for data science. I
dont know about what you say 'JS', 'Linod' 'how to use JSONP API' etc... I
dont know well about programming .
I just want to get NBA data about games, Teams, Players... And then save
this data to DBMS(MySQL) , analyze this data for prediction.
I searched the data at "https://www.mysportsfeeds.com" but i couldnt get
data because of bugs. And this site can't get current 17-18 season data.
I dont know what to do . This repository is right to me? or I should find
another repository? Help me :[
2017-11-07 3:52 GMT+09:00 Nick Bottomley<EMAIL_ADDRESS>
Oof. I'll check this evening and see if Linode is still working for me.
What type of application are you building? Another possible workaround (but
its a major change) is to offload all the API requests to the browser using
the JSONP API. This would mean rewriting your app in JS though (or using
something like https://github.com/QQuick/Transcrypt to transpile python
to JS). I maintain a JS NBA client (https://github.com/bttmly/nba) that
works in the browser, although not all of their endpoints support JSONP :/
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/seemethere/nba_py/issues/96#issuecomment-342247926,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Af3XsLDUhkBhj4vTcT-CJGYuuF2iB4D-ks5sz1V-gaJpZM4QNm7y
.

You should be able to get this data from this API and store the results in a MySQL DB. The API can get current data you just need to set the season parameter in your request to 2017-18'. The default is for 2016-17`. The issue we are discussing is making requests from a server for web applications. That is a different problem than the one you are having.

Thanks for your reply
I think i cant use this API for web application. My plan is making website
which can predict game winner using machine learning .

오전 9:42에 "Nabeel Zewail"<EMAIL_ADDRESS>작성:

You should be able to get this data from this API and store the results in
a MySQL DB. The API can get current data you just need to set the season
parameter in your request to 2017-18'. The default is for2016-17`. The
issue we are discussing is making requests from a server for web
applications. That is a different problem than the one you are having.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/seemethere/nba_py/issues/96#issuecomment-342336932,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/Af3XsEG91SUuT7vWLnhWN7B4yU-LdmGBks5sz6dugaJpZM4QNm7y
.

Confirmed linode is being blocked as well.


Support for resize option

Is there any plans to add a resize option ? If i have a mysql container that i started with --size 50G and later find i need to increase this to 200G it would be nice to have a convoy command that i can pass the continaer id and new target size.
thanks

Maybe could be done with multiple steps by create a new volume and migrate the data (convoy backup, restore)?

It's not something we can easily support unless low level driver is well fit for it. I know device mapper may be fine and vfs doesn't care about size. But EBS you will need to migrate to larger volume rather than simply resize it (see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html )


Allow HEAD and OPTIONS requests for any matched route

Updates zend-expressive-router dependency to 1.3.2+, and related new versions of router implementations to those supporting that version.
Internally, dispatchMiddleware() now checks to see if the returned route result has a composed route, and then, on a HEAD or OPTIONS request, if the method is implicity supported by the route. If so, it will now dispatch one of the internal methods handleImplicitHeadRequest() or handleImplicitOptionsRequest():

handleImplicitHeadRequest():

If neither HEAD nor GET are supported by the route, it returns an empty response.
If HEAD is not supported, but GET is, it dispatches a GET request, and then ensures the response body is empty before returning it.

handleImplicitOptionsRequest():

Returns an empty 200 response with an Allow header containing the methods allowed by the route.

If the route explicitly supports the given method, then the matched middleware is dispatched as normal.
Tests for ApplicationFactoryIntegrationTest and ApplicationMarshalLazyInteropServiceTest needed to add in an additional method call to the RouteResult mock in order to continue to pass.
Fixes #398

@weierophinney what about shipping them as standalone, optional middlewares?

@weierophinney what about shipping them as standalone, optional middlewares?

Considering it, but need to figure out how that would work within the Application instance. (Same issue I have with the routing/dispatch middleware, to a degree.)

Are you going to include some tests from #398 as well or they are redundant now?

Reviewing this now. I merged your changes from that PR locally, and have a ton of failures, and I'm trying to analyze if they're due to the changes I've made, or invalid expectations. I'll keep you posted.

@webimpress I'm reviewing the tests, and the main issue is that those that trigger the implicit HEAD/OPTIONS usage were checking for a populated response body, when it should not be; updating those tests to look for an empty string for the body makes them pass.
The one I'm struggling with right now is testNotAllowedMethodWhenNoHttpMethodsSet when used with the Aura.Router. Evidently, in v3, if you do not specify any HTTP methods, these routes match any. The solution is to look for empty($route->allows) on the matched route. I'm going to push a 1.1.2 release of that library that does that, and all of your tests from #398 will then pass (with the changes I made for testing the response body contents). As such, I'll close #398 once I've pushed the updates to this PR.

Thanks, @weierophinney !

@danizord —

what about shipping them as standalone, optional middlewares?

I've separated them out at this point locally. For the implicit options middleware, it's not a problem at all, as it's only working with the route, which is obtainable from the route result, which is obtainable as a request option.
For the implicit head middleware, things get more dicey, as we need the matched middleware in the case that the route allows GET, but HEAD is only implied. This requires passing it as a constructor argument, which means it must be composed as part of routing or dispatching middleware, since this is typically marshaled from a container.
Ideally, these would operate between the routing and dispatch middleware. However, I do not want to force end-users to add these to their pipeline. As such, still debating; I'll try and make a decision in the next day or two.

For the implicit head middleware, things get more dicey, as we need the matched middleware in the case that the route allows GET, but HEAD is only implied. This requires passing it as a constructor argument, which means it must be composed as part of routing or dispatching middleware, since this is typically marshaled from a container.

If we pipe ImplicitHeadMiddleware before dispatch middleware, we don't need to know the routed middleware, we just call $response = $delegate->process(); to run the routed middleware.

Ideally, these would operate between the routing and dispatch middleware. However, I do not want to force end-users to add these to their pipeline. As such, still debating; I'll try and make a decision in the next day or two.

Mhmm, why not? We already have some basic functionally such as ServerUrlMiddleware and BodyParamsMiddleware that are piped manually, and I like this approach because it makes these behaviors explicit and optional, so that developers don't need to wonder why the framework did something or why some header was added to the response.

@danizord Thought about this over the weekend, and I agree with you. I've updated the patch to provide optional middleware, Zend\Expressive\Middleware\ImplicitHeadMiddleware and ImplicitOptionsMiddleware, each of which may be slip-streamed between routing and dispatch middleware.
In the skeleton, we can enable these in the default pipeline. I will also likely add some support for them into the tooling for creating a pipeline from existing configuration.
I've pushed the changes at this time, but need to document them. Otherwise, the code is ready for review.

I've rebased this patch to remove the commits that were updating the dispatch middleware to add the implicit HEAD/OPTIONS support.

@xtreamwayz This is another one to consider for the skeleton: the ImplicitHeadMiddleware and ImplicitOptionsMiddleware should be part of the default pipeline, and occur between the routing and dispatch middleware. This could occur either before or after the UrlHelperMiddleware; the patch I have for the tooling puts it before, but that's because I cannot know for certain what else is present between the two.

@weierophinney I see these are using the __invoke() pattern. Considering that Stratigility 1.3.x is required, would it be better to use the http-interop DelegateInterface pattern, or are y'all not wanting to switch over to that in Expressive right now?

I see these are using the __invoke() pattern.

There are changes pending for a 0.4.0 release of http-middleware that will impact the signatures (new namespace, and the DelegateInterface now typehints against ServerRequestInterface instead of RequestInterface), and since I do not know how soon that will drop, I'm waiting to update until a release is made. Once it has, I'll be needing to make changes to Stratigility as well, before we even up date Expressive.

I see these are using the __invoke() pattern.

Also, Stratigility provides functionality for wrapping double-pass middleware such as this to work with http-middleware, so it can still be utilized in that context; Expressive will be (eventually) doing this out-of-the-box once moving to a Stratigility version that only supports http-middleware. However, that will not happen until PSR-15 is accepted.

@weierophinney Good to know. I guess that's Stratigility 2.0 that will be going http-middleware only.  FYI, it looks like 0.4.0 dropped a couple of days ago. Not a huge fan of going from Interop\Http\Middleware\ServerMiddlewareInterface to Interop\Http\ServerMiddleware\MiddlewareInterface, but I can understand why.

Not a huge fan of going from

That was prompted by me, actually. :smile: Before this, we had:

A generic Interop\Http\Middleware interface, with
a ServerMiddlewareInterface that depended on a
DelegateInterface, which depended originally on
RequestInterface, but later was updated to depend on
ServerRequestInterface

In other words, huge inconsistencies in naming that, I felt, would lead to difficulties understanding the roles each played. I provided a number of options forward, and, ultimately, most liked having a different namespace for the server-side middleware artifacts.
As you note, however, it causes us some issues with upgrading. I wasn't aware 0.4.0 had dropped, I need to see what the latest changes are, and make sure there are none others pending before we start adapting support for it.

Hmmm... there's one open pull request on http-middleware that could still have ramifications, as it would result in at least a rename of DelegateInterface to RequestHandlerInterface, and potentially a rename of that interface's process() method to __invoke(). As such, I need to wait until that pull request is resolved before we move forward on Stratigility. In the meantime, as noted above, we can implement __invoke() safely.


Visual Selector Generator

Users should be able to select different parts of the browser page they want to extract and Floneum should generate selectors from those selections

We can draw on some of the algorithms https://github.com/pemistahl/grex uses here

This looks like exactly what I was envisioning: https://github.com/cantino/selectorgadget


chore: add additional instructions for hotfixes in release.md

Motivation
This PR is to give clearer instructions on how to deal with merge conflicts arising from hotfixes and backporting into unstable.
Description
Due to the unusual nature of merging stable back to unstable, sometimes with conflicts, it's important to provide more verbose instructions to document how to accomplish this successfully.

Ready for final reviews if required.

:tada: This PR is included in v1.21.0 :tada:


syncthingtray: 1.4.13 -> 1.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Martchus/syncthingtray/releases.
meta.description for syncthingtray is: Tray application and Dolphin/Plasma integration for Syncthing
meta.homepage for syncthingtray is: https://github.com/Martchus/syncthingtray
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.5.0 with grep in /nix/store/f618lfgwvv7w7b4pvnmj6iavw6h0n7sj-syncthingtray-1.5.0
found 1.5.0 in filename of file in /nix/store/f618lfgwvv7w7b4pvnmj6iavw6h0n7sj-syncthingtray-1.5.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
syncthingtray
syncthingtray-minimal
syncthingtray-qt6

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/f618lfgwvv7w7b4pvnmj6iavw6h0n7sj-syncthingtray-1.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A syncthingtray https://github.com/r-ryantm/nixpkgs/archive/43fdeb06f405f1e59fa273c5664fbc17c00e004d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/43fdeb06f405f1e59fa273c5664fbc17c00e004d#syncthingtray

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/f618lfgwvv7w7b4pvnmj6iavw6h0n7sj-syncthingtray-1.5.0
ls -la /nix/store/f618lfgwvv7w7b4pvnmj6iavw6h0n7sj-syncthingtray-1.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

3 packages built:

syncthingtray
syncthingtray-minimal
syncthingtray-qt6

Maintainer pings
cc @doronbehar for testing.
closes https://github.com/NixOS/nixpkgs/pull/293548
closes https://github.com/NixOS/nixpkgs/pull/293551

Do we really need 3 different versions of syncthingtray? If so, shouldn't we make the Qt 6 one the default?

I'm fixing the qt5->6 rename in https://github.com/NixOS/nixpkgs/pull/293766 .


在配置EDNS Client Subnet 后部分域名无法获取DNS解析

在配置EDNS Client Subnet 后部分域名无法获取解析，关闭EDNS Client Subnet后却能正常解析。
EDNS Client Subnet配置内容：
        client-subnet-always-forward: yes
        max-client-subnet-ipv4: 24
        max-client-subnet-ipv6: 56
        min-client-subnet-ipv6: 0
        min-client-subnet-ipv4: 0
        max-ecs-tree-size-ipv4: 100
        max-ecs-tree-size-ipv6: 100

Unbound版本：
Version 1.19.3

Configure line: --with-libevent --with-libnghttp2 --enable-subnet
Linked libs: libevent 2.1.8-stable (it uses epoll), OpenSSL 1.1.1k  FIPS 25 Mar 2021
Linked modules: dns64 subnetcache respip validator iterator

BSD licensed, see LICENSE in source package for details.
Report bugs to<EMAIL_ADDRESS>or https://github.com/NLnetLabs/unbound/issues

不能获取DNS解析的域名：itp.hncsmtr.com

Can you write the issue in English? If this is about resolution of a particular name, the logs when verbosity: 5 is enabled could be useful to look at to see what is going on.

this is log.
unbound.txt

This is useful: error: SERVFAIL <itp.hncsmtr.com. HTTPS IN>: all servers for this domain failed, at zone itp.hncsmtr.com. upstream server timeout
So all the servers for the zone give no response. This makes the lookup fail. In addition, all of the IPv6 addresses fail with network unreachable errors, it is probably a good idea to set do-ip6: no because that would then not bother with the effort. But the lookup failure for the query is caused by the servers for the zone, on ip4, having timeouts.
Another interesting bit is this one, when sending to sending to target: <itp.hncsmtr.com.> <IP_ADDRESS>#53 it receives the error error: recvfrom 82 failed: Connection refused. So the upstream server has connection refused. Perhaps the upstream server is not running or the firewall disallows access from the outside.
And then this error, error: SERVFAIL <itp.hncsmtr.com. AAAA IN>: all servers for this domain failed, at zone itp.hncsmtr.com. from <IP_ADDRESS> could not parse upstream response. And also for other types. The upstream server includes an EDNS record that says it contains 11 bytes of rdata, but those bytes are not in the packet. The packet length is too short. Possibly that is the reply for the edns client subnet rdata element. The upstream server malformed response is then not picked up by unbound and unbound continues to attempt other servers, that timeout.
Since the upstream servers respond with malformed EDNS record contents, it is probably best to not send them edns client subnet queries. It is possible to configure what upstream hosts get subnet info, with send-client-subnet and client-subnet-zone options, and then do not include this zone and its servers in that list.

This is useful: error: SERVFAIL <itp.hncsmtr.com. HTTPS IN>: all servers for this domain failed, at zone itp.hncsmtr.com. upstream server timeout
So all the servers for the zone give no response. This makes the lookup fail. In addition, all of the IPv6 addresses fail with network unreachable errors, it is probably a good idea to set do-ip6: no because that would then not bother with the effort. But the lookup failure for the query is caused by the servers for the zone, on ip4, having timeouts.
Another interesting bit is this one, when sending to sending to target: <itp.hncsmtr.com.> <IP_ADDRESS>#53 it receives the error error: recvfrom 82 failed: Connection refused. So the upstream server has connection refused. Perhaps the upstream server is not running or the firewall disallows access from the outside.
And then this error, error: SERVFAIL <itp.hncsmtr.com. AAAA IN>: all servers for this domain failed, at zone itp.hncsmtr.com. from <IP_ADDRESS> could not parse upstream response. And also for other types. The upstream server includes an EDNS record that says it contains 11 bytes of rdata, but those bytes are not in the packet. The packet length is too short. Possibly that is the reply for the edns client subnet rdata element. The upstream server malformed response is then not picked up by unbound and unbound continues to attempt other servers, that timeout.
Since the upstream servers respond with malformed EDNS record contents, it is probably best to not send them edns client subnet queries. It is possible to configure what upstream hosts get subnet info, with send-client-subnet and client-subnet-zone options, and then do not include this zone and its servers in that list.

So, how should these domain names be configured to exclude from the edns client subnet? If this also happens on the root domain name and all subdomains of the domain name, how to configure and exclude it?

I think something like client-subnet-always-forward: no, and then client-subnet-zone: "example.com" to send to example.com and other zones for which subnet is desired. But then hncsmtr.com is not configured in that way and also its nameservers are not configured. With send-client-subnet: <IP_ADDRESS> specific nameservers can be configured to send subnet to.

I think something like client-subnet-always-forward: no, and then client-subnet-zone: "example.com" to send to example.com and other zones for which subnet is desired. But then hncsmtr.com is not configured in that way and also its nameservers are not configured. With send-client-subnet: <IP_ADDRESS> specific nameservers can be configured to send subnet to.

But I need every request to go through the edns client subnet. Except hncsmtr.com and the subdomain of the domain name.

The edns subnet configuration is set up to have an allowlist, and it does not have rejectlist configuration.

The edns subnet configuration is set up to have an allowlist, and it does not have rejectlist configuration.

Can it be developed? Because this kind of unresolved domain name is a small number of domain names. Most domain names are resolved.


Improvement: gene names should be fetched before categories

The quick genes search bar is empty until the frontend finishes loading completely because the var fetch happens last. I think it should happen first so that particular component does not appear broken.

This occurs due to order of rendering - left side bar is rendered first, so all the constituent obs fetches are queued up. Right side bar is rendered last.

A fix is up here should one be deemed necessary!


[ASCII-2082] Avoid adding middlewares recursively at every call to the api

What does this PR do?

Fix the API observability middlewares to avoid adding them recursively at every request to the API.
Motivation

This was causing a slow memory leak.
Additional Notes

Leak introduced by https://github.com/DataDog/datadog-agent/pull/27018.
The next argument of the MiddlewareFunc was being updated in the HandlerFunc.
Since the HandlerFunc is called once per request to the API, this results in each request adding new observability middlewares, which are never freed.
The stack grows over time, resulting in a leak.
Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

There is no functional bug so catching this with unit tests is complex.
Did QA manually to make sure fix works as expected:

Start the agent
Make a lot of calls to the API, eg. for e in "$(seq 1 100)"; do datadog-agent status; done
Create a flare
Check the go-routine-dump.log, find the routine handling the flare request and make sure it doesn't have hundreds of layers of observability middleware

/merge


Vue warning after install

Getting vue warning after install.
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: destroyed has been renamed to unmounted.
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Property "$createElement" was accessed during render but is not defined on instance.
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Failed to resolve component: transition-group

I am getting the same error.

Did you manage to fix it ?? @yordi024  @Sandeep-Ranjan  @megafetis  ?

Any news on this?


Typo in Clients Behaviour section

The first sentence of the "Client Credentials" section of the "Behaviour: Clients" says:
Confidential Clients SHOULD support authentication using a digitally signed JSON Web Token, to authenticate with the Authorization Server’s token and revocation endpoints in the manner described in Section 2.2 of RFC 7523
The text of the link at the end of this section says RFC7523, but the link itself is going to RFC7591 - I assume that's a copy/paste error?

Thanks for spotting that. I've pushed a PR which should fix it.

Thanks for spotting that. I've pushed a PR which should fix it.


Fixes #24111: memory leak in crypto/conf/conf_mod.c

fixed memory leak mentioned in #24111
Allocate stack to_delete after return to avoid memory leak.

Signed CLA and sent it minutes ago.

Sorry, did not notice that @coolshrid has fix the bug in his commit before (but not raise a PR). Should I close this PR?


Add some documentation here for beginners to understand the working of bot.

In Features,
We can add the suggestion of bot giving us better words there after.

2)Can ask people to add suggestion of words into the repository. I don't know whether it actually exists or not.

Hi @Shanmuganathanb, thank you for raising this issue 😃. I am going to address your questions in separate.

Add some documentation here for beginners to understand the working of bot

We have currently some documentation on the README of the repository. Is there a specific part you don't understand? This documentation can always be improved, so we appreciate if you can give more details on the part you are having difficulty 😃.

We can add the suggestion of bot giving us better words there after.

Yes, we can add that new feature you mentioned to the list. This was recently added in this PR so we haven't updated the feature list with it. It can be something like:
Features

Configured words show with alternatives suggestions after the user sends a message

Note: Not sure if we want to add a picture to the features list, but perhaps it's easier to understand with it 🤔 ?

2)Can ask people to add suggestion of words into the repository. I don't know whether it actually exists or not.

The word suggestions are in config.ts. Any contribution is very welcome and we can review it in a PR 👍.

#262 will actually help here if a user does not wish to put this filter on their server, this feature is not production ready yet as well so thanks for raising the issue @Shanmuganathanb and I believe it has been disabled for the time being.

@Shanmuganathanb as @BOLT04 has triaged above, I do agree the README can be improved, #156 has some suggestions of improvements, assigning that issue to @eddiejaoude to change the deployment variables of the dev bot then we can build on top of that.
@Shanmuganathanb If you are comfortable checking out PR #156 and creating a pull request with improvements to README.md into this branch after checking out the Docker box and seeing if this makes it easier for you to get involved with this project - this would be really helpful.

This feature is still currently active, the bot is not appearing that much anymore in the chat because people have learnt to be more inclusive with their wording - so it looks like it is doing what it is meant too 🎉

Github actions has a good point. Why is this issue still open?

I think we haven't decided what documentation to produce for this issue @mikeysan. The small change is done quickly, which is to add the feature of the word suggestions, on the Features list of the README.
The "how to add a suggestion of words into the repository" requires more thought.
@EddieJaoudeCommunity/coreteam what approach does everyone think is best, closing this issue or making a list of tasks for someone to do and make a PR?

I think making new issues with specific actions to do would be more useful to people wanting to contributor - I know most ideas/issues start off bigger, but I like the idea of then creating smaller task issues and closing the bigger one (plus more green squares 🟩


Add logo

Description
logo
Additional Information

[x] I have read the contributing docs (if this is your first contribution)
[x] This is not a duplicate of any existing pull request

Related Issues
Closes #{issue number}
Your ENS/address:
0x84fF709680E9378734Bae1D3B55C6568d21671c3

Hi @Okhayeeli! Thank you for submitting your personal page and updated logo 🥳
I have a couple small pieces of feedback, mainly related to the GitHub workflow of contributing to our little open-source repo.

We encourage everyone to have each PR only address one issue. This PR seems to be focused on #7, but also includes changes to your personal page. Since your personal page already exists from #12, it's okay to leave it like this.

In the future if you want to make multiple small changes, I would ask you to make several small PRs for each - it's easier to keep the changes, discussions, and open/close/merge status separate.

Your description for this PR is "logo" - I suggest you make your descriptions longer and providing more context for reviewers by mentioning relevant issues (in this case, #7) by typing #7 and letting GitHub do the linking magic. You might also provide some more context, such as "here's my first draft of the logo for our main page. I'm open to feedback" or "after discussion in the Telegram group, this is our final design" to summarize any conversation that led to the moment of this PR.

Please update your pull request description to say Closes #7.

It seems like your git commits and pull requests are coming from two different GitHub accounts, @Okhayeeli and @Okhaye26. I recommend you choose one to use for everything GitHub related for many reasons: clarity, building of reputation, lack of confusion, and so on.

Thank you again for taking the time to design our new logo!

Alright,  it is actually from the same github account. When I push from my system it pushes with the name of the user

Thank you for correcting me, I can work with them


Video decoder for data_pipeline

What does this PR do? Please describe:
Implements video_decoder for loading a video dataset as part of the data_pipeline using ffmpeg libraries. The libraries used are libavcodec, libavformat, libavutil, and libswscale.
video_decoder class is exposed to pybind11 which uses the classes in the detail directory for decoding. ffmpeg_decoder class does the heavy lifting and handles the resources acquired by libavformat.  stream class handles metadata for the streams and the resources acquired by libavcodec. transform class handles transformations on frame data and resources acquired by libswscale.
You can use this example to test it manually:
from dataclasses import dataclass
from pathlib import Path
from typing import Generator, Sequence, Tuple

import logging
import torch
from torch import Tensor

from fairseq2.data import Collater, FileMapper, StringLike
from fairseq2.data.video import VideoDecoder
from fairseq2.data.text import StrSplitter, read_text
from fairseq2.typing import DataType, Device
from fairseq2.data.data_pipeline import DataPipeline

@dataclass
class DataContext:
    data_file: Path
    """The pathname of the test TSV data file."""

    video_field: str
    """The string field corresponding to the relative path of the audio file."""

    video_root_dir: Path
    """The pathname of the directory under which audio files are stored."""

    device: Device
    """The device on which to run inference."""

    dtype: DataType
    """The dtype with which to run inference."""

def build_data_pipeline(ctx: DataContext) -> DataPipeline:
    # TODO: This will be soon auto-tuned. Right now hand-tuned for devfair.
    n_parallel = 4

    # Open TSV, skip the header line, split into fields, and return three fields
    # only.
    split_tsv = StrSplitter(
        # We assume the tsv file has these 3 fields.
        names=["id", ctx.video_field, "raw_target_text"], indices=[0, 1, 2]
    )

    pipeline_builder = read_text(ctx.data_file, rtrim=True).skip(1).map(split_tsv)

    # Memory map video files and cache up to 10 files.
    map_file = FileMapper(root_dir=ctx.video_root_dir, cached_fd_count=10)

    pipeline_builder.map(map_file, selector=ctx.video_field, num_parallel_calls=n_parallel)

    # Decode mmap'ed video using ffmpeg and convert them from waveform to fbank.
    decode_vid = VideoDecoder()

    pipeline_builder.map(
        [decode_vid],
        selector=f"{ctx.video_field}.data",
        num_parallel_calls=n_parallel,
    )

    # Build and return the data pipeline.
    return pipeline_builder.and_return()

def run_pipeline(ctx: DataContext):
    """Iterate through the specified TSV file and return translation + reference text + units"""
    # Build a simple pipeline that just reads a single TSV file.
    pipeline = build_data_pipeline(ctx)

    # Iterate through each example in the TSV file until CTRL-C.
    for example in pipeline:
        print(example)

if __name__ == "__main__":
    # fmt: off
    ctx = DataContext(
        data_file=Path("yourtsv"),
        video_field="mp4_file",
        video_root_dir=Path("path"),
        device=torch.device("cpu"),
        dtype=torch.float32
    )
    # fmt: on

    run_pipeline(ctx)

Check list:

[ ] Was the content of this PR discussed and approved via a GitHub issue? (no need for typos or documentation improvements)
[x] Did you read the contributor guideline?
[x] Did you make sure that your PR does only one thing instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests?
[x] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (no need for typos, documentation, or minor internal changes)

I get this error from this line
https://github.com/facebookresearch/fairseq2/blob/94570e97e9afbc152bf492b6e971831bde92e3a1/src/fairseq2/data/video.py#L34
Traceback (most recent call last):
  File "diffusersurgical/dataloader.py", line 5, in <module>
    from fairseq2.data.video import VideoDecoder
  File ".venv/lib/python3.10/site-packages/fairseq2/data/video.py", line 34, in <module>
    from fairseq2n.bindings.data.video import VideoDecoder as VideoDecoder
ModuleNotFoundError: No module named 'fairseq2n.bindings.data.video'; 'fairseq2n.bindings.data' is not a package


Logging middleware

Hi. I would like to propose adding additional utilities to this repo to support debugging. For example, something like below would be really beneficial in logging the return values of the step definition callbacks and manage the visibility of the logging statements. It could also serve other purposes like applying default assertions, but that might be out of scope for this repo.
const createLogger = (logger: (data: loggerData) => void) => {
  let count = 1;
  return (stepDefinitionFn: StepsDefinitionCallbackFunction) => (
    stepFns: StepsDefinitionCallbackOptions
  ) =>
    ((index: number, step = 1) =>
      stepDefinitionFn(
        Object.entries(stepFns).reduce(
          (acc, [fnName, stepFn]) =>
            Object.assign(acc, {
              [fnName]: (
                matcher: string,
                fn: (...args: any[]) => Promise<unknown>
              ) =>
                stepFn(matcher, async (...args) => {
                  const response = await Promise.resolve(fn(...args));
                  logger({ step: step++, fnName, matcher, response, index });
                })
            }),
          stepFns
        )
      ))(count++);
};

const withLogging = createLogger((event) => {
  const { step, fnName, matcher, response, index } = event;
  const label = `LOGGER ${index}: STEP ${step}`.white['bold'];
  const title = `${fnName.green.bold} ${matcher.green}`;
  const responsePrefix = 'response:'.white;
  console.log(label, '\n\n', title, '\n', responsePrefix, response);
});

It then can be used to wrap the test definition.
test(
  '1 + 2 = 3',
  withLogging(({ given, when, then }) => {
    let number = 1;

    given('number is 1', () => {
      expect(number).toBe(1);
    });
    when('adding 2', () => {
      number += 2;
    });
    then('number should be 3', () => {
      expect(number).toBe(3)
      return number; // this logs to the console
    });
  })
);

Please let me know if anyone is interested in having this.

Middleware like this is an interesting idea, especially if there were a publicly exported middleware creation function that provided a simple API for creating middleware that abstracted away all of the stepsDefinitionCallback stuff.
I will say that your use case might be better served with proper reporting functionality, though. See #27.

You are right about the logging part. This is definitely not something you want to pollute your tests with. However, i got really excited about this idea of putting middleware layers between those callbacks. It opens up a lot of possibilities of drying up tests and improving their readability.
I just recently started picking up TDD, so my awareness about the available tools is most likely insufficient. I know about Jest its mocking/stubbing features and its ability to output to JSON, but i don't know if they really solve the problem of drying up our tests. jest-cucumber also afforts an autobinding feature which to my awareness makes step definitions reusable on the test suite level?
Providing an API to attach middleware to step definition handlers at multiple levels in the test suite hierarchy, would relate very well to the concept of Gherkin its backgrounds. It might be a good starting point to reason about any inconsistencies between Gherkin its concepts and the tooling jest-cucumber provides, in order to support these concepts.

I definitely agree that some sort of a middleware / plug-in architecture in general would be helpful in this library. The goal with Jest Cucumber is to not stray too far from existing Jest and Cucumber norms, but at the same time, a lot of people have specific preferences or requirements that this library can't easily accommodate without imposing these opinions on everyone else.

jest-cucumber also afforts an autobinding feature which to my awareness makes step definitions reusable on the test suite level?

In typical Jest tests, you use describe and it or test blocks to make your tests readable and easy to understand. The default in Jest Cucumber is designed to accomplish the same thing where the contents of your feature files are fully represented in your Jest tests and you don't have to continuously cross-reference your Jest tests and feature files, don't have to deal with global step matching, etc. At the same time, Jest Cucumber ensures that your Jest tests stay in sync with your feature files, and also generates code suggestions when your Jests tests don't match your feature files. This allows teams to practice ATDT with business-readable feature files, and then automate them in Jest without worrying about Jest tests and feature files getting out of sync.
Some people would prefer that Jest Cucumber work more like Cucumber.js, which is what autoBindSteps is designed to accomplish. Rather than defining Jest tests that mirror the feature file, autoBindSteps allows you to define only step definitions and it creates your Jest tests for you automatically.
There are pros and cons to each approach, and it comes down to being a matter of preference, so I'd suggest you look over the docs / examples and decide which you prefer.


Is there support for capturing groups?

How can I extract the second group from aa-bb-c-dddd-eeeee defined as (\w+)-(\w+)-(\w+)-(\w+)-(\w+) (nothing, if no match)?

Tried regex_find_all() but got:
sqlite> select * from regex_find_all('\w+', 'aaa-bb-c-dddd-eeeee') where rowid = 2;
thread '<unnamed>' panicked at 'not yet implemented', src/find_all.rs:79:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
Abort trap: 6

My apologies for the panic you got with WHERE rowid = 2, it has now been fixed in v0.2.2.
sqlite> select * from regex_find_all('\w+', 'aaa-bb-c-dddd-eeeee') where rowid = 2;
┌───────┬─────┬───────┐
│ start │ end │ match │
├───────┼─────┼───────┤
│ 7     │ 8   │ c     │
└───────┴─────┴───────┘

But for capturing groups specifically, there isn't a great way. I want to add a new select * from regex_captures table function where you'll get all the capture groups and their names/positions, which is being tracked in #1

Great. Any ETA on this by chance?
Also curious why isn't it a great way – is it due to poor performance, poor readability or other?

I'll give it a shot in the next week or so!
I say "it's not a great way" mostly because it's awkward and not really readable. For single values like 'aaa-bb-c-dddd-eeeee' it's fine, but it gets weirder on multiple values, like so:
with strings as (
  select value
  from json_each('[
    "aaa-bb-c-dddd-eeeee",
    "jjj-k-lll-mmmm-nnnn",
    "only-two"
  ]')
)
select *
from strings
join regex_find_all(regex('\w+'), value) as parts
where parts.rowid = 2;
/*
┌─────────────────────┬───────┬─────┬───────┐
│        value        │ start │ end │ match │
├─────────────────────┼───────┼─────┼───────┤
│ aaa-bb-c-dddd-eeeee │ 7     │ 8   │ c     │
│ jjj-k-lll-mmmm-nnnn │ 6     │ 9   │ lll   │
└─────────────────────┴───────┴─────┴───────┘
*/

First issue: There's a rowid = 2 in the WHERE clause, so you would think that this query only returns one row. But it doesn't, since the  regex_find_all table function is called multiple times and returns multiple rows with the same rowid. Again, it works, but just awkward.
The second issue: For the "only-two" value, no row is returned. This may be what you want, but I'd prefer to see a NULL rather than a missing row for these types of cases.
All this to say, when capture group support is added, you'd be able to do something like:
with strings as (
  select value
  from json_each('[
    "aaa-bb-c-dddd-eeeee",
    "jjj-k-lll-mmmm-nnnn",
    "only-two"
  ]')
)
select
  value,
  regex_capture(
    '\w+-\w+-(?P<third_word>[^-]+).*',
    value,
    'third_word'
  ) as third_word
from strings;

Which, in my opinion, is much cleaner and easier to reason about.
Re performance: They should be both equal, but one important note when using regex table function like regex_find_all is the wrap the regex() function around patterns. This enables caching, which is tricky for table functions, but automatically done for scalar functions like regexp() or regex_find().


Plugin loading

Patch Module._load to allow plugins to require the plugin API when they load instead of having to wrap every module in a function:// index.js
const Plugin = require('betterdiscord/plugin');
const SomeComponent = require('./component');

module.exports = class extends Plugin {
    // ...
}

// component.js
const { Vuewrap } = require('betterdiscord/plugin-api');

module.exports = props => {
    return Vuewrap('somecomponent', {
        // ...
    });
}

Add a function to the plugin API to unload everything it keeps track of
Check external module versions
Allow plugins and external modules to expose multiple versioned APIs

I like this change, something I wanted to do for awhile. I am at work now so I've only skimmed through it, but I don't see any huge issues. I'll take a closer look tonight when I get home.


Appstudio update test-component-pac-lwzd

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-lwzd-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
24 seconds
init

✅ Succeeded
26 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
35 seconds
sanity-inspect-image

✅ Succeeded
35 seconds
deprecated-base-image-check

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
34 seconds
sbom-json-check

✅ Succeeded
13 seconds
sanity-label-check

✅ Succeeded
13 seconds
sanity-optional-label-check

✅ Succeeded
8 seconds
show-summary


Stop words

Add search param setting for stop words to ignore in queries
Improves query performance slightly when lots of generic words are included
In case of stopword-only queries: fall back to all words, i.e. act like there were no stop words
Closes #61

Questions

Could/should this be combined with automatic language detection? I've found lots of stop word lists online, but many of them are extremely opinionated and I wouldn't want those defaults to be present on my sites. So I'd prefer explicitly passing in stopwords at query time, but you might have a different preference here :)

Hey, thanks for working on this! I think, stop words should not be part of the SearchParameters but instead of Configuration. What if you have a list of 1000 stop words, would you pass them to Loupe on every single search request? 😊 Moreover, it doesn't make sense to even index terms that are part of the stop words.
Imho, we should go similar to https://www.meilisearch.com/docs/reference/api/settings#get-stop-words so $engine->addStopWords(), $engine->getStopWords() and $engine->deleteStopWords(). What do you think?
Providing lists of common stop words is a separate question and I would ignore this for now.

Very good points! For more than a few stop words, it'd make sense to store them in the database. However I'm not sure where you'd even get more than 40 or 50 stop words from. Setting stop words for all languages probably won't make sense since one language's stop words are another language's keywords ;)
This is Elastic's default list of English stop words, 33 in number, and half of those seem a bit too aggressive to me: a, an, and, are, as, at, be, but, by, for, if, in, into, is, it, no, not, of, on, or, such, that, the, their, then, there, these, they, this, to, was, will, with.
If possible, I like the idea of keeping it simple for now and putting them into the configuration. If long-term conceptual compatibility with Meilisearch is a goal (which makes perfect sense), let's leave this open for now and see when I get to moving stop words into the engine/database.

Let's go with the Meilisearch implementation then and store things from the engine. The willingness to run with good decisions made by others is what made loupe interesting in the first place. I won't get to this for a few days, though, let's just keep an open tab on it for now.

@Toflar I've moved the stop words into the engine. Good to go from my end :) I've opted not to store them in the database permanently. The complexity of storing and retrieving them from a table didn't seem to make much sense when only dealing with 10-50 words that can be passed in during configuration. Guess we can always add that later if it makes sense? But I can't see someone using 1000s of stop words realistically.

Yeah, what we're doing then is externalizing the responsibility of storing them. If e.g. you want to give some user the ability to configure the stop words themselves, you'll have to store them somewhere and pass them to the Configuration everytime you instantiate Loupe. By storing them within Loupe, you could potentially omit that.
But there are a lot of other things you potentially want to have users to be able to configure which are not stored in the index itself so I guess we're good for the moment. We can still enhance the feature (or whoever needs it can 😊 ).

Thanks @daun!

@Toflar Sounds good!


"stack init" not working

I detailed the problem here. Thanks!

same (or similar) problem: the output is here.


First draft useScreenOrientation

I don't know if it's helpful to add this as a hook because the only thing it does is provide a default value for the useMediaQuery hook. Instead we could add the landscape media query as a constant to the useMediaQuery hook file and export it and write some additional documentation.
That'll mean that you can get the same behaviour with something like this:
import { useMediaQuery, landscapeOrientationMediaQuery  } from '@mediamonks/react-kit`
const isLandscape = useMediaQuery(landscapeOrientationMediaQuery)

instead of
import { useScreenOrientation } from '@mediamonks/react-kit`
const isLandscape = useScreenOrientation()

Additionally, browsers have a not super well supported ScreenOrientation api that could be a potential naming conflict.


Fixed ConsulAgent baseUri will be replaced by DefaultURI.

https://github.com/hyperf-cloud/hyperf/pull/115


Implement a Formal Concept Analysis demo

This could offer a nice alternative way to visualize a Lepiter database as a lattice of “concepts” that are groups of tags.

A first version is now working and has been added to the release image.
See FCAContextExamples.

Just some more examples to add for various applications.


Fix: interception failed

Signed-off-by: fengshunli<EMAIL_ADDRESS>

How did the original script fail?

How did the original script fail?

Interception of rancher/k3s:v1.24.8-k3s1 failed, because it only has 2 segments after division, and it has not been obtained from 3

But it's docker.io/rancher/k3s:v1.24.8-k3s1 which has three segments for division

docker.io/

The docker.io prefix is ignored by default

But it's docker.io/rancher/k3s:v1.24.8-k3s1 which has three segments for division

It has nothing to do with pull, the problem is that the variable K3dImageK3s is 2 segments, or you can add docker.io/ to K3dImageK3s


[eventgrid] Correctly Format Datetime to 12 hour Format

Packages impacted by this PR
@azure/eventgrid
Issues associated with this PR
I did not create an issue. Should I have?
Describe the problem that is addressed by this PR
We ran into trouble, because we only needed a token for 30 minutes and from 11:30 am to 12:30 pm the expiration date was 12:00 am, which is of course in the past.
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Yes. The exact problem was added as a test case, that failed before adjusting the code
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[x] Added impacted package name to the issue description
[x] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[x] Added a changelog (if necessary)

Thank you both for reviewing this so quickly.


Missing Typescript definitions

Hi,
Where can I find BigRational typescript definitions? I've seen it exists https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/big-integer for big integer but couldn't find the repo for big-rational

I'm not sure that anybody's taken the effort to create them yet, since BigRational isn't as popular as BigInteger.

I have a basic type for big-rational here, just put together quickly to get by.
declare module 'big-rational' {
  class BigRational {
    public numerator: BigInteger;
    public denominator: BigInteger;

    abs(): BigRational;
    add(num: BigRational | string | number): BigRational;

    divide(by: BigRational | string | number): BigRational;
    divide(num: BigInteger | number, denom: BigInteger | number): BigRational;

    ceil(toBigInt?: false): BigRational;
    ceil(toBigInt: true): BigInteger;

    compareAbs(to: BigRational | BigInteger | number): -1 | 0 | 1;
    compare(to: BigRational | BigInteger | number): -1 | 0 | 1;
    compareTo(to: BigRational | BigInteger | number): -1 | 0 | 1;

    eq(to: number | BigRational): boolean;
    equals(to: number | BigRational): boolean;

    floor(toBigInt?: false): BigRational;
    floor(toBigInt: true): BigInteger;

    geq(than: BigRational | BigInteger | number): boolean;
    greater(than: BigRational | BigInteger | number): boolean;
    greaterOrEquals(than: BigRational | BigInteger | number): boolean;
    gt(than: BigRational | BigInteger | number): boolean;

    isNegative(): boolean;
    isPositive(): boolean;
    isZero: boolean;

    lesser(than: BigRational | BigInteger | number): boolean;
    lesserOrEquals(than: BigRational | BigInteger | number): boolean;
    leq(than: BigRational | BigInteger | number): boolean;
    lt(than: BigRational | BigInteger | number): boolean;

    minus(num: BigRational | string | number): BigRational;
    mod(num: BigRational | BigInteger | number): BigRational;

    multiply(by: BigRational | string | number): BigRational;

    negate(): BigRational;

    neq(to: BigRational | string | number): BigRational;
    notEquals(to: BigRational | string | number): BigRational;

    over(by: BigRational | string | number): BigRational;

    plus(num: BigRational | string | number): BigRational;

    pow(to: BigInteger | number): BigRational;

    reciprocate(): BigRational;

    round(toBigInt?: false): BigRational;
    round(toBigInt: true): BigInteger;

    subtract(num: BigRational | string | number): BigRational;

    times(by: BigRational | string | number): BigRational;

    toDecimal(num: number): string;

    toString(): string;
    valueOf(): number;
  }

  /**
   * Create new BigRational from string
   * eg: "5/4" or "1.25" or "1_1/4"
   * @param num
   */
  export default function (num: string): BigRational;
  /**
   * Create new BigRational from numeric type
   * @param num
   */
  export default function (num: number | BigInteger | BigRational): BigRational;
  /**
   * Create new BigRation from numerator and denominator
   * @param num
   * @param denom
   */
  export default function (
    num: number | string,
    denom: number | string,
  ): BigRational;
  /**
   * Create new BigRational (Zero Value)
   */
  export default function (): BigRational;
}


Can error appears while driving

Describe the bug
Suddenly an error message appears while driving, and it can work after reboot.
Device: Comma 2
Dongle ID: ec30903bb15db3ad
Route: ec30903bb15db3ad|2021-05-10--20-37-49
Timestamp: 4 min into the drive
Version: 0.8.3
Car make/model: Lexus IS 200T (2017)

It happened again today, lost Panda and can't use it anymore.

This is a known bug when the modem tries to switch cell towers and uses too much power. Some devices seem to be more affected than others. We use https://github.com/commaai/openpilot/issues/19874 to track this issue.
You can do two things:

Remove your sim card for the time being. We're working on a software fix, which is expected in 0.8.5, but it could be longer.
If your device is still under the 1 year warranty, contact<EMAIL_ADDRESS>and we can replace it for you.

After removing the sim card, what are the restrictions and differences in use?  Does it work properly?

No difference in driving. Just make sure you connect to wifi to get updates.

Okay, Thank you!

Just adding some details from my other now closed ticket (#21057) into this one for reference:
Describe the bug
Occasionally, my C2 will say "No Panda" along with a CAN error message.  A reboot is needed to correct the issue, on the C2. Sometimes a restart of the car is needed to clear it's issues too. The C2's panda will remain offline without rebooting the C2, despite what you do to the car.
How to reproduce or log data
Unable to reliably reproduce. Driving data exists however seems cut short.
Issue occurred at the end of the drive on this segment 903210ecc0cb706b|2021-05-25--21-13-22--80
OP was engaged right up until the end of the drive, despite Explorer saying it was disengaged.
Expected behavior
For Panda not to go offline randomly.
Device/Version information (please complete the following information):

Device: Comma2
Dongle ID: 903210ecc0cb706b
Route: 903210ecc0cb706b|2021-05-25--21-13-22--80
Timestamp: 22:34, right at the end of the drive. After the footage ended, about 10 seconds later in that roundabout, OP disengaged, showed the red "CAN Error" message and disengage warning, the car's LKA and ACC went offline, and OP screamed until I rebooted it about 30 seconds later.
Version: 0.8.4
Car make/model: 2019 Golf R Manual

Additional context
Lots of errors logged in the cars ABS, LKA, ECU, EPS, and BCM modules after this this issue. These errors do not occur without the C2 present.
When I first got my C2, I did have an issue with tower changes causing issues, but that has since been fixed after going from 0.7.4 to 0.7.8 (I think?). I used to be able to reproduce that issue by driving on a specific road, however driving that road doesn't cause this issue and hasn't caused any issues in 8 months.
My C2 DID hard lock a couple times in the winter (#19874), but after re-flashing NEOS it seems to have stopped doing that. This panda issue is fairly new, only in the last couple weeks has it done it (Maybe since 0.8.4? but it may have happened on 0.8.3 too.  The first time I ignored, and only took note the second time it happened.
Update 1:
It happened again today, BUT there were also two other issues that occurred after a reboot shortly after in the same area. Though these presented in a new way that I don't think I've seen happen before. Not sure if they are related or not, but I can go back and test again to see if they happen in that area again.
The first thing that went wrong was the issue I described earlier, CAN connection error, red warning screen, No Panda afterwards, though the panda firmware still showed up in the Developer tab.
The only way I was able to correct this issue was with a reboot of the C2.
This DID occur in an area with poor cell reception, and the C2 was constantly saying that it was gaining and losing cell service. Though the other times it has happened, weren't in areas of poor cell service, and never seemed to be reproducible before even on a road where sell service had caused previous issues. Maybe it will be on this road? I can try again tomorrow.
This occurred at: 903210ecc0cb706b|2021-05-29--17-04-20--30 at approximately 17:35:01

Later that same drive (though after rebooting the C2), I saw it do the two other things I mentioned in: 903210ecc0cb706b|2021-05-29--17-46-50--5 at approximately 15:52:31 I got an error that I wasn't able to read, but I suspect it was another CAN Error. Panda stayed online, but later trying to re-engage showed an error saying something about controls mismatch somewhere after 17:52:56.
Approximately at 17:53:50, I turned the ignition off and right back on again (not giving the car enough time to reset or for modules to go to sleep) and was able to drive again with my C2 without incident for the rest of the time back home.
During the ride back home, after the reboot of the C2 I kept an eye on the "connected" status and cellular signal strength of the C2 and saw it go from red to yellow to white several times, without issue or incident. I also observed the C2 gain and lose cell service, switch back and forth between 2G, 3G and LTE without issue.
I'll probably do this drive again tomorrow, let me know if you want me to try it again, and I can make it a priority.
Hope this helps!
Update 2:
So, I managed to find a stretch of road where I could make the issue occur consistently and compared with and without the sim card. which definitely seemed to cause the issue. At one point, the C2 lost the panda entirely, and I had to disconnect power from the C2 entirely for it to come up again. When this happened the Panda firmware section was blank.
I did the road 3 times each, up, back down, and up again.
Here are the drives:
903210ecc0cb706b|2021-05-30--22-40-33--27
903210ecc0cb706b|2021-05-30--23-09-52--0
903210ecc0cb706b|2021-05-30--23-14-29--0
Without the SIM I was able to do all 3 drives together, then popped the sim back in for a 4th run, where it died :
903210ecc0cb706b|2021-05-30--23-19-40--0
The drive with the SIM card starts at approximately 23:32:50, and ends at the end of the clip.
The problem manifested in many different ways. From the panda going offline, to the C2 thinking the car was off, to getting a controls mismatch error, or a CAN communication error.
I can very consistently reproduce this issue, so if you guys want me to do some testing on that road, I'll be more than glad to help out. ;)

Just adding some details from my other now closed ticket (#21057) into this one for reference:
Describe the bug
Occasionally, my C2 will say "No Panda" along with a CAN error message.  A reboot is needed to correct the issue, on the C2. Sometimes a restart of the car is needed to clear it's issues too. The C2's panda will remain offline without rebooting the C2, despite what you do to the car.
How to reproduce or log data
Unable to reliably reproduce. Driving data exists however seems cut short.
Issue occurred at the end of the drive on this segment 903210ecc0cb706b|2021-05-25--21-13-22--80
OP was engaged right up until the end of the drive, despite Explorer saying it was disengaged.
Expected behavior
For Panda not to go offline randomly.
Device/Version information (please complete the following information):

Device: Comma2
Dongle ID: 903210ecc0cb706b
Route: 903210ecc0cb706b|2021-05-25--21-13-22--80
Timestamp: 22:34, right at the end of the drive. After the footage ended, about 10 seconds later in that roundabout, OP disengaged, showed the red "CAN Error" message and disengage warning, the car's LKA and ACC went offline, and OP screamed until I rebooted it about 30 seconds later.
Version: 0.8.4
Car make/model: 2019 Golf R Manual

Additional context
Lots of errors logged in the cars ABS, LKA, ECU, EPS, and BCM modules after this this issue. These errors do not occur without the C2 present.
When I first got my C2, I did have an issue with tower changes causing issues, but that has since been fixed after going from 0.7.4 to 0.7.8 (I think?). I used to be able to reproduce that issue by driving on a specific road, however driving that road doesn't cause this issue and hasn't caused any issues in 8 months.
My C2 DID hard lock a couple times in the winter (#19874), but after re-flashing NEOS it seems to have stopped doing that. This panda issue is fairly new, only in the last couple weeks has it done it (Maybe since 0.8.4? but it may have happened on 0.8.3 too.  The first time I ignored, and only took note the second time it happened.
Update 1:
It happened again today, BUT there were also two other issues that occurred after a reboot shortly after in the same area. Though these presented in a new way that I don't think I've seen happen before. Not sure if they are related or not, but I can go back and test again to see if they happen in that area again.
The first thing that went wrong was the issue I described earlier, CAN connection error, red warning screen, No Panda afterwards, though the panda firmware still showed up in the Developer tab.
The only way I was able to correct this issue was with a reboot of the C2.
This DID occur in an area with poor cell reception, and the C2 was constantly saying that it was gaining and losing cell service. Though the other times it has happened, weren't in areas of poor cell service, and never seemed to be reproducible before even on a road where sell service had caused previous issues. Maybe it will be on this road? I can try again tomorrow.
This occurred at: 903210ecc0cb706b|2021-05-29--17-04-20--30 at approximately 17:35:01

Later that same drive (though after rebooting the C2), I saw it do the two other things I mentioned in: 903210ecc0cb706b|2021-05-29--17-46-50--5 at approximately 15:52:31 I got an error that I wasn't able to read, but I suspect it was another CAN Error. Panda stayed online, but later trying to re-engage showed an error saying something about controls mismatch somewhere after 17:52:56.
Approximately at 17:53:50, I turned the ignition off and right back on again (not giving the car enough time to reset or for modules to go to sleep) and was able to drive again with my C2 without incident for the rest of the time back home.
During the ride back home, after the reboot of the C2 I kept an eye on the "connected" status and cellular signal strength of the C2 and saw it go from red to yellow to white several times, without issue or incident. I also observed the C2 gain and lose cell service, switch back and forth between 2G, 3G and LTE without issue.
I'll probably do this drive again tomorrow, let me know if you want me to try it again, and I can make it a priority.
Hope this helps!
Update 2:
So, I managed to find a stretch of road where I could make the issue occur consistently and compared with and without the sim card. which definitely seemed to cause the issue. At one point, the C2 lost the panda entirely, and I had to disconnect power from the C2 entirely for it to come up again. When this happened the Panda firmware section was blank.
I did the road 3 times each, up, back down, and up again.
Here are the drives:
903210ecc0cb706b|2021-05-30--22-40-33--27
903210ecc0cb706b|2021-05-30--23-09-52--0
903210ecc0cb706b|2021-05-30--23-14-29--0
Without the SIM I was able to do all 3 drives together, then popped the sim back in for a 4th run, where it died :
903210ecc0cb706b|2021-05-30--23-19-40--0
The drive with the SIM card starts at approximately 23:32:50, and ends at the end of the clip.
The problem manifested in many different ways. From the panda going offline, to the C2 thinking the car was off, to getting a controls mismatch error, or a CAN communication error.
I can very consistently reproduce this issue, so if you guys want me to do some testing on that road, I'll be more than glad to help out. ;)

I have the exact same issue. I suppose i should wait to return my C2? Any temporary solution to this?

Hey all! I just wanted to offer an update, today on master-ci, I went for a drive in a remote area, and I had some similar issues to this when there was poor service again. I had heard that there was hopes that 0.8.5 would fix this issue.
It presented a bit differently, it showed a USB error, and then I lost the Panda. After a few seconds, OP acted like I had shut the car off, and the only way I could get the Panda back was if I unplugged my C2 from power, and plugged it back in. Powering off, or rebooting wouldn't solve the issue. This happened a couple times on this stretch.
I was able to reproduce it on this drive: 903210ecc0cb706b|2021-06-06--17-09-48--1 at around 17:13:55
I was running the master-ci branch of openpilot-v0.8.5-f04d6a9b3-2021-06-5T and NEOS 17.
I hope this helps. I can do more testing if needed. Let me know how I can help. :)

Thanks for the update @nabeelr. The fix unfortunately didn't make it in for 0.8.5, but we're able to reproduce exactly what you're seeing. The USB error alert was added to catch this. The best way to help right now is preserve your route with the issue and post them here to help us confirm that the fix will cover your case.

Cool, will do! Thanks so much.

We have a better understanding of this issue now, and I added some logging around the cell connection so we can target the fix better. Would either of you guys be able to switch to master-ci and upload some routes?

@adeebshihadeh Will do!
I'll be going for a drive later tonight, and I'll do so running master CI.

Got it to happen, and captured it on master-ci from today at about 14:00 EDT
On drive: 903210ecc0cb706b|2021-06-23--17-49-34--27
@ timestamp 18:17:20
Need me to pull logs in some other way? Let me know if you need more info.

Whenever usb drops, Boardd cleans ControlsIsReady param, re-connect to panda, and then wait for controlsd to set ControlsIsReady, which will never happen.
You will have to simulate an offload event to reload controlsd, or simply reboot the devices.

@adeebshihadeh
So, I recently tried that route again, A/B testing my older C2 that has this issue, vs my newer C2, but I couldn't get either to do it...
The one variable is that I drove there (about 40 minutes out) on my newer C2, and swapped to my older C2 after doing the run with my newer C2 without issue. I swapped the SIM card into whichever C2 I was using at the time, of course...
But it made me think, could it be temperature dependent? It seems weird that the problem suddenly fixed itself on my older C2, and the only variable was that it had been off for the 40 minute drive to the location...
Maybe I'm grasping at straws? IDK What are your thoughts? Now that I have two C2s, I can do some A/B testing if we think it's hardware dependent (which I gather we think it is because comma was offering an in warranty exchange for them AFAIK?) My older one is still in warranty, but I kinda want to see this problem to resolution instead of just replacing it, unless we think there won't be a software fix possible.

Thanks for the testing and logs @nabeelr! Logging for this issue has been in release for over a month now, and we've only seen this issue on a handful of devices. The issue seems to be isolated to particular bands on particular devices, which is why it's local to certain areas. If you have an affected device, you can email<EMAIL_ADDRESS>for a replacement.


Create config-cheat-sheet.en-us.md

Didn't see the config cheat sheet on gitea.io. Updated, left the one Gogs reference as it is specific to an issue.

Great work and LGTM.

I have intentionally skipped this doc because it always gets out of sync. I would prefer more comments within the app.ini and just link to it from the docs.

Sounds good.
On Dec 24, 2016 3:52 AM, "Thomas Boerger"<EMAIL_ADDRESS>wrote:

I have intentionally skipped this doc because it always gets out of sync.
I would prefer more comments within the app.ini and just link to it from
the docs.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/go-gitea/docs/pull/28#issuecomment-269081406, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEklXmd7WgoktPT7yJYJV79pq3PbRuV6ks5rLQeAgaJpZM4LVM7f
.

@tboerger agree.

But if that in app.ini, how to translate it?

@lunny maybe have multiple app.ini? since it will be embedded in the future (or is now, not sure)

We can make docs version so that the outdate problem will be resolved. Put it in app.ini will result in multi-language, a ton of question is about what the ini config item means because not every one know English. So I support merge this PR.

But if somebody don't speak English he's anyway not being able to configure gitea as the variables are named English ;)

Beside that, the header is missing multiple values, it won't work like it is.

I like having this in the docs. We can have more detailed information than comments on app.ini
People could also ask questions and give more info on Discus comments.
And there's also translations that lunny mentioned.

Could we have different versions in the doc for reference? Have major updates increment to a new version. This should help address @tboerger comments and allow for slow adopters to troubleshoot. cake PHP has this type of nav in the cookbook easy to switch to a different version.
Is there anyway to make the CI function check app.ini for changes and look at the corresponding doc page to notify an update is needed?

LGTM for now, but somebody needs to check if it is really up2date.


[DOCS] Adds RegExMatch doc and fix RegEx typo

not much to say :)
I'm not totally OK with the brief description but I don't find better

@godotengine @Noshyaar tried with your recommendations

Ah, sorry, I've been meaning to update some of the descriptions as I changed the back end a while back and it wasn't 1:1 exact. Looks good to merge for now, though.


Migration of the demo app to a new IBM Cloud account

[ ] Will need the account access info first
[ ] Next, try re-deploying Docker containers in Kube
[ ] Would it be possible to do a backup of the Cloudant DB in the old account and a restore into the new account? - Looking into that
[ ] Once the pieces are deployed, re-wire everything to use the new connection info
[ ] Update the READMEs and docs to point to the new demo systems

@amfred @upkarlidder are we still working through this?

I'm not sure if we're still working through this or not because I've been off the grid for a few weeks. @upkarlidder and @yochanah might know.

It looks like the bot auto closed it even though we commented on it.  Is it necessary to remove the stale tag as well?

Thanks @amfred. As per the docs, it is supposed to remove the stale label and restart the close timer if you comment on a stale issue. It does not seem to work though.
The configuration must be on the default branch and the default values will:
- Add a label "Stale" on issues and pull requests after 60 days of inactivity
- Close the stale issues and pull requests after 7 days of inactivity
- If an update/comment occur on stale issues or pull requests, the stale label will be removed and the timer will restart

I believe the stale strategy is good, but we do not want to close the issues. How about I increase the number of days before closing a stale issue to 365. Is that a good workaround?
@demilolu


Update README to point to https://wiki.seeedstudio.com/ArduPy/

The README has no instructions on how to install. Looking at the other issue here I found https://wiki.seeedstudio.com/ArduPy/
How about updating the readme and add the URL above?
Thanks!

Thank you for your advice!


FIX-4113: Apply new version of black

Signed-off-by: Alexey Prutskov<EMAIL_ADDRESS>
What do these changes do?

[x] commit message follows format outlined here
[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #4113
[ ] tests added and passing
[ ] module layout described at docs/development/architecture.rst is up-to-date
[x] added (Issue Number: PR title (PR Number)) and github username to release notes for next major release

Maybe we should pin the actual version of black and update it periodically, rather than instantly getting failing CI every time black releases a new version. @prutskov @modin-project/modin-core, what do you think?

Maybe we should pin the actual version of black and update it periodically, rather than instantly getting failing CI every time black releases a new version. @prutskov @modin-project/modin-core, what do you think?

I agree that it will give more control on new releases. Also, in the case we pin black (flake8?) it would be better to add its to our development dependencies to free the user from installing of black package with specific version. I can add this in this PR.
@dchigarev @modin-project/modin-core, thoughts?

An issue related readthedocs failure #4115.

Yes, I think that is good option to add concrete black/flake8 versions in our env files and upgrading them staged.

Though that will require us constantly monitoring for new releases of black and flake8 if we want to have our code formatted in line with latest versions.

Though that will require us constantly monitoring for new releases of black and flake8 if we want to have our code formatted in line with latest versions.

I agree, but it will be not often action due to flake8/black are rarely released. From the one hand, the pinning adds monitoring activity and expands our env files. From the other hand, it excludes unexpected CI failure in the most important situation (before release, for example) and gives us more control on new versions.
I've added pins for black/flake8 in our env files for now. @YarShev, @dchigarev, @modin-project/modin-core, @modin-project/modin-omnisci, what do you think?

If we decided to pin a black version, we should explicitly voice that somewhere in the developer's docs/PR template. Currently, it requires running any black and flake against Modin repo before doing a PR, although we depend on their certain versions there.

@dchigarev, @YarShev, I propose to do changes related pinning of flake/black in a separate issue to not delay original issue related to immediate fix of CI.


Make the result of small wrapping_sub defered.

This change is

crates/cairo-lang-sierra/src/extensions/modules/int/unsigned.rs line 333 at r1 (raw file):
Previously, liorgold2 wrote…
match (self.operator, IS_SMALL).

Done.


helm create overwrite existing files

Accidentally called helm create . again in a chart directory I was working on and helm overwrote my config with the initial files. The files that are not part of initial files where left alone.
Also with helm create . the chart name will be set . which causes the _helpers.tpl to create an invalide fullname.
Tested with version v2.0.0-rc.2 on OS X.
Maybe check in create that the folder doesn't exist and doesn't contain invalide chars?

Alright, I just finished a fix for this that will ignore files if they already exist. We'll get that merged as soon as we can.


Explore options to solve the same on AWS

For this project, testing locally is meant to be only a helper, a cheap way of exercising function of the app needed in production (in AWS) as well. A constant "reality-check" is desirable on what solutions are possible and/or optimal on AWS to avoid "digression" with the local env/features.

Authentication
A close match to the nginx/oauth-proxy solution doesn't seem to be available on AWS.

API Gateway
1.2. jwt-authorizer is not good enough even as Authorization code with PKCE
1.3 Lambda authorizer is to expensive in terms of effort
Application Load Balancer
2.1. OIDC authentication seems to require verifying the loadbalancer's signature on the claims &ndash seems too much effort to integrate a custom environment

Hence: https://github.com/pdkovacs/igo-repo/issues/9
Push-notification fan-out
SNS seems the most optimal candidat