Error when two images are identical

If tow images are identical you will get an exception for fixing that I changed Compare method to this
    public Bitmap Compare(Bitmap firstImage, Bitmap secondImage)
    {
        if (firstImage == null) throw new ArgumentNullException("firstImage");
        if (secondImage == null) throw new ArgumentNullException("secondImage");
        if (firstImage.Width != secondImage.Width || firstImage.Height != secondImage.Height) throw new ArgumentException("Bitmaps must be the same size.");

        var differenceMap = BitmapAnalyzer.Analyze(firstImage, secondImage);

        if (differenceMap.Cast<bool>().Any(i => i))
        {

            var differenceLabels = Labeler.Label(differenceMap);
            var boundingBoxes = BoundingBoxIdentifier.CreateBoundingBoxes(differenceLabels);
            var differenceBitmap = CreateImageWithBoundingBoxes(secondImage, boundingBoxes);
            return differenceBitmap;
        }
        return null;
    }

and even I used the side effect, when they are identical I get the null as result.

Thanks for the logged issue. I see the root cause is in IBoundingBoxIdentifier implementation. I will update the code to fix this and not change the return options for Compare.

@richclement So by this change, how we can find out that the files were identical?
in our project we want to save the difference and throw exception if they are not identical and do nothing if they are identical.

I can add an additional method to the IImageComparer interface. Something like bool Equals(T firstImage, T secondImage). This would use the IBitmapAnalyzer strategy that the Comparer is initialized with and effectively short circuit the processes after analyzing the images. This would avoid labeling and building bounding boxes for the image.


Failed deployment and connection refused on load balancer port 6443 in Kubernetes

I deployed using the guide and for some unknown reason the load balancer had to have removed port 6443.
Error: Kubernetes cluster unreachable: Get "https://<IP_ADDRESS>:6443/version": dial tcp <IP_ADDRESS>:6443: connect: connection refused

Is the load balancer healthy in the Hetzner control panel?

It happens when you install ingress, you no longer have access to port 6443. I don't know if there is some step that needs to be configured manually?

I've investigated the issue further and found out that when you configure the load balancer in the daemonset and set the same name as the load balancer that is created when deploying the cluster, this causes the original load balancer to be overwritten, making the port 6443 disappear. At first, I didn't think it was necessary to have two separate load balancers, but after analyzing the situation, I've come to the conclusion that it is indeed a requirement to have them separated in order to avoid this kind of conflict.


Remove redundant semicolons

Remove redundant semicolon in source files.

@qqfly Thank you for your contribution. I just set the base branch to be the devel branch on this project.

@qqfly Thank you for your contribution!


Update Composer dependencies (2024-05-28-00-17)

Visual regression test passed!
View the visual regression test report


update instructions for running cassandra with OpenEBS #750

#750
If this request does not fulfil your needs please comment to change or to close the request. 😄

Is DCO required for this request ?


An equivalent to @Html.DisplayFor ??

Hi,
I have been using TwitterBootstrap MVC for a long time, and I keep wondering why there is no equivalent to @Html.DisplayFor when embedding into forms?
Regards

The regular @html.Bootstrap().DisplayFor() would bring zero value in. However, when you are in the FormGroup context, this helper exists:
f.FormGroup().DisplayFor(...)

This comment might also to be useful for you.


Add len() support for Outputs

Description
Add len() support for Outputs to Return the number of entries in the history or bookmarks
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] I have read the contribution guidelines and followed it as far as possible.
[x] I have performed a self-review of my own code (if applicable)
[x] I have commented my code, particularly in hard-to-understand areas (if applicable)
[x] I have made corresponding changes to the documentation (if applicable)
[x] My changes generate no new warnings
[x] I have enabled the pre-commit hook and it's not detecting any issue.
[x] Any dependent and pending changes have been merged and published

Hi @yusufadell, I couldn't find time to review this PR. Is this something you're still interested in adding? If so, could you re-open the PR? I'll review it soon.


Migrate to androidx

Since this project now is opensouce (thanks for it), I had lot of issues placing it in my project with androidx. I've done the migration in my fork, is the project accepting pull requests for this?

Hi Ana:
Have you done a comprehensive battery of tests with your migration to AndroidX? Is it production-level stable at the moment?
Best regards.

@vortice3D Anecdotally I use @anacoimbrag fork and have had no problems for several weeks now -- but of course looking forward to both of

official androidX-ification
restoration of maven functionality

Thanks for the feedback @tellypresence.
I'm also using it at the moment without problems except for the 1.16.0 version issues.
Best regards.

Hi @vortice3D I haven't tested enough to be sure it's production ready, but I didn't know you were accepting PRs. I can do this and get back here 😊

Hi @anacoimbrag.
Well, we were in a hurry with a production development app where we needed to use AndroidX, and so your PR was very convenient indeed.
For your information, it has been tested in a very intensive way with not special issues so for us is completely OK for production.
Said that, the release of the next SDK version must be on its way down (maybe a major upgrade coinciding with the Google IO), and we suppose they are adding AndroidX support among a lot of other things that 1.16.0 version didn't implement in a very polished way.
Best regards.

@vortice3D thanks for the feedback! I'm very happy to hear it.
But I really hope they are working on new releases, especially because there's not going to be Google IO this year (https://events.google.com/io/).


Please provide sig files for builds

Which feature is your request related to?
Security of builds.
Is your request related to a problem? Please describe.
No.
Describe the solution you'd like:
I'd like signature (ie public keys/private keys signatures) to be provided to verify that the builds are safe.
Describe alternatives you've considered:
None
Additional context:
I maintain the AUR package for this and would like add more security to it.
Thanks!
@thedoublejay

ping @thedoublejay

Ping @fullstackninja864

Please check https://github.com/BirthdayResearch/defichain-app/releases/tag/v4.0.9

I don't see signatures, only hashes.
On May 17, 2024 12:15:25 AM PDT, Harsh R @.***> wrote:

Please check https://github.com/BirthdayResearch/defichain-app/releases/tag/v4.0.9
--
Reply to this email directly or view it on GitHub:
https://github.com/BirthdayResearch/defichain-app/issues/1270#issuecomment-2116905254
You are receiving this because you were mentioned.
Message ID: @.***>

How you check whether app is signed or not ?
try this codesign -dv /Applications/DeFi\ Wallet.app  if app is not signed then it will return /Applications/DeFi Wallet.app: code object is not signed at all otherwise it will return sign details

GPG is used to verify the signature from the sig file against a database of signatures, and then it'll verify the app image against it.
On May 17, 2024 12:58:56 AM PDT, Harsh R @.***> wrote:

How you check whether app is signed or not ?
try this codesign -dv /Applications/DeFi\ Wallet.app  if app is not signed then it will return /Applications/DeFi Wallet.app: code object is not signed at all otherwise it will return sign details
--
Reply to this email directly or view it on GitHub:
https://github.com/BirthdayResearch/defichain-app/issues/1270#issuecomment-2116970733
You are receiving this because you were mentioned.
Message ID: @.***>

The point is to verify that the provided file on GH was created by the right person/service and not hijacked.
The hash only tells us if the file was downloaded correctly, since if someone has the ability to change the app image they can change the hash just as easily.
Look at what bitcoin provides for reference: https://bitcoincore.org/bin/bitcoin-core-27.0/
On May 17, 2024 10:35:25 AM PDT, John @.***> wrote:

GPG is used to verify the signature from the sig file against a database of signatures, and then it'll verify the app image against it.
On May 17, 2024 12:58:56 AM PDT, Harsh R @.***> wrote:

How you check whether app is signed or not ?
try this codesign -dv /Applications/DeFi\ Wallet.app  if app is not signed then it will return /Applications/DeFi Wallet.app: code object is not signed at all otherwise it will return sign details
--
Reply to this email directly or view it on GitHub:
https://github.com/BirthdayResearch/defichain-app/issues/1270#issuecomment-2116970733
You are receiving this because you were mentioned.
Message ID: @.***>


The sharedflows endpoint should return a map

Feature Request
The new workflows/shared endpoint returns an array of workflows that have been shared with the user.
It should instead return a map of workflows, where each key is a role, and the value is a list of workflows that have been shared for that particular role.
┆Issue is synchronized with this JIRA Story
┆Issue Number: DOCK-28

One related ticket. When getting on specific workflow, we should also return the role you have in relation to it.

After further discussion, will instead add a synthetic field to the workflow that indicates the requester's role. This field will also be surfaced when fetching a single workflow.

➤ Cricket Sloan commented:
This ticket is done on the UCSC side, but still in testing in the Dockstore side

This seems functional on staging with
DockstoreAPI - 1.5.0-alpha.8
DockstoreUI - 2.2.0-alpha.6


List of speakers to contact from ODSC East

Added to the bottom here: https://www.notion.so/pl-strflt/CoD-summit-attendees-outreach-c7ee11ad759a406f903296a2f341d209

