Add Rogue Trader Rune Sudoku solver overlay

This plugin gets the runes shown in the large sudoku puzzle in the Rogue Trader minigame/miniquest, solves the puzzle and renders an overlay showing the solution with small runes.

I added this to the existing puzzle solver plugin. It could be its own plugin, but I thought that was the appropriate place.

As discussed on discord, this is probably not a good idea as this is a botting hotspot and solving it too quickly can result in a quick ban.

I'm closing this, under the assumption there is no interest in it.

how do I add this to runelite? I downloaded it at the above section but cant figure it out.
very in need of this plug in


import/no-sibling-import new rule ? Or import/no-restricted-paths

Greetings,
I'm having a hard time trying to prevent imports between sibling folders in my app. I think the use case is pretty common but I can't seem to make it work with import/no-restricted-paths.
My project structure :
src/
  app/
    moduleA/
    moduleB/
    moduleC/
  components/
  other/

I just want to prevent modules in src/app to import each other, but they should still be able to import from any other folder than src/app.
I tried to enforce this with { "zones": [ { "target": "./src/app/*", "from": "./src/app/*" } ] }, but this prevents ANY import. So files under the same module can't even import each other.
Am I using the rule wrong or do we need a new one?

I think you want #1154.

That's it, thanks. I'll thumb it up


suggestions remains as it is even after sending message

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

Action Performed:

Go to any chat
Type for any emiji ( do not select suggested emoji)
Send message

Expected Result:
Suggested emoji should be removed after sending the message
Actual Result:
Emoiji suggestions shows
Workaround:
unknown
Platforms:

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

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.2.83-2
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
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/224875615-cecd9a1d-1424-46f2-b08e-51a0f88da5a2.mp4

Expensify/Expensify Issue URL:
Issue reported by: @gadhiyamanan
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1678718820449989
View all open jobs on GitHub

