JDK17 ClassNotFoundException: com/sun/security/cert/internal/x509/X509V1CertImpl

Expected behavior
Actual behavior
JDK 17 has deprecated the use of javax.security.cert.X509Certificate, it is strongly recommended to use java.security.cert.X509Certificate.This issue was fixed in 5.x.x https://github.com/netty/netty/pull/13326, but 5.x.x is not a stable version
Steps to reproduce
java.lang.IllegalStateException: javax.security.cert.CertificateException: Could not find class: java.lang.ClassNotFoundException: com/sun/security/cert/internal/x509/X509V1CertImpl\n\tat io.netty.handler.ssl.util.LazyJavaxX509Certificate.unwrap(LazyJavaxX509Certificate.java:142)\n\tat io.netty.handler.ssl.util.LazyJavaxX509Certificate.getSubjectDN(LazyJavaxX509Certificate.java:71)
Minimal yet complete reproducer code (or URL to code)
X509Certificate[] clientCertChain = sslHandler.engine().getSession().getPeerCertificateChain();
String subject = CertHelper.getCName(clientCertChain[0].getSubjectDN().toString());
Netty version
44.1.86.Final
JVM version (e.g. java -version)
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment GraalVM EE 21.3.7 (build 17.0.8+9-LTS-jvmci-21.3-b32)
Java HotSpot(TM) 64-Bit Server VM GraalVM EE 21.3.7 (build 17.0.8+9-LTS-jvmci-21.3-b32, mixed mode, sharing)
OS version (e.g. uname -a)
Linux 4.14.35-2047.526.2.1.el7uek.x86_64 #2 SMP Mon Jun 12 09:16:54 PDT 2023 x86_64 x86_64 x86_64 GNU/Linux

We are using netty-all, the version is 4.1.86.Final, sorry about the typo

We cant change this as this would be a breaking change.

@normanmaurer I was wondering if there is any workaround as we are blocked on this?

@ryanzhutao honestly I think this a bug with the JDK that you use... While these classes are deprecated it should still ship them, no ?

@ryanzhutao btw I think you want to call getPeerCertificates as a replacement.


Will not work for me at all ( does this work with typescript? )

In VS Code if I hover over the import statement I get this test in a popup:
Could not find a declaration file for module 'react-iframe'. 'c:/cloudguest/src/client-admin/react-material.eval/node_modules/react-iframe/index.min.js' implicitly has an 'any' type.
Try npm install @types/react-iframe if it exists or add a new declaration (.d.ts) file containing declare module 'react-iframe';ts(7016)
When I run I get an error:
Check your code at App.js:43.
in Route (at App.js:43)
in Switch (at App.js:40)
in div (at App.js:34)
in App (at src/index.js:9)
in Router (created by BrowserRouter)
in BrowserRouter (at src/index.js:8)
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
index.js:1452
Here is how I am trying to use it:
import { Iframe } from 'react-iframe';
<Route path="/api-docs-swagger" render={props => } />

I've got the following error with my code:
Type error: Could not find a declaration file for module 'react-iframe'. 'Client/node_modules/react-iframe/index.min.js' implicitly has an 'any' type.
  Try `npm install @types/react-iframe` if it exists or add a new declaration (.d.ts) file containing `declare module 'react-iframe';`  TS7016

import React from 'react';
import Iframe from 'react-iframe';

export const PayButton = () => {
  return (
    <Iframe
      src="blablabla"
    />
  )
}

I have rewritten this project in TS, so the upcoming 1.7 release will be compatible :)


Where does googleUser come from?

