Catalogue support for models

I don't know if this is done in other frameworks with other names.
The case usage is that on the database sometimes the columns contain an index or abbreviaton of the value to be shown to the user. Other times the data needs to be translated to be shown and it can be time consuming to type Yii::t('app', $model->attribute) everytime its used or create internal methods to do it.
With this there is an introduction to a new functionality named Model::catalogues() which handles static data to be used inside the class. The data can be accesed using the Model::getTerminology() static method or Model::getAttributeTerminology instanced method.
The method Model::catalogues contain documentation with usage examples.

[x] functional methods.
[x] phpDoc
[x] Unit tests
[ ] include it on the model guide.
[ ] squash commits on another branch

I don't know why it fails on php7

If this gets accepted I will make an InCatalogueValidator to simplify rules and an CatalogueInput widget to be used with ActiveForm

Won't merge it into framework since it's more application layer thing than framework one. Implementation strategy depends very much on the project. If it's a CMS, the approach is OK. Personally, since I'm usually working on non-CMS projects, I'm handling it differently using int field values and constants.

@samdark this is very related to frameworks, even the yii app advanced and yii app basic templates uses it on the User model.
The most common ussage is for status, there are several status, each one of them with an static meaning. On the database status = 2 means nothing, a person needs to check what it means. So this was originally though as a method to have a way to handle those columns more easily.
Please read the changes on the Model.php file. This is not about CMS.

@qiangxue @cebe any input on this?

@Faryshta generating human readable output for data is not part of the mode layer but more of the view layer. This should be implmented in a formatter class so it can be used in views like gridview and detailview.

@cebe then why there are methods like attributeLabels or attributeHints if both are for human readable data.

This should be implmented in a formatter class so it can be used in views like gridview and detailview.

How about things like status for a row status = 1 might mean active, for another might mean suspended, pending or anything else.

I agree with @Faryshta, models currently hold presentation layer data anyway.
But I do it outside of a model anyway:

creating an enum component in my app,
registering new enums there (for example in on a module bootstrap)
adding a asEnum formatter method.

In models I only added a attributeFormat method, but it's another topic.

maybe my mistake was naming it 'catalogues' i should have named it 'attributeFormats' or 'attributeTaxonomies'

Personally I'm creating a separate method for each attribute i.e.:
public function getStatuses()
{
   return [
      self::STATUS_NEW => 'New',
      self::STATUS_CLOSED => 'Closed';
   ];
}

I am doing your same approach at the moment @samdark but you have to agree having a method to handle all the catalogues/dictionaries/taxonomies is very useful when you want to add one.
and as i said, i want to build validators and generators for this patch so it can be used more easily.
I think I should change the name of the method since catalogues is not very self explanatory.

I don't see how having all data available via single method is useful for the case.

@samdark using your statuses example.
If the method getStatuses has functions like translations they will be called everytime the method is invoked causing a performance issue.
and if you want to get the status of a certain model in human readable format you have to do something like
ArrayHelper::getValue($model->getStatuses, $model->status)
everytime you use it or create a separate method getStatusText which is what i do.
And now repeat for all the enumerable columns you have on all the models you have. With this you don't need to define any other method and it fixes the performance.

My opinion: feature is too specific. There are many ways for handling such things as verbose status names.
i personally use static file ActiveRecord:
https://github.com/yii2tech/filedb
Proposed solution can be provided as extension, but should not belong to the core.

I tend to agree.

Should I put it on a behavior or similar? @samdark @klimov-paul @cebe

I think either behavior or trait could be a good match.

I guess the name of 'catalogue' was not very appreciated. Any other name which is more adecuate for this?
TaxonomyTrait, OptionsTrait ?

fieldValues?

AttributeEnumTrait?

EnumTrait?

I like EnumTrait.

+1 for EnumTrait

+1 EnumTrait

Ok then I will create the yii\base\EnumTrait, yii\validators\EnumValidator, yii\widgets\EnumWidget so that this can be automatically used for validations and formularies.

I've meant that it could be released as an extension. That means namespace should not be yii but something your own.

https://github.com/Faryshta/yii2-enum here is the extension. Can someone help me configure travis and unit testing?

Check travis docs and look at https://github.com/yiisoft/yii2-redis/blob/master/.travis.yml and https://github.com/yiisoft/yii2-redis/blob/master/phpunit.xml.dist.

@samdark https://github.com/Faryshta/yii2-enum i added the files and followed the travis doc. where can i see if its executing?

You need to get to repo settings and enable travis.

@samdark I think I already one it. I added you as collaborator, can you help?

Add me as admin. I'll check things, then remove me, OK?

@Faryshta i left my comments under commits

I published the new repo here http://faryshta.github.io/yii2-enum
Any feedback and help is welcome.
Right now I am stuck using the yii2-apidoc (or any other phpDoc tool) to generate the documentation for classes and traits.


Main Page Fix

UX Fix for Main page - Make a dashboard, not a list of information
This is a conceptual enhancement and needs a lot of discussion and possibly User discussion
Should be done in phases:

Phase 1: Replace current main page with dashboard (icons that lead to information, or give status)
Phase 2: explore what is needed on the dashboard
Phase 3: eliminate the menu??

Do you have a mock up or example you would like this to look like?

This the sort of thing you have in mind? I am so not a designer.

I didn't explain well, because I was only reminding myself.  I owe this issue wire frames and concepts.

@dleverentz Relevant to your interests :-D


Atomic data access to OFE management information for postprocessing

Presently, we "loose track" of crops and managements as they go through prj2wepp.  I have readers for the generated files, so it may be good to back-compute these values for downstream application usage.

Preliminary support for this exists with pyiem.dep.man2df helper.  The question now is how to tie this into the sweep workflow.


Apply prettier config to all files, and migrate to ESLint

Related issues/discussions
closes #53
Description of the changes

Add Prettier to project config
Add ESLint to project config
Apply Prettier formatter to all files in the project

Awesome, will read in a few minutes

Just added https://github.com/okonet/lint-staged for pre-commit linting & formatting

Thanks. I noticed that you updated the yarn lock -- which also includes taobao nom registry as upstream. I will probably regenerate another yarn.lock as a checked in version later though.