@it09 (also added to the bottom of Notion doc)
Subject: Invitation to Join the Compute over Data Summit^3 during ODSC East
Dear [Speaker's Name],
My name is [Name of Sender], and I am part of the organizing committee for the Compute over Data Summit (CoD Summit^3) taking place on 9-10 May 2023 at The Westin Copley Place in Boston, Massachusetts. As a respected speaker at the upcoming ODSC East conference, we wanted to extend a special invitation for you to drop by our event.
The CoD Summit^3 is a two-day conference organized by the Compute over Data working group, and it promises to be an insightful experience for both in-person and online attendees. We are expecting approximately 1000 participants from diverse backgrounds, with the primary goal of fostering conversations about increasing adoption, CoD directions, and collaboration by bringing together some of the most brilliant minds in the field.
Our summit covers a variety of topics, including distributed datasets, edge centers, WASM technologies, reproducible builds, and consensus. We believe that your expertise and insights would greatly enrich the discussions and networking opportunities at our event.
We understand that your schedule at ODSC East might be tight; however, we would be honored if you could find the time to attend one or more of our sessions or engage in networking opportunities with our attendees. The conference is completely free and you can sign up here. If you are interested, we would be happy to assist you with any logistics needed to facilitate your visit.
Please let us know if you would be interested in attending or if you have any questions about the event. You can reply to this email or contact us at [EMAIL]. We look forward to the possibility of your presence at the Compute over Data Summit^3.


No support of System.Management.Automation for .net framework

In my project, we are using .net framework 4.6,2 and want to call powershell from our c# code. When i went to nuget to install the required library (System.Management.Automation), i could see that 6.x.x onward versions are available and all support .net core and not .net framework.
my ask is how should i use or call powershell in my application as i cant upgrade it to .net core. It is a legacy application. I could manage to find one "Install-Package System.Management.Automation.dll -Version 10.0.10586" whicb alteast let me use PS but that is a deprecated one.
Please suggest how can i get old versions of above library from nuget for .net framework as that is blocking my work currently as we are short of time now.

You should be able to use https://www.nuget.org/packages/PowerShellStandard.Library
Version 5.1 works with Windows Powershell.

@powercode Is PowerShellStandard.Library 5.1.0 meant to supercede Microsoft.PowerShell.5.ReferenceAssemblies?  Or do those have different purposes?

The standard library should work for .net core pwsh also.

As stated in README for PowerShellStandard.Library "NOTE: You should not use PowerShell Standard for standalone applications that leverage PowerShell." and indeed it doesn't work, see for example here.
So it is still not clear what is the correct solution.


Adding subproblem implementation

Hello @krooonal! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file col_gen_estimator/_bdr_classifier.py:

Line 534:80: E501 line too long (91 > 79 characters)


Please add my WDC

Kimono | Kimono | Franz Amador | wdc | KimonoConnector.html

copied your listing and put in the community section


Error when trying to view collection that contains a dash ( - ) in name

When attempting to run:
db.Service-AzureCredentials-AzureSubscription.find({
})
I get the following error:
Error : AzureCredentials is not defined ReferenceError: AzureCredentials is not defined at evalmachine.:1:12 at ContextifyScript.Script.runInNewContext (vm.js:18:15) at D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\lib\modules\expression\index.js:168:23 at Promise._execute (D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\bluebird\js\release\debuggability.js:159:9) at Promise._resolveFromExecutor (D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\bluebird\js\release\promise.js:460:18) at new Promise (D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\bluebird\js\release\promise.js:76:14) at _eval2 (D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\lib\modules\expression\index.js:139:10) at D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\lib\modules\expression\index.js:38:9 at Promise._execute (D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\bluebird\js\release\debuggability.js:159:9) at Promise._resolveFromExecutor (D:\Downloads\Mongotron-win32-x64 (1)\Mongotron-win32-x64\resources\app.asar\node_modules\bluebird\js\release\promise.js:460:18)

Closing this because it's a duplicate of https://github.com/officert/mongotron/issues/68
@surgicalcoder this has been fixed in this release https://github.com/officert/mongotron/releases/tag/1.0.0-alpha.3
you will need to use bracket notation in the latest release to query collections with hyphens in the name.
db['Service-AzureCredentials-AzureSubscription]'.find({

})

the query editor in Mongotron is just a JS REPL and evaluates any Javascript. So like Javascript accessing object properties containing hyphens you have to use bracket notation.


Consider using Clover or alternative test coverage report generator

With jacoco, you cannot ignore unreachable statements in your code. This makes 100% test coverage impossible https://codecov.io/gh/material-motion/runtime-android/src/8a5b61c977fd6203a556996bab8c96c7b9b58f94/library/src/main/java/com/google/android/material/motion/runtime/PlanFeatures.java
Consider using Clover which allows inline annotations. https://answers.atlassian.com/questions/23040/clover-coverage-exclusion-attribute

No longer needed. Workarounds found.


Fix wrong tasks for tau-retail

First and foremost, we want to express our sincere gratitude for creating such an excellent benchmark. The tau-retail test dataset is a valuable resource for validating methodologies in the field.
During our evaluation process, we identified some issues that we believe need addressing to enhance the benchmark's reliability and robustness. Specifically:

Some examples contain incorrect r_actions (recommended actions).
Certain user instructions are ambiguous or miswritten and need clarification.

This pull request aims to rectify these issues, improving the quality and accuracy of the test dataset. These enhancements will lead to more reliable model evaluations, ultimately benefiting the entire research community.
Changes made:

Corrected r_actions in examples where they were incorrect
Clarified ambiguous user instructions to make them more specific and clear

We believe these issues, if left unaddressed, could affect the robustness and reliability of the benchmark.
Related issue: #3
We kindly request a review of these changes. If you notice any other examples that need correction or clarification, please let us know, and we'll address them in this PR or create a follow-up task.
Thank you for considering our contribution to this important benchmark.
@SamWarmuth @karthikncode @pedramr @ysymyth

Thanks a lot for trying our benchmark and catching mistakes!
Given we'll continuously fix issues, maybe we should start to version the benchmark? So that numbers are only comparable if they are versioned? What do you guys think


Validate dependencies in constructor

The dynamic resolution of dependencies loosened the validation for dependencies. However this was only intended to allow dynamic dependency resolution of the leafs or branches of nested dependencies, i.e. the root of a nested dependency has to be declared. This adds validation to ensure that the root dependency can be resolved and adds an error otherwise.

[x] Fixes https://github.com/holoviz/param/issues/566
[x] Add test(s)

It cannot be done at class creation time because the class cannot know what happens in the constructor before super is called.

Is it because we allow people depending on objects that aren't declared as Parameter but are set in the __init__? If so, I'd be happy to see a warning in cases like that, it's a bit of an anti-pattern isn't it?
A recent change made this fail when watch=False:
import param

class P(param.Parameterized):
    x = param.Parameter()

    @param.depends('y')
    def debug(self): pass

Traceback:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[42], line 3
      1 import param
----> 3 class P(param.Parameterized):
      4     x = param.Parameter()
      6     @param.depends('y')

File ~/dev/param/param/parameterized.py:3097, in ParameterizedMetaclass.__init__(mcs, name, bases, dict_)
   3094 on_init = dinfo.get('on_init', False)
   3095 minfo = MInfo(cls=mcs, inst=None, name=name,
   3096               method=method)
-> 3097 deps, dynamic_deps = _params_depended_on(minfo, dynamic=False)
   3098 if watch:
   3099     _watch.append((name, watch == 'queued', on_init, deps, dynamic_deps))

File ~/dev/param/param/parameterized.py:649, in _params_depended_on(minfo, dynamic, intermediate)
    647 dinfo = getattr(minfo.method, "_dinfo", {})
    648 for d in dinfo.get('dependencies', list(minfo.cls.param)):
--> 649     ddeps, ddynamic_deps = (minfo.cls if minfo.inst is None else minfo.inst).param._spec_to_obj(d, dynamic, intermediate)
    650     dynamic_deps += ddynamic_deps
    651     for dep in ddeps:

File ~/dev/param/param/parameterized.py:2661, in Parameters._spec_to_obj(self_, spec, dynamic, intermediate)
   2659     return [], [] if intermediate == 'only' else [DInfo(spec=spec)]
   2660 else:
-> 2661     raise AttributeError(f"Attribute {attr!r} could not be resolved on {src}.")
   2663 if obj is None or not intermediate:
   2664     return [info], []

AttributeError: Attribute 'y' could not be resolved on <class '__main__.P'>.

I'm a little on the fence on it and likely have to revert your change. I've seen many people use the pattern and I have also used it on occasion because declaring parameters is sometimes awkward, e.g. often I use parameters for public API declarations but internally I want to be able to set up dependencies on static attributes and not have to set up parameter declarations.

I use parameters for public API declarations but internally I want to be able to set up dependencies on static attributes and not have to set up parameter declarations.

Yes that's a weakness of Param that has no way to tell whether a parameter is an input or some state you compute later on. Param has @output but I haven't seen that used much. dataclasses.field has an init that is True by default and that you can use to indicate whether the generated init should contain this field, I think Param should have something similar.


Partially displayed mermaid view

Problem
code:
graph BT
a --> duwqihwq --> djwiqjdqidioqfjwofefrnrnurwu --> uqwiufhwiufewuiw
b --> jdiwoqdwiqdjwfiefq --> dwiqfwiffwiefwjf --> dioqwifjqwofijowfrngr --> diqjowdidjwoifjefjgjrgjgjriuaohuhweiufheufhwif --> e
e --> ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp
f --> a & wisjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

The effect:

The graph was partially showed. And there was no rolling bar.
Anticipation
3 solution I've found and my personal evaluation:

Best: Add a left rolling bar, just as Github does.

90% best: Zoom out to fit the view at the cost of reducing font size

Good: Add a bottom rolling bar

When the graph is too large in size, even in full screen can't I be able to see the whole content.

Thank you for pointing out this issue. Would you be willing to paste the mermaid code here so that I could test it out?

From my experimenting with your mermaid code, the theme displays it just as the default theme does. I do not think it high priority to change the styling in edit mode, since the full graph can be seen in reading mode. I will definitely keep this in mind when I have time to make another update, though.


[Bug]: Menu scroll after navigation

Preflight Checklist

[X] I have read the Contributing Guidelines for this project.
[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for an issue that matches the one I want to file, without success.

Bug type
Functionality
It affects the following packages
Components
Which version of Lyne Components are you using
1.0.0
Operating system
Windows 10
Browser / Browser version
Microsoft Edge;v="126"
Input mode
Mouse/Keyboard
Additional settings
Angular 17.3
What happened?
When navigating via a link or button within the menu, the styles and the data-sbb-scroll-disabled attribute are not removed from the body element. The menu contains multiple sections.
Steps to reproduce the issue

click on sbb-navigation-button:

<sbb-navigation trigger="menu-trigger" *transloco="let t">
  <sbb-navigation-marker>
    <sbb-navigation-button aria-current="page" id="menu-section-1">
      {{ t("menu.my-services.title") }}
    </sbb-navigation-button>
    <sbb-navigation-button id="nav-section-2"
      >{{ t("menu.my-data.title") }}
    </sbb-navigation-button>
    <sbb-navigation-link id="nav-section-3">
      {{ t("menu.authorization.title") }}
    </sbb-navigation-link>
  </sbb-navigation-marker>

  <sbb-navigation-section trigger="menu-section-1">
    {{ t("menu.my-services.title") }}
    <sbb-navigation-list>

      <sbb-navigation-button [routerLink]="['/services/ticket/damages']">
        {{ t("menu.my-services.damages-overview") }}
      </sbb-navigation-button>
      <sbb-navigation-button [routerLink]="['/services/ticket/overview']">
        {{ t("menu.my-services.tickets-overview") }}
      </sbb-navigation-button>
      <sbb-navigation-button [routerLink]="['/services/pinboard/overview']">
        {{ t("menu.my-services.pinboard") }}
      </sbb-navigation-button>
    </sbb-navigation-list>
  </sbb-navigation-section>
</sbb-navigation>

inspect opened site

Relevant log output
, this part gets deleted when i just close the menu with the X-Button.

Hello @nlueem
I am not sure I fully understand you.
What you are describing seems to work fine with https://lyne-storybook.app.sbb.ch/iframe.html?args=&id=elements-sbb-navigation-sbb-navigation--with-navigation-section&viewMode=story
Can you maybe provide a working reproduction with e.g. StackBlitz?

https://github.com/nlueem/test-nav, hope this helps too? after navigating to target you should see that the style is still on the body-element.

Ok, I see the problem.
Internally the problem is that the navigation is removed from the DOM before the animation event listener is called.
This is unexpected, because we don't expect the navigation to be removed from the DOM, but we should be able to fix this.


How to take a snapshot?

Hi, what is the proposed process for snapshot/backup/restore workflow? Could you please add an example to the documentation?
Right now, I see this --
/var/ledis ♟ > du -hs *
7.3G    leveldb_data
0   LOCK
4.0K    snapshot
So my main questions are --

How to trigger a snapshot?
Since I have no snapshots, can I gzip-then-rsync the leveldb_data folder offsite to effectively backup my data? (I am using in production right now, I would like to backup ASAP)
Would (2) fail or corrupt if my ledis sync'd to disk during the process? Is the snapshot process even needed?
Are the special steps to restore? Can I just copy my leveldb_data directory into the my DATA_DIR to perform a restore? Is there an import utility?

Thanks!
-Lee

Hi @linked
You can not copy and sync this folder directly.
Ledis supplies ledis-dump and ledis-load command.
You can use ledis-dump to dump the snapshot into a file, sync to other place and use ledis-load to restore.

The mechanism depends on leveldb/rocksdb snapshot, so it doesn't block your service.

WTH with ledis-dump v0.5 ???
Version: 0.5

I must delete ${datadir}/snapshot folder

Stop ledis-server, because open ledis_server/snapshot/dmp-2017-08-31T12:59:36.198949448: no such file or directory

Run ledis-dump. OK.

Test add new data: ledis-cli:6380>set abc 123

Run ledis-dump again. Oh no, it only copy old snapshot file, not found abc key!!!

Repeat to the first step!!! Must delete ${datadir}/snapshot folder again!!!


Parse/log data even if the initial HEL, ACK handshake is not processed

🗣 Description
If the initial HEL, ACK, etc. handshake is not processed, then the parser will not parse or log any data.  Missing the initial handshake would cause the TCP()-IsPartial() check to return true which would then cause the OPCUA_Binary_Analyzer::DeliverStream to return without any further processing.  Removing this check allows the parser to correctly parse and log data if enabled "mid-stream".
💭 Motivation and context
The motivation for this change issue #84
🧪 Testing
Added the following test pcaps to validate the changes.  See the pcap/README.md file for a description of these files.

opcua_with-gap.pcap
opcua_with-gap_with-handhake.pcap
open62541_client-server_mainloop-no-handshake.pcap

Added new test cases to exercise the edge cases for parsing - e.g. data with transmission gaps, data missing the initial HEL, ACK handshake, data running on a non standard port, etc.


Possible to SANITY etally:sanity_substitution/3?

Taking into account the changes here: https://github.com/etylizer/etylizer/pull/92, the next biggest offender that I've found is the function etally:sanity_substitution/3. Is it possible to wrap this in a SANITY macro or is it a runtime requirement?
This reduces time to analyze the module that I referenced in the previous PR from ~6.5-7 seconds to ~4.2-5 seconds, which is a pretty good reduction.

One should definitely wrap this in a ?SANITY macro.


Puzzle x16786 and stuff

This is my first attempt at setting up a puzzle. I probably didn't do everything perfectly and would love some feedback.
#62

I kind of messed this up since I switched to issue branches.

I brought it in


Failing engine tests should not block engine artifacts from being uploaded

Today, engine tests are embedded within the same CI builds that compile the artifacts that test them. It is organized roughly:

compile the artifacts for the current configuration
test the artifacts
bundle and upload the artifacts to cloud storage

If the second step fails, the CI build will early exit, and we never upload the artifacts. However, when tests fail for infrastructure reasons on release builds, this means that tests that could otherwise be skipped must be fixed (or manually deleted in the branch) in order to unblock the release.

A prereq for this is https://github.com/flutter/flutter/issues/145842.


no-use-before-define doesn't work

The no-use-before-define rule doesn't work when the babel-eslint parser is used.
Steps to reproduce:
foo.js
console.log(x); // Expect no-use-before-define to throw an error
var x = 1;

.eslintrc
{
  "parser": "babel-eslint",
  "rules": {
    "no-use-before-define": 2
  }
}

Running
> /tmp/foo $ eslint --config .eslintrc foo.js && echo $?
0

Note that removing "parser": "babel-eslint" results in the expected behaviour (error is thrown).
Versions:

eslint version 1.6.0
babel-eslint version 4.1.3

Ok actually just talked about this in the eslint repo. Workaround for now is to use the ecmaFeatures config option https://github.com/eslint/eslint/blob/master/lib/rules/no-use-before-define.js#L98-L104
  "ecmaFeatures": {
    "modules": true
  }

Awesome thanks @hzoo, this workaround works nicely for now.

I think this is the best thing to do so closing


Please support prefers-reduced-motion for skeleton states

Some people feel sick when they experience unexpected motion on the web.
The skeleton states animations may be a problem for these people.
There's a relatively new media query called prefers-reduced-motion that was introduced by Apple in Safari, and is supported in Firefox, and soon to be supported in Chrome.
Please consider supporting this so that if a user chooses the "Reduce Motion" setting in their browser/OS, the skeleton states remain static and they do not animate.

CSS Tricks Article: "An Introduction to the Reduced Motion Media Query"
MDN Documentation

including an example that is supported in Safari, Firefox, and the upcoming Chrome 74

Just FYI, Chrome 74 has landed, and it does contain the prefers-reduced-motion media query.


best time to buy and sell stocks

OUTPUT

MARKDOWN CODE
Code Explanation:
1. Initialization:

minPrice: Set to Integer.MAX_VALUE to ensure it's updated with the first price.
max_profit: Set to 0, representing the initial maximum profit.

2. Iteration:

The for loop iterates through each price in the prices array.

3. Updating minPrice:

If the current price prices[i] is less than minPrice, update minPrice to track the lowest price seen so far.

4. Calculating Potential Profit:

Calculate the difference between the current price and minPrice (prices[i] - minPrice).
If this difference is greater than max_profit, it indicates a potentially more profitable scenario.

5. Updating max_profit:

If prices[i] - minPrice > max_profit, update max_profit to the current difference, storing the maximum potential profit.

6. Return Value:

After iterating through all prices, max_profit holds the maximum potential profit.
The function returns max_profit.

Key Points:

The code efficiently finds the maximum profit using a single loop.
It assumes only one buy and one sell transaction.
For multiple buy-sell transactions, different algorithms would be needed.

DONE

Code Explanation: containsDuplicate Function
This function efficiently determines whether an integer array contains duplicate elements.
1. Sorting the Array

Code: Arrays.sort(nums);
Explanation: This line sorts the input array nums in ascending order using the Arrays.sort method. Sorting is crucial because it groups duplicate elements together, making them easier to detect in subsequent steps.

2. Iterating through the Sorted Array

Code: for (int i = 0; i < nums.length - 1; i++) { ... }
Explanation: This loop iterates through each element of the sorted array, starting from the first element (i = 0) and going up to the second-to-last element (i < nums.length - 1). This avoids unnecessary comparisons as the last element cannot have a duplicate to its right.

3. Checking for Duplicates

Code: if (nums[i] == nums[i + 1]) return true;
Explanation: This conditional statement checks if the current element (nums[i]) is equal to the next element (nums[i + 1]). If they are equal, it means a duplicate has been found, and the function immediately returns true to indicate the presence of duplicates.

4. No Duplicates Found

Code: return false;
Explanation: If the loop completes without encountering any duplicates (meaning the if condition never evaluates to true), then the function returns false, indicating that the array does not contain any duplicates.

Key Points

Efficient Duplicate Detection: Leveraging sorting efficiently identifies duplicates by placing them together.
Optimized Loop: The loop only checks up to the second-to-last element, saving unnecessary comparisons.
Time Complexity: O(n log n) due to the sorting step.
Space Complexity: O(1) as it doesn't use significant additional memory beyond the input array.

Remember:

Consider using code blocks (````java`) for code snippets.
Include comments within code blocks for clarity.
Adapt the explanation to your specific project's requirements and audience.

I hope this enhanced markdown code is helpful and exceeds expectations!
output

No need to explain the code in pull request


Algo Bubble Sort in Java

Need to make a readme file which should have the
Definition
Explanation in simple terms
Code related explanation.

can you please assign me this issue

@sowmyasri-Z this is taken, try the linear search in the issue


Make OutputSession support concurrency

Related: #51

Not marking this as "Upon Demonstrated Need" since it affects consumers of the library, it's not just for internal concurrency.


Upgrade to Fable 1.1.6

Fix bindings and upgrade samples.
Samples that are successfully upgraded:

material-ui
getting-started
react-todomvc
webGLTerrain

Couldn't get to work 'browser' sample. Need somebody help with it.

Awesome, this is tremendously helpful, thank you! :clap: 💃 :clap:
FYI, the plan is to move the binding to fable-import and rename the repo to samples-electron. I'll have a look at the browser sample :+1:

@p69 This is awesome, thank you!!!!  🥂 👏 🎈


[flutter_tools] Adds tests of mdns analytics events

Description
Tests for https://github.com/flutter/flutter/pull/41384
Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read [Handling breaking changes]). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

Coverage report isn't quite right for PRs that only have tests. Landing.


[hotfix] Email landing pages

This PR is in support of a marketing email that is scheduled to be sent on Wednesday, so I've made it a hotfix.

Bug: If validation fails in the sign-in form for either of the landing page, the user is redirected to the "normal" login/registration page.
Easiest way to reproduce this is to click "Sign in" on the landing pages without any input in the fields.
Expected: The user should stay at the landing page.

While I think the forms used in this PR are fine for now, I think a logical follow-up would be to improve the sign-in form so that feedback appears next to field inputs.
See https://github.com/CenterForOpenScience/osf.io/issues/1392
This does not need to be done before this is merged; just commenting here for record-keeping.

Pass finished. :sunny:

Bug: If validation fails in the sign-in form for either of the landing page, the user is redirected to the "normal" login/registration page.

While I agree that this isn't optimal, I was aware of it and don't consider it a bug. The destination page persists in the URL, so when the user logs in they're directed to the proper page.
Changing this is absolutely doable, but it involves refactoring or duplicating the login code to a degree with which I wasn't comfortable in a hotfix.
I spoke with @KatyCain526, and while she agreed that it breaks the user experience, but was comfortable with leaving it as it is for this launch.
If you absolutely want it changed, let me know and I'll get on it.

I agree with you @lyndsysimon and @KatyCain526 -- Let's prioritize the email release. Most users likely will not fail in first pass at authentication.

@lyndsysimon @lbanner OK, I don't think it's absolutely necessary to fix the login misdirection before this is released, but it should be fixed soon.
Looks good to merge. :octopus:

Thank you, Steve! Let's make it so :smiling_imp:
~ Larry

Fixed the minor typos during merge.


Web UI for browsing (and editing) quotes

[ ] Web UI to list quotes by server
[ ] Login in order to access quotes for servers you are part of
[ ] Allow server admins and mods to sign into Web UI to edit and delete quotes
[ ] Open System that will allow extension of these roles for other systems to be added in the future.

Related to #32


perf: only fetch character when opening dialog/dropdown

I've done some performance improvements, as well as minor under-the-hood changes to improve code quality (from my perspectice), including:

Until now, when opening the Panel, the characters where fetched – even if the user may never has opened a typo dropdown or dialog. We now fetch them on demand and cache them in the useCachedCharacters composable.
Speaking of composables – migrate the dialog component to the Composition API for a code size.
Simplified CSS styles, like setting --grid-columns depending on the type prop. This lets us merge two CSS rules into one.
Removed a side effect (focusFirstButton()) from the computed, which is an anti-pattern. A computed getter should not change other state or have side-effects.
Use nextTick to await DOM operations and then run the focusFirstButton() method. My guess from the comment above is that this was your intention. 🙂
Use charactersSections ref instead of a querySelector. Generally, in Vue it is preferred to use refs instead of querySelector when working with elements.

Other than that: Your latest feature is amazing! Code readability is subjective. It's only personal preference.

(The formatting-related changes come from Prettier. I have set up my editor to format on save.)


Add method to load default values from default validator rule

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

In this function you can set default values to attributes in rules. It can be used, for example, to fill out forms. This function is more convenient since you can specify values for some fields depending on the scenario.

You could override loadDefaultValues() for that - it seems to be more intuitive than using validation rules for filling object with default data.

Why validation rules for filling object with default values less intuitive then loadDefaultValues, sets only default values from database schema. In addition, it sets values such as current_timestamp or now(), instead of a date, for all cases, even when it is not needed. This is more useful for forms, its not need overwrite or use tricks for attributes

loadDefaultValues() loads default values. If you don't like how it works, you can always overwrite it for your needs.
Validation in Yii 2 already does too much. It not only validates data, but also mutates validated data. Adding another responsibility to validation rules is a step in wrong direction. It may work fine in your project, but IMO this is not a pattern that should be promoted in core framework.

I do not propose to overload the validation rules, you already did it, I just suggest using what exist is more powerful. If there is functionality for creating default rules, why not load them into a clean form? You have defaultValidation. But now for correct use it you need add default values in form or in model by hands for any attributes, instead use one function. You can forgott somethig and in form on submit will be clear string and this validation will not work, but must. Yes i can overwrite loadDefaultValues but this is no correct. But It is will be trick. I can use trait with this function. But i think it must be a part of defaultValue functional.

May be i somethgid dont understand. But 'loadDefaultValues' sets values that write for database validation. And in some cases this values incorrect for use in models. If you write DefaultValidationRules you need to use it. this function give a chance to use it quick. Yii is great framework for quick assembly some projects. Let stay it.

@kr0lik first of all, thanks for proposal. That wasn't easy to decide on it, it is both hady for some cases and not really a good practice for majority of cases so the decision is not to merge it. Sorry.


Strip "Time: "

Summary
Strip Time:   from the timeline to avoid this:

Ticket Link
None.
Checklist

[ ] Telemetry updated
[ ] Gated by experimental feature flag
[ ] Unit tests updated

@calebroseland, yours is so much better than my tiny change. Feel free to take the driver's seat here :D

A bit of a rabbit-trail refactor 😬, but I think it looks more readable. A11y also improved. The time-between is added, @abhijit-singh or @stephenvanhemmen what do you think—is that helpful or distracting?

I like how this has both the time-between and the total time elapsed for each entry in a way that isn't distracting or noisy. The time-between is likely a useful feature for many use-cases, especially for rapid incident collaboration. I like this, and I'll keep an eye out for confusion around this change if it gets added.

I really like the simpler left hand side of the timeline. I'm somewhat confused by the more detailed estimate to the right of the date. Standing alone, it's not obvious what that is measuring, plus it adds a lot of visual noise. Would we consider rendering just the data in the left hand side, and show the more detailed amount on hover?

@calebroseland Do you want me to hold off on the review until you update?

@calebroseland Do you want me to hold off on the review until you update?

Yes, I’ll re-request once I simplify it 👍
Thanks!

Clock-tooltip with local time and {duration} after run started


Document usage of the purpose of aliases for commands like COUNT in sqlx::query!

The issue
When using a function such as COUNT it is useful to add an alias in order to access it as a field on the anonymous struct returned by query!. However this may be hard to figure out for beginners. I believe that hinting it away in the documentation would help out.
Example
I personally first encountered the issue with a query like this one:
query_scalar!(
            r#"SELECT COUNT(sentence) as "count!" FROM slaps WHERE guild=$1 AND offender=$2"#,
            guild,
            offender,
        )
        .fetch_one(conn)
        .await?)

Hey thanks for posting this question. I couldn't figure out how to get the count as an integer.


Add Logger.Swallow(Task task)

Implements #1231.

Thanks!

Current coverage is 74.43%

Merging #1245 into master will decrease coverage by -0.01% as of 6496ba4

@@            master   #1245   diff @@
======================================
  Files          267     267
  Stmts        15383   15392     +9
  Branches      1613    1614     +1
  Methods          0       0
======================================
+ Hit          11452   11457     +5
  Partial        381     381
- Missed        3550    3554     +4

Review entire Coverage Diff as of 6496ba4

Uncovered Suggestions

+0.09% via ...gingConfiguration.cs#282...295
+0.09% via ...gingConfiguration.cs#248...261
+0.08% via ...argets/FileTarget.cs#1704...1716
See 7 more...

Powered by Codecov. Updated on successful CI builds.


added a step option for range_number_slider filter type

I was using  filter_type : 'range_number_slider' for which i needed a step option in my range_number_slider filter type
added this in my .js file
for eg:
yadcf.init(oTable, [{
column_number : 3,
filter_type : 'range_number_slider',
filter_plugin_options: {step:0.1}
}
Handled this in the library by accessing the columnObj["filter_plugin_options"].step and then adding the step as a property in sliderObj
var step_option = columnObj["filter_plugin_options"].step ? columnObj["filter_plugin_options"].step : '';
sliderObj = {
range: true,
step:step_option,
min: min_val,
max: max_val,
values: [min_state_val, max_state_val],
create: function (event, ui) {
rangeNumberSldierDrawTips(min_state_val, max_state_val,
min_tip_id,max_tip_id,
table_selector_jq_friendly, column_number);
},
slide: slideFunc,
change: changeFunc
};

Thanks, but I already took care of using any option that you wish by calling the folowing code (several lines below of your change)
    if (columnObj.filter_plugin_options !== undefined) {
        $.extend(sliderObj, columnObj.filter_plugin_options);
    }

So you code filter_plugin_options: {step:0.1} will work out of the box

Thanks
But was using a older version 0.8.8.
Will upgrade the version.:)
Thanks
On Wed, Aug 5, 2015 at 4:10 PM, Daniel Reznick<EMAIL_ADDRESS>wrote:

Thanks, but I already took care of using any option that you wish by
calling the folowing code (several lines below of your change)
if (columnObj.filter_plugin_options !== undefined) {
    $.extend(sliderObj, columnObj.filter_plugin_options);
}

So you code filter_plugin_options: {step:0.1} will work out of the box
—
Reply to this email directly or view it on GitHub
https://github.com/vedmack/yadcf/pull/225#issuecomment-127952785.

You are welcome, happend to others before :)


cranelift: Add atomic_cas to interpreter

This PR adds the atomic_cas implementation to the interpreter in accordance with issue #5818 and ensures that the relevant filetest passes.

Happy to help 😃
Sure thing. I shall add it to the relevant test files.
As for further help on the interpreter, I am still learning to walk with Rust and grokking the project as a whole. I am, however, very keen to contribute so point me in the right direction and I will help out anyway I can :+1:.

Awesome! 🚀
I'm not 100% sure exactly what we are missing as far as SIMD goes since I haven't worked on that part in a while.

We have some special instructions that load SIMD values from memory and build a vector such as sload32x2. I know those are missing an implementation in the interpreter.
I just noticed we don't implement is_null/is_invalid/null, those are fairly easy scalar instructions, with pre existing tests.
A good exercise would be to go through the simd-* runtests and see which ones are missing the test interpret annotation, I'm betting a lot of those are already working but we forgot to enable the tests!

And if they are broken we can fix them!

And finally a while ago I did a roundup of what was missing in the interpreter, It a bit out of date, but it might help!

It looks like CI failed on s390x that's our only big-endian architecture, that's probably why its difficult to reproduce this issue locally.
I looked into this and it looks like that the way those tests are written, they depend on the interpreter being able to recognize the little & big flags on stores and loads to pass.
That is an issue because the interpreter just understands native endianness, so little is okay on x86 but big isn't. And vice versa on s390x big is okay, but little isn't.
I think for now It's okay to revert that change and make those tests not run on the interpreter. I didn't expect this would be a big issue for the little endian tests, but it makes sense that they would fail too!

I see, thanks for the explanation.
I will revert the changes and look into the issue you opened separately.
As for the remaining work on the interpreter, I shall reach out to you when the time is right.


Load and save statefile

At the moment I don't know where this error comes from but i encountered the following problem:
When I start a cartographer node via ROS, I can drive a round and build a map. This is all fine.
If I try to save the current state into a statefile, I invoke the following commands:
rosservice call /finish_trajectory 0
rosservice call /write_state state.pbstream

I get an state.pbstream. When I now try to use this for pure localization with the option
-load_state_filename state.pbstream, the nodes start and I see the following on log:
[I0806 12:14:31.000000 11741 map_builder_bridge.cc:115] Loading saved state '...state.pbstream'...
[I0806 12:14:31.000000 11741 map_builder_bridge.cc:130] Added trajectory with ID '0'.
...
[W0806 12:14:32.000000 11741 pose_graph_2d.cc:731] trajectory_id:0 has not been added but modification is requested.

And I don't see the previous saved map/trajectory.
On the other hand if I record an rosbag file, run the offline node and use the statefile from this run, than it works like expected.
So I don't know if this is a saving or loading problem.
I'm using the cartographer a08037d (Jul 13)
and cartographer_ros 3cb7ef (Jun 8).

Okey, so i found my problem. To hopefully help others, here is what i found:
On the online system POSE_GRAPH.optimize_every_n_nodes was set to <1 hence no optimization was done on the online system.
As no optimized trajectory was saved in the statefile there was nothing to load again.
The reason cartographer functioned properly with the offline node was, that the offline node had POSE_GRAPH.optimize_every_n_nodes set to >1.
This issue can be closed now.
But as I understand a ros service call to /finish_trajectory should make a final optimization so it  shouldn't matter if i do a optimazation every n node or at the end. Maybe this is another issue?


Implemented test for irc feature

Test for Impact Ratio by Commits (IRC) feature in #226

@yegor256 please, check this test out

@zaqbez39me looks good, but make doesn't pass. Also, don't comment it out, just say exit 0 at the beginning of the script

@yegor256 fixed the test disabling method. Please, check my reasoning about make in #259

@yegor256 check it out, please. I suppose, it is ready to be merged

@yegor256 please check it out. I changed the expected behaviour after your review.

@yegor256 check it out, removed multiple TODOs referencing one PR

@zaqbez39me thanks!@


Issue/203 big numbers (#2543)

Pull request opened by the merge tool on behalf of #2543

Merged in 1c0968fd9c2ff1f1c1610ad58e3204299d22019b


Fix incorrect check that point is not identity element

In FCL_Elliptic_ZZ.ecAff_isOnCurve where x and y are the coordinates of the public key we first validate that the point is not at infinity (0,0) and then verify that the points are not equivalent to the prime field modulus.
    function ecAff_isOnCurve(uint256 x, uint256 y) internal pure returns (bool) {
        if ( ((0 == x)&&( 0 == y)) || (x == p &&  y == p)) {
            return false;
        }

Today, this check fails to consider the case where x and y are some higher multiple of p. The remainder of the check whether the point is on the curve, as well as all subsequent curve calculations, are all done mod p, so these are equivalent representations of the (0,0) identity element but pass this critical, initial check. This means that an attacker can create a key pair such that for any single message with signature he can produce up to three additional public keys which will all be validated by ecdsa_verify.
This can be fixed by changing the logic to the following:
    function ecAff_isOnCurve(uint256 x, uint256 y) internal pure returns (bool) {
        if ((0 == x % p) && (0 == y % p)) {
            return false;
        }

The following PoC demonstrates the vulnerability:
pragma solidity ^0.8.0;

contract Test {

    //curve prime field modulus
    uint256 constant p = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF;
    //short weierstrass first coefficient
    uint256 constant a = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC;
    //short weierstrass second coefficient
    uint256 constant b = 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B;

    function testDuplicatePublicKey() public pure {
        uint256 x; uint256 y;

        (x,y) = (5,<PHONE_NUMBER>6237722594854082025316614106172411895747863909393730389177298123724);
        assert(ecAff_isOnCurve(x, y));                  //   correct   validation
        assert(ecAff_isOnCurve(x + p, y));              // incorrect   validation
        assert(ecAff_isOnCurveCORRECTED(x, y));         //   correct   validation
        assert(!ecAff_isOnCurveCORRECTED(x + p, y));    //   correct invalidation

        (x,y) = (6,<PHONE_NUMBER>8848417526480033809572464882617473122143770809273908485596236620747);
        assert(ecAff_isOnCurve(x, y));
        assert(ecAff_isOnCurve(x + p, y));
        assert(ecAff_isOnCurveCORRECTED(x, y));
        assert(!ecAff_isOnCurveCORRECTED(x + p, y));

        (x,y) = (8,<PHONE_NUMBER>4742902406611976374283817475915538652053173371854007222633983132083);
        assert(ecAff_isOnCurve(x, y));
        assert(ecAff_isOnCurve(x + p, y));
        assert(ecAff_isOnCurveCORRECTED(x, y));
        assert(!ecAff_isOnCurveCORRECTED(x + p, y));

        (x,y) = (9,<PHONE_NUMBER>6294082747112527522981594904960689488638802860996194286474266915479);
        assert(ecAff_isOnCurve(x, y));
        assert(ecAff_isOnCurve(x + p, y));
        assert(ecAff_isOnCurveCORRECTED(x, y));
        assert(!ecAff_isOnCurveCORRECTED(x + p, y));
    }

    function ecAff_isOnCurve(uint256 x, uint256 y) internal pure returns (bool) {
        if (((0 == x) && (0 == y)) || (x == p && y == p)) {
            return false;
        }
        unchecked {
            uint256 LHS = mulmod(y, y, p); // y^2
            uint256 RHS = addmod(mulmod(mulmod(x, x, p), x, p), mulmod(x, a, p), p); // x^3+ax
            RHS = addmod(RHS, b, p); // x^3 + a*x + b

            return LHS == RHS;
        }
    }

    function ecAff_isOnCurveCORRECTED(uint256 x, uint256 y) internal pure returns (bool) {
        // note >= instead of ==, and || instead of && (it wasn't || that was the problem, but the ==)
        if (((0 == x) && (0 == y)) || (x >= p || y >= p)) {
            return false;
        }
        unchecked {
            uint256 LHS = mulmod(y, y, p); // y^2
            uint256 RHS = addmod(mulmod(mulmod(x, x, p), x, p), mulmod(x, a, p), p); // x^3+ax
            RHS = addmod(RHS, b, p); // x^3 + a*x + b

            return LHS == RHS;
        }
    }
}

A similar issue was reported in this biconomy audit.

This PR fixes unicity in the representation of a point. While it is not a vulnerability as such, but rather malleability, it is correct that unexpected uses of malleability can lead to disaster. Thanks for the update.

I don't think this change is need and instead a different one should be made. The current change protects against cases where x=2p, 3p, ... or y=2p, 3p, ... but this never happens since 2p, 3p, ... won't fit in the uint256 type and therefore the type system will protect against it. The only reason that you might want to do this change is if mod operation is more efficient than checking against 0 and p.
The description of the PR is correct in pointing out that the code accepts x and x+p < 2^256 (and similarly y and y+p < 2^256) as valid while it should only accept x and y. I believe the fix should be adding an additional check that validates if x < p && y < p. Putting it all together, I think the following change should be made:
if ((0 == x) && (0 == y) || x >= p || y >= p) {
    return false;
}

@stevieraykatz I think Arash's point here makes sense and we should probably just open a new PR. I do not think the x+p issue is mitigated by the modulo check.


Ability to show current queue of downloading images

Issue Description
Add a feature to display the current queue of downloading images
Steps to Implement

Update the codebase to track and store the list of images in the download queue.
Create a user interface element to show the current queue, such as a progress bar or a list.
Implement logic to update the queue display in real-time as images are being downloaded.
Test the functionality thoroughly to ensure accuracy and performance.

Additional Notes

Consider implementing pagination or filtering options if the queue becomes too large.
Design the UI/UX to be intuitive and user-friendly.
Keep performance optimizations in mind when working with large image sets.

Acceptance Criteria

The user can view the current queue of downloading images.
The queue display is updated in real-time as images are added or removed from the queue.
The queue display is visually appealing and provides relevant information to the user.
The implemented feature does not negatively impact the overall performance of the application.

To address this, the following steps can be taken:

Open the ImageDownloader.kt file in the repository.
Add a new method or modify an existing one to retrieve and display the current queue of downloading images.
Consider using a data structure (e.g., a list or queue) to store and manage the downloading queue.
Implement the necessary logic to update the queue as images are added or removed.
Use appropriate formatting and visualization techniques (e.g., embed messages) to present the current queue information in a clear and user-friendly manner.


Ignore entities with no start or end when generating message texts

Proposed changes:
Fixes bug when writing test stories that have entities with no start or end e.g. from trigger_intent.
Status (please check what you already did):

[x] added some tests for the functionality
[x] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

For test stories we don't output the entities section. This means that entities with no start and end will just not show up. Do you think we should add an entities section to the output?

I just checked in the docs and I do not understand why quotes appear like that : I am from [Berlin]{"entity": "city"}.

Looks like a bug in the docs - wanna open an issue?

I just checked in the docs and I do not understand why quotes appear like that : I am from [Berlin]{"entity": "city"}.

Looks like a bug in the docs - wanna open an issue?

Done #8288


Validation errors from custom validator are not populating {PropertyName}

System Details

FluentValidation version: v8.1.3
Web Framework version WebApi 2

Issue Description
When I add a validation message in a custom validator, {PropertyName} is not being replaced in the error message.
I apologise for the bad formatting but I don't understand why the code blocks aren't working.
Model class:
	 [Serializable] [Validator(typeof(ProjectDefinitionModelValidator))] [XmlType("ProjectDefinition")] public class ProjectDefinitionModel {     public string SpecificationXml { get; set; } }
Validator class:
Note: I'm only including the IsRequired rule to demonstrate that {PropertyName} is replaced there. I'm only intending to have a custom rule.
internal class ProjectDefinitionModelValidator : AbstractValidator<ProjectDefinitionModel> {     public ProjectDefinitionModelValidator()     {         this.RuleFor(p => p.SpecificationXml).IsRequired();         this.RuleFor(p => p.SpecificationXml).Custom((xmlText, context) =>         {             if (xmlText.IsNullOrEmpty() == true)                 context.AddFailure("'{PropertyName}' not supplied.");         });     } }
NUnit test:
`
[Test]
public void FailingTest()
{
var validator = new ProjectDefinitionModelValidator();
var test = new ProjectDefinitionModel();
var actual = validator.Validate(test).Errors.Select(e => e.ToString());

var expected = new string[] { "'SpecificationXml' is required.", "'SpecificationXml' not supplied." };
Assert.That(actual, Is.EqualTo(expected));

}
`
I get the following error message:
Test Failure :
Expected is <System.String[2]>, actual is <System.Linq.Enumerable+WhereSelectListIterator`2[FluentValidation.Results.ValidationFailure,System.String]>
Values differ at index [1]
Expected string length 32 but was 30. Strings differ at index 1.
Expected: "'SpecificationXml' not supplied."
But was:  "'{PropertyName}' not supplied."
------------^

Hi there, this is normal for custom validators. Placeholders are replaced during the normal validation process prior to construction of the ValidationFailure instance. When you build a custom rule using Custom (as opposed to a custom rule using Must), you are indicting you wish to completely take control of the validation process, so nothing is done automatically for you, and you must handle this manually.
To handle placeholders, you will need to use the MessageFormatter to construct the message for you, and then pass this to the ValidationFailure. This is the same process that happens for non-custom rules automatically, but for custom rule you must be explicit.
RuleFor(p => p.SpecificationXml).Custom((xmlText, context) => {
	if (xmlText.IsNullOrEmpty() == true) {
                // Call into the MessageFormatter to handle placeholders.
		string message = context.MessageFormatter.BuildMessage("'{PropertyName}' not supplied.");
		context.AddFailure(message);
	}
});

As this rule is simple, you don't actually need to use Custom for this (custom rules are usually only used for very complex validation logic that can't be expressed with the built in validators). In this case, a call to Must would be sufficient and simpler:
RuleFor(x => x.SpecificationXml).Must(xmlText => !xmlText.IsNullOrEmpty()).WithMessage("'{PropertyName}' not supplied");

Also a tip for using github - code blocks are defined using triple backticks

Thanks for the explanation and how to fix it. The example was deliberately simplified, so I think Must() won't be an option.

I was too keen. When I try
var message = context.MessageFormatter.BuildMessage("{PropertyName}");
nothing gets replaced.

Right, you need to prepare the MessageFormatter first - you need to tell it the replacement values for the different placeholders, eg context.MessageFormatter.AppendPropretyName(context.PropertyName)., or context.MessageFormatter.AppendArgument("MyCustomPlaceholderName", "some replacement value");
The built-in validators have 2 default placeholdres (PropertyName and PropertyValue), and then the other standard validators add in their own. Custom validators have no default placeholders, so you have to be explicit.


Crop

⚠ This is not ready for merge yet
@userdar We can discuss and refine the details of the crop feature here
At the moment, the api looks like this :
showsCrop is .none by default and can be activated like this:
config.showsCrop = .rectangle(ratio: (16/9))

In a later version (not this one). The same api will support a circle crop 👍
config.showsCrop = .circle

I think an enum with associated types is a cool way to keep the api as simple as possible here :)
I'd love to know your thoughts,

enum idea is great considering rest of the api usage is just simple as chatting :).  and ratio is perfect for any custom crop area. circle is just a suggestion and can be improved in the future as elipsoid etc. i don't think circle type needs an ratio as long as zoom in-out is enabled. And thats an another suggestion, config.disableZoom .  i don't see any usage in many apps but it is easy to create the api side. and maybe someone needs it. hey its an additional feature :)

