[ISSUE #6810] Fix the bug of mistakenly deleting data in clientChannelTable when the channel expires

Fix the bug of mistakenly deleting data in clientChannelTable when the channel expires

Which Issue(s) This PR Fixes

Fixes #6810
Brief Description

How Did You Test This Change?

Add test method scanNotActiveChannelWithSameClientId in ProducerManagerTest

LGTM

Codecov Report

Merging #7073 (cb1e40f) into develop (d797377) will decrease coverage by 0.05%.
The diff coverage is 66.66%.

@@              Coverage Diff              @@
##             develop    #7073      +/-   ##
=============================================
- Coverage      42.78%   42.73%   -0.05%
+ Complexity      9304     9296       -8
=============================================
  Files           1138     1138
  Lines          81252    81254       +2
  Branches       10636    10637       +1
=============================================
- Hits           34762    34723      -39
- Misses         42152    42187      +35
- Partials        4338     4344       +6

Files Changed
Coverage Δ

...apache/rocketmq/broker/client/ProducerManager.java
73.79% <66.66%> (+1.06%)
:arrow_up:

... and 22 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[Feature] Add setting to change the date the user started the grind

Currently whenever the users tracks something in the app the current date will be stored in the beganGrind variable. Add a setting to change this date on the settings page as they might already have begun their progress before using this tracker (i.e. when the game was released).

Maybe we could add a field "started at release" and a second one "started at date" with a datepicker


"All Collection" WARC not fully replayable with existing tools

When signing is enabled, the concatenated WARC includes several WARCs with signatures, which are empty records, causing some tools to not read past the first WARC.
Should add a way to:

strip the signature of individual WARCs
re-sign the full, streamed WARC.

Addresses removing signature, re-signing is #27


Create middleware to validate authorization token in backend

@adniyaYousaf , we need the allowlist before we can mark this as completed


bim: bump to 2.4.0

Description of package
Checklist

[X] Latest upstream version.
[X] I agree to maintain this package (required).
[X] I agree to notify KISS if I can no longer maintain this package (required).

Thanks :+1:


Strange screen-flash animation when navigating on Android Expo

Fresh install of the latest client + expo, I'm using Android and Expo Go.
When I navigate from screen to screen just using your demo setup (complete fresh install), I get very strange flashes. Attached a video to show it.
I don't get this when I use the IOS simulator for the same project.
https://user-images.githubusercontent.com/2121331/110413142-78589400-80e1-11eb-9f9e-70b32dbfe036.mp4

System
  platform           darwin
  arch               arm64
  cpu                8 cores      Apple M1
  directory          name        ~/Sites/name

JavaScript (and globally-installed packages)
  node               15.9.0       ~/.nvm/versions/node/v15.9.0/bin/node
  npm                7.6.1        ~/.nvm/versions/node/v15.9.0/bin/npm
    npm              7.6.1
    yarn             1.22.10
  yarn               1.22.10      ~/.nvm/versions/node/v15.9.0/bin/yarn

Ignite
  ignite-cli         6.2.0        ~/.npm-packages/bin/ignite
  ignite src         build        ~/.npm-packages/lib/node_modules/ignite-cli/build

Android
  java               1.8.0_282    /usr/bin/java
  android home       -            undefined

iOS
  xcode              12.4
  cocoapods          1.10.1       /usr/local/bin/pod

That is odd. Do you think this is a React Navigation issue?

i think it is background image problem, can you remove the background image and try it again?

Not just Android, iOS is also having this whenever I try to use Wallpaper

+1 I see this on iOS as well.
Seems to be related to debug mode perhaps - When in install to my device I see the flicker when metro is running. If i do not use metro / kill metro, i see no flickering

It happens on the iOS simulator too. This is generally not seen on higher end devices (along with many other transition artifacts) because the device is so fast compared to the simulator and running a production build.
I have a fix for it that I'll PR in a bit. I'm just waiting to reinstall all of Android SDK so I can test the fix on the Android emulator.
https://user-images.githubusercontent.com/57374/116868427-645a7b80-abd4-11eb-9b87-ddc05b30d80a.mp4

:tada: This issue has been resolved in version 7.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

This issue still persists, I've opened a new issue for it

#1755


frontend: Fix error message overflow & progress line gaps

Fixes #904, #995

I coudn't reproduce the error, but I modified the source and  I can confirm that the error message itself is no longer cut:

Don't you however think that it is worth fixing the the height of the line on the left while on this issue?

If i fix the height of the line does that mean i have to create another issue and link it to this one? If i follow your suggestions from the other PR (#979) then i should do it like that since fixing that is outside of the current scope of this PR.

Using only % doesn't solve all the cases. When set to a %, the bigger the <li> element height gets the bigger the gap gets once again.
My solution is using calc with dynamic variables in order to provide some sort of flexibility.

If i fix the height of the line does that mean i have to create another issue and link it to this PR?

No need to over do it. :) I mean in this case fixing the line is kind of related to the error message. In the other issue for me the second fix was just unrelated to the original issue.


cmd/node: use shared filelock by default

originally i added file lock for a specific data directory, as it seemed nicer that we can run multiple instances of go-spacemesh. however there are ongoing reports that people somehow run more than one, and submit different atxs, etc.
it would be very stupid if we will have malfeasence proofs because of that. so i would rather request people to configure separate file locks if they wish to run many instances on same computer, to do so there is an option --filelock, that defaults to /tmp/spacemesh.lock

bors try

bors try

bors merge

bors try


When the PDF file contains a link, click invalid, can not jump.

When the PDF file contains a link, click invalid, can not jump.
How can I solve this problem?

Reproducible in versions 2.7.3 (for Vaadin 23) & 2.8.1 (for Vaadin 24).

The current version used is 2.7.3, but this issue is not resolved.


Call to action

Now that we have the option to dump action sequences and freeze them in tests, we should start assembling a corpus of "supported proofs", to include as tests against regressions.
With the new changes, this is quite painless to do: it suffices to open the tool, construct a proof, dump the action sequence JSON and then create a standard homotopy-model test for it.
Since when we replay actions we're not doing the rendering (unless that is something we explicitly want), this is likely to have little performance impact.

This should become even easier to do once we start baking history-derived action traces into .hom files, which we're planning on doing.


When exception occurred during dynamic mapping(without registration) - no clue where it happened

When exception occurred during dynamic mapping(without registration) - it is very generic without details about mapping "Source" and "Destination".

Fixed and will be included in release 1.8


iOS: Detail: Use JavaScript to set HTML

The issue is performance when going to next/previous article or next unread. Ben and Daniel have both mentioned using JavaScript to set the various bits of HTML — that that’s faster than loading a new HTML page.
We should try it. (And, probably, later use this on Mac too.)

I tried hacking this in to an old build of Evergreen. It definitely was faster except when there were images in the article. I think the sheer amount of base64 encoded image data made it slower.
If you did do this, I think locally cached images would have to be referenced as files, rather than inserted into the document as base64 strings.

Sounds like this might be more work than is warranted for the 5.0 release. Let’s hold it for after 5.0.


Markdown within HTML?

I'm using markdown for static pages on my site, this is great.  I have a single page though which requires slightly more than markdown can deliver, a list of service tiers (that standard card format that is prevalent.
I turned on HTML so I can dump divs and the like within the markdown, so that's good.
I'm looking for a way to be able to still interpret the internals of html tags with markdown through a setting or a plugin.  That way I can do something like this, which is all I need to be able to use CSS to format it.
<div>

  ### Service Offering

  * Feature 1
  * Feature 2
  * Feature 3

</div>

According to Markdown spec (okay, recommendations), only inline HTML elements can have Markdown. Block HTML elements should not parse and render Markdown content.

@1999 is correct here. If you need more flexibility in terms of parsing, take a look at the remark ecosystem


Release 2

What's included
The main change is that this moves to a model where this app (not Auth0) sends the verification email. This fixes https://github.com/ytgov/account-email-verifier/issues/39.
Other changes:

Fix https://github.com/ytgov/account-email-verifier/issues/49
Fix https://github.com/ytgov/account-email-verifier/issues/18 remove the broken "continue to.." link
Update Lumen from 8 to 10
Update dependencies
Improved error handling
Use the name "MyYukon"

Notes
This requires a change to the Auth0 action. See https://github.com/ytgov/account-email-verifier/blob/main/postlogin-action-enforce-email-verification.js
Now requires PHP 8.1. Also needs newer Composer (UAT worked with 2.6.5, but not with 2.1.5)
The "send an email as the first thing" feature is behind a feature flag. See the SEND_EMAIL_AT_START configuration value in .env.
The email message always says "Welcome to MyYukon", instead of (as Auth0 did) "Welcome to {Application.name}"
Deployment instructions
Check prerequisites

PHP FPM needs to be 8.1
Composer needs to support composer-runtime-api at least 2.2

Update Auth0

Update the permissions for the application in Auth0. Needs the create:user_tickets scope.
Update the Action to redirect to /start

roll out code
install dependencies with composer install (on our machines, php8.1 /usr/local/bin/composer2 install)
edit the .env file. Set MAIL_* values (MAIL_PORT must be an integer). Update SUPPORT_URL with ?from=email-verify query string.

This has been deployed to UAT. Got caught by a few things:

FPM was 8.0, not 8.1.
there's some code that triggers errors for new users
composer-runtime-api being the wrong version
SMTP config

This has been deployed to production


SPIKE - Review of PolkadotJS Endpoints

As per JSSDK 3.0  architecture discussions : https://github.com/casper-ecosystem/casper-js-sdk/discussions/332

checking https://github.com/polkadot-js/api

https://github.com/casper-ecosystem/casper-js-sdk/discussions/332#discussioncomment-7014067


Add basic settings and change password features

Just pinning an issue for a potential future enhancement. I know you have some things you are working on.
Since AdminLTE is used for both user and admin dashboards, it would make sense to have the most basic features out of the box.

The user should be able to change their name.
The user should be able to change their password.

It's something necessary for every dashboard. So why not include it so it's ready to go out of the box? If they don't like exactly how it's done, It's easier to move code around that is already there, than to write it every time they use this dashboard.
These should use the "password confirmation" feature. They click "settings" or "change password".. it takes them to the lock screen, then they can edit their settings. The change password probably doesn't need to ask for their old password since they just confirmed it.
Maybe by default, a /settings route with a table showing the Name field (maybe also show the created/updated times?) and a save/submit button, and a link click here to change your password which takes them to /settings/change-password.
With that said, the default sidebar nav of /admin/settings would be changed to /settings and /settings/change-password accordingly. Maybe tucked into the Profile sub-menu with view profile, edit profile, change password links under it.
Or maybe instead of using /settings path, it should be /profile and /profile/change-password to match the Profile sidebar option?
Just some ideas. I think adding them into this repo by default would be a big plus for many people using it. We want to get on with the actual customizations, not adding basic features that are common to every dashboard.

This is basically a profile management out of the box. It is a good idea, but right now I have no time for a feature like this one. It may require the development of controllers, views, routes definitions, and a way to deploy these into a Laravel project.

I understand.  By the time you catch up, they are moving to the next version lol.
I did this for the AdminLTE project for Yii2 with my "Yii2 Members System". I added the basics like edit profile, change password, etc.. plus some extras. I just installed it and focused on what was unique to the client's project.
When I get some spare time, I might work on a PR with them. I don't know how it will affect what you are working on now, so I'll check your branches then too to see where it's at.

Just a teaser of the basic edit profile and change password pages:

The profile page is using the horizontal form class, the other isn't.
When doing this though, I think this needs a global component for handling the alert/status messages. I don't know if there is already a good Laravel extension to use for Bootstrap dismissable alerts? Or to just create a component? It looks like it would need to be built into the page blade file just after the content-wrapper div. This way, no matter which page they are redirected to after the update, they get the alert message.

That is good, I have a basic profile page in development too. It uses the new form components that will come soon. However, I'm still not sure how to deploy all the controllers, routes and views nicely into the Laravel framework...

I was actually kinda surprised myself this didn't include this myself. I threw together the functionality on my own.

I went into the source grabbed the register view code, copied it and made a custom change password view by copying the code and making a few changes. I changed the form to be 3 password fields (old_password, password, and password_confirm). Changed the text of the submit button and header and setup a Route:view in my routes file to send any GET requests to that route directly to this custom view. But you could just as easily build a regular page view.

Added a simple invokable controller with a Route:post for the same path going to it for the form to post to. Here is that code:

public function __invoke(ChangePasswordRequest $request)
    {
        // NOTE: Request validation will confirm the old password is correct along with ensuring the new password meets minimum requirements.
        // Therefore, we can safely proceed with saving the new password here as everything is in order if the code gets to this point.

        $user = Auth::user();
        $user->password = bcrypt($request->get('password'));
        $user->save();

        return redirect()->route('dashboard')->with("success","Password changed successfully!");

    }

Created a ChangePasswordRequest FormRequest class to validate the form. I used some simple rules, it looks like this:

public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'old_password' => ['required', 'password'],
            'password' => ['required', 'string', 'min:8', 'confirmed', 'different:old_password'],
        ];
    }