Uh-oh, that’s my fault. I’ll be careful next time!
发件人: Zhen<EMAIL_ADDRESS>发送时间: 2021年3月11日 16:39
收件人<EMAIL_ADDRESS>抄送: Rynco<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [chafan-dev/chafan-frontend] Apply prettier config to all files, and migrate to ESLint (#54)
Thanks. I noticed that you updated the yarn lock -- which also includes taobao nom registry as upstream. I will probably regenerate another yarn.lock as a checked in version later though.
―
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fchafan-dev%2Fchafan-frontend%2Fpull%2F54%23issuecomment-796567906&data=04|01||6f6aa0e7fc8342181a0d08d8e469387e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637510487856325282|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=QgeSU2AtqpESmzV0eGg4LSD6aU0FKAOEFDq9rO%2BtpGk%3D&reserved=0, or unsubscribehttps://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACOIVL6S3I3FF4QQIHF3VVTTDBXT7ANCNFSM4Y7YPFOA&data=04|01||6f6aa0e7fc8342181a0d08d8e469387e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637510487856335238|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=zchmfl4JVaqBC%2BpTj%2FnwlN4yY5gUyfM1vNjlLdPjsWU%3D&reserved=0.

I've pushed a new lock file.


Not always necessary to block advertisements.

Please excuse me that English is not my first language.
The software is awsome with AB block function. However, I know that at least one streamer regularly "Manually play the ADs so they will not interrupt the stream.". I don't know how they did it but there truly aren't any advertisements. Despite this, the recorder still detects AD segments and cut them out.
So, I think it might be helpful to have an option like "don't block the ads"?

I think I made a mistake; an alternative screen was actually shown during that period. It’s pointless to retain it. I guess the reason why I didn't see the commercial break is some ADblocking scripts installed on my browser.


App framework - Post menu and channel info bindings, App forms

Summary
This PR adds functionality for the App framework, specifically:

Post menu bindings
Channel info bindings
Fixes for App forms

Ticket Link
https://mattermost.atlassian.net/browse/MM-43210
https://mattermost.atlassian.net/browse/MM-43211
https://mattermost.atlassian.net/browse/MM-43209
Known remaining issues

[x] App form submit button is not pressable for some reason - FIXED
[x] Icons need to support HTTP URLs - DONE
[x] Post menu items scrolling doesn't work - FIXED
[ ] Radio button styling for dark theme (see below)

Checklist

[ ] Added or updated unit tests (required for all new features)
[x] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Android Simulator - Pixel 5
Screenshots

Release Note

Support for the App framework has been added

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26049
https://circleci.com/gh/mattermost/mattermost-mobile/26048

Artifact links:
https://output.circle-artifacts.com/output/job/28be4552-cf26-49bd-8a44-7e8ea3335695/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa
https://output.circle-artifacts.com/output/job/206b3e9b-b9af-4127-bfc6-83df4207f2c0/artifacts/0/tmp/artifacts/Mattermost_Beta.apk

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26145
https://circleci.com/gh/mattermost/mattermost-mobile/26144

Artifact links:
https://output.circle-artifacts.com/output/job/ee72961c-99a0-4b1b-b87e-c8528541a03b/artifacts/0/tmp/artifacts/Mattermost_Beta.apk
https://output.circle-artifacts.com/output/job/132246a1-5725-430f-b23d-8015d939aa6f/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa

@mickmister I have done a round of testing post menu bindings as well as channel header bindings seem to be working. 🎉
Couple issues I see.

Forms don't always work. Sometimes they show up as blank on mobile. Ex: run /test form full in the input box. The form is blank and the X and submit button are not functional.

Forms with embedded form are now showing on mobile. However the App crashes when I try to use the single selects to pick data

(Android crash)

Please reach out if you need any help reproducing these or there is anything I can do to speed up the investigation.

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26280
https://circleci.com/gh/mattermost/mattermost-mobile/26279

Building app in separate branch.

@mickmister let's follow-up on this maybe. I don't see a difference in the blank form.

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26293
https://circleci.com/gh/mattermost/mattermost-mobile/26292

Artifact links:
https://output.circle-artifacts.com/output/job/a20e6b7d-92aa-4d66-a0b7-ae598b68c909/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa
https://output.circle-artifacts.com/output/job/762dec2c-5d01-4518-b4e7-1f023de8446b/artifacts/0/tmp/artifacts/Mattermost_Beta.apk

Additionally there are conflicts to be resolved

@enahum I believe I've addressed everything other than splitting some of the pieces into different files. Please take another look when you have the chance

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26322
https://circleci.com/gh/mattermost/mattermost-mobile/26321

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26331
https://circleci.com/gh/mattermost/mattermost-mobile/26330

Artifact links:
https://output.circle-artifacts.com/output/job/c2fbdf23-b692-482a-a85f-94a80e7f7313/artifacts/0/tmp/artifacts/Mattermost_Beta.apk
https://output.circle-artifacts.com/output/job/3dfa1461-a2f6-4589-8403-c28943b39389/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa

Artifact links:
https://output.circle-artifacts.com/output/job/b3795647-957c-45d9-bf84-8ca655f3cb2c/artifacts/0/tmp/artifacts/Mattermost_Beta.apk
https://output.circle-artifacts.com/output/job/ad90b48c-724f-42ca-9129-41b4f2abaf41/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26339
https://circleci.com/gh/mattermost/mattermost-mobile/26338

Artifact links:
https://output.circle-artifacts.com/output/job/ca4dc311-6d50-4653-94a8-65ccc31d7226/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa
https://output.circle-artifacts.com/output/job/b6e73ec7-0659-4545-8b6c-02389ff6491d/artifacts/0/tmp/artifacts/Mattermost_Beta.apk

I have done another round of testing on the latest mobile build.
This is going looking good. And there are no issues found with the command parser.
For embedded posts - the selects are now working and the crash is resolved. However, I don't see the submit action working on mobile the way it works on Webapp.
On webapp the test app will post a json payload for the submit. On mobile there is no visible effect to tapping submit on an embedded post.
I'm not sure if this could be an issue with the submit button yje test app is using here or a gap in the implementation of embedded forms.
When I look at my ngrok tunnel, I do see a web request for mobile....

Strangely this looks quite different from what I see in the web traffic when I click submit on webapp..

@mickmister please advise on what next steps may be needed here.
cc @javaguirre  if you have any thoughts as I believe this could be related to your PR as well.

On webapp the test app will post a json payload for the submit. On mobile there is no visible effect to tapping submit on an embedded post.

@DHaussermann I'm not seeing this issue. The submit button works for me on mobile. The JSON response shows in an ephemeral message just as it does for webapp. Let's get together and debug this if you are seeing this issue.

Strangely this looks quite different from what I see in the web traffic when I click submit on webapp

That traffic seems to be for requests related to the playbooks plugin, and should not be triggered by clicking the submit button.

@amyblais I'm not sure of the correct milestone but, this PR is needed for the December release.

Building app in separate branch.

Ticket for the remaining issue of radio button styling https://mattermost.atlassian.net/browse/MM-48732. 3/5 should not be a blocker for this release

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/26498
https://circleci.com/gh/mattermost/mattermost-mobile/26497

@DHaussermann I'm thinking this is good to merge. The changes since your approval are small in scope, and I've asserted those pieces work correctly. Thoughts on merging this?

Artifact links:
https://output.circle-artifacts.com/output/job/ff902642-80d2-42e9-8be0-060ecf0dd13c/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa
https://output.circle-artifacts.com/output/job/6ab9a65c-aa2e-48a6-8501-2826b5066ca9/artifacts/0/tmp/artifacts/Mattermost_Beta.apk


GUI app isn't applying theme

I tried on both the aur version and flatpak version but the app doesn't wanna apply the theme, no notifications are shown as well

Nvm it fixed itsself bruh


Publish Microsoft Authored templates to azure samples browser

Publish spring-petclinic-java-mysql template to azure samples browser.
@rajeshkamal5050 , @hemarina and @wangmingliang-ms for notification.

Onboarding Samples to learn.microsoft.com/samples
Azure Samples Browser


Installed ver 0.12.2 won't let me enable

I just installed the latest version and it won't let me enable it
https://ibb.co/27NdmGX

I will close this because of no answer. If the issue still persists, please open this.


Typo in 2.8

In the "let's begin by..." section in 2.8, in step 3, "strings" is misspelled "stirngs."

Thanks for catching that!


Add augmenting .pxd file for Cython

This improves the mistune benchmark time about 10%.
See http://cython.readthedocs.io/en/latest/src/tutorial/pure.html#augmenting-pxd

we removed cython support.


pre-trained model

When can the authors release the pre-trained model?
In the part of Training and validation, --save_dir and --device are Invalid.  If the authors have time, you can check this part.
Hope everything goes well!

Sorry, we cannot make our pre-trained models publicly available now due to company regulations. We will make it public when we get permission.


How to use spring cloud sleuth for RabbitListener and RabbitTemplate

I want to send RabbitMQ messages tracking event to Zipkin with using spring cloud sleuth, After many research I found some configuration added recently to spring in order to manage it you can find in here, But unfortunately there is not any  documentation that explains how can we configure it, I tried many ways but I couldn't send tracking events to Zipkin.
Please advice

Please don't cross post. Closing in favor of https://stackoverflow.com/questions/54845174/how-to-use-spring-cloud-sleuth-for-rabbitlistener-and-rabbittemplate


Adding info badges

@edewit some info badges 💃

@matzew shouldn't we add a ci first?

the badges are unrelated to a CI
but sure... thats another thing we can do, and add another badge icon for
it too
On Tuesday, 6 September 2016, Erik Jan de Wit<EMAIL_ADDRESS>wrote:

@matzew https://github.com/matzew shouldn't we add a ci first?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aerogear/aerogear-cordova-push/pull/106#issuecomment-244968270,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJnzrBo5SldU4VNLh_jqvzvZqq2WN9Bks5qnXjegaJpZM4J1nnd
.

--
Sent from Gmail Mobile

👍  ahh sorry I thought it where travis badges


boot: remove /util/nvram from RamFiles

k8cpu.json includes /util/nvram to ease integration of factotum during development.
However, we don't want every Harvey node in the world to have the same hostowner and password.

Not, sure. But we want that people who knows nothing about can boot a cpu
server by default until they can learn how to make their own nvram. That
was the purpose. As with go9prun script.
Álvaro
El 04/11/2015 09:13, "Giacomo Tesio"<EMAIL_ADDRESS>escribió:

k8cpu.json includes /util/nvram to ease integration of factotum during
development.
However, we don't want every Harvey node in the world to have the same
hostowner and password.
—
Reply to this email directly or view it on GitHub
https://github.com/Harvey-OS/harvey/issues/28.

Yes, this is fine for development (just like GO9PRUN), but this issue is a memento for the future.
We don't want our first stable release to be installed this way from CD.

I understanded it when I read gerrit. Ok, I'm sorry.
Álvaro
El 04/11/2015 10:43, "Giacomo Tesio"<EMAIL_ADDRESS>escribió:

Yes, this is fine for development (just like GO9PRUN), but this issue is a
memento for the future.
We don't want our first stable release to be installed this way from CD.
—
Reply to this email directly or view it on GitHub
https://github.com/Harvey-OS/harvey/issues/28#issuecomment-153661571.

@elbing has this been resolved?' there are some commits related to this?


Crash without internet connection

I tried to run the launcher without an internet connection, but with Trinity running locally. Launch failed with an error connecting to Bliz servers.
Here is the text of the error:
The CAS system was unable to initialize: Tact instance creation failed. Error(7): not available
Error downloading versions data from patch service:
WOWDOWNLOAD_COULDNT_RESOLVE_HOST (http code HTTP_RESPONSE_UNDEFINED).
URL: http://ngdp.arctium.io/US/wow/49570/versions.
Error downloading CDN data from patch service:
WOWDOWNLOAD_COULDNT_RESOLVE_HOST (http code HTTP_RESPONSE_UNDEFINED).
URL: http://US.patch.battle.net:1119/wow/cdns

And a screenshot:
https://paste.pics/O5UYM
Is it possible to fix this error so that I can run the game without an internet connection? Maybe add "--no-update" command line option or something like that.

Same even with wifi seems the requested website is down

https://github.com/Arctium/WoW-Launcher/commit/3deaa3f50b95ae918ba49ca2a4d9a895247e67f7


No option to search titles from Homeassistant  MA mediaplayer

What version of Music Assistant has the issue?
2.3.3
What version of the Home Assistant Integration have you got installed?
2024.12.1
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
Not able to see any option to search titles from Home-assistant MA mediaplayer(browse media).
How to reproduce
NA
Music Providers
Spotify
Player Providers
Chromecast
Full log output
No response
Additional information
No response
What version of Home Assistant Core are your running
2024.12.1
What type of installation are you running?
Home Assistant Container
On what type of hardware are you running?
Linux

https://music-assistant.io/faq/troubleshooting/

Before you raise an issue read this first. Report issues using the template with as much detail as possible. Often posts aren’t clear about exactly what is typed where, how something is configured or what series of menus are selected. Screenshots can be helpful.

I am sorry. I am not sure what I am missing. Could you pls elaborate what else I should provide?

I have no idea what you are referring to with the single sentence in your report. Which is exactly why we have in the troubleshooting docs what I have quoted above,

In My MA server, I have mapped Spotify account and able to search/play titles from web browser. Similarly, I want search/play titles from Home Assistant App. For this, I have integrated MA integration in my HA and added MA media player to my dashboard in HA.

Now I want search/play from same. here I don't see any option to search/play titles from Spotify

I hope I have given enough information. If anything else is required. Pls let me know..

This sounds like a feature request. You can browse the MA library from HA. You need to go to MA to do a global search for items that are not yet in the library. There is also the mass.search action (currently only available in the HACS integration) that you could also use.
If you can't identify something in MA that is supposed to be working then this should be closed and you can open a feature request in the discussion area.

This will be closed soon unless further information identifying a MA issue is provided. You can easily search through and play items from the MA library by clicking on the artists/album/tracks/playlists/radio stations tiles.


Spark SQL

Hi There,
Is anyone able to show me what the syntax would be to provide a lookup of points within a polygon in SparkSQL.
Thanks
Sam

In geowave, you can run a sparksql query by using the 'analytic sql' command. The user-defined spatial function 'geomWithin' would be appropriate for this query.
Well-known-text (WKT) definition for a polygon looks like this:

POLYGON ((-94 34, -93 34, -93 35, -94 35, -94 34))
... in this case, a 1x1 deg box (be sure to close the polygon w/ the first point)

So, putting it all together, if you had a datastore called mystore, you would do this:

geowave analytic sql "SELECT * FROM mystore WHERE geomWithin(geom, 'POLYGON ((-94 34, -93 34, -93 35, -94 35, -94 34))')"

Also, check out the integration test for sparksql for more ideas on how to use it.

Thanks that was exactly it.


Libraries to add in next iteration

To add:

[x] eo-learn (added in b1a16dc)
[x] pygeoda (added in 5409c0bdbff4e94da25fc58fd50fe5a34cf0140e)
[x] jekyll
[x] bookdown
[x] ipympl (added in ecf4e36)
[x] kableExtra (added in 64d48ed)

To explore experimentally:

[x] ~spatialite~ (and some bridge to python) (see this issue for context, but turns out libspatialite already comes in 3.0)

To consider removing:

[x] Bayesian libraries (pymc3, pystan, bambino), on the basis they might be taking quite a bit of space and have not been used in the last releases.  (removed in b1a16dc)

Hi Dani thanks for creating/maintaining this! It's been a lifesaver for working on a shared cluster. :)
Some minor things if you plan update libraries:

datashader v 0.9.0 has some new transfer functions.
Also, the latest version of dask (v 2.9.0) allows you to visualize task graphs, which can be useful.

Very nice to hear you're finding it useful! Thanks very much for the suggestions! Yes, both datashader and dask and on the "list" so, when I re-build for gds:4.0, they should get an update. My timeline usually follows PySAL releases so, after the January release is shipped, I'll roll out a new version, which should have those updates.

Just a quick ping to @iamwfx that the new version (4.0) is out and includes updated version of dask and datashader (as well as the new, related project spatialpandas). Happy to get any feedback if you run into issues!


[Event Request] codeunit 5940 ServContractManagement - OnCreateAllServLinesOnAfterCreateServiceLedgerEntry

Can you add event OnCreateAllServLinesOnAfterCreateServiceLedgerEntry to procedure CreateAllServLines?
                        ServiceApplyEntry :=
                          CreateServiceLedgerEntry(
                            ServHeader, "Contract Type", "Contract No.", InvoiceFrom, InvoiceTo,
                            false, false, ServContractLine."Line No.");

                        // >>>>>>>>>>>>>>>>
                        OnCreateAllServLinesOnAfterCreateServiceLedgerEntry(ServContractLine, ServiceApplyEntry);
                        // <<<<<<<<<<<<<<<<

                        if ServiceApplyEntry <> 0 then
                            CreateServLine(
                              ServHeader, "Contract Type", "Contract No.",
                              CountLineInvFrom(false, ServContractLine, InvoiceFrom), InvoiceTo, ServiceApplyEntry, false);

    [IntegrationEvent(false, false)]
    local procedure OnCreateAllServLinesOnAfterCreateServiceLedgerEntry(var ServContractLine: Record "Service Contract Line"; var ServiceApplyEntry: Integer)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Could you fix font error?

Noticed that there are multiple arenâ€™t, which should be aren't. This error is shown in multiple web browsers and please take look at it.

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

ID: 49099536-c363-e94d-ce10-44454344a8cd
Version Independent ID: 4b143eee-1dd7-d523-dd2f-df506d592314
Content: Tile resources | Microsoft Docs
Content Source: windows-driver-docs-pr/display/tile-resources.md
Service: unspecified
GitHub Login: @nabazan-microsoft
Microsoft Alias: windowsdriverdev

Thanks, @weignv. I got the instances in this topic. @tedhudek, can you scan for other occurrences and  log a bug to me?

The fix is in a commit for 22 files. Will update when this goes live.

These were merged to master. Thanks, @weignv, for pointing this out.

Thanks for fixing it.


gfortran: command not found on macos-latest

Description
The command "gfortran" is not available in the latest macOS builds. Calling gfortran --version fails with the following error on macos-latest:
/Users/runner/work/_temp/b20baed3-9e90-42e3-a7d3-dcacff880807.sh: line 2: gfortran: command not found
Error: Process completed with exit code 127.

Area for Triage:  Apple

Question, Bug, or Feature?:  Bug

Virtual environments affected

[ ] Ubuntu 16.04
[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[x] macOS 10.15.7 (macos-latest)
[ ] macOS 11.0
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Image version: 20210503.2

Image version where you are experiencing the issue.
Expected behavior
gfortran --version should print the version of gfortran
Actual behavior
command not found
Repro steps
CI job:
https://github.com/ZELLMECHANIK-DRESDEN/dclab/runs/2567423623?check_suite_focus=true
relevant line in yml:
https://github.com/ZELLMECHANIK-DRESDEN/dclab/blob/master/.github/workflows/check.yml#L27

Hi @paulmueller!
You need to specify gfortran major version as it is described in the docs:

We don't have the gfortran alias intentionally, please take a look at this comment:
https://github.com/actions/virtual-environments/issues/1280#issuecomment-662839485

The problem is that I intend to install the R package statmodel which somehow needs gfortran to build. I am not in control. Is there a way to manually add a global alias gfortran -> gfortran-8?

I manually added the symlink ln -s /usr/local/bin/gfortran-10 /usr/local/bin/gfortran (found it in the thread you mentioned). Will close this issue if it works.

The yaml entry I used:
    - name: symlink gfortran (macOS)
      if: runner.os == 'macOS'
      run: |
        # make sure gfortran is available
        ln -s /usr/local/bin/gfortran-10 /usr/local/bin/gfortran
        gfortran --version

Sorry, I have to reopen. Could you please help me with this thing:
https://github.com/ZELLMECHANIK-DRESDEN/dclab/runs/2568138465?check_suite_focus=true
----------------------------- Captured stdout call -----------------------------
gfortran -mmacosx-version-min=10.13 -fno-optimize-sibling-calls  -fPIC  -Wall -g -O2  -c gaussq2.f -o gaussq2.o
clang -mmacosx-version-min=10.13 -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG   -I/usr/local/include   -fPIC  -Wall -g -O2  -c init.c -o init.o
clang -mmacosx-version-min=10.13 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o statmod.so gaussq2.o init.o -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin18/8.2.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
----------------------------- Captured stderr call -----------------------------
* installing *source* package ‘statmod’ ...
** package ‘statmod’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
ld: warning: directory not found for option '-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin18/8.2.0'
ld: warning: directory not found for option '-L/usr/local/gfortran/lib'
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [statmod.so] Error 1
ERROR: compilation failed for package ‘statmod’
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/statmod’

Do I also have to update a library path or so? I don't know how things work on macOS.

@paulmueller could you please file another issue and provide all the details there?

@paulmueller looks like we already had pretty the same issue. Could you take a look here, please?
https://github.com/actions/virtual-environments/issues/2524

Thanks for your help, that worked:
    - name: Symlink gfortran (macOS)
      if: runner.os == 'macOS'
      run: |
        # make sure gfortran is available
        # https://github.com/actions/virtual-environments/issues/2524
        # https://github.com/cbg-ethz/dce/blob/master/.github/workflows/pkgdown.yaml
        sudo ln -s /usr/local/bin/gfortran-10 /usr/local/bin/gfortran
        sudo mkdir /usr/local/gfortran
        sudo ln -s<EMAIL_ADDRESS>/usr/local/gfortran/lib
        gfortran --version

@paulmueller Creating a symbolic link for gcc10 not working?
    - name: Symlink gfortran (macOS)
      if: runner.os == 'macOS'
      run: |
        # make sure gfortran is available
        # https://github.com/actions/virtual-environments/issues/2524
        # https://github.com/cbg-ethz/dce/blob/master/.github/workflows/pkgdown.yaml
        sudo ln -s /usr/local/bin/gfortran-10 /usr/local/bin/gfortran
        sudo mkdir /usr/local/gfortran
        sudo ln -s /usr/local/Cellar/gcc@10/*/lib/gcc/10 /usr/local/gfortran/lib
        gfortran --version

Thanks for that!

For the new macOS 12 image:
    - name: Symlink gfortran (macOS)
      if: runner.os == 'macOS'
      run: |
        # make sure gfortran is available
        # https://github.com/actions/virtual-environments/issues/2524
        # https://github.com/cbg-ethz/dce/blob/master/.github/workflows/pkgdown.yaml
        sudo ln -s /usr/local/bin/gfortran-11 /usr/local/bin/gfortran
        sudo mkdir /usr/local/gfortran
        sudo ln -s /usr/local/Cellar/gcc@11/*/lib/gcc/11 /usr/local/gfortran/lib
        gfortran --version


Bulk download feature

I want to be able to download all the data in some standard format (e.g CSV, JSON) to do bulk processing, e.g grabbing all classes with some specific % of usage, finding all unused methods, etc. I couldn't find anything in the UI/docs/code, so I don't think this is supported.

Is this supported in some format right now?
If not supported, are there plans to support it in the future?

I would be up for writing a PR for this if it's something that the project would want

@sleeplesslord
Hello, I think it releated to #61
you can export method invocation data like belows.

@sleeplesslord   Currently you can download 'tsv' files on a snapshot basis.
Could this be related to your comment? Or are you suggesting a feature extension?

@sohyun-ku
Yes, that's exactly what I'm looking for 🙏 it seems our scavenger instance is outdated, sorry about that!


Alternate link relation

Description
fixes #232
This PR adds support for the alternate link relation to download the certificate rooted at a preferred trust anchor.
I updated the existing tests so that they can be compiled again and are still passing. But I honestly have no clue how to update testing for the new parameter.
Checklist

[ X ] All tests are passing
[ ] New tests were created to address changes in pr (and tests are passing)
[ X ] Updated README and/or documentation, if necessary

Thanks for contributing!

Thanks very much for contributing this. I'll check it out. @fszlin are you happy for this to be merged?

I also wanted to embed the root for "fake le root x2", but I can't find it anywhere

Thanks, the only problem with embedding the roots is that there will eventually be many (free) ACME CAs, currently there are 3 that I know of (Let's Encrypt, BuyPass GO and ZeroSSL) and really an ACME client library shouldn't favour one, instead there should be a common pattern for discovering available roots, but that's a topic for a different day :)

Tested and works for me.


How to disable "Shopping cart" function ?

Hello Author:
I like this template very much and is trying to use it in actual projects. But I have a problem: I don't need the shopping cart function yet. How can I disable this function?
My current needs are: click the button, the action is not the purchase, but the "inquiry" action, pop-up layer or jump page to enter the "contact me" function
I look forward to your support, thank you :-)

fix :-)

@pythonsan How did you do it?

dear friend:

just disable plugin snipcart js
2.change the button name and event


Add Android Firefox Nightly Support (History cleaning doesn't work)

Firefox Nightly for Android supports installing every extension by following their guide:
https://blog.mozilla.org/addons/2020/09/29/expanded-extension-support-in-firefox-for-android-nightly/
From what I have seen a lot of extensions work now. But this one doesn't. It installs but it's not able to delete the history. (No error message shown)
So I ask you if it's possible to make it work?

The history WebExtension API does not seem to be supported in Firefox for Android (see this compatibility chart). The history API is (of course) needed to delete history. Once the history API lands in Firefox for Android, it should work. (Though the options page for the extension will need to be reworked. It's not at all optimized for mobile.)
Here's the error from the remote debugger in Nightly on desktop showing that the history permission is invalid:

Thanks. So it will work without updating the extension if they add the history API to Firefox for Android.

Firefox Nightly for Android supports installing every extension by following their guide: https://blog.mozilla.org/addons/2020/09/29/expanded-extension-support-in-firefox-for-android-nightly/

As does this fork:
https://gitlab.com/relan/fennecbuild/
https://f-droid.org/packages/org.mozilla.fennec_fdroid/
I'd change the title to "Firefox support" for clarity, to my knowledge the full addon support isn't intended as nightly-only feature.

Iceraven already includes "Expire History By Days" on it's list

Which presumably doesn't currently work on Firefox Android due to lacking mobile history API?
https://addons.mozilla.org/en-US/firefox/addon/expire-history-by-days/

I'd change the title to "Firefox support" for clarity, to my knowledge the full addon support isn't intended as nightly-only feature.

Firefox supports significantly fewer than twenty add-ons for use on their stable Android browser (Up from seven a few years ago, but down from thousands just prior to a few years ago).
Though you can use their complicated secret formula to get access to more extensions on nightly (Their most unstable release) and they were talking about expanding it to their beta browser (and may have done so), they have not expanded it to the stable browser and to my knowledge have announced no plans to do so in the future.  They've been pretty clear about their lack of interest in giving users what they want when it comes to extensions.
When they first cut down to 7 extensions in the summer of 2020, they said a lot of the old extensions wouldn't work with the new version of their browser.  This was untrue.  Iceraven's lead developer made a working browser based on the latest Firefox browser in a couple hours that supported tons of extensions.  Then the Firefox people said more extensions were coming and, well, it's been three years, and it's maybe a dozen total- something like that.
In those three years, Firefox eventually did add broad extension support for Nightly, but with tons of caveats like Mozilla accounts and all sorts of extra steps, as well as defacto capping the number of users who could access the extensions by not having most of them work with their most popular browser, making continuing developer support for them less likely.
They also made it clear that including it in Nightly did not mean it was a feature they intended to have filter down to stable eventually, the way most things in nightly are at least being considered for.  Instead, there were insulations that extensions in general are too complicated or insecure for the average user beyond a very small very curated number.  Really, they are using extensions as bait to force you to test the not ready for prime time aspects of their browser on an ongoing basis.
Iceraven, a fork of a Mozilla product but made independently, is based on the stable version of Fenix (The code name for Firefox 69-the most recent version and beyond), includes some of its own exclusive customization options, and offers easy to use straight out of the box access to 50-100 extensions and about:config without jumping through any hoops.
With that said, I think it's possible to do the same thing Firefox Nightly users do to get access to an even wider set of extensions on Iceraven.  Of course, that would involve doing all the same things Firefox requires of it's nightly users, including keeping a Mozilla account on the web with all your extensions listed.  Iceraven offers the largest list of extensions that are just there to add- no account sign-ups or hoop jumping required.  In fact, a lot of users of some of those other browsers input the number identifier of Iceraven's custom list of extensions, because Iceraven's list is considered that good.  Similarly, Iceraven users could input a different number identifier of a different list of extensions in if they want to.

@CharmCityCrab Thanks for the reply. To me one of the largest issues in Firefox Fenix is the inability to always use the private browsing mode (it's common to accidentally open standard tabs), and clearing cookies & site data requires pressing 'quit' in the menu. But at least there's the option to automatically close tabs (after X days)...
If you happen to know an Android browser which can automatically clear the website data, I'm very interested. I also prefer saving no browsing history on mobile.

Which presumably doesn't currently work on Firefox Android due to lacking mobile history API?
@07416 I just double checked this, and no, Expire History by Days (and by extension, History Cleaner) does not work on Iceraven. The history API is still missing and it shows the same warning as Firefox Nightly in the remote debugger.


Update SARIF JSON schema location

The schema isn't at https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json anymore, but https://raw.githubusercontent.com/oasis-tcs/sarif-spec/refs/heads/main/sarif-2.1/schema/sarif-schema-2.1.0.json.

Fwiw, they promise to keep https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json as a somewhat reliable URL (I tripped on this too)

Thanks!


The :dn: directive how work?

Description
I want to konw how :dn: directive work in *.rst files?
for example:
:dn:cls:`~Microsoft.AspNetCore.Routing.Route`

:dn:method:`~Microsoft.AspNetCore.Builder.MapRouteRouteBuilderExtensions.MapRoute`

Environment

Name
Version

OS
Windows 10

Python:
2.7.11

Sphinx
1.4.5

if you have the same problem,only update sphinxcontrib-dotnetdomain
pip install git+git://github.com/rtfd/sphinxcontrib-dotnetdomain -U


ulauncher: patchShebangs and do not double wrap

Motivation for this change
Closes #136784
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

could the double wrapping also be the problem in #135936?

Result of nixpkgs-review pr 137056 at 7df8ba40 run on x86_64-linux 1

1 package built successfully:

ulauncher

3 suggestions:

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/applications/misc/ulauncher/default.nix:75:5:
   |
75 |     ./fix-extensions.patch
   |     ^

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/applications/misc/ulauncher/default.nix:73:5:
   |
73 |     ./fix-path.patch
   |     ^

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/applications/misc/ulauncher/default.nix:74:5:
   |
74 |     ./0001-Adjust-get_data_path-for-NixOS.patch
   |     ^

could the double wrapping also be the problem in #135936?

I can't reproduce it before this pr or after it
Merging this and closing that issue
Mention me in the issue if the issue still persists @feijoas

thanks so much!
Can confirm this fixes both ulauncher-toggle and #135936


Add Net Zero Tracker data

Add Net Zero Tracker data to ETL (it used to be fasttracked).
For reference, here is the old dataset, and the resulting new dataset (on my staging server).
There's a mismatch of countries, as mentioned in https://github.com/owid/owid-issues/issues/705 , but that shouldn't affect this PR.

Thank you for the suggestions @paarriagadap!


Added Graph Implementation

Added  Implementations:

Graph
Weighted Graph

Added TestFiles:

Graph
Weighted Graph

Misc:

Added build script
Added CMakeLists.txt for cmake

Hey @Einsteinia11,
I've added implementations of both weighted and unweighted graphs, along with test files and build scripts for future use.
I consider this Graph Implementation branch to be final at the moment.
Please review it, and if you find any issues, don't hesitate to let me know. I'll address them as soon as possible.
My next step is to work on graph traversals, and I'll create a PR for that once it's implemented.
Thank you!!

Great!✨


Explore CSV workflow possibilities

With respect to #56 and #61, CSV workflow possibilities should be explored.

CSV should be implemented similar to a FeatureCollection (where a CSV file is specified, Data Series are added with the corresponding columns)

Two possibilities:

Non-visible component, import on a per-column basis
FeaturesCollection-like component which can be attached to the Chart

The two choices mentioned above should be combined together to use non-visible components.
Non-visible components could then be attached to Charts itself, which would generate all the necessary Data components.


cargo run -p ac-examples --example transfer_with_ws_client  --- Panic

Other examples run but transfer Example crashes :
cargo run -p ac-examples --example transfer_with_ws_client RUST_BACKTRACE=1
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
warning: unused import: frame_support::serde::__private::de::IdentifierDeserializer
--> examples/examples/transfer_with_ws_client.rs:18:5
|
18 | use frame_support::serde::__private::de::IdentifierDeserializer;
|     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[warn(unused_imports)] on by default
warning: ac-examples (example "transfer_with_ws_client") generated 1 warning (run cargo fix --example "transfer_with_ws_client" to apply 1 suggestion)
Finished dev [unoptimized + debuginfo] target(s) in 1.22s
Running target/debug/examples/transfer_with_ws_client RUST_BACKTRACE=1
signer account: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY
[+] Bob's Free Balance is is<PHONE_NUMBER>606846976
thread 'main' panicked at 'called Option::unwrap() on a None value', ~/substrate-api-client/src/extrinsic/balances.rs:79:9
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
(base) allenbailey@nbdi substrate-api-client % cargo run -p ac-examples --example transfer_with_ws_client
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Blocking waiting for file lock on build directory
warning: unused import: frame_support::serde::__private::de::IdentifierDeserializer
--> examples/examples/transfer_with_ws_client.rs:18:5
|
18 | use frame_support::serde::__private::de::IdentifierDeserializer;
|     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: #[warn(unused_imports)] on by default
warning: ac-examples (example "transfer_with_ws_client") generated 1 warning (run cargo fix --example "transfer_with_ws_client" to apply 1 suggestion)
Finished dev [unoptimized + debuginfo] target(s) in 8.54s
Running target/debug/examples/transfer_with_ws_client
signer account: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY
[+] Bob's Free Balance is is<PHONE_NUMBER>606846976
thread 'main' panicked at 'called Option::unwrap() on a None value', ~/substrate-api-client/src/extrinsic/balances.rs:79:9
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

Hey @blockcowboy,
there's been a Substrate update recently, where they changed the balance transfer command. Maybe that's the problem?
So just to confirm:

Are all transfer examples failing, or does the transfer_with_tungstenite_client.rs example pass?
Which substrate-api-client version are you using? (branch, tag or commit?)
Which node version are you running the api-client against? (polkadot branch? Or Substrate master on which commit?)

Are all transfer examples failing, or does the transfer_with_tungstenite_client.rs example pass?
Yes the other transfer fails:
% cargo run -p ac-examples --example transfer_with_tungstenite_client
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Blocking waiting for file lock on package cache
Blocking waiting for file lock on build directory
Compiling ac-examples v0.3.0 (~/substrate-api-client/examples)
Finished dev [unoptimized + debuginfo] target(s) in 10.01s
Running target/debug/examples/transfer_with_tungstenite_client
signer account: 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY
[+] Bob's Free Balance is is<PHONE_NUMBER>606846976
thread 'main' panicked at 'called Option::unwrap() on a None value', ~/substrate-api-client/src/extrinsic/balances.rs:79:9
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
Which substrate-api-client version are you using? (branch, tag or commit?)
https://github.com/scs/substrate-api-client/tags
V0.11.0
Which node version are you running the api-client against? (polkadot branch? Or Substrate master on which commit?)
https://github.com/paritytech/substrate-contracts-node/tags
V0.24.0

FYI , Locan node balance transfer works with:
https://github.com/paritytech/polkadot-interaction-examples-rs

I looked into the nodes a little and I'm quite certain that the problem is a version mismatch:

Substrate Contracts Node uses the Substrate version of polkadot-branch v0.9.37: See the Cargo.lock.
The api-client tag v0.11.0 uses a newer version of Substrate, which has different Balances api.

So I'd recommend using a matching api-client version, such as: https://github.com/scs/substrate-api-client/tree/polkadot-v0.9.37-tag-v0.10.0
There's no polkadot branch 0.9.37 for tag v0.11.0 yet. If that's necessary for your use case, we could release one. However, I'd recommend using a newer polkadot version either way, as Substrate is already at branch v0.9.42.

You may have a good point. Several people getting error with substrate-contracts-node :
https://github.com/paritytech/substrate-contracts-node/issues/181

I checked Cargo.lock
source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87"

Hey @blockcowboy sorry for the delayed answer. I missed the follow-up question somehow. Are you referring to the Cargo.toml files of the api-client?
And with tag, do you mean the api-client tag oder the polkadot branch name?

If you're looking for a specific api-client tag and a polkadot branch, check out the releases. There you find the tags and the available polkadot branches.

If you're already using a specific version and what to know which tag it is: check out the Cargo.toml. It specifies the last released tag.

If you want to refer to a specific polkadot branch, you can not use the master version of the api-client, as it points to Substrate master. Only the polkadot branches point to Substrate polkadot branches.

I hope somewhere in-between I have answered your question. If not, please let me know. Especially if something is missing in the api-clint releases.

Hi @blockcowboy, can we close this issue?

Closing issue due to inactivity, feel free to reopen if needed.


Update search_api_solr to 3.8 breaks islandora_search

@elizoller's search_api_solr PR (https://github.com/Islandora-Devops/islandora-playbook/pull/157) will be merged soon, but the updated version has a small incompatibility in the config that drops the connection to the server. See this comment on the PR.
I'll create a PR to address the compatibility that we can test and merge once https://github.com/Islandora-Devops/islandora-playbook/pull/157 is in.

Closed with https://github.com/Islandora/islandora_defaults/pull/25 c1af384a28e0dafe1519d0b30a263c14a9da96b7


A new doctor check should be added that an issue should not be added a label belong to another repository.

Just found some the problem on gitea.com

Sounds like this is a consistency check

I assume that the autofix solution is that the comment is removed

This is a considerably more involved issue than it at first appears.

Do we know how these labels even end up happening?

I guess it's related with restore-repo command because I ever execute that command on gitea.com to test migrating gitea itself.


Open Terminal.app using OS X 'open' command

The advantages are speed and no command being executed inside the terminal window.
The terminal is always open in a new window.
Don't know if this is exactly the same as before though.
It's fine for me so I'm making the proposal :)

Issue #94 is the beginning of the discussion about rebuilding the Terminal package on top of a new Package Control dependency newterm. newterm uses the open command (via an OS X API) to get the same results. It also adds some other options for environmental variables and tabs, etc.

That is a very good idea. Thanks anyway!


RTD build isn't working

Currently attempting to setup autodoc and such for automated documentation of the base API. however, in that setup running into several build errors including:

:Unexpected section title. errors (when i turn of napoleon)
and
 when napoleon is "on". seems liked a format issue but am not sure how to begin to troubleshoot!

# Sphinx version: 1.8.0
# Python version: 3.7.2 (CPython)
# Docutils version: 0.14
# Jinja2 version: 2.10
# Last messages:
#   updating environment:
#   0 added, 0 changed, 0 removed
#   looking for now-outdated files...
#   none found
#   pickling environment...
#   done
#   preparing documents...
#   done
#   writing output... [ 33%] index
#   writing output... [ 66%] matplotcheck
# Loaded extensions:
#   sphinx.ext.mathjax (1.8.0) from /anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/ext/mathjax.py
#   alabaster (0.7.12) from /anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/alabaster/__init__.py
#   sphinx.ext.autodoc (1.8.0) from /anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/ext/autodoc/__init__.py
#   sphinx.ext.doctest (1.8.0) from /anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/ext/doctest.py
#   sphinx.ext.napoleon (1.8.0) from /anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/ext/napoleon/__init__.py
#   matplotlib.sphinxext.plot_directive (unknown version) from /anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/matplotlib/sphinxext/plot_directive.py
#   sphinx.ext.viewcode (1.8.0) from /anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/ext/viewcode.py
Traceback (most recent call last):
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/cmd/build.py", line 304, in build_main
    app.build(args.force_all, filenames)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/application.py", line 341, in build
    self.builder.build_update()
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 347, in build_update
    len(to_build))
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 412, in build
    self.write(docnames, list(updated_docnames), method)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 593, in write
    self._write_serial(sorted(docnames))
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/builders/__init__.py", line 604, in _write_serial
    self.write_doc(docname, doctree)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/builders/html.py", line 730, in write_doc
    self.docwriter.write(doctree, destination)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/writers/__init__.py", line 80, in write
    self.translate()
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/sphinx/writers/html.py", line 58, in translate
    self.document.walkabout(visitor)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/nodes.py", line 174, in walkabout
    if child.walkabout(visitor):
  [Previous line repeated 6 more times]
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/nodes.py", line 166, in walkabout
    visitor.dispatch_visit(self)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/nodes.py", line 1882, in dispatch_visit
    return method(node)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/writers/html4css1/__init__.py", line 402, in visit_field_body
    self.set_class_on_child(node, 'first', 0)
  File "/anaconda3/envs/matplotcheck-dev/lib/python3.7/site-packages/docutils/writers/_html_base.py", line 399, in set_class_on_child
    child['classes'].append(class_)
TypeError: string indices must be integers

UPDATE: sphinx v 2.0 fixes this issue! however the actual build is failing now because of certifii... which is likely a conda / pip mixup issue.. docs now build locally however!


dns/ddclient missing OVH dyndns update method

Hello,
[x] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
[x] I have searched the existing issues and I'm convinced that mine is new.
[x] When the request is meant for an existing plugin, I've added its name to the title.
Is your feature request related to a problem? Please describe.
OVH DynDNS update method is missing
Describe the solution you'd like
I would like this update method to be available as it was previously with the old dyndns plugin
Describe alternatives you've considered
The only alternative is to stay with the old and deprecated dyndns plugin
Additional context
Can you please add this OVH dyndns update method before the old dyndns plugin will be completely removed?
Many thanks,

This one is also missing for me.
Regards


Global list of endpoints for KodaDot client

I guess thinking for the easier check we should have one list of all URLs we need to check for a client to work?
Do we have a global list of endpoints we are using? If not, let's create single file, where we can easily manage those endpoints and we can merge it with #1492
Originally posted by @yangwao in https://github.com/kodadot/nft-gallery/issues/1492#issuecomment-1100085867

Koda endpoints:

https://durable-jpeg.kodadot.workers.dev/ (cloudflare)
https://kodadot.mypinata.cloud/ipfs/  (pinata)
https://direct-upload.kodadot.workers.dev/ (direct-upload)
https://pinning.kodadot.workers.dev/ (ipfs?)
https://beta.kodadot.xyz/.netlify/functions/
https://og-image-green-seven.vercel.app (seo card)
https://api.subquery.network/sq/vikiival/magick (Magick)
https://app.gc.subsquid.io/beta/rubick/004/graphql (Subsquid v4)
https://app.gc.subsquid.io/beta/rubick/005/graphql (Subsquid v5)
https://app.gc.subsquid.io/beta/rubick/006/graphql (Subsquid v6)

Provider endpoints:

https://api.coingecko.com/api/v3 (coingecko)
https://ramp.network/buy/ (ramp)
https://cloudflare-ipfs.com/ipfs/
https://api.pinata.cloud/

pinning.kodadot.workers.dev (ipfs?)

Estuary my bet? @vikiival

Estuary my bet? @vikiival

Yup, I updated @roiLeo's comment
anything with kodadot.workers.dev is located in https://github.com/kodadot/workers

Hey, I can take this task 👋

👋

There will be an url for the kodadot/snek
most probably https://app.gc.subsquid.io/beta/snekk/001/graphql


bvar supports non-uniform user customized name

Some user customized bvar names may have specific means, like "3AE5D89" will be normalized to "3_AE_5_D_89" by default that may cause trouble to the configuration such as monitoring. To solve this problem, bvar should support non-uniform customized name when users want to.

test

同步master代码的时候用rebase，不要用merge

同步master代码的时候用rebase，不要用merge

合并的时候涉及单一功能的可以给他 Squash 为一个提交，看起来历史也是线性的。


Added support to library initialization argument

Enhanced the command-line syntax to allow a string argument to initialize the library.
E.g.
java org.robotframework.remoteserver.RemoteServer --library MyLibrary:/:arg

Thank you for the pull request.
This looks like it would only be useful if the library had a constructor that took a single String argument. What if it someone has an (String, Integer) constructor they want to use? And then, how do we deal with String args that contain a ":" (the delimiter)? This is unfortunately too narrow to be added. Trying to map arbitrary args to an arbitrary constructor is no simple task, so I would suggest some alternatives.
If you want to use jrobotremoteserver as a standalone jar, you could add a constructor to your library with no arguments that pulls arguments from system or environmental variables.
If you are willing to go the embedded route, I think it would be pretty trivial to modify the main class here to take argument(s) and pass them on to the library constructor and/or jrobotremoteserver.
https://github.com/ombre42/jrobotremoteserver/wiki/Getting-Started#programmatic-usage


net/http: flaky TestTransportHeadChunkedResponse

Noticed at http://build.golang.org/log/c4295893036b8f63339f2fdcfa6a7f052edbdfa4
--- FAIL: TestTransportHeadChunkedResponse-4 (0.02s)
	transport_test.go:611: ip/ports differed between head requests: "<IP_ADDRESS>:54643" vs "<IP_ADDRESS>:54644"
FAIL
FAIL	net/http	10.889s

The test is simply:
        defer afterTest(t)
        ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
                if r.Method != "HEAD" {
                        panic("expected HEAD; got " + r.Method)
                }
                w.Header().Set("Transfer-Encoding", "chunked") // client should ignore
                w.Header().Set("x-client-ipport", r.RemoteAddr)
                w.WriteHeader(200)
        }))
        defer ts.Close()

        tr := &Transport{DisableKeepAlives: false}
        c := &Client{Transport: tr}

        res1, err := c.Head(ts.URL)
        if err != nil {
                t.Fatalf("request 1 error: %v", err)
        }
        res2, err := c.Head(ts.URL)
        if err != nil {
                t.Fatalf("request 2 error: %v", err)
        }
        if v1, v2 := res1.Header.Get("x-client-ipport"), res2.Header.Get("x-client-ipport"); v1 != v2 {
                t.Errorf("ip/ports differed between head requests: %q vs %q", v1, v2)
        }
}

