make delegate reference weak to prevent reference cycles

Adds :class constraint to protocol.
Changes delegate declaration to weak.
Adds deinit method to clean observers up.
XCode removed extra whitespaces automatically to trim file size.
Cheers!

Awesome! thank you


fix: prevent 404 errors in store when using nginx

Fixes https://github.com/hassio-addons/addon-zwavejs2mqtt/issues/4#issuecomment-819371878
/cc @frenck

Pull Request Test Coverage Report for Build 751037167

0 of 43 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 17.971%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/apis/ConfigApis.js
0
9
0.0%

app.js
0
34
0.0%

Totals

Change from base Build 748559265:
0.01%

Covered Lines:
2030

Relevant Lines:
11585

💛  - Coveralls

will set up a local test with this branch 👍

Yep, works, instantly 🎉  👍 ❤


Build dropdown list option data for Colleges, Major

We need a list, most likely a JSON file with the list of Colleges and Majors:

College of Engineering and Computer Science
College of Sciences
etc.

Also for all majors so users select from a predefined list rather than typing it and generating different formats for same value/typos such as:
aerospace engineering
Aerospace Engineering
Aerospace engineering
aerospace Engineering and so on.
We can get the full list here: http://catalog.ucf.edu/programs/degree-programs

Done with commit 64aceb9f82f2823c46a2e21c9f0f11a0053e7ce2

Great work Sergio!


Images & JavaScript don't load in extension-controlled browser views on Brave

The Dissenter iFrame isn't loading Javascript or Images on Brave.
Dissenter works fine if I open the exact same url in an actual tab. I've tried disabling uMatrix and manually whitelisting dissenter in Site Settings and still nothing.
Using the network inspector shows that the iFrame isn't requesting images or javascript, however even when dissenter is manually whitelisted in Site Settings it doesn't seem to effect the iFrame. https://i.imgur.com/bIe8VHC.png
Since fonts are being blocked I'd have to assume Brave's shields are doing something.
This issue only effects pages/views controlled by the extension, opening the exact same URL in a normal windows works just fine, even with Brave Shields on. https://i.imgur.com/g6x0Tyk.png
I'd assume this probably is a side-effect of Brave's aggressive Shields, or Site Settings effecting extension-controlled popups/views differently.
Gab Thread

Hi @kakolisgay thanks for submitting an issue. I am not experiencing this problem when I give a test on Brave just now. However, that may be due to us having different settings or activated shields...
Given that, would you mind listing here (or screenshotting if you prefer) what type of settings you have within Brave as well as the version number.
Also, the "Gab Thread" link you have heads to a 404.
Looking forward to hearing back and seeing how I can help.

@mgabdev I think gab changed the post id for the thread, fixed it now.
Brave: 0.60.47 Chromium: 72.0.3626.119
Brave Shields:

Site Settings (Dissenter is whitelisted for both):

Site settings aren't exclusive to brave, they're a chromium feature so you may want to test these settings on chromium first.

Hi @kakolisgay, I have discovered a solution. In order to get javascript and images working from within the extension, it is not only necessary to include dissenter.com as a whitelisted website (in order to get the main website working) but to also add the extension's unique url to the whitelist for javascript and image blocking.
In order to find the extension's unique url, you can navigate to the extensions page (e.g. brave://extensions), find the Dissenter Extension, click the "Details" button, scroll down and find "ID".
For example, on my computer the ID is showing up as: hfmlagllaeboigmfkcdlbfooibmknapj. (It very well may be different on your computer).
Once you have that ID, you will then need to navigate to the settings page to edit the javascript and images URL whitelist.
Input the whitelisted url with the following pattern:
chrome-extension://[ID]
For example, in my case, it would be: chrome-extension://hfmlagllaeboigmfkcdlbfooibmknapj
Once I have added that extension URL to the whitelist for both javascript and images, the extension works as intended.
Please let me know if this solution works for you.

@mgabdev Yeah works for me, you might be able to automate this by using Chrome's site permission api or just by writing a help article and pointing users to it if they have javascript disabled and are requesting the extension-specific page.

Also, clicking on external links results in this.