Essentially that'll ensure the user entered an old password and it matches the user's current password. The new password must be a string, at least 8 characters, must have a matching field called password_confirm and must not be the same as the old password.
In case anyone else wants to add this on their own, there's how I did it. The new password requirements could be more robust, forcing a user to include a special character for example but since I know this is only for a few internal users all of whom use a password manager to generate their passwords I wasn't too worried about having detailed complexity requirements.
All-in-all I had to add two routes to my web.php took just a few minutes to do it all. Spent more time reading laravel docs than anything else but learned some nice validation shorthand for verifying the old password ect.  Here's what I added to my routes file:
Route::view('/change-password', 'changepw')->name('change_pw'); //Send GET request to /change-password directly to the view changepw.blade.php
Route::post('/change-password',  ChangePasswordController::class)->name('submit_change_pw'); //Send POST requests to /change-password to an invokable controller for validation and saving the new password

@x7ryan Thanks for share your idea, it is a good reference for future enhancements...

@Shidersz I have completed my Laravel Flash Messages package. Adding it to the AdminLTE project would be super easy to give users flash messages out of the box. It is highly configurable, allowing the developer to take total control of the alerts (icons, classes, dismissable, etc).
Here is a screenshot showing off various flash message alerts on AdminLTE:

Feel free to check it out on a fresh test install and let me know what you think.
Link: https://github.com/WadeShuler/laravel-flashmessages

@WadeShuler Nice, I will give it a try later. On the next package release, we going to include an Alert component that may be similar (in someway)...


Strange  activity in the RF transmission

The RF frequency when the   "d_force_xmit_for_testing  set to  YES  the  transmission is correct output of 14.097060 but when  the setting is set to "NO"  then the  transmission on the every 10 minute interval is at  13.091718 MHz.. I  Have check this with a frequency counter and with an HF rig to check  the centre of the transmission spectrum. Very odd any one else seen this ?

Hmm, I think I had seen something similar (several revisions back) but not recently.

Hi this seems solve in the latest versions so Closed

Hi Sorry To Ask probably a daft  Question, but where does the altitude message come from as the Message type $GNRMC does not contain  it. I  only ask as in my case seems to be  reporting about twice the height but often does move as antenna is indoors. Just wondered if a different message type also used ? Thanks Simon G8HAM