Perhaps the first Head returns but the second Head call starts before the background Transport goroutines get scheduled and register that the connection is idle.

Review at https://go-review.googlesource.com/#/c/11170/

Dup of #11250, closed.


FAILED: Build did NOT complete successfully (8 packages loaded, 21 targets configured)
FAILED: Build did NOT complete successfully (8 packages loaded, 21 targets configured)

Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/java-compute/synth.py", line 33, in <module>
    discogapic = True,
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 62, in java_library
    service, version, "java", tar_strip_components=0, **kwargs
  File "/tmpfs/src/github/synthtool/synthtool/gcp/gapic_bazel.py", line 183, in _generate_code
    shell.run(bazel_run_args)
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 39, in run
    raise exc
  File "/tmpfs/src/github/synthtool/synthtool/shell.py", line 33, in run
    encoding="utf-8",
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 438, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['bazel', '--max_idle_secs=240', 'build', '//gapic/google/compute/v1:google-cloud-compute-v1-java']' returned non-zero exit status 1.
2020-08-14 14:58:40,589 autosynth [ERROR] > Synthesis failed
2020-08-14 14:58:40,589 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at df74c7b build(deps): update dependency com.google.cloud:google-cloud-shared-config to v0.9.0 (#149)
2020-08-14 14:58:40,603 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-08-14 14:58:40,613 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 690, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 539, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 670, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    has_changes = toolbox.synthesize_version_in_new_branch(synthesizer, youngest)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.


infer-from-usage codefix should mark parameters as optional

Search Terms
codefix infer from usage optional parameter
Suggestion
When you ask to for the infer-from-usage codefix for f:
function f(x, y) {
  return x + (y || 0)
}
f(1)

You should get function f(x: number, y?: number | undefined)
This already works in JS. You get /** @param {number | undefined} [y] */.

@andy-ms points out that you might just want to see y?: number and the undefined should be dropped as well.


Run fast pass on ims #507

Description
Ran fastPass on IMS
Testing instructions

[ ] Review code
[ ] Check Actions build
[ ] Review changes to test coverage
[ ] {more steps here}

Agile board tracking
closes #507

waiting on #525 and #542 to continue progress

Do this on Dev instance


Content Suggestion: BTC Pins

Link to Content: www.btcpins.com
Briefly Describe Content: Online store selling bitcoin pins.
Suggested Section: Spend Bitcoin/Stores

This is my project. Everything is bitcoin. No alts mentioned or accepted for payment.
Brand new, so if you want to tag "waiting" until more established, 👍

Looks great


Single application or multiple

@erwinkramer commented on Tue Apr 14 2020
So the text is: "running only a single customer's applications", did you really mean to say applications (plural) or application?

Documentdetails
⚠ Dit gedeelte niet bewerken. Het is vereist om problemen te koppelen tussen docs.microsoft.com en GitHub.

ID: af931817-c3c8-6376-d2c2-a10795161d04
Version Independent ID: d2b59e0c-0c35-a335-b523-64f4d6f29d09
Content: Inleiding
Content Source: articles/app-service/environment/intro.md
GitHub Login: @ccompy
Microsoft Alias: ccompy

@srvbpigh commented on Tue Apr 14 2020
Hello, @erwinkramer
Thank you for your feedback.
We are actively reviewing your comments and will get back to you soon.
Kind regards,
Microsoft DOCS International Team

Hi @CeciAc , thanks for the Comment. We are looking into this and will get back to you soon.

Hi @CeciAc, I got confirmation from the engineering team that the original sentence is correct as is. However, we are going to update the sentence to this "ASEs host applications from only one customer and do so in one of their VNets." to avoid confusion.
I have submitted a PR to update the doc, the change is merged internally and will go-live in the public docs shortly.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


[AKS] Fixing add-ons available in the help message in 'az aks create'

Description

Virtual Node is not available as an add-on at cluster creation time.
Source: https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/acs/custom.py#L2578
Testing Guide

Trying to create an AKS cluster with Virtual Node:
az aks create -n clusterName -g rgName -l westeurope --enable-addon virtual-node --network-plugin azure
Error message: "virtual-node" is not recognized by the --enable-addons argument.
History Notes

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

@seanmck - FYI need to get the add-on support in, but removing it from help for now, as it's not implemented.

AKS


particle load balancing in parallel runs

OceanParcels continues to be very useful; thanks! I am now running global problems with Mercator currents tracking coastal dispersal. I run on a large computer in parallel; this data is from parcels 2.2.2. The parallelization is less efficient than it could be, because some of the parallel tasks finish much earlier than others, stalling the completion of the entire task until the last one finishes. The difference in runtime can be up to a factor of three. I think there are two reasons for this.
The first is that the number of particles in each MPI rank/process varies greatly, by a factor of 3. Here is the number of particles in each MPI rank (I record the rank as a variable for each particle):
-rank 0.0 has 76865
-rank 1.0 has 139075
-rank 2.0 has 108955
-rank 3.0 has 106110
-rank 4.0 has 116215
-rank 5.0 has 69845
-rank 6.0 has 46753
-rank 7.0 has 88195
-rank 8.0 has 57745
-rank 9.0 has 52665
-rank 10.0 has 38785
-rank 11.0 has 191560
-rank 12.0 has 98975
-rank 13.0 has 49790
-rank 14.0 has 40403
-rank 15.0 has 129885
The location of particles by the rank of the MPI processes that handles them can be seen in the figure below.
The second is that it appears, but I am not sure, that the clustering is done in lat/long space, and not in grid space, so that, because of the curvature of the earth, the fraction of the grid handled by each rank is very different -- i.e. the fraction of the grid covered by the equitoreal group is much larger than that covered by higher latitude groups.
I realize this domain decomposition is tricky, and involves balancing number of particles and the i/o expense of reading in more data for widely scattered particles.
Is there a way for me to manually assign which particles go to which MPI rank to experiment to see if I can find a more efficient scheme, either generally or for my broadly distributed but geographically sparse case? A pointer to the appropriate code would be fine; I would be happier however if I could specify the decomposition without modifying the code base.
Thank you
Jamie

Hi @JamiePringle! Thanks for raising this Issue/Question! Parallelisation is something we're still improving on, and indeed is a bit rudimentary now.  Indeed, the clustering is based on lon/lat instead of grid indices, which is not ideal for Curvilinear Grids. That is something we can quite easily improve, although I'm not sure when it will land in a release
In the meantime, if you want to tweak yourself, the code that does the distribution of the particles over the processors is at
https://github.com/OceanParcels/parcels/blob/master/parcels/particlesets/collectionsoa.py#L107-L125. Perhaps you can put some optimisations there for your particular usecase?
Cheers,
Erik

Great -- will look at in a few days.
Jamie

Hi @JamiePringle. Yes, there is code to identify which grid cell indices particles are occupying, see https://github.com/OceanParcels/parcels/blob/master/parcels/particleset/particlesetsoa.py#L237-L265 (contributed by @angus-g).
So you could call pset.populate_indices() to set values for particle.xi and particle.yi. Is that what you were looking for?

@erikvansebille Yes, that should work well. Thank you.

@erikvansebille Is there any reason the KDtree used in populate_indices is from pykdtree and not sklearn neighbors? The later supports a haversine distance calculations for use on spheres.
It is taking me a bit longer because ParticleCollectionSOA is called by ParticleSetSOA, so I don't have access to populate_indices() in ParticleCollectionSOA. This is forcing me to actually understand what is going on...

Thanks for the feedback, @JamiePringle . I leave it to @angus-g to comment why he chose to use pykdtree rather than sklearn for the KDtree implementation
As for the ParticleCollectionSOA, perhaps @CKehl can help if you have any specific questions on the implementation?

@erikvansebille no worries, it was straightforward to move the required code to where I need it. I have code that can partition the particles to have either equal grid-area or numbers in each partition. I will share when it is mature. However, right now I am tinkering with the best way to split things up. Right now I have code that sometimes makes things better, and sometimes makes things worse, which is not that helpful... There are three things which increase run time per rank; how clumped in space the particles are in each MPI rank, the number of particles in a rank, and the area covered by the particles in a rank. Kmeans handles the first well, I have code that optimizes each of the second and third individually.  But each also can perform badly depending on the initial particle distribution. So I am not ready to release this to the world yet.
One complication is that the time it takes to read a chunk from netCDF is very variable, so the best partitioning of particles depends on chunk size. For my case, using compressed netCDF as input, tiles that contain land can read very quickly, since they compress well.
Jamie

Well, so, short answers as I am on vacations:
a) There are already quite extensive plans how to improve parallelisation for the general case (algorithms, tree balance routines, theoretical CS considerations).
b) optimizing per area requires to know the whole space partitioning in advance - are the fields preloaded ? If so, that's quite a no-no for 'general working'. What happens with this load balancing when having multiple, different grids ? You can only 'area-optimize' for one grid.
c) sklearn vs. pykdtree vs. SciPy ckdtree: the main reason is dependency - it's not advisable to make parcels depend on a behemoth such as sklearn just for constructing a kDTree, because then we need to test all the version each and every time we make a release -> science-project manpower bottleneck. So let's keep it simple, with the dependencies (unless there are performance benefits)! All 3 implementations are roughly on-par - well, the sklearn one is even a bit slower for our case as it optimizes decomposition for item dimensionality (hashing) because of data science applications, and we only have max. 4 dimensions. Long story short: as we already have a dependency on numpy and scipy, I'd rather opt (with general algorithms for parallel decomposition) for SciPy-spatial's kDTree.
d) We can always just condition-include your fix with similar if ...: rank_decompose = True else: rank_decompose = None as it is with MPI or with @angus-g 's _populated_indices code, so the function is there if you wanna use it. For a general 'fix', we need to make sure that the implementation works (i) with dynamic and static particle sets, (ii) with all kind of fields and field- and grid setups, (iii) over long timespans (i.e. with no memory accumulation) etc. One would need parallel tests for that, and those parallel tests are on our todo-list first.
e) the timing depends on the individual chunksize - indeed true, because I/O is the main bottleneck of performance (sth. you also don't circumvent with MPI). The 'idividual chunksize' is something one cannot control - it depends on the data. The most generally-applicable optimization is to assume the whole field domain is equi-sized, because otherwise you'd first need to pre-load the data to optimize the distribution. Honestly: doing that costs more time than is overall gained from running in parallel. Usually.
Now, that's all quite critical, but: I'd be happy to see what you did to get a more detailed impression on what it is that you implemented. Do you perhaps have a pull request-link for us ?

Thanks! By question,
a) I am glad to hear this!
b) I am not sure what you mean by preloading the grids; all I am doing in area balancing is to calculate the area spanned by the set of particles assigned to each rank (either in lat/lon or in grid indices). If you wait a bit, I will show you the code I have developed, along with results for various cases.
c) I have maintained large software packages; I appreciate the need to reduce dependencies. But your code already requires sklearn when using MPI -- if you look at collectionsoa.py, you import KMeans from sklearn.cluster when you use MPI. So this would reduce the number of packages you require. You are right that the sklearn implementation with haversine is slower.
d) I appreciate this comment! I am working on one specific problem and you have to deal with the whole code.  I expect but have not tested that (i) will not be a problem. (ii) will always be problematic, as the optimal way to break up particles is strongly dependent on issues like, for example, the penalties for a single processes accessing multiple parts of the flow field in different locations, etc.  (iii) is not a problem; the code is only run once in MPI rank 0 when it assigns which rank is to processes each particle in the use of the ParticleCollectionSOA class  (e.g. "self._pu_indicators = groups"); it mirrors the existing kmeans code.  All tests are run with MPI and in parallel.
e) I agree. I have a fair bit of experience with this kind of issue, and in IO-bound problems, the parallelization scheme is always a function of the data layout, and you don't know that ahead of time.
The optimal way to partition particles to ranks already depends on how they are distributed spatially in the model domain with the current code. What is delaying me now is developing test cases to explore this. But in a week or two, I should have results of code to share, along with testing results.
Is a pull request the best way to do so? Or should I just upload the modified files as attachments to this issue? I make one modification to particlesetsoa.py that you might want to think about before accepting -- I modify ParticleCollectionSOA so that I pass in the fieldset when it is called from particlesetsoa.py; I am not sure that is the optimal way to pass the grid information into ParticleCollectionSOA(), and what other implications of this change might be.  Otherwise all my changes are self contained in a single location in the code.
Another question: right now I just use my code to partition the particles to be run by different ranks instead of the existing kmeans code in "class ParticleCollectionSOA(ParticleCollection)"; Is there a preferred way to make the choice of partitioning a user option? Or should I just let you deal with that if you think my code is of more general interest?
Jamie

