chore(Data/Finset): move non-lattice lemma out of lattice file

This lemma doesn't require finset lattice machinery to prove, and is out-of-place in its current location. Thus, we move it alongside other Finset.range lemmas.
This is in part so that this lemma can be used without importing more of mathlib, and in part to help with a split of the lattice file, which would leave this particular lemma essentially homeless.

bors merge


adding docs: Actions, Bulk Selection, Types; expose ActionTypes

I've started three new docs for Actions, Bulk Selection and Types
Similar to applyGridConfig which has all the Grid Types, I've exposed the ActionTypes but used the simple * approach to pull in everything so now all the types are available and can be listened to from reducers outside of the react-redux-grid library.
import { applyGridConfig } from './constants/GridConstants';
import * as ActionTypes from './constants/ActionTypes';

const modules = {
    Actions,
    Grid,
    GridRootReducer: combineReducers(Reducers),
    Reducers,
    applyGridConfig,
    ActionTypes,
    Store
};

This is so awesome, thanks for the work! I will take a good look at all of this tonight, and leave comments if I have any.

Ok I did do a pull with the upstream master before and found 1 conflict within dataSource which I resolved...
I get a green light on "This branch has no conflicts with the base branch" but that's probably my base master not upstream master...

Why won't it list which files are conflicting now?!

Ok I see dataSource.js is still messed - I'll fix the conflicts

Since you didn't change dataSource, you should probably just checkout the current version of the file from bencripps/master

Codecov Report

Merging #136 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #136   +/-   ##
=======================================
  Coverage   81.52%   81.52%
=======================================
  Files         112      112
  Lines        4524     4524
=======================================
  Hits         3688     3688
  Misses        836      836

Continue to review full report at Codecov.

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

So now I just need to squash these comments down ;-D

No need to squash. I'll take a look, and let you know if any other changes are needed. Thanks!

Did we lose some of the changes when you pushed the new code? It looks like we lost some, or am I going crazy?

Nope not crazy - there should have been 5 not 4 files changed - I'm reviewing...I'll see dropped

Make that 6 files - I ran the tests and discovered that exposing AcitonTypes also requires a couple tests


Support memo and search attributes in child workflow

Pull Request Test Coverage Report for Build 280