Triggered auto assignment to @miljakljajic (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@miljakljajic Still overdue 6 days?! Let's take care of this!

@miljakljajic  I still can reproduce on staging
https://user-images.githubusercontent.com/113963320/227412543-784eb91e-68eb-483b-80c9-19ca1454e180.mov

It seems @miljakljajic is not available during this time. @kavimuru  Could you reproduce this issue?

This has also been reported here on mac web (chrome), but I was unable to reproduce it on v1.2.92-0 on the staging version. @gadhiyamanan, before this one gets reopened, could you please test on the app version v1.2.92-0 and confirm it's reproducible?

@kadiealexander I can reproduce it with the latest version v1.2.92-0

This has also been reported here on mac web (chrome), but I was unable to reproduce it on v1.2.92-0 on the staging version. @gadhiyamanan, before this one gets reopened, could you please test on the app version v1.2.92-0 and confirm it's reproducible?

@kadiealexander assuming you might have used enter to send message but to reproduce you need to click on send button.

Ok, tested on Pixel 3a (v 92-0) and I can reproduce:

to reproduce you need to click on send button.

Yep, that's what I did - clicked on the button

Thanks for that tip @Pujan92, I was able to repro:
https://user-images.githubusercontent.com/59587260/228722334-b51d2bf5-f361-4685-820a-8d78ea628eb0.mp4

Triggered auto assignment to @MonilBhavsar (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

@miljakljajic @MonilBhavsar this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

I am able to reproduce. Can be worked externally

Job added to Upwork: https://www.upwork.com/jobs/~01eccf0dd16e54ab9d

Current assignee @miljakljajic is eligible for the External assigner, not assigning anyone new.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Emoji suggestions still shows after send button click
What is the root cause of that problem?
On submitting the comment we are not resetting the emoji suggestions which causes the suggestions are still showing after send button click.
What changes do you think we should make in order to solve the problem?
We need to call this.resetSuggestedEmojis() inside the prepareCommentAndResetComposer after resetting the comment here.
https://github.com/Expensify/App/blob/8a1510373598807a4ea6c5049f2a3121dfbd9215/src/pages/home/report/ReportActionCompose.js#L625-L633

Triggered auto assignment to Contributor-plus team member for initial proposal review - @s77rt (External)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Emoji suggestions still remains after sending message
What is the root cause of that problem?
We don't have logic to close the emoji suggestion when clicking the send button
What changes do you think we should make in order to solve the problem?
We should reset the emoji suggestion when clicking the send button
 submitForm(e) {
        ....
         .....
        this.resetSuggestedEmojis();
        this.props.onSubmit(comment);
    }

Current assignee @MonilBhavsar is eligible for the External assigner, not assigning anyone new.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Emoji suggestions still remains after sending message
What is the root cause of that problem?
We don't have logic to close the emoji suggestion when clicking the send button
What changes do you think we should make in order to solve the problem?
We should reset the emoji suggestion when clicking the send button
 submitForm(e) {
        ....
         .....
        this.resetSuggestedEmojis();
        this.props.onSubmit(comment);
    }

Proposal
Please re-state the problem that we are trying to solve in this issue.
Emoji suggestion popover still remains after clearing composer input programatically
What is the root cause of that problem?
onSelectionChange event is not called when input is cleared programmatically.
We calculate emoji suggestion visibility in this function. So when send message, input cleared but popover visibility is not re-calculated.
What changes do you think we should make in order to solve the problem?
This is web issue. Works fine on native (onSelectionChange is called and selection is updated to {start: 0, end: 0}).
So the ideal solution is to fix this selection issue on web because after sending message, selection value will be staled until user focus on input again or type anything.
Solution1: make onSelectionChange work when clear input in upsream repo
Solution2: call onSelectionChange manually when input is cleared
Solution3: manually call resetSuggestedEmojis after reset composer but this is workaround because selection still remains

@Pujan92 Thanks for the proposal. I'm afraid your proposal is not eligible for review.
https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md#propose-a-solution-for-the-job

Do not propose solutions to jobs until the Help Wanted label has been applied. Any proposals submitted before these labels are added will not be reviewed.

@situchan Thanks for the proposal. Your RCA is correct. I think we are looking for an upstream fix here. Are you working on a PR for that or can you elaborate your suggested upstream changes?

@dukenv0307 Thanks for the proposal. I don't think the RCA is correct as it does not explain why the bug only occurs on Web and not Native.

@s77rt I just updated my proposal
PROPOSAL
Updated

@dukenv0307 Thanks for the update. I think what you are suggesting is more like an improvement and does not fix the root cause. I think we should still fix the stale selection on RNW.

Not overdue. We narrowed the bug to RNW and we are looking for an upstream fix (fix stale selection on RNW).

@s77rt @miljakljajic @MonilBhavsar this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:

Decide whether any proposals currently meet our guidelines and can be approved as-is today
If no proposals meet that standard, please take this issue internal and treat it as one of your highest priorities
If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

Current assignee @s77rt is eligible for the Internal assigner, not assigning anyone new.

@s77rt could you please provide more details on this https://github.com/Expensify/App/issues/15934#issuecomment-1502086640

@MonilBhavsar Check https://snack.expo.dev/JGFbUc_KU?platform=android
On Android:

Focus Input
Click on Fill, notice the selection changes to 5
Click on Clear, notice the selection changes to 0

On Web:

Focus Input
Click on Fill, notice the selection changes to 5
Click on Clear, notice the selection is stale still showing 5 instead of 0

iOS is having a different behavior, on the Expo Snack it's not working but on E/App it's working, this may be due to other factors. For simplicity let's focus on matching Web behavior with Android behavior.

Current assignee @miljakljajic is eligible for the External assigner, not assigning anyone new.

Current assignee @s77rt is eligible for the External assigner, not assigning anyone new.

Current assignee @MonilBhavsar is eligible for the External assigner, not assigning anyone new.

Thanks for the explanation!
I made it external again. Are we still waiting for proposals for upstream fix or it is already being worked on?

@MonilBhavsar We are still waiting for proposals.

Proposal
Please re-state the problem that we are trying to solve in this issue.
suggestion for Emoji remains even after sending message
What is the root cause of that problem?
To be more clear, the issue is originating from onMouseDown event handler. When button view is clicked, we are calling
https://github.com/Expensify/App/blob/ee3a27e9de22ca519c0ca6632a2dfee4246d4966/src/pages/home/report/ReportActionCompose/index.js#L924
to keep focus on composer. Although it is keeping focus on composer it is not registering cursor change and not firing onSelectionChange.
If we try the same thing in react it self it works as expected - https://codesandbox.io/s/quizzical-sutherland-4uwx4?file=/src/index.js
What changes do you think we should make in order to solve the problem?
After a long investigation, it looks like it is not possible to fix it in upstream. Basically, this is coming down to how react native handles events, and react native web's extension on this usage. They are using responder system to manage mouse events. One of the side effect is onMouseDown event is not passed to dom itself unlike react which passes, and they are handling preventDefault() differently. Even passing the event to dom manually won't work. There are a lot of things going on in react-native and react-native-web to intercept this events and to handle them.
Is it possible to fix responder it self? Well, responder itself is looking pretty complex  and has a lot of moving parts, also it is responsible for mainly handling touch based interactions in mobile platforms. One small change might cause whole another wave of side effects which is hard to catch and effect entire app. And I am think that fix itself would be some sort of workaround.
The most optimal solution is going to be manually resetting selection when input gets cleared.
This solution might look a hack if we treat not calling selectionChange when input gets cleared as bug, which is arguable. If we use javascript itself it will only call onSelect if there is an actual selection - https://codesandbox.io/s/goofy-goldberg-52lys?file=/src/index.js
P. S. According to react-native-web onSelectionChange is directly corresponding to onSelect attribute.
This what the best conclusion I have drawn to summarize my research but still if you have any questions, I am here answer
What alternative solutions did you explore? (Optional)

@alitoshmatov Thanks for the proposal. At first, I thought this is related to onMouseDown too, but the fact that the "Fill" button works https://codesandbox.io/s/cocky-grass-xvxqgr tells us there is more. On Web (HTML5) the input's onSelect handler does not track the cursor position. React seems to be implementing its own cursor-tracking logic and that logic is missing the case where the input is programmatically cleared. I think we agree that the bug is even at a lower level which react itself.
That being said I think we are narrowing the bug to react's SelectEventPlugin.

@s77rt I think you missed that onMouseDown event is applied to outer div and "Fill" button is also inside this div. That's why it is working. And that is expected behavior. Thus, bug is not in react itself.
Correct me if I missed something

@alitoshmatov But the "Clear" button has the same circumstances as "Fill". Yet "Clear" does not work while "Fill" works. Check the sent codesandbox https://codesandbox.io/s/cocky-grass-xvxqgr
https://user-images.githubusercontent.com/16493223/232334181-9b13a046-4066-41c6-bd2c-cfe32c7dc961.mp4

@s77rt So there has been a bit misunderstanding between us, and just to make this issue more complex here is a new finding 😅. I have been using firefox and in the example you provided both buttons, including "clear" will reset selection. But in chrome as you said "clear" button is not working

@alitoshmatov That's interesting. I have tried on Webkit/Safari and the issue is not reproducible there. So I think this is probably a bug in Chrome?

@s77rt It might be. But still in react native it is not working in both browsers

@alitoshmatov Right, but we can ignore Firefox as it's not officially supported. On WebKit that works.
https://user-images.githubusercontent.com/16493223/232337525-3ce5cdfe-26c9-4496-9f73-2643952af3dc.mp4

@s77rt Yeah, this issue in expensify app is not reproducible in safari.
I am confused

Right, I still think we should investigate why SelectEventPlugin fail on Chrome. Then we can decide of the bug can be fixed on the plugin or it's something related to Chrome.

@miljakljajic can we please double the bounty here to get some more eyes.

Not overdue. Still waiting for proposals. I think we should double $

Agree, I'll double the bounty cc @miljakljajic

Upwork job price has been updated to $2000

Hi I'm Agata from Callstack - expert contributor group - maybe we could help with this one?

@koko57 Sure!
@MonilBhavsar Would you please assign @koko57 as per the process?

Proposal
Please re-state the problem that we are trying to solve in this issue.
in Chrome, onBlur in the composer  is not called when clicking the send button
What is the root cause of that problem?
Apparently in Chrome there's some precedence with the composer and send button where clicking the button doesn't blur the composer input. This causes an issue because onBlur is required to be called when submitting since it's the only way to reset the emojis.
What changes do you think we should make in order to solve the problem?

in the submitForm function I would add a check and call to resetSuggestedEmojis such as:
if (this.state.shouldShowSuggestionMenu) {
    this.resetSuggestedEmojis();
}

this would ensure the reset is called onSubmit and prevent multiple calls when shouldShowSuggestionMenu is already false.
What alternative solutions did you explore? (Optional)
n/a
Reminder: Please use plain English, be brief and avoid jargon. Feel free to use images, charts or pseudo-code if necessary. Do not post large multi-line diffs or write walls of text. Do not create PRs unless you have been hired for this job.

📣 @JediWattson! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~01c62599ed4a878d8e

@s77rt sure.
Could you please go through the latest proposal and confirm if it does really fix this issue?

https://github.com/Expensify/App/issues/15934#issuecomment-1520996432
This solution is proposed many times, and considered as a workaround hack.

📣 @koko57 You have been assigned to this job by @MonilBhavsar!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@MonilBhavsar It does fix the issue, but not fixing the root cause.

Thanks! Got it. Wanted to make sure If I was not missing anything

Hi  there! I'm Jakub from Callstack - expert contributor group - I am going to be taking this task over from @koko57 as she is already assigned to another issue.

📣 @bionanek! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

@MonilBhavsar Please assign @bionanek instead.

📣 @bionanek You have been assigned to this job by @MonilBhavsar!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

Hi there! Just a quick update from me:
I was investigating this issue on different platforms and it did seem like it's a React-Native-Web issue to me at first, specifically with TextInput's selectionChange event , because the onSelectionChange method was not being called after the emoji was inserted into the composer and I thought that the root might be somewhere around programmatically updating the value prop (which is what emoji replacement is).
But then I have noticed that if I updated the state with some random string value it did work properly. Then when I thought maybe it's the issue with emoji itself rather than text input, so I changed the line responsible for replacing text with emoji in EmojiUtils -> replaceEmojis function  like so
if (isSmallScreenWidth && i === emojiData.length - 1 && text.endsWith(emojiData[i])) {
    emojiReplacement += ' ';
}
newText = newText.replace(emojiData[i], 'test123');

and this actually make the suggestion box dissapear properly. So it seems that the issue must be somewhere around emoji itself.
Due to the bank holiday here in Poland I will be able to continue investigation and prepare the proposal on Tuesday.

@bionanek Thanks for the investigation but I don't think this is related to how the emoji is inserted. The bug is reproducible with a simple text and even on ReactJS. Please check https://github.com/Expensify/App/issues/15934#issuecomment-1510454077 (and other comments above).

Not overdue. Waiting for a proposal.

Waiting

@bionanek any update here?

@MonilBhavsar sorry for late update.
I was doing some testing around React, React Native and React Native Web in this matter, but I can agree that the issue seems to be undef what e.preventDefault() must be doing under the hood - not resetting the selection state.  Just as @alitoshmatov explained in his proposal
I've noticed that on older version of Chromium there was also an issue not only when you'd click on the button and fire e.preventDefault() but when you'd just programmatically replace a content of a text box with an empty string without loosing focus. So perhaps this issue might get fixed in the upcoming updates gradually.
For now, I think the best solution would be to introduce a simple workaround as this issue seems just not significant enough to spend more resources on it and get back to it in the future if needed.

@bionanek Thanks for the update, but this does not answer my concerns on why the "Fill" button works. Please refer to the previous comments such as https://github.com/Expensify/App/issues/15934#issuecomment-1510454077.

hi - I'm currently debugging React code searching for the issue with onSelect implementation, I will get back with more info on Monday!

Not overdue, we're discussing and making sure we all agree to the root cause of the issue

@bionanek Thanks a lot for the explanation. I have been looking into this and I agree with your analysis; Chrome does not emit selectionchange event if you delete (press backspace) or clear the text programmatically (thus we don't constructSelectEvent).
https://user-images.githubusercontent.com/16493223/236942130-8804287e-9f95-415b-aead-fca20949675d.mp4
I only have one slight note:

But when you do this React doesn't yet receive the selectionStart and selectionEnd values as we expect them to be (7-7), but it receives values 0-0.

This is actually the expected value since the moueup event fires before the click event (where we clear the value). I think the mouseup event is irrelevant (same goes for mousedown).
And one question :grin:: What do you propose to fix the issue?

Hi @s77rt !
Sorry, but yesterday I had quite a busy day and couldn't follow up on this one.

I only have one slight note:

But when you do this React doesn't yet receive the selectionStart and selectionEnd values as we expect them to be (7-7), but it receives values 0-0.

This is actually the expected value since the moueup event fires before the click event (where we clear the value). I think the mouseup event is irrelevant (same goes for mousedown).

Thanks for claryfying on this one. After a long debugging session sometimes brain gets confused :D

And one question 😁: What do you propose to fix the issue?

Since we identified this as a Chromium bug I would suggest to not depend on the onSelectionChanged call, and instead call this.calculateEmojiSuggestion(); within updateComment(comment, shouldDebounceSaveComment) function.
This approach gives us 2 benefits:

more reliable behaviour, since updateComment is invoked by Composer's onChangeText function
if we call this.calculateEmojiSuggestion(); from updateComment it gets called fewer times, avoiding unnecessary calls of this function

One more thing to add - I would remove a call to resetSuggestedEmojis from onBlur callback  and instead refactor setIsFocused function to either call calculateEmojiSuggestion if shouldHighlight is true or resetSuggestedEmojis if it's false. This way we will get an emoji suggestion box after we re-focus the input in which there's a piece of emoji code or hide the box on blur.
Like so:
setIsFocused(shouldHighlight) {
    this.setState({isFocused: shouldHighlight});
    if (shouldHighlight) {
        this.calculateEmojiSuggestion();
        return;
    }

    this.resetSuggestedEmojis();
}

Hey @s77rt, I wasn't clear yesterday - what I meant is to not depend on onSelectionChanged when it comes to calling this.calculateEmojiSuggestion().
But of course we need to leave it to just update the selection state that, as you mentioned, is required to calculate the emoji suggestions.
Resetting suggestion list on clear will not work in case when user selects the input content and delete it all or cut it out.
So again - my suggestion is to leave onSelectChanged and make it only update the selection value, and call the calculateEmojiSuggestion in updateComment as I described above as it's called on every text change.
I've tested my proposal locally and it seems to be working fine, no issues with emoji suggestions calculations.

Here you can see the result of the implementation I'm proposing
https://github.com/Expensify/App/assets/16389499/a3aeb474-72c9-4120-bf18-766c6c357e32
https://github.com/Expensify/App/assets/16389499/af2f088b-827e-4b5a-b812-0fab7fdff89f

@bionanek I understood what you meant and I think we still do need to depend onSelectionChange to calculateEmojiSuggestion. Otherwise the selection won't get updated on when changing cursor position:

with onSelectionChange
without onSelectionChange

I see your point on the failing cases of onClear. Those only fail on Chrome right? (due to selection bug). I think we may just ignore those cases and consider them as an edge case especially that they are primary related to a browser bug. Calculating the emoji suggestion on comment update seems a lot of work.
I will ask on Slack for more :eyes: on this.

Asked on Slack https://expensify.slack.com/archives/C01GTK53T8Q/p1683900085329619

@bionanek are you in #expensify-open-source? Sorry I couldn't find you.
We're discussing and could try to match with slack's way of handling this issue.

Melvin, please see my above comment 😕

Hey @MonilBhavsar! I'm Thiago from Callstack - expert contributor group - and I'll be taking this over from Jakub as he is already assigned to something else :)

@thiagobrez thank you! I'll assign you to the issue.

Following on the slack thread, suggestion to reset suggestions when onClear works well (also for @mentions) and it's simple enough.
I'll investigate the other suggestion which is making the suggestion menu a Modal that disables other actions (such as sending the message) until you dismiss it

Update: I'm able to use the Modal component to render the emoji suggestions with a backdrop disallowing the user to do other actions while the modal is open. Looks promising, but still has some conflicts I need to solve before I can come up with a proposal

Update: Got to something reasonable using the Modal component. Posted in the slack discussion the pros and cons

Proposal
Please re-state the problem that we are trying to solve in this issue.
On web, when clicking to send a message, if the emoji or mention suggestion view is open, the message will go through but the suggestions will remain opened (not cleared).
What is the root cause of that problem?
This is due to a bug only on Chrome, that is not firing the selectionchange event if the textinput is cleared programatically or in some edge cases (e.g. using Cut text). We rely heavily on the selectionchange event because suggestions change as you move the cursor.
What changes do you think we should make in order to solve the problem?
There was a lot of discussions both in this issue and in the slack thread. We decided to go with an approach similar to Slack, which is making the suggestion view a Modal with invisible backdrop, so the composer actions won't be clickable until you close the modal.
components/AutoCompleteSuggestions/BaseAutoCompleteSuggestions.js:

Change View to a Modal, not fullscreen, with backdrop, backdropColor transparent, and a new type of COMPOSER_SUGGESTIONS

components/Modal/BaseModal.js:

Add backdropColor prop and hasBackdrop prop

components/Modal/index.web.js:

Add mousedown listener so we're able to use the already existing prop shouldCloseOnOutsideClick on web too

pages/home/report/ReportActionCompose.js:

Remove a code block that automatically focus the input when modals are closed (lines 255-257). This was causing the input to flicker when closing the new suggestions Modal. Also, with this new improvement being worked on (automatically focusing input when typing any letter), this code block will not be needed anymore
In the onSelectionChange callback, only calculate the new emoji and mention suggestions if the new selection is different from the previous one. This prevents unnecessary state updates and re-calculating the suggestions when the focus went back to the input when closing the Modal

What alternative solutions did you explore? (Optional)

Calling resetSuggestions() in Composer onClear. This works and it's very simple, but as discussed on Slack, the first proposal is more solid.

https://github.com/Expensify/App/assets/26878038/72f9b4d1-8146-46ac-bb07-d81cfdbe1187

@thiagobrez Thanks for proposal. Your RCA is correct. The general idea of the suggested fix makes sense. But can you please explain why we would need to add the mousedown event listener? Isn't coverScreen={false} with hasBackdrop={true} enough for this? Also we need to keep the functionality that refocus text input on modal close. The linked PR may not get merged based on this comment. Any alternative way to prevent the flicker?

@thiagobrez Thanks for the follow up. Unfortunately that's considered a flicker. It's something that does not exist now but it will, so it will be probably get reported as a bug and tracked as a regression to this one :sweat_smile:.
@MonilBhavsar Do you have any thoughts so far? Do you think we should just go for the onClear solution in this case?

Sorry, where is the flicker. I am not finding it. Could you please tell the timestamp?

In the first video (with refocus) after closing the modal the input lose focus and gain it again.

It's something that does not exist now but it will, so it will be probably get reported as a bug and tracked as a regression to this one 😅

@s77rt To share a bit more of context, in production it already behaves like this when closing the emoji picker or attachment action.
Production ⬇
https://github.com/Expensify/App/assets/26878038/4a1852f4-b4c0-448d-99e7-e7cffcdc0404

I see slack uses the "Without refocus" approach. So we go with that?

@MonilBhavsar That's what I initially proposed. But for that, we need to remove the this conditional:
https://github.com/Expensify/App/blob/c917c447f225fe3b194a5e03f568cca0de9e5e71/src/pages/home/report/ReportActionCompose.js#L252-L257
Which would stop focusing the input when other modals closed. I'm not exactly sure what are the other modals that could open in this page though.

I can understand both sides. Maybe if https://github.com/Expensify/App/issues/16078 (auto-complete work inline) is being worked on, we go for the simplest approach (onClear) since that ticket might already change a lot the suggestion behavior?

@MonilBhavsar Greenlight for onClear :grin:?

@MonilBhavsar Thoughts on the above ^

Sorry, if we think a lot of suggestion behavior is going to be updated in that linked PR #16078.  Should we hold before moving forward? I am sideways for onClear solution as it misses one case(as we discussed in slack), and we would open another issue to fix that case, and then will need to think of a solution that fixes the whole issue.

I am not sure what kind of change we are expecting in that issue. I was for going with the modal approach as I thought it will solve the other issue as well, but I think it won't (coverScreen=false, will not teleport the modal to the outer view - I think teleporting the modal can fix the other issue).
I think it would be safer to hold for that issue.

Cool, let's put this issue on hold. I'll comment on that issue for a heads-up

Still on hold

Still on hold

Still on hold

Same ^

Still on hold

Still on hold

Unassigning myself from this issue whilst I participate in the Guides experiment for three months. Please reapply the BZ label when we've taken this off hold and we're ready to work on it.

Still on hold

Still on hold, Melvin

Same ^

Still on hold for https://github.com/Expensify/App/issues/16078

Still on hold

Still on HOLD. bumping to weekly

Still on hold

Still on hold

Still on hold

Still on hold

Still on hold

Still on hold

Same ^

Still on HOLD

Still on hold

Same ^

Still on hold

Same ^

Still on hold

Still on hold

Still on hold

Same ^

Same ^

Same ^

Still on hold

Same ^

Same ^

Same ^

Still on hold

@miljakljajic there was no BZ here and you were the original assigned so adding you back.  Threw the retest-weekly label here. If QA is able to reproduce, can you add this to the #vip-vsb project? Seems like it should live there.   If not able to reproduce, plz close.

Still on hold

Not reproducible anymore.
https://github.com/Expensify/App/assets/43996225/515b2b8f-6192-4044-aa71-9d9364ccba92

Excellent, thank you! Closing.


Offline support

Need to add a Service Worker for offline support, in line with Progressive Web App guidelines.

Done.


Draft for generating a certificate and importing one

Signed-off-by: samanthasusu<EMAIL_ADDRESS>
Add five scenarios from the yaml file to the corresponding section in certificate configuration.
Move "importing certificate into a browser" from "Certificate management in Zowe API Mediation Layer" to "Importing a certificate"

Your checklist for this pull request
🚨Please review the guidelines for contributing to this repository.

[ ] If the changes in this PR is part of the next future release, make this pull request against the docs-staging branch which will be published at the next release boundary. If the changes in this PR are part of the current release, use the default base branch, master. For more information about branches, see https://github.com/zowe/docs-site/tree/master#understanding-the-doc-branches.

[ ] If this PR relates to GitHub issues in docs-site or other repositories, please list in Description, prefixed with close, fix or resolve keywords.

Description (including links to related git issues)
Please describe your pull request.
:heart:Thank you!

@PWFlyMan Hi Paul, please check this pull request for review. Thank you!

This branch is merged into doc-staging branch and please open other pull request to add content to certificate config enhancement section. Thanks!


chore(ci): fix conventional commit check

Add origin/ in order to fix unexpected error in the conventional commit check:
In execute.php line 166:

  Shell command "exec git 'rev-parse' 'owl-bot-copy-DocumentAi'" returned an
  exit code of "128".

  STDOUT:
      owl-bot-copy-DocumentAi

  STDERR:
      fatal: ambiguous argument 'owl-bot-copy-DocumentAi': unknown revision o
  r path not in the working tree.
      Use '--' to separate paths from revisions, like this:
      'git <command> [<revision>...] -- [<file>...]'

roave-backwards-compatibility-check:assert-backwards-compatible [--from [FROM]] [--to TO] [--format [FORMAT]] [--install-development-dependencies]

We need to test this fix on an owlbot PR before merging

Tested against https://github.com/googleapis/google-cloud-php/pull/7765, and it ran as expected!
https://github.com/googleapis/google-cloud-php/actions/runs/11580353226/job/32238669708?pr=7765#step:5:309


Current Fixes

Tested version

Make it use static paths instead of dynamic ones, by using the path package that's build into node incombination with process.cwd().

OK, but i have some issue last time, when it was like that, that is why this branch is called relative-paths, i will try to make static one, like you saying


Add CircleCI setup

Merging this now because I think that CircleCI needs to look at master to find the initial config


Add ability to configure client TLS enabled protocol versions and cipher suites via Spring properties

In https://github.com/spring-projects/spring-vault/issues/635 support was added for configuring the enabled client TLS protocols and cipher suites to be configured via Spring application properties. It would be great if we could also configure these via Spring application properties for the Spring Cloud Vault client.
The org.springframework.vault.config.EnvironmentVaultConfiguration.sslConfiguration() was updated to set protocol and cipher suites on the org.springframework.vault.support.SslConfiguration instance returned. The org.springframework.cloud.config.server.environment.vault.SpringVaultClientConfiguration.sslConfiguration() method could be updated to do the same.

That's in place now.

Awesome, thank you! I realized now that org.springframework.cloud.config.server.environment.vault.SpringVaultClientConfiguration is actually part of spring-cloud-config. I'll submit a feature request there too.


Configuration file Support

https://github.com/astral-sh/uv/blob/a7b251f65e6d24855185c49bcbf64fc8bdfd7861/crates/uv/src/compat/mod.rs#L161
According to this line of code, there is no support for a configuration file. Is there any method to persistently set configurations?
What I used to wiht pip was:
pip config set global.trusted-host <my local nentwork pypi-server IP:port>
pip config set global.index-url http://<my local nentwork pypi-server IP:port>

I don't want to specify this all the time. Is there a workaround? I would need this both for windows and linux.

You can specify an index URL via environment variables (UV_INDEX_URL). But in general I’d recommend participating in the conversation here, since this request is mostly a duplicate of that issue: https://github.com/astral-sh/uv/issues/1404#issuecomment-2015778851.

(Merging into that issue.)


 To test it will need to create a branch on substra-ci and change the python version there I think

/e2e --tests=substrafl,sdk,mnist,camelyon --ref susbtrafl=chore/python3.12

Something happened while processing your message: error: unknown option '--ref'
(Did you mean --refs?)

/e2e --tests=substrafl,sdk,mnist,camelyon --refs substrafl=chore/python3.12

End to end tests: :hourglass_flowing_sand: STARTING


ENH: refactoring cli

Now there will be an intermediate embeddings file.
In addition, the cli parameters have been trimmed.

[ ] Add in soils dataset as a test case
[ ] Add in cystic fibrosis dataset as an optional test case

ok, there is something weird going on with the output -- they don't seem to match the tests.  will need to debug.

Going to close this, since some of the q2 components here are probably not necessary at the moment.


There is a MAP TYPE

How can I use it, MAP TYPE?
I want to show the map of some location I searched in my message

Currently not supported.
MAP type is still work in progress.


Yeelight not working

Describe the bug
Installed PresenceLight from scratch, after setting up Teams Connection and Yeelight integration, the bulb does not react. This error is logged:
{"Timestamp":"2022-03-24T10:03:46.7834547+01:00","Level":"Information","MessageTemplate":"Settings Saved from Yeelight Page","Properties":{"SourceContext":"PresenceLight.Razor.Pages.CustomApiSetup","Application":"PresenceLight"}}
{"Timestamp":"2022-03-24T10:03:46.8356639+01:00","Level":"Error","MessageTemplate":"Error occured Getting Photo - MainWindow.xaml:SetColor Line: 259","Exception":"System.ArgumentNullException: Value cannot be null. (Parameter 'collection')\r\n   at System.Collections.Generic.List1.InsertRange(Int32 index, IEnumerable1 collection)\r\n   at System.Collections.Generic.List1.AddRange(IEnumerable1 collection)\r\n   at YeelightAPI.Device.GetProps(PROPERTIES props)\r\n   at YeelightAPI.Device.GetAllProps()\r\n   at YeelightAPI.Device.Connect()\r\n   at PresenceLight.Core.YeelightService.Handle(String presence, String lightId)\r\n   at PresenceLight.Core.YeelightService.SetColor(String availability, String activity, String lightId)\r\n   at PresenceLight.Core.YeelightServices.SetColorHandler.Handle(SetColorCommand command, CancellationToken cancellationToken)\r\n   at MediatR.Pipeline.RequestExceptionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestExceptionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestExceptionActionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestExceptionActionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestPostProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestPreProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at PresenceLight.MainWindow.SetColor(String color, String activity) in D:\a\presencelight\presencelight\src\DesktopClient\PresenceLight\MainWindow.xaml.cs:line 248","Properties":{"SourceContext":"PresenceLight.MainWindow","LineNumber":259,"FilePath":"D:\a\presencelight\presencelight\src\DesktopClient\PresenceLight\MainWindow.xaml.cs","MemberName":"SetColor","Application":"PresenceLight"}}
{"Timestamp":"2022-03-24T10:03:51.9353632+01:00","Level":"Information","MessageTemplate":"PresenceLight Running in Teams Mode - MainWindow.xaml:InteractWithLights Line: 566","Properties":{"SourceContext":"PresenceLight.MainWindow","LineNumber":566,"FilePath":"D:\a\presencelight\presencelight\src\DesktopClient\PresenceLight\MainWindow.xaml.cs","MemberName":"InteractWithLights","Application":"PresenceLight"}}
{"Timestamp":"2022-03-24T10:03:57.5981601+01:00","Level":"Error","MessageTemplate":"Error occured Getting Photo - MainWindow.xaml:SetColor Line: 259","Exception":"System.ArgumentNullException: Value cannot be null. (Parameter 'collection')\r\n   at System.Collections.Generic.List1.InsertRange(Int32 index, IEnumerable1 collection)\r\n   at System.Collections.Generic.List1.AddRange(IEnumerable1 collection)\r\n   at YeelightAPI.Device.GetProps(PROPERTIES props)\r\n   at YeelightAPI.Device.GetAllProps()\r\n   at YeelightAPI.Device.Connect()\r\n   at PresenceLight.Core.YeelightService.Handle(String presence, String lightId)\r\n   at PresenceLight.Core.YeelightService.SetColor(String availability, String activity, String lightId)\r\n   at PresenceLight.Core.YeelightServices.SetColorHandler.Handle(SetColorCommand command, CancellationToken cancellationToken)\r\n   at MediatR.Pipeline.RequestExceptionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestExceptionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestExceptionActionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestExceptionActionProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestPostProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at MediatR.Pipeline.RequestPreProcessorBehavior2.Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate1 next)\r\n   at PresenceLight.MainWindow.SetColor(String color, String activity) in D:\a\presencelight\presencelight\src\DesktopClient\PresenceLight\MainWindow.xaml.cs:line 248","Properties":{"SourceContext":"PresenceLight.MainWindow","LineNumber":259,"FilePath":"D:\a\presencelight\presencelight\src\DesktopClient\PresenceLight\MainWindow.xaml.cs","MemberName":"SetColor","Application":"PresenceLight"}}
To Reproduce
Steps to reproduce the behavior:

Install PresenceLight
Log in to MS Teams
Set up and save Yeelight
See error message

Expected behavior
After setting up Yeelight, the bulb should change to set status color.
Further details

OS: Win11 21H2 22000.588
PresenceLight App Type (Desktop, Blazor): Windows Store AppPackage
PresenceLight Build (Nightly, Store, etc) Store
PresenceLight Version (The # in About) 5.0.19
Did you clear settings.json? Yes (C:\Users\username\AppData\Local\Packages\37828IsaacLevin.197278F15330A.SomeValue\LocalState\settings.json
ASP.NET Core version

There is an issue with Store version, please test the latest nightly
https://presencelight.blob.core.windows.net/nightly/index.html

That one won't even install.
However I tried it with the chocolatey one, too. Same problem.

You get an error when you try to install the nightly?

@ad2012 any update?

Installed nightly <IP_ADDRESS> via https://presencelight.blob.core.windows.net/nightly/index.html
Failed:

Please try latest version from the store


How to install buzz on Centos 7.9?

hi ,ask a question,How to install buzz on Centos 7.9?
just download the Ubuntu deb file and then recompile and install it manually or not support?

Are you able to install from Snap?
sudo apt-get install libportaudio2
sudo snap install buzz

Awesome, @FreeSlaver. Resolved.

Latest development version of the official buzz snap has some cool improvements, like fixed GPU and model downloading issues as well as ability to translate using LLMs.
To get the latest development version use sudo snap install buzz --channel latest/edge or see notes on running source version locally https://github.com/chidiwilliams/buzz/blob/main/CONTRIBUTING.md


cluster_monitor VM type

What is the purpose of the cluster_monitor vm? Can it be documented somewhere?
The default template has it include every job, and configure all the required params for every job, looking at localhost, and it doesn't seem to be hooked up to anything else in the cluster. Seems like it could be completely removed from the installation with no downsides. Is it there to do some sort of monitoring? Is it there as a stub for a single-vm deployment of logsearch, which doesn't need the other VMs to run?

Is it a full logsearch stack to receive/process the logs of the logsearch deployment itself?

yes

Each instance in Logsearch deployment configured with syslog_forwarder job which sends logs to cluster_monitor.
https://github.com/cloudfoundry-community/logsearch-boshrelease/blob/v204.0.0/templates/logsearch-jobs.yml#L13


Add files via upload

@noname112003 I am sorry, the domain sis.hust.edu.vn is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


fail to compile: adding subset of tuple to set

the following fails to compile (with a bunch of c++ errors. version 0.9.0)
# pythran export test((int))
def test(x):
    s = set()
    s.add(x[:10])
    return s

while just adding x directly to the set s will compile
this is fine:
# pythran export test((int))
def test(x):
    s = set()
    s.add(x)
    return s

also using s.add((x[0],x[1],x[2],x[3])) will compile.
tested on 64 bit python 3.6 windows
this is probably a bug. right?

In Pythran tuples can only interact with constant expression, which basically means you cannot take a dynamic slice of it. But in your case, it's a static slice (all elements are known) so we should be able to handle that, although it's clearly not supported at the moment. Making the slice explicit indeed solves the issue - it's very close to unrolling :-)

Thank you.
Can you explain how come this works? (or was it not supposed to work and I am just lucky in this example)?
this works:
# pythran export fff((int), int)
def fff(x, i):
    return x[:i] + x[:i]

>>> fff(tuple(range(10)),3)
>>> (0,1,2,0,1,2)

it seems the interaction with set is problematic here.
Great package btw!

The code above work because we have a specialization for tuples when all the elements share the same type. In that case, the tuple behvaes roughly as an array and it's possible to slice it, to iterate over it etc.
Concerning the first case, I've dug a bit and the problem lies in the set builtin, I've got a patch for that, just validating locally before pushing it.
Thanks a lot for spotting that!

#1127 should fix this issue.

Fixed by #1127


Add web manifest file

Adds a web manifest file for a nice "add to home screen" experience. I tested on Android Chrome and Safari on iOS.
It gives it a nice loading screen and on chrome it also hides the navigation bar to give it a native feel.

This looks awesome! 👍
Would you mind rebasing master onto it? We have a new CI solution and I'd like to see how it handles the change before merging.

Awesome! Thanks for taking the initiative on this @tmock12 ! 👍


Get rid of lucene0 job

Similar to https://github.com/NuGet/NuGetGallery/issues/3744 but for search service.
Right now we are writing two duplicate Lucene containers to the same storage account. We are only using one of them!
This is pointless and wasteful.

The container we are using is "v3-lucene0-v2v3-20170110".
We are not using "v3-lucene1-v2v3-20170110".

Plan:

Switch search service configuration to use lucene1 instead lucene0.
Switch search service configuration to use registation1 instead of registration0.
Verify blob access on lucene0 is limited to the catalog2lucene job.
Stop catalog2lucene job for lucene0 on the prod VM.
Disable deployment of catalog2lucene job for lucene0.
Update lucene index rebuild instructions to exclude lucene0.

/cc @ryuyu @skofman1

Access logs for lucene0 in PROD are limited to job machines. I have disabled deployment of catalog2lucene for lucene0.

Access logs for lucene0 in PROD are limited to job machines. I have disabled deployment of catalog2lucene for lucene0.

I've removed the lucene0 job from PROD and updated the playbook to rebuild the Lucene index. Final steps are:

[ ] Remove the job cmd file from NuGet.Services.Metadata for this job.
[ ] Remove the unused configuration from Octopus.


Fix: typos.

Fixed a number of typos that I noticed on the build output trying to resolve #1334.

@wps132230 maybe?

Thank you for your contribution.
The fix has been merged: https://github.com/aws/aws-sdk-cpp/commit/c591701812ab0ccd07a98915dcff0f91d2630732
Please reopen this PR if you have further questions.


Security middleware - command inheritance

Hi,
Would you be open to accept a PR that changed the behaviour of the security component, to check if the command is an instanceof any of the defined security commands, like this:
https://github.com/randock/tactician-bundle/commit/a9e07b08708a0e8f47cdcb9d95f45f77440cab6d
We made this change to allow for easier security config. With an AbstractAdminCommand, or AbstractUserCommand, you can then just configure two security roles instead of having to specify all the commands manually.
We use this currently to apply the lowest role to our abstract command. If you would consider a PR, i'll create a proper one with improved checking (so that it not takes the first one it encounters).

Hi @mastercoding, thanks for opening this issue!
What you've described makes sense in your app but, I have to admit, I'm a bit wary of doing this in the root library. If we apply an instanceof check here, we make it a bit too easy to have permissions that are looser than intended or even misleading. With the patch as given, you could have the command you want in the list but if the base class is further up the list, that mapping will be taken instead. Even if that's corrected AND changed to account for multiple levels of hierarchy, I'm not sure if it's easy/intuitive to read (which is something I really want in this type of security).
So, I think this is probably best living in a custom voter for your application specifically. I'd definitely be open to us making this easier for you to implement though, without overriding/extending the entire bundle. If you have any thoughts on how we could do this (e.g. put the command mapping inside an object so you can get it from the container, change how we load the security middleware, etc), I'd be open to making changes for that. :)

Hi @rosstuck. Thanks for the reply. I will have a look this week at refactoring the code a bit so it can be easily configured and which allows us to remove our fork 👍

Hey @mastercoding, I'm guessing this turned out to be tougher than expected or life has caught up with you. :) I'm going to close this issue for now after 60 days or so but if anything else pops up or you'd like to discuss it more, feel free to reopen.
Thanks again for your time!


Up Next and Workshops

Depending on the time you enter with setTime(), not all the workshops are shown in the Up Next tab.
e.g. if you setTime(15,10,45) you only see what's up next in the Rosetta workshops track.
Ideally for the Hayabusa and Cassini tracks it would show that Lunch is up next.

That was the default behaviour, but 3 hour workshops are so long that Lunch was almost always on "Up Next". It felt really confusing to see "Lunch" in "Up Next" from 10:00 am when it really starts at 13:00.
Besides, Lunch is not on a track, but on "Lunch Stations". So we decided to show it only when it's really the next thing on all tracks. And don't use track names, but "Lunch Stations" instead.
Anyway, if you really feel it should be shown from so early on, we can change it again.

Maybe we can say instead of "Up next" "In progress" for Workshops?

I think that might be even more confusing as that is what the 'On now' tab is for.

As no-one else has really expressed an opinion on this, and as I see it's marked "waiting-for-decision", I think I'd like to see the 'Up next' tab always display what's up next for each track, even if that means that most of the time for the workshop tracks it shows that lunch or closing remarks is up next.

Ok, not as the highest priority but I agree to add these as 'Up Next'.


Fix broken database tests

@samtstern Ouch, we forgot to update the database tests after making some braking changes in the FirebaseArrays. This PR incorporates the updated FirebaseArrays and also ensures the tests pass.

@SUPERCILEX I just noticed this the other day and thought "I must be crazy, my git is out of date" and shook it off.
Here's the real question (before I merge this): Why isn't Travis complaining?

@samtstern lol, I had almost the same reaction! 😄 This was a decision by @puf to make the build faster: running the database tests requires booting up an emulator since they aren't unit tests... We could make them run on every Travis build, but it would slow things down significantly.

@SUPERCILEX can we at least make the tests compile on each build?

@samtstern Yup, I found the task.


Update deploy proxy user operation

Codecov Report

Merging #55 into dev will increase coverage by 0.13%.
The diff coverage is 29.03%.

@@             Coverage Diff              @@
##                dev      #55      +/-   ##
============================================
+ Coverage     58.36%   58.50%   +0.13%
+ Complexity      284      283       -1
============================================
  Files            34       34
  Lines          2630     2629       -1
  Branches        190      192       +2
============================================
+ Hits           1535     1538       +3
+ Misses          968      963       -5
- Partials        127      128       +1

Impacted Files
Coverage Δ
Complexity Δ

...s/stub/fabric/performance/PureFabricCallSuite.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...ic/performance/PureFabricSendTransactionSuite.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...m/webank/wecross/stub/fabric/FabricConnection.java
54.67% <25.00%> (-0.38%)
44.00 <0.00> (-2.00)

.../webank/wecross/stub/fabric/FabricStubFactory.java
12.06% <25.00%> (-0.44%)
4.00 <0.00> (ø)

...ss/stub/fabric/proxy/ProxyChaincodeDeployment.java
35.34% <41.17%> (+6.28%)
4.00 <3.00> (+1.00)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c724f45...fa335f5. Read the comment docs.


Nether entering problem

So yesterday I entered the nether without a problem, but today it seems to be more difficult.
I didn't change any multiverse config files(actually no plugin files in my bukkit folder)
This is the log:
14:04:05 [WARNING] [MultiVerse-NetherPortals]  Looks like world_2_nether does not exist. Whoops on your part! (<- it does)
14:04:05 [WARNING] [MultiVerse-NetherPortals]  You should check your Multiverse-NetherPortals configs!!(<- not much in there actually*)

*
netherportals:
    name:
        prefix: ''
        suffix: _nether

EDIT: After using the dev builds( Multiverse-Core #423, Multiverse-NetherPortals #427 and Multiverse-Portals #427 ) i got some more info.
14:42:06 [WARNING] [MultiVerse-NetherPortals]  Player brambi can't enter world world_2_nether
14:42:06 [INFO] N/S
14:42:06 [INFO] 0.0,0.6,2.0
14:42:06 [WARNING] brambi moved wrongly!
14:42:06 [INFO] Got position<PHONE_NUMBER>933981, 61.0, -113.8055940590205
14:42:06 [INFO] Expected<PHONE_NUMBER>933981, 61.2, -111.8055940590205

The portal just kicks me back (love the effect though)

Is the nether-world imported into Multiverse and do you have the permission to enter it ?

I don't know but suddenly it worked, now I'm trying to get into The End and I'm having similar problems.
And yes the group Owner has "multiverse.*" permission and this is in my worlds.yml:
world_2_the_end:
seed:<PHONE_NUMBER>20991565
environment: THE_END
hidden: false
alias:
name: ''
color: WHITE
pvp: true
scale: 1.0
respawnworld: ''
allowweather: true
difficulty: EASY
animals:
spawn: true
monsters:
spawn: true
entryfee:
currency: -1
price: 0.0
hunger: true
autoheal: true
adjustspawn: true
gamemode: SURVIVAL
keepspawninmemory: true
spawn:
x: 0.0
y: 58.0
z: 0.0
pitch: 0.0
yaw: 0.0
world: world_2_the_end
autoload: true
bedrespawn: true

@brambi I've edited your posts, but in the future use the following syntax to code hilight your configs/logs, it makes posts easier to read :)
```
some code (those are back-ticks btw, same as the ~ key)
```

Will review post tonight.

My latest commits to netherportals and portals changed a bunch of this (the bounceback) Does this issue still exist?

Closing as inactive. Please continue discussion if issue persists.


webapi: fix ambiguous options support for dual-specified paths

We define OPTIONS support automatically for various API route decorators. Unfortunately, as we often duplicate route definitions with a trailing and non trailing slash variant, in Python 3 Werkzeug ends up with two OPTIONS definitions for some paths, and selects from them at random. This can result in a 308 code being generated which is invalid for OPTIONS.
This patch ensures we only ever define the OPTIONS method once per path, preferring the one without a trailing slash.
I would note that OPTIONS / crossdomain support in WebAPI is still messy and really ought to be handled more consistently, but I think this is a bigger job.

TL;DR - LGTM
This seems like a necessary evil. The way the Web API is constructed, iterating through every route function in the entire inheritance tree, the initial for loop needs to exist to get a full 'picture' of all the routes. Having a uniform set of attribute names would have been more ideal but this is probably as good as it can get


example项目无法正常打包成Android apk

debug模式下可以正常运行，但是当使用build/Flutter APK时则无法正确打包，报如下问题：

FAILURE: Build failed with an exception.

Where:
Script '/Users/guoshun/Downloads/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 991

What went wrong:
Execution failed for task ':app:compileFlutterBuildRelease'.

Process 'command '/Users/guoshun/Downloads/flutter/bin/flutter'' finished with non-zero exit value 1

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 11s
Running Gradle task 'assembleRelease'...                           12.5s
Gradle task assembleRelease failed with exit code 1
Process finished with exit code 1

在stackflow找到了方法，应该是flutter版本不匹配的问题
调用 flutter upgrade -f 就好啦


birthdays list command is invoked only if the bot name is specified

Other commands such as birthday set, birthday on, birthday delete don't have such problem.

I don't think it's a bug, but we have to decide what to do with it.

@ukhryab yes, this isn't a bug. but this is strange. We need to bring this to a common view.

@Sergei-vb @ukhryab, I suggest we will do vise versa: make all the command to be invoked only if the bot name is specified.


Crash from creating multiple sample sheets from template form

The sample sheet creation form can be abused to create multilple sample sheets for a project and, thus, crash the sample sheets app for the project.
How to reproduce:

Create sheets from template
Navigate back to form
Resubmit form
Now there are two sheets in a project producing a crash

This should be simply fixable by adding a check to the form for an existing sheet.

Fixed.


Ocean current?

Hi, does the simulator simulate ocean current or is it only a visual effect that the water-surface moves if waves and wind are off?

We don't simulate ocean current. The wave direction is configurable, so I guess it would be cool to align it with the wind vector but out of scope in the short term unless someone volunteer. Thanks for the idea!

Just a note for posterity on this issue.   It was a intentional not to include ocean current as an an external disturbance in the simulation.  The reason is that for vessels such as the WAM-V (vessels with small draft and large windage), wind is a much stronger influence than water current.  Having independent wind and wave disturbances provides a rich envelope for exercising motion control, so adding water current would be redundant.
From an application perspective when the wind and seas are aligned, the control problem is a bit easier - the system typically will point the bow into the stern.  It is actually more challenging (and often the case in the field) that the wind and seas are not aligned, which makes station keeping a more challenging problem.

Thanks for the clarification Brian and in case I wasn't clear, I meant to align the visual aspect of the wave with the wind, so nothink should change from the control point of view, only adding some bling to the simulation :)


Make CRE not a WARL field (draft)

Change the CRE bits so they are always writable, but the effective CRE depends on multiple values. This is significantly simpler to specify, avoids an entire cross-CSR WARL field (WARL fields are a pain), and removes some undefined behaviour (do the bits retain their values when they are read-only zero).
Fixes #331
Note, I deleted the text about SXLEN/UXLEN. Those didn't seem fully specified tbh, but I'll need to add them back somehow.

Agree this makes implementation simpler (at least in Qemu), and addresses the undefined behaviour regarding if bits are cleared. But there still isn't a way for S/U mode code to know what the effective CRE is as it is dependent on registers they cannot read. Unless they try an instruction and catch the resulting exception.

Agree this makes implementation simpler (at least in Qemu), and addresses the undefined behaviour regarding if bits are cleared. But there still isn't a way for S/U mode code to know what the effective CRE is as it is dependent on registers they cannot read. Unless they try an instruction and catch the resulting exception.

That’s what the device tree or ACPI whatever is for.
That makes sense, I guess there aren't many use cases for dynamically changing the CRE for a running system.

I've updated it so now the text talks about "CHERI register access" being enabled/disabled rather than the CRE bits or effective CRE, because the former takes account of mstatus.MBE and XLEN<MXLEN which can also disable CHERI register access. Hopefully this makes sense!


MXNET-1452: fix compiler warnings

fix former formating error
warnings:

fix unused variable warning
disable strncpy truncation warning
disable warning related to memcpy initialization
disable out of bounds warning

warning disabled because of performance reasons

disable integer in boolean context warning

this warnings needs some addtional attention

Description
(Brief description on what this PR is about)
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[ ] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[ ] Changes are complete (i.e. I finished coding on this PR)
[ ] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[ ] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[ ] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[ ] Feature1, tests, (and when applicable, API doc)
[ ] Feature2, tests, (and when applicable, API doc)

Comments

If this change is a backward incompatible change, why must this change be made.
Interesting edge cases to note here

I don't know whyy job [windows-gpu] fails. My changes to only switch off compiler warnings?!
On Linux the code compiles fine.

@mxnet-bot run ci [windows-gpu]


where is the wiki-server.py file in retrieval part?

As mentioned above

Sorry, the README is out of date. I'll delete the README.

Sorry, the README is out of date. I'll delete the README.
@csris There's more. Did you say here
https://github.com/togethercomputer/OpenChatKit/tree/main/retrieval


Present focusing, clear, complete, and actionable error messages

Tasks

[x] Ensure tests pass
[x] for nil, print "null", not ""
[ ] verify we've met the spirit of the acceptance criteria through some exploratory 'testing" — how would you answer the questions from #285 ?

Story
As a Configuration Author
I want — when my schema is invalid — helpful error messages
so that when I inevitably make mistakes, I can fix them quickly, ideally all by myself (increasing my confidence in the tool and my own skills with it)
and
As a Configuration Consumer
I want — when my data values do not conform to the schema — helpful error messages
so that when I inevitably make mistakes, I can fix them quickly, ideally all by myself (increasing my confidence in the tool and my own skills with it)
...
where "helpful error messages:"

focus my attention on the source of the problem,
gives all of the relevant facts (and none of the irrelevant ones)
consistently uses a set of accessible terms
makes clear what's wrong, and
helps me figure out how to fix it

Context
https://hackmd.io/pODV3wzbT56MbQTxbQOOKQ#Part-8-Command-Line-Interface-Interactions

Acceptance Criteria
General
Messages provided in this user story are intended to be a thoughtful starting point rather than an authoritative spec.
Error messages should...

be formatted so as to be effortlessly parsed by the human eye
present the most important information in the most prominent location (i.e. where the eye goes first)
limit information to what's directly relevant to the error
use the fewest words possible

🔴 Invalid schema
Given A schema that is well-formed YAML, but invalid Schema
When I invoke ytt
Then It reports an error including the location of the violation, the contents there, and the expectation that was not met.
(hint: the test group TestSchemaIsInvalidItFails in schema_test.go ought to enumerate all the ways in which Schema can be invalid.)
Example 1a: Too many values defining the type of an array
schema.yml:
#@schema/definition data_values=True
---
list:
- item 1
- item 2

$ ytt -f schema.yml -f data_values.yml --enable-experiment-schema
ytt: Error: ...

schema.yml:3 | list:
             |      ^^^
             |   found: 2 array items
             |   expected: exactly 1 array item
             |   (hint: to define an array, provide one item of the desired type; give default items in a separate data values document)

Example 1b: Not enough values defining the type of an array
schema.yml:
#@schema/definition data_values=True
---
list: []

$ ytt -f schema.yml -f data_values.yml --enable-experiment-schema
ytt: Error: ...

schema.yml:3 | list:
             |      ^^^
             |   found: 0 array items
             |   expected: exactly 1 array item
             |   (hint: to define an array, provide one item of the desired type; the default value of arrays is an empty list)

Example 1c: Null value in schema
schema.yml:
#@schema/definition data_values=True
---
list: ~

$ ytt -f schema.yml -f data_values.yml --enable-experiment-schema
ytt: Error: ...

schema.yml:3 | list: ~
             |      ^^^
             |  expected: a non-null value, of the desired type
             |  (hint: to default to null, specify a value of the desired type and annotate with @schema/nullable)

Note: "hints" should...

guard instructions on how to fix behind a guessed intent
attempts to fill-in likely missing understanding
contains words, that if used in a search would likely pinpoint relevant documentation

🔴 Type checking errors
Given a valid schema
And data values that do not conform to that schema
When I invoke ytt
Then it reports an error including: the location and line of the offending data value, the failed expectation, and the location in the schema where that expectation is expressed.
(hint: the test group TestDataValueNotConformingToSchemaFails in schema_test.go ought to enumerate all the ways in which Data Values can fail to conform to schema.)
Example 2a: Schema specifies a string, Data Values contain a boolean
schema.yml:
#@schema/definition data_values=True
---
address: ""

data_values.yml:
#@data/values
---
address: false

$ ytt -f schema.yml -f data_values.yml --enable-experiment-schema
ytt: Error: ...

data_values.yml:3 | address: false
                  |          ^^^^^
                  |  found: boolean
                  |  expected: string (by schema.yml:3)

Note:

the file the user is most likely editing (i.e. data_values.yml) is most prominently placed.
ancillary (yet still relevant) information (e.g. which line in the schema) is tucked in a less prominent place.
each piece of information's proximity is in proportion to its affinity with other pieces (what is "found" is in the data_values.yml file), so found comes first.

Example 2b: Data Values contain a map item key not declared in schema
schema.yml:
#@schema/definition data_values=True
---
address: ""

data_values.yml:
#@data/values
---
home_address: ""

$ ytt -f schema.yml -f data_values.yml --enable-experiment-schema
ytt: Error: ...

data_values.yml:3 | home_address: ""
                  | ^^^^^^^^^^^^
                  |   unexpected key in map (as defined at schema.yml:2)
                  |   (hint: did you mean "address"?)

Implementation Notes

consider defining a set of terms (taking into account, but not necessarily being bound by prior use of terms) before writing copy for error messages
don't be bound by current means of accumulating error context (i.e. appending strings while popping up the call stack)
we're still figuring out the best way to message errors to users; separate the concerns of what information is included with error messages from the presentation of those error messages.

Reopening since this is done but not released. This process is still being defined.

Okay, this was released, closing.


change default value of decide in simp config

In #1888, @semorrison changed the default value of decide in the dsimp config from true to false.  This is a proposal to do the same for simp.
Perhaps this is a controversial change, so one anecdote: this is currently interacting with another issue (which I think @digama0 will record separately) to make the following simp take 3 seconds, more than 10x as long as simp (config := { decide := false }).
import Std.Data.Rat.Defs

example : (4:Rat) * 1 * 1 + 4 = 0 := by simp ; sorry

Of course, that other issue should also be fixed, and/or Rat should be designed differently to avoid it, but it seems like users will write inefficient decidability instances often enough that the same point of confusion will occur again.

Related gotcha: https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/.60simp.20only.60.20does.20decidable.20checks.3F/near/321408648

For future reference: the issue with 4 * 1 * 1 + 4 is #2161 (addressed in #2162), I think it is essentially independent.

Closing now that an alternative PR for this has been merged.


[hi] Add Hindi glossary entry for "node"

[hi] Add Hindi glossary entry for node.md
Description
#Fixes Localizes Hindi glossary entry for "node"

@divya-mohan0209 Can you review once and let me know if any more changes needed!! Thanks

@CloudShiva7cr  Why are you reopening and closing the issue?


Test against php 7.4

This PR adds php 7.4 to the test matrix

It sounds like the incompatibility is just a matter of PHPUnit version to use.

@BackEndTea Thanks for the PR!

Thanks @tvbeek & @kylekatarnls


[Docs] Close Button on Search Bar is Bad

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
Tbh, I am quite surprised with the great changes comes in v5 of MUI, however I notice that the close button on the search bar is bad. Some reasons why I consider the button is bad:

The color is not contrast enough (it uses gradient, and I find difficulties in noticing the darker part of it)
Instead of using cursor: default, it is better to use cursor: pointer styling to the x button

Expected Behavior 🤔
Uses the higher contrast color for the close button on the search bar and use cursor: pointer property.
Steps to Reproduce 🕹

Steps:

Visit mui.com
Click on the search bar and type something
See error

Your Environment 🌎

`npx @mui/envinfo`
Browser: Google Chrome v93.0.4577.82 (Official Build) (64-bit) (cohort: Stable)
System:
    OS: Windows 10 10.0.22000
  Binaries:
    Node: 14.17.6 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.10 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 7.15.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 93.0.4577.82
    Edge: Spartan (44.22000.120.0), Chromium (93.0.96    @mui/system:  5.0.0
    @mui/types:  7.0.0
    @mui/utils:  5.0.0
    @types/react: ^17.0.21 => 17.0.21
    react: ^17.0.2 => 17.0.2
    react-dom: ^17.0.2 => 17.0.2
    typescript: ^4.4.3 => 4.4.3

We are redoing the search in #28252


Bigchaindb cluster

Hi,
I'm trying to create Bigchaindb cluster Node with two Bigchaindb instances. Individually two nodes are works fine but when I try to cluster both are not communicate/connect each other.
I have followed the steps mentioned in here,
https://docs.bigchaindb.com/projects/server/en/v1.3.0/production-nodes/setup-run-node.html
My first machine details;

The machine runs in Linux AWS EC2 instance.
Bigchaindb version 1.3
.bigchain  config file
{  "graphite": {      "host": "<IP_ADDRESS>"  },  "keypair": {      "private": "<privatekey>",      "public": "D2HQBDr6ss48ZmZawDbhuispBngZPyqqwqYcLUpNYYrM"  },  "server": {      "workers": null,      "loglevel": "info",      "bind": "<IP_ADDRESS>:9983"  },  "log": {      "datefmt_logfile": "%Y-%m-%d %H:%M:%S",      "file": "/home/ubuntu/bigchaindb.log",      "level_console": "info",      "level_logfile": "info",      "datefmt_console": "%Y-%m-%d %H:%M:%S",      "error_file": "/home/ubuntu/bigchaindb-errors.log",      "granular_levels": {},      "fmt_logfile": "[%(asctime)s] [%(levelname)s] (%(name)s) %(message)s (%(processName)-10s - pid: %(process)d)",      "port": 9020,      "fmt_console": "[%(asctime)s] [%(levelname)s] (%(name)s) %(message)s (%(processName)-10s - pid: %(process)d)"  }, "wsserver": {      "scheme": "ws",      "advertised_scheme": "ws",      "advertised_port": 9985,      "host": "<IP_ADDRESS>",      "advertised_host": "localhost",      "port": 9985  },  "backlog_reassign_delay": 120,  "database": {      "login": null,      "certfile": null,      "keyfile_passphrase": null,      "backend": "mongodb",      "password": null,      "host": "<IP_ADDRESS>",      "ssl": false,      "max_tries": 3,      "name": "bigchain",      "ca_cert": null,      "keyfile": null,      "replicaset": "bigchain-rs",      "crlfile": null,      "port": 27017,      "connection_timeout": 5000  },  "keyring": ["CZ1T7hppQWuLTqg5dsPdZXWx9RVzfB4ffFtusADRMWFS"] }

Second machine details;

The machine runs in Linux AWS EC2 instance.
Bigchaindb version 1.3
.bigchain  config file
 {  "graphite": {      "host": "<IP_ADDRESS>"  },  "keypair": {      "private": "<private key>",      "public": "CZ1T7hppQWuLTqg5dsPdZXWx9RVzfB4ffFtusADRMWFS"  },  "server": {      "workers": null,      "loglevel": "info",      "bind": "<IP_ADDRESS>:9984"  },  "log": {      "datefmt_logfile": "%Y-%m-%d %H:%M:%S",      "file": "/home/ubuntu/bigchaindb.log",      "level_console": "info",      "level_logfile": "info",      "datefmt_console": "%Y-%m-%d %H:%M:%S",      "error_file": "/home/ubuntu/bigchaindb-errors.log",      "granular_levels": {},      "fmt_logfile": "[%(asctime)s] [%(levelname)s] (%(name)s) %(message)s (%(processName)-10s - pid: %(process)d)",      "port": 9020,      "fmt_console": "[%(asctime)s] [%(levelname)s] (%(name)s) %(message)s (%(processName)-10s - pid: %(process)d)"  },  "wsserver": {      "scheme": "ws",      "advertised_scheme": "ws",      "advertised_port": 9985,      "host": "localhost",      "advertised_host": "<IP_ADDRESS>",      "port": 9985  },  "backlog_reassign_delay": 120,  "database": {      "login": null,      "certfile": null,      "keyfile_passphrase": null,      "backend": "mongodb",      "password": null,      "host": "<IP_ADDRESS>",      "ssl": false,      "max_tries": 3,      "name": "bigchain",      "ca_cert": null,      "keyfile": null,      "replicaset": "bigchain-rs",      "crlfile": null,      "port": 27017,      "connection_timeout": 5000  },  "keyring": ["D2HQBDr6ss48ZmZawDbhuispBngZPyqqwqYcLUpNYYrM"] }}

I need to know what is the problem in my scripts? and do I need to do any other configuration steps to create cluster node ?
Thanks,
Riyaz.

Please don't use BigchainDB 1.3. It worked very differently from the 2.x series and isn't being supported any more (or at least not by the BigchainDB team).
A BigchainDB cluster must have at least four nodes.

See the instructions at http://docs.bigchaindb.com/projects/server/en/latest/simple-network-setup.html

Hi @ttmc,
Thanks for the reply. What is the process of version upgrading?

v2.0 is not backwards compatible with v1.3, hence there is no upgrade path. We have made a lot of breaking changes with v2.0. You can read more about it here.

@ttmc hi I have been using bigchaindb 2.0.0 is it mandatory that I should have at least 4 nodes to complete the cluster set up ?

@thangasblockchain Yes a BigchainDB cluster must have at least four nodes. Also, please note that I'm no longer working on BigchainDB and I don't provide support for it.


Link unfurling nodejs sample

@ht4963-ms - Can you please review and approve this PR?

@ht4963-ms - Can you please review and approve this PR?

Build status - All builds passed
https://github.com/OfficeDev/Microsoft-Teams-Samples/actions/runs/4200665528


Fix CLI FileCategory choice breakage

Works around file category camelcase conversion to allow backwards compatible values by creating a new click.Choice subclass that can take a mapping of additional "valid" keys that map back to the listed choice values.

Imo, tests should fail often with changes, if we try to cover all possible combinations we kind of hide the failures.

Imo, tests should fail often with changes, if we try to cover all possible combinations we kind of hide the failures.

That is good point. I think I have just been burned by this specific mapping two times now. But I agree it does enlighten us more when it happens.


docs for all key bindings

Hi, Thanks for this great terminal.
My question is are there any docs that list all windows terminal's key bindings? because I have not found it yet.

Sure thing! They're all listed here: https://github.com/microsoft/terminal/blob/master/doc/cascadia/SettingsSchema.md#keybindings

@zadjii-msft Thanks. Sorry for the inconvenience.

No problem, I'm happy to help ☺
As mentioned at the top of the settings file:
https://github.com/microsoft/terminal/blob/ae3f8f37596e16a1963875a1734153586237ec54/src/cascadia/TerminalApp/userDefaults.json#L1
Doing that will open up this file, which lists the defaults here

@zadjii-msft Oh great, Thank you!
It's good to put a link for that in SettingsSchema.md file too.


in chart original data converted to b'...'

version 1.4.1
below way to connect mysql (8.0.27)
mysql+mysqlconnector://{username}:{password}@{host}/{database}

when upload a csv to mysql, and to create chart with this data,

Why original data is converted to b'...'? how to fix it?

This version of Superset is no longer supported. If anyone is still encountering this in current versions (3.x) please open a new Issue or a PR to address the problem.


feat: concurrency query client option

Closes: #1561
What is the purpose of the change
This pull request adds an additional option to the client.toml file called "concurrency" which defaults to false. When set to true, this allows certain queries to be done in parallel via gRPC.
Brief Changelog

add concurrency option in client.toml
add respective flags

Testing and Verifying
This change is already covered by existing tests
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? no
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? not yet
How is the feature or change documented? not applicable

While I think I went about this the correct way, I am unsure how to properly test if this worked. Any recommendations would be appreciated.

I was thinking about doing that, but just because it runs smoothly isn't completely indicative that it worked right? Since these issues don't show their head all the time pre patch

Yeah let me get back to it, I completely forgot about it so I am unclear where I left off. Thanks for the reminder!!

@czarcas7ic sg, no rush, can we convert this to draft for now?

@p0mvn this should be good to go now, thanks for stepping me through how those RPC tests worked!

It says I merged this but I never selected merge...seems it is good to go though, thanks for the review @alexanderbez


Simple Remote Access Scripts Test

regenerate-index.sh creates a new file index.html every time it is run. This contains simple html formatting with example data for now (intent is to add additional parameter-value pairs for display after approval of proof of concept).
setup-http.sh is intended to be called from oref0-setup.sh and adds cron entries to start SimpleHTTPServer at reboot and run regenerate-index.sh periodically. Both files should be in ~/myopenaps/enact directory. From a browser on any device, browse to http://[RIG_IP_ADDRESS]/index.html and the page will self-refresh periodically.

Should we put the index.html into the www/ folder instead of enact/ along with the other web stuff we've done?

I would do. The old solution of running from enact was simply a work around. It’s better by far to have any web services running from their own sandboxed space with a user that has no ability to read and write to the APS file system (only to the web server one).  Especially if someone can interact with them.


Issue #29

This PR seeks to attend the issue #29 implementing pagination for the Referendums and Conversations views, using the default method in the ListView Class.
There is still the need to validate the styling on the template and than it is in sync with the main theme of the webpage.

@sebastian-code can you please validate this? Not working here

It was a typo on the views code @andresgz This fix should do it ¿do you have instructions on how to deploy and run the project without using FB? I would prefer another way than to sign with that account.

Thanks,
The initial requirement was to use FB to log-in, but we should allow other methods to log-in.


Move happn to Flux2 adopters

And thanks a lot for being part of the community @Frizlab!

Signed off with my work email! 😉

Hey, so for some reason the DCO check still goes off: https://github.com/fluxcd/website/pull/292/checks?check_run_id=2675232724 - it seems to be specific about which email it would like to see. Maybe it's a config.user kind of git setting? :man_shrugging:

Apparently the sign-off email and committer email must be equal for whatever reasons 🤷♂
Pushed again; should be good!

Third time lucky.


[bug] focus on folder doesnt work well with 0.15.x Obsidian

After the update the focus plugin show unexpected behaviour - after focusing on folder and unfolding the folder it doesnt show the files (the files are visible for a second and then the folder contain long empty scroll or the sidebar is empty)

It also happens when switching between files in a focused view

I can confirm.

Hello!
My Fork (you can check it in the PR) work with the last obsidian version. I also added somes cools options.
I don't think this plugin is maintained anymore, but I try to keep my fork up to date.

@Mara-Li thanks!

@Mara-Li thanks so much for the updates, couldn't keep up with anything recently - merging the changes and publishing the version so the obsidian community plugins repository gets the updated version too :)

@Mara-Li thanks for your  work ;)
@grochowski   in the readme of this  repository there this reference to the @Mara-Li  fork, is this intended? :)
https://github.com/grochowski/obsidian-folder-focus-mode#:~:text=Using BRAT to,folder-focus-mode

@danieltomasz not intended :)
release available in obsidian community plugins.
@Mara-Li thanks again :)


