Installation Issues - hap-nodejs missing and wrong API URL (A vs E)

Thanks for the awesome plugin. After a bunch of troubleshooting, I was able to get it working, but ran into a couple of issues I wanted to bring to your attention.
Describe The Bug:

The plugin requires hap-nodejs, but after install it kept crashing because it wasn't able to find it. I confirmed I had hap-nodejs installed, but the plugin seemed to require it in its own node_modules directory. After running:
ln -s /usr/lib/node_modules/homebridge/node_modules/hap-nodejs hap-nodejs
to create a link to the actual hap-nodejs folder, that resolved the problem.
I'm assuming this would cause issues for other people, as my HomeBridge setup is pretty simple/vanilla. My solution is more of a hack, so I wanted to let you know to see if it could be fixed in the code.

After fixing the hap-nodejs issue, I restarted HomeBridge and it loaded the plugin. Unfortunately, I was getting a ton of API issues which were so severe it actually started crashing HomeBridge. It would start up, load the plugin, get an API failure, load all the other plugins/devices, then crash. No explanation for the crash, but it only started doing this with the EcoFlow plugin enabled and stopped after I disabled it. I started reviewing the error messages and the API was getting an "invalid secret key" response from the server. I double checked my EcoFlow API key and confirmed it was correct. So I started reviewing the documentation and noticed a disparity. The documentation on EF's Dev website said to use api-a, but this plugin was using api-e. I'm going to assume that this may mean America vs Europe, and I'm in America and maybe you are in Europe. In any case, I searched for the API URL and found:
dist/apis/ecoFlowHttpApi.js:const ApiUrl = 'https://api-e.ecoflow.com';
I modified this to api-a, re-enabled the plugin, restarted HomeBridge, and voila, everything started working. Assuming that EcoFlow does have region based API servers which are not interchangeable, the URL it uses probably needs to be a configurable option in the settings. Also, it may need to have some catch so that if the API fails (e.g. wrong key, wrong server) it doesn't crash HomeBridge.

Fortunately, after fixing those two issues, it seems to be running properly and I can see my D2M in HomeKit.
To Reproduce:
Details above, but let me know if you need anything else.
Expected behavior:
It should use the existing hap-nodejs library directly or create its own symlink to it. And the API needs to be customizable.
Plugin Config:
I only had 1 device configured (D2M), but that is irrelevant for the issues above as it never even got to the device part before running into both issues.
Environment:

Plugin Version: Latest 1.2.0
Homebridge Version: 1.8.4
Node.js Version: 20.16.0
Operating System: Ubuntu

Hi
Thank for reporting the bug. Description and propositions are valid. The bugs will be fixed.

Hi Thank for reporting the bugs. Description and propositions are valid. The bugs will be fixed.

Thank you! Regarding the API URL, I was just reading up on some of the documentation, commands, etc. and looking at other code examples to see what else I could do with it, outside of the HomeBridge integration, and I noticed many examples of people just using api.ecoflow.com. I edited my config again and changed it from api-a to just api, reloaded, and it's working fine with that as well. I'm wondering if that may dynamically point to the correct region IP. I did some tests and I think it does. For example, when looking up api.ecoflow.com in the US, it resolves to <IP_ADDRESS>, which is the same as api-a. I did the same query from a server I have in France, and I got <IP_ADDRESS>, which is the same as api-e. So changing the API URL to just use 'api' might be the easiest option.

Hi Thank for reporting the bugs. Description and propositions are valid. The bugs will be fixed.

Thank you! Regarding the API URL, I was just reading up on some of the documentation, commands, etc. and looking at other code examples to see what else I could do with it, outside of the HomeBridge integration, and I noticed many examples of people just using api.ecoflow.com. I edited my config again and changed it from api-a to just api, reloaded, and it's working fine with that as well. I'm wondering if that may dynamically point to the correct region IP. I did some tests and I think it does. For example, when looking up api.ecoflow.com in the US, it resolves to <IP_ADDRESS>, which is the same as api-a. I did the same query from a server I have in France, and I got <IP_ADDRESS>, which is the same as api-e. So changing the API URL to just use 'api' might be the easiest option.

api.ecoflow.com is obsolete. It is not announced how long it will work, but i don't want to rely on it. So i will add one more property to configuration with possibility to choose API Host ("US" or "EU")

Fixed in v1.2.1


Url not opening on click?

Links are just not opening when notification is clicked. Currently testing on Windows 10 Home. Notifier parameters are set as follows:
notifier.notify({ 	title: 'Notification', 	message: 'Hello World', 	sound: true, 	open: 'https://www.google.com', 	wait: true });

Hi @sparcut. I'm sorry to say Windows toasts doesn't have that feature. See complete feature set for Windows toasts here: https://github.com/mikaelbr/node-notifier#usage-windowstoaster
You could add a activation listener and trigger open from node. Something like:
var open = require('open');

notifier.notify({
  title: 'Notification',
  message: 'Hello World',
  sound: true,
  wait: true
}, function () {
  open('https://www.google.com');
});

Where open is installed using npm install --save open or the like.

@mikaelbr Darn, I had a feeling that was the case.
While I was waiting for a response on this, I thought of doing the same thing you suggested but instead with a similar package, opn. It works, but the callback is run no matter the action taken on the notification, is it stable to check the response of the callback... the sentence? Since it doesn't seem to be a parameter just a sentence like "the toast has timed out" or "the user clicked on the toast.". Though from the package README, this seems the way that is suggested (below).

To be able to listen for response (like activation/clicked), you have to define a timeout.

Callbacks are triggered on timeout and activation, but you can explicitly set an on click event:
notifier.on('click', function (notifierObject, options) {
  // Triggers if `wait: true` and user clicks notification
});

I'm going to assume doing something like this isn't cross platform friendly?
notifier.on('click', function(notifyObject, opt) {
  opn(opt.open);
});

Since platforms that support the standard open option would open it twice.
So, is there an acceptable practice to add custom options to the options parameter (opt) like below?
notifier.notify({
  title: 'Notification',
  message: 'Hello World',
  sound: true,
  wait: true,
  customOptions: 'xyz'
});

It is cross platform. See open docs

Sorry, I meant the first example in my last post. I was unsure if using the open option from the original notifier.notify() in the explicit on click would cause (on platforms that support the open option) two instances of the link to open.


Fix: minor typos

Fix: minor typos

Thanks for the PR @omahs! Since this has been merged you're eligible to claim a POAP through GitPOAP. It takes a few hours to reindex, then you can visit GitPOAP to claim.


catalog: add service mocks

Add catalog service mocking/faking capability.

Uh, pushed back to https://github.com/backstage/backstage/commit/9a12d34ce191ba61b2a4004967972f8d7ef5af3c, it includes past fixes and https://github.com/backstage/backstage/commit/e13f86d86d598864889cf7e993db1783c19bccb9 removed a lot of those


Product Page Edit Defaults Throws Error in Dashboard

In the 1.2.3 release, when going into the default page type page in the Dashboard I'm getting the following error:
Cannot redeclare class Concrete\Package\CommunityStore\Block\CommunityProduct\Controller
Need to get this site up fairly quickly so I thought I would try uninstalling it and then installing the earlier release but the package won't uninstall and I get the same error.

That reads like you have a copy of the product block sitting somewhere, or maybe the package copied and renamed. Can you turn on more detailed debugging to spot where this other declaration might be?
The line:
namespace Concrete\Package\CommunityStore\Block\CommunityProduct;
should only apply one in the package, try a search for that across your install to see if you find more than one.
I tried downloading the 1.2.3 install fresh and I'm not able to trigger this error.

Thanks.  I should have caught that.  It was a custom template that was causing the problem.  The path that was showing is misleading.

Glad it's solved!


function onUpdate() no longer works in 0.5!!

Describe your bug here.
if you have a "function onUpdate" active in game, when you reset or die, the game CRASH, but it dosent happen in the version 0.4.2, just 0.5
Example: if you have a script.lua in your song, inside the data folder, and have this:
local spin = true;
local arrowMoveX = 20;
local arrowMoveY = 20;
local defaultNotePos = {};

function onSongStart()

    for i = 0,7 do

        x = getPropertyFromGroup('strumLineNotes', i, 'x')

        y = getPropertyFromGroup('strumLineNotes', i, 'y')

        table.insert(defaultNotePos, {x,y})

    end

end

function onUpdate()

    songPos = getPropertyFromClass('Conductor', 'songPosition');

    currentBeat = (songPos / 1000) * (bpm / 60)

    if spin == true then

        for i = 0,7 do

            setPropertyFromGroup('strumLineNotes', i, 'x', defaultNotePos[i + 1][1] + arrowMoveX * math.sin((currentBeat + i*0.25) * math.pi))

            setPropertyFromGroup('strumLineNotes', i, 'y', defaultNotePos[i + 1][2] + arrowMoveY * math.cos((currentBeat + i*0.25) * math.pi))

       end

    end
end

The function works but if you die or reset the song, the game CRASH just in the version 0.5!
Command Prompt/Terminal logs (if existing)
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No, just added a script.lua in a song.

have you tried removing everything from your trace, adding each one by one and seeing maybe if one of your lines might've crashed it. cuz lua doesn't crash.

yes, and this happened
https://youtu.be/Eg0wO7Ja_9U

try running it with an empty update function and see if that crashes anything?

with an empty update dont crash, only if the update have a active code

then your code might be the problem

But this doesnt happen in the psych engine 0.4.2


Include findRecords in meta for update and delete

For update and delete requests, meta object will contain findRecords with results of find called during validation of record existence.
See #289

Thanks! I'll add a test for this and release it later.


x/tools/go/packages: unclear how to distinguish test packages

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

$ go version
go version go1.14.2 darwin/amd64

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
GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/Will/Library/Caches/go-build"
GOENV="/Users/Will/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/Will/Developer/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.14.2_1/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.14.2_1/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/Will/Developer/turbine/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/bx/qk0phsxd265fqj512dnnpg080000gn/T/go-build418939867=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
$ go doc golang.org/x/tools/go/packages

If you set Config.Tests=true, it isn't clear how to distinguish which package is the test package and which is the normal package. For example, here are the package names and paths for the four Packages returned for the "net/http" query:

http, net/http
main, net/http.test
http, net/http
http_test, net/http_test

Note that 1 and 3 are identical. Since Package IDs are meant to be opaque, according to the doc, I'm at a loss for how to distinguish between these two cases. I could look for GoFiles ending in "_test.go" in each Package, but that seems hacky and requires adding NeedFiles to Config.Mode.

cc @matloob
See also #38445 and friends.

Yeah, I think #38445 is the most likely solution to this, if we solve it.

Closing due to no activity.


Fix trajectory generation to support jumping

It is getting harder to follow your progress, could you sometimes share gif of what has changed please :-)

