Make GridFieldComponents work with arbitrary ViewableData where practical

Currently most GridFieldComponent classes implicitly require some methods which are implemented on DataObject but not on ViewableData.
It is not uncommon to want to use a GridField with other viewable data, such as ArrayData (e.g. pulled from some API).
It should be easy to use most GridField components with arbitrary ViewableData. Any components for which this is not practical should be clearly documented as requiring specific methods (and in CMS 6 probably will be typehinted to DataObject).
Acceptance Criteria

[ ] Where practical, all GridFieldComponent classes work with arbitrary ViewableData
[ ] Tests are put in place to avoid regressions
[ ] For any component where it is not practical to use it with ViewableData (if any), this is clearly documented in a way that developers can identify from within their IDE.

Notes

There's a wider question about how to consistently and systematically apply this to all GridField components. That can be handled in a follow up CMS 6 card.
I have explicitly focused on the components provided by silverstripe/framework for this card. See https://github.com/symbiote/silverstripe-gridfieldextensions/issues/376

PRs

https://github.com/silverstripe/silverstripe-framework/pull/11049
https://github.com/silverstripe/silverstripe-frameworktest/pull/159
https://github.com/silverstripe/silverstripe-admin/pull/1626

My proposed rules of thumb for what "where practical" means:

If making a component "work" with ViewableData means just hiding the component or making the component do nothing, then that is not practical. Hiding a component or disabling a component is not making the component work and those should throw clear exceptions instead. e.g.
Some components already allow using ViewableData by providing setters for information that would otherwise be fetched from DataObjects - e.g. GridFieldDetailForm allows setting a validator, fields, and even a custom item request class in lieu of GridFieldDetailForm_ItemRequest.

In these cases, if the setters have not been called and this would result in an exception being thrown, the exception should say something like "Implement $missingMethod on your data class or call $setterMethod on this component".
If a component already provides some of these setters but still has a barrier that could be bypassed with another setter, it is practical to add that setter.
If a component does not already provide these setters and adding them would be 'hacky' or complex, it may be more appropriate to just throw exceptions - this should be assessed on a case-by-case basis and the pull request should indicate what the reason was for not adding a setter (so the reviewer doesn't have to ask).

Some components just rely on so much logic from DataObject that it's not practical to find workarounds for it all. One example is GridFieldDetailForm_ItemRequest. In these cases, the PHPDoc for the class should clearly note that it is intended for use with DataObject.

Without a new major release, we can't explicitly type-check for DataObject, but we can check up-front for the methods or fields we're expecting and throw an exception if any are missing. That may seem cumbersome but it's probably easier than adding a method_exists() or ->hasMethod() or ClassInfo::hasMethod() check for every method we want to call on the record and provides a much clearer UX as to why this component isn't working for them.

Ultimately this issue is aimed at removing barriers that shouldn't be there, and adding clear UX about the barriers that should be there. At the end of the day "practical" is a judgment call as to whether the barrier seems reasonable or not to the person doing the work.

The following modules have GridField components:

bringyourownideas/silverstripe-maintenance
colymba/gridfield-bulk-editing
silverstripe/blog
silverstripe/ckan-registry
silverstripe/gridfieldqueuedexport
silverstripe/lumberjack
silverstripe/securityreport
fluent
subsite
userforms
versioned-admin
versioned
symbiote/silverstripe-advanced-workflow
symbiote/silverstripe-gridfieldextensions

Maybe updating those is beyond the scope of this card.

@maxime-rainville I already made a card for symbiote/silverstripe-gridfieldextensions since that has generic components (see link in issue description)
Advanced workflow is explicitly out of scope - as are a few others there which are only intended to be used in the way the module uses it, rather than in developer-defined gridfields. ckan-registry isn't even supported anymore....
Maybe open a card to cover any there which:

are actually still supported
are intended to be used in developer-defined gridfields beyond those already declared in the module

It is done.


Add iamcco/markdown-preview.nvim

Checklist:

[X] The plugin is specifically built for Neovim.
[X] The lines end with a .. This is to conform to awesome-list linting and requirements.
[X] It's not already on the list.
[X] The title of the pull request is Add `username/repo`  when adding a new plugin.
[X] Neovim is spelled as Neovim (not nvim, NeoVim or neovim), Vim is spelled as Vim (capitalized), Lua is spelled as Lua (capitalized).
[X] If it's a colorscheme, it supports treesitter syntax.

Thanks for the PR!

This is not specifically for Neovim: https://github.com/iamcco/markdown-preview.nvim/blob/master/README.md?plain=1#L7

This is not specifically for Neovim: iamcco/markdown-preview.nvim@master/README.md?plain=1#L7

Thanks for noticing that! I assumed it would be due to the name..


Create >%Amanciojsilvjr<CryptoGraphyBTC.orh BITCOIN-.org

Size (Kb) volume development *#67#
Use this page to open Pull requests for changes to the Bitcoin Core project
website at bitcoincore.org.
bitcoin.org is not connected with or maintained by the
Bitcoin Core project contributors. Pull requests for changes to that website
should be opened at the bitcoin.org
repository.
General bitcoin questions and/or support requests are best directed to the
Bitcoin StackExchange at https://bitcoin.stackexchange.com.

This code generates a direct mining by the smartphone


"exclude" commands not displayed in Graphite check previews or results logs (display issue only)

I set up a bunch of alerts last week that had "exclude" in the metric text.  However, when I look at the history of check results, the "exclude" commands are all stripped out.  We have 1 specific metric that skews data quite drastically and sets off a lot of false alarms and just "exclude" it in other reporting tools, but Cabot seems to strip these out for some reason.
Graphite doc reference: http://graphite.readthedocs.io/en/latest/functions.html#graphite.render.functions.exclude
I couldn't find anything in the docs about this being intentional.  We're modifying our data to accommodate this, but it'd be nice for Cabot to behave the same as our other graphite-based tooling.

Hmm. Cabot doesn't do any transformation as far as I can tell:
https://github.com/arachnys/cabot/blob/32705404275903efc94258199ee06ea112c138f3/cabot/cabotapp/models.py#L640
... calls ...
https://github.com/arachnys/cabot/blob/8a4b3710d5d318674fe3d5f1caa739bbdaadb698/cabot/cabotapp/graphite.py#L55
Maybe an issue (version?) with your graphite server? If you make the request directly, what do you get?

If I make the request directly it works fine (in Grafana and other tools, as well as graphite directly).

The issue is visible here: "excludes" in the statement, but not in the result log.  The dozen false alarms I got over the long weekend prove out that the excludes are not being used.
We're running a build from this commit:
https://github.com/arachnys/cabot/commit/d8a54fd6f258a8c8516d01334cdcb5ace91b94b0

@saday-cimpress and you've verified that this is actually happening with the real checks (as opposed to the preview)? i.e. on https://$SERVER/result/$ID/

It claims to be happening with the real checks.  Working with the graphite server owner today to validate what is being sent - I will post again if we can get an answer.

Interesting, the graphite server logs show the "exclude" even though Cabot logs do not.  I'll followup again this afternoon after we poke at it a bit more.  This may just be a display issue in Cabot and not a functional bug.

So after a lot of digging, our data problem boiled down to a Graphite order of operations thing.  We reproduced it in other tooling.  However, Cabot has a display bug that "exclude" functions are not displayed as part of the query text in the preview or results screens.  Graphite may be stripping the exclude statements due to order of operations logic internal to Graphite, though, which is an entirely different story.
I'll update the issue title to reflect that this is a display issue.

It still seems like this might be a problem with Graphite not Cabot? Can you verify that it's the latter?
(There simply isn't any evaluation of the JSON returned so I don't know where the exclude could be getting stripped)

Well whoever is stripping it is doing it above the graphite log level.  The graphite logs have the excludes, the Cabot logs do not.
Feel free to close the issue, I guess, if you're confident it's not Cabot.

Happy to reopen in the future


Uncaught TypeError: element.array.morph is not a function

I get this error when i had animate
var draw = SVG('drawing').size('100%', 380);
var leftContent = draw.polyline('0,0 0,0 0,0 0,0').fill('#ddd').stroke({ width: 0 });
leftContent.animate().plot([['0,0'],['0,340'],[position['lX2']+',340'],[position['lX']+',0']]);

Thanks for reporting this. I found the error and will fix it.
However, your example has mistakes in it. Corrected and ready to try:
var draw = SVG('drawing').size('100%', 380);
var leftContent = draw.polyline('0,0 0,0 0,0 0,0').fill('#ddd').stroke({ width: 0 });
leftContent.animate().plot([[0,0],[0,340],[70, 340],[90,0]]); // Note the missing quotation marks


Add Node 8 to AppVeyor tests

Closes #989

Coverage remained the same at 96.396% when pulling 307e7ccdd2c8fdee5d471fd795cdad41b878a37f on darth-veyor into cdd81d1a4dcae540871d62fe846e2fd974984df8 on master.


Fix Furo tutorials having purple border

Closes https://github.com/Qiskit/qiskit_sphinx_theme/issues/364.

Do we want to keep the dashed border? I think I prefer the solid border shown in the original issue.

I personally like the dash. If you look at https://qiskit-sphinx-theme-pr-377.134fzbwmnxci.us-south.codeengine.appdomain.cloud/sphinx_guide/notebook_gallery.html, the dash becomes a fixed border when you hover over the tutorial. That helps it to stand out amongst the others.


Modified the UI of booking section

Related Issue
Modified the UI of booking section
Fixes:  #1003
Description
Modified the UI of booking section

Type of PR

[x] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.]

Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers and screenshots after making the changes.

@shriyadindi You have removed map . This was an additional feature.Find another issue or feature to contribute to. Thank you!


Can't access webpage on internal network

My employer's website has kind of an internal version that I can access by writing ':portnumber' after the usual web url in the browser (for example www.company.com:3456). This internal version has content that can only be accessed this way so it's important that employees (me, in this case) can access it.
I'm not sure, but I think that this internal version with the port number can only be accessed using the wifi in the building and not from any different or outside internet source.
When I use the normal built-in windows dns service I can access this website but when I use DNSCrypt I can't.
Thank you for this great software!