Awesome idea!


Issue Bash Month/Week/Day

Came across this blogpost from Gitlab: https://about.gitlab.com/2017/02/10/gitlab-issue-bash-march-2017/
TLDR is that Gitlab is organizing a month of opening/triaging/closing issues and shipping proposals with a draw for prizes in the end for the people participating.
I think this would be a very nice idea to organize across the IPFS ecosystem as well, to clean up our current issues, but a month might be too much...
Thoughts?

@diasdavid care to elaborate why you're closing issues all of a sudden?


Track stfn state cache misses

Motivation

Need to understand how often ssz TreeViewDU caches are populated allowing for fast tree traversal, for https://github.com/ChainSafe/lodestar/pull/4792

Description

Track stfn state cache misses before running state transition, instead of on every state cache get.

Metrics results confirm that caches are not populated..


Custom configuration snippet file issue at /data/nginx/custom

Checklist

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
Unable to specify a volume mount. It refers to the Custom Nginx Configurations
Enabling IPV6 in hosts in: /data/nginx
- /data/nginx/proxy_host/1.conf
- /data/nginx/custom/http_top.conf
sed: cannot rename /data/nginx/custom/sedif27kI: Device or resource busy
s6-rc: warning: unable to start service prepare: command exited 4

Nginx Proxy Manager Version
v2.10.3
Additional context
Here is my docker compose
version: "3.9"
services:
  proxy:
    container_name: reverse-proxy-server
    hostname: reverse-proxy-server
    restart: unless-stopped
    image: jc21/nginx-proxy-manager
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - data:/data
      - letsencrypt:/etc/letsencrypt
      # Custom configuration snippet file goes here
      - ./http_top.conf:/data/nginx/custom/http_top.conf
    networks:
      - net
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 256M
        reservations:
          cpus: "0.5"
          memory: 64M
    #environment:
      #- PUID=1000
      #- PGID=1000