Hi Jamie,
again, on vacations, so I am looking foward to your code as soon as I am back - in a 6 weeks.
You make all fair points, as far as I superficially read, most of them require more reading I am not doing right now.
1 comment though on (b): oh, you're right, I forgot about that. In my mind, and my personal derivative checkout, that dependency is already gone. You're right: right now, it's still in there.
Best,
Christian

@CKehl Please don't worry; I have the code working to solve my problem; by the time you return I will have posted a full write up with the code, and you can take from it what you will.

@CKehl and @erikvansebille What is the most appropriate way to get the land mask (or equivalent)? I can't seem to find it in the field object. Thanks

@CKehl and @erikvansebille What is the most appropriate way to get the land mask (or equivalent)? I can't seem to find it in the field object. Thanks

@JamiePringle, the land mask is not available in Parcels objects as Parcels does not interpret how the input velocity fields define 'land' and 'ocean'. The only thing Parcels does is set NaN values in the velocity field to zero.
Some model data have a mask available in the netcdf or an accompanying coordinates file, I am not sure about Mercator. If it is not available, you can easily create one by using numpy.ma.masked_invalid(Udata).mask or numpy.ma.masked_values(Udata, 0).mask depending on whether the velocity is defined as NaN or 0 respectively.
If you want to access the land mask in a parcels simulation you can create a Field object for it using Field(), Field.from_netcdf() or Field.from_xarray and add it to your fieldset using FieldSet.add_field().
Hope this helps!