Hey George, sure thing here you go. This PR only affects the trajectory, it fixes stuff with collision handling and adds support for jumping. Motion matching should then be able to use that data to match against jumping anims (once that's implemented)


Add recursive link-driven random site visitor (using Alexa list)

Added a program to build a list of random domains that look like real domains, by going to each site on the given list (defaults to Alexa 500), and following links on their landing pages recursively. For example, for youtube.com, some results are:
https://www.youtube.com/watch?v=_xGhK6qgPtM: [DJ Khaled - Do You Mind ft. Nicki Minaj, Chris Brown, August Alsina, Jeremih, Future, Rick Ross]: https://www.youtube.com/watch?v=AYRvh1JlZfk [10 Ways The World Will End In 100 Years]
etc.
Since links on the front page of sites like YouTube are popular, this can easily generate traffic that would look like an everyday user. Additionally, the main script was modified to visit these sites at random intervals.

Hi lschumm, missed your PR but it looks good thanks!


Building vcpkg.exe fails: The "CppClean" task was not given a value for the required parameter "FilePatternsToDeleteOnClean"

Cloned vcpkg on a Windows 10 RS5 machine with several VS instances, including the one selected - VS2019 Preview, which does have the following Windows SDKs installed along with the Desktop C++ workload and most optional components:
Microsoft.VisualStudio.Component.Windows10SDK.17134
Microsoft.VisualStudio.Component.Windows10SDK.17763
Win10SDK_10.0.17134
Win10SDK_10.0.17763

But running bootstrap-vcpkg.bat results in the following error:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Microsoft\VC\v160\Microsoft.CppClean.targets(76,5): error MSB4044: The "CppClean" task was not given a value for the required parameter "FilePatternsToDeleteOnClean". [E:\Source\vcpkg\toolsrc\vcpkglib\vcpkglib.vcxproj]
E:\Source\vcpkg\scripts\bootstrap.ps1 : Building vcpkg.exe failed. Please ensure you have installed Visual Studio with the Desktop C++ workload and the Windows SDK for Desktop C++.
At line:1 char:4
+ & {& 'E:\Source\vcpkg\scripts\bootstrap.ps1' }
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,bootstrap.ps1

I can build other native projects on this box using the same instance of Visual Studio.

I fixed it
Just Retarget solution to last sdk ver.

@sawich, that is not always an acceptable solution. Behaviors can change across versions, and when statically linking that can have undesirable effects.

This issue hasn’t been updated in a year; if it is still an issue, please reopen.


The new tracking stripping is causing issues

Go to https://www.imdb.com/user/ID_HERE/watchlist and try to create a new list from the right menu or visit any of the list you created you'll get redirected to a an infinite loading page

Fixed in v10.7.


How to copy response to a file

I'm trying to use io::copy to write response into a new file. But Response doesn't seem to be implementing Read. Is there a workaround?
let mut out = match File::create(path)?
if io::copy(&mut file, &mut out).is_err() {
|            ^^^^^^^^ the trait std::io::Read is not implemented for isahc::Response<isahc::Body>

Converted Repsonse to &[u8]. that worked
 let mut bytes = Vec::new();
                        let s = f.body_mut().read_to_end(&mut bytes);
                       return bytes.as_slice()

But Response doesn't seem to be implementing Read

Correct, the whole response doesn't implement Read, only the response Body implements Read, which you can get with Response::body_mut():
let mut response = isahc::get("https://example.org")?;
let mut file = File::create(path)?;
io::copy(response.body_mut(), &mut file)?;

You don't need to read the whole response into memory first. Also, to write to a file, the prelude provides the copy_to_file convenience method for this:
let mut response = isahc::get("https://example.org")?;
response.copy_to_file(path)?;

That's awesome!! Somehow I missed that method in prelude. I would never go back to reqwest :)


@wreese wanted me to make an issue because I somehow crashed cfs mount

I was running this code, but it's been days so it could've been anything and it could've run out of memory but there was no oom message. Anyways... For the code, ignore the fact that the func is called makefiles and is actually making directories.
package main

import (
        "fmt"
        "os"
        "sync"
        "time"
)

func main() {
        wg := &sync.WaitGroup{}
        wg.Add(1000)
        t := time.Now()
        for i := 0; i < 1000; i++ {
                go makefiles(fmt.Sprintf("/ea/many/%d-%d-%%d", t.Nanosecond(), i), 1000, wg)
        }
        wg.Wait()
}

func makefiles(pathfmt string, count int, wg *sync.WaitGroup) {
        for id := 0; id < count; id++ {
                if err := os.Mkdir(fmt.Sprintf(pathfmt, id), 0700); err != nil {
                        fmt.Println(fmt.Sprintf(pathfmt, id), err)
                }
        }
        wg.Done()
        fmt.Println(pathfmt, "done")
}

Okay, now I'm getting more info. Remount, run time ls -f /ea/many > manyls ; wc -l manyls in my home dir (to see how long it takes and to see how many subdirs I have now) and cfs crashed with this output:
2016/04/29 20:27:41 Inside InitFs
2016/04/29 20:27:55 Inside handleGetattr
2016/04/29 20:27:55 Getattr [ID=0x2 Node=0x1 Uid=0 Gid=0 Pid=30388] 0x0 fl=0
2016/04/29 20:27:55 Getattr valid=5s ino=1 size=0 mode=drwxrwxr-x
2016/04/29 20:27:55 Inside handleOpen
2016/04/29 20:27:55 Open [ID=0x3 Node=0x1 Uid=0 Gid=0 Pid=30388] dir=true fl=OpenReadOnly+OpenDirectory+OpenNonblock
2016/04/29 20:27:55 Open 0x0 fl=0
2016/04/29 20:27:55 Inside handleRead
2016/04/29 20:27:55 Read [ID=0x4 Node=0x1 Uid=0 Gid=0 Pid=30388] 0x0 4096 @0x0 dir=true fl=0 lock=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2016/04/29 20:27:55 DirEntries:<name:"many" attr:<inode:13927158233081840262 atime:1461951826 mtime:1461951826 ctime:1461951826 crtime:1461951826 mode:2147484096 > > DirEntries:<name:"src" attr:<inode:13925725046501802198 atime:1458151896 mtime:1461004266 ctime:1461780977 crtime:1461780977 mode:2147484096 > > FileEntries:<name:"src.tar" attr:<inode:13925801446604800508 atime:1461790084 mtime:1461791175 ctime:1461790084 crtime:1461790084 mode:384 size:166359040 > > FileEntries:<name:"usr.tar" attr:<inode:13926501351631618350 atime:1461873519 mtime:1461881776 ctime:1461873519 crtime:1461873519 mode:384 size:1253857280 > >
2016/04/29 20:27:55 name:"many" attr:<inode:13927158233081840262 atime:1461951826 mtime:1461951826 ctime:1461951826 crtime:1461951826 mode:2147484096 >
2016/04/29 20:27:55 name:"src" attr:<inode:13925725046501802198 atime:1458151896 mtime:1461004266 ctime:1461780977 crtime:1461780977 mode:2147484096 >
2016/04/29 20:27:55 name:"src.tar" attr:<inode:13925801446604800508 atime:1461790084 mtime:1461791175 ctime:1461790084 crtime:1461790084 mode:384 size:166359040 >
2016/04/29 20:27:55 name:"usr.tar" attr:<inode:13926501351631618350 atime:1461873519 mtime:1461881776 ctime:1461873519 crtime:1461873519 mode:384 size:1253857280 >
2016/04/29 20:27:55 Inside handleRead
2016/04/29 20:27:55 Read [ID=0x5 Node=0x1 Uid=0 Gid=0 Pid=30388] 0x0 4096 @0xc0 dir=true fl=0 lock=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2016/04/29 20:27:55 Inside handleRelease
2016/04/29 20:28:04 Inside handleGetattr
2016/04/29 20:28:04 Getattr [ID=0x7 Node=0x1 Uid=0 Gid=0 Pid=30390] 0x0 fl=0
2016/04/29 20:28:04 Getattr valid=5s ino=1 size=0 mode=drwxrwxr-x
2016/04/29 20:28:04 Inside handleLookup
2016/04/29 20:28:04 Running Lookup for many
2016/04/29 20:28:04 Lookup [ID=0x8 Node=0x1 Uid=0 Gid=0 Pid=30390] "many"
2016/04/29 20:28:04 Lookup 0xc147349fad800286 gen=0 valid=5s attr={valid=5s ino=13927158233081840262 size=0 mode=drwx------}
2016/04/29 20:28:04 Inside handleOpen
2016/04/29 20:28:04 Open [ID=0x9 Node=0xc147349fad800286 Uid=0 Gid=0 Pid=30390] dir=true fl=OpenReadOnly+OpenDirectory+OpenNonblock
2016/04/29 20:28:04 Open 0x1 fl=0
2016/04/29 20:28:04 Inside handleRead
2016/04/29 20:28:04 Read [ID=0xa Node=0xc147349fad800286 Uid=0 Gid=0 Pid=30390] 0x1 4096 @0x0 dir=true fl=0 lock=0 ffl=OpenReadOnly+OpenDirectory+OpenNonblock
2016/04/29 20:28:14 <nil>
2016/04/29 20:28:14 Read on dir failed: rpc error: code = 4 desc = context deadline exceeded


Make a web page to display all the codes

Is your feature request related to a problem? Please describe.
Right now all the codes are here and there and a little difficult to search from other directories. A web page with a search option can help the users to get the desired code directly.
Describe the solution you'd like
I can make a website like I have done in the past to display the codes directly on a web page. Here is the link of the website that I made recently : https://lab-codes.vercel.app/
Additional context
I am a GSSoC'23 contributor so kindly assign me this issue.
Do I want to work on this:

[x]  Yes

@avinashkranjan kindly assign me this issue

How would this actually be integrated? The website will be completely different from the project? @mohammadshaad

@vanshitaverma the website will just showcase all the codes. It won't be different

Can you give a brief/Draft PR, So, we can get a better idea on what are you planning to do.

Thanks a lot


Implement 'Copy Organization ID' context menu item, issue #213.

Summary of Changes

Implement context menu item for the logged-in "Confluent Cloud" resource to copy the user's organization ID to the clipboard.
https://github.com/confluentinc/vscode/issues/213

Any additional details or context that should be provided?

Pull request checklist
Please check if your PR fulfills the following (if applicable):
Tests

[ ] Added new
[ ] Updated existing
[ ] Deleted existing

Other

[x] Does anything in this PR need to be mentioned in the user-facing CHANGELOG or README?
[ ] Have you validated this change locally by packaging and installing the extension .vsix file?gulp clicktest

/sem-approve


Cross Browser Compatibility

Nice Effect. But this ripple effect doesn’t work in IE11 (Windows 8.1 ).

What error are you getting?


Multi network within the same DC needs to optimize gateway

Such as graphic, have 3 network gateway-a-1 gateway-a-2 gateway-a-3. Multi network within the same DC just broadcast it's directly connected network‘s routes.In this way, any call can only have a maximum of 2 routes to access the services of other DC.

gateway
go.micro.srv.s-2 routes

gateway-a-1
gateway-b gateway-a-2 gateway-a-3

gateway-a-2
gateway-a-1 gateway-a-3

gateway-a-3
gateway-a-1 gateway-a-2

Can you please elaborate on this a bit more? It's a bit hard to "decrypt" the point you're trying to make on a few lines.

First I want network to be HA.

Start three network in DC A, gateway-a-1 gateway-a-2 gateway-a-3
Start one network in DC B, gateway-b, and gateway-b connect gateway-a-1
Start one srv(go.micro.srv.s-2) in DC B ,  srv's routes as below.

gateway
go.micro.srv.s-2 routes

gateway-a-1
gateway-b gateway-a-2 gateway-a-3

gateway-a-2
gateway-a-1 gateway-a-3

gateway-a-3
gateway-a-1 gateway-a-2

But I think this would be better, srv's routes don't need gateway-a-2 gateway-a-3

gateway
go.micro.srv.s-2 routes

gateway-a-1
gateway-b gateway-a-2 gateway-a-3

gateway-a-2
gateway-a-1 gateway-a-3

gateway-a-3
gateway-a-1 gateway-a-2


Error in tuple unpacking

l2gv2/embedding/svd.py:171:8: W0632: Possible unbalanced tuple unpacking with sequence defined at line 594 of scipy.sparse.linalg._eigen.lobpcg.lobpcg: left side has 3 labels, right side has 2 values (unbalanced-tuple-unpacking)

I think this is happening because pylint can't detect a conditional return statement which changes the return type: retResidualNormsHistory=True should return the residuals, but otherwise the default behaviour of lobpcg is to return a 2-tuple: https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.linalg.lobpcg.html


Firestore Data reactive support for query method naming for nested properties

I am trying to use query method naming to access nested property and query back the results. But I only get back an empty array. Below is an example of spring data
Person -> Address -> ZipCode
findByNameAndAddress_ZipCode()
findByAddressZipCode()
findByAddress_ZipCode()
I tried this but its not working. Please help.

@alok-prasad
This feature is currently not supported. Our team needs to discuss if and when we want to implement it.
We will let you know!
cc/ @meltsufin


Transaction default isolation level

We can't create transaction with really default isolation level becauce level is declared in DatabaseType.GetDefaultTransactionIsolationLevel() or Database class constructor but db can be configured with another level (suppose I don't know this level).
So for default level we should create transaction with IDbConnection.BeginTransaction() parameterless overload. In this case IDbConnection itself will decide which default isolation level is used in db (DatabaseType.GetDefaultTransactionIsolationLevel() can be removed).

BeginTransaction() takes isolation level as a parameter.
You can also override the GetDefaultTransactionIsolationLevel() and return what ever you like.


Reset Password Changeset Error (current password needed?)

{:error, #Ecto.Changeset<action: :update, changes: %{password: "34343434", password_confirmation: "34343434"}, errors: [current_password: {"can't be blank", [validation: :required]}], data: #Database.Account.User<>, valid?: false>}
controller
conn
      |> Pow.Plug.put_config(otp_app: :public_api)
      |> PowResetPassword.Plug.load_user_by_token(token)
      |> case do
        {:ok, conn} ->
          {:ok, user, _conn} = PowResetPassword.Plug.update_user_password(conn, pasword)
          %{user: user}
        {:error, _conn} -> %{error: %{message: "Expired Token"}}
      end

schema
  def reset_password_changeset(user_struct, attrs) do
    user_struct
    |> pow_changeset(attrs)
    |> cast(attrs, [:password, :password_confirmation])
    |> validate_required([:password, :password_confirmation])
    |> validate_confirmation(:password_confirmation)
  end

rest api
PUT: {{url}}/reset-password/{{token}}
{
    "user": {
        "password": "34343434",
        "password_confirmation": "34343434"
    }
}

error message
** (exit) an exception was raised:
    ** (MatchError) no match of right hand side value: {:error, #Ecto.Changeset<action: :update, changes: %{password: "34343434", password_confirmation: "34343434"}, errors: [current_password: {"can't be blank", [validation: :required]}], data: #Database.Account.User<>, valid?: false>,

I am trying to reset password by using pow.
Do I have to put a current password into params in order to reset password?
I thought that i would reset password when I forgot my password so i couldn't put current password in it.
maybe i am down the rabbit hole. ^^;;

resolved?
change pow_changeset  in schema to pow_password_changeset.
is it ok?

Yup, that's correct. You should just use pow_password_changeset: https://github.com/danschultzer/pow/blob/v1.0.23/lib/extensions/reset_password/ecto/schema.ex#L25-L30
I would recommend you to just use that changeset directly though:
def reset_password_changeset(user, attrs) do
  PowResetPassword.Ecto.Schema.reset_password_changeset(user, attrs)
end

Or not overriding the changeset method at all if you don't do anything different. There should already be a reset_password_changeset/2 defined by the macro, which does the above.

Thanks Dan.
This POW thing is WOW, no cap!!!


CoreDNS name resolution fails, NodePort is not available on nodes without the pod

Environmental Info:
K3s Version:

k3s version v1.21.5+k3s2 (724ef700)
go version go1.16.8
Node(s) CPU architecture, OS, and Version:

Linux vova-test 5.4.0-88-generic #99-Ubuntu SMP Thu Sep 23 17:29:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:

Looking for a way to orchestrate a fleet of odroid. Trying to set up a webapi that will make requests to payload running on odroid.
In this example I've used two cloud machine from equinix (bare metal), personal VM Ware virtual machine and an odroid XU4
Describe the bug:

nslookup kubernetes.cluster fails from nodes that don't have coredns running
Cannot access nodeport services on nodes that don't have them running
it appear as if some overlay network issue.
spent 24h+ on trying.
tried k8s rancher as well, same issue.
Tried the following IP Tables fixes

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
sudo update-alternatives --set arptables /usr/sbin/arptables-legacy
sudo update-alternatives --set ebtables /usr/sbin/ebtables-legacy
sudo iptables -P FORWARD ACCEPT

Steps To Reproduce:

Installed K3s:
curl -sfL https://get.k3s.io | sh -

Expected behavior:

exec into busybox container and curl -X GET  http://some-service:port
OR
curl -X GET http://any-node-ip-in-cluster:port
to get access to the target service
Actual behavior:

works only on the node that is running the service
Additional context / logs:

root@vova-test:~# kubectl run -it --rm --restart=Never busybox --image=radial/busyboxplus:curl sh
If you don't see a command prompt, try pressing enter.
[ root@busybox:/ ]$ curl -X GET http://<IP_ADDRESS>:30009
^C
[ root@busybox:/ ]$ curl -X GET http://<IP_ADDRESS>:30009/api/magicbox/healthcheck
^C
[ root@busybox:/ ]$ curl -X GET http://magicbox-1:30009/api/magicbox/healthcheck

root@vova-test:~# kubectl exec -i -t dnsutils -- nslookup kubernetes.default
;; connection timed out; no servers could be reached

command terminated with exit code 1

apiVersion: v1
kind: Service
metadata:
  name: magicbox-1
spec:
  type: NodePort
  selector:
    app: magicbox-1
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30009

apiVersion: v1
kind: Pod
metadata:
  name: magicbox-1
  labels:
    app: magicbox-1
spec:
  containers:
  - name: pm0
    image: #################
    imagePullPolicy: IfNotPresent
    volumeMounts:
    - mountPath: /dev/LOCKER
      name: locker
    securityContext:
      allowPrivilegeEscalation: true
      capabilities: {}
      privileged: true
      readOnlyRootFilesystem: false
  volumes:
  - name: locker
    hostPath:
      path: /dev/ttyUSB0
      type: ""
  imagePullSecrets:
    - name: externaljustin
  nodeSelector:
    server: "odroid"

nslookup kubernetes.cluster fails from nodes that don't have coredns running

This sounds like an issue with the cluster overlay network. Can you update to the most recent version of K3s on whatever branch you prefer? There was an issue with flannel's vxlan on newer kernels that should now be fixed.

I don't understand why but if master uses hetzner, worker also uses hetzner it's ok, but if worker uses vultr or oracle cloud, dns error occurs


README for Orchestrator package library folder

Fixes #
Description

Specific Changes

Testing

This is a placeholder..

Pull Request Test Coverage Report for Build 941138312

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 85.409%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build 939574797:
0.0%

Covered Lines:
19273

Relevant Lines:
21467

💛  - Coveralls


A way to load resources directly from file yaml manifest

Hi,
Is there a way to load resources directly from file yaml manifest? Let's say I have manifest stored in git and I want to apply it to the cluster.
I think it's possible to do so by creating new resource (in my case - deployment) and then apply this new resource, but it would be really nice to have out-of-the-box method for this, and maybe this method will take care of resource API version.

the issue: app should support two different clusters, as example 1.7 and 1.11+
yes, I know that we can use kubectl for each version... but it's not nice.

the issue: app should support two different clusters, as example 1.7 and 1.11+

You probably want two different manifest then anyway, right?

yes, I know that we can use kubectl for each version... but it's not nice.

A couple lines of bash sounds nicer to me than messing with untyped YAML and JSON in Go :)

@wizard580
This might not help you, and it's certainly not ideal, but at least to share what worked for my use case:
While using a manifest file that would work with kubernetes doesn't work as is, you could adjust the yaml so that the fields line up with what the unmarshaller is expecting. I used https://github.com/ghodss/yaml for yaml since it goes transitions through json first allowing you to take advantage of the json related tags.
You could also get an existing resource via the library and then marshall it to to yaml and dump it out to a file to get an example of what it needs to look like, I think that would work.
for example a readinessProbe might become:
readinessProbe:
  handler:
    httpGet:
      path: /
      port:
        type: 1
        strval: http
  timeoutSeconds: 1

Once you get used to the differences they are pretty easy to write, they are just a little more verbose, and unfortunately it does require a separate manifests for whatever you are using this library for.

I love the simplicity of this kubernetes client, but I too am running into this same challenge.  Any thoughts on replacing the apis package in this project with kubernetes/apimachinery?  The resources in that projects support not only protobuf but also YAML and JSON marshalling/unmarshalling

I love the simplicity of this kubernetes client, but I too am running into this same challenge. Any thoughts on replacing the apis package in this project with kubernetes/api? The resources in that projects support not only protobuf but also YAML and JSON marshalling/unmarshalling

If you need those packages I'd recommend using client-go. There's no way to import kubernetes/api without getting most of the client-go package anyway.
I still think my earlier comment about a RawResource would be the way to handle this use case.


Support for CodeLens

Will there be support for CodeLens in NodeJS projects?

No concrete plans at the moment, but that doesn't mean it we can't do it ;-). That said... based on a quick search, there doesn't appear to be a public extensibility model for CodeLens yet, so don't count on it any time soon.

According to few posts [1] [2]  CodeLens is available in VS 2015 RC for JavaScript.
And I can confirm this as well. However, the experience is not the same as with C# for example.
You see author and change log 'per file' but not on snippets above methods (again like in C#)
[1] http://blogs.msdn.com/b/visualstudioalm/archive/2015/04/29/what-s-new-in-codelens-for-visual-studio-2015-rc.aspx
[2] http://blogs.msdn.com/b/visualstudioalm/archive/2015/02/25/codelens-file-activity-and-history-now-available-for-c-javascript-and-sql-files-stored-in-git.aspx

Our editing experiences diverged when we stopped using the built-in javascript language service (JSLS) available in VS in favor of our own homegrown analysis engine, so unfortunately we don't get this stuff for free. Right now we're chatting with some folks internally to see how we might be able to join forces, but until that happens we would need to rely on a public extensibility point.

Closing this issue - this feature may make it in eventually into our new consolidated (in progress) javascript language service in VS, but it won't be provided by NTVS.


libsqsh tips

https://github.com/probonopd/Filer/blob/d254dadbc8495783b6a6b080c804e4e3b4fc7a13/src/SqshReader.cpp#L69-L74
You can actually use sqsh_directory_iterator_name_dup(iterator) to get a zero terminated string. It actually does exactly the same as you're doing manually here.

Thanks for your careful review. I have adopted your suggested improvement.


[BUG] Loss scale already at minimum - Training LlaMA2 7B via HF+deepspeed consistently fails

Describe the bug
When training the LLaMA2 7B HF Model with deepspeed on a single-node multi-gpu setup,
the loss_scale gets decreased consistently to 1 (minimum) and exists with error.
Exception: Current loss scale already at minimum - cannot decrease scale anymore. Exiting run.
This appears both with ZeRO Stage2 + CPU Offload and ZeRO Stage3 + CPU Offload.
To Reproduce

DeepSpeed with ZeRO Stage 2 + CPU offload.
HF Trainer (v4.32.0.dev0)

Expected behavior
Training Completes
ds_report output
--------------------------------------------------
DeepSpeed C++/CUDA extension op report
--------------------------------------------------
NOTE: Ops not installed will be just-in-time (JIT) compiled at
      runtime if needed. Op compatibility means that your system
      meet the required dependencies to JIT install the op.
--------------------------------------------------
JIT compiled ops requires ninja
ninja .................. [OKAY]
--------------------------------------------------
op name ................ installed .. compatible
--------------------------------------------------
 [WARNING]  async_io requires the dev libaio .so object and headers but these were not found.
 [WARNING]  async_io: please install the libaio-devel package with yum
 [WARNING]  If libaio is already installed (perhaps from source), try setting the CFLAGS and LDFLAGS environment variables to where it can be found.
async_io ............... [NO] ....... [NO]
cpu_adagrad ............ [NO] ....... [OKAY]
cpu_adam ............... [NO] ....... [OKAY]
fused_adam ............. [NO] ....... [OKAY]
fused_lamb ............. [NO] ....... [OKAY]
quantizer .............. [NO] ....... [OKAY]
random_ltd ............. [NO] ....... [OKAY]
 [WARNING]  please install triton==1.0.0 if you want to use sparse attention
sparse_attn ............ [NO] ....... [NO]
spatial_inference ...... [NO] ....... [OKAY]
transformer ............ [NO] ....... [OKAY]
stochastic_transformer . [NO] ....... [OKAY]
transformer_inference .. [NO] ....... [OKAY]
--------------------------------------------------
DeepSpeed general environment info:
torch install path ............... ['/software/all/staging/PyTorch/1.12.1-foss-2022a-CUDA-11.7.0/lib/python3.10/site-packages/torch']
torch version .................... 1.12.1
deepspeed install path ........... ['/home/<BLANKED>/LLaMA_Training/.env/lib/python3.10/site-packages/deepspeed']
deepspeed info ................... 0.10.0, unknown, unknown
torch cuda version ............... 11.7
torch hip version ................ None
nvcc version ..................... 11.7
deepspeed wheel compiled w. ...... torch 1.12, cuda 11.7

System info (please complete the following information):

OS: Rocky Linux 8
GPU count and types: 1 Machine, 4x Nvidia Tesla V100
Python version: 3.10.8
HuggingFace Transformers:  4.32.0.dev0

Launcher context
Launching with Deepspeed as follows:
srun --jobid 3530272 bash -c "NCCL_DEBUG=INFO deepspeed
--num_gpus=4
03_train_llama2.py
--model_name meta-llama/Llama-2-7b-hf
--cache_dir ./cache
--use_fast_tokenizer false
--model_revision main
--use_auth_token true
--hugging_token <BLANKED>
--torch_dtype auto
--low_cpu_mem_usage false
--train_file ./input/health_information_systems_epub.md
--max_train_samples 1000
--overwrite_cache false
--validation_split_percentage 5
--preprocessing_num_workers 1
--keep_linebreaks true
--output_dir ./trained/7B
--overwrite_output_dir false
--do_train true
--do_eval false
--per_device_train_batch_size 1
--per_device_eval_batch_size 1
--evaluation_strategy steps
--eval_steps 100
--learning_rate 3e-4
--weight_decay 0.1
--adam_beta1 0.9
--adam_beta2 0.95
--adam_epsilon 1e-8
--max_grad_norm 1.0
--num_train_epochs 3
--lr_scheduler_type cosine
--warmup_steps 0
--log_level passive
--save_strategy steps
--save_steps 500
--save_total_limit 1
--no_cuda false
--seed 42
--fp16 true
--bf16 false
--half_precision_backend auto
--local_rank 0
--ddp_backend nccl
--deepspeed ./ds_configs/stage2_offload.json
--optim adamw_torch"

Docker context
No Docker
Additional context
DS Config:
{
    "fp16": {
        "enabled": "auto",
        "loss_scale": 0,
        "loss_scale_window": 1000,
        "initial_scale_power": 16,
        "hysteresis": 2,
        "min_loss_scale": 1
    },

    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": "auto",
            "betas": "auto",
            "eps": "auto",
            "weight_decay": "auto"
        }
    },

    "scheduler": {
        "type": "WarmupLR",
        "params": {
            "warmup_min_lr": "auto",
            "warmup_max_lr": "auto",
            "warmup_num_steps": "auto"
        }
    },
    "zero_optimization": {
        "stage": 2,
        "contiguous_gradients": true,
        "overlap_comm": true,
        "reduce_scatter": true,
        "reduce_bucket_size": 2e8,
        "allgather_bucket_size": 2e8,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        }
    },
    "gradient_clipping": 1.0,
    "steps_per_print": 500,
    "wall_clock_breakdown": false,
    "train_micro_batch_size_per_gpu": 1
}