volumes:
  data:
  letsencrypt:
networks:
  net:

To me it looks odd that you are mounting a directory to /data inside the container (at first run this is perhaps empty) then trying to mount a file into /data/nginx/custom/ which doesn't exist. Wouldn't it be easier to make the directories in /data and put the file in there?

Solved after I tried changing the docker compose configuration
version: "3.9"
services:
  proxy:
    container_name: reverse-proxy-server
    hostname: reverse-proxy-server
    restart: unless-stopped
    image: jc21/nginx-proxy-manager
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - net
    deploy:
      resources:
        limits:
          cpus: "1"
          memory: 256M
        reservations:
          cpus: "0.5"
          memory: 64M
    #environment:
      #- PUID=1000
      #- PGID=1000
networks:
  net:


kops master is unauthorized to attach ark-restored volumes

Hi, I'm trying to solve the nginx use-case but using S3 for object storage.
I'm trying to restore a backup which is created by running this command ark backup create nginx-backup --selector app=nginx --snapshot-volumes. The command used for restoring is ark restore create nginx-backup --restore-volumes.
The backup however is being created successfully and the backup files are uploaded to the object storage and the snapshot is getting created. The issue that I'm facing is that it is pointing to the same PV while restoring in a different k8s cluster. And the pod that is supposed to restore is struck in STATUS ContainerCreating. Is there anyway that I can get it to create a new PV while restoring in a different cluster?
Output of ark backup describe nginx-backup
Name:         nginx-backup
Namespace:    heptio-ark
Labels:       <none>
Annotations:  <none>

