DISABLE Keyword causing parser if used as column name

Bug 1
I reported a similar issue with the CHANGE keyword. We have a legacy app that uses the Mysql keyword "DISABLE" as a column name. Since it's legacy, we can't easily change the column name, and it is causing the sql parser to break.
To Reproduce
Steps to reproduce the behavior:
2. Parsing "INSERT INTO SOMESCHEMA.TEST (DISABLE, TESTCOLUMN) VALUES(1, 1)" SQL using JSqlParser throws JsqlParserException.
Caused by: net.sf.jsqlparser.JSQLParserException at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:51) at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:40) ... 53 more Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: “DISABLE” “DISABLE” at line 1, column 15. Was expecting one of: “(” “ACTION” “ANY”...
Configuration
Mysql
Java 8
JSqlParser 2.1
Bug 2
Double quotes seem to not get parsed correctly

Parsing SELECT
(IFNULL(DOCUMENT_TABLE.TITLE,"") || ", " || IFNULL(WF.DISPLAY_NAME,"") || IFNULL(" # " || DOCUMENT_TABLE.SOME$NUMBER,"")  || IFNULL(" rev. " || DOCUMENT_TABLE.REVISION,"")) AS REQUIRMENT_DESCRIPTION

FROM
DOC.DOC_DOCUMENT AS DOCUMENT_TABLE
LEFT JOIN ENGINE.PHASE_SETTINGS AS PHASE ON (DOCUMENT_TABLE.SOME$CURRENT_PHASE = PHASE.PHASE_ID)
LEFT JOIN ENGINE.WF_SETTINGS AS WF ON (PHASE.WORKFLOW_ID = WF.WORKFLOW_ID)
WHERE
DOCUMENT_TABLE.DOC_ID =<PHONE_NUMBER>
Causes  Jsqlparser exception on the quotation marks simliar to above statement.

I will look into it.


Added documentation related to changes in default export

Added note for developers using ramda version > 0.25
Ramda versions > 0.25 don't have a default export.
So instead of import R from 'ramda';, one has to use import * as R from 'ramda';
Or better yet, import only the required functions via import { functionName } from 'ramda';

Thank you very much.  This is a good idea.


Performance Improvements (part deux)

We merged only a part of @denar90's performance optimizations in https://github.com/babel/babel.github.io/pull/1234, which included using jekyll-assets.
I think we have to main options here:

Switch to Cloudflare and use their bundle/optimization stuff (also ref: https://github.com/babel/babel.github.io/pull/1174)

Switch deployment to build via Travis and commit output to gh-pages (or /docs). This definitely opens up additional possibilities for:

Replacing submodule usage?
A less hacky way of importing READMEs?
Other custom plugins.

Using Cloudflare also opening some other possibilities like https.
I know that @thejameskyle has some experience with that.
Moreover having https makes possible using service-workers, which lead to offline stuff.

I made #1239 to track issues with git submodule usage. Not that easy.

Should be fixed now since we download the readmes instead of submodules?


Add deployment documentation

Coverage remained the same at 98.866% when pulling 5e871c021ea2617d6125a290e73b72e7dba7d2ce on deployment-doc into e4feb36ae003dee2906c5f7b3b287cc2341ea396 on master.

Coverage remained the same at 98.866% when pulling c324b7d906c5a30c810e650d81ad2fd9dbf0b359 on deployment-doc into e4feb36ae003dee2906c5f7b3b287cc2341ea396 on master.


U bam collections dsdev 1898

Looks good.  A few changes.  Please make these and rebase/squash.
@dags I was unsure who to assign this to, as multiple people worked on it.

Re-work is done , please make the re-review. Thanks

@ssaucedo Please see #30 that adds versioning info. Before this branch is merged, start the versioning at v1, instead of no versioning. That way the UBamCollectionService doesn't have to use the pathVersion() directive used across the older services.
Also please rebase again off of develop. For any compile errors you run into, check the other services to see the updated syntax for directives.
Thanks!

Please review my notes/patch in #33 regarding adding the properties and the tests.
If :+1:, run the normal merge process on #33 and it'll pull in changes here.
If :-1: or you'd like to make your own changes, that works too.
Either way please close the other PR after you're done and assign this PR back to me.

Looks good! :+1:
Please rebase onto develop, squash the commits, and then merge this PR.


get upstream error overlay changes and fix typescript errors

Current dependencies on/for this PR:

main

PR #2829

PR #2830   👈

PR #2803

This comment was auto-generated by Graphite.


Combine reducers with intersected type of unions causes tsc to crash

TypeScript Version:  3.4.0-dev.201xxxxx
Typescript version: 3.4.5

Search Terms:
Redux combine reducers memory crash heap allocation
Code

// es6 import statements for actions and reducers

type FormActions = SignUpFormActionTypes &
  LoginFormActionTypes &
  ContactUsFormActionTypes &
  ForgotPasswordFormActionTypes &
  ResetPasswordFormActionTypes &
  CreateBusinessFormActionTypes &
  BusinessDetailsFormActionTypes &
  DealFormActionsTypes &
  InstantDealFormActionsTypes &
  JobListingFormActionTypes &
  OnlineLocationFormActionTypes &
  PhysicalLocationFormActionTypes;

export default combineReducers<FormsState, FormActions>({
  signUpForm: SignUpFormReducer,
  loginForm: LoginFormReducer,
  contactUsForm: ContactUsFormReducer,
  forgotPasswordForm: ForgotPasswordFormReducer,
  resetPasswordForm: ResetPasswordFormReducer,
  createBusinessForm: CreateBusinessFormReducer,
  businessDetailsForm: BusinessDetailsFormReducer,
  dealForm: DealFormReducer,
  instantDealForm: InstantDealFormReducer,
  jobListingForm: JobListingFormReducer,
  onlineLocationForm: OnlineLocationFormReducer,
  physicalLocationForm: PhysicalLocationFormReducer,
});

For example, an action type looks like this:

export type LoginFormActionTypes =
  | SubmitLoginAction
  | LoginSuccessAction
  | LoginFailedAction;

And each of those actions are plain javascript classes that implement from Action<> in the redux library
Expected behavior:
Should run tsc without issues
Actual behavior:
npx tsc
<--- Last few GCs --->
[59352:0000023E65B36200]    42665 ms: Mark-sweep 1391.2 (1425.2) -> 1390.9 (1425.7) MB, 966.8 / 0.0 ms  (average mu = 0.081, current mu = 0.003) allocation failure scavenge might not succeed
[59352:0000023E65B36200]    43644 ms: Mark-sweep 1391.8 (1425.7) -> 1391.4 (1426.2) MB, 952.3 / 0.0 ms  (average mu = 0.055, current mu = 0.027) allocation failure scavenge might not succeed
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 000002A7DB3DC5C1]
1: StubFrame [pc: 000002A7DB3A26EE]

Security context: 0x030e7eb1e6e1
2: slice [0000030E7EB06D09](this=0x03034251dc11 <JSArray[12]>,0)
3: /* anonymous /(aka / anonymous */) [000003034251DCC9] [D:\Workspace\business-portal\node_modules\typescript\lib\tsc.js:~33214] [pc=000002A7DC4AFFD1](this=0x0054b7c826f1 ,t=0x0074346aaf91 )
4: argu...
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
1: 00007FF79DD9ECF5
2: 00007FF79DD781A6
3: 00007FF79DD78BB0
4: 00007FF79E009AAE
5: 00007FF79E0099DF
6: 00007FF79E547724
7: 00007FF79E53DE87
8: 00007FF79E53C3FC
9: 00007FF79E545377
10: 00007FF79E5453F6
11: 00007FF79E0E84B7
12: 00007FF79E18019A
13: 000002A7DB3DC5C1
When I replace the action type of combineReducers to combineReducers<FormsState, any>, tsc runs and webpack compiles with linting.

Related Issues:

How can one reproduce this without knowing the types of your Actions and Reducers?
Also please fix the formatting of the opening post. It's a pain to read.

Apologies for the formatting, I've updated the opening post.
Actions are es6 classes implementing Action from redux
e.g.
export default class ExampleAction implements Action<ActionKeys> {
  readonly type = ActionKeys.CreateDeal;
}

and reducers are typed with Reducer<S, A> from redux
e.g.
const SampleReducer: Reducer<
  SampleState,
  SampleActions
> = (
  state: SampleState= new SampleState(),
  action: SampleActions
) => {
    // switch statements
    return state;
}

But, like, just how many members are in each union you're trying to intersect here?

Each of the intersections have 2~6 action types, 50 total actions included in the total union.
Apologies for not being able to upload the code, I will try get around to creating a sandbox later today.

6^12 is about 13 billion possible alternatives, soooooooooo

50 total actions included in the total union

You've got an intersection listed up there, not a union? Is that intentional?

https://github.com/rebyul/tsmemalloc
Sorry this took so long, I had a deadline due last week and had to chug through without typing my reducers.
The linked repository isn't able to replicate the OOM issue that I am having, and I am unable to invest more time into creating a bigger project to trigger an OOM exception. It is somewhat close to how I have my reducers set up (multiple base level reducers with some nested reducers. The tsc diagnostics looks like this:
Files:            93 Lines:         66899 Nodes:        191573 Identifiers:   62754 Symbols:       99624 Types:        814246 Memory used: 856780K I/O read:      0.04s I/O write:     0.00s Parse time:    0.65s Bind time:     0.42s Check time:   14.61s Emit time:     0.00s Total time:   15.68s
I could feel the intellisense getting significantly slower after adding the IFormState interface with reference to the Formik library. I apologize for the lack of information I have provided.

You've got an intersection listed up there, not a union? Is that intentional?

I apologize, it is an intersection; I would have thought it should be a union but the combineReducers function gives compilation errors if its changed to a union.
Also, on my repo that is having the OOM issues, running tsc --diagnostics has the followering values:
Files:          6299 Lines:        164873 Nodes:           NaN Identifiers:     NaN Symbols:      417223 Types:        234298 Memory used: 592309K I/O read:      0.79s I/O write:     0.26s Parse time:    5.78s Bind time:     1.29s Check time:   18.34s Emit time:     2.44s Total time:   27.85s
There is a related issue on DefinitelyTyped https://github.com/DefinitelyTyped/DefinitelyTyped/issues/35514 which seems to be having similar issues.

I have no recollection of why this ceased to be Needs Investigation or why I grabbed it.

Linked repo is gone now, understandably. Please file a new issue with repro steps if you're still having problems. Thanks!


docs: fix simple typo, shat -> that

There is a small typo in docs/conf.py.
Should read that rather than shat.
Semi-automated pull request generated by
https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

Going to be refactoring the docs in general so this will get overwritten very soon.


having problem with npm run dev

