Add direct feature-by-feature comparisons with streamlit and dash to documentation

What's the problem this feature will solve?
My first question when I saw vizro release note and docs was: "How is it different from streamlit and dash"?
I asked this question on slack, and thanks for the reply! Though I clearly see that many other users are asking for exactly the same thing. So that is probably a good sign that there should be a separate dedicated page in the docs elaborating on this particular comparison.
This would allow users to understand when to choose vizro over the other two mentioned framework, and in general advertise the product.
Describe the solution you'd like
The best reference that comes to mind is this comparison of neptune with mlflow.

Probably to start, even a small table or couple of paragraphs of comparison would be enough.
Long term, I'd love to see the feature-by-feature comparison just like on that page I reference - if you scroll down you'll be able to expand a huge table with like 50 parameters.

Alternative Solutions
Another example is... kedro-mlflow plugin docs that compare kedro with mlflow.
Additional context
Hopefully that helps, and I believe that this addition to documentation helps vizro grow.
Code of Conduct

[X] I agree to follow the  Code of Conduct.

I see that this PR does something close to this. And already helps a lot!
Though IMO there should also be a table literally with columns: vizro and streamlit and rows comparing the two.

thanks for highlighting @yuryfedotov-mck, and thank you for the suggestions and references!
as you spotted, the implementation of the table on the page which was already under way provides some more detailed information on that topic and helps to make those answers clearer
direct comparison tables such as described above are indeed potentially useful, however we strive for neutrality in discussions relating to third party tools, and there are a wide number of Python visualisation packages (each with a wide range of differing features), so at this point it is not feasible to provide a direct comparison with only an individual package or conversely to provide feature level comparisons across all those packages
however like you suggest, a more detailed feature level table extension may be revisited in future, when feasible

Thanks @Joseph-Perkins !
The neutrality point totally makes sense. And my examples above probably "violate" that due to:

neptune being a paid SaaS, and comparisons are common in commercial context.
kedro-mlflow compares two other solutions with each other, not itself with something else.

So I agree that comparison I proposed might be challenging to post.
Feel free to close the issue if needed!

Should we close this issue? I think this section covers it well 🤗
I was opening an issue before this section of the docs was created.


add an ending param to seek

i might be missing something, but is there currently a way to play a song for a predetermined amount of time. like say 5 sec preview.
maybe there is an easy way right now via the positionSubscription but i can't figure it out.
maybe make a new method preview(start, end) that will play the track from start to end.
if there is a simple way to do this without a method, that'd be fine too. i guess just an example would be nice in that case

@thejacer87
As long as you have positionSubs..... everything is easy. I've just came with this simple method:
Future<void> _preview(int seconds)async{   var _seek = _positionSubscription.inSeconds;    if(_isPlaying && _seek==seconds ){  //playingState           _pause(); //or _release() or _stop() or dispose() }  }
Hope you thought the same ting.

This not the responsibility of the seek method I suggest using a solution like the one suggested on this thread


x/website:

What version of Go are you using (go version)?

$ go version
go1.13.5 windows/386

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)
go env Output
$ go env
set GO111MODULE=
set GOARCH=386
set GOBIN=C:\Users\rkakayadi\Documents\GO\bin
set GOCACHE=C:\Users\rkakayadi\AppData\Local\go-build
set GOENV=C:\Users\rkakayadi\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=386
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\rkakayadi\Documents\GO
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_386
set GCCGO=gccgo
set GO386=sse2
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m32 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\rkakayadi\AppData\Local\Temp\go-build130810254=/tmp/go-build -gno-record-gcc-switches

What did you do?
Download go1.13.5.windows-386.zip from https://golang.org/dl/ and unzip (Verified the SHA256 Checksum of the downloaded file matches with the checksum published for the file at https://golang.org/dl/)
What did you expect to see?
A successful unzip of the files from the go1.13.5.windows-386.zip archive
What did you see instead?
Attached screenshot from Windows security saying a trojan malware was detected while unzipping. Stopped the unzipping of files.

Hello @sfdcrajak, this is a common problem with Windows binaries. Please see: https://golang.org/doc/faq#virus.
I will close this issue as there is nothing we can do from our side.


⚠ Fetchers has degraded performance

In e6bc625, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 276 ms

Resolved: Fetchers performance has improved in fe034d9.


Deleting note is not working properly

Hi
After deleting a note it will still remains on the screen.
https://user-images.githubusercontent.com/25820674/115970765-d5a58900-a559-11eb-8a5b-b043c02e5610.mp4

Hi @prosperian  Thanks for raising this bug. I've fixed this issue in the latest PR. Kindly please check it out!. Have a great day!
Working preview 👇
https://user-images.githubusercontent.com/23400022/116005220-9c395000-a623-11eb-80dc-779af8000009.mp4


Boar-notes finalized

[x] hostile mobs that run at the player and have armor penetration
[ ] breeds with another boar upon successful kill of animal/player
[x] spawns: all hours, on a constant hunt
[ ] group size: 2-4

boar
is_plains
is_desert
is_forest
is mountains
is_jungle
-no cold biomes


tilde metacharacter is not documented in regex.

In Synopsys S05 the tilde metacharacter is described as a helper for matching nested structures. It is implemented and works in the current Rakudo release and I think I found that it is tested and passing in Perl6/Roast. When I first saw an example of it's use, I looked in docs.perl6.org/language/regexes and docs.perl6.org/language/grammars and could not find it. As someone on IRC said, searching for "~" is problematic. :-)

Closed with https://github.com/perl6/doc/pull/1190


test: profile tests

Codecov Report

Merging #309 (d22781a) into develop (fafb468) will increase coverage by 0.16%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #309      +/-   ##
===========================================
+ Coverage    47.49%   47.66%   +0.16%
===========================================
  Files           18       18
  Lines         1177     1177
===========================================
+ Hits           559      561       +2
+ Misses         618      616       -2

Impacted Files
Coverage Δ

splunk_connect_for_snmp/common/profiles.py
70.27% <0.00%> (+5.40%)
:arrow_up:

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 fafb468...d22781a. Read the comment docs.

:tada: This PR is included in version 1.1.1-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.3.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


Create xt-security-plugin

This plugin talks to an https server to retrieve runescape login details and randomly takes screenshots every couple of minutes
I tried to add a pull request before but i got this error "This plugin requires a review from a Plugin Hub maintainer. The reviewer will request any additional changes if needed."

"Requires maintainer review." How can i get it checked by a maintainer ?

We aren't interested in adding this plugin because it is clearly just for running a gold farm.

"Requires maintainer review." How can i get it checked by a maintainer ?

Maintainers have already closed your pull requests twice. I would take that as a sign that this isn't something that would be considered for inclusion on the hub.

We aren't interested in adding this plugin because it is clearly just for running a gold farm.

what the plugin does is just to retrieve runescape login details for more secure login without giving the email and pass and take a screenshot of the client every 10min, it's meant to not expose the login details and keep track of the account progress


Reduce shim size by reducing imports

This breaks out some shared functions and types into smaller packages to reduce what the shim imports.
It goes from 30mb to 12mb, saving 18mb with these changes alone.
It's a start.

LGTM

this is cool

@estesp is your merge button broken?

Such an important change. I wanted to give it time to rest into the consciousness of all developers first. :joy:


Add missing Neko variants to drop-down menu

This pull request adds the other tags of the Neko image to the drop-down menu.

Thanks!
With VLC it would be nice to have ability to mount custom media directroy. Also maybe storing browser profiles.
And maybe specifying own ENV variables could be beneficial:

VLC_MEDIA what specifies directory / initial media that should be played
NEKO_VNC_URL for vncviewer, to set remote URL to connect to.

I should add this to roadmap.

@m1k1o Yeah, that sounds good to me. It'd probably be best to allow user input for those options in the expert settings section.
Btw, can you enable automated builds for this repository on Docker Hub?

Yes, but my only concern is about security with custom volumes. That could be potemtially abused to mount any directory on host, so it needs to be good secured.
Yes, it is enabled, but docker-hub seems to be really slow today:

@m1k1o Good point, I hadn't considered that. Maybe users could be offered a list of directories to choose from like with the different tags. This list of directories could be controlled by the administrator using environment variables on the Neko Rooms container, e.g. NEKO_ROOMS_DIRECTORY_WHITELIST.

Yeah, that would go. Having pool of directories that can be used.
But if we want to save user profiles of multiple instances, then there would need to be created subdirectories. And then allowing only some regex for folder names e.g. A-Za-z0-9-_. so that no path traversal could take place. That would probably need additional logic -> data manager, where user could manage data. It must be also ensured, that one data folder is mounted maximum to 1 container at a time.
Seems to be more complex, I am generally open for ideas.


Error logging into app ("can't access PGP private key") on Windows

I'm having issues trying to log into the Keybase app through the GUI and performing actions after upgrading from the command line app.  I'm using Win10 with Gpg4win/Kleopatra, and the keybase server does not have my PGP private key.
I enter my username and password, and I immediately get the screen with the title There was an error provisioning with the description stating that keybase can't access the private key. I'm able to use naked gpg to encrypt/sign things normally, so I don't think the problem is there.  I'm unable to login through the app.  After dismissing the dialog and trying to log in again, I get bumped out to the keybase "home" screen, with the white text on blue toast This device has been revoked, please log in again. at the top of the app.  If I try logging in again, I start over at the top of the paragraph!
When I try to use keybase on the command line, nearly every "authorized command" (such as keybase follow [username]) is followed with the error text - ERROR no secret key available.  gpg -K returns my private key as found, and I've tried logging in/out of keybase, though I get the PGP private key warning, followed by the no secret key available orange message.
I've also tried to prove my key to keybase using keybase pgp select --only-import, but it doesn't change any behavior.
I'm a little stumped, so I'm asking you all for help :)
my log id: b23652b39bdf569374b5c11c

Can you try keybase login from the command line?

This issue is quite different from #5788.  It looks like your device is revoked but we're sending you down the provisioned device flow using the GUI app.