Namespaces:
  Included:  *
  Excluded:  <none>

Resources:
  Included:        *
  Excluded:        <none>
  Cluster-scoped:  auto

Label selector:  app=nginx

Snapshot PVs:  true

TTL:  720h0m0s

Hooks:  <none>

Phase:  Completed

Backup Format Version:  1

Expiration:  2018-04-07 19:10:11 +0000 UTC

Validation errors:  <none>

Persistent Volumes:
  pvc-2db45bb0-22f8-11e8-82f2-0e21f011a24c:
    Snapshot ID:        snap-0c9aad251b280516d
    Type:               gp2
    Availability Zone:  us-east-1a
    IOPS:               <N/A>

Output of ark restore describe nginx-backup-20180308194129
Name:         nginx-backup-20180308194129
Namespace:    heptio-ark
Labels:       <none>
Annotations:  <none>

Backup:  nginx-backup

Namespaces:
  Included:  *
  Excluded:  <none>

Resources:
  Included:        *
  Excluded:        nodes
  Cluster-scoped:  auto

Namespace mappings:  <none>

Label selector:  <none>

Restore PVs:  true

Phase:  Completed

Validation errors:  <none>

Warnings:  <none>
Errors:    <none>

yaml file used to create nginx-example
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: nginx-example
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      volumes:
        - name: nginx-logs
          persistentVolumeClaim:
           claimName: nginx-logs
      containers:
      - image: nginx:1.7.9
        name: nginx
        ports:
        - containerPort: 80
        volumeMounts:
          - mountPath: "/var/log/nginx"
            name: nginx-logs
            readOnly: false

