Enum validation support?

Is it possible right now? related to #3
example:
enum Foo {
  BAR = 'BAR',
  BAZ = 'BAZ'
}
let e = z.enum(Foo);

e.parse("LOL"); // throws

I implemented a way to declare enums, but it's a bit different from the API you suggested. I will definitely consider using a syntax like the one you recommended at some point though.
Current usage:
const MyEnum = z.enum([
  z.literal('Bar'),
  z.literal('Baz'),
  z.literal('Foo')
]);

MyEnum.parse('Bar'); // => Bar
MyEnum.parse('LOL'); // => throws

Type inference works as expected:
type MyEnum = z.TypeOf<typeof MyEnum>
// => "Bar" | "Baz" | "Foo"

And for good measure you can get autocomplete on your enum values with the .Values variable like so:
const val = MyEnum.Values.Bar;

type MyEnumValues = MyEnum.Values;
// => { Bar: "Bar", Baz: "Baz", Foo: "Foo" }

I'm about to go out of town, but I will eventually implement a syntax more similar to yours, probably called .fromEnum():
enum Foo {
  BAR = 'BAR',
  BAZ = 'BAZ'
}
let e = z.fromEnum(Foo);

e.parse("LOL"); // throws

Closing this in the meantime.

FWIW the lack of support for enums is what sent me into the arms of io-ts having tried zod first, although not a hugely satisfying fix there: https://github.com/gcanti/io-ts/issues/216#issuecomment-599020040. Requires an additional helper needs to be invoked like:
fromEnum<EnumType>('EnumType', EnumType)

However, once it's done you are allowed to forget about it forever.

I will definitely consider using a syntax like the one you recommended

It sounds like you are seeing this as syntactic sugar. What I'd like is the inferred type to be exactly the enum type I pass in.
The problem with defining the enum as you describe is that the inferred string union is not assignable to the existing enum. So you still need to convert the union to the enum via reverse lookup EnumType[value].  This gets ugly if you have functions taking deeply nested types with enum values present.
Simple support for this seems on-brand for your develop-experience focus and a differentiator with io-ts :)

I appreciate the feedback. 👍
In my opinion Zod's current approach is much more developer-friendly, though I understand that it's annoying to rewrite a bunch of enums in a non-language construct.
 Defining a mapping from string keys to numeric values that hides the actual values and is determined exclusively by key ordering is a recipe for disaster. gcanti agrees with me on this: https://github.com/gcanti/io-ts/issues/216#issuecomment-621615906
Since I expect many people will use Zod to validate "real data" before writing it to their database, etc, I wanted to help users avoid that category of bugs.
The io-ts approach is doubly duplicative. You have redundancy in your "real" enum definition
enum MyEnum {
  Tuna = "tuna",
  Trout = "trout
}

and triple-redundancy in your io-ts schema definition
fromEnum<Thing>("Thing", Thing);

compared to
z.enum(['Tuna','Trout']);

Moreover there appears to be a bug in @geekflyers fromEnum implementation where it will incorrectly accept one of the enum's keys as a valid value. I haven't tested this so apologies if I'm wrong about this.
enum Thing {
  FOO = "foo",
  BAR = "bar"
}

const ThingCodec = fromEnum<Thing>("Thing", Thing);

ThingCodec.decode('foo')
// passes validation correctly

ThingCodec.decode('FOO')
// passes validation incorrectly

So this solution doesn't really give you the behavior you want anyway.

tl;dr using enums is not my choice to make, the inferred type for a schema has values (where an enum value should be) that are not assignable to enum values, meaning they cannot be passed to functions that expect enums.

I am not a great fan of enums either, the subtleties of const and non-const sprint to mind. The point is you often do not control the definition of types on which you depend. Either they are owned by code you do not control or are generated by some tooling that is hard to change (e.g. OpenAPI spec). Despite their short-comings they are part of a language with at the very least highly suggestive semantics, and outside of typescript code where const literals stand in for enums very well I'm not sure I would agree with an outright ban of enums. Moreover I'd question if a schema library should be calling the shots here.

annoying to rewrite a bunch of enums in a non-language construct
The io-ts approach is doubly duplicative.

It's not that it's annoying, as you point out the option I am currently using isn't pretty. What is a deal-breaker for me is that if I have a structure containing enums like:
type Foo = {
  Inner: {
    Bar: EnumType
  }
  Baz: EnumType
}

The schema inferred type will be something like:
type InferredFoo = {
  Inner: {
    Bar: 'ValueA' | 'ValueB'
  }
  Baz: ValueA' | 'ValueB'
}

I cannot pass InferredFoo to a function that expects Foo, but I mean to express Foo with my schema.
I could define a function realFoo(foo: InferredFoo): Foo but that is excessively burdensome. I need to be able to describe the shape of the data I actually have with schema within the confines of Typescripts Javascripty enums.

You have redundancy in your "real" enum definition

As above, let's assume that someone else has inflicted that on me.

So this solution doesn't really give you the behavior you want anyway.

I actually stopped paying attention when it compiled :) but I've just written a test case and it does not exhibit the behaviour you describe. It's acting over the values of the enum.

z.NativeEnum(MyEnum)
Worked for my with a prisma db schema generated enum

Lol, when you find your answer looking for the problem in google and can't remember how you knew the answer a year back.
Back to the future debugging LOL

for future googlers – it's z.nativeEnum, not z.NativeEnum
https://zod.dev/?id=native-enums


Babel config for JSX not working

If you are reporting a bug, please fill in below. Otherwise feel free to remove this template entirely.
Can you reproduce the problem with latest npm?
Yes, I'm running<EMAIL_ADDRESS>and I've ran this: (im  on OSX)
npm install -g npm@latest

cd your_project_directory
rm -rf node_modules
npm install

Can you still reproduce it?
Yes
Description
in-browser runtime errors related to jsx not being compiled via babel:
5.2f3d2e1….chunk.js:1 Uncaught SyntaxError: Unexpected token <
main.fa8c7ab….js:1 Dynamic page loading failed Error: Loading chunk 5 failed.
    at HTMLScriptElement.n (main.fa8c7ab….js:1)
i @ main.fa8c7ab….js:1
1.fea1997….chunk.js:1 Uncaught SyntaxError: Unexpected token <
0.c1522f9….chunk.js:1 Uncaught SyntaxError: Unexpected token <
main.fa8c7ab….js:1 Uncaught (in promise) Error: Loading chunk 5 failed.
    at HTMLScriptElement.n (main.fa8c7ab….js:1)
n @ main.fa8c7ab….js:1
sw.js:1 The script has an unsupported MIME type ('text/html').
http://localhost:3000/sw.js Failed to load resource: net::ERR_INSECURE_RESPONSE

Expected behavior
App should run.
Actual behavior
Blank page with errors in console
Environment
Run these commands in the project folder and fill in their results:

npm ls inferno-scripts (if you haven’t ejected):

$ npm ls inferno-scripts
<EMAIL_ADDRESS>/Users/<home>/dev/repos/inferno-test-2
└──<EMAIL_ADDRESS>

node -v:  v7.3.0
npm -v: 4.0.5

Then, specify:

Operating system: OSX macOS Sierra v10.12.2
Browser and version: Chrome v55.0.2883.95

Reproducible Demo
https://github.com/hulkish/inferno-test-2

Hey @hulkish what should I do to reproduce the issue in your github repository?
What I tried so far:
I clone the repository.
I did npm i
I ran npm run start -> browser opened localhost:3000   (basic example renderd, no errors in console)
I ran npm run build I got info that production build was successfully made

@Havunen For me,  I just run:
npm install
npm start

No errors during build and it seems like its working -  however in the browser is where the error occurs
... what version of node are u using? i wonder if its. because of the version im using