Use forwarding.


gitleaks: 8.2.4 -> 8.2.5

Motivation for this change
https://github.com/zricethezav/gitleaks/releases/tag/v8.2.5
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 152571 run on x86_64-linux 1

1 package built:

gitleaks

@ofborg build gitleaks


Remove dot in wallet version after "v" (example v. 5.3.10249.3581)

Version should be display as "v 5.3.10249.3581" without "." after "v".

Current view

Please make version number looks the same across the wallet "v 5.3.10249.3581"
2.1) Loading wallet screen https://zpl.io/bAq0P56 , https://zpl.io/2vxYzzj

2.2) Settings https://zpl.io/aXA0vLE

2.3) Notifications  https://zpl.io/awXx1Eg

2.4) In-app notification https://zpl.io/2519rXW

Please, add a space between the letter "v" and version number.
Fix the date and time format in the notification.

Design: https://zpl.io/awXx1Eg
Current view:

Please, add a space between the letter "v" and version number.
Fix the date and time format in the notification.

Design: https://zpl.io/awXx1Eg
Current view:

checked

checked


Datasets not paginating correctly

When viewing e.g. the ‘Notes from Nature raw transcription data set’ without any filters, it seems to display only a small portion of the records.  For example, the page for records 501-600 only shows one record.

This is occurring on the species inventory!


Wallet Tracking Issue