Hi Just to say I put the Pi Pico on frequency counter tonight  and the  problem of frequency jumping  has   just appeared again. Goes from 14.09760 mHz( lane 2 )  to 13.09193 mHz but is moving around a lot .It look like lost PLL lock and jumps back for a second or two to the  correct frequency and rock steady on the correct frequency   10-20s and then back to the 13.09193mHz  area. Found the  Altitude Message being used as  $GNGGA so look good but must have very poor VDOP. Simon Sent from Mail for Windows From: EngineerGuy314Sent: 06 April 2024 17:21To: EngineerGuy314/pico-WSPRerCc: Si; AuthorSubject: Re: [EngineerGuy314/pico-WSPRer] Strange activity in the RF transmission (Issue #2) Hmm, I think I had seen something similar (several revisions back) but not recently.—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>
yes, altitude comes from GNGGA. but the altitude value is definitely very crude, i see it jump around +-40 meters. My understanding is that vertical positioning of GPS is always very inacurate when you have few satellites (such as when testing indoors).  But my hope is that when floating there will be vastly superior gps reception, and hence more accurate altitude reports.


R-Box/SendCode Stopped Working

I am sure that this is user error but can't figure out what SendCode is doing.
R-Box/SendCode was working brilliantly yesterday but today "suddenly" appears to have stopped working for everything except RGui. Yesterday, with no change that I can recall, it was sending great to R console running in ConEmu. I simply set SendCode to send to ConEmu, ran R in the console and R-Box/SendCode seemed to pick it up fine.
Windows x64 env with latest sublime and R.
Have uninstalled/reinstalled R-Box and SendCode, Trying to get to work in RTerm inside ConEmu. This was all working perfectly as of yesterday even. I don't know what I would have changed.
Apologies for the obviously bad question.

Are there any error messages in the Sublime Text console? I also don't have much idea...
If it is sending to RGUI, it means SendCode is working. It may be an issue of ConEmu.

Yes, sorry dug deeper. SendCode required me to add path to conemuc in .sublime-settings. After adding:
"conemuc" : "B:/bin/ConEmu/ConEmu/ConEmuC64.exe"
SendCode started working fine again. This definitely wasn't in there yesterday so odd that it worked then.

Thank you for terrific plugin and terrific support.
Have tried rice but getting occasional python error messages mid stream R processing. Is rice more of a WIP?

a really nice to have for working with .Rmd files would be functions to select (and execute):

current code chunk, everything between current {r}  marks
all code chunks above current chunk, super useful for restarting R and getting caught up to where you currently are
all code chunks, just execute the file

Would have a go myself but the learning curve on these plugins looks pretty large. Any ideas where I might find something like this? Or would you consider adding to nice to have list for R-Box?
regardless, appreciate your work, thank you for sharing

Hi pic42, I would consider rice is ready to use, what error did you get exactly? It may be a bug.

I was informed that rice may not be working with python 2.7 on Windows. It may be the reason if you were using python 2.7.

I'll open the issue in rice with an example of what I am seeing. I'm using python 3.6.

Thanks. Any feedback would be valuable.


Rework the .toMatch() matcher

It makes sense to rethink and rework the behaviour of the .toMatch() matcher. Looking at feedback (#167) and usage it should:

compare only object types;
make sure that all target properties are present in the source (.toHaveProperty() on all properties);
and that their values are identical (.toBe() on all properties).

In other words, its behaviour must be similar to the .toMatchObject() matcher found in the expect library. Without any subtype checks.
The subtype checks are useful, but it would be better to implement them separately as new .toBeSubtypeOf() and .toBeSupertypeOf() matchers.

Transition to different behaviour would be smoother, if matcher would be renamed. I mean, it is bette to add new matcher and to deprecate .toMatch(). Looking around for a new name:

.toInclude():

expect({ foo: "bar", hello: "universe" }).type.toInclude({ foo: "bar" });
expect({ foo: "bar", hello: "universe" }).type.not.toInclude({ baz: 123 });

expect<{ foo: string; bar: number }>().type.toInclude<{ foo: string }>();
expect<{ foo: string; bar: number }>().type.not.toInclude<{ baz: number }>();

.toContain():

expect({ foo: "bar", hello: "universe" }).type.toContain({ foo: "bar" });
expect({ foo: "bar", hello: "universe" }).type.not.toContain({ baz: 123 });

expect<{ foo: string; bar: number }>().type.toContain<{ foo: string }>();
expect<{ foo: string; bar: number }>().type.not.toContain<{ baz: number }>();

Another idea, .toContain() could work with arrays and tuples as well:
expect<[foo: string, bar: number]>().type.toContain<[foo: string]>();

expect<[foo: string, bar: number]>().type.not.toContain<[baz: number]>();
// otherwise errors with: Type '[foo: string, bar: number]' does not contain element of type 'number'

expect<Array<string | number>>().type.toContain<Array<number>>();

expect<Array<string | number>>().type.not.toContain<Array<boolean>>();
// otherwise errors with: Type 'string | number' does not contain element of type 'boolean'

First TSTyche should check that objects / tuples / arrays are on both sides. If these are:

objects, make sure that all target keys exist in the source type and their values have identical type;
tuples, make sure that source contains all target elements;
arrays, simply make sure that target type can be assigned to source type.

Also union types should work:
expect<Array<string> | Array<number>>().type.toContain<Array<string>>();
expect<string | number>().type.toContain<string>();

expect<string | number>().type.not.toContain<boolean>();
// otherwise errors with: Type 'string | number' does not contain type 'boolean'

And perhaps intersections (more complex, but interesting!):
expect<{ a: number } & { b: string } & { c: string }>().type.toContain<{ b: string } & { c: string }>();

expect<{ a: number } & { b: string } & { c: string }>().type.toContain<{ b: string } & { c: boolean }>();
// otherwise errors with: Type '{ a: number } & { b: string } & { c: string }' does not contain type '{ b: string } & { c: boolean }'

If this new matcher would work only on objects, .toMatchObject() could be a good name. Sounds familiar. Also easy to explain what it does. I'm afraid that complex behaviour as I was describing above is not a good idea.

In a way one can use Pick, Omit, Exclude, Extract utility types. No need to reimplement this.


Crash after doing ANYTHING!

So I download newest version of a grabber, but now i can't do anything!
Changing any option? Crash
Changing/adding/removing sources? Crash
Searching? Crash
I can't do anything, literally.

Can you give us you operating system (windows 7,8,10,11 or linux maybe ?) and the logs ? If you are in windows the logs are under C:\Users\Your username\AppData\Local\Bionus\Grabber. The filename is : "main.log" we need it to help you. Grabber version would be plus too.

Operator system: Windows 10
Log:
[09:29:25.086][Info] Start loading MD5 database
[09:29:25.086][Info] MD5 database loaded (0 entries)
[09:29:25.087][Info] Temp directory purged of 0/0 files (0 failed)
[09:29:25.318][Info] Software version: 7.6.2.
[09:29:25.318][Info] Software CPU architecture: x64.
[09:29:25.318][Info] Computer CPU architecture: x86_64.
[09:29:25.318][Info] Qt CPU architecture: x86_64.
[09:29:25.318][Info] Computer platform: Windows 10 Version 2009.
[09:29:25.318][Info] Path: D:/Programy/Grabber
[09:29:25.319][Info] Loading preferences from C:/Users/robot/AppData/Local/Bionus/Grabber/settings.ini
[09:29:25.319][Info] Temporary path: C:/Users/robot/AppData/Local/Temp\Grabber
[09:29:25.319][Info] Sources found: 25
[09:29:25.319][Info] SSL libraries: OpenSSL 1.1.1l  24 Aug 2021
[09:29:25.325][Info] Setting language to 'English' (D:\Programs\Grabber\languages\English.qm)...
[09:29:25.326][Info] 25 sources found: anime-pictures.net (Anime pictures), api.twitter.com (Twitter), behoimi.org (Danbooru), blacked.booru.org (Gelbooru (0.1)), danbooru.donmai.us (Danbooru (2.0)), derpibooru.org (Philomena), deviants-despository.booru.org (Gelbooru (0.1)), e-hentai.org (E-Hentai), e621.net (E621), exhentai.org (E-Hentai), gelbooru.com (Gelbooru (0.2)), hijiribe.donmai.us (Danbooru (2.0)), inflatebooru.booru.org (Gelbooru (0.1)), konachan.com (Moebooru), nhentai.net (NHentai), rule34.paheal.net (Shimmie), rule34.xxx (Gelbooru (0.2)), safebooru.org (Gelbooru (0.2)), sonohara.donmai.us (Danbooru (2.0)), tentaclerape.net (Shimmie), vidyart.booru.org (Gelbooru (0.1)), www.deviantart.com (DeviantArt), www.pixiv.net (Pixiv), www.zerochan.net (Zerochan), yande.re (Moebooru)
[09:29:25.339][Warning] It seems that Imgbrd-Grabber hasn't shut down properly last time.
[09:29:27.783][Info] Updating checkboxes.
[09:29:27.792][Info] [anime-pictures.net] Logging in...
[09:29:27.793][Info] [api.twitter.com] Logging in...
[09:29:27.793][Info] [api.twitter.com] Login finished: success.
[09:29:27.793][Info] [e-hentai.org] Logging in...
[09:29:27.793][Info] [exhentai.org] Logging in...
[09:29:27.793][Info] [gelbooru.com] Logging in...
[09:29:27.793][Info] [rule34.paheal.net] Logging in...
[09:29:27.794][Info] [tentaclerape.net] Logging in...
[09:29:27.794][Info] [www.pixiv.net] Logging in...
[09:29:27.794][Info] [www.pixiv.net] Refreshing OAuth2 token...
[09:29:27.794][Warning] [www.pixiv.net] Cannot refresh OAuth2 token without a refresh token
[09:29:27.794][Info] [www.pixiv.net] Login finished: failure.
[09:29:27.794][Info] [www.zerochan.net] Logging in...
[09:29:28.204][Info] [www.zerochan.net] Login finished: failure.
[09:29:28.287][Info] [e-hentai.org] Login finished: failure.
[09:29:28.302][Info] [anime-pictures.net] Login finished: failure.
[09:29:28.318][Info] [exhentai.org] Login finished: failure.
[09:29:28.767][Info] [tentaclerape.net] Login finished: failure.
[09:29:29.528][Info] [gelbooru.com] Login finished: failure.
[09:29:29.755][Info] [rule34.paheal.net] Login finished: failure.
[09:29:29.759][Info] Updating checkboxes.
[09:29:29.777][Info] Monitoring starting
[09:29:29.778][Info] Monitoring tick
[09:29:29.779][Info] Monitoring finished
[09:29:57.067][Info] Loading results...
[09:29:57.068][Info] [anime-pictures.net][Html] Loading page https://anime-pictures.net/pictures/view_posts/0?search_tag=anything&lang=en
[09:29:57.069][Info] [anime-pictures.net][Json] Loading page https://anime-pictures.net/pictures/view_posts/0?search_tag=anything&posts_per_page=20&lang=en&type=json
[09:29:57.069][Info] [api.twitter.com][Json] Loading page https://api.twitter.com/1.1/statuses/user_timeline.json?count=20&include_rts=true&exclude_replies=false&tweet_mode=extended&screen_name=anything
[09:29:57.069][Info] [behoimi.org][Html] Loading page http://behoimi.org/post/index?limit=20&page=1&typed_tags=true&tags=anything
[09:29:57.070][Info] [behoimi.org][Xml] Loading page http://behoimi.org/post/index.xml?limit=20&page=1&typed_tags=true&tags=anything
[09:29:57.070][Info] [blacked.booru.org][Html] Loading page https://blacked.booru.org/index.php?page=post&s=list&tags=anything&pid=0
[09:29:57.070][Info] [danbooru.donmai.us][Html] Loading page https://danbooru.donmai.us/posts?limit=20&page=1&tags=anything
[09:29:57.071][Info] [danbooru.donmai.us][Xml] Loading page https://danbooru.donmai.us/posts.xml?limit=20&page=1&tags=anything
[09:29:57.071][Info] [derpibooru.org][Html] Loading page https://derpibooru.org/search?page=1&sbq=anything
[09:29:57.071][Info] [derpibooru.org][Json] Loading page https://derpibooru.org/api/v1/json/search/images?per_page=20&page=1&q=anything
[09:29:57.071][Info] [deviants-despository.booru.org][Html] Loading page https://deviants-despository.booru.org/index.php?page=post&s=list&tags=anything&pid=0
[09:29:57.072][Info] [e-hentai.org][Html] Loading page https://e-hentai.org/?page=0&f_cats=0&f_search=anything
[09:29:57.072][Info] [e621.net][Html] Loading page https://e621.net/posts?limit=20&page=1&tags=anything
[09:29:57.072][Info] [e621.net][Json] Loading page https://e621.net/posts.json?limit=20&page=1&tags=anything
[09:29:57.073][Info] [exhentai.org][Html] Loading page https://exhentai.org/?page=0&f_cats=0&f_search=anything
[09:29:57.073][Info] [gelbooru.com][Html] Loading page https://gelbooru.com/index.php?page=post&s=list&tags=anything&pid=0
[09:29:57.073][Info] [gelbooru.com][Xml] Loading page https://gelbooru.com/index.php?page=dapi&s=post&q=index&limit=20&pid=0&tags=anything
[09:29:57.074][Info] [hijiribe.donmai.us][Html] Loading page https://hijiribe.donmai.us/posts?limit=20&page=1&tags=anything
[09:29:57.074][Info] [hijiribe.donmai.us][Xml] Loading page https://hijiribe.donmai.us/posts.xml?limit=20&page=1&tags=anything
[09:29:57.074][Info] [inflatebooru.booru.org][Html] Loading page https://inflatebooru.booru.org/index.php?page=post&s=list&tags=anything&pid=0
[09:29:57.075][Info] [konachan.com][Html] Loading page https://konachan.com/post/index?limit=20&page=1&tags=anything
[09:29:57.075][Info] [konachan.com][Xml] Loading page https://konachan.com/post/index.xml?limit=20&page=1&tags=anything
[09:29:57.075][Info] [nhentai.net][Html] Loading page https://nhentai.net/search/?page=1&q=anything
[09:29:57.076][Info] [nhentai.net][Json] Loading page https://nhentai.net/api/galleries/search?page=1&sort=date&query=anything
[09:29:57.076][Info] [rule34.paheal.net][Html] Loading page http://rule34.paheal.net/post/list/anything/1
[09:29:57.077][Info] [rule34.xxx][Html] Loading page https://rule34.xxx/index.php?page=post&s=list&tags=anything&pid=0
[09:29:57.077][Info] [rule34.xxx][Xml] Loading page https://rule34.xxx/index.php?page=dapi&s=post&q=index&limit=20&pid=0&tags=anything
[09:29:57.077][Info] [safebooru.org][Html] Loading page https://safebooru.org/index.php?page=post&s=list&tags=anything&pid=0
[09:29:57.078][Info] [safebooru.org][Xml] Loading page https://safebooru.org/index.php?page=dapi&s=post&q=index&limit=20&pid=0&tags=anything
[09:29:57.078][Info] [sonohara.donmai.us][Html] Loading page https://sonohara.donmai.us/posts?limit=20&page=1&tags=anything
[09:29:57.078][Info] [sonohara.donmai.us][Xml] Loading page https://sonohara.donmai.us/posts.xml?limit=20&page=1&tags=anything
[09:29:57.079][Info] [tentaclerape.net][Html] Loading page https://tentaclerape.net/post/list/anything/1
[09:29:57.079][Info] [vidyart.booru.org][Html] Loading page https://vidyart.booru.org/index.php?page=post&s=list&tags=anything&pid=0
[09:29:57.079][Warning] [www.pixiv.net] No valid source of the site returned result.
Grabber version: 7.6.2

Moving discussion to #2518
In the meantime, you should not enable Pixiv unless you log into it


How to get the labelHtml for a name relation

After labelHtml was removed from names, the related names on taxon pages are broken.
The UI receives name relations through the https://api.catalogue.life/dataset/2207/name/359/relations endpoint, and subsequently fetches each name:
https://api.catalogue.life/dataset/2207/name/360
https://api.catalogue.life/dataset/2207/name/362
It would be ideal if the https://api.catalogue.life/dataset/2207/name/359/relations endpoint include the labelHtml , that would even save the subsequent calls to the /name endpoint

Ah, makes sense. Leads to a quite inconsistent API unfortunately. I was strongly hoping to restrict labels to usages (which have namePhrase etc) and was glad to remove them from pure names.
What if the TaxonInfo object would already contain relations and resolve them to actual usages, not names?

What if the TaxonInfo object would already contain relations and resolve them to actual usages, not names?

That would be ideal

As a quick fix you can just render the scientificName & authorship of the name.
The label really becomes tricky only for usages with accordingTo and namePhrases


Stabilize a tz-sensitive test

This test was failing outside of UTC-5. Instead of worrying about timezones, let's just check part of the name string. We're still confirming that the value is populated and not erroring.

LGTM and @costrouc - merging!


When converting custom types like *gorm.db, it will result in a fatal error: stack overflow.

Describe the bug
when start app, it will result in a fatal error: stack overflow.
type Database struct {
	Name     string
	Type     string
	Host     string
	Database string
	Username string
	Password string
	Port     int
	Charset  string
	Prefix   string
	AuthCode string
	Db       *gorm.DB `json:",optional"`
}

type Config struct {
	Database  database.Database
        ...
}

the error is

runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
runtime: sp=0xc02bb00350 stack=[0xc02bb00000, 0xc04bb00000]
fatal error: stack overflow

To Reproduce
Steps to reproduce the behavior, if applicable:

The code is

type Database struct {
	Name     string
	Type     string
	Host     string
	Database string
	Username string
	Password string
	Port     int
	Charset  string
	Prefix   string
	AuthCode string
	Db       *gorm.DB `json:",optional"`
}

type Config struct {
	Database  database.Database
        ...
}

The error is

runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
runtime: sp=0xc02bb00350 stack=[0xc02bb00000, 0xc04bb00000]
fatal error: stack overflow

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Environments (please complete the following information):

OS: [e.g. macOS]
go-zero version [e.g. 1.4.4]
goctl version [e.g. 1.2.1, optional]

More description
Add any other context about the problem here.

Would you please try it with v1.5.2? It works well when I try it.

please await，let me try and feedback

2023/06/30 11:24:24 error: config file etc/admin.yaml, unsupported type: func

Can it be ignored? instead of unparseable?


update dependencies to point at swiftlang repos

Apple has been migrating its Swift repos to the swiftlang organization on Github. This patch updates the URLs in Package.swift to point at the new organization.

Oh thank you!


[MPS] torchao low-bit-precision optim does not expose 'backend' argument to torch.compile

on apple mps platforms, torchao training works great until we involve the AdamW8bit optimiser:
    assert wrapper_code_gen_cls is not None, f"Device {device_type} not supported"
torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised:
AssertionError: Device mps not supported

Set TORCH_LOGS="+dynamo" and TORCHDYNAMO_VERBOSE=1 for more information

and conditionally setting:
    if torch.backends.mps.is_available():
        import torch._dynamo
        torch._dynamo.config.suppress_errors = True

to suppress this error and 'fallback to eager mode' does not work in this situation, it merely hides the notice that this parameter could be set.
using aot_eager is required instead of inductor for MPS, but additionally it kinda limits third-party backends.
Can we expose the backend parameter, perhaps as compile_backend ?

This should be an easy PR to make, @bghira would you be interested in taking a stab at this? If you need any advice we hang out on #torchao on discord.gg/gpumode

yeah simpletuner supports finetuning diffusion models via torch-mps w/ or w/o optimum-quanto up to the 12B parameter Flux model, which really takes advantage of quantisation, down from 30G at pure bf16 (stochastic rounding etc) training to 15GB with quantisation to int8 (mps does n't support fp8)

Oh interesting you're also looking at diffusion models? we have a working group now dedicated towards that

either way not seeing memory savings with the 8bit adamw as i need the gradients to be upcast to fp32. the 4bit optim uses some ops not implemented on MPS pytorch yet, and enabling CPU fallback results in:
(mpsFileLoc): /AppleInternal/Library/BuildRoots/e0873e53-5185-11ef-9a51-9ab6d782fe32/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphUtilities.mm:233:0: error: 'mps.multiply' op requires the same element type for all operands and results
(mpsFileLoc): /AppleInternal/Library/BuildRoots/e0873e53-5185-11ef-9a51-9ab6d782fe32/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphUtilities.mm:233:0: note: see current operation: %4 = "mps.multiply"(%2, %arg2) : (tensor<16x3072xf32>, tensor<1xbf16>) -> tensor<*xf32>
(mpsFileLoc): /AppleInternal/Library/BuildRoots/e0873e53-5185-11ef-9a51-9ab6d782fe32/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphUtilities.mm:233:0: error: 'mps.multiply' op requires the same element type for all operands and results
(mpsFileLoc): /AppleInternal/Library/BuildRoots/e0873e53-5185-11ef-9a51-9ab6d782fe32/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphUtilities.mm:233:0: note: see current operation: %4 = "mps.multiply"(%2, %arg2) : (tensor<16x3072xf32>, tensor<1xbf16>) -> tensor<*xf32>
/AppleInternal/Library/BuildRoots/e0873e53-5185-11ef-9a51-9ab6d782fe32/Library/Caches/com.apple.xbs/Sources/MetalPerformanceShadersGraph/mpsgraph/MetalPerformanceShadersGraph/Core/Files/MPSGraphExecutable.mm:953: failed assertion `original module failed verification'
Traceback (most recent call last)

glorious MPS-library-level error and full application fault

Adding a compile backend flag makes sense, though I'm not sure which other backends are also useful for codegen optim.
If I'm not wrong, aot_eager will run in eager mode, so there will be no memory saving benefits. The memory saving relies on the fact that we do dequant and re-quant inside the kernel, so the dequant tensors will never materialize in global memory.

so you will require a custom mps extension for pytorch which accomplishes the same thing that you currently rely on cuda kernels for?
eg. following apple's example: https://developer.apple.com/documentation/metal/metal_sample_code_library/customizing_a_pytorch_operation
they provide a downloadable compileable sample:
'''
Copyright © 2023 Apple Inc.

See LICENSE folder for this sample’s licensing information.

Abstract:
The code for compiling the custom pytorch extension.
'''

import torch.utils.cpp_extension

compiled_lib = torch.utils.cpp_extension.load(
    name='CustomSoftshrink',
    sources=['CustomSoftshrink.mm'],
    extra_cflags=['-std=c++17'],
   )

and the relevant cpp example code that links into Metal directly:
/*
See the LICENSE.txt file for this sample’s licensing information.

Abstract:
The code that registers a PyTorch custom operation.
*/

#include <torch/extension.h>
#include "CustomSoftshrink.h"

#import <Foundation/Foundation.h>
#import <Metal/Metal.h>

// Helper function to retrieve the `MTLBuffer` from a `torch::Tensor`.
static inline id<MTLBuffer> getMTLBufferStorage(const torch::Tensor& tensor) {
  return __builtin_bit_cast(id<MTLBuffer>, tensor.storage().data());
}

torch::Tensor& dispatchSoftShrinkKernel(const torch::Tensor& input, torch::Tensor& output, float lambda) {
    @autoreleasepool {
        id<MTLDevice> device = MTLCreateSystemDefaultDevice();
...

Yes, if you want 8-bit Adam for MPS, you probably need a custom kernel. (Unless torch.compile or triton support emitting MPS kernel in the future :eyes:)
Just curious, if you want memory-saving techniques, would something like LoRA/QLoRA be more suitable? Low-bit optim only makes sense when you train the whole big model. And I don't think it's practical to do full fine-tune Flux on MPS (yes, you mentioned about developing on MPS first then move to CUDA, so there are still some valid points about having a working low bit optim on MPS, though you probably can do testing on CPU instead).

we are already quantising the whole model though with a LoRA - actually, lycoris LoKr in this case.
for my 128G unit, i can do a full finetune with 57G usage when ZeRO3 is working to use storage offload, and was hoping for more options
tinygrad is doing autogen metal kernels 🤷 it's possible to achieve

@msaroufim I don't know if there are already efforts on this, but a working group for inductor/triton+MPS might be interesting :eyes: (totally out of scope of this PR though)

Yeah we should 100% do more work here. @malfet is there anything we can help with?


Healthcheck enabled containers stuck in initializing state after they move to another host

Rancher versions:
rancher/server: v1.6.15-rc7
Steps to Reproduce:

Create a setup with 3 hosts "h1, h2, h3" on AWS
Launch EBS catalog and create a ebs volume "testvol" from the UI storage tab
Create healthcheck enabled service "service1" using ebs volume "testvol"
Power OFF the host "h1" where service1 exists.

Results:
After healthcheck enabled containers move to another host, they are stuck in initializing state.
Healthcheck on the other host reports:
3/16/2018 11:45:13 AMtime="2018-03-16T18:45:13Z" level=error msg="Failed to report status cb2ac09f-cfff-4ff7-b706-7f5e80c60a46_6d8d41d1-0cb7-423b-a02f-3fa45dba4c04_1=INIT: Bad response from [http://<IP_ADDRESS>:8080/v1/serviceevents], statusCode [409]. Status [409 Conflict]. Body: [{\"id\":\"c4c4e63b-540d-4cf3-9985-bb34a791507a\",\"type\":\"error\",\"links\":{},\"actions\":{},\"status\":409,\"code\":\"Conflict\",\"message\":\"Conflict\",\"detail\":null,\"baseType\":\"error\"}]"
3/16/2018 11:45:13 AMtime="2018-03-16T18:45:13Z" level=error msg="Failed to report status cb2ac09f-cfff-4ff7-b706-7f5e80c60a46_4671f320-d22a-4d1f-8d4a-98367460e456_1=INIT: Bad response from [http://<IP_ADDRESS>:8080/v1/serviceevents], statusCode [409]. Status [409 Conflict]. Body: [{\"id\":\"130086be-7887-4c04-96d1-77130c73b08d\",\"type\":\"error\",\"links\":{},\"actions\":{},\"status\":409,\"code\":\"Conflict\",\"message\":\"Conflict\",\"detail\":null,\"baseType\":\"error\"}]"
3/16/2018 11:45:15 AMtime="2018-03-16T18:45:15Z" level=error msg="Failed to report status cb2ac09f-cfff-4ff7-b706-7f5e80c60a46_6d8d41d1-0cb7-423b-a02f-3fa45dba4c04_1=INIT: Bad response from [http://<IP_ADDRESS>:8080/v1/serviceevents], statusCode [409]. Status [409 Conflict]. Body: [{\"id\":\"116790f8-c560-4c1d-9c5c-299a5d963f6e\",\"type\":\"error\",\"links\":{},\"actions\":{},\"status\":409,\"code\":\"Conflict\",\"message\":\"Conflict\",\"detail\":null,\"baseType\":\"error\"}]"
3/16/2018 11:45:15 AMtime="2018-03-16T18:45:15Z" level=error msg="Failed to report status cb2ac09f-cfff-4ff7-b706-7f5e80c60a46_4671f320-d22a-4d1f-8d4a-98367460e456_1=INIT: Bad response from [http://<IP_ADDRESS>:8080/v1/serviceevents], statusCode [409]. Status [409 Conflict]. Body: [{\"id\":\"c2a885aa-10bd-4572-9103-1f8184697e7d\",\"type\":\"error\",\"links\":{},\"actions\":{},\"status\":409,\"code\":\"Conflict\",\"message\":\"Conflict\",\"detail\":null,\"baseType\":\"error\"}]"

It looks like there's some race condition, if you just edit the ipsec service (for instance, change the description), health state update will be triggered and it should be fine.

I saw this everywhere over the weekend on my Rancher environment, v1.6.14 (non-RC). It caused many of my services to die and had a catastrophic failure on all of my websites.
The only way for me to fix this was by deleting the affected service and cloning a new one with the same health checks, which seem to assign them to healthy health check containers. Rancher does not seem to re-allocate health checks on the fly when the responsible hosts have dead health check containers.
In addition, editing or restarting the IPSec service didn't help.

I created a new cluster yesterday and I'm getting those after I create the second node. No services installed, just adding nodes in the cluster. IPSEC is also failing after the second node addition.
I'm using RancherOS 1.3.0 and Rancher 1.6.16 build on top of KVM. Master has a public IP and nodes have private IPs (10.x.x.x). There is firewall in between.

We are seeing the same behaviour in our production cluster every day: whenever a node is added healthcheck goes crazy and the only solution is to delete ipsec containers one-by-one and then delete healthcheck containers one-by-one so that they re-created from scratch...
Are there any other workarounds? This is causing us major disruptions in prod

I am having the same problem.
Working on AWS and when adding a second instance as Rancher host manually, (i.e. not via the GUI which is extremely cumbersome either way) I am getting the above error.

Any news or at least pointers on what this could be and/or how this could be worked around?
This is being a major issue for us in production and the last stone that will make us move away from rancher.
I found that sometimes after launching a new instance, if I restart rancher-agent it might fade away. Could it be that the agent somehow gets bound to the wrong ip address?

@nagliyvred there is a workaround based on this comment: https://github.com/rancher/rancher/issues/12140#issuecomment-373829233
what version of Rancher are you using?
@soumyalj after talking to @alena1108, there were some changes that indicate that it should be fixed i nthe last release v1.6.18.

Tested with v1.6.19-rc4. The use case was tested several times and could not be reproduced.
https://github.com/rancher/rancher/issues/14484


Variable override in command not working

What happened?
Upgraded from v6.0.0-alpha.7 to v6.0.0-alpha.16 and variable override in run command no longer applied.
What did you expect to happen instead?
Specified variable should be used in called command.
How can we reproduce the bug? (as minimally and precisely as possible)

Install v6.0.0-alpha.7
Run devspace run cmd1
Output should be "some value".
Run devspace run cmd2
Output should be "A different value".
Install v6.0.0-alpha.16
Run devspace run cmd1
Output should be "some value".
Run devspace run cmd2
Output should be "A different value" but is still "some value".

My devspace.yaml:
version: v2beta1
name: devspacetest

vars:
  VAR1:
    value: "some value"

commands:
  cmd1: |-
    echo ${VAR1}
  cmd2: |-
    devspace --var VAR1="A different value" run cmd1

Local Environment:

DevSpace Version: v6.0.0-alpha.7 & v6.0.0-alpha.16
Operating System: windows

Anything else we need to know?
Is this an expected change and if so how should we apply variable overrides to run commands moving forward?

/kind bug

@markphillips100 thanks a lot for creating this issue! I created a PR for this that should fix the problem.

Thanks @FabianKramm.  Will the PR be merged into the next alpha release do you think?

@markphillips100 yes it will be!


Grafana login not working

Version
v1.0.35
In what area(s)?
/area ansible
Expected Behavior
Grafana can be logged in from the OOD dashboard
Actual Behavior
Login fails
Steps to Reproduce the Problem
Access grafana after deployment.
Config.yml file used:
---
# yaml-language-server: $schema=config.schema.json

# name of the cluster
project_name: az-hop
# azure location name as returned by the command : az account list-locations -o table
location: eastus
# Name of the resource group to create all resources
resource_group: azhop
# If using an existing resource group set to true. Default is false
# When using an existing resource group make sure the location match the one of the existing resource group
use_existing_rg: false
# If set to true, will disable telemetry for azhop. See https://azure.github.io/az-hop/deploy/telemetry.html.
#optout_telemetry: true

# A log analytics workspace can be created for monitoring or alerting
# Alternatively, you can use an existing workspace.
# To use an existing workspace set create to false and specify the resource group, name and subscription the target workspace lives in
log_analytics:
  create: true
  # An existing log analytics workspace can be used instead. The resource group, name and subscription id of the workspace will need to be specified.
  # Grant the role "Log Analytics Contributor" on the target Log Analytics Workspace for the identity used to deploy az-hop
  #resource_group:
  #name:
  #subscription_id: # Optional, if not specified the current subscription will be used

# Option to install the monitoring agent on static infra VMs. Can be disabled if the agent is installed by policy.
monitoring:
  install_agent: true

#If set to true, it will create alert rules associated with az-hop. Enablement of alerting will require the specification of an admin email to send alerts to.
alerting:
  enabled: true
  admin_email<EMAIL_ADDRESS>  local_volume_threshold: 80

# Additional tags to be added on the Resource Group
tags:
  env: dev
# Define an Azure Netapp Files (ANF) account, single pool and volume
# If not present, assume that there is an existing NFS share for the users home directory
anf:
  create: true
  # Size of the ANF pool and unique volume (min: 4TB, max: 100TB)
  homefs_size_tb: 4
  # Service level of the ANF volume, can be: Standard, Premium, Ultra
  homefs_service_level: Standard
  # dual protocol
  dual_protocol: false # true to enable SMB support. false by default
  # If alerting is enabled, this value will be used to determine when to trigger alerts
  alert_threshold: 80 # alert when ANF volume reaches this threshold

# For small deployments you can use Azure Files instead of ANF for the home directory
azurefiles:
  create: false
  size_gb: 1024

# These mounts will be listed in the Files menu of the OnDemand portal and automatically mounted on all compute nodes and remote desktop nodes
mounts:
  # mount settings for the user home directory
  home: # This home name can't be changed
    # type of mount : existing, anf or azurefiles, default to existing. One of the three should be defined in order to mount the home directory
    # When using existing, the mountpoint, server, export and options should be defined, for other cases leave the values as defined with the curly braces
    type: anf
    mountpoint: /anfhome # /sharedhome for example
    server: '{{anf_home_ip}}' # Specify an existing NFS server name or IP, when using the ANF built in use '{{anf_home_ip}}'
    export: '{{anf_home_path}}' # Specify an existing NFS export directory, when using the ANF built in use '{{anf_home_path}}'
    options: '{{anf_home_opts}}' # Specify the mount options. Default to rw,hard,rsize=262144,wsize=262144,vers=3,tcp,_netdev
#  mount1:
#    mountpoint: /mount1
#    server: a.b.c.d # Specify an existing NFS server name or IP
#    export: myexport1 # Specify an existing NFS export name
#    options: my_options # Specify the mount options.

# name of the admin account
admin_user: clusteradmin
# List of identities (object ids) to grant read access to az-hop key vault (optional)
# key_vault_readers:
# Network
network:
  # Create Network and Application Security Rules, true by default, false when using an existing VNET if not specified
  create_nsg: true
  vnet:
    name: hpcvnet # Optional - default to hpcvnet
    #id: # If a vnet id is set then no network will be created and the provided vnet will be used
    address_space: "<IP_ADDRESS>/23"
    # Special VNET Tags
    # tags:
    #   key1: value1
    # When using an existing VNET, only the subnet names will be used and not the adress_prefixes
    subnets: # all subnets are optionals
    # name values can be used to rename the default to specific names, address_prefixes to change the IP ranges to be used
    # All values below are the default values
      frontend:
        name: frontend
        address_prefixes: "<IP_ADDRESS>/29"
        create: true # create the subnet if true. default to true when not specified, default to false if using an existing VNET when not specified
      admin:
        name: admin
        address_prefixes: "<IP_ADDRESS>/28"
        create: true
      netapp:
        name: netapp
        address_prefixes: "<IP_ADDRESS>/28"
        create: true
      # the outbounddns is optional and only when deploying an Azure Private DNS Resolver
      # outbounddns:
      #   name: outbounddns
      #   address_prefixes: "<IP_ADDRESS>/28"
      #   create: true
      ad:
        name: ad
        address_prefixes: "<IP_ADDRESS>/29"
        create: true
      # Bastion and Gateway subnets are optional and can be added if a Bastion or a VPN need to be created in the environment
      # bastion: # Bastion subnet name is always fixed to AzureBastionSubnet
      #   address_prefixes: "<IP_ADDRESS>/26" # CIDR minimal range must be /26
      #   create: true
      # gateway: # Gateway subnet name is always fixed to GatewaySubnet
      #   address_prefixes: "<IP_ADDRESS>/27" # Recommendation is to use /27 or /26 network
      #   create: true
      compute:
        name: compute
        address_prefixes: "<IP_ADDRESS>/24"
        create: true
  # Specify the Application Security Groups mapping if already existing
# asg:
#   resource_group: # name of the resource group containing the ASG. Default to the resource group containing azhop resources
#   names: # list of ASG names mapping to the one defined in az-hop
#     asg-ssh: asg-ssh
#     asg-rdp: asg-rdp
#     asg-jumpbox: asg-jumpbox
#     asg-ad: asg-ad
#     asg-ad-client: asg-ad-client
#     asg-lustre: asg-lustre
#     asg-lustre-client: asg-lustre-client
#     asg-pbs: asg-pbs
#     asg-pbs-client: asg-pbs-client
#     asg-cyclecloud: asg-cyclecloud
#     asg-cyclecloud-client: asg-cyclecloud-client
#     asg-nfs-client: asg-nfs-client
#     asg-telegraf: asg-telegraf
#     asg-grafana: asg-grafana
#     asg-robinhood: asg-robinhood
#     asg-ondemand: asg-ondemand
#     asg-deployer: asg-deployer
#     asg-guacamole: asg-guacamole
#     asg-mariadb-client: asg-mariadb-client

#  peering: # This list is optional, and can be used to create VNet Peerings in the same subscription.
#    - vnet_name: #"VNET Name to Peer to"
#      vnet_resource_group: #"Resource Group of the VNET to peer to"
#      vnet_allow_gateway: false # optional: allow gateway transit (default: true)

# Specify DNS forwarders available in the network
# dns:
#   forwarders:
#     - { name: foo.com, ips: "<IP_ADDRESS>, <IP_ADDRESS>" }

# When working in a locked down network, uncomment and fill out this section
locked_down_network:
  enforce: false
#   grant_access_from: [a.b.c.d] # Array of CIDR to grant access from, see https://docs.microsoft.com/en-us/azure/storage/common/storage-network-security?tabs=azure-portal#grant-access-from-an-internet-ip-range
  public_ip: true # Enable public IP creation for Jumpbox, OnDemand and create images. Default to true

# Base image configuration. Can be either an image reference or an image_id from the image registry or a custom managed image
linux_base_image: "OpenLogic:CentOS:7_9-gen2:latest" # publisher:offer:sku:version or image_id
# linux image plan if required, format is publisher:product:name
#linux_base_plan:
windows_base_image: "MicrosoftWindowsServer:WindowsServer:2019-Datacenter-smalldisk:latest" # publisher:offer:sku:version or image_id
lustre_base_image: "azhpc:azurehpc-lustre:azurehpc-lustre-2_12:latest"
# The lustre plan to use. Only needed when using the default lustre image from the marketplace. use "::" for an empty plan
lustre_base_plan: "azhpc:azurehpc-lustre:azurehpc-lustre-2_12" # publisher:product:name

# Jumpbox VM configuration, only needed when deploying thru a public IP and without a configured deployer VM
jumpbox:
  vm_size: Standard_B2ms
  # SSH port under which the jumpbox SSH server listens on the public IP. Default to 22
  # Change this to, e.g., 2222, if security policies (like "zero trust") in your tenant automatically block access to port 22 from the internet
  #ssh_port: 2222
# Active directory VM configuration
ad:
  vm_size: Standard_B2ms
  hybrid_benefit: false # Enable hybrid benefit for AD, default to false
  high_availability: false # Build AD in High Availability mode (2 Domain Controlers) - default to false

# On demand VM configuration
ondemand:
  vm_size: Standard_D4s_v5
  #fqdn: azhop.foo.com # When provided it will be used for the certificate server name
  generate_certificate: true # Generate an SSL certificate for the OnDemand portal. Default to true
# Grafana VM configuration
grafana:
  vm_size: Standard_B2ms
# Guacamole VM configuration
guacamole:
  vm_size: Standard_B2ms
# Scheduler VM configuration
scheduler:
  vm_size: Standard_B2ms
# CycleCloud VM configuration
cyclecloud:
  vm_size: Standard_B2ms
  # version: 8.3.0-3062 # to specify a specific version, see https://packages.microsoft.com/yumrepos/cyclecloud/

# Lustre cluster is optional and can be used to create a Lustre cluster in the environment.
lustre:
  create: false # true or false to create a lustre cluster
  rbh_sku: "Standard_D8d_v4"
  mds_sku: "Standard_D8d_v4"
  oss_sku: "Standard_D32d_v4"
  # oss_count: 1
  hsm_max_requests: 8
  mdt_device: "/dev/sdb"
  ost_device: "/dev/sdb"
  # optional to use existing storage for the archive
  # if not included it will use the azhop storage account that is created
  # hsm:
  #   storage_account: #existing_storage_account_name
  #   storage_container: #only_used_with_existing_storage_account
# List of users to be created on this environment
users:
  # name: username - must be less than 20 characters
  # uid: uniqueid
  # shell: /bin/bash # default to /bin/bash
  # home: /anfhome/<user_name> # default to /homedir_mountpoint/user_name
  # groups: list of groups the user belongs to
  - { name: hpcadmin, uid: 10001, groups: [5001, 5002] }
  - { name: hpcuser, uid: 10002 }
  # - { name: user1, uid: 10003, groups: [6000] }
  # - { name: user2, uid: 10004, groups: [6001] }

usergroups:
# These group names could be changed but not the gids as names will be mapped by gids
  - name: azhop-users # All users will be added to this group by default
    gid: 5000
  - name: azhop-admins
    gid: 5001
    description: "For users with azhop admin privileges"
  - name: azhop-localadmins
    gid: 5002
    description: "For users with sudo right or local admin right on nodes"
# For custom groups use gid >= 6000
  # - name: project1 # For project1 users
  #   gid: 6000
  # - name: project2 # For project2 users
  #   gid: 6001

# Enable cvmfs-eessi - disabled by default
cvmfs_eessi:
  enabled: false

# scheduler to be installed and configured (openpbs, slurm)
queue_manager: slurm

# Specific SLURM configuration
slurm:
  # Enable SLURM accounting, this will create a SLURM accounting database in a managed MariaDB server instance
  accounting_enabled: false
  # SLURM version to install. Currently supported: only 20.11.9 and 22.05.3.
  # Other versions can be installed by building from source (See build_rpms setting in the slurmserver role)
  slurm_version: 20.11.9
  # Name of the SLURM cluster for accounting (optional, default to 'slurm')
  # WARNING: changing this value on a running cluster will cause slurmctld to fail to start. This is a
  # safety check to prevent accounting errors. To override, remove /var/spool/slurmd/clustername
  cluster_name: slurm_azhop

enroot:
  enroot_version: 3.4.1

# If using an existing Managed MariaDB instance for SLURM accounting and/or Guacamole, specify these values
#database:
  # Admin user of the database for which the password will be retrieved from the azhop keyvault
  #user: sqladmin
  # FQDN of the managed instance
  #fqdn:
  # IP of the managed private endpoint if the FQDN is not registered in a private DNS
  #ip:

# Create a Bastion in the bastion subnet when defined
bastion:
  create: false

# Create a VPN Gateway in the gateway subnet when specified
vpn_gateway:
  create: false

# Authentication configuration for accessing the az-hop portal
# Default is basic authentication. For oidc authentication you have to specify the following values
# The OIDCClient secret need to be stored as a secret named <oidc-client-id>-password in the keyvault used by az-hop
authentication:
  httpd_auth: basic # oidc or basic
  # User mapping https://osc.github.io/ood-documentation/latest/reference/files/ood-portal-yml.html#ood-portal-generator-user-map-match
  # You can specify either a map_match or a user_map_cmd
  # Domain users are mapped to az-hop users with the same name and without the domain name
  # user_map_match: '^([^<EMAIL_ADDRESS>  # If using a custom mapping script, update it from the ./playbooks/files directory before running the playbook
  # user_map_cmd: /opt/ood/ood_auth_map/bin/custom_mapping.sh
  # ood_auth_openidc:
  #   OIDCProviderMetadataURL: # for AAD use 'https://sts.windows.net/{{tenant_id}}/.well-known/openid-configuration'
  #   OIDCClientID: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
  #   OIDCRemoteUserClaim: # for AAD use 'upn'
  #   OIDCScope: # for AAD use 'openid profile email groups'
  #   OIDCPassIDTokenAs: # for AAD use 'serialized'
  #   OIDCPassRefreshToken: # for AAD use 'On'
  #   OIDCPassClaimsAs: # for AAD use 'environment'

image_gallery:
  create: false # Create the shared image gallery to store custom images

# List of images to be defined
images:
  # - name: image_definition_name # Should match the packer configuration file name, one per packer file
  #   publisher: azhop
  #   offer: CentOS
  #   sku: 7_9-gen2
  #   hyper_v: V2 # V1 or V2 (V1 is the default)
  #   os_type: Linux # Linux or Windows
  #   version: 7.9 # Version of the image to create the image definition in SIG. Pattern is major.minor where minor is mandatory

  # Pre-defined images
  - name: azhop-compute-almalinux-8_7
    publisher: azhop
    offer: almalinux
    sku: 8_7-hpc-gen2
    hyper_v: V2
    os_type: Linux
    version: 8.7
  - name: azhop-centos79-v2-rdma-gpgpu
    publisher: azhop
    offer: CentOS
    sku: 7.9-gen2
    hyper_v: V2
    os_type: Linux
    version: 7.9
  # Image definition when using a custom image to build compute nodes images
  - name: azhop-centos79-v2-rdma-ci
    publisher: azhop
    offer: CentOS
    sku: 7.9-gen2-ci
    hyper_v: V2
    os_type: Linux
    version: 7.9
  # Image definition when using a custom image to build remote viz nodes images
  - name: azhop-centos79-desktop3d-ci
    publisher: azhop
    offer: CentOS
    sku: 7.9-gen2-desktop3d-ci
    hyper_v: V2
    os_type: Linux
    version: 7.9
  - name: azhop-centos79-desktop3d
    publisher: azhop
    offer: CentOS
    sku: 7.9-gen2-desktop3d
    hyper_v: V2
    os_type: Linux
    version: 7.9
  - name: azhop-compute-centos-7_9
    publisher: azhpc
    offer: azhop-compute
    sku: centos-7_9
    hyper_v: V2
    os_type: Linux
    version: 7.9
  - name: azhop-desktop-centos-7_9
    publisher: azhpc
    offer: azhop-desktop
    sku: centos-7_9
    hyper_v: V2
    os_type: Linux
    version: 7.9
  - name: azhop-compute-ubuntu-1804
    publisher: azhpc
    offer: azhop-compute
    sku: ubuntu-1804
    hyper_v: V2
    os_type: Linux
    version: 18.04
  - name: azhop-win10
    publisher: azhop
    offer: Windows-10
    sku: 21h1-pron
    hyper_v: V1
    os_type: Windows
    version: 10.19043
  # Base image when building your own HPC image and not using the HPC marketplace images
  - name: base-centos79-v2-rdma
    publisher: azhop
    offer: CentOS
    sku: 7.9-gen2-rdma-nogpu
    hyper_v: V2
    os_type: Linux
    version: 7.9

# Autoscale default settings for all queues, can be overriden on each queue depending on the VM type if needed
autoscale:
  idle_timeout: 1800 # Idle time in seconds before shutting down VMs - default to 1800 like in CycleCloud

# List of queues (node arrays in Cycle) to be defined
# don't use queue names longer than 8 characters in order to leave space for node suffix, as hostnames are limited to 15 chars due to domain join and NETBIOS constraints.
queues:
  - name: execute # name of the Cycle Cloud node array
    # Azure VM Instance type
    vm_size: Standard_F2s_v2
    # maximum number of cores that can be instanciated
    max_core_count: 1024
    # Use the pre-built azhop image from the marketplace
    image: azhpc:azhop-compute:centos-7_9:latest
    # Use this image ID when building your own custom images
    #image: /subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.Compute/galleries/{{sig_name}}/images/azhop-centos79-v2-rdma-gpgpu/latest
    # Image plan specification (when needed for the image). Terms must be accepted prior to deployment
    # plan: publisher:product:name
    # Set to true if AccelNet need to be enabled. false is the default value
    EnableAcceleratedNetworking: false
    # spot instance support. Default is false
    spot: false
    # Set to false to disable creation of placement groups (for SLURM only). Default is true
    ColocateNodes: false
    # Specific idle time in seconds before shutting down VMs, make sure it's lower than autoscale.idle_timeout
    idle_timeout: 300
    # Set the max number of vm's in a VMSS; requires additional limit raise through support ticket for >100;
    # 100 is default value; lower numbers will improve scaling for single node jobs or jobs with small number of nodes
    MaxScaleSetSize: 100
  - name: hc44rs
    vm_size: Standard_HC44rs
    max_core_count: 440
    image: azhpc:azhop-compute:centos-7_9:latest
    spot: true
    EnableAcceleratedNetworking: true
  - name: hb120v2
    vm_size: Standard_HB120rs_v2
    max_core_count: 1200
    image: azhpc:azhop-compute:centos-7_9:latest
    spot: true
    EnableAcceleratedNetworking: true
  - name: hb120v3
    vm_size: Standard_HB120rs_v3
    max_core_count: 1200
    image: azhpc:azhop-compute:centos-7_9:latest
    spot: true
    EnableAcceleratedNetworking: true
    # Queue dedicated to GPU remote viz nodes. This name is fixed and can't be changed
  - name: viz3d
    vm_size: Standard_NV12s_v3
    max_core_count: 48
    # Use the pre-built azhop image from the marketplace
    image: azhpc:azhop-desktop:centos-7_9:latest
    # Use this image ID when building your own custom images
    #image: /subscriptions/{{subscription_id}}/resourceGroups/{{resource_group}}/providers/Microsoft.Compute/galleries/{{sig_name}}/images/azhop-centos79-desktop3d/latest
    ColocateNodes: false
    spot: false
    EnableAcceleratedNetworking: true
    max_hours: 12 # Maximum session duration
    min_hours: 1 # Minimum session duration - 0 is infinite
    # Queue dedicated to share GPU remote viz nodes. This name is fixed and can't be changed
  - name: largeviz3d
    vm_size: Standard_NV48s_v3
    max_core_count: 96
    image: azhpc:azhop-desktop:centos-7_9:latest
    ColocateNodes: false
    EnableAcceleratedNetworking: true
    spot: false
    max_hours: 12
    min_hours: 1
    # Queue dedicated to non GPU remote viz nodes. This name is fixed and can't be changed
  - name: viz
    vm_size: Standard_D8s_v5
    max_core_count: 200
    image: azhpc:azhop-desktop:centos-7_9:latest
    ColocateNodes: false
    spot: false
    EnableAcceleratedNetworking: true
    max_hours: 12
    min_hours: 1

# Remote Visualization definitions
enable_remote_winviz: false # Set to true to enable windows remote visualization

remoteviz:
  - name: winviz # This name is fixed and can't be changed
    vm_size: Standard_NV12s_v3 # Standard_NV8as_v4 Only NVsv3 and NVsV4 are supported
    max_core_count: 48
    image: "MicrosoftWindowsDesktop:Windows-10:21h1-pron:latest"
    ColocateNodes: false
    spot: false
    EnableAcceleratedNetworking: true

# Application settings
applications:
  bc_codeserver:
    enabled: true
  bc_jupyter:
    enabled: true
  bc_amlsdk:
    enabled: true
  bc_rstudio:
    enabled: true
  bc_ansys_workbench:
    enabled: true
  bc_vmd:
    enabled: true
  bc_paraview:
    enabled: true
  bc_vizer:
    enabled: true

closed by #1530


Can't build wheel for MacOs M1

System information
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): MacOs M1 (12.0 Beta Monterey)
TensorFlow version and how it was installed (source or binary): 2.5.0 (pip)
TensorFlow-Addons version and how it was installed (source or binary): source, following instructions in https://github.com/tensorflow/addons/issues/2503
Python version: 3.9.6
Is GPU used? (yes/no): NA
Describe the bug
Can't build wheel for tensorflow-addons in a conda environment.
Everything goes fine during:
git clone -b mywork https://github.com/tetsuyasu/addons.git/
cd addons
python3 ./configure.py
bazel build build_pip_pkg
pip install pathlib

but when I run bazel-bin/build_pip_pkg artifacts I get
AssertionError: would build wheel with unsupported tag ('cp39', 'cp39', 'macosx_11_0_arm64')
+ true
+ cp 'dist/*.whl' /Users/as/addons/artifacts
cp: dist/*.whl: No such file or directory

Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

/cc @lgeiger

@lgeiger I don't have the M1. Can you reproduce this? If not I will close it

I also don't have access to an M1 mac to reproduce this (I previously tested the wheels on a machine from a colleague).
I assume, that this is just due to an old version of some dependencies. I'd recommend trying again after:
python -m pip install wheel setuptools pip --upgrade

See pypa/wheel#381

This method is really useful

@lgeiger I don't have the M1. Can you reproduce this? If not I will close it

I also don't have access to an M1 mac to reproduce this (I previously tested the wheels on a machine from a colleague).
I assume, that this is just due to an old version of some dependencies. I'd recommend trying again after:
python -m pip install wheel setuptools pip --upgrade

See pypa/wheel#381

great tip, thank you!


Bug: Inconsistency between IndexTarSamples and MMIndexedTar filename filtering

Description
There's an inconsistency in how filenames are filtered between IndexTarSamples and MMIndexedTar classes that can lead to index misalignment and potential data corruption.
Current Behavior

IndexTarSamples filters filenames for those containing periods (.) when creating the filename list
However, MMIndexedTar does not apply this same filtering
When IndexTarSamples.__getitem__ calls MMIndexedTar.get_file, it uses an index based on the filtered list to access the unfiltered list
Additionally, ShardWriter appears to silently truncate keys longer than 128 characters, but still saves these entries in the index without their associated data

Expected Behavior

Both classes should apply consistent filename filtering
Long keys should either be:

Rejected with an error during writing, or
Properly handled with truncation and appropriate warnings

Indexes should align between the filtered and unfiltered lists

Suggested Fix

Align filtering logic between IndexTarSamples and MMIndexedTar
Add explicit validation for key length in ShardWriter
Consider adding a warning or error when attempting to write keys > 128 chars

Thanks; I'll have a look.


Card type idea

This little app is awesome. Thanks for developing it.
I was wondering if you could add perhaps a blank card type (something that does not have the Stratagem/Tactical objective).
Perhaps the card type could be something we could input (eg. I'd put "Warlord Trait" or even an HQ character name) instead of the default.
Title, fluff and rule text could remain. Command points not needed.

I totally skipped the header field! Sorry! The Pray card does exactly what I want


(Azure CXP) Doc Update

Added line 97 with same info as line 96 which talks about exactly same error.
| AADSTS500022 | Access to '{tenant}' tenant is denied. AADSTS500022 indicates that the tenant restriction feature is configured and that the user is trying to access a tenant that isn't in the list of allowed tenants specified in the header Restrict-Access-To-Tenant. For more information, see Use tenant restrictions to manage access to SaaS cloud applications.|
As per  customer reported incident MicrosoftDocs/azure-docs/issues/94478

@rwike77
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@shashishailaj  Thanks.  #sign-off


Fix for single uart when uart1 is used. Remove uart->index. Sync to latest

Fix for single uart when uart1 is used. Remove uart->index. Sync to latest

Thank you so much for this fix, Ian.


Increment value is always set to None for TwoUpOneDownStaircase and ThreeUpOneDownStaircase?

https://github.com/VU-Cog-Sci/PRF_experiment/blob/ed4138aa7607377782b4db42fe9eacdc06fc7aca/exp_tools/Staircase.py#L72

I'll have to check this with @omeomi, as he's the last one to update this part of the code, to my knowledge. He had, at some point, discovered a bug in this code, which I created very quickly and never had the time to test.
As a quick possibility, perhaps we could see if this code is updated in either another branch of this repo, or the one of his that forks this one? In any case, for your experiment we could just use a set of different coherence values without using a staircase

Yes, this is one of the bugs that were in this code. I have a working version of Staircase.py here: https://github.com/omeomi/OriColor_attention_fmri/blob/oricolormapper/exp_tools/Staircase.py
This is not a fork anymore but I can put it in the PRF_experiment if you want. You will have to check that it works though, because I changed quite a few things (and added things as well).

Note that @Gilles86 changed the exp_tools to an actual python package, that at some point we'll all want to start using as a basis for experiments I think. We should get together and discuss what should go into this. The same thing goes for hedfpy, but that's another story

That is a good idea, it was very clunky to have the same tools in every experiment

The bug is simply that in the constructor of the TwoUpOneDownStaircase, the parameters sent to the base StairCase-init are always the default. E.g., increment_value is always set to 10:

def __init__(self, initial_value, initial_stepsize, nr_reversals = 10, increment_value = None, stepsize_multiplication_on_reversal = 0.75, max_nr_trials = 40 ):
        super(TwoUpOneDownStaircase, self).__init__(initial_value, initial_stepsize, nr_reversals = 10, increment_value = None, stepsize_multiplication_on_reversal = 0.75, max_nr_trials = 40)

So it should be something like
def __init__(self, initial_value, initial_stepsize, nr_reversals = 10, increment_value = None, stepsize_multiplication_on_reversal = 0.75, max_nr_trials = 40 ):
        super(TwoUpOneDownStaircase, self).__init__(initial_value, initial_stepsize, nr_reversals=nr_reversals, increment_value=increment_value, stepsize_multiplication_on_reversal = stepsize_multiplication_on_reversal, max_nr_trials = max_trials)

You can find the Python-module-version of exptools I've been working on here:
https://github.com/VU-Cog-Sci/exptools


More method in freeing up storage for attachments

For Freeing Attachment table (first section), a good method, if you have a lot of duplicate attachments, is the combine the duplicate entries into a single one. It is documented here, in the Reusing Email Attachments section.

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

ID: cb9c9aae-ceaa-2e78-3752-2770327f49a7
Version Independent ID: acd2ddc9-6225-92e8-2636-2a02437c3d82
Content: Free up storage space - Power Platform
Content Source: power-platform/admin/free-storage-space.md
Service: power-platform
Sub-service: admin
GitHub Login: @Peakerbl
Microsoft Alias: peakerbl

Thanks for your comment, @laorient. This issue has been assigned to the doc author for review.


rewrote docs to better illustrate synergy bw sim and real

Description
rewrote docs for better design flow (and fixed some logical issues), renamed gym envs to reflect the TriFinger and not just Finger
How I Tested
by running all the unit tests

[x] All new code is formatted according to our style guide (for C++ run clang-format, for Python, run flake8 and fix all warnings).
[x] All new functions/classes are documented and existing documentation is updated according to changes.
[x] No commented code from testing/debugging is kept (unless there is a good reason to keep it).

thank you :)


There shouldn't be Errors for things that are working properly

Godot version:
Godot 3.1 nightly
OS/device including version:
Manjaro 64bit+Windows 64bit(yep dual boot)
Issue description:
I hate the fact that in Godot you get to see errors for everything, like when I am trying to write a shader and it get's compiled for every few words I type and just blasts the OUTPUT with errors for all that which is meaningless.
I don't know if it can be turned off in the Editor somewhere, I haven't found it yet.
But there are lots of such examples especially, create a TileSet using the TileMap Node and start adding stuff to it, by the time you have a couple tiles ready you OUTPUT will be filled with errors.
And it's all meaningless.
All this bombardment of errors simply decrease the value/use of Errors, I don't know why we haven't fixed this yet. But the errors should be a clear log of what went wrong only for things that actually went wrong.
If there is a use to it all yep we should keep them but we can atleast try to remove as many as we can atleast to make the OUTPUT window a more sensible place.

Please... Those kind of issue do not help. Everybody agrees on the fact that the editor drops errors in unexpected situations and it is not good.
Please do as qarmin (if I'm not mistaking in the name) and open an issue for specific cases, in specific situation.

@groud point noted, and I should just fix as many as I can too, should the PRs be separate or the same??

@swarnimarun you can open one issue for each problem (with reproduction step and all). For the PR it depends, if they are related problems you can use a single one but in general it's better to have one PR for each specific fix.


Error when getting jsmods_require: {} Facebook might have changed protocol

Description of the problem
Sending messages fails with the message Error when getting jsmods_require: {$JSON} Facebook might have changed protocol
Code to reproduce
import getpass
import fbchat
from fbchat import Client
from fbchat.models import *

client = Client("[redacted]", getpass.getpass())

message_id = client.send(Message(text='test message'), thread_id=client.uid, thread_type=ThreadType.USER)

Traceback
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/ktbsh/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/201.7223.92/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "/home/ktbsh/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/201.7223.92/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/ktbsh/PycharmProjects/fb_zen/src/fbzen.py", line 8, in <module>
    message_id = client.send(Message(text='test message'), thread_id=client.uid, thread_type=ThreadType.USER)
  File "/home/ktbsh/PycharmProjects/fb_zen/venv/lib/python3.8/site-packages/fbchat/_client.py", line 1061, in send
    return self._doSendRequest(data)
  File "/home/ktbsh/PycharmProjects/fb_zen/venv/lib/python3.8/site-packages/fbchat/_client.py", line 1037, in _doSendRequest
    mid, thread_id = self._state._do_send_request(data)
  File "/home/ktbsh/PycharmProjects/fb_zen/venv/lib/python3.8/site-packages/fbchat/_state.py", line 316, in _do_send_request
    fb_dtsg = _util.get_jsmods_require(j, 2)
  File "/home/ktbsh/PycharmProjects/fb_zen/venv/lib/python3.8/site-packages/fbchat/_util.py", line 208, in get_jsmods_require
    raise e
  File "/home/ktbsh/PycharmProjects/fb_zen/venv/lib/python3.8/site-packages/fbchat/_util.py", line 202, in get_jsmods_require
    return j["jsmods"]["require"][0][index][0]
IndexError: list index out of range

Environment information

Python version (latest at the time of writing)
fbchat version (latest at the time of writing)

I implemented a fix by changing the index from 2 to 3 in _state.py (~316), but currently battling with dependencies for properly filing a pull request according to project guidelines.


Plug-in Request: Steam Broadcaster

Steam Broadcaster would be a great plug-in to have for life streamer. Currently, Steam Broadcaster does not work on Firefox. Linux users are currently forced to use Google Chrome or the Steam client in order to watch the broadcast.
Here's an example link of such a broadcast.
http://steamcommunity.com/broadcast/watch/76561198198486997
Thanks

Duplicate of #621


Updated Kubernetes configurations and added docker-compose support

Additions:

Save encrypted-dns.toml on the mounted keys volume, and make sure there is a symlink pointing to it from etc.
Added docker-compose. This works without configuration. Just run docker-compose up. Then change the command to start, and run it again. Keys will be persisted and it can be restarted without any issues. I used port 5443 so it doesn't conflict with other services. In my env 443 is trickier to deploy when running nginx load balancers.
Added required annotations for GCE networking policies.

Fixes https://github.com/DNSCrypt/dnscrypt-server-docker/issues/104 https://github.com/DNSCrypt/dnscrypt-server-docker/issues/94 https://github.com/DNSCrypt/dnscrypt-server-docker/issues/101

This is very cool, thank you so much for contributing this!

@zquestz thanks, your time and effort is honorable. But, and that's my personal opinion, @jedisct1 I really don't like it that the docker-compose.yml in this repository and project references to a foreign and "unofficial" docker image now.

Nod.
What are the differences between that external image and this one?

Agreed as well. The only reason for my image is the slight change to the entrypoint.sh and Dockerfile adds a symlink. Those changes are now in your repo. You should be able to build the new image, post it on the official location and update the reference in the kubernetes and docker compose files.