cache warm up return 401

A clear and concise description of what the bug is.
I config the schedule task to warm up cache of slices as below. It is triggered at target time, but all the slices url returns 401.
CELERYBEAT_SCHEDULE = {         'email_reports.schedule_hourly': {             'task': 'email_reports.schedule_hourly',             'schedule': crontab(minute=1, hour='*'),         },     }
the log is :
"GET /superset/explore_json/?form_data=%7B%27slice_id%27%3A+207%7D HTTP/1.1" 401 -
Expected results
what you expected to happen.
Actual results
what actually happens.
Screenshots
If applicable, add screenshots to help explain your problem.
How to reproduce the bug

Go to '...'
Click on '....'
Scroll down to '....'
See error

Environment
(please complete the following information):

superset version: superset version
python version: python --version
node.js version: node -v
npm version: npm -v

Checklist
Make sure these boxes are checked before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[ ] I have reproduced the issue with at least the latest released version of superset.
[ ] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

I'm facing the same issue, even on current master the requests sent by the celery task end up on 302 redirect to the login page.
The problem is on this piece of code https://github.com/apache/incubator-superset/blob/master/superset/tasks/cache.py#L288 that sends the unauthenticated requests to the restricted explore endpoint.
I've grabbed some code from the email reports celery task that is used to login and retrieve the session cookie and it fixes the issue, PR here: https://github.com/apache/incubator-superset/pull/9115


Update dev-develop: Laravel 5.5

Hi @Omranic
Can you update the dev-develop branch ?
Thanks in advance

Thank you very much.
Cheers

Just in case someone asks the same question, Laravel v5.5 supported on develop branch, use composer require rinvex/tags:dev-develop to install the package.


Fix logo text, resolves #9

I think it's good! The test Syosset High School feels weird but probably just because I'm used to what it currently is.


[Fix] Sh failing in test_shells.TeshShells.text_rex_code_alias

SH uses a different function convention then bash, namely: functioname() { ...; }
Compare http://www.skrenta.com/rt/man/sh.1.html
Currently using sh with rez-alias will result in an error like:
/tmp/rez_context_l7mlMa/rez-shell.sh: 5: /tmp/rez_context_l7mlMa/context.sh: Syntax error: "(" unexpected

I am not an expert on sh but I believe you can't/don't need to export the function afterwards.
Compatibility

Does not break compatibility
External Shell-Plugins should be careful if sub-classing Sh, since its alias implementation now differs from Bash

Tests passing

[x] Windows 10.0.17134

[x] cmd

[x] Linux Ubuntu 18.04.2 LTS (WSL)

[x] tcsh
[x] sh
[x] bash
[x] csh

Merged, nice catch cheers


Type hint return types

When porting a project from clojure.string to cuerdas, I received a number of reflection warnings, due to the fact that the cuerdas functions do not have type hinting on the return values, where the equivalent clojure.string version does.
E.g. curedas.core/lower vs clojure.string/lower-case.

This is mainly because clojure and clojurescript has different ways to specify type hints, and having return value type hints will make write always two versions of the function.