[x] ord wallet init – initialize a new wallet
[x] ord wallet fund – get funding address
[x] ord wallet list – list utxos in wallet
[x] ord wallet balance – get wallet balance
[x] ord wallet identify – show rare ordinals in wallet
[x] ord wallet send ORDINAL – send the utxo an ordinal is in
[x] set proper fee to transaction that sends an ordinal, see https://github.com/bitcoindevkit/bdk/issues/714
[x] add rare ordinal protection to send
[x] error if the ordinal you're sending would be consumed by fees
[x] error if a special ordinal would be consumed by fees
[ ] send minimal amount of sats (don't send whole utxo)
[ ] ord wallet recover – recover a wallet from a given seed phrase (user types it in)
[ ] let the user set the fee
[ ] do dynamic fee estimation

Closing this in favor of individual issues.


new(modern_bpf): add support for notify syscalls

What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area driver-modern-bpf
/area libpman
/area tests
Does this PR require a change in the driver versions?
What this PR does / why we need it:
This PR is part of a series https://github.com/falcosecurity/libs/issues/513, the final aim is to support the most important syscalls also in the new probe. This PR introduces:

eventfd
eventfd2
inotify_init
inotify_init1
timerfd_create
userfaultfd
signalfd
signalfd4

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
new(modern_bpf): add support for `notify` syscalls

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I have added all your comments in the tracking issue, there is a lot of work to do on that :/

Hi @Andreagit97

@hbrueckner I have added all your comments on the tracking issue, there is a lot of work to do on that :/

Thanks for adding them all! and sorry for all the new todos

Hi @Andreagit97

@hbrueckner I have added all your comments on the tracking issue, there is a lot of work to do on that :/

Thanks for adding them all! and sorry for all the new todos

I should have addressed all the comments and I have tracked all the problems in our issue https://github.com/falcosecurity/libs/issues/515. @hbrueckner thank you for the review as always! Just one note, to temporarily address the possible information leakage in inotify_init I have removed the flag collection in the PPME_SYSCALL_INOTIFY_INIT_E event. This was quite useless even because we didn't convert the flags in the scap format... To fix this stuff we will introduce 2 different events, one for the inotify_init and the other for inotify_init1

Hi @Andreagit97

I should have addressed all the comments and I have tracked all the problems in our issue #515. @hbrueckner thank you for the review as always! Just one note, to temporarily address the possible information leakage in inotify_init I have removed the flag collection in the PPME_SYSCALL_INOTIFY_INIT_E event. This was quite useless even because we didn't convert the flags in the scap format... To fix this stuff we will introduce 2 different events, one for the inotify_init and the other for inotify_init1

Thank you very much! LGTM and I will give them a try on s390 later this week and share test results.

Hi @Andreagit97

Thank you very much! LGTM and I will give them a try on s390 later this week and share test results.

Here we go, all tests have passed as well:
[ RUN      ] SyscallExit.eventfd2X
[       OK ] SyscallExit.eventfd2X (0 ms)
[ RUN      ] SyscallExit.eventfdX
[       OK ] SyscallExit.eventfdX (0 ms)
[ RUN      ] SyscallExit.inotify_init1X
[       OK ] SyscallExit.inotify_init1X (0 ms)
[ RUN      ] SyscallExit.inotify_initX
[       OK ] SyscallExit.inotify_initX (0 ms)
[ RUN      ] SyscallExit.signalfd4X
[       OK ] SyscallExit.signalfd4X (0 ms)
[ RUN      ] SyscallExit.signalfdX
[       OK ] SyscallExit.signalfdX (0 ms)
[ RUN      ] SyscallExit.timerfd_createX
[       OK ] SyscallExit.timerfd_createX (0 ms)
[ RUN      ] SyscallExit.userfaultfdX
[       OK ] SyscallExit.userfaultfdX (0 ms)

[ RUN      ] SyscallEnter.eventfd2E
[       OK ] SyscallEnter.eventfd2E (0 ms)
[ RUN      ] SyscallEnter.eventfdE
[       OK ] SyscallEnter.eventfdE (0 ms)
[ RUN      ] SyscallEnter.inotify_init1E
[       OK ] SyscallEnter.inotify_init1E (0 ms)
[ RUN      ] SyscallEnter.inotify_initE
[       OK ] SyscallEnter.inotify_initE (0 ms)
[ RUN      ] SyscallEnter.signalfd4E
[       OK ] SyscallEnter.signalfd4E (0 ms)
[ RUN      ] SyscallEnter.signalfdE
[       OK ] SyscallEnter.signalfdE (0 ms)
[ RUN      ] SyscallEnter.timerfd_createE
[       OK ] SyscallEnter.timerfd_createE (0 ms)
[ RUN      ] SyscallEnter.userfaultfdE
[       OK ] SyscallEnter.userfaultfdE (0 ms)

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 437013d555e7d31d1aeb1e35c20c07502c8a3803


minor glitches

Decode reshapes to a [B x 512 x 2 x 2], but it should be the last hidden dimension of the encoder/ first hidden dimension of decoder, ie [B x hidden_dims[-1] x 2 x 2]

last 2 commits are to fix the issue that the output image and the input image should have the same # of channels.


False error message: "Error: unable to find directory entry" when including asset directories from dependencies

Discovered while investigating #112019.
When including a directory of assets from a dependency, the tool (during build) will report that it cannot find that directory. This happens even if flutter is able to find images within that directory at runtime. See repro steps.
Steps to Reproduce

Create a flutter app(flutter create demo_app).
In the same directory, create a dart package (dart create my_asset_package).
In the dart package, within the lib directory, make a new directory called assets.
Within the assets directory created in step 3, add an image file (for example, dog.jpeg).
Within the pubspec of the dart package, expose the assets directory as a flutter asset directory

flutter:
  assets:
    - lib/assets/

Within the pubspec of the flutter app, add the dart package as a dependency

dependencies:
  flutter:
    sdk: flutter
  my_asset_package:
    path: ../my_asset_package

Within the pubspec of the flutter app, add the dart package's assets directory as an asset directory

flutter:
  assets:
    - packages/my_asset_package/

Within the main.dart file of the flutter app, add some code to load and display the image added to the dependency in step 4

Image(image: AssetImage('packages/my_asset_package/lib/assets/dog.jpeg'))

Run the app.

Expected results:
The app should build without any reported issues. The main screen should show the image.
Actual results: The app does build and run, and the main screen shows the image. However, during the build, the tool reports an error:
Error: unable to find directory entry in pubspec.yaml: /Users/andrewkolos/Documents/GitHub/flutter_issue_repros/unable_to_find_package_directory_entry/demo_app/packages/my_asset_package/

Link to repro.
(Likely) Cause
From Steps to Reproduce, recall the pubspec file of demo_app:
flutter:
  assets:
    - packages/my_asset_package/

During the build, the tool parses packages/my_asset_package/ as a normal asset directory, looking for it at <path to root of app>/packages/my_asset_package. This happens in the call to _parseAssets, which calls _parseAssetsFromFolder. It won't find that folder, hence the printed error message. Ultimately, the image still loads, because it will get discovered when the tool looks for package assets.

Closing as I don't think this is a bug--unintuitive perhaps, but not a bug.
In the example used in the Issue description, since my_asset_package bundles lib/assets/, demo_app doesn't need to declare assets within its own pubspec--it can already use images from packages/my_asset_package/lib/assets. See Bundling of package assets:

If the desired asset is specified in the pubspec.yaml file of the package, it’s bundled automatically with the application.

I think that altogether the documentation has the potential to confuse (see https://github.com/flutter/flutter/issues/112019), so I might go open another issue. If so, I will reference this issue for the sake of discoverability.


added no output option

convenient for some bash scripts

Hi xavier-re, thank you so much for the PR!
I would like to understand cases where the option is helpful before merging it, but could you let us know about it?
Doesn't > /dev/null (redirecting the output to /dev/null) work in the case?

I would like to understand cases where the option is helpful before merging it, but could you let us know about it?
Doesn't > /dev/null (redirecting the output to /dev/null) work in the case?

in general, i think it would do the same.
for me it's a lot better : i add it to a script, so it's cleaner.
it's removing only the normal line by line output of slacktee, which is better
than removing everything.
also, there might be some use cases where we want to print to stdout without printing the line each time.
morever, it also adds the capability for slacktee to become a generic post to slack shell script.
thanks !

Thank you for the explanation. I will test your code and then merge it into master.
Please give us a little bit more time! Thanks.

Cleaned up some indentations
Added the new option to the help
Added the test cases

On 2017.10.03 21:10:15 EDT, Chikashi Kato wrote:

Cleaned up some indentations
Added the new option to the help
Added the test cases

good job !


add --timeline option to draw virtical line every 10/60 seconds

I needed timeline for daily operation.
"--timeline" option is useful for debugging and  snapshots sharing.
Thank you

Hi,
Thank you for the pr. First, it is LGTM. However, ping timings for all targets are not the same, especially in not async mode (It can happen in async mode if there are too many targets). The attached screenshot presents this issue. So, I cannot merge this pr as is. But I understand your motivation. I will consider it.
BTW, printing timestamp on the 3rd line looks good. If you extract it (https://github.com/shigechika/deadman/commit/c3a3316c6e490d1687fc09e55c54706b38a69bc5#diff-4a173307c12a52d82e6ad896a4dedcfb3b98c2724f557579c73a309d49d04413R479-R482) and make a pr, I'd like to merge it soon.

--timeline option is usefull with --async-mode.
I propose that --timeline option force to enable --async-mode.
Please consider again.
Thank you


⚠ Samsung has degraded performance

In 749818d, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2607 ms

Resolved: Samsung performance has improved in 90e2410.


Add dependence mkdocs-autorefs==1.0.1

This is the last version with which I can build the documentation without error.
1.0.1 came out this February.
If I use 1.1.0, I get:
Successfully installed mkdocs-autorefs-1.1.0
(.env) optimistix % mkdocs serve
INFO     -  Building documentation...
INFO     -  Cleaning site directory
WARNING  -  Multiple URLs found for 'optimistix.BestSoFarRootFinder':
            ['api/least_squares/#optimistix.BestSoFarRootFinder',
            'api/root_find/#optimistix.BestSoFarRootFinder']. Make sure to use
            unique headings, identifiers, or Markdown anchors (see our docs).

Aborted with 1 warnings in strict mode!

And with 1.2.0 I get the previously described error.
This closes https://github.com/patrick-kidger/optimistix/issues/90.

This should already be there I think?
https://github.com/patrick-kidger/optimistix/blob/ef86ef5d3dcd1d4be61611137157d19bf7944118/docs/requirements.txt#L13
(I do recognise your error in #90 as coming from having a different version of mkdocs-autorefs.)

Ah, as of four days ago, it is! I did not have it on my fork, apparently. Then never mind and thanks for checking!


Should we make keyboardShouldPersistTaps={false} by default?

It seems to me that a user would want to be able to dismiss the keybaord whenever they click back on the messages window (like how normal iOS and Android messaging apps work).  Do you agree we should make this the new default?  Right now it is set to true.

I agree

The property is now exposed. We haven't changed the default, but at least you can set it yourself, so I suggest closing this issue.

I don't recommend to use keyboardShouldPersistTaps={false}  because you will need to tap twice to 'Load earlier messages'


[TW#26938] Name buffer allocation size differs in bluetooth code

spp_slot_t -> char service_name[ESP_SPP_SERVER_NAME_MAX];
btc_spp_args_t -> char name[ESP_SPP_SERVER_NAME_MAX + 1];
In fn btc_spp_start_srv in file btc_spp.c there is a copy between these
strcpy(slot->service_name, arg->start_srv.name);

that AFAICT may lead to a buffer overrun.

Hi @terjeio ,
Thanks for your reminder, I will fix it, soon.


Multiple environment attribute per network

Some datasets have multiple environment attributes per network.
The relationship between environment and network is 1:n and should be n:1 to allow multiple environment entries per network. The foreign key is actually environment ---> network but should be environment <--- network.

Done. Foreign keys are now detained by environment table which make way more sense...


replace 'swig' package with a proper solution

We use the 'swig' package (https://github.com/paularmstrong/swig) for server side templates rendering but this package has been abandoned by it's maintainer and also includes a vulnerability that must be fixed yet no releases area available for it.

I'm open to recommendations for a proper replacement.

Author recommends https://mozilla.github.io/nunjucks/

Some reading:

https://strongloop.com/strongblog/compare-javascript-templates-jade-mustache-dust/
They seem to be using Liquid for Express docs.

Nunjucks is a good and solid alternative

This article recommends Nunjucks<EMAIL_ADDRESS>Seems to be good for a boilerplate since it has potential for more complex stuff but it's still fairly simple and in this case quite similar to good ol' Swig.

Cool I'll take a look. Thanks @simison

Nunjucks looks fine to me.

@hyperreality wrote https://github.com/meanjs/mean/issues/1440#issuecomment-241260324:

It's hard to make the call. As far as features go they're both fantastic. Nunjucks is more actively maintained but Handlebars is getting about 20 times the amount of downloads according to NPM, and I've seen Handlebars used way more in the wild. If nothing else, there is probably more info about Handlebars out there and users are more likely to be comfortable using it.

See if we can go with handlebars ( easy to learn, widely used ) and still if in the future we had to switch to some other templating engine it would not be that hard of a job. Lets get the solution ASAP.

Indeed, working on it.

Hey guys,
Check out the new handlebars template system in PR #1461
cc @simison @Ankur-Marwaha @hyperreality @ilanbiala

LGTM.


Multiple pano images?

Can more than 1 pano image of the sam room be used to refine the model?

Sure, that would be an interesting topic.


String interning

The HIR in apollo-compiler uses String a lot. Cloning, hashing, and comparing those strings repeatedly has cost that can add up. This can be solved by having some kind of string "interning" that deduplicates strings in memory, so that for example equality would be as cheap as a pointer comparison.
Some secondary goals are:

Strings that become unused are freed eventually. Not doing this enables interesting designs but would be a DoS vector for a long-lived server processing GraphQL input from untrusted sources
Mixing up interned strings from different compiler instances does not give incorrect results (such as equality false negatives)

Ideally this gives correct results
Perhaps having this panic instead is acceptable?

Interned strings are represented by a lifetime-free type that implements AsRef<str> , Eq, Hash, etc. That is, using them does not require a separate access a string pool / interner.

With a quick search I found a number of interning crates that don’t do all of this. Servo’s string-cache does but comes with non-trivial complexity for features that are maybe not as useful here. (Namely: multiple static sets of "well-known" strings that can be interned without allocation and in const context, small string optimization)
Perhaps something custom to apollo-rs would make sense. I think the design might involve atomic reference-counting, precomputed hash, and a process-global mutex-protected hash table. It could use https://crates.io/crates/weak-table, or something even simpler since we don’t need a weak counter (as it would always be 1). But maybe a full custom hash table is too much wheel-reinvention.

Let’s call Symbol this hypothetical type with Deref<Target = str> and cheap Clone.
Ideally to reduce copying we’d convert strings to Symbol as early as possible (in the lexer) and keep them as such as long as they are needed. In the HIR we define data structures so we can choose to store Symbol instead of String.
The AST however is backed by Rowan, which has its own opinion about string storage. GreenNodeBuilder takes a &str and has an internal cache/interner. GreenToken contains a rowan-private ThinArc smart pointer.
I’m not sure how to reconcile both.

Deduplicating indentical strings is nice to save memory and to make == very fast, but perhaps not as important for GraphQL documents as it is for HTML element names in Servo. (When you routinely have many thousands of <div> elements you’d rather not allocate the string "div" that many times.)
A smart string type with reference counting (fast clone) and pre-computed hash (fast Hash and fast path for ==) would already bring a lot of benefits over the status quo, without the implementation complexity of full dedup.

The WIP mut branch introduces a NodeStr type which is similar to Arc<str>, replacing many allocations and string copies with atomic integer operations.
We decided against pre-computed hashing, since hashing a pre-computed 8 bytes hash is not much less work than hashing names that are rarely dozens of bytes.
Deduplication is also not done. An explicit per-document interner would not work since a NodeStr can be taken from one parsed document and reusing when mutating another. A global implicit interner would require non-trivial synchronization.

https://github.com/apollographql/apollo-rs/pull/868 changes the memory representation of NodeStr / Name. We considered but rejected a process-global string interner that would String::leak newly-inserted strings and give out &'static str. However I think a variation of it is possible that gives out Arc<str>, and stores a weak reference to let unused strings be deallocated. Either way, this interner would be synchronized by a single RwLock. It remains to be seen whether the benefit of deduplicated strings is worth the synchronization cost of RwLock. Benchmarking is not easy because this cost happens mostly under multi-threaded contention, so a synthetic benchmark may not be representative of real-world workloads.
Reopening to track ideas in case we want to reconsider this later.

I just came across this post again, about the cost of many threads cloning the same Arc:  https://pkolaczk.github.io/server-slower-than-a-laptop/
If the Router ever has a tight loop that clones a Name from its schema, an Arc-based string interner could potentially trigger this same performance problem. But maybe enough code manipulates &Name without touching the atomic reference counter?

My impression is that apollo-federation today clones Names a lot a lot


maxRequestCache doesn't make sense

Ref @chrisawad's comment in https://github.com/tipsy/javalin/issues/773

Plan:

Deprecate config.requestCacheSize
Add config.maxRequestSize
Add logic to check request size before reading it into memory (give 413 response + log.warn that the request was too big)
Add bodyAsInputStream

Comment:

Yes this proposal is sound to me. Maybe the first call to ctx.body() checks Content-Length compared to config.maxRequestSize and if passes, lazily loads the internal InputStream into memory and holds on to it for future calls to ctx.body(). If it fails, it should probably throw an exception (RequestSizeException or something) indicating config.maxRequestSize needs to be increased. This would be great!!
Then, where ctx.body() would load the full content of the InputStream into memory and hold on to it, ctx.bodyAsInputStream() would just return the InputStream directly (ie no caching, which is a lot better for large bodied requests -- memory requirement would be managed by the user when reading the InputStream). This InputStream hack is what I ended up using for my very large csv submission to avoid reading the entire stream into a very large block of memory (which is currently the only option Javalin lets you do) and instead spread it out into a bunch of smaller blocks of memory (per line).
It might also be an idea to allow the user to set the body cache into the ctx. Lets say Content-Length is too long to consume into the cache because of config.maxRequestSize, so they ctx.bodyAsInputStream() instead and figure out the best way to read it, then set the body back into the ctx, for future calls to ctx.body(). This way the javalin.after(...) handlers and all that can have something to work with instead of always printing the error.


Output to txt?

This package is amazing, love the simplicity and redundancy in installation to ensure smooth processes. One question though, instead of printing, maybe an option to output a text file with and without timestamps would be a sweet touch? Let me know if you need help implementing this. Thanks for this great package!

Feature already implemented. Check the output folder.


Fix read concern/preference propagation from connection uri for async…

…-driver
For async driver, the primary method of configuring the client is to specify the options
in the connection string. However, not all options are honored during client creation.
The expectation is that what was set in the connection uri should be the default...

Many thanks @sunjaec for reporting this.
We've added JAVA-2270 to track the progress. We'll take your patch and add some regression test cases as well.
Ross

Thanks for the quick response. Looking forward to having the fix generally available.

JAVA-2270 has now been fixed and is awaiting release.


Lumen level 1 does not have any active effects

If Lumen is supposed to grant fire protection on its level 1 or something, it doesn't.

Fire damage is level 2, lava and dragon damage is level 4.

what are you supposed to do then you get Lumen xp?

When you gain XP you level up. @PhantomTheDev did the lumen stuff, but looking at the code I'm not sure if level 1 actually does anything? Not sure, try testing it.

thats what I was saying, level 1 doesnt do anything, therefore, you can level up

Now it does :)

Now it does :)


Error message in the case that the asset name exceeds 32 bytes is wrong.

When building a transaction for minting NFT and the asset name exceeds 32 bytes, the output message of the CLI is:
option --tx-out:
unexpected end of input
expecting hexadecimal digit
AssetName deserisalisation failed
I think the output message should specify that the error is in fact the 32 bytes lenght limit.

Is this still an issue?

I am not sure. I haven't minted tokens recently. May be someone else from
the community can check this. If I have more info or I check it in the
future when I find the time, I will let you know.
On Mon, 31 Oct 2022 at 15:12, Jordan Millar @.***>
wrote:

Is this still an issue?
—
Reply to this email directly, view it on GitHub
https://github.com/input-output-hk/cardano-node/issues/3840#issuecomment-1297068215,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AS2ZJSL5SZMCQGE47YGRACDWF7ASDANCNFSM5VGX65PQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Notifications frequently miss events

nevent1qqs8vmp8zqhyltkekyjd3rhzzuw2ptaae5le4dgdun3whaqx7ral4xqpp4mhxue69uhkummn9ekx7mqppamhxue69uhkummnw3ezumt0d5pzqmjxss3dld622uu8q25gywum9qtg4w4cv4064jmg20xsac2aam5nqvzqqqqqqyy9eke9 p-tag mentions me yet it's not showing up in my notifications. I randomly saw it in my feed. Reloading the notifications dosn't help. It's in the feed but not in the notifications.
I also noticed that noStrudel often is late to pick up on events. I get a notification from snort and review my notifications on noStrudel but can't see it (yet).

I've been noticing a few issues with notifications not updating as quickly as the timeline. although that's not really whats going on here.
Right now there are 5 types of notifications. zaps, reactions, reposts, and replies / mentions
the reposts are any kind 6 and the replies / mentions are any kind 1s.
The kind 1s can be broken down as follows

reply ( event has 1+ e tags )

reply to other ( event e tag references a note NOT made by the user )

These are hidden in the main notifications, but are shown in the "Threads" view

reply to user ( this is presumed to be the default )

These are shown

mention ( event not reply )

direct mention ( the users pubkey is used in the content )

These are show as mentions

indirect mention ( users pubkey is not used in content )

These are hidden

for the event in question it falls into the indirect mention category so its hidden. that said though its probably worth adding a sub category to that which covers cases where your note is mentioned. or a "quote" reply?

this should show up in the alpha version now :+1:

It's still only on "next"?
With "next" I had minor issues bootstrapping. Had to manually add nos.lol to the relays to see stuff load.

Released in v0.38.0


🔧 ktheme to tailwind

part of #8071
replace some ktheme() with tailwind equivalent

which one is correct?

https://github.com/kodadot/nft-gallery/assets/36627808/d947615a-2540-4dfb-92ad-89b7b969c16d

which one is correct?

you've put your finger on something, there is a global class for hr if I remove it then it could break other one. For now I'll just add !important as a hotfix


Sawing planks other than oak creates gears with metadata that can't be used in recipes.

Fixed for next release


Add explicit ordering to query in Section#save

I'm creating this issue, because we noticed a possible problem in #989, but didn't do anything about it. I'm concerned that the behaviour may only be working by accident and there may not be any exceptions or other outward trigger to fix it.
The relevant code is this line in Section#save.

I think this is related to the code in Section.find that instantiates a Section with the two latest editions. This is code that's been moved from the SectionRepository.

It's also worth noting that the editions in Section#save is currently just an accessor on the Section model, i.e. it's not loading editions from the database.


sriov, Fix race condition between LoginToFedora and cloud init

VM password is set as part of the Cloud-init UserData.
End 2 end tests use LoginToFedora, which sometimes tries to login before
Cloud-init finished setting the password.
This leads to a race and breaks the sync that the console
expecter expects (the login prompt is not idempotent when it happens).
In order to fix the race and keep the code as simple as possible,
this PR does the following:

Use a VM without Guest Agent enabled module.
Enable the Guest Agent as the last step of Cloud-init.
Wait for Guest Agent Connected event - means that the Cloud-init UserData is done,
and since the Guest Agent enable was the last thing, it means the password is also set,
because setting the password was part of the Cloud-init UserData.
Login to Fedora and configure VM upon needs.
Wait for Cloud-init done indication.

Image built by
https://github.com/kubevirt/kubevirtci/pull/550
Signed-off-by: Or Shoval<EMAIL_ADDRESS>None

/uncc @rnetser @omeryahud

/test pull-kubevirt-e2e-kind-1.17-sriov

/retest

/retest

/retest

/cc @EdDev @qinqon

Make sure you update the this doc please
https://github.com/kubevirt/kubevirt/blob/master/containerimages/container-disk-images.md

If I understand correctly this change will affect all test the involve waiting for a VM to be ready,
do you plane to change how we indicate that a VM is ready to use all over the test suite?

This PR touches only the sriov VM, and change the way sriov tests are waiting for VMs to be ready.
If we need we will do it for the other tests in a different PR, unless David already did it to the other tests as part
of #5019 by introducing the tooling VM.

Please make sure you update the this doc
https://github.com/kubevirt/kubevirt/blob/master/containerimages/container-disk-images.md

I think its not related to the builder (which is what the mention doc speaks about), but its a private case of the logic ?
see please the PR description, it has the flow in details.
and the code itself as well.
The code even have an helper function for adding the Guest Agent restart at the end of the UserData.

I think its not related to the builder (which is what the mention doc speaks about), but its a private case of the logic ?
see please the PR description, it has the flow in details.
and the code itself as well.
The code even have an helper function for adding the Guest Agent restart at the end of the UserData.

This doc explains each image we use in tests specification.
Before this PR on the image we use in SRIOV tests qmeu-ga is enable by default.
This PR relies on a new image you presented on https://github.com/kubevirt/kubevirtci/pull/550
that changes exactly that.
So please update the the doc I mentioned with the new changes to the image
(qmeu-ga is disabled and expected to be enabled for test suite)

Moved to https://github.com/kubevirt/kubevirt/pull/5135


[TIR] Introduce ReduceBranchingThroughOvercompute

This PR introduces a new transform, which attempts to reduce branching by adding overcompute, where the overcompute has provably no effect on any observable value outside the PrimFunc.

@csullivan This PR is ready for review and passing all unit tests, if you have a chance to review.

@tvm-bot rerun

hi @Lunderberg , did we implement Stmt Simplify(Stmt stmt, arith::Analyzer* analyzer);?

@LeiWang1999 We did, yes.  It's located here.
That said, in most cases it's better to apply tir::transform::Simplify instead.  That way, the full context is available for a single simplification call.  Simplifying a statement in isolation may miss context-dependent simplifications.  (e.g. Within an if i==0 block, if i + 1 < 16 could be simplified to to True.)


Add Blog post for sprint 64

 Communicate the deliverable to the customers

Deploy preview for openbuildservice ready!
Built with commit b5295e109ae4e67803daaa287f99a1d8597d67a5
https://deploy-preview-235--openbuildservice.netlify.com

@vpereira @hennevogel [nitpick] I just realised while reading it again, that the How to Give Us Feedback section the we usually add to the end of the blog post is missing


Duplicate link in settings

@teolemon https://support.openfoodfacts.org/ requires a login, which is maybe not the most helpful step when you're looking for help.

ah, thanks for the report

@monsieurtanuki how about: https://support.openfoodfacts.org/help/fr-fr

If you're French it's OK.
Not if you're Italian: https://support.openfoodfacts.org/help/it-it


bug: Typescript can't find the 'moment' package

Type: bug
Ionic Version: 2.x
Platform: all
I had the project working with js, then i started a new typescript project and copy the configs to mine, i have the moment package installed but the compilator complains that can't find the moment package.
I tried to install and import inside the new typescript project just to ensure it isn't my bad when copying the configs and happens the same, why if i had it working with the js project? i think it's the same with D3 data visualization package, had it working and now it doesn't, help?

Update, it's the linter, the code still works, it's just the linter that can't detect the packages, that's heavily missleading, both the syntax highlight in sublime and the console logs says Cannot find module 'moment, at least the linter should be fixed.

Totally the same. I would like to import the momentjs and d3js but it is not working. Any doc/tutorial on how to import packages from npm?

Did you try to import the typescript definition! Something like tsd import moment --save

Oh i didn't, i forgot that typescript needed the definitions, but in such case where does the ones for ionic come from?
However i did as you mentioned but with tsd install moment --save && tsd install d3 --save and the error persists.

Just use:
const moment = require("moment");

to silent TS.

Actually i did use the reference way, i think looks cleaner.

@manucorporat Found another way, just include the typings/tsd.d.ts file in the files array in the tsconfig.json file to make the typings available in all the project.

@Luchillo cool! thanks for the info! looks like a cleaner solution

can anyone explain solution ?

@Anujmoglix Which one? the one i suggested? the comment is very explicit, though outdated, what did not understand?


Catch possible invalid options supplied to DateTimeIndex.date_range

There should be some mechanism to capture invalid options passed to DateTimeIndex.date_range and tell the user about the correct options to be used.

I would like to take this up. Thanks for referring.  @parthm


tini should be used with -s argument

Bug Description
Due to charms having pebble as PID 1, we should deviate from upstream and use tini with -s as instructed in the docs and also in the warning we get, when using it without:
2024-07-24T07:38:24.073Z [kubeflow-dashboard] [WARN  tini (15)] Tini is not running as PID 1 and isn't registered as a child subreaper.
2024-07-24T07:38:24.074Z [kubeflow-dashboard] Zombie processes will not be re-parented to Tini, so zombie reaping won't work.
2024-07-24T07:38:24.074Z [kubeflow-dashboard] To fix the problem, use the -s option or set the environment variable TINI_SUBREAPER to register Tini as a child subreaper, or run Tini as PID 1.

Thus th ecommand will be:
self._service = "/sbin/tini -s -- npm start"

To Reproduce
N/A
Environment
N/a
Relevant Log Output
n/a

Additional Context
No response

From our discussion with rockcraft, it turns out that since we have pebble, we don't need to use tini. Thus, instead of adding an -s argument, we can just remove altogether.
Thus, we need to:

Remove relevant comment (in main and track 1.9).
Add context somewhere appropriate. Contributing.md file was suggested during the bug triage meeting but I don't think it's an appropriate place after all for adding an implementation detail. Modifying the comment above (next to the command) to link to this issue's comment could provide enought context too.


Sync Script Changes with External Editor

When I use Godot's embedded editor and change a script, the project updates in real time.
But if I use an external editor and change a script, it doesn't work. Nothing happens.

Duplicate of #10946.


Crash relating to AdvancedHolograms

Server is running the latest (0.2.0) and we're getting this crash occasionally when we make holograms. Here's our crash report:
https://hastebin.com/etadosanew.yaml
both crash reports are the same error.

Fixed in https://github.com/Pixelmon-Development/API/commit/99044dc70297dfe1dd16db450c371f460fe8b55d
Working on a release soon with placeholders. Apologies for the delay

Latest release has the patch


Change "Cover Image" to "Poster image" in the Document Panel

Bug Description

Our current terminology of "Cover Image" doesn't match the overall documentation in Web Stories that use "Poster image" for this field. We should change the UI to say Poster image. (noticed the casing)

Also, make "Required" have capital R.
Expected Behaviour

Steps to Reproduce

Screenshots

Additional Context

Plugin Version:
WordPress Version:
Operating System:
Browser:

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

Verified in QA


Breaking changes: Switching wrapper from public API to free tier of professional API

Made a PR instead of pushing directly because these are breaking changes.
From https://coinmarketcap.com/api/:

The Public API will be taken offline on December 4th, 2018. Please migrate your application to the free tier of the Professional API.

Because of the upcoming deprecation, I rewrote the wrapper for the endpoints that are covered by the free tier of the Professional API.
This page shows which endpoints the free tier covers.

@abhinavk99 thanks for putting in all this work, LGTM 😄

No problem, I enjoy doing this lol


Add missing required asterisk to title field’s placeholder

In our design system, the page title has a "required' asterisk next to its placeholder:

This feels tricky to do in HTML/CSS, but it would be nice to find a way nonetheless. If possible without having to change the markup specifically for this field, so we keep field-specific customisations contained.
Currently, this title field’s custom styles are defined in: https://github.com/wagtail/wagtail/blob/9aeb2e3e49bb98201029d99fa613b0da9c6f1865/client/scss/components/forms/_title.scss#L34
To make matters worse, we currently support three widget types as title (CharField single-line, TextField multiline, RichTextField Draftail). It would be nice if we at least had the asterisk for the simplest single-line case.

Discussing this with Ben – we’re ok with the asterisk not being the correct color for the time being. So this will just include adding a  * at the end of the page title text here: https://github.com/wagtail/wagtail/blob/6814d0beea34ca3e868811210ff2210934e72ec3/wagtail/admin/panels.py#L1204
There might be tests to update as well but I’m not sure. This should make for a nice first contribution to Wagtail!

Hi @thibaudcolas, I'm interested in working on this, can you assign it to me?

I'm interested as an outreachy applicant

Hi @maryojo @damli40, no need to ask! You can just go for it, first come first serve.

Alright, I will work on it @thibaudcolas, thanks!

Hi @thibaudcolas, I have worked on this issue. I am kindly requesting your review and suggestion on how to improve.
The screenshot below shows some changes. Thanks a lot.

Adding the asterisk is great. But how about the borderline? It's also important we make the border visible as others fields.

@Dev-Yusuf There's a separate issue about that - #9318

I will try doing something about that...

@maryojo it looks like @Seremba mistakenly worked on this as well and made a pull request addressing the problem. This isn’t ideal but I decided to accept the pull request nonetheless – mistakes happen, and there are plenty other good issues to look at.
I’ve made one and assigned it already to you @maryojo – it should be similar in scope to this one: https://github.com/wagtail/wagtail/issues/9363.

Thanks @thibaudcolas! I was confused at first when I saw the PR

Please, I will be glad you assign me to any issues.
On Fri, 14 Oct 2022, 5:57 pm Thibaud Colas, @.***>
wrote:

@maryojo https://github.com/maryojo it looks like @Seremba
https://github.com/Seremba mistakenly worked on this as well and made a
pull request addressing the problem. This isn’t ideal but I decided to
accept the pull request nonetheless – mistakes happen, and there are plenty
other good issues to look at.
I’ve made one and assigned it already to you @maryojo
https://github.com/maryojo – it should be similar in scope to this one:
#9363 https://github.com/wagtail/wagtail/issues/9363.
—
Reply to this email directly, view it on GitHub
https://github.com/wagtail/wagtail/issues/9028#issuecomment-1279248780,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AY5Z3SBRNJFU4CCIKRQK4YTWDGGHFANCNFSM5636U5VA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Win rate plot coloring

The purple line that extends all the way to the right is the 1st item in the legend, but at a glance its color looks closer to the 4th

This color distortion is because of the red rectangle overlay corresponding the adversary-step filter. Is it possible to move the red rectangle overlay behind the plotted lines so that the lines' colors aren't changed?

Thanks, great point. Will fix

Changed the box to 2 vertical lines


Feature/hybrid component

New hybrid component adaptation.
Removed Polymer 1.X legacy code according to Polymer hybrid upgrade guide.
Tests suite passed.
Demo code simplified and better reallocated.
Upgraded dependencies to Polymer 2.0.

When I tried to test your branch I saw several big issues.
Please make sure that the component still works with Polymer 1.x and Polymer 2.x. If it doesn't work anymore with Polymer 1.x, we can maybe push a new major version with breaking changes. We need to review this change more.

Please do not re-style the files, maintain the current style. There are hundreds of lines changed just because of style changes. Please revert all those changes as well.
Unless there is clearly an error in the current style. Try to only update the necessary lines to make this feature to work.

Hi. We just changed some files to solve:

Polymer 1.x compatibility issues.
-Clear button now visibility.
Current style format

I just found another visual issue, padding inside the elements is gone:
BEFORE THIS PR

NEW VERSION

@ajbarriosleon Can you confirm if you see this issue as well?

Hi. We just pushed some commits to fix these problems:

Padding visual issue on Polymer 2.x
Old indentation adaptation

I hope it's ok for you. Thank you.

I have found so far, two other regressions which need to be investigated more:

The clear button, when it is clicked, it should clear the input field and focus the element. That is how it works with Polymer 1.x but not in Polymer 2.x. In the following video you can see the comparison between v1.x and v2.x. First it shows how it behaves with Polymer 1.x and second tab is with polymer 2.x

The style in the custom template is also wrong. The following two screenshots show how it looks with Polymer 1.x and with Polymer 2.x

Polymer 1.x

Polymer 2.x

Please investigate these issues first. And please, make sure you do proper testing!!!! Compare the behavior with Polymer 1.x and Polymer 2.x and make sure there are no regressions. If some of the regressions are impossible to fix because of changes between ShadowDom v0 and v1, let's discuss what should we do about those.

@ajbarriosleon More regressions issues:

In Internet Explorer 11, things are worse:

With polymer 1.x, nothings seem to work (Can you confirm this?)

With Polymer 2.x, the component works but it has at least one small regression: now it shows again the double clear button

Hey @jhuesos We have fixed these things:

Clear button on IE11.
Focus when clear is clicked.
Warning in console for [[accounts]] binding.
Demo is now aligned correctly.
Styles on both version of Polymer
Tested on Chrome, Mozilla, Safari.

Things we want to highlight:

The console warning of Polymer.Templatizer has been inherited from master. Apparently, the documentation process for iron-pages fails but it works on the component.
There are a lot of issues about the webcomponents polyfills, shadow-dom or Polymer 2.0 with IE11. We consider to merge in a new 2.0-preview branch if you agree with this PR and then, we could open a new branch called IE11-compatibility for instance, to add it to our next backlog. Most used browsers work fine, so we cover a big percent right now and we can update our current backlog
backlog.

Thank you!

@ajbarriosleon sounds like a good plan. Let's merge to 2.0-preview and continue there. I will try to take a look today and tomorrow, so we can merge and close this PR. Good job!

Perfect!


Build using pnpm fails on Windows if the Next.js config option has output: 'standalone'.

Reference: https://github.com/vercel/next.js/issues/40760
My environment (obtained by running pnpm next info command)
Operating System:
  Platform: win32
  Arch: x64
  Version: Windows 10 Home
Binaries:
  Node: 16.13.2
  npm: N/A
  Yarn: N/A
  pnpm: N/A
Relevant packages:
  next: 13.2.3
  eslint-config-next: 13.2.3
  react: 18.2.0
  react-dom: 18.2.0

After some investigation, I found that the build using pnpm works if I proceed in the following order:

Remove the .next directory if it exists.
Build in a terminal opened with administrator privileges.


Handle Dropped & Replaced Transactions

If a user decides to "speed up" her transaction by submitting a second one with the same none and a higher gas price, our DApp is unaware of the new transaction and gets stuck waiting for the old one. This is a common problem with no simple solution yet.
See the following:

EIP 2831
EIP discussion
https://github.com/ethereum/web3.js/issues/3585

In the meantime...
Until the transaction is confirmed, we could continue watching the blockchain for additional transactions that are signed by the original wallet & see if they look like replacements. Doesn't seem too hard.

From my research when a client wants to increase gas it creates another transactions with higher gas price and the same nonce. Now the problem is that the web3 browser / Metamask do not communicate this back to the Dapp. There are some proposed solutions (that Micah outlined above) but nothing we could use today.
I see 2 ways we could get this done:

slower way - develop a backend that listens to the blockchain for all events / transactions on OUSD contract and expose that data via API. We could use @DanielVF  's debug.ousd.com for that, or fork it and develop a separate service. We need a similar service anyway to display all the debug information that were once part of the DApp designs.
faster way - use Etherscan API and pass the api key to the client to fetch all the transactions of an account. And see if there is a transaction that has replace the initial mint/redeem/allow one.

Personally I think the option 2 is not so messy and doable relatively quickly and would vote for that one if we want to have this functionality reasonably quickly. Actually I see that Etherscan allows 1 request every 5 seconds to their api without the need for an API key. That is more than enough to get the latest 20 transactions of an account and check for possible gas price upgrade transaction.

I would suggest to subscribe to new transactions using WS provider and adding a from filter instead of polling though.

That might be even more elegant, thanks @shahthepro !

PR for this issue: https://github.com/OriginProtocol/origin-dollar/pull/304

@kayyoo23 reported that her replacement transaction for token allowance was not picked up. Was the fix in #304 intended to handle these too or just mints and redeems?

@kayyoo23 reported that her replacement transaction for token allowance was not picked up. Was the fix in #304 intended to handle these too or just mints and redeems?


Better call stack for selector warnings

The call stack for the new dev mode checks starts/ends with useSelector. But if you have a lot of nested selectors, finding the one actually causing the warning can be a bit tedious.
Would it be possible to add the location of the actual createSelector-call to the warning?
E.g.:
//file a
const a = createSeletctor(...);

//file b
const b = createSeletctor(...); //causing the warning
const c = createSeletctor(...);

//file d
const d = createSeletctor(a, b, c, () => a+b+c /* not causing the warning */);

//file e
useSelector(d); //generates the warning, call stack states this line only

-> Please add "file b, line x" to the warning.

@uncaught Yeah I just looked at it again and you're right, the location where the selector is defined is not in the stack trace, I'm going to look into this. Thanks for opening the issue.

I'm not convinced we can do much about this? we get the stack by throwing and catching an Error, it's up to the platform what the stack actually looks like

Well yes, but you don't need to hack the system's callstack to show something in the warning message.
Like if you determine the file and location of the createSelector call, store it and print it out with the warning.

@uncaught the issue is that trying to parse the stack and come up with the filename and such is more complex and browser-dependent.
It's not impossible.  But it would definitely take extra code and extra effort, and reading a stack trace is a core skill that we would expect end user devs to have.

Haven't tried it, I'm on my phone, but this I've just found in a minute:
(new Error()).stack.split("\n")[1].split("/").slice(-1)[0]

Store this and print it in the error handler.
The issue here is that the call stack doesn't show the location of the faulty selector at all. This is not about being to lazy to read it.

if it's not in the call stack, i don't see how we'd get that information for you?

As i said, determine the file+line of the createSelector call, which should be possible, see above. Then store that file and line number somewhere. For example put it on the resolver function as a Smybol or create a Map for it or whatever.
The when you print that warning, look up the file an number for the selector that caused the warning situation and print it.

We're open to PRs here, but the current system does show useful information as-is and this isn't an immediate priority for us.

I thought @aryaemami59 was already looking into it (first comment).
But sure, this isn't a high priority thing, just an inconvenience.

@uncaught I don't think we're going to try and parse the stack, for the reasons Mark stated.
With that said, it's doable to create a stack when you first call createSelector - do you fancy trying the build from https://github.com/reduxjs/reselect/pull/684 and seeing if that includes the information you'd want?

@uncaught sorry I got busy with other things, I did play around with it some time ago, it seemed like it was going to be more challenging than I anticipated, so it was in my todo list just didn't get around to dealing with it yet. And it seems like @EskiMojo14  is going to give it a shot, he is much more quialified to look at this than I am anyway.


i18n(it): Updated formatting and features

Description (required)
Updated the italian translation to be on par with the english version in terms of indentation, formatting and "features"
(ReadMore and such)
Related issues & labels (optional)
This is a small part of a bigger list of PRs aimed at bringing the current Italian translation on par with the english version. For the full list click here

LGTM

Could you resolve the conflict there @casungo? After this, this PR and your other one still open should be good to merge 🙌


Heavy (Hard) Vulcan materia slost number in Reunion

I'm playing FF7 (Steam) with the Reunion mod and have noticed that Barret's Heavy (Hard) Vulcan weapon has 4 slots (linked) instead of just two.
So, I googled a bit and found that various sources have different opinions on that matter.
I'm not sure whether it's Reunion's fault or Steam version is different in that regard, but yeah :)

Thanks. It can vary between mods, and the data packs in use weren't the best option for loading this data.  As of v0.10-alpha, this data is now read from the game files directly, and v0.11-alpha fixes mod support for naming.
v0.11-alpha onwards should correctly work with Reunion, New Threat, and other mods that may change equipment or materia details


Update analytics to use metrics.phonegap.com

Need to update the analytics to use new metrics.phonegap.com endpoint and use the GELF format.

One thing to think about is if we want to change how to structure the events in GELF. GELF gives us complete freedom in using whatever JSON structure we wish. The challenge with Google Analytics is that all event data must fit into category, action, label and value fields - and only those fields - and we do that with a combination of bin/phonegap.js code as well as a non-trivial sanitize_args module that fits the commands into those four fields.
Currently, the top-level command (like run, build, help) is logged under category. All further parameters (like a platform directive like ios, or flags like --debug) are munged into one string and logged under action. label holds the exit code of the command. value sometimes holds the "count" of parameters - but the count is also sometimes munged into the action.
From an OCD and data-structuring perspective, I think it would be nice to have metrics.phonegap.com hold JSON documents that are more human-readable by making the structure of the documents represent the commands more naturally. This is not a proposal, but off the top of my head something like:
{
    "command":"run",
    "targetPlatform":"android", // if specified, or perhaps can be logged implicitly
    "flags":["--device", "--debug"]
}

On the flip side, this is more work to achieve, and the filtering and processing of data can be done at the reporting level on metrics.phonegap.com (via Kibana), as we have the full power of ElasticSearch at our disposal.
So, I don't know. I yield to the will of the mob!
cc @purplecabbage, @mwbrooks, @surajpindoria

I agree with the above about making the json more readable instead of just jamming the info in one of the properties. Perhaps we can move this discuss in the parent analytics thread to figure out what the structure should look like?

I'm tracking my updates for this issue in my branch here: https://github.com/filmaj/phonegap-cli/tree/686-analytics-draft
Pull it down, npm install, and then you can get a sense of the event object by running node analytics_test.js:
➔ node analytics_test.js
Example event: { version: '1.1',
  host: 'cli',
  short_message: 'plugin',
  _params: [ 'add', 'cordova-plugin-camera' ],
  _flags: [ '--debug' ],
  _userID:<PHONE_NUMBER>80,
  _appVersion: '6.4.5+cordova.6.4.0',
  _nodeVersion: 'v6.9.4',
  _platform: 'macOS Sierra',
  _env: 1 }

I've started to update the logic in that branch, as well:

it uses the same GA client ID for userId (based on the insight module's implementation).
puts the top-level command invoked under short_message. Gonna point that out in the top-level discuss thread in case we want to tweak that.
flags are under _flags
parameters are under _params
leverages os-name module for _platform, to align with the same OS names we are currently storing in GA (based on the insight module's implementation).


Fix #14 and #18: Code for C++ and JAVA added

Add Neural networks code from scratch in Java #18
Issue fixed Screenshots have been added
This decompiled code represents a simple neural network with three neurons. The weights are randomly initialized using the Random class, and the network calculates outputs for each neuron based on four input values and a bias (set to 0). The final output is displayed with four decimal precision.

Add Neural networks code from scratch in C++ #14
Issue fixed Screenshots have been added
This code implements a simple feedforward neural network for three neurons, each with four input values. It initializes the weights randomly and calculates the output for each neuron using the provided inputs and a bias (set to 0). The result is displayed with a precision of four decimal places.

Hey, @tejasrok007 thanks for participating in hacktoberfest. I have reiewed your PR and it looks awesome. Can you once take latest pull from this repo and sync your fork? I have made some changes. Pls follow those folder rules. Thank you

ok


register new cron expression to update materialized views

LAST_365_DAYS_MATERIALIZED and TOTAL_MATERIALIZED views should be refresh once per month starting from 1.24
old cron expressions should be removed during upgrade

done: https://github.com/zebrunner/reporting/commit/5bed7beeb955817bb20a71fd32cef678622ce16d
during the testing setup zebrunner from develop, connect to the postgres and do
psql -U postgres postgres
set schema 'cron';
select * from job;

Note: actual schema and table name might differ from above steps:)
-> such 2 cron expressions should exist in db only:
0 0 1 * * for LAST_365_DAYS_MATERIALIZED
15 0 1 * * for TOTAL_MATERIALIZED

verified on zebrunner from dev. branch:


[SPARK-40721][CORE] Use || instead of | in TimSort

What changes were proposed in this pull request?
This pr changes while (count1 >= MIN_GALLOP | count2 >= MIN_GALLOP) in TimSort to while (count1 >= MIN_GALLOP || count2 >= MIN_GALLOP).
Why are the changes needed?
The or operation of 2 boolean expressions should use ||.
When || is used, if the first expression is true, the second expression does't need to be calculated. When | is used, 2 expressions must be calculated.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Pass GitHub Actions

There is a reason to use | instead of || - you reduce chances of branch misprediction and minimize number of jumps - if the operations are really cheap.
Having said that, I have not inspected the opcodes generated here - but I would assume that should hold.
Note - this is typically used only for very performance sensitive code, where someone has gone to the trouble of actually ensuring the optimization actually gives the expected benefits.

Thanks for your answers @mridulm @dongjoon-hyun , I will close this one

Thank you, @mridulm and @LuciferYang .

Funny story, I think I remember discussing this exact thing with Josh Bloch (of "Effective Java") maaany years ago and he confirmed this is used on purpose in tight loops in some cases because it's actually faster. I suspect this is indeed on purpose from the original TimSort code

Funny story, I think I remember discussing this exact thing with Josh Bloch (of "Effective Java") maaany years ago and he confirmed this is used on purpose in tight loops in some cases because it's actually faster. I suspect this is indeed on purpose from the original TimSort code

Interesting, every rule has its exception, seems this is the exception :)


Having issues with incompatible mod set? (using fabric mac)

I have optifabric, fabric api, optifine, cloth-config version 8.2.88, and falling leaves installed, but I keep getting this error message.

Incompatible mod set! net.fabricmc.loader.impl.FormattedException: Mod resolution encountered an incompatible mod set! A potential solution has been determined: 	 - Install cloth-config, version 7.0.0 or later. Unmet dependency listing: 	 - Mod 'Falling Leaves' (fallingleaves) 1.12.2+1.19.2 requires version 7.0.0 or later of cloth-config, which is missing! 	at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:190) 	at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:148) 	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) 	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)