Thank you -- That is helpful. I am going to find the land points in this case in an ad-hoc way. If it turns out it is helpful, I will try to do it properly. Jamie

I am going to close this issue. Thank you to @CKehl and @erikvansebille for there help. I will document the results here for those who might find it useful. I have working code for all I describe, and will be happy to share.
Background: When using MPI to parallelize ocean parcels, the first first step is to decompose the particles into groups which are run by different processes (MPI "ranks"). For optimum efficiency, each rank should take the same time to complete, since otherwise you will waste time waiting for one rank to finish. The time for each rank to finish depends on, among other things, the number of particles and the  horizontal area spanned by the particles. The latter influences the IO each rank must do reading model fields into the process.  The relative importance of the area vrs. number of particles depends on how the data is chunked and the speed of the IO. All of this was confirmed experimentally.
Short summary: The current Kmeans implementation of particle decomposition is robust and sensible. The things I tried can be a little more efficient for some initial particle distributions, but they can also be much worse for other initial conditions. For now, I would stick to Kmeans for general use.
Summary: For runs which use MPI to break run particle tracking in parallel, an initial decomposition of the drifters using a kmeans clustering algorithm is robust and does not go horribly wrong because it does a good job of balancing the area covered by particles in single rank  and the number of particles in a single rank.  My efforts to break up the particles so that their is an equal number of particles in each rank, or an equal area spanned by particles in each rank, were never as robust as Kmeans. Kmeans was always either the most efficient, or nearly the most efficient, while the other two methods could be much worse than the others, depending on the initial distribution of particles.  Kmeans was never more than 5% slower than the best method in my tests, while the other two methods could be significantly more slow depending on the initial particle distribution.
For my grid, decomposing the particles using the grid coordinates instead of the geographical coordinates rarely gained more than a few percent.
If the ocean parcels code was ever changed to allow particles to switch ranks, my runs could be 30% more efficient if the particles were re-gridded when a rank finished its current allotment of particles.