Redo action sequence implementation

@perryibm @rabbah and I discussed sequences. I'm summarizing the conclusions of the discussion.
User-visible aspects:

A sequence will have an activation id
The logs of a sequence are constructed by the OW runtime as follows: each line contains an activation id and the result (success, failure) for the activation id
Entitlement check is performed at the moment of invocation for all actions (i.e., to invoke a sequence, the user has to have the rights to invoke each action in the sequence). There won't be any partial execution of sequences (e.g., first 2 actions in the sequence are executed as the user has rights, while the remaining ones are not if the user doesn't have the right to invoke the third action in the sequence).

Implementation internals:

The current implementation with pipe.js in the invoker will stay in place but guarded by a flag for experimental/comparison reasons
The logic of executing a sequence are moved to the controller. The controller starts an actor each time it needs to execute a sequence. The actor executes in blocking fashion each action by posting directly to Kafka.
The logs for the sequence are constructed as explained above and stored in the activation record for the sequence.
The annotation for the activation will contain a field kind that indicates this activation was a sequence

More comments from @rabbah

entitlement check for the sequence component should be done both at create/update and invoke time.
note: the actor doesn't perform an entitlement check before invoking - it's the route handler that does; the actor simply executes the invokes, waits for responses, and then writes the activation record.
the result of the sequence should be the result of the last action in the sequence.