I just tried this again with a different version of node (6.9.3) and got the same (error'd behavior as I originally reported)

I previously tried with nodeJS 7.3.0  and npm 4.0.5 on my linux stack. I will try with windows machine nodeJS 7.4.0 now.

What I have tried so far:
git clone https://github.com/hulkish/inferno-test-2.git
npm install (wait until its ready)
npm start
- open Google Chrome v55 64bit  localhost:3000 (no errors in console)
- open FireFox v50.1.0  localhost:3000 (no errors in console)
- open Microsoft EdgeHTML 14.14393  localhost:3000 (no errors in console)
- open Internet Explorer 11.576  localhost:3000 (no errors in console)

npm test (test runner starts 1 test pass)
I tried editing Inferno text in source and it reflect into the browser also. (hot reloading)

npm -v 4.0.5
node -v 7.4.0
windows 10 build 1607

I have also tried to reproduce this on my Linux stack no luck... what am I doing wrong?

I started browsing upstream repository and do you think any of these is related?:
https://github.com/facebookincubator/create-react-app/issues/658
Also now when I'm reading your description I noticed this line:
sw.js:1 The script has an unsupported MIME type ('text/html').
http://localhost:3000/sw.js Failed to load resource: net::ERR_INSECURE_RESPONSE
but I don't see sw.js anywhere loaded

You likely have a service worker still running from a previous project. Clear service workers from within chrome devtools (application > service workers) and then hard reload the page.
This happens to me every once in a while.

@lukeed yep, that was it! That is a pretty sneaky one.. will definitely be making note of that lol

Closing this then. 👍


[$500] [LOW] Desktop - Login - Unable to enter the 2FA code or exit the opened screen on desktop

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:  1.4.23-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Prerequisites: User must be logged into web app as User A.

Launch the Desktop app
Enter an email for an existing account with 2FA (User b)
Go to the email inbox and locate the magic code
Copy the Magic link and modify it to staging
On the web, open a new tab and navigate to the staging magic link
Confirm that the user is prompted to open the desktop app
Click on the "Open app" option

Expected Result:
When the desktop is launched by the magic code link, it glitches, briefly shows a skeleton and then returns to the first login screen
Actual Result:
When the desktop is launched by the magic code link, there's just a blocker screen asking to enter the magic code, with no field and no option to exit the screen
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/f07d7998-7fff-41b6-9f79-6dc2ef507cbd
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0183573e4ff04521ad
Upwork Job ID:<PHONE_NUMBER>492372480
Last Price Increase: 2024-03-06
Automatic offers:

situchan | Contributor | 28115507

Proposal
Please re-state the problem that we are trying to solve in this issue
When the desktop is launched by the magic code link, there's just a blocker screen asking to enter the magic code, with no field and no option to exit the screen.
What is the root cause of that problem?
This happens because in ValidateLoginPage/index.website.js there's no logic that specifically handles 2FA login flow from the desktop app where there's no multi-tab functionality like on web.
For example the flow on web is as follows:

we input the email for login
the UI changes showing us the magic code input
we click the magic code link from the email
a new tab opens rendering the same 2FA screen telling the user to input their 2FA code in the tab where the magic code input was showing previously before opening the magic link

What changes do you think we should make in order to solve the problem?
My solution is to create a desktop only library @libs/desktopTwoFactorRedirect/index.desktop.js (with index.js noop) where we check if (autoAuthState === CONST.AUTO_AUTH_STATE.JUST_SIGNED_IN && !isSignedIn) is true and if so we call  Navigation.navigate(); then return;
Notes:

autoAuthState === CONST.AUTO_AUTH_STATE.JUST_SIGNED_IN confirms that we passed the magic code step of the login process which is one of the conditions that if true we're shown the 2FA screen
!isSignedIn confirms that we're not signed-in yet as there's one last step and that's the 2FA validation
calling Navigation.navigate(); when above conditions are true will navigate the user to 2FA code validation screen

This lib function takes in autoAuthState and isSignedIn as arguments and will be called at the top of the first useEffect inside the ValidateLoginPage/index.website.js component.

Updated proposal

updated solution if to account for the edge case where autoAuthState === CONST.AUTO_AUTH_STATE.NOT_STARTED (after logout) which would still cause the 2FA screen lock

I can take over

Note on the above, @situchan is added as the reviewer

Confirm that the user is prompted to open the desktop app

I stopped here. I am not prompted to open desktop app

Not overdue

I stopped here. I am not prompted to open desktop app

This is the 'blocker screen' you should see on the desktop app once transitioned to it from web - if following the steps and opening the magic link (adding staging to it) and clicking the 'Open New Expensify' once the prompt shows, while using a 2FA account.
I can still reproduce this on latest staging (v1.4.33-3).

MacOS: Desktop
https://github.com/Expensify/App/assets/56457735/c6068798-6694-4387-a03a-a39666ed63ae

I'm getting the blocking screen on web:

Steps:

Sign-out of both desktop and web
Sign-in on web, prompted for magic code
Go to email
Copy the URL and modify to "staging."
Blocking 2FA page appears.

Now.. if I actually click the link (like most would instead of copying it), I get a different result.

Sign-out of both desktop and web
Sign-in on web, prompted for magic code
Go to email
Click the link
Land on this page and prompted to open desktop

Click to open desktop and land here:

Click "just sign in here" and land here to enter my 2FA code:

Enter my 2FA code and I'm signed in.

Thanks for looking into this! ✌
This looks like a pretty rare edge case on Desktop. I can only reproduce this with the production desktop app installed and changing the magic link to staging.
As for using the production magic link while having the staging desktop app installed - seems to work as expected as per your latest comment.
The blocking screen on web is expected IMO as when somebody with 2FA attempts login on web and clicks the magic link, this opens a new window where we see the 2FA blocking screen - this assumes you still have your initial tab open where you attempted login - where now you have to introduce the 2FA code since that's what the blocking screen in the other tab is telling you.
Finally, even though this Desktop issue can be hard to reproduce - if we want to block the 2FA flow for Desktop app then my colleague's solution would do.
Otherwise, if we want to allow the 2FA flow on Desktop then my proposal still stands. It will allow the 2FA flow for users on the desktop app via the web prompt - users will be able to go through with it as on Desktop there's no new tab functionality like on web - so it has to happen within the desktop app like demonstrated in the solution's result video:

MacOS: Desktop
https://github.com/Expensify/App/assets/56457735/7d429304-1d87-4ac2-895f-292ab662f7ba

Thanks, @ikevin127. If you use the production desktop app and a production magic link, does everything work okay?

Ah okay, cool. @NikkiWines @johnmlee101 you folks were close to this implementation, perhaps you can help us with what's expected here?
Summary of steps to repro:

User has 2FA enabled
User has the desktop app installed (signed out).
User goes to the desktop app to sign-in, gets sent a magic link on email
Clicks the link in the email and gets taken to NewDot on web
Clicks the modal prompt to switch to desktop
Gets hit with the 2FA full page blocking form

They get this one, judging by the video above in this comment:

Hmm, and the account has 2FA enabled right?

But yeah, I think its a bug. It should take them to the 2FA input screen if they have it enabled

For the avoidance of doubt, don't suppose you could type out the steps like here, so we can follow exactly what's expected?

User has 2FA enabled
User has the desktop app installed (signed out).
User goes to the desktop app to sign-in, gets sent a magic link on email
Clicks the link in the email and gets taken to NewDot on web
Clicks the modal prompt to switch to desktop
6. Desktop is presented with the 2FA Code input screen
7. User enters 2FA code
8. User is now taken into the authenticated product on Desktop.

@johnmlee101 I would add a note:

make sure that the environment matches web / desktop app

Meaning if 2FA account attempts login from production desktop app then clicking on the email magic link directly is ok as the link will start with https://new.expensifi.com...
On staging (web / desktop app), the staging. should be appended to the email magic link before navigating to it and getting the prompt (as mentioned in the OP) ✌

All the magic code links direct to prod, I believe - regardless of whether the request is initiated on staging web, staging desktop, prod web, prod desktop, etc.

Correct!
If I'm not mistaking, when we get the magic link email it's always the production domain link.
This can lead to confusion when trying to reproduce this issue as can be seen in the comments above 😅

Thanks, @ikevin127. If you use the production desktop app and a production magic link, does everything work okay?

@trjExpensify Unfortunately no 😞
I just tried what you suggested on latest production (version 1.4.35-7) and it reproduces exactly as the OP suggests.

Given this behavior, it seems to me it's for sure a bug. We should do one of the following:

Ensure we don't block the user from entering their 2FA code (via one of the proposals from above, if still applicable)
Don't prompt the user to open the desktop app when using a magic link. Looking back on when we first implemented this we specifically avoided linking to the desktop app in this scenario.

As a bonus, we should probably fix the links on the backend so that they point to the appropriate environment and don't need to be manually modified to work on staging. That's out of scope for this issue though.

Don't prompt the user to open the desktop app when using a magic link. Looking back on when we first implemented this we specifically avoided linking to the desktop app in this scenario.

Ohhhhh thanks for the context forgot all about that. Yeah Desktop support in this way was never explicitly made when we were developing for this for a reason

If we do one of these:

We should do one of the following:

Ensure we don't block the user from entering their 2FA code (via one of the proposals from above, if still applicable)
Don't prompt the user to open the desktop app when using a magic link. Looking back on when we first implemented this we specifically avoided linking to the desktop app in this scenario.

... won't they still run into this:

User has 2FA enabled
User has the desktop app installed (signed out).
User goes to the desktop app to sign-in, gets sent a magic link on email
Clicks the link in the email and gets taken to NewDot on web
Does not get prompted to go to the desktop app, but nevertheless, hits this screen minus the prompt and can't authenticate:

Does not get prompted to go to the desktop app, but nevertheless, hits this screen minus the prompt and can't authenticate:

Hmm, I tested this using prod just now and wasn't blocked on authenticating. They should have the field to manually enter the magic code in the desktop app at this point.

I think ideally they'd just see the the following, unless I'm misunderstand the flow:

On web, they'd get the Here is your magic code view with the copy notifying them to enter the code where they originally requested it from.
On desktop, they'd see the view for entering the magic code.

Like so:
https://github.com/Expensify/App/assets/16747822/bdfb9191-81d9-49bb-b129-d13f4ed355bf

Cool yeah, same page! So I think we're taking a pretty big leap of faith that a person who lands on the magic code form on web will instinctively know to switch over to the Desktop app. It's a pretty confusing message given that it is the same device they requested on, right?
So the prompt to switch to Desktop when installed is actually quite helpful to reorientate to them in that regard. To the point where I'm wondering if it's a better experience to make this work.

Hhm yeah, the copy could be better for sure. I personally don't think it's too disruptive for the user but I'm also totally down with us fixing the flow so that the deep link to desktop works 👍

but I'm also totally down with us fixing the flow so that the deep link to desktop works 👍

Okay cool, @ikevin127 do you want to update to reflect that and then @situchan can review?

@trjExpensify Sure, I can handle this. I'd say the RCA and solution of my proposal are the same, will fix the issue just as discussed.
Is there something I'm missing - that you suggest adding to my current proposal ?

Ah cool, I'll defer to @situchan to take a look as is then! Perhaps @johnmlee101 or @NikkiWines would like to be the secondary reviewer from our team internally when ready.

I don't have the full context of this issue but i request to put it on hold in favour of https://github.com/Expensify/App/pull/35359 if this both are related, We migrated the files to typescript and the PR will be merged in coming days

Seems like this might be wise though. What does everyone think?

Not sure, my solution requires a small addition within src/pages/ValidateLoginPage/index.website.js which I don't see as part of the migration within the mentioned PR 👀
Anybody else ?
cc @GandalfGwaihir

Need to hold for TS migration

Cool, @situchan can you jump on the proposal review then, please? Thanks!

Bump, @situchan. What's your ETA on reviewing?

reviewing today/tomorrow based on latest discussion

still evaluating proposals. eta: end of week

@situchan what's going on here? It has been 2 weeks now.
P.s @greg-schroeder I'm moving this into wave6 as LOW. It's a sign-in bug that can have an impact on anyone with 2FA, but given submitters is the largest population of users, wave6 makes sense to me.

I guess so, but it's not really in the scope of any of our upcoming releases, so I'll leave it at LOW until a home becomes clear or it just gets resolved

@ikevin127 @tienifr can you please share test branches?
It should fix both 2fa and no 2fa cases.

And please update your proposals with the correct root cause.
Especially, why is not user prompted to open the desktop app? (both 2fa and no 2fa)

The review took so long to get started that navigation refactor was performed in the meantime and my initial proposal doesn't work anymore, specifically the Navigation.navigate() part which doesn't work anymore if no arguments are passed as per this comment here https://github.com/Expensify/App/issues/35782#issuecomment-1927837173:

Also Navigation.navigate() without any parameters doesn't seem to work after navigation refactor.

And those parts of the old logic in the ValidateLoginPage were updated by the following PR https://github.com/Expensify/App/pull/35850 to account for the recent navigation refactor since Navigation.navigate() without any parameters doesn't seem to work anymore.
I'm looking into the logic and if I can find a way to solve the issue just as my initial proposal did, before navigation refactor, then I'll get back and update my proposal. If I don't come back with any update then it means I'm out of the race for this issue 🏳

awaiting proposals based on latest codebase

Any luck, @ikevin127?

still awaiting proposals

Hey! @ikevin127 Could you share the branch with your changes? I'll try to reproduce it and check what's wrong

@WojtekBoman Sorry I don't have a branch, all I have is my initial proposal - which worked as described in solution (see videos) before the new navigation.
Also this is another issue and its PR https://github.com/Expensify/App/pull/35850 that changed the old implementation to use Navigation.goBack() because after the new navigation Navigation.navigate() did not work anymore like it used to be.
So I guess what would help here is to better understand how we can call a similar navigation function o achieve the same as we did previously using Navigation.navigate() - because if how the new bottom tab navigator is structured currently, calling navigate with home route while non-authenticated does not seem to work at all anymore.
Another outcome that would help here is to have a way of opening web prompt with magic link code in desktop app, process the code in the desktop app and:

if the account has 2FA, redirect to 2FA code page
if account doesnt have 2FA, perform login

@WojtekBoman any thoughts on the above?

Hi! I will try to help

Going to assign @adamgrzybowski so he can help @ikevin127 here.

@ikevin127 Not sure if I understand the problem completely but you can try to use goBack() to pop the screen and then navigate()

Updated proposal

changed initial solution code of stack popping method, since new navigation logic was implemented and the old code did not work anymore

@situchan As per #34177 (comment) ->

And please update your proposals with the correct root cause.

Please explain what you mean by correct root cause so I know what other details need to be added to the proposal, if any.
Below are detailed steps + video to consistently reproduce and test the issue / proposed solution:

Open incognito browser tab.
Navigate to https://staging.new.expensify.com.
Login with any account (once logged in, a prompt to Open in New Expensify / Electron [for dev] should appear if you have the desktop app installed / running in dev).
Once logged in, open the Desktop app (dev or staging - depending on what you test).
Login with 2FA account.
Copy the magic link received via email as a result of login within the Desktop app.
Open a new incognito tab next to the already logged in account.
Paste the magic link and add staging. as a prefix, eg. email magic link: https://new.expensify.com/v/15879736/903350 will become https://staging.new.expensify.com/v/15879736/903350.
Press enter and navigate to the staging magic link, this will open the prompt to Open in New Expensify / Electron (for dev).

Video
https://github.com/Expensify/App/assets/56457735/28f256e6-acf1-4168-a32d-0a0e7c693bc5

[!note]

In order to repeat the cycle, make sure to clear all onyx keys from Application > IndexedDB, otherwise you will stay locked on the 2FA lock screen.
The video above was filmed at the time of this comment -> proving the issue is still reproducible.
Here's the test branch w/ my proposal's solution applied.

@adamgrzybowski Thanks for the input, after doing some more digging I was able to figure out how to re-write the fix which worked before the new navigation implementation.
Since just navigate() or goBack() + navigate() wouldn't work anymore because of the new navigation implementation, I figured that what navigate() alone was doing before was popping the stack, so I did the same now but more directly by using navigationRef.current?.dispatch(StackActions.popToTop()).

Thanks, @ikevin127. Perhaps @adamgrzybowski & @situchan can check out that test branch?

@ikevin127 Thanks for the great description and instructions for reproduction 🙇 ! Makes my life much easier 😄
I tested it and it works 🎉 I think it should work fine in this case.
Do you have a PR open so I can look into diff easier?
BTW it looks like the solution you found navigationRef.current?.dispatch(StackActions.popToTop()) may be handy in some other use cases. I talked with @WojtekBoman and we think that it may be a good idea to create a function for that in Navigation.ts just to make reusing it easier.

@adamgrzybowski Thanks for the great feedback! I'm glad the instructions made testing this easy 🙌

Do you have a PR open so I can look into diff easier?

I don't have a PR because @situchan did not review the proposals yet and I am not assigned to this as a Contributor, hence opening a PR is not recommended. But I can do it if this is an exception - let me know!
I created the branch in order to make testing easier for the reviewers.

I talked with WojtekBoman and we think that it may be a good idea to create a function for that in Navigation.ts just to make reusing it easier.

If assigned as a Contributor to this issue I'm fully on board w/ adding this in the PR as a function within Navigation and using it both in my proposal and other parts of the app (where needed) 🚀
What do you think about Navigation.popToTop() as a name ? Open to more suggestive names!

@adamgrzybowski you can check diff here:
https://github.com/Expensify/App/compare/main...ikevin127:Expensify:fix/34177

@situchan @adamgrzybowski seems like you are happy to go with this @ikevin127 proposal, any concerns?

sure, let's assign @ikevin127

@mountiny  it's good ✅

Thanks

PR https://github.com/Expensify/App/pull/38142 is ready for review! 🚀

We had discussion with @WojtekBoman. The function that he needs will require to do popToTop on two navigators (root and bottom tab).

Just solved a conflict on the PR and I ended up using newly added Navigation.resetToHome() as it's more robust and it accomplishes the same thing for our issue (double-checked).

Great to hear that it this function works for your use case as well! Thanks for testing this 🙇

@situchan 🙋♂ It's been 3 days since the PR is ready for review - is there anything blocking the process ? Please let us know!

I reviewed and commented yesterday. Going ahead today.

👋 From what I know the Weekly label on an issue means that the proposals should be reviewed on a weekly basis.
Does that also apply to the PR reviewing process ?
And if the answer is yes - given the following turn of events:

reviewer attempts review for the first time
there are some conflicts, reviewer tags author to let them know
conflicts solved the same day by author

Next time when the PR is checked again could be up to one week later ?
I'm trying to figure out what do the time related labels mean in the context of the PR being ready for review and what are the expected timelines for completion.
cc @stitesExpensify @mountiny

I dont think the priority label influences how the PR should be reviewed or proposals should be reviewed. That should still be ideally ever day or once in 48 hours at worst.
Made it daily to avoid confusion

$500 to @ikevin127 and $500 to @situchan

[!note]
I did receive an Upwork Contributor offer for this issue on 12th of March despite this message, but I cannot accept it as it errors (see error below) - therefore I declined it and will await BZ manual offer 🙌

Sounds good! Payment summary as follows:

$500 to @ikevin127 for the fix
$500 to @situchan for the C+ review

Offers sent.

Paid you!

Situ is out until May, so this is going to sit until then. Updated the title to make that clear.

Still waiting on Situ so I can pay this.

Sorry for late. I think job expired. Can you please send new offer?

Offer sent!

Situ paid, closing!


06/12/2018 18:48 : Create Pull Request for branch prTesting_2018061218 -> master

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Commands not working?

No matter what I enter, it'll say not found or not a global variable. What am I even supposed to write there? I tried basic stuff like player.inventory.addItem and other inventory commands, but no luck.

Try
AddToInventory(Items.Jacket_03_old_04, 1)


System.IndexOutOfRangeException: 'The index was outside the array area.'

Hey,
try to compile current repository. That works, but at runtime I get "System.IndexOutOfRangeException: The index was outside the array area." in the JIT Debugger.
How could I solve that?
Version: <IP_ADDRESS>

Hi @Nusserdt
I'm not at a computer right now, but perhaps you can solve the problem by resetting your nunit3 settings.
You can "reset" your setting by moving/deleting the file Nunit30Settings.xml in C:\Users\USERNAME\AppData\Local\NUnit. E.g. paste the content of the file into this issue and we can use that to diagnose the problem.
Also if you can provide a stacktrace it would help us.
Ps. Note that this project is not developed actively at the moment, so you should probably change to https://github.com/TestCentric/testcentric-gui for the time being.

@Nusserdt I'd like to repeat what @mikkelbu said and add to it... (emphasis mine)...
"This project is not developed actively at the moment and won't be in the future. We don't accept bug reports against it any longer." :smile:
IMO, your time would be better spent using the version of the Experimental GUI (currently 0.15 rather than 0.6), which is included in the testcentric project.
@mikkelbu Our project description in GitHub says "Experimental Gui test runner for NUnit 3 has been moved to the testcentric-gui project. Please file any issues there." Should we be doing something stronger? Putting out more notices? Deleting the code entirely?
I hesitate to do the last, unless there's no other way to keep people from using it. Having it there makes it possible for somebody else to take it over if they decide we followed a wrong path in the developing it further, but they can almost as easily do the same thing by rolling back changes in the testcentric project.

I hesitate to do the last, unless there's no other way to keep people from using it. Having it there makes it possible for somebody else to take it over if they decide we followed a wrong path in the developing it further, but they can almost as easily do the same thing by rolling back changes in the testcentric project.

As far as I know we have a couple of options before deleting the code:

We can turn off issues, like in https://github.com/dotnet/samples
We can create an issue template that contains your quote

I can examine the first option if you agree? (and perhaps also add the text from the subtitle to the readme, as I think people looks more on the readme than the subtitle)

Good ideas. Feel free to go ahead.

@Nusserdt I'll try to disable issues in this project, so don't be confused if this issue also disappears.

@CharliePoole I'm not able to disable issues as I do not have sufficient rights - as far as I can tell only the owner can change the settings of a repository. So I've just updated the README.md.
If you go into settings (from the front page of the repository)

then you can disable issues under the section Features on the main-page of the settings (on the pane Options).

I'm on my phone right now, but I'll get on the computer in the morning and change the settings.


PR for issue 2441

A proposition for the issue #2441
I stored the different times in variables, and increased the times to avoid precision loss. But it only repels the problem. I think we should compute the expected values depending on the input value.
query_time = :erlang.convert_time_unit(2100, :micro_seconds, :native)
expected_query_ms = query_time |> :erlang.convert_time_unit(:native, :micro_seconds) |> div(1000)
expected_query_ms_dec = query_time |> :erlang.convert_time_unit(:native, :micro_seconds) |> div(100) |> rem(10)
"... db=#{expected_query_ms }.#{expected_query_ms_dec }ms ..."

But I am not sure about doing these operations inside a test.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


lyrics not showing up on full screen mode

🔍 Have you checked that you are using an auto updating method or latest version of the extension?

[X] I have checked that I am on the latest version.

🔍 Is there already an issue for your problem?

[X] I have checked older issues, open and closed

Choose the extension for bug report.
Full Screen Mode
ℹ Environment / Computer Info
Spotify for Windows (64 bit)
<IP_ADDRESS>4.g39a25e2c
Spicetify v2.36.14
Theme: Hazy / Base
Extensions: fullScreenWrapper.js, romaja_lyrics.js, fullAppDisplayMod.js, theme.js
Custom apps: marketplace, lyrics-plus

📝 Description
i click on full screen mode, the lyrics appear for a split second on the right side and dissapear.
📸 Screenshots
Uploading Spotify Premium 2024-07-09 00-32-39.mp4…

same issue here

@NahuenL @saaraffe
check this https://github.com/daksh2k/Spicetify-stuff/issues/167#issuecomment-2199480598


x/tools/gopls: handle 404-ing links in documentLink

Related to discussion on https://github.com/microsoft/vscode-go/issues/2614.
Would it be reasonable to test that a link is valid in textDocument/documentLink?

HI @stamblerre! I can work on this issue especially as I am working now on golang/go#32339. The question is: is it really necessary to send HTTP request for each link in the file? I can see at least two possible issues here:
At first right now with implemented golang/go#32339 the documentLinks sometimes takes seconds to return the list of links. This is  request for file with about 900 lines of code: [Trace - 4:46:35 PM] Received response 'textDocument/documentLink - (3)' in 3663ms.. Making the HTTP request for each link will increase this time dramatically.
The second issue is that I am not sure that developers expect network usage from language server especially during working with mobile internet. Making a bunch of HTTP calls on each documentLinks request can cause not only clogging of internet connection but also increased bills if you are working on mobile internet. I am not sure that scenario of usage mobile internet is wide and probably needs discussion.

Yeah, I am not sure that we should be doing this either. We could do some caching for links we've already seen, but I'm not sure that it's worth it. I filed this issue mostly to start a discussion, rather than to necessarily propose a solution.

[...] HTTP request [...]

FWIW, I think this is a bad idea. This is what happened when iTerm2 did something similar: https://nvd.nist.gov/vuln/detail/CVE-2015-9231.

Thanks for sharing. I think this issue is probably not very pressing, and I just wanted to open it to note that this has been mentioned, but I think we can close it for now. I'm certain this will come up on the future, and we can figure out a way to handle it then.


Scrolling marquee on website does not respect prefers-reduced-motion accessibility flag

The scrolling/animated text banner on the home page of driverjs.com should be disabled when visitors have the prefers-reduced-motion accessibility flag set on their operating system or browser.
See https://www.smashingmagazine.com/2021/10/respecting-users-motion-preferences/

Thank you for opening the issue. Since this is a minor issue and will require some design effort, I am going to close this one for now and put it in the backlog as a low priority item. But feel free to submit a pull request if you want.


Bug: autorig de props doesn't work

Before posting a new ticket, have you looked through the documentation to find an answer?
Yes I have
Have you looked through the existing tickets to find any related issues ?
Yes I have
Author of the bug
No response
Version
3.15.12-quad.4.1
What platform you are running OpenPype on?
Linux / Centos
Current Behavior:
# Traceback (most recent call last):#   File "/users_roaming/mgutmann/.local/share/openpype/3.15/openpype-v3.15.12-quad.3.3/openpype/vendor/python/common/scriptsmenu/action.py", line 135, in run_command#     exec(self.process_command())#   File "<string>", line 1, in <module># ImportError: cannot import name 'rig_props' from 'host.maya.python' (unknown location)
Expected Behavior:
No response
What type of bug is it ?
None
Which project / workfile / asset / ...
--
Steps To Reproduce:
--
Relevant log output:
No response
Additional context:
No response

To reproduce the bug, click on FixStudio Menu, Rig > Autorig Props

PR => https://github.com/quadproduction/openpype-software-plugins/pull/3


Example in Readme on node

I was trying to test LDFlex by following the example instructions in the Readme and created the following program:
const { PathFactory } = require('ldflex');
const { default: ComunicaEngine } = require('ldflex-comunica');
const { namedNode } = require('@rdfjs/data-model');

// The JSON-LD context for resolving properties
const context = {
  "@context": {
    "@vocab": "http://xmlns.com/foaf/0.1/",
    "friends": "knows",
    "label": "http://www.w3.org/2000/01/rdf-schema#label",
  }
};
// The query engine and its source
const queryEngine = new ComunicaEngine('https://ruben.verborgh.org/profile/');
// The object that can create new paths
const path = new PathFactory({ context, queryEngine });

const ruben = path.create({ subject: namedNode('https://ruben.verborgh.org/profile/#me') });
showPerson(ruben);

async function showPerson(person) {
  console.log(`This person is ${await person.name}`);
}

When executing it in node (version v11.12.0), it returns:
> node testReadme.js
(node:7097) UnhandledPromiseRejectionWarning: ReferenceError: window is not defined
    at currentUrl (/home/labra/src/cursos/ldflextest/node_modules/solid-auth-client/lib/url-util.js:9:42)
    at toUrlString (/home/labra/src/cursos/ldflextest/node_modules/solid-auth-client/lib/url-util.js:32:23)
    at SolidAuthClient.fetch (/home/labra/src/cursos/ldflextest/node_modules/solid-auth-client/lib/solid-auth-client.js:41:51)
    at ActorHttpSolidAuthFetch.run (/home/labra/src/cursos/ldflextest/node_modules/@comunica/actor-http-solid-auth-fetch/lib/ActorHttpSolidAuthFetch.js:13:22)
    at ActorHttpSolidAuthFetch.runObservable (/home/labra/src/cursos/ldflextest/node_modules/@comunica/core/lib/Actor.js:53:29)
    at MediatorNumber.mediate (/home/labra/src/cursos/ldflextest/node_modules/@comunica/core/lib/Mediator.js:80:22)
(node:7097) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 91)
(node:7097) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Should it work or is there something missing?
I created this simple repository in case you want to reproduce it: https://github.com/cursosLabra/ldflextest

