Adjust givbacks factors for verified vs. givbacks eligible

With the coming changes of Decentralized Verification we will have two tiers of "verification" statuses. verified and givbacksEligible.
verified projects can participate in GIVpower, have a rank, but DO NOT yield GIVbacks to their donors
givbacksEligible projects have GIVpower and yield GIVbacks to their donors.
we will need to be able to make the changes to our givbacks calculations in order to handle this change.
As an example, ff we have 100 projects total that have the statuses GIVbacks Eligible and Verified, then we would handle GIVbacks like below:

Project Rank
Status
GIVbacks Factor

1
GIVbacks Eligible
80%

2
Verified
0%

3
GIVbacks Eligible
79%

4
GIVbacks Eligible
78%

5
Verified
0%

6
Verified
0%

7
GIVbacks Eligible
77%

As you can see verified projects can potentially have a higher rank than givbacksEligible projects, however we should not consider them when calculating the givbacks factor. When calculating the givbacks factor we skip over the not givbacksEligible projects and only consider the next givbacksEligible projects as if it were the next lowest rank project.
additionally we should ensure project data that shows the predicted givbacks factor are showing the correct percentages @MohammadPCh

@mohammadranjbarz what is the update on this issue?

@mohammadranjbarz what is the update on this issue?

I made the Pr and @CarlosQ96 approved it, I just didn't merge it to staging because I wanted to do it after the release, if we don't have any release soon, I can merge the PRs

related to this PR
https://github.com/Giveth/impact-graph/pull/1770

@mohammadranjbarz  should need to make tiny changes to the givbacks-calculation repo - he says only 1 hour of work
let's make sure we get it done!

@mohammadranjbarz @divine-comedian
Test update
Vouched status
-Donations to this project SHOULD NOT be eligible for GIVbacks - Pass
-Donations to project that is only vouched should not show up in the eligibledonations API- Pass
GIVback Eligible status
-Donations to this project should be eligible for GIVbacks - Pending
-Donation to this project that is GIVbacks eligible should show up in response - Pending
GIVback Factor

Check top ranked project that is GIVbacks eligible yields 80% GIVbacks factor to donors - Pass
Check next highest ranked project that is GIVbacks eligible and if the GIVbacks factor is correct - Pass

Whilst testing the eligibledonation API the whole page went blank showing this error
https://givback.develop.giveth.io/api-docs/

@mohammadranjbarz @divine-comedian
Test update
Vouched status
-Donations to this project SHOULD NOT be eligible for GIVbacks - Pass -Donations to project that is only vouched should not show up in the eligibledonations API- Pass
GIVback Eligible status
-Donations to this project should be eligible for GIVbacks - Pending -Donation to this project that is GIVbacks eligible should show up in response - Pending
GIVback Factor

Check top ranked project that is GIVbacks eligible yields 80% GIVbacks factor to donors - Pass
Check next highest ranked project that is GIVbacks eligible and if the GIVbacks factor is correct - Pass

Whilst testing the eligibledonation API the whole page went blank showing this error
https://givback.develop.giveth.io/api-docs/

It's up and running now, can you test it again?

@mohammadranjbarz @divine-comedian
Test update
Vouched status
-Donations to this project SHOULD NOT be eligible for GIVbacks - Pass
-Donations to project that is only vouched should not show up in the eligibledonations API- Pass
GIVback Eligible status
-Donations to this project should be eligible for GIVbacks - Pass
-Donation to this project that is GIVbacks eligible should show up in response - Pass
GIVback Factor
Check top ranked project that is GIVbacks eligible yields 80% GIVbacks factor to donors - Pass
Check next highest ranked project that is GIVbacks eligible and if the GIVbacks factor is correct - Pass


Chore add debug info for build_sink::close

What problem does this PR solve?
add debug info for build_sink::close
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run p0 10


Live map (beta)

I am going to rise one possible dark scenario for c:geo.
c:geo uses "old maps" for getting data from GC.com. "New maps" are now version 0.93 (beta).
I get a good feeling that old maps will get removed in a near future. Maps beta are hard or impossible to parse.
At this time I would just like to open a discussion.

I thought it doesn't use the map, but only the search result lists?!

Map os a google map. We are using search named "MapRequest". But if they remove map, they remove search.

Is there any hope to get an API-key from GS?
Or are "we" banned forever?
I guess that would solve a lot of other problems as well...

The problem is not that we don't get a key, the problem is that we can't use it. It's discussed in another issue, please search for API.

Ah. Thanks. I had not read the thread for a while, and was not subscribed to it.
Sorry for the noise then.

While poking around a little bit for the usertoken issue on the old map I took a look at the new map as well. I see a possibility there as well, but it would require some change/addition in our infrastructure.

map icons are passed as image overlays from groundspeak. We could reuse these and place them upon our map display.
there is a request for map info by some area. there you get the hot spots were the icons are and some internal id
there is another request once you click on a cache were the internal id is used to retrieve the cache overview info like gc code, name and such
suppression of own/found is probably in the inital map request parameters.

@rsudev
That's correct. But maybe the implementation is more difficult as we think. Beside the live map there is also the offline map for lists and single caches. We must provide a consistent look & feel, so it's not so easy to use the overlays. And don't forget all the requests for the tiles.

Stupid question from a non-programmer:
As I have seen (but not used) Geocaching.com is also offering a Google earth plugin.
For me this sound a little bit like what we need: An interface which allows overlays on maps we have locally.
Could this way be used to get the data anyhow ?

No. It's limited (500 caches/day for non-premium-members - you can reach this with a single view) and the data doesn't help us.


Compatibility with sbt 1.4+

I will merge this now to see if ci-release works.
If there are still things to be done I will do that in the next pull requests.


Can't access initWithQuery on FirebaseTableViewDataSource

Just upgrading to the new release of Firebase (3.2.0) along with 0.4 of FirebaseUI. I'm using swift for my project.
Here's my podfile:
platform :ios, '8.0'
use_frameworks!
pod 'Firebase'
pod 'FirebaseUI', '~> 0.4'

It looks like the import mechanism has changed, from including FirebaseUI in the Bridging Header like so:
import <FirebaseUI/FirebaseDataSource.h>
import <FirebaseUI/FirebaseTableViewDataSource.h>

to using an include in the swift file, like so:
import FirebaseUI.FirebaseTableViewDataSource
I've run pod update (and pod install), and I am picking up the new Firebase classes ok. However, where I'm using FirebaseUI, I'm seeing this:

Type FirebaseTableViewDataSource has no member 'initWithQuery'

Here's my code:
self.dataSource = FirebaseTableViewDataSource.initWithQuery(query, prototypeReuseIdentifier: InstancesTableViewController.CELL_IDENTIFIER, view: self.tableView)
Now, it looks like initWithQuery is an instance method, rather than a class method. How can I instantiate a FirebaseTableViewDataSource so I can call the method?
Also, when I open FirebaseTableViewDataSource.h (by navigating through Pods/FirebaseUI/Database/Frameworks/FirebaseDatabaseUI.framework/Headers), I can see what appears to be an updated file (the header included a copyright by Google), and it has the methods I'm expecting. However, when I Cmd-Click on the use of FirebaseTableViewDataSource in my class (the code sample above), I see a different version of the class which appears to be older, and includes a method with the following signature:
public init(query: FQuery, cellReuseIdentifier identifier: String, view tableView: UITableView)
Any pointers?
Andy

This one seems to have been answered on StackOverflow (after much searching).  http://stackoverflow.com/questions/37311571/firebaseui-pod-install-error
Answer is you need you podfile to look like:
pod 'FirebaseUI', '~> 0.4'
And then wherever you previously just imported FirebaseUI, need to have the follow 2 imports:
import FirebaseUI
import FirebaseDatabaseUI
As noted on the stack overflow response they have changed the module names.  Eventually worked for me

I'm afraid thats not the answer :(
It doesn't seem to be that it can't find FirebaseUI, its that it seems to be either the wrong version, or its picking up 2 versions.
I did try removing Firebase from the Podfile, just leaving FirebaseUI - but no effect. I also used the imports as suggested.
let query:FIRDatabaseQuery = ref.queryOrderedByChild("name")
self.dataSource = FirebaseTableViewDataSource.initWithQuery(query, prototypeReuseIdentifier: "myCellIdentifier", view: self.tableView)

Type FirebaseTableViewDataSource has no member 'initWithQuery'

So where is it getting a different API from? Why does it think the method available is (old API):
public init(query: FQuery, cellReuseIdentifier identifier: String, view tableView: UITableView)
rather than (new API):
- (instancetype)initWithQuery:(FIRDatabaseQuery *)query
                     cellReuseIdentifier:(NSString *)identifier
                                    view:(UITableView *)tableView;

(and why does that look like an instance method rather than a class method??)
I'm stumped here - lost 2 days to this problem so far!
Andy

Well in swift the constructor is init, not initWithQuery.  In swift all initialisers are called init whereas objective C had the form initWithWhatever.  The signature is init(query: FIRDatabaseQuery, cellReuseIdentifer: String, view: UITableView)  NOT initWithQuery,  the latter is only for objective C.  However in order to see the first parameter as a FIRDatabaseQuery and not the old FQuery you need to import FirebaseDatabaseUI.

Thanks for the help - its very much appreciated. I just wish I could say it was working.
My imports are:
import UIKit
import FirebaseDatabase
import FirebaseDatabaseUI
import FirebaseUI
import Firebase

My code is:
let query:FIRDatabaseQuery = firebaseTypesRef.queryOrderedByChild("name")
self.dataSource = FirebaseTableViewDataSource(query, cellReuseIdentifier:"MyCell", view: self.tableView)

And it doesn't work. I've tried prototypeReuseIdentifier rather than cellReuseIdentifier, no difference. It still seems to think it should be using the old FQuery (when I Cmd-Click on FirebaseTableViewDataSource).
I've tried taking out the imports 1 at a time, and it only breaks other lines of code.
I've also removed references from my bridging-header.
Yours lost,
Andy

As I couldn't get this working, I stashed my changes locally. I decided to start again, and completed the upgrade without problem. I'll close this issue.