14 of 18 (77.78%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 74.546%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/internal_event_handlers.go
6
10
60.0%

Totals

Change from base Build 276:
0.5%

Covered Lines:
8417

Relevant Lines:
11291

💛  - Coveralls


Receive screen - 6.0

Designs https://zpl.io/V1xynEJ

Make all title in white color https://zpl.io/bARmyNq

Rename "Address type" to "Transaction type" https://zpl.io/bARmyNq

Change "more details" to "address details" https://zpl.io/bARmyNq

Regular TX https://zpl.io/bARmyNq

Max privacy TX https://zpl.io/bz38oPM

Address details. Add "copy" icon and rename button to "copy and close" https://zpl.io/ag380RN

QR for regular tx https://zpl.io/VQN0D69
QR for max privacy https://zpl.io/2GjEl89

Make buttons "copy and close" , "share address" and "share QR" the same wight

For "TRANSACTION TYPE", "ADDRESS", "BEAM" make letter spacing as in design

Make the word "optional" in lowercase

Make the text "Comments are local and won't be shared" in italics

Change text for max privacy transactions to "Max privacy transaction can last at most 72 hours."

Place text "Min transaction fee.." as in design

For regular transactions add the text "Sender will be given a choice between regular and offline payment." as in UI wallet

Please, make indent between texts as in the design

Place triangles as in the design

Checked

If you enter a name for the address in the comment field, the name is not saved after the address is saved .


Add defense against multiple parts for a single type

CompositionConfiguration.Create can throw an ArgumentException when the ComposableCatalog contains multiple parts for a single type.
In this change, ComposableCatalog defends itself from containing multiple parts for the same Type so that this doesn't happen. Instead, we will get an earlier exception with a message directing us to the duplicate Type.
Fixes #39

Codecov Report

Merging #40 into master will increase coverage by 0.23%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
+ Coverage   81.61%   81.84%   +0.23%
==========================================
  Files          72       72
  Lines        5685     5691       +6
  Branches      878      879       +1
==========================================
+ Hits         4640     4658      +18
+ Misses        801      799       -2
+ Partials      244      234      -10

Impacted Files
Coverage Δ

...soft.VisualStudio.Composition/ComposableCatalog.cs
97.67% <100%> (+0.17%)
:arrow_up:

...crosoft.VisualStudio.Composition/ExportProvider.cs
94.31% <0%> (ø)
:arrow_up:

...ft.VisualStudio.Composition/LazyMetadataWrapper.cs
62.58% <0%> (+0.68%)
:arrow_up:

...sualStudio.Composition/ComposablePartDefinition.cs
85.1% <0%> (+0.7%)
:arrow_up:

...soft.VisualStudio.Composition/ReflectionHelpers.cs
56.87% <0%> (+0.74%)
:arrow_up:

...t.VisualStudio.Composition/ContractNameServices.cs
72.22% <0%> (+0.79%)
:arrow_up:

...osition/Configuration/AttributedPartDiscoveryV1.cs
95.09% <0%> (+0.98%)
:arrow_up:

...Microsoft.VisualStudio.Composition/ComposedPart.cs
81.63% <0%> (+1.02%)
:arrow_up:

...icrosoft.VisualStudio.Composition/PartDiscovery.cs
83.27% <0%> (+1.02%)
:arrow_up:

...Studio.Composition/ImportMetadataViewConstraint.cs
85.24% <0%> (+1.63%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks for reviewing, @AlexEyler. Yes, I'd like to proceed with this since it's an opportunity for VS-MEF to catch the problem earlier and provide more detail.


JavaDoc enhancements

This PR is meant as a starting point to fix JavaDoc errors during the run of the compiler and during javadoc generation via the maven-javadoc-plugin.
@dropwizard/committers I think up-to-date JavaDoc is always a good thing, although this might take some time to accomplish. I've now corrected the errors in the dropwizard-util module. Do you think it's worth doing so for all other modules?
I've experienced, that the invocation of the javadoc:jar target on a JDK 17 causes errors, even with our <doclint>none</doclint> settings. The errors vanish when passing -Ddoclint=none on the command line. Maybe I'm missing something here, but we should be able to build the project on a JDK 17.

When getting to dropwizard-logging, I noticed that JavaDoc for our factory objects isn't really needed/wanted. I could add some general comments, but getters and setters are self-explanatory there. Any opinions on that point?
For the modules I've processed so far a few JavaDoc comments could actually help users. See what you think about it.


ci: Limit workflow scope to v2.7-branch

This commit updates the CI workflows to limit their event trigger scope to the v2.7-branch in order to prevent the workflows from running when the backport branches are pushed.
Signed-off-by: Stephanos Ioannidis<EMAIL_ADDRESS>

This fixes issues such as:

Note that both pull_request_* and push events are triggered.

Merging as CI hotfix; normal backport rules do not apply.


Ensure we cover all child languages

For example: https://github.com/chrisgrieser/nvim-chainsaw/blob/c188a7d5ea7aacc2e91ffc5e2b938f2a3d5601a9/lua/chainsaw/config/log-statements-data.lua#L122.

Partially addressed in https://github.com/andrewferrier/debugprint.nvim/commit/0480f2fc3fc93249f9f90336d840360c2ae40b6c.

All of these languages are now covered except nvim-lua, which isn't a real filetype, and we're going to support later through .editorconfig.


Store Docker Compose files in the role

🗣 Description
This pull request moves the Docker Compose files currently stored in cisagov/cyhy-mailer into the role. These are then copied directly instead of downloading the entire cisagov/cyhy-mailer repository contents just for these files.

💭 Motivation and context
Since all we need from the cisagov/cyhy-mailer repository is these files it makes sense to store them here. This will also put the cisagov/cyhy-mailer repository in a better place to be reorganized and skeletonized appropriately to modernize.

🧪 Testing
Automated tests pass.

✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.
[x] Tests have been added and/or modified to cover the changes in this PR.
[x] All new and existing tests pass.

✅ Post-merge checklist

[ ] Update the "About" section of the repository to match the updates to the README.

This works for me. 👍 👍
I'm thinking we should add an issue to this repo to make it less specific to our particular implementation. I am talking about setting default values for paths and email addresses in the compose files that we can override when we call this role from cyhy_amis.
Also, can you please add a post-merge task for yourself to update the "About" section of this repo (on https://github.com/cisagov/ansible-role-cyhy-mailer) to reflect the changes from this PR (i.e. similar to the verbiage changes you made in the README).

I mean if we separate cisagov/cyhy-mailer into just the Python in that repo and then a cisagov/cyhy-mailer-docker that contains the Docker configuration and sample Docker compositions this role can remain focused on internal use in my opinion.

I'm thinking we should add an issue to this repo to make it less specific to our particular implementation. I am talking about setting default values for paths and email addresses in the compose files that we can override when we call this role from cyhy_amis.

I mean if we separate cisagov/cyhy-mailer into just the Python in that repo and then a cisagov/cyhy-mailer-docker that contains the Docker configuration and sample Docker compositions this role can remain focused on internal use in my opinion.

My thinking is that if we can make the repo more "general use" (i.e. specific to our implementation) without much effort, then we should do it, but I don't think it's a big deal either way.

I'm thinking we should add an issue to this repo to make it less specific to our particular implementation. I am talking about setting default values for paths and email addresses in the compose files that we can override when we call this role from cyhy_amis.

I mean if we separate cisagov/cyhy-mailer into just the Python in that repo and then a cisagov/cyhy-mailer-docker that contains the Docker configuration and sample Docker compositions this role can remain focused on internal use in my opinion.

My thinking is that if we can make cisagov/cyhy-mailer-docker more "general use" (i.e. not specific to our implementation) without much effort, then we should do it, but I don't think it's a big deal either way.

I guess I was thinking we don't do that (currently) with any similar Ansible roles. If we wanted to do it comprehensively I suppose that might be valuable, but the fact that we have bod, cyhy, and cyhy-notification already makes this kind of "us" specific. We could do the base docker-compose.yml file here with some level of customization and move the three override files into cisagov/cyhy_amis to better align with what you suggested though.

We could do the base docker-compose.yml file here with some level of customization and move the three override files into cisagov/cyhy_amis to better align with what you suggested though.

Yes, I think that is an excellent path forward. 👍 👍


Can not set mintFee less than 1

My config
"collection": {
        "assetDir": "/home/hieptran/Projects/Aptos-NFT-Mint/assets/images",
        "metadataDir": "/home/hieptran/Projects/Aptos-NFT-Mint/assets/metadata",
        "collectionName": "Latte NFT v2",
        "collectionDescription": "Latte NFT v2",
        "collectionCover": "",
        "collectionSize": 9,
        "maxMintPerWallet": 9,
        "mintFee": 0.9,
        "royalty_points_denominator": 1000,
        "royalty_points_numerator": 100,
        "presaleMintTime": 100000000,
        "publicMintTime": 100000000,
        "whitelistDir": "/home/hieptran/Projects/Aptos-NFT-Mint/assets/whitelist"
    }

Mint site http://localhost:3000/:

Same here with the latest commit

i'm facing the same issue here, seems like problem with the candy machine (?)

@hoanghiep You are trying put less than minimum amount, remember 1000000 == 1 APT
0.9 = 900000


Add a example

How to show how to use xmlreader to process large plist file

Hi, @btry
To long subject in the commit message:
docs(example): add a example to show how to use xmlreader to process … …
…large plist file


docs: update CONTRIBUTING.md

Description

Fix typos
Use title case for all headings for consistency with rest of docs
Clarify wording

Additional context

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[x] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

这是来自QQ邮箱的假期自动回复邮件。你好，我最近正在休假中，无法亲自回复你的邮件。我将在假期结束后，尽快给你回复。


Add max image resolution option

When tagging datasets with large image resolutions it sometimes causes the browser to become unresponsive or sluggish.
This should increase browser performance but at the cost of increased processing time and lower interrogator resolutions (should have minimal impact on results).

Thank you so much!
But this feature cannot applied without cached images. So, I changed it to use cached image if the max_res is specified.


Add optional logging of security issues when replicating

Overview
Log insecure replication requests to guide administrators before they activate additional security measures (like disabling http protocol).
Testing recommendations
Will be covered by tests
Related Issues or Pull Requests
N/A
Checklist

[x] Code is written and works correctly
[ ] Changes are covered by tests
[ ] Any new configurable parameters are documented in rel/overlay/etc/default.ini
[ ] Documentation changes were made in the src/docs folder
[ ] Documentation changes were backported (separated PR) to affected branches

I make additional requests to source and target (once each at job start time) with a custom verify_fun. I do this as it's hard to get the db/docid/user context from the real calls but also to avoid disturbing existing code for something informational.

needs a tweak, I was so focused on the bad cases I forgot the good ones, need to add cacertfile :)


Trouble getting a simple component to render

Error is as follows:
V8Js::compileString():19434: ReferenceError: module is not defined

PHP Test file is as follows:
include('../vendor/autoload.php');

$reactSource = file_get_contents('../node_modules/react/dist/react.js');
$appSource = file_get_contents('../app/Resources/js/components/Test.js');

$rjs = new \ReactJS($reactSource, $appSource);
$rjs->setComponent('Test', []);

echo '
' . $rjs->getMarkup() . '
';

Javascript Component is as follows:
const Test = React.createClass({
    render: function() {
        return React.createElement('div', {}, 'Hello, World')
    }
})

module.exports = Test;

Are you able to shed any light as to why module is not available here? Thanks for your time.

You aren't in a CommonJS environment so module isn't defined. You should be able to leave off that entire line since Test will be a global in the context.


OPENTOK-31614 - Enable error reporting using OTProperties instead of private method

Replace call to OT._.enableExperimentalErrorReporting with OTProperties.enableErrorReporting setting.

:+1:


Add optional authentication

I think something like this will do
https://smartshitter.com/musings/2017/12/nginx-rtmp-streaming-with-simple-authentication/
or this:
https://smartshitter.com/musings/2018/06/nginx-rtmp-streaming-with-slightly-improved-authentication/

Like you did in the docker-compose.yml file, you add:
# This enable authentication on the rtmp.
# e.g rtmp://docker-broadcaster.com/stream?access_token=PWTAv&U)NmpzDZ1fm:+uT>r|"B3r!@
# e.g rtmp://docker-broadcaster.com/stream/live?access_token=PWTAv&U)NmpzDZ1fm:+uT>r|"B3r!@
ACCESS_TOKEN: "PWTAv&U)NmpzDZ1fm:+uT>r|"B3r!@"

If the access_token is null, there will be no authentication.


Txs failing to build when there's minimal (but sufficient) coin.

I have an address that contains 2.830539 ada. If i build a tx to send 1.6 ada, it fails with insufficient funds error. When I send 1.4 ada it works as expected. Seems the same with addresses holding more ada, as well.
Since the tx fee should be ~0.16 ada and I'm sending more than the minimum 1 ada, I think this is a bug.
pycardano.exception.UTxOSelectionException: All UTxO selectors failed.
0|crypto |     Requested output:
0|crypto |      {'coin': 1795556, 'multi_asset': {}}
0|crypto |     Pre-selected inputs:
0|crypto |      {'coin': 2830539, 'multi_asset': {}}
0|crypto |     Additional UTxO pool:
0|crypto |      []

What version of pycardano are you using? It could be that the change (2.83-1.6-0.16=1.07) is not meeting the minimum utxo size requirement. It will be great if you can share the input address so I am able to reproduce the problem.

I thought the min was 1 ADA + ~0.16 min tx fee. Does pycardano have a higher min to cover overhead without possible hiccups?

Could confirmed this is a bug. You are right, when there is only ADA in the output, 1 ADA is the minimum requirement. I fixed this in this commit: https://github.com/cffls/pycardano/commit/f8daca62f99325589aa190dea8803c7a8f8362c8

Thanks Jer, I'll look for the update when you pull it into the master branch


Regarding AI Support / Evac. Could the # if minimum passengers by default be changed from 3 to 1? We often used it to transport killed players back to the AO and only need 1 passenger.

most common situation is around 3


Add notice for "createdAt" key in API

For https://github.com/huggingface/moon-landing/pull/7991 (private)

looks fine in prod IMO, thanks:


Enable request logging to prevent error

Enable request logging in hapi to prevent error during Travis CI builds.
Closes #599.

Since this is a temporary fix until we can upgrade Good, is it a good idea to somehow mark this so that we know to change it once we upgrade?  I could add a TODO comment, but I know that people have very strong opinions about whether or not they should be used.

On second thought, maybe it's not a temporary fix, if we want logging enabled.  The default option is false.  So if we want logging, then this would have to be included anyway.

released in https://github.com/hoodiehq/hoodie/releases/tag/v24.2.1


[Bug] Common naming of DataLayer vs Data Layer

What happened?
In all of our docs, and according to the DL team, the proper naming for all things DL is precisely DataLayer. In our GUI, it shows all references as Data Layer
Version
1.6.0
What platform are you using?
Windows
What ui mode are you using?
GUI
Relevant log output or stacktrace
No response

Updated the Settings screen as well as the service starting/stopping screens

Updated naming:


Speed of Github API Calls

I'm using the extension with the Github backend and the time it takes to do the Github API calls to fetch/create/update is really long and it is not good for the overall UX of the extension (I might say quite unusable).
The overall delay only happens when using github as backend since using the filesystem backend doesn't has this overhead of time. For now I'm executing it locally but I don't see too much reasons for this to be better when deploying on services.
For package_update:

For package_show:

@shevron where's the profiling you were planning to do?

I'm attaching some cProfile dumps. They can be viewed nicely by several tools, I use snakeviz which is pip installable and runs everywhere.
I recommend zooming in on the 1st call immediately after t.py in the call stack (which should be the 1st call made from storage.py and starting any analysis from there. What we want to look at are the parts between this function (the top level API action called in storage.py, e.g. create, fetch, etc.) and requestJsonAndCheck in Requester.py which is where every HTTP request done by PyGithub is performed.
I will add a few more profile executions, as well as some thoughts and insight soon.
metastore-profiles.tar.gz

I also recommend using the "sunburst" view if using snakeviz, I find it much easier to work with.

Calling create is quite slow from my machine (in this profile almost 7 seconds). It may be less critical than fetch which is much faster`, but it is still quite slow.
What we can notice in the profile:

Call to _get_owner is 0.8 seconds. The owner rarely changes in some use cases (esp the ckanext-versioning case) so we can probably cache it as suggested in #16 to reduce this time to close to 0 (will still happen on the 1st use depending on what caching backend we use)

Most of the time is spent on _create_commit which is our own code calling 4 different GitHub endpoints (create commit, create tree, get ref for master, edit ref for master). IIRC we have to do all of them but perhaps this can be optimized (maybe there is some kind of "shortcut API" or maybe GraphQL can do it in one mutation or...). I need to study this further to understand.

2nd place is create_repo at about 25% of the time which we just have to call, no other way around it.

GitHub requires you to call a high level API create_file on the repo after creating it and before you are calling any low level Git APIs such as create_commit. I'm not sure why this is the case but I have not been able to work around it. They say the repo can't be empty if you want to access the Git API (?). I'm using this to create a stub README.md file then create the actual first commit of datapackage.json

We're also calling get_branch to get the sha of the tip of the default branch before creating the next commit. This is about 11% of the time, and may be dropped i.e. if there is a way to work around need - will need to dig some more in the GitHub API.

Here is a PNG of the call graph for create:

There are also 2 times where an HTTP request seems to be triggered from PyGithub's _completeIfNeeded. I'm guessing that this is only called if some variable was not provided but has some sensible default, e.g. the default branch name. Maybe we can reduce this (~11% of time) if we provide some values explicitly.

@shevron 👏 great analysis. We have 3 areas i guess:

Create Dataset
Update Dataset
Get Dataset

My understanding is this refers to Create Dataset. Overall, i'm actually not that concerned if Create Dataset is slow since it happens rarely and we could always provide feedback to user to improve UX (e.g. spinner and updates like creating dataset, adding metadata  ...). If Update Dataset is slow that may be a bigger issue.

Call to _get_owner is 0.8 seconds. The owner rarely changes in some use cases (esp the ckanext-versioning case) so we can probably cache it as suggested in #16 to reduce this time to close to 0 (will still happen on the 1st use depending on what caching backend we use)

I'm not sure what _get_owner does. Rather than caching (which adds complexity) could this be explicitly be provided by the instantiator?

My understanding is this refers to Create Dataset. Overall, i'm actually not that concerned if Create Dataset is slow since it happens rarely and we could always provide feedback to user to improve UX (e.g. spinner and updates like creating dataset, adding metadata ...). If Update Dataset is slow that may be a bigger issue.

Correct, this was just a first dump of data (I am adding "fetch" now) just had to leave so I wanted to save it here before I do. Agree about UX, but a lot of what is being done for create also happens for update so this analysis is still mostly relevant.

I'm not sure what _get_owner does. Rather than caching (which adds complexity) could this be explicitly be provided by the instantiator?

Sorry, you are right - it is a bit vague... _get_owner() is a private method that fetches either an Organization object or an AuthenticatedUser object from GitHub, depending on whether the owner is the current user (owner of the access token) or an organization. This object regardless of it's type is then used solely for the purpose of calling get_repo(name) to get a PyGitHub Repository object describing the repository. This is needed for pretty much every action we do.
Perhaps we don't really need to fetch the repo object from GitHub, but somehow "generate" it. It is one of the biggest classes in PyGithub and has a lot of properties, and all except the URL (I think) could be lazy-loaded when needed. Maybe we can create this object and manually set some properties we need, and it will just work, but I need to further investigate this.

Analysis for fetch:

Fetch is actually quite fast on my machine compared to create - under 1 second. A lot of the time is spent on _get_owner which as discussed may be optimized out or cached. It is possible that get_repo may also be worked around (another ~15% of time) using the same strategy discussed above. I don't think the other calls (get_git_ref or get_tag to get the revision sha, get_commit to get the git commit and get_contents to get the contents of datapackage.json from that commit) can be avoided, but perhaps using the GraphQL API could allow us to send only one or two requests instead of 3.

I noticed that in the OP, @pdelboca reported that package_show took ~7 seconds. I need to further analyze this because from what I can tell metastore-lib's fetch is not the culprit and maybe package_show is doing other things. Or we just got lucky / unlucky with a single test.

Analysis for update (non-partial, and not referencing a base commit, as performed by ckanext-versioning):

This calls get_owner / get_repo twice, once when fetching and then when updating. Surely in this case we can just fetch the repo once and pass it around / cache it on the instance level instead. May reduce about 9% right off the bat.

We call fetch (37%) even though this is not a partial update and we do not need the data. This we can just not do 🤦 (and if we don't call fetch we don't really need the previous fix even though it would be nicer to do it anyway if we can to speed up partial updates as well a bit).

We call _create_commit (40%) which is similar to how things are done for create so same analysis as above.

We call get_branch to get the tip commit sha of the latest branch. We could save this somewhere in CKAN DB and pass it in but I really don't think this is worth optimizing (less than 5% of time) and it can create a lot of consistency headaches.

@rufuspollock I think there is enough here to create some concrete tasks and get fixing. Any thoughts on how to proceed or should I just create a few additional tickets and we can prioritize them?

@shevron when I reported this with the screenshots I was testing with a dataset that had 4 or 5 versions created, so the ~7 secs in package_show may be related to #3 . (Although I'm not sure)

@shevron when I reported this with the screenshots I was testing with a dataset that had 4 or 5 versions created, so the ~7 secs in package_show may be related to #3 . (Although I'm not sure)

This is highly likely, as we know tag listing (aka "versions") will slow down linearly with the number of tags.

@shevron one question here: i thought that revision tags are loading in javascript (and hence async) and should not block page load (so being slow is not great but should not block the page) (?)

@rufuspollock I thought so too, but I will verify.

@rufuspollock actually no - version list is rendered on the server. I think it was AJAX at some point but it is not the case anymore for a long time.

@rufuspollock actually no - version list is rendered on the server. I think it was AJAX at some point but it is not the case anymore for a long time.

I created this ticket to make it async: https://github.com/datopian/ckanext-versioning/issues/38

@shevron ok great re async rendering. I think that will help solve a lot of the issue. I note that github only shows the number of releases/revision tags and that the actual rendering is a separate page (i think we may want to go that direction frankly).

Specific tasks created off this analysis (and others related created previously):

Switch tag listing to GraphQL: #3
List tags in ckanext-versioning asynchronously: https://github.com/datopian/ckanext-versioning/issues/38
Reduce calls to _get_owner and _get_repo by caching them: #16
Don't fetch base revision if update is not partial: #21
Investigate strategies for reducing number of calls during create: #22
Investigate all instances where _completeIfNeeded() is triggered to see if we can avoid them by providing defaults: #23

@shevron great - can you move this to top of issue description and give an assessment (next to them or rough payoff and rough cost in days).


PropertyChanged no longer works

Describe the bug
Calling OnPropertyChanged to update the UI so it matches the underlying property no longer works.
Xaml:
<CheckBox Content="Bound to IsChecked"
        HorizontalAlignment="Center"
        VerticalAlignment="Center"
        IsChecked="{Binding IsChecked, Mode=OneWay}" />
<TextBlock Text="{Binding IsChecked, StringFormat='Actual IsChecked value: {0}'}" />
<Button Content="Raise property changed"
        Command="{Binding RaisePropertyChangedCommand}" />

VM:
private bool _isChecked;
public bool IsChecked
{
        get => _isChecked;
        set
        {
                _isChecked = value;
                OnPropertyChanged();
        }
}
public RelayCommand RaisePropertyChangedCommand { get; }

public MainWindowViewModel()
{
        RaisePropertyChangedCommand = new RelayCommand(ExecuteRaisePropertyChanged);
}

private void ExecuteRaisePropertyChanged()
{
        OnPropertyChanged(nameof(IsChecked));
}

To Reproduce

Run the test repository
Check the checkbox so the UI is checked. But as it's one-way binding, so the underlying property is not updated
Click the button to call OnropertyChanged.
The expected behavior should update the UI to match the underlying property but it doesnt work

Expected behavior
On Avalonia 11.0.13 it still works (TestRepo)

Avalonia version
11.1.0 and above including latest nightly build
OS
macOS
Additional context
No response

I can repro on nightly (11.3.999-cibuild0053693-alpha), so this seems to be a breaking change in the 11.1 binding refactor.
PropertyChanged seems to be squashed when the source value hasn't changed from the prior PropertyChanged event. Perhaps an optimization for most scenarios as OneWay is typically used for control properties that the control itself does not mutate?
Repro works as expected when you propagate hard changes. ie.
private void ExecuteRaisePropertyChanged()
{
    IsChecked ^= true;
    IsChecked ^= true;
}


TurtleShroom Productions: Muh RW Cowboy Immersion IV

This seems to be a copy of #2 with some minor changes.
Ill close this and you can do a new PR with just the needed changes from the other PR.


Add Support for Z Machines

Right now, the picobrew-server only supports the Zymatic machine protocol. It would be cool to support newer machines from the Z family as well.

[ ] Document Protocol
[ ] Implement Protocol

@bendavis @blucey Perhaps you could share your MITM captures here.

Here is a firmware file for the Z zseries_0_0_116.bin.zip
Perhaps, we can figure out more of the protocol by looking at the strings in the firmware:
strings zseries_0_0_116.bin |grep picobrew
www.picobrew.com
www.picobrewtest.com
picobrew.azure-devices.net
picobrewdev.azure-devices.net
CString::areEquals(_iothub_url, "picobrewdev.azure-devices.net")
https://picobrew.com
CString::areEquals("picobrew.com", req.Host.c_ptr())
https://picobrew.com:65432
https://picobrew.com/super/long/path/that/will/exceed/the/max/size/of/the/internal/buffer/super/long/path/that/will/exceed/the/max/size/of/the/internal/buffer/super/long/path/that/will/exceed/the/max/size/of/the/internal/buffer/super/long/path/that/will/exceed/the/max/size/of/the/internal/buffer?and&its&crazy&parameters&that&are&also&too&big&for&us&to&handle&and&successully&post
https://www.picobrew.com/Vendors/input.cshtml?id=589&type=PicoBeer&Token=3857B5A570894FC68E5E4AC779288BF8
r.init(stream, "https://www.picobrew.com/Vendors/input.cshtml?" "id=589&type=PicoBeer&Token=3857B5A570894FC68E5E4AC779288BF8")
https://www.picobrew.com/Vendors/input.cshtml?type=ZRecipeList&token=240ac4840e90
r.init(stream, "https://www.picobrew.com/Vendors/input.cshtml?" "type=ZRecipeList&token=240ac4840e90")
https://www.picobrew.com/Vendors/input.cshtml?type=Dummy
r.init(stream, "https://www.picobrew.com/Vendors/input.cshtml?type=Dummy")
https://www.picobrew.com/Vendors/input.cshtml?type=
https://www.picobrew.com/Vendors/input.cshtml?ctl=
https://www.picobrew.com/Vendors/input.cshtml?type=StillRequest&token=
picobrew.com/NewZ

@blucey did a great writeup of the Z protocol so far. I added a few modifications, but I think we're on our way to mapping this thing out. https://github.com/blucey/picobrew-z-api/blob/master/Picobrew Z API.md


Test ECharts SSR

Checklist

[ ] For UI or styling changes, I have added a screenshot or gif showing before & after
[ ] I have added a changeset

Closing for now. SSR works pretty well with echarts, but since we need to know the page width before generating the static SVGs, it's not feasible


how to customize notifiction

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
fow now the if monitor the https or ping function
when server down the result will be
【XXXXXX】
[🔴 Down]
Name:  Servername
connect ETIMEDOUT 191.xx.xx.xx
Time (Asia/Taipei): 2023-08-28 09:40:02
how can i hide the ip address
i don't want to show that
📝 Error Message(s) or Log
none
🐻 Uptime-Kuma Version
1.23.0
💻 Operating System and Arch
Debian12
🌐 Browser
Doesn't matter
🐋 Docker Version
No response
🟩 NodeJS Version
No response

+1
I hope can customize the notifiction to add more server info

@lihexin88
Please refrain from posting +1 / requests for updates things on issues, as this makes issue-management harder.
Issues are for discussing what needs to be done how by whom.
We use 👍🏻 on issues to prioritise work, as always: Pull Requests welcome.


Cannot unify array(float64, 1d, C) and list(float64)<iv=None>

Reporting a bug

[x] I have tried using the latest released version of Numba (most recent is
visible in the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[x] I have included a self contained code sample to reproduce the problem.

import numpy
from numba import jit

list1 = [1.0, 2.0, 3.0, 4.0, 5.0]
list2 = [1.0, 2.0, 3.0, 4.0, 5.0]
list3 = [1.0, 2.0, 3.0, 4.0, 5.0]
list4 = [1.0, 2.0, 3.0, 4.0, 5.0]
list5 = [1.0, 2.0, 3.0, 4.0, 5.0]

@jit(nopython = True)
def test (list):
  output = []
  for i in range(len(list)):
    for j in range(len(list)):
      for k in range(len(list)):
        t_i = np.array(list[i])
        t_j = np.array(list[j])
        t_k = np.array(list[k])
        if i == j:
            e_ij = [0.0] * len(t_i)
        else:
            e_ij = (t_i - t_j)/np.linalg.norm(t_i - t_j)
        if j == k:
            e_jk = [0.0] * len(t_j)
        else:
            e_jk = (t_j - t_k)/np.linalg.norm(t_j - t_k)
        dot_p = np.dot(e_ij, e_jk)
        t_avg = (t_i + t_j + t_k) / 3
        summation = np.linalg.norm(t_i - t_avg) + np.linalg.norm(t_j - t_avg) + np.linalg.norm(t_k - t_avg)
        angle = dot_p * summation
  return output

list_of_list = [list1, list2, list3, list4, list5]
print(test(list_of_list))

The above code would produce the error:
TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot unify array(float64, 1d, C) and list(float64)<iv=None> for 'e_ij.2', defined at <ipython-input-59-44235818d5ab> (27)

File "<ipython-input-59-44235818d5ab>", line 27:
def test (list):
    <source elided>
            e_jk = (t_j - t_k)/np.linalg.norm(t_j - t_k)
        dot_p = np.dot(e_ij, e_jk)
        ^

During: typing of assignment at <ipython-input-59-44235818d5ab> (27)

File "<ipython-input-59-44235818d5ab>", line 27:
def test (list):
    <source elided>
            e_jk = (t_j - t_k)/np.linalg.norm(t_j - t_k)
        dot_p = np.dot(e_ij, e_jk)

I ran into this when trying to compute a dot product between two numpy arrays that I believe to be of data type float64. I tried manually calculating the product by iterating through the list but the same error occurs.

@alexzhang0825 thank you for asking about this.  There is an issue with the imports, I believe the correct line is:
import numpy as np

I believe that if you use arrays instead of lists for the zeros it will work:
        if i == j:
            e_ij = np.zeros(len(t_i))
        else:
            e_ij = (t_i - t_j)/np.linalg.norm(t_i - t_j)
        if j == k:
            e_jk = np.zeros(len(t_j))
        else:
            e_jk = (t_j - t_k)/np.linalg.norm(t_j - t_k)

However, after fixing this  you will  encounter the following error

numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Cannot infer the type of variable 'output', have imprecise type: list(undefined)<iv=None>.

For Numba to be able to compile a list, the list must have a known and
precise type that can be inferred from the other variables. Whilst sometimes
the type of empty lists can be inferred, this is not always the case, see this
documentation for help:

https://numba.pydata.org/numba-doc/latest/user/troubleshoot.html#my-code-has-an-untyped-list-problem

File "issue7038.py", line 12:
def test (list):
  output = []
  ^

This is the result of not writing anything to the output  and Numba does n't know how to return an empty untyped list.
If you append thisngs to output, it will priobably work.

@alexzhang0825 this documentation should help explain the problem regarding unification: https://numba.readthedocs.io/en/stable/user/troubleshoot.html#my-code-has-a-type-unification-problem

@esc apology for the sloppy test code I wrote. I was in a bit of hurry and didn't have time to verify. I tried your fix and it would now prompt me a different error
Encountered the use of a type that is scheduled for deprecation: type 'reflected list' found for argument 'list' of function 'test'.

For more information visit https://numba.pydata.org/numba-doc/latest/reference/deprecation.html#deprecation-of-reflection-for-list-and-set-types

File "<ipython-input-4-6496b60b2bb4>", line 11:
@jit(nopython = True)
def test (list):
^

  warnings.warn(NumbaPendingDeprecationWarning(msg, loc=loc))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-4-6496b60b2bb4> in <module>()
     33
     34 list_of_list = [list1, list2, list3, list4, list5]
---> 35 test(list_of_list)

26 frames
/usr/local/lib/python3.7/dist-packages/numba/core/boxing.py in reflect_list(typ, val, c)
    748     if typ.dtype.reflected:
    749         msg = "cannot reflect element of reflected container: {}\n".format(typ)
--> 750         raise TypeError(msg)
    751
    752     list = listobj.ListInstance(c.context, c.builder, typ, val)

TypeError: Failed in nopython mode pipeline (step: nopython mode backend)
cannot reflect element of reflected container: reflected list(reflected list(float64)<iv=None>)<iv=None>

I did a bit digging and figured that might be due to that Numba cannot take list of lists as argument. If that is the case, is there a workaround for this?

@stuartarchibald thanks for the information. However, I cannot quite find a connection between my case and the example provided. The example code has two possible outcomes for the function with each being a different data type than the other. For my case there is only one possible return type regardless of the input, so I'm not sure why there's an error, or am I missing something.

@stuartarchibald thanks for the information. However, I cannot quite find a connection between my case and the example provided. The example code has two possible outcomes for the function with each being a different data type than the other. For my case there is only one possible return type regardless of the input, so I'm not sure why there's an error, or am I missing something.

@alexzhang0825 no problem. The types have to be unified across all branches as well as the function return type, for example:
from numba import njit

@njit
def foo(n):
  if n > 0:
    a = 'a string'
  else:
    a = (1, 2, 3, 4)
  print(a) # What type is 'a' here?

foo(10)

in the above, depending on the run time value of n, the variable a will either be a string or a tuple. However, at compile time, all Numba knows is that n is an integer, it has no idea about what the value is. As a result, it cannot compile this function as it's not possible for it to "know" what type a will be after the condition is executed and there's no "safe" type that a could "unify" into. An example of something that will unify is this:
from numba import njit
import numpy as np

@njit
def foo(n):
  if n > 0:
    a = np.uint8(7)
  else:
    a = np.complex128(3 + 9j)
  print(a, type(a)) # here, 'a' is a complex128

foo(10)

and it does so because it's "safe" to cast a np.uint8 to a np.complex128, this becomes the "unified" type of a such that a can be represented as that type for the rest of the program following the branching.

I see. Well thanks for the detailed explanation. As of right now I have managed to get a working solution so I will close the issue. Thanks to anyone helping me with it.


added documentation for skipping link recovery

Documentation PR for:

3.9.4: https://github.com/arangodb/arangodb/pull/16979
3.10: https://github.com/arangodb/arangodb/pull/16971
devel: https://github.com/arangodb/arangodb/pull/16900

@jsteemann should this also be added to 3.10 Release Notes?


update-data failed for April

update-data failed today:
https://github.com/bmaupin/langtrends-data/actions/runs/2075625860
Error: Points for language Objective-C decreased a lot; this month: 826812, last month: 828044

It had an issue last month too: https://github.com/bmaupin/langtrends/issues/33
I'll leave this issue open for now; if this keeps happening, we might need to make a change, like pushing back the update so many hours or even days.

GitHub is giving me 534473 using this query:
{
  search(query: "language:Objective-C created:<2022-04-01", type: REPOSITORY) {
    repositoryCount
  }
}

And Stack Overflow is giving 292329 with this query:
https://api.stackexchange.com/2.2/search?todate=1648771200&site=stackoverflow&tagged=objective-c&filter=total
For a total of 826802... so that looks right... Maybe it's explained by people converting Objective C repos to Swift?

In the case of C# (https://github.com/bmaupin/langtrends/issues/33), it went down from 4929951 to 4845788, so a net decrease of 84k, or 1.7%.
In this case it's only going down 1232, so only 0.15%.
Looking at historical data, Objective C has generally gone up every month, although from 2022-02 to 2022-03 it went down a little over 100 points.
But GitHub and Stack Overflow are still showing similar results, and they don't differ much from the previous month; for Objective C:

2022-03-01 GitHub repos: 533416
2022-04-01 GitHub repos: 534473 (+1k)
2022-03-01 Stack Overflow tags: 292201
2022-04-01 Stack Overflow tags: 292329

I think the code might be too sensitive.

I wrote a quick script to calculate deviations: https://github.com/bmaupin/langtrends-data/blob/main/scripts/calculate-deviation.ts
Sample output:
$ node_modules/.bin/ts-node scripts/calculate-deviation.ts
Language: Perl
previousDateScore:  { date: '2020-05-01', languageId: 13, points: 223925 }
currentDateScore:  { date: '2020-06-01', languageId: 13, points: 222778 }
deviation:  -1147
deviation %: -0.5

Language: ColdFusion
previousDateScore:  { date: '2020-08-01', languageId: 33, points: 57814 }
currentDateScore:  { date: '2020-09-01', languageId: 33, points: 35056 }
deviation:  -22758
deviation %: -39.4

Language: Java
previousDateScore:  { date: '2020-09-01', languageId: 9, points: 10173563 }
currentDateScore:  { date: '2020-10-01', languageId: 9, points: 10123206 }
deviation:  -50357
deviation %: -0.5

Language: JavaScript
previousDateScore:  { date: '2020-09-01', languageId: 10, points: 13242634 }
currentDateScore:  { date: '2020-10-01', languageId: 10, points: 13095994 }
deviation:  -146640
deviation %: -1.1

I even tested logic to compare to scores from API, but they're consistently lower (I'm guessing due to historical answers/repositories being deleted or migrated):
$ node_modules/.bin/ts-node scripts/calculate-deviation.ts
Language: Perl
previousDateScore:  { date: '2020-05-01', languageId: 13, points: 223925 }
previous score from API:  216497
currentDateScore:  { date: '2020-06-01', languageId: 13, points: 222778 }
current score from API:  217613
deviation:  -1147
deviation %: -0.5

Language: ColdFusion
previousDateScore:  { date: '2020-08-01', languageId: 33, points: 57814 }
previous score from API:  33393
currentDateScore:  { date: '2020-09-01', languageId: 33, points: 35056 }
current score from API:  33451
deviation:  -22758
deviation %: -39.4

Language: Java
previousDateScore:  { date: '2020-09-01', languageId: 9, points: 10173563 }
previous score from API:  9695476
currentDateScore:  { date: '2020-10-01', languageId: 9, points: 10123206 }
current score from API:  9865219
deviation:  -50357
deviation %: -0.5

Language: JavaScript
previousDateScore:  { date: '2020-09-01', languageId: 10, points: 13242634 }
previous score from API:  12535223
currentDateScore:  { date: '2020-10-01', languageId: 10, points: 13095994 }
current score from API:  12882131
deviation:  -146640
deviation %: -1.1


Fail to replay the recorded simulation

I am trying to replay some recorded simulation, but this does not work for me.
The canvas is not fully displayed (likely cropped), and it looks like nothing is moving in the simulation (the clock goes normally).

Replay url: http://localhost:8000/replay/July1_the_ville_isabella_maria_klaus-step-3-20/1/
I am using M2 macbook pro (manually fixed a few dependencies issues, and I think this is not related to this issue).

Sounds like it's working, but you have to move to where the characters are using the arrow keys (I'm making a PR now to add WASD support and shift to move faster)

same prrblem on ubuntu 20.04 proj run replay in venv python 3.9.12
The canvas is not fully displayed (likely cropped), and it looks like nothing is moving in the simulation (the clock goes normally).

same problem here, are there any solutions?


Tweak StandardMaterial3D's default height properties

Set the default height scale to 5.0 and multiply it by 0.01 in the shader.
Document heightmap properties in BaseMaterial3D class reference.

I dont think this is a great idea, if you are making a mobile game, deep parallax is very expensive and makes the technique unusable.

I dont think this is a great idea, if you are making a mobile game, deep parallax is very expensive and makes the technique unusable.

I amended the pull request to leave Deep Parallax disabled by default. Hopefully, https://github.com/godotengine/godot/pull/50383 should make non-deep parallax more usable on most materials.

Regarding this, what is generally the value range expected in similar applications/materials? I would think its the same spaces as the world.

We discussed this in PR review meeting and agreed that it should be scaled by 0.01 (so if you interpret the unit as meter this property would be edited as cm, though this shouldn't be mentioned as is in the docs probably).

Does this mean the default height should be 5 now?

Yes.

Rebased and tested again, with the default height changed to 5.0. I also filled in the documentation for all heightmap properties in BaseMaterial3D.

You need to convert the > in XML.

Thanks!


[docs] Missing line on Composition page in "Composing multiple components"

Docs feedback
How can we improve Base UI documentation?
In the "Composing multiple components" section on the Composition page, there is a missing line that is not showing in the code example. The line is <Menu.Item render={<a href="base-ui.com" />}> (source here). Perhaps the prettier-ignore comment on the line above is causing it to be skipped somehow?

It's not just that line it looks like. The entire page's code blocks have issues seemingly due to the prettier-ignore as you point out!
It appears to be a regression from #1187


[GEARPUMP-282] Allow user to configure wait duration for a running ap…

…plication
Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the commit message is formatted like:
[GEARPUMP-<Jira issue #>] Meaningful description of pull request
[ ] Make sure tests pass via sbt clean test.
[x] Make sure old documentation affected by the pull request has been updated and new documentation added for new functionality.

+1


Settings screen appear every time the app is opened?

This happens due to
RCT_EXPORT_METHOD(enableNotification) {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [UAirship push].userPushNotificationsEnabled = YES;

    if ([defaults objectForKey:@"first_time_notification_enable"]) {

        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];

    } else {

        [defaults setBool:YES forKey:@"first_time_notification_enable"];
        [defaults synchronize];

    }
}

in react-native-ua/ios/ReactNativeUAIOS/ReactNativeUAIOS.m
Can I turn this behaving off somehow?

hey @olle-moren-schibsted
So, at this moment you should call enableNotification only once and control it calls according to your application behavior. Because every time you call it, it will ask the user to enable notifications.
We are open to pull requests 🎅  Any ideia is welcome!

Thanx for the info! It works fine now ⛵


ng serve errors

Hi, when I'm trying to do ng serve, it displays the following (see below). I'm using your vagrant setup. When I go to localhost:4200, I also see the same error dump titled "Build error":
[DiffingTSCompiler]: Typescript found the following errors:
  /vagrant/src/typings.d.ts (1, 1): File '/vagrant/typings/browser.d.ts' not found.
  app/components/dashboard/dashboard.spec.ts (37, 40): Property 'toEqual' does not exist on type 'NgMatchers'.
  app/components/manage/manage.spec.ts (38, 40): Property 'toEqual' does not exist on type 'NgMatchers'.
  app/components/manage/manage.spec.ts (39, 35): Property 'toEqual' does not exist on type 'NgMatchers'.
  app/components/summary/summary.spec.ts (30, 38): Property 'toBe' does not exist on type 'NgMatchers'.
  app/components/summary/summary.spec.ts (31, 38): Property 'toBe' does not exist on type 'NgMatchers'.
  app/components/summary/summary.spec.ts (35, 38): Property 'toBe' does not exist on type 'NgMatchers'.
  app/components/summary/summary.spec.ts (36, 38): Property 'toBe' does not exist on type 'NgMatchers'.
  app/services/stocks/stocks.spec.ts (15, 1): Cannot find name 'describe'.
  app/services/stocks/stocks.spec.ts (30, 5): Cannot find name 'expect'.
  app/services/stocks/stocks.spec.ts (34, 5): Cannot find name 'expect'.
  app/services/stocks/stocks.spec.ts (39, 5): Cannot find name 'expect'.
  app/services/stocks/stocks.spec.ts (44, 5): Cannot find name 'expect'.
  app/services/stocks/stocks.spec.ts (66, 7): Cannot find name 'expect'.
  app/services/stocks/stocks.spec.ts (67, 7): Cannot find name 'expect'.
  node_modules/angular2/src/core/change_detection/parser/locals.d.ts (3, 14): Cannot find name 'Map'.
  node_modules/angular2/src/core/change_detection/parser/locals.d.ts (4, 42): Cannot find name 'Map'.
  node_modules/angular2/src/core/debug/debug_node.d.ts (14, 13): Cannot find name 'Map'.
  node_modules/angular2/src/core/debug/debug_node.d.ts (24, 17): Cannot find name 'Map'.
  node_modules/angular2/src/core/debug/debug_node.d.ts (25, 17): Cannot find name 'Map'.
  node_modules/angular2/src/core/di/provider.d.ts (436, 103): Cannot find name 'Map'.
  node_modules/angular2/src/core/di/provider.d.ts (436, 135): Cannot find name 'Map'.
  node_modules/angular2/src/core/render/api.d.ts (13, 13): Cannot find name 'Map'.
  node_modules/angular2/src/core/render/api.d.ts (14, 84): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (1, 25): Cannot find name 'MapConstructor'.
  node_modules/angular2/src/facade/collection.d.ts (2, 25): Cannot find name 'SetConstructor'.
  node_modules/angular2/src/facade/collection.d.ts (4, 27): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (4, 39): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (7, 9): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (8, 30): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (11, 43): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (12, 27): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (14, 23): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (15, 25): Cannot find name 'Map'.
  node_modules/angular2/src/facade/collection.d.ts (95, 41): Cannot find name 'Set'.
  node_modules/angular2/src/facade/collection.d.ts (96, 22): Cannot find name 'Set'.
  node_modules/angular2/src/facade/collection.d.ts (97, 25): Cannot find name 'Set'.
  node_modules/angular2/src/facade/lang.d.ts (13, 17): Cannot find name 'Map'.
  node_modules/angular2/src/facade/lang.d.ts (14, 17): Cannot find name 'Set'.
  node_modules/angular2/src/facade/lang.d.ts (78, 59): Cannot find name 'Map'.
  node_modules/angular2/src/facade/promise.d.ts (1, 10): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (3, 14): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (8, 32): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (9, 38): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (10, 35): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (10, 93): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (11, 34): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (12, 32): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (12, 149): Cannot find name 'Promise'.
  node_modules/angular2/src/facade/promise.d.ts (13, 43): Cannot find name 'Promise'.
  node_modules/angular2/src/http/headers.d.ts (43, 59): Cannot find name 'Map'.
  node_modules/angular2/src/http/url_search_params.d.ts (11, 16): Cannot find name 'Map'.
  node_modules/angular2/src/platform/browser/browser_adapter.d.ts (75, 33): Cannot find name 'Map'.
  node_modules/angular2/src/platform/dom/dom_adapter.d.ts (85, 42): Cannot find name 'Map'.
  node_modules/angular2/src/testing/matchers.d.ts (4, 37): Cannot find namespace 'jasmine'.
  node_modules/rxjs/CoreOperators.d.ts (22, 67): Cannot find name 'Promise'.
  node_modules/rxjs/CoreOperators.d.ts (72, 67): Cannot find name 'Promise'.
  node_modules/rxjs/CoreOperators.d.ts (77, 31): Cannot find name 'PromiseConstructor'.
  node_modules/rxjs/CoreOperators.d.ts (77, 54): Cannot find name 'Promise'.
  node_modules/rxjs/Observable.d.ts (65, 67): Cannot find name 'PromiseConstructor'.
  node_modules/rxjs/Observable.d.ts (65, 88): Cannot find name 'Promise'.
  node_modules/rxjs/Observable.d.ts (72, 84): Cannot find name 'Promise'.
  node_modules/rxjs/Observable.d.ts (77, 38): Cannot find name 'Promise'.
  node_modules/rxjs/Observable.d.ts (100, 66): Cannot find name 'Promise'.
  node_modules/rxjs/Observable.d.ts (154, 66): Cannot find name 'Promise'.
  node_modules/rxjs/Observable.d.ts (159, 31): Cannot find name 'PromiseConstructor'.
  node_modules/rxjs/Observable.d.ts (159, 54): Cannot find name 'Promise'.

@gnomeontherun fyi

I've not seen that error before, but I wonder about something that might not have installed correctly. Can you delete the node_modules folder and run npm install from inside the vagrant vm?

ok, I can not open a PR here... please fix it yourself, here is the diff:
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -28,8 +28,10 @@ Vagrant.configure(2) do |config|
     echo "Installing Node Modules"
     echo "-----------------------"
     sudo npm install --global<EMAIL_ADDRESS>+    sudo npm install --global typings
     cd /vagrant
     npm install
+    npm run postinstall -y
     echo "cd /vagrant" >> /home/vagrant/.bashrc
   SHELL
 end

Fantastic, thanks for this. I didn't test all of the scenarios with the Vagrant option, but this does appear to fix the typings issue. I've added this into the repo.


Asset a specific message when multiple messages flowing through the brokers or topics

Created from #220
2. When testing in real environment, there will be multiple messages flowing through the brokers/topics. How can zerocode validate/asset a specific response?
Ans: Use Json Path to look for a perticular message or a record key or value. Very easy!
e.g.
When you have consume multiple records from a topic, that means you receive an array of records as the response.
Then you can assert this way explained in the readme-file.
Where is this JSON path is applied ? In JUNIT or within Zerocode JSON config ?
For example, my test below keeps on failing. In the log, instead of just consuming the messages with the ids I have specified below. It consumes the whole array of 10 messages.
{
    "scenarioName": "consume a JSON message with id_5 & id_9 out of 10 messages produced on topic_A",
    "steps": [

        {
            "name": "consume_step",
            "url": "kafka-topic:topic_A",
            "operation": "consume",
            "request": {
                "consumerLocalConfigs": {
                    "recordType": "JSON",
                    "commitSync": true,
                    "showRecordsConsumed": true,
                    "maxNoOfRetryPollsOrTimeouts": 3
                }
            },
            "assertions": {
                "records": [
                    {
                        "key": "id_5",
                        "value": {

                            "TEST": "Test Val0"
                        }
                    },
                    {
                        "key": "id_9",
                        "value": {

                            "TEST": "Test Val9"
                        }
                    }
                ]
            }
        }
    ]
}

Hello @tghani93, Do you still want us to look at it?

@authorjapps - thank you for your help so far. Just one more question: security. Could you point me to some resources / documentation where I can read about library (zerocode's) security?
TIA

Just trying to understand -
Are you looking for how Zerocode supports/invokes secured APIs e.g. Https /  OAuth2 /  SAML / Kafka etc?
or anything else in general ?
If you could be specific, then we can try to answer...

Yes secure APIs as you mentioned and in general as well :)
I am planning on doing a blog about Zerocode also, so wanted to obtain a deeper understanding as well.

And please excuse my ignorance & naivety, how does Zerocode compares to: https://www.testcontainers.org/
The reason I am asking is as above that I an trying to push zerocode as first preference and would like an expert opinion. TIA

Yes secure APIs as you mentioned and in general as well :)
I am planning on doing a blog about Zerocode also, so wanted to obtain a deeper understanding as well.

That sounds cool. 👍

For Oauth2 one of our contributor(and user) has shared a very short and precise blog in the DZone Security Zone.
I am tagging him(@santhoshTpixler ) here in case you need more details on this.

For Corporate Proxy configuration, you can follow the README section here

This is for any Http api invocation, for instance REST, SOAP etc

SAML/JWT are very straight forward - working examples are here - HelloWorld repo

If tokens are dynamic, it's still easy to inject them into header in runtime.

@santhoshTpixler has explained in his blog

If you use OpenAM or RedHat SSO or Simple Basic Auth

You can refer the examples in readme-file here
You can manually use per test-case wise or embed it to the HttpClient which is oneoff( and less maintenance overhead)

Currently Zerocode's Http Client supports Http and Https connections.

But you can override and add/remove security features to match your project requirement.
See example here - in HelloWorld

    @Override
    public CloseableHttpClient createHttpClient() throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException {
        LOGGER.info("###Used SSL Enabled Http Client for http/https/TLS connections");

       // Add your own security flavour and return the client,
       // then all test-cases will start using this client.
       // That's it really!

        return HttpClients.custom()
                .setSSLContext(sslContext)
                .setSSLHostnameVerifier(new NoopHostnameVerifier())
                .setDefaultCookieStore(cookieStore)
                .build();
    }

Then it's very simple and straight forward to use like below-

Just annotate your test class or suite class.

@UseHttpClient(CustomHttpClient.class)

In similar fashion, you can inject any custom headers you need. Explained here
e.g.

    @Override
    public Map<String, Object> amendRequestHeaders(Map<String, Object> headers) {
        // ----------------------------------------------------
        // Add your custom headers here(if any).
        // e.g. Your auth tokens, client_id or client_secret etc
        // ----------------------------------------------------
        if (headers != null) {
            addCustomHeaders(headers);
        } else {
            headers = new HashMap<>();
            addCustomHeaders(headers);
        }

        return headers;
    }

And please excuse my ignorance & naivety, how does Zerocode compares to: https://www.testcontainers.org/
The reason I am asking is as above that I an trying to push zerocode as first preference and would like an expert opinion. TIA

These two are very different tools for different purposes not worth comparing.

testcontainers.org >>Mostly for anything ... that can run in a Docker container.

Zerocode is for

Application Integration Testing
End to End testing
System Integration testing
Load/Stress testing
API Mock making (using wiremock JSON DSLs)

in a declarative way reducing the hassles to zero for Developers/Testers.
But on the feature-comparison front-
We are in the process of collecting the feedback/data from our customers to capture why they are migrating from their existing tools to Zerocode e.g.

From Postman to Zerocode
From other Step-Definition based BDD tools to Zerocode etc.

We will spin up a Wiki page or a Google doc once that's ready. That might throw some light on this line.
But our advise will be choose a tool/lib/framework

Which is easy to use
Less syntax overhead
Easy dealing with payload
Easy to extend the test runners
easy to add custom security featured
Easy for manual testers to understand the test flow

Hope this helps!
Also we are excited to see your blog when it's ready ❗
and wish you good luck 🙏

@authorjapps , very grateful for your responses and pointers. Will have keep you posted on the blog! :)

@authorjapps, just letting you know that I will be recycling some of your awesome pointers above in the blog!! :)

Sounds cool mate. 👍
Please try to keep the blog precise/short, easily understandable for first timers as well as experience developer/testers :-)
Good luck!


Add feature zeroconf in order to support avahi mDNS registration via zeroconf crate

Add feature zeroconf in order to support avahi mDNS registration via zeroconf crate.
Right now it is pointed at a local branch I have while I wait for the upstream PR to get merged: https://github.com/windy1/zeroconf-rs/pull/31
I've tested and verified this code is functional however, so it should be ready for review!
This should resolve #68

CI is failing though. @ssnover can you fix?

CI is failing though. @ssnover can you fix?

It will continue to fail until I get the upstream MR fixed, then I'll update this repo to point at that one. Is it okay to use a git-based dependency so that this isn't blocked waiting for a release of zeroconf?

CI is failing though. @ssnover can you fix?

It will continue to fail until I get the upstream MR fixed, then I'll update this repo to point at that one. Is it okay to use a git-based dependency so that this isn't blocked waiting for a release of zeroconf?

Git dependency is better than what you have right now (local path) because the CI will at least get a chance to run. It is another story that - because the zeroconf feature is not enabled by default, Clippy will not check it, so you might want to run Clippy on your machine separately, with this feature enabled.
By the way, the CI fails already at cargo fmt so you might want to address that as well.
Now, until the upstream issue is fixed, this PR cannot be merged or else we'll end up with a GIT-only dependency, which (I think) will not allow us to publish on crates.io. So we need the upstream fix. Or - alternatively - if the upstream fix is not big and not an API change, you can depend on the released version of the upstream crate, and then - for a while - document for users that they need to have it patched using [patch.crates-io] in their own Cargo.toml. That's assuming that your fix will eventually get merged, of course.

Sure, I've updated the MR to point at my git fork for now so that it can build in CI but also converted to draft so as not to merge by accident. If y'all are on Linux with avahi it should be testable with chip-tool.

I pulled in the change for #98 in order to pass the build, it looks like they're not planning to sign the CLA.

@ssnover Were your changes merged upstream? The PR is not (any longer?) in Draft?

Yes, changes merged into a new version 0.12 of zeroconf that was published on crates.io.

@kedars I've not tested the zeroconf mDNS (yet), but given that it is behind a feature flag, we should probably merge.

One other thing I'd note is that with additional testing it should be possible for this implementation to replace the MacOS mDNS client as well as zeroconf is supposed to be able to support both. I cannot test that though and I think it's lower impact to initially merge for Linux to get testing via users of the main branch.


lb: Replace gocheck with built-in go test

Please refer to individual commits for more details, this PR is focusing on files owned by cilium/sig-lb team.
Relates: https://github.com/cilium/cilium/issues/28596

/ci-runtime

/ci-integration

/test


Replace old RnD/ROI plugin with RnD/MultiWaveCal

This relates to https://github.com/WasatchPhotonics/Wasatch.PY/issues/126 and associated https://github.com/WasatchPhotonics/Wasatch.PY/pull/127.

This should have been on a new branch specific to issue 508, but I accidentally implemented it on my previously-merged branch mzieg-502-multichannel.


Lumberjack does not test if provided Filename is writeable when initializing Logger

Using Lumberjack v2: gopkg.in/natefinch/lumberjack.v2 v2.0.0
		logFile := &lumberjack.Logger{
			Filename:   "/unwriteable/file.log",
			MaxSize:    10, // megabytes
			MaxBackups: 3,
			MaxAge:     28, //days
			Compress:   true,
		}

Given that "/unwriteable/file.log" has 444 permissions, I found that Logger didn't complain at all that it couldn't write to the provided file. Is this intended behavior?

I just hit this same thing. It is a very surprising result that specifying an obviously nonsensical log file just causes log entries to be essentially discarded without the app or user ever being the wiser. Yikes!

Hmm... There should probably be a constructor that returns a logger and an error, so it can do some sanity checks.   I would expect that the writes to an invalid file would return an error, but ignoring errors from log output is pretty normal practice (not good practice, but normal).

I do think a constructor that double-checks whether the given file is writeable would be a big help.
And you're very right that ignoring errors from log output is not good. It should probably be a more standard practice to wrap the chosen log library in something that handles it in an application-specific way.

I just hit this same thing. It is a very surprising result that specifying an obviously nonsensical log file just causes log entries to be essentially discarded without the app or user ever being the wiser. Yikes!

I think this is expected behavior, if you printf in a headless program, we do not expect an error.
Assuming logging is the error reporting tool of last resort, I don't see the point. The lack of logs should be informative enough.
What I would do to cover this situation is to add a line of logging during the start of the program, such as "[datetime] abc version xyz started", you can also add error checks for this print or write method call. I think that log object creation should be allowed to have no side effects, so an error check doesn't make sense here.


Add the functions set_data_path() and load_settings()

This allows to store the log files and config files anywhere, but also to load different settings.yaml files at runtime.

Codecov Report

Merging #6 (5025f4e) into main (fdae411) will increase coverage by 0.02%.
The diff coverage is 92.30%.

@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
+ Coverage   99.25%   99.28%   +0.02%
==========================================
  Files           1        1
  Lines         135      139       +4
==========================================
+ Hits          134      138       +4
  Misses          1        1

Impacted Files
Coverage Δ

src/KiteUtils.jl
99.28% <92.30%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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


HBASE-23238: Remove 'static'ness of cell counter in LimitKVsReturnFil…

…ter (addendum)
Having it as static means the test cannot be parameterized (ran into
this issue in HBASE-23305). That happens because the field is not
reset between parameterized runs.

@wchevreuil Mind taking a look at this simple patch? Related to one of your old commits.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 10s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ master Compile Tests _

+1 :green_heart:
mvninstall
5m 33s
master passed

+1 :green_heart:
compile
0m 59s
master passed

+1 :green_heart:
checkstyle
1m 20s
master passed

+1 :green_heart:
shadedjars
4m 41s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 38s
master passed

+0 :ok:
spotbugs
4m 24s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
4m 23s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
4m 59s
the patch passed

+1 :green_heart:
compile
0m 55s
the patch passed

+1 :green_heart:
javac
0m 55s
the patch passed

+1 :green_heart:
checkstyle
1m 19s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
4m 38s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
15m 58s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

+1 :green_heart:
javadoc
0m 37s
the patch passed

+1 :green_heart:
findbugs
4m 31s
the patch passed

_ Other Tests _

-1 :x:
unit
164m 59s
hbase-server in the patch failed.

+1 :green_heart:
asflicense
0m 38s
The patch does not generate ASF License warnings.

223m 41s

Reason
Tests

Failed junit tests
hadoop.hbase.quotas.TestClusterScopeQuotaThrottle

hadoop.hbase.master.assignment.TestRegionMoveAndAbandon

Subsystem
Report/Notes

Docker
Client=19.03.5 Server=19.03.5 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-963/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/963

JIRA Issue
HBASE-23238

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux 986f27fea3aa 4.15.0-65-generic #74-Ubuntu SMP Tue Sep 17 17:06:04 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-963/out/precommit/personality/provided.sh

git revision
master / 56f9db98d1

Default Java
1.8.0_181

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-963/1/artifact/out/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-963/1/testReport/

Max. process+thread count
4943 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-963/1/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.


[analyzer] InconsistentAnalysisException: Requested result might be inconsistent with previously returned results

analyzer Meet this issue after upgrading to 3.4.0
build_runner works well with the old one 3.3.1
What I am using is freezed. This a popular package based on code generation.

We are facing this too.
A workaround is to specifically set analyzer as 3.3.1 in dependency_overrides in your project's pubspec.yaml file:
dependency_overrides:
  analyzer: 3.3.1

@jakemac53

We are facing this too.
A workaround is to specifically set analyzer as 3.3.1 in dependency_overrides in your project's pubspec.yaml file:
dependency_overrides:
  analyzer: 3.3.1

Yep. That is my solution. But I hate workaround

I don't use freezed, but I saw similar issue with drift. https://github.com/dart-lang/build/pull/3269
I will revert the check for consistency after operations, and leave it to be only directly before one. This helps drift.

https://dart-review.googlesource.com/c/sdk/+/238620

analyzer 3.4.1 was published

Probably fixed, at least for drift. Reopen if you still see it.

Thanks for the quick fix! 🌹

Probably fixed, at least for drift. Reopen if you still see it.

Many thanks. works well from my side

I can confirm that it works for freezed as well, thanks for the quick turn-around time on this issue!


Account Name Parsing in LongPosts

LongPosts don't make full use of the ADN Annotations, which means that Account Names are non-clickable. This needs to be resolved in the front end.

Done and done. Thanks go out to @pme for making more use of Nice than anyone else.


Binding ignores object keys that begin with '$'

Codepen:
http://codepen.io/uriva/pen/mVoQZg

leading $ and $$ are public / private API indicators and you should not use them in your objects for that reason
The codepen doesn't show the problem
The pen is using a very old version of angular - it shouldn't matter in this case, but please always test with the latest stable.

Fixed codepen.

Related to #1463

Duplicate of https://github.com/angular/angular.js/issues/6266 Atm, we don't have plans to fix this and I've recently updated the repeat docs to reflect this.


gamepad handling in FF vs Chrome?

This is not the fault of this library in any way, but I'm seeing my very vanilla, common, basic gamepad work perfectly in chrome, and be waaay off in FF. Looking at a gamepad tester, and looking in the console at the returned values, I see that this is probably because FF maps this controller quite differently (and admittedly worse) than Chrome does.
Is there any way to handle this that you're aware of? All the buttons and axes are there in both, but in FF the variable-sensitivity triggers are reported as axes, for example, as are the dpad buttons. (Chrome says 4 axes and 17 buttons, FF says 8 axes and 11 buttons).
I've already got a work-in-progress button-mapping component I've designed that works fine for chrome, I'm imagining I probably just need to expand it to detect axis values as well now, basically. I'm just going to have to look into how to manually change the stuff that movement controls does in the background, I think.
Any interest on a pull request for this type of thing, and if so, any thoughts on implementation?

Still an issue?


Is there any option to export this as pdf or png format ?

PNG: Right click anywhere inside editor -> Export -> png
PDF: not supported


API access to MongoDB collections

import pprint

import requests

class FastAPIClient:
    def __init__(self, base_url):
        self.base_url = base_url

    def _make_request(self, method, endpoint, params=None, data=None):
        url = f"{self.base_url}/{endpoint}"
        response = requests.request(method, url, params=params, json=data)
        response.raise_for_status()
        return response.json()

    def get_paginated_data(self, endpoint, params, results_key='resources', continuation_key='next_page_token',
                           continuation_parameter='page_token'):
        params = params or {}
        data = []

        while True:
            response = self._make_request('GET', endpoint, params=params)
            data.extend(response[results_key])

            if continuation_key in response:
                params[continuation_parameter] = response[continuation_key]
            else:
                break

        return data

if __name__ == "__main__":
    client_base_url = "https://api.microbiomedata.org"
    endpoint_name = "nmdcschema/study_set"
    params_string = {
        "max_page_size": 20
    }

    client = FastAPIClient(client_base_url)
    paginated_data = client.get_paginated_data(endpoint=endpoint_name, params=params_string)
    pprint.pprint(paginated_data)

trace this requirement back the following targets in project.Makefile
dump-validate-report-mongodb: mongodb-cleanup accepting_legacy_ids_all \
local/mongodb-collection-report.txt \
local/selected_mongodb_contents.json \
local/selected_mongodb_contents_jsonschema_check.txt \
linkml-validate-mongodb \
local/selected_mongodb_contents.json.gz

dump-validate-report-convert-mongodb: mongodb-cleanup \
local/selected_mongodb_contents_fully_repaired.yaml \
local/selected_mongodb_contents_fully_repaired.yaml.gz \
local/selected_mongodb_contents_fully_repaired.ttl \
local/selected_mongodb_contents_fully_repaired.ttl.gz

Which start with the mongodb_exporter CLI, which is defined as follows by pyproject.toml
mongodb_exporter = "nmdc_schema.mongodb_direct_to_nmdc_Database_file:export_to_yaml"

We will be using methods from https://api.microbiomedata.org/docs

There doesn't seem to be a get collection names method. May still need to get that from a direct MongoDB connection from now, which generally requires a NERSC ssh key, a NERSC tunnel, and MongoDB credentials.

Could also use mongodump or mongoexport commands. Would still require assembling the JSON files into LinkML style JSON, even if it isn't validated "yet"

Implemented in nmdc_schema/mongo_dump_api_emph.py from branch issue-1070-content-from-mongo

that script can't currently get functional_annotation_agg via the API and defaults back to PyMongo.
that script still uses PyMongo to get collection names and estimated sizes. @dwinston recently enabled a API solution for this and I should swtich.

that script still uses PyMongo to get collection names and estimated sizes. @dwinston recently enabled a API solution for this and I should swtich.

Here's a link to the PR in the nmdc-runtime repo, in which that API solution was introduced: https://github.com/microbiomedata/nmdc-runtime/pull/287
Here's a link to the API endpoint on Swagger UI (in production): https://api.microbiomedata.org/docs#/metadata/get_nmdc_database_collection_stats_nmdcschema_collection_stats_get

Issue cleanup note:

Update Issue title to be more actionable; e.g. "Use API to get MongoDB collection names".

Anything left to do here?

I want to update mongo_dump_api_emph.py  so that it can get per-collection document counts from https://api.microbiomedata.org/nmdcschema/collection_stats
I think there is an issue for that already, but I haven't found it yet. When I do I will link it here and close this issue.

https://github.com/microbiomedata/nmdc-schema/issues/1258


Attribute behaviour to descending neurons

Descending neurons identified by FBrf0239335 (see #345 ) are starting to have behavioural function attributed to them. I will use this ticket to add references for this should you want to record this in the ontology via GO terms.
FBrf0240068 attributes freezing behaviour to descending neuron of the posterior brain DNp09

For this it is probably best to do on a paper by paper basis, rather than trying to collect them and do them together -> leaving this as single paper ticket rather than converting to EPIC.


Increase request pool size on external client tests

This PR has 2 changes:

Improve rtcs:setup/x to merge specified prams into default prams
Increase request_pool size

Sometimes request pool workers of poolboy is exhausted on external_client_tests, then it causes the
test fails, since external_client_tests runs individual client tests concurrently using 'make -j 8'.
So pool size should be increased enough.
I changed rtcs:setup to merge specified params into default configs before Increasing pool size, to increase pool size easily.

The reason why we had small connection pools by default is to find bugs by setting more tight parameters. If it's an issue in specific test, the parameters should be specified in each test setup, external_client_tests for this case.

Fm, I was wrong ^^;

ha, my 3rd line in the description was unclear. Updated.

Simpler API than before. Nice change :smile:

+1 14c47a1

@borshop merge

No release note needed as this is a test code update


Fix formatting in combination with i18n

Right now all formatting is based around the English language version of Revoke.cash. Different languages may have longer words, causing formatting issues.
For example: if you edit an allowance (language set to Spanish) on a large screen, The buttons "Actualizar" and "Cancelar" fit. But when the cells are pressed more together due to being on a smaller screen, these buttons are cut off. If we remove the w-40 from AllowanceCell this gets fixed, but then we run into other formatting issues.

We solved this by using conditional formatting based on the language in certain spots. This is absolutely not ideal, but it is what it is for now.


Validate template values on calls to the scaffolder API

Calls to the scaffolder API should use the schema from the template
entity to validate input values.
You can run this using the following:
const axios = require("axios");
(async () => {
  try {
    const response = await axios.post(
      "http://localhost:7000/scaffolder/v1/jobs/",
      {
        template: {
          apiVersion: "backstage.io/v1alpha1",
          kind: "Template",
          metadata: {
            description: "Create a new CRA website project",
            name: "create-react-app-template",
            tags: ["experimental", "react", "cra"],
            title: "Create React App Template",
          },
          spec: {
            owner<EMAIL_ADDRESS>            path: ".",
            schema: {
              properties: {
                component_id: {
                  description: "Unique name of the component",
                  title: "Name",
                  type: "string",
                },
                description: {
                  description: "Description of the component",
                  title: "Description",
                  type: "string",
                },
                use_typescript: {
                  default: true,
                  description: "Include typescript",
                  title: "Use Typescript",
                  type: "boolean",
                },
              },
              required: ["component_id", "use_typescript"],
            },
            templater: "cra",
            type: "website",
          },
        },
        values: {},
      }
    );
    console.log(response.data);
  } catch (e) {
      console.log(e.response.data);
  }
})();

output looks like (axios has parsed it content type is json):
{
  errors: [
    {
      property: 'instance',
      message: 'requires property "component_id"',
      schema: [Object],
      instance: {},
      name: 'required',
      argument: 'component_id',
      stack: 'instance requires property "component_id"'
    },
    {
      property: 'instance',
      message: 'requires property "use_typescript"',
      schema: [Object],
      instance: {},
      name: 'required',
      argument: 'use_typescript',
      stack: 'instance requires property "use_typescript"'
    }
  ]
}

Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] All tests are passing yarn test
[ ] Screenshots attached (for UI changes)
[ ] Relevant documentation updated
[ ] Prettier run on changed files
[ ] Tests added for new functionality
[ ] Regression tests added for bug fixes

@iain-b this doesn't actually display an error to the user right? It just validates on the server and returns errors.
Just want to make sure I'm understanding it correctly.

@iain-b this doesn't actually display an error to the user right? It just validates on the server and returns errors.
Just want to make sure I'm understanding it correctly.

TL;DR Yes, this isn't intended to be displayed to the user.
AFAIK this feature is intended to cater for direct API usage where currently there's no validation. On the frontend the same schema we use here to validate is used to build the form, so barring a bug in that code a request from the front end can't trip backend validation (famous last words etc).
That said, I didn't test removing some frontend validation and seeing how the error displays (if at all).
I'm assuming without the changes the user would presumably get a 500 and a stack trace where this gives descriptive validation errors (displayed how though IDK will test tomorrow).

Got it. All good to ship upstream as far as I'm concerned.


Fix WidgetsApp to wrap its contents in a Directionality

...rather than only wrapping the children.
Also, improvements to Banner to better support RTL, and mock_canvas to
make debugging things easier.

cc @abarth for RTL changes

This LGTM although I didn't parse all of the mock_canvas changes.
Thanks for fixing the build!

Landing on red to fix the build.
Landing without a complete Travis run because Travis isn't running macOS testing right now. It passed on Linux. I'll watch infra for mac results.


Drag and drop doesn't work well in iOS devices

Describe the bug
Dragging and dropping in iOS devices is clunky at best and doesn't work as expected.
To Reproduce
Steps to reproduce the behavior:

Go to https://rcdexta.github.io/react-trello/ in an iOS device
Try drag and drop

Expected behavior
It should work normally like on web or android devices
Current behavior
It grabs the card but when swiping left or right it scrolls the wrong way unless you long-press a text when grabbing
Screenshots
No screenshots but got a video:
https://photos.app.goo.gl/4pmA2n2JESAANkwY6

any update to this issue? I'm also facing a similar problem on specific iOS mobile devices.

We are also affected by this issue.
However I noticed that dragging cards seems to work a bit better in Cordova (a framework to build a mobile app from a web app)
If nobody has a fix for this issue then we have to fork it, and fix it by ourself, since our customers will not accept buggy drag and drop on Apple devices.

@derUli did you fork and find a fix for this issue? We've just come up against the same problem so will need to try to fix and submit a PR. Haven't started on it yet so if you've found a solution it would be great if you could give me a head start :D

I have a version where the Dragging of Cards is fixed on iOS devices but the horizontal scroll when the user touches a card short doesn't work.
I had to stop the work on this issue since I had other things to do in my job.
The bug is is in "trello-smooth-dnd" which is a fork of "react-smooth-dnd".
If anyone is interested in continue my work in progress fix here are my repositories
The official example project but using my fork of smooth-dnd:
https://github.com/derUli/react-trello-example
My fork of the buggy library:
https://github.com/derUli/smooth-dnd
Fork of react-trello to replace smooth-dnd with my fork:
https://github.com/derUli/react-trello
If you want to fire up the example just run
the restart.sh script.
It fetches and builds the latest commit of my fork.


router: add new path-splitting prefix matcher

Commit Message: Extend RouteMatch with a new field for subpath matching
Additional Description: The new field would allow more efficient generation of routes, replacing pairs of path+prefix routes into one path_separated_prefix route
Risk Level: Low
Testing: Unit test
Docs Changes: inline
Release Notes: TBD
Fixes #18148

Not sure about the naming, path_separated_prefix seems long.
Thinking about subpath as an alternative

I'm on the fence here on whether to do this vs the other alternatives in https://github.com/envoyproxy/envoy/issues/18148. @kyessenov  @snowp

Until we can use the matcher API to select routes, I don't see another way to support this without adding API fields. So I think the stumbling block is moving towards matchers in RDS, and I'm not up to date on that area.

@snowp can you help out here with matcher + RouteConfiguration?

It is possible today to use the new matching structure via RDS (https://github.com/envoyproxy/envoy/pull/17633), so if that was the main perceived blocker perhaps this should go into the new matcher framework? Or are there other reasons to want to continue to add to the legacy route matcher?

It is possible today to use the new matching structure via RDS (#17633), so if that was the main perceived blocker perhaps this should go into the new matcher framework? Or are there other reasons to want to continue to add to the legacy route matcher?

Adding it to the legacy route matcher would give users a more easily consumable feature.
Frankly, the new matching structure is still confusing to me, and that's the main reason I chose the legacy routes.
I could try to open another PR for the RDS version and close this one, or perhaps they could coexist?

@tpetkov-VMW this is failing on version history formatting - but i guess you are waiting for feedback before proceeding/fixing
/wait-any

I'm not sure what to do, and whether this patch is desired at all.
I'll fix what's needed to pass the checks, so the PR is ready to go.

@tpetkov-VMW I've discussed this with @envoyproxy/api-shepherds and we're in-principle good with moving ahead with this PR. The consensus is that we will continue to support and evolve the existing matchers (and ideally integrate them as leaf functions into the generalized match trees).

/wai

/wait

/assign-from  @envoyproxy/first-pass-reviewers

/assign-from @envoyproxy/senior-maintainers

Can you please add release-notes?
I've added them in /docs/root/version_history/current.rst but not sure what to write in the comment at the top
Is just "inline" okay?

Can you please add release-notes?

I've added them in /docs/root/version_history/current.rst but not sure what to write in the comment at the top Is just "inline" okay?

Yep. I typically write "Added", unless there's some special doc that was added.
BTW: please merge main.

LGTM


[Bug] When next map == curMap with the same mode. Server freeze.

Describe the bug
Currently I use my RNG to randomly choose a next map (in config) when a new round begins.
public override async Task OnGameStateChanged(GameState oldState, GameState newState)
                case GameState.Playing:
                        this.MapRotation.ClearRotation();
                        var nextMap = MapManager.GetARandomAvailableMap(Gamemode, Map);
                        this.MapRotation.SetRotation(nextMap);

As a test result, if you dont remove cur Map from that result array, the game will freeze in map votes.
To Reproduce
As the code above presented.
Expected behavior
Should we allow player to play a same map after this round?
If it shoudn't I've alter the GetARandomAvailableMap function to opt in a Map and it will RNG other maps.
Screenshots
Sorry, this I just remembered the MapVote list is blank and when Endgame countdown hits zero, nothing happened.
When you quit the server and rejoin, received ERR CODE:1. the server prints 6000ms timeout.
Additional context
N/A
Should be easy to reproduce.

One more thing, the GameServer.Map is not represent the current map name.
So if I just remove the Map and then it removes the first map, not the current map
        public static string somefunction (string currentMode, string currentMap)
        {
            List<string> mapList = GetAvailableMapList(currentMode);
            if (mapList.Contains(currentMap))
                mapList.Remove(currentMap);
            int rng = RandomNumberGenerator.GetInt32(mapList.Count);
            return mapList[rng];
        }

Code above shows how I get a random next map.

Apparently fixed

One more thing, the GameServer.Map is not represent the current map name. So if I just remove the Map and then it removes the first map, not the current map
        public static string somefunction (string currentMode, string currentMap)
        {
            List<string> mapList = GetAvailableMapList(currentMode);
            if (mapList.Contains(currentMap))
                mapList.Remove(currentMap);
            int rng = RandomNumberGenerator.GetInt32(mapList.Count);
            return mapList[rng];
        }

Code above shows how I get a random next map.

https://github.com/MrOkiDoki/BattleBit-Community-Server-API/issues/62 for that


Odd behavior of "make unique" with PackedColorArray properties

Godot version
4.0.beta13
System information
Linux Vulkan (but issue is renderer indepenent)
Issue description
It looks like PackedColorArray (and possibly other packed arrays) properties don't get copied deeply enough when doing "make unique" (even recursive, though this shouldn't matter as these aren't subresources).
A project save/reload makes this visible, and also returns the behavior to expected from then on (until you try to do the same thing again, that is).
See reproduction steps below.
Edit: I'm actually unsure this is a problem with these types of properties in general or just when they are shader properties. I didn't assume this would make a difference, but couldn't find any other classes taking these, to test.
Steps to reproduce

Uncompress and open the project from repro8.zip

Duplicate the "Label" node
Go to "Material", do "Make Unique"  on the ShaderMaterial (you can choose recursive, it won't make a difference)
Change the colors on the duplicated material. So far so good!

Now, save and reload the project.
Oops! The original label has the same colors as the duplicated and modified one now, as if unique-ification never happened.

Change the colors on the duplicated material again.
Save, and reload the project again.

No unexpected changes. Everything is fine from now on.

Minimal reproduction project
repro8.zip

Confirmed on 4.0-beta14.