Slurm Setup
#SBATCH --job-name=deepspeed-llama2-7b-hf        # name
#SBATCH --nodes=1                                                 # nodes
#SBATCH --ntasks-per-node=1                                 # crucial - only 1 task per dist per node!
#SBATCH --cpus-per-task=4
#SBATCH --partition=clara
#SBATCH --mem=256G                                            # 128G was not enough
#SBATCH --gres=gpu:v100:4                                    # number of gpus
#SBATCH --output=logs/%x-%j.out                           # output file name

Reducing the bucket size from 1024 to 256 solves this issue in part.
Meaning if the dataset used is small enough, the loss scale gets not recuded fully to 1.
But loss scales are still constantly reduced

Reducing the bucket size from 1024 to 256 solves this issue in part. Meaning if the dataset used is small enough, the loss scale gets not recuded fully to 1.
But loss scales are still constantly reduced

What do you mean by bucket size? If you mean reduce_bucket_size, the value is not 1024 but 2e8 (200 million).

Try to use bf16 as LLaMA-2 was pretrained using bf16. Continuing the training with fp16 will be problematic.

Try to use bf16 as LLaMA-2 was pretrained using bf16. Continuing the training with fp16 will be problematic.

What if my gpu did not support bf16? Because llama-2 13B did not have this error when training using deepspeed. Only 7B kept getting this error.