Add fade overlay to the bottom

Check Zeplin for details.

A fade at the bottom, but not at the top? Feels inconsistent to me. (Though I would not argue for a fade at the top at all - instead I would look into making the title bar transparent blurry, though I don't know if that is possible while keeping it 'white'.)

Let's keep top as it is right now. Bottom fade is need though because of the add button there.


Writing whilst executing long running read

With following example:
package main

import (
    "github.com/boltdb/bolt"
    "fmt"
    "encoding/binary"
    "os/exec"
)

func itob(v int) []byte {
    b := make([]byte, 8)
    binary.BigEndian.PutUint64(b, uint64(v))
    return b
}

func main() {
    var db, _ = bolt.Open("./test.db", 0600, nil)
    defer db.Close()

    var writerSequence = 1

    db.Update(func(tx *bolt.Tx) error {
        tx.CreateBucketIfNotExists([]byte("events"))
        return nil
    })

    db.View(func(tx *bolt.Tx) error {
        b := tx.Bucket([]byte("events"))

        c := b.Cursor()

        for k, v := c.First(); k != nil; k, v = c.Next() {
            fmt.Println("Recrd", k, v)
        }

        return nil
    })

    go func() {
        fmt.Println("writing event")

        db.Update(func(tx *bolt.Tx) error {
            b := tx.Bucket([]byte("events"))

            fmt.Println("next seq", writerSequence);

            err := b.Put(itob(writerSequence), []byte("Hello"))

            if err != nil {
                panic(err)
            }

            writerSequence += 1

            fmt.Println("Written successfully")

            return nil
        })
    }()

    go func() {
        db.View(func(tx *bolt.Tx) error {
            fmt.Println("Sleeping")

            // long running read
            exec.Command("sleep", "180").Run()
            return nil
        })
    }()

    // something long running
    exec.Command("sleep", "180").Run()
}

I am expecting to still be able to write into DB whilst a long running read is open on the same DB. However I don't get anything written into DB - is there something I am missing?

@alex-haproff By default, Bolt will automatically resize itself and its mmap periodically when it writes data. When this happens, it will block until all reads are done. You can get around this by setting the DB.InitialMmapSize.


Auto Update Observations

@glouel
Thank you again for your continued support of this project! I know the auto update function was a pain to get in. With the newest update (1.4.7b3), I decided to try out this new feature. These are my observations:

When clicking the 'check for updates' button, it finds the update and loads the updater screen, however it was not 'focused'. I tried several times with same result.(possibly because it's a sys pref app?)

When the  update finishes downloading, it asks to install and relaunch, however it does not relaunch (actually, it doesn't close the sys prefs, either.. again, not sure if this is because it's in sys prefs?)

Upon closing sys prefs and re-opening, I'm asked to enter my username password to install the update(just the same when manually opening a .saver file.)

After entering credentials, the screensaver options could not be opened via the screensaver panel, and I had to close and re-open sys prefs, and then I was able to access the settings for Aerial again.

I'm not sure if this is related to my setup... I have included the log file just in case..
AerialLog.txt 2.zip

So back to the original topic, I may have a solution around 2 (not closing/restarting), but I haven't managed to get it to work. Hopefully I'll get there.
Regarding 4 (crash at first launch) I think I got it but will have to double check. We'll be able to check with beta 4.

@glouel Thank you for keeping on top of this! I think those two things alone would help eliminate some of the confusion on if the update worked/applied or not. :)

Hi @glouel,
Thank you again for you continued support! I wanted to confirm the update process. I have included a link to a video, and as you can see, the auto-update didn't fire when I opened, and when I did do it manually, it downloads and then does the 'Install & Relaunch', but then doesn't do anything. further more, I had to then close the Aerial preferences, and then close System Presences for the update to actually kick-off, which then requires Administrator username/password
Like I said, I am unsure if the process is the same for everyone, and if so, should there be more instruction on how the update process works? like an extra line or two in the sparkle window, or after the update completes download? not sure how much control you have at that point.
video link: https://tinyurl.com/y3tr3era

@dVIAN13 Thanks a lot for the video and no worries about the other issue. I kept this one open since I'm still unhappy about the updater current process.
So, let me recap:

Auto update didn't fire when I opened : Looking at the video, it says your last update check by Sparkle was yesterday. Sparkle will not try if at least 24h haven't elapsed since last check, so it's likely that. As expected.

Manually launching update found the update : Good !

Clicking Install & Relaunch doesn't quit : I've tried to get in touch with the Sparkle people about this one, see here https://github.com/sparkle-project/Sparkle/issues/1354 I've tried a few things since, like making the done button "default" and "dismiss" (it's really badly defined in macos compared to other ui frameworks), right now I've had it set to "Esc" to close the sheet. That doesn't help with the issue but it's a bit of an improvement. I'm trying to track manually the restart event that gets sent to System preferences right now, maybe that will work. I'll post an update if it gets anywhere.

requires user/pass : are you running a non privileged account or something like that ? I certainly never saw that one here. I guess especially if you install to /Library and not your user folder, that would require privilege elevation

All in all, not much progress at this point but hopefully I'll get there.

@dVIAN13 I got it for the relaunch doesn't quit ;) Will post a build soon, more info here https://github.com/sparkle-project/Sparkle/issues/1354#issuecomment-484597863

@dVIAN13 If you have a sec, can you manually install this : https://github.com/glouel/Aerial/releases/download/v1.4.7beta7/Aerial.saver.zip
It's a fake beta7 with the fixed code. After install, try the update process, it should find current beta 8 and you'll see the relaunch hopefully working as expected. Let me know !

@glouel OMG, you got it!good work by the way, you're amazing!

Glorious ! And the directory auth thing explains it then !
This was my showstopper to release the next finale, I started working to day on that enhancement https://github.com/JohnCoates/Aerial/issues/733 so maybe I'll wait for it to be baked before releasing 1.4.8 (won't be named 1.4.7, there's a silly side effect to sparkle, it believes 1.4.7beta1 > 1.4.7 🙈)

yeah, without long build numbers/etc, I could see it not parsing the 'beta' out of it..? next enhancement! choosing whether to update to beta builds or only public releases. ;) just messing. anyways, thanks again for the quick run-down and fix for this update thing!

I hoped to do without the beta/non beta feeds but that didn't look realistic with community descriptions/localisation as pointed by @SeanMSmith, so I'll probably add that yep.
I also wanted to add a silent update option that could work in regular use (so no need to open the control panel to trigger the update popup; it would silent update when you get out of the screensaver). Didn't have much luck with that, and Sparkle is quite sparsely documented (still a super cool project but really hard to get in) but might be possible.

@dVIAN13 @SeanMSmith
I've been looking into silent updating, but sadly you can't really control that as I wish with Sparkle. You can't have silent update just when running the screensaver, and normal check (with the window popping up with release info) in System Preferences.
I can manually trigger a check that pops a window when you get back to desktop, but sadly, our screensaver process gets killed by the system, so the window immediately disappear and you can't update 😱
I did find one workaround, but it's not super pretty. One thing I can do is manually force an immediate check/install for an update. So what I have now, would be add a new checkbox, something like "Automatically update when the screensaver is running" that, if checked, would trigger a check when you launch the screensaver (I can probably respect the once a day check thing, still have to see that one).
 It's not super pretty, but at least that keeps you updated if you don't go play with the settings all the time (so for 99.9% of people).
I'm unsure if I should implement this, and if so have it checked by default. If it didn't have the drawback, I'd have considered it the best choice for most users (despite my personal hatred for silent/automatic updates !). With the drawback, not so sure.
So welcoming opinions on this one !

@dVIAN13
So I've went ahead and implemented 2 things:

Beta update track. There's a new checkbox in the update pane, unselected default, that points to a separate beta feed (beta-appcast.xml). Right now it's the same as the normal one (there's an extra message) but starting with 1.4.8, betas will be in this track only.
Silent update while in screensaver mode. This is what I described ahead, so you stay up to date even if you don't launch control panel. This is enabled by default and there's a help bubble explaining the drawbacks of having it on/off.

Barring any bug I'll move to 1.4.8 for real this time :)

@glouel , this is fantastic!! I think this is a good solution to keep the app updated, without having to have a helper app or open sys prefs to have it check. I look forward to testing it out, and hopefully this will help keep beta to testing and not disrupt the larger community of people who just want the stable builds! 🎉

I notice that in the "Automatic updates:" section of the "Updates" pane, the "Last checked" time no longer updates, either after an automatic update or after manually clicking "Check Now":

@SeanMSmith did you disable auto updates previously ? When Aerial starts (so from a closed system preferences) it should fill that info with what sparkle knows. The date comes directly from Sparkle so a bit puzzled about this one.
However, if you clicked Checked now, yes, it didn't change the text. That's fixed in beta 11 that I will put in the beta track soonish, it will now show "Last checked today" when you click for both (and will go back to showing date at subsequent launches).
In any case, if you clicked check now on beta10 and fully closed down Aerial (the whole syspref) it should show the correct date at next start.

@SeanMSmith I pushed beta11, it's only available in the beta update track as a test. It includes changes mentioned above and your PR.
@dVIAN13 you should be able to test the new silent update thing, just make sure you click the beta track. Also, I put the hour on the last checked field for sparkle, in case you want to have an idea when it should trigger. It will only trigger 24hr+ after the last check so you may only get the update tomorrow, depending.

@glouel, I changed the system date to tomorrow and tried the silent update, and it worked great!
2 Observations:

I am wondering if there is a way to not open the sys prefs for the 'silent' type of update..?

If for beta updates(sometimes you release multiple versions in a 24 hour period, albeit not always), I'm wondering if beta is checked, do you remove the 24 hour requirement, so it will update no matter what, or ultimately, give the end user control over frequency.. understanding that would create more work.. for me personally, I don't care if it checks every single time it starts.. others, that want less network traffic can change it, and for those wanting zero traffic can uncheck.. I'll leave that up to you, but simplistically, I was thinking 4 options: 'on startup', 6 hours, 12 hours, daily(24 hours)..

Apologies for rambling.. just thinking out loud. So appreciate your continued work on this and making it such a great app!

@glouel, I changed the system date to tomorrow, then tried the silent update, and it worked great!

🎉🎉🎉 Thanks for the very quick feedback !

2 Observations:

I am wondering if there is a way to not open the sys prefs for the 'silent' type of update..?

I see what you mean, I wasn't fully happy about that either ! The way I force the update is strongly discouraged discouraged and not really supported, because of that you don't seem to be able to control the relaunching of the app, so I don't think I can improve on that.

If for beta updates(sometimes you release multiple versions in a 24 hour period, albeit not always), I'm wondering if beta is checked, do you remove the 24 hour requirement, so it will update no matter what, or ultimately, give the end user control over frequency.. understanding that would create more work.. for me personally, I don't care if it checks every single time it starts.. others, that want less network traffic can change it, and for those wanting zero traffic can uncheck.. I'll leave that up to you, but simplistically, I was thinking 4 options: 'on startup', 6 hours, 12 hours, daily(24 hours)..

So, to give you a bit of background, there are two separate ways the update system is triggered. If you launch the System preferences panel and open Aerial's panel, the "regular" system kicks in, this one is set to 24 hours by default. Off the top of my head, minimum is 1 hour.
The silent update thing is separate, I'm manually checking the last check, see if 24hours elapsed, and if so I check for an update and force install it if available. So here, I have full control and can go below 1 hour. Things are a bit messy as if you have multiple screens, you may (or may not) launch multiple instances of Aerial and may or may not trigger the update check multiple times. So always checking -> bad idea as it can mess everything. Also, preview, while a screensaver, won't trigger the update (it did previously, but it made a mess too for the same reasons as on some systems, it's a separate instance from the control panel, and on some others not)
So with that said, there are a few things I could do:

If you check beta, I could silently drop the time for both methods to 1 hour. That's easy, but not super user friendly.
I could add a popup to change check frequency for all updates, just like json above. I'd be a bit reluctant to add a 1hr option in here for everyone, but maybe I could show 1hr only if you also check beta, but it's a bit of a mess to do (would need to update the UI live, and if you had beta checked and picked 1hr, then uncheck beta, would need to override your frequency to daily, etc).
I could add a popup just for beta (greyed out when beta unchecked) that would allow you to change both methods with hourly/twice a day/daily as options for example.

Writing this out, I kinda prefer option 3.

Apologies for rambling.. just thinking out loud. I very much appreciate your continued work on this and making it such a great app!

No worries, thanks for your feedback it's appreciated !

@glouel, I think option 3 is good. thank you for talking through that. obviously I'm not wanting to wait to get your beta updates! 😉 I am also sure others would like this.
Thank you for also thinking through the relaunch observation, appreciate it. Have a great rest of your weekend!

@SeanMSmith did you disable auto updates previously ?

No.

In any case, if you clicked check now on beta10 and fully closed down Aerial (the whole syspref) it should show the correct date at next start.

It did not. To be clear, after the auto-update to v1.4.7beta10, I closed and then re-opened System Preferences, and the "Last checked" time had not updated. Then I manually clicked "Check Now" and then again closed and re-opened System Preferences, and still the "Last checked" time had not updated. (That was the point at which I took the screen shot above.)

This is weird.
After auto-updating to v1.4.7beta11 and then closing and re-opening, the "Last checked" time did not update:

Then, after manually clicking "Check Now", the "Last checked" time updated to say "today":

Finally, after closing and re-opening System Preferences, the "Last checked" time reverted to 2019-04-11:

Ok thanks for the confirmation. The "today" is something I add manually when you click, then it reverts back to the "regular" way of checking the the last checked time that sparkle saves somewhere. It's super weird that the date is stuck here for you, maybe some weird Sparkle bug ?
I would suggest that for the next beta, you let it update while the screensaver is running (the new silent thing). I do reset the timing thing then, it may help fix whatever is stuck on your system.
Can you confirm whether you went silent update from 10 to 11 ? Or "panel" update ?

Can you confirm whether you went silent update from 10 to 11 ? Or "panel" update ?

From 10 to 11, I opened System Preferences and checked "Look for beta updates" (which had been unchecked) in Aerial’s "Screen Saver Options". If I recall correctly, Sparkle’s update notification then immediately popped up, and I clicked on "Install & Relaunch".

I’ll give you a heads up before pushing a beta tomorrow or monday, If you get the notification just close it’s window.

@SeanMSmith new beta up just for you, you'll let me know. Hope we can fix this quickly, really need to get a stable build out this week ;)

On my new 2019 iMac (which is what I’ve been testing the last few versions on), the "Last checked" time is still stuck on 2019-04-11 in v1.4.7beta12.
On my old 2015 iMac (whose settings and apps I migrated to the 2019 iMac using Migration Assistant), the "Last checked" time updates correctly. (I should have tested this before. Doh!)
Here’s how I updated on the 2019 iMac:

I invoked Aerial by moving my cursor into the hot corner configured to "Start Screen Saver", whereupon
I entered my system password to unlock the screen, whereupon
I entered my system password for Aerial AutoUpdate, whereupon
The Screen Saver Preference Pane opened, with Aerial selected
I clicked "Screen Saver Options…" and then "Updates" and took the following screen shot:

I then closed and re-opened System Preferences, and took another screen shot identical to the one above.

I wonder why the "New videos: Last checked" time updates correctly correctly on both iMacs, but the "Automatic updates: Last checked" time is stuck on the new iMac.
If this is an isolated issue, it’s probably not be worth holding up the release of v1.4.8, but if you have any ideas about what might be going on with my system, I’d sure be curious to find out.

@SeanMSmith
Well, at that point I'm out of ideas. Answering your question about the difference of the two dates, the date on top, I do manage manually. The second one is purely a Sparkle thing. I ask Sparkle for the date and I display it. Sparkle saves it/updates it on its own.
So right now not much more I can do. I will update to a newer version of Sparkle in the next beta cycle, hopefully it will fix your issue then. I would suggest disabling the "while screen saver runs" if you are concerned about network traffic (because the date is so far back, it will always check for a new version each time the screensaver pops).
I'll keep thinking about it but I'll probably drop 1.4.8 first. Thanks !

@glouel, 🎉 on releasing 1.4.8!!! I'm now thinking a little bit more about the auto update / beta checking...
If you've elected to have beta checking done, after the beta check comes back with nothing new, should it also then check to make sure user is on latest stable release?
For example, today I went to have it auto update from 1.4.7beta12 to 1.4.8, and it did not.. so right now, I am stuck on 1.4.7 branch for the foreseeable future unless I manually upgrade to 1.4.8...
I just wanted to ask your opinion of what options we may have, if any. Thank you again!

@dVIAN13 thanks !! You are way too quick I haven't updated the appcast, which is why you didn't see the update. Give me 10 minutes :)

@glouel ;) my apologies, I got excited!

@dVIAN13 no worries, it's certainly exciting ! You can give it a shot now it should work ! Also I've added the beta frequency check we talked about.

@glouel, It worked great!, and now I know to be slightly more patient! 👍 thanks again for your continued support!

Available in 1.4.8 so closing

Today, when Aerial 1.4.7beta12 launched after the release of v1.4.8, I was immediately prompted to enter my password to unlock the screen. Since I was busy doing something else, I did not. After a period of time, the password entry screen timed out, whereupon Aerial relaunched, loaded a new video, and then I was again immediately prompted to enter my password.
This loop repeated about five times before I entered my password on the unlock screen (and would presumably have repeated indefinitely), whereupon Aerial (Autoupdate) prompted me to enter my password, as expected. As soon as I did so, however, Aerial (Autoupdate) immediate prompted me to enter my password again, which I did.
This loop also repeated about five times, interspersed with repeated appearances of the dialog: "Failed to change owner & group on Aerial.saver to match Aerial.saver with authorization." At one point, I noticed three different Aerial (Autoupdate) icons bouncing in my dock side by side.
At the end, I was left with Aerial 1.4.8, but I think this upgrade process is probably not quite what you had in mind.

@SeanMSmith
Well, I think it's more about your particular setup. It looks like you installed Aerial in a directory that requires your password (maybe /Library instead of ~/Library ? Can you confirm this ? Or some network share of some type ?).
Can you also confirm if you are running some type of restricted account ?
I think it's the cumul of both things, restricted account + install in library that gives you the password. My guess is if you installed to ~ you shouldn't get the prompt and get a regular user experience ? If we can confirm that I guess it's worth mentionning in the install instruction on readme.

Aerial is indeed installed to /Library, but I don't think we should assume that's unusual.
I'm running in an Administrator account.

@SeanMSmith
Well I had a check and it's indeed just /Library that does it.
I did a check here and now on Mojave (not sure that was the case previously), it explicitely states that you will be required an admin login/password, you can see that here in French:

I'm pretty sure that warning is new ?
So I would suggest removing the screensaver from your /Library/ and installing back as a user. This will have 0 impact on where you want to put your cache folder. I was running here with Aerial installed for user account, and cache in Library.

The notice that an Administrator password will be required to install to /Library is not new. Being prompted to enter my password was expected; it’s the endless loop and the multiple Aerial (Autoupdate) processes that was unexpected.
I just invoked Aerial v1.4.7beta12 on my 2015 iMac. On that machine, I was immediately prompted to enter my password on the unlock screen, but after waiting 30 seconds for the unlock screen to time out, Aerial loaded a new video, played it through to the end, and then moved on to the next video, without re-prompting me to unlock the screen.
Perhaps it’s working correctly on my 2015 iMac because there Sparkle’s "Last checked" time gets updated correctly?

The notice that an Administrator password will be required to install to /Library is not new. Being prompted to enter my password was expected;

Ok must have missed that one.

I just invoked Aerial v1.4.7beta12 on my 2015 iMac. On that machine, I was immediately prompted to enter my password on the unlock screen, but after waiting 30 seconds for the unlock screen to time out, Aerial loaded a new video, played it through to the end, and then moved on to the next video, without re-prompting me to unlock the screen.
Perhaps it’s working correctly on my 2015 iMac because there Sparkle’s "Last checked" time gets updated correctly?