https://github.com/firebase/snippets-web/blob/1c4c6834f310bf53a98b3fa3c2e2191396cacd69/snippets/auth-next/google-signin/auth_google_checksameuser.js#L15
I know that firebaseUser comes from this ( result.user):
signInWithPopup(auth, provider)
      .then((result) => {
        // This gives you a Google Access Token. You can use it to access the Google API.
        const credential = GoogleAuthProvider.credentialFromResult(result);
        const token: string | undefined = credential?.accessToken;
        // The signed-in user info.
        const user = result.user;
.....

But where does googleUser come from?

I'm having the same issue. I've looked for hours on the docs and on the internet and had no luck :(

I think the documentation should be updated. The googleUser come from using the gapi client. Here is a code snippet on how to do that.

export const handleGoogleSignIn = async (): Promise<any> => {
  return new Promise<any>((resolve, reject) => {
    const script = document.createElement('script');
    script.src = 'https://apis.google.com/js/api.js';
    script.onload = () => {
      console.log('Google API script loaded.');
      (window as any).gapi.load('client:auth2', {
        callback: () => {
          (window as any).gapi.auth2.init({
            clientId: authClientId,
          }).then(() => {
            (window as any).gapi.auth2.getAuthInstance().signIn().then((googleUser: any) => {
              resolve(googleUser); // Resolve with googleUser
            }).catch((error: Error) => {
              reject(error);
            });
          }).catch((error: Error) => {
            reject(error);
          });
        },
        onerror: (error: Error) => {
          reject(error);
        }
      });
    };
    script.onerror = (error: Event | string) => {
      console.error('Error loading Google API script:', error);
      reject(error instanceof Error ? error : new Error('Unknown error loading Google API'));
    };
    document.body.appendChild(script);
  });
};

Once, you get the googleUser, you can then, do this:
 providerData[i].uid === googleUser.getBasicProfile().getId()


"Enhanced the Game Interface" and Added "Reset Functionality" and "Aligned Buttons" with Icons

PR Description 📜
Hey @ayush-t02

Issue Fixes #497

I have Improved and Enhanced the overall Game interface and added some additional functionalities to  it:

The game works smooth
Enhanced Game User Interface
Added Reset Functionality so that if any user want to reset or restart the game they don't have navigate back to home
Added SVG Icons, Animations and Hover effects to the Buttosn to look more user friendly and meanigful
Adde Tooltip functionality to the button, in case if any user is unable to understand what is the use of buttons
Enhanced Back to home Button to look like home
Added Updated Cursor trail Effect to new one!

Before Changes:

After Chnages:

https://github.com/user-attachments/assets/514a1e42-5c51-4110-b40e-19fa647d8579
Added Tooltip for understanding the use of button
Overall Screen record
https://github.com/user-attachments/assets/c726ec71-cfc6-4981-bf35-c81cf86eacd5
Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for review.

Thank you soo much for contributing to our repository 💗

@ayush-t02 please take a look amd review it, also if possible please increase the level for additional functionalities, thank you!!


Request: Right click to add waypoint

There's no way to assign a mouse click to the controls in Foundry.  I've been using the right click to add waypoint from drag ruler for forever.  My players are going to lose their mind. :)

This has been added as part of v6.3.0


Nested array without variable

As detailed in the doc to access a nested array we can do:
t('namespace:array-example', { count: 1 }, { returnObjects: true })

Why it doesn't return anything when you remove the variable like this:
t('namespace:array-example', { returnObjects: true })

How can I return an exact object of the array?

The valid syntax is:
t(i18nKey, i18nParams, extraConfig)

If you don't have params, you can just ignore them with an empty object {}:
t('namespace:array-example', {}, { returnObjects: true })


Blocked ui thread when try to use notification's setProgress

When I try use notification builder with setProgress in
@Override
public void onProgress(int id, long totalBytes, long downloadedBytes, int progress) {
I got blocked ui, can't scroll.
How to use notifications with this library?

The onProgress is called on the main thread. And it is your responsibility to avoid doing heavy operations inside onProgress method. Please check your onProgress method. Or share your onProgress method code here.

In onCreate of MainActivity:
mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder = new NotificationCompat.Builder(MainActivity.this);
mBuilder.setContentTitle("Picture Download")
        .setContentText("Download in progress")
        .setSmallIcon(android.R.drawable.arrow_down_float);

onProgress method:
@Override
public void onProgress(int id, long totalBytes, long downloadedBytes, int progress) {

    System.out.println("######## onProgress ###### " + id + " : " + totalBytes + " : " + downloadedBytes + " : " + progress);
    if (id == downloadId1) {
        mProgress1Txt.setText("Download1 id: " + id + ", " + progress + "%" + "  " + getBytesDownloaded(progress, totalBytes));
        mProgress1.setProgress(progress);
        mBuilder.setProgress(100, msg.what, false);
        // Displays the progress bar for the first time.
        Notification notif =mBuilder.build();
        notif.flags = Notification.FLAG_ONGOING_EVENT;
        mNotifyManager.notify(id, notif);
    }
...

I thought, that mCallBackExecutor in DownloadRequestQueue class execute onProgress method in separate runnable, not in main thread.
Ok, I tried change method postProgressUpdate in CallBackDelivery - subclass of DownloadRequestQueue like this:
	public void postProgressUpdate(final DownloadRequest request, final long totalBytes, final long downloadedBytes, final int progress) {
		Thread t = new Thread(new Runnable() {
			public void run() {
				request.getDownloadListener().onProgress(request.getDownloadId(), totalBytes, downloadedBytes, progress);
			}
		});
		t.start();
	}

And got no effect, I still get freezes.
Could you add download with notifications?

The CallBackDelivery is created with handler created from mainLopper. So the progress callback is given to you on main thread. Otherwise you cannot access UI elements in this callback.

public DownloadRequestQueue() {
		mDownloadDispatchers = new DownloadDispatcher[DEFAULT_DOWNLOAD_THREAD_POOL_SIZE];
		mDelivery = new CallBackDelivery(new Handler(Looper.getMainLooper()));
	}

Don't create a new thread everytime to post a progress update which is wrong.

Just comment the lines one by one in onProgress method and see which is causing freezing.

The library purpose is to avoid using "DOWNLOAD_WITHOUT_NOTIFICATION" permission in your manifest. And your purpose is to show notification to users. You can very well use Android provided DownloadManager.

The problem is that Android DownloadManager don't download files of authorized dropbox user, every time I get 1008 error - download canceled. That's why I search alternative.
mNotifyManager.notify(id, notif); - this string causing freezing. So, you say that there is no simple method to implement notifications with progressbar in your library?

The library will not provide notifications & progress bar. It is the integrators choice to implement the progress bar or notifications in the call back. You need to find why NotifyManager.notify is causing freeze.

use this method, I hope this fix your issue
https://stackoverflow.com/a/17345996/4133449


Inheritance Tool:

The Home Page should say "Security and Inheritance"

Very important Learn More screen that will also pop up initially - how it is about keeping all keys safely with an eye on inheritance

These will be:
a. For the User for improving security:
i. Improve security - by ordering best Signers - discount codes for all on the screen
ii. Safeguarding Tips - a wizard and not a document
b.Set up Canary wallets - info only screen. Setting in each Signer to help this.
c.Wallet Configuration backup:
i.App Recovery Phrase - info on why these 12 words are important - as it saves all meta data including the vault
configuration files that you don't have to download separately. Kick off the saving of recovery phrase
ii.Download all wallet descriptors - one document containing all wallet descriptors at that point
d. For inheritance
i. Inheritance Key - info and then initiating the process to set it up
ii. Letter to the Attorney - same as now. User will be told to download it and edit it if they want before printing or
sharing
iii.Recovery Instructions - info that it is general only - then document
e. Templates:
i.Signer recovery phrase template - info then doc in small size
ii.Trusted Individuals list - info on how it can be used etc - then document
iii.Additional Signers/ Key details - info of when to use and why - then document
f. Key Safe Kit - what it may contain and why - a wizard not a document

Ability to backup the data on their own cloud (not just the BitHyve server)

The user can access these anytime. If some of them change they will have an orange dot on them. If the user accesses it, the dot goes away. All also have "Last viewed" time stamp

I have reordered the items in 3 catogries:

Key Security
Backup and Recovery
Inheritance Tools

https://xd.adobe.com/view/f1543c84-c25a-4ad6-81ca-1e0c540e956e-a407/screen/bfb7d0eb-d8e0-442c-bf32-b90a0e5fd2e9/

Verified this issue on keeper app v 1.2.1(324)


translations - missing translations

What happened:
Translations not working after switching language from Settings page

What you expected to happen:
How to reproduce it
(as minimally and precisely as possible):
Anything else we need to know?:

Acceptance Criteria
Expected: Translation should apply for DEX screen & functions
Android:
Change language to German / Chinese > DEX screen > check:

[ ] Check whole screen's translation

iOS:
Change language to German / Chinese > DEX screen > check:

[ ] Check whole screen's translation


Trial gradio for interface to run SQL

Or basically run anything that takes an input and runs a function on the data.
https://www.gradio.app/guides/connecting-to-a-database

Also allows share interface from laptop


Environment variables from the environment are ignored

Do NOT ignore this template or your issue will have a very high chance to be closed without comment.

Describe the bug
Only variables from .env files are loaded. Environment variables starting with VITE_, but defined outside .env files are not included in import.meta.env.
Reproduction

Start vite within an environment containing variables starting with VITE_, using cross-env or other methods.
These variables won't be available to the application, even though they are to the process

https://github.com/Maronato/vite-env-repro
System Info

required vite version: v1.0.0-beta.12
required Operating System: macOS 10.15.5
required Node version: v12.17.0
Optional:

yarn version: 1.22.4
Installed vue version: 3.0.0-beta.24
Installed @vue/compiler-sfc version: 3.0.0-beta.24

Logs (Optional if provided reproduction)
yarn run v1.22.4
warning package.json: No license field
warning ../package.json: No license field
$ cross-env VITE_CROSS_ENV=crossEnvVariable vite --debug
vite v1.0.0-beta.12
  vite:config env mode: development +0ms
[dotenv][DEBUG] did not match key and value when parsing line 2:
  vite:config env: { VITE_DOT_ENV: 'dotEnvVariable' } +2ms
  vite:optimize Hash is consistent. Skipping. Use --force to override. +0ms
Port 3000 is in use, trying another one...
  vite:optimize Hash is consistent. Skipping. Use --force to override. +107ms

  Dev server running at:
  > Local:    http://localhost:3000/
  > Network:  http://<IP_ADDRESS>:3000/
  > Network:  ***:3000/

  vite:server server ready in 502ms. +0ms
  vite:hmr         / imports /src/main.js +0ms
  vite:rewrite (skipped) / +0ms
  vite:rewrite /src/main.js: rewriting +36ms
  vite:rewrite     "vue" --><EMAIL_ADDRESS>+2ms
  vite:hmr         /src/main.js imports<EMAIL_ADDRESS>+38ms
  vite:rewrite     "./App.vue" --> "/src/App.vue" +1ms
  vite:hmr         /src/main.js imports /src/App.vue +1ms
  vite:rewrite     "./index.css" --> "/src/index.css?import" +1ms
  vite:hmr         /src/main.js imports /src/index.css +1ms
  vite:rewrite (skipped) /vite/hmr +62ms
  vite:resolve (optimized) vue.js -> node_modules/.vite_opt_cache/vue.js +0ms
  vite:rewrite<EMAIL_ADDRESS>no imports found. +9ms
  vite:sfc /Users/maronato/Documents/misc/temp/dotenv/src/App.vue parsed in 7ms. +0ms
  vite:rewrite /src/App.vue: rewriting +13ms
  vite:rewrite     "./components/HelloWorld.vue" --> "/src/components/HelloWorld.vue" +1ms
  vite:hmr         /src/App.vue imports /src/components/HelloWorld.vue +85ms
  vite:hmr ws client connected +4ms
  vite:sfc /Users/maronato/Documents/misc/temp/dotenv/src/App.vue parse cache hit +12ms
  vite:sfc /src/App.vue template compiled in 12ms. +12ms
  vite:rewrite (skipped) /src/App.vue?type=template +20ms
  vite:sfc /Users/maronato/Documents/misc/temp/dotenv/src/components/HelloWorld.vue parsed in 3ms. +7ms
  vite:rewrite /src/components/HelloWorld.vue: rewriting +6ms
  vite:rewrite     injecting import.meta.env for /src/components/HelloWorld.vue +0ms
  vite:rewrite /vite/env: no imports found. +70ms
  vite:sfc /Users/maronato/Documents/misc/temp/dotenv/src/components/HelloWorld.vue parse cache hit +71ms
  vite:sfc /src/components/HelloWorld.vue template compiled in 10ms. +10ms
  vite:rewrite (skipped) /src/components/HelloWorld.vue?type=template +12ms
  vite:rewrite (skipped) /src/index.css?import +5ms
  vite:rewrite (skipped) /src/assets/logo.png +18ms

That's intended. If you want to explicit expose a actual env variable, you can expand it in .env:
VITE_EXPOSED=$SOME_VAR

This issue has caused me some hours because I couldn't figure out why the deployed app is failing even when the env VITE_* is set. I think the project doc/readme could have made it more explicit. 😞

@yyx990803

That's intended. If you want to explicitly expose a actual env variable, you can expand it in .env

Seems like that's not possible with tools like Netlify (they have an interface for env variables and then they (I think) pass them as CLI parameters)
I thought env params approach when CLI is used directly is pretty common. What was the intention to handle them from the files only?

This should be fixed in 956cd2c

This should be fixed in 956cd2c

@yyx990803

That's intended. If you want to explicitly expose a actual env variable, you can expand it in .env

Seems like that's not possible with tools like Netlify (they have an interface for env variables and then they (I think) pass them as CLI parameters)
I thought env params approach when CLI is used directly is pretty common. What was the intention to handle them from the files only?
For anyone who will search for the same issue - I solved it by using define setting in vite.config.js like this:
import path from 'path'
import vue from '@vitejs/plugin-vue'

const viteEnv = {}
Object.keys(process.env).forEach((key) => {
  if (key.startsWith(`VITE_`)) {
    viteEnv[`import.meta.env.${key}`] = process.env[key]
  }
})

export default {
  alias: {
    '@': require('path').resolve(__dirname, 'src')
  },
  define: viteEnv,
  plugins: [
    vue()
  ]
}

Could you please provide a snippet of how is the defined "viteEnv" later used within code ?
I've tried exactly same thing but this
import.meta.env.VITE_VUE_APP_API_URL
gives in an error with Typescript/vue3,
Property 'env' does not exist on type 'ImportMeta'.ts(2339)

Did you do this? https://vitejs.dev/guide/features.html#client-types

What about server side "only" env vars? I can easily use VITE_ prefixed env vars with import.meta.env but if I add non VITE_* vars to the .env file, they are not exposed internally.
Example
FIREBASE_CLIENT_EMAIL="this should not be available to the client"
FIREBASE_PRIVATE_KEY="this should not be available to the client"
VITE_FIREBASE_API_KEY=
VITE_FIREBASE_AUTH_DOMAIN=
VITE_FIREBASE_DATABASE_URL=
VITE_FIREBASE_PROJECT_ID=
VITE_FIREBASE_STORAGE_BUCKET=
VITE_FIREBASE_MESSAGING_SENDER_ID=
VITE_FIREBASE_APP_ID=
VITE_FIREBASE_MEASUREMENT_ID=G-KMNHBJCSWT

What about server side "only" env vars? I can easily use VITE_ prefixed env vars with import.meta.env but if I add non VITE_* vars to the .env file, they are not exposed internally.
Example

FIREBASE_CLIENT_EMAIL="this should not be available to the client"

FIREBASE_PRIVATE_KEY="this should not be available to the client"

VITE_FIREBASE_API_KEY=

VITE_FIREBASE_AUTH_DOMAIN=

VITE_FIREBASE_DATABASE_URL=

VITE_FIREBASE_PROJECT_ID=

VITE_FIREBASE_STORAGE_BUCKET=

VITE_FIREBASE_MESSAGING_SENDER_ID=

VITE_FIREBASE_APP_ID=

VITE_FIREBASE_MEASUREMENT_ID=G-KMNHBJCSWT

I'm stuck too with SvelteKit for server routes

@aiibe if the question is about Vite, please start a GitHub Discussion or join the chat at Vite Land. We have a #svelte channel there. Comments on old closed issues will probably get lost.
About this particular problem, you could also join https://svelte.dev/chat
If there is a concrete bug, please create a minimal reproduction and a new issue.


add libffi-dev to Dockerfile

This was sufficient to get ctypes to import successfully in the Linux support package, and may fix https://github.com/beeware/briefcase/issues/407
I'm sure you'll know a better way to test/confirm this, but I tested by running make locally, then uploading the dist/Python-3.8-linux-x86_64-support.b1 somewhere I could access it on CI... then in github actions, downloaded, expanded, and ran python -c "import ctypes" ... It worked, but had previously failed with the current support package.

FYI: I've now published 3.8-b2, 3.7-b2, 3.6-b2 and 3.5-b2 support packages that include this fix.

Thanks!


add more detailed errors when formulas can't be evaluated

Looks good. I'd been wanting to change this.
Is this ready for merging?

yes

@Sandertv Can you tag please.

Done.


Error when opening input file

Hi,
I have the following file structure.
|--main.tex
|--sections
   |-- some_file.tex

I input some_file.tex in main.tex. When I open some_file.tex for editing, I get the following error:
Error detected while processing function latex#init..<SNR>130_init_environment..<SNR>130_get_main..<SNR>130_get_main_recurse:
line   25:
E118: Too many arguments for function: globpath
E15: Invalid expression: globpath(l:dirs, '*.tex', 0, 1)
line   30:
E121: Undefined variable: l:candidates
E15: Invalid expression: l:candidates

Any Idea what's going on?

Just to further confirm: I also had this problem and found that the fix also works for me. Thanks!

Glad to hear it :)


Switch to OAuth 2

Switch to OAuth 2 from HTTP Basic Auth and OAuth 1.0a. They are being deprecated.
See https://github.com/openstreetmap/operations/issues/867
cc: @GRABOSM

OAuth has now been depreciated meaning it is no longer possible to use these scripts to contribute to Kartaview.
This needs urgent attention.

Hello @danieldegroot2 and @trigpoint ,
Thank you for addressing the issue. Our Engineering Team is looking into it, we will post updates here.

Hello! Just wondering if there's any progress on this as I'm unable to upload anything at present.
Many thanks in advance. Looking forward to being able to use this tool to contribute more extensively to Kartaview in the near future.

fixed by

@salabogdan Thank you so much! I just tested it and can confirm this now works. (Command line on Windows 11 in my case). Really appreciate you doing this!

Hello @danieldegroot2 and @trigpoint,
The OAuth issue is fixed now, please feel free to give it a try. Thank you @salabogdan!

@GRABOSM  Indeed, I've been testing it and the upload function is working very well! Thank you! (Hopefully the new issue where no uploads are processing will be fixed soon too. Then it'll be even better 😄. Who can I contact about it? No Kartaview uploads have been processed for the last 7 days) I've tried emailing Gab/Kartaview but heard nothing. I can't post about it here because it's unrelated to the upload scripts.

No Kartaview uploads have been processed for the last 7 days)

Hi @davebulow,
The issue has been resolved now, please check your previous sequence. Please try to upload new tracks to check, and let us know if you face any latency.
Happy contributing and Mapping!


New permissions metadata

Here is a PR of a prototype new format for modelling permissions for Microsoft Graph.  These files were based off the data used by Graph Explorer.

Do you have a link to the spec it's following? We should probably define a JSON schema for it as well. (validation, versioning, etc...)


Update filters with added python source code encoding for xc2 error

Signed-off-by: ddimatos<EMAIL_ADDRESS>Both filters below did not have an encoding defined in the Python source which on my system threw a "Non-ASCII character '\xc2' in file error".
This should correct both plugins:

/host_setup/filter_plugins/command_paths.py
zos_administration/host_setup/filter_plugins/command_strings.py

@richp405 - thanks a bunch


migrate wine-devel to cask/versions

see also https://github.com/caskroom/homebrew-cask/pull/31768#issuecomment-290995041, https://github.com/caskroom/homebrew-versions/pull/3568

Thank you.


docs(extra-files) add howto

Add a howto for --extra-files
#283

Appreciate the feedback!  Let me know if everything is addressed and I will squash.

Thank you!


unit test and import related comments fix.

Replaced unittest module with base test module

Changed TODO to REVISIT

import modules arranged with sections.
@mak-454 @njagadish please review the changes.

Changes are fine.


Use project compile classpath in ApiSource#getValidClasses

In case of maven multi modules, each modules publishing it's own API, the module build in second will also have the API of the module build in first.
Because in ApiSource#getValidClasses, new Reflections("").getTypesAnnotatedWith will finally use class loader in org.reflections.util.ClasspathHelper#contextClassLoader, which is the class loader of the mvn process.
To solve this, please forward project compile class (available in ApiDocumentMojo#project.getCompileClasspathElements) to Reflections builder

pr attached, feel free to reformat and adapt with your own qa level, but the logic is here


ADB logcat spamming "Broken atom of size 0" and crashing

Hopefully this is the right spot, I googled and this is the only place I can find that particular error.
It says System.out ERROR : broken atom of size 0
I'm on a Nokia 2.4, brand new phone, not bootloader unlocked or rooted or anything. Barely any additional apps installed and no new apps that are video/audio except I did disable YouTube and installed YouTube vanced.
I had to look at logcat today and noticed this error was spamming so much I could literally get no other info from the log. It would flood that error then crash. I've tried uninstalling YouTube vanced but same thing. I'm pretty sure it's making my phone extremely slow too.
Has anyone encountered to before it know what to do?

Thank you for reporting. Are you seeing excessive logs from your own application that you develop or is it just coming from the phone itself?

Hey, I'm sorry, I tried checking again and uninstalled ALL of the vanced
stuff including the manager and microg and the error went away. Must have
been something to do with that. Sorry about that
On Mon, May 31, 2021, 21:00 jcodec @.***> wrote:

Thank you for reporting. Are you seeing excessive logs from your own
application that you develop or is it just coming from the phone itself?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jcodec/jcodec/issues/463#issuecomment-851787155, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAA6TWA7TJRL73AIR4KCVYDTQRLPFANCNFSM453YCIBA
.

Maybe it makes sense to report this problem to Vanced team if you haven't already.


flake8 support

Add support for formatting flake8 sections.

All possible options for flake8: 🙈
https://flake8.pycqa.org/en/latest/user/options.html

We don't have to support all out of box 🤔 maybe a few common ones just first and iterate on it.

I gave this a shot and it kinda works, but once again there is this "comment" topic.
While #42 is about deleted comments, when parsing one of my production tox.ini files with a flake8 section I encountered the problem of inline comments. Allowed or not ( https://github.com/tox-dev/tox/issues/50 ), they work for third party tools.
[flake8]
ignore =
    W504, # line break after binary operator
quiet = 1

Whereas the comment in theConfigParser._read function says inline comments get stripped, this one does not:
https://github.com/python/cpython/blob/96a60ae90c291d94c058c80351fa38b6d73eda92/Lib/configparser.py#L567
(Pdb++) parser[section_name]
<Section: flake8>
(Pdb++) parser[section_name].items()
ItemsView(<Section: flake8>)
(Pdb++) list(parser[section_name].items())
[('ignore', '\nW504, # line break after binary operator')]

So, before going down the rabbithole and debugging ConfigParser itself...
What's your take on the whole comment story?

These nowadays should live within pyproject.toml so this will be a won't do.


[IOS] Call ends as soon as a number is dialed

I have successfully installed this plugin for my IOS app and its all stable and everything gets registered. I receive the logs too "registered for push notifications" but as soon as I call to any number it takes me to call screen and within few seconds it takes me back to my home screen. The logs that are like calling from nil to nil and then a couple for callevent logs saying call started and then more callevent logs of call ended. Let me know if there is any fix to this. I'm using the latest version of XCODE and testing it on lastest IOS.

Seems like you are using a simulator. To make an outbound call, you need to run app on a physical device.

@alzihadi Yeah, I figured it out later that day. Thanks!


Add country code to country field

It would be nice to add the country code to the country field. This would help, to distinguish  between different countries more easily.
So, e.g. for China the country field would look like China (CN) instead of only showing China.

Not sure what would that accomplish. It would make the CLI slow though. That's why I'm trying to avoid it. Right now you can search for the name of any country in your terminal. Care to share.

Awesome. I tried to check for Sierra Leone. But no result found. Is it that you tracking only countries that have reported a case thus far? If yes then it's okay but I suggest you change the message when a country with no recorded case is found instead of the current message.
Thank you.


ezTransXP translator throws UnityException

What I did

Delete generated translations.
Run a game with ezTransXP translator.

What I expected
Translated UI elements. And it worked with pre-generated translations.
What I got
UI elements are not translated. The following is the exception message.
UnityException: get_dataPath can only be called from the main thread.
Constructors and field initializers will be executed from the loading thread when loading a scene.
Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
  at (wrapper managed-to-native) UnityEngine.Application:get_dataPath ()
  at XUnity.Common.Constants.Paths..cctor () [0x00000] in <filename unknown>:0
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for XUnity.Common.Constants.Paths

UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEngine.UnhandledExceptionHandler:<RegisterUECatcher>m__0(Object, UnhandledExceptionEventArgs)

(Filename:  Line: -1)

XUnity.AutoTranslator-BepIn-5x-4.14.0.zip
XUnity.AutoTranslator-ReiPatcher-4.14.0.zip
I think this version should fix it.

I checked that version resolves the exception. Maybe you have a commit to contribute. If that is merged to this repository, feel free to close this.

Will be included in next release, but source is not checked into origin/master yet. Will close issue once that is done.

Now included in 4.15.0.


Focus Report Changes

Please merge this into dev.  The engagement type and CEC filters still need work and the clickable to community partner details is not working yet.  I will finish those up tomorrow after work.  Thanks!
Files Changed:
home\templates\reports\ProjectPartnerInfo_rev.html - Removed
home\templates\reports\ProjectPartnerInfo_old.html - Added
home\templates\reports\ProjectPartnerInfo.html
home\urls.py
home\views.py
UnoCPI\sqlfiles.py

merged

merged


doc: settings Misleading examples

In both examples function foo_settings_set is used as .h_set callback. There is settings_val_read_cb(value_ctx, &foo_val, sizeof(foo_val)); used as return value. The function typically returns number of bytes read, which is treated as error code by callback (when there is no error, zero should be returned).
This makes documentation misleading for reader.

@MarekPieta @nvlsianpu  is this going to make it to 2.0.0 release?


[data-broker] Wrong variable use in FilterManager

In the function checkFilter(), the variable notification must be used, since it is the parsed JSON of the string msg, but in line 80 the variable msg is being used, making the condition to be always false. This can result in a filter not being applied.

Done.


UI issues.

The Confirm and Send button is sticking to the bottom line.

The text is being cut.

Text is coming on second line in android device.In iphone device it is in one line.
Tested on dev app v2.0.68(414)

Verified this issue on dev app v2.0.68(415)


problem with compiling visual c projects

Description
some header files are missing.  I also could not find them in mbedTLS file's list.
#include "mbedtls/asn1.h"
#include "mbedtls/pk.h"

Hi!
These are both under the crypto/include/mbedtls directory. If those are not present, are you sure you cloned the project with --recursive ?

Do you still have this problem with the latest mbedtls development branch? The crypto files have been merged back into the toplevel directory, there is no more crypto submodule.

hi thanks for your attention. I do not have this problem anymore.


troubleshoot issue with installing unittest plugin

I'm going to close this one. I don't think this will help. It's more likely that my PR against helm-unittest will help because we are hitting the github api rate limit.


Using the use of logging.debug() in FF3 breaks our structured logging system

We are currently using structlog in our application and I noticed a weird bug when using the FF3 package.
As soon as FF3 gets used in our code our structured logging breaks. This seems to be due to the use of logging.debug() in the FF3 package. We believe that its because logging.debug() uses the root logger.
Here an example of the use of this function in the FF3 code:
logging.debug(f"Tweak: {tweak}, tweakBytes:{tweakBytes.hex()}")
We suggest switching it to using a named logger like this:
logger = logging.getLogger(__name__)
logger.debug(f"Tweak: {tweak}, tweakBytes:{tweakBytes.hex()}")

Thanks for this, I see the python docs say "Note that Loggers should NEVER be instantiated directly, but always through the module-level function logging.getLogger(name)."   https://docs.python.org/3/library/logging.html
I'll look to fix this, or feel free to provide a PR.

@bschoening
This quote:

Note that Loggers should NEVER be instantiated directly, but always through the module-level function logging.getLogger(name).

refers to do this:
logger = logging.getLogger(name)

and NEVER this:
logger = logging.Logger()

The code of FF3 is not wrong in that matter.
However, I strongly believe it is a better practice to use a logger through logging.getLogger(name) rather than the root logger in python modules.
I would still recommend to do the fix, but for the good reason.


Add [Gate.io] #memo-required GBC6NR…42RINW

Address: GBC6NRTTQLRCABQHIR5J4R4YDJWFWRAO4ZRQIM2SVI5GSIZ2HZ42RINW
Tags: memo-required
Title: Gate.io
Requested by @willpierre1

I made a transaction for<PHONE_NUMBER> XLM and I forgot to add the memo number:<PHONE_NUMBER>

@Willpierre1 this is combined with https://github.com/stellar-expert/public-directory/issues/391


I Want to ask next，add template How to jump?

``

https://codepen.io/fdango/pen/zjBvNq?editors=1010


Dual External Monitor Support

Hi,
I cant get Dual External Monitor Support on my Thinkpad T460s I can use my Internal and 1 External Screen but can't get 2 External Screens to work. Is this just not possible or is there an easy workaround for my problem.
Thanks in advance.

Hi, do you still experiencing this issue? It works for me just fine. Which port is the one that produces this issue?

I'm closing this for lack of activity and also I think this problem was solved a few updates back


Keybinds does not work

I cannot go to previous line by presing backspace on the first character of the current line. this movement:
https://github.com/user-attachments/assets/59ef84df-ff23-45bf-8db1-957228ffa6de

I cannot navigate with option (alt) + shift + right/left arrows
I cannot navigate the autocomplete box with up and down buttons

What could have gone wrong?
repo: https://github.com/caner-cetin/otuzbir.tv
vsc config:
import * as vscode from "vscode";
import getEditorServiceOverride from "@codingame/monaco-vscode-editor-service-override";
import getKeybindingsServiceOverride from "@codingame/monaco-vscode-keybindings-service-override";
import getVscodeEditorServiceOverride from "@codingame/monaco-vscode-editor-service-override";
import getThemeServiceOverride from "@codingame/monaco-vscode-theme-service-override";
import getTextmateServiceOverride from "@codingame/monaco-vscode-textmate-service-override";
import getStorageServiceOverride from "@codingame/monaco-vscode-storage-service-override";
import "@codingame/monaco-vscode-python-default-extension";
import { LogLevel } from "vscode/services";
import { createUrl, type WrapperConfig } from "monaco-editor-wrapper";
import { useOpenEditorStub } from "monaco-editor-wrapper/vscode/services";
import type { MonacoLanguageClient } from "monaco-languageclient";
import {
	toSocket,
	WebSocketMessageReader,
	WebSocketMessageWriter,
} from "vscode-ws-jsonrpc";
import type { MonacoEditorWrapperProps } from "../components/Editor";
import { configureMonacoWorkers } from "./configureLSPWorkers";

export const VSConfig = (
	workspaceRoot: string,
	code: string,
	codeUri: string,
	props: MonacoEditorWrapperProps,
): WrapperConfig => {
	const url = createUrl({
		secured: props.lspSecured,
		host: props.lspHost,
		port: props.lspPort,
		path: props.lspPath,
	});
	const webSocket = new WebSocket(url);
	const iWebSocket = toSocket(webSocket);
	const reader = new WebSocketMessageReader(iWebSocket);
	const writer = new WebSocketMessageWriter(iWebSocket);

	return {
		languageClientConfigs: {
			python: {
				languageId: "python",
				name: "Python Language Server Example",
				connection: {
					options: {
						$type: "WebSocketDirect",
						webSocket: webSocket,
						startOptions: {
							onCall: (languageClient?: MonacoLanguageClient) => {
								setTimeout(() => {
									// biome-ignore lint/complexity/noForEach: <explanation>
									["pyright.restartserver", "pyright.organizeimports"].forEach(
										(cmdName) => {
											vscode.commands.registerCommand(
												cmdName,
												(...args: unknown[]) => {
													languageClient?.sendRequest(
														"workspace/executeCommand",
														{ command: cmdName, arguments: args },
													);
												},
											);
										},
									);
								}, 250);
							},
							reportStatus: true,
						},
					},
					messageTransports: { reader, writer },
				},
				clientOptions: {
					documentSelector: ["python"],
					workspaceFolder: {
						index: 0,
						name: "workspace",
						uri: vscode.Uri.parse(workspaceRoot),
					},
				},
			},
		},
		logLevel: LogLevel.Debug,
		vscodeApiConfig: {
			userServices: {
				...getKeybindingsServiceOverride(),
				...getThemeServiceOverride(),
				...getTextmateServiceOverride(),
				...getStorageServiceOverride(),
				...getEditorServiceOverride(useOpenEditorStub),
				...getVscodeEditorServiceOverride(useOpenEditorStub),
			},
			userConfiguration: {
				json: JSON.stringify({
					"workbench.colorTheme": "Default Dark Modern",
					"editor.guides.bracketPairsHorizontal": "active",
					"editor.wordBasedSuggestions": "off",
					"editor.experimental.asyncTokenization": true,
				}),
			},
		},
		editorAppConfig: {
			$type: "extended",
			codeResources: {
				main: {
					text: code,
					uri: codeUri,
				},
			},
			loadThemes: true,
			useDiffEditor: false,
			monacoWorkerFactory: configureMonacoWorkers,
			htmlContainer: document.getElementById("monaco-editor-root")!,
		},
	};
};

Hum something is broken, especially the first one, which is probably not about keybindings but something much more broken
Are you able to reproduce in another browser? or in the demo here?
If you want me to investigate, please provide a minimal reproduction repository

@CGNonofr managed to replicate it https://github.com/caner-cetin/monaco-vscode-api-511, this is as slim as it can get. lmk if there is still too much unnecessary stuff

I'm not able to run your repo, I'm also not familliar with bun so I've use npm
I get this error:

Uhhhh, I dont know what is wrong. Also tried with npm i && npm run dev and bun i && bun dev it loads fine for me. PNPM also works fine :/

One of the react strict mode is to make sure your component lifecycle are well defined, and it tests it by mouting, demouting and remonting every component in dev mode. it shouldn't be an issue, except if you initialize global stuff in your component

Btw a meaningful error was present in the console

Yeah, I probably dismissed/overlooked that error. sorry... thanks again a bunch, sorry.


TUNIC yaml

Adding the TUNIC yaml. I'm getting feedback, but it's not the end of the world if this gets merged then I put up another PR to adjust it, eh?

Of note, I did not put any thought into the weight. I'm just going to assume that whoever is in charge will come up with a weight, so just putting a fairly default-feeling value.


Feature/zero n dim support

Brief
This PR adds N == 0 support for grouped GEMM
Tasks

[x] relax minimal N dim size during code generating
[x] relax inputs check while N == 0
[x] early return in kernel if N == 0
[x] in number of workitem calculation, take N == 0  into consideration.

Add test cases for this in CI


Bind not serving local addresses

I just set up a new Ubuntu VM and set up steamcache and steamcache-dns containers. Steamcache-dns will answer non-local queries (i.e. google.com), but it does not reply with an answer to queries for locally stored addresses (i.e. steamcontent.com).
I have tried spinning up a fresh VM and setting up from scratch, but the issue persists. Any insight would be appreciated.

Another note: Following the setup instructions strictly, I received an error that the steamcache-dns container could not bind to port 53. Ubuntu still had systemd-resolve bound to the port. I was able to start the container after disabling systemd-resolved.service, but I wasn't sure if this was how it was intended.

Regarding port 53/UDP already being in use, This is an issue with dnsmasq, it binds to <IP_ADDRESS>:53, This means that you cannot use -p 53:53/udp to start the docker container, instead you should define your IP that you want it bound to.
For example, if you're IP is <IP_ADDRESS> you would use: -p <IP_ADDRESS>:53:53/udp
To answer your initial question we're going to need more information, Please paste in the command you ran to run the container (docker run ...)

Thanks for the quick attention. I've updated my command with your advice on -p to below.
docker run --name stcamcache-dns -d --restart=always -p <IP_ADDRESS>:53:53/udp -e STEAMCACHE_IP=$STEAMCACHE_IP steamcache/steamcache-dns


Update head.nix

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Hey, thanks for your PR. Can you please give this PR a more expressive title and change the commit message to something conforming to the contributor's guide? Also changes to the Haskell infrastructure please go to the haskell-updates branch.
Also, have you tested your change. Have you tried it? Alternatively, we probably need ofBorg to succeed with the build.


Add Re-Register and fix ELB cache panic

This PR fixes two issues.

Registrator wasn't reregistering if a instance drops out of eureka.  This was causing an issue with local development when a user would wake their computer from sleep.  We now re-register if we receive a 404 from a heartbeat.

Registrator will cause a panic if no ELB data is returned from cache, which can happen if the ELB is deleted.  This adds a fix for that and a unit test.

@chrisgilbert would you be able to do a full CR of this when you get a chance?

accidentally hit close and comment


getBalances() returns currencies not currently offered on Binance

I'm using the Binance library in Xchange.  IE. CTR,IQ,123,BTM,ONG,VTHO,MEETONE,ATD,ELC...

Binance API has property symbols.status in GET /api/v1/exchangeInfo request. So they may send information about old markets. Just need to check this property to differentiate from deprecated pairs.


Marvin died 17 hours ago, any update?

Title says it all. Everyone hates the new replacement/placeholder. When will our good bot come back?

Marvin's up and running again now.


"@since" in new enum values no longer visible in Demo Kit v2

URL (minimal example if possible)
E.g. https://openui5nightly.hana.ondemand.com/api/sap.ui.core.TextAlign or https://openui5nightly.hana.ondemand.com/api/sap.ui.core.ValueState
Steps to reproduce the problem

Open one of the sample enum API reference pages
In the source code, it says that e.g. ValueState.Information is available @since 1.61:
https://github.com/SAP/openui5/blob/b81a1ff3d7f1a1c90dbdc95e20f0938e1fb0a746/src/sap.ui.core/src/sap/ui/core/library.js#L1757-L1763
Try to find that information in the above API reference page.

What is the expected result?
The information @since for new enum values is also visible in the Demo Kit.
Any other information? (attach screenshot if possible)
In the previous Demo Kit v1, the @since information is visible. See e.g. TextAlign.Initial in https://openui5nightly.hana.ondemand.com/1.48.4/#docs/api/symbols/sap.ui.core.TextAlign.html

The api.json at least contains the necessary information:
{
   "name":"sap.ui.core.ValueState.Information",
   "visibility":"public",
   "since":"1.61",
   "description":"
State is informative.
"
},

So it's just a matter of displaying it in the SDK's API Reference UI.

Hello,
An internal enhancement BLI will be created in order to have this implemented. The commit should resolve this issue.
Best regards,
Jordan

Closing since it's fixed with https://github.com/SAP/openui5/commit/a03cfc0e8988c379f9ee957864a498b7c17ccf35


Suggest widget in cell has wrong highlight color

Have seen this sometimes but not always:

It turns out that a rule with .monaco-list-row.focused is matching because this is the focused notebook list row, so it's a list within a list. And also there are two CSS rules matching, and the order that they end up in the dynamic rulesheet is arbitrary, so sometimes I see this and sometimes I don't.

Duplicate of https://github.com/microsoft/vscode/issues/134403


PerfDataExtension - StartTime role assigned to Timestamp column

Should resolve #127

Please also rev plugin version

Please also rev plugin version

The plugin version got revved for the Utility changes, but I don't think we've released since then, so I think it's already sufficiently revved.


build: update AX_CXX_COMPILE_STDCXX to serial 18

Downloaded the latest version available from https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html at the time of writing. This allows configuring for up to c++20.
Prerequisite for getting c++17 to work because the current version (4) only supports up to c++14.

I've added "rebase needed" - although it can be done separately, ideally this goes in after #3492, to run CI over a larger test surface when we touch this kind of stuff.

rebased to trigger a c++14 CI run

Note: if we want to solve #3547, we'll need this to enable support for c++17 through autoconf.

utACK. no differences from  and

All tests pass and code looks good, but in my local checkout I see that the name Jörn is somehow misrendered. I see the same in the diff as shown on GitHub; is there a missing file encoding we need to add?

[..] in my local checkout I see that the name Jörn is somehow misrendered. I see the same in the diff as shown on GitHub; is there a missing file encoding we need to add?

This appears to be an upstream issue, not ours, because the same character sequence is shown in GNU's repo
I propose to keep it the same as upstream - we get better traceability that way, and it's not up to us what the copyright line should say anyway.

Agreed on matching upstream.


Adding Gmail account "Request aborted by client"

On adding Gmail account to Nylas Mail (v2.0.1) the following error is shown after good browser authorization:
"Sorry, we had trouble logging you in
"Request aborted by client"
Please try again. If you continue to see this error contact<EMAIL_ADDRESS>I'm in a institution which I know that do not allow sending email using google smtp server. I don't know if this is the problem but normally I setup the google account with my institution smtp server. However, nylas mail do not allow me to setup manually the google account locking the "Connect Account" button.

Getting the same error on fedora, here is the beginning of the log :

Error
at new APIError (/src/flux/errors.es6:57:19)
at Request. (/src/flux/nylas-api-request.es6:89:30)
at emitNone (events.js:86:13)
at Request.emit (events.js:185:7)
at Request.abort (/usr/share/nylas-mail/resources/app.asar/node_modules/request/request.js:1096:8)
at ClientRequest. (/usr/share/nylas-mail/resources/app.asar/node_modules/request/request.js:777:16)
at ClientRequest.g (events.js:286:16)
at emitNone (events.js:86:13)
at ClientRequest.emit (events.js:185:7)
at Socket.emitTimeout (_http_client.js:614:10)
at Socket.g (events.js:286:16)
at emitNone (events.js:86:13)
at Socket.emit (events.js:185:7)
at Socket._onTimeout (net.js:334:8)
at tryOnTimeout (timers.js:232:11)
at Timer.listOnTimeout (timers.js:202:5)

The same at Ubuntu 16.04

Same symptom on Mac (don't know about the logs)

Same on Mac -- and I've tried two gmail accounts (one personal, one g-suite). I've even tried removing the app altogether, along with Application Support components, and ~/.nylas_mail contents.

Same on Nylas 2.0.32, Ubuntu 16.04.

No one of Nylas care about this? That's rediculars!


ShareFileClient.uploadData() throws "RestError: The server is busy"

When using ShareFileClient.uploadData() to upload a 1GB buffer in a loop (as part of the file-share perf tests), it fails with an exception after a few minutes:
const buffer = Buffer.alloc(1024 * 1024 * 1024);
while (true) {
    await fileClient.uploadData(this.buffer);
}

RestError: The server is busy.
RequestId:615b0c8c-c01a-00df-552a-c2226c000000
Time:2021-10-16T01:09:55.9256207Z
    at handleErrorResponse (/home/mharder/js/sdk/core/core-http/src/policies/deserializationPolicy.ts:266:17)
    at /home/mharder/js/sdk/core/core-http/src/policies/deserializationPolicy.ts:171:47
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async StorageRetryPolicy.attemptSendRequest (/home/mharder/js/sdk/storage/storage-file-share/src/policies/StorageRetryPolicy.ts:159:18)
    at async StorageClientContext.sendOperationRequest (/home/mharder/js/sdk/core/core-http/src/serviceClient.ts:519:23)
    at async ShareFileClient.uploadRange (/home/mharder/js/sdk/storage/storage-file-share/src/Clients.ts:4055:14)
    at async /home/mharder/js/sdk/storage/storage-file-share/src/Clients.ts:4511:13
    at async /home/mharder/js/sdk/storage/storage-file-share/src/utils/Batch.ts:84:9

Hi @mikeharder ,
Storage server can occasionally report this kind of error. Uploading large file would have larger rate to encounter this kind of error on server. Usually, client side should retry when meets the error.  Currently, there's no retry mechanism for file uploading.    Still have no idea why this error occurs in JS but .Net works well. I didn't see retry mechanism in .Net code either..
Would your scenario requires to upload big files with SDK frequently? We'll add this - add retry mechanism in uploading/downloading - in our backlog as a feature request. Your scenario would help us to evaluate its priority.
Thanks
Emma

@EmmaZhu: This was found during JS perf testing, not a real-world scenario.

I see. Thanks a lot. I'll put this as a feature request/improvement in our backlog.


Why is the equal sign escaped in args to quote()

When converting an array or args into a string that might be saved to a file as a shell script, equal signs are escaped with a backslash. This is not necessary and makes the result script file harder to read. The superfluous escape is not incorrect, but unnecessary, and ugly.
I wonder why this escape is done, what purpose does it serve? Here's an example:
quote(["make", "CFLAGS=-DRELEASE"])

I expected the command line to be: make CFLAGS=-DRELEASE.
Instead, I got: make CFLAGS\=-DRELEASE (the \ is not necessary)
This behaviour seem to be implemented in quote.ts:
return String(s).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g, '$1\\$2');

I see on this list that other characters which have no special meaning to the shell are also quoted: '@', '^', '{' '}'
I would like to note from the manpage of bash:

Note that unlike the metacharacters ( and ), { and } are reserved words and must occur where a reserved word is permitted to be recognized.

This means the curly brackets are not metacharacters ("A character that, when unquoted, separates words.  One of
the following: |  & ; ( ) < > space tab newline"), they need not be escaped. Example:
$ echo {this-is-fine}
{this-is-fine}

$ echo "| this ( ) is ! also & fine > really ; and 'this' ... see ?"
| this ( ) is ! also & fine > really ; and 'this' ... see ?

$ echo "<quoted means not a metacharacter>"
<quoted means not a metacharacter>

Thanks!

This package isn't unique to bash; there's many other shells we might be used in - zsh, ksh, sh, dash, to name a few.
Given that the purpose an escaping library like this is correctness, and not readability of the output, I'm inclined to leave it as-is, since "too much escaping" is a trivial problem but breakage is a very expensive one.

So is there a shell where it would be incorrect to not quote the equal sign?
The problem with "too much escaping" is that more is not necessarily better.
For example, the simple implementation at quote.js#L8-9 is wrong.
In that case, a single-quoted string is created with backslashes used to escape single quotes and backslashes. This violates POSIX.1-2017 2.2.2:

A single-quote cannot occur within single-quotes.

This case cannot occur due to the !(/'/).test(s) condition, but the replace pattern does double up the backspaces, and it shouldn't. A user supplied 3-char string \ \ becomes a 5-char string \\ \\ after this treatment, because backslashes inside single quoted strings are not escape characters, ie, they don't need escaping, and escaping them breaks the string:
$ echo '\ \'
\ \

I am not focused on correctness; I'd be happy with good looking equal signs. 😉
Correctness can be someone else's battle.

Correctness should be everyone’s battle; it’s all that matters.
If you can provide some test cases that over-escaping breaks, I’ll be happy to fix them.

Test case:

user supplied 3-char string \ \

The output is meant to be used in double quotes, I think? echo "\\ \\" works fine.

The problem is that quote(['\\ \\']), ie, the 3-char input 5c 20 5c, returns '\\ \\', ie, the 7-char sequence 27 5c 5c 20 5c 5c 27 when it should return '\ \', ie, the 5-char sequence 27 5c 20 5c 27

For this case, the output "\\ \\", ie, the 7-char sequence 22 5c 5c 20 5c 5c 22 would also be correct, but less readable (a 3-char input represented in 7-char is 4 extra characters)

right - but the output of this library needs to work in double quotes, and echo "\ \" doesn't work.
Can you elaborate on why you want readability here?

why you want readability here

Eyeballs matter. Readability is useful when the output of the library is used in human-visible text like a blog, an email or a book, for instance by cut-and-pasting into a word processor.
Also, when a teacher wrote a command line on a blackboard, he would write it as echo '\ \' and not as echo "\\ \\". If the command line had any complexity, single quotes would be the tool of choice, not double quotes. A student or uninitiated reader would take the teacher's writing as authoritative over a textbook that used the more obfuscated quoting. The teacher shouldn't have to explain that some poorly written textbooks unnecessarily give the longer notation.
I use this lib to output diagnostics into a log file. Ie, when things go wrong, frustrated human eyeballs will be looking at my diagnostic output and scrutinize every byte. I don't want to add to the frustration by making that user unnecesarily interpret the more obfuscated, double-quoted notation.
If the output were only ever intended to be seen by a machine, it wouldn't matter how obfuscated it is.

I agree that readability is very important in a general sense.
If it's for human eyeballs and not a shell parser, why run it through this library at all?

I use this lib to output diagnostics into a log file

I use this lib to output diagnostics into a log file. Ie, when things go wrong, frustrated human eyeballs will be looking at my diagnostic output

Yes, I read that, but I'm still unclear why the output of this would end up in the log file. Either you're using shell commands to put it into the log file - where the shell will remove the escaping for you - or you're not, and you can put the unescaped output directly into the log file.
(heads up that when someone asks a clarifying question, it's very rude to just repeat the things you said. if they didn't understand the first time, then you need to phrase it differently, not repeat it, for them to understand it)

but I'm still unclear why the output of this would end up in the log file

The application spawns some subprocess with arguments given as an array of strings, similar to execve(executable_name, argv[]). The argv[] array in some way.
The spawning of this process is logged, and it needs to be in a format that:

should be as easy as possible for the user to understand, unambiguously.
should be able to be cut and pasted into a terminal window to correctly execute the same command, by first removing the escaping, then calling execve with exactly the same argv array that my application did.

Putting an unescaped command line would not allow any of these two objectives. Without the correct quoting it would be ambiguous, and could not be executed without manual tinkering.
My apologies for the need to repeat. It looked as if you had not read my entire earlier response, and asked a question that had been pre-emptively answered.

ahh ok, thanks. so you're saying that the humans aren't looking at the log file itself, they're looking at the log of the "command that logs to the file", which has commands that need some escaping.
How would this user "remove the escaping"? You can't generally just delete all backslashes to accomplish that.

How would this user "remove the escaping"? You can't generally just delete all backslashes to accomplish that.

The end user might cut and paste the logfile to stackoverflow, and hope for help from some pedantic nerd. Therefore, it must be correct, not some approximation of what was executed, to pass the scrutiny of someone skilled. Any missing or misplaced backslash will result in Ahhh... there's your problem - a well intentioned, but a wild goose chase all the same.
The end user can also attempt to re-run the command, possibly by slightly editing it, maybe to add something or remove something. Perhaps a trial-and-error process to find the exact offending argument, so they can correct the input to the application, devise some workaround, or make an informed report to the application developer. As that developer, I'm much more likely to give a swift, accurate solution when the bug reporter has already done some work to narrow down the root cause.
Just as you say, unquoting is not as simple as deleting some backslashes. On the flip side, in order to produce a working command line from an incorrect or unreadable approximation, it's not enough to add some backslashes or sprinkle some quotes. The user should not need to fix up a defective command line before cutting and pasting it into a terminal.
The end user could very well be a pedantic nerd with the command line surgery skills needed to fully diagnose and remedy the issue. Even then, I need to present in the diagnostic logfile information that is accurate and readable, to help them help themselves.

I totally agree that for your use case, you need something that can be copypasted verbatim and run on the CLI.
Certainly, if there's any inputs we accept that when outputted and executed in double quotes, something unexpected happens, we have a bug, and that should be fixed.
If all you want is to remove some of the escapes, it seems like wrapping (not forking) this library and doing so with its output would be a pretty maintainable approach?

Correctness should be everyone’s battle; it’s all that matters.
If you can provide some test cases that over-escaping breaks, I’ll be happy to fix them.

Looks like shell-quote is causing an issue in concurrently.
Nothing's wrong with correctness, but correctness is hard too proof and shell-quote seems to more like breaking a fly on the wheel as it is rather scarce on distinguishing when to escape what. Don't get me wrong for this might sound not the way I mean it, but after checking the readme rather briefly I'm wondering if shell-quote is even meant to support cmd.exe on windows at all. Is it?
If it is, escaping at least @ this generically seems to be wrong as it is passed by cmd.exe into the invoked command e.g. when running it like this:
C:\Users\cepharum\PhpstormProjects\UID\Logistics\WebClient\Source\UiNew>cmd /s /c node log.js --tags \@foo
[
  'C:\\Program Files\\nodejs\\node.exe',
  'C:\\Users\\cepharum\\PhpstormProjects\\UID\\Logistics\\WebClient\\Source\\UiNew\\log.js',
  '--tags',
  '\\@foo'
]

with a file log.js like this:
console.dir(process.argv);

Looks like using single quotes in cmd.exe isn't working either:
C:\Users\cepharum\PhpstormProjects\UID\Logistics\WebClient\Source\UiNew>cmd /s /c @node log.js --tags \@foo
[
  'C:\\Program Files\\nodejs\\node.exe',
  'C:\\Users\\cepharum\\PhpstormProjects\\UID\\Logistics\\WebClient\\Source\\UiNew\\log.js',
  '--tags',
  '\\@foo'
]

C:\Users\cepharum\PhpstormProjects\UID\Logistics\WebClient\Source\UiNew>cmd /s /c "@node log.js --tags \@foo"
[
  'C:\\Program Files\\nodejs\\node.exe',
  'C:\\Users\\cepharum\\PhpstormProjects\\UID\\Logistics\\WebClient\\Source\\UiNew\\log.js',
  '--tags',
  '\\@foo'
]

C:\Users\cepharum\PhpstormProjects\UID\Logistics\WebClient\Source\UiNew>cmd /s /c \@node log.js --tags \@foo
Der Befehl "\@node" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Users\cepharum\PhpstormProjects\UID\Logistics\WebClient\Source\UiNew>cmd /s /c '@node log.js --tags \@foo'
Der Befehl "'@node" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Pardon the German output but the errors are indicating that

escaping the @ even at the beginning of the line is wrong where it is usually used to suppress the invoked command from appear on screen when used in a batch file - without escaping cmd is simply ignoring it
using single quotes seems to be wrong there, too

@soletan it does indeed seem to support windows paths (based on PRs that predate my maintainership).
If there's a bug, then a PR with a reduced test case would be most helpful, with or without a fix - it's difficult for me to test on Windows but if there's a pre-existing PR then I can fire up a VM and check it.

Thanks for the confirmation.
Since we have an existing approach to escaping special shell characters in one of our own tools which I failed to thoroughly test myself, I might spend some more time on improving on the testing part there and let you know of any results or even provide a revision.

Thanks, that'd be great!

Okay, I've spent the weekend implementing a test trying options for escaping characters with and without wrapping them in single or double quotes. The resulting tool is generating configurations for tested shells. I've used this tool to create configurations for Windows' CMD and PowerShell. In addition, I've created a docker setup running the tool against several shells supported by Debian. As a result, there are about 10 different configuration files for as many different shells.
For testing the results, I've also implemented a slight method for quoting a single argument based on a selected configuration. As this is already working, I successfully integrated this approach with our tool I was mentioning before, too.
To conclude, tests reveal a rather diverse situation when it comes to escaping and quoting characters for use with different shells. However, I was struggling to see a way to integrate with your package

for your package seems to provide a combination of a parser and a quoter with my test results providing a more sophisticated solution for the quoter part, only, and
for your quoter part is working synchronously while having a maintainable support for different kinds of shells might require a more dynamic approach so that asynchronously fetching a used shell's configuration has become part of my apprach.

I hope you don't mind that I've decided to provide the results as a dedicated package on npm for now. Maybe, you see a way to integrate the results with your package so that other tools such as concurrently can benefit from it.

I guess I’m a bit confused. What i was hoping for was a set of test inputs and outputs, and then results for running those outputs on lots of shells.
I don’t see a value in minmal shell-specific quoting; what I’d want is this package to quote the union of what shells need, so the output can be used everywhere.

Okay, but there is no single union option. E.g., CMD requires ^ for escaping instead of . As mentioned before, CMD is requiring double quotes when arguments contain whitespace. It doesn't support to escape them without quotes. Powershell OTOH is benefitting more from single quotes when necessary. In addition, it is requiring single quote inside of single quoted argument to be doubled for escaping. Using backslash does not work there, too. Both Windows shells cause issues when using escape sequence on too many characters for they just keep the backslash when they don't deem it necessary. And Linux shells have a similar support for escaping, but it ain't equivalent.
So, I'm happy to see that one-for-all approach that's also correct in all possible scenarios and capable of recognizing whether some argument is safe to be passed eventually. Just have a \n in your arguments and most shells have issues with properly escaping/quoting that. In best case scenario, the \n just gets lost.

i guess it'd be fine to pivot based on OS - but shell detection is something i'd rather avoid.

Hm, maybe there is a misunderstanding here. The package I've created does not require you to pick or even detect a shell. In fact, its default behavior is to use the shell that is Node's default according to the documentation of its spawn() function - CMD.exe on Windows and /bin/sh on Linux. It is then using the related configuration that's ready for use. So, it is in fact solely relying on the platform to choose a shell's configuration by default. And there is no need to test or detect anything other than properly processing the provided configuration.
If you don't care for the shell, all you do is ask the helper function I've created for a configuration which is a set of regular expressions and mappings of characters that you can then use to quote arguments and even detect if the provided argument is capable of being safely quoted at all. You can do this all on your own or use another helper function I've implemented.
const { getShellConfigurationSync, quote } = require( "@cepharum/quoting-db" );
const configuration = getShellConfigurationSync();

const args = [ "--opt", "some argument with space", "--filter", "!$%><" ];
const quoted = args.map( arg => quote( arg, configuration ) );


Update TextFileParser.cpp

Added the commented functionality
Pull Request Type
What kind of change does this PR introduce?
[- ] Solved an issue/task
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
What is the current behavior?

Issue Number: [Insert Issue Number (if applicable)]
What is the new behavior?
Now cpp medium task done

Other information

Close due no response to the review.


improve use of siconos as a library

It's great that we have a concrete example where siconos could be use as a library by other softs.
However, I think that we could improve on the following topics:

we use exit() a lot of time when we encounter an error that we cannot deal with.
we use printf/fprintf a lot to report errors. However, it is sometimes not ideal, and when using multiples threads, the output is all mixed-up. We should be able to save those messages to a file, or to report it to a logging mechanism that the user can set.
we still have some global variables. My understanding is that we could convert a lot of those to thread_local variables (see tlsdef.h). This means that they are global, but only to a given thread (and not all of them).

There exists a standard mechanism (ANSI IIRC) for handling errors: setjmp/longtmp, which is known under the not-so-sexy name of non-local goto. See

man setjmp
http://www.di.unipi.it/~nids/docs/longjump_try_trow_catch.html
https://en.wikipedia.org/wiki/Setjmp.h
https://en.wikibooks.org/wiki/C_Programming/Coroutines#setjmp

Regarding the fatal error handling, I propose the following:

make sure that in the solvers (the function called in the driver), there is no exit() call, but that they always return (and the return code indicate the error).
Provide a standard error codes with a function to explain it (e.g. return a char* to a description of the error).
use setjmp/longjmp to provide a mechanism to deal with fatal errors in driver functions: if there is a fatal error during the execution, the program is going to jump back to the driver function and return properly.
ban the use of exit()

We would introduce a fatal_error() function that would do the following:

call the user-defined error handler if one has been set
call longjmp if the jmp_buf has been initialized
call abort(): this function sends a SIGABRT signal first, that can be intercepted if the user sets a signal handler.

Basically all the function in numerics/src/tools (+ the ones that computes error / projection) could call the fatal_error function. All the solver function must return. We would then advertise that only the driver functions have out of the box error handling, and that a custom error handling is available.
What do we gain from this: better use of siconos as a library and of the python bindings (ipython would no longer exit when we have a fatal error, a MATLAB interface would also benefit from that), and a better way to log messages.

Fully agrée with all your propositions. Great.
Is it possible to implement the solution for one critical exit in the code and then we duplicate
For the function that interprets the error code it is generally very convenient. The mechanism in the swig implementation  is very useful for instance

I think this is a good idea although it represents a lot of work to do, but probably worth it.
The only point on which I would exercise caution is specifying a global error handler.  We have no "Siconos context" object in which to register a handler, so it would have to be global.  (Unless it is something we could pass into Simulation and down into numerics.. but that sounds complicated.)  In general I prefer returning error codes to calling handlers when it comes to fatal errors.  Not so much for C++ programming practices but because it's easier to use when binding the library for other languages.  Indeed we'd have to make sure anything we do here is nicely Python-compatible.
If we do register a callback, let's make sure it has a field or parameter for a user struct or user context pointer so that it can be easily associated with data.

In terms of error codes, it would be good to have some standard set of return values, like 0 for no error and otherwise something else.  In fact new C++14 standards has std::optional, although it's present in boost as well.  Not sure we should use that however, but something along those lines can be very useful, like returning an error code and providing a way to get more information on the error.
As for printing messages, I'm for adding a (sane and fast) logging mechanism.  Not sure of the best way forward on that.  We talked about boost::log previously but I haven't really evaluated it yet or compared to other solutions.  Again, I see context structures being a potential issue here.
i.e. Should logging be "global" by nature? or record to a provided memory structure of some sort..  Perhaps we will need some kind of context structure to associate with the Simulation to hold things like logging and error information.

Is it possible to implement the solution for one critical exit in the code and then we duplicate

I'll implement along those lines in ncp_driver to show a first draft,
and I may modify one function in NumericsMatrix.c

For the function that interprets the error code it is generally very convenient. The mechanism in the swig implementation  is very useful for instance

I'm not sure I know what you're refering to.

I think this is a good idea although it represents a lot of work to do, but probably worth it.

I don't think it is so much work: sed will do most of the work. I plan to change (f)printf() to a logging function, and exit() to a siconos_fatal_error()

The only point on which I would exercise caution is specifying a global error handler.  We have no "Siconos context" object in which to register a handler, so it would have to be global.  (Unless it is something we could pass into Simulation and down into numerics.. but that sounds complicated.)  In general I prefer returning error codes to calling handlers when it comes to fatal errors.  Not so much for C++ programming practices but because it's easier to use when binding the library for other languages.  Indeed we'd have to make sure anything we do here is nicely Python-compatible.

Just to be precise, I will use thread local storage for those variables.
I'm not sure what you mean by "Siconos context object". A struct that we be passed everywhere?
I fully agree that returning an error code is the way to code. However, it would be a massive work to modify all the code to ensure that we can easily return to the code calling

If we do register a callback, let's make sure it has a field or parameter for a user struct or user context pointer so that it can be easily associated with data.

Yes. I don't have a specific idea for it. I wanted to ask if Gazebo had something along those lines for handling errors in external libraries.
In python/swig, there is a handy %exception statement that can be used to wrap all the function calls. Then we only need to set the jmp_buf from python and then it does the trick.  In MATLAB, I plan on doing the same.

I'm not sure what you mean by "Siconos context object". A struct that we be passed everywhere?

To be clear, I don't want this either!  But since we were discussing getting rid of globals, it seems to me the logging function would need some "object" that stores the messages somewhere, same for reporting extra error information. Maybe it's not problematic.  In any case there are no programs that I'm aware of that would have two Simulations for which you'd want to separate the error messages, but it's not unthinkable.
As for Gazebo, it doesn't expect any kind of catastrophic failures in external libraries.  It does use a very C++-y logging system, e.g.,
  // If only the parent exists, then create a joint between the parent
  // and the world.
  else if (bulletParentLink)
  {
    this->bulletSlider = new btSliderConstraint(
        *bulletParentLink->GetBulletLink(), frameParent, true);
  }
  // Throw an error if no links are given.
  else
  {
    gzerr << "joint without links\n";
    return;
  }

It is something along the lines of this "gzerr" object that I was meaning as a context for where to store things.  In Gazebo, it is indeed a static global object named "err" of type Logger.

I'll add that gzerr is defined like this:
/// \brief Output an error message
    #define gzerr (gazebo::common::Console::err(__FILE__, __LINE__))

so that the source location of the error message can be logged.

Ok I realized I forgot to mention that I was thinking of numerics when I created this issue, and not at all of the C++ part of siconos. My bad. I don't think it makes sense to use setjmp/longjmp in C++. Also for the logging, I think there are other options in C++.

In terms of error codes, it would be good to have some standard set of return values, like 0 for no error and otherwise something else.  In fact new C++14 standards has std::optional, although it's present in boost as well.  Not sure we should use that however, but something along those lines can be very useful, like returning an error code and providing a way to get more information on the error.

Unfortunately, I don't think using c++14 is an option right now. Also I'm thinking more of numerics and I'd like to have a solution it in C.

As for printing messages, I'm for adding a (sane and fast) logging mechanism.  Not sure of the best way forward on that.  We talked about boost::log previously but I haven't really evaluated it yet or compared to other solutions.  Again, I see context structures being a potential issue here.
i.e. Should logging be "global" by nature? or record to a provided memory structure of some sort..  Perhaps we will need some kind of context structure to associate with the Simulation to hold things like logging and error information.

I'm going to focus on numerics for the forseable future. If someone else wants to handle this for the C++ part, feel free to do so.
For numerics, by default, we would output on stdout or stderr.  If the user register a function that takes a char* and an int (for the severity), it is called.  Otherwise we could log to a file. I would avoid logging with multi-threading. Let's see if it is possible to do that for a start.

Ah that makes sense. I was thinking about Kernel more. You're right it's better to have something that works well for logging in C and maybe we can leverage it nicely in C++. I have some experience wrapping C callbacks with C++ objects, all it takes is an extra void* context pointer so that you can pass a function that calls an object.

Ah that makes sense. I was thinking about Kernel more. You're right it's better to have something that works well for logging in C and maybe we can leverage it nicely in C++. I have some experience wrapping C callbacks with C++ objects, all it takes is an extra void* context pointer so that you can pass a function that calls an object.

Hm, I'm not sure I can pretend to do something nice in the near future :)

Yup, I meant, feel free to work on the C part. :)  We'll build something sensible on top of it!

Er... something sensible for C++.. not to imply what you will do in C is not sensible.. lol.. sorry ;)

Recently I ran a big simulation for testing, and it brings up an issue that I think is related to this one: I cannot interrupt the solver using Ctrl-C!  It would be nice if it were possible to interrupt the solver loop and have it exit properly to the Python interpreter without segfaulting. I was confused by this because I don't see any signal() capture in numerics or in SWIG.  Now I thought about it more, and I think maybe Ctrl-C gets blocked by the Python interpreter when it calls out to extension code.  Some searching reveals that this is not an unknown issue for long-running C extensions, and has been handled in various ways by different solutions.  I propose that we can perhaps borrow some intelligent signal handling from Cython:
http://cysignals.readthedocs.io/en/latest/sigerror.html
http://cysignals.readthedocs.io/en/latest/interrupt.html

I believe we should add a callback for signal checking somewhere in the code. For python, PyErr_CheckSignals https://docs.python.org/3.5/c-api/exceptions.html#c.PyErr_CheckSignals should be periodically checked. For other programming languages, we should see. This way the can bail out cleanly.
What is the "solver loop"?

That's not a bad idea.  We could have some kind "SiconosErrorHandler" object?  Perhaps a simple callback would suffice.  By "solver loop" I mean the GS loop, i.e, the time between when OSNS::compute() is called and it returns.

I was thinking of a callback. In numerics, we could periodically check whether a signal was given. That could be the Newton loop, the GS loop or any other loop.

Yeah of course it would have to be a callback+context pointer for the C case, makes sense.  Do you think it would fit nicely in SolverOptions, or should it go elsewhere? It would be nice to avoid adding a global imho.
Ah, indeed now that I look, there is already a Callback struct, I guess we could just add it there.

I would set this in a TLS pointer to function. I am fine with this object being unique to the thread, since we may not switch between python/matlab or standalone. It would be nice to have that set whenever the python module is loaded.
I would envision something like
if (signal_handler && iter % 10 == 0) { int has_sig = signal_handler(); if (has_sig) goto _exit_nicely; }

Just by reading it, it looks like we had an idea of implementing a signal handler in some solver loop. This is still worth looking into it. I think it belongs to an other issue maybe

Transferred in wiki
https://github.com/siconos/siconos/wiki/Wish-list-and-enhancement


Initial Commit for getting this working pythonically with the local emulator

This is my example code used to solve Issue 15
This is also my first time doing a merge / pr to a public repository. Please be gentle.

I've gone ahead and made the proposed changes, but then also added a full example that does an inbound trigger, and an outbound trigger utilizing activity triggers. The goal for this example is to take in an inbound message from the inbound_eh topic, parse the data, then send to two different eventhub topics depending on the content. In this case, if the message says left or right. I also included a simple_send.py and simple_receive.py to actually send those types of messages for the function to work.


Problem After Update To Flutter 3.3.3

After Updating my flutter to version 3.3.3
i got some problems in this package
When Run

Flutter doctor -v

Any help :(

What version did you upgrade from? Having a similar issue on a new machine; the workaround is probably to downgrade for now. Also, did you upgrade to the latest version of the package?

What version did you upgrade from? Having a similar issue on a new machine; the workaround is probably to downgrade for now. Also, did you upgrade to the latest version of the package?

Actually not remember the version i upgraded from

tried alot of versions and the latest version depend on [win32: ^3.0.0]
and [dart_console] depend on [win32: ^2.6.1]
this package make conflict for each other

What version did you upgrade from? Having a similar issue on a new machine; the workaround is probably to downgrade for now. Also, did you upgrade to the latest version of the package?

Actually not remember the version i upgraded from

tried alot of versions and the latest version depend on [win32: ^3.0.0]
and [dart_console] depend on [win32: ^2.6.1]
this package make conflict for each other

Please try updating to the latest bitsdojo_window version.


go

when i use command go get github.com/sashabaranov/go-openai, the following error happened:
go<EMAIL_ADDRESS>unrecognized import path "ctgithub.com/json-iterator/go": https fetch: Get "https://ctgithub.com/json-iterator/go?go-get=1": dial tcp: lookup ctgithub.com: no such host
so what is the reason?

@SimpleKris
shabaranov/go-openai does not depend on any other library. sashabaranov/go-openai does not seem to be the cause.
Refs(does not depends):
https://github.com/sashabaranov/go-openai/blob/master/go.mod
I found one strange URL in your comment.
ctgithub.com/json-iterator/go is incorrect.
github.com/json-iterator/go is correct.

Thanks！I solve it.


Incorrect link when clicking on a snipt.

I've deployed through Heroku and successfully created a user account and added a 'snipt' to test it out. After saving, I return to the Snipt homepage by clicking the logo at the top-left and I can see that it has been saved but when I click on the snipt I created, it attempts to take me to <user>.snipt.net/<snipt-name>. I do not have a URL pointing towards it or any CNAME set up for it.

@allyouaskfor did you by chance mark the snipt as "blog post"? If so, the primary link to the snipts will attempt to link to our old blog integration.

Apparently I did. Switching that off resolved the issue. Thank you.


Add support for bankruptcy claims register

A client job requires that we scrape a few thousand claims registers. On the CourtListener side, this will mean doing some API and data modeling work, but on the Juriscraper side, we need to support parsing the HTML of these pages. The pages contain a lot of data, but I'm hopeful that the HTML is pretty well structured. Looks like a table in any case, which is good.
Anyway, here we go.

Fixed in f4463b28a18e90619cbbb17e16fc12cf5e18aeeb


Add Metrics for in-flight commands (Gauge on MeteredCommandProcessor)

It would be useful to know number of concurrently processed commands (~= in-flight requests), in addition to rates and timing of commands. This would, for example, let us see if specific slow-executing (and possibly timing out) commands might temporary pile up (since it takes long for them to be executed).
This would be simple to add in MeteredCommandProcessor, as a gauge-type metrics: increase before processing, decrease after (regardless of whether successful or not). Tags should only include command name and not much else (cannot refer to anything not available at time before starting; per-tenant break-down does seem as useful although that could be considered).

We have other diagnostics we should use in favor of this (for example, thread state metrics)

I don't think those are quite the same are they? Thread-state may have real-time information on command it is running on, but would not be reported as historical data.
We might still consider these metrics as long as they are not per-tenant since gauges are low-cardinality (we'd have 1 metric per Command).
And could be quite useful for troubleshooting after the fact, observing pile-up of specific command during overload situations.


feat(batcher): add test for abort and restart height

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1687  👈
#1683
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @dafnamatsry and the rest of your teammates on  Graphite

Merge activity

Oct 31, 10:50 AM EDT: A user merged this pull request with Graphite.


why not add a demo.py just read an image and plot ouput result after prediction?

demo_mask.py needs to read imdb

https://github.com/kohillyang/mx-maskrcnn


metrics: run only a group of tests

This commits allows to run just a certain group of tests, however
if no option is specified, it will run all metrics tests by default.
Fixes: #532
Signed-off-by: Mario Alfredo Carrillo Arevalo<EMAIL_ADDRESS>

lgtm


webpackJsonp configuration (still) missing to allow multiple react app on single site

Describe the bug
As already described in other tickets ( https://github.com/facebook/create-react-app/issues/6631 ) CRA does not support changing the webpack config parameter output.webpackJsonp ( https://webpack.js.org/configuration/output/#outputjsonpfunction ). This makes CRA generated apps not being able to coexist on a single page. Both apps will try to set window.webpackJsonp and thus override the webpack chunk registry.
Steps to reproduce

Create two CRA apps and build them. They have to have chunks
Deploy both apps on a single index.html
Open the index.html. Only one app will show up

Expected behavior
The parameter does not have to be configurable at all. It would be enough to generate a unique string at build time for the webpack config. A build hash could do the trick.
Alternatively, a configuration of the webpack output.webpackjsonp config to allow multiple CRA apps on a single page would solve the issue.
Consider a widget approach where each CRA App will be a widget on a portal.
Actual behavior
No chance to reconfigure the property thus no way to make multiple CRA apps work. Each CRA App will use the webpack default value and thus break on coexistance.
The other ticket ( https://github.com/facebook/create-react-app/issues/6631 ) suggests a "search and replace" npm package solution. That works, but feels absolutely wrong. You simply do not search-and-replace an compiled code.
Best,
Jan

Nothing?

@JanThiel  at the end of the README it says that if you need more customization you have alternatives. It seems very outdated.
Did you try CRACO?
https://github.com/gsoft-inc/craco

@zurcacielos Yes, this would indeed be kind of a "solution" to get it done. Although those CRA config layers tend to deprecate quite often or are run over by CRA changes. So they add complexity and and error-proneness to our projects. Saw this happening with a few of the "old" solutions to "configure" CRA which make me try to avoid them for our (longer living) enterprise projects.
So for "optional" config stuff I would agree that using a CRA config layer would be sufficient. But in this case, it is quite hard to explain someone, why 2 CRA apps would not be able to run on a single page. And it could and should be solved transparently by CRA with no one having to figure this out by themselves, and then even being required to add another package on top auf CRA to fix the webpack config.
Maybe this is a webpack design flaw after all. But using CRA should not make your life harder as far as I understand. Maybe CRA even does not want to support multiple react apps on a single page. This would be also a fair decission. But then it should be clearly documented.
I believe it's clear, that I would vote for fixing this instead of adding docs stating "does not work out of the box", but this is something the CRA project should decide.
Best,
Jan

Anti stale bot

Based on https://github.com/webpack/webpack/issues/8872#issuecomment-639671043, the problem should not be reproducible anymore in React v17 since it uses Webpack v5 under the hood.

If anyone can confirm this, I am happy to close this :-)

Just checked, now the generated name is based on the valute of the name attribute in the package.json

👍 Nice, thank you!


Separate DTOs from Thunderdome

Description
Currently, the DTOs that we use (such as CompactReport) require us to import the entirety of EvoSuite into the classpath. This is not optimal, so it would be best to move those shared DTOs to a separate module, which can then be imported both to Thunderdome and to TestGenie.
Definition of Done

[ ] A separate common module is created
[ ] All common DTOs are moved to that module and referenced in Thunderdome and TestGenie

Should be discussed: is it better to provide the entire evosuite jar together with the plugin as we currently do, or is it better to allow  the user to download Evosuite/Thunderdome themselves, at the risk of ending up with an unsupported version that doesn't work with the installed version of TestGenie?


Feature slam

Let's do this! I don't think I have permissions to publish. Bumped the version number though...

Let's build this shiiiit


[WIP] Error messages

See #283

Coverage increased (+0.01%) when pulling 2fd9008c0b32122c9f8191f01c4ed83329909b52 on error-messages into 46dfb9d762101f5e6dae9bade5c9462290baf7b6 on master.

@7andrew7 might we chat about this briefly tomorrow? Been trying to the bugs myself to ensure that I can keep the parser up, and have some design questions. See the TODO in commit 2fd9008.
Some questions about rules. E.g., for Unbox,
    @staticmethod
    def p_sexpr_id_dot_id(p):
        'sexpr : unreserved_id DOT unreserved_id'
        p[0] = sexpr.Unbox(p[1], p[3])

    @staticmethod
    def p_sexpr_id_dot_pos(p):
        'sexpr : unreserved_id DOT DOLLAR INTEGER_LITERAL'
        p[0] = sexpr.Unbox(p[1], p[4])

why are these two variants explicitly spelled out instead of using the column_ref expression.
Second, more germane to this bug, why isn't there an alias expression that we used in place of the unreserved_id in the two definitions here, as well as where the ('ALIAS', ..) tuple is created: https://github.com/uwescience/raco/blob/master/raco/myrial/parser.py#L768 . Then we wouldn't need to handle the two different types of rex in the code in that fix.
(I will fix the bugs myself, but would appreciate your advice!)

Coverage increased (+0.0%) when pulling c643da340f4ba1a90232291ad20aa9bc4a2dbbce on error-messages into 46dfb9d762101f5e6dae9bade5c9462290baf7b6 on master.

I updated the column_ref redundancy in c643da3, and that worked fine.
In a different branch, I had my idea for using ALIAS, but I clearly was misguided. I think an Alias means something different than I was thinking. (see c208f18 in another branch, which is buggy.)

I think this is a parser bug -- i.e., the code should generate a parse error instead of some sort of relation not found error.  I'm cooking up an alternate fix...

As you probably deduced, the logic here was very convoluted.  I tried to simplify things in #383.
Conceptually, every table in a from clause has a name (a string) and a corresponding Operator.  The previous Unboxing implementation was hideous in that it allowed the name to sometimes be a tuple containing an AST.  Let me know if #383 clarifies the situation.


region: Highlight the region even when it's inactive, e.g., after

Sometimes I type echo hello <set-mark-command>world<quote-region> (the default bindings are <C-Space> and <M-"> respectively).  This patch will cause the word world to be highlighted whilst its being typed.
Should an inactive region be highlighted differently from an active one?  Some widgets behave differently on active and inactive regions, e.g., pasting will delete the region only the region is active.  There are more differences, particularly in vi mode (grep Src/Zle/ for if/switch statements on the C variable region_active).
/cc @m0vie - this is in the same general area as #256 and #257

Conflicts due to 4849ef3307f37155b7d02294647d2ae011363392 in master.

The MARK > 0 test is probably wrong: MARK and CURSOR are zero-based, if the mark is set before the first character of the buffer then MARK would legitimately be zero.

(Closing/reopening to trigger continuous integration)


remove a bunch of deprecate warnings

The CI seems to check until 8.17.  On my Mac, 8.18 is OK.

@Casteran you mean you want me to add CI for 8.18 into the PR here?

Well, I mean,  only if you find it appropriate.  I  just wanted to know if my corrections are OK with 8.18 and hopefully later.
But it’s not urgent.

Le 3 janv. 2024 à 21:01, Karl Palmskog @.***> a écrit :
@Casteran you mean you want me to add CI for 8.18 into the PR here?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

OK, then I plan to do a PR review and do a pass over CI in the next day or so.