Thanks @JamiePringle, for this extensive summary and feedback! Really useful also to have at hand when we further develop MPI capacity in Parcels
One thing though that struck me as I was reading your summary: I can imagine that there are also many use cases where the users themselves know 'best' how to initially partition the particles. What I mean is that if users could self-assign the clusters (because they have background knowledge on the geography and flow), why would they still need Kmeans or other automatic clustering algorithms to do the clustering for them? So I can imagine that we would provide an easy method for users to self-assign clusters too

@JamiePringle - also from me thank you for the nice summary. I still need to read this more carefully, and for reasons of finding back this entry in our knowledge base, I re-open the issue and tag it accordingly. I hope this is also in your spirit.

@CKehl Of course, and thank you.

This has now been addressed in #1414, providing more flexibility for the users to control the (initial) partitioning


Added tests

Description 📣
Added tests for nprogress, live demo link & updated props/component name
Type ✨

[x] Documentation

:tada: This PR is included in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Issues with the downloaded executables on Win7 behind a corporate proxy

Hello,
I've been having issues with downloaded executables with Rustup-rs. It seems like it when executed they freeze and create unkillable ghost processes (rustc.exe mainly).
They are all of the same size and are not of the same size than the Msi installed files.
Might be an issue with my proxy but it's the first time I encounter such an issue.