Note: add test with a sequence that refers to a sequence, e.g., seq1 = A, B; seq2 = seq1, C

More notes from Slack conversations:

For throttling purposes, an action that is executing as a result of a sequence invocation should not count as an additional action for the user. In other words, for a sequence with N actions,  only one should be taken into account for throttling purposes. Not 100% sure but this may happen automatically since throttling happens before getting to the part that executes an action as part of a sequence. Need to double check that.
We need to limit the number of actions within a sequence. Since sequence can refer to sequences, some recursive count is needed.

@perryibm @rabbah @sjfink
What's our convention for an action within a sequence that returns some json that contains an error field? Does that stop the execution of the sequence? That's what I remember, but I wanted to double-check.

An initial implementation was done in #1083. The plan to get the functionality merged into the controller will be structured in the following phases (hence this epic):

resolve all sequence components into fully qualified names on action create/update
impost a limit on sequence length (and disallow recursion)
add entitlement checks to verify access at create/update time to referenced actions
implement continuations in controller to process the action sequence

Additional considerations:

action timeout for sequence needs to account for remaining slack
sequence activation id must be referenced by component activation ids via caused property
agree on start and end semantics for the sequence activation (do they exist? or just a duration)

@ioana-blue others to add?

We decided that an error in the sequence would stop downstream ones from running.  The idea though is that getting the activation for this composite would include some message indicating abnormal termination for the seq as a whole.