LDflex only works in browser environments at the moment (due to a recent change). However, a solution to make it work in Node.js is being worked on, see https://github.com/RubenVerborgh/LDflex-Comunica/issues/12.

Indeed, as @rubensworks said, since we started using the authenticated Solid client, we lost Node compatibility for @solid/query-ldflex, because that client is browser-only. Following up in https://github.com/RubenVerborgh/LDflex-Comunica/issues/12.


charts saved in png format are pixelated, even when increasing scaling_factor

Hi, recently I've been experiencing an issue with altair saver, even if I increase the parameter scaling_factor to 4.0, the exported .png is pixelated. I could reproduce the same issue when running the example notebook on Colab. I suspect it might be connected to the latest release of vega-lite-cli but I have no proof.
Can you please help me with this problem?

Since Altair 5.2, the functionality of Altair Saver is now available in Altair via the vl-convert package. Most of the functionality has been available since 5.0, and the main addition in 5.2 was PDF export. See the docs on how to save charts for more details
We are going to archive this repo, so I'm closing all the open issues and PRs before doing so. Try out the new options for saving charts mentioned above and if you run into issues, please open an issue directly in the altair or vl-convert repo.


When limit-zoom is set to more than 1 scroll to zoom out not working

When limit-zoom option is set to more than 1 scroll(mousewheel) to zoom out not working after image zoom reaches it's limit zoom value.  The mousewheel just doesn't work to zoom out of the image, the cursor value becomes cursor: all-scroll; in css.
Below is my setting of the pinch
<pinch-zoom limit-zoom="4"
        auto-zoom-out="true"
        disableZoomControl="auto"
        draggableImage="true"
        class="pinch_zoom_container">
            <img width="400px" [src]="zoomImgSrc" />
        </pinch-zoom>