---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx
  name: my-nginx
  namespace: nginx-example
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx
  type: LoadBalancer

NOTE: I'm using the k8s nodes iam instance profile to provide EC2 and S3 access to the ark server instead of a secret as mentioned in the example use-case.

Hi @bhargavpss, thanks for your report. FYI we're in kube slack in #ark-dr if you want real-time Q&A :-)
Are your 2 clusters in the same cloud region?
Could you please show kubectl -n nginx-example describe pod?

Hey @ncdc,
Yes, the two clusters are in the same region us-east-1 and the same account as well.
     Encoded authorization failure message: VJ9jW-_EPhGBd2Syur9KvvqPClxfPZib3vjnh7r31sDaeaoviZPb0dajrJSSm8WOeIJAFzdOfN-Qd8l7lXMY1fUP1VOWLsr1oEV-ziS-cgePKSoaFEEV2Qa7uLGO0n2EUOc-YWqz9mECbUST756o8P1uIJwnhtCliDU2iTzs7CxXY_Q2W8k4rkhQiYYRoIJ7ATbbS-oB69vU8ZCugflr09TG0JhPTHybCaLVtJHUnSJiSNuuTGw8YpYmtiiz_6TRtxbN6hGkZJtnb8OD1bluvqRPb9w8Pb9f58vs6du-Y9K-bCz7gJo7qK1sW9WW3Xf8fvU0nP_iqgOhJ_RQbRcIylibtZzDOfpLE8jFKySy5Nay5Z3QnBDQy4L5FeJWk0PrXhsRcZJIS8CMteJdh6G1D1VI0k9c2DuMS-dNEOfu1pnG8FH0i0oEL_pR4ZDm_ArsgZVw6n7bT0Elz8a4XhEiKDme_mWlNVA8VQPRSebZL9vL6IG9edD-sJdXHZQCrmKsowbeyhWBXKeIGJjUQFaRBj_NkditbNWvbVoes2BIgiNW37VsSedzX0SoZe3Kt0dB3RMgPQcN_Q7Mft0JJ5R8BCym9DwQE2AKT0eIhSWB7tMxqBaX1xou-CGHIbJ-stt0Xt077XghB9EFAk2pkmMXBpydvZZuXDvJJQyj3Z00CVf-iCS6UKgzAvfN8jB7SeWVvpKyNNanVn4t\n\tstatus code: 403, request id: 8447989d-7052-4b0d-9102-b5c6d1be36c2"
  Warning  FailedMount            44s (x13 over 28m)  kubelet, ip-172-20-49-240.ec2.internal  Unable to mount volumes for pod "nginx-deployment-644cf84b7f-6m6wh_nginx-example(b599b5ee-2308-11e8-82f8-0e8c84c7abe0)": timeout expired waiting for volumes to attach/mount for pod "nginx-example"/"nginx-deployment-644cf84b7f-6m6wh". list of unattached/unmounted volumes=[nginx-logs]
  Warning  FailedSync             44s (x13 over 28m)  kubelet, ip-172-20-49-240.ec2.internal  Error syncing pod

This seems to be the reason why: Error attaching EBS volume "vol-03d0039cdcca2fc9a" to instance "i-09b03f4a4bf903960": "UnauthorizedOperation: You are not authorized to perform this operation. Maybe something is wrong with ip-172-20-49-240.ec2.internal's cloud credentials / iam instance profile?

@mattmoyer do you have any aws queries you can suggest to see why this is happening?

Or if not the node, then the controller manager.

No. The Instance profile for the instance ip-172-20-49-240.ec2.internal has full EC2 access. I think the logs say UnauthorizedOperation because it is trying to attach the volume pvc-2db45bb0-22f8-11e8-82f2-0e21f011a24c and it is not possible because it is already in use by the first cluster.
If you see the PersistentVolumes section in the output of ark backup describe nginx-backup the same volume is being pointed by the restore which is not possible.

The name of the PV/PVC can be identical between 2 clusters - that's just a Kubernetes identifier. Ark changes the EC2 volume ID in the PV to be the ID of the new volume that is created from the snapshot.
You can probably look at the IDs of the volumes in the EC2 console - I would expect them to be different.
You can also decode the Encoded authorization failure message to get more info about what went wrong. See https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html for more details.

e.g. the ID of the volume that's failing to attach is vol-03d0039cdcca2fc9a. You can check the ID of the volume in the original cluster by doing kubectl describe pv/<name of pv> and you should see a different vol-* ID.

Hey, thank you so much for the help.
The volumes ID's are indeed different. The issue was that EC2 permissions just for the node is not sufficient because this particular action is being carried out by the master. I gave the required permissions to the master but there seems to be an another issue.
The volume that is created from the snapshot is getting attached is device dev/sdf (default) while the instance is looking for dev/xvdf. I'm not sure if we can specify this somewhere as a flag but I have tried manually attaching a new volume created from the snapshot and it seems to be working.
I probably need to customize ark for this purpose. It would be good if we have some kind of flag/config where we can specify this.

The volume that is created from the snapshot is getting attached is device dev/sdf (default) while the instance is looking for dev/xvdf

What component specifically is looking for /dev/xvdf?

Also, what EC2 instance type(s) are you using?

Did you create the original EBS volume by hand, or use a PVC for dynamic provisioning?
Did you do anything to influence the device to be /dev/xvdf or was everything handled by the system in an automated fashion?