Fixed


Update z2ui5_cl_demo_app_184.clas.abap

Binding Sample with deep Structure.

I close this, but just create a new sample+issue for that.


Confusion about versions

I am trying to install Python 3.7. If I search I get the following
PS C:\Users\Luke> winget search "python 3" --source winget
Name               Id                     Version    Source
-------------------------------------------------------------
Python 3           Python.Python.3        <IP_ADDRESS> winget
IronPython 3       Microsoft.IronPython.3 <IP_ADDRESS>1 winget

I only see an option for Python 3.10, but I see the version I want is located in winget-pkgs here.
Isn't winget-pkgs the default source listed as winget in the output above? If it is, why do all the Python versions listed therein not show in a search?

winget search will only show the latest version of a package.
winget install Python.Python.3 --version 3.7.9150.0 should allow you to install the version you want.
You can see all versions of Python 3 by doing winget show Python.Python.3 --versions.

Thank you for the rapid response @ItzLevvie. It didn't occur to me that winget search was not the place to find versions. In my head, winget search was the tool that allows you to whittle down the possibilities to find parameters to use with winget install. I may be in the minority.

Annyway to make winget not update a package ?

Not yet. Pinning a package is being worked on though


Add release note for 2.5.0

Description
Add release note for 2.5.0
Signed-off-by: Mingshi Liu<EMAIL_ADDRESS>Issues Resolved
#81
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #95 (7e69cd9) into main (60f6cbb) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main      #95   +/-   ##
=========================================
  Coverage     65.52%   65.52%
  Complexity      172      172