I'd like to support ECA (event condition action) cleanly if we can.
i.e. if C then foo.
I'd like to implement this as a sequence C -> foo, where C tests a boolean condition and passes through its parameters if true, and somehow aborts if false.    However the "abort" in this case would not really be an error, but a normal "false" condition.
Proposal: if an action returns "null", it is considered "success", but terminates a sequence.

Null being "{}"?

It must be since actions must return an object.

Yes,   "{}".    We can have "return null" be sugar for "return {}" maybe.

@rabbah There is one additional item that is not directly related to sequences, but it is useful to have before implementing sequences:

Refactor code to include method for package resolution (i.e., fully resolved the actual package that a binding refers to) and method for generating all entities that need to be checked during entitlement check (this is also related to bindings and recursive bindings).

A couple of other details that have been mentioned somewhere else:

The logs of the sequence activation record will contain the activation ids of the actions that ran.
The annotations of the sequence activation record will contain a field "kind" with the value "sequence" for an easy way of figuring out which activations come from sequences.

We also need to decide on how we count sequences toward DoS limits, e.g., do we count the sequence execution as +1 or +N where N is the number of actions that run as a result of invoking a sequence.

Notes from discussion with @psuter today:
It might be going to far to define the empty object {} as an abort condition for sequences, since it's easy to imagine lots of actions that run correctly with empty inputs.   This is especially true when you consider that we can specify default values for parameters.
Philippe reminded me that we already have a convention that if the return object contains a field called "error", we have a convention that this indicates erroneous completion and terminates the sequence.
Perhaps it would be better to use this kind of convention.   For example, perhaps we could further adopt the convention that if the value of "error" is null, then it aborts the sequence, but for the purposes of logging, this is not considered a real error.   Alternatively we could reserve another keyword (abort?  exit? stop?) ... however maybe we should avoid reserving more keywords since each such keyword increases the chances that someone uses the keyword by accident.