Yeah I skipped that part as I was wondering why you were prompted for a password at all.
Obviously this is linked to your other issue. Whether the install goes through or not, Aerial asks Sparkle to reset the counter (that's why I asked you to try it this way to see if it would fix your april 11th issue). So it should not loop ever, unless you have yor other specific bug. That's why I suggested you should disable that update path on that specific machine for the time being.

@SeanMSmith regarding your date issue, I had another thought, can you please go into
~/Library/Preferences/
You should see in that folder a com.JohnCoates.Aerial.plist. If you open it with Xcode you should see something like this :

Can you tell me if your April 11th date is in here ? If so, I suggest deleting that file.
Other option, go into ByHost in same directory, you'll find Aerial's main plist. Open with Xcode and look for an SULastCheckTime key. If you see that key, what it is?

In com.JohnCoates.Aerial.plist, SULastCheckTime is 30 Apr 2019 at 1:48:22 PM.
The Updates pane of Aerial is still showing "Last checked on 2019-04-11 at 18:27".

This is wild. This is where Sparkle stores it's data, so it's storing it correctly, but it keeps reading (and giving Aerial) bad data from somewhere...
Is there a SULastCheckTime in the ByHost plist I mentioned ? Maybe look for a plist in /Library/Preferences ?

Ah! I was looking at ~/Library/Preferences/com.JohnCoates.Aerial.plist.
In ~/Library/Preferences/ByHost/ there are two com.JohnCoates.Aerial.….plist files. One is empty, and the other has SULastCheckTime of 11 Apr 2019 at 6:27:39 PM! That file has a modification time of today, and its permissions on appear to be identical to those on the other preference files in ~/Library/Preferences/ByHost as well as in ~/Library/Preferences (my admin account has Read & Write access, and everyone has No Access).
I deleted the SULastCheckTime key from that ByHost/com.JohnCoates.Aerial.….plist file, removed Aerial, and reinstalled Aerial 1.4.7beta12 to /Library/Screen Savers. Now the Updates pane of Aerial shows "Last checked on 2019-04-30 at 14:36". I was not prompted to update to v1.4.8, probably because it has not been 24 hours since Sparkle’s last update check.
I manually clicked "Check Now", and after updating, Aerial’s Updates pane now shows "Last checked on 2019-04-30 at 15:05". (Recall that previously this "Last checked" time remained stuck even after manually clicking "Check Now".)
Now there is no longer a SULastCheckTime in ~/Library/Preferences/ByHost/com.JohnCoates.Aerial.….plist while the SULastCheckTime in ~/Library/Preferences/com.JohnCoates.Aerial.plist correctly shows 30 Apr 2019 at 3:05:27 PM!
(The following was written before writing the above in response to your most recent post.)
By the way, not that I thought you were suggesting it might, but installing Aerial to ~/Library/Screen Savers instead of /Library/Screen Savers did not unstick Sparkle’s "Last checked" time.
It did, as you suggested, avoid the repeated unlock prompts, although I didn’t test what happens with the beta track selected and an hourly beta update check. It’s possible that someone with my issue and an hourly update check could come into work after a weekend and find 60 or so Aerial (Autoupdate) processes clamoring for attention.

Well, awesome that it finally got fixed.
Maybe a previous beta messed things as I was trying to workaround some Sparkle issue. You should be good now, that's great.
As far as I know, moving Aerial.saver back to ~ wouldn't have fixed the issue, as the settings are read in the same place (it would have fixed the password prompt though).
I do understand the 60 mins + weekend thing, but there's not a lot I could do about that one, apart from discouraging people to both use the silent update AND install in /Library at the same time. I'll try to come up with some text for the readme tomorrow. Thanks for the heads up on this and glad we got it fixed in the end!

Incidentally, I noticed that in v1.4.7beta12 (and I think earlier versions), the "Auto install updates while the screen saver runs" and "Look for beta updates" options are indented from the the "Automatically check for updates" option:

while in v1.4.8 they are all flush left:

Is this intentional? What happens if "Automatically check for updates" is unchecked but the other two options are checked?

Yeah... in the beta, I indented them because my goal was that if automatically check was unchecked, the rest of the options would be unavailable... And while I didn't implement the greyed out thing, I thought it was actually working that way. Except it didn't, those options are independent right now for better or for worse.

The first checkbox controls the regular Sparkle auto update thing (the one that pops on panel)
The second one controls the screensaver update path which will always run even if you disable that one on top.
The third one controls the feed and unlock the hour time for the screensaver update path only (not the regular update path, because I can't change that one). We discussed it with @dVIAN13 above, I didn't feel confortable having the periodic thing enabled for everyone so I put it under beta, although it should be under the second checkbox in theory.

Ideally those should be indented and the first one disable everything. I'll try to get that working in a next version, but since it works separately now, I deindented them. Makes sense ?

Yes, that makes sense. Thanks for the explanation, and thanks also for helping to get my stuck update time unstuck!


Unexpected order of Dialogs in DOM

[X] This is not a v0.x issue.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔
When you open two dialogs at different times, the order that they appear in the React component tree determines the order they will appear in the DOM (which affects their visual stacking).
Current Behavior 😯
The order that they're rendered in determines the order they will appear in the DOM. So if one is rendered only after a delay, it will appear last in the DOM.
Steps to Reproduce 🕹
Link: https://codesandbox.io/s/vmwjo4wply

Render two Dialog components, in a particular order. Normally they will appear in that order in the DOM.
Wrap the first one them in something like withWidth, which delays its rendering. Now the first one will appear after the second one in the DOM (so visually it will be stacked on top).

Context 🔦
This may not actually be a bug, since it's not specified that they should render in the given order. My goal is to guarantee that one is visually stacked on top of the other. I could use something like z-index for that, but it seemed that Material-UI's ModalManager tries to insert them in the original order, so I thought I'd mention it.
Your Environment 🌎

Tech
Version

Material-UI
v3.7.1

React
16.6.3

Browser
Chrome/Mac

TypeScript
no

etc.

@jacobweber Here is one way to workaround the problem:
-const FirstDialog = withWidth({ noSSR: true })(() => (
+const FirstDialog = withWidth()(() => (

I doubt we can do much about it 🤔.

Yeah, I figured. But now it's documented in an issue, so when I run into this problem in two years and forget why, I'll be able to find it. :)  I'll just use z-index so I can be sure of the stacking.

Perfect :)


Fixed typo in sample values file

What this PR does / why we need it:
Fixes a simple typo in the sample values file
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

Can you explain the advantage of using my_init_script.sh: |+ instead of my_init_script.sh: |?
IMHO, | is the default behavior, using it, any further trailing newlines will be stripped, by using |+ all the trailing newlines are conserved, but, what are the advantages of adding it in a bash script?

Hey @carrodher, my intention for this PR wasn't adding |+ it was adding a space after the colon, my_init_script.sh:| to my_init_script.sh: | to fix the syntax error when running the chart and after that thought |+ is safer than | so changed that as well.

Hi, thanks for the fix related to the necessary space. About the |+ I still have some concerns. Why do you think it is safer? I was looking at other charts in this repository including bash code using this method. There is no other chart using |+ for bash scripts, all of them are using | or |-:
$ ag 'sh: \|\+$' -l | wc -l
       0
$ ag 'sh: \|\-$' -l | wc -l
      32
$ ag 'sh: \|$' -l | wc -l
      26

I just found valuable information in this thread.

I think it's safer because it keeps the line feed and trailing blank lines, so basically no change in the input that might introduce some issues in certain cases (for example somebody coding in Whitespace language :) ). But I've no insistence on it I can change it back to |.

Again thanks for the contribution! Maybe in some context, it is better to use |+ (as you rightly said in whitespace language), but in this specific case is a bash script where removing the trailing blank lines is not unsafe, in the same way |, also keeps the line feed.
Before proceeding with the merge, once applied the suggestions, you should increment the chart version in the Chart.yml according to semver:

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Done.

@k1-hedayati please update your branch with the latest master and bump the chart version. thanks

@cpanato Chart version has already been updated

@k1-hedayati I dont see the chart version in your commits. Please update to 3.18.3

/ok-to-test


[Labkey EI] Jupyter Notebook Support - Report integration with LabKey

Rationale
There has been some back end support for running a ipynb report in a docker image and being able to retrieve generated artifacts for display and rendering on the server. This story is to wire up support for configuring a docker report engine and creating (importing) reports into the standard report editor and being able to run / edit reports through the standard pathways that exist to execute reports.
Branch information

Platform, docker, docker-rstudio - https://github.com/LabKey/platform/tree/fb_ipynb

Tasks

[x] Engine configuration - 14

[x] refactor views and scripting interface - 5
[x] template for docker reports - 3
[x] docker report specific form fields - 2
[x] roundtrip to DB - 2
[x] delete stale docker image configs - 2

[x] Connect report type to editor - 10+

[x] configure code mirror language extension - 2
[x] report specific editor options (import/export btns) - 5
[x] add report type to grids & manage views etc - 3
[x] help page (hidden for now)  deferring until helper code is implemented

[x] Report execution

[x] associate engine configuration with saved reports
[x] push configuration into the docker service

[ ] Clean up ExternalScriptEngineReport, ScriptEngineReport, ScriptProcessReport

Related story tasks

[ ] Docker & report improvements

[ ] inject helper code into jupyter report - 3 @mbellew
[ ] helper to read report config metadata - 3 @mbellew

@labkey-robert, @mbellew I believe we wanted to simplify the amount of engine configuration options for the docker report as opposed to the R docker engine. Here's an example of the options available (at this moment) for comparison

@labkey-klum I think we want "Jupyter Report". "Jupyter Notebook" was renamed to "Jupyter Lab". I doubt there will be much confusion if we call it Jupyter Notebook but lets roll with "Jupyter Report" unless you feel otherwise.

This is a good idea.
A suggestion on wording -
Would you like to initialize this Jupyter Report (ipynb) from a file
(recommended), or start with a blank report? [Import from file] or [Start
with blank report]
On Wed, Jun 8, 2022 at 8:34 AM Karl Lum @.***> wrote:

@labkey-hannah https://github.com/labkey-hannah @labkey-robert
https://github.com/labkey-robert
After the feedback from the meeting yesterday, I updated the Jupyter
report to pop up this dialog (for new reports only) so that users don't
just land on a blank source page.
[image: image]
https://user-images.githubusercontent.com/5741543/172657567-e6156d0c-6bb2-49af-8d95-6ecb1cc93010.png
—
Reply to this email directly, view it on GitHub
https://github.com/LabKey/platform/issues/3408#issuecomment-1150076794,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJAYRGVSA5RMKARMSZWSMS3VOC4PBANCNFSM5XVQFLUA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Extension trait on Address for a delayed send

This would generally be useful, but would especially help us with reducing code duplication in the protocol actors for setting up a contract, rollover and collaborative settlement.
This is a follow up of sending the timeout message in https://github.com/itchysats/itchysats/pull/1307

@da-kami do you think there is still any need for this?
I suspect we can close this issue - if we decide we need it at a later stage, we can always reopen.


Minimal docker docs

@thecraftman Sorry, really not much to add. Maybe for the DockerHub README, it is sufficient enough to copy most of the README, but omit the non-docker installation methods?

@lukasmalkmus Ok. I will
LGTM.

@lukasmalkmus Ok. I will
LGTM.


Use library in React TSX

When try to use the TSX file as import ReactSummernote from 'react-summernote';
How can i create definition file for Summernote.jsx so that i dont get react-summernote module not found.
and where i need to place that file and code snippet for the d.ts file.
Thanks,

I followed these instructions
https://www.detroitlabs.com/blog/2018/02/28/adding-custom-type-definitions-to-a-third-party-library/
I didn't type anything just created a bare bones *.d.ts file
create directory typings_custom at project root

mkdir typings_custom

create type file

touch typings_custom/react-summernote.d.ts

add line to react-summernote.d.ts
declare module 'react-summernote'
update tscongif.js to use new custom typing directory
"include": [
"./typings_custom/**/*.ts"
],


platform app issues: users and as-user

[X] I have checked that the [SDK documentation][sdk-docs] doesn't solve my issue.
[X] I have checked that the [API documentation][api-docs] doesn't solve my issue.
[X] I have searched the [Box Developer Forums][dev-forums] and my issue isn't already reported (or if it has been reported, I have attached a link to it, for reference).
[X] I have searched [Issues in this repo][github-repo] and my issue isn't already reported.

Description of the Issue
I am working with a platform application authorized with the app access level set to App Access Only. The application has the following scopes: read, write, and manage users, and I have enabled the advanced feature to make API calls using the as-user header.
I am authenticating using the client credentials grant flow, and the application is successfully authorized and approved. My ultimate goal is to use Python to manage collaborations and download files from our Box tenant. However, I am encountering issues with the following:

When I attempt to list users using client.users.get_users(), it consistently returns no users, even though my app has manage users scope and the advanced as-user header feature is enabled.
I am unclear on the correct way to use the as-user header or impersonate users (e.g., an admin or managed user) to programmatically manage collaborators and perform actions on behalf of other users.

I know I am successfully authenticated because I can retrieve the current user, which shows the name of the platform application. However, I am stuck on retrieving all user IDs and impersonating users programmatically using the SDK.
Steps to Reproduce

Create a platform application with App Access Only access level and scopes: read, write, and manage users.
Enable the advanced feature to make API calls using the as-user header.
Authenticate using the client credentials grant flow and the Box Python SDK Gen.
Attempt to list users using client.users.get_users() and observe that the result has no users.
Attempt to use the as-user header to impersonate a user but fail to understand the correct method or see desired results (I am unclear on how to do this step).

Expected Behavior

Listing users with client.users.get_users() should return a list of all users visible to the service account.
Using the as-user header to impersonate a user should allow performing actions on their behalf (TBD)

Error Message, Including Stack Trace
No specific error is raised, but the client.users.get_users() method returns an empty list of users.
Screenshots
N/A
Versions Used
Python SDK: box_sdk_gen==1.7.0
Python Version: 3.12.4

Hi @kennyparsons
I believe that if you want to use "Make API calls using the as-user header" or "Generate user access tokens", you will need to have "App + Enterprise Access" for the App Access Level.
You can try the function client.users.get_user_me() to see if the as-user is working correctly for your request. As I tested, if App Access Level is "App Access Only" but use as-user header, I got error 403 with message Authorization Failed
Bests,
Minh

can you share your snippet to use the as-user header in python? I have yet to figure it out.

Here is my code snippet:
ccg_config = CCGConfig("APP ID", "APP Secret", enterprise_id="EID")
auth = BoxCCGAuth(config=ccg_config)
client = BoxClient(auth=auth)
service_account = client.users.get_user_me()
print(f"Service Account user ID is {service_account.id}")

# Use as-user header
client = client.with_as_user_header("21941210994")
user_account = client.users.get_user_me()
print(f"User Account user ID is {user_account.id}")

This code is not working with  App Access Only but App + Enterprise Access.

Here is my code snippet:
ccg_config = CCGConfig("APP ID", "APP Secret", enterprise_id="EID")
auth = BoxCCGAuth(config=ccg_config)
client = BoxClient(auth=auth)
service_account = client.users.get_user_me()
print(f"Service Account user ID is {service_account.id}")

# Use as-user header
client = client.with_as_user_header("USER ID")
user_account = client.users.get_user_me()
print(f"User Account user ID is {user_account.id}")

This code is not working with  App Access Only but App + Enterprise Access.


If you register directly login

When you register for a account you now have to sign in afther this. I's better to direct sign in.

I need to call the user id, so it will be slower


Fix #7

@gbaz I had a fix ready to go anyway, so it's here, depending on what we decide.

@gbaz Actually, could you please review this? It's fiddly enough that I think it warrants a second pair of eyes on it.

@gbaz So is this good to merge? I just wanted to make sure I had the Ord instance right. Thanks.

just reviewed, lgtm

Thanks!


nixos/*: add some restart fields

Motivation for this change
Services should stay dead.
Things done

Built on platform(s)

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

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

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Should they? This is a debatable topic. Both sides have good arguments and nixpkgs have people with commit access on both sides of the debate.
How do we avoid merging this PR and then 1 week later having someone merge a PR to undo this? I think discussions are required before merge here.

Should they?

Yes, logging into a server only to realize that a systemctl start X would have solved the problem is not a good use of time.
Also for example my local nix-daemon sometimes just dies for no reason which should improve with this.

I think discussions are required before merge here.

I don't think this needs a big discussion and I even think we should even make this the default for every service.
To quote the systemd.service manpage:
Setting this to on-failure is the recommended choice for long-running services, in order to increase reliability by attempting automatic recovery from errors. For services that shall be able to
terminate on their own choice (and avoid immediate restarting), on-abnormal is an alternative choice.

All the services above are long running services which should be reliable available even if the crash or get killed once.

I completely and strongly agree.
Others in the community have expressed conflicting opinions to me in the past, though. So while I agree with this PR entirely I hope we can come to a consensus with those who do not.


Remove .idea folder

See issue #78.
Untrack and remove .idea folder from git repository

😅 looks like I can't delay it any more


500 Server Error: could not set up capacity escrow: failed to get escrow address for customer: failed to create a new account for customer

While deploying a 3Bot on mainnet
Traceback (most recent call last):
  File "/root/js-sdk/jumpscale/sals/chatflows/chatflows.py", line 147, in wrapper
    getattr(self, step_name)()
  File "/root/js-sdk/jumpscale/sals/chatflows/chatflows.py", line 668, in wrapper
    return func(*args, **kwargs)
  File "/root/js-sdk/jumpscale/sals/marketplace/apps_chatflow.py", line 453, in infrastructure_setup
    self._get_pool()
  File "/root/js-sdk/jumpscale/packages/threebot_deployer/chats/threebot.py", line 121, in _get_pool
    self.pool_info = deployer.create_3bot_pool(
  File "/root/js-sdk/jumpscale/sals/marketplace/deployer.py", line 325, in create_3bot_pool
    pool_info = j.sals.zos.get(identity_name).pools.create(
  File "/root/js-sdk/jumpscale/sals/zos/pools.py", line 63, in create
    return self._reserve(pool)
  File "/root/js-sdk/jumpscale/sals/zos/pools.py", line 24, in _reserve
    return self._pools.create(pool)
  File "/root/js-sdk/jumpscale/clients/explorer/pools.py", line 38, in create
    resp = self._session.post(self._base_url, json=pool.to_dict())
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/sessions.py", line 578, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/sessions.py", line 650, in send
    r = dispatch_hook('response', hooks, r, **kwargs)
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/hooks.py", line 31, in dispatch_hook
    _hook_data = hook(hook_data, **kwargs)
  File "/root/js-sdk/jumpscale/clients/explorer/errors.py", line 23, in raise_for_status
    raise HTTPError(http_error_msg, response=resp)
requests.exceptions.HTTPError: 500 Server Error: could not set up capacity escrow: failed to get escrow address for customer: failed to create a new account for customer 1340: failed to activate escrow account GB3H4BBWBG5VZFFOZ3TDK3OYGMDIZDAH2VHIOKBV6X4X4FGSROSNE4JN: horizon error: "Transaction Failed" - check horizon.Error.Problem for more information for url: https://explorer.grid.tf/api/v1/reservations/pools

another trial
Traceback (most recent call last):
  File "/root/js-sdk/jumpscale/sals/chatflows/chatflows.py", line 147, in wrapper
    getattr(self, step_name)()
  File "/root/js-sdk/jumpscale/sals/chatflows/chatflows.py", line 668, in wrapper
    return func(*args, **kwargs)
  File "/root/js-sdk/jumpscale/sals/marketplace/apps_chatflow.py", line 453, in infrastructure_setup
    self._get_pool()
  File "/root/js-sdk/jumpscale/packages/threebot_deployer/chats/threebot.py", line 121, in _get_pool
    self.pool_info = deployer.create_3bot_pool(
  File "/root/js-sdk/jumpscale/sals/marketplace/deployer.py", line 325, in create_3bot_pool
    pool_info = j.sals.zos.get(identity_name).pools.create(
  File "/root/js-sdk/jumpscale/sals/zos/pools.py", line 63, in create
    return self._reserve(pool)
  File "/root/js-sdk/jumpscale/sals/zos/pools.py", line 24, in _reserve
    return self._pools.create(pool)
  File "/root/js-sdk/jumpscale/clients/explorer/pools.py", line 38, in create
    resp = self._session.post(self._base_url, json=pool.to_dict())
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/sessions.py", line 578, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/sessions.py", line 650, in send
    r = dispatch_hook('response', hooks, r, **kwargs)
  File "/root/.cache/pypoetry/virtualenvs/js-sdk-vpmH-Z_5-py3.8/lib/python3.8/site-packages/requests/hooks.py", line 31, in dispatch_hook
    _hook_data = hook(hook_data, **kwargs)
  File "/root/js-sdk/jumpscale/clients/explorer/errors.py", line 23, in raise_for_status
    raise HTTPError(http_error_msg, response=resp)
requests.exceptions.HTTPError: 500 Server Error: could not set up capacity escrow: failed to get escrow address for customer: failed to create a new account for customer 1341: failed to activate escrow account GC4GOHDS7SB4NGQSTYTF2Z4O44SA3ZTW2VMOEU525X7QXCRXKFDQ4YPM: horizon error: "Transaction Failed" - check horizon.Error.Problem for more information for url: https://explorer.grid.tf/api/v1/reservations/pools

Explorer production wallet was not funded with enough XLM anymore. Can be resolved by funding the explorer wallet again.

Explorer wallet funded


fix: cleaning up tx effects related comments

Some of the constants made no sense and the comments were stale.

#6790  👈
master

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

Join @benesjan and the rest of your teammates on  Graphite


Non-reproducible model training results with TensorFlow 2.5

Having issues attaining reproducible results after running model training multiple times with the same dataset, model, training loop, and seed.
Environment

python: 3.8.5
cuda: 11.2
tensorflow: 2.5.0

Code
Function to set random seed.
def set_seeds(seed=0):
    os.environ["PYTHONHASHSEED"] = str(seed)
    random.seed(seed)
    np.random.seed(seed)
    tf.random.set_seed(seed)

    os.environ["TF_DETERMINISTIC_OPS"] = "1"
    os.environ["TF_CUDNN_DETERMINISTIC"] = "1"

    # called once at beginning of program
    tf.config.threading.set_inter_op_parallelism_threads(1)
    tf.config.threading.set_intra_op_parallelism_threads(1)

def sum_of_weights(model):
    return sum(map(lambda x: x.sum(), model.get_weights()))

Model training loop, here the same exact model is repetitively trained over the same dataset and seed.
data = {}
models = {}
pre_weights = {}
post_weights = {}

# Loop over model hyperparameters
for i, hyperparams in enumerate(all_hyperparams):

    # Load dataset generators
    client = Dataset(hyperparams).get_client(0)
    gen_train, gen_valid = client.create_generators()

    # Create model
    model = Model(client).create()
    pre_weights[i] = reproducibility.sum_of_weights(model) # store sum of initial weights

    # Create a trainer
    trainer = Trainer(hyperparams)

    # Train model (under the hood same as model.fi
    history = trainer.fit(
            model,
            gen_train,
            gen_valid,
            iters=500,
            steps_per_epoch=100,
            validation_freq=5,
            callbacks=None,
    )
    post_weights[i] = reproducibility.sum_of_weights(history.model) # store sum of trained weights

    models[i] = model # store model

    x, y = next(gen_train)
    data[i] = np.sum(x['dat']) # store sum of a batch of data

The set_seeds function is called every time the classes (Dataset, Model, Trainer ) are instantiated __init__. The loss function being used is tf.keras.losses.SparseCategoricalCrossentropy.

Output
# sum of initial model weights
{0: 1377.537437170744, 1: 1377.537437170744, 2: 1377.537437170744, 3: 1377.537437170744, 4: 1377.537437170744}

# sum of trained model weights
{0: 1167.8577085053264, 1: 1167.3095767943782, 2: 1165.1663435424903, 3: 1165.0273841904536, 4: 1167.2645659474476}

# sum of a batch of data
{0: -3.637978807091713e-12, 1: -3.637978807091713e-12, 2: -3.637978807091713e-12, 3: -3.637978807091713e-12, 4: -3.637978807091713e-12}

The initial weights seem to be seeded correctly but the weights after training are not, I wonder what the issue could be...
Am I missing something? This was all trained on the same gpu and kernel session.
I recall that the reduce_ operations were non-deterministic at one point, but I assume they have been fixed. Are there any recommended resources that shed light on the potentially non-deterministic operations and suggestions to ensure reproducibility?
Thanks in advance 😊, it is of tremendous value that we are able to reproduce results whether it be for for general model comparison or even life impacting applications.

According to the presentation here, there is a probe tool in the tfdeterminism package. I have not used it myself, but that can help you root cause at which point in your architecture the non-determinism is introduced.

Hi @Brandhsu, please will you run using TensorFlow version 2.8.0-rc0. Enable op determinism using tf.config.experimental.enable_op_determinism instead of TF_DETERMINISTIC_OPS. This latest version of TensorFlow will throw an exception if a nondeterministic op is being used. Note that, if your model uses convolutions, there is a determinism bug that was introduced in version 2.5 that still exists in 2.8.0-rc0 (see stock TF issue 53771).
Regarding @yanniskar's comment above, the nondeterminism debug tool has not (yet) been released publicly.

Hi @duncanriach it seems you and your team were spot on with the issue being due to the convolution non-determinism bug (my model was indeed using convolutions). I was able to achieve reproducible results with version 2.8.0-rc0.
The following changes were made.
pip install tensorflow==2.8.0rc0

def set_seeds(seed=0):
    if tf_version >= 2.8:
        tf.keras.utils.set_random_seed(seed)
        tf.config.experimental.enable_op_determinism()

The output after training is shown below.
# sum of intial weights
{0: 1377.537437170744, 1: 1377.537437170744, 2: 1377.537437170744, 3: 1377.537437170744, 4: 1377.537437170744}

# sum of final weights
{0: 1266.9917370815285, 1: 1266.9917370815285, 2: 1266.9917370815285, 3: 1266.9917370815285, 4: 1266.9917370815285}

# sum of a batch of data
{0: -9.094947017729282e-12, 1: -9.094947017729282e-12, 2: -9.094947017729282e-12, 3: -9.094947017729282e-12, 4: -9.094947017729282e-12}

I will run the same models on different gpus and report back if the behavior is also reproducible.
Thanks for you and your team's work on this issue, looking forward to the stable patch!

Awesome, the models were reproducible on different gpus!

Wonderful news, @Brandhsu. Thanks for reporting back and closing.
I would like to clarify that many possible sources of nondeterminism have been addressed since TensorFlow version 2.5 (as represented by 2.8.0-rc0) and any one of these (and possibly more than one) could have been thwarting your reproducibility. The 2.8.0-rc0 release actually still contains the bug related to deterministic selection of convolution algorithms (#53771), so that bug was not the source of the nondeterminism that you were seeing.
If you, or anyone else reading this, is interested, the release notes for 2.6, 2.7, and 2.8 contain info about all the determinism-related changes in those versions.

Awesome, the models were reproducible across different gpus!

@Brandhsu , I know this has been a while, but do you recall if these different GPUs had same or different architecture? Thanks.

Hi @cbhushan, they were different GPUs, but same architecture.


Mooie ring

Can this be used in DNLS?

Blocked and reported. Please review our community guidelines.


Merge branch-23.08 to main for v23.08.2 release [skip ci]

Merge branch-23.08 to main for v23.08.2 release
PS: merge with create a merge commit

build


fix(/docs/(qwikcity)/routing): fix mdx interpreting title as component

Overview

What is it?

[ ] Feature / enhancement
[x] Bug
[x] Docs / tests / types / typos

Description
Sorry, my last PR #5485 introduced a small bug in the docs @zanettin.
I checked that everything's working properly again with pnpm docs.preview this time.
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

thanks for the fix 🙏


Upgrade angular js to latest

Upgrade our angular js to the latest version we can use without overhauling our codebase.  Many issues are addressed in later versions (1.6.7 onwards).
Changes would be needed in the portal module under modules/portal

Portal 2.0 (#968) will move away from Angular. Closing.


310989 - [Newsroom] [UAT Testing] - Critical Pages - Homepage - Global header dropdown (chevron) button is missing in mobile and tablet view

Severity - 2 - High
Description: The dropdown button of global header is missing in tablet view, and cutting off in mobile view
Legacy: https://newsroom.accenture.com/
Migrated: https://tempnewsroom.accenture.com/
Steps to reproduce:
Navigate to legacy and migrated page.
Inspect in tablet view (ipad air)
Click on the Hamburger icon on the top-left part of the global header
Expected: There is a (chevron) dropdown button on the right side of every header in mobile and tablet.
ipad:

phone:

Actual: The dropdown button is missing in tablet view, and cutting in mobile view
ipad:

phone:

Azdo link - https://dev.azure.com/accenturecio26/WebContentDigAssetMgmt_PR1093/_workitems/edit/310989
CC: @ravkiran @amol-anand @raymond-h-dev

The main issue is there's a horizontal scroll due to the left styling on the home-hero-content-container h1


[Refinery] Introduce optional init container for Refinery deployment to ensure Redis connectivity

Which problem is this PR solving?
Refinery pods crash looping until Redis instances are healthy.
Short description of the changes
This PR adds an optional init container for Refinery deployment to sleep until Redis instances are up and running.
No breaking changes.

Hey @jijotj - thank you for the PR.
We think that refinery itself should support better start-up races with redis and not require k8s to manage that interaction. I've created https://github.com/honeycombio/refinery/pull/382 to add retry behaviour to refinery.
Once that PR has been accepted, we'll roll a new release of refinery and helm-chart.


Set does not automatically remove cards

When playing Set, at least with the try-mode, it does not automatically clear cards, until you click on the "reset" button.

The problem seems to be that the client is sending a view request with chosens filled in.
I believe that when a "GameMove" is received, the client should clear the chosen if the playerIndex matches.
[2021-07-03 11:01:57,609] ERROR net.zomis.core.events.ListenerList [qtp249034932-16] - Problem when handling event ClientJsonMessage(client=net.zomis.games.server2.ws.WebClient:(b4c6bb4b-3430-4384-9670-3b6e80f7ee17/Zomis), data={"route":"games/Set/6fefba57-878c-4f2e-8a12-183ade7d5a43/view","playerIndex":"0","actionType":"set","chosen":["1-squiggly-striped-green","2-ellipse-filled-green","3-diamond-clear-green"]}) in net.zomis.core.events.Listener@24f64e21
java.util.NoSuchElementException: Evaluated contains [(3-ellipse-striped-red, 3-ellipse-striped-red), (3-ellipse-filled-red, 3-ellipse-filled-red), (1-squiggly-filled-red, 1-squiggly-filled-red), (1-ellipse-clear-purple, 1-ellipse-clear-purple), (1-ellipse-striped-purple, 1-ellipse-striped-purple), (2-squiggly-clear-green, 2-squiggly-clear-green), (1-diamond-clear-purple, 1-diamond-clear-purple), (3-diamond-clear-purple, 3-diamond-clear-purple), (3-ellipse-clear-green, 3-ellipse-clear-green), (2-squiggly-clear-red, 2-squiggly-clear-red), (3-diamond-striped-red, 3-diamond-striped-red), (2-diamond-striped-red, 2-diamond-striped-red)] and we're looking for it.first == 1-squiggly-striped-green (class kotlin.String)
	at net.zomis.games.dsl.impl.ActionComplexBlockRun.internalOptions(ActionComplexImpl.kt:67)
	at net.zomis.games.dsl.impl.ActionComplexBlockRun.options(ActionComplexImpl.kt:78)
	at net.zomis.games.impl.SetGame$game$1$2$1$1.invoke(SetGame.kt:206)
	at net.zomis.games.impl.SetGame$game$1$2$1$1.invoke(SetGame.kt:150)
	at net.zomis.games.dsl.impl.ActionComplexImpl.withChosen(ActionComplexImpl.kt:38)
	at net.zomis.games.dsl.impl.GameActionRuleContext.actionInfoKeys(RulesImpl.kt:271)
	at net.zomis.games.dsl.impl.ActionTypeImplEntry.actionInfoKeys(ActionsImpl.kt:93)
	at net.zomis.games.server2.games.JsonChoices.availableActionsMessage(JsonChoices.kt:16)
	at net.zomis.games.server2.games.JsonChoices.deserialize(JsonChoices.kt:30)
	at net.zomis.games.server2.games.ServerGame.view(GameSystem.kt:146)
	at net.zomis.games.server2.games.ServerGame.access$view(GameSystem.kt:51)
	at net.zomis.games.server2.games.ServerGame$router$1.invoke(GameSystem.kt:56)
	at net.zomis.games.server2.games.ServerGame$router$1.invoke(GameSystem.kt:51)
	at net.zomis.games.server2.MessageRouter.handle(MessageRouter.kt:41)
	at net.zomis.games.server2.MessageRouter.handle(MessageRouter.kt:38)

Fixed in commit 80c7c832be98e7b21346d4ba28ca3cfce1974e75. The problem was that the state was being overwritten with a string value instead of an integer, so the check if (data.player === gameInfo.activeIndex) returned false.


Support rails 8.0.0

I have not yet examined it in detail, but I have fixed what is obviously broken.
The ActiveRecord::VERSION::MAJOR >= 7 && ActiveRecord::VERSION::MINOR >= 2 branch is clearly wrong and will not work as expected with 8.0, so please merge this PR 🙏

@gurkanindibay Rails 8.0 was released yesterday! 🎉 Check it out: https://rubyonrails.org/2024/11/7/rails-8-no-paas-required
Please take a look at this PR when you get a chance 😄👍

@gurkanindibay Rails 8.0 was released yesterday! 🎉 Check it out: https://rubyonrails.org/2024/11/7/rails-8-no-paas-required Please take a look at this PR when you get a chance 😄👍

Thank you @alpaca-tc

@alpaca-tc can you check the 'static-checks' task output? It's failing

@alpaca-tc can you check the 'static-checks' task output? It's failing

@gurkanindibay  Fixed 💛  The latest version of rubocop seems to detect it.
https://github.com/citusdata/activerecord-multi-tenant/pull/260/commits/e35bcb7677b66263420734ee261aa4dbf1fa62b2

Thanks @alpaca-tc for your contribution


24 create a react component for roominstances see image of design added to the description

hey @bandwich I'm not sure I understand what you mean - I didn't work on the Profile component and it looks like it's already in main, so if we merge this PR to main I think we should be good? Sorry if I'm not understanding what you mean!


Color detection does not work for mobilessd and detectnet, followed guide from S3E5

I followed the custom object detection example from S3E5 and tried to differentiate the color of different m&ms(chocolate) on a table with bounding boxes.
I trained the model with the camera-capture tool and stated the areas of different colored m&ms on a table. It turns out there are no bounding boxes created for the color of each m&m when I run detectnet.
However, when I just train the model with only m&m in labels.txt, ignoring the color, detectnet creates bounding boxes for each m&m, saying which area contains an m&m without stating its color.
The below labels.txt does not work
‘’’
red
green
orange
yellow
blue
‘’’
The below labels.txt works
‘’’
m&m
‘’’
I used the mobilessd framework to train the model from the video example

@dusty-nv any chance you can give me a direction to solve this problem? Like changing the library, do more training? (I have trained 50 images of random number of m&ms) From my understanding, after training in pytorch, there will be a colour filter applied to the images.
Help will really be appreciated
Thanks,
Godfrey

@gd08xxx when you created the dataset with the camera-capture tool, did you label the bounding boxes with the colors, or just m&m?   It seems odd that the m&m labels.txt works because the annotated data would need to match that string, which leads me to believe the answer is the later.
Can you post one of the XML files from your dataset?   Also 50 images is probably not enough, but let's start with the classes first.

I found out that in python/training/detection/ssd/vision/data_preprocessing.py, there is a line of code named PhotometricDistorct() in TrainAugmentation's init
def __init__(self, size, mean=0, std=1.0):
        """
        Args:
            size: the size the of final image.
            mean: mean pixel value per channel.
        """
        self.mean = mean
        self.size = size
        self.augment = Compose([
            ConvertFromInts(),
            # MODIFIED
            # PhotometricDistort(),
            Expand(self.mean),
            RandomSampleCrop(),
            RandomMirror(),
            ToPercentCoords(),
            Resize(self.size),
            SubtractMeans(self.mean),
            lambda img, boxes=None, labels=None: (img / std, boxes, labels),
            ToTensor(),
        ])

After commenting it out, color detection works, this is because the PhotometricDistort augments the colors the m&ms before training

Thanks for sharing that @gd08xxx, during data augmentation some degree of color jitter is normally beneficial for being more robust against different camera/lighting conditions, but this is good to remember when detecting/classifying objects based on their color...


i18n(pt-BR): Big review and Aside component

What kind of changes does this PR include?

[ ] Minor content fixes (broken links, typos, etc.)
[ ] New or updated content
[x] Translated content
[ ] Changes to the docs site code
[ ] Something else!

Description
Updates to almost all PT-BR pages using the most recent PT-BR Translation Guide changes. This PR also adds the new Aside component to the pages.

Thanks for the review @victor0x16, since the remaining suggestions is to revert something from the English docs, I'm assuming it is okay for me to merge it now.

Woo Yan merging things! 🥳
One note re those .jsx extensions: we actually haven‘t removed them in the English docs. I opened a PR doing that but we then realised that soon including them will be recommended so we’re sticking with imports with extensions in the docs (although both currently work).


Confusing behavior enter key in interactive mode

When in the interactive mode, if the user presses the enter key, he will get an error like this:

ERROR:  Parse error at line 1, column 1:
nil
^
Expected one of:
singletons (followed by end-of-string)
st (followed by end-of-string)
finalizers (followed by end-of-string)
f (followed by end-of-string)
list (followed by end-of-string)
q (followed by end-of-string)
quit (followed by end-of-string)
exit (followed by end-of-string)
h (followed by end-of-string)
help (followed by end-of-string)
many-costructor-params
mcp
many-constructors
mc
load
Wouldn't it be more intuitive to get something like this when pressing enter multiple times?
>
>
>
If you think so, I can fix this.

This should be fixed in #59


Highlight preview feature flags that do not work with specific connectors

Problem
As createMany is not supported by sqlite we should add some :sparkles:
Suggested solution

Additional context

Link to Internal Discussion

Note that createMany is now GA since https://github.com/prisma/prisma/releases/tag/2.20.0 so I'm not sure we have any conflict at the moment.

No cases any more, so closing until that changes.


raises KeyError for Portuguese

Thanks for providing this package. Unfortunately I receive an for Portuguese:
!pip install text2num
from text_to_num import text2num
text2num("trinta e dois", "pt")
Thanks,
Felix

In [1]: from text_to_num import text2num

In [2]: text2num("trinta e dois", "pt")
Out[2]: 32

Which version of text2num do you use?

text2num 2.2.1
Am Fr., 28. Mai 2021 um 16:33 Uhr schrieb Romuald Texier-Marcadé <
@.***>:

In [1]: from text_to_num import text2num
In [2]: text2num("trinta e dois", "pt")Out[2]: 32
Which version of text2num do you use?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/allo-media/text2num/issues/48#issuecomment-850461737,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHLI5K4RMY2QDPWQASZ2MTLTP6SSVANCNFSM45WSBW6A
.

The full error I receive:
Traceback (most recent call last):
File "", line 1, in
text2num("trinta e dois", "pt")
File
"C:\Users\fs.egb\Anaconda3\lib\site-packages\text_to_num\transforms.py",
line 59, in text2num
language = LANG[lang]
KeyError: 'pt'
Am Fr., 28. Mai 2021 um 16:38 Uhr schrieb Felix Schilling <
@.***>:

text2num 2.2.1
Am Fr., 28. Mai 2021 um 16:33 Uhr schrieb Romuald Texier-Marcadé <
@.***>:

In [1]: from text_to_num import text2num
In [2]: text2num("trinta e dois", "pt")Out[2]: 32
Which version of text2num do you use?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/allo-media/text2num/issues/48#issuecomment-850461737,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHLI5K4RMY2QDPWQASZ2MTLTP6SSVANCNFSM45WSBW6A
.

This is Portuguese, but thank you so much!
Have a nice weekend
Am Fr., 28. Mai 2021 um 16:54 Uhr schrieb Romuald Texier-Marcadé <
@.***>:

Spanish support has not been released yet, it's in master only.
It's been stable for a while now. I'll make a new release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/allo-media/text2num/issues/48#issuecomment-850476327,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHLI5KZI5FMFXJFMGYZUDZLTP6VBVANCNFSM45WSBW6A
.

Sorry for the typo! Please be assured that I don't confuse Portuguese with Spanish.
Text2num 2.3.0 with Portuguese support is fresh on Pypi!
Enjoy!


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_31zntsoxyo/clone/recipe/meta.yaml:16: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_31zntsoxyo/clone/recipe/meta.yaml:23: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_31zntsoxyo/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_31zntsoxyo/clone/recipe/meta.yaml:44: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_31zntsoxyo/clone/recipe/meta.yaml:44: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_31zntsoxyo/clone/recipe/meta.yaml:44: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_31zntsoxyo/clone/recipe/meta.yaml:44: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_578zhy0zyq/clone/recipe/meta.yaml:16: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_578zhy0zyq/clone/recipe/meta.yaml:23: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_578zhy0zyq/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_578zhy0zyq/clone/recipe/meta.yaml:44: missing_description: The recipe is missing a description
ERROR: /tmp/abs_578zhy0zyq/clone/recipe/meta.yaml:44: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_578zhy0zyq/clone/recipe/meta.yaml:44: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_578zhy0zyq/clone/recipe/meta.yaml:44: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


Remove models

I think down the road, we'd remove model architectures from the lib.
We want people to experiment with their own, and we're hardcoding old school architectures right now anyway.
We'd keep just a few that we're using as examples; likely not even exposed in the modules but just in the examples.

The only issue I foresee is ensuring people have specific functions in their model classes for certain modules, such as a function that outputs the intermediate layer output. But that should be easy to do through documentation.


Victoria 3 has one more type of color: hsv360

          Victoria 3 has one more type of color: hsv360

Example:

I tried defining it in CWT like this, but it seems unsupported:

Originally posted by @kaiser-chris in https://github.com/DragonKnightOfBreeze/Paradox-Language-Support/issues/102#issuecomment-2497329889

Fixed by simple add hsv360 to flex file (that is, hardcoded)


Cancel file operations from opening an editor when closing it

Issue Type: Bug
Found a bug.
When you clicked to open huge file, for ex. 1.5 GB txt, and then immediately closed it - VS Code will try to open it anyway, RAM will be overflow, and Studio crashes.
VS Code version: Code 1.26.1 (493869ee8e8a846b0855873886fc79d480d342de, 2018-08-16T18:38:57.434Z)
OS version: Windows_NT x64 10.0.17134

@SoleSensei do you still run into this issue when you run code --max-memory=4096?

@rebornix
i think that reading process will be closed after opening whole file in background (=loaded it in RAM)

@SoleSensei thanks for helping nail down the root cause ;)

@bpasero may I have some help from your Electron expertise?

Unluckily I can't reproduce this issue on my Windows box.

We are reading the file async and not sync so I would think that closing VSCode stops node.js from reading the file but if that is not true the only fix I can see is pushing down a cancellation token all the way (which seems like a workaround for node.js doing the right thing though).

By reading https://nodejs.org/api/fs.html#fs_fs_readfile_path_options_callback and IMHO the potential fix is sending AbortSignal
const controller = new AbortController();
const signal = controller.signal;
fs.readFile(fileInfo[0].name, { signal }, (err, buf) => {
  // ...
});
// When you want to abort the request
controller.abort();

Though I'm not sure if it will really kill the OS process as it's OS dependent. There isn't anything we can do in the text buffer so leave to @bpasero or @deepak1556 to decide if we want to have any fix for it.;

This requires cancellation support on the level of the IFileSystemProvider but I am not sure it is worth pushing for it...
//cc @jrieken

Updated the title from the duplicate https://github.com/microsoft/vscode/issues/146912. If we could introduce a setting for the maximum file size a user can open, we should use that information here:
https://github.com/microsoft/vscode/blob/2dbc9940401bf829cc12a0351685b6c35d930325/src/vs/platform/files/common/fileService.ts#L552
To cancel the reading and throw an error so that upstream component can show a generic editor.

This is a big issue for me because I am creating JSON files that have binary blobs that are large. If I click on the file in Explorer the editor will try to preview the file.  There is no way to cancel the process of trying to preview/open the file and VSCode eventually displays a dialog asking if I want to close the editor or continue waiting.  I cannot open the Developer Tools or the Process Explorer to terminate the tab that is trying to preview/open the file.  I have waited for up to 30 minutes, and the file never finishes and the editor is unusable.
The worst part is that when you re-open that folder in VSCode, the same process repeats.  The only way that I have been able to get back to work is by deleting the workspaceStorage folder (/home/user/.config/Code/User/workspaceStorage).
It would be nice if I could cancel/abort the preview/open process.

The setting workbench.editorLargeFileConfirmation will help here. Set it to a lower value to match the file sizes you encounter this with and editors will not just open until you confirm.

this setting doesn't help on custom editors
I opened an issue on the topic at the extension vscode-parquet-viewer
look at the response from the extonsion's dev
https://github.com/dvirtz/vscode-parquet-viewer/issues/144


Fix Cargo.toml, update README.md

Adjust Cargo.toml in response to comments (will also adjust template)
Fill in repo-specific stuff in README.md

Motivation
First step in getting this off the ground
Future Work
Setup coverage, write a panic-abort crate.

Current dependencies on/for this PR:

main

PR #1   👈

This comment was auto-generated by Graphite.


Unable to bulk import B2B guest users

Hi,
I am unable to bulk import B2B invited guest users from another Azure tenant by via their UPN. It works when using their object ids but when using UPN I get an error:
Bulk operation GroupImportMembersTemplate.csv finished. However, 2 of the 2 sub-operations failed. Click on the title to see the detailed information.
No user with this user name/object ID exists in this group. Change the user name/object ID in the file to match the user name/object ID of an existing user in this group  and resubmit your request.
[Enter feedback here]

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

ID: 6d9b26a1-e401-4d6d-f37e-cceed1c04549
Version Independent ID: 3db7c764-4815-ee19-a229-8bad3da4a381
Content: Bulk upload to add or create members of a group - Azure Active Directory
Content Source: articles/active-directory/users-groups-roles/groups-bulk-import-members.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

@vipulsparsh Thank you for your query. We will investigate and update the thread.

@greendx Can you try the steps as mentioned in this article.
Let us know if it still fails.
You can also use powershell to bulk invite the users.

@greendx Let us know if you are still facing the issue.

@greendx We will be closing this now, feel free to reply if you are still facing the issue.

Hi - Sorry for a delayed response. I think you misunderstood my issue. I am able to successfully bulk invite guest users via powershell. The problem I am running into is bulk adding those invited users into security groups in my tenant.
I am using their UPNs to invite them using the GroupImportMembersTemplate and getting this error: "No user with this user name/object ID exists in this group. Change the user name/object ID in the file to match the user name/object ID of an existing user in this group and resubmit your request."
I am able to invite them if I apply their ObjectIDs but not UPNs. GroupImportMembers Template suggests that I should be able to use their UPN.
Using ObjectID would mean I need to have a way to capture their ObjectIDs while inviting them as guests into my tenant. I already have their UPNs and so I would like to follow your documented process of inviting via the GroupImportMembersTemplate using UPNs and would appreciate some help getting this to work.
Additionally, I need to add different subsets of users to their own respective AAD security groups which currently would require creating multiple GroupImportMembersTemplate files, one for each security group. Is it possible to bulk import members to groups via powershell?


$(...).owlCarousel is not a function Error:

Hello,
Using webpack and i get the above error?
In my index.html

I have imported { OwlModule } from 'ng2-owl-carousel'; in my app.module.ts
Then in my component i have imported { OwlCarousel } from 'ng2-owl-carousel';
and finally my HTML
<owl-carousel [options]="{items: 3, dots: false, navigation: false}"
[items]="images"
[carouselClasses]="['owl-theme', 'row', 'sliding']">

</owl-carousel>

Any ideas why its throwing this error

You  don't need to include owl carousel 2 in your index.html file. This package already includes the owl.carousel 2.2.0 (Not Owl Carousel 2) and this issue is fixed in the latest release.
#install latest version
npm install --save<EMAIL_ADDRESS>

Thank you this did resolve the issue.

I've only reopened the issue because i'm unsure how to use the options element?
Much like your next function i tried to apply the same logic to add options
@Input() options: Object;
@ViewChild('owlElement') owlElement: OwlCarousel
fun() {
this.owlElement.next([200]);
this.owlElement.options = {
loop: true,
margin: 10,
responsiveClass: true,
responsive: {
0: {
items: 1,
nav: true
},
600: {
items: 3,
nav: false
},
1000: {
items: 7,
nav: true,
loop: false
}
}
};
}
however nothing changes...

After making some change in options you need to call component's refresh method currently Like this:

fun() {

  this.owlElement.next([200]);

  this.owlElement.options = {
    loop: true,
    margin: 10,
    responsiveClass: true,
    responsive: {
      0: {
        items: 1,
        nav: true
      },
      600: {
        items: 3,
        nav: false
      },
      1000: {
        items: 7,
        nav: true,
        loop: false
      }
    }
  };
}

this.owlElement.refresh();

confirmed working
thanks

I have the same issue, after doing some research I have found that owl carousel tries to get initialized at ngAfterViewInit while the carousel-child is NOT STILL LOADED, please keep in mind that I use my app inside a page with high loading time... The problem occurs mostly when I change roots in my application. Any help would be greatly appreciated.