constant fold StringInterpolate kernel nodes consisting only of string constants

CFE tends to produce StringInterpolate nodes when it encounters multiple consecutive string constants, e.g.
var s = 'aaaa'
        'bbbb'
        'cccc';

We have constant folding rules for StringInterpolate, but we don't remove dead CreateArray and StoreIndexed instructions (https://github.com/dart-lang/sdk/issues/43228).
As a workaround we should at least add a simple constant folding to the kernel to IL translation. We have records of the following patterns produced by CFE (though it's a bit date information and some of this might have been already fixed)
StringInterpolate("...", StringInterpolate(...))
StringInterpolate(..., "")
StringInterpolate(Const1, …, ConstN)

All of these should be folded like this:
StringInterpolate("...", StringInterpolate(strings)) => StringInterpolate("...", ...strings)
StringInterpolate(...strings, "") => StringInterpolate(...strings)
StringInterpolate(Const1, …, ConstN) => Const

@cskau-g Could you look into this one after finishing the outstanding tasks?

Sure.
I will update this issue again when I start work on it.

Bumping the priority of this to P1 because multiple internal users are affected and overall solution is simple to implement on our side.

AFAICT, the above example - which matches the third pattern above - is currently being optimised by the 'Canonicalize' pass into the folded const.
As also mentioned above, the dead CreateArray and StoreIndexed are not removed, so the original, unfolded consts are there too.
Unless I'm misunderstanding that should already satisfy the suggested optimisation for this pattern.
I will have a look at the other two patterns.

Unless I'm misunderstanding that should already satisfy the suggested optimisation for this pattern.

Just to clarify - I realized now that the issue is not very clear about that - we would like to fold it very early in the pipeline (at the kernel to il translation phase) so that original constants disappear and are not retained by the generated code through StoreIndexed instructions. Retaining original constants causes information leaks when interpolation itself is not used anywhere.
See https://b/160842614#comment23 for more context.

Are we interested in doing as much string interpolation at kernel->IR time as possible?
I.e. do we want to try handle cases other than str/str interpolation, such as 'hi ${123} $some_const'?

@cskau-g I feel we should not worry about other cases for now. I'd handle trees of string interpolations with string literals at leafs, and keep the rest out of scope for now.

@mraleph @cskau-g We can also do this kind of early constant folding as a kernel AST transformation, maybe during https://github.com/dart-lang/sdk/blob/master/pkg/vm/lib/transformations/lowering.dart pass. This would be much more simple than matching patterns during kernel->flow graph translation.

@cskau-g has landed the change. closing.


New generic policy for PaaS resources private endpoint to override Private DNS zone.

Overview/Summary
Policy Refresh Q3 Fy24
This PR fixes/adds/changes/removes
1.Added 2 new custom policy definitions
2.Policy 1: Deploy-Private DNS zone ID-PaaS-PE, this policy will DINE-configure private DNS zone group to override the DNS resolution for PaaS services private endpoint, added services which supports private DNS but doesn't have built in policy exist
3.Policy 2: Deploy-Private DNS zone-PaaS-PE-Generic, this policy will DINE-configure private DNS zone group to override the DNS resolution for PaaS services private endpoint, it is generic for the services which supports private DNS but doesn't have built in policy exist and also for the new services which supports private DNS in future
Breaking Changes

None

Testing Evidence
Please provide any testing evidence to show that your Pull Request works/fixes as described and planned (include screenshots, if appropriate).
Testing URLs
The below URLs can be updated where the placeholders are, look for Ravivarman13 & main, to allow you to test your portal deployment experience.

Please also replace the curly brackets on the placeholders {}

Azure Public

As part of this Pull Request I have

[x] Checked for duplicate Pull Requests
[ ] Associated it with relevant issues, for tracking and closure.
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[ ] Performed testing and provided evidence.
[ ] Ensured contribution guidance is followed.
[ ] Updated relevant and associated documentation.
[ ] Updated the "What's New?" wiki page (located: /docs/wiki/whats-new.md)

@Springstone  Fixed the policy rule which was under parameters.

I know this has been already merged but what do you think about potential improvement in terms of adding additional parameter to be able to specify evaluationDelay (https://learn.microsoft.com/en-us/azure/governance/policy/concepts/effect-deploy-if-not-exists#:~:text=evaluationDelay)?
Similar feature-request reported for Azure built-in policies but without any response - https://github.com/Azure/azure-policy/issues/1050

I would love to use this, but am not even able to create the policy definition.  This is what happens when I try to create it using Azure PowerShell:
The policy 'Deploy-Private-DNS-Generic' has defined parameters 'effect,privateDnsZoneId,resourceType,groupId,evaluationDelay' which are not used in the policy rule. Please either remove these parameters from the definition or ensure that they are used in the
     | policy rule.


No more updates?

Hello. I came by this package and it's not maintaining now. I would be thankful if you transfer ownership of this to me. I've more than 2 years of experience in flutter.

@simc

@mobiluse what stops you from forking the repo first, making the proposed changes, and coming back with some real results in a PR before begging for repo ownership?

I didn't begged for ownership @vanyasem ! He is not updating it that's why I proposed him to give up his ownership or share ownership with me.

@mobiluse hey I noticed you haven't visited your garage for a while, mind giving me the keys for it? I promise I will keep it clean and tidy!


Day 438

Good morning! Here's your coding interview problem for today.
This problem was asked by Amazon.
Implement a stack API using only a heap. A stack implements the following methods:

push(item), which adds an element to the stack
pop(), which removes and returns the most recently added element (or throws an error if there is nothing on the stack)

Recall that a heap has the following operations:

push(item), which adds a new key to the heap
pop(), which removes and returns the max value of the heap

Identical to Day 154: https://github.com/vaskoz/dailycodingproblem-go/issues/320


[MM-35236] Add 'gifsicle' module to devDependencies

Summary
The gifsicle module appears to be a build-time dependency for some release branches of Mattermost (including v5.35 as targeted by this pull request).
This changeset adds gifsicle as an NPM devDependency (development-only dependency not required for distribution with the application).
This attempts to resolve some build issues as reported in mattermost/mattermost-server#17420, mattermost/mattermost-server#17452, mattermost/mattermost-server#17521.
cc @hmhealey
Ticket Link
https://mattermost.atlassian.net/browse/MM-35236
Release Note
NONE

Hello @jayaddison-collabora,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.
Per the Mattermost Contribution Guide, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
Once you have signed the CLA, please comment with /check-cla and confirm that the CLA check is green.
This is a standard procedure for many open source projects.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

/check-cla

Hi @jayaddison-collabora. Is this still an issue you're seeing with the latest master?
I fought with those errors for a while, but I couldn't seem to get it to install those dependencies correctly even if I added gifsicle as a dependency. I finally found out though that recreating the package-lock.json from scratch seemed to fix the issue, so I'm not sure if this is needed any more. I'm glad to take this PR if it is though.

Thanks @hmhealey for taking a look!
I've spent a bit of time trying to reproduce the build issues again, using npm ci --also=dev (to try to respect the existing package-lock.json commitments) and also using npm install --also=dev, both on master as you suggest and also against release-5.35 @ 52c518439cd20ad484fad1ff1521c4bc433c6d7b (as configured for this pull request).
The results are:

NPM CI, release-5.35: no repro
NPM Install, release-5.35: no repro
NPM CI, master: no repro
NPM Install, master: no repro

(this was all using NPM v12.21.0 and NPM v7.5.2, FWIW)
So my best guess is that this was a gifsicle-related dependency change external to Mattermost that was a problem for a certain window of time during those issue reports.
As a result: no need to include / merge this change; I think it's harmless, but it's also understandable to keep the declared dependencies to a minimum.

(note that I'm doing a little more work locally to see if I can find the exact workflow -- it was build/packaging-related, if I remember correctly - that led me to encounter this issue and provide this suggestion.  I'll report back if & when I discover that)

thanks for the hard work, please let us know anything you discover! 😃

The problem also showed up specifically with Node 16/NPM 7 for me. I was switching between versions a lot when we were preparing to upgrade though, so I don't remember when exactly I started seeing it.


Expose popper instance

Hello,
It would be nice if the popper instance is exposed as a third element of the returned array. And probably make it a readable store too, since the actions will very likely to only ever be used in a component.
Reason being that I'm currently implementing transitions on the content element like this:

  {#if show}

Surprise

  {/if}

This way the styling on the content will always persist and the transition don't suddenly teleport to another place. But since the actions has no way of telling when show change, popper doesn't recalculate the styles. So I needed to access the instance's update method to manually trigger the recalculation.
I've forked the code into my project which exposes the readable instance store and it worked splendidly so I hoped this can be implemented here too.
I can send a PR if given the green light.

Some time had passed and I hacked a solution without exposing the popper instance. I took advantage of the referenceAction's returned update function (which wasn't being used) and made it automatically update popper whenever the referenceActions options change. So now instead of:

  {#if show}

Surprise

  {/if}

It's now:

  {#if show}

Surprise

  {/if}

Curious on your take on both solutions.

New day today and I realized that persisting the content element like the code above isn't a really good solution since the instance is constantly updating on scroll and resize events even when not showing.
I reverted in nesting the content in the if statement and found that transitions do work properly after all, provided that the transition directive is nested in the content element. So now my code looks like:

{#if show}

Surprise

{/if}

So now I don't need to access the popper instance anymore. Sorry for the issue! :sweat_smile: I'll close this now to keep the repo clean.

@bluwy Surprisingly, I recently added the option to access the Popper instance via an anonymous function returned as the 3rd element of the array.
I see that you no longer needed the option to do so, but it’s useful if you need to manually call instance.update().


Limit quantity to 8 decimal places

Since we only have room to show 8 decimals in order book and market trading page, lets be consistent and only allow 8 decimals in quantity.

This is still not fixed....It allows me to add more than 8 decimals into quantity

looks good - closing


Added a blog post

Fast-SCNN explained and implemented using Tensorflow 2.0

Has conflict so I add it manually
Thanks


Displaying Full Source Code

I'm currently trying to build a UI Library that's built on top of Material-Ui V1. I want our developers to be able to reference the component code from Storybook.
This is an example of what I'd like to be able to see in Storybook (the full component file with dependencies):
import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import Button from '@material-ui/core/Button';

function PrimaryButton(props) {
  const { classes } = props;
  return (
    <Button
      variant="contained"
    >
      Primary Button
  </Button>
  );
}

PrimaryButton.propTypes = {
  classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(PrimaryButton);

I've implemented @storybook/addon-storysource and @storybook/addon-info. They are great features, but they don't work for our use-case. They can't see past the Material-UI layer, and if it did it would only be the part of the component that's rendered.
This is the output from addon-info:
<div style={{textAlign: 'center'}}>
  <WithStyles(PrimaryButton)/>
</div>

Are there any recommended ways of displaying the full source code? Thanks in advance for any guidance you can provide.

I am working on improvements to the addons-storysource (discussed in #3566), but have no ETA yet.

I've run into similar issue. Is there any progress on this front?

Let's concentrate the discussion here: #3566


style: too many improvements to list

hero image
favicon
docs reorg / cleanup / fix routes
add incubator logo
fix footer
proper html
...

@pkdotson @rusackas


Peers RoleType

Is your proposal related to a problem? Please describe.
I found no explanation about the peers RoleType, which is an important notion regarding harvesting
enum RoleType {
    PeerNode = 1,
    ApiNode = 2,
    DualNode = 3
}

Describe the solution you'd like
I think a note about that in the following page would be appropriate
https://nemtech.github.io/guides/accountlink/activating-delegated-harvesting.html
Additional context
I forgot what Role Type was not eligible for harvesting, and went to check in the docs

@decentraliser Thanks for opening the issue! We could add some more details here about the dual nodes: https://nemtech.github.io/concepts/node.html.
The enum is also described in the REST Gateway documentation, but might be nice as well to add some lines or link redirecting to the main docs: https://nemtech.github.io/symbol-openapi/v0.8.11/#operation/getNodePeers


Add One Transaction Report View

Details
Held on the following PRs
Auth PR: https://github.com/Expensify/Auth/pull/9940 ✅
Web PR: https://github.com/Expensify/Web-Expensify/pull/40900 ✅
Fixed Issues
Part 3 of 3
$ https://github.com/Expensify/Expensify/issues/342922
$ https://github.com/Expensify/App/issues/38655
Tests
(Before checking out this branch)

Log into an account that is a member of a workspace and make a single money request on the workspace chat like so:

Workspace Chat
Expense Report
Transaction Thread

(After checking out this branch)

Navigate to the workspace chat and click on the expense report preview
Confirm that opens the report and that you see a combined expense view showing the details of both the expense report and transaction thread with an updated simplified icon (non-diagonal version) without a total.

Modify something on the transaction (category, merchant, currency etc.) and confirm the associated report action is displayed accordingly in the one-transaction view.

If you modify the currency, ensure the total appears on the one transaction view reflecting the amount in the report currency

Add a comment and confirm it displays correctly
Create a new request on the workspace chat and navigate back to the expense report
Confirm you see the separated expense report and transaction thread views:

Confirm the changes you made to the expense are reflected on the transaction level, but the comment is retained on the expense report level
Delete the new request and confirm the view updates back to the one-transaction view

https://github.com/Expensify/App/assets/16747822/1f97eb51-b099-4283-a3be-e07c41a7a898

Repeat the same steps but for a 1:1 money request and confirm you see the one-transaction view with a simplified single icon

https://github.com/Expensify/App/assets/16747822/b771e31b-b553-4847-bb5d-545b26c2ea7a

[x] Verify that no errors appear in the JS console

Offline tests
Offline view won't shows the one-transaction view and will be the same as it is currently

QA Steps
Same as test steps

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/16747822/fcf30138-6cae-45a6-9148-927b516ce5ab

Android: mWeb Chrome
https://github.com/Expensify/App/assets/16747822/cf217df1-d7eb-4914-9921-5da4094da0e0

iOS: Native
https://github.com/Expensify/App/assets/16747822/eaf33f9f-8fbc-452a-8f96-1f31d69b60ed

iOS: mWeb Safari
https://github.com/Expensify/App/assets/16747822/38dd7dcc-60a0-41c7-8fa6-3067e3f10d80
https://github.com/Expensify/App/assets/16747822/9d40978c-628f-4b27-912e-f9447f560f28

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/16747822/1f97eb51-b099-4283-a3be-e07c41a7a898

MacOS: Desktop
https://github.com/Expensify/App/assets/16747822/21f2c6cf-5ef8-42c9-a56d-504819ee1341

Apologies if you are still making progress on the screenshots but for this screen here:

I don't think we need the extra "Total" row above the total that is found in the expense details body. So we can remove the one on top.

I asked about that here a few weeks ago and Tom brought up that we might need to keep it because there may be distinctions between the report currency and transaction currency - definitely open to revisiting that decision though!

Ah okay - is it possible to just not show it if it's the same value? cc @trjExpensify

Personally, I think ideally we'd avoid conditional logic where only occasionally show certain elements. This was brought up in an earlier discussion for part of this view, as that sort of approach can lead to a less clean implementation.

Yeah, I agree it looks strange when the currencies are the same. It's the multi-currency case we need it for really.

What's the next step for this PR?

Spent the end of last week investigating an alternative solution where we'd determine if the report was a one transaction report in Auth (instead in App) but it turned into a bit of a rabbit hole trying to ensure we returned the transactionThreadReportID in the report data wherever we retrieved the report.
So today I'll focus on reverting the last commit here and loading the appropriate report actions in ReportScreen and ReportActionItem. Once that's done this should be ready to review

Alright, I think this is ready for review! I need to add the screenshots for the various platforms but overall this should be preeettty good to go.
One thing to note - when the one transaction view is loading for the first time (i.e. we've just logged in and navigated to this report for the first time), we initially show the old view because we haven't identified that the report only has one transaction on it at this point. The loading behavior is similar to what we see for multi-transaction reports though (both are shown in the below video), so I figured I wouldn't hold on it.
https://github.com/Expensify/App/assets/16747822/7808b154-46e9-4137-9d08-2aad9b611980

@aimane-chnaif Could you please proceed with the review and testing even if the actions are failing, potentially resolving the lint locally? thank you!

Woo, thanks @NikkiWines - excited for this one!
The transition you mentioned from loading a one-expense report does feel slightly awkward:

But I am not sure I have any good ideas on how to avoid that.

Yay ok, performance issues have been mitigated and I added videos for each platform - this should be ready for another review 🙇
There's a lint error but I commented here about how the linter doesn't seem to be quite right in this case. We can suppress the error if there's not a better way to handle that scenario.
@shawnborton re:

The transition you mentioned from loading a one-expense report does feel slightly awkward:
But I am not sure I have any good ideas on how to avoid that.

I agree it's not the nicest first experience. I think it might be worth making a follow-up issue to handle that, what do you think? It's a tricky to know while loading the view if the report is a one-transaction report or not, so we're defaulting to the standard view instead of the one-transaction view. Maybe we can reverse it, and default to the one-transaction view as the basic option or find some happy medium for the report loading state.

I think it might be worth making a follow-up issue to handle that, what do you think?

Cool, I agree we can totally do this as a follow up.

@aimane-chnaif do you think you will be able to test and review today?

@allroundexperts adding you since you got assigned here pleas give this a review when you've got a chance 🙇

@NikkiWines Can you please resolve the lint issues?

Ah, yeah, I actually commented on that above. I can look into resolving it but wasn't sure a suggestion for fixing it would come up during review.

There's a lint error but I commented here about how the linter doesn't seem to be quite right in this case. We can suppress the error if there's not a better way to handle that scenario.

@NikkiWines Conflicts.

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Yeah, looking into it already - we just merged some reportAction comment linking stuff so it's added some complexity here.

Conflicts have been fixed!

Hi @NikkiWines!
Can you please confirm if this thread is showing up correctly? I would normally expect only the parent message to show up, but the money request is showing up as well.
https://github.com/Expensify/App/assets/30054992/d9c9102f-1780-47a2-a581-3c035bbf6878

Oh, yeah that behavior is weird. Good catch @allroundexperts. Will push up a fix today (and resolve the conflicts) today

It looks like we actually do the same thing on main right now, so I think it's expected actually? It does look a bit odd but it's not a change introduced as part of this PR.
(main)
https://github.com/Expensify/App/assets/16747822/d9945946-4448-4f6f-bc9b-b09841d1c55a
(nikki-one-transaction-report-view)
https://github.com/Expensify/App/assets/16747822/710ff08e-a029-43a8-bb62-c5f640530128
Really makes me want to fix that loading state though, since it shows the flickering each time. But, I still think that should be a follow-up 🤔 this has got a lot going on already

seems like Tim and Vit are reviewing this PR 😄, so I'll remove myself from the reviewers list. Let me know if you still want me to review 🙇

I will review tomorrow 🙇 ooo today

I will review this code this morning.

@tgolen @vitHoracek @allroundexperts updated! 🙇

conflicts resolved!

cc @NikkiWines - looks like this one generated a few bugs. Can you take a look please? Thanks!

 Luckily most of these are pretty easily addressed. The main one that I think will involve more discussion is how to handle the status of an expense in the one transaction view given the original design involved just showing the report header, not the request header. Going to raise that in slack once I've got the majority of these blockers under control

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.60-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Will comment over on the linked issue, thanks Rajat!


Sign count checking

https://github.com/koesie10/webauthn/blob/0adb1b7812648619232faf65a693d93f2d5a9d7d/protocol/assertion.go#L111-L114

@koesie10 I'd like to implement it, but what do I have to do as a sub-step? It would be helpful if you could tell me more about it. I'm a vuls No.5 contributor, so I can golang to some extent.
https://github.com/future-architect/vuls

MacOS software authenticators (passkeys) always set the sign count to zero.


sequoiablocker please 🙏

I understand the request, but I don't have the time for it these days.
Besides, I would say the following:

It's not in our best interests due to security

it can be delayed with a profile up to 90 days (any software not compatible by then is not worth having)

it's an old habit from other OS'es to not want to upgrade to the latest and greatest

today you should be more concerned by not upgrading than by upgrading

I know there can be degrees to how you would write the above, but in the end it is essential to understand that the upgrade is coming.
That being said, I understand some special situations that could exist, but I don't have the time…

Thanks for the reply @Theile .  Totally understand.
I agree that security is more important.  But Apple always breaks stuff whenever I upgrade (because I run so many apps, I'm more susceptible to issues than the average user).
It took them almost a year to fix my Bluetooth issues in Sonoma so that I could use my keyboard.  I'm not looking forward to having more things break.


Debugger crashes when evaluating too large a composite array

Godot version:
3.0.6
OS/device including version:
Windows 7 64-bit, GTX 970
Issue description:
If a structure (such as an array of arrays) that is large enough is created, the debugger will always crash if stopped inside the parent of said structure, or inside an external function that is trying to evaluate/fetch a value from that node, or (in case the node is a singleton or it's loaded as a variable inside the current function) when clicking on said node from the debugger's list of current loaded variables - thus making debugging very difficult. If undisturbed, the process/game will continue normally, so I assume this is just an issue of the editor not having a large enough memory allowance for displaying big structures such as this.
Steps to reproduce:
Create an array of arrays of objects, of size at least 254 by 254, containing at least one key of any size; the debugger will always crash when stopping inside the structure's parent.
If the key is 5-8 characters long, 239 is the maximum array size before crashing. For 9-12 characters, it's 226 - and so on.
Minimal reproduction project:
test.zip

Probably related to #20258

Hmm, possibly. As this is very easy to reproduce, it could help with pinning that problem down too if it's the same cause.

Just ran into this as well, with the following code:
extends Node

func _ready():
	var data = PoolByteArray()
	data.resize(4000000)
	assert(false)

Closing as duplicate of #20258.


Cannot edit comments by clicking on them

Steps

comment on a project
hover your cursor over the comment

Expected
I would expect that clicking on the comment text would allow me to edit it in place since the text cursor appears.
Actual
The cursor changes to a text cursor and the comment background highlights, but I cannot edit the comment.

@caneruguz, @haoyuchen1992 could this be a regression from the recent style changes?

@samanehsan I think so. When I changed it, I didn't realize we had such functionality.

@haoyuchen1992 you should first check if that's in fact the case or it's a css thing. If we broke it the solution has to be very simple, if you see yourself having to play with javascript then something else is wrong.

@haoyuchen1992 I am assigning to you for first investigate then resolve if able -- If it needs to go to someone else past investigation, let me know.

This is because Steve disable the click-edit effect in a PR -[https://github.com/CenterForOpenScience/osf.io/commit/56f886091fd06bce1472aa24e4fe85c0c6f75db8]. But it doesn't clear it up. I just sent the aboved PR for that.


Cloud via Web UI vs Alexa Skill

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
.60
Python release (python3 --version):
Python 3.5.3
Description of problem:
I was asked to configure the "Home Assistant Cloud" via the WebUI. I did that, providing an email address and password.
Problem 1) The documentation fails to mention I need to add the Home Assistant skill in the Alexa app
Problem 2) The Alexa skill asks for a username..what username? I registered via the WebUI using an email address.
Problem 3) Email address and password used in registration via WebUI don't work via Alexa skill.

Ugh, in the UK Alexa skill store a search for Home Assistant brings up something that sort of looks and feels like Home Assistant but isnt.
Go to developer.amazon.com, go to the HA skill, add English(UK) as a language and copy the configuration identical as the English (US) version. Submit for certification. Is there something else I'm not aware of that prevents USA Alexa developers from easily doing this? Genuinely wondering, as Bose (amongst others) have also been unwilling to release their skill in the UK.

Yeah, same issue with Canada, and other English-speaking non-US countries.

Each Alexa skill for a new country requires the lambda skill to be uploaded to that AWS region and submitted for verification. We are now in the last step and awaiting approval from Amazon.
@timdonovanuk

which documentation are you referring to?
Email is your username. But if you are in the UK (as your name implies), you will not be able to see the Home Assistant skill yet.


IE Compatibility

Hi,
First of all it's a nice plugin 👏
Is it possible for you to add compatibility informations ?

Noted: this will be worked on/considered asap!

Thank you for your quick answer 👍

@Johann-S no problem! Please keep me posted on anything I can do to improve the plugin.


Footer update with CNCF

hi @geriadam
Back story:
We are working with the Cloud Native Computing Foundation to get Tinkerbell donated to their organisation. One of the point we have to address is to get the website inline with their style guide https://github.com/cncf/foundation/blob/master/copyright-notices.md#copyright-notices
Please update both homepage's and doc's footers. Just like this:

Thanks.
Requested by @gianarb

Thanks!

Thanks!

Hi @geriadam looks like we haven't follow the rule firmly. The text & link should be like this: https://goharbor.io/
Below is the mockup. Thanks.

Hello @felixwidjaja @geriadam , any news about this bit of work?
Thanks

Sorry @gianarb I forgot completely to remind @geriadam about this.

I think this is done! Thanks a lot!

Sweet!


Unable to show uploaded avatars and images

Describe the bug
When uploading an avatar or an image to s3 compatible storage, Bookstack shows an empty image.
Steps To Reproduce
Steps to reproduce the behavior:

Click on 'SELECT IMAGE' on the preference page.
Confirmed to display the right image.
Click 'SAVE' button.
The empty image is shown.

Expected behavior
Uploaded image is shown.
Screenshots

Before uploading: https://d.pr/f/kt2Xu9
Right after uploading: https://d.pr/f/Hr5Jnm
After uploading: https://d.pr/f/qQi3kG

Your Configuration (please complete the following information):

Exact BookStack Version (Found in settings): v0.27.4
PHP Version: 7.3
Hosting Method (Nginx/Apache/Docker): Apache

Additional context
All images uploaded are not shown other than avatars. I tried to upload avatars and images to s3 and local_secure, but the result is the same.

Hi @mzch,
Sorry to hear you are having issues.
When selecting and saving an avatar does the file get created in your selected storage destination? Do you have any luck when using just the 'local` storage option?

Hi @ssddanbrown,
Yes, the image was saved on S3 (Compatible storage). When specified local_secure, it was also saved on the right place. When using 'local' option, the image show correctly.

Hi @ssddanbrown,
We're seeing the same thing and it looks to be related to the STORAGE_S3_REGION .env variable.
With it set to us-east-1, I can see the file uploaded to the correct bucket location and get set to public access. There are no exceptions thrown, either uploading or afterwards, but the image doesn't get shown after that. Subsequent requests for the file are to
https://s3-us-east-1.amazonaws.com/OUR_BUCKET_NAME/uploads/images/user/2020-01/thumbs-80-80/john_256x256.jpg
but the correct URL should be
https://s3.amazonaws.com/OUR_BUCKET_NAME/uploads/images/user/2020-01/thumbs-80-80/john_256x256.jpg (i.e. no region name as part of the hostname)
Removing the STORAGE_S3_REGION setting entirely or setting it to an empty string throws an exception on upload:
"Error executing "ListObjects" on "https://s3.your-region.amazonaws.com/OUR_BUCKET_NAME?prefix=uploads%2Fimages%2Fuser%2F2020-01%2F&encoding-type=url"; AWS HTTP error: cURL error 6: Could not resolve host: s3.your-region.amazonaws.com ...

"Error executing "ListObjects" on "https://s3..amazonaws.com/OUR_BUCKET_NAME?prefix=uploads%2Fimages%2Fuser%2F2020-01%2F&encoding-type=url"; AWS HTTP error: cURL error 6: Could not resolve host: s3..amazonaws.com ...

Hope that helps!

When I removed STORAGE_S3_REGION, BookStack reported 'An Error Occurred'

laravel.log

[2020-01-12 23:25:54] production.ERROR: Error executing "ListObjects" on "https://sssforme.com/bookstack?prefix=uploads%2Fimages%2Fuser%2F2020-01%2F&encoding-type=url"; AWS HTTP error: Client error: `GET https://sssforme.com/bookstack?prefix=uploads%2Fimages%2Fuser%2F2020-01%2F&encoding-type=url` resulted in a `400 Bad Request` response:
<?xml version="1.0" encoding="UTF-8"?>
<Error>AuthorizationHeaderMalformed<Message>The authorization header (truncated...)
 AuthorizationHeaderMalformed (client): The authorization header is malformed; the region is wrong; expecting 'us-east-1'. - <?xml version="1.0" encoding="UTF-8"?>
<Error>AuthorizationHeaderMalformed<Message>The authorization header is malformed; the region is wrong; expecting 'us-east-1'.</Message><BucketName>bookstack</BucketName><Resource>/bookstack</Resource><Region>us-east-1</Region><RequestId>15E929D87D693AD7</RequestId><HostId>7e2e83e2-79d2-48cc-af3f-768e445900c2</HostId></Error> {"userId":1,"email":"mzch@mzch.org","exception":"[object] (Aws\\S3\\Exception\\S3Exception(code: 0): Error executing \"ListObjects\" on \"https://sssforme.com/bookstack?prefix=uploads%2Fimages%2Fuser%2F2020-01%2F&encoding-type=url\"; AWS HTTP error: Client error: `GET https://sssforme.com/bookstack?prefix=uploads%2Fimages%2Fuser%2F2020-01%2F&encoding-type=url` resulted in a `400 Bad Request` response:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Error>AuthorizationHeaderMalformed<Message>The authorization header (truncated...)
 AuthorizationHeaderMalformed (client): The authorization header is malformed; the region is wrong; expecting 'us-east-1'. - <?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Error>AuthorizationHeaderMalformed<Message>The authorization header is malformed; the region is wrong; expecting 'us-east-1'.</Message><BucketName>bookstack</BucketName><Resource>/bookstack</Resource><Region>us-east-1</Region><RequestId>15E929D87D693AD7</RequestId><HostId>7e2e83e2-79d2-48cc-af3f-768e445900c2</HostId></Error> at /srv/BookStack/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php:191, GuzzleHttp\\Exception\\ClientException(code: 400): Client error: `GET https://sssforme.com/bookstack?prefix=uploads%2Fimages%2Fuser%2F2020-01%2F&encoding-type=url` resulted in a `400 Bad Request` response:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<Error>AuthorizationHeaderMalformed<Message>The authorization header (truncated...)
 at /srv/BookStack/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113)
[stacktrace]
#0 /srv/BookStack/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php(97): Aws\\WrappedHttpHandler->parseError(Array, Object(GuzzleHttp\\Psr7\\Request), Object(Aws\\Command), Array)
#1 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(203): Aws\\WrappedHttpHandler->Aws\\{closure}(Array)
#2 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(174): GuzzleHttp\\Promise\\Promise::callHandler(2, Array, Array)
#3 /srv/BookStack/vendor/guzzlehttp/promises/src/RejectedPromise.php(40): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\\{closure}(Array)
#4 /srv/BookStack/vendor/guzzlehttp/promises/src/TaskQueue.php(47): GuzzleHttp\\Promise\\RejectedPromise::GuzzleHttp\\Promise\\{closure}()
#5 /srv/BookStack/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(98): GuzzleHttp\\Promise\\TaskQueue->run()
#6 /srv/BookStack/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(125): GuzzleHttp\\Handler\\CurlMultiHandler->tick()
#7 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(246): GuzzleHttp\\Handler\\CurlMultiHandler->execute(true)
#8 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(223): GuzzleHttp\\Promise\\Promise->invokeWaitFn()
#9 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\\Promise\\Promise->waitIfPending()
#10 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\\Promise\\Promise->invokeWaitList()
#11 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(267): GuzzleHttp\\Promise\\Promise->waitIfPending()
#12 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(225): GuzzleHttp\\Promise\\Promise->invokeWaitList()
#13 /srv/BookStack/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\\Promise\\Promise->waitIfPending()
#14 /srv/BookStack/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\\Promise\\Promise->wait()
#15 /srv/BookStack/vendor/aws/aws-sdk-php/src/ResultPaginator.php(127): Aws\\AwsClient->execute(Object(Aws\\Command))
#16 /srv/BookStack/vendor/league/flysystem-aws-s3-v3/src/AwsS3Adapter.php(293): Aws\\ResultPaginator->valid()
#17 /srv/BookStack/vendor/league/flysystem-aws-s3-v3/src/AwsS3Adapter.php(276): League\\Flysystem\\AwsS3v3\\AwsS3Adapter->retrievePaginatedListing(Array)
#18 /srv/BookStack/vendor/league/flysystem/src/Filesystem.php(271): League\\Flysystem\\AwsS3v3\\AwsS3Adapter->listContents('uploads/images/...', true)
#19 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php(544): League\\Flysystem\\Filesystem->listContents('uploads/images/...', true)
#20 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Filesystem/FilesystemAdapter.php(557): Illuminate\\Filesystem\\FilesystemAdapter->files('/uploads/images...', true)
#21 /srv/BookStack/app/Uploads/ImageService.php(295): Illuminate\\Filesystem\\FilesystemAdapter->allFiles('/uploads/images...')
#22 /srv/BookStack/app/Uploads/ImageService.php(279): BookStack\\Uploads\\ImageService->destroyImagesFromPath('/uploads/images...')
#23 /srv/BookStack/app/Uploads/ImageRepo.php(204): BookStack\\Uploads\\ImageService->destroy(Object(BookStack\\Uploads\\Image))
#24 /srv/BookStack/app/Http/Controllers/UserController.php(193): BookStack\\Uploads\\ImageRepo->destroyImage(Object(BookStack\\Uploads\\Image))
#25 [internal function]: BookStack\\Http\\Controllers\\UserController->update(Object(BookStack\\Http\\Request), '1')
#26 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#27 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('update', Array)
#28 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Controllers\\UserController), 'update')
#29 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\Routing\\Route->runController()
#30 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Route->run()
#31 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#32 /srv/BookStack/app/Http/Controllers/Controller.php(44): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#33 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(131): BookStack\\Http\\Controllers\\Controller->BookStack\\Http\\Controllers\\{closure}(Object(BookStack\\Http\\Request), Object(Closure))
#34 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#35 /srv/BookStack/app/Http/Middleware/Authenticate.php(48): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#36 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): BookStack\\Http\\Middleware\\Authenticate->handle(Object(BookStack\\Http\\Request), Object(Closure))
#37 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#38 /srv/BookStack/app/Http/Middleware/Localization.php(70): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#39 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): BookStack\\Http\\Middleware\\Localization->handle(Object(BookStack\\Http\\Request), Object(Closure))
#40 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#41 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#42 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(BookStack\\Http\\Request), Object(Closure))
#43 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#44 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(68): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#45 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(BookStack\\Http\\Request), Object(Closure))
#46 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#47 /srv/BookStack/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#48 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#49 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#50 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#51 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Session\\Middleware\\StartSession->handle(Object(BookStack\\Http\\Request), Object(Closure))
#52 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#53 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#54 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(BookStack\\Http\\Request), Object(Closure))
#55 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#56 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#57 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#58 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#59 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#60 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#61 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(BookStack\\Http\\Request))
#62 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\Routing\\Router->runRoute(Object(BookStack\\Http\\Request), Object(Illuminate\\Routing\\Route))
#63 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\Routing\\Router->dispatchToRoute(Object(BookStack\\Http\\Request))
#64 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(BookStack\\Http\\Request))
#65 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(BookStack\\Http\\Request))
#66 /srv/BookStack/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(58): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#67 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(BookStack\\Http\\Request), Object(Closure))
#68 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#69 /srv/BookStack/vendor/fideloper/proxy/src/TrustProxies.php(56): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#70 /srv/BookStack/app/Http/Middleware/TrustProxies.php(45): Fideloper\\Proxy\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#71 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): BookStack\\Http\\Middleware\\TrustProxies->handle(Object(BookStack\\Http\\Request), Object(Closure))
#72 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#73 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#74 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(BookStack\\Http\\Request), Object(Closure))
#75 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#76 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#77 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(BookStack\\Http\\Request), Object(Closure))
#78 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#79 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#80 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(BookStack\\Http\\Request), Object(Closure))
#81 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(BookStack\\Http\\Request))
#82 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(BookStack\\Http\\Request))
#83 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#84 /srv/BookStack/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(BookStack\\Http\\Request))
#85 /srv/BookStack/public/index.php(54): Illuminate\\Foundation\\Http\\Kernel->handle(Object(BookStack\\Http\\Request))
#86 {main}
"}

When adding STORAGE_S3_REGION=us-east-1, no error was recorded, but no image was shown.

Since the last comment on this issue is relatively old I'm going to close this. If the issue remains and is something you still require to be fixed please open a new issue, referencing this one.


feat: fdroid screenshots

Fixes #402

@yashk2000 Please verify it is in the format required by fastlane

@yashk2000 review


Stripping CSS comments

I'd like to have the option to remove all comments so that I can comment liberally and not worry about accidentally leaking more implementation details into production than necessary.
There is only one way to comment in CSS, so this shouldn't be a big code endeavor.
Seems like just look for a /* and then rip out anything up until the first */ that we see.
Just comes down to how we would want to do it.
Potential Solution 1
browserify -t [sheetify --strip-comments]

Happy to PR any solution that y'all are cool with it!

Not opposed to this, but I also think this would make for a great sheetify transform:
$ browserify -t [sheetify -t sheetify-strip-comments ]

In a sense this is similar to minification, and Browserify doesn't do anything about that either (for better or worse). Sort of +0 on this feature, but happy to accept PRs if you think it's better in core than in a module :sparkles:

Great idea - done - thanks! https://github.com/chinedufn/sheetify-strip-comments


heavy cpu usage in rooms with many members

Partial workaround: using the TOKIO_WORKER_THREADS=1 env variable.

Full workaround for Linux & cgroups:
sudo tee -a /etc/systemd/system/iamb.slice << 'EOF'
[Slice]
CPUQuota=10%
MemoryHigh=1G
EOF

Then start iamb:
sudo systemd-run --uid=$USER --slice=iamb.slice -t iamb

Got stable 10% CPU usage, no freezes/another issues.

I see high CPU usage on my debian 11 machine, too. CPU cooling fans of my laptop go full-speed while using iamb.

On my system iamb averages to 35% of cpu usage and 500M of ram while being inside the Welcome screen. It doesn't vary much over time.
The cpu is stable at around 70°C and the fans spin like a jet.

I've merged #168 as b2b47ed. If people who've been having issues with high CPU use could verify that the change improves things for them, I'll go ahead and close this issue.  You can grab binaries from the CI action.


Integrate astral uv into the enV5 repository

Replace python/virtualenv/pip with astral uv.

Already implemented in  #325


fcgiwrap.sock connect() failed no such file or directory for git-porter container

Here is the error from the container log:
2022/06/22 19:22:27 [crit] 12#12: *4 connect() to unix:/var/run/fcgiwrap.socket failed (2: No such file or directory) while connecting to upstream, client: <IP_ADDRESS>, server: git-mirror.ftp.sh, request: "GET /rke2-charts.git/info/refs?service=git-upload-pack HTTP/1.1", upstream: "fastcgi://unix:/var/run/fcgiwrap.socket:", host: "git-mirror.ftp.sh"

Here are the permissions:
cd /var/run
ls -la
total 20
drwxr-xr-x    1 root     root          4096 Jun 22 13:44 .
drwxr-xr-x    1 root     root          4096 Jun 22 13:44 ..
drwxrwsr-x    2 fcgiwrap www-data      4096 Jun 22 13:44 fcgiwrap
-rw-r--r--    1 root     root             3 Jun 22 13:44 nginx.pid
drwxr-xr-x    3 root     root          4096 Jun 22 13:44 secrets

cd /var/run/fcgiwrap
ls -la
total 8
drwxrwsr-x    2 fcgiwrap www-data      4096 Jun 22 13:44 .
drwxr-xr-x    1 root     root          4096 Jun 22 13:44 ..

Reference(s):

https://unix.stackexchange.com/a/636270/247886
https://stackoverflow.com/a/30716240/8507637

Cannot get script name, are DOCUMENT_ROOT and SCRIPT_NAME (or SCRIPT_FILENAME) set and is the script executable?
Status: 502 Bad Gateway
Content-type: text/plain

An error occurred while reading CGI reply (no response received)

Reference(s):

https://github.com/ipburger/alpine-http-git-server

spawn-fcgi: child spawned successfully: PID: 9
2022/06/28 19:16:28 [emerg] 10#10: unknown log format "main" in /etc/nginx/nginx.conf:18
nginx: [emerg] unknown log format "main" in /etc/nginx/nginx.conf:18

spawn-fcgi: child spawned successfully: PID: 9
2022/06/28 19:23:11 [emerg] 10#10: "log_format" directive is not allowed here in /etc/nginx/nginx.conf:21
nginx: [emerg] "log_format" directive is not allowed here in /etc/nginx/nginx.conf:21


ENG-8736: Add data source to retrieve repositories

Description of the change
This PR adds the data source cyral_repository. This data source provides access to existing repositories in the Cyral control plane. One is able to filter the retrieved repositories by a regex on their name, or by their type (e.g. sqlserver).
Type of change

[ ] Bug fix (non-breaking change that fixes an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklists
Development

[x] Lint rules pass locally
[x] The code changed/added as part of this pull request has been covered with tests
[x] All tests related to the changed code pass in development

Code review

[x] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
[x] Jira issue referenced in commit message and/or PR title

Testing
ACC tests are passing.
Manually deploying the following works:

resource "cyral_repository" "sqlserver1" {
    host = "localhost"
    port = 1433
    type = "sqlserver"
    name = "prefix-sqlserver1"
}

resource "cyral_repository" "mongodb1" {
    host = "localhost"
    port = 27017
    type = "mongodb"
    name = "prefix-mongodb1"
    properties {
        mongodb_replica_set {
            max_nodes = 2
            replica_set_id = "replica-set-id"
        }
    }
}

data "cyral_repository" "test_repository" {
    depends_on = [
      cyral_repository.sqlserver1,
      cyral_repository.mongodb1,
    ]
    name = "^prefix-m.*1$"
    # type = "mongodb"
}

output "repodata" {
  value = jsonencode(data.cyral_repository.test_repository.repository_list)
}

In this case, the repodata output only contains information about the MongoDB repo.

Thanks  @VictorGFM, thanks for pointing that out! I just fixed the bug. The issue happened because some repositories on edge had non-null properties field, and were not replica-sets. In that case, we would add an empty map to the Terraform argument properties. When doing d.Set("properties", malformedObject), a panic in the Terraform code is triggered.


Bindings not working on macOS Sequoia

Since updating to macOS Sequoia the bindings are lost.
It seems it the same for yabai.
https://github.com/koekeishiya/yabai/issues/2324

It seems that the alt modifier is not responding, probably because Apple is listening to it now

New version of Aerospace or macOS Sequoia fixed it


Not respecting --unhandled-rejections=strict

What version of bluebird is the issue happening on?
3.7.2

What platform and version? (For example Node.js 0.12 or Google Chrome 32)
Node v14.5.0

Running following code:
setTimeout(() => console.log('not executed'), 1000)

const rejected = new Promise((res, rej) => {
  rej(new Error('error'))
})

with node's native promise and cli option --unhandled-rejections=strict will terminate the script on unhandled rejection.
But when using Bluebirds promise, it will not.
const { Promise } = require('bluebird')

setTimeout(() => console.log('will be executed!'), 1000)

const rejected = new Promise((res, rej) => {
  rej(new Error('error'))
})

It seems that  --unhandled-rejections=strict is ignored

Why would you expect bluebird to respect a node cli flag?

I was just assuming that it will behave the same, no matter which promise implementation is used.
Also from the warning Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. so I would expect that it is preferred to terminate the process asap.
I was a bit suprised when I switch to Bluebirds promise and my script kept running ...

I'll consult with other node people. One option is to fix this on the Node side. Bluebird is currently unaware of cli options and such - we can define an environment variable but that would be weird.

@benjamingr Is there any outcome? Thanks

Well, I had an implementation that changes Node's behavior to implement "strict" by setting an 'unhandledRejection' handler and discussed it with Ruben but I am concerned it's a breaking change since there is a lot of wild code that assumes things regarding the number of "unhandledRejection" handlers there are attached so I am not sure it's worth the breaking change in Node to fix it from that side. (I don't think this can be fixed or changed from the bluebird side)

Thanks, I'm closing it.

@benjamingr purely from a "principle of least surprise" I'd consider it a bug in Node.js that anything showing up in a unhandledRejection handler would not cause a crash when that flag is set. What does that flag really mean then, if only a subset of those events are considered?
Naturally the trade-offs must be considered. Do you have a reference for the Node.js issue - I'd like to subscribe, just in case.

@tjconcept I just talked about it with Ruben on facebook and made a branch ^_^ feel free to open an issue on Node.js - I am just one person in the Node.js project if other people feel strongly enough about it might happen (and I am not sure it's not a good idea - just scary and a breaking change).

If there's already a branch, rather a PR from that, no? I don't feel confident enough about this that I'll file an issue (I at least feel responsible to test it myself and include reproducing code, etc.). Thanks anyway!


Suggestion: Selected Operators compact mode

Right now it's a bit of a pain having to scroll up and down the selected operators list if you have a long list. Maybe there could be some kind of compact mode toggle where it just shows their pictures and you can click on the picture to bring up the plan/items/etc UI for that op? Hopefully it's not too big an ask

Not too big of an ask at all! I have been having the same issue so I plan to redesign that piece (again) to have better filtering/sorting and a more compact and better looking header!

https://tree.taiga.io/project/goodeffort-arknights-planner/us/6?kanban-include_attachments=1&kanban-include_tasks=1&kanban-status=9555405
https://tree.taiga.io/project/goodeffort-arknights-planner/us/3?kanban-include_attachments=1&kanban-include_tasks=1&kanban-status=9555405


Add Bootstrap

Can you make a branch with Bootstrap 4 beta? Or just show an example of how to add more css files, local or CDN?

Hi @ChicagoDave, I'll try to get to that. Right now, you can add JS/CSS files to src/scripts and src/styles and they'll be concatenated into site.css and site.js. If you want to add a reference to a CDN file, you can add it to src/views/_appjs.vash and src/views/_appcss.vash. The gulp file would need to be changed to add a non-concatenated file from scripts or `styles.

If you need to add additional CSS files, these are now in the pages directory. I've removed the vash view engine.


Issue #170 Merged existing buffers and schemas

Step 1 for applying catabuffer.
This PR merged existing flat buffer and schemas.
catabuffer will be added once ready after Library completely merged.

Pull Request Test Coverage Report for Build 455

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 78.791%

Totals

Change from base Build 442:
0.03%

Covered Lines:
1683

Relevant Lines:
2021

💛  - Coveralls

Pull Request Test Coverage Report for Build 455

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 78.791%

Totals

Change from base Build 442:
0.03%

Covered Lines:
1683

Relevant Lines:
2021

💛  - Coveralls


For more semantic markup you can take a look at  tag

https://github.com/skillcrush/206-unplugged_retreat/blob/0d86a608bcfdf04bd25a71db4972b68c66bbe8de/about/index.html#L65
Tag overview: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/address

Great idea, I will incorporate this on all three footers!

Actually, circling back to this, are you suggesting using
<address class="contact-content"> or
<address>333 Main St, Lake Geneva, WI<EMAIL_ADDRESS>

<address class="contact-content">


HTTP Request node does not allow self-signed certificates

I am using a self-signed certificate because my domain is not allowed to have anything other than an EV2 cert ( a TOR .onion address). I still do like the privacy of the conversation between Node-Red and the client regardless, and do not want periphery nodes listening in on the conversation.
Now, with the HTTP Request node, I tried the code that was offered on Google Groups of the following:
[{"id":"19de8d5.93bb373","type":"inject","z":"f6358f79.587a3","name":"","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":285,"y":231,"wires":[["87efe6cb.cce13"]]},{"id":"87efe6cb.cce13","type":"function","z":"f6358f79.587a3","name":"","func":"msg.headers = {\n    \"Node-RED-Deployment-Type\":\"reload\"\n}\nreturn msg;","outputs":1,"noerr":0,"x":425,"y":231,"wires":[["6883e89c.a350c"]]},{"id":"6883e89c.a350c","type":"http request","z":"f6358f79.587a3","name":"","method":"POST","ret":"txt","url":"https://localhost/flows","x":565,"y":231,"wires":[["a6de0642.bc767"]]},{"id":"a6de0642.bc767","type":"debug","z":"f6358f79.587a3","name":"","active":true,"console":"true","complete":"true","x":725,"y":231,"wires":[]}]

The code works when I am on an unsecured instance of Node-Red with no authentication and no SSL. However, when I move this to any server with Self-Signed certs, I get the following error (complete message object):
{ "topic": "", "payload": "Error: DEPTH_ZERO_SELF_SIGNED_CERT : https://localhost/flows", "_msgid": "bea8329c.4157d", "headers": { "Node-RED-Deployment-Type": "reload" } }
What must I do to forcefully enable accepting this certificate? Going to a LetsEncrypt is not viable, since this is a Node-Red server on my internal network that also serves to TOR as a Hidden Service.

There is an environment variable you can export to tell node to accept self signed certs. Google should find it if you get there before I get to my laptop.

Thank you for your speedy response.
Do you know of a mechanism that can change the export variables real-time within the system?
This is my current gotcha for working with .onion links and dealing with self-signed certs: either I go all in, or don't at all.

Right now it's all in, or not at all. Cert handling gin general is something we have on the list to look at in more detail in the near future.

I understand. Thank you :)
Sincerely,
Josh Conway


Strawberry perl's "which" command overrides File::Which's "which" command

I have a virtual windows machine with Strawberry perl installed. Apparently, Strawberry Perl automatically provides a "which" command located at C:\Strawberry\perl\site\bin\which.cmd. When you running the which command after File::Which is installed, the which.cmd is run.
I'm not familiar with Windows or Strawberry perl so I'm not sure what the best way to handle this is.

Doh, never mind. Not sure why I thought this module even had a bin for which. It doesn't.


The script returns '-2147483648' in the TSV file if any value is a period ('.') in the Format column of the VCF file.

Input VCF File values

Output TSV File values

Thanks @razshaikh for letting me know about this error! Could you share your VCF with me, so I can test and make sure that it can be fixed?
best,
Sigve

Hi Sigve, thank you for your response, Really appreciated.
Please find the sample VCF below:
test_sample_run.zip

Hi @sigven, any suggestions on how to solve this issue.
Thanks and Regards,
Razin

Hi @razshaikh,
I am working on it, sorry for the delayed response.

Hi @sigven, I understand you must be having other tasks on your hand. I really appreciated you looking into it. Thank you.
Best Wishes,
Razin

Hi again @razshaikh,
Been digging a bit, and it seems this matter is related to how cyvcf2 works. See this related issue, for instance.
Either way, I have now added a simple check for this in vcf2tsv (v0.3.6), which should fix the error you encountered. On another note, your test VCF was full of other strange formatting errors, so I had to change it quite a bit for a test run.
kind regards,
Sigve

Hi @sigven,
Hope you are doing well.
Thank you for the update. I checked it, and it works for the 'GQ' values, but other values still has the same issue.
For example: the values in AD column, if any value is missing and has a period('.') instead, the latest script still replaces it with '-2147483648'.
Let me know if you have any suggestions for it.
Thanks and regards,
Razin

Hi @sigven
I have added a pull request, let me know if that makes sense.
Best wishes,
Razin


⚠ Bofrost.de has degraded performance

In 0b8dd89, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 830 ms

Resolved: Bofrost.de performance has improved in e871780 after 46 minutes.


[Event Request] Codeunit 802 "Online Map Management" - OnBeforeURLEncode

Hello,
we are upgrading from an older NAV Version to BC16, is it possible to add a new Event and a "IsHandled" Boolean to the procedure "URLEncode" like it's been described below ?
I marked the new feature with a comment (//START - //END).
local procedure URLEncode(InText: Text[250]): Text[250]
    var
        SystemWebHttpUtility: DotNet HttpUtility;
        //Start
        IsHandled: Boolean;
        //End
    begin
        //Start
        OnBeforeURLEncode(IsHandled);
        if not IsHandled then
        //End
             SystemWebHttpUtility := SystemWebHttpUtility.HttpUtility;
        exit(CopyStr(SystemWebHttpUtility.UrlEncode(InText), 1, MaxStrLen(InText)));
    end;

Thanks in advance !

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


change error response to readonly

Changing the mutation response error to be readonly

Looks like some formatting missing, but otherwise looks good 👍

@jobutle Can you run prettier on the code? Looks like some spacing and a semi colon is not as expected:
Replace ·errors?:·readonly·Error[];·data?:·TMutationPayload["response"]· with
⏎··errors?:·readonly·Error[];⏎··data?:·TMutationPayload["response"];⏎


Influence: Amount of training data and data augmentation via Detectron2

Hi,
Thank you for sharing LaMa! The inpainting quality is really impressive!
I was wondering:

Comparing "LaMa-Fourier" with "Big LaMa-Fourier": How much did the larger training data (4.5M images from the Places-Challenge dataset) contribute to the improved quality of Big LaMa-Fourier? Do you think that similar results could have also been achieved for Big LaMa-Fourier with less data?

You have proposed a sophisticated approach for data augmentation. How much did the training and the inference benefit from data augmentation using segmentation masks from Detectron2?

Best wishes,
Alex

Hi! Sorry for the late reply!

How much did the larger training data (4.5M images from the Places-Challenge dataset) contribute to the improved quality of Big LaMa-Fourier?

Larger data helps, but significantly less than larger model size and other training tricks (SegmPL, large masks)

Do you think that similar results could have also been achieved for Big LaMa-Fourier with less data?

Less data = less quality, but not dramatically - reducing model size or removing SegmPL or using smaller training masks would hurt more

How much did the training and the inference benefit from data augmentation using segmentation masks from Detectron2?

We do not use segmentation masks from Detectron for training. We tried it in the very beginning of the project, but faced technical issues (slow, gpu memory consumption, cuda-reinitialization limitation) - so we could not use segmentation-based mask generation effectively during training. It is there just because we forgot to remove it when preparing a public code release. Please note that segm_proba: 0 in all the data configs.

In our experience, mask widths matter much more than mask shapes

Hi Roman,
awesome!! Thank you for sharing your experience! This really helps a lot and confirms my preliminary findings :)


Check code format

configure with -D ENABLE_AUTO_FORMAT=ON
execute
$ make format-cpp
$ make format-python

prints the diff if invoking clang-format or autopep8 would change
the file.
does NOT apply them though.

Requires clang-format and autopep8 to be in the path at configuration time

make format-cpp requires the Python package docopt
pip install docopt

Current coverage is 85.04%

Merging #93 into master will not affect coverage as of 65d6f1c

@@            master     #93   diff @@
======================================
  Files           79      79
  Stmts         4923    4923
  Branches         0       0
  Methods        302     302
======================================
  Hit           4187    4187
  Partial          0       0
  Missed         736     736

Review entire Coverage Diff as of 65d6f1c

Powered by Codecov. Updated on successful CI builds.

This PR is a first step towards a "check format" to be integrated in the regression just like "coverage" or "warnings"


Update tile design

Description
The guide tiles on the pages needed a bit of a refresh. On the docs site, we use a solid tile to launch into other parts of the docs. This site felt like it needed the same treatment.
This PR aligns the guide tile design a bit more with the docs tiles. Specifically it update to use the same solid background treatment, updates the title size to match the docs site, and moves the duration to the bottom of the tile. This provides more room for the title before it wraps.
This PR also addresses the inconsistencies with the duration given for a guide. There were some places that used 5 min, and others that spelled out the minutes (i.e. 5 minutes), which looked kinda bad. Now the frontmatter accepts an integer instead and inserts the label itself.
Screenshot(s)
Before

After

looks good to me. @jpvajda this look good to you as well?

This is awesome! Thanks @jerelmiller. 🥳


MAHOUT-1876: Upgrade lucene to 6.1.0 and fix compilation failures

Looked at the lucene migrate guides and past deprecation warnings to find alternatives to removed features

Submitted this PR to check with travis test results

Closing this PR since Java 7 support in Mahout can't be dropped at this moment.


My application run in docker , and in the pinpoint-web ,field "Cliend Ip " is docker's ip,why ?? isn't should be the request client ip?

My application run in docker ,and in the pinpoint-web ,field "Cliend Ip " is docker's ip,why ?? isn't should be the request client ip?
when my application doesn't run in the docker , in the pinpoint-web ,field "Cliend Ip " is the request client ip?

hi @hustcxx
Please check that proxy server accepts the request
If so, please adjust the * .realipheader options in your pinpoint.config.
thanks.

I should config the *.ealipheader option with  'X-Forwarded-For' or 'X-Real-IP' or all of two?

Put the value for your environment.


Influxdb Choking Configuration help

Sorry, What is the new way to tweak the performance if the below options are old, please suggest. I'm recreating this because the previous issue was closed and i'm not sure how to do it with new config.
The scenario and the issue is similar to whats shown here
#375
Running on Linux Redhat Processor = 3, CPU Core = 4 and Memory = 16GB, Core(s) per socket = 4
However, im unable to find these config parameters to tweak. Im using the version v0.10.0. Please suggest
flush-after = 10000 # the number of writes after which wal will be flushed, 0 for flushing on every write
bookmark-after = 10000 # the number of writes after which a bookmark will be created
index-after = 10000

We try to reserve GitHub Issues for actionable bug reports or feature requests. Please send general questions to the<EMAIL_ADDRESS>mailing list.


Overhead on running dpex kernels

Reproducer:
import dpnp
import time
import numba_dpex
from numba_dpex import Range,NdRange

@numba_dpex.kernel
def bar(a):
    a[0] = 0

a = dpnp.empty(1)
for i in range(10):
    start = time.time()
    bar[Range(1)](a)
    end = time.time()
    print(1000*(end - start))

Result:
170.96805572509766
0.9398460388183594
0.7669925689697266
0.7381439208984375
0.6814002990722656
0.7398128509521484
0.5812644958496094
0.6299018859863281
0.7305145263671875
0.7123947143554688

Expected result... about 0.1ms.
More details here: https://github.com/IntelPython/numba-dpex/pull/946#issuecomment-1513849247

Addressed in #1236.
The new numba_dpex.experimental.kernel uses a fully native kernel dispatch mechanism that fixes the previous overhead reported in this issue.
On my local test machine, existing numba_dpex.kernel reported following performance numbers:
518.5830593109131
5.5999755859375
5.43522834777832
5.475282669067383
5.715131759643555
5.93256950378418
5.736351013183594
5.846977233886719
5.640983581542969
6.529092788696289

Using the numba_dpex.experimental.kernel from PR #1236. The following timing was captured:
236.9523048400879
0.2722740173339844
0.14162063598632812
0.16736984252929688
0.16379356384277344
0.16546249389648438
0.18072128295898438
0.13518333435058594
0.13208389282226562
0.15735626220703125


How to i get container from lua back to c++

lua side:
test_arr = {[0]=3, 3, 4}
c++:
std::vector vec = lua["test_arr"];// error

by using auto get back the lua return type it's:
sol::proxy<sol::basic_table_core<true, sol::basic_reference >&, char const (&) [4]>

sol::as_table_t<std::vector<int>> wrapped_vec = lua["test_arr"];
std::vector<int> vec = wrapped_vec.source; // warning, copies

or
std::vector<int> vec =lua["test_arr"].get<std::vector<int>>(); // or lua["blah"].as<...>();
With second example, you can use auto.
Syntax is not ideal, but this is because C++ has some terrible rules and there's no way for me to get around them. If you want something easier to work with, you can retrieve a sol::table t = lua["test_arr"];, but it won't have all the clean properties and contiguous guarantees of a vector.
The type for auto is a proxy type that performs the conversion on-the-fly.

Thanks a lot!


domain entry causes unbound to "break"

Energized Protection - block ⚡

Let's make an annoyance free, better open internet, altogether!

Issue Submit Form

  Provide the following infos properly, which will help us to resolve your issue quickly.

Issue(s):
Type x in between [ ] and make sure there isn't any space between brackets. Example; for Your Selected Issue(s), type like this - [x]
You can select more than one category of issues if you need to!

[ ] Whitelist
[x] Blacklist
[ ] App Broken
[ ] Website Broken
[ ] Request
[ ] Other Issue

Pack(s):
Write the name of the pack(s) you are using.

Pack(s) Name: Ultimate: Domain List

Extension(s):
Also name the extension(s) if you are using any. If you don't then leave it blank.

Extension(s) Name:

Domain(s):
If you are submitting this issue for whitelist/blacklist issue, send us the domain(s) for whitelisting/blacklisting here. Kindly use the Code Tag to prevent tracking.

Domain(s):

metric.print-mo.net..c.ns.emailvision.net.daraz.com

Your Config:
Just to ensure there is no issues or conflicts with other app/software/magisk module/extension/source list.
Make sure you are running Energized Protection Service only.

Client: opnSense/unbound

Version: 21.04.116

Details:
Write us a lil bit more about your issue or query. You can attach any screen shot or log of the issue or advert, this will help to highlight it.

Your Issue Detail:
metric.print-mo.net..c.ns.emailvision.net.daraz.com has two "." in the domain and it seems that causes unbound on opnsense to "break". could you please fix that? if you whitelist that domain, it seems to work (again).

Thank you for making Energized Protection great, with your kind help!
A project by Ador with ❤

seems to work with https://github.com/EnergizedProtection/block/issues/718#issuecomment-828603103


Test torch binary operators

Test torch binary operators
Supported ops: add, sub, mul, div, ge
Select operand source models for Forge:

Supported:

from another op
from dram
from host
const eval pass

Removed tm edge and prologued constants

mf and df tests
Other changes includes:

test template
op_repo
operator utils

extended shapeutils

compatibility verify_module and TestDevice

create forge tensor from torch
make pcc could be None

Issue #239
Requires PRs #331, #350, #358, #332, #527, #553

Extracted failing_rules.py to improve readability


Fix the table in mathematical reasoning section

Describe the bug

In light mode the table borders get disappears
the items on the table are left align

Possible solution

I will fix the border problem
and centralize the items of the table

Screenshots

Recently merged PR made some chabges in the UI,  check them


Implementation of clearsky.detect_clearsky

I noticed inconsistencies between the pvlib.clearsky.detect_clearsky implementation and the reference it's based on (M. J. Reno and C. W. Hansen, “Identification of periods of clear sky irradiance in time series of GHI measurements,” Renew. Energy, vol. 90, pp. 520–531, 2016.)
The first issue is in the way slopes are calculated.  When calculating the slopes, the function implicitly assumes a data frequency of 1 minute (e.g., meas_slope = np.diff(measured[H], n=1, axis=0)).  Including the time differences would provide expected behavior and would reflect the equations from the original reference.  Furthermore, it may improve the performance of using the default parameters on lower frequency data.
I also believe that the calculation of the final features ("maximum difference between changes in GHI and clear sky time series" from the paper) is incorrectly calculated.  The paper shows this feature as the maximum of the absolute element-wise difference between GHI and GHI(cs) slopes for each window (eqn 14).  The implementation appears to calculate the difference between the absolute maximum GHI slope and absolute maximum GHI(cs) slope for a given window.
This isn't really a "bug", but tagging it as such seemed like the best option.  I'd be happy to resubmit the issue report under a different tag if preferred.

Concur with the first issue. The equivalent function in PVLib Matlab handles different time intervals, and unequally spaced data, but it's not clever, just a brute force loop. Handling different time intervals and data spacing would be a good enhancement to the pvlib-python function.
On the second point, you are correct that the code doesn't implement the equations in the paper. However, niether does our Matlab function, which calculates the difference in maxima, not the maximum of differences.  I'll talk with Matt Reno (my co-author) and sort this out.
Thanks for bringing these issues to our attention.

Looks like we have an error in our PVLib MATLAB function which made it into pvlib-python.  The intent was as described in the paper and we should correct the code.
I'm going to close this issue and open two issues to address the points you raise separately; that helps keep the pull requests simple. Your contribution to either is welcomed.
Thanks again for raising the issues.


Update summation model to reduce wobbles

Pull Request
Description
This updates the summation model used.
The current summation model is a bit noisy. In our forecasts there are some high frequency perturbations from a smooth curve which I do not believe are indicative of model skill, but more the model being overly sensitive to the inputs. Although the accuracy of the model is good, I think it makes us look bad from a user's perspective - can we trust an accurate but wobbly line? These high frequency deviations would also likely make our forecasts worse as measured by ramp-rate.
This new model is trained with more regularisation (via stronger weight decay), and is trained for longer using a slower changing learning rate. This results in smoother forecasts, and a very modest improvement in validation scores.
Both the new and old model were trained and validated on the exact same batches, so their validation results can be directly compared. Validation results, and the wandb training logs for the two models are shown below.

model
Validation NMAE
Validation Quantile Loss
wandb training log

old
0.01448
0.009512
https://wandb.ai/openclimatefix/pvnet_summation/runs/zda9wo7u

new
0.01431
0.009384
https://wandb.ai/openclimatefix/pvnet_summation/runs/xuvy4ld8

Note these tests aren't passing due to the temporary bug fix we put in to compensate for the nwp-consumer bug


#99 Add codecov for integrating code coverage reports

Current coverage is 91.31% (diff: 100%)

No coverage report found for master at 1f2fe53.

Powered by Codecov. Last update 1f2fe53...a4b9bcb

@mo-gr @vigneshshanmugam Guys the sauce-connect account used for tests does not have a valid auth token. Can you provide me one so that I can update? The tests using sauce-connect are the only ones breaking

thanks @addi90 looks good..


Need to publish talks on the web site

Options:
#1. Add an "In the News" section which is just a list of events with pointers to presentations, papers, videos.
#2. Add an "Istio Calendar" showing events in the past and future, with associated links to papers, presentations, videos. This tells people where we'll be in the future which is nice.
#3. Add a specific "Presentations" section which just had presentations and videos.
Or combinations of the above.

Is this something @thisisnotapril can help with now? would be great to have at least the Calendar bits, especially as more and more events are popping up.


Please update the URL for the UI in the wiki.

Hi team,
Thanks for including the URL for the wiki page. There seems to be a typo.
Please update the wiki.

Hi, the wiki has been updated.


Automated cherry pick of #1699: 同优先级规则deny优先于allow规则生效

Cherry pick of #1699 on release/2.9.0.
#1699: 同优先级规则deny优先于allow规则生效

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.9.0@4c90a1a). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff               @@
##             release/2.9.0   #1702   +/-   ##
===============================================
  Coverage                 ?    7.7%
===============================================
  Files                    ?     336
  Lines                    ?   53965
  Branches                 ?       0
===============================================
  Hits                     ?    4160
  Misses                   ?   49419
  Partials                 ?     386

Flag
Coverage Δ

#aFlag
7.7% <ø> (?)

Impacted Files
Coverage Δ

pkg/compute/models/guests.go
0.66% <ø> (ø)

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 4c90a1a...a203e5d. Read the comment docs.

/approve
/lgtm


Merge json-rpc-engine history into merged-packages

We need to create a new merge commit in this repo that combines the history of the json-rpc-engine repo with main.

Copying estimate over from https://github.com/MetaMask/core/issues/1550 since that is now an epic.


Decorations should be hidden when the alt buffer is active

https://github.com/xtermjs/xterm.js/issues/3636

to verify:

enable shell integration
run some commands (you should see a decoration appear for each)
type vim or similar

expectation:

the decorations aren't showing with vim open
exit vim
the decorations should be visible


Add Undefined points code

Psuedo code defines points based on cells and faces.
    if points=='cells':
        points = TI_data_raw['ucx'][['x','y','z']]
    elif points=='faces':
        points = TI_data_raw['turkin1'][['x','y','z']]

Let's add assert statements on the passed data types to each function in d3d.py
e.g.
 assert isinstance(x, (int,float,np.array)), 'x must be of type int, float, np.array'