how many gpus you use to train? I use 1 or 2 is ok, while 3 or more will meet this issue. V100 fp16

how many gpus you use to train? I use 1 or 2 is ok, while 3 or more will meet this issue. V100 fp16

I use 8 x A6000 gpu. Small number of gpu is working? That's weird. I tought bigger number leads to bigger batch and that means better stability.

you can try, i found this in my training but don't know why

Reducing the bucket size from 1024 to 256 solves this issue in part. Meaning if the dataset used is small enough, the loss scale gets not recuded fully to 1.
But loss scales are still constantly reduced

What do you mean by bucket size? If you mean reduce_bucket_size, the value is not 1024 but 2e8 (200 million).

I mean the actual size of the batch in bytes. When using the Huggingface Trainer e.g. you can specify "bucket_size" there. In the paper for Llama2 they used 4096, default is normally at 1024 - 3 Epoch training worked with 256
for higher Epochs, I have to go down even lower.

Try to use bf16 as LLaMA-2 was pretrained using bf16. Continuing the training with fp16 will be problematic.

Sadly not possible, as I am using Nvidia v100 GPUs that do not support bf16, so I have to use fp16

how many gpus you use to train? I use 1 or 2 is ok, while 3 or more will meet this issue. V100 fp16
interesting, and you did not run into any OOMs when using zeRO 2 with 2 GPUs?

32GB is enough for LORA-style finetune

@fahadh4ilyas

Reducing the bucket size from 1024 to 256 solves this issue in part. Meaning if the dataset used is small enough, the loss scale gets not recuded fully to 1.
But loss scales are still constantly reduced

What do you mean by bucket size? If you mean reduce_bucket_size, the value is not 1024 but 2e8 (200 million).

I mean the actual size of the batch in bytes. When using the Huggingface Trainer e.g. you can specify "bucket_size" there. In the paper for Llama2 they used 4096, default is normally at 1024 - 3 Epoch training worked with 256
for higher Epochs, I have to go down even lower.

Do you mean ddp_bucket_cap_mb parameter? It seems the default value of it is None. how do you know the default is 1024? And does it affect performance?

@fahadh4ilyas

Reducing the bucket size from 1024 to 256 solves this issue in part. Meaning if the dataset used is small enough, the loss scale gets not recuded fully to 1.
But loss scales are still constantly reduced

What do you mean by bucket size? If you mean reduce_bucket_size, the value is not 1024 but 2e8 (200 million).

I mean the actual size of the batch in bytes. When using the Huggingface Trainer e.g. you can specify "bucket_size" there. In the paper for Llama2 they used 4096, default is normally at 1024 - 3 Epoch training worked with 256
for higher Epochs, I have to go down even lower.

Do you mean ddp_bucket_cap_mb parameter? It seems the default value of it is None. how do you know the default is 1024? And does it affect performance?

Sorry I meant "block_size". I will edit my message to that now.

@fahadh4ilyas

Reducing the bucket size from 1024 to 256 solves this issue in part. Meaning if the dataset used is small enough, the loss scale gets not recuded fully to 1.
But loss scales are still constantly reduced

What do you mean by bucket size? If you mean reduce_bucket_size, the value is not 1024 but 2e8 (200 million).

I mean the actual size of the batch in bytes. When using the Huggingface Trainer e.g. you can specify "bucket_size" there. In the paper for Llama2 they used 4096, default is normally at 1024 - 3 Epoch training worked with 256
for higher Epochs, I have to go down even lower.

Do you mean ddp_bucket_cap_mb parameter? It seems the default value of it is None. how do you know the default is 1024? And does it affect performance?

Sorry I meant "block_size". I will edit my message to that now.

Where exactly that param? I'm searching TrainingArguments but it has no "block_size".

Sorry I meant "block_size". I will edit my message to that now.

Where exactly that param? I'm searching TrainingArguments but it has no "block_size".

It is not part of the TrainingArguments.
You usually have to implement it yourself - I used the code from https://github.com/huggingface/transformers/blob/main/examples/pytorch/language-modeling/run_clm.py
It groups the text in to chunks of the specified size.