Oh that's annoying. Wouldn't something like (defn #?(:clj ^String lower :cljs lower) ...) be possible? Although even if so, it makes the code very ugly.

In clojure, the valid type hint position is before argsvec, and in clojurescript before var symbol.

Is that the case? In the clojure.string source (linked above) it is before the symbol.

Yes, this is inconsistent, please read this mail thread https://groups.google.com/forum/#!msg/clojure/9ZmaZI6NO1I/99XTvn9kAgAJ
and the documentation: http://clojure.org/reference/java_interop#typehints

Although the documentation seems to say it should go on the arg vec, that thread seems to say it can go on either:

If your type hint is a non primitive class, you want to put it in the Var or in the arglist as a fully qualified symbol

In which case couldn't you just put it on the var (even without any conditional and it would just be ignored in cljs)?

Maybe, but I'm not pretty sure.

I'll take care of this and put some type hints when I can, so I keep this issue open.

Cool, thanks!

Some work is done, but not all is posible. I consider this issue as closed. If you think that one concrete case can be improved, just open an issue for that concrete case.
Thanks.


The analyzer seems to have issues with very big constants

I have a constant with lots of const symbols (2000+), and the analyzer fails with: "Evaluation of this constant expression causes exception".

@floitschG any chance you can point me to some code that demonstrates the problem?  It might make it faster to debug.

https://chromiumcodereview.appspot.com/1238303002/

Looking at the line numbers where the failures are reported, the constant expressions that analyzer claims lead to exceptions are:
const Symbol('do')
const Symbol('if')
const Symbol('in')
const Symbol('is')

All of which are keywords.  The documentation for the Symbol constructor (sdk/lib/core/symbol.dart) says (in part):
* The name must be a valid public Dart member name,
* public constructor name, or library name, optionally qualified.
*
* A qualified name is a valid name preceded by a public identifier name
* and a '`.`', e.g., `foo.bar.baz=` is a qualified version of `baz=`.
* That means that the content of the [name] String must be either
*
* * a valid public Dart identifier
*   (that is, an identifier not starting with "`_`"),
* * such an identifier followed by "=" (a setter name),
* * the name of a declarable operator
*   (one of "`+`", "`-`", "`*`", "`/`", "`%`", "`~/`", "`&`", "`|`",
*   "`^`", "`~`", "`<<`", "`>>`", "`<`", "`<=`", "`>`", "`>=`", "`==`",
*   "`[]`", "`[]=`", or "`unary-`"),
* * any of the above preceeded by any number of qualifiers,
*   where a qualifier is a non-private identifier followed by '`.`',
* * or the empty string (the default name of a library with no library
*   name declaration).

Keywords like do, if, in, and is are not valid public Dart identifiers.  Here's the relevant spec text, from section 20.1.1 (Reserved Words):

A reserved word may not be used as an identifier; it is a compile-time error if a reserved word is used where an identifier is expected.
assert, break, case, catch, class, const, continue, default, do, else, enum, extends, false, final, finally, for, if, in, is, new, null, rethrow, return, super, switch, this, throw, true, try, var, void, while, with.

So I believe that analyzer is correct to report an error in this situation.
Unfortunately, neither dart2js nor the VM properly report the required compile-time errors in this situation (see #11669, #13596, and #19972).  These bugs don't seem to be getting much attention (one of them is two years old!), so I propose that we modify the test to avoid the problematic symbols.  I'll submit a CL to that effect.

Thanks for the fix. It would be nice if the analyzer reported why it failed, though.


Showing icons for application running on current workspace

Would it be possible to have the option to show only the icons for the applications which are on the current workspace? When switching to another workspace the icons on the dock will change to the applications on that workspace.

When I was working on this code, the hyprctl activeworkspace command was not yet available. Now it seems to be doable. However, seeing apps from other workspaces seems to me a reason to use the dock at all, so I'm not sure if it's a good idea, is it?

My usual workflow is having the workspaces set up for specific types of applications so having all the applications appear on the dock especially when having a lot running at the same time makes the dock overcrowded and cycling through the apps becomes faster. I do get your point though. But for my use case it would be a great feature to have.

I'll consider adding this for you when I'm done with my current work.

thank you, would be great if you would.

+1 It would be a really useful feature


Change order jobs execution

Change order jobs execution
Summary
Change order jobs execution: before executing server tests, that requires all the microservices to be active, we execute their tests.

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


Incompatibility with acmart

Description
Unicode-math seems incompatible with acmart. Log message says:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: "kernel/command-already-defined"
!
! Control sequence \not= already defined.
!
! See the LaTeX3 documentation for further information.
!
! For immediate help type H <return>.
!...............................................

l.3853 \NewNegationCommand { = }    { \neq   }

Check/indicate

[ X] Relevant for XeTeX
[ ] Relevant for LuaTeX
[ X] Issue tracker has been searched for similar issues?
[ ] Links to <tex.stackexchange.com> discussion if appropriate

Minimal example demonstrating the issue
\documentclass{acmart}

\usepackage{fontspec}
\usepackage{unicode-math}

\begin{document}

\end{document}

Further details

Hmm. Two comments/questions:

Perhaps unicode-math should check for existence before trying to define its own. If anything, probably better to overwrite than throw an error.
I should probably add \UndeclareNegation to handle this more flexibly.


Python: pin minimum 'google-api-core[grpc]' dep to '1.4.1'.

Closees #2404.

Codecov Report

Merging #2405 into master will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #2405   +/-   ##
=========================================
  Coverage     86.72%   86.72%
  Complexity     5241     5241
=========================================
  Files           458      458
  Lines         20867    20867
  Branches       2252     2252
=========================================
  Hits          18096    18096
  Misses         1968     1968
  Partials        803      803

Impacted Files
Coverage Δ
Complexity Δ

...ansformer/py/PythonPackageMetadataTransformer.java
97.89% <100%> (ø)
36 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


cmd/cgo: please provide a way to set errno from a callback

I'm interfacing with a C library that expects callbacks to return -1 with errno set upon error.  As far as I can tell, the only way to set errno in a go function is to call back into C:
void
set_errno(int e)
{
    errno = e;
}

//export callback
func callback(...)  C.int {
    ...
    C.set_errno(C.int(syscall.EAGAIN))
    return -1
    ...
}

This is in contrast with retrieving errno in Go using multiple return values, which I find elegant and Go-like.  Please provide a similarly tasteful way to return from Go to C while setting errno.

/cc @ianlancetaylor

This is doable in principle--we could apply special handling to an //extern function that returns two values where the second one has type int, but it would be so rarely used that I don't think it's worth the additional complexity.

I think go also needs the ability to set errno when calling into certain functions like getgrent and getpwent. These functions return NULL and set errno on error, but they may also return NULL and not set errno on success (when all the entries have been returned). So, users must explicitly set errno to 0 before calling these functions.
From the macOS man page for getpwent:

RETURN VALUES
The functions getpwent(), getpwnam(), getpwuid(), and getpwuuid() return a
valid pointer to a passwd structure on success or NULL if the entry is not
found or if an error occurs.  If an error does occur, errno will be set.
Note that programs must explicitly set errno to zero before calling any of
these functions if they need to distinguish between a non-existent entry
and an error.

It seems the only way to do this is to write a C function to set errno.

As I said earlier, this case is so rarely used that I don't think it's worth the extra complexity in cgo.
For people who need this I recommend writing, in the cgo comment.
/*
#include <errno.h>
#include <sys/types.h>
#include <pwd.h>

static struct passwd *goGetpwent() {
    errno = 0;
    return getpwent();
}
*/
import "C"

Then change your code to call goGetpwent rather than getpwent.

this case is so rarely used that I don't think it's worth the extra complexity in cgo.

I'm the original reporter, and with four years more experience, I fully agree with Ian.  Sorry for the noise.


/server/api/[slug].post.ts returns 405 Method Not Allowed while using $fetch in netlify-builder

Environment
production build on fresh netlify-builder:
1:55:41 PM: [log] Nuxi 3.2.3
1:55:42 PM: [log]
1:55:42 PM: [log] RootDir: /opt/build/repo
1:55:42 PM: [log] Nuxt project info:
1:55:42 PM: ------------------------------
1:55:42 PM: - Operating System: `Linux`
1:55:42 PM: - Node Version:     `v16.19.1`
1:55:42 PM: - Nuxt Version:     `3.2.3`
1:55:42 PM: - Nitro Version:    `2.2.3`
1:55:42 PM: - Package Manager<EMAIL_ADDRESS>1:55:42 PM: - Builder:          `vite`
1:55:42 PM: - User Config:      `-`
1:55:42 PM: - Runtime Modules:  `-`
1:55:42 PM: - Build Modules:    `-`
1:55:42 PM: ------------------------------

Reproduction
repro: https://stackblitz.com/edit/nuxt-starter-tocoqh?file=app.vue
repo: https://github.com/varna/nuxt-api-post-405
demo: https://idyllic-faloodeh-fdaff1.netlify.app/
Describe the bug
While using NITRO_PRESET=netlify-builder
When deployed (in dev mode bug doesn't reproduce) to Netlify with netlify-builder using POST method $fetch on server api with suffix .post fails with 405 Method Not Allowed.

/server/api/message.post.ts
useFetch('/api/message', { method: 'POST', body }) :white_check_mark:
$fetch('/api/message', { method: 'POST', body }) :x:

Additional context
This is probably nitro bug, not nuxt. I'm suspicious why useFetch works while $fetch doesn't.
Logs
No response

I wonder if this reproduces if you use useRequestEvent().$fetch?
cc: @pi0

My "quick hack" was to rename message.post.ts to message.ts. Unfortunately, I got a new bug report, that it keeps failing with 405.

I updated the repro. It seems that this is a CORS issue.
After deploying to Netlify access-control-allow-methods and access-control-allow-origin: * headers are missing.

Closing this issue because it is only a side affect of another issue https://github.com/nuxt/nuxt/issues/19774


Error while running sqlite.py testing file

KeyError: 'db.file'
Exception AttributeError: "'SqliteDatabase' object has no attribute 'conn'" in <bound method SqliteDatabase.del of <libs.db_sqlite.SqliteDatabase object at 0x035828F0>> ignored

The problem was with directory just set the directory and problem will be solved.


RelatedObject is Deprecated in Django >=1.8

https://docs.djangoproject.com/en/dev/releases/1.8/#model-field-related

It will be removed entirely in Django 2.0.

Anyone else has an issue with the new version 1.8 and this package?

I'm getting the same issue with Django 1.8 too.

We've just released django-polymorphic 0.7, which adds Django 1.8 support!

Nice, thank you guys!

Excellent, thanks!


literature: use threads to process files on record update

*INSPIR-3302

Please DO NOT MERGE BEFORE THE FINAL RELEASE


Can I get raw point clouds?

Overview
I want to know how to get not mesh data but raw point clouds data.
Does such a method exist?

This isn't exactly an MRTK question, but you may be able to get this using the depth information from research mode:
https://docs.microsoft.com/en-us/windows/mixed-reality/research-mode
I'm assuming this question is primarily targetted toward HL.


[WIP] mtime+content tracking

This adds the unstable option -Zhash-tracking that uses content hashes and file sizes as well as mtimes to prevent compile cascades when mtimes are messed with but the content is unchanged (Fixes: #6529 ).  This paves the way towards fixing #5918.
It works even better with -Zbinary-dep-depinfo.
It depends on https://github.com/rust-lang/rust/pull/75594 with the following enabling rustc changes:

.rmeta now has SVH in uncompressed header as well as rust version.
.rlib previously contained a lib.rmeta file - now renamed to lib-crate-name-svh.rmeta
dylibs now have an additional SVH symbol.
.d dependency files contain expected file size and hash.

This is almost zero cost when mtimes are up-to-date (rustc already hashed everything it needed to but didn't expose this to cargo). Cost is only incurred when mtime checks fail and typically the filesize check means we can skip a more expensive hash check.
Worst case: if the files mtimes are not up to date and files are different but the same size then it will take cargo slightly longer to detect this and drop back to a full rebuild.
I appreciate that not everyone might be sold on content hashing right now, but it would be great to let them try the functionallity on nightly to see whether it makes some people's lives easier in the field.
Testing:

Seems to work on OSX with everything fresh when moving the target dir for findshlibs (30 crates) and rust-analyzer (200 crates).

Still todo:

[x] cache hashes with the mtimes for src files
[x] put svh in rmeta
[x] put svh in dylib
[x] put svh in .rmeta in .rlib
[x] read svh in .rmeta in .rlib
[x] read svh in dylib
[x] read svh in .rmeta
[x] support build.rs
[ ] integrate awesome feedback
[ ] write additional tests
[ ] release notes
[ ] bikeshed name: -Zhash-tracking, -Zcontent-hash or merge in with track bin deps?

Unresolved questions:

Will cross compilation just work?
Should the additional crate dependencies be put under a default feature?

r? @Eh2406
(rust_highfive has picked a reviewer for you, use r? to override)

Is is a far more ambitious fix than what I had in mind for #6529, I can see advantages to this approach but want to make sure I understand the tradeoffs. The current mtime based handling happens entirely in Cargo. This PR handles hashes using both Cargo and Rustc. What is the advantage of involving Rustc? Given the advantages of the new way should we move the handling of mtime to it?

It turns out that rustc hashes all the source files (to put that hash in the debug info) anyway, so if we let rustc do the hashing then we get that initial hash (which I was expecting to be expensive) for free.
@bjorn3 mentioned that we should extend this so that we don't solely rely on mtime checking for binary depedenencies too. This seems reasonable though I've not figured out yet if there's some cunning way that those hashes can be gained for 'free' also - that would seem to be too good to be true, but idk, rustc might happen to have that data already somewhere.

In terms of trade-offs so far it looks very positive - If we can get the initial hashes for free and we only attempt to hash a file if the mtimes are different but the file size is the same then there's a high probability that that file is exactly the same and thus it would be a significant improvement on reducing recompiles.

I think the realistic worst case here is that cargo will do the additional work of hashing one file before it marks a unit dirty if and only if there's a file with a different mtime but same size as an input to that unit.

For binary dependencies there is already the SVH. This is not stored in a stable place though. There are two ways I can think of to get a binary dependency hash. The first is to define that the SVH is stored in a stable location. This would require cargo to include a ar archive and object file reader though. The second is to hash the whole file while reading the metadata. This would result in a performance decrease though, as we currently use mmap to prevent reading parts of the binary dependencies and even parts of the actual metadata that we don't need to compile the current crate.

I worry reproducing a SVH would require quite a bit of parsing compared to md5.
Potentially we could use the fact that cargo only refences parts of files as a benefit. - For the parts of the files that cargo does read, would there be things in there very likely to change if the other (unread) parts of those file changed? If so we could store a hash + range(s) of which parts of the file contributed to the hash. I.e. leave instructions as to how one could re-create the hash.

Ah, my bad, we don't need to recompute a SVH, just compare already created SVHs. As long as fishing the SVH out of a binary then we're good.
(I've found out that hashes are inserted when linked with /Brepro for mach-o/win but not for linux.)
If we embed the SVH then we have a single consistent mechanism). Comparing SVHs would be much cheaper than hashing files and as a bonus it fixes #73917.

You can use the ar crate for reading rlibs and object for reading object files. These are what I use for cg_clif.

Optimisation: No need to figure out if bin files are up to date if they have svh hashes in their filenames.

Svh are never part of the filename as far as I know.

I might have got the wrong end of the stick but it looks like svh is the hash part that is in quite a few of the filenames: https://github.com/rust-lang/rust/blob/02fe30971ef397bcff3460a9aaf175e0810c2c90/compiler/rustc_incremental/src/persist/fs.rs#L37 - I'm thinking if the svh hash is in the dependencie's filename then as long as that file exists it really ought to contain the right contents. If we can rely on that then we only have to worry about the few bin files without hashes in their filenames.

The svh is only the hash part for incremental compilation directories. In all other cases it is a Cargo calculated hash passed to rustc using -Cextra-filename that is unique for each crate + compilation options pair, but does not depend on the source files.

:umbrella: The latest upstream changes (presumably #8778) made this pull request unmergeable. Please resolve the merge conflicts.
Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:
@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

Ah that's better: cx.add_used_global(llglobal); -- that's got me moving again.

Hmm, now I have more symbols than I can shake a stick at - I have one for each code gen unit, for each crate. I can just create it for the first code-gen unit, but still seems to be one per crate - maybe I can only do it for the current crate.

For dylibs there is a separate codegen unit for metadata. You can add the symbol there. For executables you can add it to the main shim generation. For rlibs you can add a separate archive member.

now that dep-infos know about file sizes and hashes this info needs to get into the Fingerprint struct (maybe).

Hmm, so the first is whether the local crate's rlib/rmeta files are up to date and the second is whether the crate's dependencies are up to date... (I'm a bit surprised it checks it's dependencies are up to date in a different code path...)

Ok, the fog is lifting. I think I see how this all fits together...

I think this now covers all the cases except custom builds. Let's hope that falls out as nicely as the rest has...

Mind blown, now that we have svh hashes:
if I have two crates A and B with A depending on B, if I make a whitespace change on B's sourcecode, that will get recompiled but to the same svh - at that point we don't need to recompile A as nothing has changed? That would be a game changer in reducing the rustc recompile snowball effect....

@bjorn3 is there half a chance that could work?

The main problem with that is that debuginfo depends on the whitespace. There is https://github.com/rust-lang/rust/issues/43088 to make incr comp use spans less and https://github.com/rust-lang/rust/issues/47389 to make incr comp more robust when spans that are necessary change. Once those are implemented maybe we could try to push towards a split between an interface hash and implementation hash. The interface hash would contain things like macros, and generic, #[inline] or const functions, but not functions that are none of those. The crate metadata will only contain the interface hash of it's dependencies, not implementation hash. With -Zno-link (once fixed) it should then even be possible to skip directly to the linking stage when only a function changes that can't affect the compilation of other crates in any way.

Good point about debug info. Slightly easier (but very common) situation:
A -> B -> build.rs
Cargo builds and runs build.rs and then rebuilds B, but if all of A's inputs are same svh then does it need to bother calling rustc for A - we could just relink? I'm pretty sure cargo always rebuilds A at the moment.

If all inputs are the same, then it shouldn't be necessary to rebuild. That is what the red-green algorithm does for incremental compilation.

How does the red-green algorythm compare inputs if it didn't have access to the svh?
In other news I'm trying to understand the lifecycle of a dep-run-build-script-build-script-build dep info file. Sometimes it's there, sometimes it's not.

The red-green algorithm is within an incremental compilation session inside rustc. It works in a query basis. An incremental compilation session has a dep graph of all dep nodes. Each dep node represents a single query+key pair or codegen unit. Every dep node has a state. Grey (I think that is the name) means that the dep node has been used in the previous session. Red means that the output changed. Green means that the output has stayed the same. The basic algorithm when a query is invoked is if I am correct:

no dep node => allocate new dep node and run query
dep node grey => check if all inputs are green
a. yes => dep node becomes green and cached output is returned
b. no => run query. if output changed mark dep node red. if output unchanged mark dep node green.
dep node red or green => query has run in the current session. return cached value

but with the red/green algorythm in theory even if you invoke rustc it should all be cached already and thus it shouldn't need to do much work (still not invoking the compiler must be faster).

macro expansion and linking can have significant overhead. both do not participate in incr comp

I'm guessing rustc also uses mtimes with it's internal caches.

rustc uses hashes of the query outputs. only cargo uses mtime.

:umbrella: The latest upstream changes (presumably #8818) made this pull request unmergeable. Please resolve the merge conflicts.
Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:
@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

For dep-run-build-script-build-script-build dep info I think I see what's happening. The custom build script is using a different dir each time and so the previous run's dep info file is not in that same dir.

Still got a lot of tidying up to do, but been testing it on an old version of findshlibs crate like this:
rm -Rf ./target && cp -R ./target_prime ./target && cargo build -Z unstable-options -Zbinary-dep-depinfo -Zhash-tracking

If I tweak findshlibs's build.rs so that that build.rs has a new style rerun-if-changed=build.rs in it then all crates think they are all fresh (all 34 crates). This is very encouraging to me. Pardon the code being first cut - I will clean it up over the next few days and try and find nicer ways to express the same things. - don't feel you have to look at it in this state!

Although we require 4 additional crates for this feature we could put them behind a feature (that was selected by default). This way any tools building against cargo that didn't care about tracking could skip them...

:umbrella: The latest upstream changes (presumably #8847) made this pull request unmergeable. Please resolve the merge conflicts.
Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:
@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

Tests-wise I think we want to run all those freshness tests with content hashing turned on.

Rust analyzer fresh build when moving the target dir to upset the mtimes currently builds fresh (which is great) but takes 6-12s to figure out everything is fresh. This is much better than a full 2m30 build that would otherwise happen. I suspect where we do have to hash files we should be doing that in parallel.

@bjorn3 both rustc and cargo PRs are back in sync now. Seems like things are slightly twisted on the hashes front. I think reversing the slices will probably untwist it, but what's there is consistent and works for findshlibs. Now that sha256 has been added in (in master), I'm more minded to plump for 256 rather than 512 as that will tidy the code up a little.

:umbrella: The latest upstream changes (presumably #8954) made this pull request unmergeable. Please resolve the merge conflicts.
Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:
@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

Ping @gilescope, are you still interested in moving this forward?  Is there somewhere you are stuck or need help with?

I took a long break parsing integers but finally got my atoi_radix10 crate
out the door. It’s time to crack on with this and get it over the line. My
goal is to get it done before August because at least that way it won’t
have taken a year.
On Thu, 1 Jul 2021 at 01:56, Eric Huss @.***> wrote:

Ping @gilescope https://github.com/gilescope, are you still interested
in moving this forward? Is there somewhere you are stuck or need help with?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/cargo/pull/8623#issuecomment-871826542, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGEJCB6RYKSRIMWMB2CANDTVO4MJANCNFSM4QA5EKGQ
.

Sorry still intend on breathing life back into this just life is getting in the way.

I'm going to close this due to inactivity.  Unfortunately at this time we don't have the capacity to review major changes like this, but this is still a feature that we would love to see happen someday. If you are interested in resuming the work, please reach out to see if we can accept help with working on it.


Custom Dataset error

Hi whenever I am trying to run the model training on a custom dataset I again get the classes from COCO/VOC even after commenting them out
('aeroplane', 'bicycle', 'bird', 'boat', 'bus', 'car', 'cat', 'cow', 'dog', 'horse', 'motorbike', 'sheep', 'train', 'elephant', 'bear', 'zebra', 'giraffe', 'truck', 'person', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench', 'chair', 'diningtable', 'pottedplant', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'bed', 'toilet', 'sofa', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'tvmonitor', 'bottle', 'unknown')
Also getting this error when running training
[W socket.cpp:426] [c10d] The server socket has failed to bind to [::]:29501 (errno: 98 - Address already in use).
[W socket.cpp:426] [c10d] The server socket has failed to bind to ?UNKNOWN? (errno: 98 - Address already in use).
[E socket.cpp:462] [c10d] The server socket has failed to listen on any local network address.
Traceback (most recent call last):
File "main_open_world.py", line 482, in
main(args)
File "main_open_world.py", line 173, in main
utils.init_distributed_mode(args)
File "/data/siddharth/OWOD/PROB/util/misc.py", line 475, in init_distributed_mode
torch.distributed.init_process_group(backend=args.dist_backend, init_method=args.dist_url,
File "/data/siddharth/anaconda3/envs/PROB/lib/python3.8/site-packages/torch/distributed/distributed_c10d.py", line 900, in init_process_group
store, rank, world_size = next(rendezvous_iterator)
File "/data/siddharth/anaconda3/envs/PROB/lib/python3.8/site-packages/torch/distributed/rendezvous.py", line 245, in _env_rendezvous_handler
store = _create_c10d_store(master_addr, master_port, rank, world_size, timeout)
File "/data/siddharth/anaconda3/envs/PROB/lib/python3.8/site-packages/torch/distributed/rendezvous.py", line 176, in _create_c10d_store
return TCPStore(
RuntimeError: The server socket has failed to listen on any local network address. The server socket has failed to bind to [::]:29501 (errno: 98 - Address already in use). The server socket has failed to bind to ?UNKNOWN? (errno: 98 - Address already in use).

PY_ARGS=

@orrzohar
Having the issue I believe with loading images,
Traceback (most recent call last):
File "/DATA/siddharth/PROB/main_open_world.py", line 482, in
main(args)
File "/DATA/siddharth/PROB/main_open_world.py", line 336, in main
train_stats = train_one_epoch(
File "/DATA/siddharth/PROB/engine.py", line 92, in train_one_epoch
samples, targets = prefetcher.next()
File "/DATA/siddharth/PROB/datasets/data_prefetcher.py", line 62, in next
self.preload()
File "/DATA/siddharth/PROB/datasets/data_prefetcher.py", line 25, in preload
self.next_samples, self.next_targets = next(self.loader)
File "/DATA/siddharth/anaconda3/envs/PROB/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 628, in next
data = self._next_data()
File "/DATA/siddharth/anaconda3/envs/PROB/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 1313, in _next_data
return self._process_data(data)
File "/DATA/siddharth/anaconda3/envs/PROB/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 1359, in _process_data
data.reraise()
File "/DATA/siddharth/anaconda3/envs/PROB/lib/python3.10/site-packages/torch/_utils.py", line 543, in reraise
raise exception
IndexError: Caught IndexError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/DATA/siddharth/anaconda3/envs/PROB/lib/python3.10/site-packages/torch/utils/data/_utils/worker.py", line 302, in _worker_loop
data = fetcher.fetch(index)
File "/DATA/siddharth/anaconda3/envs/PROB/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 58, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/DATA/siddharth/anaconda3/envs/PROB/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 58, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/DATA/siddharth/PROB/datasets/torchvision_datasets/open_world.py", line 333, in getitem
img, target = self.transforms[-1](img, target)
File "/DATA/siddharth/PROB/datasets/transforms.py", line 274, in call
image, target = t(image, target)
File "/DATA/siddharth/PROB/datasets/transforms.py", line 194, in call
return hflip(img, target)
File "/DATA/siddharth/PROB/datasets/transforms.py", line 74, in hflip
boxes = boxes[:, [2, 1, 0, 3]] * torch.as_tensor([-1, 1, -1, 1]) + torch.as_tensor([w, 0, w, 0])
IndexError: too many indices for tensor of dimension 1


Add generated API docs

WIP: Used https://www.npmjs.com/package/documentation to generate the contents of API.md.
/cc @jbalsas

See also https://github.com/metal/metal-drag-drop/pull/17.
It doesn't look like there is an option for hiding the private methods.

ugh... this one's short, but metal/metal-drag-drop#17 is not consumable at all... also it smells auto-generated a mile away, doesn't show a lot of love. I don't think this output is worth keeping unless we just use it to present it elsewhere... if at least the generated markdown had tables or a better formatting...

@jbalsas agreed. I'll close these.


Trying to use two separate databases, can you provide a distributed transaction example of multiple libraries?

Why you need it?
Is your feature request related to a problem? Please describe in details
How it could be?
A clear and concise description of what you want to happen. You can explain more about input of the feature, and output of it.
Other related information
Add any other context or screenshots about the feature request here.

试了用2个单独数据库不行，能否提供个多个库的分布式事务的示例

试了用2个单独数据库不行，能否提供个多个库的分布式事务的示例

https://github.com/fescar-group/fescar-samples

You can configure the database connection string to be different

谢谢你的回答，我有A、B 两个服务，请求先到A，A再调B，如果我在A源头服务中抛出 RuntimeException异常则会回滚，控制台输出 PhaseTwo_Rollbacked 测试成功 ，如果我在 B 服务中抛出异常，则分布式事务无法回滚，测试失败，此时A的控制台输出 AT Branch commit result: PhaseTwo_Committed

Dude, can you answer the question above?

@zhuyu19911016 use which example? can dingding ping me?

According to the example configuration, but I use Spring Cloud, you Dingding number, I add you, thank yo

dingTalk group：23171167


[Eframe] Allow eframe to run on an existing event loop

Is your feature request related to a problem? Please describe.
I want my program to have 2 separate winit windows, one with an egui interface managed by eframe and another managed by myself. Currently, this is not possible with eframe because the only API to start a window is run_native, which internally creates an event loop, and only 1 event loop can exist on a thread afaik.
For now, I am managing the egui window by myself using egui_winit and egui_wgpu, but there are a lot of caveats I need to take care (paint intervals, custom handling of specific events, etc), and if I wanted to integrate with epi it would take even more work.
Describe the solution you'd like
It would be great if eframe could implement:

A way to initialize eframe through a different run method, perhaps run_native_ex, run_native_custom, run_native_managed, etc, which returns some kind of structure.
An on_event method on said structure that returns the currently internal Result<EventResult> result struct + enum, so users can manage control_flow on their own.
A paint method on said structure that paints stuff to the screen.

Describe alternatives you've considered
Could also be solved if you could have 2 event loops on the same thread. I'm not that knowledgeable on winit's internals, so not sure if that's possible on their part (since it's currently not allowed, I'm guessing it's not).

I'd be happy to review a PR in this area!

sdhgggggdfjghldksfjghksdfjg I want to run a softbuffer graphics context on the same winit event loop as an egui window and it is SO COMPLICATED to use egui-glow and egui-winit and eframe already includes all the mile long code including platform specific quirks but it's ALL crate-private. fork time :(

@LoganDark thanks for outlining the steps required to get this to work!
If you're gonna make a fork and do the changes, why not just open a PR while you're at it?

I don't care about making PR-ready code when asking for one is the only response from the maintainer here

I don't follow. What more do you want from me? This issue touches on a use case I have no experience in, and is a perfect place for others to help out.
I've spent thousands of hours of my own time building egui, answering question, reviewing PRs, etc. egui also have had hundreds of other contributors, giving away their time for free so that you can enjoy egui. Is your time too valuable to open a PR, yet you still have time to complain?

What more do you want from me?

Sorry, I was just frustrated at the time and it's really upsetting to see the exact issue I'm trying to solve addressed with a simple "PRs welcome". I had bad experience with that specific type of response.

https://github.com/emilk/egui/assets/4723091/d825f860-7dc4-4efd-aba8-00eb99777367
Eh it looks like eframe has some global state or something that gets really mad when you have multiple wndows open. Only the most recently created GlowWinitApp renders properly.

https://github.com/emilk/egui/assets/4723091/1f5b552a-0e98-4078-baed-db73d99bbcda
wait. that was an issue with the glow backend specifically. with wgpu it works perfectly what-

whatever. I don't know anything about OpenGL or Glutin, don't know why it's corrupting other windows when they are open, but if wgpu works fine then I guess that's what I'll use.
for what it's worth, making a PR for this would probably be probably easier than I thought because eframe's existing event loop implementation can be reimplemented in terms of this. And also it would probably remove the shameless copy and pasting between run_and_return and run_and_exit because they can both just be implemented as wrappers around forwarding events to a single WinitAppRunner (or whatever the struct ends up being called).
I'd still need your help to fix the glow backend and preferably with a bit less of whatever it is that was in your last comment but I've already done most of the work so it's probably fine.

stashed stuff in a branch


add safeHTML to logoTitle in slideout.html for mobile header

fixes? #190

Thanks for your PR! :smile:


Use commonlyUsedRanges from Kibana Settings instead of a constant value #352

Description

Add the uiSettings service from Data plugin as dependency
Removes unused dependencies (notifications and navigation)
Change time_range component to use commonlyUsedRanges from uiSettings (following default behavior for EuiSuperDatePicker across entire kibana), allowing user to override defaults
Removed the constant that was used for commonlyUsedRanges
Implement tests to check if uiSettings is being called correctly
Update tests to add missing new prop uiSettings

Issues Resolved
#41
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Note that although this pull request fixes the Issue #41, this plugin currently breaks the usage of relative dates (date math), so the issue https://github.com/opendistro-for-elasticsearch/kibana-reports/issues/353 (still on the old repository, asked to @zhongnansu move it) must be fixed to this PR make sense.

Note that although this pull request fixes the Issue #41, this plugin currently breaks the usage of relative dates (date math), so the issue opendistro-for-elasticsearch/kibana-reports#353 (still on the old repository, asked to @zhongnansu move it) must be fixed to this PR make sense.

opendistro-for-elasticsearch/kibana-reports#353

@iget-master sorry for not able to follow up in time. The opendistro-for-elasticsearch/kibana-reports#353 has been fixed recently. We can move on with this PR.
@joshuali925 Josh, could you guide him for this PR? Since we recently added uisettings for date_format, does he need to do some extra work to be in consistent with your change? If not, we just ask him to resolve the conflicts and we'll review the PR


点击 拥抱开源边上的github 图标异常

Add AWT Quarkus extension to enable Java2D/ImageIO. Additional system libraries such as freetype' and fontconfig' might be needed.

AWT 替换为 imgui-java #26


chore: bump latest-version in modules

I know it's a silly thing, but my lack of fluency with nix things led me to spend a good 10 minutes trying to figure why devenv wasn't updating 😅
Thanks for devenv! It's superb!

We're waiting for devenv 1.0.7 to hit nixpkgs, see https://status.nixos.org/

I see!
Would it be useful to have a different way to communicate the version of the flake shim then? (when you invoke devenv --version, that is)


[BACKPORT] Fix SSL handshake problems.

This backports the changes in https://github.com/apache/trafficserver/pull/1941 to fix
SSL handshake problems in 7.1.x.
@shinrich can you triple check that the cherry pick is correct?
/cc @zwoop
(cherry picked from commit c128363e2ce3ad435769221466627f7fbff86cb8)

[approve ci]


None: Replace the Tensor Layer name from "Unnamed Layer #" to its original name

Description
To improve the debuggability, we try to set the layer name for each myelin output for a more meaningful naming so that we can replace the "Unnamed Layer #" with its original name.
Fixes # (issue)
Type of change
Please delete options that are not relevant and/or add your own.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update

Checklist:

[ ] My code follows the style guidelines of this project (You can use the linters)
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[ ] I have added tests to verify my fix or my feature
[ ] New and existing unit tests pass locally with my changes
[ ] I have added the relevant labels to my PR in so that relevant reviewers are notified

@nvpohanh for viz

@gs-olive  thanks! I update the PR. Please let me know if there is anymore advice.


Use command docstring as default description

Description
Added command docstring as a fallback for the description. This feature is also implemented in discordpy.
(+ fixed a typo)
Usage
@slash.slash()
async def ping(self, ctx: SlashContext):
    """Wow that's handy!"""
    await ctx.send(content="Pong!")

Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Merging this pull request. Thank you for contributing!

Merging this pull request. Thank you for contributing!


More ReadRef fixes using VcCellMode::raw_cell API

Description

Testing Instructions

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

#8847  👈
#8846
#8845
#8843
main

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

Join @bgw and the rest of your teammates on  Graphite

Migrated to the next.js repo: https://github.com/vercel/next.js/pull/68467


Autonomous, multi-property-driven molecular discovery: from predictions to measurements and back

Autonomous, multi-property-driven molecular discovery: from predictions to measurements and back
https://doi.org/10.26434/chemrxiv-2023-r7b01

A closed-loop, autonomous molecular discovery platform driven by integrated machine learning tools was developed to accelerate the design of molecules with desired properties. Two case studies are demonstrated on dye-like molecules, targeting absorption wavelength, lipophilicity, and photo-oxidative stability. In the first, the platform experimentally realized 312 unreported molecules across three automatic iterations of molecular design-make-test-analyze cycles while exploring the structure–function space of four rarely reported scaffolds. In each iteration, the property-prediction models which guided the exploration learned the structure–property space of diverse inexpensive scaffold derivatives realized through using multi-step syntheses. Conversely, the second study exploited property models trained on a chemical space with pre-existing examples to discover 6 top-performing molecules within the structure-property space. By closing the molecular discovery cycle of prediction, synthesis, measurement, and model retraining, the platform demonstrates the potential for integrated platforms to automatically understand a local chemical space and discover functional molecules.

This is a relevant example of academic research, but I didn't read it carefully enough to submit a pull request and complete the emoji categorization.

@agitter thanks! No worries, I'll try to take a look and check. Do you mind opening a PR and leaving that content blank? That will make it easier for GitHub to recognize the contribution as coming from you.

Are you following a particular style for the references? I formatted the first one manually but this one has more authors.

@agitter not too particular. General format:
https://github.com/sgbaird/awesome-self-driving-labs/blob/98e36ef0c3a6baf9c99d7ddc2dffca858332d99e/readme.md?plain=1#L49


add misssing annotation in copy from test

copyFromIntoTableWithPkAndClusterBy is not required such a these cases are covered in
previous tests.

Current coverage is 81.06% (diff: 100%)

Merging #4440 into master will increase coverage by <.01%

@@             master      #4440   diff @@
==========================================
  Files          1304       1304
  Lines         44181      44181
  Methods           0          0
  Messages          0          0
  Branches       7037       7037
==========================================
+ Hits          35812      35814     +2
+ Misses         5681       5669    -12
- Partials       2688       2698    +10

Powered by Codecov. Last update 017b038...987b7b8


Make build exit with error code when interrupted

This addresses issue #1493
Current behavior is that npm run build exits code 0 without creating a bundle when interrupted. This change makes the build script catch catchable interruptions and exit with the appropriate error code.

Is there any user friendly message we can show?

Great idea, added some "hints" about what might have caused the signals.

Also I haven't tested this, but I think Ctrl+C should exit silently (unless we can't tell it from other failures).

LGTM, thanks @brandones!

Have you had any opportunity to verify it catches OOM in the wild?

I hadn't, now it appears that it doesn't, at least within Docker containers. Not sure if Docker has some weird handling of OOMs (maybe things get SIGKILLed?) or what. Investigating on a plain Ubuntu box. (as an aside, turns out getting the Ubuntu OOM killer to work is pretty painful...)

Holy moly, TIL OOM-killers often send SIGKILL (see here, 13.4). So whether or not the kill is noisy or not depends on the system. On Debian it's silent, other than a syslog. Ubuntu prints some very helpful error messages, once you coerce the OOM killer into actually working right.
I found this out by letting node node_modules/react-scripts/scripts/build.js OOM instead of npm run build, and it told me it got 137, aka 9, aka SIGKILL.
Clearly the signal exits build.js correctly (it has no other choice). I guess the culprit must be the parent process, node /usr/src/app/client/node_modules/.bin/react-scripts build, or the grandparent, sh -c react-scripts build, catching and swallowing the error code.
So I guess this PR doesn't fix the thing it says it does, but it's still a good thing, I think. I propose removing the "this might be an OOM" copy from the logged error and merging?

I guess the culprit must be the parent process, node /usr/src/app/client/node_modules/.bin/react-scripts build, or the grandparent, sh -c react-scripts build, catching and swallowing the error code.

Can we fix that instead then? Propagate the signal if it gets killed.

Well, I uncovered a problem with Node's spawnSync, which is inherited by cross-spawn.Sync, where SIGKILL is associated with status code 0 rather than null per the documentation.
Trouble is, react-script is just doing process.exit(result.status), and process.exit(null) exits with code 0. Much like with the Python standard library, reasonable exit code propagation seems to have been an afterthought for NodeJS. Unlike the Python standard library, which offers (awkwardly named and little-known) methods for converting kill signals into exit codes, Node offers nothing.
I'm inclined to write a library, but I suggest for now adding manual handling for the 'SIGKILL' signal to the react-scripts executable.

Looks like npm exits 1 for any non-zero exit code produced by an npm script it calls. I propose we make react-scripts mirror this behavior:

process.exit(1) when child process gets any kill signal
print helpful messages when child process gets SIGTERM or SIGKILL

Sounds good.

@gaearon please squash and merge this if you're satisfied

I’m not sure which exact case we fixed here, but going to merge and hope that it works.
I don’t have a way of testing OOMs right now.

Hmm, I hope @brandones tested it. His detailed comments gives me hope that this patch works (and that he tested the first time to find that it doesn't work), though I'm not sure if I have the means to simulate an OOM either.

Worst case, we’ll get another detailed PR. I’m actually excited about it!
😄

Yeah, instigating an OOM is kind of a pain. Actually doing so showed that the OOM-killer was using SIGKILL on node build.js, so I tested  the final draft with kill -9. Anyway, if it doesn't work like I hoped, expect another PR. Thanks y'all.

@brandones You can add some fake logic for OO into scripts/build.js to trigger it more easily, like allocating obnoxiously large objects or something.


correctly handle categorical predictor variables

when fit!ing a model, any categorical predictor variables are converted to floating-point values before the data is passed to GLM.lm, so any information about levels is lost and the predictor is treated as if it were continuous.
fit_data_scitype does say categorical values aren't allowed, which leads me to think that might be some particular reason that categorical predictors are handled this way?
If there isn't I'll go ahead and write a PR later this week. GLM.lm supports categorical predictor values, so I can't  immediately see why this should be a problem.
n = 20
X = (a = rand(n), b = categorical(rand(Binomial(3, 0.5), n)))
response = X.a .> rand(n)

mach = machine(LinearBinaryClassifier(), X, categorical(response))
fit!(mach)
f = mach.report[:fit]
print(f)
m = GLM.lm(@formula(y ~ a + b), merge(X, (; y = response)))
print(m)

gives
┌ Warning: The number and/or types of data arguments do not match what the specified model
│ supports. Suppress this type check by specifying `scitype_check_level=0`.
│
│ Run `@doc GLM.LinearBinaryClassifier` to learn more about your model's requirements.
│
│ Commonly, but non exclusively, supervised models are constructed using the syntax
│ `machine(model, X, y)` or `machine(model, X, y, w)` while most other models are
│ constructed with `machine(model, X)`.  Here `X` are features, `y` a target, and `w`
│ sample or class weights.
│
│ In general, data in `machine(model, data...)` is expected to satisfy
│
│     scitype(data) <: MLJ.fit_data_scitype(model)
│
│ In the present case:
│
│ scitype(data) = Tuple{Table{Union{AbstractVector{ScientificTypesBase.Continuous}, AbstractVector{Multiclass{4}}}}, AbstractVector{Multiclass{2}}}
│
│ fit_data_scitype(model) = Union{Tuple{Table{<:AbstractVector{<:ScientificTypesBase.Continuous}}, AbstractVector{<:Binary}}, Tuple{Table{<:AbstractVector{<:ScientificTypesBase.Continuous}}, AbstractVector{<:Binary}, AbstractVector{<:Union{ScientificTypesBase.Continuous, Count}}}}
└ @ MLJBase ~/.julia/packages/MLJBase/mIaqI/src/machines.jl:231
[ Info: Training machine(LinearBinaryClassifier(fit_intercept = true, …), …).
(stderror = [5.737179687127579, 1.5035639756193406, 5.3873328870352815], dof_residual = 18.0, vcov = [32.91523076238931 5.311462726994682 -28.65288472943233; 5.311462726994682 2.2607046287802373 -6.80973765191617; -28.65288472943233 -6.80973765191617 29.023355635731903], deviance = 10.020776256140987, coef_table = ──────────────────────────────────────────────────────────────────────────
                 Coef.  Std. Error      z  Pr(>|z|)   Lower 95%  Upper 95%
──────────────────────────────────────────────────────────────────────────
a             13.0482      5.73718   2.27    0.0229    1.80349    24.2928
b              2.27576     1.50356   1.51    0.1301   -0.671174    5.22269
(Intercept)  -12.1069      5.38733  -2.25    0.0246  -22.6659     -1.54793
──────────────────────────────────────────────────────────────────────────)StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}, Vector{Int64}}}}, Matrix{Float64}}

y ~ 1 + a + b

Coefficients:
──────────────────────────────────────────────────────────────────────────
                  Coef.  Std. Error      t  Pr(>|t|)  Lower 95%  Upper 95%
──────────────────────────────────────────────────────────────────────────
(Intercept)  -0.726863     0.388329  -1.87    0.0809  -1.55457    0.100841
a             1.46431      0.342933   4.27    0.0007   0.733371   2.19526
b: 1          0.0888761    0.389225   0.23    0.8225  -0.740737   0.918489
b: 2          0.397777     0.365725   1.09    0.2939  -0.381747   1.1773
b: 3          0.690686     0.411623   1.68    0.1141  -0.186668   1.56804
──────────────────────────────────────────────────────────────────────────

Thanks for chiming in here @tiemvanderdeure, and for the offer of help.
Yes, this is not a bug but a feature limitation. I expect (but haven't checked) that GLM is just one-hot encoding here, so as a workaround you could use MLJ's ContinuousEncoder() in a pipeline ContinuousEncoder() |> LinearBinaryClassifier().
The ordinary way of extending functionality in this case starts by expanding the input_scitype declaration for the model. In the code I see this is set in a metadata_model block using the alias input. The new declaration would be
input = Table(Continuous, Finite)

This is a contract that the user can supply any table for input X, so long as the columns are either AbstractFloat or CategoricalValue (column is a CategoricalVector); and that the CategoricalValue features will be treated as unordered factors by the core algorithm. If GLM can only handle ordered factors, then replace Finite with OrderedFactor and CategoricalValue with ordered CategoricalValue.
Next, it will be up to the implementation to ensure it passes off the categorical columns in a form that GLM expects them to be. I don't know what this is - Integer? - or do you have to explicitly pass some metadata listing the categorical feature indices?.
It might also be a good idea to store the class pools in the fitresult and have predict check that categorical feautures in new input Xnew have consistent class pools. A naive user might think he can just convert integer columns using categorical separately for test and train. If a column in test is missing a class, this could result in silently wrong behaviour.
At present fit_input_scitype is inferred from input_scitype and other traits.

GLM is doing one-hot encoding, yes. (Or I think more specifically, StatsModels is).
I think it would just be easiest to pass them on as a CategoricalValue and let GLM do the encoding. Right now fit calls Tables.matrix in _matrix_and_features, which is where the categorical values are converted to floats.
I think we could get away with just passing something like merge(Tables.columntable(X), (;y = y_plain) to GLM.lm and let GLM do all the rest. It would let us do more, not less, data handling, and it would also solve the issue with Float32 values I made an issue about the other day: https://github.com/JuliaAI/MLJGLMInterface.jl/issues/42. But maybe I'm missing something?
And yes, I'm all for some basic checks on data types provided. If we just reconstruct the model matrix using StatsModels.modelcols I think some of that will already be taken care of, though.

I think we could get away with just passing something like merge(Tables.columntable(X), (;y = y_plain) to GLM.lm and let GLM do all the rest. It would let us do more, not less, data handling, and it would also solve the issue with Float32 values I made an issue about the other day: https://github.com/JuliaAI/MLJGLMInterface.jl/issues/42. But maybe I'm missing something?

I did not know that GLM handles tabular input, and that CategoricalValues get treated as (unordered) categoricals. If that is the case then your proposal sounds like a definite improvement.
I expect we should also mirror the new handling at the predict stage as well; I think the relevant method, currently expecting a matrix, is here: glm_predict.

Categorical variables are supported as of https://github.com/JuliaAI/MLJGLMInterface.jl/pull/45


Is the service down or is it just me?

[!] Can't connect to service! restart tor service and try again.
I have tried on a number of different machines with same result.

It was just me, nvm.

how you fixed it?

I wasnt running my tor service


[Question] Authenticate with either token or username/password (Image Streamer Client)

Scenario/Intent
As far as I can see, currently I'm able to authenticate on Image Streamer only using a token
I have tried to access with an username/password and I got the error: Must set token option
From the tools point of view, may be better for some of them authenticate with username/password. The token expires frequently and the tools doesn't provide (and I believe it shouldn't) a way to generate it.
Then, it shouldn't be supported by ImageStreamer client?
Environment Details

OneView SDK Version: current master repo
OneView Appliance Version: OneView 3.0 (Synergy)
OneView Client API Version: 300
Ruby Version: Any
Platform: Any

Steps to Reproduce

Define username/password instead of token
Instantiate the ImageStreamer Client.
Error Must set token option is raised.

Expected Result
Possible solution:

Define username/password instead of a token
Instantiate the ImageStreamer Client.
Authenticate against OneView appliance and uses the generated token for ImageStreamer rest calls (as a single sign-on).

Actual Result
[What actually happens after the steps above? Include error output or a link to a gist.]

@marikrg , I think the reason this was done is because I3S doesn't have an endpoint to login itself; it just uses the token provided from OneView. So you'd have to create a OneView client, then copy that into an I3S client. It seems like it could make sense to roll that all into 1, but then the client would hold 2 separate URLs (1 for OV & 1 for I3S). That seems strange/wrong to implement to me, so although it's a little strange, I think the current solution is the best way (as long as I3S doesn't have a login endpoint itself). @aalexmonteiro , do you have anything to add/correct about that?

@jsmartt , exactly. The  #167, which was done by you, client attributes can be updated and the token can be set again when it expires. Looks good for me.

@jsmartt @aalexmonteiro So, if I'm running many operations, like one of our devops tools could, our expected design is to always assume my token has expired and invoke the refresh before any operation? Because I'm guessing it would be expiring constantly and we'd have no way to actually be sure if it is working.

@fgbulsoni , It's strange the token is expiring so fast. @jsmartt , has implemented a refresh_login here on client.rb, which updates the token. I think you can use this method to get the new token before each operation and set the new token on the i3s client. I can't think of another solution at the moment.

I've never had an issue with it, even after pretty long runs using a single token. It looks like by default, tokens expire 24-hrs after creation. It looks like a session can be extended as well, but I kept getting 401 unauthorized responses after trying to extend my own session. I'm sure we can figure something out if need be, but I think until OneView allows persistent tokens, most users will use a username/password to log in at the beginning of the execution and never run into issues.
One possible solution I thought of would be to keep track of when the session was created & how long it would be valid, so that any time a rest call was made after it is expected to expire, we can automatically refresh the token. But again, I don't see it as a problem that needs to be solved at this point

@marikrg Would you mind sharing how this was implemented on the Python SDK, for comparison purposes?
Are we supporting both the usage of tokens and username/password or just username/password there?
I'm trying to see if it would be worth putting any effort into having both of these ways implemented vs what we have now. Do you expect to run into issues with what @jsmartt has just mentioned?

The Python SDK authentication is based on the OneView / Image Streamer UI:

Login into OneView.
If you log in successfully, you will be able to access Image Streamer tool.

In the Python SDK, first of all, the user needs to create the OneViewClient:
oneview_client = OneViewClient.from_json_file(EXAMPLE_CONFIG_FILE)

You can check an example of json config file at: https://github.com/HewlettPackard/python-hpOneView/blob/master/examples/config-rename.json
Then, to create the ImageStreamerClient, you must call the create_image_streamer_client method from the previously created OneViewClient instance.
image_streamer_client = oneview_client.create_image_streamer_client()

In addiction, in the Python SDK the user can provide either an username/password or a token.

I like the create_image_streamer_client method. Perhaps that's something we can add.

I like the create_image_streamer_client method.

I like it as well, and another plus side of this approach is that since it acts similarly to the way the GUI handles the authentication, it might be the way a customer would expect it to be done.

The way it was done in python is interesting. But I have some thoughts on this:
1-In Ruby we will have to remove the inheritance between oneview client and i3s client and use composition, this will imply code duplication. In python it has a bit of replication (I do not see problems),
But in the case of ruby, this replication would be slightly larger.
2-Although interesting, somehow we have two instance variables for each type of client.
Current code.
client = client = OneviewSDK::Client.new(params)
client_i3s = OneviewSDK::ImageStreamer::Client.new(client.token)

Proposed code
client = OneviewSDK::Client.new
client_i3s = client.create_i3s_client

I do not see any great advantage to change, since we will lose code reuse. That is my opinion, but that does not mean that I am right.

@aalexmonteiro
The idea is to make this token not visible to the end user, like in the proposed code.
I cannot see why it will be necessary to remove the inheritance, and if removing would cause code duplication.
Also, it would be easier for the tools to have a creation method passing both data in the params:
e.g.
def initialize(options = {})
  @token = if options[:oneview_client]
             @oneview_client = OneviewSDK::Client.new(options[:oneview_client])
             @oneview_client.token
           else
             options[:token] || ENV['I3S_TOKEN']
  [...]
end

Also, I noticed the initialize in the ImageStreamer::Client is almost completely duplicated, we have a lot of room for improvements there.

@tmiotto , I got it. Now that seems clear for me.

I agree with @tmiotto about to pass data for initialize method of ImageStreamer::Client.
And more, I think so the options[:token] is unecessary and just options[:oneview_client] is necessary (or just an client instance of OneviewSDK::Client).
The end user should not know about token or about passing token.

I think it's still good for the I3S client initialize method to have all the options that it has now, but it would be nice for the OV client to have the ov_client.new_i3s_client method to abstract those options where they are not needed. That way we can still have the flexibility of all the options, but the simplicity of a single method call. Plus, it's less typing than OneviewSDK::ImageStreamer::Client.new(oneview_client: ov_client).
I can see the method in discussion looking something like:
def new_i3s_client(opts = {})
  OneviewSDK::ImageStreamer::Client.new(opts.merge(token: @token))
end

And usage:
i3s_client = ov_client.new_i3s_client
# or
i3s_client = ov_client.new_i3s_client(api_ver: 300)

Simple, yet flexible

Yeah... this is a resonable solution, in the code it would look like:
@ov_client = OneviewSDK::Client.new(
  url: 'https://xxx.xxx.xxx.xxx',
  user: 'Admin',
  password: 'admin',
  ssl_enabled: true,
  api_version: 300
)

@i3s_client = @ov_client.new_i3s_client(
  url: 'https://xxx.xxx.xxx.xxx',
  ssl_enabled: true,
  api_version: 300
)

Changing tittle since it seems we're all agreed it would be good/important to have this feature implemented.


Correct show axis bindings

For consistency, the show axis bindings should always be strings not functions.

StackedAreaChart showxaxis and showyaxis bindings should be @.
MultibarChart showxaxis and showyaxis bindings should be @.

Completed in #10.


Cannot connect to secured hivemq cloud

Describe your question
I have a private cloud broker at hivemq with the tls port at 8883 and no unsecured port.
When im trying to connect i get a ssl error that the server and client doesn't have a matching algorithm. I think this is TLS connection error so i tried to disable the certificate validation but without success.
My connection options are:
options = new MqttClientOptionsBuilder()
                .WithProtocolVersion(MQTTnet.Formatter.MqttProtocolVersion.V500)
                .WithTcpServer("*******", 8883)
                .WithCredentials("******", "*******")
               .WithTls(new MqttClientOptionsBuilderTlsParameters()
                {
                    AllowUntrustedCertificates = true,
                    IgnoreCertificateChainErrors = true,
                    IgnoreCertificateRevocationErrors = true
                })
                .WithCleanSession()
                .Build();

Ive validated the server credentials with hivemq web client.
Does anybody have used the client to connect to a secured hivemq cluster?
Connecting to the public server without tls is no problem.
Which project is your question related to?

Client

I guess, the error is the following: The client and server cannot communicate, because they do not possess a common algorithm.:
Therefore, you need to manually downgrade the TLS settings of MqttNet to TLS1.2 (instead of TLS1.3) as in the example:
options = new MqttClientOptionsBuilder()
    .WithProtocolVersion(MQTTnet.Formatter.MqttProtocolVersion.V500)
    .WithTcpServer("*******", 8883)
    .WithCredentials("******", "*******")
    .WithTls(new MqttClientOptionsBuilderTlsParameters()
    {
        UseTls = true, // Is set by default to true, I guess...
        SslProtocol = SslProtocols.Tls12, // TLS downgrade
        AllowUntrustedCertificates = true, // Not sure if this is really needed...
        IgnoreCertificateChainErrors = true, // Not sure if this is really needed...
        IgnoreCertificateRevocationErrors = true, // Not sure if this is really needed...
        CertificateValidationHandler = (w) => true // Not sure if this is really needed...
    })
    .WithCleanSession()
    .Build();

If the problem still occurs please reopne the ticket. I assume the above comment solves your issue.


Pull ThreadSleep into CoreRunnable

Update ThreadSleep to use the condition variable in CoreRunnable, rather than the state block in BasicThread.  Also update the documentation on this method to reflect the method's actual behavior.

Unit tests pass (i.e. the two tests that use ThreadSleep(), WaitRunsDownAllPackets and EmptyPoolIssuance) still pass when I run them 1000x.
Merging.


Success callbacks not getting fired for Android with Cordova 5.4.1 and 6.0.0

While encrypt and decrypt operations appear to fully succeed, the success callbacks do not appear to be getting fired when using recent versions of Cordova (repro'd on 5.4.1 and 6.0.0) when using example code in readme.

@Chuxel , did u solve this issue? or used any other cordova plugin for encrypt it

Given the lack of response, the Intel App Security Cordova plugin looks like a better option. https://software.intel.com/en-us/app-security-api


v3.4.22

I'll push this some time tomorrow after the hotfix goes off...

Updated.  I'll push this in an hour or two.


Theme implementation

What feature or improvement do you think would benefit Files?
is it possible to implement a background view like the windiws start menu? here you can see how the start menu works perfectly with this translucent effect. on windows 11.

Requirements

go to setting
translucent mode -ON-

Files Version
Versione 2.4.40
Windows Version
Windows 11 Pro Versione 22H2
Comments
No response

no!! it's not good to answer like this, it's not the same thing.
the background doesn't show objects behind it, and when I have the Files window in the center of the screen I see a colored hole like the desktop background that has nothing to do with it

That's because we use mica, acrylic is designed for transient surfaces like the start menu but not for apps like Files.

That's correct, the guidelines with Windows 11.

@yaira2 make me happy :)

We tried it but it doesn't look good on large surfaces with multiple layers, and it has several performance issues.

You can achieve this on your own if you compile from the source, the main thing is to change the backdrop material to acrylic.

I did it with the guide, but it only activates the mica effect.
Where can I activate the acrylic effect in the code?

"AcrylicBrush" : true,

MainWindow.xaml

https://github.com/files-community/Files/blob/main/src/Files.App/MainWindow.xaml

Perfect! thank you so much for your time, but I don't know what to change to make the theme acrylic and I don't know where to insert the code.. sigh so sad

@yaira2 I don't jump out, I'm looking at all possible pages but I can't find the file to update to activate the acrylic mode. can you please explain it to me?

You have to build the app yourself https://github.com/files-community/Files#building-from-source. Then find MainWindow.xaml in Visual Studio. Change the line and build the app


Some refactors and code cleanup

Coverage increased (+1.7%) to 44.725% when pulling e7d53de20782fa9253ff2ff429249a87c63ce501 on remove-cloudsvc-singleton into 8c2fbfd478a77f983afde2bb5a3ce2f06957e75d on master.


[CNCF Sandbox Onboarding] Track website tasks

This issue addresses the website tasks from Kepler being onboarded as a Sandbox project.
Main tracking issue: https://github.com/sustainable-computing-io/kepler/issues/698

[ ] Website: ensure LF footer is there and website guidelines followed (if your project doesn't have a dedicated website, please adopt those guidelines to the README file of your project on GitHub).

[x] CNCF projects are strongly encouraged to host the source of their websites in an open source repository (and under the same organization) so that requests to change can be done via pull requests and the discussions are archived in a transparent manner.
[x] It is OK to say that, e.g., “Prometheus was originally created by Soundcloud” or “Kubernetes builds upon 15 years of experience of running production workloads at Google,” but the origin company should not otherwise be referred to on the project homepage.
[x] There should be no links or forms for capturing enterprise support leads. Instead, it is fine to have an enterprise support, commercial partners or similar page. Companies must be listed on that page in alphabetical order, or the order can be changed randomly on each page load. It’s OK to have different categories of support offered. Simple vetting by the project is needed to ensure that all companies listed really can provide the support promised. Projects are welcome to outsource this vetting to CNCF staff if it becomes a burden.
[x] Links to companies offering support are expected to go a page that at least mentions support of the project. This can either be the company homepage or a project-specific landing page.
[x] #52
[x] #50
[x] #53

[x] #54

https://github.com/sustainable-computing-io/kepler-doc/pull/49 closes items

[x] If there is a copyright notice at the bottom of the page, copyright should be to the project authors or to CNCF, not the origin company. For details, see Copyright notices.

[x]  Website footers must include trademark guidelines by either linking to Trademark Usage (directly or via a "Terms of service" page), or by including the following text: "The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see Trademark Usage".

Completed by @husky-parul's PRs! Thank you Parul 💚


cocktails controller

Refactoring
Main Refactored points
Cocktail controller

Moved create_ingredient_tags, search_based_on_ingredient_tags, filter_results_to_unique_recurrence, compare_ingredients, and filter_cocktails into private methods.
Used find_or_create_by instead of find_by and create! when creating a new cabinet record.
Changed @found_cocktails_id to an instance variable in search_based_on_ingredient_tags so it can be used in filter_results_to_unique_recurrence.
Replaced @result_cocktail_ingredients and @result_cabinet_ingredients with local variables in compare_ingredients.
Changed @ready, @missing_one, and @missing_two to arrays and initialized them in compare_ingredients.
Simplified filter_cocktails by using the flatten method on the array of arrays.

cabinet controller

Used the toggle! method to simplify the remove_from_stock action.
Used the find_or_create_by method to simplify the add_to_stock action.

saved cocktails view

Replaced case statement condition with num.

Cabinet view

Used pluralize method to determine if it's a singular or plural word for the ingredient(s) and cocktail(s) count.
Removed redundant conditional statement in elsif.
Used present? instead of nil? to check if user_ingredients is not empty.
Simplified the view for readability.


⚠ Bofrost.at has degraded performance

In 8db3a2d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1698 ms

Resolved: Bofrost.at performance has improved in f731994.


Show output to stderr as it happens.

I'm using a shell script managed by pier to perform various update tasks. One of these tasks is running rustup update. Currently, when I run this script, some of the progress output goes to stderr and is only visible after the whole script finishes. I think it would be better to show stderr output as it is produced by the script subprocess.
I think the issue might stem from this line.

Hey, thanks for the issue.
Sorry about  not replying very quickly, decided to do a tech detox while on a vacation so I'm just getting back to these now.
The issue is as you mentioned that line so it'll be a quick fix, you can send a pull request if you want to fix it. Or I can make one and give you credit!
Maybe a cool idea would be to set the colour on the output text to green / red or orange depending if the line is stdout or stderr, would you find that useful in your usage do you think? :)

Like I mentioned in the pull request, I'm leaving this issue up until I've figured out a regression test for this. Probably going to be toying around with it today and tomorrow night. If you have any input on this it's very much appreciated! :)


Unable to make spy of the "Schema" facade

Laravel Version: 8.49.2
PHP Version: 8.0.7
Database Driver & Version: N/A

Description:
When testing and trying set up the spy on the Schema object (i.e. Schema::spy()), you receive an exception.
Steps To Reproduce:
1 - Create a test case
2 - Call the following:
Schema::spy();

3 - When you run the test case, you will receive the following error:
TypeError: Illegal offset type in isset or empty

/Users/judda/code/schema-facade/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:128
/Users/judda/code/schema-facade/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:52
/Users/judda/code/schema-facade/tests/Feature/ExampleTest.php:18

Commit with the issue:
https://github.com/awjudd/laravel-schema-issue/commit/9040182ce26fc4572c6c79f6200d13d12ddc8042
Extra Information
When digging a little deeper, it looks like there are at least 2 spots that have the same issue. In src/Illuminate/Support/Facades/Schema.php the following methods:

swap
isMock

I believe that it has to do with the following change:
https://github.com/laravel/framework/commit/63d87d78e08cc502947f07ebbfa4993955339c5a
The reason being, at this point in time the method no longer could be trusted to only return a string, so doing the dictionary lookup was ignored in one spot (https://github.com/laravel/framework/commit/63d87d78e08cc502947f07ebbfa4993955339c5a#diff-85c2ee3096a7c4457f3abe3785b2584af93e1672402207cee10195543acbba49R167)

Why do you need to spy on the Schema facade?

I was trying to write a test for something that was calling the hasTable method on this object.  I just tried and verified that it also happens when you use partialMock.

It's unclear at the moment if this is solvable on our side due to our the schema stuff is setup.
My best suggestion is to put your Schema operations you want to test behind another class like App\Schema. Within that class, make methods for the schema operations you want to mock, then inject that class into whatever needs to interact with the schema. Basically, put the schema operations behind another class / layer that you can inject and mock.

Going to close this one now. @awjudd there doesn't seems to be an easy way for us to fix this so please try the suggestions by Taylor.

I sent in a possible solution for this here: https://github.com/laravel/framework/pull/38017
Btw @awjudd, while investigating I noticed you have a slight issue in your code. It should be shouldHaveReceived instead of shouldReceive. Former is used in combination with spying while the latter is used for mocking.

Good catch - about the shouldHaveReceived, it was a copy and paste from my previous example where I was defining them all upfront.


camera to scan QR not visible in mobile ios app

camera to scan QR code does work but stays black. iOS and superhero wallet 0.7.2
actually scanning works, but screen stays black and is misleading the user that it is not working.

Fixed in #1137


Math Magicians Full Website

In this project milestone, I complete the math magician website and add three pages to it.

Use routes to navigate to specific pages.
Add three pages: Home page, Calculator page, and quote page.
Style the pages using CSS.

Thank you for your feedback


Gdbserver reports "overlapping regions in memory map" to Gdb for stm32l4 Devices

When I use pyocd gdbserver --target stm32l432kcux to connect to my nucleo-l432kc board and connect arm-none-eabi-gdb with target extended :3333 afterwards, I get the "warning: Overlapping regions in memory map: ignoring" message. Then, it is impossible to use gdb to flash the device.
The same issue is present on the nucleo-l412-rb-p board but pyocd's gdbserver works flawlessly with an stm32l071kbu mcu which I have available for comparison here. Since pyocd uses DFPs to handle different targets and the stm32 DFPs are organized according to the device families, I suspect that this issue could be present on (all) stm32l4 devices but not on stm32l0 devices, caused by the stm32l4 DFP.
I have skimmed the DFP for the L0 and the L4 families and found memory information in the two .pdsc files. Below, some lines that looked interesting to me:
Keil.STM32L0xx_DFP.pdsc
    <subFamily DsubFamily="STM32L071">
        [...]
        <!-- *************************  Device 'STM32L071KBUx'  ***************************** -->
        <device Dname="STM32L071KBUx">
          <memory id="IROM1"                                   start="0x08000000" size="0x00020000" startup="1" default="1"/>
          <memory id="IRAM1"                                   start="0x20000000" size="0x00005000" init   ="0" default="1"/>
          [...]
        </device>

Keil.STM32L4xx_DFP.pdsc
      <subFamily DsubFamily="STM32L432">
        [...]
        <memory id="IRAM1"                                 start="0x20000000" size="0x0000C000" init="0" default="1"/>
        <memory id="IRAM2"                                 start="0x10000000" size="0x00004000" init="0" default="0"/>
        [...]
        <!-- *************************  Device 'STM32L432KCUx'  ***************************** -->
        <device Dname="STM32L432KCUx">
          <memory name="Main_Flash"  access="rx"   id="IROM1"     start="0x08000000" size="0x00040000" startup="1" default="1"/>
          <memory name="SRAM"        access="rwx"  id="IRAM1"     start="0x20000000" size="0x0000C000" init="0"    default="1"/>
          [...]
        </device>

Apparently, the memory regions are actually defined twice for the L4 family, once in the subFamily tag, once in the device child tag. In the description for the L0 family, this information is not present in the subFamily tag so that the memory regions are only defined once there. So it seems to me that pyocd is merging the memory tags from subFamily and device and forwards this (duplicate) information to gdb when requested.
Since I do not know the specification which the .pdsc files have to adhere to, I do not know if this is a bug in pyocd or in the pack archive for the L4 family (I assume the latter). Anyways, it would be nice if pyocd could only report the memory regions once to gdb so that flashing works successfully afterwards. Maybe, duplicate memory regions could be identified and only kept once? This could, if desired, be accompanied by a warning to the user or it could be done silently, especially if the id fields of the memory tags match like in this case here. This (comparably small?) fix could fix a whole device family.
If there is anything I could do to help with this issue, please let me know. If desired, I would try to fix it myself but I would like to know if such a PR would be welcome or if there are different plans to cope with this issue.

Thanks for looking into this (and the PR!). There are definitely some issues with the DFP region handling in pyocd.
Fyi, the most up to date PDSC spec is at https://arm-software.github.io/CMSIS_5/Pack/html/pdsc_family_pg.html#element_memory. (CMSIS is now managed on GitHub, so you can create issue and PRs.)
According to the Keil folks, the region names are supposed to be used to to override outer level regions. But in practice it seems the rules they use are more complicated. We definitely need to gracefully handle duplicate or overlapping regions by address. (Fwiw, I do think there are some bugs in the STM32 packs.)

I was already expecting that this PR would just open up the discussion on how it has to be done properly, so let's discuss ...

Overriding by region names: Where did you find that this is the preferred way to override outer level regions? I just saw that it did not work in my example case so I changed it to identify memory regions only by "required" attributes which seemed more reliable to me. But if using the region names actually is the preferred way of overriding regions, the bug is in the DFP and should be fixed there.
Partly overlapping memory regions: Is this actually happening somewhere? If so, what to do then? I would definitely think that it is a bug if I stumbled upon something like that. So my best guess would be to print an error (warning) message from pyocd then and delete the outer level region. Other ideas?

For region names, it was from an internal Arm discussion (basically trying to resolve the same question you just filed for CMSIS_5) that region names were said to be the preferred way. And I thought there was a CMSIS_5 commit that improved the documentation, but I can't find it right now so I'll have to dig deeper.
However, there are definitely bugs, or at least inconsistencies, in some of the STM32 DFPs. One issue is the distinction between the id and name attributes. There are some STM32 DFP devices that have an outer memory region with an id but no name, that are apparently intended to be overridden by an inner region with a name but no id.
Overlapping regions might exist in cases where the same region is redefined with a different size due to family variants. In this case the start address will almost always be the same (I can imagine some cases where start would differ, but it would be rare). As long as the given regions have the same name (or id) then it is ok and the inner overrides as usual. Otherwise your proposal to log a warning and delete the outer region is exactly what I would suggest.
Ultimately, pyOCD needs to be smart enough to handle anything it sees and not produce invalid memory maps. So a combination of name/id, plus matching on attributes and handling overlaps.

That sounds good. And good point about multiple warnings; limited to a single warning per DFP is probably wise. (I've had to add similar limits in other parts of pyocd.)

I have updated the pull request but I could not try if the identification of memory regions by name/id works properly because I do not know any DFP which would be affected by this logic. Do you know one so I could test it?


Android - Reconnection after CancelConncetion()

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[] iOS
[x] Android
[] UWP
[] tvOS
[] macOS
[x] PCL

Version of OS(s) listed above with issue
6.0.1
Version of Library
2.0.3
Expected Behaviour
No reconnection after disconnect (CancelConnection())
Actual Behavior
Sometimes the disconnect works and the device stays disconnected. But mostly the second time I try to disconnect after a connection the device immediately reconnects.
[BluetoothGatt] cancelOpen() - device: D0:5F:B8:5F:1D:39
[BluetoothGatt] close()
[BluetoothGatt] unregisterApp() - mClientIf=5
[BluetoothGatt] connect() - device: D0:5F:B8:5F:1D:39, auto: false
[BluetoothGatt] registerApp()
[BluetoothGatt] registerApp() - UUID=0ebbc9b3-8aac-4d56-9e97-be44665086d2
[BluetoothGatt] onClientRegistered() - status=0 clientIf=5
Thanks in advance!

I have no witnessed this problem.  Can you please provide sample code that shows the issue.

No response to request for info


feature request: max field width in xsv table

I frequently run into csv files with one or more "large" fields - this presents an obvious problem for any tool meant for viewing the file in a terminal (as acknowledged by the disclaimer in the help text for xsv table: "This will not work well if the CSV data contains large fields."). Any chance of adding an argument like -W/--max-width that would truncate fields to N characters?
I'd even perhaps attempt to make the case that the default behavior should be to truncate fields at some reasonable default with the option to override - this seems better aligned with the purpose of conveniently viewing the contents of a csv file. But simply adding an option to limit field width would obviously be the more conservative approach.
Thanks a lot for this utility!

Both the xsv flatten and xsv table commands have a -c/--condense flag that I feel satisfies this use case. What do you think?

It absolutely does! Thanks for your response, and apologies for not reading (the perfectly clear) docstring. I guess "condense" must have subconsciously suggested something else.


Context Parameter Renamed

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

Project coverage is 100.00%. Comparing base (693dc9d) to head (f90dda6).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##            master      #120   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           52        52
  Lines         2424      2424
=========================================
  Hits          2424      2424

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


Big Decimal Support

Hi! Thanks for this excelent serializer!
Please add suport for  big.Int  and  decimal.Big !
My main need is the following golang types
(biginteger,native) math/big.Int   and  (bigdecimal) github.com/ericlagergren/decimal.Big
for others langs I don't care, but I would suggest:
java  => (biginteger, native) https://docs.oracle.com/javase/10/docs/api/java/math/BigInteger.html
(bigdecimal, native) https://docs.oracle.com/javase/10/docs/api/java/math/BigDecimal.html
JavaScrip => (biginteger, native) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt
(or, biginteger) https://github.com/MikeMcl/decimal.js
(bigdecimal) https://github.com/MikeMcl/decimal.js
C => (biginteger) https://github.com/libtom/libtommath
(bigdecimal) https://github.com/libtom/libtomfloat
Thanks Very Very Very Much!
Best Whishes,
Dani.

Big decimals allocate memory on instantiation, which goes against the spirit of a fast serialization system. The worst part is that almost none of the implementations allow you to specify the backing array.
Big decimals have their use of course. I am simply not sure what to do here.

Hi! and thanks!
Big decimals  colfer encoding is just a length and a []byte in golang.

To get the binary from decimal.Big to []byte there is a high performance:
Big.MarshalText
and the reverse op []byte to decimal.Big there is a high performance:
Big.UnmarshalText

I'll try mirror the code used in "colf_binary" type for bigdecimal.
in this time I'll create a branch 'bigdecimal" in the my forks area.
ps.1:  I Liked very very very much the code you made, it is a pleasant surprise to see a practical use of go / {ast, parser, etc.}
ps.2: what types of bigdecimal do you prefer for C, Java, Javascript?
[]'s Gratitude,
Dani.

Thanks Dany. It is nice to hear you like you like the code. 😊
MarshalText allocates a new byte array. That's a big no-go in terms of performance.
The generated code does not have any dependencies as a rule. That means we must either use whatever is in the core library, or expose the value in some sort of raw format.

Hi!
Thanks!
I completed the go lang support. https://github.com/danieagle/colfer  bigdecimal branch :-)
Mostly arbitrary precision libs already  use a text or a array of bytes as mantissa, because this, mostly change or conversion  (type to []byte and []byte to type) is high performance.
i finished golang, so what next language do you want?
Thanks,
Dani.

A good start would be to add a big decimal entry in ./testdata/test.colf O and run the unit tests to see if your code compiles. Next we need a unit test (in ./go/gen_test.go).

You are still allocating a new buffer with MarshalText. At least use Append with hex then for somewhat reasonable performance. Better would be to store the decimal point as a varint, and the integer representation as a big-endian byte array + sign bit.


add charset to create table statement

Default charset was missing in create db statement.
A version of tidb we use does not accept using collate without charset. I think this change also made create  table statement complete in terms of using all options from connection config.

Thanks!


fix coroutine_traits allocate calls, add unhandled_exception() implementation.

re: #5502, #5517
these are the changes required to get my coroutine-using application to build with gcc 10.2 & hpx.
it doesn't fix #5502 (I had to force HPX_HAVE_CXX20_COROUTINES in my non-cmake build).

Can one of the admins verify this patch?


Reinforce PMP documentation

@acordonez @gleckler1 I forked PMP repo to my own and set up a test place for developing documentation. Please check below two places. For now they are just place holder. Please feel free to add/revise.

Directory for testing: https://github.com/lee1043/pcmdi_metrics/tree/648_jwl_documentation/docs
Test page preview: https://lee1043.github.io/pcmdi_metrics/

@lee1043 @acordonez  Thanks for testing this - we discussed Ana reproducing this on her own repo and eventually to the PMP - do I have that right?

I think so, but I also don't mind using my repo if that helps reducing Ana's workload.

@lee1043 thanks, I've been practicing with sphinx in my own fork too

This task will be followed up at https://github.com/PCMDI/pcmdi_metrics/issues/653