I figured it out what the issue is
on line number 806 of  file ngx-pinch-zoom.js  i.e
            let newScale = this.initialScale + zoomFactor;
The initialScale property becomes string type and thus the newScale variable is assigned value like "20-0.2" instead of the actual number value.
I changed the above code to
            let newScale = Number(this.initialScale) + zoomFactor;
and it worked.
@drozhzhin-n-e it'd be great if you can push an update to fix this bug.

Thanks @razorsharpshady. I will fix it. But keep in mind that this is how you pass the component a string as a value. If you want to pass a number or boolean, then you need to take the name of the property in square brackets. For example: [auto-zoom-out]="true"

Great. And thanks for the last information, I didn't know about the square bracket property association with number/boolean type. 🙂


Example url not correct on github projectpage

http://leemunroe.github.io/responsive-html-email-template/email.html
missing responsive

Thanks


anagram: add test case for all caps within mixed case word

@weibeld pointed out to me that although my anagram solution passes all current test cases, it will not work for the word/phrase SuperHTMLParser. The correct anagram is SHP, not SH as given by my earlier solution.
I suggest we add SuperHTMLParser to the test suite, with the expected acronym value of SHP.

Solid catch!  @chuckwondo would you mind posting this to the x-common repo?  All exercises have a common set of test metadata (i.e. JSON of the test cases).  You'll also get all the eyeballs of folks on the many other tracks too.

See https://github.com/exercism/x-common/issues/787.

The upstream issue created by @chuckwondo led to an interesting discussion that was eventually resolved by removing the only existing test case for a phrase that included a PascalCased word (HyperText Markup Language). I believe that the example phrase in this xjava issue (SuperHTMLParser) can now be considered out of scope for this exercise, and clarification of that fact will occur when the exercise is made compliant with v1.1.0 or later of the canonical data. Closing, but please feel free to reopen this issue if I've misunderstood anything!


Add yurt-tunnel-server graceful shut down

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

/kind enhancement
What this PR does / why we need it:
After yurtctl revert or delete deployment  yurt-tunnel-server, the iptables rules created by yurt-tunnel-server still exist and have not been deleted. So the request kubectl exec/logs cannot be sent correctly.
Which issue(s) this PR fixes:

Fixes #337
Special notes for your reviewer:

/assign @rambohe-ch
Does this PR introduce a user-facing change?

other Note

The   yurt-tunnel-server  image needs to be recompiled locally and used during testing.

@Peeknut Would you add some unit cases for the new feature?

👌

👌

Validation logs:
Execute the following commands:
./_output/bin/yurtctl convert --deploy-yurttunnel --cloud-nodes master --provider kubeadm\
 --kubeadm-conf-path /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf\
 --yurt-tunnel-server-image="openyurt/yurt-tunnel-server:ljw"

Then yurt-tunnel-server  pod is pulled up in the cluster:
[root@master ~]# kubectl get pod -A
NAMESPACE     NAME                                      READY   STATUS    RESTARTS   AGE
default       test-po                                   1/1     Running   0          5d6h
kube-system   coredns-546565776c-zmrm4                  1/1     Running   0          5d21h
kube-system   coredns-546565776c-zsx4k                  1/1     Running   0          6d1h
kube-system   etcd-master                               1/1     Running   0          6d1h
kube-system   kube-apiserver-master                     1/1     Running   0          6d1h
kube-system   kube-controller-manager-master            1/1     Running   0          5d6h
kube-system   kube-flannel-ds-67kx4                     1/1     Running   0          6d1h
kube-system   kube-flannel-ds-78qqg                     1/1     Running   0          5d21h
kube-system   kube-proxy-cl5gb                          1/1     Running   0          5d21h
kube-system   kube-proxy-kvf79                          1/1     Running   0          6d1h
kube-system   kube-scheduler-master                     1/1     Running   1          6d1h
kube-system   yurt-controller-manager-6c95788bf-wb57j   1/1     Running   0          72s
kube-system   yurt-hub-n80                              1/1     Running   0          64s
kube-system   yurt-tunnel-agent-m24bh                   1/1     Running   0          54s
kube-system   yurt-tunnel-server-6db95b477b-p2f22       1/1     Running   0          71s

