--filters feature not working on DB2 No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'>

tried this:  --filters "code_version='1.0.0'" and got ibis.common.exceptions.OperationNotDefinedError: No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'>
Traceback (most recent call last):
File "C:\Users\m045517\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in run_module_as_main
return run_code(code, main_globals, None,
File "C:\Users\m045517\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\Scripts\data-validation.exe_main.py", line 7, in
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\data_validation_main.py", line 600, in main
validate(args)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\data_validation_main.py", line 576, in validate
run(args)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\data_validation_main_.py", line 536, in run
run_validations(args, config_managers)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\data_validation_main_.py", line 492, in run_validations
run_validation(config_manager, verbose=args.verbose)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\data_validation_main_.py", line 467, in run_validation
validator.execute()
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\data_validation\data_validation.py", line 98, in execute
result_df = self._execute_validation(
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\data_validation\data_validation.py", line 335, in _execute_validation
source_df = futures[0].result()
File "C:\Users\m045517\AppData\Local\Programs\Python\Python310\lib\concurrent\futures_base.py", line 451, in result
return self.__get_result()
File "C:\Users\m045517\AppData\Local\Programs\Python\Python310\lib\concurrent\futures_base.py", line 403, in __get_result
raise self._exception
File "C:\Users\m045517\AppData\Local\Programs\Python\Python310\lib\concurrent\futures\thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\client.py", line 220, in execute
query = self._get_query(query_ast, **kwargs)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\client.py", line 226, in _get_query
return self.query_class(self, dml, **kwargs)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\client.py", line 40, in init
self.compiled_sql = sql.compile()
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\compiler.py", line 55, in compile
compiled_queries = [q.compile() for q in self.queries]
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\compiler.py", line 55, in
compiled_queries = [q.compile() for q in self.queries]
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\alchemy.py", line 1333, in compile
frag = step(frag)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\alchemy.py", line 1420, in _add_where
args = [
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\alchemy.py", line 1421, in
self._translate(pred, permit_subquery=True) for pred in self.where
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\compiler.py", line 1598, in _translate
return translator.get_result()
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\compiler.py", line 1362, in get_result
translated = self.translate(self.expr)
File "C:\Users\m045517\AppData\Local\Google\Cloud SDK\professional-services-data-validator\venv\lib\site-packages\ibis\backends\base_sqlalchemy\compiler.py", line 1403, in translate
raise com.OperationNotDefinedError(
ibis.common.exceptions.OperationNotDefinedError: No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'>

@nehanene15 this issue is similar to the one solved by this commit https://github.com/GoogleCloudPlatform/professional-services-data-validator/commit/069378271fdab08af8bfe984590b63a45c199bbb, do you know what line could be added to support DB2?

Unfortunately, no, I do not know. Started investigating but could not afford spending more time on this.
Thanks,
Nataliya
From: Helen Cristina @.>
Sent: Monday, March 13, 2023 3:46 PM
To: GoogleCloudPlatform/professional-services-data-validator @.>
Cc: Batrachenko, Nataliya V. @.>; Author @.>
Subject: [EXTERNAL] Re: [GoogleCloudPlatform/professional-services-data-validator] --filters feature not working on DB2 No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'> (Issue #760)
@nehanene15https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnehanene15&data=05|01|Batrachenko.Nataliya%40mayo.edu|3eb14423e7704326479c08db2403fc44|a25fff9c3f634fb29a8ad9bdd0321f9a|0|0|638143371767890810|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=w4MAJw9Gd2%2BziVC4%2BnIcBGlidVmrOLmML8wVQml7qjg%3D&reserved=0 this issue is similar to the one solved by this commit 0693782https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fprofessional-services-data-validator%2Fcommit%2F069378271fdab08af8bfe984590b63a45c199bbb&data=05|01|Batrachenko.Nataliya%40mayo.edu|3eb14423e7704326479c08db2403fc44|a25fff9c3f634fb29a8ad9bdd0321f9a|0|0|638143371767890810|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Hc2v%2FXylVcVVC8ydvLrEbLRLFIghXceegnxE39cLynM%3D&reserved=0, do you know what line could be added to support DB2?

Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fprofessional-services-data-validator%2Fissues%2F760%23issuecomment-1466931193&data=05|01|Batrachenko.Nataliya%40mayo.edu|3eb14423e7704326479c08db2403fc44|a25fff9c3f634fb29a8ad9bdd0321f9a|0|0|638143371767890810|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Acon56YixWY%2Bckbuj%2FbIb88%2Fieyv271qshZ%2FaTpmvDc%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA6LS27AN7U742DZUEF5GEQDW36BQZANCNFSM6AAAAAAVUG7HFA&data=05|01|Batrachenko.Nataliya%40mayo.edu|3eb14423e7704326479c08db2403fc44|a25fff9c3f634fb29a8ad9bdd0321f9a|0|0|638143371767890810|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=pt2G2dDOGjZoYxFLpOjyVZXvJptNyQjPSAE%2BFXMAlzg%3D&reserved=0.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

@nehanene15 this issue is similar to the one solved by this commit 0693782, do you know what line could be added to support DB2?

Yeah, we can add the same line to ibis_addon/operations.py to add this functionality... something like this:
DB2ExprTranslator_registry[RawSQL] = sa_format_raw_sql

Hope this works. I am new to this tool...

@vc49as I'll add this line to our code in a new branch and notify you in this thread when I finish  so you can test it afterwards!

Thanks much!
From: Helen Cristina @.>
Sent: Monday, March 13, 2023 4:13 PM
To: GoogleCloudPlatform/professional-services-data-validator @.>
Cc: Batrachenko, Nataliya V. @.>; Mention @.>
Subject: [EXTERNAL] Re: [GoogleCloudPlatform/professional-services-data-validator] --filters feature not working on DB2 No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'> (Issue #760)
Hope this works. I am new to this tool...
@vc49ashttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvc49as&data=05|01|Batrachenko.Nataliya%40mayo.edu|fd41d963b04842e41b6308db2407adcd|a25fff9c3f634fb29a8ad9bdd0321f9a|0|0|638143387639113310|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=gIdlKr7VLK2g0e6oO2R%2BPnBOz0b7zq6CrYN%2BwdL99TQ%3D&reserved=0 I'll add this line to our code in a new branch and notify you in this thread when I finish so you can test it afterwards!

Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FGoogleCloudPlatform%2Fprofessional-services-data-validator%2Fissues%2F760%23issuecomment-1466963916&data=05|01|Batrachenko.Nataliya%40mayo.edu|fd41d963b04842e41b6308db2407adcd|a25fff9c3f634fb29a8ad9bdd0321f9a|0|0|638143387639113310|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=UZAKtLTzHR4I07M7MaF7PrWq126sFB%2B8iMZN2HWs2%2Fw%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA6LS27CJCI4S26YG6XJLG7DW36EUJANCNFSM6AAAAAAVUG7HFA&data=05|01|Batrachenko.Nataliya%40mayo.edu|fd41d963b04842e41b6308db2407adcd|a25fff9c3f634fb29a8ad9bdd0321f9a|0|0|638143387639113310|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=BQe%2F4T7UNz%2F%2BJW%2FtPw04cILq74wK94k9RuDs6qrb2ck%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@vc49as Done! You can see the changes at #770, please check out to the specified branch  issue760-db2-no-translation-rawsql and install this version locally using pip install . . After that, please execute the same command you tried initially on this thread.
Let us know if it works, thanks!

Hi @vc49as! Have you been able to test the fix? If not, could you please try to do it within a week? Otherwise I'll consider the problem as fixed, merge the PR and close the issue. Thank you!

No problem Nataliya, thanks for the quick response! I'll be waiting for your feedback on the test then!

Hello Helen, I have finally been able to install DVT from this branch issue760-db2-no-translation-rawsqlhttps://github.com/GoogleCloudPlatform/professional-services-data-validator/tree/issue760-db2-no-translation-rawsql and test. Did not see any change in behavior. Still getting the same error message 'No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'>' Thanks, Nataliya

Hi @vc49as, thank you for testing it! I see it, we need to review the fix then. Is it possible for your to share the validation command/SQL query you are trying to execute? Please be sure to remove any private information on it. This way we can be more assertive to work on this bug by simulating your use case!

data-validation validate row -sc db2_conn_test -tc bq_conn_stage -pk RECORD_ID -rr -rbs 3000 --filters "RECORD_ID<1000000" -comp-fields PATIENT_CLINIC_NUMBER,PROJECT_ID,DOC_TYPE -tbls cdr_nlp.annotation=ml-mps-adl-nlp-ingest-s-d6bd.phi_clinical_nlp_us_s.annotation_mv

also created partitioning config files by RECORD_ID and ran this: data-validation configs run -c 'partitions_dir/cdr_nlp.annotation/0000.yaml'

Both commands failed with the same Exception: ibis.common.exceptions.OperationNotDefinedError: No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'>
Thanks,
Nataliya
From: Helen Cristina @.>
Sent: Thursday, May 4, 2023 10:28 AM
To: GoogleCloudPlatform/professional-services-data-validator @.>
Cc: Batrachenko, Nataliya V. @.>; Mention @.>
Subject: [EXTERNAL] Re: [GoogleCloudPlatform/professional-services-data-validator] --filters feature not working on DB2 No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'> (Issue #760)
Hello Helen, I have finally been able to install DVT from this branch issue760-db2-no-translation-rawsqlhttps://github.com/GoogleCloudPlatform/professional-services-data-validator/tree/issue760-db2-no-translation-rawsql and test. Did not see any change in behavior. Still getting the same error message 'No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'>' Thanks, Nataliya
Hi @vc49ashttps://github.com/vc49as, thank you for testing it! I see it, we need to review the fix then. Is it possible for your to share the validation command/SQL query you are trying to execute? Please be sure to remove any private information on it. This way we can be more assertive to work on this bug by simulating your use case!

Reply to this email directly, view it on GitHubhttps://github.com/GoogleCloudPlatform/professional-services-data-validator/issues/760#issuecomment-1534983676, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6LS27FSLFZSWGO27SFCK5LXEPDIHANCNFSM6AAAAAAVUG7HFA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Main changes have already been implemented by https://github.com/GoogleCloudPlatform/professional-services-data-validator/pull/894, ToChar not required at the moment.
Please, test your operation with the updated develop branch and if you find any problems, you can re-open this issue, thank you!

Hello,
Unfortunately, I am skipping the testing. The project this fix was needed for has been completed, and I cannot spend time on this.
Thank you for the effort anyway!
Nataliya
From: Helen Cristina @.>
Sent: Tuesday, July 18, 2023 2:27 PM
To: GoogleCloudPlatform/professional-services-data-validator @.>
Cc: Batrachenko, Nataliya V. @.>; Mention @.>
Subject: [EXTERNAL] Re: [GoogleCloudPlatform/professional-services-data-validator] --filters feature not working on DB2 No translation rule for <class 'third_party.ibis.ibis_addon.operations.RawSQL'> (Issue #760)
Main changes have already been implemented by #894https://github.com/GoogleCloudPlatform/professional-services-data-validator/pull/894, ToChar not required at the moment.
Please, test your operation with the updated develop branch and if you find any problems, you can re-open this issue, thank you!

Reply to this email directly, view it on GitHubhttps://github.com/GoogleCloudPlatform/professional-services-data-validator/issues/760#issuecomment-1640873500, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6LS27AK35CULXS27VSPTC3XQ3PPJANCNFSM6AAAAAAVUG7HFA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

No problem @vc49as, thanks a lot for your collaboration with us!


Unable to deploy on Netlify with latest packages

Description
I created a test Repo to report the problem. I am not sure whether this is dependant on next-intl or Netlify but I believe the new middleware created here certainly plays a role in this issue.
When I run this repo locally with netlify dev all looks fine until I upgrade @netlify/plugin-nextjs to "4.36.1", at which point as soon as I run netlify dev I start getting an error "middleware is not a function" with the following stack trace
TypeError: middleware is not a function
    at handler (file:///PATH/TO/REPO/repo/sites/next-netlify-test/.netlify/edge-functions/next-dev/index.js:78:28)
    at async FunctionChain.runFunction (https://64523ab4e7865600087fc3df--edge.netlify.app/bootstrap/function_chain.ts:390:22)
    at async FunctionChain.run (https://64523ab4e7865600087fc3df--edge.netlify.app/bootstrap/function_chain.ts:310:20)
    at async handleRequest (https://64523ab4e7865600087fc3df--edge.netlify.app/bootstrap/handler.ts:80:22)
    at async Server.#respond (https://deno.land/std@0.170.0/http/server.ts:299:18)

If I downgrade it seems to work just fine. As I said above I am not sure where the problem lies here, but I thought it may be useful to report it here for your awareness as I believe there may be quite a few people using this library and deploying their app on Netlify. If you want to test this out you can fork my repo and test it locally, following the README.
If you need anything else from me, please let me know.
Mandatory reproduction URL (CodeSandbox or GitHub repository)
https://github.com/KrustyC/next-netlify-test
Reproduction description
Steps to reproduce:
.1 Install the modules
2. Run npm i @netlify/plugin-nextjs@latest next@latest
3. Run netlify dev
4. Access http://localhost:8888 on your browser
Expected behaviour
The page should load and the website should not break.

Hey @KrustyC, thanks for adding this report!
I haven't used Netlify for deployment yet and haven't seen this error so far. As far as I understand, the latest @netlify/plugin-nextjs version leads to the issue, with no changes to next-intl—right? That sounds like it might be a bug on the Netlify side then.
I saw you also added a bug report in the Netlify repo: https://github.com/netlify/next-runtime/issues/2106. I'll follow along there in case I can provide help from the next-intl side!

@amannn Brilliant! Thanks for the reply! Indeed this happens without any change to next-intl, the only reason I reported it here is that I am not sure if the middleware of next-intl could have anything to do with this issue they say in their limitations here.
I will of course keep following the issue I opened and test any new development as soon as possible, hoping to be helpful somehow

Sounds good! 🙌
I just checked the Netlify limitations:

Due to how the site configuration is handled when it's run using Netlify Edge Functions, data such as locale and defaultLocale will be missing on the req.nextUrl object when running netlify dev.
However, this data is available on req.nextUrl in a production environment.

This should not affect routing with the App Router, next-intl doesn't rely on the mentioned properties on nextUrl.

Netlify employee here 👋
We get the middleware from a named export here: https://github.com/netlify/next-runtime/blob/e1a1b5d779d1049007fc54143fd48f663156c38d/packages/runtime/src/templates/edge/next-dev.js#L39
We rely on this because the official Next.js docs tell users to use a named export:

https://nextjs.org/docs/app/building-your-application/routing/middleware
https://nextjs.org/docs/pages/building-your-application/routing/middleware

However, the next-intl docs tell users to use a default export: https://next-intl-docs.vercel.app/docs/next-13/middleware
@amannn This seems incorrect?

Hey @LekoArts, thanks for chiming in!

We rely on this because the official Next.js docs tell users to use a named export:

That's interesting, I never noticed this. It seems like the Next.js docs are a bit inconsistent here, in the advanced section they demonstrate a default export.
Auth.js is the most popular middleware for Next.js as far as I know and they use a default export as well in their docs (also in their advanced docs). What they do though, is they export the middleware additionally as a named export.
Seems a bit unfortunate that there's no clear API here from Next.js.
I think I'll add a named property to the middleware, so it works by default in the current Netlify runtime. Maybe you still want to consider a default export, since this seems to be popular?

@KrustyC I've just published 2.14.3-alpha.1 (non-RSC version) which should fix this. Can you maybe confirm that it does? I'll also publish an RSC beta on top of that afterward, once this is in main.

Thanks for collecting that information!

The Middleware "pages/src/middleware" must export a middleware or a default function

I don't like it but if that's how things are then I'll also add code to our handling to handle both default and named export

@amannn I tried to test your fix by installing version  2.14.3-alpha.1 but as soon as I ran netlify dev I started getting the following issue
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './plugin' is not defined by "exports" in /Users/davidecrestini/repo/sites/thescrapbookers.blog/node_modules/next-intl/package.json
    at new NodeError (node:internal/errors:393:5)
    at throwExportsNotFound (node:internal/modules/esm/resolve:358:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:668:3)
    at resolveExports (node:internal/modules/cjs/loader:529:36)
    at Module._findPath (node:internal/modules/cjs/loader:569:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:981:27)
    at mod._resolveFilename (/Users/davidecrestini/repo/sites/thescrapbookers.blog/node_modules/next/dist/build/webpack/require-hook.js:23:32)
    at Module._load (node:internal/modules/cjs/loader:841:27)
    at Module.require (node:internal/modules/cjs/loader:1061:19)
    at require (node:internal/modules/cjs/helpers:103:18) {
  type: 'Error',
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

I then upgraded back to 2.15.0-beta.3 and the error disappeared, although I am of course still getting the missing middleware function issue

Yes, as mentioned it's a non-RSC version that's based on the latest stable release. So for your demo you'd either have to disable/remove the RSC features, or use an example like example-next-13 from the main branch which doesn't use RSC features yet.
I don't have experience with deploying to Netlify, that's why I hoped you could help to confirm the fix!

I see, I can try to modify my repo to avoid the usage of RSC and make sure it all works 😉

@amannn I tried to get rid of RSC components and implement a repo similar to the one you suggest, but unfortunately when I run netlify dev I keep on getting the middleware issue.
If you want to reproduce it on your local, I think you should be able to give it a go using this repo: https://github.com/KrustyC/next-netlify-test
All you have to do is to run:

npm i -g netlify-cli
pull the repo, run npm install and netlify dev

I even tried different version of Next going down to 13.3.0, or using 13.4.2 and both give me the same error.

@amannn I tried to get rid of RSC components and implement a repo similar to the one you suggest, but unfortunately when I run netlify dev I keep on getting the middleware issue.
If you want to reproduce it on your local, I think you should be able to give it a go using this repo: https://github.com/KrustyC/next-netlify-test
All you have to do is to run:

npm i -g netlify-cli
pull the repo, run npm install and netlify dev

I even tried different versions of Next going down to 13.3.0, or using 13.4.2 and both give me the same error.

I have also tried to push to Netlify and although I had to make a couple of updates (like updating to Node 18), when I build the project I keep on getting
TypeError: e.createContext is not a function
4:01:58 PM:     at 5076 (/opt/build/repo/.next/server/chunks/426.js:22382:11)
4:01:58 PM:     at __webpack_require__ (/opt/build/repo/.next/server/webpack-runtime.js:25:42)
4:01:58 PM:     at 1799 (/opt/build/repo/.next/server/chunks/426.js:16326:35)
4:01:58 PM:     at __webpack_require__ (/opt/build/repo/.next/server/webpack-runtime.js:25:42)
4:01:58 PM:     at 3130 (/opt/build/repo/.next/server/chunks/637.js:44:72)
4:01:58 PM:     at __webpack_require__ (/opt/build/repo/.next/server/webpack-runtime.js:25:42)
4:01:58 PM:     at 935 (/opt/build/repo/.next/server/app/[locale]/about-us/page.js:554:75)
4:01:58 PM:     at Function.__webpack_require__ (/opt/build/repo/.next/server/webpack-runtime.js:25:42)
4:01:58 PM:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
4:01:58 PM:     at async collectGenerateParams (/opt/build/repo/node_modules/next/dist/build/utils.js:822:17)
4:01:58 PM: > Build error occurred

Which i never got before

@KrustyC I'm currently trying to run your example and I think there are a few more issues. I'll keep you posted!

Ok, thanks! Just FYI I realized that I pushed an incomplete version, so if you have not yet made any modification, it may be worth pulling the latest version 😉

Ok, so in regard to the original topic: It seems like we can't fix this in the next-intl middleware, because a property that we add doesn't end up in the netlify runtime.
If I add logging for the middleware import in the netlify runtime, I see that everything is hidden behind the default property:
[next-dev] [Module: null prototype] {
  config: { matcher: [ "/((?!api|_next|.*\\..*).*)" ] },
  default: <ref *1> [Function: middleware] { middleware: [Circular *1] }
}

So currently, this can only be fixed in userland by adapting your middleware.ts as follows:
import createMiddleware from "next-intl/middleware";

export const middleware = createMiddleware({
  locales: ["en", "it"],
  defaultLocale: "en",
});

Is this a known issue for middlewares like Auth.js too since they suggest a default export? So getting the middleware handling in Netlify in line with Next.js (handling both a default as well as a named export) is probably the right call here.
What worries me much more is that the matcher seems to be ignored by Netlify.
@KrustyC has configured it to ignore all static assets and only run on content routes: /((?!icons|_next/static|_next/image|sitemap.xml|favicon.ico).*).
However when running netlify dev locally, I see that static assets are passed to the middleware nontheless, where the next-intl middleware creates invalid rewrites.

Example URL: /_next/static/media/376dd8dc38524313-s.p.woff2
Typically we recommend to ignore all pathnames that are static, from the api folder or have an extension ('/((?!api|_next|.*\\..*).*)').
This doesn't work either and all requests are passed to the middleware. I also tried a simple matcher like ['/', '/it', '/en'], but this doesn't work either.
Is this the case for you too @KrustyC or am I doing something wrong?
On top of this, the netlify runtime changes the Next.js server code in node_modules to break the app, even when running the Next.js dev server without netlify:
Patching /Users/jan/Projects/forks/next-netlify-test/node_modules/next/dist/server/base-server.js
Done
Patching /Users/jan/Projects/forks/next-netlify-test/node_modules/next/dist/server/next-server.js
Done

Therefore if you run the app via npm run dev afterward, you can't access the app at http://localhost:3000/ anymore, where a rewrite to /en should be returned.
@KrustyC In regard to the bug with context you were seeing, this is because you were missing 'use client' in many files. But if the Netlify issues are resolved, you should be able to continue using the RSC beta, so you don't need to refactor this.
For a reproduction, you can:

Check out https://github.com/amannn/next-netlify-test (contains a middleware fix as well as the conversion to client components)
npm install
Run npm run dev
The app works correctly, e.g. try to access /
npm i -g netlify-cli
netlify dev
The issues mentioned above appear
Run npm run dev again
The app is no longer accessible on /

I'm not sure if I'm doing something entirely wrong, but the netlify runtime seems quite unreliable to me here.

@amannn thanks for taking the time to look into this!
With regard to the matcher I have never met such an issue before, and I am actually pretty sure it works fine on Netlify because yesterday I noticed that once I deployed my repo to Netlify and enabled Edge Functions, it was not processing images, as all images URL where prefixed by a /_ipx which I initially did not put into the matcher. As soon as I added such a path to my matcher it started working just fine.
I tried your repo and to me, it looks as if it is properly configured for Netlify, so I am really not sure why matcher does not seem to work properly. As I said when I use the exact same matcher with this repo everything works just fine and static assets are not passed to the next-intl middleware, although I can not run such repo locally at the moment, due to the middleware issue, but it works fine when deployed on Netlify at https://thescrapbookers.blog

Ok thanks, must be an issue on my end then.
Were you able to resolve your bug with the adapted middleware code mentioned above? If so, I'd close this issue.

After responding here I went on and tried your solution into my own repo and I found that actually once I change my middleware code to
const intlMiddleware = createMiddleware({
  locales: ["en", "it"],
  defaultLocale: "en",
});

export function middleware(req: NextRequest) {
  console.log("middleware processing " + req.nextUrl.href);
  return intlMiddleware(req);
}

I immediately start to get the same issues as you do with the middleware being executed on every path, even those that are meant to be excluded. @LekoArts could this be a potential issue with the way Netlify deals with the middleware?

You can btw. work around the Netlify issue by manually matching your pathname in the middleware:
import createMiddleware from "next-intl/middleware";
import { NextRequest } from "next/server";

const intlMiddleware = createMiddleware({
  locales: ["en", "it"],
  defaultLocale: "en",
});

export function middleware(req: NextRequest) {
  if (new RegExp(config.matcher[0]).test(req.nextUrl.href)) {
    return intlMiddleware(req);
  }
}

export const config = {
  // Skip all paths that should not be internationalized
  matcher: ['/((?!api|_next|.*\\..*).*)']
};

I'll close this issue, since I think next-intl can't really do something here.

I have found a potential workaround which seems to work atm, although it is no ideal, but I am essentially doing the check from the matcher within the custom middleware, so my file looks as follow
import createMiddleware from "next-intl/middleware";
import { NextRequest, NextResponse } from "next/server";

// export default createMiddleware({
//   locales: ["en", "it"],

//   // If this locale is matched, pathnames work without a prefix (e.g. `/about`)
//   defaultLocale: "en",
// });

const intlMiddleware = createMiddleware({
  locales: ["en", "it"],
  defaultLocale: "en",
});

const SKIP_PREFIXES = [
  "/_next",
  "/api",
  "/en/api",
  "/it/api",
  "/favicon.ico",
  "/robots.txt",
  "/_ipx",
  "/__nextjs",
  "/icons",
];

export function middleware(req: NextRequest) {
  if (SKIP_PREFIXES.some((prefix) => req.nextUrl.pathname.startsWith(prefix))) {
    return NextResponse.next();
  }

  console.log("middleware processing " + req.nextUrl.href);
  return intlMiddleware(req);
}

export default intlMiddleware;

export const config = {
  // Skip all paths that should not be internationalized
  matcher:
    "/((?!icons|_next/static|_next/image|sitemap.xml|robots.txt|_ipx|favicon.ico|api|en/api|it/api).*)",
};

This works on my local (although only one of my two fonts seems to be properly loading), but it is definitely not ideal

oh I just seen your response 😅 so I guess we basically got to the same solution although with a slightly different code. ANyway I believe it is ok to close the issue


Add multi-db routing

These changes introduce the following:

The removal of the whitenoise library as it's not being actively used by anything in our codebase.
The implementation of a custom Django Database Router for weighted load balancing of read operations.
The application of said router to staging and production.

Actually should probably hold off on this as prod isn't deployed to production yet...

@RedHatProductSecurity/osidb-devs if you could re-review, I have decided to have our own database router as:

It's quite straightforward to implement
Gives us more power in the way that we do load balancing
Makes for one less dependency (previously the plan was to use django-multidb-router which is pretty unmaintained)

As https://github.com/RedHatProductSecurity/osidb/pull/351 brings a new GH action check which checks for schema with osidb-bindings compatibility, make sure you rebase this PR on top of the master branch so mentioned GH action may be triggered if this PR makes changes to openapi.yml.

what is the status of this PR ?

what is the status of this PR ?

Good question. It seems that the code is already well accepted but was never rebased. I hope that nothing changed in a way that it would not be applicable or compatible any more as it is already quite some time waiting here but I think that nothing else in this regard has changed.

@osoukup I will review this week

due to rebasing fun - closing this and reraising PR here https://github.com/RedHatProductSecurity/osidb/pull/492


Bump thiserror

Motivation
Explorer tests have been failing in all PRs
Proposal
Seems to be related to thiserror, updating the version seems to fix it.
Test Plan
Explorer test should be green in CI now
Release Plan

Nothing to do / These changes follow the usual release cycle.

Links
Fixes #2686

Merge activity

Oct 22, 5:32 PM EDT: A user started a stack merge that includes this pull request via Graphite.


Deleted files and references

closes #322
Deleted DriveTrajectory.cpp / .h, DragonTrajectoryGenerator.cpp / .h, Waypoint2d.h, WaypointXmlParser.cpp /.h, Point2d.cpp / .h.
Removed references in ChassisOptionEnums.h, SwerveChassis.cpp.

Build failed
Not all of the files listed were deleted and the references also need updates


SSL Timeout exception when upgrading netty from 4.1.74.Final to 4.1.75.Final

I am not sure if this is an issue or not, didn't figure it out yet, so I apologise in advance if is not :).
Using finagle 22.12.0, I am trying to create an HTTP server as follows:
val sslConfiguration = SslServerConfiguration(
  keyCredentials = serverKeyCredentials,
  clientAuth = ClientAuth.Wanted,
  trustCredentials = TrustCredentials.Insecure
)

val coreServer = Http.server
  .withTransport
  .tls(sslConfiguration)
  ...

With netty 4.1.74.Final I have the following log messages:
{"timestamp":"2023-01-04T10:26:34.029Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"Failed to initialize netty-tcnative; OpenSslEngine will be unavailable. See https://netty.io/wiki/forked-tomcat-native.html for more information."} {"timestamp":"2023-01-04T10:04:45.983Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"netty-tcnative using native library: BoringSSL"} {"timestamp":"2023-01-04T10:26:34.17Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.JdkSslContext","rawMessage":"Default protocols (JDK): [TLSv1.2, TLSv1.1, TLSv1] "} {"timestamp":"2023-01-04T10:04:46.089Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"KeyManagerFactory not supported."} {"timestamp":"2023-01-04T10:26:34.17Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.JdkSslContext","rawMessage":"Default cipher suites (JDK): [TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA]"}
With netty 4.1.75.Final I have the following log messages:
{"timestamp":"2023-01-04T10:04:45.983Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.util.internal.NativeLibraryLoader","rawMessage":"Loaded library with name 'netty_tcnative_osx_x86_64'"} {"timestamp":"2023-01-04T10:26:34.028Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"Initialize netty-tcnative using engine: 'default'"} {"timestamp":"2023-01-04T10:04:45.983Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"Initialize netty-tcnative using engine: 'default'"} {"timestamp":"2023-01-04T10:26:34.029Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"Failed to initialize netty-tcnative; OpenSslEngine will be unavailable. See https://netty.io/wiki/forked-tomcat-native.html for more information."} {"timestamp":"2023-01-04T10:04:45.983Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"netty-tcnative using native library: BoringSSL"} {"timestamp":"2023-01-04T10:26:34.17Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.JdkSslContext","rawMessage":"Default protocols (JDK): [TLSv1.2, TLSv1.1, TLSv1] "} {"timestamp":"2023-01-04T10:04:46.089Z","thread":"finagle/netty4-2-1","level":"DEBUG","logger":"io.netty.handler.ssl.OpenSsl","rawMessage":"KeyManagerFactory not supported."}
I have the following java version: openjdk version "1.8.0_345"
OS Version: Debian 12
If I explicitly disable OpenSsl using "-Dio.netty.handler.ssl.noOpenSsl=true", everything works with netty 4.1.75+ as well. Can I carry on with disabling openssl, or this is not recommended?
Any idea what changed between 4.1.74 and 4.1.75+ that could have caused this? As from version 4.1.75+, without noOpenSsl=true, SSL connections to an HTTP server created as described above returns timeout exception.
Thanks.

it was in the end some wrong dependency management on my side.


add typedarray routine: reduce and reduceRight

JerryScript-DCO-1.0-Signed-off-by: Zidong Jiang<EMAIL_ADDRESS>

./jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.c:395: error: there should be exactly one space after right parentheses
./jerry-core/ecma/builtin-objects/typedarray/ecma-builtin-typedarray-prototype.c:447: error: there should be no blank characters after opening parentheses

@zherczeg I removed the flags to check inside/before the while loop. I still retained the ECMA_TRY_CATCH. About the question about "removing ECMA_TRY_CATCH and ecma_copy_value", could you please explain in more details.


WIP - Twilio Lookup to Validation Phone Numbers

Fixes #1680
This code adds a service wrapper around the Twilio Rest API client. It uses the Lookup service to validate phone number formats and types.
It also ensures we save the correct E.164 formatted number to ensure our SMS response code can find matching requests.
Includes a faked version of the service for dev use - doesn't require Twilio account.
Currently a WIP for initial feedback and discussion. Needs to be implemented for CSV and manual request creation + unit testing and general checking through. Also needs some code to convert Country strings to ISO format country codes.
Tested against the live Twilio service using a real number and it worked as expected.

@stevejgordon I'm going to pull this locally tonight or tomorrow and take a look. I'll get back to you. Thanks!

@stevejgordon, the code looks solid, thanks for figuring all this Twilio stuff out. A couple questions:

do you need me to take care of updating the CSV request import and UI request creation with your Twilio functionality?
do you know if there is a request limit on this Twilio API (for example, Twilio only supports "x" amount of API invocations for a given IP address over a time period of "y") where we would need to worry about throttling the amount of api invocations for csv and api request imports?
Do you think that the Request model/entity should be updated to include more than one phone number field? For one Request, depending on the integration, we might be given both a landline and a mobile number for example. In the future, I know we want the request confirm process to be robust where we fallback to different communication types if one type "fails" or we might not have the data on the incoming request to try different types (for example, if we're not getting a landline, we can't fall back to a phone call via an IVR system)

wondering what your thoughts were.
Thanks!

Thanks @mgmccarthy for the review. On the basis of your thumbs up I'll look to get this rebased and a few tests added so that I can take this out of WIP.
Answers to your questions

That would be great. I'll leave that to you once this is finalised and merged in if that's okay. I can create an issue to cover that work.
I wasn't able to find any rate limits listed for the lookup API. The docs were a little slim, or I was looking in the wrong place.
It's possible we'll need a landline, but I guess until we have functionality around it / a new organization which needs it for integration it's a case of YAGNI. @tonysurma - Any requirements for this in the near future do you think?

For two, you are good, we are charged per call so they are okay with all but crazy levels of calls.
For three, stay as is and keep simple, new requirements can come later, if they do at all for that.

Thanks @tonysurma - I'll get this finalised for inclusion ASAP

Actually, I found this info:

Twilio's Lookup API currently only handles a single request per phone number. If you have a batch of several phone numbers you would like to lookup, we recommend that you make multiple requests to Twilio's API. Please keep in mind that each Twilio account may only make 100 concurrent API requests per second.

So on CSV we need to be wary of it. Otherwise I think we're okay.

@stevejgordon ah interesting, they have a slightly different plan for the lookup API then.  Agree only on CSV and then that is still pretty high so just need to watch for batches greater than 100 calls.  Thanks for researching.

@tonysurma no problem. The easiest option might be to wrap the code with Polly; a retry framework and then if we get any failed responses from the endpoint we can try again after a short delay. Covers us for short outages also.

@tonysurma

or two, you are good, we are charged per call so they are okay with all but crazy levels of calls.

any example of "crazy level of calls" is something imports a CSV of request with tens of thousands of rows... we don't throttle nor offload asynchronously any of this work, it's API invocation for each request in a for loop.

@mgmccarthy I've refactored slightly for testing and added the tests. I think this is good to go for now. Can open a new issue to consider CSV import rate limiting.
@tonysurma If Mike's happy then this is ready to merge. Removed the WIP title.

@stevejgordon @tonysurma I'll see if there is a way to "throttle" the processing of CSV imports for Requests when I plug the ValidatePhoneNumberRequest into the CSV code.

@mgmccarthy Was thinking the same thing!

@stevejgordon @mgmccarthy - good to merge?

@tonysurma yep


Add withdrawn and fix time serialization to conform to the schema.

withdrawn timestamp does not exist in the model - add it to the model.
fix the timestamp serialization to ensure published and withdrawn are only present when the value is not zero
fix timestamp serialization to use RFC3339 for JSON (it uses RFC3339Nano by default)
fix the timestamps to be normalized to UTC as per the schema

Note this will conflict with #423

Note this will conflict with #423

Thanks! Fixed :)


{"error":"Unauthorized"} when trying to access the HTTP API

When i try to access some of the endpoints described here https://github.com/tlaverdure/laravel-echo-server#http-api i get error: {"error":"Unauthorized"}. I'm using the app id and the key as auth_key parameter like so:
{
	"authHost": "http://laravel5.test",
	"authEndpoint": "/broadcasting/auth",
	"clients": [
		{
			"appId": "4e8ab2c4f7f32951",
			"key": "0e08c64a779309b7afcc17a2d8b9268d"
		}
	]
.....
}

then i make GET request to: http://laravel5.test:6001/apps/4e8ab2c4f7f32951/status?auth_key=0e08c64a779309b7afcc17a2d8b9268d and still doesn't work. where is my problem ? The documentation is soo bad ;/ there is no how to use just some flying examples.

Hello,
your authHost is laravel5.test which means the api http call should be coming from that host,
maybe you're trying to access it from your browser, if so change authHost to localhost

thanks togomori2014. it work for me.


lexicographically sortable encoding/decoging

Hi, thanks for the lib first of all!
I have a question / feature request: Is there a way I can get lexicographically sortable representation of the struct with bincode?  And if not, would you be interested in such function? I might try to implement it, if it fits in the idea of the bincode.
Motivation: One might need it, for example, for composite keys in rocksdb, meaning that the struct is used as a key and encoded byte sequences should have the same ordering as original objects.
Trait that claims to do what is needed although I have not tested it yet: https://github.com/danburkert/bytekey

I think I misread the docs and applied the settings incorrectly, call that worked for me looks like this:
bincode::DefaultOptions::new()
    .with_big_endian()
    .with_fixint_encoding()
    .serialize(&thing_to_serialize)


Add the Table of Contents to the subsections to Part 11 in Lessons

Table of contents must be added with appropriate links which connect to the correct subsections in the lesson.

Hi, can I be assigned to this?

Yes, you can.

Ok, thank you, will start working on it!


Raspberry Pi Zero W missing from the list of the devices when "Adding  new..."

When someone wants to add a new device, to an application, in my case Raspberry Pi Zero W, it is missing from Device list. There are Raspberry Pi 2 and 3 available but Zero W is missing from the list.
Despite this, there is an Balena OS available for download (an image) for Raspberry Pi Zero but no instruction how to add flashed with it device to an application.

Hi
It would be really great if you could add the Pi Zero W to the device list.
If not, can you please give instructions on how enable Wifi and how to add the flashed device to an existing application.
Thank you.

There are Raspberry Pi 2 and 3 available but Zero W is missing from the list.

This is just a random guess, but did you create a armv7hf application instead of a rpi application?
https://www.balena.io/docs/reference/base-images/devicetypes/

Hi, Thanks for the reply. No, I was looking to add a Pi Zero W device but it is not on the list. Can add a device as Pi 2 or Pi 3 and still use my Pi Zero? Will that work? Otherwise, I suspect that the best thing to do is to download the Balena OS for Pi Zero and then edit the wifi settings, right?
Sorry, I am very new to all of this.
thank you.

Thank. So how do I add a Pi Zero W device if it is not on the device list?

Solved it. I just needed to create another application ad the Pi Zero was listed. It was not in the previous list since my default application was set up for a Pi 3.
Thank you for all your help!


Require users to confirm understanding before joining an organization

Overview

When a user has not joined an organization and they click on "Join Organization" on that organization's page, there is a confirmation modal that displays text and asks them to confirm joining the organization
When a user has not joined an organization and they click on any "Use this template" button on that organization's page, there is a confirmation modal that displays text and asks them to confirm joining the organization.
The user cannot start a template map for an organization without joining

Checklist

[ x ] Description of PR is in an appropriate section of CHANGELOG.md and grouped with similar changes, if possible

Demo

Notes
Does it make sense to possibly disable the 'Use Template' button and have a tooltip text indicating that the user must join and organization first? Like we did in #591
Testing Instructions

Navigate to an organization page and attempt to join
Expected: JoinOrganization modal should open. If you are logged in, there will be a confirmation dialog asking you to confirm your understanding of how organizations work

Closes #587

Does it make sense to possibly disable the 'Use Template' button and have a tooltip text indicating that the user must join and organization first? Like we did in #591

Would this be a better approach than the current one that makes the modal appear?

Does it make sense to possibly disable the 'Use Template' button and have a tooltip text indicating that the user must join and organization first? Like we did in #591

Would this be a better approach than the current one that makes the modal appear?

My thought is probably yes, since it doesn't seem wholly intuitive that a button titled 'Use Template' would trigger a modal to join an organization. @jfrankl , what do you think about this?

Does it make sense to possibly disable the 'Use Template' button and have a tooltip text indicating that the user must join and organization first? Like we did in #591

Would this be a better approach than the current one that makes the modal appear?

My thought is probably yes, since it doesn't seem wholly intuitive that a button titled 'Use Template' would trigger a modal to join an organization. @jfrankl , what do you think about this?

I'd like to stick with the proposed design, which invites the user to sign up for DistrictBuilder when they try to "Use the template". Clicking on a button in an application and having that trigger sign up is a common pattern, and I suspect users will understand what is going on. By jumping straight to the sign up, we are saving them from needing to think "okay, I need to join ... how do I do that?" and clicking a second button.


RNIap.getProducts returns E_UNKNOWN (v2.x.x)

Version of react-native-iap
2.4.1 & 2.5.5 (tried both)
Version of react-native
0.59.8
Platforms you faced the error (IOS or Android or both?)
Android (so far)
Expected behavior
getProducts() works
Actual behavior
An unknown or unexpected error has occured. Please try again later.
Tested environment (Emulator? Real Device?)
Both emulator and real device
Steps to reproduce the behavior
This has been working in production for months, but recently I've upgraded react (16.5.0 to 16.8.3) and react native (0.57.0 to 0.59.8).
Other relevant changes:
I followed this migration recipie: https://docs.expo.io/versions/v33.0.0/expokit/expokit/#upgrading-expokit
android/app/build.gradle

android.compileSdkVersion 27 => 28
added: android.compileOptions {       sourceCompatibility JavaVersion.VERSION_1_8       targetCompatibility JavaVersion.VERSION_1_8   }

I think I figured it out.
I guess during the upgrade I inadvertently switched:
compile project(':react-native-iap') to implementation project(':react-native-iap') in my build.gradle. Switching this back seemed to do the trick!
Hopefully this helps someone else :)

Hmmm. Actually now I am getting this error on android devices but not in android emulators (using the same .apk)

@gerbus Since version below 3.1 isn't properly supporting androidx which is configured in react-native >0.59, there might be a problem. Try to use our module below react-native 0.59 when you are using 2.x. Or, upgrade our module to the recent one.

I'm using ExpoKit SDK 33, which doesn't use androidx: (reference)

In Expo, we haven't done the migration yet. Upcoming SDK34 will use RN 0.59 and regular Android Support Libraries. We plan to migrate our codebase to AndroidX for SDK35 or SDK36. Until then it may be difficult to mix AndroidX-migrated projects with ExpoKit projects.

So I think actually I should stay on<EMAIL_ADDRESS>

I have the same problem for version 2.5.5
React Native - 0.59.10
React - 16.8.3
compileSdkVersion - 28
getProductsWorker error:  Error: An unknown or unexpected error has occured. Please try again later.
    at createErrorFromErrorData (NativeModules.js:155)
    at NativeModules.js:104
    at MessageQueue.__invokeCallback (MessageQueue.js:414)
    at MessageQueue.js:127
    at MessageQueue.__guard (MessageQueue.js:314)
    at MessageQueue.invokeCallbackAndReturnFlushedQueue (MessageQueue.js:126)
    at RNDebuggerWorker.js:2

I have the same issue on old android real device (release and debug on Android 6.0.1).
android phone SDK = ro.build.version.sdk=23
gradle file:
compileSdkVersion = 28

versions:
"react": "16.9.0",
"react-native": "0.61.1",
"react-native-iap": "^3.3.6",

RNIAP error [Error: An unknown or unexpected error has occured. Please try again later.]

Turns out this was caused by being logged into multiple google accounts on my device. I've run into similar problems before with Google Play. Cleared it up by removing all Google accounts from my device, clearing Google Play's data/cache, and then logging in with only one Google account.

@gerbus hah, thanks for this hint! I have a few google accounts on my phone too. I'll check it later and let you know about my result :)

Yeah, the problem was with multiple google accounts on my device. After I've deleted a few and keep one, I got products from Play Market
Thanks one more time, @gerbus !


ElevenLabs support?

Less an issue, more a question to see if Eleven Labs might receive support at any point. I'm already paying for it, so it's hard to want to use any other API key, but also totally understand if that's out of scope or unreasonable.

Is there any updates on this? It seems that the backend code is already on the master branch but the feature is still unavailable in-game.

It's on the testing version, I haven't pushed feature updates to the stable version for a while because of a config upgrade issue.

Thanks Karashiiro! It works amazingly well, but it absolutely destroys my quota. Could we get a caching system built in? The way I'd imagine it works is simply in the filesystem, with 1 folder per NPC. Then every unvoiced text dialog is hashed and the generated voice-line is saved in the folder as <dialog-hash>.mp3.
This way people could generate and save locally, then simply zip up the folder and share hundreds of generated voice lines with others, without the hassle of caching servers, bandwidth costs, or god forbid any legal issues that pop up with AI voices in the future.

I'm so sorry but I keep getting an error when I try to enable the test version of the plugin:
2023-10-10 21:31:15.894 -07:00 [ERR] [LOCALPLUGIN] Error while loading TextToTalk
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.IO.FileLoadException: Could not load file or assembly 'System.Net.Http, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Invalid parameter. (0x80070057 (E_INVALIDARG))
File name: 'System.Net.Http, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
 ---> System.ArgumentException: Invalid parameter. (0x80070057 (E_INVALIDARG))
   at TextToTalk.TextToTalk..ctor(DalamudPluginInterface pi, IKeyState keyState, IChatGui chat, IFramework framework, IClientState clientState, IGameGui gui, IDataManager data, IObjectTable objects, ICondition condition, ICommandManager commandManager, ISigScanner sigScanner, IGameInteropProvider gameInterop)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeConstructorInfo.InvokeWithManyArguments(RuntimeConstructorInfo ci, Int32 argCount, Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Dalamud.IoC.Internal.ServiceContainer.CreateAsync(Type objectType, Object[] scopedObjects, IServiceScope scope) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 144
   at Dalamud.Plugin.Internal.Types.LocalPlugin.LoadAsync(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\Types\LocalPlugin.cs:line 426
   at Dalamud.Plugin.Internal.PluginManager.LoadPluginAsync(FileInfo dllFile, LocalPluginManifest manifest, PluginLoadReason reason, Boolean isDev, Boolean isBoot, Boolean doNotLoad) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1382
2023-10-10 21:31:15.938 -07:00 [INF] [PLUGINM] Regular plugin failed to load, adding anyways: TextToTalk.dll
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.IO.FileLoadException: Could not load file or assembly 'System.Net.Http, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Invalid parameter. (0x80070057 (E_INVALIDARG))
File name: 'System.Net.Http, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
 ---> System.ArgumentException: Invalid parameter. (0x80070057 (E_INVALIDARG))
   at TextToTalk.TextToTalk..ctor(DalamudPluginInterface pi, IKeyState keyState, IChatGui chat, IFramework framework, IClientState clientState, IGameGui gui, IDataManager data, IObjectTable objects, ICondition condition, ICommandManager commandManager, ISigScanner sigScanner, IGameInteropProvider gameInterop)
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   --- End of inner exception stack trace ---
   at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
   at System.Reflection.RuntimeConstructorInfo.InvokeWithManyArguments(RuntimeConstructorInfo ci, Int32 argCount, Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   at Dalamud.IoC.Internal.ServiceContainer.CreateAsync(Type objectType, Object[] scopedObjects, IServiceScope scope) in C:\goatsoft\companysecrets\dalamud\IoC\Internal\ServiceContainer.cs:line 144
   at Dalamud.Plugin.Internal.Types.LocalPlugin.LoadAsync(PluginLoadReason reason, Boolean reloading) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\Types\LocalPlugin.cs:line 426
   at Dalamud.Plugin.Internal.PluginManager.LoadPluginAsync(FileInfo dllFile, LocalPluginManifest manifest, PluginLoadReason reason, Boolean isDev, Boolean isBoot, Boolean doNotLoad) in C:\goatsoft\companysecrets\dalamud\Plugin\Internal\PluginManager.cs:line 1382


package elliptic questions

What version of Go are you using (go version)?
go version go1.14.1 windows/amd64
What operating system and processor architecture are you using (go env)?
windows
What did you do?
hi，its about ScalarMult(x1, y1 *big.Int, k []byte) (x, y *big.Int) ；
for example ：
I have a point on ellipse.  ( x , y ).

x1 , y1 :=  ScalarMult( x , y , g)

gm = big.NewInt(0).ModInverse(g, elliptic.Params().P)   //gMod = [g-1 Mod P]
x2,y2 := ScalarMult(x1 , y1 ,  gm)

because   g * gm mod p = 1; so (x2, y2) should equal to (x , y) , but its not.
What did you expect to see?
i think its should be equal .
What did you see instead?

Hi,
the Go project does not use its bug tracker for general discussion or asking questions about the language. The Github bug tracker is only used for tracking bugs and proposals going through the Proposal Process.
Please see the Questions wiki page; it has a list of good places for asking questions. Thanks!
Closing here, since this is not a bug.


Packaging Options

In addition to #204 and #219 packaging options will be required.  This probably makes sense to be generally available with the package as it is a common requirement between all carriers.

This is good. It should be kept separate from #204/#219 and the related PR's.
It is important that this is also an optional feature. Small retailers often dont have different packaging options


add socketoutput, capable of splitting packets for datagram socket

This has not been tested yet. Basically, we initialize this very similarly to the FileOutput, but there is one important difference. The socket must be open before this output is started. This is intended to solve https://github.com/raspberrypi/picamera2/issues/313

Thanks for posting this.
@chrisruk Is this the kind of thing you think we're looking for?
My initial observation was that the new class might be duplicating a lot of the FileOutput code? Could we derive it from FileOutput instead?
Obviously there would be some further work in tidying the commits, adding some tests and so on, but that is secondary at this point. @CorvetteCole You might want to check our contribution guidelines if you haven't done so, I don't think there's anything surprising or scary in them, but always best to be on the same page!
Thanks!

Yeah I think it makes sense to extend or modify the FileOutput class.
I did just think we could have something like a split parameter in FileOutput constructor, which could default to 0, for no splitting of data. Then if you set it to 65507, it would split a frame into chunks of 65507 or less.

Yeah that would be nice, I had a little look into if we could do that, but it seems .makefile creates something like a bufferedreader, so you can't detect that it's got a UDP socket behind it as far as I can tell.

I think you can do
stream = sock.makefile("wb")
print(stream.raw._sock)

Bit ugly, though!!

Cool, didn't know you could do that.  Which would mean we could potentially modify FileOutput to something like this -
    def _write(self, frame, timestamp=None):
        try:
            if isinstance(self._fileoutput.raw, socket.SocketIO) and \
                self._fileoutput.raw._sock.type == socket.SocketKind.SOCK_DGRAM:
                # split data here, calling self._fileoutput.write on each chunk
            else:
                self._fileoutput.write(frame)

Indeed, I'd be slightly tempted to do the detection only once in the constructor (and set a split variable/property), but otherwise yes!

I agree, this class is very much a duplicate of FileOutput. A split parameter in FileOutput sounds pretty nice for preventing duplicate code.
I personally am in favor of automatically detecting datagram streams, although we would have to be careful in case a passed in file object is not a socket type and doesn't have the _sock attribute. I guess we can wrap that in a try except, thoughts?
The alternative may be to implement the SocketOutput as a subclass of FileOutput and then override some methods, if it would be desirable to separate those.
Ultimately I ask these questions because I am a little unclear on the architectural goals around these outputs. The purpose of this SocketOutput was mostly just intended to spark some discussion.
Side note: I have read the contribution guidelines... thanks! I've been working super closely integrating this project, so I'd be remiss not to contribute back :)

I personally am in favor of automatically detecting datagram streams, although we would have to be careful in case a passed in file object is not a socket type and doesn't have the _sock attribute.

Good point, I believe the following line should then mean _sock must be present-
isinstance(self._fileoutput.raw, socket.SocketIO)

Python does also have hasattr() to check an attribute is present.
Also that's a good point @davidplowman re. doing the checking in the constructor.
So I think it should be possible to make FileOutput do the splitting of data for us, if a datagram socket is passed even though
it's abstracted somewhat via .makefile(), which means the existing UDP example would work for higher bitrates/resolutions.

I'll see if I can give this a go on my test setup Friday. Will leave this PR open until I or one of you file a new PR for the revised FileOutput. Alternatively, I might just overwrite this PR's contents entirely.

Thanks everyone for the comments, I've just created a revised FileOutput here - https://github.com/raspberrypi/picamera2/pull/317

Thanks for all the discussion on this one - I'll close it now in favour of Chris's new PR!


(DX) React Code Style

Is your feature request related to a problem? Please describe.
As a developer, I would like to have a common code style in the React application to make the code consistent and more readable.
Describe the solution you'd like
A Wiki page outlining the code style of the react side of the app.
The proposed react conventions are written here:
https://github.com/701-T4/platform/wiki/React-Code-Conventions

Can you also give a code example of the controller and component working together?

Can you also give a code example of the controller and component working together?

Done

also, is there a reason for the preference of FC over class component?

I'd say class components are basically dead in modern react codebases.


License

The LICENSE file shows the (C) for kafka-net is held by David Arthur (this guy? https://github.com/mumrah).
I guess this was a file copy issue and not your intention.
I need to update the file in my fork with (C) for my changes but I want to make sure it is right before I proceed. What copyright name should I use for the jroland/kafka-net contributers?

Ha your right, I just copied the file over, I assumed it was just a generic file.  Ill switch it to me.


Pass on the BorrowingSwitch feature flag to the SwiftSyntax parser.

And remove the -disable-experimental-parser-round-trip flag from borrowing switch tests now that the SwiftSyntax parser supports them with https://github.com/apple/swift-syntax/pull/2487.

Please test with following pull request:
https://github.com/apple/swift-syntax/pull/2487
@swift-ci Please test

@swift-ci Please test


Add support for MPIPL/FADUMP tests

This moves the existing OpTestKernel into PowerNVDump file and also
adds support for fadump/MPIPL test scenarios.

So we have three scenarios here after kernel crash.

Enable both fadump, kdump ==> Test fadump/MPIPL
Enable only kdump         ==> Test kdump
Disable both              ==> Test normal IPL

Add OPAL assert based MPIPL test scenario

This scenario uses pdbg tool to trigger OPAL assert from the BMC,
so that MPIPL boot starts after the assert finishes.
Signed-off-by: Srikanth Aithal<EMAIL_ADDRESS>Signed-off-by: Pridhiviraj Paidipeddi<EMAIL_ADDRESS>

@hegdevasant thanks for reviewing. All review comments are incorporated.

Srikanth Aithal<EMAIL_ADDRESS>writes:

bssrikanth commented on this pull request.

         if r == 4 or r == 6 or r == 7:

             raise KernelHardLockup(state, log)

       if r == 5 and l == 2:

I had told the reason offline..sorry did not update this
conversation.. previously the code checked for r == 5 which was not
correct..  reason I had altered r == 5 to r == 3 because when we
trigger kdump we get Kernel panic and not Oops: Kernel access of bad area..  now after this change the code rightly triggers
KernelKdump exception when sys crash is triggered with kdump on..

I'm not surprised there could be something wrong in that code. It's in
need of a bit of a refactor, and I'm responsible for the original quirky
crazy spaghetti mess to begin with.
It's probably long overdue that it's refactored out into something with
a few more layers that's easier to understand.
--
Stewart Smith
OPAL Architect, IBM.


Should append_attribute() prevent creation of duplicate attributes?

According to Wikipedia, "each attribute can appear at most once on each element".
https://en.wikipedia.org/wiki/XML#Key_terminology
I've done this accidentally once or twice - it would have helped me if append_attribute() had either treated this as an error or returned the existing attribute.

This is an intentional choice - for performance reasons parser and DOM don’t impose single attribute restriction. Without this adding 10 attributes would require 45 string comparisons which can be problematic for applications that construct  a lot of nodes at runtime.

OK, this is understandable to keep pugixml fast and lean.
I'll write my own trivial wrapper because those factors aren't so important in my case.

:book: I've accidentally just done this on a project I was coding for. We use the pugixml library for generation of the XML but use Qt's QXmlStreamReader to read the XML produced - and it was unhelpfully obtuse! It merely reporting an element QXmlStreamReader::tokenType() of QXmlStreamReader::Invalid for the element with a duplicated attribute which it took me some hours to spot...! :cry:


Inconsistent location for location of data (historical in WS3 but not WS2)

The worksheets build on each other with data written in one worksheet being used in the next. If the location of data being written is not consistent this breaks the workflow.
Worksheet 2 has
Save the new cube as a new netCDF file
OUTDIR = 'data_v2/EAS-22'
while worksheet 3 has:
Directory name where processed data is stored
HISTDIR = 'data_v2/EAS-22/historical'
this needs to be fixed

Replaced OUTDIR with HISTDIR throughout worksheet 2. Fixed in 3f592f9.

closed by #143


LGTM.com - false positive - Python - unused variable in nested F string

Description of the false positive
When using a variable that has been assigned inside an F-string nested inside another F-String, LGTM marks this as never used.
The specification states that they support full Python expressions* inside brackets. It's also stated that a formatted string literal is really just an expression that is evaluated at run-time (See here, and here). As a result, it only makes sense to allow a formatted string literal as the expression inside another formatted string literal, forbidding it would negate the full support for Python expressions.
URL to the alert on the project page on LGTM.com
https://lgtm.com/projects/g/mjmikulski/horology/snapshot/44de1b55be5524696fa054ea5e972ae53d094ea1/files/horology/timed_decorator.py?sort=name&dir=ASC&mode=heatmap#xbec2752d5d5d648b:1

Thank you for your report. I think what's happening here is that our handling of format specifiers is somewhat incomplete. It should work if dp was referenced at the "top level" of the format string (like name and t). This is definitely a bug.
Unfortunately, I can't give you a timeline for when we'll get round to fixing it. If its presence bothers you, my best suggestion would be to disable the alert in question, either locally with an lgtm comment, or globally in an .lgtm.yml configuration file. You can find the documentation for these things on LGTM.com.

Thank you for your report. I think what's happening here is that our handling of format specifiers is somewhat incomplete. It should work if dp was referenced at the "top level" of the format string (like name and t). This is definitely a bug.
Unfortunately, I can't give you a timeline for when we'll get round to fixing it. If its presence bothers you, my best suggestion would be to disable the alert in question, either locally with an lgtm comment, or globally in an .lgtm.yml configuration file. You can find the documentation for these things on LGTM.com.

Thanks for the quick reply.
I will look at other options and hopefully a solution can be found soon.

I believe this should now be resolved in our parser and have gone live on LGTM.com. Feel free to reopen this issue if this is not the case. :slightly_smiling_face:


Bug title

I am facing an issue in the Edit template i.e., asw-form-builder is not detecting its changes.
I am fetching upload data of a particular template from the backend API. After the HTTP call, I am assigning a new value to the uploadData. But new upload data is not reflecting the changes.
HTTP Request:
this._templateService.getTemplateByID(this.id).subscribe((res) => {
this.editModel = res;

this.templateSchema = this.editModel?.templateSchema;

console.log("template schema", this.templateSchema)

this.templateName = this.editModel.templateName;

});
Template
<asw-form-builder
  *ngIf="!isPreviewMode"

  [uploadData]="templateSchema"

  [isShowJsonDataButton]=false

  [isShowPreviewButton]= true

  [isShowPublishButton]="isPublish"

  (publishClick)="saveFormTemplate($event)"

  (previewClick)="previewTemplate($event)"

></asw-form-builder>

As you can see in the above code, the template schema is updating from the HTTP request which is passing in the upload data input of the asw-form-builder tag. However, the upload data input tag is not updating with the current value.
I am requesting you to use ngOnchanges hook to determine the new changes for the upload date.
We can have a call if anything is not clear.

We have fixed this issue


Nexus repo is down

Looks like your nexus is down. Figured I'd let ya know.

Nexus is still down. Will you reenable it? Building packages with dependencies against failing repositories is pain =/


Manila: Add support for imagePullSecrets to helm chart

[manila-csi-plugin] Add support for imagePullSecrets to helm chart
What this PR does / why we need it:
This PR adds support for imagePullSecrets into all necessary resources in manila helm chart.
Implementation is backwards compatible.
[manila] Add support for ImagePullSecrets

Based on Related/Similar PRs:

https://github.com/kubernetes/cloud-provider-openstack/pull/2105
https://github.com/kubernetes/cloud-provider-openstack/pull/2317

/ok-to-test

/ok-to-test

/approve

/lgtm


feat(nuxt): Convert eslint config to v9 syntax

🔗 Linked issue
Resolves #25351
📚 Description
As discussed in #25351, eslint are upgrading their config system in eslint v9. The new syntax is available now but is opt-in. We can opt in by replacing .eslintrc with a eslint.config.js file or setting the environment variable ESLINT_USE_FLAT_CONFIG=true before running eslint.
I have followed eslint's configuration migration guide to replace the configuration. This PR is intended to be a straight swap, not modifying the configuration in any way, just upgrading the syntax. There may be additional work needed to take advantage of the benefits the new syntax brings.
How to test

Pull the branch
Install dependencies
Run ESLINT_USE_FLAT_CONFIG=true pnpm run lint

Issues
So far, I have come across the following issues:
When trying to apply the flat config format from @nuxt/eslint-config/flat, I get an error:
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './flat' is not defined by "exports" in [...]/package.json

Importing the 'standard' config from eslint-config-standard gives me the following error:
A config object is using the "parserOptions" key, which is not supported in flat config system.

Flat config uses "languageOptions.parserOptions" to specify parser options.

Without importing the 'nuxt' config, it seems the 'vue' rules are not defined:
TypeError: Key "rules": Key "vue/array-bracket-spacing": Could not find plugin "vue"

@antfu Do you have any guidance for getting the @nuxt/eslint-config working 🙏

For @nuxt/eslint-config you will need the v0.3.0-beta.7 version


[Bugfix]disable cuda graph when max_decode_seq_len is close to max_seq_len_to_capture

when enable spec decoding（num_lookahead_slots = 7）and cuda graph. We meet the problem：ValueError: could not broadcast input array from shape (513,) into shape (512,)
When starting spec decode, in order to ensure sufficient space is allocated, new tokens + num_lookahead_slots slots are allocated by default. Therefore, when the input + output is 8186, 8186 + 7 just triggers the boundary of 8192, requiring an additional block to be allocated, resulting in the block_table length exceeding the input_block_tables[i] range.

related issue：https://github.com/vllm-project/vllm/issues/5563

thanks for the great pr! I think lookahead slots should be the root cause.
however, instead of disabling cudagraph, I think we can actually use cudagraph in this case. we just need to remove the lookahead slots when we copy the block table.

close in favor of https://github.com/vllm-project/vllm/pull/8340


Pickle issue

Contribution in a nutshell
Hey,
This PR has for objective to find a solution to this issue when trying to export a package with a pickled EncoderDecoderASR object.
Scope

[x] Hopefully fixes [Bug]: Can't pickle an EncoderDecoderASR because of functools._lru_cache

Notes for reviewing (optional)
This change has these implication which might need attention over here; —how should we tackle this?
Pre-review

[x] create a fresh testing environment (install SpeechBrain from cloned repo branch of this PR)
[x] check function comments: are there docstrings w/ arguments & returns? If you're not the verbose type, put a comment every three lines of code (better: every line)
[x] use CI locally: pre-commit run -a to check linters; run pytest tests/consistency
[x] exhausted patience before clicking « Ready for review » in the merge box 🍄

Note: when merged, we desire to include your PR title in our contributions list, check out one of our past version releases
—https://github.com/speechbrain/speechbrain/releases/tag/v0.5.14
Tip: below, on the « Create Pull Request » use the drop-down to select: « Create Draft Pull Request » – your PR will be in draft mode until you declare it « Ready for review »

Thanks @lucilemg! LGTM.


Async waterfall throws array error

When using async.waterfall in exports.hook_queue we get Error: First argument to waterfall must be an array of functions
exports.hook_queue = function (next, conn) {
  var x = [
    function(callback) {
        callback(null, 'one', 'two');
    },
    function(arg1, arg2, callback) {
      // arg1 now equals 'one' and arg2 now equals 'two'
        callback(null, 'three');
    },
    function(arg1, callback) {
        // arg1 now equals 'three'
        callback(null, 'done');
    }
  ];

  console.log(x.constructor !== Array); // returns false

  async.waterfall(x, function (err, result) {
      console.log(err);
  });
};

For some reason inside async.waterfall tasks.constructor !== Array returns true
if (tasks.constructor !== Array) {
  var err = new Error('First argument to waterfall must be an array of functions');
  return callback(err);
}

async.waterfall works in a regular express app on the same server and we have tried with async (0.9.0 and 0.9.2) and node (0.10.38 and 0.12.4)
Is haraka somehow causing this?

It could be; Haraka plugin run in a vm sandbox and that might be causing the problem there.
I think someone else ran into this yesterday; if you upgrade the version of async that Haraka uses to 1.0.0, then it should work as I've just checked the async code and it now uses the more sensible Array.isArray(...) instead of trying to check the constructor.

Thanks for the fast reply it helped us.
So Haraka is basically merging my node_modules folder which means that I always have to use the same versions of the packages Haraka is using?
Are you planning to update async to version 1 and release a new version of Haraka soon?

So Haraka is basically merging my node_modules folder which means that I always have to use the same versions of the packages Haraka is using?

Huh?  No - each node module has it's own node_modules directory, so it should be totally independent of your app.

Are you planning to update async to version 1 and release a new version of Haraka soon?

We don't have any plans for a release at the moment.  But when we do, then I'll make sure that async is @1.0.0

Apparently not because we had async ~0.9.0 specified in our package json and the async in our node_modules folder is 0.9.2 but when calling async in our plugin it's using async 0.2.9 from Haraka (latest on npm 2.6.1).
The array issue in async was fixed in version 0.3.0.
Do you know why Haraka is using it's own async then?

It should depend on where your plugin is installed e.g. if you run haraka -i /etc/haraka, then your local node_modules folder for the plugins would be /etc/haraka/node_modules and any plugins in /etc/haraka/plugins would first use /etc/haraka/node_modules before using the versions supplied with Haraka.
See https://github.com/baudehlo/Haraka/blob/master/haraka.js#L8-L18

For some reason it don't it just loads the modules that haraka don't use

and process.env.HARAKA is returning /var/www/haraka where the installation is
Writing the full path from the plugin works var async = require('../../node_modules/async'); but var async = require('async'); uses harakas

The latest Haraka in baudehlo/master specifies async 0.9.0, which I recently updated. The latest release of Haraka still has 0.2.9.  If you installed Haraka via npm, you'll still get the old version of async.

Yeah I noticed that but I guess this might be an issue for others in the future if any one tries to use a newer module than Haraka is using.
Right now I will just use var async = require('../../node_modules/async'); every time where I need async in my plugin

this might be an issue for others in the future

It won't be, after we release the next version of Haraka.


Take whole instance of gettext instead of separate functions

For example node-gettext.
I would expect factory to work somewhat like:
{
  gettext: gettextFactory({gettext: nodeGettext}),
  ngettext: ngettextFactory({gettext: nodeGettext})
}

Currently passing separate function require to bind gettext instance or use lambdas like:
{
  gettext: gettextFactory({gettext: (...args) => nodeGettext.gettext(...args)}),
  ngettext: ngettextFactory({ngettext: (...args) => nodeGettext.ngettext(...args)})
}

Ideally I would expect something like:
const whatever = gettextFactory({gettext: nodeGettext});

console.log(whatever.gettext`Bla`);
console.log(whatever.ngettext(10)`One foo|{{count: 10}} foos`);

Based on #10 this becomes
import {factory} from 'react-i18n-interpolation';

const whatever = factory({gettext: nodeGettext});
... // rest as above

👍


Sourcemaps are ignored when debugging the plugin locally in VS Code

Hi! First of all, thanks for all the hard work on gql.tada! It's an awesome tool.
I guess this might not be the proper place to ask this question, but I've honestly spent 2 days trying to find out the reason for the issue with no success, so I'd really appreciate any help or guidance.
I want to play around with the plugin and, potentially, implement some minor useful functionality (like adding support for the "Go to definition" command for fragments, adding a refactoring for renaming a fragment etc). The problem I've stumbled upon, though, is that the sourcemaps don't seem to be working while trying to debug the plugin locally.
Steps to reproduce

Clone the repo locally into the D:\Projects\3rd-parties\gqlsp2 folder
Run pnpm i at the root
Call set TSS_DEBUG_BRK=9559 && code packages/example to open the Example VS Code instance
In the Example VS Code instance run pnpm i
Ensured that the Workspace version of Typescript is used in both VS Code instances
Set a breakpoint in the Root VS Code instance's packages\graphqlsp\src\index.ts file, (for instance, at the first line of the getCompletionsAtPosition() method)
Attach to the Example VS Code instance for debugging
Trigger the getCompletionsAtPosition() method from the Example VS Code instance (by typing characters in the gql template literal)

Expected result
The breakpoint set in packages\graphqlsp\src\index.ts should be hit.
Actual result
Attaching the debugger has been successful. However, the breakpoint set on packages\graphqlsp\src\index.ts remains unbound and, therefore, not hit.
However, setting the breakpoint on the corresponding location in the node_modules\.pnpm\file+packages+graphqlsp_typescript<EMAIL_ADDRESS>file does work. The breakpoint gets hit whenever the method is called.
Obviously, there is some kind of a problem with VS Code reading the sourcemaps, but I haven't been able to find out what is wrong specifically and how to fix / work around this issue. Any help would be appreciated.
Screenshots

Proper sourcemappingUrl set in the output file

Breakpoint successfully working in the output file

Breakpoint NOT working in the source file

Proper output files, including sourcemaps are being output, but not handled by VS Code for some reason
Software versions
Windows 10 Pro x64
VS Code 1.88.1
NodeJS 20.12.1
pnpm 8.15.7

Another note: sourcemaps for debugging a clean TSServer plugin template work well on the same machine https://github.com/orta/TypeScript-TSServer-Plugin-Template/tree/main


Invoke-VcWorkflow fails with Discovery Workflow (should be pointed to /v1/machines vs. /v1/machineIdentities)

Environment
Full Operating System: Tested on Windows 10
VenafiPS version: 6.3.1
PowerShell version: 7.4.2
TLSPDC version (if applicable): N/A

Steps to reproduce
Execute: Invoke-VcWorkflow -Workflow Discover
Actual behavior
Error Message: "Unable to find machineIdentity XXXXX"
The API call being made is pointed at the "machineIdentities" endpoint. For Discover, it should be "machines". I have validated that I get the same results outside of PowerShell:

There appears to be a documentation/OpenAPI bug on https://developer.venafi.com for this specific workflow as well. I have submitted documentation feedback to have this addressed.
Screenshots

Closed by #276


Release/4.0.0

Well the last one obviously needs reverting once the tests pass, since publishing is unaffected.
then update all credentials to fix it properly

will revert the last one and squash everything past the 4.0.0 commit into the 4.0.0 commit, then hit publish here and rebase into main


Secure WebSockets

Version: 0.31.0-rc.7
Platform: Linux 5.10.30-1-MANJARO #1 SMP Wed Apr 14 08:07:27 UTC 2021 x86_64 GNU/Linux
Subsystem: Transports (libp2p-websockets)

Type: Bug/Question

Severity: High
Description: Secure WebSockets does not seem to work
Steps to reproduce the error:
See #930 for the code reproducing the issue.
When trying to setup secure websockets after following the libp2p-websockets test setup: https://github.com/libp2p/js-libp2p-websockets/blob/e9291044a731ee7ba83455b134c3141182073e4f/test/node.js#L296
I am getting the following error:
> npm run test ./transports

4.js
node 1 is listening on:
/ip4/<IP_ADDRESS>/tcp/10000/ws/p2p/QmTSzDAPTJRqgkG8P6BAhHPvhnbiCRgjf47TPxrgow6PrX
node 2 is listening on:
/home/froyer/src/libp2p/js-libp2p/node_modules/p-some/index.js:31
                        reject(new AggregateError(errors));
                               ^

AggregateError:
    Error: socket hang up
        at Array.map (<anonymous>)
        at maybeSettle (/home/froyer/src/libp2p/js-libp2p/node_modules/p-some/index.js:31:11)
        at /home/froyer/src/libp2p/js-libp2p/node_modules/p-some/index.js:69:23
        at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at maybeSettle (/home/froyer/src/libp2p/js-libp2p/node_modules/p-some/index.js:31:11)
    at /home/froyer/src/libp2p/js-libp2p/node_modules/p-some/index.js:69:23
    at processTicksAndRejections (node:internal/process/task_queues:94:5)

Thanks for letting know.  We'll followup in https://github.com/libp2p/js-libp2p/pull/930


Adding Chart Generation Wizard

Added several js and css librarys
Added the latest version of igviz.js
Added the dataView.html which can list and generate chart Widgets for given dataview
Updated 'coloumn' attribute of the  the samples/dataView.json and added more widgets for testing puposes

Can you remove all the unnecessary stylesheets etc and send this again?


Plans to support AWS Managed prefix lists, Endpoints and Endpoint services

Is there any plans in the near future to support AWS Managed prefix lists, Endpoints and Endpoint services?

any update to this feature being added?

@sergeylanzman I can work on this one. Please assign it to me.


Add build pages

The feedback on #761 made me re-think my approach. I like this idea better.
/cc @Petermarcu @livarcocc

LGTM


Reduce size of the code live editor and adapt size to fit in a small screen (styled-component)

Made the live code example smaller, reduce logo size to fit the code in a macbook 13" and delete paddingTop on code container to make the centering of element even with logo, title and button

#115

Deploy failed again :-(
Could you take some screenshots for us to see what it looks like? Thanks!

Ok, so i forgot i used a bigger screen and not my 13' :/. So it's still to big for a 13"
the menu feels weird at this place thought (centered or all the way to the left makes more sense to me) :/
For me, it's still way too big overall. This is the screenshot from a 13" :

and one on a bigger screen :

Let's go ahead and merge this, then we can work on moving the nav and maybe even moving the buttons to one side or something to make more room above the fold :+1: Could you open an issue to discuss that?


[SPARK-43897][TESTS][PS][CONNECT] Reorganize ps.Series unit tests

What changes were proposed in this pull request?
Reorganize ps.Series unit tests, break test_series into several topics
Why are the changes needed?
for easy to maintain
Does this PR introduce any user-facing change?
No, test-only
How was this patch tested?
updated CI

merged to master


missing _vals and name

@alexcjohnson and others,
I have a parameter:
        self.add_parameter('fld',
                           names=['B'+ax.lower() for ax in self.axes],
                           get_cmd=partial(self._get_fld, self.axes, 'FLD'),
                           set_cmd=partial(self._ramp_to_setpoint, self.axes, 'FSET'),
                           units=['T'for ax in self.axes],
                           vals=Anything())

When I want to use this parameter:
magnet.fld.set([0.8,0.1,0.0])

this fails.
At first qc complains that the parameter has no attribute name this is because I have supplied n names for n axes. If I add self.name in parameter.py that error goes away.
Then qc complains that the parameter has no attribute _vals which is also missing due to the names.
If I add that too, I can do what I planned.
in parameter.py I see:
        if names is not None:
            # check for names first - that way you can provide both name
            # AND names for instrument parameters - name is how you get the
            # object (from the parameters dict or the delegated attributes),
            # and names are the items it returns

...
        elif name is not None:

That comment seems to contradict what is actually happening, should this just be if and if instead?
Btw, what is the correct validator for a list of numbers?

@MerlinSmiles I think this can close now? The current issue with Array/Multiparameters is that they are not settable #207 and the confusing setpoints #498

@jenshnielsen I guess yes, there have been a lot of changes that resolve this, I think


How to stop live stream recording?

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.02.26. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.02.26

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x] Question
[ ] Other

Description of your issue, suggested solution and other information
How to stop live stream recording? Pressing Q does not do anything. And CTRL+C stops it, but then I'm left with a .part extension file, which is not a video.
I found this https://github.com/rg3/youtube-dl/issues/8932 but it is unsolved and locked.

Ctrl+C works fine. Do not hit it multiple times.

@rhazor You can use the timeout command if you know in advance how long the recording is going to last, example :
$ timeout -s SIGINT 110m youtube-dl -f 93 $your_Youtube_Live_Stream_URL


Add CODEOWNERS file

SIG members are added to CODEOWNERS file as the default owners for
everything in the repo.
Members listed in the file will be requested for review for PRs.

/cc @lmilbaum


moreutils: 0.61 won't build on darwin

Issue description
I'm unable to build this on darwin. Here's the relevant output:
building
make flags: SHELL=/nix/store/vkh1qq7m28v6wajva1k50a4i8x3l0r9c-bash-4.4-p12/bin/bash
make -C is_utf8/
make[1]: Entering directory '/nix/tmp/nix-build-moreutils-0.61.drv-0/moreutils/is_utf8'
gcc -O3 -Wextra -Wall -ansi -Wstrict-prototypes   -c -o main.o main.c
/nix/store/vkh1qq7m28v6wajva1k50a4i8x3l0r9c-bash-4.4-p12/bin/bash: gcc: command not found
make[1]: *** [<builtin>: main.o] Error 127
make[1]: Leaving directory '/nix/tmp/nix-build-moreutils-0.61.drv-0/moreutils/is_utf8'
make: *** [Makefile:22: isutf8] Error 2
builder for ‘/nix/store/lkspg0bmmp599vpgbzz7jkjx8zs16m18-moreutils-0.61.drv’ failed with exit code 2

Steps to reproduce
nix-build -A moreutils

Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...)

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.12.5
BuildVersion:	16F73

Nix version: (run nix-env --version)

nix-env (Nix) 1.11.9

Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion)

"17.09pre-git"

Sandboxing enabled: (run grep build-use-sandbox /etc/nix/nix.conf)

build-use-sandbox = false

We need to do CC=cc; in the builder. Here's the diff that caused the break:
https://git.joeyh.name/index.cgi/moreutils.git/commit/?id=089fa36ad806246278b43df8dadb9a7882d39e54

I can confirm the following diff solves the issue for me:
diff --git a/pkgs/tools/misc/moreutils/default.nix b/pkgs/tools/misc/moreutils/default.nix
index 51ac3249fe..5633e1db36 100644
--- a/pkgs/tools/misc/moreutils/default.nix
+++ b/pkgs/tools/misc/moreutils/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {

   propagatedBuildInputs = [ perl IPCRun TimeDate TimeDuration ];

+  buildFlags = "CC=cc";
+
   installFlags = "PREFIX=$(out)";

   postInstall = "wrapProgram $out/bin/chronic --prefix PERL5LIB : $PERL5LIB";

Looks like @domenkozar fixed it in https://github.com/NixOS/nixpkgs/commit/14a320ace869a5f1eba3b2e26441e8b62802267e


Revert "[WFCORE-860] : Use notifications to help the scanner get a pr…

Reverts wildfly/wildfly-core#942

Linux Build 2452 is now running using a merge of fba9bb8e173c6b9ba775dd9bac0f766a7cc2da5f

Linux Build 2452 outcome was SUCCESS using a merge of fba9bb8e173c6b9ba775dd9bac0f766a7cc2da5f
Summary: Tests passed: 3402, ignored: 64 Build time: 00:36:00

WildFly pull requests Build 1876 outcome was SUCCESS using a merge of fba9bb8e173c6b9ba775dd9bac0f766a7cc2da5f
Summary: Running Build time: 00:00:02


some suggestions

I thought hunger quencher could be added, it would work as thrist quencher but with food, it would be pretty useful. I thought air conditionning unit and heating unit should come back. It was pretty useful for automating for warming or refreshing the temperature. It adds more varient of different machines, and make the progression for getting the temperature regulator better. The different machines should have a gui too.

Oh ok, and what was the bug with air conditionner and heater ? It's sad you had to remove them, they were nice feature. :(


. in custom person name incorrectly removed from variable name

When you run this attachment through the Weaver and identify "alien_ambassador" as a custom person, it removes the . from the generated interview questions. It creates a question for alien_ambassadornamefirst in the interview order block instead of alien_ambassador.name.first
hello_planet2 - Copy.docx

The issues is tied to map_raw_to_final_display and process_custom_people

User error--the DOCX file had {{ alien_ambassador.name.first }} but should have had {{ alien_ambassador[0].name.first }}


My ESP32-DEVKITC-32E wouldn't flash on Windows, so heres what I did

Hey guys.  I had some trouble getting my ESP32-DEVKITC-32E to flash the latest firmware.  I read the tutorials, followed videos online, it would only stay stuck on "Sync"  So I opened up my Device Manager to try to investigate if it was a COM port issue.  I plugged and unpluged it to notice that there was no newly added COM port.  Then I noticed that the SDP32 windows drivers weren't installing properly (because of course it won't).  So I did some searching, and I found a site that had proper CP210x windows drivers.  You can find the link below:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
Installed the drivers and a new COM port showed up.  Did the flash and it went as it should.  If this is a common problem, maybe this info should be added to the Windows 10 wiki page?  Just wanted to share in case it might help anyone else.  Thanks.

I added a link to the official espressif docs which got link to the same driver:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/establish-serial-connection.html
This way it will stay up to date.
Thanks for reporting!


Embedding server patches unnecessary -1

This line https://github.com/stanford-oval/suql/blob/main/src/suql/faiss_embedding.py#L308 would patch unnecessary -1 if asked more than the documents contain. This could crash the system if number of rows is small.

Thanks! #22 should have fixed it. Please use https://pypi.org/project/suq1.1.7a3/ and test again.

Tests passed.


Issues with using 0.3.6 on Windows 10

"Error: A JNI error has occurred, please check your installation and try again."
"A Java Exception has occurred."
Whenever I try to start up cyoastudio-0.3.6.jar, this is what happens. My Java installation is up-to-date, so I don't know what's happening.

Same thing started happening to me when I updated my Java installation.


bug(products): Saving product should not default to publish the product too

Steps to reproduce

Create a product
Set the product status to draft
Change the name of the product and hit save

At this point the product should still be in draft, however, the save call defaults to sending status: published this should be fixed so that it saving a draft product doesn't change the status.
The file to change is here: https://github.com/medusajs/admin/blob/8189ab1c6b5cf2f92a226da30f7d665e7c8b39f9/src/domain/products/product-form/form/mappers.ts

Solved in #532