Sorry I meant "block_size". I will edit my message to that now.

Where exactly that param? I'm searching TrainingArguments but it has no "block_size".

It is not part of the TrainingArguments.
You usually have to implement it yourself - I used the code from https://github.com/huggingface/transformers/blob/main/examples/pytorch/language-modeling/run_clm.py
It groups the text in to chunks of the specified size.

Oh, that... I can't change that. My data are longer than 256 tokens. Trimming the data will only make the training result worsened.

you can try, i found this in my training but don't know why

Training with only 2 GPU also not solved the problem for me.

Same issue, weired is, this issue actually happened with more than 98% probilities on V100, but.....

You may be interested in this HF doc: https://huggingface.co/docs/transformers/v4.15.0/performance

yeah, bf16 is priority to use，while V100 doesn't support

Try to use bf16 as LLaMA-2 was pretrained using bf16. Continuing the training with fp16 will be problematic.

@wxjiao do you some kind of official reference that confirms this? I'm unable to find anything apart from the fact that the config.json  here says that the dtype is float16

Try to use bf16 as LLaMA-2 was pretrained using bf16. Continuing the training with fp16 will be problematic.

You may be interested in this HF doc: https://huggingface.co/docs/transformers/v4.15.0/performance

yeah, bf16 is priority to use，while V100 doesn't support

Yes, if we have bf16, won't bothering this issue.

I can confirm, running the same script with identical configuration but using Nvidia Tesla A30 GPUs with BF16 enabled solves this issue.
There are no overflows occuring anymore.

Any updates here? I also face this problem with my 8*V100 machines.

Any updates here? I also face this problem with my 8*V100 machines.

None so far, v100 lead to overflow and huge loss in performance as by per latest evaluation.
For now I think there are three options:

not use V100 if Model with BF16 and DeepSpeed required
not use DeepSpeed if Model with BF16 and V100 required
not use Model with BF16 if V100 and DeepSpeed required

The PullRequest ist also open and had no recent changes.
@YuFan-Microsoft

@scorixear
Other options could be:

Use llama-recipes (https://github.com/facebookresearch/llama-recipes) with V100 + fp16, FSDP
Use V100 + fp32 for 7b/13b with small batch sizes, DeepSpeed

Both work according to my friends‘ practice.

@scorixear - can you take a look and see if the changes in !4141 help?

@scorixear - can you take a look and see if the changes in #4141 help?

@loadams I have rerun my setup with the latest version of deepspeed (0.13.0) and noticed degraded performance of the model due to still present overflow of the loss scale.
However, with the previous version I used (0.9.x) I couldn't train the Llama2 model beyond approximately 400 steps without running into the minimum loss scale issue explained above.
This does not occure anymore as it seems to be stable around a loss scale of 64. So this update definitly did something.
Degraded performance of models previously trained on bf16 and now trained on fp16 is somewhat expected as pointed out in comments here and in the transformers documentation from huggingface.
It is sad that models are therefore hardware depended, but I don't think this is an issue related to deepspeed.
I would leave it at that here, maybe you can decide if this issue should remain open (as it is still an issue in general) or if it can be closed (as it isn't that related to deepspeed anymore).


[client] Support seek at partitioned topic

Is your feature request related to a problem? Please describe.
Currently seeking is not supported on partitioned topics.
Describe the solution you'd like
It should be doable to support seek on partitioned topics.
Because:

seeking by earliest / latest can just seek on all partitions.
seeking by messageId is also doable. because messageId provides partition id.

Describe alternatives you've considered
No other alternative. We can just decide not to support it.
Additional context
It would be much easier for people to use if we support seek at partitioned topics.

seeking by earliest / latest can just seek on all partitions.

Agree. It doesn't make sense not to support earliest/latest...

2. seeking by messageId is also doable. because messageId provides partition id.

If the seek operation only affects the cursor in one partition, it might become confusing to a user, since it's a different behavior from the above.
In general, I'm not a big fan of seek by message id on the consumer interface, since the purpose of Consumer should be that the reading position is "managed" by the system. If an application wants to position to a particular message id, it's more of manual handling and maybe Reader is a better option there.

@sijie Is this feature expected to have time to do?


Update port for azure-template-cpp

Update port for azure-template-cpp

Validating publishing automation in the engineering system. Do not merge. Closing.

Validating publishing automation in the engineering system. Do not merge. Closing.


Null checks are generated for implicit record equals()

Null checks should not be added for implicit methods.
Generated bytecode:
    public final boolean equals(Object o) {
        if (o == null) {
            throw new NullPointerException("o is null");
        } else {
            return this.equals<invokedynamic>(this, o);
        }
    }

Fixed in 2.1-rc1


Named service port in Ingress doesn't work

rancher/rancher:v2.1.1
Offending line: servicePort: http
Problematic config:
apiVersion: v1
kind: Service
metadata:
  labels:
    name: svc-leo-test
  name: svc-leo-test
spec:
  ports:
    - port: 80
      targetPort: 80
  selector:
    name: leo-test
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-leo-test
spec:
  rules:
  - host: leo-test.mydomain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: svc-leo-test
          servicePort: http
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: leo-test
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: leo-test
    spec:
      containers:
      - name: leo-test
        image: leodotcloud/swiss-army-knife
        ports:
        - containerPort: 80

Working config:
apiVersion: v1
kind: Service
metadata:
  labels:
    name: svc-leo-test
  name: svc-leo-test
spec:
  ports:
    - port: 80
      targetPort: 80
  selector:
    name: leo-test
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-leo-test
spec:
  rules:
  - host: leo-test.mydomain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: svc-leo-test
          servicePort: 80
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: leo-test
spec:
  replicas: 1
  template:
    metadata:
      labels:
        name: leo-test
    spec:
      containers:
      - name: leo-test
        image: leodotcloud/swiss-army-knife
        ports:
        - containerPort: 80

This issue can become quite annoying while authoring helm charts as the default template generators use named ports. Also, quite a few of the upstream charts use this format.


fix: avoid passing filenames to pre-commit hook

tfsec behavior when passing files instead of directories as CLI args is wierd.
If you pass one file, it fails:
tfsec main.tf
The provided path is not a dir, exiting

However, if you pass more than one file, it works by assuming you want it to check the whole $PWD:
tfsec main.tf docker.tf

  times
  ------------------------------------------
  disk i/o             571.658µs
  parsing HCL          12.362µs
  evaluating values    390.559µs
  running checks       1.789988ms

  counts
  ------------------------------------------
  files loaded         3
  blocks               10
  modules              0

  results
  ------------------------------------------
  critical             0
  high                 0
  medium               0
  low                  0
  ignored              0

No problems detected!

Did you notice? I passed 2 files, but it loaded 3 (because there are 3 in this directory).
pre-commit, by default, works in batches of 4 files. This means that, if there is just 1 single .tf file in the repo, the hook will fail. Also, if there are more than 4 files, the hook will be executed several times when there's no need.
So, summarizing, this kind of hook needs to use pass_filenames: false because it works per directory and not per file.
Besides, there might be some bug in the way tfsec handles multiple files as CLI arguments, but that's another story.

 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.


Select All?

Would it be possible to augment the gridfield header with a select all checkbox ?

It's present, but the "search icon" replaces the checkbox, as it's added as last column.
There's a commented line @ GridFieldCheckboxSelectComponent.php:
	public function augmentColumns($gridField, &$columns) {
//		array_unshift($columns, self::CHECKBOX_COLUMN);
		$columns[] = self::CHECKBOX_COLUMN;
	}

If you uncomment this line, and comment the current active line, you'll get what you want. Or you can change the order yourself using setDisplayFields on your GridField.


[BUG]aMap registration only in cellfinder with window10

Hi Adam,
Thank you for releasing the cellfinder version with Window support.
I'm trying to only register a brain sample that was already downsampled to isotropic 10um resolution, but error was reported in windows 10.
1, Basic testing with only detection worked fine, with a .xml file output with candidate cell coordinates.
cellfinder -s "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c" -b "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c" -o "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c_output" -x 10 -y 10 -z 10 --no-classification
2, aMap registration only, failed with error message.
cellfinder -s "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c" -b "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c" -o "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c_output" -x 10 -y 10 -z 10 --flip-x --register --no-detection --no-classification
2020-05-06 23:59:20 PM - INFO - MainProcess fancylog.py:265 - Starting logging
Traceback (most recent call last):
2020-05-06 23:59:20 PM - INFO - MainProcess fancylog.py:267 - Multiprocessing-logging module found. Logging from all processes
File "c:\users\steinmetz lab\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main
2020-05-06 23:59:20 PM - INFO - MainProcess main.py:32 - Registering to atlas
"main", mod_spec)2020-05-06 23:59:20 PM - INFO - MainProcess prep.py:401 - Checking whether the atlas exists
File "c:\users\steinmetz lab\appdata\local\programs\python\python37\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Users\Steinmetz lab\AppData\Local\Programs\Python\Python37\Scripts\cellfinder.exe_main.py", line 7, in
File "c:\users\steinmetz lab\appdata\local\programs\python\python37\lib\site-packages\cellfinder\main.py", line 61, in main
debug=args.debug,
File "c:\users\steinmetz lab\appdata\local\programs\python\python37\lib\site-packages\amap\main.py", line 93, in main
registration_config, dest_folder=Path(registration_output_folder)
File "c:\users\steinmetz lab\appdata\local\programs\python\python37\lib\site-packages\amap\config\atlas.py", line 25, in init
super().init(config_path)
File "c:\users\steinmetz lab\appdata\local\programs\python\python37\lib\site-packages\neuro\atlas\atlas_class.py", line 24, in init
atlas_id = list(data_dict.keys())[0]  # assume only one key
IndexError: list index out of range
Any ideas why this happened? I have ran "cellfinder_download" before hand to download atlas to default folders.

I see it's failing in the Atlas class, but I don't think the problem's there as tests were fine; it looks like a configuration file is not found. Do you have a config.conf file in C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c?

Hi Luigi, config.conf  is missing in C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c.

But do you have there the atlas folder? allen_2017_100um

Hi Zhiwen,
What is your input data, a series of tiffs, or a single multipage tiff etc?
Is this brainsaw data?
Adam

Atlas folder was generated by cellfinder_download into a default folder before running cellfinder command: user\cellfinder\atlas\allen_2017_10um. Atlas folder is not present under C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c. This folder is where raw sample tiff files (and only raw tiff files) are stored.

Hi Adam, input data is a series of tiffs.

What happens if you run amap directly (amap  "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c" "C:\Users\Steinmetz lab\Documents\amap_data\ERAE23_3c_output" -x 10 -y 10 -z 10 )?

I ran amap directly, it is working (loading iamges, etc). It did complain about 'root: Atlas does not exist, downloading'. Took a while to download, then working fine. Guess it didn't find the location of Atlas in cellfinder.  Any workaround in cellfinder?

There's an issue that amap and cellfinder don't work properly together, so it will download two versions of the atlas (one at ~/.amap and one at ~/.cellfinder). If you want to prevent these both from existing, you should be able to delete the ~/.amap directory and then run amap_download --install-path ~/.cellfinder/atlas (or the Windows equivalent) to link them.
I'm not sure why registration in cellfinder isn't working properly, I'll look into it.
We should also add this to the tests (https://github.com/SainsburyWellcomeCentre/cellfinder/issues/93)

@zhiwen10 I don't seem to be having any issue locally with some of my data. Is it possible for you to share your data for me to test?
I'm also release a new release candidate (pip install cellfinder==0.3.13rc0 --upgrade) that should be out in about 30 mins. This is the same as the current master, so would be good to diagnose.
Could you also send me the output of conda list (assuming you're using conda)?

Okay, I ran unto another issue in amap, complaining space in my path, which reminded me of an issue during installation in cellfinder.
(cellfinder) c:\>pip install cellfinder
Unable to create process using 'C:\Users\Steinmetz lab\.conda\envs\cellfinder\python.exe "C:\Users\Steinmetz lab\.conda\envs\cellfinder\Scripts\pip-script.py" install cellfinder'
I then deactivated cellfinder, and pip installed cellfinder. So I was not running cellfinder in conda environment. Sorry, I need to reinstall my miniconda in a different path without empty space. Might just be that.

If you could do a fresh install of cellfinder==0.3.13rc0 that would be awesome to fully test everything.

Hey, it took me a while to fix the path problem in this windows PC, amap is working fine. After successful reinstallation of cellfinder, same error message appeared. Data is here (import using imageJ, then save as image sequences): [https://drive.google.com/file/d/1XLxjZ0toLPFeMHLIKpBhLR8evyejIERF/view?usp=sharing].
Also installed in a separate laptop, same error message, after upgrade as well. Conda lists: [https://docs.google.com/document/d/1Ez4JErceiXkc4w1t0jxipuOE9gcKF1qkAdoRabdgp5k/edit?usp=sharing]
[https://docs.google.com/document/d/1IbXd7azxpHqKhtss--6F-0JWQcy6vCURj2YUXTdKxBw/edit?usp=sharing].

Restriction for the link should be removed now. Sorry about that.

Hi Zhiwen,
I tested this out on my machine (Linux, and it seems to work fine), and registration is ok:

I downloaded your .nii file, rotated it 90 degrees to be the right way up and saved as a tiff series (in FIJI), then ran:
cellfinder -s /media/adam/Storage/cellfinder/data/zhiwen_tif_export_rotated -b /media/adam/Storage/cellfinder/data/zhiwen_tif_export_rotated -o /media/adam/Storage/cellfinder/analysis/zhiwentest --debug -x 10 -y 10 -z 10 --n-free-cpus 6 --register --no-detection --no-classification

Could you have a go at doing this?

Ok, it took me a while to figure out the right orientation to feed into amap, but finally got it right as you suggested too. Then I tried cellfinder with the correct oriented data, it is working without complaining error.

Cool, I need to document the orientation stuff better.
Glad it’s working for you. Let me know if you have any other issues.
There’s also the gitter channel for general questions.

Thanks! i can see the windows version super useful where powerful hardware and linux system is not available.
More documentation on the orientation would certainly help. Or if there is example data available to download for testing for beginners, that would be super informative! Also, the error message with the wrong orientation could be more specific, instead of the one that shown above (Just a suggestion). Somehow, amap python did not complain about this error even with wrong orientation, and I managed to get output with amap with wrong orientation, through really stretched and tilted registration.

Thanks Zhiwen. Definitely need to provide example data, and also try to improve some of the error messages.
Reopening this so I’ll take a look at why cellfinder threw an error but amap didn’t.

Closing this as I can't seem to reproduce. @zhiwen10 feel free to reopen if this occurs again.


Use Mafft for nucleotide MSA

Background
The JnJ team requested using Mafft for DNA/RNA sequence alignment.
Scope of work

Implement running MSA via Mafft
Add UI to choose alignment method (KAlign/Mafft) for macromolecules MSA.

Details
How to install Mafft

Bioconda: conda install bioconda::mafft
Binary deb package: wget https://mafft.cbrc.jp/alignment/software/mafft_7.520-1_amd64.deb
Source code: https://mafft.cbrc.jp/alignment/software/installation_without_root.html

Sample data
http://www.lbgi.fr/balibase/BalibaseDownload/BAliBASE_R10.tar.gz
Two sample files form this benchmark are attached to this ticket
Running Mafft
Fast run with default options
mafft BBA0001.tfa > BBA0001.mafft.fasta
Slower run with iterative refinement
mafft --genafpair --maxiterate 1000 BBA0001.tfa > BBA0001.mafft.E-INS-i.fasta

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14906

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-16163


Extracting Relation members (ways) and Way Nodes from and o5m file

Dear devs,
I have been struggling to extract all ways for a relation and all nodes for a way from an .o5m file. I simply don't understand how I should use this module.
I made this class:
import osmium as osm
import pandas as pd

class OSMHandler(osm.SimpleHandler):
    def __init__(self):
        osm.SimpleHandler.__init__(self)
        self.osm_data = []

    def tag_inventory(self, elem, elem_type):
        for tag in elem.tags:
            self.osm_data.append([elem_type,
                                   elem.id,
                                   elem.version,
                                   elem.visible,
                                   pd.Timestamp(elem.timestamp),
                                   elem.uid,
                                   elem.user,
                                   elem.changeset,
                                   len(elem.tags),
                                   tag.k,
                                   tag.v])
    def node(self, n):
        self.tag_inventory(n, "node")

    def way(self, w):
        self.tag_inventory(w, "way")

    def relation(self, r):
        self.tag_inventory(r, "relation")

And I then proceed to go through my file (which only contains data from the tag:route=mtb
osmhandler = OSMHandler()
osmhandler.apply_file("../data/world_mtb_routes.o5m")

# transform the list into a pandas DataFrame
data_colnames = ['type', 'id', 'version', 'visible', 'ts', 'uid',
                 'user', 'chgset', 'ntags', 'tagkey', 'tagvalue']
df_osm = pd.DataFrame(osmhandler.osm_data, columns=data_colnames)

source: https://stackoverflow.com/questions/45771809/how-to-extract-and-visualize-data-from-osm-file-in-python
However, the resulting dataframe does not contain the members of the relation (the ways). I need those to get the nodes per way, and plot the entire relation.
The nodes are in the data frame, but without a list of the ways per relation and the nodes per way I can't plot the relations. What am I missing? I really don't understand the logic behind the module I'm afraid, my apologies.

I says here that during a pass through the file I need store the members lists, but how are they addressed in the code above?

Closing because I found I should post this on OSM help, and I did: https://help.openstreetmap.org/questions/81521/how-to-extract-relation-members-from-o5m-files


[DT does not pickup MQTT]

Describe the bug
My config snippet:
mqtt:
host: <IP_ADDRESS>:1883
username:
password:
topics:
# mqtt topic for frigate message subscription
frigate: frigate/events
#  mqtt topic for home assistant discovery subscription
homeassistant: homeassistant
# mqtt topic where matches are published by name
matches: double-take/matches
# mqtt topic where matches are published by camera name
cameras: double-take/cameras
DT logs:
21-10-18 12:53:19 verbose: {
auth: false,
detect: {
match: {
save: true,
base64: false,
confidence: 60,
purge: 168,
min_area: 10000
},
unknown: {
save: true,
base64: false,
confidence: 40,
purge: 8,
min_area: 0
}
},
time: { timezone: 'UTC' },
frigate: {
attempts: { latest: 10, snapshot: 10, mqtt: true, delay: 0 },
image: { height: 720 },
labels: [ 'person' ],
url: 'http://<IP_ADDRESS>:5001',
cameras: [ 'voordeurbel' ]
},
mqtt: {
topics: {
frigate: 'frigate/events',
matches: 'double-take/matches',
cameras: 'double-take/cameras',
homeassistant: 'homeassistant'
},
host: '<IP_ADDRESS>:1883',
username: null,
password: null
},
logs: { level: 'verbose' },
ui: {
theme: 'bootstrap4-dark-blue',
editor: { theme: 'nord_dark' },
logs: { lines: 500 },
pagination: { limit: 50 },
thumbnails: { quality: 95, width: 500 }
},
deepstack: { url: 'http://<IP_ADDRESS>:5002', timeout: 15 },
server: { port: 3000 },
storage: {
path: './.storage',
config: { path: './.storage/config' },
tmp: { path: '/tmp/double-take' }
},
version: '1.5.0-5eb9971'
}
21-10-18 12:53:20 info: MQTT: connected
21-10-18 12:53:20 info: MQTT: subscribed to frigate/events, frigate/voordeurbel/person/snapshot
Version of Double Take
latest
Expected behavior
It should 'see' the latest events?
Hardware
Unraid server
Additional context
Frigate itself works fine and I can see the events being sent to the frigate/events channel on MQTT with a MQTT-client.

Oh, BTW, your Discord link does not work. Unable to subscribe.


ARROW-11407: [Rust] Propagate nulls if all results are null.

Noticing that if one of the expressions was entirely null, the result would be a NullArray and that the downcast_ref would result in a panic because it wouldn't match the column type.

Interesting. I would expect that when an expression is all nulls, it would still be an array of the type declared on the DataType and not a NullArray. Do you have an example where we get a NullArray but its DataType is not DataType::Null?

Interesting. I would expect that when an expression is all nulls, it would still be an array of the type declared on the DataType and not a NullArray. Do you have an example where we get a NullArray but its DataType is not DataType::Null?

Hi Jorge,
I'll see if I can find something. Unfortunately the one example I was testing with has data we're not allowed to generally release.

Hi Jorge,
I'll see if I can find something. Unfortunately the one example I was testing with has data we're not allowed to generally release.

Thanks a lot for digging into it, @maxburke . fyi, there is no need to share the data. For this exercise we only need:

the input schema
the SQL statement
the column name where that appeared

The invariant is:

the downcast of &dyn Array to a concrete type T: Array is infalible iff T is the corresponding struct for the DataType of the associated Field.

For example,
let field = record_batch.schema().field(0);
let array = record_batch.column(0);

let meta_is_string = field.data_type() == DataType::Utf8;
let data_is_string = array.as_any().downcast_ref::<StringArray>().is_some();

assert_eq!(meta_is_string, data_is_string)

and the above holds for every pair (DataType, T: Array).

Thanks a lot for digging into it, @maxburke . fyi, there is no need to share the data. For this exercise we only need:

the input schema
the SQL statement
the column name where that appeared

The invariant is:

the downcast of &dyn Array to a concrete type T: Array is infalible iff T is the corresponding struct for the DataType of the associated Field.

For example,
let field = record_batch.schema().field(0);
let array = record_batch.column(0);

let meta_is_string = field.data_type() == DataType::Utf8;
let data_is_string = array.as_any().downcast_ref::<StringArray>().is_some();

assert_eq!(meta_is_string, data_is_string)

and the above holds for every pair (DataType, T: Array).

I was just going to ask for a test on this PR and I see that @jorgecarleitao  already did so!

I was just going to ask for a test on this PR and I see that @jorgecarleitao  already did so!

@jorgecarleitao Here's the schema:
>>> t = pq.ParquetFile('problem.parquet')
>>> t
<pyarrow.parquet.ParquetFile object at 0x10f345f40>
>>> t.schema
<pyarrow._parquet.ParquetSchema object at 0x10f350a40>
required group field_id=0 schema {
  optional int96 field_id=1 ul_observation_date;
  optional binary field_id=2 document;
  optional binary field_id=3 report_id (String);
  optional binary field_id=4 type (String);
  optional binary field_id=5 name (String);
  optional binary field_id=6 year (String);
  optional binary field_id=7 vendor (String);
  optional binary field_id=8 direction (String);
  optional binary field_id=9 geometry (String);
  optional binary field_id=10 ul_node_id (String);
  optional binary field_id=11 classification (String);
  optional double field_id=12 posted_speed;
  optional int64 field_id=13 __index_level_0__;
}```

The query:

SELECT "ul_node_id", "ul_observation_date", "vendor" FROM parquet_table WHERE (("vendor" = 'foo') AND "ul_observation_date" >= to_timestamp('2020-09-01T14:30:00.000Z') AND "ul_observation_date" <= to_timestamp('2020-09-04T00:00:00.000Z')) ORDER BY ul_node_id ASC NULLS LAST;

(in this file there are no rows where vendor = 'foo')

The error message received is:

thread 'tokio-runtime-worker' panicked at 'compute_op failed to downcast array', datafusion/src/physical_plan/expressions.rs:1522:31

Any updates here?

My current hypothesis is that this due to the field ul_observation_date, that is an int96, which Rust does not natively support. We may be pushing a NullArray to ul_observation_date instead of raising unsupported or casting it to something else.
@nevi-me , any idea of what we are doing with i96?

@nevi-me , any idea of what we are doing with i96?

@jorgecarleitao int96 gets read into a ts[nano], so I wouldn't expect different behaviour to occur on it.
I'm not very familiar with the Datafusion crate as I haven't been following changes, but I'll try reproduce this on master with a parquet file that uses a filter that returns nothing back.
@maxburke may you please kindly rebase the PR to resolve the merge conflict. I'll start looking at this in the mean time.

I think I've found the issue, it's with the way we handle statistics. We create a null array whenever 0 results are returned from predicate filtering. https://github.com/apache/arrow/blob/master/rust/datafusion/src/physical_plan/parquet.rs#L681
Not all data types are supported, which would explain the int96 being converted to a NullArray.
The solution is to extend the check for ParquetStatistics::ByteArray beyond just the Utf8 Arrow type (https://github.com/apache/arrow/blob/master/rust/datafusion/src/physical_plan/parquet.rs#L676). It's probably safe to create an empty array of whatever Arrow type, because casting to a null array might be unsound.

Hi @maxburke, I'm closing this as it's going to be addressed by https://github.com/apache/arrow/pull/9469. I'll check with you after it's merged, to confirm if the behaviour no longer persists.


added raw html support in messages

Hi! Thanks for PR! I thought it would be okay to use innerHTML instead of textContent and merged this pull request https://github.com/dgknca/simple-notify/pull/5.

and published 0.5.0

Something wrong with build - there are no dist files.

oh sorry I had deleted dist files and forgot publishing them. published in v0.5.1

And now 0.5.1 have no changes for HTML support :(

Sorry for that small chaos, man :)

And you need to update GitHub Pages docs after ;)

Look at this pen https://codepen.io/dgknca/pen/rNyWKYG
No update needed for docs, I just changed this line :) e71eebb#187

haha sorry, demo version updated

it looks like some styles are broken

my bad 🤦♂ Updated it again again again

Now all works great! Thanks!


Enable usage of Ember.run.schedule

This could either be via options passed to runTask, or another top level method specifically for this (i.e. scheduleTask).
As of https://github.com/emberjs/ember.js/pull/14550 (will be included in 2.8.3, 2.9.1, 2.10.0-beta.3+), it is possible to cancel things scheduled into a specific queue via Ember.run.schedule. In a sample application run.schedule is one of the primary remaining use cases of Ember.run that still requires manual this.isDestroying checks.

@mixonic - Thoughts on the best way to add this?

@rwjblue Also, usage for Ember.run.next?

That is essentially what this.runTask(() => { /* stuff here */ }) is. It's unlikely that we will provide additional API for run.next other than that.

Without time. Understood 👍

@rwjblue any progress on this? Haven't run.schedule and run.scheduleOnce always returned a timer id to be able to cancel them?
I can take a stab at this if there are no blockers.

Haven't run.schedule and run.scheduleOnce always returned a timer id to be able to cancel them?

Actually, no, they have not.  I added support for canceling in 2.8: https://github.com/emberjs/ember.js/pull/14550.

I can take a stab at this if there are no blockers.

Sounds good. I think the only real blocker is deciding the API for it...

@rwjblue Im a fan of splitting the api into runTask and scheduleTask.

Also, would this be the only part of the API that would be 2.8+?

Also, would this be the only part of the API that would be 2.8+?

I can't recall, but possibly. I think we can mitigate though...

@rwjblue Is there a specific use-case you had in mind for this? Seems ok, just curious under what scenarios this would be useful.


OpenSource : 1.3 Recent OS Projects (Ex : Android, Chromium OS, etc)

Description :

Explain Recent OS Projects (ex : Android, Chromium OS, etc)
Idea behind why organization started ?
Tech they're currently using for maintaining those projects
Their Future plans

Note :

Changes should be made inside the Open_Source/ directory & Opensource branch.
Issue only for GWOC'21 contributors.
Issue will be assigned on a first come first serve basis, 1 Issue  ==  1 PR.

Must Follow : Contributing Guidelines & Code of Conduct before start Contributing.
Reference :
https://www.androidauthority.com/what-is-chrome-os-1137371/
https://www.chromium.org/chromium-os
https://opensource.google/projects/android
Happy Contributing 🙌

I already have an interest in Linux (Fedora OS user) and I would love to contribute to this because that gives me an opportunity to learn about other open-source OSs.
So, hey, @Aryamanz29  assign it to me.

I already have an interest in Linux (Fedora OS user) and I would love to contribute to this because that gives me an opportunity to learn about other open-source OSs.
So, hey, @Aryamanz29  assign it to me.

Glad to see your enthusiasm @RAMESSESII2 🙂 , Go ahead ✌

Glad to see your enthusiasm @RAMESSESII2  , Go ahead

Thank you

@RAMESSESII2  Any updates on this ?

@RAMESSESII2 Any updates on this ?

Yeah, I'm working on it, expect a PR very soon.


[BUG] Cards in Team Section Not reflecting Dark Theme

Description
The cards on the page are not adapting to the dark theme, resulting in a mismatch between the background and card colors. This disrupts the overall visual consistency of the dark theme.
Steps to Reproduce

Enable the dark theme on the application.
Navigate to the section where cards are displayed.
Observe that the cards maintain a light color scheme, not matching the dark theme background.

Expected Behavior
The cards should adhere to the dark theme by adopting dark background colors and light text colors, blending seamlessly with the rest of the dark-themed UI.
Possible Solutions

Update card component styles to use the dark theme color variables for background, text, and borders.
Ensure that all nested elements within the cards also follow dark theme colors.
Consider using CSS variables or theme-specific classes to dynamically adjust the card colors based on the active theme.

Additional Context
This issue affects user experience as it creates a visual inconsistency within the application.

Please assign labels gssoc-ext and hacktoberfest to this issue.

@sezallagwal, Great issue found. You are going to be assigned.

Read our Contributing guidelines and contribute accordingly.

Don't forget to give 🌟 to our repository.

Follow us on LinkedIn.

Thank you!


Improve logging

This PR improve logging of runner.
About added items, see #26

Codecov Report

Merging #39 into master will increase coverage by 0.23%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #39      +/-   ##
==========================================
+ Coverage   83.98%   84.22%   +0.23%
==========================================
  Files           7        7
  Lines         331      336       +5
==========================================
+ Hits          278      283       +5
  Misses         53       53

Impacted Files
Coverage Δ

side_runner_py/config.py
100% <100%> (ø)
:arrow_up:

side_runner_py/main.py
86.18% <100%> (+0.27%)
: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 9648755...5895fc9. Read the comment docs.

Thanks for merging


[Network] Fix issues with redirect-config create/update

Fixes #4063 and adds test scenario.

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[X] The PR has modified HISTORY.rst with an appropriate description of the change (see Modifying change log).

Command Guidelines

[X] Each command and parameter has a meaningful description.
[X] Each new command has a test.

(see Authoring Command Modules)

Codecov Report

Merging #4069 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4069      +/-   ##
==========================================
+ Coverage   70.61%   70.64%   +0.02%
==========================================
  Files         428      428
  Lines       27899    27899
  Branches     4274     4274
==========================================
+ Hits        19701    19708       +7
+ Misses       6924     6913      -11
- Partials     1274     1278       +4

Impacted Files
Coverage Δ

...etwork/azure/cli/command_modules/network/custom.py
55.76% <100%> (+0.51%)
:arrow_up:

src/azure-cli-core/azure/cli/core/parser.py
79.43% <0%> (-2.81%)
:arrow_down:

...k/azure/cli/command_modules/network/_validators.py
52.7% <0%> (+0.45%)
: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 2d68767...7441967. Read the comment docs.


Fix code-block:: python in docs

Summary
Using code-block::python without the space between the colon and python seems to be invalid and the docs do not display the code block at all. This is also used in a releasenote from 0.18. Can we still fix that by updating the files in this repo?
I also moved the trailing Example from SPSA's initializer to the class docstring, where all the others are.
Details and comments
For example the UnitaryGate docs contain the snippet
    Example:

        We can create a unitary gate from a unitary matrix then add it
        to a quantum circuit. The matrix can also be directly applied
        to the quantum circuit, see :meth:`~qiskit.QuantumCircuit.unitary`.

        .. code-block::python  # no space here!

            from qiskit import QuantumCircuit
            from qiskit.extensions import UnitaryGate

            matrix = [[0, 0, 0, 1],
                      [0, 0, 1, 0],
                      [1, 0, 0, 0],
                      [0, 1, 0, 0]]
            gate = UnitaryGate(matrix)

            circuit = QuantumCircuit(2)
            circuit.append(gate, [0, 1])

but render as

This doesn't happen if the code block is annotated as code-block:: python (with the space).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.989%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
55900

Relevant Lines:
66556

💛  - Coveralls

Nice catch! It seems to happen even more often:
qiskit/transpiler/passes/scheduling/padding/pad_delay.py:27:    .. code-block::python
qiskit/algorithms/optimizers/gradient_descent.py:53:        .. code-block::python
qiskit/algorithms/optimizers/gradient_descent.py:73:        .. code-block::python
qiskit/algorithms/optimizers/spsa.py:210:            .. code-block::python
qiskit/algorithms/minimum_eigen_solvers/vqe.py:95:    .. code-block::python
qiskit/algorithms/minimum_eigen_solvers/vqe.py:114:    .. code-block::python
qiskit/extensions/unitary.py:46:        .. code-block::python
qiskit/extensions/unitary.py:233:        .. code-block::python

@1ucian0 my bad... I modified them locally but forgot to include them in the commit 😅 I'll open a follow up


CIFAR Download Error

I am trying to run bash scripts/cifar/train_cifar10_moco_cld.sh while encounter cifar download issue.
(simclr-1) liangyu@sphadmin-G560-V5:/space/liangyu/workspace/jhu/code/CLD-UnsupervisedLearning$ bash run. sh [05/14 09:09:56 moco+cld]: Full config saved to checkpoint/cifar10/MoCo+CLD/resnet18/lr0.03-bs256-cldT0.2 -nceT0.07-clusters200-lambda0.8-cosine-weightDecay8e-4-fp16-add_erasing-AugPlus-kMeans-ncek12288-bslr0.03 -normlinear/config.json ==> Preparing data.. Traceback (most recent call last):   File "train_cifar_moco_cld.py", line 366, in <module>     main(opt)   File "train_cifar_moco_cld.py", line 165, in main     train_loader, test_loader, ndata = get_dataloader(args, add_erasing=args.erasing, aug_plus=args.aug_plus)   File "/space/liangyu/workspace/jhu/code/CLD-UnsupervisedLearning/datasets/dataloader.py", line 81, in $ et_dataloader     trainset = datasets.CIFAR10Instance(root='./data/CIFAR-10', train=True, download=True, transform=tra$sform_train, two_imgs=args.two_imgs, three_imgs=args.three_imgs)   File "/space/liangyu/workspace/jhu/code/CLD-UnsupervisedLearning/datasets/cifar.py", line 11, in __ini$ __     super(CIFAR10Instance, self).__init__(root=root, train=train, download=download, transform=transform$   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torchvision/datasets/cifar.py"$  line 65, in __init__     self.download()   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torchvision/datasets/cifar.py"$  line 143, in download     download_and_extract_archive(self.url, self.root, filename=self.filename, md5=self.tgz_md5)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torchvision/datasets/utils.py"$  line 316, in download_and_extract_archive     download_url(url, download_root, filename, md5)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torchvision/datasets/utils.py"$  line 124, in download_url     url = _get_redirect_url(url, max_hops=max_redirect_hops)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torchvision/datasets/utils.py"$  line 75, in _get_redirect_url     with urllib.request.urlopen(urllib.request.Request(url, headers=headers)) as response:   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/urllib/request.py", line 222, in urlopen     return opener.open(url, data, timeout)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/urllib/request.py", line 531, in open     response = meth(req, response)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/urllib/request.py", line 641, in http_respon$ e     'http', request, response, code, msg, hdrs)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/urllib/request.py", line 569, in error     return self._call_chain(*args)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/urllib/request.py", line 503, in _call_chain     result = func(*args)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/urllib/request.py", line 649, in http_error_d efault     raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 500: Internal Server Error Killing subprocess 50818 Traceback (most recent call last):   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/runpy.py", line 193, in _run_module_as_main     "__main__", mod_spec)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/runpy.py", line 85, in _run_code     exec(code, run_globals)   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torch/distributed/launch.py", l ine 340, in <module>     main()   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torch/distributed/launch.py", l ine 326, in main     sigkill_handler(signal.SIGTERM, None)  # not coming back   File "/home/liangyu/anaconda3/envs/simclr-1/lib/python3.7/site-packages/torch/distributed/launch.py", l ine 301, in sigkill_handler     raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd) subprocess.CalledProcessError: Command '['/home/liangyu/anaconda3/envs/simclr-1/bin/python', '-u', 'train _cifar_moco_cld.py', '--local_rank=0', '--dataset', 'cifar10', '--num-workers', '4', '--batch-size', '256 ', '--nce-t', '0.07', '--nce-k', '12288', '--base-learning-rate', '0.03', '--lr-scheduler', 'cosine', '-- warmup-epoch', '5', '--weight-decay', '8e-4', '--cld_t', '0.2', '--save-freq', '100', '--three-imgs', '-- use-kmeans', '--num-iters', '5', '--Lambda', '0.8', '--normlinear', '--aug-plus', '--erasing', '--cluster s', '200', '--save-dir', 'checkpoint/cifar10/MoCo+CLD/resnet18/lr0.03-bs256-cldT0.2-nceT0.07-clusters200- lambda0.8-cosine-weightDecay8e-4-fp16-add_erasing-AugPlus-kMeans-ncek12288-bslr0.03-normlinear']' returne d non-zero exit status 1.

I tried to run the code and re-download the CIFAR-10 data, the data was successfully downloaded and the code worked well on my server.

I am using Python==3.7.9, pytorch=="1.6.0+cu101" and torchvision==0.7.0+cu101'. You can try to upgrade or downgrade the pytorch/torchvision version to the version I am using. In addition, you may want to double-check whether the machine has insufficient space or the Internet is unavailable.
Because the code used to download CIFAR data is called from pytorch/torchvision, and we haven't changed any data downloading part of the code, we may not be able to provide much support. If you still have the error after upgrading/downgrading the pytorch/torchvision version and carefully checked everything, I am sorry for that, I suggest you directly open an issue in the official pytorch repository: https://github.com/pytorch/pytorch.


Allow nested while

The counter key should be While Actor specific. By default, it could be computed with the Actor uuid, but we could let the user pass a String, this way, it would be possible to execute operations on it, like testing if it's the first iteration.

Let's fix this one with the uuid strategy described above and then open another issue for letting it be customized.


build(package.json): updated packages

updated packages

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Route magic

Good day!
Just checking out the routes currently registered and found double routes, and routes I can't explain. I've also found methods I can't explain.
Methods
Sails console:
sails> Object.keys(sails.router._privateRouter.routes)
[ 'checkout',
  'connect',
  'copy',
  'delete',
  'get',
  'head',
  'lock',
  'm-search',
  'merge',
  'mkactivity',
  'mkcalendar',
  'mkcol',
  'move',
  'notify',
  'options',
  'patch',
  'post',
  'propfind',
  'proppatch',
  'purge',
  'put',
  'report',
  'search',
  'subscribe',
  'trace',
  'unlock',
  'unsubscribe' ]

Is this something express adds, or something sails adds? And are these perhaps just default listeners that will check if there are actual routes? I'd like to understand what's happening here :)
Double routes
Type sails console and do:
var ld = require('sails/node_modules/lodash');
ld.pick(sails.router._privateRouter.routes, ['put']);

For me, this gives two things I'm curious about. First, double routes:
{ path: '/company/:id',
       method: 'put',
       callbacks: [Object],
       keys: [Object],
       regexp: /^\/company\/(?:([^\/]+?))\/?$/i },
     { path: '/company/:id',
       method: 'put',
       callbacks: [Object],
       keys: [Object],
       regexp: /^\/company\/(?:([^\/]+?))\/?$/i },

Why has this route been registered twice? This is consistent across all my routes.
Secondly:
{ path: '/*',
       method: 'put',
       callbacks: [Object],
       keys: [],
       regexp: /^\/(.*)\/?$/i },
     { path: '/*',
       method: 'put',
       callbacks: [Object],
       keys: [],
       regexp: /^\/(.*)\/?$/i },
     { path: '/*',
       method: 'put',
       callbacks: [Object],
       keys: [],
       regexp: /^\/(.*)\/?$/i },

This makes no sense at all to me. Why are there three catch-all put routes?
This is my blueprints config:
{ actions: false,
  shortcuts: false,
  index: true,
  rest: true,
  prefix: '',
  restPrefix: '',
  pluralize: false,
  populate: true,
  autoWatch: true }

Hi @RWOverdijk.
As far as the methods, those come with Express.  It has a dizzying array of unheard-of methods.
As far as the duplicate routes, they're probably not duplicates--just the same URL being bound to different handlers (note the callbacks property).  If you start sails with --silly, you'll see every binding that Sails makes, e.g.:
silly: Binding route ::   /user/find (POLICY: alwaysAllow)
silly: Binding route ::   /user/find (BLUEPRINT: findRecords)

which will result in two entries in the router.

I see. Thanks


Updates hero padding on primary type

This PR does the following:

Updates Hero's primary option to have a larger top/bottom padding on the inner content via Reno-1670

Front End Review:

[ ] View the example in Storybook

To give some context here, Sharon emailed me yesterday to increase the padding and Kathy identified the ticket where this work happened in Reno (1670).

This looks good. Are there any small tweaks we should make now to cleanup storybook? Seems like this component is using controls, instead of knobs, which is good. Maybe on the "Hero 5050" we can update the controls to use the color picker for backgroundColor and foregroundColor, instead of text field? "Hero Primary" already has this setup for those props.

I'm working on a second PR to clean up how Hero.Secondary works along with some of this controls work—Sharon brought up this one explicitly so I wanna get it in quick.

I just noticed this is under "Web-Based Card Creator Support". Does this mean that Sharon (et al.) want this change deployed soon as well?

I just noticed this is under "Web-Based Card Creator Support". Does this mean that Sharon (et al.) want this change deployed soon as well?

That was certainly where she noticed the bug. I would imagine a redeployment with this work in it getting deployed along a reasonable timeline would be hoped for

Yeah, that's fine, just finding that out through this PR is a bit odd to me but nbd.

Yeah, that's fine, just finding that out through this PR is a bit odd to me but nbd.

I hear you on that. I'm going to ask Marcus as UX lead to file a ticket for you against the Library Card app—that should have been done from the beginning anyway


ENH: Write outputs in native-BOLD space

This PR enables writing data resampled after STC-HMC-SDC in their
original BOLD grid.
Closes #1376.

This is ready for review if you have the time @effigies .

The T1w datasinks have the same problem, would you change that within this PR?

Yeah, I think so. I thought I did go through and add it to all of the NIfTI outputs recently, but that was maybe sMRIPrep.


Update README with more component details

All components in the project are conditional and can be overridden. Add the following topics:

Give an overview of all components.
Provide an example on how to override such a component.

And update the Example Readme.
There is many stuff missing, I'm building on my own.
Like adding a field with subfields.

For specific readme about adding fields, ... I would refer to GraphQl Java library instead. For this readme the scope is about "Spring Boot Starter GraphQl" project.


CI file for schemaregistry

Quickly merging in the skeleton we need for setting up schemaregistry on master (to support pipeline generation). In this particular case I know the current artifacts names for the pipeline.

/check-enforcer override

/check-enforcer override


fix(build): Update Zebra's MSRV and use the latest Rust Docker image

Motivation
This test failed on main due to a missing PanicHookInfo struct in the standard library that wasn't added until Rust v1.81.0.
We want to keep Zebra's minimum Rust version up-to-date and use the latest version of Rust in our docker builds.
Solution
Updates RUST_VERSION in Dockerfile and the rust-version field in zebrad/Cargo.toml
PR Author's Checklist

[x] The PR name will make sense to users.
[x] The documentation is up to date.
[x] The PR has a priority label.

PR Reviewer's Checklist

[ ] The PR Author's checklist is complete.
[ ] The PR resolves the issue.

Why did we go with 1.81 and 1.82, and not only 1.82?

v1.81 is the new minimum rust version because it added the PanicHookInfo struct Zebra is using.


Implement Error Message on Login Page

This PR adds an error message feature to the login page, enhancing the user experience by providing meaningful feedback for login errors.
Example of wrong input:

Error message:

Resolves #141

Rasing