And I have another idea --- @zanderz  can you take a look?  It looks like this is another botched secret key migration.

By that, I mean in a recent upgrade, we migrated your secretkeys.yelper.mpack file out of Roaming and into Local, but we've had reports of the migration only getting halfway through.  If you can poke around in those directories and see what's there, that might help.
(bTW, this isn't your GPG secret key, but rather your device-specific keybase key)

@yelper The migration Max mentions does not appear in your log, but it still probably happened previously, since you upgraded. It is possibly your command line version was old enough to be omitted from the normal upgrade scenario. To double check, are there any files ending with .mpack located in %APPDATA%\Keybase?
If so, it may work to uninstall all versions of Keybase, then copy everything from %APPDATA%\Keybase to %LOCALAPPDATA%\Keybase and reinstall.

After a restart, the app automatically logged me in.  I'm still unable to use nearly every feature; the shell still says I'm missing a private key.
@zanderz I uninstalled the previous version of Keybase using the uninstaller from the control panel.  I see %APPDATA%\keybase\secretkeys.yelper.mpack.  I'll uninstall everything using the control panel, copy, and update soon.

@zanderz that seemed to work!  I'm able to follow and upload files now.  Thanks, and please let me know if you want any more debugging help from my end.


Adding typescript support

While I was playing with this for a personal project, I found it frustrating to write ambient declarations for. Now that I've finished that project, I actually really enjoyed what you were doing here, and you were super quick to get back to me on twitter, so I hope it's ok that I did this unsolicited! Feel free to request any changes or make any tweaks you want too!!

Oh wow I actually saw you forked the project and added TS support and thought it was awesome but for some reason I didn't get a PR notification from github. I'm definitely merging this, thanks!


Change Twitch OAuth client_id at runtime

This is related to issues #47 and #36.
I haven't looked to closely into this, but would it technically be possible to adjust the client_id used? As long as the user registers their own application with the same redirect_uri, it should work right?
I realise this would very much be a "power user" feature, but I would personally love to be signed in on more than one machine :smiley:

Yes, that would be possible, but I think it's easier to give the user the ability to read/set the access token (of the default client_id) without having to deal with a custom twitch.tv application ID/redirect uri...
There is also always the option to compile the application with a custom client_id for each device, which should be absolutely fine.

"power user" feature

Maybe I should add a checkbox to the settings for "advanced users". And then adding an input field to the user menu for manipulating the access_token seems to be a good idea. The user can then copy the token to other devices.

Wow, nice job! I'll check it out in a couple of hours. Very grateful for
all the work you put into this :)
On 7 Mar 2015 18:30, "Sebastian Meyer"<EMAIL_ADDRESS>wrote:

Closed #53
https://github.com/bastimeyer/livestreamer-twitch-gui/issues/53 via
bdca1d3
https://github.com/bastimeyer/livestreamer-twitch-gui/commit/bdca1d3796b6e85da8aa7fe7570ff213a87eedea
.
—
Reply to this email directly or view it on GitHub
https://github.com/bastimeyer/livestreamer-twitch-gui/issues/53#event-248019307
.


Train ADEChallengeDataset,But train loss is small,But validation loss is too big.

I train ADEChallengeDataet many times,But validation loss is too big,Is it normal?
2017-11-17 17:42:07.124816 ---> Validation_loss: 1.42196
Step: 8310, Train_loss:1.06558
Step: 8320, Train_loss:1.16616
Step: 8330, Train_loss:1.4604
Step: 8340, Train_loss:1.15065
Step: 8350, Train_loss:1.36698
Step: 8360, Train_loss:1.07944
Step: 8370, Train_loss:1.29012
Step: 8380, Train_loss:1.33168
Step: 44400, Train_loss:0.493773
2017-11-18 22:20:16.527388 ---> Validation_loss: 1.52609
Step: 44410, Train_loss:0.43549
Step: 44420, Train_loss:0.456891
Step: 44430, Train_loss:0.499639
Step: 44440, Train_loss:0.547243
Step: 44450, Train_loss:0.615641
Step: 44460, Train_loss:0.433227
Step: 44470, Train_loss:0.437496
Step: 44480, Train_loss:0.526902
Step: 44490, Train_loss:0.47248
Step: 44500, Train_loss:0.48162
2017-11-18 22:24:56.463316 ---> Validation_loss: 2.35229
......
....

It seems normal to me but maybe some overfitting problems may exist due to unsatisfactory parameter settings. Please try a different one (especially the learning rate) and see what's different. In fact, I also met with similar results. One technique I suggest is doing gird search or random search for parameter settings but that's gonna take a long time.

Oh,Thank you very much!!,You always give me much help!

no problem


Login pop-up closes immediately on Vivaldi browser

The issue is summarized in the title. The extension doesn't seem to be working on Vivaldi (for me, at least). I click on the extension, login pop-up seems to be opening, but it closes right away.
Changes in settings that didn't help:

pop-up windows are always enabled
all of the blocking tools Vivaldi provides turned off

The only other Chromium-based browser I tested it on was Microsoft Edge (successfully, it works). I'm not sure about the others.

This might be an issue with the browser itself as some have their own implementation regarding the popups for authentication. Mozilla deals with it in a completely different way hence why this is only supported for Chrome, for now. Either way, I'll try to have a look at it, thanks.

Thanks for the quick reply. I have an update on the situation tho.
I'm not sure if you changed something, but it suddenly works today. Vivaldi rolled out a new patch, so something maybe started working the way it should - I sure as hell didn't change anything. You can probably close this issue as a resolved one if you agree.


Fix issue #29: hardcoded App\Models\User

Fix hardcode App\Models\User in PulseActiveSessionRecorder

@ruchit288 Hey, can we have a new release for this fix please ?

In some cases you can have more than one user class, and configure it in another key, like for example auth.providers.trainers.model, so I think it is not covering all cases. Actually that's my case :-)


Bugfix/quiz/duration selector

Checklist

[x] I tested all changes and all related features with different users (tutor, instructor, admin) on the test server https://artemistest.ase.in.tum.de.
[x] Client: I added multiple integration tests (Jest) related to the features
[x] Client: I added multiple screenshots/screencasts of my UI changes

Motivation and Context

When using the duration selector during the quiz creation a strange behaviour was found. The issue is described in #1391
Description

The problem is that the input value was not updated correctly even though the model had the right value.