Whenever i do npm run dev on my terminal it gives the following error ->

<EMAIL_ADDRESS>dev C:\Users\dev\Downloads\IPL-bot\IPLStats-master
nodemon ./src/bot.js

'nodemon' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>dev: nodemon ./src/bot.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR!      C:\Users\dev\AppData\Roaming\npm-cache_logs\2021-04-19T15_42_58_288Z-debug.log

Run this command.
$ npm i nodemon
In my case nodemon was installed globally. I forgot to add it to the dev dependencies. I will fix it soon.
Thanks for leaving a feedback. Really appreciate. :raised_hands:


Add Derivative: Cangjie

Cangjie
Etherscan link: https://etherscan.io/address/0x6Ce13E96CBaEF984496fBA4FDE0D3D48C8e30c25
Website: https://cangjie.art
Twitter: https://twitter.com/CangjieNFT
OpenSea: https://opensea.io/collection/cangjie

Looks good! Thank you


Runtime option to disable sherpa logs

Currently sherpa logs are controlled at 2 levels

Build time with SHERPA_ONNX_ENABLE_CHECK option
Runtime with SHERPA_ONNX_LOG_LEVEL env variable

But there is no control at runtime logs to disable,
will be handy in controlling at runtime.
cc: @csukuangfj , @pkufool

Also adding SHERPA_ONNX_ENABLE_CHECK flag as part of the build tests might be necessary,
so that code bugs such as this isn't missed.
I know that it is necessary for all the builds, but I have only tested for linux,
if its good I will send a PR changing all the workflows or it can just be related to linux builds

We are switching to
https://github.com/k2-fsa/sherpa-onnx/blob/fc09227cd1aada502e12e3c9b4cc948c7e55d68f/sherpa-onnx/csrc/macros.h#L11
https://github.com/k2-fsa/sherpa-onnx/blob/master/sherpa-onnx/csrc/log.h
is intended to be removed.

If you want to disable all logs, just use
#define SHERPA_ONNX_LOGE(...)


Parallel sampling to speed up program execution

When I am training, I can execute mpiexec - n $NUM_ GPUS command for parallel training. Please use mpiexec - n $NUM when sampling_ GPUS command

You can do this, zu


Check if skeleton texture is already allocated before reallocating

Fixes: https://github.com/godotengine/godot/issues/31412
skeleton_allocate() is called every frame by skeleton.cpp. So the texture should be generated in skeleton_create() as it is in GLES3.
Code graciously donated by Gamblify.

Thanks!

Cherry-picked for 3.1.2.


validation.sh

Not a big deal but I found typo in valdation.sh line 7:
Typo:
if [ $? -eq 4 ]; then echo "error in hyperparameters.hson" && exit 1; fi
Corrected:
if [ $? -eq 4 ]; then echo "error in hyperparameters.json" && exit 1; fi

sorry if this is not an issue, not sure how to notify the project

Thanks for raising @JamakaDev ! This has been fixed


GitUI should be installed by the CPU type on Mac

I'm an Inter Mac user, and recently, I hit an issue "bad cpu type in executable: gitui".
gitui claims that the Inter x86 user should install "gitui-mac-x86.tar.gz", rather the "gitui-mac.tar.gz", that is in current repo.

It's gitui's fault, not the mason. Btw, I created a PR to upgrade gitui to 0.26.3 solved this issue.
#7261

Bump

Bump

bump

It hasn't been solved in 10.08 new earth version.


Implement methods on LogseqPlugin

[ ] addListener
[ ] beforeunload
[ ] emit
[ ] ensureConnected
[ ] eventNames
[x] hideMainUI
[x] hideSettingsUI
[ ] listenerCount
[ ] listeners
[ ] off
[ ] on
[x] onSettingsChanged
[ ] once
[ ] provideModel
[x] provideStyle
[ ] provideTheme
[ ] provideUI
[x] ready
[ ] removeAllListeners
[ ] removeListener
[x] resolveResourceFullUrl
[x] setMainUIAttrs
[x] setMainUIInlineStyle
[x] showMainUI
[x] showSettingsUI
[x] toggleMainUI
[x]  updateSettings
[x] useSettingsSchema

Decorators for logseq.App

[ ] onBlockRendererSlotted
[ ] onCurrentGraphChanged
[ ] onMacroRendererSlotted
[ ] onPageHeadActionsSlotted
[ ] onRouteChanged
[ ] onSidebarVisibleChanged
[ ] onThemeModeChanged

Methods for logseq.App

[ ] execGitCommand
[ ] getCurrentGraph
[ ] getInfo
[ ] getStateFromStore
[ ] getUserConfigs
[ ] getUserInfo
[ ] invokeExternalCommand
[ ] openExternalLink
[ ] pushState
[ ] queryElementById
[ ] queryElementRect
[ ] quit
[ ] registerCommand
[ ] registerCommandPalette
[ ] registerCommandShortcut
[ ] registerPageMenuItem
[ ] registerUIItem
[ ] relaunch
[ ] replaceState
[ ] setFullScreen
[ ] setLeftSidebarVisible
[ ] setRightSidebarVisible
[ ] setZoomFactor
[ ] showMsg

Closing as issue made redundant by merged code.


Using all possible token scopes by default for Web API requests breaks specific /web-api/ endpoints, and the /tokens endpoint a long with it

The spotify web-api breaks with specific combinations of token scopes, see #399
If you try creating a token through the spotify web console as found in the WebApihandler you'll get a 'Illegal scope' page
It appears that there's some scopes that can't be used together in a single token, and upon using that token in the spotify web api, as shown in #399, the spotify api simply returns the json model without any content, instead of an explicit error
In the current intended design of api, I could just use /tokens/{scope} to request a specific token with just a singular scope, however, because a token is being generated implicitly with ALL possible scopes, the token returned by /tokens/{scope} is the default token generated with all possible scopes, breaking certain /web-api/ endpoints, and /tokens itself, because getToken finds the first available token of the requested scope, which in this case is a token with ALL possible scopes

The only solution that currently exists is to completely avoid using any /web-api/ endpoint without specifying X-Spotify-Scope, upon calling /web-api/ without X-Spotify-Scope, a token for ALL scopes is generated, without a way to force generate a new token
Potential solution
Remove implicit token generation, and require a X-Spotify-Scope or scope in the /token request, no need to tweak the token store. Tokens will still be stored and cached, and the first token with the needed scope will still be retrieved from the token store list. The only difference is users will need to explicitly add a scope to their /web-api/ request. The issue of unsupported combinations of scopes will still remain though, so a key-value map for token storage might be a better solution. /token could take a third optional parameter, it being the key for the token store map. By default the scope could be used as the key in the store
Version/Commit
v1.6.1

Thank you for the detailed issue, I'll get to this whenever I'll have time. PRs are appreciated.

Thank you for the detailed issue, I'll get to this whenever I'll have time. PRs are appreciated.

It'd appear that something is off with key generation, using only a single scope when a key is generated internally via
    @NotNull
    public static JsonMercuryRequest<GenericJson> requestToken(@NotNull String deviceId, @NotNull String scope) {
        return new JsonMercuryRequest<>(RawMercuryRequest.get(String.format("hm://keymaster/token/authenticated?scope=%s&client_id=%s&device_id=%s", scope, KEYMASTER_CLIENT_ID, deviceId)), GenericJson.class);
    }

The returned access token doesn't work, it seems like I was wrong with compatibility between multiple scopes. This appears to be related to the actual token generation.

This appears to be related to the actual token generation.

The API used for token generation is strictly an internal API which happens to work with the Web API sometimes.

This appears to be related to the actual token generation.

The API used for token generation is strictly an internal API which happens to work with the Web API sometimes.

What would be the best out to take? I notice the length of keys generated via the web-console is quite different than the one being generated by librespot-java, is this something I could debug further, or would it be best to lay certain endpoints aside?


Possible bug in the data flow analysis?

All, we faced the following NullAway error: [NullAway] unboxing of a @Nullable value in the snippet below. However, as you can see, x can't be null at the point due to the triggered boolean value.
    public double execute(Entity entity, int a, int b) {
        Long x = entity != null ? 123L : null;

        boolean triggered;
        if (a > b) {
            triggered = x != null;
        } else {
            triggered = false;
        }

        double score = 1.0;
        if (triggered) {
            score = score - Utils.function(x); // <-- ERROR HERE!
        }
        return score;
    }

Now that I'm opening up this issue, I believe this can actually be due to #98 (i.e., lack of support for nullability stored in boolean variables). I'll still open up this issue to record that we faced it in a real-world project.
Project reproducing it: https://github.com/mauricioaniche/nullaway-bug.
Library versions:

NullAway: 0.12.0
Errorprone: 2.34.0
Java version: 17

Thanks, @mauricioaniche!  Yes, I believe this is #98 but I'll leave this one open as well since it's a good example to test on for when we try to fix that one.


The frontend should show the CommandDescription to users

The old version of tira showed the commandDescription and commandPlaceholder to its users.
I used both previously to explain how users should build their commands for the specific shared task.
E.g.:
commandPlaceholder: "mySoftware -i $inputDataset -o $outputDir"
commandDescription: "Commands should take the arguments $inputDataset and $outputDir. The variable $inputDataset points to a directory that contains a topics.xml file that contains the topics for which documents should be retrieved and a file passages.jsonl.gz that contains all the passages. Your software should create a standard trec run file in $outputDir/run.txt."

In the current version, it seems like the frontend shows an generic placeholder:

I think it is helpful for users to show task-specific hints like those specified in the commandDescription and commandPlaceholder.

Example: /mnt/ceph/tira/model/tasks/touche-task-2.prototext

I've changed it so that, in the default scenario, it uses the current solution

Otherwise it displays the custom commands:

@mam10eks U happy, can I close tihs?

Yes, I am happy :)


Issue when loading ColorPickerModule  in App Module

ERROR in Error encountered resolving symbol values statically. Calling function
'makeDecorator', function calls are not supported. Consider replacing the functi
on or lambda with a reference to an exported function, resolving symbol NgModule,
package.json
{
  "name": "my-color-picker",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.0.0",
    "@angular/common": "^4.0.0",
    "@angular/compiler": "^4.0.0",
    "@angular/core": "^4.0.0",
    "@angular/forms": "^4.0.0",
    "@angular/http": "^4.0.0",
    "@angular/platform-browser": "^4.0.0",
    "@angular/platform-browser-dynamic": "^4.0.0",
    "@angular/router": "^4.0.0",
    "angular2-color-picker": "^1.3.1",
    "core-js": "^2.4.1",
    "rxjs": "^5.1.0",
    "zone.js": "^0.8.4"
  },
  "devDependencies": {
    "@angular/cli": "1.1.2",
    "@angular/compiler-cli": "^4.0.0",
    "@angular/language-service": "^4.0.0",
    "@types/jasmine": "2.5.45",
    "@types/node": "~6.0.60",
    "codelyzer": "~3.0.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "protractor": "~5.1.2",
    "ts-node": "~3.0.4",
    "tslint": "~5.3.2",
    "typescript": "~2.3.3"
  }
}