@kakolisgay With the latest release of r9 (https://github.com/gab-ai-inc/gab-dissenter-extension/releases/tag/r9), a .crx file has been circulated. For all other issues, please submit a new issue. Thanks!


[P0] Leaderboards should be shown even if not connected

Blocked by the same issue causing #6

Solved.


Add sorting

Hi!
We use zprint in Polylith to generate and format Leiningen project.clj files.
Do you think it would be possible to add sorting to zprint in a way that is described here:
https://github.com/tengstrand/lein-polylith/issues/17

I could imagine a feature where arbitrary source transformations were supported.  I'd hand a function the structure and it would return a replacement structure.  If that function sorted the structure, then it would give you what you want.  I need to think a bit more on this, and I have some bugs to fix and a couple of other requests to deal with first, but I'll give it some thought and see what I can do.

@tengstrand, I've been looking at this issue, and have done the basic implementation to call out to a function that will allow reordering of the input.  I'm now trying to write the function that will reorder the input.
So I looked into the issue in polylith, and I find the comments there confusing.  I looked at the polylith code, and the way you are using zprint, using zprint-file-str, shouldn't ever change the order of anything.  It will format it differently for sure, but it doesn't change the order.  Until I get this new feature working, then it will change the order.  I just wanted to make that clear -- if someone thinks that zprint is changing the order of things in a project.clj file, they are mistaken.  At least for now.

Hi Kim!
Thank you so much with the help.
Maybe I misunderstood how to use zprint, and if so, I apologise.
The latest news is also that we probably will minimise the development
effort for
the current version of the plugin and instead start working on a total new
version.
It will get rid of the symbolic links and instead have one big project.clj
at the root.
We don't know yet if we will use zprint in this new version, so don't spend
too much
work on this if we are the only users of this feature.
Zprint has worked really well for us so thanks again!
/Joakim Tengstrand
Den ons 19 dec. 2018 kl 22:01 skrev Kim Kinnear<EMAIL_ADDRESS>
@tengstrand https://github.com/tengstrand, I've been looking at this
issue, and have done the basic implementation to call out to a function
that will allow reordering of the input. I'm now trying to write the
function that will reorder the input.
So I looked into the issue in polylith, and I find the comments there
confusing. I looked at the polylith code, and the way you are using zprint,
using zprint-file-str, shouldn't ever change the order of anything. It
will format it differently for sure, but it doesn't change the order. Until
I get this new feature working, then it will change the order. I just
wanted to make that clear -- if someone thinks that zprint is changing the
order of things in a project.clj file, they are mistaken. At least for
now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kkinnear/zprint/issues/76#issuecomment-448742472, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAmh6BAE6zIZmTMf7Ceb8gJZVNsZLZyDks5u6qkpgaJpZM4YmMkQ
.


Transform V2G scores using percent_rank rather than deciles

It will be useful to have more fine-grained scores for ML. This will help us break ties. We can still display deciles (or centiles) in the UI if we decide to. I think the percent_rank spark function should achieve what we need.
http://spark.apache.org/docs/latest/api/python/pyspark.sql.html?highlight=percent_rank#pyspark.sql.functions.percent_rank

I used rank/count(window) as a *_score_q


NTR nascent focal adhesion

NTR nascent focal adhesion
I'm not sure if this should be a GO term? This would be used for proteins that localise to focal adhesions as the they are assembled, but they are not part of mature focal adhesions?
"THSD1 is a novel nascent adhesion protein that co-localizes with several known markers such as FAK, talin, and vinculin, but not with mature adhesion marker zyxin. Furthermore, THSD1 forms a multimeric protein complex with FAK/talin/vinculin, wherein THSD1 promotes talin binding to FAK but not to vinculin, a key step in nascent adhesion assembly. Accordingly, THSD1 promotes mature adhesion formation and cell attachment, "
PMID:29069646

Yeah that's fine. I assumed we wouldn't need this term but wasn't completely sure so thought I'd check. I think there're at least some 'pre-' terms in GO e.g. pre-ribosome - but I think the preribosome itself might have some catalytic activity which I guess could be the reason for that term? Just wanted to double-check!

GO:0030684


Provide design for PATCH operation models from Cadl

The August MVP target service has PATCH operations. We need to determine whether we will provide special model support for PATCH operations.
This may have already been decided in https://github.com/Azure/azure-sdk/issues/3520#issuecomment-1061373039.
There is a relevant document from @JeffreyRichter as well.

Can we have models that are used in both create and update, but that allow you to set the property for create but not for update?

Yes. PACTH can be used for both create and update; POST/PUT isn't even necessary for service to support at all. So, the 1st PATCH creates and further PATCHes update. We tell services that if a PATCH body includes a property that is "create-only" to accept it if its value matches what's already there (the retry scenario) else to fail the request with a 400.

Jeffrey Richterhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fjeffrichter%2F&data=04|01|jeffreyr%40microsoft.com|e7fceff8355e42b58e9808d9984c1c42|72f988bf86f141af91ab2d7cd011db47|1|0|637708274948105702|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=0%2FoNrFB9XBjrOL6%2BhAKPjBjo3v64zUKh3iCT4iOQEaU%3D&reserved=0 (see Architecting Distributed Cloud Appshttps://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Faka.ms%2FRichterCloudApps&data=04|01|jeffreyr%40microsoft.com|e7fceff8355e42b58e9808d9984c1c42|72f988bf86f141af91ab2d7cd011db47|1|0|637708274948115662|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=hi5sNLwenwmaeAJbOD%2BDqypy0S3GAJc2JSXT4zx%2FOfE%3D&reserved=0 & Designing HTTP APIshttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D9Ng00IlBCtw%26list%3DPL9XzOCngAkqs4m0XdULJu_78nM3Ok3Q65%26index%3D1&data=04|01|jeffreyr%40microsoft.com|e7fceff8355e42b58e9808d9984c1c42|72f988bf86f141af91ab2d7cd011db47|1|0|637708274948115662|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=yC7ePBu%2FXF7ZqU%2BinXidIFzPnztL0%2BcpiIVqGJkN2qk%3D&reserved=0)

Azure API Stewardship: Guidelineshttps://aka.ms/azapi/guidance  |  Review process https://aka.ms/azapi  |  Recordingshttps://aka.ms/azapi/teams  |  Calendarhttps://aka.ms/azapi/calendar  |  Join the Interest Grouphttps://aka.ms/azapi/join-interest-group
Azure SDK Architecture: Guidelineshttps://azure.github.io/azure-sdk/general_introduction.html  |  Review process https://aka.ms/azsdk/archreview/process  |  Recordingshttps://aka.ms/azsdk/archreview/recordings  |  Calendarhttps://aka.ms/azsdk/archreview/calendar  |  Join the Interest Grouphttps://aka.ms/azsdk/archreview/join-interest-group

From: Anne Thompson @.>
Sent: Thursday, August 4, 2022 12:51:01 PM
To: Azure/autorest.csharp @.>
Cc: Jeffrey Richter @.>; Mention @.>
Subject: Re: [Azure/autorest.csharp] Provide design for PATCH operation models from Cadl (Issue #2492)

Can we have models that are used in both create and update, but that allow you to set the property for create but not for update?

—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fautorest.csharp%2Fissues%2F2492%23issuecomment-1205702165&data=05|01|jeffreyr%40microsoft.com|b64bbccde081467a76c808da7652a90a|72f988bf86f141af91ab2d7cd011db47|1|0|637952394640444818|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=9Ir4a%2F4JGD0ZjmQP5rF0VGxaMyiehlm1t1VIcEtm6Ds%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAARLJP6XOH3CZHEZV5ENROLVXQNKLANCNFSM54W6D6MA&data=05|01|jeffreyr%40microsoft.com|b64bbccde081467a76c808da7652a90a|72f988bf86f141af91ab2d7cd011db47|1|0|637952394640444818|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=wsMUAW3D3dAuJkkUnwAQu8voqzv%2FG34y5tp1wEzvdmc%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

CADL is defining the merge-patch body in https://github.com/Azure/cadl-azure/blob/main/packages/cadl-azure-core/lib/operations.cadl#L49-L64
Foundations.ResourceCreateOrUpdateModel applies to the resource type, inside the definition, CADL  remove  properties with read visibility and make all the other required properties as optional.
https://github.com/Azure/cadl-azure/blob/main/packages/cadl-azure-core/lib/foundations.cadl#L123-L125
TypeScript plan to generate the model type as
interface TResourceMergeAndPatch = Partial<Exclude<TResource, "">>;
interface TResourcePatch = Exclude<TResource, "">;
We shall decide how we could handle this case in dotnet.

Move out of GA as this is not high priority for now

We will use DynamicData to implement patch operation and operation with merge-patch content-type. DynamicData will be supported in Azure.Core end of June (maybe). We will delay supporting patch operation and merge-patch until DynamicData is released in Azure.Core.

I found a couple of patch operations in another service (LoadTest):  https://github.com/Azure/azure-rest-api-specs/blob/feature/loadtesting/specification/loadtestservice/routes.tsp
Though we could still generate protocal methods for the user but that may impact the usablilty, as this is a missing feature,  I hope the Patch support could be ready ASAP.
cc @mikekistler  @m-nash

ContentSafety also contains the patch API. Currently, we only generate protocal methods for them.
https://github.com/Azure/autorest.csharp/issues/3344

@lirenhe can you write up what code a customer would have to do for various patching scenarios to work with protocol methods?  I think this would help everyone understand our current state and how good or bad it currently is.

@lirenhe can you write up what code a customer would have to do for various patching scenarios to work with protocol methods? I think this would help everyone understand our current state and how good or bad it currently is.

I am not the expert in this area, but below are what are service teams shows how to use the protocal patch operation:
https://github.com/Azure/azure-sdk-for-net/blob/8962d4f567cc7acc60cda3308766cdfef2e69b8c/sdk/contentsafety/Azure.AI.ContentSafety/tests/Samples/Sample3_ManageBlocklist.cs#L34
https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/loadtestservice/Azure.Developer.LoadTesting/samples/Sample3_CreateOrUpdateAppComponent.md

Thank you for these, @lirenhe!
Since DynamicData has released, I'd like to start sketching out this design now.  It would be good for me to get a holistic understanding of how PATCH operations show up in our generated libraries.

Are these two libraries - Azure.AI.ContentSafety and Azure.Developer.LoadTesting the only two we're currently tracking that have PATCH operations, or are there others?
Are they primarily used for CreateOrUpdate operations, or do they show up in any other ways?
Is our goal to generate convenience methods for these, or is the expectation that they will continue to be protocol-only?

Thank you for these, @lirenhe!
Since DynamicData has released, I'd like to start sketching out this design now. It would be good for me to get a holistic understanding of how PATCH operations show up in our generated libraries.

Are these two libraries - Azure.AI.ContentSafety and Azure.Developer.LoadTesting the only two we're currently tracking that have PATCH operations, or are there others?
Are they primarily used for CreateOrUpdate operations, or do they show up in any other ways?
Is our goal to generate convenience methods for these, or is the expectation that they will continue to be protocol-only?

Thanks @annelo-msft  to follow up on this.

Yes, those are the 2 libraries we found that use PATCH operations.  I am not aware of other service using this now.

As I know, they are used only in CreateOrUpdate operations, so I think we could just support 'application/merge-patch+json'.
Not sure whether we should also support 'application/json-patch+json' today.  @m-nash?

Our goal is to generate convenience methods for PATCH operation.   Today, we asked service team to use protocol and do not do any customization mainly because we don't know how the convenience method would look like.

The API Stewardship Board discourages 'application/json-patch+json'. There are some teams that support it so it should be "possible" but not "easy" -- so that teams must make a conscious choice to use it.
+1 on convenience methods for PATCH.

Scenario 1: normal patch operation with all the properties from required to optional
model Test {
  required: string;
  optional?: string;
}
@patch op method(@body body: Test): void;

Expected: we could send any combination of properties like:
var test = new Test();
test.Optional = "a"; // Not set required property
var response = someClass.Method(test);

Scenario 2: Same model in different places
model Test {
  required: string;
  optional?: string;
}
@patch op patch(@body body: Test): Test;
@post op post(@body body: Test): void;

var response = someClass.patch(new Test() {Optional = "a“}); // if return `{optional: "b"}` should fail because it should contain `required`
var response = someClass.post(new Test() {Optional = "a“}); // Should fail because it should contain `required`

Thanks for this use-case, @pshao25!  Can you help me understand what a corresponding API is in an existing service library?  It will help me understand the use case better if I can understand where a service is using this.

That is a great example, thank you @pshao25!  I will try to get back to you soon with a proposal for how we can address it.

Hi @pshao25, I have a clarifying question - I am looking at the model definition for TextBlocklist in the models file here: https://github.com/Azure/azure-rest-api-specs/blob/14d24d17491d8c2bde24532cb8cc2d663c0ffd9f/specification/cognitiveservices/ContentSafety/models.tsp#L134-L147
How can you tell that a property of the model is required for GET and not for PATCH?
From their REST API documents, it looks like blocklistName is needed by URI, so should be taken by the model constructor to create the request, but not be written to the body by the serialize operation.  Specifically, I am suggesting that the client's service methods would have the following signatures:
public virtual Response<TextBlocklist> CreateOrUpdateTextBlocklist(TextBlocklist blocklist, CancellationToken cancellationToken = default);
public virtual Response CreateOrUpdateTextBlocklist(string blocklistName, RequestContent content, RequestContext context = null);
public virtual Task<Response<TextBlocklist>> CreateOrUpdateTextBlocklistAsync(TextBlocklist blocklist, CancellationToken cancellationToken = default);
public virtual Task<Response> CreateOrUpdateTextBlocklistAsync(string blocklistName, RequestContent content, RequestContext context = null);

Do you know if there are any cases where we have required properties that aren't used in the URI?

@annelo-msft I'm not sure if that is the correct signature. I'm contacting typespec team to figure out some expected behavior about this scenario. Anyway the signature is not my emphasis in this issue.

How can you tell that a property of the model is required for GET and not for PATCH?

Because when a model is used in a PATCH operation, all of its properties automatically become optional, right? You could set any part of them and leave any required property unset. That is PATCH!

Do you know if there are any cases where we have required properties that aren't used in the URI?

I haven't find one. Once I got one, I'll let you know. But I believe it is very easy to understand this case. For example,
@doc("Text Blocklist.")
@resource("text/blocklists")
model TextBlocklist {
  @key("blocklistName")
  blocklistName: string;
  description?: string;
  count: int;
}
createOrUpdateTextBlocklist is ResourceCreateOrUpdate<TextBlocklist>;

The added count could leave empty in a PATCH body like {"description": "d"} so that only description is updated. Could you update your example with this "though made up, very common I think" model?
And I just realized in this case we cannot set count to null because a required property cannot be deleted.

duplicate with https://github.com/Azure/autorest.csharp/issues/3648

We will track in #3648


bug/feature?: Lualine buffer line and status line not transparent

Did you check docs and existing issues?

[X] I have read all the tokyonight.nvim docs
[X] I have searched the existing issues of tokyonight.nvim
[X] I have searched the exsiting issues of plugins related to this issue

Neovim version (nvim -v)
0.8.2 Release build
Operating system/version
Ubuntu 22.04.1 LTS
Describe the bug
I am not sure if this is a bug or a missing feature but when setting the theme's transparency = true option my lualine backgrounds are still opaque. I have configured lualine to use the tokyonight theme.
https://github.com/nvim-lualine/lualine.nvim/issues/813#issuecomment-1269229500 leads me to believe it is not implemented. Also looking at https://github.com/folke/tokyonight.nvim/blob/main/lua/lualine/themes/tokyonight.lua#L7 makes me believe the bg is hardcoded to colors.blue. Would it be easy to get that actual background color (which is set to Nil when transparency = true I suppose?) from tokyonight.colors?

Steps To Reproduce

Install tokyonight and lualine
configure tokyonight with transparency = true
configure lualine to use tokyonight theme
See if lualine background matches provided screenshot.

Expected Behavior
Lualine background should be transparent when tokyonights transparency = true setting is enabled.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")
-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "nvim-lualine/lualine.nvim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

require('lualine').setup {
    options = {
        theme = 'tokyonight'
    }
}

require('tokyonight').setup({
    transparent = true
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Same thing with neo-tree

https://www.lazyvim.org/configuration/recipes#make-tokyonight-transparent


fix: Press enter key in Survey response page

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/46814
PROPOSAL: https://github.com/Expensify/App/issues/46814#issuecomment-2269329280
Tests

Go to Settings > Switch to Expensify Classic
Select an option in the Before you Go page and press enter
Verify that we go to the next step
On this page, enter some text and press enter key from keyboard
Verify that: The user should go to the next page

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

Offline tests

QA Steps

Go to Settings > Switch to Expensify Classic
Select an option in the Before you Go page and press enter
Verify that we go to the next step
On this page, enter some text and press enter key from keyboard
Verify that: The user should go to the next page

[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 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)
[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 UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or 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 and/or tagged @Expensify/design 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/user-attachments/assets/becfa928-a32c-486e-8dd1-0337e6eee00f

Android: mWeb Chrome

https://github.com/user-attachments/assets/4fb05c24-8227-4378-a3e3-e7e1466d92bf

iOS: Native

https://github.com/user-attachments/assets/becfa928-a32c-486e-8dd1-0337e6eee00f

iOS: mWeb Safari

https://github.com/user-attachments/assets/073890a3-0716-465f-9394-145033907836

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/379780e6-7253-4fd9-9506-d31253285237

MacOS: Desktop

https://github.com/user-attachments/assets/a87411d4-9961-43cd-9151-d12ae0e9ff54

FYI I believe this was deployed to prod yesterday, from this checklist - https://github.com/Expensify/App/issues/47219


🦟[Bug Report] SyncProgressHeaderView.init(coder:)

Describe the bug

Problem
The user attempts to sync .  It implies the file is missing . But it has been there for a while.
Many of the issues are happening in the older iPhone 12 models
To Reproduce
Steps to reproduce the behavior:

Create seed phrase
Sync
App crashes

Screenshots

Xcode Organizer Crash Report

Observed Environment

OS version [e.g. iOS 13.0]: viOS 16.2.0 - 17.4.1
Litewallet Version [e.g. v3.4.0]:Litewallet 3.13.1 (240322.0)
Device model:[e.g. iPhone 11]: iPhone 12, iPhone SE (2nd generation)

Additional context or information

Crashlytics link: https://console.firebase.google.com/project/litewallet-beta/crashlytics/app/ios:com.litecoin.loafwallet/issues/fecabb7c7120dca59920bd7a1918c710?time=last-seven-days&types=crash&sessionEventKey=104d0a9964d84a01bd7a331f935a84ae_1945172573741524228

resolved


envoy.reloadable_features.test_feature_true deprecation

#6134 ( runtime: codifying runtime guarded features) introduced a runtime guarded feature. This issue tracks source code cleanup.

Just doing a full run of (hacked) #7493 before landing


CPP: Add syntax examples to QLDoc in Class.qll.

This is my first PR for https://jira.semmle.com/browse/CPP-407 ('Add concrete syntax examples to QLDoc of all AST leaf classes').  I highly encourage discussion and suggestions on what I've done here - whatever we settle on will become a template for how we do this everywhere else (in CPP).
I'm also coming to realize that 'leaf classes' doesn't mean as much as I thought it did, as very often we have a QL class A with child classes B and C extending it, but the union of B and C doesn't cover all (very often not even most) instances of A.  Thus I feel a need to document A in addition to B and C, and the scope of this task increases.  Please discuss which classes you think should and shouldn't get examples (though I probably won't delete any that I've already written).

The QLDoc for ClassDerivation could use some backticks and consistent brace placement.

Done.

class Interface is not a standard C++ thing and doesn't even seem to be in use. I'm fine with not putting examples on such classes, and you could even take this opportunity to deprecate some of them.

I've deprecated Interface.

I believe this is ready to merge.

Rebased, merge fixed.


Error: Uncaught (in promise): TypeError: Cannot read property 'total' of undefined

After a successful login nothing is shown and in the chrome console there is an error:
Uncaught (in promise): TypeError: Cannot read property 'total' of undefined
Please help...

Same issue. And yes, I am using a centos box. Can you help? @wmtech-1

I installed the pdns using the mariadb packages and it worked. Using MySQL doesn't, too many packages missing and was a pain trying to figure out which ones were needed.

I think no tables are created by pdnsmanager after setup.. I try to make the installation manaual and try again then

It seems this product is unsupported unfortunately.
It cannot be installed at CentOS 7 machines. Debian works.


Lossless issue file not found in version 0.2.9 or newer

Segy2mdio conversion works properly with lossless but when lossy library is added it says file is not found.
Installed using pip install multidimio[lossy]
It is looking for a file "/metadata/live_mask/0/0/0"

@markspec would you be able to take a look at this?


⚠ Turnos 24x7 has degraded performance

In a0e99d9, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1002 ms

Resolved: Turnos 24x7 performance has improved in dd81e8e.


Writable AzInstallFolder requirement breaks self-hosted runner

The following code was recently added to Utils.getDefaultAzInstallFolder() via PR #91:
        ...

        if(Utils.isFolderExistAndWritable(defaultAzInstallFolder)){
            return defaultAzInstallFolder;
        }
        if(Utils.isFolderExistAndWritable(process.env.RUNNER_TOOL_CACHE)){
            return process.env.RUNNER_TOOL_CACHE;
        }
        return process.cwd();

It is difficult to know for certain, but I believe this new "writable" requirement is causing my self-hosted, custom runners to not find the "latest" installed Az module. What I can say for certain, is that<EMAIL_ADDRESS>works as expected, but 1.4.0 fails to find any Az modules (Get-Module -Name Az -ListAvailable returns nothing).
The command we use to load the Az module on the runner image is Save-Module -Path /usr/share/az_7.1.0 -Name az -RequiredVersion 7.1.0 -Force, which is exactly where the azure/powershell action expects it to be. So, the only explanation I can come up with is /usr/share/ is not writable on my runners.
Any chance we can remove the "writeable" requirement? It should not be necessary.
Details
Workflow invocation:
  my_job:
    runs-on:
      - self-hosted
    steps:
      - uses: actions/checkout@v3
      - uses: azure/powershell@v1
        with:
          azPSVersion: latest
          inlineScript: ./scripts/foo.ps1

Self hosted runner details (very briefly):
FROM summerwind/actions-runner:ubuntu-20.04
.
.
.
# Cache the Azure Powershell modules. Based on https://github.com/actions/virtual-environments/blob/d3de894568d2662083e3515b884c86e9326ea255/images/linux/scripts/installers/Install-AzureModules.ps1#L18
# Use the [Azure/powershell@v1](https://github.com/Azure/powershell/tree/v1) action with `azPSVersion: latest` to activate it.
RUN sudo pwsh -c 'Save-Module -Path /usr/share/az_7.1.0 -Name az -RequiredVersion 7.1.0 -Force'
.
.
.

Hi @belcher-rok, sorry for your inconvenience.
First, please use v1.3.0 for a workaround.
As you know, before the latest release, Azure PowerShell action do not officially support self-hosted runners.
As I understand, you're using a docker container for a self-hosted runner. And you want to use Az 7.1.0.  Is that right?
If so, could you replace the step  Save-Module -Path /usr/share/az_7.1.0 -Name az -RequiredVersion 7.1.0 -Force with "Install-Module -Name Az"? Just FYI, you're using a very old version of Az and it's insecure. Could you please upgrade it to the latest one?
We're trying to support all self-hosted runners and that's why I can't apply the required change from you.
If you can't update the docker image used for self-hosted runners, or you can't apply the Az version in Azure PowerShell Action, could you provide more information about your workflow file, the failed debug log and the details about your docker image? Like its structure and how you configure it as a self-hosted runner.

Hi @belcher-rok, sorry for your inconvenience. First, please use v1.3.0 for a workaround.
As you know, before the latest release, Azure PowerShell action does not officially support self-hosted runners. As I understand, you're using a docker container for a self-hosted runner. And you want to use Az 7.1.0. Is that right? If so, could you replace the step Save-Module -Path /usr/share/az_7.1.0 -Name az -RequiredVersion 7.1.0 -Force with Install-Module -Name Az? Just FYI, you're using a very old version of Az and it's insecure. Could you please upgrade it to the latest one?

Hi @YanaXu, Thanks for the quick reply.
Your understanding is correct. I've modified our runner image to Install-Module -Name Az -Scope AllUsers -Force. This avoids the error by having at least one version of Az always available (also the latest version).
Can you explain why getDefaultAzInstallFolder will not return a non-writable folder? I suppose it makes sense in the cases where the Action must install a version of Az, but in my case the version of Az I wanted was already available (saved in a non-writable folder). Perhaps getDefaultAzInstallFolder is doing too much? Maybe it should just return the default location. If the Action decides it needs to install Az, then you call getAzInstallFolder which contains the code to fallback to a writable location. Would that work?

... I think it only worked when you used latest Azure PowerShell version. Right?

I never tried with anything other than latest, but I believe you are correct.

Now you can use other Azure PowerShell versions for Azure PowerShell Action.

...except any saved versions. The new Action requires my runners to have Az pre-installed, and it won't use any saved versions. This is okay for my organization since we only need a compatible version. If we ever do need a specific version, the Action will/should download it for us, however it comes at a cost -- adding ~45 seconds and ~750MB of ingress charges to every workflow job using a specific Az version. Again, this doesn't affect me right now, so I'll consider this issue resolved.
Thanks for your help @YanaXu.


[QUESTION]:

Question sudo password
Is there a way to get rid of the sudo password requirement? Having to enter the password every five minutes is the only thing keeping me from enjoying this distro.

edit visudo file using nano or vim like sudo EDITOR=nano visudo and in last line add
username ALL=(ALL) NOPASSWD: ALL  change username to your username and save it
you can just google small things like this if you got big problem join Athena discord and seek help their 🙂

Question sudo password
Is there a way to get rid of the sudo password requirement? Having to enter the password every five minutes is the only thing keeping me from enjoying this distro.

edit visudo file using nano or vim like sudo EDITOR=nano visudo and in last line add
username ALL=(ALL) NOPASSWD: ALL change username to your username and save it
you can just google small things like this if you got big problem join Athena discord and seek help their 🙂

Awesome thank you! Yeah i couldn't find anything on google  and it was bothering me a lot because it is hands down the sleekest OS I've ever used.


Ajax server side concerns and folder structure

I really like this gem. However, i'm starting to use rails_ujs and have a problem...
Updating from a form_with via an Ajax data remote autotriggers a call to update.js.erb.
As the step views are in a single folder I cannot see how to have different update.js.erbs for each step. (see https://guides.rubyonrails.org/working_with_javascript_in_rails.html#server-side-concerns)
Perhaps there a quick way to change from having 'step_one.html.erb', 'step_two.html.erb', etc. to 'step_one/show.html.erb', 'step_two/show.html.erb'? or maybe something else?

with careful naming of element ids so that they don't clash I can probably use the same update.js.erb for every page in the wizard. Not ideal, but works for now.

Perhaps there a quick way to change from having 'step_one.html.erb', 'step_two.html.erb', etc. to 'step_one/show.html.erb', 'step_two/show.html.erb'? or maybe something else?

There's probably a method you could monkey patch to accomplish that.

just solved it.... 'update.js.erb' is a the default render for format.js, but you can of course specify whatever you like.
def update
  .....
  respond_to do |format|
      format.html { render_wizard @project }
      format.js { render "#{step}"}
    end

will autorun "/[wizard name]/[step name].js.erb


API for retrieving these

Is there any API for retrieving this mapping between resource provider namespace and Azure service?
If not - can we please implement this (e.g. adding it to the Azure Resource Graph)

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

ID: 16b4bb50-25ad-a3c6-f42a-84f33c84e362
Version Independent ID: 6188226a-1f56-2a0a-fc57-4b8616b5fe32
Content: Resource providers by Azure services - Azure Resource Manager
Content Source: articles/azure-resource-manager/management/azure-services-resource-providers.md
Service: azure-resource-manager
Sub-service: management
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

Thanks for your comment. We are actively investigating and will get back to you shortly. Thanks for your patience.

@RicardoNiepel - Clarify: Are you trying to map something like "Microsoft.Compute" to /.../Microsoft.Compute/virtualMachine ?
It is actually fairly straight forward:

You need the following bits of information to create an "ARM URI":

Subscription Id
Resource Group name or Guid -- would be optional for some things
Provider namespace -- some things may have child providers, consider the entire tree as one element.
Type of resource under the provider (eg: virtualMachines under Microsoft.Compute).

Now put the whole thing in this format:
/subscriptions/[subscriptionId]/resourceGroups/[resourceGroupId]/providers/[providerNamespace]/type/[typeName]/[operationName]

Attach the API hostname to the start of that:
https://management.azure.com[stuff from point 2 above]

There you get the full endpoint:
https://management.azure.com/subscriptions/[subscriptionId]/resourceGroups/[resourceGroupId]/providers/[providerNamespace]/type/[typeName]/[operationName]
What is missing is the mandatory api-version parameter that all endpoints expect as a query string parameter. These, you can retrieve too from this service (docs link):
https://docs.microsoft.com/en-us/rest/api/resources/providers/get
The resourceTypes structure in the result is an array of specific types, find your specific type and then look at the apiVersions (this is a list of strings).
Need more help?

@sujayvsarma
I'm looking for a field in the Azure Resource Graph or an API for getting the friendly Azure Service name for each resource provider.
E.g. "Azure Database for MariaDB" for "Microsoft.DBforMariaDB"
The API you mentioning above does not give that.
Essentially I'm looking for a way retreiving the content of Match resource provider to service Docs.
Or more complete
An API getting a list of all Azure Service with their categories as under https://azure.microsoft.com/en-us/services/ and a resource provider mapping to these.

@RicardoNiepel
There is no such API and I have searched high and low for such a thing too. I came upon that exact same document as well. Since that list is static, you could create a static lookup list using Json or whatever is suitable for your purpose.

@RicardoNiepel - sorry there is not an API for that, which is why we published the list you referenced. Your best option for requesting that operation is to add an item in the feedback forum.

#please-close


added

Related Issue
Closes #748
Description
I haave added {
"productName": "Html-Css",
"category": "web",
"image": "https://contentstatic.techgig.com/thumb/msid-90265114,width-460,resizemode-4/How-CSS-JavaScript-HTML-make-the-best-combo-for-frontend-development.jpg?10356",
"link": "https://html-css-js.com/css/generator/",
"description": "It provides amazing and easy ui to convert design into frontend codes."
}, in the products part
Screenshots

Checklist

[x] My code adheres to the established style guidelines of the project.
[x] I have included comments in areas that may be difficult to understand.
[x] My changes have not introduced any new warnings.
[x] I have conducted a self-review of my code.
[x] Im gssoc contributor

@JasonDsouza212 pls review

done @JasonDsouza212

do edit the title of the PR such that it resembles with changes you made eg:- Added html-css-generator something like this.
for future contributions do remember to give the appropriate commit message

@JasonDsouza212 pls merge


(chocolatey-windowsupdate.extension) KB install throws warnings/errors on php 7.1 install if KB already installed

Problem description
During the install of PHP 7.1 on Win 7, I get the following notices about warnings/error/failures due to an already installed KB
Installing KB3035131...
WARNING: Update KB3035131 installation failed with code 0x00240006 (WU_S_ALREADY_INSTALLED: The update to be installed i
s already installed on the system).
WARNING: More details may be found in the installation log (C:\Users\walt\AppData\Local\Temp\chocolatey\KB3035131.Instal
l.evt) or the system CBS log (C:\Windows\Logs\CBS\CBS.log).
ERROR: Update KB3035131 installation failed with code 0x00240006 (WU_S_ALREADY_INSTALLED: The update to be installed is
already installed on the system).
The install of kb3035131 was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\KB3035131\Tools\ChocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 1/2 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - kb3035131 (exited 2359302) - Error while running 'C:\ProgramData\chocolatey\lib\KB3035131\Tools\ChocolateyInstall.ps1'.
 See log for details.

Expected result
The KB install should skip if the KB is already installed.
Actual result
nonrelevant Warning/Error/failure notices

This is actually an issue with the chocolatey-windowsupdate.extension, where the actual installation logic resides.
As I cannot reproduce the problem on my test Win7 machine, I'd like you to provide a few details:

which updates (KBs) are installed on that system? Please paste the output of the following PowerShell statement:
Get-HotFix | Format-Table -AutoSize

what is the version of Chocolatey? (choco --version)

if possible, could you provide your Chocolatey log file (C:\ProgramData\Chocolatey\logs\chocolatey.log), for example as as gist?

Chocolatey v0.10.3
Chocolatey log file gist

https://gist.github.com/photodude/28629363c6c469274ce694b9c014ea83

kb gist

https://gist.github.com/photodude/0480ba3f074574df245714b9fc7b4a46

Thanks! It looks like one of the updates you have installed has superseded KB3035131. I've been able to reproduce it and a fix is about to be released.

https://chocolatey.org/packages/chocolatey-windowsupdate.extension/1.0.2

Awesome, thank you.

@photodude @jberezanski going to go ahead and close this out, as looks like it is resolved.

I intended to wait for the package to pass moderation and perform the final test, but okay, no need to keep this open, I guess.

@jberezanski package have been approved, I also set it as a trusted package.

Thanks!


Add bash script for internet failures scenario

Hi everyone,
In this PR you can find a proposition for internet failures scenario. This script bash will then be added on the main rpi (using pyro-sys-setup) and will be put in a cron job so that in it run every 15 minutes for instance (the number here is chosen arbitrarily, if you have better ideas, feel free to tell me).
The flow is the following:
Ping internet:
	- if success:
		Ping vpn:
		- if success: ok exit
		- if failure: restart vpn

	- if failure: restart of network interfaces (all interfaces because I don't know which internet the 4G modem will take)
sleep 60 sec
Ping internet again (to make sure that we have internet):
	- if success: ok exit
	- if failure: reboot

What do you think ?

Thanks @chloeskt, looks good to me! I guess there is no easy way to add a test? One suggestion is to call it check_internet_connection and add the description above to the file.

Hi @chloeskt , thanks for the PR, Just one question. If there is a problem, your script will reboot the pizero. What happens after that? How do you restart the runner? Shouldn't this reboot be managed by the pi central to restart the pizero afterwards ?

Hi @chloeskt , thanks for the PR, Just one question. If there is a problem, your script will reboot the pizero. What happens after that? How do you restart the runner? Shouldn't this reboot be managed by the pi central to restart the pizero afterwards ?

Hello Mateo ! This script bash will only be run on the main rpis since they are the ones with the vpn and the internet connexion not the rpi with camera. If the main rpi reboots, the monitor script will be launch again as it is in a cron job starting on reboot. The rpi with camera are not affected by this bash script.

Thanks @chloeskt, looks good to me! I guess there is no easy way to add a test? One suggestion is to call it check_internet_connection and add the description above to the file.

Indeed no way to test on github. I've tested it a couple of times on my rpi of course, seemed to work fine. Also I integrated your suggestions, thanks !

Hi @chloeskt , thanks for the PR, Just one question. If there is a problem, your script will reboot the pizero. What happens after that? How do you restart the runner? Shouldn't this reboot be managed by the pi central to restart the pizero afterwards ?

Hello Mateo ! This script bash will only be run on the main rpis since they are the ones with the vpn and the internet connection not the rpi with camera. If the main rpi reboots, the monitor script will be launch again as it is in a cron job starting on reboot. The rpi with camera are not affected by this bash script.

ok sorry I misunderstood. It's perfect then.


How to change the emoji size How should CSS be written?

Sorry, I want to change the size of the emoji but I don't know how to write CSS😭, is there an example of how to write CSS?

I had the same issue, so I wrote the following .css snippet.
root {
  --reserved-size: 1.5em;
  --content-size: 1.5em;
}

.isc-icon.isc-img-icon {
  height: var(--reserved-size);
  width: var(--reserved-size);
}

.isc-icon.isc-img-icon > img {
  width: var(--content-size);
  height: var(--content-size);
  max-width: var(--content-size);
  max-height: var(--content-size);
}

.isc-icon.isc-svg-icon {
  height: var(--reserved-size);
  width: var(--reserved-size);
}

.isc-icon.isc-svg-icon > svg {
  width: var(--content-size);
  height: var(--content-size);
  max-width: var(--content-size);
  max-height: var(--content-size);
}

The 'reserved-size' variable is for how much space the icon object will take up in the text, while the 'content-size' variable is for how much space the image will take up. Currently this snippet is set to change the icon size to 1.5 times the line size, this way it will scale with the text size. To change the size of the icons simply play around with the variables at the very top. This snippet only affects the icons in the normal text, not in the headers.


Geotag in the video file

Tell me, where does librephotos get the location in the video files? From photos adjacent by date and time?

Usually this is EXIF data within the file, which gives us the coordinate. For reverse geocoding aka coordinates to place names we use a reverse geocoding provider, which can be selected in the admin panel.

But video files (mp4) don’t contain a geotag?


update useHandleText using the one in the interface and use it there too

the hook useHandleText in core components doesnt handle offers that do not expire, whereas the same one in the interface does handle that
update the one in CC with the logic of the one in the interface and delete the hook in the interface

invalid date on offers without expiration in the cards


Add subjects that actions can be performed on

As I understand the documentation, with PowerArgs you can currently implement these two kinds of CLI:

myApp -some "arg"
myApp someAction -some "arg"

But some CLIs have another "level", which is subjects. For example the Docker CLI:

docker container ls -a
docker image ls -a
docker container run --name some-redis -d redis

Where docker is the application, container / image the subject and ls / run etc. the action, with actions belonging to the subject and with arguments only applying to the specific action.
Is this possible with PowerArgs? If not, I think this might be a powerful addition for complex CLIs.

Yes you can.  See the calculator example on the main readme of the project.

The usage example for the calculator example is Calculator.exe add -Value1 1 -Value2 5, which is app action -param, not app subject action -param. Or did I misunderstand the example?


Meta: address all current content: correction issues

this meta issue address all current content: correction issues
planned commits:

[ ] Correction: Change Maven config example so as not to overwrite default repository name (fixes https://github.com/crate/crate-jdbc/issues/333)

closing this as a part of my board cleanup. there is only one subtask so no need for a meta issue really. I have assigned the subtask to @infoverload as it relates to the client libraries (integrations)


Avoid [] for external_animation_library import option

Some uses of operator[] were causing "rest_pose/external_animation_library": null to be added to the .import file.
Addresses the user-facing concern of issue #95461 but not the underlying problem that .import file is not meant to be written during an import.
I believe this issue is only cosmetic, and does not need to be rushed in for 4.3

Thanks!


Installation pyaff4 - update wiki guide

Working on Windows 10 with Python 3.9 (64bit)
When following your guide for installing pyaff4, one requirement, namely fastchunking, fails to install with pip, causing pyaff4 not to be installed.
The solution for me was:

downloading it here: https://pypi.org/project/fastchunking/#files
unzipping
python setup.py build and python setup.py install
finally pip install pyaff4-0.31-yk.zip

This worked for me as well on Windows 10/ Python 3.9 64bit, I had issues with installing prior

Thanks for providing a fix. I will update the guide accordingly.

I have raised an issue here, hopefully they can fix this, so we don't have to manually install.
https://github.com/netleibi/fastchunking/issues/6

Added to wiki guide


Accept any character as delimiter/separator

Currently, RegExp special characters are problematic (( or *).
This PR escapes RegExp special characters so they can be used as delimiters and/or separators.
When using ( as a separator, this RegExp will be generated: \n|\r|(|" which is an invalid RegExp, throwing an error. With this PR, when using a parenthesis, this RegExp will be generated: \n|\r|\(|" (Escaping the parenthesis) which is valid.

The global RegEx prototype is already patched by this lib with an escape function.
RegExp.escape = function (s) {
  return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};

It should already cover escaping every RegEx special char when they're defined as either a delimiter/separator including the ones you mentioned. As proofs I have included some additional tests that check these specific values in c09811c834316202a83a8e0f7dd54c6ff8cc07c5.


Refactor relation between Spotify and Social Medias

I fixed a minor typo in README (Vidoe link was broken too).
I created a abstract class called Social (it can be called SocialMedia too, but i preferred this) which has an update method that should update bio or status of social media with given Music.
Then Skype should inherit from Social and implement update method easily.
I changed monitor_playing method return value to generator and handle updating social medias on main of application

Nice 😁


[Question] VersionConflict

Dear Dr. Jaeger,
it is wonderful project, I have some questions:

I would like to try with my own dataset and already build the docker container. however when I run nndet_prep i got the version conflict error. May I ask how can i address this issue?
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (packaging 20.4 (/opt/conda/lib/python3.8/site-packages), Requirement.parse('packaging>20.9'), {'shap'})

For research purpose, would the MedicalDetection Toolkit still can be used? Thank you so much.

Dear @EvelyneCalista ,
Sorry for the delay, I was on vacation. I pushed an update to the requirements of the dockerfile which updates the PyTorch Version. Your error might be unrelated though, could provide some additional information e.g. did you use the Dockerfile? Please post the entire log and error message
Regarding your second point: the MedicalDetectionToolkit can still be used but we can not offer extensive support via Issues or provide significant updates (e.g. in terms of models or newer pytorch releases). Actively maintaining a repository is connected with quite a lot work and unfortunately we are missing the capacities to maintain two detection repositories over an extended amount of time.
Best,
Michael

To my knowledge this should have been solved and since there was no update, I'll close the issue for now. If the problem still persists, please reopen this Issue.


Prevent color conversion of the big Godot logo

Closes https://github.com/godotengine/godot/issues/67422.
Solved, as suggested, by using an off-white color from the palette that we explicitly don't convert. The text still uses pure white and converts with the theme.

Cherry-picked for 4.0.3.


[TON_CONNECT_SDK_ERROR] TonConnectUIError Transaction was not sent

Your Question
I'm trying to send transaction in react telegram mini app and have:
ton-connect-ui.ts:581 Uncaught (in promise) Error: [TON_CONNECT_SDK_ERROR] TonConnectUIError
Failed to send transaction
    at AbortSignal.<anonymous> (ton-connect-ui.ts:581:1)
    at ton-connect-ui.ts:393:1
    at transaction-modal-manager.ts:41:1
    at Array.forEach (<anonymous>)
    at Object.fn (transaction-modal-manager.ts:41:1)
    at runComputation (solid.js:640:1)
    at updateComputation (solid.js:623:1)
    at runTop (solid.js:725:1)
    at runUserEffects (solid.js:823:1)
    at solid.js:792:1

What is the reason?
If I connect telegram Wallet I have a message "Failed to send transaction" (but don't really know the reason because there are no js logs in web view.
If I connect Tonkeeper (and open my app in browser) I have the above error. But in Tonkeeper finally transaction is sending.
Manifest is ok because I see the icon and app url when connecting the wallet. Connection is ok also.
Context
I'm trying to do like this:
(May I miss something important?)
export function PaymentComponent({balance, payText, updateUserInfo}) {
    const [tonConnectUI, setOptions] = useTonConnectUI();

    const doPayment = async () => {
        let unsubscribeOnModalStateChange = tonConnectUI.onModalStateChange((state: WalletsModalState) => {
            console.log("Modal state is: ", state);
            if (state.status === 'closed') {
                unsubscribeOnModalStateChange();
                executeAfterModalClosed(state.closeReason);
            }
        });

        if (tonConnectUI.connected) {
            alert("Connected");
            await tonConnectUI.disconnect();
        }
        else {
            alert("Not connected");
            await tonConnectUI.openModal();
        }

        async function executeAfterModalClosed(closeReason) {
            console.log(closeReason);
            if (closeReason === 'action-cancelled') {
                return;
            }

            const transaction = {
                messages: [
                    {
                        address: "0:A7FEDA2EA079D4EB3EBEE8200E76AD90E4FBD9D24671A2A92990C741CD08B485",
                        amount: "10000000" // Toncoin in nanotons
                    }
                ]
            };
            const response = await tonConnectUI.sendTransaction(transaction);
        }
    }

    return (

                {payText}

    );
}

What have you tried so far?
Tried to change TON address, amount in message. Tried Tonkeeper (works despite the error in console).
But in telegram transaction is failed to send.
Relevant Code or Commands
No response
Documentation Check

[X] Yes, I have checked the documentation.

UPD:
If I add just a simple button:

 tonConnectUI.sendTransaction(transaction42)}>

                {balance}

in Tonkeeper works well (no problems) but in telegram wallet "Failed to send transaction"

@mano7onamm Hey, so, how you solved it? I have working sendTransacation in Tonkeeper now, but not working in Telegram.

same question

@JacksonRGB
Hey, I've got it working
const transaction = {
        validUntil: Math.floor(Date.now() / 1000) + 600, // 10 minutes from now
        messages: [
          {
            address: CONTRACT_ADDRESS,
            amount: '5000000000', // 5 TON in nano TON
            payload: isTelegramWallet ? {
              text: 'Start referral',
              payload: payloadBoc
            } : payloadBoc
          },
        ],
      };


Cancel on inbound close (version 2)

Alternative to #627
This version manages to keep all the changes to RequestBody. But that does bring in an extra limitation (you can't set the request body to a new type before calling consumeWithInboundCloseHandler as we lose the connection to the underlying iterator.

something feels off here, I can quite put my finger down on it 🤔
I am a bit confused as to what the "signal" for client-side termination is supposed to be, because IIUC it is not exactly "end of request body", but more like the TCP-level "FIN". The whole thing is a bit of a protocol-mix-up mess, but I think that is the established norm (I could be totally off here), and I am not sure how that actually translates to HTTP/2 multiplexing.
But, I if the above is true, then collecting the request body to completion should have nothing to do with "the client closed the connection". And if the above is not true, can someone explain what is or share a link?

something feels off here, I can quite put my finger down on it 🤔
I am a bit confused as to what the "signal" for client-side termination is supposed to be, because IIUC it is not exactly "end of request body", but more like the TCP-level "FIN". The whole thing is a bit of a protocol-mix-up mess, but I think that is the established norm (I could be totally off here), and I am not sure how that actually translates to HTTP/2 multiplexing.
But, I if the above is true, then collecting the request body to completion should have nothing to do with "the client closed the connection". And if the above is not true, can someone explain what is or share a link?
edit: ok, I think I misunderstood the code, seems like it is doing just that...

The way it works is having a separate task that iterates the underlying request part stream. If this stream ends it indicates the connection has been closed and any more work should be cancelled.
Lower down in the NIO code if an inbound closed message is received (ie the client sent a FIN) it finishes the inbound request part stream. This then triggers the calling of the inbound closed handler higher up in withInboundCloseHandler.  For HTTP2 the request part stream is closed when the client sends a RST_STREAM.

thanks, that makes perfect sense. still will be great to "disconnect" the fate of collecting the body from losing the underlying close signal. but as you mentioned above, this can be done in a separate PR.

Question for longer-lived streams like SSE: Should we integrate those with graceful shutdown somehow?

just thinking out loud here:
what if we offered an initializer overload, something like
    router.get("/my-stream") { request, _ in
        return Response(
            status: .ok,
            headers: [.contentType: "text/event-stream"],
            body: .streamWithCancellation { writer in
                let mySource = someThing.subscribe()
                do {
                    for await event in mySource {
                        switch event {
                            // ...
                            writer.write(event)
                            // ...
                    }
                }
            }
        )
    }

with a better name somehow?

Question for longer-lived streams like SSE: Should we integrate those with graceful shutdown somehow?

So this is what I have in the SSE example
    router.get("events") { request, context -> Response in
        .init(
            status: .ok,
            headers: [.contentType: "text/event-stream"],
            body: .init { writer in
                let allocator = ByteBufferAllocator()
                let (stream, id) = requestPublisher.subscribe()
                try await withGracefulShutdownHandler {
                    // If connection if closed then this function will call the `onInboundCLosed` closure
                    try await request.body.consumeWithInboundCloseHandler { request in
                        for try await value in stream {
                            try await writer.write(
                                ServerSentEvent(data: .init(string: value)).makeBuffer(
                                    allocator: allocator
                                )
                            )
                        }
                    } onInboundClosed: {
                        requestPublisher.unsubscribe(id)
                    }
                } onGracefulShutdown: {
                    requestPublisher.unsubscribe(id)
                }
                try await writer.finish(nil)
            }
        )
    }

@sliemeobn note I use the consumeWithInboundCloseHandler because that works just fine with the inout writer. It is a better solution as you aren't setting up addition child tasks and then sending a closure in an unsafe wrapper (which is required of consumeWithCancellationOnInboundClose).
Your .streamWithCancellation will have exactly the same issues as .consumeWithCancellationOnInboundClose at some point I have to wrap a closure in an unsafe wrapper and convert a non-escaping closure to an escaping closure.

@Joannis wrapping inboundClosed and gracefulShutdown into one handler is perfectly doable. I think it should considered an addition to this PR, so dealt with separately. Is there anything left to resolve here? Regarding naming do you still prefer read over consume?
@sliemeobn consumeWithCancellationOnInboundClose I would like to investigate separately as well.

>> It is a better solution as you aren't setting up addition child tasks and then sending a closure in an unsafe wrapper (which is required of consumeWithCancellationOnInboundClose).
>> consumeWithCancellationOnInboundClose I would like to investigate separately as well.
@adam-fowler I understand, but I think it is a bit unfortunate because currently you have to rely on having a "source" with an explicit unsubscribe or cancel function or similar at hand in your handler.
If you need to deal with an API that only vends an AsyncSequence and have to rely on task cancellation, you are in trouble again.
Also, I don't really see how using withoutActuallyEscaping would be "unsafe" here. IMHO the task group APIs are just "underbaked" for this use case, and withoutActuallyEscaping is the tool to get the "correct" API restored for the outside world.
At least until somebody can explain to me what would be unsafe here, I shall remain stubborn on this point ^^


Pin rules_webtesting browser versions for CI and local testing

The default chrome browser provided by rules_webtesting browser_repositories() is broken on OSX. This doesn't show up in CI since we're only running the e2e tests on CircleCI but it does break for me locally when running the e2e tests on OSX. This PR resolves that.
//cc @alexeagle
Attention Googlers: This repo has its Source of Truth in Piper. After sending a PR, you can follow http://g3doc/third_party/bazel_rules/rules_typescript/README.google.md#merging-changes to get your change merged.

mailed as cl/233760266 to @kyliau

Updating to the latest rules_typescript is blocked on angular/angular as well by the es2015 change (see https://github.com/angular/angular/pull/28625). In the meantime, I'll pin the same browsers in angular/angular with another PR since we can't update rules_typescript yet.


Can't restart websockets on Linux, but can on Windows

I've been having issues reconnecting to the Websockets after a dropout; similar to what's described here:  https://github.com/sammchardy/python-binance/issues/202
I implemented code similar to what @sammchardy recommended in the comments, which works well when I run it on my Windows 10 machine.  However, when I port the code to my Ubuntu 19 machine, it doesn't work.  Both are using the same versions of twisted and autobahn:
python-binance = 0.7.1
twisted = 19.2.1
autobahn = 19.7.1
Does anyone have any idea what might be the cause / where I should dig to troubleshoot?

I've tried using this approach: https://github.com/sammchardy/python-binance/issues/202#issuecomment-437614147 and the websocket reconnection works, but there's a huge delay (~30s).
I've tried also restarting reactor, but it can't be restarted https://github.com/sammchardy/python-binance/issues/45.
Killing BinanceSocketManager thread isn't a good approach either.
I can't figure out a good solution to quickly restart the websocket connection, all I can do is restart the process, which is not a good solution either.

I have the same problem currently running on linux, however restarting websocket works well on Mac.
python3.7
autobahn==20.4.3
Twisted==20.3.0
Any update on how to resolve this issue?

Felt like I was taking crazy pills before I found this thread, restarting sockets worked fine on Windows, but nothing would be received after restarting on Linux. I tried multiple versions of Ubuntu, Debian, a bunch of versions of python and packages, nothing worked. The maxRetries solution doesn't seem to work for me either. This renders the entire package practically unusable on Linux in my case.

sockets not working on Raspbian Buster on raspberry pi either... any chance this gets fixed?

I have this problem on my Raspberry pi as well, but I made a workaround. To restart my script I've used time.sleep(seconds) and then os._exit(0). In another script I've a while True loop with: "os.system("python3 FileName.py")" in it. So after a certain amount of time the script exits and then gets directly restarted again. So to have my original script running all the time, with restarts, I only need to start the script with the while True loop in it. The only problem I can think of with this solution is if you have temporary data saved in the script that exits. Hopefully my solution helps other people having this issue.

Also having this problem on Debian 10. In my case, even creating an entirely new Client object and binance_socket_manager object doesn't help.


Allow Title Property on RecordAction Links and Icons

If you only display icons, a title property in needed to populate the browser tooltip.
The title property should also be settable on links for consistency.

Thanks!


feat: Fix serverless v2 engine and add missing resource arguments

Description

Add support for RDS multi-AZ clusters that do not utilize the Aurora engine

Added support for availability_zones, db_cluster_instance_class, iops, storage_type, and allocated_storage to support RDS multi-AZ
Add example to demonstrate RDS multi-AZ usage

Add support for using cluster_identifier_prefix by adding cluster_use_name_prefix variable
Add cluster_members argument/variable
Fix serverless v2 scaling which is only valid when engine_mode == "provisioned" for v2 mode
Remove restriction for engine_version when using serverless v1 (currently forces null but now can be configured by users)
Update serverless example to shorten names used and be more consistent with using just v1 and v2 for which serverless mode is used
Order cluster arguments to match order of provider schema definition - this makes it easy to see what arguments are supported vs what is not (and needs to be added)
Ensure required version specified for examples is consistent with root module
Update example tags, name, VPC settings to be consistent with other modules and avoid NAT creation where possible

Fix example directories to use hyphens instead of underscores in their names

Motivation and Context

Closes #298
Closes #305
Closes #313
Closes #314
Closes #315
Closes #316

Breaking Changes

No

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

Validated serverless example
Validated multi-az example
Validated postgresql example

[x] I have executed pre-commit run -a on my pull request

Would there be a rough estimate on when this (esp the fix for #313 ) would be merged? 🙏 😅

This PR is included in version 7.4.0 :tada:


add the FBCH-BATON utility NFT

New Listing: FBCH-BATON

Identity Name: Future BCH Baton
Authbase: fbc0b001313509454331f23f4b1891a8d9a284421efcc33187f1a1cdd37ccb46

Evidence Linking Authbase to Identity

Select one:

[ ] Direct evidence: a chain-resolved registry at the authhead provides substantially equivalent metadata for this authbase. The Authhead TXID is provided below:
[x] Indirect evidence: the identity is burned or provably locked within a covenant, so the authbase can safely be linked using indirect evidence. Details and two or more corroborating, third party-archived URLs of reputable sources vouching for this association are provided below:

Each statement below is linked to a transaction or contract on Georg Englemann's sickpig blockexplorer:

A pre-genesis vanity transaction was grinded for with the OP_RETURN FBCH-4FJGyVzxb46zn8EWYrd
The authbase fbc0b00... was used to generate a single minting NFT with the commitment 40420f00 (1e6)
That minting baton was used to mint and send a mutable NFT with the same commitment to a "gantry" contract.
The minting baton repeated the previous step but for the commitment values (LE): 100,000, 10,000 & 1,000 to three different contracts
The minting Baton NFT was burned minting a mutable baton with the commitment (1000-LE) in the last transaction above.

Every claim above can be substantiated with the transactions in block 858,444

The authhead is controlled by the million block FBCH vault gantry and currently lives in the unspent outputs of the last transaction from here and onward.

The salemkode token page correctly shows that minting is not active, and lists all four mutable child NFT batons.

Evidence Linking Identity to Authbase
This signed message proves association of the authbase and this account.

2qx on github mined the vanity authbase fbc0b001313509454331f23f4b1891a8d9a284421efcc33187f1a1cdd37ccb46 with the op_return FBCH-4FJGyVzxb46zn8EWYrd

This is the above message signed using the cashaddres: qzvl56y0w65q7tj0mh7m2yspdjx7tmuqcqgw9j6lxz
IKxgrn+s2NUxDRZ3pdRN9cXKWWfsN4K6Y5ZV5CcyIfv4WwsaVK2Q4nIjt6LL8sd4PWRtpbZojJ9XOfXqEC23fTY=

This is the same message signed with 2qx#72497; 🦇 (qqad5sy4jml3f6vcp246dulsex04xp48wq23d35rqe)
H+Sq6GNri66xvTT7PFeerCddCWp5+IlU0WUqOoqh1l3wYDERBrF8NkqOoSJjncA4Kxm7PkvBgzBLEm3DmUS+gvA=

Archived URL(s):

Evidence Linking Authbase to Categories

Select one:

[x] Token category is equal to the authbase for all Identity Snapshots.
[ ] Evidence is provided for differing category values below:

Substantiation of Other Claims

Select one:

[ ] The submission (esp. the description) includes no claims requiring substantiation.
[x] The claims in this submission can be corroborated with the following evidence:

This is an Audit by Bitcoin Cash Autist  @A60AB5450353F40E .
The audit touches lightly on the battery contract that controlled the minting baton.
Since the minting baton was successfully burned and the four mutable batons are now contract controlled, it would take a tremendous amount of chain-work to start minting new tokens.
This is an overview of the FBCH contracts that control the FBCH-BATONs.
This is an integration guide for using the batons to validate the issuance of other tokens, which is mirrored on a post on Bitcoin Cash Research.
The four (4) mutable "gantry" batons are enforced as the first input and output of each transaction. If they aren't impossible to remove from the gantry, they whole contract system an all associated tokens would be considered worthless.

Checklist

[x] I have reviewed the OpenTokenRegistry inclusion criteria, and this listing can be included in the registry.
[ ] The listing completes all required fields:

name

[x] Objective, authoritative, and neutral tone
[x] No longer than 20 characters; exceptions may be allowed for existing legal names (please provide evidence above including the jurisdiction(s) in which the legal name is established).

description

[x] Objective, authoritative, and neutral tone
[x] Descriptions is appropriate for use in user interfaces without a disclaimer by unaffiliated, neutral, third parties (wallets, block explorers, exchanges, etc.); no exclamations, calls to action, or disputable statements.
[x] All claims are substantiated above.

token information (if applicable)

[x] Token category is defined.
[x] If fungible tokens exist for the category, decimals is defined.
symbol

[x] Globally-unique base symbol, including among assets not listed in OpenTokenRegistry.
[x] Valid symbol (regular expression: /^[A-Z0-9]+[-A-Z0-9]*$/)
[x] Appropriate minimum length (For new, primarily-fungible base symbols: minimum of 4 characters; non-fungible base symbols: minimum of 6 characters; see Symbol Length Recommendations)
[x] No longer than 13 characters for base symbols
[x] No longer than 26 characters for full symbols

uris.icon

[ ] Uses IPFS with a v1 CID. To convert a v0 CID (begins with Qm...), try dweb.link. For example, QmcNL1KcVmiDtwJe8WokrnzYeoHirsz1sNxNojncsxyb2p is a v0 CID. It can be viewed at https://dweb.link/ipfs/QmcNL1KcVmiDtwJe8WokrnzYeoHirsz1sNxNojncsxyb2p, which redirects to a subdomain equal to the v1 CID: https://bafybeigqogqx3n4cldk6nizl5vihopi2dkgvw4yqamc5rhleyqu25soe4e.ipfs.dweb.link/. The correct URI for this icon is: ipfs://bafybeigqogqx3n4cldk6nizl5vihopi2dkgvw4yqamc5rhleyqu25soe4e.
[x] Either SVG format OR 400px by 400px AVIF, WebP, or PNG

uris.web

[x] Domain name is owned by the issuing project or organization
[x] Either HTTPS protocol OR ongoing activity demonstrated via optional URI identifiers (described in Substantiation of Other Claims)

[x] Includes relevant historical information in previous snapshots OR this token has never been rebranded, redenominated, or reissued
[ ] All static data (images, animations, videos, binary files, etc.) uses IPFS with v1 CIDs to ensure file integrity (e.g. ipfs://ba...).

Hi, thanks for your PR!

It looks like fbc0b001313509454331f23f4b1891a8d9a284421efcc33187f1a1cdd37ccb46 does not have any on-chain metadata. It's a good idea to have this.
It's recommended to have a message in the website footer or at least in the frontpage footer taking ownership of the token and sharing its name, category, etc so users can easily verify authenticity via this informal manner.
A more descriptive token name is a good idea.
uri.icon is requested to be hosted on IPFS.
token.nfts does not exist but this is an NFT series.

See more here: https://otr.cash/docs/list/
Thanks!


Add a styled "no results" message to the people search page

Screenshot:

Woops, need to update the copy, this is the "people" version :smile:


Change SMS code input type to number

Thank you so much for your contribution. :tada:
Input validation works as expected. Probably the arrow buttons are not necessary, but that could be fixed by keycloak themes.
@svenseeberg What is your opinion?

Thank you for the PR @HappyLer . I think the up/down buttons do not hurt. I think this is a good change.

New release is out now ;)


Hardware decoding returns null pointers

When I decode via software everything works as expected. But when I switch over to hardware decoding the data buffers are null. Do you need to pass a work surface rather than null to MFXVideoDECODE_DecodeFrameAsync when decoding via hardware?

Found out what I was doing wrong. Initialized a variable to the value (not a pointer) then called the map interface function. The variable kept the old value. This works with SW because there is no need to map the data, but on hardware this is initially null till mapped. Silly mistake.


LET-1369: Use observable attribute of KLAB artifact to figure out demand origin

Refactoring how KLAB artifact response is paired with correct requested observable. Instead of order in which observables were requested, attribute observable which is part of artifact response is used.
Testing instructions
There is multiple automatic tests which ensures that logic still works (they use vcr mocks). To test it in real, Klab::Run.new.call can be used ;).
Tracking
https://vizzuality.atlassian.net/browse/LET-1369

I updated the ARIES connection in staging, so this can be tested


Separate graphql server and real-time ingesting

Resolve #115
I am not sure about separate scripts naming here. Also, I would like to revisit init part, I'll do some check on best practices

This change is

For some reason Travis builds started to just hang, I added --maxWorkers option, according to this. It seems to help 🤷♂

@nebolsin @gzigzigzeo is something more is necessary here? For now, I removed WIP label, waiting for your review 🙏


Ensure default are properly staged and unstaged. (resolves #601)

Passes CWL conformance tests with AWS/Mesos batch system.  Calls
setLoggingFromOptions(options) to set up toil logging.  Bump cwltool version
dependency.

Commit title is too long and lacking issue reference. And please no periods at the end of commit messages.
It appears that the commit message is actually just one long line.
http://chris.beams.io/posts/git-commit/

Hold off on this PR for the moment, I have a few S3 released fixes to add.

Added fixes for handling S3 URLs.  Rebased to latest master.

@hannes-ucsc please review & merge when you get a chance

The pin is on purpose, this allows us to change cwltool without having to worry about breaking production toil code that relies on it.  An open ended dependency just means more headaches for everyone involved when incompatiblies are introduced whether by accident or on purpose.

Re the pin: basically what he (@tetron) said. Let's continue discussing that on #827. I want to understand why @guillermo-carrasco sees the need for removing the pin.

👍  thanks guys


fix price / weight filter

Price / weight filter block should not apply there own filters (otherwise they will always disappear if we filter on price / weight because only one choice will remain)

This change is

I close this one because of the big refactoring you did.


01 Styles/04 Handling Images

Review readme.md, fix typos / issues go throught step by step guide

Assigned to mlopezperez

@brauliodiez, this is supposed to be assigned to me, but I don't appear as "asignee". I didn't received any e-mail neither, just found it out by chance!

@mlopezperez that was because we invite you to this repository and we cannot assign you before you accept it.


[Refactoring] [Testing] Noise

Folowing the digital noise MR #563, a few extra tasks are to be carried out:

Properly making consistent the DigitalNoise with the Noise class and etc... Some are backend independent (Readout), others are analog/digital-specific. It makes sense to separate the different types.
Including the noise in each block string: if added, check how it behaves with visualization.
Serialization: make _to_dict and _from_dict functions to noise class
Add tests! For transpiler functions such as set_noise

At the same time, tackle #369

@chMoussa closing this as most things are already implemented. Visualization which is left will be added to mega visualization issue. #613


Add support to configure log forwarder filters in vRealize Log Insight

Code of Conduct

[X] I have read and agree to the project's Code of Conduct.
[X] Vote on this issue by adding a 👍 reaction to the original issue initial description to help the maintainers prioritize.
[X] Do not leave "+1" or other comments that do not add relevant information or questions.
[X] If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Description
Develop PowerShell cmdlet(s) to configure event forwarding filters in vRealize Log Insight - prevents duplication of log data across vRealize Log Insight clusters.
Use Case(s)
Provides an automation path for the procedure.
Potential Configuration
To be determined during implementation.
References
Guidance: Configure Event Forwarding Filters to Prevent Duplicating Log Data in vRealize Log Insight

APIs

Return Log Filter

GET: /api/v2/log-filter
$uri = "https://sfo-vrli01.sfo.rainpole.io/api/v2/log-filter"
$response = Invoke-RestMethod -Method GET -Uri $uri -Headers $vrliHeaders
$response.filters

Add Log Filter

POST: /api/v2/log-filter
$uri = "https://sfo-vrli01.sfo.rainpole.io/api/v2/log-filter"
$response = Invoke-RestMethod -Method POST -Uri $uri -Headers $vrliHeaders -Body $body
$response.filters

$body =
{
  "name": "filter-rule",
  "enabled": true,
  "filter": "hostname=~\"lax-vrli01.lax.rainpole.io*\""
}

Schema:
{
  "$schema": "http://json-schema.org/draft-04/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_-]*$"
    },
    "enabled": {
      "type": "boolean",
      "default": true
    },
    "filter": {
      "type": "string",
      "default": ""
    }
  },
  "required": [ "name" ]
}

Return Log Filter by ID

GET /api/v2/log-filter/{id}
$id = "04f98100-995b-3f56-b321-0e10f21ee022"
$uri = "https://sfo-vrli01.sfo.rainpole.io/api/v2/log-filter/$id"
$response = Invoke-RestMethod -Method GET -Uri $uri -Headers $vrliHeaders
$response.filters

Update Log Filter by ID

PATCH /api/v2/log-filter/{id}
$id = "04f98100-995b-3f56-b321-0e10f21ee022"
$uri = "https://sfo-vrli01.sfo.rainpole.io/api/v2/log-filter/$id"
$response = Invoke-RestMethod -Method PATCH -Uri $uri -Headers $vrliHeaders -Body $body

$body =
{
  "enabled": true
}

Schema:
{
  "$schema": "http://json-schema.org/draft-04/schema",
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "filter": {
      "type": "string"
    }
  }
}

Delete Log Filter by ID

DELETE /api/v2/log-filterr/{id}
$id = "04f98100-995b-3f56-b321-0e10f21ee022"
$uri = "https://sfo-vrli01.sfo.rainpole.io/api/v2/log-filter/$id"
$response = Invoke-RestMethod -Method DELETE-Uri $uri -Headers $vrliHeaders

APIs

Update Log Forwarder by ID

PATCH /api/v2/log-forwarder/{id}
$id = "04f98100-995b-3f56-b321-0e10f21ee022"
$uri = "https://sfo-vrli01.sfo.rainpole.io/api/v2/log-forwarder/$id"
$response = Invoke-RestMethod -Method PATCH -Uri $uri -Headers $vrliHeaders -Body $body

$body =
    {
      "acceptCert": false,
      "name": "lax-vrlo01.lax.rainpole.io",
      "host": "lax-vrlo01.lax.rainpole.io",
      "port": 9000,
      "protocol": "cfapi",
      "sslEnabled": false,
      "workerCount": 8,
      "diskCacheSize": 104857600,
      "tags": {},
      "filter": "",
      "transportProtocol": null,
      "forwardComplementaryFields": true,
      "testConnection": false,
    }

The prerequisite functions have been added for log forwarder destination; however, additioanl functions are needed for to support automating this task.

Tag(s) (Add/Remove)
Filter (Add/Remove)

These functions should consume the Get-vRLILogForwarder and Update-vRLILogForwarder helper functions.
Tags: Note that tags are in an format where the user provides a set of comma seperated key/value pairs (e.g., "region=sfo,env=prod"). The PATCH for the log forwarder should be ideal once the ID is obtained. However, to obtain the ID the name, fwdn, protocol, and port are needed to find the unique item.


First draft to change ando

I've made some changes on how the AnDO  works now it checks filenames only. There are still some changes to do in the generator tools and his related test.
Now the dataset must contain this 3 files :

dataset_descritption.sjon
subject.tsv
one datafile

Here's an example of a dataset :

Hi!
As we just discussed, two major things need to be changed from what you describe:

no check should be performed on the session id

the check on the directories and files should be performed in two steps:
a. check the names of the directories (using the same algo as in the previous AnDO specs)
b. then, check the names of the files

Hi!
As we just discussed, two major things need to be changed from what you describe:

no check should be performed on the session id

the check on the directories and files should be performed in two steps:
a. check the names of the directories (using the same algo as in the previous AnDO specs)
b. then, check the names of the files

So now the ando is working as we discuss in 2 steps first it checks the folder structure and then the filenames, I have also added some test , and worked on the structure of the project

So now the ando is working as we discuss in 2 steps first it checks the folder structure and then the filenames, I have also added some test , and worked on the structure of the project

thanks, I will test and review before 3:30pm... you can switch to the development of the Generator until then ;)

thanks, I will test and review before 3:30pm... you can switch to the development of the Generator until then ;)

first general comment: when I run the checker on dataset004, the error that pops up is on the ephys directory; this is ok, but it should reject the session directory also coz you have underscores in the session name (ses-20200101_001_pop and ses-20200101_001_rap), as we discussed yesterday...

first general comment: when I run the checker on dataset004, the error that pops up is on the ephys directory; this is ok, but it should reject the session directory also coz you have underscores in the session name (ses-20200101_001_pop and ses-20200101_001_rap), as we discussed yesterday...

[I removed my previous comment, I'd made a mistake; here is some new feedback]
when I run the checker on dataset004, I get several errors:

Level 3 error [session folder] at : ses-20200101_001_rap   It should follow the ses-YYYYMMDD_XXX_BBBB format, where:     - ‘ses-’ is an imposed prefix     - ‘YYYYMMDD’ is the date of the session (8 digits, for instance 20180430 for April 30, 2018)     - XXX is the number of the session acquired on that date (3 digits, for instance 001 for the first session)     - BBBB is a string freely usable by the research group / user       (is a string freely usable by the research group / user (for instance to add extra info on        the version of the experimental protocol, on the type of preparation, on the user-friendly name of the animal etc.);       this string cannot contain the underscore character.
This seems to be an old error message that should not be there anymore...

Level 3 error [Ephys folder] at : ses-20200101_001_pop   Ephys folder is missing or does not follow the AnDO specification rules:     - Ephys
I think it should be Level 4 and not Level 3...

[I removed my previous comment, I'd made a mistake; here is some new feedback]
when I run the checker on dataset004, I get several errors:

Level 3 error [session folder] at : ses-20200101_001_rap   It should follow the ses-YYYYMMDD_XXX_BBBB format, where:     - ‘ses-’ is an imposed prefix     - ‘YYYYMMDD’ is the date of the session (8 digits, for instance 20180430 for April 30, 2018)     - XXX is the number of the session acquired on that date (3 digits, for instance 001 for the first session)     - BBBB is a string freely usable by the research group / user       (is a string freely usable by the research group / user (for instance to add extra info on        the version of the experimental protocol, on the type of preparation, on the user-friendly name of the animal etc.);       this string cannot contain the underscore character.
This seems to be an old error message that should not be there anymore...

Level 3 error [Ephys folder] at : ses-20200101_001_pop   Ephys folder is missing or does not follow the AnDO specification rules:     - Ephys
I think it should be Level 4 and not Level 3...

Hi! There are a lot of things to correct in the code, a bit everywhere, so that it would look nice... But maybe you can do this later... First, @Slowblitz , can you make it work as it should (i.e correct for what I said in my previous comment)?
@JuliaSprenger WDYT?

Hi! There are a lot of things to correct in the code, a bit everywhere, so that it would look nice... But maybe you can do this later... First, @Slowblitz , can you make it work as it should (i.e correct for what I said in my previous comment)?
@JuliaSprenger WDYT?

OK, after having been in the code for a bit of time now, let me try to make a checklist of what's do be done for this PR... At this point, I might have missed some things...
TODO list

[] Update error messages to match the current specs
[] Create datasets to test all the new errors
[] Make verbosity work for the checking at the file level (for now, I think that when an error is raised at the file level, no messages is printed out in verbose mode)
[] Check whether the main algorithm (imbricated if) to combine the directory checking and file checking (is_AnDO function in engine.py) is actually what we want, and is the most computationally efficient

Not ready for reviewing yet... I will let you know!

OK, I'm trying to understand how the code works, but I think there are several mistakes which make it to complicated for me to fix it... I will focus on adding datasets to test the new errors (this should be my next commit), which can serve as a basis to test the corrections to be made in the code...

I think we can close this PR as it an alternative proposal was merged with #63


Option to download and install java versions

Would be super convenient if jenv could not only switch Java versions, but also had the ability to go ahead and install the configured version!

+1 brew could be good here on OSX
brew cask install java
brew cask install AdoptOpenJDK/openjdk/adoptopenjdk11

+1
It's also desirable the ability do configure a "dist URL" to be able to download from a local mirror when the user is behind a corporate firewall.