Evaluate: Support Runtime API calls

Evaluate what needs to be done for #520 and if we should add the task to our next work package

I investigated a little and documented all my findings in #520.
Regarding if we should add it to next proposal: Yes, definitely. Parity just recently stabilized metadata v15 in frame-metadata v16.0.0 and in Substrate itself


Customer question in nuget.exe CLI reference (wildcards)

https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference#comments-container
Jazzeagape Feb 3, 2017
How can you update specific packages based on a wildcard/regex pattern? I notice CLI reference ignores expressions such as (nuget.exe update a.sln | where Id -like “DefinitelyTyped” | foreach { update-package $_.Id  -reinstall })

responded to customer.


Revert "fix: try to get run python coverage on yml file to work with CI."

Reverts Origami-TinyML/tflm_hello_world#76
We are still speculating on this issue with @matiasto . So for now its better to revert the changes. We will make a new PR when its ready.

Seems like there is something wrong with the workflow and nbdev. I think this issue should be further investigated.

It seems like this commit has been approved:
https://github.com/Origami-TinyML/tflm_hello_world/commit/a84bf006443fb66db84c95520c8339fe21c428f3
Which may cause the issues nbdev CI issues. It may have some broken code inside it.

@doyu I think the best course of action is to revert to 14 February.
SHA: 68360fa660a21050cc51a62a619e6f7e5e180c57
We would only have to add Nellas' meeting notes again.

Done
@nellatuulikki please send your PR again for the TOT.


content in document

The content for "the process of converting the raw electrical signals from the sequencer into corresponding DNA/RNA sequence information" seems to be "basecall" instead of "resquiggle".
Best,
RS

Thank you very much for your feedback. The description of this section is updated now and includes an example figure.


Query of PowerShell step in section How to enable sensitivity labels for containers and synchronize labels

In the section 'How to enable sensitivity labels for containers and synchronize labels' it mentions that the sensitivity labels need to be synced with Azure AD and to run the following command Execute-AzureAdLabelSync
When you go view the for Execute-AzureAdLabelSync https://docs.microsoft.com/en-us/powershell/module/exchange/execute-azureadlabelsync?view=exchange-ps
it states
'This cmdlet is required if you were using sensitivity labels before September 2019.'
Does that mean if you have not used sensitivity labels before this whole section 'How to enable sensitivity labels for containers and synchronize labels' is no not required
Can this section of the page be updated if this step is only required if you were using sensitivity labels before September 2019.'

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

ID: 0d40ac52-6f02-b0f3-0c45-9f359473703b
Version Independent ID: 108355a9-05a3-4d17-c417-c4d5664a4506
Content: Use sensitivity labels with Microsoft Teams, Microsoft 365 groups, and SharePoint sites - Microsoft 365 Compliance
Content Source: microsoft-365/compliance/sensitivity-labels-teams-groups-sites.md
Service: o365-seccomp
GitHub Login: @cabailey
Microsoft Alias: cabailey

@nikki-c : My recollection is that running this cmdlet is definitely needed if you had sensitivity labels before September 2019, but we also identified other scenarios that might require running this cmdlet, so as a safeguard against possible issues we included it as a one-time command everybody should run.  Checking with engineering whether this is still the case.

If you need to run the  Execute-AzureAdLabelSync  in all situations can the PowerShell cmdlet page Execute-AzureAdLabelSync https://docs.microsoft.com/en-us/powershell/module/exchange/execute-azureadlabelsync?view=exchange-ps be updated to remove 'This cmdlet is required if you were using sensitivity labels before September 2019.'
From: Carol Bailey<EMAIL_ADDRESS>Sent: 25 November 2020 18:31
To: MicrosoftDocs/microsoft-365-docs<EMAIL_ADDRESS>Cc: Nikki Chapple<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/microsoft-365-docs] Query of PowerShell step in section How to enable sensitivity labels for containers and synchronize labels (#3560)
@nikki-chttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_nikki-2Dc&d=DwMCaQ&c=aj9Ha5yMZahcf_BRtDCWCQ&r=4X2LVoiHgkiOrp6R0STYhhu-lNwIEFUDxBQBmnoeGu4&m=yfhKUxOLvvPMVrFXDslIubgHrMq1EUC6o0bCCvwXhoY&s=ePT0RnY_wQT-MlByZkINCyold7qwjHkhdie98fJGUJ0&e= : My recollection is that running this cmdlet is definitely needed if you had sensitivity labels before September 2019, but we also identified other scenarios that might require running this cmdlet, so as a safeguard against possible issues we included it as a one-time command everybody should run. Checking with engineering whether this is still the case.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_MicrosoftDocs_microsoft-2D365-2Ddocs_issues_3560-23issuecomment-2D733879874&d=DwMCaQ&c=aj9Ha5yMZahcf_BRtDCWCQ&r=4X2LVoiHgkiOrp6R0STYhhu-lNwIEFUDxBQBmnoeGu4&m=yfhKUxOLvvPMVrFXDslIubgHrMq1EUC6o0bCCvwXhoY&s=ghPdi7RsJfoJ78kY3pNtIDJzkqSQByR3NKZt1vQ3i6c&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AQRY4GWJUXI2D7HFOHKFKK3SRVENVANCNFSM4UCT4OPQ&d=DwMCaQ&c=aj9Ha5yMZahcf_BRtDCWCQ&r=4X2LVoiHgkiOrp6R0STYhhu-lNwIEFUDxBQBmnoeGu4&m=yfhKUxOLvvPMVrFXDslIubgHrMq1EUC6o0bCCvwXhoY&s=nlAizs4Uq3IdlEwck59xw_oyxz24nw6qVzD8QabX06g&e=.

@yogkumgit  I haven't had confirmation that the other scenarios are no longer relevant but I will continue to ask. In the meantime, I recommend we close this.  The cmdlet description for Execute-AzureAdLabelSync is accurate because it says when you definitely need to run it, and this was the original purpose of the cmdlet.  In our instructions on this page, we tell customers to run it for that reason, and as a precaution in case any of the scenarios apply to them.  The explanation provided is accurate:: "to ensure your sensitivity labels can be used with Microsoft 365 groups", Even though it might not be required for all customers, it's a one-time command that could save a lot of time in troubleshooting.  I'm reluctant to update this page to say run it only if you were using sensitivity labels before September 2019 unless I have confirmation those scenarios no longer apply. But equally, it's not accurate to update the cmdlet description to say "you need to run the  Execute-AzureAdLabelSync in all situations".

@cabailey Thank you very much for sharing this explanation. @nikki-c Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Twitter bio link broken in author profile – current article

The author bio (http://alistapart.com/author/orr-shtuhl) for yesterday’s article contains a non-functioning Twitter link. The link reads ”@orr-shtuhl” but apparently points to Twitter’s home page instead of pointing to http://alistapart.com/author/orr-shtuhl as it should. As a result, clicking the author’s Twitter bio link merely loads the Twitter home page instead of the author’s Twitter profile page.

Corrected! Theses issues are a result of a big change we made: pulling information for authors from the contributor channel instead of the member module.

Thanks! Is it fixed everywhere? Is the info in the contributor channel
incorrect?
…………………………………
Jeffrey Zeldman
A Space Apart
148 Madison Avenue, Suite 600
New York, NY 10016
917-746-4838
A Book Apart http://abookapart.com | A List Apart http://alistapart.com/
| An Event Apart http://aneventapart.com
Big Web Show http://5by5.tv/bigwebshow | zeldman.com http://Zeldman.com
| @zeldman https://twitter.com/zeldman
On Wed, Apr 13, 2016 at 9:20 AM, Michelle Kondou<EMAIL_ADDRESS>wrote:

Corrected! Theses issues are a result of a big change we made: pulling
information for authors from the contributor channel instead of the member
module.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/alistapart/AListApart/issues/373#issuecomment-209437153

It is fixed everywhere. The info in the contributor is correct.
The goal is to only fill in author infomation in one place (the contributor channel) instead of both the contributor channel and the member module. I have been working with Erin to discover any instances where the info might still be getting pulled from the member module instead of the contributor channel. It is correct everywhere because up to now we had been filling in information in both places, which ofcourse is counterproductive!

THANK YOU so much! I understand completely, and greatly appreciate what
you've done and are doing.
…………………………………
Jeffrey Zeldman
A Space Apart
148 Madison Avenue, Suite 600
New York, NY 10016
917-746-4838
A Book Apart http://abookapart.com | A List Apart http://alistapart.com/
| An Event Apart http://aneventapart.com
Big Web Show http://5by5.tv/bigwebshow | zeldman.com http://Zeldman.com
| @zeldman https://twitter.com/zeldman
On Wed, Apr 13, 2016 at 9:35 AM, Michelle Kondou<EMAIL_ADDRESS>wrote:

It is fixed everywhere. The info in the contributor is correct.
The goal is to only fill in author infomation in one place (the
contributor channel) instead of both the contributor channel and the member
module. I have been working with Erin to discover any instances where the
info might still be getting pulled from the member module instead of the
contributor channel. It is correct everywhere because up to now we had been
filling in information in both places, which ofcourse is counterproductive!
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/alistapart/AListApart/issues/373#issuecomment-209443360


Cannot resolve module 'console'

ERROR in ./~/html5-history/index.js
Module not found: Error: Cannot resolve module 'console' in /Users/.../node_modules/html5-history
 @ ./~/html5-history/index.js 15:14-32

He probably just forgot to add it to the packages, just install it yourself:
npm i console -D or yarn add console -D

It's part of browserify which emulates require('console') in the browser for node compatibility

It's part of browserify which emulates require('console') in the browser for node compatibility

To use this in my own custom webpack build I had to manually install it 🤷


Option to align equals sign for "val" assignments

I have some code like this:
val s3Client = new AmazonS3Client()
val threadPool = Executors.newFixedThreadPool(settings.S3ThreadPoolSize).asInstanceOf[ThreadPoolExecutor]
val configuration = new TransferManagerConfiguration()
val transferManager = new TransferManager(s3Client, threadPool)

I wish I could have it formatted like this
val s3Client        = new AmazonS3Client()
val threadPool      = Executors.newFixedThreadPool(settings.S3ThreadPoolSize).asInstanceOf[ThreadPoolExecutor]
val configuration   = new TransferManagerConfiguration()
val transferManager = new TransferManager(s3Client, threadPool)

Not sure if I missed it or not... would be happy to help if you have some pointers on how to go about adding a new rule.
Thanks!

This issue was moved to scala-ide/scalariform#176


Can I work on this?

Sometime ago I ported dragonbones to Java: https://github.com/soywiz/DragonBonesJava
I have seen that there are other efforts: https://github.com/GDoom/DragonBonesJava https://github.com/DragonBones/DragonBonesJAVA/issues/1
But they are all outdated.
I can try to port the current version of DragonBones from C# to Java.
https://github.com/DragonBones/DragonBonesCSharp
In order to be able to update it, what I'm going to do is to copy C# folder into my repo. And then I will copy C# files in Java files and will start changing syntax file by file.
Since I have the same C# and Java code in the same repo, if C# is updated, I can just copy all files here and check the diff to apply it to Java version, which should make updating easier. Also I would add a .travis.yml to compile java version to show how to compile and test it.
If nobody is working on this, I will work on it, and will make a PR soon probably in a few days.
Regards, and thank you for your awesome work!

Thank you for your contribution :)
If you are willing to try, it is recommended to proceed from the TypeScript version, because the C# is not up to date.
https://github.com/DragonBones/DragonBonesJS

Understood! And thanks for replying :) I will start later today. Then probably I will code it in kotlin that is JVM based too, and syntax is much more similar to typescript than java and will end much faster. I will use last master from github. I hope it is stable!