Added detectChanges()before updating duration values
Bring ngModelChange and ngModel into the right oder (see following issue: https://github.com/angular/angular/issues/11234)
Removed (blur) as (ngModelChange) is already getting the changes

Steps for Testing

Log in to Artemis
Navigate to Course Management
Go to exercises of a Course
Create a new Quiz
Use duration selector
5a. When being at seconds 11:59 and you click up, it should go to 12:00
5b. When being at seconds 12:00 and you click down, it should go to 11:59
5c.  When being at 00:00 and you click down nothing changes, when you click up it goes to 00:01

Screenshots

Test clicking up to 60 seconds and down to -1 seconds:

Test min and max value:

The behavior is improved. What I do not really like: when changing the values with they keyboard, you cannot delete the leading "0" anymore. Can we allow this while being in the text field?

Works fine for me as well.

The behavior is improved. What I do not really like: when changing the values with they keyboard, you cannot delete the leading "0" anymore. Can we allow this while being in the text field?

Yes, we are checking now if the input fields are empty and do not update their values so that they stay empty and are not overwritten to 0.

Works fine for me.


fix: 🐛 typo

Summary
fix chore typo
Requirements (place an x in each [ ])

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @75asa 👋🏻 Welcome to the Bolt JS project and thanks for signing the CLA!
This 🐛 is a great catch. The patch looks good to me ✅


Should 'Log Analytic Workspace' be 'Log Analytics Workspace' on this page?

Hello,
please check if 'Log Analytic Workspace' should be 'Log Analytics Workspace' on this page?
We have such a term in Term Studio (Microsoft's termbase).
Kind regards,
Anne

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: cae4bad3-bd39-bb6d-aa86-6e6e130ca052
Version Independent ID: 2df73fea-92ab-de71-3a21-13610028e667
Content: Detect new threats using Microsoft Sentinel with Azure Web Application Firewall
Content Source: articles/web-application-firewall/waf-new-threat-detection.md
Service: web-application-firewall
GitHub Login: @vhorne
Microsoft Alias: victorh

@QueryCoordinator
Thanks for your feedback! We will investigate and update as appropriate.

@QueryCoordinator
Thank you for bringing this to our attention! We've initiated a pull request (PR) to address this issue. Once the author reviews the changes, they will be merged, and the updates should go live shortly. Your diligence is much appreciated!


No Server info

Can you pop open the developer console in your browser and show me what that says?

Seems to be working now.

I had the same problem when running on Edge, once I had downloaded chrome the problem went away.

@ctompkinson which is interesting, since Edge is Chromium based. I know Internet Explorer had issues sometimes but I didn't know about Edge. I'll look into it, thanks!

Hi, i have the same problem with v1.7.5. No server info. And with devtools i see this error


Module should not trust x-forwarded-proto by default

This header can easily be spoofed and should only be trusted if the programmer configures it explicitly.

This is actually a good point. I have actually fixed the code to support this but I have to create additional tests for this functionality. Hopefully will have a patch up this weekend.

@sebastiang this should be addressed in https://github.com/battlejj/express-force-ssl/tree/issues%2319%2C%2325 but before I push to the master branch would you mind reviewing the configuration and tests for X-Forwarded-Proto and let me know if you think it is sufficient?

This has been added to in version 0.3.0 via #26


cmd/go: add release note for rejection of non-ASCII import paths in module mode

In CL 251878 (for #29101), we tightened up the import-path check in module mode so that it now disallows all non-ASCII package import paths, not just non-ASCII module paths (see https://github.com/golang/go/issues/29101#issuecomment-639050809).
Although we believe the number of affected packages to be very small, we should add a release note for this change so that users can easily verify that the change was intentional (see #43035).
CC @jayconrod @matloob @maruel

This appears to disagree with the current language spec:
ImportPath       = string_lit .

Implementation restriction: A compiler may restrict ImportPaths to non-empty strings using only characters belonging to Unicode's L, M, N, P, and S general categories (the Graphic characters without spaces) and may also exclude the characters !"#$%&'()*,:;<=>?[\]^`{|} and the Unicode replacement character U+FFFD.

I have a main package etld+1 that falls foul of this, but testing this in the playground indicates that + meets the requirements in the spec. Please could either the spec be updated to agree with the change, or the change adjusted to meet the spec? Many thanks.

@jamie-digital You bring up a subtle issue: the changes that we made don't affect the compiler, but just the go command and its build system. And there are other restrictions that the build system places above those in the compiler. But I agree that it may be confusing that there are two different sets of restrictions.

@jamie-digital You bring up a subtle issue: the changes that we made don't affect the compiler, but just the go command and its build system. And there are other restrictions that the build system places above those in the compiler. But I agree that it may be confusing that there are two different sets of restrictions.

@matloob Thanks for the clarification, that makes sense. It would be really helpful to have a clear set of rules the go command will accept.

@matloob Thanks for the clarification, that makes sense. It would be really helpful to have a clear set of rules the go command will accept.

@jamie-digital Module paths and versions is a list of restrictions on module paths. File path and size constraints is a list of restrictions on file and directory names within a module.

@jamie-digital Module paths and versions is a list of restrictions on module paths. File path and size constraints is a list of restrictions on file and directory names within a module.

@jayconrod Thanks, those are really useful references. It's worth noting that although golang.org/x/mod/module.CheckPath doesn't allow the '+', the Module paths and versions section does:

A module path must satisfy the following requirements:
...

Each path element is a non-empty string made of up ASCII letters, ASCII digits, and limited ASCII punctuation (+, -, ., _, and ~).

@jayconrod Thanks, those are really useful references. It's worth noting that although golang.org/x/mod/module.CheckPath doesn't allow the '+', the Module paths and versions section does:

A module path must satisfy the following requirements:
...

Each path element is a non-empty string made of up ASCII letters, ASCII digits, and limited ASCII punctuation (+, -, ., _, and ~).

For + specifically, see #31376, particularly https://github.com/golang/go/issues/31376#issuecomment-635529423.

For + specifically, see #31376, particularly https://github.com/golang/go/issues/31376#issuecomment-635529423.

Probably we should remove + from the “Module paths and versions” documentation.

Probably we should remove + from the “Module paths and versions” documentation.

@bcmills sent CL 282512 to remove + from the "Module paths and versions" doc.

What are the users of packages which are using Cyrillic names (or other non-ASCII scripts) supposed to do now?
Using older compilers isn't a good long-term plan. Renaming all packages to use English names is also a lot of work. :(


After following tutorial "Build your first SharePoint client-side web part", but no "HelloWorld" web parts display in my SPO

What type of issue is this?
Documentation issue / typo
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[X] other (enter in the "Additional environment details" area below)

Additional environment details
No response
Issue description
After following tutorial "Build your first SharePoint client-side web part", but no "HelloWorld" web parts display in my SPO
Please help me with this issue!

gulp serve
wait until the task "reload" is done
If nothing is shown: Open the web console > sources > find a source that is called "webpack"
If you can't find this source, you most likely have the wrong react version installed. Check the compatibility matrix for the right version.

Can you provide details on which versions you have installed on your machine. Template has placeholders for SPFx version, node version, npm version etc. We cannot determine the issue without these.
One common issue is also missing registration of the developer cert which is covered in the tutorials, so would double check that step.

I've just figured out that I was using Brave browser with "Shields Up" -- it was blocking something that was required for this to work correctly. I tested on Microsoft Edge, and it works well.
I think this is not a big issue, but still want to leave a solution here in case someone need this.
Thanks @VesaJuvonen for your support!


Deployment error on 0.3._: eth_abi.exceptions.InsufficientDataBytes

Reported on Gitter https://gitter.im/raiden-network/raiden?at=5c37a33b783a5553d812fbe5. Needs more info (e.g. result of pip freeze, especially for eth_abi version).

had to run both pip install -r requirements_dev.txt and pip install -r requirements.txt, you may want to mention this under that section. Also the - contracts-version 0.3._ should be without the quotes : - contracts-version 0.3._ (with the quotes if will fail).
I managed to run the raiden and token commands with the new flag. The 'register command fails with:

DEBUG:main:calling createERC20TokenNetwork(0x67F69093b2C4A3ef23A37EF0A10f6FB8DA972141) txHash=0x77bb802482b0d595aeb1b9b22a1fda9e6ade7c507e42558a0d6abce627f1a846
Traceback (most recent call last):
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/web3/contract.py", line 1372, in call_contract_function
output_data = decode_abi(output_types, return_data)
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/eth_abi/abi.py", line 96, in decode_abi
return decoder(stream)
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/eth_abi/decoding.py", line 118, in call
return self.decode(stream)
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/eth_utils/functional.py", line 46, in inner
return callback(fn(args, *kwargs))
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/eth_abi/decoding.py", line 164, in decode
yield decoder(stream)
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/eth_abi/decoding.py", line 118, in call
return self.decode(stream)
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/eth_abi/decoding.py", line 186, in decode
raw_data = self.read_data_from_stream(stream)
File "/home/offerm/raiden-contracts/venv/lib/python3.6/site-packages/eth_abi/decoding.py", line 296, in read_data_from_stream
len(data),
eth_abi.exceptions.InsufficientDataBytes: Tried to read 32 bytes. Only got 0 bytes

Closing, as this is old and the code changed quite bit.


Epic login component validate navigation access

Summary
Communication to REST server stablished and email validation created.
RootActivty calls Log In activty if non user has loged in.
If email user doesn't exists, token with "No valid user name" is displayed"
If password doesn't match with server information "Password error" token is displayed
If the correct information is set, a "Log in succesfully" token is shown and a progress bar is appears until HomeActivity is called.
Screenshot

Trello Card
https://trello.com/c/mUS9sH08/28-u2-backend-login

Summary
User key-values passed from LogInFragment to LogInPresenter.
Screenshot

Trello Card
https://trello.com/c/mUS9sH08/28-u2-backend-login


Question: Is it possible to manually merge multiple resultset.json's and generate output?

Hi,
I'm setting up a CI build at the moment, and pushing .resultset json result files to the next build in the line. Is it possible to manually merge these files? Could you point me in the direction of the right commands to hook into doing this?
At the moment I'm rebuilding the logic to do it manually with a preliminary rake task.
desc "Merge multiple SimpleCov resultsets (for use in CI where results generated in seperate processes)"
    task :simplecov_ci_merge do
      require 'simplecov'

      result_set_file = Rails.root.join('coverage', '.resultset.json')
      File.delete(result_set_file) if File.exists?(result_set_file)
      multi_coverage_dir = Rails.root.join('coverage', 'multi')

      if File.exists?(multi_coverage_dir)
        puts " ** Multiple SimpleCov coverage merge running"

        json_files = Dir[File.join(multi_coverage_dir, '.*.json')]

        json_files.inject(results = []) do |result_set, coverage_file|
          puts " ** -> Merging: #{coverage_file}"

          parsed_file = SimpleCov::JSON.parse(File.read(coverage_file))
          parsed_file.each do |command_name, data|
            result_set << SimpleCov::Result.from_hash(command_name => data)
          end
          result_set
        end

        merged = {}
        results.each do |result|
          merged = result.original_result.merge_resultset(merged)
        end
        result = SimpleCov::Result.new(merged)
        # Specify the command name
        result.command_name = results.map(&:command_name).sort.join(", ")
        result.format!

        SimpleCov::ResultMerger.store_result(result)
        SimpleCov::LastRun.write(result: {covered_percent: result.covered_percent})
        File.open(Rails.root.join('coverage', 'covered_percent'), "w+") {|f| f.puts  result.covered_percent }
      else
        puts " ** Standard SimpleCov coverage being used"
      end
    end

But it feels very clunky, even though it works. Has there been plans to optionally allow multiple result_set files?
Cheers,
Tom

same as @gotascii we have to merge coverage from parallel builds across VMs before sending it along.
Any update on this feature request?

@gogoLuby wanna make a PR?  all your open source code are belong to us

I'd love to, but I'm confused about the behavior of SimpleCov::Result.new(merged_hash). As you can see at the bottom, the merged coverage results get dropped. Any insights @bf4 ?
test.1.json
{
  "Unit Tests": {
    "coverage": {
      "lib/A.rb": [1, 1, null, null, 0, 0]
      ,"lib/B.rb": [1, null, 0]
    },
    "timestamp": 123
  }
}

test.2.json
{
  "Unit Tests": {
    "coverage": {
      "lib/A.rb": [0, 0, null, null, 1, 1]
      ,"lib/C.rb": [null, 1, 0]
    },
    "timestamp": 456
  }
}

merge_coverage.rb
require 'simplecov'

reports_dir = './'
coverage_file_pattern = 'test.*.json'

json_files = Dir[File.join(reports_dir, coverage_file_pattern)]

merged_hash = {}
json_files.each do |json_file|
  SimpleCov::JSON.parse(File.read(json_file)).each do |command_name, data|
    puts "#{json_file} –> '#{command_name}' –> #{data}"
    merged_hash = SimpleCov::Result.from_hash(command_name => data).original_result.merge_resultset(merged_hash)
  end
end

puts "merged_hash=#{merged_hash}"

merged_result = SimpleCov::Result.new(merged_hash)
puts "merged_result=#{merged_result.to_hash}"

merged_hash={"lib/A.rb"=>[1, 1, nil, nil, 1, 1], "lib/C.rb"=>[nil, 1, 0], "lib/B.rb"=>[1, nil, 0]}
merged_result={"Unknown Test Framework"=>{"coverage"=>{}, "timestamp"=>1427859936}}

I think the original issue can now be solved using:
 SimpleCov.command_name "test:#{ENV['SOME_UNIQ_THING_FOR_A_BUILD']}"

and share the .resultset.json between all builds.
When the build runs parallel I think you also have to share .resultset.json.lock
But for  .resultset.json.lock you cant use a symlink or locking won't work.
Instead I would suggest you link the coverage folder between your builds.

:+1:
@slowjack2k What if it is not possible to share .resultset.json between build jobs? This is a problem when someone parallelizes  jobs using a Docker containers using docker machine for example.

@grzesiek It is always possible to share a file. The only question is how much time you have to spend to get it working. I don't know docker in depth but as far as I know you can use a data container to share data between multiple docker host. Also you can use a gluster fs or use rsync. Within your build scripts you have to ensure that only one test run access these file.

@slowjack2k Those solutions won't work for me. I think that better solution would be to add support for this feature in simplecov as many people can benefit from it.

👍 would make life a lot easier.

After some tests, it look like it may be quite easy to have something like this in SimpleCov. I'm currently testing following patch for SimpleCov::ResultMerger:
module SimpleCov
  module ResultMerger
    class << self
      def resultset_files
        Dir.glob(File.join(SimpleCov.coverage_path, '*', '.resultset.json'))
      end

      def resultset_hashes
        resultset_files.map do |path|
          begin
            JSON.parse(File.read(path))
          rescue
            {}
          end
        end
      end

      def resultset
        resultset_hashes.reduce({}, :merge)
      end
    end
  end
end

👍 for having built-in support for merging.. The scenario I have is we are using CircleCI to run our tests which can run them in parallel..   What they provide is a means to "log into" another node and fetch data from it.   The the current plan for building out a unified coverage report is to

in the post test script walk through all the nodes and grab the .resulset.json for each
then merge them all together
re-run the HTML formatter on the new resultset

@grzesiek our changes seem the simplest, how has that been working for you?

@urkle We are using the patch mentioned above to calculate code coverage for GitLab Community Edition, because GitLab CI also supports parallelization. We have an issue about contributing this back to Simplecov but it is not scheduled yet.

@urkle please come back and say if it worked so that we might close this out :)

@PragTob @bf4 We will test it as well! Thank you for implementing this! :heart:

@PragTob from my testing it seems that it does the trick.

Most of the thanks goes to @aroben !
I'll close this one now, if you disagree let me know and we can reopen.

@bf4 I am not sure how #558 solves this issue. What I'm doing is still something like this:
results = []

ARGV.each do |arg|
  path = File.join(arg, ".resultset.json")
  json = JSON.parse(File.read(path))
  json.each do |command_name, data|
    results << SimpleCov::Result.from_hash(command_name => data)
  end
end

merged_result = SimpleCov::ResultMerger.merge_results(*results)

puts merged_result.covered_percent

(I run this with merge.rb coverage_1 coverage_2 coverage_3 ...)
Is this the best way to solve it now? I still feel like I'm depending on SimpleCov's internals that might change in future.

@jgonera I've expanded on your script and refined it just a tad bit
require 'json'
require 'simplecov'

# initialize data members
# and configure simplecov
coverage_results = []
SimpleCov.filters.clear

ARGV.each do |arg|

  # load json results from coverage folder
  file = File.join(arg, ".resultset.json")
  file_results = JSON.parse(File.read(file))

  # parse results from coverage file to array
  file_results.each do |command, data|
    result = SimpleCov::Result.from_hash(command => data)
    coverage_results << result
  end
end

# merge results from array to results object
merged_results = SimpleCov::ResultMerger.merge_results(*coverage_results)

# save results to file
File.open("./results.json","w") do |f|
  f.write(JSON.pretty_generate(merged_results.to_hash()))
end

just for readability OCD, saved the resutls to file and cleared the filters in order to ignore project paths a bit(helps if the tests come from different instances and can easily be parsed if aggregated) Hope it helps others.

FWIW, I have an implementation which separates the coverage gathering from the report building/build failing which I've been meaning to share back as a PR for too long, which has everything you need to merge results. (see results = [result] below)
.simplecov
ENV['FULL_BUILD'] ||= ENV['CI']
generate_report = !!(ENV['COVERAGE'] =~ /\Atrue\z/i)
running_ci = !!(ENV['FULL_BUILD'] =~ /\Atrue\z/i)
generate_result = running_ci || generate_report
require_relative 'scripts/coverage_report'
reporter = CoverageReport.new
if generate_report
  reporter.configure_to_generate_report!
  SimpleCov.at_exit do
    reporter.generate_report!
  end
end
if generate_result
  # only start when generating a result
  SimpleCov.start 'app'
  STDERR.puts '[COVERAGE] Running'
  reporter.configure_to_generate_result!
end
SimpleCov.formatters = reporter.formatters

scripts/coverage_report.rb
#!/usr/bin/env ruby

require 'json'
class CoverageReport
  attr_reader :formatters

  def initialize
    @formatters = []
  end

  def configure_to_generate_result!
    SimpleCov.configure do
      # use_merging   true
      minimum_coverage 0.0 # disable
      maximum_coverage_drop 100.0 # disable
    end
    SimpleCov.at_exit do
      STDERR.puts "[COVERAGE] creating #{File.join(SimpleCov.coverage_dir, '.resultset.json')}"
      SimpleCov.result.format!
    end
  end

  def configure_to_generate_report!
    @minimum_coverage = ENV.fetch('COVERAGE_MINIMUM') { 100.0 }.to_f.round(2)
    SimpleCov.configure do
      minimum_coverage @minimum_coverage
      # minimum_coverage_by_file 60
      # maximum_coverage_drop 1
      refuse_coverage_drop
    end

    @formatters = [SimpleCov::Formatter::HTMLFormatter]
  end

  def generate_report!
    report_dir = SimpleCov.coverage_dir
    file = File.join(report_dir, '.resultset.json')
    if File.exist?(file)
      json = JSON.parse(File.read(file))
      result = SimpleCov::Result.from_hash(json)
      results = [result]
      merged_result = SimpleCov::ResultMerger.merge_results(*results)
      merged_result.format!
      STDERR.puts "[COVERAGE] merged #{file}; processing..."
      process_result(merged_result)
    else
      abort "No files found to report: #{Dir.glob(report_dir)}"
    end
  end

  # https://github.com/colszowka/simplecov/blob/v0.14.1/lib/simplecov/defaults.rb#L71-L98
  def process_result(result)
    @exit_status = SimpleCov::ExitCodes::SUCCESS
    covered_percent = result.covered_percent.round(2)
    covered_percentages = result.covered_percentages.map { |p| p.round(2) }

    if @exit_status == SimpleCov::ExitCodes::SUCCESS # No other errors
      if covered_percent < SimpleCov.minimum_coverage # rubocop:disable Metrics/BlockNesting
        $stderr.printf("Coverage (%.2f%%) is below the expected minimum coverage (%.2f%%).\n", covered_percent, SimpleCov.minimum_coverage)
        @exit_status = SimpleCov::ExitCodes::MINIMUM_COVERAGE
      elsif covered_percentages.any? { |p| p < SimpleCov.minimum_coverage_by_file } # rubocop:disable Metrics/BlockNesting
        $stderr.printf("File (%s) is only (%.2f%%) covered. This is below the expected minimum coverage per file of (%.2f%%).\n", result.least_covered_file, covered_percentages.min, SimpleCov.minimum_coverage_by_file)
        @exit_status = SimpleCov::ExitCodes::MINIMUM_COVERAGE
      elsif (last_run = SimpleCov::LastRun.read) # rubocop:disable Metrics/BlockNesting
        coverage_diff = last_run["result"]["covered_percent"] - covered_percent
        if coverage_diff > SimpleCov.maximum_coverage_drop # rubocop:disable Metrics/BlockNesting
          $stderr.printf("Coverage has dropped by %.2f%% since the last time (maximum allowed: %.2f%%).\n", coverage_diff, SimpleCov.maximum_coverage_drop)
          @exit_status = SimpleCov::ExitCodes::MAXIMUM_COVERAGE_DROP
        end
      end
    end

    # Don't overwrite last_run file if refuse_coverage_drop option is enabled and the coverage has dropped
    unless @exit_status == SimpleCov::ExitCodes::MAXIMUM_COVERAGE_DROP
      SimpleCov::LastRun.write(:result => {:covered_percent => covered_percent})
    end

    # Force exit with stored status (see github issue #5)
    # unless it's nil or 0 (see github issue #281)
    Kernel.exit @exit_status if @exit_status && @exit_status > 0
  end
end
if __FILE__ == $0
  require 'simplecov'
  reporter = CoverageReport.new
  reporter.configure_to_generate_report!
  reporter.generate_report!
end

Thanks @bf4, very helpful to see it all fit together.
FYI - here's the short version I use to just merge different resultset json into one report.
    results = []
    all_results = Dir["#{base_dir}/.resultset*.json"]
    all_results.each do |result_file_name|
      Rails.logger.info "Processing #{result_file_name}"
      results << SimpleCov::Result.from_hash(JSON.parse(File.read(result_file_name)))
    end
    merged_result = SimpleCov::ResultMerger.merge_results(*results)
    merged_result.format!

Hey guys, i am using simplecov 0.17.1 as of now and since the ruby version is 2.2.5 i can't upgrade simplecov, can someone please help me on achieving this, i have multiple resultset generated in multiple machines, now need to merge and generate HTML too.
tried the above snippet, none works for me.
Thanks.

@prtk418 if you just wanted to use "mainline" collate, forking the gem and adjusting the required ruby version might help. I'm not aware of anything specifically broken in 2.2. Beyond that, you could try applying what we did to your Ruby version: https://github.com/colszowka/simplecov/pull/780
Alas, 2.2 --> 2.4 upgrade is relatively easy/straight forward afaik so might just wanna upgrade ruby :)


#2970 move files to developer directory

Attempts to close MicrosoftDocs/dynamics365smb-devitpro#5837.

Thanks for your contribution, but we won't take this in right now. Thanks.


Error: no commands defined in the "fse" namespace if missing .env

Version
1.0.0
What did you expect to happen?
I thought I'd play with this on a fresh Sage install, but I quickly ran into trouble. I installed Sage on a new, local Laravel Valet site with composer create-project roots/sage, then  added Acorn with composer require roots/acorn. The Sage theme was activated and displayed correctly.
At that point, I assumed I was ready to run wp acorn fse:init.
What actually happens?
Instead I got this message after running wp acorn fse:init:
   ERROR  There are no commands defined in the "fse" namespace.

That was weird, since other acorn commands were running perfectly.
Finding the solution
After clearing cache, restarting valet, adding --debug, and feeling very confused, I dug deeper into the code and noticed that the boot() method of AcornFseHelperServiceProvider checks for $this->app->isProduction() and skips loading the command if it's a production environment.
I hadn't thought to create an .env file for the theme (in my real projects Bedrock's usually responsible for that).
Once I added the following .env file the command worked perfectly:
WP_ENV="development"

It makes sense to only allow this in development environments, but it would really be good to mention in the setup instructions that WP_ENV has to be set to something other than production.
A more instructive error message would also be good!
Steps to reproduce
Set up Sage with Acorn installed at the theme composer level, and do not create an .env file (or have WP_ENV="production").
Then switch WP_ENV to development and watch it work.
System info
N/A
Log output
N/A

Please confirm this isn't a support request.
Yes

Hey, sorry about that. I adjusted this behavior in #7 and pushed a release.

So much better! Thank you.


fix(gh_repo): fix implementation of GH_REPO and syncVersions

:tada: This PR is included in version 3.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature] Rollout Canaries across the OLM fleet for on-premise customers

Problem
The ACS operator runs on over 1,500 clusters, most of them use automatic upgrades. As soon as we publish the ACS operator to the OpenShift catalog all clusters try to upgrade immediately.
A failure in the upgrade process results in a lot of support tickets and high impact on customer environments as all clusters are affected.
Solution
It would be great to have control over the rollout. Preferably we can configure in which order clusters upgrade automatically, in case of a rollout failure we can halt a rollout and fix the issue first.
Alternatively, an "upgrade available" endpoint to allow upgrades would be helpful. This endpoint is exposed on the operator, OLM queries the endpoint, if the endpoint is ready OLM upgrades the operator.
To implement canaries the operator would connect to an ACS/Red Hat server and we implement the rollout process to our needs.
See related issue on upgrades endpoint: https://github.com/operator-framework/helm-operator-plugins/issues/232

Sorry, wrong repository


Bugfix/#45 Embedded db access failes to retrieve list of labels

Fix issue with labels retrieval when using AbstractEmbeddedDBAccess and forcing PlannerStrategy.COST.
Add additional Iterable handler in writeLiteralValue method in AbstractEmbeddedDBAccess as when using PlannerStrategy.COST labels are provided as such and not as Array. I am not sure why such situation occurs and it feels  it actually maybe worth for separate investigation.
MR also contains test for verifying if the fix works.

I have merged your pull request.
Thanks for your contribution.
Cheers,
Wolfgang


feature/step-7-fetching-data-for-pages-tvmaze-api-integration

Update to use TVMaze API, rather than omdbapi which has recently turned Private.

Thanks for the PR. I've taken this: https://learnnextjs.com/basics/fetching-data-for-pages


Scheduling an Activity - forced to select Account before Contact

Most of us schedule an Activity w/an individual and typically look up the contact first and let it fill in the account automatically. This saves extra keystrokes and time.
The mobile web app will not let you do this.

Daily use of the MW client has shown the current method of forcing an Account Look-up before doing a contact look-up is not only not consistent w/the way BOTH the Web And LAN client works.. but is a significant PITA and time-waste(too many clicks).
All customers who have seen this do not like the way it is working and have asked us to "fix it"....  Will it get "fixed".. it's "backwards" right now.

You can checkout the saleslogix branch: "topic-fields-dependOn-account". It allows you to choose a contact first, and it auto-populates account on selection too.

Thanks! I'll give it a shot.
Will this get merged into the "2.0" master?
--
RJLedger – www.rjlsystems.net
Blog: blog.rjlsystems.net
Phone: +1<PHONE_NUMBER>
-----Original Message-----
From: Tony Skidmore<EMAIL_ADDRESS>Sent: Sunday, February 12, 2012 16:44
To: Robert Ledger
Subject: Re: [argos-saleslogix] Scheduling an Activity - forced to select Account before Contact (#11)
You can checkout the saleslogix branch: "topic-fields-dependOn-account". It allows you to choose a contact first, and it auto-populates account on selection too.

Reply to this email directly or view it on GitHub:
https://github.com/SageSalesLogix/argos-saleslogix/issues/11#issuecomment-3931339

It will yes, it's just going through the dev - code review - fix - repeat process before merging in.

GREAT! Thanks!
--
RJLedger – www.rjlsystems.net
Blog: blog.rjlsystems.net
Phone: +1<PHONE_NUMBER>
-----Original Message-----
From: Tony Skidmore<EMAIL_ADDRESS>Sent: Sunday, February 12, 2012 17:58
To: Robert Ledger
Subject: Re: [argos-saleslogix] Scheduling an Activity - forced to select Account before Contact (#11)
It will yes, it's just going through the dev - code review - fix - repeat process before merging in.

Reply to this email directly or view it on GitHub:
https://github.com/SageSalesLogix/argos-saleslogix/issues/11#issuecomment-3931969


wifi not showing up after turning it on later

Initially when I completed the process ,I was able to configure it via the local ip.But when I tried to turn the device on after a while by connecting it to a power source,It is not generating a wifi signal so that I can finish the rest of configuration.
Also,when I press reset button on the chip,It shows all the credentials that I entered to setup the device previously(Like the name gave,etc which I linked below)

It also recieves the IR signals I give it and shows it in the serial monitor

You need to set your config pin to ground to initiate the configuration process during boot.  GPIO10 is your config pin. Connect that to ground and leave it that when while rebooting the device
Sent from my iPhone

On Jun 6, 2020, at 9:28 AM, riskyrun<EMAIL_ADDRESS>wrote:

Initially when I completed the process ,I was able to configure it via the local ip.But when I tried to turn the device on after a while by connecting it to a power source,It is not generating a wifi signal so that I can finish the rest of configuration.
Also,when I press reset button on the chip,It shows all the credentials that I entered to setup the device previously(Like the name gave,etc which I linked below)
It also recieves the IR signals I give it and shows it in the serial monitor
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I tried the above method.While the chip seems to be entering the config mode,it still shows the same problem.After configuration, the "IR BLASTER CONFIGURATION" disappears and doesn't appear again until I have to do what you told above about entering config mode during boot and everything has to be done from fi

rst again

@riskyrun I just setup today and am seeing the same behavior. After initial Wifi configuration, web server works successfully, can send/receive IR blasts. However, next reboot and though reporting as you have screenshot above, web server does not respond.

@kirkpensalvo .Any luck till now?

@riskyrun I went back to the 2.4 ESP8266 board version (which is called out in the readme) and 0.15 version of wifimanager (other comments suggested using the development branch, but it has issues). Anyway, is working now through resets and power cycles.

Yeah this is almost certainly the very well documented version issue. You either need to be on 2.4 with lwIP 1.4 or you need to use the development branch of WiFiManager and then you're free to use the latest versions. Its a bug and known issue with WiFiManager and there's no work around.
I will say I've had all my personall devices on the development branch for about 3-4 months with continuous uptime and no issues.

If you search for 'lwIP' in the issues you'll see there's >20 issues of people with the same problem that didn't use the instructed versions.
PlatformIO is a good development environment that handles all the version control for people that don't want to micro manage that stuff

Sigh.No luck with downgrading the versions.Tried my hand at platformio but I don't think I did a good job there.Same issue persists.

@mdhiggins Yup, saw those postings and downgraded. Are you using 2.03-alpha of Wifimanager? Won't build for me...


oem-gce breaks after upgrading flatcar from a version with rkt to systemd-nspawn

Description
We were starting our VMs with an old version of flatcar that uses rkt. Then  we noticed the oem-gce was failing, as instances started to fail to register in the loadbalancer.
Impact
We observed a similar issue to https://github.com/kinvolk/Flatcar/issues/459, the instances failing to listen the TCP loadbalancer IP and not serving traffic. Google support suggested to run the agent, we did run it directly and it fixed the issue.
[ 1 sentence detailing the impact this bug is creating for you ]
Environment and steps to reproduce

Run a old version with rkt on GKE.
Let it upgrade
check that gce-oem stops working

The logs of gce-oem:
-- Journal begins at Mon 2021-08-02 11:46:06 UTC, ends at Mon 2021-08-02 12:36:23 UTC. --
Aug 02 11:46:25 localhost systemd[1]: Starting GCE Linux Agent...
Aug 02 11:46:53 jumpbox-europe-west1-prod-default-rx82 rkt[850]: + '[' -e /etc/default/instance_configs.cfg.template ']'
Aug 02 11:46:53 jumpbox-europe-west1-prod-default-rx82 rkt[850]: + echo -e '[InstanceSetup]\nset_host_keys = false'
Aug 02 11:46:53 jumpbox-europe-west1-prod-default-rx82 rkt[850]: + /usr/bin/google_instance_setup
...

Aug 02 11:56:57 jumpbox-europe-west1-prod-default-rx82 rkt[850]: ++ stopping=1
....
-- Boot 23bebd36e91a472885b0fd88bfbb9121 --
Aug 02 11:57:24 localhost systemd[1]: Starting GCE Linux Agent...
Aug 02 11:57:25 localhost systemd[1]: oem-gce.service: Main process exited, code=exited, status=203/EXEC
Aug 02 11:57:25 localhost systemd[1]: oem-gce.service: Control process exited, code=exited, status=203/EXEC
Aug 02 11:57:25 localhost systemd[1]: oem-gce.service: Failed with result 'exit-code'.
Aug 02 11:57:25 localhost systemd[1]: Failed to start GCE Linux Agent.
Aug 02 11:57:30 jumpbox-europe-west1-prod-default-rx82 systemd[1]: oem-gce.service: Scheduled restart job, restart counter is at 1.
Aug 02 11:57:30 jumpbox-europe-west1-prod-default-rx82 systemd[1]: Stopped GCE Linux Agent.
Aug 02 11:57:30 jumpbox-europe-west1-prod-default-rx82 systemd[1]: Starting GCE Linux Agent...
Aug 02 11:57:30 jumpbox-europe-west1-prod-default-rx82 systemd[1]: oem-gce.service: Main process exited, code=exited, status=203/EXEC
Aug 02 11:57:30 jumpbox-europe-west1-prod-default-rx82 systemd[1]: oem-gce.service: Control process exited, code=exited, status=203/EXEC
Aug 02 11:57:30 jumpbox-europe-west1-prod-default-rx82 systemd[1]: oem-gce.service: Failed with result 'exit-code'.
Aug 02 11:57:30 jumpbox-europe-west1-prod-default-rx82 systemd[1]: Failed to start GCE Linux Agent.

The service definition after upgrade still uses rkt
$ cat /etc/systemd/system/oem-gce.service
[Unit]
Description=GCE Linux Agent
After=local-fs.target network-online.target

[Service]
Type=notify
Restart=always
RestartSec=5

# There is a custom main process that kills all of the contained services.
KillMode=process
KillSignal=SIGTERM

ExecStart=/usr/bin/rkt run \
    --inherit-env=true \
    --insecure-options=image \
    --net=host \
    --stage1-path=/usr/lib/rkt/stage1-images/stage1-fly.aci \
    --volume=etc,kind=host,source=/etc,readOnly=false \
    --volume=home,kind=host,source=/home,readOnly=false \
    --volume=runsystemd,kind=host,source=/run/systemd,readOnly=false \
    --volume=nsswitch,kind=host,source=/usr/share/google-oslogin/nsswitch.conf,readOnly=true \
    --mount=volume=nsswitch,target=/usr/share/google-oslogin/nsswitch.conf \
    /usr/share/oem/flatcar-oem-gce.aci

ExecStopPost=/usr/bin/rkt gc --mark-only

[Install]
WantedBy=multi-user.target

Expected behavior
The service should keep working
Additional information

The workaround will use a image including the patches from https://github.com/kinvolk/Flatcar/issues/459

Hello,
the OEM partition content is not updated, there are instructions how to do it manually in the release notes:
https://kinvolk.io/flatcar-container-linux/releases/#release-2905.2.0
GCE: The oem-gce.service was ported to use systemd-nspawn instead of rkt. A one-time action is required to fetch the new service file because the OEM partition is not updated: sudo curl -s -S -f -L -o /etc/systemd/system/oem-gce.service https://raw.githubusercontent.com/kinvolk/coreos-overlay/fe7b0047ef5b634ebe04c9627bbf1ce3008ee5fa/coreos-base/oem-gce/files/units/oem-gce.service && sudo systemctl daemon-reload && sudo systemctl restart oem-gce.service
but you can also download https://raw.githubusercontent.com/kinvolk/coreos-overlay/main/coreos-base/oem-gce/files/units/oem-gce.service which has the unreleased fix for the routing entries:
sudo curl -s -S -f -L -o /etc/systemd/system/oem-gce.service https://raw.githubusercontent.com/kinvolk/coreos-overlay/main/coreos-base/oem-gce/files/units/oem-gce.service && sudo systemctl daemon-reload && sudo systemctl restart oem-gce.service

Oh, ok. I would have expected a way to automatically update these between versions of the stable channel.
Is there any way to recreate these files from the oem partition on boot?

Not a generic one but for VMware someone wrote a service that does this, you could roll your own for GCE as follows:
source /usr/lib/os-release
MAJOR="${VERSION_ID%%.*}"
curl -s -S -f -L -o /etc/systemd/system/oem-gce.service https://raw.githubusercontent.com/kinvolk/coreos-overlay/flatcar-${MAJOR}/coreos-base/oem-gce/files/units/oem-gce.service
systemctl daemon-reload
systemctl restart oem-gce.service


replace 'problems' key with 'exercises' in config.json

see #122

I forgot to point out that as of exercism/x-api#137, it is safe to remove problems.


Revert to jasmine 3.2.0

The new jasmine release broke the karma-jasmine spec runner.
https://github.com/jasmine/jasmine/issues/1617
This should fix #7193

Thanks for the pull request @hpinkos!

:heavy_check_mark: Signed CLA found.
:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.
[ ] Works (or fails gracefully) in IE11.

I am a bot who helps you make Cesium awesome! Contributions to my configuration are welcome.
:earth_africa: :earth_americas: :earth_asia:

Cool.  Now travis is just back to failing because of  #7076 🤦♀

Merging this so we can start merging it into our other branches.  I'll write up an issue to grab the newest version of jasmine once they fix this.


onSort()

I dont see method to capture column sort toggle
How else you can request new dataset ?
ie...this is only "local sorting" but if you see only 25 entries A-Z  from 100 in total...you need to request new sorting from
server Z-A and not just sort current entries...
There is no way to capture that event...
Why dont you emit PlutoGridOnChangedEvent with:
old value, new value, row = NULL
row index = -1
and current column (with updated sorting)

You can add addListener of stateManager . You can check the change of sort by adding the change in the corresponding column value to the callback.

Hey @bosskmk ,
this seems to be a way to catch sortings.
But the better way would be an "onChange" method callback.
I need it also.
Could you please make a statement if you plan to implement that?
The same goes for filter.
Thanky  you!

Hi, my value for PlutoRow is the object.
Have you some examples for sorting the object value?

If others need to disable sorting, it's done by:
      PlutoColumn(
          enableSorting: false,


Adding ResNeXt as an application

Hi, I was wondering if it is alright to add ResNeXt model building code from the paper Aggregated Residual Transformations for Deep Neural Networks without pre-trained weights for CIFAR-10 or CIFAR100.
I'm currently using my GPU for another research project, but since ResNeXt models aren't currently available for Keras, I was hoping to add them to contrib so that someone else could use it to train on CIFAR or even ImageNet.
We can update the code later on to point to the weights for CIFAR.

Sure seems reasonable to me since there is probably interest.

@titu1994 were the resnext implementation on cifar 10 and 100 added in here?

Sadly, they weren't. Keras, and Tensorflow do not support Grouped Convolutions yet, and my hacky workaround reduces performance far too much to be of any value.

I guess this situation has remained unchanged in the past 22 days? I find it odd that grouped convolutions is not added to tensorflow yet. Clearly it has a purpose, considering the state-of-the-art uses it and CUDA / cuDNN support it natively now.
I'd be curious to hear if you find a way to implement ResNeXt in an efficient manner, please let me know if you have any updates.

@titu1994 do you think there is interest for a backend implementation of grouped convolutions? for us resnext looks like it works very well, but training times are prohibitive :/

New layers are welcome in keras contrib. You can also do pull requests for new backend operation.

Grouped Convolutions are more efficient than the hacky solution I put together, since they are implemented at cudnn or Cuda level in PyTorch and original Torch Lua.
A Keras backend function still needs to utilize ops provided by the underlying engine, here - Tensorflow, Theano or CNTK, to perform an operation.
Since neither of the three backends support Grouped Convolutions directly, there isn't going to be much of a speed benefit. We can only hope TF 2 or CNTK will eventually support Grouped Convolutions in the future.

@titu1994 In this https://github.com/keras-team/keras-contrib/pull/111/commits/56d3295eaf7603285b3817f3836d5835895a14ef in the grouped convolutions I see you are applying the 1x1 without slicing the input volume but rather performing 32 independent 1x1 convs in the original input volume and. Am I understanding this correctly? Is this is expected to work?


(feat): allow fail, timeout, retry, always run tasks

Would be nice to have possiblity to add:

timeout
retry
allow_fail
allow_exitcodes
always run post task ( similar to https://docs.gitlab.com/ee/ci/yaml/#yaml-anchors-for-before_script-and-after_script )
always run pre task

options to tasks.
    tasks:
    - name: pre
      task:
      - func: shell
        do:
        - printf 'Prepare Env'
       always: pre
    - name: task
      task:
      - func: shell
        do:
        - sleep 60
       timeout: 10
       retries: 3
       allow_fail: true
       allow_exitcodes:
       - 128
    - name: post
      task:
      - func: shell
        do:
        - printf 'Cleanup Env'
      always: post

Thanks

To address these one by one:

timeout

Do  you have a supporting case?
What I can think of this is in the case of a synchronised call, the server end is taking long time to process.
In this case, it should fall back to how the client tool is talking to the server, eg,
curl https://fantatic.resource.com/myfile

The design of UPcmd is to try to collaborate and try to simplify the usage of multiple threads etc, I have got the thoughts here: https://upcmd.netlify.app/ideas_and_faq/concurrency/
It is technically possible and it is a strength of golang, but do we need it?
Continue above case, the responsibility should be really the client tool to deal with the timeout, rather than UPcmd.
Use this in shell func, problem should be solved:
curl --max-time 5.5 https://example.com/

Aslo see the recommend tools

retry

No need an implementation, the loop cmd + sleep cmd will do
https://upcmd.netlify.app/cmd-func/c0087/
You might need to generate an array for the time being as it requires that to iterate through, let me know if you like some thing like while without specifying the loop var, if so please raise as a feature

allow_fail

I don't get this, could you explain a little bit more?
Currently, you can ignoreError, it actually allows to fail and continue, see https://github.com/upcmd/up/blob/master/up.yml, I use it to ignore not supported build and move on

allow_exitcodes

No change required for this, you can achieve this by:

ignoreError
capture the result.Code then evaluate it to do whatever you like

always run post task and pre task

I have this in the plan already, would you mind creating this as a feature
Thanks

@lukasmrtvy PS. what's the purpose of the pre-task? I could understand the always run post-task is to clean up resources usage, close file handler etc, why do we need pre-task? Any use case?
Would below be okay?
tasks:

- name: Main
  task:
    - func: call
       do:
         - pre-task
         - my-task-to-do-business
         - post-task

-
  name: pre-task
  task:

-
  name: post-task
  task:

-
  name: my-task-to-do-business
  task:

@lukasmrtvy Also as to the link you mentioned:  https://docs.gitlab.com/ee/ci/yaml/#yaml-anchors-for-before_script-and-after_script
I am aware of using yaml anchors to do some fancy stuff and this has taken into consideration during the design phase, I find the anchor is a little hard for lots of users, the syntax will just challenge many users and this is actually the goal of the project of UPcmd to lower the bar to become more friendly to be adopted.
Having said that, the pre-task and post-task are possible to be implemented in a better/easier way to end users
For your above use case, do check out the doc site: https://upcmd.netlify.app/ and follow my suggestion above, if you still find challenging, I am happy to help you prototype it.

Hello :)

* timeout

Do you have a supporting case?

Well, it can be achieved with GNU timeout, I am not aware of POSIX alternative.
Lets say that I will invoke az login or aws sso login:
$ aws sso login --profile my-dev-profile
Using a browser, open the following URL:

https://my-sso-portal.awsapps.com/verify

and enter the following code:
QCFK-N451

CLI will stay open for some "unknown" time. I am not aware of any timeout option to aws cli.
Timeout is something generic, that can end task after some specified time.

* retry

No need an implementation, the loop cmd + sleep cmd will do
https://upcmd.netlify.app/cmd-func/c0087/

Ok, but still, it plays nicely with possible timeout option..

* allow_fail

I don't get this, could you explain a little bit more?
Currently, you can ignoreError, it actually allows to fail and continue, see https://github.com/upcmd/up/blob/master/up.yml, I use it to ignore not supported build and move on

Sorry, I did not notice. ignoreError is answer in this case.

* allow_exitcodes

No change required for this, you can achieve this by:
1. ignoreError

2. capture the result.Code then evaluate it to do whatever you like

Ok, its just a proposal. I like how Ansible does these type of things..

* always run post task and pre task

I have this in the plan already, would you mind creating this as a feature

Superb. I will. Post task is definitely a must have.

@lukasmrtvy I believe there are timeout settings for aws cli, at least for individual sub command
A simple google of timeout finds this, FYI

--cli-read-timeout (int)

The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout.

--cli-connect-timeout (int)

The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout.

yes, but for example az login does not have any configurable timeouts..

Yeah, you are right, I think it is fair to have a timeout mechanism

To conclude of this thread:
Below features are considered

optional timeout for shell func
optional always run post task feature, similar to what Ansible does

@lukasmrtvy
The retry should now fully work, it's in latest release:
curl -s https://api.github.com/repos/upcmd/up/releases \
    |grep darwin_amd64_latest \
    |grep download \
    |head -n 1 \
    |awk '{print $2}' \
    |xargs -I % curl -L % -o up \
    && chmod +x up

See Examples:
https://github.com/upcmd/up/blob/master/tests/functests/c0167.yml
https://github.com/upcmd/up/blob/master/tests/functests/c0168.yml
https://github.com/upcmd/up/blob/master/tests/functests/c0169.yml
Can you try it? and let me know how it goes

@lukasmrtvy
Added the finally block support to close/clean up resources, also support a rescue element to deal with whether you'd like to suppress the error code to be non 0 return
https://github.com/upcmd/up/blob/master/tests/functests/f0171.yml
https://github.com/upcmd/up/blob/master/tests/functests/c0172.yml
https://github.com/upcmd/up/blob/master/tests/functests/c0173.yml
https://github.com/upcmd/up/blob/master/tests/functests/c0174.yml
https://github.com/upcmd/up/blob/master/tests/functests/c0175.yml
I will update the docs a little bit further, but you should be able to follow examples
Please let me know if this could help with your use case

@lukasmrtvy it's now in latest version or latest rolling release binary

@lukasmrtvy docs updated:
https://upcmd.netlify.app/flow-controll/f0171/
https://upcmd.netlify.app/flow-controll/f0172/
https://upcmd.netlify.app/flow-controll/c0172/
https://upcmd.netlify.app/flow-controll/c0173/
https://upcmd.netlify.app/flow-controll/c0174/
https://upcmd.netlify.app/flow-controll/c0175/


request: acquisition tile schema

At the acquisition tile level, we should track thing like:

What is the temperature/humidity during this tile within the microscope
What is the temperature of certain devices
What is the actual (not theoretically set) laser power
What are the DAQ voltages for each line, since these will vary per channel, and could at some point vary as a function of position in the tissue if we get fancy

dupe of #129


Is it possible to implement a tool to convert php to php-cpp?

Is it possible to implement a tool to convert php to php-cpp?

Of course it is. It would be a hell of a job, and lead to a completely useless product, but it is doable.


misc(theme-translations): multiple improvements to the update CLI

Motivation
Added:

The ability to write a new base file if one doesn't exist (e.g. adding a new plugin translation as in #6173).
Tally translation coverage.

Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan

thanks 👍


extended subgrid functionality

extended subgrid features:

new argument 'support' which can be ON_CELLS (default subgrid behaviour as before), ON_BFACES (default subgrid behaviour with boundary = true which also still works) and ON_FACES (new behaviour that generates a subgrid with faces)
SubGrid type has now a parameter that knows the support relative to parent grid, removed BoundarySubGrid type
removed get_facegrid, get_bfacegrid, get_edgegrid in derived.jl (that offer no new functionality compared to subgrid)

IMHO assemblytypes.jl needs to be included before subgrids.jl.
Generally, formally removing API (including keyword args) is a breaking change.
Unless we are really sure that nobody else uses this (I think  I use boundary=true) we should keep the old API, possibly with a deprecation warning.

Yes, I am on it. Unfurtunately also som subgrid tests don't run through ^^

Ok, now it should work... I messed up the old CoordinateSystem handling for codimension -1 grids

Codecov Report
Attention: Patch coverage is 50.00000% with 9 lines in your changes missing coverage. Please review.

Project coverage is 74.23%. Comparing base (06a2f11) to head (1e4741e).
Report is 43 commits behind head on master.

Files
Patch %
Lines

src/subgrid.jl
47.05%
9 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #49      +/-   ##
==========================================
+ Coverage   73.01%   74.23%   +1.21%
==========================================
  Files          27       32       +5
  Lines        4239     4591     +352
==========================================
+ Hits         3095     3408     +313
- Misses       1144     1183      +39

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

Just checked with VoronoiFVM, tests are ok.


added support for local ganache-cli chain

We currently do not plan to add the local ganache chain (or any other) to this repo, as this is meant only for non-dev networks.

alright, closing PR


add oauth2 support in the client

Fully support the auth schemes by swagger in the client generation.
OAuth2 authentication for clients in golang is most probably only applicable to these grant types:

resource owner password
client credentials for an application using its own API
refresh token flow

So the client should know how to get to an access token for those grant types, and the client needs to get a config option for the default grant type.
In addition to those forms of token exchanges the client also needs to support the bearer token scheme.
2FA is out of scope for the moment.

implemented by allowing people to provide their own http client go-openapi/runtime#21

@casualjim I'm not that familiar with golang, so I struggled to see how to add the the bearer token for use with client credentials grant.
I got it working by exporting the runtime.do function i.e. Do and then creating a customer Runtime and setting runtime.Do to my implementation below:
func NewAuthenticatedClient(config *client.TransportConfig) *AuthenticatedClient {
	a := &AuthenticatedClientCheckRedirect{}
	h := &http.Client{
		Transport: http.DefaultTransport,
		CheckRedirect: a.CheckRedirect,
	}

	rt := rc.NewWithClient(config.Host, config.BasePath, config.Schemes, h)
	authClient := &AuthenticatedClient{
		ApiClients: client.New(rt, strfmt.Default),
		HttpClient: h,
		Config: config,
	}

	rt.Consumers["application/vnd.api+json;charset=UTF-8"] = runtime.JSONConsumer()
	rt.Consumers["application/vnd.api+json"] = runtime.JSONConsumer()
	rt.Do = authClient.Do

	return authClient
}

func (r *AuthenticatedClient) Do(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
	if client == nil {
		client = r.HttpClient
	}

	if len(r.AccessToken) > 0 {
		req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", r.AccessToken))
	}

	resp, err := client.Do(req.WithContext(ctx))
	// If we got an error, and the context has been canceled,
	// the context's error is probably more useful.
	if err != nil {
		select {
		case <-ctx.Done():
			err = ctx.Err()
		default:
		}
	}
	return resp, err
}

That fact that I had to make the do method public makes me think there is probably a better way to do this?

@ewilde - I think the thought is that you can use any http.Client, therefore you can create an oauth2 client using https://godoc.org/golang.org/x/oauth2#NewClient and create a Runtime using https://godoc.org/github.com/go-openapi/runtime/client#NewWithClient.
(mostly writing this as a note to people Googling for how to solve this)


Error in calling LLM: unsupported operand type(s) for +: 'NoneType' and 'NoneType' with custom LLM

Describe the bug
I am trying gpt-researcher for the first time. I am using an OpenAI-compatible API endpoint and followed the instructions to configure it like llama.cpp server with a different base URL and key. When trying a query for the first time, I get an error that seems to be related to the endpoint response, but I'm not sure what it is looking for.
To Reproduce
Steps to reproduce the behavior:

Follow procedure to git clone the project and install requirements.
Configure .env for custom endpoint
Startup uvicorn

I also tried the process here by putting the code into tester.py. I get a similar error. Any suggestions for what to try?
(.venv) cal@cal-virtualbox:~/Projects/gpt-researcher$ python tester.py
Error in calling LLM: unsupported operand type(s) for +: 'NoneType' and 'NoneType'

Expected behavior
Query runs and doesn't error out immediately :(
Logs
(.venv) cal@cal-virtualbox:~/Projects/gpt-researcher$ uvicorn main:app --reload
INFO:     Will watch for changes in these directories: ['/home/cal/Projects/gpt-researcher']
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [17007] using StatReload
INFO:     Started server process [17009]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     <IP_ADDRESS>:54602 - "GET / HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:54602 - "GET /site/styles.css HTTP/1.1" 304 Not Modified
INFO:     <IP_ADDRESS>:54618 - "GET /site/scripts.js HTTP/1.1" 304 Not Modified
INFO:     <IP_ADDRESS>:54618 - "GET /static/gptr-logo.png HTTP/1.1" 304 Not Modified
INFO:     ('<IP_ADDRESS>', 46332) - "WebSocket /ws" [accepted]
INFO:     connection open
⚠ Error in reading JSON, attempting to repair JSON
Error using json_repair: the JSON object must be str, bytes or bytearray, not NoneType
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/cal/Projects/gpt-researcher/gpt_researcher/actions/agent_creator.py", line 27, in choose_agent
    response = await create_chat_completion(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/gpt_researcher/utils/llm.py", line 60, in create_chat_completion
    response = await provider.get_chat_response(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/gpt_researcher/llm_provider/generic/base.py", line 116, in get_chat_response
    output = await self.llm.ainvoke(messages)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 307, in ainvoke
    llm_result = await self.agenerate_prompt(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 796, in agenerate_prompt
    return await self.agenerate(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 756, in agenerate
    raise exceptions[0]
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_core/language_models/chat_models.py", line 924, in _agenerate_with_cache
    result = await self._agenerate(
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_openai/chat_models/base.py", line 826, in _agenerate
    return await run_in_executor(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_core/runnables/config.py", line 588, in run_in_executor
    return await asyncio.get_running_loop().run_in_executor(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/.pyenv/versions/3.11.10/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_core/runnables/config.py", line 579, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_openai/chat_models/base.py", line 730, in _create_chat_result
    message.usage_metadata = _create_usage_metadata(token_usage)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/langchain_openai/chat_models/base.py", line 2232, in _create_usage_metadata
    total_tokens = oai_token_usage.get("total_tokens", input_tokens + output_tokens)
                                                       ~~~~~~~~~~~~~^~~~~~~~~~~~~~~
TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/uvicorn/protocols/websockets/websockets_impl.py", line 242, in run_asgi
    result = await self.app(self.scope, self.asgi_receive, self.asgi_send)  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/middleware/errors.py", line 152, in __call__
    await self.app(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/middleware/cors.py", line 77, in __call__
    await self.app(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/routing.py", line 362, in handle
    await self.app(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/routing.py", line 95, in app
    await wrap_app_handling_exceptions(app, session)(scope, receive, send)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/starlette/routing.py", line 93, in app
    await func(session)
  File "/home/cal/Projects/gpt-researcher/.venv/lib/python3.11/site-packages/fastapi/routing.py", line 383, in app
    await dependant.call(**solved_result.values)
  File "/home/cal/Projects/gpt-researcher/backend/server/server.py", line 110, in websocket_endpoint
    await handle_websocket_communication(websocket, manager)
  File "/home/cal/Projects/gpt-researcher/backend/server/server_utils.py", line 121, in handle_websocket_communication
    await handle_start_command(websocket, data, manager)
  File "/home/cal/Projects/gpt-researcher/backend/server/server_utils.py", line 28, in handle_start_command
    report = await manager.start_streaming(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/backend/server/websocket_manager.py", line 66, in start_streaming
    report = await run_agent(task, report_type, report_source, source_urls, tone, websocket, headers = headers, config_path = config_path)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/backend/server/websocket_manager.py", line 108, in run_agent
    report = await researcher.run()
             ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/backend/report_type/basic_report/basic_report.py", line 41, in run
    await researcher.conduct_research()
  File "/home/cal/Projects/gpt-researcher/gpt_researcher/agent.py", line 92, in conduct_research
    self.agent, self.role = await choose_agent(
                            ^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/gpt_researcher/actions/agent_creator.py", line 44, in choose_agent
    return await handle_json_error(response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/gpt_researcher/actions/agent_creator.py", line 55, in handle_json_error
    json_string = extract_json_with_regex(response)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/Projects/gpt-researcher/gpt_researcher/actions/agent_creator.py", line 71, in extract_json_with_regex
    json_match = re.search(r"{.*?}", response, re.DOTALL)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cal/.pyenv/versions/3.11.10/lib/python3.11/re/__init__.py", line 176, in search
    return _compile(pattern, flags).search(string)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: expected string or bytes-like object, got 'NoneType'

Desktop (please complete the following information):
Lubuntu 24.04

The error message is saying that your LLM isn't configured correctly
Check out the:
Running with Ollama & Testing your LLM docs


Can't find this template anymore

as title

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1f7b3337-c547-4960-fa13-ca16a559b083
Version Independent ID: 9b02414f-872e-14da-71c6-bd68fbb0e23e
Content: Common Data Service - Microsoft Flow
Content Source: flow-docs/common-data-model-intro.md
Service: flow
GitHub Login: @stepsic-microsoft-com
Microsoft Alias: stepsic

@timp3261 Thanks for using Microsoft Flow and for letting us know the template is missing. We'll look into the missing template. You can use any other Common Data Service template that the search results return.. The one shown in the docs is just an example. Thanks!


matchSorter does not accept readonly arrays.

match-sorter version: 6.3.0
node version: 14.17.0

const input: readonly string[] = ['foo', 'bar'];
const matchSorted = matchSorter(input, 'f'); // does not compile, plain array is required

Problem description:
The type signature of matchSorter is overly restrictive. Even though it does not modify its input array, it does not accept readonly arrays.
To work around this one needs to either do a cast (which basically disables type safety) or copy the array unnecessarily before passing it to matchSorter.
Suggested solution:
matchSorter should accept a ReadonlyArray instead of a plain Array.
I am creating this issue before a pull request, to first have a discussion about the scope. This readonly issue not only affects the input array (although that is where I discovered it), it also applies to for example MatchSorterOptions.keys. Changing it there however would be a breaking change (as opposed to the type signature of matchSorter).

I think we should support a regular array as well as a readonly array. PR is welcome.

A regular array can also be passed if a readonly array is expected. The following compiles fine:
function acceptsArray(array: ReadonlyArray<string>) { }

const plainArray: string[] = ['foo'];
acceptsArray(plainArray); // compiles!

I'll make a PR later today!


GML2 parser does not parse all features

In comparison to GML3 parser, the GML2 has something wrong in the parsing loop. The proof by examples:

this doesn't work (you only get one or two features, see here, there is at least a red dot near Mississauga)

vectorSource = new ol.source.ServerVector({
    format: new ol.format.GML2(),   // GML2 !!!
    loader: function (extent, resolution, projection) {
        var url = 'http://demo.boundlessgeo.com/geoserver/wfs?service=WFS&' +
                'version=1.1.0&request=GetFeature&typename=osm:water_areas&' +
                'outputFormat=GML2&srsname=EPSG:3857&bbox=' + extent.join(',') + ',EPSG:3857';  // outputFormat=GML2 !!!
        $.ajax({
            url: url,
            dataType: "xml",
            success: function(response) {
                vectorSource.addFeatures(vectorSource.readFeatures(response));
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert("The request has failed: " + textStatus);
            }
        });
    },
    projection: 'EPSG:3857'
});

but it does work using GML3 (you get all features, see here)

vectorSource = new ol.source.ServerVector({
    format: new ol.format.GML(),
    loader: function (extent, resolution, projection) {
        var url = 'http://demo.boundlessgeo.com/geoserver/wfs?service=WFS&' +
                'version=1.1.0&request=GetFeature&typename=osm:water_areas&' +
                'outputFormat=gml3&srsname=EPSG:3857&bbox=' + extent.join(',') + ',EPSG:3857';
        $.ajax({
            url: url,
            dataType: "xml",
            success: function(response) {
                vectorSource.addFeatures(vectorSource.readFeatures(response));
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert("The request has failed: " + textStatus);
            }
        });
    },
    projection: 'EPSG:3857'
});

thanks for the report, I'll try and have a look

As a workaround you should be able to use:
new ol.format.WFS({gmlFormat: new ol.format.GML2}).readFeatures(xml)

instead.

PR attached

+1


Fix auth when no token is passed + add auth to /models

Currently setting --api-key but not passing auth header just lets the request through
Protecting /models might be a good idea too - although I am okay if we decide otherwise

Ah I was just updating tests, do you want me to do another PR?

@michaelfeil , When can we have a release with this fix? From Cognita, team here! Would require auth to be integrated.

Sure! Will need to wait for the CI to complete -> should be put soon


Permission Denied OS Error 13

I followed pretty basic directions and now when I run it, it doesn't detect my GPU.
sudo apt install libdrm-dev
curl https://sh.rustup.rs -sSf | sh
cargo install amdgpu_top

Here is the error:
➜  ~ amdgpu_top -d
amdgpu_top v0.9.0

--------
#0 DevicePath { render: "/dev/dri/renderD128", card: "/dev/dri/card1", pci: "0000:04:00.0" }
thread 'main' panicked at /home/user/.cargo/registry/src/index.crates.io-6f17d22bba15001f/amdgpu_top-0.9.0/src/dump_info.rs:122:41:
called `Result::unwrap()` on an `Err` value: Permission denied (os error 13)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Maybe the user has not been added to render group.

Thank you. That solves my issue.
FYI for anyone else who encounters this in the future: Had to troubleshoot a bit after adding my user to the render group because I needed to login to a new ssh session.