=========================================
  Files            29       29
  Lines           879      879
  Branches        119      119
=========================================
  Hits            576      576
  Misses          254      254
  Partials         49       49

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Remove TestPerson #310

Fixes #310
Based on previous PR v6. Ready for review.

v1
@chao1995 submitted v1 for review.

[v1 1/2] Remove TestPerson
[v1 2/2] PersonUtil: remove magic strings in getAddCommand(Person)

(:books: Archive)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/373/1/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v2
@chao1995 submitted v2 for review.

[v2 1/2] Remove TestPerson
[v2 2/2] PersonUtil: remove magic strings in getAddCommand(Person)

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v1 and v2)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/373/2/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

v3
@chao1995 submitted v3 for review.

[v3 1/1] Remove TestPerson

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v2 and v3)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/373/3/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.

@eugenepeh Dropped the second commit and created another PR for it. Please help review again. Thanks!

v4
@chao1995 submitted v4 for review.

[v4 1/1] Remove TestPerson

(:books: Archive) (:chart_with_upwards_trend: Interdiff between v3 and v4)

Checkout this PR version locally
git fetch https://github.com/se-edu/addressbook-level4.git refs/pr/373/4/head:BRANCHNAME

where BRANCHNAME is the name of the local branch you want to fetch this PR to.