+1

+1

angular2-color-picker/node_modules/rxjs/Subject.d.ts (16,22): Class 'Subject' incorrectly extends base class 'Observable'.

+1

ERROR in /Users/sick/nodejs/absi-vis/node_modules/angular2-color-picker/node_modules/rxjs/Subject.d.ts
(16,22): error TS2415: Class 'Subject' incorrectly extends base class 'Observable'.
Types of property 'lift' are incompatible.
Type '(operator: Operator<T, R>) => Observable' is not assignable to type '(operator: Operator<T, R>) => Observable'.
Type 'Observable' is not assignable to type 'Observable'.
Type 'T' is not assignable to type 'R'.

bump

+1

+1

+1

This is unmaintained library, there is a maintained + actively developed version called ngx-color-picker.


Exporting and importing terms (tags)

It seems that exporting and importing ignores terms.
Body tags could be regenerated, but currently aren't.
All community tags from the exporter hub are lost.

@solstag This issue is closed because Redmatrix evolved into Hubzilla. When this is still an issue in the most recent version of Hubzilla, please recreate this issue over there. We're sorry for any inconvenience this will maybe give you.


config(release): add major-minor tag plugin

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


Emoji are too big.

It looks something like this:

It looks like this with that default build for dwm and dmenu, too.
This is not Luke's Build but I don't know where else to post this.
static const char *fonts[]          = {"gotham-thin:size=12", "joypixels:size=10:antialias=true:autohint=true", "monospace:size=10" };
What did I do wrong?
I applied the patch, corresponding to the video (commenting out those bad lines).

It probably has to do with your default emoji font. What is it?

Oof,
Sorry I did bother, but I looked up how to determine the my default
emoji font (although I am pretty sure, It was Noto Emoji Fonts, which I deinstalled earlier) and I was reinstalling fontconfig. After that i noticed, that the font in my in st changed, which I recompiled earlier. So I restarted dwm, to see if it fixed my problem. Well it did.
This is a bit embarrassing for me,
hopefully it makes you chuckle a bit and hopefully this will be helpful, for at least some other out there.
I close this.


[BC17 Preview] Email Message - Email Account / Email Scenario integration

In BC 17 insider preview (few weeks ago), I've managed to update most of our code by adopting the new 'Email Scenario' enums / pattern. This allows me to define the Sender / 'From' (set via the 'Email Account' entity) of the mail to be sent. All this seems to work nice when mailing from the Base App, that heavily depends on the intermediate 'Email Item' table.
However, using 'Email Item' has some drawbacks and is very complex / not easily extensible. We would like to sent a simple mail, not using the 'Email Item' pattern, but using the new 'Email Message' pattern from the system modules instead. This all works fine, except for the option to set the 'From' on the email message to be sent.
Question ( @JesperSchulz )
How will we be able in the new BC 17.1 update to set the from (using either an 'Email Scenario' or by directly assiging an 'Email Account') on the 'Email Message' (without using the 'Email Item' workaround)?
Simple scenario where this can be usefull: The Jobqueue fails, an EDI message has been imported, ... and I would like to sent a 'Email Message' with from =<EMAIL_ADDRESS>(= Email Account). I would like to create a 'Email Scenario' = 'Job Queue', 'EDI', ... and just pass that to the 'Email Message'.

It's a good idea not to use the "Email Item", as we're planning to retire it over time; also, it serves little purpose going forward.
Let me see if I can manage to answer your question - at this point, I don't know how much you know about the new implementation and I might hence state the obvious. If I do, I apologize.
In the new Email Module, the "from" is dictated by the sender account. From 17.1, you can have unlimited email sending accounts in BC.
The account can either be set directly, or be set through a scenario; which again is linked to an account.
As e.g. Exchange Online doesn't allow one to substitute the sender (Send As...), there is no longer the capability to define the from email address. If you want to send from a different address, you must send from a different account.
As stated, you can now create as many accounts as you want. And in Exchange, you can create as many shared mailboxes as you want. Now, all you need to do is to link those accounts to your scenarios and you should be good to go.
Also, you can add scenarios to the implementation. If you now tie those scenarios to certain accounts, the mails created with that scenario, are going to be sent through that account.
Not sure if any of this makes sense? By Friday, I will have posted the latest code for our email story here on GitHub. And together with our Launch Event on Oct 21, we will launch an intro presentation, which hopefully explains this a little better than how I just did.
And if we then still don't support the scenario you are hoping to implement, I hope we can collaborate on enabling that scenario together.
But it's great that you've already taken this early preview for a spin! I hope you will like our final implementation.

I understood the above explanation.
To be more clear, I was looking for an easy way to achieve the following:
// FromName can no longer be used ...
procedure EnqueueEmailMessage(FromName: Text; ToName: Text; CCName: Text; Subject: Text; Body: Text; AttachmentStream: InStream; AttachmentName: Text)
    var
        EmailMessageCodeunit: Codeunit "Email Message";
        EmailCodeunit: codeunit Email;
        ToRecipients: List of [Text];

        CCRecipients: List of [Text];
        BCCRecipients: List of [Text];
    begin
        ToRecipients.Add(ToName);
        if CCName <> '' then
            CCRecipients.Add(CCName);

        // How to define the 'From' ??
        EmailMessageCodeunit.CreateMessage(ToRecipients, Subject, Body, false, CCRecipients, BCCRecipients);

        if AttachmentName <> '' then
            EmailMessageCodeunit.AddAttachment(AttachmentName, '', AttachmentStream);

        // We could enqueue by fetching the Email Account / Email Connector,
        // although it would be way easier to enqueue with an "email scenario" that gets the Email Account / Email Connector based on the Email Scenario Setup
        EmailCodeunit.Enqueue(EmailMessageCodeunit.GetId());
    end;

something in the direction of the below, if that makes sense. If not, I'm open for alternative solutions.
// Email Scenario would be interesting to replace the FromName  ...
    procedure EnqueueEmailMessage(EmailScenario : enum "Email Scenario"; ToName: Text; CCName: Text; Subject: Text; Body: Text; AttachmentStream: InStream; AttachmentName: Text)
    var
        EmailMessageCodeunit: Codeunit "Email Message";
        EmailCodeunit: codeunit Email;
        ToRecipients: List of [Text];

        CCRecipients: List of [Text];
        BCCRecipients: List of [Text];
    begin
        ToRecipients.Add(ToName);
        if CCName <> '' then
            CCRecipients.Add(CCName);

        EmailMessageCodeunit.CreateMessage(ToRecipients, Subject, Body, false, CCRecipients, BCCRecipients, EmailScenario); // Add overload with EmailScenario

        if AttachmentName <> '' then
            EmailMessageCodeunit.AddAttachment(AttachmentName, '', AttachmentStream);

        EmailCodeunit.Enqueue(EmailMessageCodeunit.GetId(), EmailScenario); // Add overload with EmailScenario
    end;

Here's the signature of a function, which is going to release with 17.1:
/// <summary>
/// Enqueues an email to be sent in the background.
/// </summary>
/// <param name="EmailMessage">The email message to use as payload..</param>
/// <param name="EmailScenario">The scenario to use in order to determine the email account to use for sending the email.</param>
procedure Enqueue(EmailMessage: Codeunit "Email Message"; EmailScenario: Enum "Email Scenario")
begin
    EmailImpl.Enqueue(EmailMessage, EmailScenario);
end;

Is that, what you were looking for then? If so, that would be excellent!

We've also got a "send in foreground" version btw:
/// <summary>
/// Sends the email in the current session.
/// </summary>
/// <param name="EmailMessage">The email message to use as payload..</param>
/// <param name="EmailScenario">The scenario to use in order to determine the email account to use for sending the email.</param>
/// <return>True if the email was successfully sent; otherwise - false.</return>
procedure Send(EmailMessage: Codeunit "Email Message"; EmailScenario: Enum "Email Scenario"): Boolean
begin
    exit(EmailImpl.Send(EmailMessage, EmailScenario));
end;

And if you want to open that mail in our brand new editor, you can of course do that as well:
/// <summary>
/// Opens an email message in "Email Editor" page.
/// </summary>
/// <param name="EmailMessage">The email message to use as payload..</param>
/// <param name="EmailScenario">The scenario to use in order to determine the email account to use  on the page.</param>
procedure OpenInEditor(EmailMessage: Codeunit "Email Message"; EmailScenario: Enum "Email Scenario")
begin
    EmailImpl.OpenInEditor(EmailMessage, EmailScenario, false);
end;

Lot's of good things coming your way ;-)

Okay, a lot of new stuff compared to the insiders version, looking forward! Thx


🐛 [video-creator] Fix overflow simulation rule preview

This is a fix to issue #131 which causes the preview of the simulation rules to clip off the popover.
I mirrored the some of the same CSS rules that are already used in Desmos' simulation expressions. One thing that I changed is the max length of the assignment field and the rule field because Desmos uses 120 pixels for both but this still causes overflow in Desmodder. I opted for applying a first and last child rule to them with 70 and 120 pixels respectively.
If you want changes briefly tell me what you want differently, and I will look into it.

Found an issue myself right now. I need to disable the fade when there is no overflow detected.

I cannot find a way to make the overflow detection happen. I might revisit this later, but in the mean time I will close this pull request since the changes I have made so far are trivial.


Confirmation message not always displayed after sign up

We have a spec that goes through our sign up process and checks to make sure the devise.registrations.signed_up_but_unconfirmed message is displayed.
This test has started to occasionally fail. Instead of the expected message, devise.registrations.signed_up is displayed.
Checking in the database when this happens, there’s only a single unconfirmed user.
I’m at a loss for how to troubleshoot. There are a lot of pieces in place here: rails, capybara, rspec. Because of the seemingly random nature, I’m not sure I can provide a smaller codebase that reproduces the issue.
rails-4.2.0
devise-3.4.1
capybara-2.4.4
rspec-rails-3.2.1

It there any javascript involved for showing the message? It feels more like it is a timing issue somewhere than Devise fault.

@josevalim there’s not any js involved.
(I removed the phantomjs & poltergeist info from the issue after I verified that this test doesn’t actually use them anyway. Got a little carried away thinking about dependencies that could be causing trouble.)

@BM5k hey, I think the problem is here. Since you never call Timecop.return after that freeze your time is messed up and that causes Devise's logic here to work incorrectly.