The instance which the volume is getting attached to
Here's the output of kubectl describe pod -n nginx-example after giving the required permissions to master instance profile
Events:
  Type     Reason                 Age               From                                    Message
  ----     ------                 ----              ----                                    -------
  Normal   Scheduled              22m               default-scheduler                       Successfully assigned nginx-deployment-644cf84b7f-h9mnb to ip-172-20-49-240.ec2.internal
  Normal   SuccessfulMountVolume  22m               kubelet, ip-172-20-49-240.ec2.internal  MountVolume.SetUp succeeded for volume "default-token-kv5pc"
  Warning  FailedMount            9m (x7 over 21m)  attachdetach                            AttachVolume.Attach failed for volume "pvc-2db45bb0-22f8-11e8-82f2-0e21f011a24c" : disk attachment of "vol-03d0039cdcca2fc9a" to "ip-172-20-49-240.ec2.internal" failed: requested device "/dev/xvdf" but found "/dev/sdf"

The instance type is t2.medium.
Yes. I deleted the attached volume that is device /dev/sdf and manually attached a new volume and particularly specified the device type '/dev/xvdf' and it is working now.

What kubernetes version? Kubernetes is in charge of attaching the volume and selecting the device name, so I would expect all this to work automatically and transparently.

Any chance your instance was using paravirtualization instead of HVM?

The kubernetes version is 1.8.6
I have deployed the cluster using kops. The AMI used for the nodes is k8s-1.8-debian-jessie-amd64-hvm-ebs-2018-01-14 (ami-8ec0e1f4)

Can you confirm, either in the EC2 web console, or using the CLI, the instance's virtualization type is listed as hvm?

We'll see if we can reproduce with a kops deployment, as well.

Here is the output of aws ec2 describe-instances --filters "Name=instance-id,Values=i-09b03f4a4bf903960" --query Reservations[].Instances[].[BlockDeviceMappings,RootDeviceName,RootDeviceType,VirtualizationType]
[
    [
        [
            {
                "DeviceName": "/dev/xvda",
                "Ebs": {
                    "Status": "attached",
                    "DeleteOnTermination": true,
                    "VolumeId": "vol-0081ff8b3ebc74cb1",
                    "AttachTime": "2018-03-08T19:31:19.000Z"
                }
            },
            {
                "DeviceName": "/dev/xvdf",
                "Ebs": {
                    "Status": "attached",
                    "DeleteOnTermination": false,
                    "VolumeId": "vol-0d3cc93a2d2324d8f",
                    "AttachTime": "2018-03-08T20:55:49.000Z"
                }
            },
            {
                "DeviceName": "/dev/xvdcv",
                "Ebs": {
                    "Status": "attached",
                    "DeleteOnTermination": false,
                    "VolumeId": "vol-03d0039cdcca2fc9a",
                    "AttachTime": "2018-03-08T21:01:11.000Z"
                }
            }
        ],
        "/dev/xvda",
        "ebs",
        "hvm"
    ]
]

Ok and this is after you manually attached it as xvdf I assume.

yes

OK I just created a cluster using kops and can reproduce the Unauthorized operation. We'll dig in and see if we can figure it out.

OK I gave my master full ec2 access. I now see it attaching the volume to the node using /dev/xvd**, although for some reason it's timing out waiting for it to attach (not sure why).

Ok it finally attached. I am able to verify the volume created from the snapshot had the data I expected (i.e. what Ark backed up).
If you have a reliable reproducer, we'll be happy to investigate further. At this time I honestly don't know why your disk was attached to /dev/sdf when Kubernetes requested /dev/xvdf.
Do you have logs from the controller-manager pod? Here is a sample from mine:
$ kubectl -n kube-system logs kube-controller-manager-ip-xxx-xxx-xxx-xxx.ec2.internal
I0309 16:31:33.057885       5 aws.go:1435] Assigned mount device cm -> volume vol-xxxxxxxxxxxxxxxxx
I0309 16:31:33.248799       5 aws.go:1708] AttachVolume volume="vol-xxxxxxxxxxxxxxxxx" instance="i-xxxxxxxxxxxxxxxxx" request returned {
  AttachTime: 2018-03-09 16:31:33.262 +0000 UTC,
  Device: "/dev/xvdcm",
  InstanceId: "i-xxxxxxxxxxxxxxxxx",
  State: "attaching",
  VolumeId: "vol-xxxxxxxxxxxxxxxxx"
}
I0309 16:31:33.430355       5 aws.go:1557] Waiting for volume "vol-xxxxxxxxxxxxxxxxx" state: actual=attaching, desired=attached
I0309 16:31:43.534104       5 aws.go:1458] Releasing in-process attachment entry: cm -> volume vol-xxxxxxxxxxxxxxxxx
I0309 16:31:43.534133       5 operation_generator.go:278] AttachVolume.Attach succeeded for volume "pvc-84cf2e47-23b4-11e8-93ed-0e5a3b306290" (UniqueName: "kubernetes.io/aws-ebs/vol-xxxxxxxxxxxxxxxxx") from node "ip-xxx-xxx-xxx-xxx.ec2.internal"

According to https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html:

Depending on the block device driver of the kernel, the device could be attached with a different name than you specified. For example, if you specify a device name of /dev/sdh, your device could be renamed /dev/xvdh or /dev/hdh. In most cases, the trailing letter remains the same. In some versions of Red Hat Enterprise Linux (and its variants, such as CentOS), even the trailing letter could change (/dev/sda could become /dev/xvde). In these cases, the trailing letter of each device name is incremented the same number of times. For example, if /dev/sdb is renamed /dev/xvdf, then /dev/sdc is renamed /dev/xvdg. Amazon Linux AMIs create a symbolic link for the name you specified to the renamed device. Other AMIs could behave differently.