@soywiz  Hello，  How can i run this ,sample is empty

I only implemented the backend part (all the arithmetic and logic); not implemented rendering.
A possible frontend for rendering would be libgdx.

did you ever finish work on this? I still don't see any examples for libgdx

Nope. But this week I have ported (TypeScript master) to Kotlin (that is much more similar to typescript) and my game engine instead: https://soywiz.com/ported-dragonbones-to-korge/
The code lives here: https://github.com/korlibs/korlibs/tree/master/korge/korge-dragonbones/common
If you don't mind to include the kotlin runtime, you can adapt the code to libgdx too.

oh fancy, that saves me the trouble of attempting to port the latest version over <3 thanks


Ensure reports-scheduler and dashboards-reports backwards compatibility with ODFE

Coming from opensearch-plugins#12, enable upgrade to OpenSearch, while supporting backward compatibility.

[x] Rename Namespaces (e.g. com.amazon.opendistroforelasticsearch to org.opensearch)
[x] Rename Classes, Methods, Variables
[x] Rename Remaining Identifiers (e.g. Opendistro to OpenSearch).
[x] Rename, and Backwards Compatibility for Rest APIs
[x] Rename, and Backwards Compatibility for Settings
[ ] Rename, and Backwards Compatibility for Indices
[ ] Run in a backwards compatible way on top of OpenSearch 1.0 that has joined an ES 7.10.x cluster
[ ] Run in a backwards compatible way on top of OpenSearch 1.0 that has joined an ODFE 1.13.x cluster
[ ] Drop in replacement for the Opendistro version 1.13 of the plugin

@davidcui-amzn Can we close this issue since the PR is merged

@davidcui-amzn Can we close this issue since the PR is merged

Closed


Fix issue with servicesLogs

Fix typo when accessing the servicesLogs array and add the length parameter required to detect the multiple values in a maps.
Use the correct location for the logs files by using the standard tmpUrl parameter from the mainsection.

Thank you for your contribution.
If I may, I'd like to suggest adding the following comment to the handle_outputs function to clarify the difference between each output files:
    def handle_outputs(self, log, output, usage_report, tool_logs):
        """
        Handle the output files of the execution.

        :param log: The application log file of the execution.
        :param output: The output file of the execution.
        :param usage_report: The performance metrics file for the application during execution.
        :param tool_logs: A list of paths to individual workflow step logs from the execution.

        """