@kikokikok That they are all of the same size is expected/intended. All the other executables are just hardlinks to rustup.exe and the code changes behavior based on the name of the executable it is run as, and then calls the respective binary from the currently selected toolchain (in .multirust\toolchains).
This probably won't help to identify why they freeze. You can try to run rustc.exe from one of the toolchain directories directly, to make sure that the issue really is with rustup.

executing the files directly from the toolchains works fine.

something worth noting is that all our laptop are encrypted through bitlocker. didn't have any issue before trying to use it on the laptop.

Latest trial: cargo.exe & rustdoc.exe are the only one freezing from the .cargo/bin directory

It works again now...


Docs: document smart delivery in categories

The categories docs probably predated the Smart Delivery tab, so they were outdated.
Preview on Vercel

@smeijer do you know anything about the failing smoke test?

Smoke-tests fail because the new failures property on the imports api hasn't been added to the spec yet. We can ignore it for this change.


Postgres

What type of PR is this? (check all applicable)

[ ] ♻ Refactor
[x] ✨ Feature
[ ] 🐛 Bug Fix
[ ] 👷 Optimization
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
Adding the first iteration of Postgres support.
Currently, it does not produce relation data, but should be possible to extend this.
Related Tickets & Documents
closes #74
Added to documentation?

[x] 📜 readme
[ ] 🙅 no documentation needed