@bhargavpss can you retry restoring once or twice and see if you get the same /dev/sdf type of behavior consistently? (FWIW, if you do, that's a Kubernetes issue, not an Ark one, unfortunately.)

Also FYI I think #341 should fix the Unauthorized issue we're seeing when the master tries to attach a volume created from a snapshot.

I just ran into this same problem 😄 Thanks to Steve, the fix has been merged in master. Upgrading my deployment to point to master and testing this out

If you're using an IAM policy for Ark in AWS, make sure you add ec2:DescribeSnapshots to the policy.

Will I be able to recover from old backups?

If you have EBS snapshots that were created by an older version of Ark that doesn't have #341, you'll need to manually add the KubernetesCluster tag to them.

Name=KubernetesCluster?

Yes, with the value set appropriately.


removes max_length from IntegerField

Coverage increased (+0.002%) to 85.82% when pulling 8ab2cbb89fc050f17f968d1b1af7f7eafa89cd4c on bug/remove-django-model-warnings into 697d847148ac71759b7f432bb28e900560e4f785 on develop.

Coverage increased (+0.002%) to 85.82% when pulling 0846404ef56181c63d8f2a4cd2264cc9f4816570 on bug/remove-django-model-warnings into 697d847148ac71759b7f432bb28e900560e4f785 on develop.


T::Enum#each_value

Problem
The current idiomatic pattern to iterate through each value of an enum is:
MyEnum.values.each do |enum|
  # …
end

This is suboptimal from a performance perspective, as it has to materialize all the enum values at once, and also triggers false positives for the rubocop Style/HashEachMethods cop
Proposed solution
Introduce T::Enum#each_value, which allows efficient iteration over an enum's values. The above example could then be re-written as:
MyEnum.each_value do |enum|
  # …
end

As an added bonus, rubocop could (correctly, though from an invalid assumption) autocorrect existing code.

values.each should be the same cost as each_value, as the values method is just an accessor for the @values array held by the enum implementation. Were you seeing some performance problems stemming from a use of values.each?


[minor]: Fix rank calculation bug when empty order by is seen

Which issue does this PR close?

Closes #.
Rationale for this change
Builds on commits in PR8559 (That PR should be merged first).  Fixes bug described in discussion.

What changes are included in this PR?
Current rank function produces wrong results when there is no expression in the order by clause. This PR fixes this bug.

Are these changes tested?
Yes

Are there any user-facing changes?

Thanks @comphead for discovering this bug.


Suggest to add ARC SL support.

I have a ARC with no speech support and the plug in is not recognizing it because of the String "ARC SL" is missing. I tried adding "ARC SL" to my local homebridge and the plugin starts working with the soundbar. Not sure if there are more variants to names .. also wonder if doing prefix match is a better solution
https://github.com/brian-su/homebridge-sonos-so-simple/blob/641a189bbb30969f17ee04f2bed519b6831520d3/src/platform.ts#L16

Just published an update to the plugin. I think it should fix your issue. Let me know how it goes!


Stop splitting literals

This:
"symbols": [{"literal":"="}, {"literal":"="}], "postprocess": function joiner(d) {return d.join('');}

is overly verbose and slow, why not just do symbols: [{"literal": "="}]?

It's not clear what you're asking here.


Partial support for mystery nodes

Hello, I modified the code of combat.py in order to add a partial support for mystery nodes.
In particular I added the function get_closest_target, based on get_closest_enemy, which means that when the script is seeking for the closest enemy it takes into account the presence of mystery nodes, and if one of them happens to be "closer" to the clearing fleet than any other mob, it becomes the current target.
I believe this is especially useful in maps "rich" with mystery nodes, since it would be a waste to completely ignore them and they sometimes "hide" the boss fleet (e.g. map 7-2, where this code was tested).
For these reasons I thought it might be worth to do a pull request. Let me know what you think.

Looks great, thank you very much for adding such an important feature.

 I am glad you think so.


The link and the text are mixed together and cannot be distinguished. Should the display color of the link be modified?

The link and the text are mixed together and cannot be distinguished. Should the display color of the link be modified?

Ah, yeah, good point.
It would be best if the links in the blogpost texts are highlighted (so pages like this).
The style could be modified here:
https://github.com/LekoArts/gatsby-starter-minimal-blog/blob/master/src/templates/post.js#L33


Added overrides for realloc/posix_memalign in unit

Override original allocators to fill allocated memory with some data to catch errors due to missing initialization in unit tests (f.e. PR #515).

Smart test!

Nice and simple. I like it! We should remember not to add any "performance' tests that include these overrides.


add "bookmark this draft" plugin to formrenderer

Goes hand in hand with https://github.com/dobtco/formrenderer-base/pull/123.
cf https://github.com/dobtco/screendoor-v2/issues/2649

Screenshots:

Cool cool. Comments:

copy the link below sounds better

JS alerts are a little janky but I get why they're necessary. It would be nice if we could expose the draft link to devs so they're able to (for example) inject it into a popover instead, like we do on Forms.fm

:+1:.
Also, why don't we make this opt-in, instead of enabling it by default? I have a feeling that most users who are embedding a form won't care about this.


Any plan to add various versions of Tokyonight?

Thank you for your work.
e.g. Now at least 3 versions are popular:
Tokyonight, tokyonight light, tokyonight storm.
One more is tokyonight moon, which is popular in the nvim version.
Now we have the first 2. Shall we think about adding more? The storm and moon versions are really cool.

Great idea!
I added the storm and moon style settings configurations with the most recent few commits. Let me know if you notice anything out of place.

That works! I downloaded the updated .json files and imported them. Works perfectly!


Error while running download _and_covert_data.py

IOError: [Errno 2] No such file or directory: '/home/mehak/Downloads/FastMaskRCNN-master/output/mask_rcnn/maskrcnn.log'
I am also unable  ot locate the following file while running

cd FastMaskRCNN
mkdir -p output/mask_rcnn
logs.txt

When I run python download_and_convert_data.py to build tf-records, I got these result, it always says "None Annotations ..." is this normal?
`>> Converting image 1/82783 shard 0
None Annotations data/coco/train2014/COCO_train2014_000000262184.jpg
None Annotations data/coco/train2014/COCO_train2014_000000362257.jpg

Converting image 51/82783 shard 0
Gray Image 86
Converting image 101/82783 shard 0
Converting image 151/82783 shard 0
None Annotations data/coco/train2014/COCO_train2014_000000000250.jpg
Gray Image 131366
Converting image 201/82783 shard 0
Converting image 251/82783 shard 0
Converting image 301/82783 shard 0
None Annotations data/coco/train2014/COCO_train2014_000000262623.jpg
None Annotations data/coco/train2014/COCO_train2014_000000000508.jpg`

When I run python download_and_convert_data.py to build tf-records, I got these result，
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 20: ordinal not in range(128)，
None Annotations data/coco/train2014/COCO_train2014_000000266274.jpg

when I run the download_and_convert_data.py to build tf-records, I got the error:ile "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 528, in getattr
raise AttributeError(name)
AttributeError: trunc
what's that error means?

@zhuwenzhen I got the same result with you. yo you know the meaning of shard? thanks very much.


Add rudimentary test cases for the 'apps:scale' command.

cc @fancyremarker

This is awesome, thanks a ton!
The overall structure is great. Based on the error from the build on Travis, it looks like we'll need to stub the Aptible auth token. I think you should be able to do something like:
subject.stub(:fetch_token) { double 'token' }

Thanks!


feat: add store module

This PR adds the store module that odata-client depends on.
This is a store for persistent data. It stores data on the filesystem and/or the operating system's secure store. See the README for more details.

SonarCloud Quality Gate failed.
  0 Bugs   0 Vulnerabilities   0 Security Hotspots   2 Code Smells
 3.2% Coverage  0.0% Duplication

I don't understand this. Local test coverage gives me different results:

@kranthie-sap, help?


bugfix: fix check annotation format

fix format check in annotation, allow '=' in value.
Signed-off-by: Ace-Tang<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
allow pouch run --annotation a="b=c", this format shoule be allowed, '=' is not a invalid charactor.
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
add unit test.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

LGTM


I can create, update or delete items on the bill at any time.

Each line items should represent a single line item and should include price and assignment state (default = unassigned)


Typo in dropdown when choosing the node template

Version: v2.3-head
Steps:

Create node template (Ex: DO)
Click on add cluster and choose any RKE cluster (Ex: DO). When choosing the node template, there is a type for "My Templates". Its displayed as "My Teplates" :

This issue is in master-head also.

Available in latest-2.3.

Issues is fixed in latest UI tag  - https://releases.rancher.com/ui/latest-2.3/index.html.


Bug while processing German umlaut letters Ä, ä ,Ö, ö ,Ü, ü, ß  in HL7v2 message

Hi,
I have came across a bug in FHIR converter tool while converting an HL7 v2 message containing German umlaut symbols  Ä, ä ,Ö, ö ,Ü, ü, ß  into FHIR resource.
Tool is removing above mentioned letters from the message string. In the below image we are getting Tübingen as the city in HL7 v2 message and while converting the segment data into fhir resource, ü is removed and output looks like Tbingen.
Please refer the below snapshots-
Note:-This is an anonymized message with fake patient name and address

Thanks

Thanks for your feedback. Actually the editor can not process the utf8 input appropriately. Currently it has been solved.


Edit - does not display line numbering and impossible customize colors for lines

I am using "mIRC v7.66" + "DCX dll v3.1-git394" in system "Windows 8.1 x64".
At the time of testing the control "Edit" when using the command "/xdid -g" emerge an error.

D_ERROR /xdid ("edit_test 2 -g 15728639 3090472 15728639 1774612" error: Invalid Command)

In addition when using the control style showlinenumbers it is supposed to display sequential line numbering (probably similar to what it looks like in the script editor), but it doesn't seem to work and needs to be repaired.
If I am doing something wrong, please explain what the problem might be. Thanks.

Here is a test piece of script to reproduce this the problem. To run the script click on "F5" or enter the command "/edit_test":
alias F5 { edit_test }
alias edit_test {
  if ($dialog(edit_test)) .dialog -x edit_test
  else { .dialog -m edit_test edit_test }
}
dialog edit_test {
  title "Edit test"
  icon $mircexe,0
  option pixels
  size -1 -1 300 210
}
on *:DIALOG:edit_test:init:*:{
  .dcx Mark $dname edit_test_work
  .xdialog -b $dname +tyz
  .xdialog -g $dname +b $rgb(20,20,27)
  .xdialog -c $dname 1 edit 40 40 210 23 showsel | edit_decor $dname 1
  .xdialog -c $dname 2 edit 40 85 210 78 multi showlinenumbers return showsel autovs | edit_decor $dname 2
}
alias edit_decor {
  .xdid -x $1 $2 +b
  .xdid -C $1 $2 +bk $rgb(40,40,47)
  .xdid -C $1 $2 +t $rgb(235,227,203)
  .xdid -f $1 $2 + ansi 10 Comic Sans MS
  if ($2 == 1) .xdid -a $1 $2 test edit
  if ($2 == 2) {
    .xdid -o $1 $2 1 test line 1
    .xdid -o $1 $2 2 test line 2
    .xdid -o $1 $2 3 test line 3
    .xdid -o $1 $2 4 test line 4
    .xdid -g $1 $2 $rgb(160,0,0) $rgb(40,40,47) $rgb(250,245,240) $rgb(250,245,240)
  }
}
alias edit_test_work {}

Try with the latest version (3.1dev58git428)

If do not use the font setting, works fine, but if enable the font, then the field for line numbering is hidden behind the left border of the "Edit" control. Need to make additional adjustments to the code so that the line numbering field adjusts to the configured font and text size. In addition, the dividing vertical strip has only white color, which does not match the dark theme of the design. If possible, please add one more parameter to the "/xdid -g" command so that can adjust the color shade for the vertical dividing line.
📷 Screenshot
Thanks for your hard work 👍

I'm not getting any issues when changing the fonts, gutter adjusts fine to new font in code provided above.
Manually issuing font commands also works OK.
Has the code you are using changed from what's shown in OP?

Oh yeah, I tested with a slightly modified script, but it doesn't really affect anything. Even if I use the presented example in this thread, the display error persists and the vertical line is still white. I don’t know if the Windows system I’m using can have any effect on this. I noticed one peculiarity that this happens when the font "Comic Sans MS" is installed with a size of "10" and up. If I set the size to "9" or anything below this, then the problem disappears.
Especially for this test, I change the font by entering manual commands:

/xdid -f edit_test 2 + ansi 10 Microsoft Sans Serif
/xdid -f edit_test 2 + ansi 10 Comic Sans MS

think i have it fixed now.


[Feature Request]: integration test cases with DSP, CodeFlare and KubeRay in a multi-step pipeline

Feature description
Create configurible integration test cases with Data Science Pipelines, CodeFlare and KubeRay, with the following characteristics:

Small enough footprint that can be executed in a test environment;
Container image and data should be free of intellectual property concerns;
Easy to increase or decrease KubeRay cluster footprint;
Easy to go from a single-step to N-step pipelines;

Describe alternatives you've considered
IBM Research has been running pipelines with DSP, CodeFlare, and KubeRay internally but the configuration and images contain proprietary libraries that are not suitable for integration testing purposes.
Anything else?
No response

Migrated to Jira: https://issues.redhat.com/browse/RHOAIENG-1621


easy multiuser request

Hi Ryan,
A big Thank You from me, for you, for the wonderfull, mindfull and well thought setup, and the support you offered to people joining Nix(OS). It was steep but it is worthing every day spent on understanding, learning and trying, and your notes really help a lot along the way.
I've finally managed to build my computer with wayland KDE plasma6 and I am so pleased with the result that I decided to spread the nix to my sons' computers but for this to happen I would need a way to setup the username for each specific host in the /hosts/$hostname/files or in the /outputs/$hostname since these are the files that would imply creating a new system.
As I see it now, there is only a single user defined in /vars/default.nix that would have to be deployed on all generated hosts and this is the only shortcoming that I see in the setup, that I see as the most comprehensive and evolved from what I've found so far.  I've even been able to create a k3s cluser on selfhosted PVE and deploying the flux repo (fighting with this for the moment).
I admit that after 2 months, I still don't get all the complexity of the system right and even though trying to develop this feature  I failed and I am kindly asking for your help.
My 2 cents vison on how I see it it would be that I can choose to define a custom username somewhere in host definition files or leave it for the default in "${myvars.username}" but you reign supreme on the final decision of the implementation of this feature.

Thank you so much for your kind words and positive feedback. Here are some improvement ideas::

Multi-User may be a false requirement: For personalized system control, consider duplicating the base Nix(OS) configuration for your son to modify as he wish. This allows them to set up unique usernames and customize their systems independently.
Flake Outputs may be too heavy and complex for personal use: There is no need to copy my nix-config structrue when you just have a small number of machines, especially for your son. my i3-kickstarter branch may be a better start point, I've just add a multi-user demo into this branch.

Would love to hear your thoughts on these ideas.
Best, Ryan

Thank you very much Ryan,
You are right, it makes little sense to implement the muli-user strategy for the main config.
I cloned the branch to a new repo so that I can mess with it.  I really like the way of the intermediary flake and impermanence so I will try and implement those too. I'll provide you the link to the repo once it is something to discuss about.
I will be away for the next days.
Have a great weekend.


Support of Dynamics 2019 release wave 2

Question
Hi, Could you please advise if there are plans/timescale to support the 2019 Release Wave 2 version of Dynamics 365? We have updated one of our testing environments to the update scheduled for release in October via early access as detailed here:
https://docs.microsoft.com/en-us/dynamics365-release-plan/2019wave2/features-ready-early-access
We have noticed quite a substantial impact on our regression tests when applying the update and would like to plan accordingly.
Thanks in Advance,
Ryan

We are also experiencing issues as a result of this. Any guidance at all would be greatly appreciated, so we can plan ahead.
Cheers

What they said ^
Can we get some input on this?

Has there been any update with this?

Bump

We are having the same issue and want to ensure our automated regression suite is compatible prior to the new release being deployed.  Is there an ETA on this?

Hi all, any news regarding Wave 2 support? We're having the same issues as mentioned by ryanpiran.
Any update is appreciated, thanks!