@nashby D'oh! That's a great find. I'll add in a Timecop.return and see if that fixes our issue.

@BM5k cool, I'll close it for now. Feel free to ping me if it's not fixed.


Fix DPOTrainer docstrings

Description
Some issues were leading the auto-generation of the API reference to fail and the args were overlapped in the documentation page, see screenshot below:

Note that the issue was most likely due to a duplicated colon (:) within the args model_init_kwargs and ref_model_init_kwargs.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Prototype GraphQL endpoints?

This is totally wild and not on the roadmap, but it might be worthwhile to prototype using GraphQL to allow clients to make more specific requests for the type of information they want to receive.
This could help mobile apps by letting them request only the specific fields they need (so they'd get smaller payloads in the final response), and it seems like it'd also have applications for better caching when requesting multiple items.

 As a dev, I want to prototype GraphQL endpoints so that clients can make more specific requets for the type of info they want to receive.

Hey hey graphql.dosomething.org!


Ubuntu 18.04 prerequisites

Working through https://docs.openmicroscopy.org/omero/5.5.0/sysadmins/unix/server-ubuntu1804-ice36.html#installing-prerequisites I found that for the Ice installation,

As part of the installation of Ice, two new daemons are installed and automatically started.

was not true. Further, mv opt/Ice-3.6.4 /opt did not leave the Ice binaries on the default PATH.

https://github.com/ome/ome-documentation/pull/1998


rust IP: Preserving existing IP setting

If IP config not mentioned, we should preserving existing IP setting.

@cathay4t Can we create a test with https://github.com/nmstate/kubernetes-nmstate/pull/966#issuecomment-1018288282 ?

Test case included.

Got Ci failure. Checking.


FancyZones applied to multiple screens and desktops will not survive restart

Environment
Windows build number: Microsoft Windows [Version 10.0.18362.535]
PowerToys version: 0.14.1
PowerToy module for which you are reporting the bug (if applicable): FancyZones

Steps to reproduce

Log into machine
Set up multiple FancyZones on two or more screens on two or more desktops. Note that the kind of desktop I'm referring to is switchable in what Microsoft calls the "task view pane." Also, the FancyZones I'm applying are not the defaults, but custom ones
Restart machine
FancyZones will not have persisted and will need to be re-applied to all screens and desktops

Expected behavior
Zones should persist
Actual behavior
Zones do not persist

This may be same a mix of https://github.com/microsoft/PowerToys/issues/611 and https://github.com/microsoft/PowerToys/issues/645

@kremens
FZ now uses a complete different way of persisting the zones configuration.
Closing the issue, but please feel free to reopen if it's still happening on 0.19x and later.


Rework setup.py to support pip install direct from Github master

I think with some tweaking setup.py can be reworked to properly let people run:
$ pip install git+https://github.com/bcdev/jpy

And have it pull direct from github and build locally without cloning the project, running python setup.py ... and installing the resulting output.
Currently, trying to do the above yields:
$pip install git+https://github.com/bcdev/jpy
Collecting git+https://github.com/bcdev/jpy
  Cloning https://github.com/bcdev/jpy to /private/var/folders/bw/m7v1prq51vd_jl56kp3tznym0000gn/T/pip-7gunxzg1-build
    Complete output from command python setup.py egg_info:
    Using /private/var/folders/bw/m7v1prq51vd_jl56kp3tznym0000gn/T/pip-7gunxzg1-build/jpyutil.py
    Note that you can use non-standard global option [--maven] to force a Java Maven build for the jpy Java API
    running egg_info
    creating pip-egg-info/jpy.egg-info
    writing pip-egg-info/jpy.egg-info/PKG-INFO
    writing dependency_links to pip-egg-info/jpy.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/jpy.egg-info/top_level.txt
    writing manifest file 'pip-egg-info/jpy.egg-info/SOURCES.txt'
    reading manifest file 'pip-egg-info/jpy.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    /Users/dave/.virtualenvs/jpymaster/lib/python3.6/site-packages/setuptools/dist.py:342: UserWarning: The version specified ('0.9-SNAPSHOT') is an invalid version, this may not work as expected with newer versions of setuptools, pip, and PyPI. Please see PEP 440 for more details.
      "details." % self.metadata.version
    warning: no files found matching 'lib/*.jar'
    warning: no files found matching '*.py' under directory 'src/main/python'
    writing manifest file 'pip-egg-info/jpy.egg-info/SOURCES.txt'
    Missing build directory 'build/lib.macosx-10.12-x86_64-3.6'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/bw/m7v1prq51vd_jl56kp3tznym0000gn/T/pip-7gunxzg1-build/

It would have to be predicated on things like setting JAVA_HOME for compiling the Java code, but I think it could work.

Hi David, any news on this? We are indeed about to automate deployment of pip and conda packages and would appreciate any PR w.r.t. CI!

I'll look at this again. I haven't touched JPY lately, but will see what I can do.

Great!

I'm making some good progress:
$ JAVA_HOME=/Library/Java/Home pip install .
Processing /Users/dave/src/python/jpy
Installing collected packages: jpy
  Running setup.py install for jpy ... done
Successfully installed jpy-0.9.0

and
$ JAVA_HOME=/Library/Java/Home pip install git+https://github.com/voutilad/jpy.git@issue-83
Collecting git+https://github.com/voutilad/jpy.git@issue-83
  Cloning https://github.com/voutilad/jpy.git (to issue-83) to /private/var/folders/bw/m7v1prq51vd_jl56kp3tznym0000gn/T/pip-etzby7k6-build
Installing collected packages: jpy
  Running setup.py install for jpy ... done
Successfully installed jpy-0.9.0

Manually verifying it's not a fluke:
$ JAVA_HOME=/Library/Java/Home python
Python 3.6.1 (default, Mar 23 2017, 16:49:06)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-8<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpy
>>> jpy.create_jvm([])
>>> s = jpy.get_type('java.lang.String')
>>> print(s('hello jpy!'))
hello jpy!
>>> print(type(s('hi')))
<class 'java.lang.String'>
>>>

I've created custom commands that hook into the default install and test commands. This way the jar and jpy config files get properly built and, if running test, both python and java tests get executed. As you can see above, just using pip install <path to project> is starting to work well.
I still need to add some logic for properly getting the system details to find the C extensions (had to rework that original methods used, so for now I've hardcoded the macOS details on my system) and do a little refactoring to cleanup things up.

I've made some progress on my fork. Still need to iron out some path issues (see screenshot).

I'll check if it's a functional install though. Maybe it works?

So far so good. With a fresh virtualenv:
$ pip install git+https://github.com/voutilad/jpy@issue-83
Collecting git+https://github.com/voutilad/jpy@issue-83
  Cloning https://github.com/voutilad/jpy (to issue-83) to /private/var/folders/_w/m2_2p9n52_q6kb_rqz5r0cbc0000gn/T/pip-2bra5okn-build
Installing collected packages: jpy
  Running setup.py install for jpy ... done
Successfully installed jpy-0.9.0.dev1

$ python
Python 3.6.1 (default, Mar 23 2017, 16:49:06)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-8<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpy
>>> jpy
<module 'jpy' from '/Users/dave/.virtualenvs/jpytest/lib/python3.6/site-packages/jpy.cpython-36m-darwin.so'>
>>> dir(jpy)
['JException', 'JField', 'JMethod', 'JOverloadedMethod', 'JType', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'array', 'cast', 'create_jvm', 'destroy_jvm', 'diag', 'get_type', 'has_jvm', 'type_callbacks', 'types']
>>> jpy.create_jvm([])
>>> jpy.has_jvm()
True
>>> String = jpy.get_type("java.lang.String")
>>> s = String("Hello JPY!")
>>> print(s)
Hello JPY!
>>> type(s)
<class 'java.lang.String'>
>>>

Hmmm so it builds the jar file, but doesn't properly deploy it. Instead it gets caught up in that /private/var/folders/... path (on macOS) and that gets cleaned up after install. Just need to figure that out and I think it'll work.

Closing this since PR #97 was merged.

I've recently started using jpy (its great, BTW!), and the process implemented here is much nicer than what is in the README.md (to be fair, it is more about covering Build rather than Install). I'd be happy to do a PR with some Install-oriented docs based on this PR if that would be considered helpful.


Add the px-mongo demo to the CLI

Summary: This PR adds a demo app to test the mongo protocol tracing feature.
Related issues: Closes https://github.com/pixie-io/pixie/issues/640
Type of change: /kind feature
Test Plan: Uploaded the px-mongo demo artifact to the GCS dev bucket. Tested the CLI and then deployed the demo to my cluster. Skaffolded Pixie with the latest mongo tracing changes and used the scratch pad to execute the mongo pxl script to verify data is being collected from the demo.

Changelog Message:
Adds the `px-mongo` demo to the CLI

I was able to deploy the px-mongo demo by following the demo README instructions and verified that the http_data and hand written mongodb_data script show the expected data. The only missing piece from my perspective is that the px/monogodb_data script hasn't been release yet.
@aimichelle @JamesMBartlett is there anything else you want to see addressed?


Polygon not being extruded properly

I tried recreating the GeoJsonLayer inside our app, and got this instead of what was portrayed in the demo:

Saw inside website/src/components/demos/layer-demo-base.js that upon initialization of deck.gl, something like this was being called:
setParameters(gl, {
   depthTest: true,
   depthFunc: gl.LEQUAL,
 });

The 4.0 release branch contains something like this:
gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.LEQUAL);

Can I ask what deck.gl uses this particular snippet for? Does every app using deck.gl need this? Can't seem to find any mention what this does in the docs.

The two code snippets you have above are functionally equal. The first one uses new luma API (which should be more effiencent), are the results different when using one over the other?

@1chandu I ended up putting the second snippet because at<EMAIL_ADDRESS>and<EMAIL_ADDRESS>the first one returns an error that setParameters isn't a function, guessing it's on a version more recent than the one I'm using (which was given with yarn install deck.gl luma.gl).
I'd say this wasn't the expected behavior, though: had I not looked at the actual demo source code I might not have noticed the snippets, it isn't in this page either GeoJsonLayer demo. Might this be included in the docs somewhere or be enabled by default when using deck.gl?
Closing this, hope it helps someone stuck.


memDecorator calls getters immediately

Hello,
I'm running into an issue memoizing a getter that relies on configuration set in the constructor. It appears that this line in memDecorator calls the getter immediately in addition to retrieving the getter function:
const input = target[propertyKey]; // eslint-disable-line @typescript-eslint/no-unsafe-assignment

Example:
import { memDecorator } from 'mem'

export class TestMemoizeGetter {
  constructorCalled?: boolean

  constructor() {
    this.constructorCalled = true
  }

  @memDecorator()
  public get someGetter() {
    if (!this.constructorCalled) {
      throw new Error('constructor has not been called')
    }

    return Math.random()
  }
}

const instance = new TestMemoizeGetter()

assert.doesNotThrow(() => {
  const value = instance.someGetter
  assert.strictEqual(instance.someGetter, value)
})

Output:
Error: constructor has not been called
    at Object.get someGetter (/home/neodon/p/mem-getters/index.ts:14:13)
    at file:///home/neodon/p/mem-getters/node_modules/mem/dist/index.js:84:29
    at __decorateClass (file:///home/neodon/p/mem-getters/index.ts:1:374)
    at <anonymous> (/home/neodon/p/mem-getters/index.ts:12:14)
    at ModuleJob.run (node:internal/modules/esm/module_job:194:25)

I messed around with the implementation for memDecorator and had some luck by using descriptor.value for functions and descripter.get for getter functions. It created some more problems though around this bindings. It seems that getter functions have a lot of voodoo baked in.
Let me know if you see value in this getting fixed. I can create a pull request with a failing test, and add some of the partial fix I figured out.
Also, the same issue exists with p-memoize, but it seemed better to start here since getters are synchronous.

I think you’re right, that line does call the getter right when the decorator is first called:
https://github.com/sindresorhus/mem/blob/22c4b5e8fb033532eb070e24b26521e7898dfd77/index.ts#L177
instance.prop will immediately call the get prop function.
mem does not support getters at this point, I suppose. We should use the information in the descriptor (descriptor.value and descriptor.get) instead of that line

the same issue exists with p-memoize

It’s best to also open an issue there and link it to this one so people from both packages can contribute solutions.


Add support for BDV HD5

http://forum.imagej.net/t/bigvolumeviewer-tech-demo/12104/11?u=kephale

This is already in the works in the bdv-integration branch of scenery 👍


Decouple number of OpenBLAS threads and max number of OpenMP threads

It is possible to set the number of threads used by OpenBLAS via openblas_set_num_threads. For the "custom thread" solution this works quite well: Independent of what the application may do the set number of threads is used inside OpenBLAS.
However for OpenMP this is not the case: An application might want to have OpenBLAS use 4 of 16 threads while using OpenMP itself to schedule other work or run 4 OpenBLAS operations in parallel each using 4 threads (up to the runtime if that is even possible, but the first use case should be). Another use case would be that OpenBLAS should use only 4 threads (e.g. due to performance reasons, usual matrix size, ...) but the application wants to use OpenMP (at other times, so not in parallel to OpenBLAS) with all 16 threads.
Now OpenBLAS does something nasty: It uses the max number of openmp threads and sets the max number of used threads to that value. So it is impossible to use less than the number of OpenMP threads.
In code the problem is 2-fold:

An application might set the number of threads for OpenBLAS to use but that changes the number of OpenMP threads: https://github.com/xianyi/OpenBLAS/blob/ff16329cb780396521e14de7e2ebd673fbab674a/driver/others/blas_server_omp.c#L93 This is questionable. If at all the number of OpenMP threads should only be increased, but not decreased. And even that: It might be declared an error to use more threads by OpenBLAS than are available in OpenMP or that the lower of those 2 values will be used.
When an application sets the OpenBLAS threads and then increases the OpenMP threads, OpenBLAS will react on that, while it should not. The function num_cpu_avail which should only query does a modification: https://github.com/xianyi/OpenBLAS/blob/develop/common_thread.h#L154-L156

So for a first fix I'd suggest to make num_cpu_avail return the lesser of blas_cpu_number and openmp_nthreads instead of setting anything.

In OMP parallel section OpenBLAS falls down to one thread, not 4 or 40. Something OMP 3.0 feature level or so.
It allocates some fixed structures based on system size, like starting thread for starters. Questionable performance-wise would be to restart thread pool on each call...

Maybe I wasn't clear enough. Here a code sample in pseudo code:
// Program init
omp_set_num_threads(16);
openblas_set_num_threads(4);

// some code
#pragma omp parallel for // --> woops only 4 threads used
for(...)
  extract_image(i)

blas_sgemm(image[0]) // Correct: 4 threads used

Or other way round:
// Program init
openblas_set_num_threads(4);
omp_set_num_threads(16);

// some code
#pragma omp parallel for // --> OK, 16 threads used
for(...)
  extract_image(i)

blas_sgemm(image[0]) // Woops: 16 threads used despite the first line

It is also a problem because when compiling OpenBLAS you need to set the maximum number of threads you want it to use. So for this case you'd set it to 4 at compile time because you explicitely tell OpenBLAS to only use 4 at runtime. However now you cannot use 16 OMP threads in your main program as that will crash OpenBLAS due to exceeding its limits.

If you call sgemm inside parallel section, not right after it, it runs on a single core.

Sure. But that was not my point.
My point is that OpenBLAS interacts with the maximum number of OpenMP threads in both directions: overwriting application set limits and overwriting user set OpenBLAS limits. See the "woops" lines above

My point is known limitation that it does not play optimally with OMP thread limits, normally you would just set OMP thread hierarchy variables, and/or make another parallel section nested in outer one. That would suffice to avoid wrong size thread pool in all cases.
Do you think openblas_set_num_threads should somehow complement omp setting? I think it could be plain alias for omp function in general to stay compatible with non-omp versions.

My expectation is two-fold:

During execution: when the number of OMP threads is higher than the number of openblas threads then the omp setting is not touched and the lower openblas num threads is used. I see no reasoning why it should be otherwise. I mean: The "native" thread server doesn't just keep creating a random amount of threads either but uses the set number of openblas threads.
setting the number of openblas threads: If the number of OMP threads is higher, then it should not be touched. If it is lower then a clearly communicated decision needs to be made. Either the value is retained an during execution the lower number is used, or (similar to current) the number of OMP threads is increased. Or the number of openblas threads is capped at the number of omp threads during the set. But again I see no point in decreasing the number of OMP threads allowed for an application from withing openblas.

To be compatible with the non-omp version openblas should not increase it thread count when the omp thread count is increased. As mentioned above this is very important because the max number of openblas threads is fixed at compile time.

OMP provides hierarchy mechanism that openblas does not instrument. Usually re-invented wheel comes out square at best.

Can you elaborate how hierarchy is involved here or what form of hierarchy you mean exactly? OMP is a runtime for threading. I don't see why any particularities there should mean that OpenBLAS ignores the users choice of number of threads to use (for OpenBLAS) or why it (OpenBLAS) should influence the users program in any way.

Here
https://github.com/xianyi/OpenBLAS/blob/91c84e1c010b17ccc54306791dabb806f03b7a33/common_thread.h#L149

A Actual similar mkl_set_num_threads sets threads in subsequent invocations in parallel sections (where OpenBLAS has ONE invariably) - that might be "right" and "expected"
B Setting OMP threads is unexpected, especially setting them up may cause oversubscription of CPU cores.
C But there is a global lock actually limiting to one L3 call at a time per process.

Easiest would be to plainly alias get function to omp (B) and discard set parameter to align with (A) until (C) is heavily changed to permit multiple calls.

I tested mkl_set_num_threads/mkl_get_max_threads and that does not influence the omp numbers and is also not influenced by it.
So aliasing the OpenBLAS function(s) to the OMP function would be wrong. Similar to how https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/support-functions/threading-control/mkl-set-num-threads.html defines it:

Specifies the number of OpenMP* threads to use.

There should be a separate state for OpenBLAS: The number of OMP threads that are used. Hence the set function should NOT call the OMP set function and the get function should change neither the number of OpenBLAS nor of the OMP threads.
So my proposal would be simply: Set changes the OpenBLAS number ignoring any OMP setting, get returns the min(OpenBLAS threads, OMP threads). This aligns with the above MKL definition: The number of OMP threads to use. If there are less available (user set omp_max_threads to 4 and OpenBLAS threads to 8) then all 4 OMP threads are used (not 8)
The behavior in parallel section (1 thread only) could be kept. Otherwise it should be checked whether nested parallelism is actually supported.

It is influenced on initialisation. Ill look into it in weekend, functions look so badly scattered around the code that it is not as simple as commenting line 78
Normally you can have a machine with 2^N sockets , each socket with 2^n internal NUMA domains, OMP intends to model it well, MKL kind of permits to set domain numbers and volumes, OpenBLAS here considers all domains have one core. In real life python and R has parallel modules that spawn processes for domains with that many cores, but could wish nested sections to spawn OMP parallel section around sockets.

It is influenced on initialisation.

Sure, using the number of OMP threads as the default is reasonable. Only setting the number of OpenBLAS threads should not influence OMP threads and vice versa (after the init/first OpenBLAS call)

functions look so badly scattered around the code that it is not as simple as commenting line 78

Noticed that too, especially the variables (*num_cpus, *num_threads). The 2 linked functions above should help to get started, I even think changing those 2 is enough, but this needs checking.

Also I tested:
openblas_set_num_threads(1);
omp_set_num_threads(original_omp_num_threads);

# caling openblas runs as if I didn't change any num_threads
# (at least it seems after doing some benchmarks)
# even if
openblas_get_num_threads();  # returns 1

Which adds to the confusion to me because you can end up in state where the value of openblas_get_num_threads does not reflect the number of threads it will actually use.

PR #3773 added a new, OpenMP-compatible environment variable OPENBLAS_DEFAULT_NUM_THREADS


fix: Updates fast-xml-parser to address "Prototype Pollution" vulnerability

https://security.snyk.io/vuln/SNYK-JS-FASTXMLPARSER-3325616
#minor
Description

Specific Changes

Testing

j2xParser was renamed in fast-xml-parser. I updated the code.

@microsoft-github-policy-service agree

Do you have any updates on this? Many thanks!


Feature/allow multiple reporters of same type

Calling ToInfluxDb multiple times with different filters does not work

#612

Details on the issue fix or feature implementation

Removed single reporter per reporter type restriction
Updated DefaultReportMetricsRunner to run multiple reporters for a given reporter type

Confirm the following

[X] I have ensured that I have merged the latest changes from the dev branch
[X] I have successfully run a local build
[X] I have included unit tests for the issue/feature
[X] I have included the github issue number in my commits

Could you create the PR on branch features/4.3.0 please. Sorry should make clearer in the readme

Hey @Havret, the maintainer is a bit busy with life at the moment. Workaround we are currently is to wrap the reporter type into a unique type:
/// <summary>
/// Empty wrappper class of InfluxDbMetricsReporter to create a uniquely typed reporter.
/// </summary>
internal class UniqueReporter1InfluxDbReporter : InfluxDbMetricsReporter
{
    internal UniqueReporter1InfluxDbReporter(MetricsReportingInfluxDbOptions options, ILineProtocolClient lineProtocolClient) : base(options, lineProtocolClient)
    {
    }
}

/// <summary>
/// Empty wrappper class of InfluxDbMetricsReporter to create a uniquely typed reporter.
/// </summary>
internal class UniqueReporter2InfluxDbReporter : InfluxDbMetricsReporter
{
    internal UniqueReporter2InfluxDbReporter(MetricsReportingInfluxDbOptions options, ILineProtocolClient lineProtocolClient) : base(options, lineProtocolClient)
    {
    }
}

Hey @Francois-du-Plessis, thanks for your suggestion. It requires some boilerplate registration code, but works like a charm.


Complie error

can't  Initialization  with   compile 'com.liulishuo.filedownloader:library:1.0.2'
please help

Sorry, I don't know what problem with you.
FileDownloader 1.0.2 is available in JCenter: http://jcenter.bintray.com/com/liulishuo/filedownloader/library/1.0.2/ , and also available in Maven Central: https://oss.sonatype.org/content/repositories/releases/com/liulishuo/filedownloader/library/1.0.2/

this error

Please check your root path build.gradle file, make sure there is jcenter() or mavenCentral() declared in the buildscript.repositories:
...
buildscript {
         repositories {
                 jcenter()
                 // or mavenCentral() is fine
                 ...
          }
...
}
...

If you have already declared it, please check your network  whether it can access jcenter-repository or mavenCentral-repository.

okay . its working


Installation Error

Hello,
during installation on Windows 10 with clear pip cache following error appears:
`Exception:
Traceback (most recent call last):
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\compat_init_.py", line 73, in console_to_str
return s.decode(sys.stdout.encoding)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 189: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\commands\install.py", line 342, in run
prefix=options.prefix_path,
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\req\req_set.py", line 784, in install
**kwargs
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\req\req_install.py", line 878, in install
spinner=spinner,
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\utils_init_.py", line 676, in call_subprocess
line = console_to_str(proc.stdout.readline())
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\compat_init_.py", line 75, in console_to_str
return s.decode('utf_8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x94 in position 189: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\commands\install.py", line 385, in run
requirement_set.cleanup_files()
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\req\req_set.py", line 729, in cleanup_files
req.remove_temporary_source()
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\req\req_install.py", line 977, in remove_temporary_source
rmtree(self.source_dir)
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 49, in wrapped_f
return Retrying(*dargs, **dkw).call(f, *args, **kw)
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 212, in call
raise attempt.get()
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 247, in get
six.reraise(self.value[0], self.value[1], self.value[2])
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\six.py", line 686, in reraise
raise value
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 200, in call
attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\utils_init_.py", line 102, in rmtree
onerror=rmtree_errorhandler)
File "c:\users\michae~1\envs\test4\lib\shutil.py", line 494, in rmtree
return _rmtree_unsafe(path, onerror)
File "c:\users\michae~1\envs\test4\lib\shutil.py", line 393, in rmtree_unsafe
onerror(os.rmdir, path, sys.exc_info())
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\utils_init.py", line 114, in rmtree_errorhandler
func(path)
PermissionError: [WinError 32] Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird: 'C:\Users\MICHAE~1\AppData\Local\Temp\pip-build-s2g30tlu\msgpack-python'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\basecommand.py", line 215, in main
status = self.run(options, args)
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\commands\install.py", line 385, in run
requirement_set.cleanup_files()
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\utils\build.py", line 38, in exit
self.cleanup()
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\utils\build.py", line 42, in cleanup
rmtree(self.name)
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 49, in wrapped_f
return Retrying(*dargs, **dkw).call(f, *args, **kw)
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 212, in call
raise attempt.get()
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 247, in get
six.reraise(self.value[0], self.value[1], self.value[2])
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\six.py", line 686, in reraise
raise value
File "c:\users\michae~1\envs\test4\lib\site-packages\pip_vendor\retrying.py", line 200, in call
attempt = Attempt(fn(*args, **kwargs), attempt_number, False)
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\utils_init_.py", line 102, in rmtree
onerror=rmtree_errorhandler)
File "c:\users\michae~1\envs\test4\lib\shutil.py", line 494, in rmtree
return _rmtree_unsafe(path, onerror)
File "c:\users\michae~1\envs\test4\lib\shutil.py", line 384, in _rmtree_unsafe
_rmtree_unsafe(fullname, onerror)
File "c:\users\michae~1\envs\test4\lib\shutil.py", line 393, in rmtree_unsafe
onerror(os.rmdir, path, sys.exc_info())
File "c:\users\michae~1\envs\test4\lib\site-packages\pip\utils_init.py", line 114, in rmtree_errorhandler
func(path)
PermissionError: [WinError 32] Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird: 'C:\Users\MICHAE~1\AppData\Local\Temp\pip-build-s2g30tlu\msgpack-python'
(test4) C:\bootcamp>`
Any Help?
best regards

Hi @VirtualAI My German is a little rusty, but if I read correctly, your issue is with pip and its permissions and not with Bootcamp itself, Am I right?

Hi @VirtualAI do you have additional information on this?


convert &IFooBar to ManuallyDrop<Option>

Suggestion
https://github.com/microsoft/windows-rs/blob/dbc3932513ba9ed489c0b99c1bb3aba565d23994/crates/samples/windows/direct3d12/src/main.rs#L496
Is this documented?
Is there a safer way to do the conversion?

There is a new type in the windows_core crate, called InterfaceRef, which serves exactly this purpose now.  It has not yet been published, but I expect that we'll publish a new version of all of the Windows crates within the next 2 weeks.

It's not quite the right solution as it expects a lifetime parameter which cannot easily be added to structs like D3D12_RESOURCE_BARRIER. We also need to figure out a better harmony between ParamValue, which doesn't have lifetime, and InterfaceRef, which does. And neither are a perfect fit for windows-bindgen to use for structs, which would be the requirement to satisfy this issue.


python37Packages.cmd2: 0.9.25 -> 0.10.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-cmd2/versions.
meta.description for python37Packages.cmd2 is: "Enhancements for standard library's cmd module"
meta.homepage for python37Packages.cmd2 is: "https://github.com/python-cmd2/cmd2"

Quoted meta.homepage for RFC 45

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.10.1 with grep in /nix/store/0vlcip2nvs9frv0fripa8haqzk3wivy3-python3.7-cmd2-0.10.1

directory tree listing: https://gist.github.com/386986cdbf0322ddd9c76769be7e8bc1

du listing: https://gist.github.com/af33e80932fe6d01ece2184eb6eccb47

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

20 total rebuild path(s)
6 package rebuild(s)
6 x86_64-linux rebuild(s)
4 i686-linux rebuild(s)
6 x86_64-darwin rebuild(s)
4 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
python37Packages.cliff
python37Packages.cmd2
python37Packages.optuna
python38Packages.cliff
python38Packages.cmd2
python38Packages.optuna

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0vlcip2nvs9frv0fripa8haqzk3wivy3-python3.7-cmd2-0.10.1 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0vlcip2nvs9frv0fripa8haqzk3wivy3-python3.7-cmd2-0.10.1
ls -la /nix/store/0vlcip2nvs9frv0fripa8haqzk3wivy3-python3.7-cmd2-0.10.1/bin

cc @teto for testing.

there is already the 1.0 version so this PR is outdated https://github.com/python-cmd2/cmd2/tree/1.0.0


Deprecation Updates

Docs Build status updates of commit 11f18ad:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/skills/mva42-visual-ux.md
:warning:Warning
View
Details

docs/voice-commands/vcd.md
:warning:Warning
View
Details

docs/voice-commands/dynamically-modify-voice-command-definition-vcd-phrase-lists.md
:warning:Warning
View
Details

docs/voice-commands/launch-a-background-app-with-voice-commands-in-cortana.md
:warning:Warning
View
Details

docs/voice-commands/deep-link-into-your-app-from-cortana.md
:warning:Warning
View
Details

docs/voice-commands/support-natural-language-voice-commands-in-cortana.md
:warning:Warning
View
Details

docs/skills/mva32-building-conversations.md
:warning:Warning
View
Details

docs/voice-commands/voicecommand-design-guidelines.md
:warning:Warning
View
Details

docs/voice-commands/launch-a-foreground-app-with-voice-commands-in-cortana.md
:warning:Warning
View
Details

docs/skills/mva41-streaming-audio.md
:warning:Warning
View
Details

docs/skills/mva61-authentication.md
:warning:Warning
View
Details

docs/voice-commands/interact-with-a-background-app-in-cortana.md
:warning:Warning
View
Details

docs/skills/mva51-profile-data.md
:warning:Warning
View
Details

docs/skills/mva71-share-skill.md
:warning:Warning
View
Details

docs/skills/mva43-client-code.md
:warning:Warning
View
Details

docs/skills/mva52-using-profile-data.md
:warning:Warning
View
Details

docs/data-markup/structured-data-markup.md
:warning:Warning
View
Details

docs/skills/deprecation.md
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

docs/skills/mva42-visual-ux.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/voice-commands/vcd.md

Line 14, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/voice-commands/dynamically-modify-voice-command-definition-vcd-phrase-lists.md

Line 10, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/voice-commands/launch-a-background-app-with-voice-commands-in-cortana.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/voice-commands/deep-link-into-your-app-from-cortana.md

Line 13, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/voice-commands/support-natural-language-voice-commands-in-cortana.md

Line 14, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/skills/mva32-building-conversations.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/voice-commands/voicecommand-design-guidelines.md

Line 13, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.
Line 2, Column 8: [Suggestion-duplicate-titles] Title 'Cortana design guidelines - Cortana UWP design and development - Cortana' is duplicated in: 'media/archive/skills/cortana-design-guidelines.md(2,8), voice-commands/voicecommand-design-guidelines.md(2,8)'. Titles must be unique within a docset.
Line 15, Column 1: [Suggestion-duplicate-h1s] H1 'Cortana design guidelines' is duplicated with other articles: 'media/archive/skills/cortana-design-guidelines.md(13,1), voice-commands/voicecommand-design-guidelines.md(15,1)'. First level headings must be unique within a docset. NOTE: This Suggestion will become a Warning in late September, 2020.

docs/voice-commands/launch-a-foreground-app-with-voice-commands-in-cortana.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/skills/mva41-streaming-audio.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.
Line 31, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.
Line 55, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.
Line 97, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.

docs/skills/mva61-authentication.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/voice-commands/interact-with-a-background-app-in-cortana.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.
Line 59, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.
Line 66, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.

docs/skills/mva51-profile-data.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/skills/mva71-share-skill.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/skills/mva43-client-code.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.

docs/skills/mva52-using-profile-data.md

Line 12, Column 3: [Warning-h1-not-first] Markdown content is not allowed before H1.
Line 79, Column 0: [Suggestion-code-block-indented] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```). NOTE: This Suggestion will become a Warning in late September, 2020.

docs/data-markup/structured-data-markup.md

Line 13, Column 2: [Warning-h1-not-first] Markdown content is not allowed before H1.
Line 189, Column 0: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text. NOTE: This Suggestion will become a Warning in late September, 2020.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Inline expressions with on indented lines are not parsed correctly

E.g.,

    ${"hello"}

Fixed in #1438.


Radius user accounting

Hi, there!
Thank you for using SoftEther.

Prerequisites

[ ] Can you reproduce?
[ ] Are you running the latest version of SoftEtherVPN? Yes

Please add a feature to manage user sessions (max sessions or current user session) with radius

Duplicate of #101.


Weird results in the chatterbot.chatterbot:Adding responses

The logs are saying something like 'Adding "Hey" as a response to "Hey"' which for the first iteration here makes sense but subsequent iterations it keeps saying that it's adding the response to the phrase "Hey" even thought that was not the last response.
For example, further down the chain you will see that the bot says "See you later" to which I respond with an input of "Bye" and the logs says 'Adding "Bye" as a response to "Hey"'. But "Bye" was not a response to "Hey" it was a response to "See you later." Any idea why it is doing this? Do I need to add a certain logic adapter or something?
>>> chat("Hey")
INFO:chatterbot.adapters:Received input statement: Hey
INFO:chatterbot.adapters:"Hey" is a known statement
INFO:chatterbot.adapters:Using "Hey" as a close match to "Hey"
INFO:chatterbot.adapters:Selecting response from 8 optimal responses.
INFO:chatterbot.response_selection:Selecting a response from list of 8 options.
INFO:chatterbot.adapters:Response selected. Using "I'm good, thanks!"
INFO:chatterbot.adapters:BestMatch selected "I'm good, thanks!" as a response with a confidence of 1.0
INFO:chatterbot.response_selection:Selecting first response from list of 1 options.
INFO:chatterbot.adapters:LowConfidenceAdapter selected "Huh? I don't get it..." as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "Hey" as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "Hey" as a response to "Hey"
I'm good, thanks!
>>> chat("Good to hear.")
INFO:chatterbot.adapters:Received input statement: Good to hear.
INFO:chatterbot.adapters:"Good to hear." is not a known statement
INFO:chatterbot.adapters:Using "Good to hear." as a close match to "Goodbye"
INFO:chatterbot.adapters:Selecting response from 1 optimal responses.
INFO:chatterbot.response_selection:Selecting a response from list of 1 options.
INFO:chatterbot.adapters:Response selected. Using "See you later"
INFO:chatterbot.adapters:BestMatch selected "See you later" as a response with a confidence of 0.5
INFO:chatterbot.response_selection:Selecting first response from list of 1 options.
INFO:chatterbot.adapters:LowConfidenceAdapter selected "Huh? I don't get it..." as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "Good to hear." as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "Good to hear." as a response to "Hey"
See you later
>>> chat("Bye")
INFO:chatterbot.adapters:Received input statement: Bye
INFO:chatterbot.adapters:"Bye" is a known statement
INFO:chatterbot.adapters:Using "Bye" as a close match to "Bye"
INFO:chatterbot.adapters:Selecting response from 1 optimal responses.
INFO:chatterbot.response_selection:Selecting a response from list of 1 options.
INFO:chatterbot.adapters:Response selected. Using "Cool"
INFO:chatterbot.adapters:BestMatch selected "Cool" as a response with a confidence of 1.0
INFO:chatterbot.response_selection:Selecting first response from list of 1 options.
INFO:chatterbot.adapters:LowConfidenceAdapter selected "Huh? I don't get it..." as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "Bye" as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "Bye" as a response to "Hey"

Here's the configuration:
default = "Huh? I don't get it..."
chatbot = ChatBot('chatboy',trainer="chatterbot.trainers.ListTrainer",
    logic_adapters=[{
        'import_path': 'chatterbot.logic.BestMatch',
        "response_selection_method": "chatterbot.response_selection.get_random_response"
        },
        {
            'import_path': 'chatterbot.logic.LowConfidenceAdapter',
            'threshold': 0.50,
            'default_response': default
        }
        ]
    )

chatbot.train(["Hello","Hey",])
def chat(input):
    response = chatbot.get_response(input)
    print(response)

@jasonleehodges Some chatterbot will act weired the amount training and learning new response are very minor.
Can you try this example https://github.com/gunthercox/ChatterBot/blob/master/examples/learning_new_response.py, and let me know your observations.

I had the same issue and, in my opinion, has nothing to do with the amount of training examples. Simply, all the input statements are added as a response to the very first statement.
i tried the following example program:
`logging.basicConfig(level=logging.INFO)
chatbot = ChatBot(
"txabot",
preprocessors=[
'chatterbot.preprocessors.clean_whitespace'
],
storage_adapter='chatterbot.storage.SQLStorageAdapter',
logic_adapters=[
{
"import_path": "chatterbot.logic.BestMatch",
"statement_comparison_function": "chatterbot.comparisons.levenshtein_distance",
"response_selection_method": "chatterbot.response_selection.get_first_response"
},
{
'import_path': 'chatterbot.logic.LowConfidenceAdapter',
'threshold': 0.65,
'default_response': 'What do you mean?'
}
],
input_adapter='chatterbot.input.TerminalAdapter',
output_adapter='chatterbot.output.TerminalAdapter',
database='./database.sqlite3')
chatbot.set_trainer(ChatterBotCorpusTrainer)
Start by training our bot with the Ubuntu corpus data
chatbot.train('chatterbot.corpus.english')
print("Say something...")
The following loop will execute each time the user enters input
while True:
try:
response = chatbot.get_response(None)
# Press ctrl-c or ctrl-d on the keyboard to exit
except (KeyboardInterrupt, EOFError, SystemExit):
    break

`
And when I execute it, all the statements are added to the first one.
That can be managed by manually linking each statement with its response, as it been shown in the previous learning_new_response.py program.

I essentially just turned off the learning and am going to do it manually with user based reinforcement learning because the built in method didn't work for me at all.

@jasonleehodges did you find a solution for this? I'm having the same issue and finding that the very first time get_response is called it finds a statement via 'BestMatch' then all following statements seem to saved as responses to the first RandomResponse.
However, sometimes it will seem to randomly start saving responses against a different statement
INFO:chatterbot.adapters:Received input statement: hey test testmate
INFO:chatterbot.adapters:"hey test testmate" is not a known statement
INFO:chatterbot.adapters:Using "hey test testmate" as a close match to "que veut dire hal"
INFO:chatterbot.adapters:Selecting response from 1 optimal responses.
INFO:chatterbot.response_selection:Selecting first response from list of 1 options.
INFO:chatterbot.adapters:Response selected. Using "logique heuristique algorithmique."
INFO:chatterbot.adapters:BestMatch selected "logique heuristique algorithmique." as a response with a confidence of 0.53
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "hey test testmate" as a response with a confidence of 0

INFO:chatterbot.adapters:Received input statement: what?
INFO:chatterbot.adapters:"what?" is not a known statement
INFO:chatterbot.adapters:Using "what?" as a close match to "What?"
INFO:chatterbot.adapters:No response to "What?" found. Selecting a random response.
INFO:chatterbot.adapters:BestMatch selected "nice hat" as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "what?" as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "what?" as a response to "logique heuristique algorithmique."

INFO:chatterbot.adapters:Received input statement: LOL
INFO:chatterbot.adapters:"LOL" is a known statement
INFO:chatterbot.adapters:Using "LOL" as a close match to "LOL"
INFO:chatterbot.adapters:No response to "LOL" found. Selecting a random response.
INFO:chatterbot.adapters:BestMatch selected "hey toby look i got us a dog" as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "LOL" as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "LOL" as a response to "logique heuristique algorithmique."

INFO:chatterbot.adapters:Received input statement: which conversation is this?
INFO:chatterbot.adapters:"which conversation is this?" is not a known statement
INFO:chatterbot.adapters:Using "which conversation is this?" as a close match to "which bot is this"
INFO:chatterbot.adapters:No response to "which bot is this" found. Selecting a random response.
INFO:chatterbot.adapters:BestMatch selected "whats the command to generate memes" as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "which conversation is this?" as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "which conversation is this?" as a response to "logique heuristique algorithmique."

INFO:chatterbot.adapters:Received input statement: que veut dire hal
INFO:chatterbot.adapters:"que veut dire hal" is a known statement
INFO:chatterbot.adapters:Using "que veut dire hal" as a close match to "que veut dire hal"
INFO:chatterbot.adapters:No response to "que veut dire hal" found. Selecting a random response.
INFO:chatterbot.adapters:BestMatch selected "I'm learning BACKWARDS" as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "que veut dire hal" as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "que veut dire hal" as a response to "logique heuristique algorithmique."

The weird thing that confuses me the most is how using a known statement with apparent responses chooses a random response again
INFO:chatterbot.adapters:Received input statement: logique heuristique algorithmique.
INFO:chatterbot.adapters:"logique heuristique algorithmique." is a known statement
INFO:chatterbot.adapters:Using "logique heuristique algorithmique." as a close match to "heuristic algorithmic logic"
INFO:chatterbot.adapters:No response to "heuristic algorithmic logic" found. Selecting a random response.
INFO:chatterbot.adapters:BestMatch selected "Good." as a response with a confidence of 0
INFO:chatterbot.adapters:NoKnowledgeAdapter selected "logique heuristique algorithmique." as a response with a confidence of 0
INFO:chatterbot.chatterbot:Adding "logique heuristique algorithmique." as a response to "hey toby look i got us a dog"

I have the same issue with latest version 1.0.1a, it seems to be a big issue! all statements are save in_response_to my first training statement.

I believe this question is relevant to be posted here than creating a new issue. Been a long time since I used chatterbot. All statements are being saved in in_response_to but the BestMatch adapter is not looking for responses via in_response_to (earlier it used to).
Here's the issue:
Database:
Statement 1: {"text": "Hi", "search_text": "hi", ...., "in_response_to": None, "search_in_reponse_to": ""}
Statement 2: {"text": "How are you?", "search_text": "WRB:are VBP:you", ...., "in_response_to": "Hi", "search_in_reponse_to": ""}

Output:
Hi
INFO:chatterbot.chatterbot:Beginning search for close text match
INFO:chatterbot.chatterbot:Processing search results
INFO:chatterbot.chatterbot:Similar text found: Hi 1.0
INFO:chatterbot.chatterbot:Using "Hi" as a close match to "Hi" with a confidence of 1.0
INFO:chatterbot.chatterbot:No responses found. Generating alternate response list.
INFO:chatterbot.chatterbot:No known response to the input was found. Selecting a random response.
INFO:chatterbot.chatterbot:BestMatch selected "Hi" as a response with a confidence of 0
INFO:chatterbot.chatterbot:Not processing the statement using SpecificResponseAdapter
INFO:chatterbot.chatterbot:Adding "Hi" as a response to "Hi"
Hi

Apparantely, adding hi in search_in_reponse_to for Statement 2 gets me the desirable result. But why is this not happening by default in learn_response function?
@vkosuri Any inputs?

Don't know if You guys found a solution for this. If You did please let me know.
For now I have this workaround:
last_response = ''
while True:
    try:
        user_input = Statement(text=input(), in_response_to=last_response)
        bot_response = bot.get_response(user_input)
        last_response = str(bot_response)
        print(bot_response)
    except (KeyboardInterrupt, EOFError, SystemExit):
        break

Hope this helps someone that could possibly have this issue.
If You guys found a proper solution please let me know


Fix postgresql isolation level

So after fixing my deployment again, I was getting a whole bunch of django.db.utils.OperationalError: could not serialize access due to concurrent update errors which also made the interface feel noticeably sluggish (things would straight up not load ~50% of the time).
Looking at the existing issues regarding that error, this seems to be caused by the postgresql isolation level setting being set to ISOLATION_LEVEL_SERIALIZABLE, which seems to have been messed up during the switch to Django 4 in #6173.
I tested this patch on my production server and by clicking through random pages furiously for 2 minutes and didn't get any further errors (before there were sometimes multiple when visiting a single page).

@30350n thanks for giving attention to this :)

@30350n ok, something has broken here...
https://github.com/inventree/InvenTree/actions/runs/8041284048/job/21960366000

Ok, we recently moved away from psycopg2 module. It is now psycopg that needs to be imported. Not sure how the initial tests passed here

Hmm, I checked and it wasn't part of the dependencies before #6173 either.

And the deployment docs mention that you should install it, so I figured that'd be the way to go.

Also seems like Django 4 requires psycopg2.

@30350n they call out that they are switching away in the release notes https://docs.djangoproject.com/en/5.0/releases/4.2/#what-s-new-in-django-4-2 so depending on v2 instead of v3 will probably be a problem in the future

we are on 4.2 so these are the supported/recommended engines https://docs.djangoproject.com/en/4.2/ref/databases/#postgresql-notes

Ah yeah, I was looking at the docs for 4.0 I see, my bad. So I'll make another PR to switch to psycopg that also fixes the docs?

Thanks for addressing this so speedily :)

No Problem ^^


BUG: stats.mstats: fix mstats.{ttest_rel, ttest_1samp} when array API is enabled

supersedes #20905
addresses the failures reported in https://github.com/scipy/scipy/pull/20883#issuecomment-2149788033 by bypassing the dispatching mechanism since stats.mstats doesn't support array API.
Also enables testing with array API enabled for the whole submodule as requested in https://github.com/scipy/scipy/pull/20905#issuecomment-2150936496

Thanks @j-bowhay @lucascolley!


src/net/http: server.go ListenAndServeTLS will overwrite TLSConfig Certificates even when they are already set

Go version
latest
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='arm64'
GOBIN=''
GOCACHE='/Users/wfotiuk/Library/Caches/go-build'
GOENV='/Users/wfotiuk/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='arm64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/wfotiuk/.gobrew/current/go/bin/pkg/mod'
GONOPROXY='none'
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/wfotiuk/.gobrew/current/go/bin'
GOPRIVATE=''
GOPROXY=''
GOROOT='/Users/wfotiuk/.gobrew/current/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/Users/wfotiuk/.gobrew/current/go/pkg/tool/darwin_arm64'
GOVCS=''
GOVERSION='go1.22.4'
GCCGO='gccgo'
AR='ar'
CC='clang'
CXX='clang++'
CGO_ENABLED='1'
GOMOD=''
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/kk/znyj_cyn64z05m_m5gzzlhlm0000gp/T/go-build3029075827=/tmp/go-build -gno-record-gcc-switches -fno-common'

Removed some data for privacy purposes, this will not affect the bug either way

What did you do?
I set up a TLSConfig on a http.Server that had Certificates filled out. Example:
               server := &http.Server{
			Addr:      "whatever",
			TLSConfig: tlsConfig,
		}
		if err := server.ListenAndServeTLS(deviceCert, privateKey); err != nil {
			log.WithError(err).Error("https server start")
			return
		}

There is code here that seems to be checking if there is already certificates set and not to overwrite them.
        configHasCert := len(config.Certificates) > 0 || config.GetCertificate != nil
	if !configHasCert || certFile != "" || keyFile != "" {
               var err error
		config.Certificates = make([]tls.Certificate, 1)
		config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile)
		if err != nil {
			return err
		}
	}

The problem here is the if condition needs to be an AND not an OR. If we have already set certificates we NEVER want to overwrite them, even if the provided files are not empty. I would be happy to implement this fix just want to confirm it is indeed a problem.
Proposed fix:
if !configHasCert && (certFile != "" || keyFile != "") {
Please let me know if you need more clarification!
What did you see happen?
I see my certificates get overwritten in my TLSConfig even though there is a check for it.
What did you expect to see?
I expect my Certificates not to be overwritten regardless of the device cert file and private key file I provide. I wonder if another function that accepts noa rguments might be more clear in this case.

Related Issues and Documentation

net/http/httptest: Server does not check GetCertificate #63812
net/http: Server.ListenAndServeTLS() leaks TCP sockets on invalid cert or key #23002 (closed)
net/http: decide how users should use SetSessionTicketKeys with ServeTLS, etc #22018
x/net/http2: `http.Server.Serve` doesn't serve http2 traffic #14374 (closed)
net/http: make ListenAndServeTLS treat GetCertificate as a set cert too
crypto/tls: RequireAndVerifyClientCert is not working as intended. #63122 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

I believe this is working as intended, don't pass non empty values if you don't want them to be used.

@seankhliao I guess my question would then be why have the check at all for certs? To me the check implies we didn't want to overwrite if there were already certs. What are your thoughts?

This forces an error if no certs are provided anywhere.

The error would be the same with or without the cert check though. It just goes through to ServeTLS and would explode
To me that block says "If we don't have cert data and we provided cert data, set the certificates to the keypair provided". I have to imagine if we wanted to go in the conditional when we had existing cert data, we would append rather than overwrite.


feat(escrow): Reclaim bottom sheet

Description
This PR adds the reclaim button to the escrow deposits.
It checks if the escrow was claimed and open the bottom sheet, but it doesn't execute the transaction.
Test plan
Emulator
Related issues

Fixes RET-1003

Backwards compatibility
Y
Network scalability
If a new NetworkId and/or Network are added in the future, the changes in this PR will:

[y] Continue to work without code changes, OR trigger a compilation error (guaranteeing we find it when a new network is added)

is there a trick to getting the reclaim button to stop spinning? i got an error every time i open the transaction details screen and the button keeps spinning, i tried with cEUR and CELO for the deposit token

@kathaypacific Yeah, sorry, this doesn't work because the contract address in the statsig config is linked to the old contract that don't support reclaim. I didn't want to change it to avoid messing the config for you.
Once we deploy the latest contract we should update the config. Should I create a small task for it? We are exploring deployment options with the NFT stuff, so probably we should use the same pattern for this deployment?


Use standard C types for 32 and 64 bit variables.

This make the code build on 64 bit PowerPC.  It also ensure standard user space types are used instead of Linux specific types.  This was required to get the code to build on amd64, where __u64 is 'unsigned long long', while uint64_t is 'unsigned long' (both with sizeof() == 8), and PRIx64 expect the latter.
All formatting of 64 bit types are converted to use PRIxN style formatting statements.  Some 32 bit use is also converted, but did not try to track down every use as this do not affect PowerPC.  Also drop the <linux/ioctl.h> include, as it seem to be unused.
This addresses https://bugs.debian.org/1081303
Fixes #14.

Hi,
Thanks for the patch.  I really do not think we should change the kfd_ioctl.h file for this as this is a verbotim copy of the kernel interface, and ideally one should be able to build the rest of rocm-dbgapi by relying on the version from /usr/include/linux/kfd_ioctl.h.
I think a more desirable approach could be to use the PRIxN macros in the format as this patch proposes, but be sure to static_cast<uint64_t> () all the __u64 values (similar for the 32 bits values).  This is not ideal, but this would allow us to be able to log values from the driver without having to alter the reference header.

What about dropping the renaming of __u32, __s32 and __u64 and instead only change the #include in kfd_ioctl.h to something like this:
#include <stdint.h>
typedef int32_t __s32;
typedef uint32_t __u32;
typedef uint64_t __u64;

The change would be a lot smaller, while the effect is the same.  It seem like a better option than hiding any problems with casting.

The main limitation I see for this this approach is that it prevents up from dropping the copy of kfd_ioctl.h once that interface gets stable enough.  Ideally, we should not embed it at all, and rely on /usr/include/linux/kfd_ioctl.h instead.

cc @lmoriche

As can be seen on
URL:https://buildd.debian.org/status/package.php?p=rocdbgapi, the
Debian patch build on both amd64, arm64 and ppc64el.  Any idea when a
new upstream release will also work on ppc64el?
Package status is provieded from
<URL: https://tracker.debian.org/pkg/rocdbgapi >.
--
Happy hacking
Petter Reinholdtsen

[lancesix]

The main limitation I see for this this approach is that it prevents
up from dropping the copy of kfd_ioctl.h once that interface gets
stable enough.  Ideally, we should not embed it at all, and rely on
/usr/include/linux/kfd_ioctl.h instead.

Perhaps you can convince the maintainers of
/usr/include/linux/kfd_ioctl.h to switch to the standard C types?  These
types have been around since C99, ref
<URL: https://en.cppreference.com/w/c/types/integer >, which is more
than 25 years old.  It is no longer necessary to make up ones own 32 and
64 bit types, like the __u32 and __u64 typedefs used here.
--
Happy hacking
Petter Reinholdtsen

Can you update the patch to use the approach you suggested earlier with:
#include <stdint.h>
typedef int32_t __s32;
typedef uint32_t __u32;
typedef uint64_t __u64;

That seems to be the best compromise at this point.  If at some point we end up moving to not using a copy of this file in our repo, we'll revisit this.
I'm going to be away for a few days, I'll follow-up on this PR when I come back late next week.

[lancesix]

Can you update the patch to use the approach you suggested earlier
with:

Sure.  Done.
--
Happy hacking
Petter Reinholdtsen