And a small comment also above the servicesLogs variable just to explain what the loop does
# link element to add to the get status response
servicesLogs=[.....

You can also remove the pass command which is not needed anymore.
Sorry for being picky. Thank you

Thanks for your feedbacks and no worry for being picky.
I have made the requested modifications.


How to create 404 page

How can I create 404 page within this project?

Are you using JSX style? If yes you can just do the following:
<Route>
  // your routes
  <Route path="*" component={NotFoundComponent} />
</Route>

Thanks @ShepelievD !


highestHitStreak variable not populating

It's very likely that I am doing something wrong here. I can get the currentHitStreak variable to populate, but not the highestHitStreak.

I'm not entirely sure there is much that can be done wrong here. I assume you are using the latest release?
Unfortunately I won't have time to look into it soon, but maybe we can schedule a call at some point?

@BoomSoMuch When testing with the current guessing game branch, all of those variables seem to work as intended. Can you please double check if the problem still persists for you?

@Th0rstenf I'm closing this issue as resolved.
I just tested on the latest version and currentHitStreak is working perfectly. I must have been on an older version.


https://rule34.paheal.net not downloading

Since the image server change I am unable to download images from https://rule34.paheal.net/ unless I look at the preview first.
Steps to reproduce
Open Grabber and goto https://rule34.paheal.net/
Highlight a few images
Download from download tab
No files will be downloaded.
Expected behavior
Files should be downloaded from new image server
https://r34i.paheal-cdn.net/
but are being attempted to download from
https://rule34.paheal.net/_images/
Context
Seems to have occured since server backend change
Additional context
[17:12:23.228][Warning] [rule34.paheal.net][Rss] Uncaught exception at line 168: TypeError: Cannot read property 'rss' of undefined
[17:12:23.229][Warning] [rule34.paheal.net] Loading using Rss failed. Retry using Html.
[17:12:23.229][Info] [rule34.paheal.net][Html] Loading page https://rule34.paheal.net/post/list
[17:12:23.325][Info] [rule34.paheal.net][Html] Receiving page https://rule34.paheal.net/post/list
[17:12:23.336][Info] [rule34.paheal.net][Html] Parsed page https://rule34.paheal.net/post/list: 70 images (70), 10 tags (10), -1 total (35000), 500 pages (500)
[17:12:27.244][Info] Adding single file: https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.jpg
[17:12:27.245][Info] Adding single file: https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.png
[17:12:30.004][Info] Batch download started.
[17:12:30.016][Info] All images' urls have been received (2).
[17:12:30.016][Info] Loading image from https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.jpg 1
[17:12:30.017][Info] Loading and saving image from https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.jpg in [Destination folder]*edited
[17:12:30.109][Info] Image not found. New try with extension png (https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.png)...
[17:12:30.176][Info] Image not found. New try with extension gif (https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.gif)...
[17:12:30.240][Info] Image not found. New try with extension jpeg (https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.jpeg)...
[17:12:30.308][Info] Image not found. New try with extension webm (https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.webm)...
[17:12:30.375][Info] Image not found. New try with extension swf (https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.swf)...
[17:12:30.443][Info] Image not found. New try with extension mp4 (https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.mp4)...
[17:12:30.511][Warning] Image not found. New try with its sample (https://rule34.paheal.net/_images/ccbd8e8eabba9e657f039709c5b37f80.jpg)...
[17:12:30.578][Info] Image not found.
[17:12:30.579][Info] Loading image from https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.png 1
[17:12:30.579][Info] Loading and saving image from https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.png in [Destination folder]*edited
[17:12:30.644][Info] Image not found. New try with extension jpg (https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.jpg)...
[17:12:30.709][Info] Image not found. New try with extension gif (https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.gif)...
[17:12:30.779][Info] Image not found. New try with extension jpeg (https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.jpeg)...
[17:12:30.845][Info] Image not found. New try with extension webm (https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.webm)...
[17:12:30.906][Info] Image not found. New try with extension swf (https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.swf)...
[17:12:30.970][Info] Image not found. New try with extension mp4 (https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.mp4)...
[17:12:31.643][Warning] Image not found. New try with its sample (https://rule34.paheal.net/_images/301dcce42a29e24f803a486663789ed4.png)...
[17:12:31.707][Info] Image not found.
[17:12:31.708][Info] Images download finished.
[17:12:32.731][Info] Batch download finished
[17:12:33.555][Info] Cancelling downloads...

To elaborate on this wording
Since the image server change I am unable to download images from https://rule34.paheal.net/ unless I look at the preview first.
You can click the picture to preview which shows the image then clicking on download page or selected or batch download it will download the picture which was previewed but not any others which have not been previewed.
I  hope that makes sense, I dont beleive its a server issue it seems more that the files from the grabber are looking in the wrong location to download unless previewed first.

Indeed, it seems that they totally changed their URL.
Thankfully they have a "File Only" link on their listing page that can be used instead, so I'll push a small fix to use that.

is the fix still coming? or does it exist and i cant find it
is there a way to change it on my end?


Add the information it´s necessary the powerbi pro license.

Add the information it´s mandatory  the powerbi pro license.
on the link: #connect-to-dynamics-365-customer-service-data
add the example http://contoso.crm.dynamics.com/
#some customers add the API URL for odata. itpsa not work for the report.

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

ID: b9b68454-4087-41f6-e659-ea24af34654d
Version Independent ID: 33d9037b-08c0-131c-b232-ed61533afdd8
Content: Customer Satisfaction app - Microsoft Forms Pro
Content Source: fp-docs/customer-satisfaction-app.md
Service: forms-pro
GitHub Login: @sbmjais
Microsoft Alias: shjais

Thanks @tcardos0. The updated help is published - Connect to Dynamics 365 Customer Service data .
Closing this issue.


Search offset doesn't work

Seems that "offset" param in the search() method doesn't do anything.
The code below produces the following results:
client.search('facebook', 5, 0)
  .then((results) => {
    console.log(results[0].child.map((e) => e.details.appDetails.packageName));
  })

[ 'com.facebook.katana',
  'com.facebook.lite',
  'com.facebook.orca',
  'com.facebook.work',
  'com.facebook.stickered' ]

But when I change the offset from 0 to 5 I still get the same results.
client.search('facebook', 5, 5)
  .then((results) => {
    console.log(results[0].child.map((e) => e.details.appDetails.packageName));
  })

[ 'com.facebook.katana',
  'com.facebook.lite',
  'com.facebook.orca',
  'com.facebook.work',
  'com.facebook.stickered' ]

Do you know if Google have changed their API? I am pretty sure this was working fine a few months ago.

I confirmed locally that the offset parameter isn't working currently. I'm investigating whether the parameter has changed and will get back to you.

yeah it looks like they got rid of the offset (o) parameter. max size of 100 seems to be all we're able to do now. I'll update the code to reflect that and maybe warn with some kind of deprecation warning on requests with an offset field set.

FYI search response contains a nextPageUrl property, specifically response.payload.searchResponse.doc[0].containerMetadata.nextPageUrl.
Using that URL one can iterate over the result pages.

nice. yeah the containerMetaData field is described here https://github.com/dweinstein/google-play-proto/blob/master/googleplay.proto#L546-L554 -- I suppose I could return an iterator that would allow requests to walk the nextPages, but that would probably have to be exposed as a different name on the API object.
Thoughts on this?

Iterator is an excellent idea! As for exposing new search functionality under a different method name, I believe this is a matter of preference. The way things are going with Google Play the search method will be useless unless people are only looking to get the 1st page of the results. So why not change it completely and bump the major version of the project? Again, this is a matter of preference.
The only alternative I can think of is iterating the pages internally and collecting the results in a single array to return.

How do you go about using the nextPageUrl to navigate to the next page?
I'm new to node.
Right now I am just using the search function example with the command running node search.js etc etc etc

function search (term, n, offset) {
return api.search(term, n, offset).then(function (res) {
console.log('%j', res);
});
}

How can I retrieve the nextPageUrl and navigate to it?


docs(README): Clean up code blocks

Rendered Markdown
Removes prompt character in code blocks so when it's rendered on GitHub, the copy button is useful for quick pasting in the terminal.
Also updates the go installation commands for the wego dependency setup - go get is no longer supported outside a module, and the go install command needs to reference a specific git reference.

This is also a Hacktoberfest PR - if it passes muster, could you add the hacktoberfest-accepted label to this PR?

i will like to be assigned to this issue but i do not think i understand what i am meant to do


Added hindi translations for essential UI elements in hindi.md

changed

Narrow to - सीमित करे added
Member - सदस्य
Settings - समायोजन
Switch - बदलना
Log in - लॉग इन करें
Log out - लॉग आउट करें
Full screen -फुल स्क्रीन करे
New - नया
New Group -नया ग्रुप बनाये and
Set your status - स्टेटस लगायें

Invisible mode -  अदृष्य रूप

Fixes:

Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

@Prakharprasun please refer to commit discipline and translating guidelines to reduce the efforts of reviewers. :blush:
you can mark your pull request as draft until it's ready for review.


🤗 Transformers compatibility

Make CTransformers compatible with 🤗 Transformers:

[ ] Add Transformers-compatible model
[ ] Add Transformers-compatible tokenizer

See:

https://github.com/marella/ctransformers/issues/91#issuecomment-1685118509
https://github.com/marella/ctransformers/issues/13#issuecomment-1597662836

Added support for 🤗 Transformers in 0.2.26


Prevent broken regeneration of operator CSV YAML

ruamel will introduce a line break if the yaml line is longer than
yaml.width. Unfortunately, this causes issues for JSON values nested
within a YAML file, e.g. metadata.annotations."alm-examples" in a CSV
file. The default value is 80. Set it to a more forgivinng higher
number to avoid issues

ruamel will also cause issues when normalizing a YAML object that contains
a nested JSON object when it does not preserve quotes. Thus, it produces
invalid YAML. Let's prevent this from happening at all.
CLOUDBLD-5749
Signed-off-by: Martin Bašti<EMAIL_ADDRESS>Maintainers will complete the following section

[x] Commit messages are descriptive enough
[x] Code coverage from testing does not decrease and new code is covered
n/a JSON/YAML configuration changes are updated in the relevant schema
n/a Changes to metadata also update the documentation for the metadata
n/a Pull request has a link to an osbs-docs PR for user documentation updates
n/a New feature can be disabled from a configuration file

Release notes:

tuned up yaml parser to avoid potential breaking changes in operator CSVs (line breaking, not preserving quotes)


feat: Setup GitHub workflow for running unit tests

This resolves issue #35

@unicodeveloper Will like to get your thoughts on the styler fixer changes, seems strange and unnecessary.


Constructing a tree with 'dict_to_tree' does not set attributes to Node attributes

Describe the issue
A clear and concise description of what the bug is.
If you got an exception related to the bug, you must paste it here (the full traceback).
Environment
Describe your environment:

Plateform: Ubuntu
Python version: 3.8
bigtree version: 0.10.2

To Reproduce
Steps to reproduce the behavior:

Make a custom Node object as from sample: https://bigtree.readthedocs.io/en/latest/others/tips.html#population-node-add-functionality-method-property
Construct a tree from a dict as from sample: https://bigtree.readthedocs.io/en/latest/bigtree/tree/construct.html#bigtree.tree.construct.dict_to_tree
Set 'node_type' to the custom  Node
Try to export created tree to a dict with 'tree_to_nested_dict'
Resulting dictionnary have attributes set to argument default value

Expected behavior
I was trying to load a list of paths to build a tree, using 'dict_to_tree' to carry extra path informations and then export it to a nested dictionnary structure with its attributes.
For my research i did a test suite file with pytest which demonstrate behavior and expections: https://gist.github.com/sveetch/7d60f0cfcc76ae31f2ca973038da3c88

Hi, thanks for raising this issue! The fix is implemented in v0.10.3, do upgrade bigtree with the command pip install --upgrade bigtree.

Wow that was quick, thanks for your responsiveness you're wonderful 👍👍👍


Restart server on gatsby-config change

Can we add a watcher to restart/rebuild the server when the gatsby-config changes?
As-is currently (while running npm run dev), editing gatsby-config causes the script to reload (?) the site in place, but this rarely seems to be successful. The fix is usually to stop and restart the server manually.

This is fixed but it'll require a modification in how to retrieve the globalNav config see https://github.com/adobe/gatsby-theme-parliament/blob/main/example/gatsby-config.js#L13-L16


Fix comment deletion

There was a bug in my last PR sorry, I just copy/paste your suggestion and didn't tested enough. I should have added some unit tests to test the comment deletion feature but I'm missing time for this :(

@kasty no problem.
Thanks!!


Plugin/battery

(If you accept this PR in to your repo, it should automatically update your PR for the main repo)
Description

Splits the upower invocation in two,
expands the upower mock in the tests to return multiple paths.

Motivation and Context
Bash-it/bash-it#2074
How Has This Been Tested?
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the code style of this project.
[x] If my change requires a change to the documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] If I have added a new file, I also added it to clean_files.txt and formatted it using lint_clean_files.sh.
[x] I have added tests to cover my changes, and all the new and existing tests pass.

The test failure was due to grep -o '[0-9]\+' being different than grep --max-count=1 -o '[0-9]\+'...

1..28
ok 1 plugins battery: battery-percentage with no tool
ok 2 plugins battery: battery-percentage with pmset, 100%
ok 3 plugins battery: battery-percentage with pmset, 98%
ok 4 plugins battery: battery-percentage with pmset, 98.5%
ok 5 plugins battery: battery-percentage with pmset, 4%
ok 6 plugins battery: battery-percentage with pmset, no status
ok 7 plugins battery: battery-percentage with acpi, 100% Full
ok 8 plugins battery: battery-percentage with acpi, 98% Charging
ok 9 plugins battery: battery-percentage with acpi, 98% Discharging
ok 10 plugins battery: battery-percentage with acpi, 98% Unknown
ok 11 plugins battery: battery-percentage with acpi, 4% Charging
ok 12 plugins battery: battery-percentage with acpi, 4% no status
ok 13 plugins battery: battery-percentage with acpi, no status
ok 14 plugins battery: battery-percentage with upower, 100%
ok 15 plugins battery: battery-percentage with upower, 98%
ok 16 plugins battery: battery-percentage with upower, 98.5%
ok 17 plugins battery: battery-percentage with upower, 4%
ok 18 plugins battery: battery-percentage with upower, no output
ok 19 plugins battery: battery-percentage with ioreg, 100%
ok 20 plugins battery: battery-percentage with ioreg, 98%
ok 21 plugins battery: battery-percentage with ioreg, 98.5%
ok 22 plugins battery: battery-percentage with ioreg, 4%
ok 23 plugins battery: battery-percentage with ioreg, no status
ok 24 plugins battery: battery-percentage with WMIC, 100%
ok 25 plugins battery: battery-percentage with WMIC, 98%
ok 26 plugins battery: battery-percentage with WMIC, 98.5%
ok 27 plugins battery: battery-percentage with WMIC, 4%
ok 28 plugins battery: battery-percentage with WMIC, no status


No issue.

Description
Windows installer, with Desktop shortcut, Start Menu item,  web link in Start Menu and an uninstaller!
Steps to Reproduce Issue
Download "Inno Script Studio"
Run it, select 'Simple Script' and follow the easy wizard!
To change every icon you can use "ResHacker"
Specifications
All Windows OS's!
<Stack trace here>

I'm just building a small hobby project to do the same thing as well!


[spaceship] support for adding & removing users

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context
Own branch with new model: ref: https://github.com/fastlane/fastlane/pull/17305

Added the model. Not sure how to do the attributes: [] stuff. I'm not finding it very approachable. This way one can directly discover, what to use and how to implement it.

@googlebot I consent.


Fix node registration

Adds the node registration method back, although at the moment it's just called in Creator.__init__ so you don't see it.
TODO:

[ ] Tests
[x] Think about what API you want to support -- should we also handle lists of nodes, or modules containing a nodes attribute (as long as it has the right type), or URLs? (EDIT: Right now I'm still only accepting string import paths to modules that have a nodes: list[Node] property, but the Creator.register method has good encapsulation of the logic for checking whether (a) newly proposed packages are just a re-registration of an existing package, and (b) whether the proposed package will actually be usable for generating nodes, so extending this in the future to other node package identifiers should be easy. For now I want to prioritize getting any fix in so we at least have some way to register things!)
[ ] Stop registering atomistics by default and update the demo and docs as needed
[x] More gracefully handle re-registering things -- if it's the same nodes being set to the same domain name, just let it pass silently! This may be helpful when...
[ ] We encourage somewhere in the docs that macros register the necessary packages inside the macro definition whenever the macro uses .create... (i.e. unless the macro is part of the same .py file that all its children are coming from, in which case they should be available in-scope without .create

Outside of scope:

Actually supporting all manner of registration types (like a URL) -- I just want infrastructure that will be flexible enough to handle that in the future, not to get it all solved now!

Closes #51

The 3.9 tests break:
...
TypeError: unsupported operand type(s) for |: 'type' and 'type'

The above exception was the direct cause of the following exception:
...
ValueError: The package identifier is pyiron_workflow.node_library.standard is not valid. Please ensure it is an importable module with a list of Node objects stored in the variable `nodes`.

At first I was confused why importing from pyiron_workflow.node_library.standard would not work, but scrolling up the trace it's actually breaking when trying to process the type hint. This makes sense since 3.9 doesn't handle | but requires typing.Union, hence why we brute-force skip almost all the tests until the version is >= 3.10.
This failure happens in:
ERROR: executors.test_cloudprocesspool (unittest.loader._FailedTest)
ERROR: test_macro (unittest.loader._FailedTest)
ERROR: test_util (unittest.loader._FailedTest)
ERROR: test_workflow (unittest.loader._FailedTest)

In each case starting with
ImportError: Failed to import test module: [test module name]

So I guess I've somehow added a "bad" type hint somewhere before we get to the skipif version guard.

The problem is when Creator tries to register the standard node package, which makes enough sense since we parse the type hints there and definitely use the new style.
What doesn't yet make sense is why there's a creator existing in, e.g., the tests/unit/executors/test_cloudprocesspool? And since the standard registration happens in __init__ is there really one of these being initialized, or is this some strange side-effect of the Creator being a Singleton?

Ah, ok, I think maybe because right in pyiron_workflow.__init__ we import Workflow, which inherits from Composite, which instantiates a Creator as a class attribute.
We no longer get away with this because now we typing.get_type_hints as part of the decorator creating new node classes.
Alright, so all perfectly sensible now how to fix it.

======================================================================
ERROR: test_timeout (executors.test_cloudprocesspool.TestCloudpickleProcessPoolExecutor.test_timeout)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/runner/work/pyiron_workflow/pyiron_workflow/tests/unit/executors/test_cloudprocesspool.py", line 158, in test_timeout
    fs.result(timeout=30),
    ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/work/pyiron_workflow/pyiron_workflow/pyiron_workflow/executors/cloudpickleprocesspool.py", line 10, in result
    result = super().result(timeout=timeout)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/runner/miniconda3/envs/my-env/lib/python3.11/concurrent/futures/_base.py", line 458, in result
    raise TimeoutError()
TimeoutError

----------------------------------------------------------------------

Here we wait 30s and expect a result. It passed for other versions/OSs, so I think things were just super slow for some reason. I'm going to be a little more generous with the waiting time and try again.

Notebook failure is expected since I stopped registering atomistics by default and broke the scatter plot node over to its own package.

Codacy Coverage Report — -1.15% coverage variation (-1% target)

Coverage is just angry because pyiron_workflow.node_library.atomistics is no longer getting caught in the unit tests, but that's kind of the point; the unit tests are meant to test the infrastructure not the nodes we build on top of it. When the nodes get spun off to their own repos they can have their own tests.


[53767] Risk scoring limits per timestamp

Since now DailySummary gets recalculated for the days in the past, it makes sense to limit the exposures per timestamp to generate message in the app only once when the threshold for the given date is passed. Dates are saved in SecureStorage.

@pavshr I have added tests for different cultures. One test was missing Init of DependencyInjectionConfig so it was failing. Also i have done a bit of code cleanup


[en] Standardised template spacing across sentences

Tidies up the sentence structure to ensure there are no spaces inside of optional words. E.g.
<turn>[ all][ the] fan[s] on
becomes
<turn> [all] [the] fan[s] on

Summary by CodeRabbit

New Features

Enhanced flexibility in querying temperature with new sentence structures.
Improved clarity in commands for controlling cover positions and fan operations.
Added new patterns for checking the state of various entities and timers.

Bug Fixes

Adjusted formatting for better readability and consistency across multiple intents, including media controls and timer management.

Documentation

Updated sentence patterns for various intents to improve clarity and consistency in user commands.

Awesome, thank you for doing this!


Parentheses sometimes end up in the wrong place for constructors

This seems to happen any time you open the config window for a constructor.


Update index.html

Hello there!
I was just questioning what you are trying to do with my code. You had withdrawn my name from it so I assume you are not trying to develop it. This was code that I got and it could land you in some legal problems if you try and steal it. I am awaiting your response.
Echo

Are you making me pursue legal action @lopllss ?

@lopllss what are you doing???


chore: convert doc/mod comments from /- to /--//-!

Lake side of leanprover/lean4#1354.

Thanks! LGTM.


1D shape is lost in conversion to TILE_LAYOUT tensor

When converting an 1D tensor into TILE_LAYOUT, the result tensor will have the shape (1[32], x) and the original 1D shape information is lost during the process. When we want to convert the tiled tensor back to pytorch tensor, currently I don't know how to tell if the original shape is 1D.
For example, the code below is doning a round-trip conversion between pytorch and ttnn tensor and I expect to get the output (32,) but the result is (1, 32)
import torch
import ttnn

def main(device):
    input = torch.rand((32,), dtype=torch.bfloat16)
    input_tensor = ttnn.from_torch(input, layout=ttnn.TILE_LAYOUT, device=device)
    print(ttnn.to_torch(input_tensor).shape)

if __name__ == "__main__":
    device = ttnn.open_device(device_id=0)
    try:
        main(device)
    finally:
        ttnn.close_device(device)

I think this might be the root cause of the issues like https://github.com/tenstorrent/tt-metal/issues/12671 where we get 2D output on elementwise op with 1D input

For the completeness of the conversion, maybe we need to store the actual original 1D shape in TTNN tensor object so to_torch can convert it back to the orignal shape?

For the completeness of the conversion, maybe we need to store the actual original 1D shape in TTNN tensor object so to_torch can convert it back to the orignal shape?

Yes! @TT-BrianLiu and @ayerofieiev-tt are making the new amazing shape/layout in Tensor


resolve value as string?

The below question is exact the same as stackoverflow
With ui-router, I add all resolve logic in state function like this;
    //my-ctrl.js
    var MyCtrl = function($scope, customers) {
      $scope.customers = customers;
    }

    //routing.js
    $stateProvider.state('customers.show', {
      url: '/customers/:id',
      template: template,
      controller: 'MyCtrl',
      resolve: {   // <-- I feel this must define as like controller
        customers: function(Customer, $stateParams) {
          return Customer.get($stateParams.id);
        }
      }
    });

However IMO, resolve object must belong to a controller, and it's easy to read and maintain if it is defined within a controller file.
    //my-ctrl.js
    var MyCtrl = function($scope, customers) {
      $scope.customers = customers;
    }
    MyCtrl.resolve = {
      customers: function(Customer, $stateParams) {
        return Customer.get($stateParams.id);
      };
    };

    //routing.js
    $stateProvider.state('customers.show', {
      url: '/customers/:id',
      template: template,
      controller: 'MyCtrl',
      resolve: 'MyCtrl.resolve'   //<--- Error: 'invocables' must be an object.
    });

However, When I define it as MyCtrl.resolve, because of IIFE, I get the following error.
Failed to instantiate module due to: ReferenceError: MyCtrl is not defined

When I define that one as string 'MyCtrl.resolve', I get this
Error: 'invocables' must be an object.

I see that controller is defined as string, so I think it's also possible to provide the value as string by using a decorator or something.
Has anyone done this approach? So that I can keep my routings.js clean and putting relevant info. in a relevant file?

You can do:
$stateProvider.state('customers.show', {
      url: '/customers/:id',
      template: template,
      controller: MyCtrl,
      resolve: MyCtrl.resolve
    });

How you choose to get the MyCtrl reference is up to you. However what you describe requires building new functionality into angular's dependency injection, which is outside the scope of this project. If we choose to pivot our design to be closer to that of ng2 it may be something we do, but it won't be done using the API you described in all likeliness.

@allenhwkim I had this same issue and I ended up creating a provider with a method, rather than trying to take IIFEs off my controllers. For example, I was trying to load a document from an API before the state got loaded.
 angular
        .module('myApp.common')
        .provider('DocumentHelper', DocumentHelperProvider);

    function DocumentHelperProvider() {

        // Return a public interface
        return {
            resolveDoc: resolveDoc,
            $get: function () {
                resolveDoc: resolveDoc;
            }
        }

        // Provide document data before loading a document
        // This is so we can do one-way, one-time binding to save resources
        function resolveDoc() {
            return {
                // 'Document' can be injected into the review workspace to get all data
                Document: ['DocumentService', '$stateParams', function (DocumentService, $stateParams) {
                    // Return a promise from the DocumentService
                    return DocumentService.get({ id: $stateParams.documentId });
                }]

            }
        }

    } // DocumentHelperProvider

Honestly, I do not agree with this approach at all now (in the ng1 context) so I'm going to lock this thread.
When you define a state you can (and will) define multiple controllers (for each view) but you can only define one resolve. For this reason alone thinking of resolves as 1-1 with controllers is a bad idea. You may need a few resolves for one controller and more resolves for a second controller and perhaps even more resolves for a controller in a substate.
For this reason, chasing down controller properties to adjust resolves doesn't make sense.
Instead, try not to think of the controller as the important information holder in your app. Controllers should be simple, dumb and cheap, like if you need just one object for the nav view but three objects for the main view, those controllers should be 1 and 3 lines of code respectively.
Instead, consider the state definition itself the important source of truth. The state defines not only layout but also currently loaded data and rules for entry. Keep your state definition plain and you will find its much easier to add resources and structural changes when your app becomes more complex.

Well said proloser.

@ProLoser You make a valid point...however..consider this scenario (which I'm currently working on in a project):

You have a template with a bunch of fields
The fields won't change once they're loaded so you should have one-time binding for performance concerns
If you load the data on controller  activate(), you can't take advantage of one-time binding because the data will not be loaded once the controller activates (and thus, all these fields will be blank values and never update).
Since the view won't load until the data has been fetched (the resolve promise is resolved), you can use one-time binding syntax with a route resolve. It should provide a nice performer boost because there will not be hundreds of little watchers.

Am I approaching this issue the wrong way? This seems like it could be a pretty frequent use case.

You CAN use one-time binding if the data comes in late. The binding doesn't disconnect until the value becomes anything other than undefined
I don't know about activate(), are we talking about ng2? I was not really addressing that scenario.
I'm totally confused now. If you use resolve, the data comes in before the controller loads, so I don't know why one-time binding is even brought up. However, the issue being discussed has nothing to do with one-time binding or activations, etc. It's merely a choice of where you store your resolve definition. Simply putting your resolves as a property of your controller vs defining a simple pojo inline has no effect on anything, it's merely an organizational decision.

Honestly, if you were to say "Okay, i don't want to load this data over and over" then I'd propose caching it in your services that retrieve the data or moving some of the data being resolved up the state tree to where you feel it'd be more appropriate (which further illustrates my point that you should not tie your resolve definitions so closely to controllers).
Another point that occurs to me is that 1 resolved resource will actually be used in MULTIPLE controllers, so again it doesn't make sense to directly associate resolve definitions with any specific controller.
@jongunter the points you bring up confuse me a bit because I don't really see how they are particularly relevant to this issue. See point 2 if you have performance issues, this discussion was about code organization.

@jongunter as a side note, I think your code sample over-complicates things (I hate messing with providers in my app) and I don't see what benefit it provides. I also don't really get what it does and don't think it works the way you think it's working.


Augment country mask quality and bypass complex boundaries

Description
This fixes two issues we were seeing with the mask feature of the print module.

For smaller countries, the mask was not very precise. This PRs augments the details and quality of the outline boundary.
certain complex geometries/boundaries would result in weird triangular shapes appearing over the mask. For those countries, we pull simpler outlines directly. I used https://cartographyvectors.com/. Affected countries are:
'cambodia'
'ecuador'
'indonesia'
'mozambique'
'myanmar'
'sierraleone'

How to test the feature:

[ ]
[ ]

Checklist - did you ...

Test your changes with

[ ] REACT_APP_COUNTRY=rbd yarn start
[ ] REACT_APP_COUNTRY=cambodia yarn start
[ ] REACT_APP_COUNTRY=mozambique yarn start
[ ] Add / update necessary tests?
[ ] Add / update outdated documentation?

Screenshot/video of feature:

@ericboucher - we can get admin0 files and add them during the config process going forward. Generally, the most reliable source is HDX, ideally datasets tagged with 'COD'. The format is usually going to be a shapefile.
https://data.humdata.org/dataset/?cod_level=cod-standard&cod_level=cod-enhanced&ext_administrative_divisions=1&q=&sort=last_modified desc&ext_page_size=25
I'll add Mozambique to this PR and revisit others soon.

Hmmm. When I added an admin0 boundary for Mozambique using the HDX data, the stripe returns.

The issue with using the boundary you included @ericboucher is that they are not fully aligned with the other admin boundaries, as since this is for a print feature, fidelity matters. We shouldn't see boundaries like this:

@ericboucher - the last moz boundary file I tried seems to work well. File size went up, but it's still under 2mb.
Here's what I did in QGIS:

Dissolve admin1 layers
Delete holes (this gets rids of small bodies of water)
Multipart to single part. This seems to connect strays
Delete unused features
Export geojson w/ precision 6


FIXES #1 - missing getOwner() usage

Fixes issue described in #1 , adding ->getOwner().

thanks. tagged as 3.0.1.


Retrain the NN parser using both WSJ and GENIA

split WSJ and GENIA into train/test
test CoreNLP (as implemented in FastNLPProcessor) on WSJ and GENIA test. report scores (P/R/F1 for labeled/unlabeled dependencies) separately.
train a vanilla model JUST on WSJ. should replicate the results in CoreNLP.
train N models with N copies of GENIA appended to WSJ (where N ranges from 1 to 5). Evaluate each on WSJ and GENIA, as above. Goal: performance similar on WSJ, and much better on GENIA.
With @myedibleenso and @MihaiSurdeanu: integrate the new model in processors (BioNLPProcessor).

please add instructions on how to train the parser to the Wiki

@terroni: please send us a timeline of expected completion for each step.

Week of:

Nov. 7: split WSJ and GENIA into train/dev/test (finished); test CoreNLP (as implemented in FastNLPProcessor) on WSJ and GENIA test. report scores (P/R/F1 for labeled/unlabeled dependencies) separately.
Nov. 14: train a vanilla model JUST on WSJ. should replicate the results in CoreNLP; train N models with N copies of GENIA appended to WSJ (where N ranges from 1 to 5). Evaluate each on WSJ and GENIA, as above. Goal: performance similar on WSJ, and much better on GENIA.
Nov. 21: integrate the new model in processors; add instructions on how to train the parser to the Wiki

GENIA was already split into train/dev/test (and future_use, which we can just throw in at the end?). I split WSJ based on this, which does train (0-18), dev (19-21), and test (22-24).

I think the standard split for parsing tasks using the WSJ was 23 for test, 02-21 for training, and {01, 22, 24} for dev.

What about 00?

00 was the first section annotated and is generally regarded as bad
quality. Ok to skip it.
On Tue, Nov 8, 2016 at 12:35 PM, Terron Ishihara<EMAIL_ADDRESS>wrote:

What about 00?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/clulab/processors/issues/97#issuecomment-259236349,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABH-zjdKyk0t7XpjEMn5Wr5BFBBYGPOfks5q8M8CgaJpZM4KVLmr
.

Gus: number of models have been trained but performed poorly.  Suspect bug in training or evaluation code, currently investigating.

Solved in CluProcessor.


cicd: fix tag name

Description
Fix tag name
Add categories to release drafter
Type of change

[x] CI/CD

How has this been tested
N/A
Checklist:

[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Let's make the world better✨😋🐍🌎

Codecov Report

Merging #28 (bd453a8) into main (f6d4475) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #28   +/-   ##
=======================================
  Coverage   93.98%   93.98%
=======================================
  Files          21       21
  Lines         582      582
  Branches       34       34
=======================================
  Hits          547      547
  Misses         23       23
  Partials       12       12

Continue to review full report at Codecov.

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


Fix UINT64_MAX conversion to double

Casting UINT64_MAX to a double rounds it up by one. Therefore, when we cast it back to a uint64_t, it wraps around to zero!
A minimal example is the following (compiled with -O0):
#include <stdint.h>
#include <stdio.h>

int
main()
{
    double d = UINT64_MAX;
    uint64_t u = d;
    printf("%zu\n", u);
    return 0;
}

Current Band-Aid
My current band-aid solution (in some places) is to cast the UINT64_MAX to a long double. This maintains enough precision on some machines (specifically mine) but is not guaranteed to. I like portability.

Closed by #39


fix(deepMerge): 修复递归合并操作, 合并数组未去重的bug

General
#2660 #2663 这些issues提出的问题就是这个bug导致的

✏ Mark the necessary items without changing the structure of the PR template.

[x] Pull request template structure not broken

Type

ℹ What types of changes does your code introduce?

👉 Put an x in the boxes that apply

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

Checklist

ℹ Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉 Put an x in the boxes that apply.

[x] My code follows the style guidelines of this project
[x] Is the code format correct
[x] Is the git submission information standard?
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@WitMiao
这个没解决吧？还是能复现

BUG还存在

BUG还存在

并没有解决问题，因为const treeData = await getDeptList(); 中获取到的新树大部分与旧树重合，只有添加了子对象的那个元素会有差异，也就会被保留。同时，原有的那个元素也会保留，因为是唯一。这里应该给一个参数允许替换，而不是合并。

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

2023年05月12日01:27:56 此时还未解决, 我是用的是基础版

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

Bug依旧存在。

这是来自QQ邮箱的假期自动回复邮件。

您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。


Which version of ray should be used？

Problem Description
I tried to run the run_neurocuts.py,  the same problem was reported from ray 0.7.0 to 0.8.0
import ray._raylet  # noqa: E402
ModuleNotFoundError: No module named 'ray._raylet'

May I ask how to solve this problem?

Hi!
I have the same problem, I've checked every ray version available on pypi starting from 0.7.0 (mid-2019) and older, and I get different No module named ...-type errors every time.
Did anyone manage to find a solution? :)

...
0.6.4: ImportError: cannot import name 'Postprocessing' from 'ray.rllib.evaluation.postprocessing'
0.6.5: ImportError: cannot import name 'Postprocessing' from 'ray.rllib.evaluation.postprocessing'
0.6.6: ModuleNotFoundError: No module named 'ray.rllib.evaluation.rollout_worker'
0.7.0: ModuleNotFoundError: No module named 'ray.rllib.evaluation.rollout_worker'
0.7.1: ModuleNotFoundError: No module named 'ray.rllib.evaluation.rollout_worker'

0.8.6 + replacement of
from ray.rllib.evaluation.sample_batch import SampleBatch with from ray.rllib.evaluation.sample_batch_builder import SampleBatch -- crashes with
  File "/home/.../anaconda3/lib/python3.7/site-packages/ray/rllib/models/catalog.py", line 176, in get_action_dist
    child_dists_and_in_lens = tree.map_structure(
AttributeError: module 'tree' has no attribute 'map_structure'

The tree problem (0.8.6 version) was due to the module names collision. Installing dm-tree ,renaming the tree.py to something else + fixing the imports in related files kind of helped.
After that, the procedure returns ValueError: ('Observation outside expected value range', Dict(action_mask:Box(0.0, 1.0, (10,), float32), real_obs:Box(0.0, 100000000.0, (279,), float32)), {'real_obs': array([...

ValueError problem above is solved with forcing float64 in appropriate places; doesn't solve the whole dependencies problem, though.

My solution: tensorflow 1.14.0 (or 1.13.1) + this: https://github.com/alexeyev/neurocuts-docker/blob/master/context/requirements.txt


Add page iterator

Adds page iterator based on SDK design guideline
Implements proposed SDK design improvement to expose the page iterator via a method on the GraphCollectionRequest object
Refactors getPage() on GraphCollectionRequest to return a GraphResponse object if no return type is specified. Previously would return the JSON-decoded body
Adds a RequestOptions object that can be added in future minor revisions to set middleware on GraphRequests.

Closes #17

@MIchaelMainer ping for your sign-off/further review


Error when you press Sign In with Google

ERROR LOG:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.PlatformNotSupportedException: Operation is not supported on this platform.
at System.Net.HttpListener..ctor()
at Google.Apis.Auth.OAuth2.LocalServerCodeReceiver.StartListener()
at Google.Apis.Auth.OAuth2.LocalServerCodeReceiver.d__16.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Apis.Auth.OAuth2.AuthorizationCodeInstalledApp.d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Solutions.Compute.Auth.GoogleAuthAdapter.d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Solutions.Compute.Auth.OAuthAuthorization.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Google.Solutions.IapDesktop.Windows.AuthorizeDialog.<>c__DisplayClass3_1.<b__1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)
************** Loaded Assemblies **************
mscorlib
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2563.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
IapDesktop
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/IapDesktop.exe
System
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2634.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.dll
Google.Solutions.IapDesktop.Application
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/Google.Solutions.IapDesktop.Application.DLL
Google.Apis.Core
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/Google.Apis.Core.DLL
System.Windows.Forms
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
System.Drawing
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
WeifenLuo.WinFormsUI.Docking
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/WeifenLuo.WinFormsUI.Docking.DLL
Google.Solutions.Compute
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/Google.Solutions.Compute.DLL
System.Core
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2634.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
System.Configuration
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
System.Xml
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2612.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
WeifenLuo.WinFormsUI.Docking.ThemeVS2015
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/WeifenLuo.WinFormsUI.Docking.ThemeVS2015.DLL
System.Xml.Linq
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.Linq.dll
Google.Apis.Auth
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/Google.Apis.Auth.DLL
System.Net.Http
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2634.0 built by: NET471REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Net.Http.dll
Newtonsoft.Json
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>22
CodeBase: file:///C:/Users/Lyco%20Tatierra.ZED_NOTE_14I/AppData/Roaming/Google/IAP%20Desktop/Newtonsoft.Json.DLL
Accessibility
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/Accessibility.dll
System.Security
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.7.2558.0 built by: NET471REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Security/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Security.dll
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Is it possible that the kernel-level HTTP driver is stopped/disabled on your machine? You can verify that by running sc query http  in an elevated command prompt. If yes, could you try starting it (net start http) and try again?
If that does not fix it:

Which Windows version is this?
Are you running any firewall (other than the standard Windows one) on this machine?

Created https://github.com/GoogleCloudPlatform/iap-windows-rdc-plugin/pull/100 to improve error handling, but this PR does not address any root cause yet.


Add support to multiple tensorboard writers (e.g. train, val)

It is a common practice, I believe, to have more than one tensorboard writers in your training code.
For example, one for the training results, and one for the validation results.
Both writers have the exact same scalars, graphs, plots, etc.
Currently trains API doesn't support multiple writers with the same graph names.
TensorBoard splits the outputs in two, so you can get two training events for a single model (e.g. one with the prefix "train" and one with the prefix "val").
In the tensorboard it is then easy to compare train and val (in a single graph), or filter out either of those.
A similar solution would be appreciated.

If I understand you correctly, you have a single Tensorboard file, with two loss graphs, one "val" one "train".
This scenario should have had a single output graph in TRAINS ("loss") with two series, one "val" one "train", or two graphs ("val" and "train") with a single series per graph, named "loss".
If this is not what you are getting, could you please send a short code snippet to reproduce the problem?

Thanks for the quick reply.
In our scenario we have a single experiment with two tensorboard event writer instances, and two different file-names.
One for train and one for validation.
We track both of them simultaneously.
In TensorBoard two "events" files are created, one for each file-name.
The reason for the problem is that all the scalar, plots and graphs have the exact same name for train and validation. This is done on purpose.
The problem is that the latest call to EventWriter will override the previous one, because the exact same hierarchy-names are used for both train and validation.
TrainsAI does not use the events file-name, thus the overriding happens.
Is that clearer?

@daganesh if I understand correctly, you are creating two EventWriters, writing two protobuf log files (Tensorboard log files).
Is this correct?
If this is indeed the case, then currently Trains does not support multiple tensorboard writers in the same experiment. If this is a popular use case, we will add it.

Correct.
I do believe this is a popular use case.
Please refer also to the mnist code sample in your example projects.
You could see two event writers, one for train and one for validation.
In this example you can also see the problem:

I guess you meant to comment out the train writer, but in one place it was not commented out properly.
So you get two active writers simultaneously.
The results is that in the server plots you can, for every 100 plots points:

99 training sample points
1 validation point (the 100th). This point overrides the train point.

@daganesh thank you for noticing this bug is also evident in the examples.
If you like, you can already test the fix in the latest release-candidate :)
$ pip install trains==0.10.3rc0
The implemented solution logic is: if you only have a single Tensorboard writer, everything stays the same.
If you have an additional writer, using the same combination of title/series, then it will have a prefix/suffix based on the logdir.
You can test it with this example code
I this example since the first used writer is the "testing" writer, then the "train" writer will have a prefix of "train".
We didn't want to force two prefixes, since it is not always that you create Tensorboard writers before you use them, so there is no way to know in advance that there will be two Tensorboard writers...

Thanks for the quick fix.
We'll give it a try

Hi @daganesh,
The fix is already part of the latest RC, let me know if it works for you as well.
$ pip install trains==0.10.3rc2

Closing, due to lack of activity.

Hi,
I'm using Keras API of Tensorflow 2.1. I monitor my model using the TensorBoard callback. In their current implementation, the validation and train metrics have the same name but are written by two different writers, so the plots are groupped by the name. For example, the validation and train loss  curves are plot in the same figure under the name epoch_loss; the validation and train accuracy are plot in the same figure under the name epoch_accuracy; and so on.
In trains 0.14.0, only one curve is plot for each name. I suppose that the validation curves are overwriting the train curves. Is that a bug? Or did I miss some configuration to have the same behaviour of Tensorboard?
Thanks!

As a workaround, I set auto_connect_frameworks=False and created a keras callback as follows:
class TrainsLogger(tf.keras.callbacks.Callback):
    def __init__(self, logger, *args, **kwargs):
        super(TrainsLogger, self).__init__(*args, **kwargs)
        self.logger = logger

    def on_epoch_end(self, epoch, logs=None):
        relevant_metric_names = ['loss',
                                 'precision',
                                 'sensitivity',
                                 'specificity',
                                 'balanced_accuracy']

        for name in relevant_metric_names:
            self.logger.report_scalar(name, 'train', logs[f'{name}'], epoch)
            self.logger.report_scalar(name, 'validation', logs[f'val_{name}'], epoch)

But unfortunately, this way I loose the awesome automagical advantage! To keep part of it, I could keep auto_connect_frameworks=True, but then the results section becomes a mess with duplicates unless I click "view full screen" and deselect one by one which is not convenient.

Hi @pedropalb , we were able to reproduce the bug.
Working on a solution :) I'll update here once an RC is available.
BTW:
Awesome workaround :)
If you just want to disable the Tensorboard auto-magic you can do (ref):
task = Task.init('examples', 'Keras callbacks', auto_connect_frameworks={'tensorflow': False, })

Hi @pedropalb , as promised an RC is out with a fix, could you verify ?
$ pip install trains==0.14.1rc2

Hi @pedropalb,
This fix is included in the newly released Trains v0.14.1
$ pip install trains==0.14.1

Hi @pedropalb,
This fix is included in the newly released Trains v0.14.1 :)
$ pip install trains==0.14.1


Additional section in CV

Hi,
I'm pretty new to the json-CV technique. I assume you are using a certain template if I understand it correctly. But how could I customize the CV template? For example, if I'd like to add a section for presentations, or research products, how could I do that?
Thank you.

Have you tried looking at the cv layout and its includes? There's no magic there. It's taking the JSON file, assigning it as cv and then using dot notation looking up data using key/value pairs.

Great. I'm going to create some additional html. Thank you.

It works after I customized the cv.json file. Thank you!


Add async DelayNs implementation for tokio.

hey fyi tokio::time::sleep is only good down to ms resolutions, for more granularity we typically need something nanosleep or a hot loop, so this implementation won't be accurate for anything less than a couple of ms.
having had to solve this a couple of times i suspect a more accurate way to do this would involve using epoll_wait with a timeout for > 1us delays (more accurate kernel timing than sleep is, particularly under the tokio runtime) and a hot loop over  Instant::elapsed() for > 1ns delays (check elapsed and hit the waker every round).
possibly combining both into something like:
let now = Instant::now()
loop {
  // Grab elapsed at the start of the loop
  let elapsed = now.elapsed();

  // Break once we exceed the delay duration
  if elapsed > duration {
    break;
  }

  // Calculate the remaining sleep time
  let remainder = duration - elapsed;

  // epoll or spin depending on remainder
  if remainder > Duration::from_millis(1) {
    epoll_sleep().await;
  } else {
    spin_sleep().await;
  }
}

some folks do more complex things to balance accuracy and cpu use, but, this would be closer to operating as intended.
(it's also good to keep track of elapsed times because there are reasons a sleep might end early, which has caused problems for me in the past)

Thank you @ryankurte! I have opened a new issue with your comment in #111.


ESPHost lib with Arduino pin functions and SPI library

ESPHost library without Renasas SDK.

I extracted the ESPHost library into a standalone repository and changed it to use the SPI library and Arduino language commands for pins and delay
https://github.com/JAndrassy/ESPHost


Gen

Hello @swooptiyar

@I2rys  im need help add me on discord xbrbro pro11234#0096

can u give me ur discord again pls

can u give me ur discord again pls

Sure Hammad. My Discord is I2rys.

Due to inactivity of this issue I will be closing it.


Russian Translation

Russian Translation for

Readme
Code of Conduct
Contributing Guide

@all-contributors please add @HexChaos for language!

@all-contributors please add @HexChaos for language translation


Add AWS Parallelcluster site config, minor updates to documentation

Add AWS Parallelcluster site config using x86_64 Ubuntu 20.04 with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Expand "Known Issues" section in documentation for S4 (errors compiling with too many threads)
Add placeholders for pre-configured AWS Parallelcluster AMI
Update submodule pointer for spack for latest changes in NOAA-EMC fork/branch

I verified the correct formatting of configs/sites/aws-pcluster/README.md using https://markdownlivepreview.com.
TODO

Building jedi-bundle gave warnings about libnetcdf.so pointing to an openmpi MPI library (which apparently is installed by default in the default OS search paths:

ld: warning: libmpi.so.40, needed by /home/ubuntu/jedi/spack-stack-dev-20220830/envs/skylab-1.0.0-intel-2021.4.0/install/intel/2021.4.0/netcdf-c-4.8.1-cxt7ist/lib/libnetcdf.so, may conflict with libmpi.so.12

I think all we need to do is remove this (i.e. as part of the procedure described in README.md) before building spack-stack.

@srherbener How does it look now?

@srherbener How does it look now?

Sorry I missed this. I think it looks good now. I see the reference to the README.md file, and I think the instructions are more clear now. (so I hit the approve button)

@srherbener How does it look now?

Sorry I missed this. I think it looks good now. I see the reference to the README.md file, and I think the instructions are more clear now. (so I hit the approve button)

Thanks for the review and helpful comments.
I'll address the remaining todo item (the MPI library), rebuild spack-stack to confirm that the MPI library conflict warning is gone, build jedi-bundle and run the ctests. If all that works, I'll create the AMI to be our release candidate for the parallel cluster work, update Platforms.rst. Then the PR is ready to merge.


Option to modify default branch color

Would be helpful to have an option to indicate a default branch color (other than black).

Added to the feature request list.


[WIP]spec: delete mutation test attempt

The type of this PR is: TYPE
cc @jo-rs

This PR resolves []
Description

PR Checklist (tick all before merging)

[ ] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[ ] I have tested my changes on iOS and Android.
[ ] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[ ] I have added a feature flag, or my changes don't require a feature flag. (How do I add one?)
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added an app state migration, or my changes do not require one. (What are migrations?)
[ ] I have added a changelog entry below or my changes do not require one.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 047cb22fd89f39812bdc5570eef4960631914410

Closed in favor of https://github.com/artsy/eigen/pull/5311 that implements this exact thing


Missing MPP 1-3 Sensors

Hi, I'm not a Developer so I don't know how to use GitHub correctly. So this is not an Issue, it is more like a Feature Request.
I would love to have Sensors in HassIo for the MPP trackers. Mit V3 Hybrid Duo has 3 MPPTs and I can read their Valures V, A, W via local WebUI of the Senec.
I would love if you could implement them as sensors in HassIo so I could track the performance and build statistics for each MPP. Each MPP is in my COnfig is another Side of the Roof.

I'd also like to get these MPP-Sensors!

Same here!

Thank you very much for your Senec integration, Mikołaj !
This is very useful.
I would also love to see the integration for the individual MPP-Trackers. Is this possible?
I have seen Python-Code, which extracts the MPP-Values: https://gist.github.com/smashnet/82ad0b9d7f0ba2e5098e6649ba08f88a. This works with my Senec Hybrid V3 duo.
Best regards
Thomas


Extension causes high cpu load

ryanluker.vscode-coverage-gutters-unresponsive.cpuprofile.txt

Issue Type: Performance
Extension Name: vscode-coverage-gutters
Extension Version: 2.5.1
OS Version: Linux x64 5.4.0-40-generic
VSCode version: 1.47.1

:warning: Make sure to attach this file from your home-directory:
:warning:/home/wennlys/ryanluker.vscode-coverage-gutters-unresponsive.cpuprofile.txt
Find more details here: https://github.com/microsoft/vscode/wiki/Explain-extension-causes-high-cpu-load

I have seen high CPU usage as well with default ** glob and big workspace. That motivated me to implement https://github.com/ryanluker/vscode-coverage-gutters/pull/271.

@Wennlys Thanks for submitting the performance ticket!
Can you also add the extension logs here as well please and thanks?
(See this comment for how to see the logs from a specific extension #221 (comment))
That helps a bunch with diagnosing these issues.

hmm
Is there any way to recover it after closing code?

I have seen high CPU usage as well with default ** glob and big workspace. That motivated me to implement #271.

What do you mean with "how big"?

I meant how many files and folders do you have in the workspace. Tens, hundreds, thousands, tens of thousands?

I meant how many files and folders do you have in the workspace. Tens, hundreds, thousands, tens of thousands?

About 20, I think.


Feature - Add CSCN-355 documentation

Wireshark
VPN
Python IDLE (use VSCode?)

All requirements for the class can be downloaded for MacOS


⚠ Bofrost.be has degraded performance

In bb8e1ca, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 885 ms

Resolved: Bofrost.be performance has improved in 2ea8294 after 28 minutes.


Add support for protected(set) and public(set)

protected(set) and public(set) are semantically valid.  public public(set) is silly but valid PHP code. PHP doesn't warn or error because of the identical visibilities.
I've added a new linter rule to tell you that the additional write visibility is redundant too:

Side note - I've marked the fix as potentially unsafe since there could be a reason for having identical read/write visibilities, but also happy to change that to a safe fix since it doesn't really have an effect.

Huh! i was not even aware that those modifiers were supported!

Commit is saying unverified, but I've definitely got a GPG key setup 🫠


feature: SDK ESM version

Summary
In this PR, I added support for generating ESM version of the SDK.
Previously, the SDK was only distributed in CJS version which isn't optimized to be used in the browser and can hardly be tree shaken.
Here's the before (CJS) and after (ESM) bundle comparison of the SDK as a part of our app at work.
Before: 142kb

After: 121kb (15% decrease!)

It's also worth noting that this ESM migration opens the door to further SDK bundle optimizations which I plan to make in the future to reduce the overall size even more.
How did you test your changes?
Compilation and tests succeeded.
The SDK was also tested in our app at work.
Thanks!

@bangtoven could you please review the changes when you get a chance? Thanks!

hey @VladimirMikulic sorry for the late response.
actually, we've been working on some major refactor of the lib, and we expect to reduce its size significantly by removing many of the dependencies.
think we will revisit ESM support after finishing the refactor.
as this change now conflicts with the current master, i will close your pr for now, but feel free to open another one and let us know.
thanks for your contribution!

Appreciate your reply @bangtoven! Thanks for removing those dependencies. They are indeed the best way to reduce the bundle size.


String Functions should operate on wchar_t instead of char

First, I'd like to say that this library is awesome. It has all the greats in one place and doesn't try to do anything too fancy. The implementations are clean as well.
Currently, the library doesn't really have support for unicode strings. If I try to submit a unicode string with a non-ascii character, I get a traceback:
>>> jellyfish.hamming_distance(u'\u725b'.encode('utf8'), u'\u4faf')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\u4faf' in position 0: ordinal not in range(128)

In addition, when one does encode them so that they will appropriately convert to an encoded string (non UCS-4 unicode), the incorrect answer is given. This example should give 1, rather than 3:
>>> jellyfish.hamming_distance(u'\u725b'.encode('utf8'), u'\u4faf'.encode('utf8'))
3

This obviously doesn't make sense for things like soundex or other english only algorithms, but as a general rule, python libraries should take only unicode objects for string operations.
Patching this library to support unicode objects, rather than string objects shouldn't be too bad. You just need to replace the PyString_FromString with PyUnicode_FromWideChar and update the functions to use wchar_t. Here is the python c api unicode reference:
http://docs.python.org/c-api/unicode.html
If you want, I can fork this and send you a pull request. Just let me know.

For posterity:
Jellyfish 0.5 makes the decision to use Unicode on all strings.  Given the shift to Python 3 this felt like the right thing to do, and while there will certainly be quite a few edge cases as discussed above, Python 3.4 representing all strings as wchar_t hopefully takes care of some of the major objections.
Some bugs may not be practical to fix on Python 2, so I'd expect as issues arise Jellyfish may start treating Python 2 as a second class citizen, and I'd venture a guess that whatever form it takes Jellyfish 1.0 will not have official support for Python 2.


Chaining of functions with "empty" results

There is a recurrent request for chaining functions with side effects with no return value, e.g. add_atom, println!, etc. We've discussed this for a few times in different places, and this issue is a sort of conclusion to which we come with @vsbogd in the last discussion.
While there are different practical ways of achieving this functionality, the issue boils down to semantics of "empty" result. MeTTa considers all functions as non-deterministic, and an empty result means that the function has produced no evaluation branches, and nothing is to be passed to its super-expression. Basically, the function is not total. In most cases, it is really what is expected, e.g. + expects two numbers, and if one its argument is empty, it has nothing to evaluate. match can normally return an empty result, which will mean exactly the same. A pure MeTTa function can be defined not for all values of its arguments, and being implemented via match will also be evaluated to the empty set of results (once again, not total).
However, grounded functions with side effects may return "nothing". It is natural to return an empty set of results from such functions, although it is technically incorrect. In functional programming, when a function has Unit as a return type (which can be represented by ()), it means that it "returns" the only element of one-element set, thus, its result contains no information, but it is still a non-empty result. In pure functional programming, functions that really return nothing (which can be referred to as Void, although in other languages void can mean unit) are "absurd" and they are not possible (although most such languages have non-strict components to represent the notion of such impossibility).
We also need to distinguish "void" and "unit". Minimal MeTTa ( #380 ) introduces EMPTY_SYMBOL to represent an empty set of results, but it doesn't introduce UNIT_SYMBOL (or Void, Singleton depending on naming preferences) and treats an empty set returned by grounded functions as such unit (is it so?) - that can also look natural for those who are not hard-core functional programming geeks, because "these functions really return nothing". Having EMPTY_SYMBOL may still be convenient, although it may also cause confusion, because right now it is implemented in pure MeTTa as (superpose ()), which will be treated differently than EMPTY_SYMBOL by Minimal MeTTa. Thus, it might be better to have EMPTY_SYMBOL not as a special atom, but just as syntactic sugar for (superpose ()), but this may depend on the implementation.
Basically, the proposal is to introduce void/unit/singleton/ok/()/..? and use it as the result of evaluation of (grounded) functions that return "nothing". In this case, they also will be properly typed, e.g. (-> ... Unit), and their chaining will be quite simple. We can also return () (not empty set of results, but an empty expression) and treat it as unit, although it may lead to the question if it is ok to ascribe Unit type to (). Maybe, having (: unit Unit) is safer.
One may say that functions with different side effects should belong to different monads, e.g. IO, SpaceIO, but introducing simplest proper types for println!, add_atom, etc. might be preferable as the first step (and can be more flexible and convenient in general).
Thus, I wonder if simply introducing (: unit Unit) for returning "empty" results is a good way to go? If yes, should it be named unit or void - which is more intuitive and less confusing? Or should it be just ()? Should we still have EMPTY_SYMBOL or go back to the empty set of results?
Or does anyone have strong preferences for any alternative solution? @ngeiswei , @luketpeterson ?

I think this proposal makes sense, and as you say, is a good first step.
To the question of void vs. unit vs. (), I think I have a slight aesthetic preference for void, but really any of the options are fine.
In my opinion, using an empty expression should be supported as well, so if we define a void token then it would just be syntactic sugar over ()

One may say that functions with different side effects should belong to different monads, e.g. IO, SpaceIO, but introducing simplest proper types for println!, add_atom, etc. might be preferable as the first step (and can be more flexible and convenient in general).

Non-determinism + side-effects is a tricky issue indeed.  If non-deterministic results can affect control flow, or if a branch may be pruned after a side-effecting atom has executed, this will have a large effect on the design.
Addressing this on a case-by-case basis is probably the best practical solution.  I think a Space monad that journals updates into the space is the right solution for add/remove atom operations.  And likewise an output-buffering monad is the right solution for println / logging.
For operations that require bidirectional communication with the outside world (user-interface for example) the monad approach doesn’t hold up.  But the whole paradigm of non-deterministic speculative execution breaks down when interfacing with the outside world that is monolithic and monotonic with respect to time.
In my vaguely-MeTTa-like language from 2020 (HC2) I had the idea of simulated execution of side-effecting functions.  And evaluation happened first in a non-deterministic way, evaluating only non-side-effecting versions of each function, and then, after the execution plan was composed, a deterministic execution was carried out.  This, in effect, is the monad approach turned inside-out.  Basically making it the atom's responsibility to maintain the monads / models of the things their side-effects can affect.  But system-provided monads are probably easier to maintain.
I believe the HC2 approach should be implementable on top of standard MeTTa, once we figure out how the inference-control mechanism (pruning function) needs to work.

I might have a slight preference for ().  @tanksha, @patham9, any opinion?

@ngeiswei , Minimal MeTTa has ATOM_VOID symbol, which is actually substituted, when the interpreter gets an empty result from a grounded function. This results in the situation that some of unit tests fail for Minimal MeTTa, because they have assertEqualToResult with the empty result. My idea is to make the current interpreter closer to Minimal MeTTa, so there will be less difference unit tests, and this will be the step towards full migration. I don't like the automatic conversion of the empty result to Void, because some grounded function may want to be partial. Of course, for this purpose, they can explicitly return EMPTY. But I still don't like that the result of returning ATOM_VOID and an empty list of results [] lead to the same behavior. In any case, I want to tweak library grounded functions to explicitly return ATOM_VOID. I can rename it to ATOM_UNIT, and I can make it equal to () if you have strong preference. Please, let me know if you have.
One more thing is that unit tests frequently use ! import. It is convenient to make the result of this operation really empty for the purpose of testing. OTOH, it also makes sense for this operation to return void / unit / () if successful, and Error or truly empty result if not. I'm not sure which is better. @vsbogd , @ngeiswei , @luketpeterson , any opinions?

But I still don't like that the result of returning ATOM_VOID and an empty list of results [] lead to the same behavior.

Yeah, I don't suggest automatically convert results, in minimal MeTTa it was a shortcut to not modify the code of the grounded functions. But I would explicitly define the rules of writing grounded function instead of implicitly replacing the results.

One more thing is that unit tests frequently use ! import. It is convenient to make the result of this operation really empty for the purpose of testing. OTOH, it also makes sense for this operation to return void / unit / () if successful, and Error or truly empty result if not. I'm not sure which is better. @vsbogd , @ngeiswei , @luketpeterson , any opinions?

I would vote for the unit if successful and Error if not successful. Not understand why empty result is better for testing though.

Not understand why empty result is better for testing though.

My concern was that if import! will return unit, and we check for empty results in the unit tests based on metta-scripts, verifying success of these unit tests would be cumbersome. However, it appeared to be not a problem. We just need assertEqual to return unit as well. Then, we are checking not for [] but for units in all tests. This is even more elegant, because successful assert doesn't terminate computations in this case.

Merging #452 doesn't solve the issue (although makes a step towards this), because the problem is not (only) that the result of these functions was empty, but it is (also) in the sequential nature of the required chaining.
While we can have in the current MeTTa version something like
(: chain (-> (->) Atom (->)))
(= (chain $a $b) $b)
!(chain (add-atom &self test) (remove-atom &self test))

which will work (unless the interpreter is "smart enough" to drop the evaluation of $a because it is never used), it would be better to revisit this issue after migrating to Minimal MeTTa with its explicit chain operation.

Btw, does the following method of chaining work?
!(let* (
  (() (println! a))
  (() (println! b)) )
  () )

Working on minimal MeTTa I realized that let and chain effectively the same thing. Thus let can be used in old interpreter for chaining.

Btw, does the following method of chaining work?

I saw people using this hack, yeah. It looks more solid than using superpose for this purpose.


eq-582, eq-530 Input Widths & Numeric Date Entry

What is the context of this PR?
The width of inputs have been changed to span three columns instead of being full-width as per EQ-582

The date input has also been altered to take less space, as well as moving to a numeric input for the date as per EQ-530

How to review

Start any survey
Check date input is as above screenshot and that it behaves sensibly as the viewport reduces to mobile (320px)
Check other inputs width is sensible down to mobile
Confirm dates are still working as expected on summary screen.

Textfields are coming up small as well

@LJBabbage As discussed with Alex, we're going to go with uniform fixed-width inputs for now and then devise a more granular design further down the line.

Thank you, just checking this is what we want, I will get it merged then


Web Interface for sys-API

Hi,
sys-API and monitee are an amazing project.
Have you considered creating a web interface?
This would make the dashboard accessible from any device, not just from an Android/iOS phone.
Unfortunately, not being a developer, I can't help with its creation.
Regards,

I don't know if it's a duplicate of #12.

This is a duplicate of #12 yes
To give you an answer: I currently do not have the capacity to develop and maintain two separate client applications for sys-API. That's why I added the [Help wanted] label to the original issue.

We can continue the discussion in #12