[optional] What gif best describes this PR or how it makes you feel?

Last thing! We gotta rebrand the repo and the readme. It’s no longer just a Kafka data generator. It’s a Postgres data generator too!

Just updated the README.md file a bit! Let me know if you have any more suggestions @chuck-alt-delete. We can also update the description of the repo itself after we cut a new release!


Spring amqp fault tolerance VS spring cloud netflix Hystrix

Hi team,
We are considering to use spring amqp for our message service, i saw spring amqp provider some features for fault tolerance and spring cloud Hystrix also provider similar features. I wonder know what is the difference and how to choose one or combine them together?

I know very little about spring-amqp fault tolerance, but Hystrix is an implementation of Circuit Breaker. It allows you to protect any Java code from failures cascading back up the call stack.

Closing due to lack of requested feedback. If you'd like us to reopen the issue, please comment with the required information.


test(weaver-fabric-examples): use docker compose v2

Updates the weaver fabric example network.sh file to use docker compose v2 syntax.  docker-compose
v1 will be dropped on the github runners in a few weeks. (ref: https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2204-Readme.md)
Pull Request Requirements

[x] Rebased onto upstream/main branch and squashed into single commit to help maintainers review it more efficient and to avoid spaghetti git commit graphs that obfuscate which commit did exactly what change, when and, why.
[x] Have git sign off at the end of commit message to avoid being marked red. You can add -s flag when using git commit command. You may refer to this link for more information.
[x] Follow the Commit Linting specification. You may refer to this link for more information.

Character Limit

[x] Pull Request Title and Commit Subject must not exceed 72 characters (including spaces and special characters).
[x] Commit Message per line must not exceed 80 characters (including spaces and special characters).

A Must Read for Beginners
For rebasing and squashing, here's a must read guide for beginners.

@jenniferlianne I just triggered various CI actions that were not automatically run when you submitted the PR. If the tests pass, I'll approve this.
But note that docker-compose is employed in several different Weaver modules (see subfolders within core and samples for examples), and not just the test networks, so we should be doing this upgrade everywhere. Would you prefer to fix all of them in this PR itself or should we merge this and do the rest in a subsequent PR?

@VRamakrishna Thanks.  Could you please put this one through?  I have another change pending which updates network.sh to use the Fabric versions specified in the makefile that I'd like to put in.
Reading the contribution guide, I thought I would separate the small-ish change into two very small ones to make the intention clear.  Not sure if this was a good choice.

@jenniferlianne Here is a list of other locations within the weaver folder where docker-compose is being used:

https://github.com/hyperledger/cacti/tree/main/weaver/core/drivers/fabric-driver
https://github.com/hyperledger/cacti/tree/main/weaver/core/drivers/corda-driver
https://github.com/hyperledger/cacti/tree/main/weaver/core/relay
https://github.com/hyperledger/cacti/tree/main/weaver/core/identity-management/iin-agent
https://github.com/hyperledger/cacti/tree/main/weaver/tests/network-setups/indy/docker
https://github.com/hyperledger/cacti/tree/main/weaver/tests/network-setups/corda

In some locations, the docker-compose commands are in the makefiles, and in others, in scripts. You may have to do a find (or a find-and-replace) within the above folders.

Closing, will resubmit with broader changes as requested.