+1 for piggy-backing on "error" null

In discussion with @rabbah we realized that we need to be able to deal with the legacy code which stores the sequence components as strings in the database. I'll add migration tests for this case to make sure we don't have any breaking changes.

In one of the earlier comments, @sjfink suggesting returning "null" to indicate action success but abort a sequence. This has the advantage that we don't have to use an "error" convention but violates the json object in/out abstraction.
Here's a proposal to admit "null" without changing the action's Dictionary -> Dictionary signature.
Suppose the signature of the action was Option[Dictionary] => Option[Dictionary]. Then one has to check the input to determine if it's defined or empty (that is, check if there is a value provided or none).
We can reconcile this with our current action signature by allowing actions to return a Dictionary or null, where the former is conceptually boxed to Some[Dictionary] and the latter is boxed to None. Then, we guarantee that when you invoke an action it's always Some[Dictionary] and never None. That is, if the argument is None your action is not invoked. In this way, the action is only allowed to map over the defined value and not the empty value. Another way to understand this is that an action receiving Null returns Null by definition.
From a composition point of view it's sound as in one can compose g(f(option)) as long as they only map on the option (in the Scala sense for example). From the sequence implementation point of view, the action returning Null aborts the rest of the sequence but the activation is recorded as having a successful status (and not an error).
So the proposal (elaborating Steve's above) which is superior then using a convention on a reserved field:

allow null as a valid return from actions (note that null is a valid JSON value, not a JSON object)
modify the sequence scheduler so that it aborts execution (with status recorded as success) at the first action returning null
record the result as null in the activation record

In other words, I move to accept @sjfink's "Proposal: if an action returns "null", it is considered "success", but terminates a sequence."

Close @ioana-blue?

reopening to revive discussion on sequence abort semantics

Use openwhisk composer.


Clean up examples

Moves example -> examples/complex and adds most of the examples that were in the website repository.

Coverage remained the same at 96.164% when pulling cab586b45a2ec95409156da10acf27c9813a6570 on blink1073:add-examples into 9e634dedb7cb1408f2e03936e3e901d82ef2f5cd on phosphorjs:master.

Coverage remained the same at 96.164% when pulling 938ce5e38b20f7f8b65614c4038a3c73c1ac65ab on blink1073:add-examples into 9e634dedb7cb1408f2e03936e3e901d82ef2f5cd on phosphorjs:master.

PR is failing due to #157.

This will need a re-attack in light of the restructure.


2019-06-10 GUARD-43 Magento 2.2.8 support

now by default we try to detect Magento Store version via API (http://< magento store >/magento_version). This approach works only for Magento 2.0+ versions;
now we use Rest API by default for new versions (2.2+) because it's more stable than Soap.

The review looks good. Don't see a way to approve. Since you're merging into master might want to send Slav a code review, but if there will be more Magento changes for 2.2.8 and 2.3.1 then probably want to send them all at once