CSS Color Module Level 4 is CR 🎉

https://twitter.com/JoshTumath/status/1544235858592686081
https://twitter.com/w3c/status/1544214340303216640
https://www.w3.org/blog/news/archives/9603

Thanks!


Update Get-FASTSearchMetadataCrawledPropertyMapping.md

Formatted example

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Get-FASTSearchMetadataCrawledPropertyMapping.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Example client exits on ConnectionClosed (#22)

This is the second attempt at this. Instead of modifying
trio-websocket to support cancelling a handler, this commit
modifies only the example client itself: it now has one task
that gets messages and prints them, and a second task that
gets user input and sends messages/commands/etc.
This supersedes #48.

I'm not a fan of splitting send and receive to resolve this issue, as it's creating another state machine.  We should use concurrency to avoid coding explicit state machines (http://250bpm.com/blog:69).  In a real program doing query-with-reply over websocket, it's much simpler to keep the send and receive within a single imperative control flow.
If the heartbeat pattern from the other CL's works I'd rather this example use it, and keep the send / receive together.

Copying @belm0 from the "ping v2" thread:

What I'd like to see:

Call receive directly after send rather than having reader task
Change heartbeat to 1s interval and remove the fail_after. (I.e for quickly detecting closed connection only.)

Removing the reader task can't be done without changing the library's implementation, though, i.e. adding one of the "connection is closed" signals we talked about. Or are you suggesting the heartbeat is used for detecting a closed connection? If so, that amounts to polling the connection state (and it generates unnecessary packets if all we care about is detecting that the local socket closed), which is a pattern I don't want to encourage.
I did read the blog post you sent about state machines, but I must confess that I can't grasp its implications for this PR. The example client feels pretty simple to me. I don't see any drawback to having a separate reader task. Indeed, I think many applications that multiplex requests and responses on a single WebSocket will need to have a separate reader task, so it's not a pattern we want to avoid.

@belm0 Unless you strongly object, I am going to merge this as-is. I don't see where the added state machine is, and I think that separate readers and writers will be a common set up for users.

Adding state would likely be the next logical step:  the reader task would need to know what to expect on the line, e.g. if it becomes responsible for dealing with the application-level protocol.
Being an example, I think it's important to minimize the number of tasks and keep things as local as possible, and hence easy to follow.  There is a class of websocket use where one side drives the messaging, and this message echo toy falls under that.  So it would be great to keep the send and receive together.
Keeping that simplicity seems more important than the ideal of having the client automatically shut down on a closed connection, so I'd opt to leave things as is given a choice between the two.
I'll defer to you-- thanks for considering.


PostgreSQL GROUP BY prepared statement/bindings/raw error

Environment
Knex version: 0.18.0
Database + version: PostgreSQL 11.2
OS: Windows 10
Bug

behaviour
We built a raw query that will produce a prepared statement with bind variables that has a GROUP BY clause and when it is executed via Knex/PG driver it produces an error.

Error message

2019-06-27T15:37:57.660Z error: {
"message":
"select date_trunc($1, ora12_sysmetric.timest) as "t0", "ora12_sysmetric"."db" as "d0", avg(ora12_sysmetric.value) as "m0"
from "facts"."ora12_sysmetric"
where "ora12_sysmetric"."timest"> $2 and "ora12_sysmetric"."timest" <= $3
group by date_trunc($4, ora12_sysmetric.timest), "ora12_sysmetric"."db"
order by date_trunc($5, ora12_sysmetric.timest)
asc limit $6 - column "ora12_sysmetric.timest" must appear in the GROUP BY clause or be used in an aggregate function",
Just before I see that the query that will be executed with non-native binds is:
2019-06-27T15:37:53.627Z info:
sql: select date_trunc(?, ora12_sysmetric.timest) as "t0", "ora12_sysmetric"."db" as "d0", avg(ora12_sysmetric.value) as "m0"
from "facts"."ora12_sysmetric"
where "ora12_sysmetric"."timest" > ? and "ora12_sysmetric"."timest" <= ?
group by date_trunc(?, ora12_sysmetric.timest), "ora12_sysmetric"."db"
order by date_trunc(?, ora12_sysmetric.timest)
asc limit ? bindings: minutes,Tue Oct 02 2018 10:33:07 GMT+0100 (Western European Summer Time),Tue Oct 02 2018 10:34:07 GMT+0100 (Western European Summer Time),minutes,minutes,50000
What seems to be happening is that either Knex or pg package are validating the strings
Select:
date_trunc($1, ora12_sysmetric.timest)
and group by:
group by date_trunc($4, ora12_sysmetric.timest)
and they don't match and hence it produces an error.
It should not produce an error as this is a valid query once bindings are resolved.

FWIW, I'm confirming the same issue on my end as well.  Exactly as you described, the date_trunc in the group by is throwing that same error.
As a workaround, I'm going to try and just move this all to the query builder, but it would be nice if we could get some clarity on how to fix this in rawsql

What seems to be happening is that either Knex or pg package are validating the strings

It is the database server which does that validation.

it would be nice if we could get some clarity on how to fix this in rawsql

Let's reopen if working SQL that knex could generate is provided.


feat: adds the ability to set the index strategy

This PR enables to set the UV index-strategy from pixi. I would like a test for this so it is still in draft for now :)
closes: #1377

BTW I forgot, but before merging we need to change the schema and add docs.

BTW I forgot, but before merging we need to change the schema and add docs.

Unrelated to this PR, but I already wondered why we generate the schema from pydantic instead from our Rust struct. I assume that's not easy to do with serde?

BTW I forgot, but before merging we need to change the schema and add docs.

Unrelated to this PR, but I already wondered why we generate the schema from pydantic instead from our Rust struct. I assume that's not easy to do with serde?

I think the last time we checked that crate was less expressive?

BTW I forgot, but before merging we need to change the schema and add docs.

Done.


ROX-19065: Add helm chart for running E2E somewhere

Description
This PR introduces a Helm chart specifically tailored for running E2E tests for Scanner. The primary goal is to enable faster and more focused testing by deploying only the necessary components, namely scanner-v4 and scanner-v4-db, with minimal configuration and in combo mode.
Why a Separate Helm Chart?
Why not using the production configuration for the E2E tests with some modified values:

Speed and Focus: This E2E-specific Helm chart allows for quicker deployments and faster feedback cycles. It directly aligns with the goal of testing Scanner functionality without being lost with the complexities of the larger Central Helm chart (which is yet to be developed).

Simplicity: The E2E tests aim to validate functionality rather than deployment configurations. A separate, simpler Helm chart allows us to focus on functional aspects without worrying about the nuances of a production-level deployment.

Operational Simplicity: As this E2E Helm chart is intended for internal and CI usage, it is designed to be easy to modify and maintain, thus reducing operational overhead.

Future Flexibility: This approach leaves the door open for future integration with a custom E2E chart when a production-level Central Helm chart becomes available.

While it's often recommended to keep deployment configurations DRY and align E2E testing with production configurations, the specific goals and constraints of this PR argues on separating the Helm chart for now. The current approach aims to strike a balance between speed, simplicity, and operational ease, thus providing quick, focused, and actionable feedback for Scanner development.
| master
| .... ⏫ ROX-19065: Support to set DB password using a file #7937
| ........ ⏫ ROX-19065: Add helm chart for running E2E somewhere #7939  👈
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
$ minikube start
...
$ make e2e-deploy
+ e2e-deploy
Release "scanner-v4-e2e" does not exist. Installing it now.
NAME: scanner-v4-e2e
LAST DEPLOYED: Fri Sep 29 17:31:13 2023
NAMESPACE: stackrox
STATUS: deployed
REVISION: 1
TEST SUITE: None

And go check pod health:
NAME                             READY   STATUS    RESTARTS        AGE
scanner-v4-5556f6d646-bfkl4      1/1     Running   1 (2m30s ago)   2m33s
scanner-v4-db-587f987447-29d24   1/1     Running   0               2m33s

And scanner logs:
No certificates found in /usr/local/share/ca-certificates
No certificates found in /etc/pki/injected-ca-trust
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"main","version":"","time":"2023-09-30T00:31:18Z","message":"starting scanner"}
pkg/metrics: 2023/09/30 00:31:18.741602 server.go:142: Warn: Secure metrics server is disabled
pkg/metrics: 2023/09/30 00:31:18.742147 server.go:142: Warn: Secure metrics server is disabled
pkg/metrics: 2023/09/30 00:31:18.742256 server.go:142: Warn: Secure metrics server is disabled
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"main","time":"2023-09-30T00:31:18Z","message":"indexer is enabled"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","component":"internal/ctxlock/Locker.reconnect","gen":"1","time":"2023-09-30T00:31:19Z","message":"set up"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"libindex/New","time":"2023-09-30T00:31:19Z","message":"registered configured scanners"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"indexer.NewLayerScanner","time":"2023-09-30T00:31:19Z","message":"NewLayerScanner: constructing a new layer-scanner"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","component":"java/Scanner.Configure","version":"4","api":"https://search.maven.org/solrsearch/select","requestTimeout":2,"time":"2023-09-30T00:31:19Z","message":"configured search API URL"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","component":"rhel/internal/common/Updater.Get","time":"2023-09-30T00:31:19Z","message":"got unlucky, updating mapping file"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","component":"rhel/internal/common/Updater.Fetch","url":"https://access.redhat.com/security/data/metrics/container-name-repos-map.json","time":"2023-09-30T00:31:19Z","message":"attempting fetch of mapping file"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","component":"rhel/internal/common/Updater.Fetch","url":"https://access.redhat.com/security/data/metrics/container-name-repos-map.json","time":"2023-09-30T00:31:19Z","message":"atomic update of local mapping file complete"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","version":"1.1","component":"rhel/internal/common/Updater.Get","time":"2023-09-30T00:31:19Z","message":"got unlucky, updating mapping file"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","version":"1.1","component":"rhel/internal/common/Updater.Fetch","url":"https://access.redhat.com/security/data/metrics/repository-to-cpe.json","time":"2023-09-30T00:31:19Z","message":"attempting fetch of mapping file"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","version":"1.1","component":"rhel/internal/common/Updater.Fetch","url":"https://access.redhat.com/security/data/metrics/repository-to-cpe.json","time":"2023-09-30T00:31:19Z","message":"atomic update of local mapping file complete"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"main","time":"2023-09-30T00:31:19Z","message":"matcher is enabled"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"main","time":"2023-09-30T00:31:19Z","message":"pool metrics already registered"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","component":"internal/ctxlock/Locker.reconnect","gen":"1","time":"2023-09-30T00:31:19Z","message":"set up"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"crda/MatcherFactory.Matcher","time":"2023-09-30T00:31:19Z","message":"no key configured, skipping"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"libvuln/New","matchers":[{"name":"aws-matcher","docs":"https://pkg.go.dev/github.com/quay/claircore/aws"},{"name":"rhel-container-matcher","docs":"https://pkg.go.dev/github.com/quay/claircore/rhel/rhcc"},{"name":"debian-matcher","docs":"https://pkg.go.dev/github.com/quay/claircore/debian"},{"name":"java-maven","docs":"https://pkg.go.dev/github.com/quay/claircore/java"},{"name":"photon","docs":"https://pkg.go.dev/github.com/quay/claircore/photon"},{"name":"suse","docs":"https://pkg.go.dev/github.com/quay/claircore/suse"},{"name":"gobin","docs":"https://pkg.go.dev/github.com/quay/claircore/gobin"},{"name":"oracle","docs":"https://pkg.go.dev/github.com/quay/claircore/oracle"},{"name":"python","docs":"https://pkg.go.dev/github.com/quay/claircore/python"},{"name":"rhel","docs":"https://pkg.go.dev/github.com/quay/claircore/rhel"},{"name":"alpine-matcher","docs":"https://pkg.go.dev/github.com/quay/claircore/alpine"},{"name":"ubuntu-matcher","docs":"https://pkg.go.dev/github.com/quay/claircore/ubuntu"}],"time":"2023-09-30T00:31:19Z","message":"matchers created"}
{"level":"debug","host":"scanner-v4-5556f6d646-bfkl4","component":"libvuln/updates/NewManager","factory":"outOfTree","time":"2023-09-30T00:31:19Z","message":"factory unconfigurable"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"libvuln/New","time":"2023-09-30T00:31:19Z","message":"libvuln initialized"}
{"level":"info","host":"scanner-v4-5556f6d646-bfkl4","component":"main","time":"2023-09-30T00:31:19Z","message":"backends are ready"}
pkg/grpc: 2023/09/30 00:31:19.710709 server.go:246: Info: Launching backend gRPC listener
pkg/grpc: 2023/09/30 00:31:19.714330 server.go:414: Info: TLS-enabled gRPC server listening on <IP_ADDRESS>:8443
pkg/grpc: 2023/09/30 00:31:19.714618 server.go:414: Info: TLS-enabled HTTP server listening on <IP_ADDRESS>:9443

When running e2e tests for central, we (after some processing) deploy from the Helm chart provided by roxctl. I think taking a similar approach for scanner, i.e., using the production configuration for the e2e tests + some modified values, would be valuable, if for no other reason than to keep the deployment configurations DRY between what we provide to users vs what we test. However, if there's a reason we need to have a different approach for setting up scanner, I think explaining that in this PR would be helpful for folks who come across it in the future.

When running e2e tests for central, we (after some processing) deploy from the Helm chart provided by roxctl. I think taking a similar approach for scanner, i.e., using the production configuration for the e2e tests + some modified values, would be valuable, if for no other reason than to keep the deployment configurations consistent between what we provide to users vs what we test. However, if there's a reason we need to have a different approach for setting up scanner, I think explaining that in this PR would be helpful for folks who come across it in the future.

Update description to clarify.


Confusing positive on prefer-over-quantifier

I am getting a positive on prefer-over-quantifier. May I am missing something but it seems like the over-quantifier version is more complicated than what it is detecting.
My code looks like this
const ruralZone = _.find(zone.rurals, (rural) => {
return _.startsWith(rural, order.destination.postalCode) || _.startsWith(rural, order.destination.city);
});

I think the valid version would look something like this
const startWithRural = _.overSome([_.curryRight(_.startsWith, order.destination.postalCode), _.curryRight(_.startsWith, order.destination.city)])

const ruralZone = _.find(zone.rurals, startWithRural);

Which seems more complicated to me. If there is a better solution I am all for it, but perhaps the prefer-over-quantifier should only confirm if the constituent functions only take one input.

You're right. This really is more confusing.
Fixed in v2.4.3

Thanks so much @ganimomer !


Figure out how markdown examples are generated

I'm pretty sure this markdown example...
https://github.com/fsprojects/Feliz.Plotly/blob/8661473833b9cb05d7d468aeeb8169deecaca387/public/Plotly/Examples/3D/ClusterGraph.md?plain=1#L1
... is generated based off this file:
https://github.com/fsprojects/Feliz.Plotly/blob/8661473833b9cb05d7d468aeeb8169deecaca387/docs/Plotly/Examples/3D/ClusterGraph.fs#L1
I just don't know how to generate these examples myself or what process to run.

I figured it out.