The nat table in the cluster is as follows, containing records related to TUNNEL-PORT (chain: ``OUTPUT, TUNNEL-PORT, TUNNEL-PORT-10250, TUNNEL-PORT-10255`):
[root@master ~]# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
KUBE-SERVICES  all  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* kubernetes service portals */
DOCKER     all  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
TUNNEL-PORT  tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* yurttunnel server port */
KUBE-SERVICES  all  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* kubernetes service portals */
DOCKER     all  --  <IP_ADDRESS>/0           !<IP_ADDRESS>/8          ADDRTYPE match dst-type LOCAL

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  <IP_ADDRESS>/16        <IP_ADDRESS>/0
KUBE-POSTROUTING  all  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* kubernetes postrouting rules */
RETURN     all  --  <IP_ADDRESS>/16        <IP_ADDRESS>/16
MASQUERADE  all  --  <IP_ADDRESS>/16       !<IP_ADDRESS>/4
RETURN     all  -- !<IP_ADDRESS>/16        <IP_ADDRESS>/24
MASQUERADE  all  -- !<IP_ADDRESS>/16        <IP_ADDRESS>/16

……
Chain KUBE-SVC-TCOU7JCQXEZGVUNU (1 references)
target     prot opt source               destination
KUBE-SEP-6E7XQMQ4RAYOWTTM  all  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* kube-system/kube-dns:dns */ statistic mode random probability 0.50000000000
KUBE-SEP-EJJ3L23ZA35VLW6X  all  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* kube-system/kube-dns:dns */

Chain TUNNEL-PORT (1 references)
target     prot opt source               destination
TUNNEL-PORT-10255  tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:10255 /* jump to port 10255 */
TUNNEL-PORT-10250  tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            tcp dpt:10250 /* jump to port 10250 */

Chain TUNNEL-PORT-10250 (1 references)
target     prot opt source               destination
RETURN     tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>            /* return request to access node directly */ tcp dpt:10250
RETURN     tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>         /* return request to access node directly */ tcp dpt:10250
DNAT       tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* dnat to tunnel for access node */ tcp dpt:10250 to:<IP_ADDRESS>:10263

Chain TUNNEL-PORT-10255 (1 references)
target     prot opt source               destination
RETURN     tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>            /* return request to access node directly */ tcp dpt:10255
RETURN     tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>         /* return request to access node directly */ tcp dpt:10255
DNAT       tcp  --  <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* dnat to tunnel for access node */ tcp dpt:10255 to:<IP_ADDRESS>:10264

Execute the following command to continuously input the log of pod yurt-tunnel-server-6db95b477b-p2f22 into the local file:
[root@master ~]# docker ps
CONTAINER ID   IMAGE                                                           COMMAND                  CREATED              STATUS              PORTS     NAMES
61fa1d6b77de   openyurt/yurt-controller-manager                                "yurt-controller-man…"   About a minute ago   Up About a minute             k8s_yurt-controller-manager_yurt-controller-manager-6c95788bf-wb57j_kube-system_3a83f542-6101-4bf3-b9a3-b55992ed5009_0
e3f8d1210586   789b6c0af4c7                                                    "yurt-tunnel-server …"   About a minute ago   Up About a minute             k8s_yurt-tunnel-server_yurt-tunnel-server-6db95b477b-p2f22_kube-system_6bd1c195-26c5-40df-a290-d2c7c9609e93_0
43c182932c53   registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2   "/pause"                 About a minute ago   Up About a minute             k8s_POD_yurt-tunnel-server-6db95b477b-p2f22_kube-system_6bd1c195-26c5-40df-a290-d2c7c9609e93_0
……

[root@master ~]# docker inspect e3f8d1210586 | grep -i logpath
        "LogPath": "/var/lib/docker/containers/e3f8d1210586915d449ccfc9e3e2bde7071237442a474234e6579415d28347bc/e3f8d1210586915d449ccfc9e3e2bde7071237442a474234e6579415d28347bc-json.log",
                "io.kubernetes.container.logpath": "/var/log/pods/kube-system_yurt-tunnel-server-6db95b477b-p2f22_6bd1c195-26c5-40df-a290-d2c7c9609e93/yurt-tunnel-server/0.log",
[root@master ~]#
[root@master ~]#

[root@master suit-1.18]# tail -f /var/lib/docker/containers/e3f8d1210586915d449ccfc9e3e2bde7071237442a474234e6579415d28347bc/e3f8d1210586915d449ccfc9e3e2bde7071237442a474234e6579415d28347bc-json.log >> yurt-tunnel-server.log

The log information in the file is as follows:
[root@master suit-1.18]# cat yurt-tunnel-server.log
{"log":"I0610 09:20:18.973521       1 anpserver.go:156] start handling http request from master at <IP_ADDRESS>:10264\n","stream":"stderr","time":"2021-06-10T09:20:18.976791039Z"}
{"log":"I0610 09:20:19.006273       1 anpserver.go:142] start handling https request from master at <IP_ADDRESS>:10263\n","stream":"stderr","time":"2021-06-10T09:20:19.006562743Z"}
{"log":"I0610 09:20:23.977933       1 leaderelection.go:252] successfully acquired lease kube-system/tunnel-dns-controller\n","stream":"stderr","time":"2021-06-10T09:20:23.978937538Z"}
{"log":"I0610 09:20:23.979059       1 dns.go:203] starting tunnel dns controller\n","stream":"stderr","time":"2021-06-10T09:20:23.980407072Z"}
{"log":"I0610 09:20:23.979090       1 shared_informer.go:223] Waiting for caches to sync for tunnel-dns-controller\n","stream":"stderr","time":"2021-06-10T09:20:23.980426268Z"}
{"log":"I0610 09:20:23.979103       1 shared_informer.go:230] Caches are synced for tunnel-dns-controller \n","stream":"stderr","time":"2021-06-10T09:20:23.980432305Z"}
{"log":"I0610 09:21:15.658950       1 iptables.go:466] clear conntrack entries for ports [\"10250\" \"10255\"] and nodes [\"<IP_ADDRESS>\"]\n","stream":"stderr","time":"2021-06-10T09:21:15.659230528Z"}
{"log":"E0610 09:21:15.696089       1 iptables.go:483] clear conntrack for <IP_ADDRESS>:10250 failed: \"conntrack v1.4.4 (conntrack-tools): 0 flow entries have been deleted.\\n\", error message: exit status 1\n","stream":"stderr","time":"2021-06-10T09:21:15.696373246Z"}
{"log":"E0610 09:21:15.708765       1 iptables.go:483] clear conntrack for <IP_ADDRESS>:10255 failed: \"conntrack v1.4.4 (conntrack-tools): 0 flow entries have been deleted.\\n\", error message: exit status 1\n","stream":"stderr","time":"2021-06-10T09:21:15.708991045Z"}
{"log":"I0610 09:21:15.708804       1 iptables.go:535] directly access nodes changed, [<IP_ADDRESS>] for ports [10250 10255]\n","stream":"stderr","time":"2021-06-10T09:21:15.709035025Z"}

Execute the yurtctl revert command to delete pod yurt-tunnel-server-6db95b477b-p2f2:
[root@master openyurt]# ./_output/bin/yurtctl revert --kubeadm-conf-path /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf

Check the log, it shows that cleanup iptables rules succeeded：
[root@master suit-1.18]# cat yurt-tunnel-server.log
{"log":"I0610 09:20:18.973521       1 anpserver.go:156] start handling http request from master at <IP_ADDRESS>:10264\n","stream":"stderr","time":"2021-06-10T09:20:18.976791039Z"}
{"log":"I0610 09:20:19.006273       1 anpserver.go:142] start handling https request from master at <IP_ADDRESS>:10263\n","stream":"stderr","time":"2021-06-10T09:20:19.006562743Z"}
{"log":"I0610 09:20:23.977933       1 leaderelection.go:252] successfully acquired lease kube-system/tunnel-dns-controller\n","stream":"stderr","time":"2021-06-10T09:20:23.978937538Z"}
{"log":"I0610 09:20:23.979059       1 dns.go:203] starting tunnel dns controller\n","stream":"stderr","time":"2021-06-10T09:20:23.980407072Z"}
{"log":"I0610 09:20:23.979090       1 shared_informer.go:223] Waiting for caches to sync for tunnel-dns-controller\n","stream":"stderr","time":"2021-06-10T09:20:23.980426268Z"}
{"log":"I0610 09:20:23.979103       1 shared_informer.go:230] Caches are synced for tunnel-dns-controller \n","stream":"stderr","time":"2021-06-10T09:20:23.980432305Z"}
{"log":"I0610 09:21:15.658950       1 iptables.go:466] clear conntrack entries for ports [\"10250\" \"10255\"] and nodes [\"<IP_ADDRESS>\"]\n","stream":"stderr","time":"2021-06-10T09:21:15.659230528Z"}
{"log":"E0610 09:21:15.696089       1 iptables.go:483] clear conntrack for <IP_ADDRESS>:10250 failed: \"conntrack v1.4.4 (conntrack-tools): 0 flow entries have been deleted.\\n\", error message: exit status 1\n","stream":"stderr","time":"2021-06-10T09:21:15.696373246Z"}
{"log":"E0610 09:21:15.708765       1 iptables.go:483] clear conntrack for <IP_ADDRESS>:10255 failed: \"conntrack v1.4.4 (conntrack-tools): 0 flow entries have been deleted.\\n\", error message: exit status 1\n","stream":"stderr","time":"2021-06-10T09:21:15.708991045Z"}
{"log":"I0610 09:21:15.708804       1 iptables.go:535] directly access nodes changed, [<IP_ADDRESS>] for ports [10250 10255]\n","stream":"stderr","time":"2021-06-10T09:21:15.709035025Z"}
{"log":"E0610 09:24:35.639364       1 server.go:649] \"stream read failure\" err=\"rpc error: code = Canceled desc = context canceled\"\n","stream":"stderr","time":"2021-06-10T09:24:35.640992505Z"}
{"log":"I0610 09:24:36.340234       1 dns.go:230] shutting down tunnel dns controller\n","stream":"stderr","time":"2021-06-10T09:24:36.344814095Z"}
{"log":"I0610 09:24:36.340297       1 iptables.go:161] stop the iptablesManager\n","stream":"stderr","time":"2021-06-10T09:24:36.344858438Z"}
{"log":"I0610 09:24:36.340440       1 csrapprover.go:65] stoping the csrapprover\n","stream":"stderr","time":"2021-06-10T09:24:36.344864832Z"}
{"log":"I0610 09:24:36.786688       1 iptables.go:205] cleanup iptables rules succeed\n","stream":"stderr","time":"2021-06-10T09:24:36.786861028Z"}
[root@master suit-1.18]#

Check the nat table on the node, there are no rules related to TUNNEL-PORT.

@Peeknut
Have you verified manual deployment of tunnel?
Is there any error in executing kubectl exec after deleting tunnel? I think it's necessary to add it when deploying tunnel manually.

/lgtm
/approve


dataset

Great work, how did you process your dataset?

Sorry for the late reply.
You can find the code for data preprocessing in VP_code/data/. This part is almost the same as the approach used in the prior study, Bringing Old Films Back to Life. You can refer to their paper as well.


Update README.md

Here's a README file for your project "WordWise," including a description and sections for installation, usage, and contribution guidelines. You can modify it further as needed.

hello , please share the screenshots / videos of all the changes you have done


WCOSS standards may require independent error checking

The WCOSS standard suggests (requires?) that each of these conditions would produce an independent error. It's possible that the existence or not of the files is sufficiently clear. If the file doesn't exist, we don't care whether or not the directory exists or not.
if pathlib.Path(restart_dir).exists():
    if len(restart_files) > 0:
    # read the files
    else:
        # print error and/or raise exception about missing files
else:
    # print error and/or raise exception about missing directory

Originally posted by @jameshalgren in https://github.com/NOAA-OWP/t-route/pull/308#r630364546

The problem with the code above, is you won't get the "FileNotFound" error if the path exists condition isn't met, so you have hit an error state that you need to properly report.  The else could throw a  FileNotFound error as well, as a missing directory or missing file are the same to the OS (on *nix).   You can event provide the os error no:
import errno
import os

raise FileNotFoundError(
    errno.ENOENT, os.strerror(errno.ENOENT), restart_dir)


Improve the UI of Ecommerce Landing page

Is your feature request related to a problem? Please describe.
As the page is not responsive and it has no javascript onclick function ,I want to change the whole UI of the website , add Javascript , make responsive put some hover effects for its smooth functioning for that e-commerce landing page which is already present in the repo.
Describe the solution you'd like
I want to give a new look to the Ecommerce Landing Page .
Describe alternatives you've considered
I will create this using Html,css and Javascript
Additional context
Add any other context or screenshots about the feature request here.

Please mention the screenshots or more details, what the things you want to change ?

Please mention the screenshots or more details, what the things you want to change ?

I have attached a screenshot You can have a look at it .


Docs: packages/typescriptlang-org/src/templates/pages/docs/handbook/index.tsx -- toplevel title

packages/typescriptlang-org/src/templates/pages/docs/handbook/index.tsx, <h1> header

This is the title for the toplevel page, and given that the actual handbook is just one part of it, the title should be something like "TypeScript Documentation" otherwise people won't know what "handbook means"...

The following "The handbook will help you learn" paragraph is also redundant (like the short summeries in the boxes).

Since the epub/pdf is a rendering of the handbook part, the links to them is better placed in the handbook box.  This would also be needed to have similar "paper" renderings of other parts.

I shifted around a bunch of the navigational structures this weekend, which takes all of these into account - thanks!


Reduce build times

Describe the bug
Building and re-building the images takes forever.
Additional context
You could instead use Dockers image inheritance and build the images on top of each other. Instead of re-building all images for every new feature added, you could just build the layer you actually need every time. This would save a lot of pipeline minutes and speed up the releases after new Shopware versions are published.

hi
yep, we've already started with this one
unfortunately that led to a lot of problems and changes so we put it to on hold for now

hi, thank you for this
@martinweinmayr is now doing something that should make that all better :)


Turn watermark-demo into watermark feature

This tool has two functions: 1) watermark embedding of the IoTDB query result and 2) watermark detection of the suspected data.

:mega: It is now ready for review!

This can be reviewed.


Pass block meta into partial methods

Needed for engines
cc @krisselden @chancancode

Update to use owner from refineStatement to PartialSyntax to the partial opcodes to the partial lookup methods


Advance to "Don't generate transaction functions if not supported" commit.

Coverage increased (+0.5%) to 84.101% when pulling d96234b9ebdf053cf9542650b98640464fb43660 on no-transaction-fns into ec1b1862c79f9fc77253ee99e72f0a84e9fe9c77 on master.


Release 2.0.1

Do we want to wait with making a release until we have a new stable release of @warp-ds/icons? Since we would need to also bump the @warp-ds/icons dependency in this repo? @imprashast


Scrollable's callbacks are messed up.  onScroll before onScrollStart sometimes and onScrollEnd doesn't fire sometimes..

And in fact I receive onScroll's before onScrollStart...

Seems to be related to triggering a fling.  If I pan my figner slowly I get onScrollEnd, but not if I fling the scrollable.

Unless the flutter logs are out of order:
 flutter start  && adb logcat -c && flutter logs
android: --------- beginning of main
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll start!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!
android: I/flutter : on scroll!

Oh man, this is tricky.


update perf tests to use curried functions

update perf tests to use functions and also use es6 const and let
however a few small observations/questions...

merge for me just runs and doesnt display an really results other than

> node ./merge.js

merge 100000 x 10 streams
-------------------------------------------------------

it seems that switch isnt part of the run stack? maybe we should add it but xstream bug would need to be fixed (seems to error)

should flatMap be now chain for file name and contents since no more aliases ?

once we decide on those we could update the stats README

merge for me just runs and doesnt display an really results other than

I'll pull the branch and take a look.

should flatMap be now chain for file name and contents since no more aliases ?

:+1: Yes, please!

it seems that switch isnt part of the run stack? maybe we should add it but xstream bug would need to be fixed (seems to error)

It seems to happen in the main cujojs/most repo as well.  Maybe @staltz can help us understand if we're doing something wrong.  Here's the error I get in cujojs/most:
switch 10000 x 1000 streams
-------------------------------------------------------
most               1431.50 op/s ±  1.10%   (80 samples)
rx 5                  1.79 op/s ±  7.74%   (13 samples)
rx 4                 95.95 op/s ±  1.30%   (83 samples)
/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:695
        (this.inner = s)._add(this.il = new MapFlattenInner(u, this));
                         ^

TypeError: (intermediate value)(intermediate value)._add is not a function
    at MapFlattenOperator._n (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:695:26)
    at Stream._n (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:918:18)
    at FromArrayProducer._start (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:217:17)
    at Stream._add (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:988:19)
    at MapFlattenOperator._start (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:662:24)
    at Stream._add (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:988:19)
    at FoldOperator._start (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:554:18)
    at MemoryStream._add (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:1858:19)
    at LastOperator._start (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:598:18)
    at Stream._add (/Users/brian/Projects/cujojs/most/test/perf/node_modules/xstream/core.js:988:19)

In the meantime, we could add it, and just comment out the xstream suite, adding a note about the error.

@briancavalier found the issue with switch it uses the bacon.fromArray instead of xstream version... check the cujojs/most

it uses the bacon.fromArray instead of xstream version... check the cujojs/most

Oh jeez 🤦♂ sorry about that.

no worries should have caught it earlier... had to stare at it as well 😄

Below is my results for running the whole thing

Updated Perfs
λ npm start

><EMAIL_ADDRESS>start /Users/davidchase/Desktop/mostjs/core/test/perf
> npm run filter-map-reduce && npm run chain && npm run concatMap && npm run merge && npm run merge-nested && npm run zip && npm run scan && npm run slice && npm run skipRepeats && npm run switch

><EMAIL_ADDRESS>filter-map-reduce /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./filter-map-reduce

filter -> map -> reduce 1000000 integers
-------------------------------------------------------
most                484.22 op/s ±  1.50%   (77 samples)
rx 4                  1.30 op/s ±  4.40%   (11 samples)
rx 5                 10.00 op/s ±  1.54%   (49 samples)
xstream              15.80 op/s ±  1.88%   (73 samples)
kefir                 9.27 op/s ±  2.51%   (47 samples)
bacon                 0.79 op/s ±  1.41%    (8 samples)
highland              5.01 op/s ±  2.01%   (28 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>chain /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./chain.js

chain 1000 x 1000 streams
-------------------------------------------------------
most                140.98 op/s ±  1.42%   (78 samples)
rx 4                  0.67 op/s ±  5.21%    (8 samples)
rx 5                 25.26 op/s ±  1.08%   (60 samples)
xstream              10.98 op/s ±  1.76%   (53 samples)
kefir                 8.93 op/s ±  0.73%   (45 samples)
bacon                 0.67 op/s ±  2.07%    (8 samples)
highland              0.09 op/s ±  5.28%    (5 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>concatMap /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./concatMap.js

concatMap 1000 x 1000 streams
-------------------------------------------------------
most                103.63 op/s ±  2.12%   (77 samples)
rx 4                  1.26 op/s ±  2.96%   (11 samples)
rx 5                 26.81 op/s ±  1.43%   (63 samples)
xstream              11.06 op/s ±  0.93%   (54 samples)
kefir                 9.37 op/s ±  1.80%   (47 samples)
bacon                 0.70 op/s ±  2.34%    (8 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>merge /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./merge.js

merge 100000 x 10 streams
-------------------------------------------------------
most                279.31 op/s ±  1.45%   (77 samples)
rx 4                  1.13 op/s ±  2.88%   (10 samples)
rx 5                 28.33 op/s ±  0.98%   (66 samples)
xstream              16.18 op/s ±  1.38%   (73 samples)
kefir                10.29 op/s ±  1.85%   (51 samples)
bacon                 0.66 op/s ±  2.48%    (8 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>merge-nested /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./merge-nested.js

merge nested streams w/depth 2, 5, 10, 100 (10000 items in each stream)
-------------------------------------------------------
most (depth 2)     9533.71 op/s ±  1.42%   (77 samples)
most (depth 5)     4877.75 op/s ±  1.28%   (78 samples)
most (depth 10)    2644.43 op/s ±  1.13%   (76 samples)
most (depth 100)    279.08 op/s ±  1.86%   (78 samples)
rx 4 (depth 2)       42.18 op/s ±  1.76%   (65 samples)
rx 4 (depth 5)       16.07 op/s ±  0.99%   (72 samples)
rx 4 (depth 10)       6.68 op/s ±  2.44%   (35 samples)
rx 4 (depth 100)      0.16 op/s ±  2.85%    (5 samples)
rx 5 (depth 2)      588.81 op/s ±  2.45%   (77 samples)
rx 5 (depth 5)      237.04 op/s ±  1.95%   (76 samples)
rx 5 (depth 10)     103.51 op/s ±  1.36%   (77 samples)
rx 5 (depth 100)      1.73 op/s ±  3.25%   (13 samples)
xstream (depth 2)   472.85 op/s ±  2.32%   (80 samples)
xstream (depth 5)   188.94 op/s ±  1.82%   (77 samples)
xstream (depth 10)   79.05 op/s ±  1.85%   (72 samples)
xstream (depth 100)    1.42 op/s ±  2.76%   (11 samples)
kefir (depth 2)     288.50 op/s ±  1.90%   (80 samples)
kefir (depth 5)      97.72 op/s ±  1.90%   (73 samples)
kefir (depth 10)     35.07 op/s ±  2.20%   (78 samples)
kefir (depth 100)     0.46 op/s ±  3.46%    (7 samples)
bacon (depth 2)      19.36 op/s ±  3.08%   (49 samples)
bacon (depth 5)       8.32 op/s ±  2.02%   (42 samples)
bacon (depth 10)      3.68 op/s ±  1.26%   (22 samples)
bacon (depth 100)     0.08 op/s ±  3.30%    (5 samples)
highland (depth 2)    1.98 op/s ± 10.73%   (14 samples)
highland (depth 5)    1.96 op/s ± 12.11%   (14 samples)
highland (depth 10)    0.16 op/s ±  3.53%    (5 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>zip /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./zip.js

zip 2 x 100000 integers
-------------------------------------------------------
most                104.83 op/s ±  2.75%   (77 samples)
rx 4                  2.10 op/s ±  2.00%   (15 samples)
rx 5                  0.21 op/s ±  1.20%    (6 samples)
kefir                 0.45 op/s ± 48.21%    (7 samples)
bacon                 0.10 op/s ±  4.37%    (5 samples)
highland              0.06 op/s ± 11.54%    (5 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>scan /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./scan.js

scan -> reduce 1000000 integers
-------------------------------------------------------
most                287.88 op/s ±  1.08%   (79 samples)
rx 4                  1.35 op/s ±  1.66%   (11 samples)
rx 5                 11.14 op/s ±  1.09%   (54 samples)
xstream               8.63 op/s ±  1.30%   (44 samples)
kefir                14.48 op/s ±  1.17%   (66 samples)
bacon                 0.63 op/s ±  2.21%    (8 samples)
highland              5.12 op/s ±  3.62%   (29 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>slice /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./slice.js

skip(n/4) -> take(n/2) 1000000 integers
-------------------------------------------------------
most                108.64 op/s ±  1.03%   (70 samples)
rx 4                  2.03 op/s ±  0.89%   (14 samples)
rx 5                 43.00 op/s ±  1.39%   (66 samples)
xstream              18.44 op/s ±  2.38%   (43 samples)
kefir                10.55 op/s ±  7.94%   (53 samples)
bacon                 0.80 op/s ±  4.21%    (8 samples)
highland              6.30 op/s ±  2.23%   (34 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>skipRepeats /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./skipRepeats.js

skipRepeats -> reduce 2 x 1000000 integers
-------------------------------------------------------
most                313.07 op/s ±  1.04%   (76 samples)
rx 4                  1.65 op/s ±  1.72%   (13 samples)
rx 5                 11.09 op/s ±  1.09%   (54 samples)
xstream              20.24 op/s ±  1.57%   (50 samples)
kefir                11.63 op/s ±  1.25%   (56 samples)
bacon                 0.82 op/s ±  1.99%    (9 samples)
-------------------------------------------------------

><EMAIL_ADDRESS>switch /Users/davidchase/Desktop/mostjs/core/test/perf
> node ./switch.js

switch 10000 x 1000 streams
-------------------------------------------------------
most               1694.91 op/s ±  5.09%   (81 samples)
rx 5                  1.62 op/s ±  8.60%   (12 samples)
rx 4                 89.70 op/s ±  1.75%   (79 samples)
xstream               1.21 op/s ±  5.38%   (10 samples)
kefir                 0.96 op/s ±  2.82%    (9 samples)
bacon                 0.02 op/s ±  4.49%    (5 samples)
-------------------------------------------------------

Cool.  Those results look on par with what I see on my machine, too.


generate coverage/lcov.info

generate coverage/lcov.info that is commonly in practice instead of coverage/lcov/<basename>.lcov
several open source community libraries expect coverage/lcov.info for them to function.
I made this change because earlier format of this formatter was not compatible for showing code coverage in atom editor gutter.
Please do let me know if any further updates are expected.

I'm sorry, but this PR is outdated.
#21 merged into master includes this PR.


folium maps in py shiny

I tried to create a folium map in pyshiny but looks like documentation says only shinywidgets or ipyleaflet is available. Is this correct? Or Can I request this feature to be added ?

{folium} maps can be rendered through @render.ui, see this comment https://github.com/posit-dev/py-shinywidgets/issues/71


Add KHR/KHX/NN extensions to threading layer

These were skipped due to problems in codegen. Added support for new objects into the layer, fixed codegen.

@stroyan, removed CreateSwapchain from the special_functions list.  Also removed the hard-coded object lists and just checked the handles -- I noticed that PhysicalDevice was purposefully skipped and kept things that way, but also noticed that VkDescriptorSet was missing from the list of non-dispatchable objects and added that in (along with supporting changes).  Things seem fine this way, is there some non-obvious reason this object should be excluded?

The hard-coded lists of object types evolved as the list of externsync parameters expanded.
There is no need to use ReadObject counters for types that never appear in externsync parameters, (or for types that only appear as externsync parameters with WriteObject counters).  But it seems that all the handle types now are listed as externsync at least some of the time.  Dropping the hardcoded lists will make it a bit easier to maintain when new handle types appear.


Small errors in tutorial about overload function

As now we have a http://tutorial.ponylang.org/pattern-matching/case-functions.html with overload functions.
There is two issues in other places:
http://tutorial.ponylang.org/expressions/infix-ops.html
Since Pony does not allow overloading of functions by argument type, each type can only have a single add function.

and
http://tutorial.ponylang.org/expressions/methods.html
Can I overload functions by argument type? No. There is no overloading of methods in Pony, each type may only have a single method of any given name.

I think it should be changed to another descriptions :)

@Nyarum - I think this issue is covered by this ticket, in the tutorial repo: https://github.com/ponylang/pony-tutorial/issues/106
If so, I would say please add your thoughts to that ticket.  If not, please open another ticket in the pony-tutorial repo instead of here.
Thanks!

@jemc yep, it is. Thank you.
I will close this ticket and copy my message with details to https://github.com/ponylang/pony-tutorial/issues/106.


ListBar commands/items text is confusing

commands/items - Set buttons using an object with keys as titles of buttons, containing of objects containing keys of keys and callback.

I'm not sure what I'm supposed to pass.  I think it's supposed to be something like:
{
'my button title': {
  'keys': ['a', myCallBack]
  }
}

But that bombs on:
TypeError: this.items.forEach is not a function
    at Listbar.render (/home/aaron/game/node_modules/blessed/lib/widgets/listbar.js:289:14)

Meaning I'm supposed to be passing an array...of?  dictionaries?

It is very confusing, and they need to provide an example at the very least.

I'll also add that the typescript definition shows:
        interface ListbarCommand {
            key: string;
            callback(): void;
        }

and
        /**
         * Set commands (see commands option above).
         */
        setItems(commands: Types.ListbarCommand[]): void;

Okay, I seem to have figured it out.
menuBar.setItems({
"Exit": { keys: ["5"], callback: () => process.exit() }
});

Where the "key" of the original object is the name of the button, and the keys part refers to the keyboard keys that are binded to it. Callback is the function you want to call.
Also, Here are the settings I had for the listbar:
const menuBar = blessed.listbar({
    top: "top",
    width: "100%",
    style: {
        selected: {
            bg: "yellow",
            fg: "white"
        },
        item: {
            bg: "grey",
            fg: "yellow"
        },
    },
    autoCommandKeys: true,
    keys: true,
    vi: false
})

If you don't add keys: true and autoCommandKeys: true I don't think it binds the keys for you. From what i've read, the keys: true option allows you to use the arrow keys and the enter key on your keyboard to select things.
Hope this helps!


remove deploy documentation to /documentation

Follow up on https://github.com/Qiskit-Extensions/mthree/pull/151
The documentation is correctly deployed in https://qiskit.org/ecosystem/mthree/ . So, no need to upload to /documentation anymore.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: 1ucian0:x: mtreinishYou have signed the CLA already but the status is still pending? Let us recheck it.


[B#44] E11000 duplicate key error collection

Pull Request Test Coverage Report for Build 1038

7 of 7 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 88.525%

Totals

Change from base Build 910:
0.05%

Covered Lines:
432

Relevant Lines:
488

💛  - Coveralls


Add Flatpak manifest that uses the Odin Sdk

Unless you have built the new sdk from it's git repo or download my precompiled .flatpak bundle you will have to wait until it's on their flatpak repo to test it.
I've tested it and has the right permissions so it works perfectly. The manifest it pretty minimal too.

I updated the app id and sdk. Can you test it on elementary (5 and 6) and make sure everything still works?

I ended up making my own Flatpak manifest, and I added it in #30.


Main typing

Hey. I've tested it in TS project and it looks ok.

Hi @vasilyatka thank you for the contribution. Can you explain why the options type should be exported separately from the props, and why React.ReactNode should be used instead of React.Element?

I see, maybe TaterOptions not necessary.
What about ReactNode and React.Element is that ReactNode includes itself all valid ReactNode, lol. Check this, please https://github.com/DefinitelyTyped/DefinitelyTyped/blob/5344bfc80508c53a23dae37b860fb0c905ff7b24/types/react/index.d.ts#L150
While React.Element is an object with fields 'type', 'props', and 'key'. That isn't good for the case when you pass to children just a string.

Interesting. In this case, since the library is designed to wrap an element that has a large enough space for putting annotations on it, I think React.Element might be better. This library wouldn't work if the user was trying to wrap other elements like ReactFragment | ReactPortal | string | number | boolean | null | undefined.

Any news?

What are the problems with the current implementation, and how does this PR solve them?

The problem is with options prop. The current implementation has a mistyping with it. Check it, please

Try passing the props directly as name and size. There's no options prop.

Actually it is. Look please at this line
https://github.com/localjo/react-tater/blob/90cdbe811133c0e710a3b298183d238e40c3283a/src/index.js#L31
Now API is not correct


AIPscan fails to fetch AIPs with large sizes

AIPscan failed to fetch a 9GB AIP on a client instance. The following error was shown in the celery logs:
...
celery[3041]:   File "/usr/share/archivematica/virtualenvs/AIPscan/lib/python3.10/site-packages/pymysql/connections.py", line 775, in _read>
celery[3041]: 	packet.raise_for_error()
celery[3041]:   File "/usr/share/archivematica/virtualenvs/AIPscan/lib/python3.10/site-packages/pymysql/protocol.py", line 219, in raise_fo>
celery[3041]: 	err.raise_mysql_exception(self._data)
celery[3041]:   File "/usr/share/archivematica/virtualenvs/AIPscan/lib/python3.10/site-packages/pymysql/err.py", line 150, in raise_mysql_e>
celery[3041]: 	raise errorclass(errno, errval)
celery[3041]: sqlalchemy.exc.DataError: (pymysql.err.DataError) (1264, "Out of range value for column 'size' at row 1")
celery[3041]: [SQL: INSERT INTO aip (uuid, transfer_name, create_date, mets_sha256, size, storage_service_id, storage_location_id, fetch_jo>
celery[3041]: [parameters: {'uuid': '2fc6b405-a472-4695-84b4-41ae1a2f597b', 'transfer_name': 'X86065_008_AVP', 'create_date': datetime.date>
Oct 17 16:47:30 ts-am-prd-new celery[3041]: (Background on this error at: http://sqlalche.me/e/9h9h)

In AIPscan the field type for the AIP size if defined here: https://github.com/artefactual-labs/AIPscan/blob/main/AIPscan/models.py#L328
which is an Integer (can hold max value of 2GB if signed, 4GB if unsigned).
In order to be able to accept bigger AIP sizes, it looks like the schema would need to be migrated to use a BigInteger field (https://docs.sqlalchemy.org/en/13/core/type_basics.html#sqlalchemy.types.BigInteger )
(as for comparison, although not using SQLAlchemy, the Storage Service is using a BigInteger field for package sizes, as per https://github.com/artefactual/archivematica-storage-service/blob/qa/0.x/storage_service/locations/models/package.py#L81 )

PR, for CR, to fix: https://github.com/artefactual-labs/AIPscan/pull/348

I've merged the fix. Let me know if you run into any iassues with it!


Add aliases for Wq and WQ for fat finger mistakes.

 I added these two so that when I fat finger
it and capitalize something the program still exits like I want it to.

Wq and WQ aren't part of ex, so I don't think they should be part of ex-mode either. This is easy enough to add to your init.coffee since #113 was merged (see README.md for an example).

Can we discuss adding these? I feel like it would be helpful for many atom-vim users to have these and not have to go in and edit their init.coffee file. This seems like something that many people would want and I don't see a reason why someone would not want it.

As a vim and ex-mode user I rather agree that if it isn't part of ex then it shouldn't be in ex-mode either.
Not all of the users have fat fingers after all and it's reasonable to expect ex-mode to confront to ex's behavior strictly.

Ok then I will edit my init.coffee and drop this.

I'll add a more prominent reference to aliasing in the README, otherwise this would be undocumented behavior which isn't the best.

@jazzpi agreed.

:+1:


[FR] List all tables command

Could you add a command to list all tables in the database?
For example, we can use ".tables" in sqlite3.exe to list all the tables.
For now, i use the following SQL statements to list tables:

SQL Server: select name from sysobjects where xtype='U';
SQlite3: SELECT name FROM sqlite_master WHERE type='table';

It would be nice if the command to display the column structure was also available. Such as Oracle's "describe" command.

DESC or \d command is available for listing them.

DESC or \d without aguments shows the list of table.
DESC tablename or \d tablename shows the specification of the table.

Since I am used to Oracle, the specifications are similar to Oracle's SQL*Plus. If you have any suggestions for improvement about DESC command, Would you post them in this issue ?

Thanks for your reply.
Is there any 'secret' command other than ‘desc’, which is not mentioned in the README?
How about the ".tables" command?

I thought I had written it, but I didn't. (I wasn't trying to hide it, I just forgot)
Thank you for pointing that out. I would confirm and update README.
Is DESC ; without arguments equivalent to .tables ?


Error messages for embargo date validation issues should display next to the embargo date field in red

Error messages regarding embargo dates are displayed in black text at the top of the page. None of the other errors are displayed this way, making these very hard to find.

Ideally these would be displayed in red text under the entry fields similarly to other error messages and, if possible, the boxes would not be highlighted in green:

This actually appears to already be fixed.

This actually appears to already be fixed.


Updated "Get started creating site designs and site scripts"

Category

[x] Content fix

What's in this Pull Request?
Updated "Get started creating site designs and site scripts" article with few fixes & improved formatting.

Docs Build status updates of commit aaf85ab:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/declarative-customization/get-started-create-site-design.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Correction request

[Enter feedback here]
"Remove a scheduled task" is described as "execute scheduled task" in the Japanese document.
"Remove a scheduled task"is correct, so please correct the Japanese mistakes.

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

ID: 5f9e011b-c50f-3549-286a-0810ad2cb8c9
Version Independent ID: e31b4231-10c3-fed2-651a-3f0e4685f3b8
Content: Review remediation actions following automated investigations
Content Source: microsoft-365/security/defender-endpoint/manage-auto-investigation.md
Service: microsoft-365-security
Sub-service: mde
GitHub Login: @Dansimp
Microsoft Alias: dansimp

@MartinOersted Please help us in resolving this issue. Thanks

@yogkumgit
Can I ask you to please log a bug via the Global Services Hub using this link.
A few notes for logging Docs content bugs:
•	You can leave the Assigned To field blank.  The localization suppliers are constantly triaging new bugs and will assign to the correct person to fix.
•	Please @mention me  in the bug so I can monitor it.
•	Set Area = Global Collaboration Service Project\Global\Content\Support\Technical Content - IT Pro (formerly TechNet)
•	Set Iteration = Global Collaboration Service Project\Unspecified
•	Set Product Area = UA - TechCon
The first time you visit the Global Services hub your identity will be validated, and you will be granted access. That can take a bit of time. If you need help filling in the bugs, we recommend the following pages:
Creating a translation bug: KA-01110 · Global Services Hub (powerappsportals.com)
Getting access to the bug database: How to request access to the Global Collaboration Service ADO.

@tiburd Please help. Thanks

Thank you for submitting this localization issue.
I submitted a translation bug: 294690
I'm closing this issue because the Global Services team will handle it from here.


Hoist Controls should render nicely even with no properties set

Important for "Gentle Slope" learning.....

I think that HoistFields are the highest priority, but we should make it a
goal for all of our components to render cleanly "out-of-the-box".
Its so useful when prototyping, or getting started on an app to drop
something in and immediately see something other than console errors!
-Lee
On Fri, Aug 17, 2018 at 11:24 AM, Anselm McClain<EMAIL_ADDRESS>wrote:

Does this relate mostly to HoistField components, or are there others in
the library we should prioritize?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/exhi/hoist-react/issues/541#issuecomment-413900773,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACM16b5aXCwWwjNwAeJXr617UmaMX52nks5uRuA-gaJpZM4WAk8_
.

This turned out to be a pretty easy fix -- really related just to dropdowns being overly fastidious about receiving certain props....


[ANDROID] empty gms token after update app

Steps for debug:

do install old app without "Exponea"
do install new app includes "Exponea"
check logs.

You can see how "Exponea" send request with empty "Gms" token!
Steps for fixing this bug at now:

You need to check empty gms token in PreferenceManager.getDefaultSharedPreferences by "ExponeaFirebaseToken" key
If it empty, you need to call Firebase Messaging.getInstance().token and set to ExponeaPlugin.handleNewGmsToken

Temp solution
private fun fixOrSkip() {         try {             val token = PreferenceManager.getDefaultSharedPreferences(context).getString(                 "ExponeaFirebaseToken", ""             )             if (token.isNullOrBlank().not()) {                 return             }             FirebaseMessaging.getInstance().token.addOnSuccessListener {                 ExponeaPlugin.handleNewGmsToken(context, it)             }         } catch (e: Exception) {             //do nothing         }     }

Thanks @ghost for your solution.
You are right that Firebase token is not delivered to your app (and your app is not updating SDK) because app is "just" updated. Token generation is defined here
But your solution is fine, and I would approve it definitely! Because you may call 'FirebaseMessaging.getInstance().token' on every app start and you will get the same token every time (until it truly changed). I'm using this backup in every app personally :-)
You created solution that is not asking for token if it is not needed, but please consider to 'not use hidden api' :-)


Add terms modal

@victortokaito I simply reimplemented the existing terms model, except I added "Show more" buttons for both paragraphs on mobile to prevent the modal from overflowing off of the screen. On a mobile device, users can click "Show more" and scroll to read the remaining text.
Addresses #389

LGTM 🚀


【总表】Issue汇总

[ ] amamba

[ ] 文档优化：#1023, #3161, #3245
[ ] 技术相关：#2739,  #2740

[ ] insight

文档优化：
https://github.com/DaoCloud/DaoCloud-docs/issues/2714 ；https://github.com/DaoCloud/DaoCloud-docs/issues/2790 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3156
https://github.com/DaoCloud/DaoCloud-docs/issues/3243 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3244 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3246 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3247
文件相关：
https://github.com/DaoCloud/DaoCloud-docs/issues/2774 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3154
https://github.com/DaoCloud/DaoCloud-docs/issues/3155

[ ] kapanda

文档优化：
https://github.com/DaoCloud/DaoCloud-docs/issues/2377 ；https://github.com/DaoCloud/DaoCloud-docs/issues/2716 ；https://github.com/DaoCloud/DaoCloud-docs/issues/2719 ；https://github.com/DaoCloud/DaoCloud-docs/issues/2899 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3020 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3029 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3031 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3061
https://github.com/DaoCloud/DaoCloud-docs/issues/3063 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3067 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3070 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3075 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3358 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3437 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3463 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3487
文件相关：
https://github.com/DaoCloud/DaoCloud-docs/issues/2691 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3026 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3027 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3032
https://github.com/DaoCloud/DaoCloud-docs/issues/3069 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3072 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3488 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3491

[ ] kairship

文档优化：
https://github.com/DaoCloud/DaoCloud-docs/issues/2665 ；https://github.com/DaoCloud/DaoCloud-docs/issues/2823 ；https://github.com/DaoCloud/DaoCloud-docs/issues/2824 ；https://github.com/DaoCloud/DaoCloud-docs/issues/2825
https://github.com/DaoCloud/DaoCloud-docs/issues/2826 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3017 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3018 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3022
文件相关：

[ ] hwameistor

文档命令更新：
https://github.com/DaoCloud/DaoCloud-docs/issues/1027 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3095
https://github.com/DaoCloud/DaoCloud-docs/issues/3097 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3312
YAML更新：
https://github.com/DaoCloud/DaoCloud-docs/issues/3090 ；https://github.com/DaoCloud/DaoCloud-docs/issues/3093
未完待续

You can add - [ ] bullets to make it clean