modify ls.available() to include each snippets origin file path.

Discussed in https://github.com/L3MON4D3/LuaSnip/discussions/716

Originally posted by molleweide January  6, 2023
(I tried the "transfer" feature and assumed that the existing discussion would be removed...)
Proposed solution
After digging in the source a little bit I am thinking that the appropriate way to go about this would be

Attach the origin_file_path to each snippet when loading files with load_files(ft, files) from luasnip/loaders/from_lua.lua.
Update the luasnip/init.lua func get_context() so that it also grabs the path of each snip.
Modify the available function to mean "available in a broader sense".local function available(ft:<string|table>)
-- ft could be either a string or a table.
-- 1. if ft == nil, then do the exact same as current `available()` and deprecate the available function.
-- 2. if ft == string, retrieve snips for this specific file type.
-- 3. if ft == table, then return all snippets for the containing filetypes.

optionally, also do this same procedure for snipmate, and vscode as well.

With these three additions it would be possible to extend the existing telescope-luasnip extension repo to become a CRUD manager. I also have some more ideas for the picker that would make life easier, eg. add snippet to new filetype and then create all of the boilerplate in your default luasnippets path for a new filetype.
If @L3MON4D3 if you agree with my proposed solution I will make a PR for this. This should NOT introduce any breaking changes.

(I tried the "transfer" feature and assumed that the existing discussion would be removed...)

No worries, I'll leave a comment to redirect here :D
I think that's a pretty cool usecase, we already have open-by-filetype, open-by-snippet is a slick addition.
But! I would propose to implement this by adding source (or metadata, for arbritary data, and add a config-option for what is put in there) as a key to add_snippets, this would make it more versatile (can also be done if a snippets is added via add_snippets).
Not sure what you are thinking of with attaching the source to the snippet, but I'd rather not include metadata inside the snippet itself. I think a table mapping snippet-id -> source/metadata+ a function to retrieve that should do it.
Creating the boilerplate could be done by passing extend in edit_snippet_files's opts, which is pretty elegant imo, but similar functionality can be added to telescope-luasnip, if that  fits your workflow better :D

Thanks for taking my idea seriously ;)

I think that's a pretty cool usecase, we already have open-by-filetype, open-by-snippet is a slick addition.

Yeah right, because it would reduce number of strokes to get to a snip by a lot.

But! I would propose to implement this by adding source (or metadata, for arbritary data, and add a config-option for what is put in there) as a key to add_snippets, this would make it more versatile (can also be done if a snippets is added via add_snippets).

Aaah yes, I see what you mean.

Not sure what you are thinking of with attaching the source to the snippet, but I'd rather not include metadata inside the snippet itself. I think a table mapping snippet-id -> source/metadata+ a function to retrieve that should do it.

Well for my own picker I just made a custom loader and did `snippet["origin_file_path"] = ..." but I understand that using this retrieval method with an id seems more grown up haha.

Creating the boilerplate could be done by passing extend in edit_snippet_files's opts, which is pretty elegant imo, but similar functionality can be added to telescope-luasnip, if that fits your workflow better :D

I have never tried this you describe here. I have to do some playing around and then I will get back here with an updated solution.

progress so far
https://github.com/molleweide/LuaSnip/commits/molleweide

treesitter idea
 1. require ts
 2. local snip_tree = query for snippet containing name or trig string
 3. depending on which mapping was used filter out required subcomponent.
 4. move cursor to snippet subcomponent, eg. node x etc.

Considering the amount of data, should the "storing metadata" part be opt-in?

Considering the amount of data, should the "storing metadata" part be opt-in?

Good idea, and maybe one could also configure which specific dirs to add source maps for.

The solution should ofc work regardless of telescope . If you have the completion menu open or even if you are within an active snippet, we could have an insert mode mapping that (rolls back the snippet and) exits to normal mode and opens up the current snippet in a split or something.

Right, delete faulty snippet -> edit source of snippet sounds like a good workflow :+1:

crud (brainstorming)
When the jump-to-snip feature is working, what do you think about having something like utils/crud.lua OR manage.lua where we could put all functions related to managing single snippets. Eg.:

jump to snip
remove snip
update -> eg. you make a bind for updateing the trig or descr and then move cursor and enter insert with treesitter etc.
Basically make a comprehensive manager function that allows you to jump specifically to any node within a snippet instantly and then take it from there with whatever user opts or configs in order to reduce keystrokes as much as possible.

In telescope or insert mode we could have:

<C-u><C-t> jump to trig string
-<C-u><C-i> jump to first insert node
etc. so that we achieve a super fine grained control of jumping to snip.

I don't think it's worth it to reduce keystrokes beyond moving the cursor onto the line where the snippet is defined. Stuff like remove/updating some part of a snippet seems too specific to me.

treesitter idea / crud api
 1. require ts
 2. local snip_tree = query for snippet containing name or trig string
 3. depending on which mapping was used filter out required subcomponent.
 4. create some api funcs
     - move cursor to snip
     - add new snippet to same snip file as selected and expand template snip.
     - remove snip
     - move snip from snip file A to B (not super important lol)
     - move cursor to snip node N
     - if has `fmt()` move cursor to format string

Which would be the most useful ones? Do you have any additional ideas you'd like?

Same as above, anything beyond finding where the snippet is defined seems too granular. But, if you want to implement this, don't let my opinion stop you :D I'm not convinced it's useful, but maybe my workflow is just different from yours

Considering the amount of data, should the "storing metadata" part be opt-in?

Right, yes, it probably should. I'm thinking of adding a config-option loader_snip_metadata (name WIP xD) which takes a table like {lua = ..., vscode = ..., snipmate = ...}, and ... are functions which get as much data as a loader can provide (only the file I think), and generate the metatdata that should be attached to its snippets. By default function() return nil end such that nothing is stored, we could, as usual :D, provide some sensible defaults in luasnip.extras. This would also cover excluding some dirs.
How to store it, yeah, that's a question.. Most straightforward would be snip_id -> metadata, but that might be a bit too wasteful. Perhaps snip_id -> metadata_id -> metadata?

I'm not convinced it's useful,

Lol, me neither. I consider this RnD. Now that I got the jump to snip functionality to work I feel pretty much satisfied because it is very fast (and fast enough..). However, I might play around with my picker and see what happens.
Anyways, I'm thinking that now I'll

add a config option for my solution that defaults as false,
add this option to the docs,
and then I'll submit the PR so that we can have this solution working for now until we might come up with something smarter in the future.

Does this sound good?

Lol, me neither. I consider this RnD

Ah, alright xD Go ahead then :D

Does this sound good?

Yeup :+1:
I'll wait for your PR and then take a closer look at the implementation
One more idea: make it possible to attach more metadata to the snippets. But for now, it should be enough to have one metatdata-entry per add_snippets-call, and then point all snippets to that

PR submitted.

make it possible to attach more metadata to the snippets.

I believe that my implementation makes this possible. I created a table { source = path} for each add_snippets call and then point each snip to this table.


Missing variables in template _modern_dropdown.html

Issue Summary
I installed django-fastdev in my project, and now I cannot access the Wagtail admin anymore.
While I take full responsibility on my misadventures 😆, the error points me to this line:
https://github.com/wagtail/wagtail/blob/7b3b55ff93c223b2d7b1d25910c32db963be5ce2/wagtail/admin/templates/wagtailadmin/pages/listing/_modern_dropdown.html#L3
Telling me that self is not defined there.
The next error reported is in this line:
https://github.com/wagtail/wagtail/blob/7b3b55ff93c223b2d7b1d25910c32db963be5ce2/wagtail/admin/templates/wagtailadmin/pages/listing/_modern_dropdown.html#L13
It says that title does not exist in attrs, but aria-label does (so I guess it should read {{ button.attrs }} instead of aria-label="{{ button.attrs.title }}"?)
Then a new error popped up and I disabled fastdev 😮💨
While I already suggested that no check on external libraries should be made in fastdev, I think that the errors reported above are valid and maybe a tool like fastdev could be helpful to increase the quality of Wagtail's templates.
What do you think? Should I have posted this on Slack instead? 😊
Steps to Reproduce

Start a new project with wagtail start myproject
Install django-fastdev
Open the admin site

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes

Technical details

Python version: 3.11.3.
Django version: 4.2.2.
Wagtail version: 5.0.1.
Browser version: Firefox 113.

Thank you @serl, that’s definitely worth reporting! I don’t know whether one of Wagtail’s templates having an issue like this qualifies as a bug or not. Compatibility with fastdev / string_if_invalid / etc would certainly be nice.
For what it’s worth I’m working on this very template right now, so there’s a chance those will be fixed soon, assuming the template is indeed never used with those variables.

This has indeed been fixed soon some time between June and now, I forget when. We don’t have a process for string_if_invalid so this could well pop up elsewhere, but not this one.


Make a user retention dashboard

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1570
Originally created by @dmor on 2020-01-15 16:04:14

In addition to MAUI, we also want to begin looking at user retention data to understand whether users are coming back and continuing to use their Meltano accounts beyond our initial setup.
@mbergeron has implemented last login date, and I am going to use that to build a basic dashboard

[x]  Overall retention rate
[x]  Cohort retention rate (by signup date? first login date?)

View 9 previous comments from the original issue on GitLab


Docker build failing for Upgrade

Backend docker build and deployment failing and this is due to a change that went in with  https://github.com/CarnegieLearningWeb/UpGrade/commit/2bbe4fa59c18d09254827bf162f86b3c236af461#diff-a5f39b824de5101efc8c[…]e322ec058d056d9bd1ef94L13.  This error is found in the logs, and can be duplicated on local by running docker build . from the backend root.
#9 1.471 > nps build #9 1.471  #9 2.518   _           _ _     _  #9 2.518  | |__  _   _(_) | __| | #9 2.518  | '_ \| | | | | |/ _ |
#9 2.518  | |) | || | | | (| |
#9 2.518  |.__/ _,|||_,|
#9 2.518
#9 2.519
#9 10.03 tsconfig.build.json:18:5 - error TS6053: File '/usr/src/types' not found.
#9 10.03
#9 10.03 18     {
#9 10.03        ~
#9 10.03 19       "path": "../../../types"
#9 10.03    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#9 10.03 20     }
#9 10.03    ~~~~~
#9 10.03
#9 10.03
#9 10.03 Found 1 error in tsconfig.build.json:18
#9 10.03
executor failed running [npm run build:upgrade]: exit code: 2`

What does "references" in tsconfig.json do for us?
References allow us to have a monorepo structure.
Because in the docker image, we need only the upgrade backend related source code, the types folder reference is not found during the build time. A simple fix will be to remove the reference from tsconfig.build.json.

@danoswaltCL This error will come if the types folder is missing in the backend/packages/Upgrade folder. This line make sure to copy the types folder in the backend/packages/Upgrade folder. Are you able to recreate the issue on your local machine?

@danoswaltCL This error will come if the types folder is missing in the backend/packages/Upgrade folder. This line make sure to copy the types folder in the backend/packages/Upgrade folder. Are you able to recreate the issue on your local machine?

The types file is copied over. I've replicated this problem locally by running the commands from backend-deploy.yml (including copying over the /types directory). When I move the resulting zip file to another directory, unzip it and run docker build . it builds fine, but when I run it with docker run [container-name] the 'upgrade_types' module is not found, giving the above error that Dan posted.


@958/test res

[Chores] Richer log to some functions
[Refactor/test] Move resources to test path

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #959. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/959-202102191228490.98539805412292-e0ea85dcd6fc433111401f2964f7431582ff3a97/.

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/959-202102191238580.825364112854-21ab3d7575ad261ae202fe098c8ba050de513921/.

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/959-202102191257520.088304042816162-acd9b5dc2c2a29d58a7623ef7e0c4dba4c37e082/.

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/959-202102191725590.060739994049072-2d609b04a6872ad5b102d54e9ba1ce4dae321d2d/.

https://github.com/nnstreamer/nntrainer/pull/912 is merged which was reviewed including this PR.


android NFC Card

How to restore the data format of this card to NdefFormatable or reset card

android NFC Card #471


wskadmin scala db command to export and import

Adds db command support to export and import the db contents to scala based wskadmin impl (#3722)
Description
Current wskadmin support dumping the db content for various collections, views etc to file via db command
$ wskadmin db get -h
usage: wskadmin db get [-h] [-v VIEW] [--docs] database

positional arguments:
  database              the database name

optional arguments:
  -h, --help            show this help message and exit
  -v VIEW, --view VIEW  the view in the database to get
  --docs                include document contents

This PR will support both get (export) and put (import) commands to admin tooling.
Streaming IO
The export and import support would make use of Akka Streams.
For e.g. for exporting the json from CouchDB it would make use of _all_docs endpoint which uses chunked transfer encoding. This logic is implemented in CouchDBStreamingStore which makes use of Alpakka JSON Streaming support to dump each json document as a single line
The JSON dump file created via get would have a one json record per line and thus can again be consumed in a streaming way
TODO

[ ] Export - Filter by view
[ ] Export - Attachments
[ ] Import

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[x] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[x] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Codecov Report

Merging #3814 into master will decrease coverage by 42.04%.
The diff coverage is 85.07%.

@@             Coverage Diff             @@
##           master    #3814       +/-   ##
===========================================
- Coverage   75.19%   33.15%   -42.05%
===========================================
  Files         136      138        +2
  Lines        6383     6449       +66
  Branches      387      390        +3
===========================================
- Hits         4800     2138     -2662
- Misses       1583     4311     +2728

Impacted Files
Coverage Δ

...rc/main/scala/whisk/core/cli/CommandMessages.scala
90% <50%> (-4.45%)
:arrow_down:

...ols/admin/src/main/scala/whisk/core/cli/Main.scala
28% <50%> (+1.61%)
:arrow_up:

...la/whisk/core/database/CouchDBStreamingStore.scala
80.76% <80.76%> (ø)

...src/main/scala/whisk/core/database/DbCommand.scala
94.28% <94.28%> (ø)

...cala/whisk/core/entity/ActivationEntityLimit.scala
0% <0%> (-100%)
:arrow_down:

...ain/scala/whisk/http/LenientSprayJsonSupport.scala
0% <0%> (-100%)
:arrow_down:

.../src/main/scala/whisk/core/entity/EntityPath.scala
0% <0%> (-100%)
:arrow_down:

...c/main/scala/whisk/core/entity/ArgNormalizer.scala
0% <0%> (-100%)
:arrow_down:

...rc/main/scala/whisk/core/database/StoreUtils.scala
0% <0%> (-100%)
:arrow_down:

...rc/main/scala/whisk/core/entity/WhiskTrigger.scala
0% <0%> (-100%)
:arrow_down:

... and 78 more

Continue to review full report at Codecov.

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

wskadmin-next now provides a progress bar for import and export of db content!

@chetanmeh is this still an active PR?

Would close it for now. If someone wants to switch the ArtifactStore then we can possibly revive this and complete it.


🐛 [FIREBASE_CORE] Error building for macOS

Bug report
Describe the bug
My projects are working fine for iOS and Web, but throwing error for macOS.
Launching lib/main.dart on macOS in debug mode...
Running pod install...                                              3.1s
/Users/geronimo/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.20.0/macos/Classes/FLTFirebaseCorePlugin.m:229:50: warning: incompatible pointer to integer conversion sending 'NSNumber * _Nonnull __strong' to parameter of type 'BOOL' (aka 'signed char') [-Wint-conversion]
    [firebaseApp setDataCollectionDefaultEnabled:enabled];
                                                 ^~~~~~~
In module 'FirebaseCore' imported from /Users/geronimo/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.20.0/macos/Classes/FLTFirebasePlugin.h:10:
    BOOL dataCollectionDefaultEnabled;
         ^
1 warning generated.

Steps to reproduce
Steps to reproduce the behavior:

Create a new flutter project (will run fine for macOS without firebase)
Add 'firebase_core' and the Firebase.initializeApp() configs.
Run 'flutterfire configure' and create a new firebase project.
Change version to '10.12' in the first line of macos/Podfile
Run the project for macOS

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.5, on macOS 11.5.2 20G95 darwin-x64, locale es-419)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.69.2)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
dependencies:
- cupertino_icons 1.0.5
- firebase_core 1.20.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- async 2.8.2 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.0
- charcode 1.3.1
- clock 1.1.0
- collection 1.16.0
- fake_async 1.3.0 [clock collection]
- firebase_core_platform_interface 4.5.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 1.7.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- js 0.6.4
- lints 2.0.0
- matcher 0.12.11 [stack_trace]
- material_color_utilities 0.1.4
- meta 1.7.0
- path 1.8.1
- plugin_platform_interface 2.1.2 [meta]
- sky_engine 0.0.99
- source_span 1.8.2 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.4.9 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- vector_math 2.1.2

Also tried adding 'cloud_firestore' and 'flutterfire configure', and then running the project again. Same errors with a new one.
/Users/geronimo/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.20.0/macos/Classes/FLTFirebaseCorePlugin.m:229:50: warning: incompatible pointer to integer conversion sending 'NSNumber * _Nonnull __strong' to parameter of type 'BOOL' (aka 'signed char') [-Wint-conversion]
    [firebaseApp setDataCollectionDefaultEnabled:enabled];
                                                 ^~~~~~~
In module 'FirebaseCore' imported from /Users/geronimo/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-1.20.0/macos/Classes/FLTFirebasePlugin.h:10:
    BOOL dataCollectionDefaultEnabled;
         ^
1 warning generated.
/Users/geronimo/StudioProjects/test_proj/macos/Pods/Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.7, but the range of supported deployment target versions is 10.9 to 12.2. (in target 'leveldb-library' from project 'Pods')

Fixed replacing this last 4 lines of macos/Podfile

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_macos_build_settings(target)
  end
end

With this:
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_macos_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['MACOSX_DEPLOYMENT_TARGET'] = '10.12'
    end
  end
end

And run it again


Add Watson SDKs 0.2.x to the Swift 3 runtime

@paulcastro please review. This will pick up the latest tagged 0.2.x (which is currently 0.2.0). Andrew specifically needs 0.2.1, but it hasn't been tagged yet. That being said, as soon as the tag is in place, this code will pick up 0.2.1.

PG 345

Great.  Changes look good.

@psuter Squashed and ready to rock!


Is there any way to add a tag using AssortedFragment?

Would love to be able to add a BasicVisualization Tag  to a EntityConfig without requiring a c++ trait....
Seems like AssortedFragment supports Tags, but the slate drop down filter only shows Fragments?

Slapped in a "assorted tags" trait really fast. Assorted fragments has handling for tags but only has the MassFragment-derived structs listed.


adding search dashboard

Adding the initial version for the search dashboard.
Please review @dave-finlay as your time permits!,


same problem with me... any solutions??

can find any solution for this problem:

can anyone help, only happens when dropdown opens at the top
Originally posted by @computangit in https://github.com/select2/select2/issues/5463#issuecomment-468639073

Can you expand upon the issue you are facing by adding a few more pieces of information to your bug report?

What steps can be used to reproduce the issue?
What is the bug and what is the expected outcome?
What browser(s) and Operating System have you tested with?
Does the bug happen consistently across all tested browsers?
Can you reproduce this issue on any of the examples in the docs?
What version of jQuery are you using? And what version of Select2?
Are you using Select2 with other plugins?

The contributing guide contains a useful section with a few questions which can help us track down the bug and speed up the process of finding a fix for it.  The creation of an isolated test case would also be useful.


[New Game]: Adding Catching the Falling stars game

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes # <your_issue_number>
Fixes #3630

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

https://github.com/kunjgit/GameZone/assets/142652964/bac2b7a0-d6e9-469f-a37d-122c407ec692

Thank you soo much for contributing to our repository 💗

Thank you @Aditi22Bansal ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit
Kindly review and merge this PR
Thankyou

Thank you  @Aditi22Bansal , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Zasuvka smart power Lsc

Description
Zasuvka v HomeAssistentu ukazuje spotřebu 4wh misto 40.22 kWh
Steps to reproduce
Špatný přepočet neda se nikde kalibrovat
Expected behaviour
No response
Additional context
No response
Confirmation

[ ] I am sure this is a bug or improvement, that is well enough described that it can be implemented.

[ ] If this is for a specific device, the device config is mentioned above, or diagnostics are included.

[ ] Log messages or diagnostics relevant to the issue are included.

[ ] This is not requesting addition of a new device.

Nechápu proc je to uzavřene ,kdyz to neni opravené?


Use C/C++ tools code analysis instead of clang-tidy/clang-format extensions

This is blocked until https://github.com/microsoft/vscode-cpptools/issues/9816 is complete.
Once unblocked, remove both extensions from extensions.json, and associated config options from settings.json.

vscode-cpptools will use the clang-format/tidy versions in your path. So this is solved. It still gives analysis errors in third_party code, but, I've added a header filter to bypass that for now.


Remove custom tooltips

User Story
As an intake specialist
I only want to see tooltips that help me navigate the system better
So that I do not get confused by unnecessary tooltips
Business Context:
The current tooltips in the system are not user friendly and pretty confusing. We therefore want to remove all the custom tool tips created in the system (leaving anything that it out of the box).
Example of existing behavior:

In Scope

Remove all custom tooltips across the system
Leave any MUI tooltips intact, do not change existing behavior

Out of Scope

Open Questions
Mockups
Acceptance Criteria

Scenario:
Given I am in any page in the Complaint Manager
When I hover over any text, field, system dialog
Then there should not be any custom tooltips that pop up

Scenario:
Given
When
Then

###Notes
Checklist
Kickoff

[x] We have we indicated which organizations and user permissions require this
[x] We have indicated whether we have any dependancies to other cards/work
[x] We have indicated which environment this can be tested in
[x] We have included a mockup if this is design related
[x] We have included clear ACs to test it
[x] We have estimated the story

Deskcheck

[ ] This work has been demoed in staging (or higher) and led by the dev pair who worked on this card
[ ] We have run through and passed all the ACs
[ ] Our documentation has been updated
[ ] Our onboarding checklist has been updated

Considered a Normal bug and to prioritize this

Make note of all places the custom tooltips appear if outside create case dialogue

We remove from  CreateCaseDialog component PaperProps props from MUI Dialog. This solved our custom tooltip bug.
Here is the information on PaperProps and why it was used for Dialogs custom tooltip:
Adding a title in PaperProps would add a title attribute to the underlying Paper component in the DOM. The title attribute is standard HTML and is used to provide additional "tooltip" information. When the mouse moves over the element with a title attribute, a small box pops up with the description text.

Verified custom tooltips are removed from Hawaii (tooltips do not apply to NOIPM)
Create New Case
https://github.com/PublicDataWorks/complaint-manager/assets/134408135/c71c6f5b-c0c0-414b-8cd7-87bd8a1115c5
Case Details Page
https://github.com/PublicDataWorks/complaint-manager/assets/134408135/ded4e554-ad59-43c2-a1bd-53b96c5d09ac
Tags
https://github.com/PublicDataWorks/complaint-manager/assets/134408135/711b8303-fda0-4bb3-b297-e873b8839574
Admin Portal
https://github.com/PublicDataWorks/complaint-manager/assets/134408135/993a9fc9-f9b2-4857-b7d8-b2a6b0fe232c
Data Export
https://github.com/PublicDataWorks/complaint-manager/assets/134408135/cb5170f1-b250-414b-96b3-12afc058fab9


Drop address-pool from IPAddressPool

metallb.universe.tf/address-pool annotation is used to request an IP address from the specified address pool when configuring Service CR.

/cc @imiller0


Using Async and Await

I am trying to compile a large program into a single file.
I am using Node 8.0.0.
browserify --node index.js > out.js
This command works if I don't use async and await.
How can one make it work? Node 8 supports async/await out of the box and if I do node index.js, it just works.
Thanks!

Hello, apologies for not getting back to you for a while.
I get no error with this.
However, I kid you not, when I append my code, commented out, I get this error:

osxlocal:server pixel$ browserify --node --detect-globals=false index.js > vanilla_server.js
SyntaxError: Unexpected token (2:6) while parsing /Users/pixel/Desktop/WebGL/src/server/index.js while parsing file: /Users/pixel/Desktop/WebGL/src/server/index.js
at DestroyableTransform.end [as _flush] (/usr/local/lib/node_modules/browserify/node_modules/insert-module-globals/index.js:96:21)
at DestroyableTransform. (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:115:49)
at Object.onceWrapper (events.js:312:19)
at emitNone (events.js:105:13)
at DestroyableTransform.emit (events.js:207:7)
at prefinish (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:465:12)
at finishMaybe (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:473:7)
at endWritable (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:485:3)
at DestroyableTransform.Writable.end (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:455:41)
at DestroyableTransform.onend (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:495:10)

My code is as follows (it's for a game server): https://pastebin.com/raw/1aMn9Pvv
It's all commented out! When I remove the commented out code, browserify works.

<never mind- I was on version 13>


integration causing system to lag when cololight is unavailable

Hi,
First of all thanks for the work on this integration. I had previously flashed some cololights with WLED, but this integration along with support in hyperion has me back on the stock firmware to try it out :)
In the last week or so, I started to notice an intermittent lag with some of my automations, lights slow to respond etc. At first I thought it was a problem with my zigbee setup but eventually I realised that I still experience this intermittent lag using the UI to control non-zigbee devices also.
So today I disabled all my integrations and re-enabled one by one to find the culprit, and it appears to be cololight... And it does seem the issue started not long after installing the integration.
I can only recreate the issue when cololight integration is enabled, and the cololight is powered off(status "unavailable").
That would suggest to me that something in the process of trying to reconnect to an unavailable cololight intermittently is causing the system to lag?
No errors or warnings are being thrown in the logs as far as I can see.
Any idea how to go about troubleshooting this one?

Thanks for the response.
I'm on the latest HA 2023.3.1 and v2.0.0 of the cololight integration.
I'd consider myself an amateur/hobbyist coder, but I appreciate the explanation of the functions and that it is asynchronous.
It seems very curious.
The delay is never more than a few seconds, usually 1 or 2, sometimes more. I can't say for sure it's never been more than 4 seconds.
My steps to reproduce this before reporting the issue were as follows:

Enable the integration
Disconnect the cololight from power source so that it is unavailable in the frontend.
Manually turn an entity on and off repeatedly, and would observe the lag within a short time repeating the action. Initially tested using a zigbee light bulb but also repeatable by say, muting and unmuting a Chromecast speaker device.

I'm nearly certain it's the integration as when disabled I haven't been able to observe the same lag. Nor I believe when the cololight is powered on and connected.
I'm away from my home setup this weekend but back on Tuesday. If there's anything I can do to provide more information or perhaps test more rigorously please let me know.

Thanks for the details.
I've been able to replicate the issue, and it does appear it can produce lag when trying to get the status of an unavailable device.
The lag only occurs when interacting with HA, at the exact same time HA polls the device (when the device is "unavailable").
Turns out HA will poll every 30 seconds.
I haven't had the chance to debug, or understand what might be causing it yet.
In the meantime, I've released v2.0.1 , which will enable you to disable polling for the device, via the integration system options.
When polling is disabled, HA wont automatically poll the cololight device for updates.

Oh that's great, thanks for taking the time to release that. Makes the integration very usable for me in the meantime. Much appreciated.
If I can be of any use to you with debugging, just shout.

Excellent. I'm curious to know how you might have solved it!
Away once again for the weekend but I'll try jump on the beta on Monday and let you know how it's looking here. Thanks for the attention to the issue!

I ended up reducing the timeout for the device down to 0.3 seconds.
I wasn't able to find why HA would block other calls when updating, or if it can be done in the background asynchronously.
I was also able to reproduce the same issues with other integrations that had set a high timeout.

On the beta now and so far so good, haven't been able to reproduce any lag...

I ended up finding the root cause of the issue, explained in their docs

The only problem with running everything inside the event loop is when a task does blocking I/O; something most third-party Python libraries do. For example, while requesting new information from a device, the core will stop running until we get a response from the device.

I was able to suspend the update task, so that it wouldn't block HA causing lag, when timing out if the device was unreachable.
This issue should now be resolved with v2.0.2.
Thanks for all your help in testing, and raising the issue.


Impossible to setup anything under Windows

If you run Windows, you can't use this book. This should be mentioned somewhere prominently.

Using WSL2, you can't provision VMs using Virtualbox/Vagrant. The instructions in the book are vague and the whole topic is ultra advanced.
Hosting Linux yourself with a Virtualbox only works if you have advanced knowledge of Virtualbox AND use an AMD CPU. If you use Intel, you are out of luck.
Cygwin can't run Ansible.

It seems you either need a bare-metal Linux or dual-boot. Neither is an option for me right now (and I assume many other readers). This has been a very frustrating week and I would wish that the fact that you need Linux to even use this book would be made clearer.

@BlacKcuD — VirtualBox works great on Intel CPUs (I don't have an AMD CPU in the house, and I can get things working on both my Windows PC (HP with a 10th gen Intel i3) and my two Intel Macs (well, now just one — I sold my i9 but still have an older i5).
Also, the Vagrantfiles are just provided as a convenience, and at some point I may figure out a better way to make them work out-of-the-box on any platform (Windows/Mac/Linux), but trying to make sure they work perfect, out of the box, on all three OSes is a monumental task:

Apple just switched to the M1 processor, so all the VM tools out there are kinda-sorta working or not working at all, so trying to find a way to have VMs with unique IP addresses for multi-server examples is difficult. See https://github.com/geerlingguy/ansible-for-devops/issues/404
Windows PCs often have VT-X disabled in the BIOS, and to a less advanced user, it may not be obvious they have to enable that (and/or maybe disable things like Hyper-V) to be able to use VirtualBox correctly.
Solutions like Parallels or VMWare require (sometimes expensive) paid licenses.
Docker and other container-based tools don't have the same networking layout, so the examples don't always work the same (the network architecture of an app is usually different if it's run inside containers like in K8s or Docker versus on traditional servers or VMs).

Because of all that, I have to rely on the fact that I can't make everything work perfectly for every type of computer and hardware combination out of the box, but that's why I mention you can either get things working in Windows (via the guide in the Appendix), albeit not as gracefully, or you can run each and every example on cloud VMs (from low cost providers like Linode, DigitalOcean, or even AWS/Azure/GCP—you just need one or more VMs running with SSH access).

Closing this issue — but if you have any specific parts of the book or this repo where you find something that is not working or is buggy, or could be improved, please let me know :)

If a senior IT consultant who works with Ansible for SAP can't figure out how to do it on Windows 10 in 4 days then 99% of readers surely can't.
I acknowledge that keeping these guides up to date is an insane task. However, the guide for Windows is insufficient at best. The topic is highly advanced and no easy feat to manage. For example, we all know how awesome the Ansible documentation is. However, on our journey to try to make it work on Windows 10, we encountered errors that had 404 ansible doc URLs in them!
If you made it work with Windows 10, we'd love to hear about every little detail you can remember.

I should note that the Ansible docs explicitly state that Ansible is not supported to run under Windows in any way, and even running it under WSL is considered experimental and not to be done in production.
So my efforts to document a few different ways of getting it running in Windows (under WSL, using Cygwin—which can be done but does not result in a very happy solution, and inside a VM in VirtualBox or any other VM provider that can run a Linux instance) are 'as good as I can do', and I do guarantee that all of them have been tested and were at least working at the time I wrote about them (and I still have instances on my HP Windows 10 i3 PC that have Ansible working in them running 2.9—haven't tried with Ansible 4.0 yet but it should work too).
In the end, the easiest way to get Ansible working is to have some form of Linux running, and install Ansible within, then you can use it to manage VMs, docker containers, or bare metal servers that are accessible via SSH or whatever other connection method you find suitable.
In the end, I'll leave you with this post: Developing with VirtualBox and Vagrant on Windows

I'd like to mention, that for my workflow at work, I use the following with the issued windows laptop/workstation:

Run a Ubuntu VM with VT-x enabled in VMware workstation (provided by company)
VSCode with the Remote Development Extenstion which allows my VSCode on Windows to explore and edit files on the Ubuntu VM
Use either the building terminal to VSCode or use the Windows Terminal for running the vagrant and molecule commands on a daily basis.


typo in junit: simle -> simple

What is the purpose of the change
typo in junit:simle -> simple
Brief changelog
typo in junit:simle -> simple
Verifying this change
none
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

LGTM,
Thx for your pr.


install JSON for stdlib testing

Codecov Report

Merging #11 into master will decrease coverage by 2.39%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
- Coverage   95.91%   93.51%   -2.40%
==========================================
  Files           5        5
  Lines         196      216      +20
==========================================
+ Hits          188      202      +14
- Misses          8       14       +6

Impacted Files
Coverage Δ

src/Curl/utils.jl
68.18% <0.00%> (-27.06%)
:arrow_down:

src/Curl/Curl.jl
100.00% <0.00%> (ø)

src/Curl/Multi.jl
98.68% <0.00%> (+0.13%)
:arrow_up:

src/Curl/Easy.jl
96.20% <0.00%> (+0.48%)
:arrow_up:

src/Downloader.jl
91.17% <0.00%> (+0.55%)
:arrow_up:

Continue to review full report at Codecov.

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


Add xr to window if being used in browser with no module system

xr.js' immediately-invoked function only calls the factory if a module system is present. Could this be modified to add xr to the window if the library is being used in a browser without a module-loader? (When exports/amd et al. are undefined)
As xr is a minimal library it'd be great to us it as part of very lean JS applications. :sparkles:

Hmmm. So babel has the option of building with --modules ignore, and with this you can create your own custom build like: babel --modules umd -o xr.js --loose all src/xr.js
I'm assuming that as you're not using a package loader you're also not installing from npm?

Closing this because yes.


Make snapshots support converters

Right now it only works when calling CollectionRef/DocumentRef/Query.get().

Released to https://pub.dev/packages/fake_cloud_firestore/changelog#102.


VerneMQ 1.12.0 hangs on start

Environment

VerneMQ Version: <IP_ADDRESS>

OS: Ubuntu 20.04 (Focal)

Cluster size/standalone: Trying to create a cluster

Expected behaviour

To start the first server of a cluster running properly

Actual behaviour
I'm trying to create a VerneMQ cluster following the documentation to test and I have changed the following values from the default configuration:

allow_anonymous = on

plugins.vmq_passwd = off

max_inflight_messages = 0

listener.max_connections = 100000

listener.tcp.default = <IP_ADDRESS>:1883

nodename = VerneMQ@SERVERIP

distributed_cookie = SECRETVALUE

erlang.distribution.port_range.minimum = 6000
erlang.distribution.port_range.maximum = 7999

But whenever I start the server it hangs
ubuntu@ip-172-31-18-108:~$ sudo service vernemq start Here it hangs, no information is printed, and the command never returns.
So I execute the following command in another terminal
ubuntu@ip-172-31-18-108:~$ sudo service vernemq status
● vernemq.service - VerneMQ Server
     Loaded: loaded (/lib/systemd/system/vernemq.service; disabled; vendor preset: enabled)
     Active: activating (start) since Sat 2021-05-29 04:02:13 UTC; 38s ago
    Process: 47896 ExecStartPre=/usr/lib/vernemq/bin/vernemq chkconfig (code=exited, status=0/SUCCESS)
Cntrl PID: 48002 (vernemq)
      Tasks: 195 (limit: 2368)
     Memory: 92.7M
     CGroup: /system.slice/vernemq.service
             ├─48002 /bin/bash /usr/lib/vernemq/bin/vernemq start
             ├─48116 /usr/lib/vernemq/erts-11.2.1/bin/run_erl -daemon /tmp/vernemq// /var/log/vernemq exec /usr/lib/vernemq/bin/vernemq console
             ├─48118 /usr/lib/vernemq/erts-11.2.1/bin/beam.smp -P 256000 -e 256000 -Q 262144 -A 64 -K true -W w -- -root /usr/lib/vernemq -progname vernemq -- -home /home/vernemq -- -boot /usr/lib/vernemq/releases/1.12.0/vernemq -config /var/lib/vernemq/generated.configs/app.2<IP_ADDRESS>.02.44.config -setcookie SECRETVALUE -name VerneMQ@SERVERIP -smp enable -- -vm_args>
             ├─48371 erl_child_setup 1048576
             ├─48386 /bin/bash /usr/lib/vernemq/bin/vernemq start
             ├─48387 /usr/lib/vernemq/erts-11.2.1/bin/nodetool -B -fnu -- -root /usr/lib/vernemq -progname erl -- -home /home/vernemq -- -boot no_dot_erlang -noshell -run escript start -extra /usr/lib/vernemq/erts-11.2.1/bin/nodetool -name VerneMQ@SERVERIP -setcookie SECRETVALUE ping
             ├─48396 erl_child_setup 1048576
             ├─48419 inet_gethost 4
             ├─48420 inet_gethost 4
             ├─48421 sh -s disksup
             ├─48423 /usr/lib/vernemq/lib/os_mon-2.6.1/priv/bin/memsup
             └─48424 /usr/lib/vernemq/lib/os_mon-2.6.1/priv/bin/cpu_sup

May 29 04:02:13 ip-172-31-18-108 systemd[1]: Starting VerneMQ Server...
May 29 04:02:14 ip-172-31-18-108 vernemq[47896]: config is OK
May 29 04:02:14 ip-172-31-18-108 vernemq[47896]: -config /var/lib/vernemq/generated.configs/app.2<IP_ADDRESS>.02.13.config -args_file /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.02.13.args -vm_args /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.02.13.args
May 29 04:02:29 ip-172-31-18-108 vernemq[48002]: vmq_cluster_node_sup
May 29 04:02:45 ip-172-31-18-108 vernemq[48300]: Starting up

Something weird, is that I'm able to connect, subscribe and publish to VerneMQ with MQTT Explorer but whenever I do vernemq ping it returns :
ubuntu@ip-172-31-18-108:~$ sudo vernemq ping
Node 'VerneMQ@SERVERIP' not responding to pings.

But if I stop the server, it prints the following after seeing the status:
sudo service vernemq stop
sudo service vernemq status
ubuntu@ip-172-31-18-108:~$ sudo service vernemq status
● vernemq.service - VerneMQ Server
     Loaded: loaded (/lib/systemd/system/vernemq.service; disabled; vendor preset: enabled)
     Active: activating (start) since Sat 2021-05-29 04:02:13 UTC; 38s ago
    Process: 47896 ExecStartPre=/usr/lib/vernemq/bin/vernemq chkconfig (code=exited, status=0/SUCCESS)
Cntrl PID: 48002 (vernemq)
      Tasks: 195 (limit: 2368)
     Memory: 92.7M
     CGroup: /system.slice/vernemq.service
             ├─48002 /bin/bash /usr/lib/vernemq/bin/vernemq start
             ├─48116 /usr/lib/vernemq/erts-11.2.1/bin/run_erl -daemon /tmp/vernemq// /var/log/vernemq exec /usr/lib/vernemq/bin/vernemq console
             ├─48118 /usr/lib/vernemq/erts-11.2.1/bin/beam.smp -P 256000 -e 256000 -Q 262144 -A 64 -K true -W w -- -root /usr/lib/vernemq -progname vernemq -- -home /home/vernemq -- -boot /usr/lib/vernemq/releases/1.12.0/vernemq -config /var/lib/vernemq/generated.configs/app.2<IP_ADDRESS>.02.44.config -setcookie SECRETVALUE -name VerneMQ@SERVERIP -smp enable -- -vm_args>
             ├─48371 erl_child_setup 1048576
             ├─48386 /bin/bash /usr/lib/vernemq/bin/vernemq start
             ├─48387 /usr/lib/vernemq/erts-11.2.1/bin/nodetool -B -fnu -- -root /usr/lib/vernemq -progname erl -- -home /home/vernemq -- -boot no_dot_erlang -noshell -run escript start -extra /usr/lib/vernemq/erts-11.2.1/bin/nodetool -name VerneMQ@SERVERIP -setcookie SECRETVALUE ping
             ├─48396 erl_child_setup 1048576
             ├─48419 inet_gethost 4
             ├─48420 inet_gethost 4
             ├─48421 sh -s disksup
             ├─48423 /usr/lib/vernemq/lib/os_mon-2.6.1/priv/bin/memsup
             └─48424 /usr/lib/vernemq/lib/os_mon-2.6.1/priv/bin/cpu_sup

May 29 04:02:13 ip-172-31-18-108 systemd[1]: Starting VerneMQ Server...
May 29 04:02:14 ip-172-31-18-108 vernemq[47896]: config is OK
May 29 04:02:14 ip-172-31-18-108 vernemq[47896]: -config /var/lib/vernemq/generated.configs/app.2<IP_ADDRESS>.02.13.config -args_file /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.02.13.args -vm_args /var/lib/vernemq/generated.configs/vm.2<IP_ADDRESS>.02.13.args
May 29 04:02:29 ip-172-31-18-108 vernemq[48002]: vmq_cluster_node_sup
May 29 04:02:45 ip-172-31-18-108 vernemq[48300]: Starting up
May 29 04:09:55 ip-172-31-18-108 systemd[1]: vernemq.service: Succeeded.
May 29 04:09:55 ip-172-31-18-108 systemd[1]: Stopped VerneMQ Server.

As you can see it adds the last two lines when stopping the server.

I have tried the same with the version 1.11.0 on a new server, and it hans exactly the same, so perhaps I'm doing something really wrong.

So I changed the nodename back to<EMAIL_ADDRESS>and it works, but that way I won't be able to create a cluster :/

I was able to join both clusters with the version 1.11.0, but not with 1.12.0

I'm now receiving the following logs every second on the console.

2021-05-29 05:12:08.036 [info] <0.2198.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 05:12:08.036 [warning] <0.2224.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 05:12:08.037 [warning] <0.2198.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
2021-05-29 05:12:09.040 [info] <0.2198.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 05:12:09.040 [warning] <0.2227.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 05:12:09.040 [warning] <0.2198.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
2021-05-29 05:12:10.043 [info] <0.2198.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 05:12:10.043 [warning] <0.2230.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 05:12:10.044 [warning] <0.2198.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
2021-05-29 05:12:11.047 [info] <0.2198.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 05:12:11.047 [warning] <0.2240.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available

but the cluster show command, shows:
ubuntu@ip-172-31-8-149:/var/log/vernemq$ sudo vmq-admin cluster show
+-----------------------+---------+
| Node                  | Running |
+-----------------------+---------+
|<EMAIL_ADDRESS>| true    |
+-----------------------+---------+
|<EMAIL_ADDRESS> | true    |
+-----------------------+---------+

It seems it's something about the configuration with AWS? I have seen many issues: #363 #364

I have all the ports open, both instances are on the same VPC and subnet

This is just general information to maybe help you reason about what happens.
A VerneMQ cluster will be based on 2 things: Erlang distribution clustering, and then direct TCP connections setup between the nodes and used to deliver MQTT messages between the nodes (like a second clustering layer).
The first works over the port mapper daemon (EPMD) which is like a little DNS service, so that cluster nodes can find each other using their configured nodenames. This enables the nodes to do RPC calls to each other.
That's why you have to open port 4369 (EPMD) and the Erlang distribution port range.
After a node (A) joins a cluster and is clustered to your other node (B), it will do the following: it will do an RPC call to B to find out the configuration of the vmq.listener. This is configured in the vernemq.conf file of your other node (B). The port is likely to be 44053 (default), and the IP an internal IP.
Now your first node (A) will try to open a direct TCP connection to IP:Port on B. If this does not work, then you'll have a cluster that is technically clustered (vmq-admin cluster show will show both nodes) but without the message delivery connections setup.
Node B, by the way, will do exactly the same with node A.
I think it's a little unfortunate that this listener is called "clustering" but that's just how it is. It's probably also confusing that the default is set to <IP_ADDRESS>.
listener.vmq.clustering = <IP_ADDRESS>:44053
You might start by setting that to an internal but reachable IP to see what works. The other node will really just try to connect to that IP:Port configured there.

I have already tried setting to both the external IP and the internal IP of the instance (both reachable, tested with telnet), all the ports are already open, but still they won't create the cluster :/

@victorct-pronto Thanks, you've named multiple issues. Could you at this point name the specific error logged that you connect to "they won't create a cluster"? I lost track where you're at, and I need to determine whether it's about layer 1 or 2 of clustering, as described above.

When trying to connect to another node from any cluster, it doesn't join, it only shows the following information on the console.log:
2021-05- [info] <0.491.0>@plumtree_peer_service:attempt_join:50 Sent join request to<EMAIL_ADDRESS>
And that's it, it doesn't matter from which node I try, it's the same (of course the node name changes)

Please attach a shell to one of the nodes (sudo vernemq attach).
[Attention: only detach with ctrl+g, and then q.]
Then run net_adm:ping('VerneMQ@<IP_ADDRESS>'). (incl. the "." and hitting enter)
ping or pang?
also, what does erl_epmd:names(). give you?

So I have created two new instances (with VerneMQ 1.11.0), from the beginning with the following vernemq.conf
Instance 1:
accept_eula = yes
allow_anonymous = on
plugins.vmq_passwd = off
max_inflight_messages = 0
listener.max_connections = 100000
listener.tcp.default = <IP_ADDRESS>:1883
listener.http.default = <IP_ADDRESS>:8888
nodename =<EMAIL_ADDRESS>distributed_cookie = vmq
erlang.distribution.port_range.minimum = 6000
erlang.distribution.port_range.maximum = 7999

Instance 2:
accept_eula = yes
allow_anonymous = on
plugins.vmq_passwd = off
max_inflight_messages = 0
listener.max_connections = 100000
listener.tcp.default = <IP_ADDRESS>:1883
listener.http.default = <IP_ADDRESS>:8888
nodename =<EMAIL_ADDRESS>distributed_cookie = vmq
erlang.distribution.port_range.minimum = 6000
erlang.distribution.port_range.maximum = 7999

On the instance 2 I have joined the node, and cluster shows:
ubuntu@ip-172-31-18-126:~$ sudo vmq-admin cluster show
+----------------------+---------+
| Node                 | Running |
+----------------------+---------+
|<EMAIL_ADDRESS>| true    |
+----------------------+---------+
|<EMAIL_ADDRESS>| true    |
+----------------------+---------+

Console.log shows the following information every 1 second:
2021-05-29 21:17:30.557 [info] <0.466.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 21:17:30.557 [warning] <0.531.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 21:17:30.558 [warning] <0.466.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
2021-05-29 21:17:31.560 [info] <0.466.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 21:17:31.560 [warning] <0.534.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 21:17:31.560 [warning] <0.466.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
2021-05-29 21:17:32.562 [info] <0.466.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 21:17:32.562 [warning] <0.544.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 21:17:32.563 [warning] <0.466.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
2021-05-29 21:17:33.565 [info] <0.466.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 21:17:33.565 [warning] <0.548.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 21:17:33.565 [warning] <0.466.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
2021-05-29 21:17:34.567 [info] <0.466.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 21:17:34.567 [warning] <0.551.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 21:17:34.568 [warning] <0.466.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms

2021-05-29 21:17:35.569 [info] <0.466.0>@vmq_cluster_node:handle_message:204 successfully connected to cluster node<EMAIL_ADDRESS>2021-05-29 21:17:35.570 [warning] <0.554.0>@vmq_cluster_com:loop:77 terminate due to remote_node_not_available
2021-05-29 21:17:35.570 [warning] <0.466.0>@vmq_cluster_node:handle_message:235 connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms

Followed your instructions and here are the results:
ubuntu@ip-172-31-18-126:~$ sudo vernemq attach
Remote Shell: Use "Ctrl-G q" to quit.
q() or init:stop() will terminate the vernemq node.
Erlang/OTP 22 [erts-10.7] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1] [hipe]

Eshell V10.7  (abort with ^G)
(VerneMQ@<IP_ADDRESS>)1> net_adm:ping('VerneMQ@<IP_ADDRESS>').
pong
(VerneMQ@<IP_ADDRESS>)2> erl_epmd:names().
{ok,[{"VerneMQ",6000},{"c_16035_VerneMQ",45655}]}
(VerneMQ@<IP_ADDRESS>)3>

I'm concerned about the console.log message now :/

listener.vmq.clustering ?

Default one: listener.vmq.clustering = <IP_ADDRESS>:44053

With that configuration I'm able to connect behind a load balancer, even publish and subscribe, but the messages are only being received by the subscribers on the same node as the publisher, otherwise they won't receive the information :7

I have even changed the clustering to: <IP_ADDRESS> and I'm able to connect with all, but the same problem (Log message disconnecting every second) and the message only being sent to those subscribers on the same node as the publisher.

@victorct-pronto I tried to give more information above.
This is exclusively about vmq.listener.clustering. It has to be reachable from the other node, so surely <IP_ADDRESS> won't work. Set it to the IP of the node. I suppose this would be the private IP of the nodes in your VPC.

@ioolkos Weird, with <IP_ADDRESS> it's reachable but problem where the message only arrives to the subscribers on the same node happens, even if I change <IP_ADDRESS> to the private IP of the server, anyway, I have decided to go with another broker, thanks for the help, and if you need more information to debug this, I can still. help you :)


[rebranch][Runtime] Remove attribute ordering hack

Remove the split macro definitions and move the SWIFT_RUNTIME_EXPORT
macro to the beginning of the attributes list so that extern "C"
becomes the first attribute. This is possible since stable/20221013
where mixing GNU and standard attributes was fixed
(https://reviews.llvm.org/D137979).
Also remove an unnecessary include, which would prevent the compiler
itself being built on the released clang-15 (since the GNU/standard
attribute mixing fix isn't in clang-15).

@swift-ci please test

Still failing on CI: I noticed that Saleem's patch was backported to stable/20221013, apple/llvm-project#5655, while trunk still uses stable/20220421, which would partially explain why this is failing (there appear to be other errors too).

Interesting 🤔. I didn't think we needed Saleem's patch in stable/20220421 but ... apparently attributes are also broken there? It has quite a few conflicts so I'm not sure about cherry-picking it. Any thoughts @compnerd? Maybe we need to use this hack for main but switch rebranch to use this PR?

I think that leaving it on main for a little bit is fine.  We can fix this on the rebranch.  I can take a look at backporting the clang change to the current branch.  Seems better to fix it before the next release.

@swift-ci please test

Note: we're apparently still failing on
extern "C" __attribute__((__visibility__("default"))) [[nodiscard]]
int myTest();

ie. mixed attributes with extern "C".

@swift-ci please test

Re-running now that https://github.com/apple/llvm-project/pull/5869 is merged

@swift-ci please test macOS platform

@swift-ci please clean test

@swift-ci please test Linux platform

So that I don't keep forgetting the problem here:

Clang 15 introduced a change that broke our attribute order. To workaround that we split SWIFT_RUNTIME_EXPORT into two.
compnerd fixed that issue in newer Clang's, but we can't revert to the old use because the runtime headers are included in compiler libraries that are built with the host compiler (which could be Clang 15). We also can't change to moving SWIFT_RUNTIME_EXPORT to the start because that has always been broken in Clang (until comp nerd's fix).

The proper fix here will be to properly split the runtime headers - the function declarations should only be available to the runtime, which is required to be built with the just-built compiler. This would also help in not accidentally including compiler headers in the runtime.
Once that's done we can use SWIFT_RUNTIME_EXPORT again as the bootstrapped compiler will be the only compiler that touches those decls.


Add events for dropdownShown and dropdownHidden

Not precious about the event names.
I need to know when the dropdown is (not)visible below the input.
I have the select in a modal and so need to prevent esc and clicking the modal overlay from hiding the modal when the tomSelect is "open"
Note that focus and blur aren't enough because the control can have focus but not be open (e.g. focus it, see the options, press esc, the options close, control is still focused)
It would be nice to subscribe to the proposed events so i can disable/enable modal hiding whilst the options are open, as clicking away/escaping is because the user wants to close the tomSelect, not the modal its in

I can see isOpen exists as a property, but that would mean I have to entagle my modal code with the select, would be nice to do it the other way and push state changes via events

drodown_open and dropdown_close, how am i so blind?!
Apologies


refactor: Remove serialize-javascript and add configOverride to appWithTranslation

Fixes #931.

@LeonardDrs Do you mind a quick code/docs review?

Somebody ping me when it will be released?

@FDiskas It's released in the v8.0.0 published 6 days ago.

thanks - still getting
Error: Error serializing `._nextI18Next.userConfig.use[0]` returned from `getStaticProps`

what i'm missing?

https://github.com/isaachinman/next-i18next/blob/2640dc4fc1234b286e7b690bcb338c23329c0438/README.md#unserialisable-configs


What to expect from the pipeline?

Description of feature
If we run a release version, what will the output look like? Is it just an annotated VCF file + metrics from MultiQC or will it also include some visualization that shows ranked variants with pathogenic potential?

kind of done right @ramprasadn?

Yupe, true.. I will close this one 😄


[Bug] Missing s for foreach-json-patch ClusterPolicy

Page link
https://kyverno.io/docs/writing-policies/mutate/
Description
There's a missing s for the ClusterPolicy example with the name foreach-json-patch.
Needs to be operations: but instead it is operation:
Expected behavior
Add missing s
Slack discussion
No response

Hey @RelativeSure, Can I solve this?

/assign

Hey @RelativeSure, Can I solve this?

Hi!
Yeah go for it 😊

Hey @RelativeSure,
This has already been solved.

Kindly check - https://github.com/kyverno/website/blob/main/content/en/docs/Writing policies/mutate.md

Hey @RelativeSure,
This has already been solved.

Kindly check - https://github.com/kyverno/website/blob/main/content/en/docs/Writing policies/mutate.md

Hi,
The issue is on the website, I had hoped I could fix it myself but I don't know it its because the site hasn't been updated or there's another bug with the site.

I think the website is just not updated. When I am running locally it says "opeartions". I think the issue is solved.

I think the website is just not updated. When I am running locally it says "opeartions". I think the issue is solved.

Yeah, I agree. Do we know how to make the website get updated so it gets fixed?

It's fixed: https://kyverno.io/docs/writing-policies/mutate/#foreach


Oracle On The Roadmap?

Just curious to know if a handler for Oracle is on the roadmap.

Oracle support already works. Just do:
go get -tags oracle -u github.com/knq/usql

For the record, this entire project exists because of Oracle's bad sqlplus command line.


METRON-283 Migrate Geo Enrichment outside of MySQL

MySQL Removed
Drops MySQL entirely from the project.  This is done for a couple reasons outlined in a discussion thread on the dev lists.  They boil down to a combination of licensing, eliminating a single point of failure, and using MaxMind's libraries for handling GeoLite2 data, and a couple other concerns.
This PR includes dependencies, installation paths, READMEs, etc.  The only places left are MySQLConfig and MySQLConfigTest for if anyone wants to use them.  The vast majority of removed files / code are simply from stripping this out.  If any traces of MySQL outside of this are found in review, they should almost certainly be removed.
This moves to a system based on using MaxMind's binary DB directly. Per their page:

The GeoLite2 databases are distributed under the Creative Commons Attribution-ShareAlike 4.0 International License.

Our LICENSE file has been updated with the notification that we include use their database (and some of their test data, which is CCA ShareAlike 3.0).  Both of these licenses are acceptable for us as stated on Apache Legal.
Let me know if that notification should be in a different spot or spots, and I can adjust it appropriately.
GeoLite2 Database
The main portion of the PR is in GeoLiteDatabaseTest.java, which manages access to the GeoLite2 database.
Raw Database
The raw database is stored on HDFS.  By default, it will be in /apps/metron/geo.  If no explicit location is given, /apps/metron/geo/default/<db_filename> will be used.  Otherwise, updates will use /apps/metron/geo/<millis>/<db_filename>.  Given the low rate of churn on the DB (updated once per week) and the potential for replay use cases , I haven't implemented any pruning or anything fancy on top of this.
Updating DB
A script is provided for updates geo_enrichment_load.sh in metron-data-management.  Usage details are provided in metron-data-management/README.md.  Note that the original didn't appear to have update capabilities,
The script will pull down a new instance of GeoLite2 database.  This location can be either their standard web address (or somewhere else hosted), or even a file:// URL.  Once the db file is pulled down, it will push to the appropriate HDFS location.  Finally, it will pull down and update the global config with the new location.  This will not require a topology restart.
Note that there have been conversations about how we manage config updates (specifically leaning towards Ambari).  This has not been finalized, and we have two non Ambari testing environments (quickdev and docker-metron) so this just hits ZK.  Ambari is not updated based on this script, and it is the user's responsibility to update global.json.
This leads to a questions people may have preferences on

Do we want the script to always update? Should there be a flag to stage the file, but not update configs?

Code
It is a singleton that allows for the database to be updated when a global config is updated.  It is (hopefully!) correctly locked to avoid threading issues when updating or reading from the DB (and I've been able to update without issues.
The various Bolts have been updated to make sure they initialize the adapter to have it grab the current data appropriately.
In addition, a Stellar function has been provided GEO_GET(), which takes an IPV4 address.  It probably works with an IPV6 address, but I didn't really dig into it, given that the goal was to initially match parity.
Given the somewhat core nature of this, and my relative unfamiliarity going in with how all these pieces tie together, I'm definitely looking for feedback on how things are implemented, or if I missed conventions we've used in the code.
Testing
Unit testing is added for the database and Stellar portions of the code as needed.  The DB testing uses one of MaxMind's test DB's that they've published, because we can't create the binary format correctly.  It does not use the full (20+ MB) version of the data, but rather a stripped down version (on the order of several KB).
Three environments were tested during this.  Having these three disparate environments make features that cut across like this more complicated to test, so additional scrutiny would be merited (I would definitely like at least one person to run through one of these themselves and make sure it's transparent).  Notably, quickdev requires Ansible setup scripts to align; the mpack requires layout, internal configuration, and handling of additional files and ownership of scripts to work properly; and docker-metron requires essentially cheating the scripts and just running a wget on the file because things aren't actually setup.

quickdev
Ambari Management Pack
docker-metron

QuickDev
Ansible scripts are updated.  Running data through topologies kicked out the data.
Ambari Management Pack
RPMs updated where needed. Config Screen layout changed, updates made to properly handle configs and ownership.  Ran Stellar on this install.  Again, ran data through the topology.
Docker
Essentially this just involved cheating the scripts and running a wget on the GeoLite2 dbfile, because there's no Hadoop.  Ran through the instructions to run the topologies (which are a little different than the others because Docker) and again was able to get data back out.
Additional Notes

As noted above, do we want the DB script to always update? Should there be a flag to stage the file, but not update configs?  I primarily see this affecting the mpack because of the Ambari management behind it.
Increased withMaxTimeMS in the indexing integration test.  This seems unrelated to my changes ( and I believe had been seen elsewhere), so if anybody has found the root cause, I can adjust my code appropriately. Outside issue (and code is reverted in this PR), see: https://issues.apache.org/jira/browse/METRON-672.
LocID doesn't technically exist in the new data, and I suspect it was never meant to be relied upon anyway outside of being a join key.  The same applies to the new field that is replacing it in this context.  It seems like we were mostly just passing that field along because it was available, and it seems like it should be refactored to be more useful.  I didn't take on that analysis here, it's the slightly more validated version of a gut feeling.
The newer form of the MaxMind info has more data available than the old source we were using.  We should also consider passing (at least some) of this data along. See MaxMind's What's New in GeoIp2.  One of the ones that leapt out at me as potentially interesting was a field containing where an IP was registered, rather than just where the IP actually is.  Another is fields for is_anonymous_proxy key, etc.  I didn't validate if everything new is in the free version of the dataset.

Expanding the Stellar GEO_GET function to allow for just returning a map of specified fields (if more than one), or just the direct value (if just one field requested) would be very nice.
e.g. GEO_GET('', ['country', 'city']) returns {"country": "US", "city:"Chicago"} and GEO_GET('ip', ['county'] just returns 'US'

As a note to anyone coming in late, at least one comment (David's) is still relevant, but hidden behind a collapsed outdated diff, because the line he commented on needed to be deleted, but the point he brought up is still in active conversation.

Forgot to comment on it, but the GEO_GET call was updated a bit ago per my comment about lists and fields. That change should also be reviewed and given any feedback.

Updated to replace EnrichmentAdapter.initializeAdapter() with EnrichmentAdapter.initializeAdapter(Map<String, Object> config).  Also added updateAdapter(Map<String, Object> config);.  Right now the configs only get used by GeoAdapter, but all adapters can use configs it is passed as it needs.  All implementing classes have the method updated, but simply ignore the config param.
This removes the direct dependency of GenericEnrichmentBolt on GeoLiteDatabase.  It will simply call init and update to delegate to each adapter what to do (if anything).  Update is called during reloadCallback if global config updates.
I'll want to spin it up again to further validate, but this addresses @nickwallen's catch on topologies not using geo needing geo data to exist and @dlyle65535's concern about the GenericEnrichmentBolt needing to know about geo for everything.  Now errors should only occur if a topology using geo data can't find it.

+1 as well, great job, Justin.

Ditto +1. Thanks for all the hard work!

@cestella @dlyle65535 @nickwallen I added one more change to EnrichmentIntegrationTest to not create and destroy some tmp stuff that's not being used in the test.  Let me know if there's any concerns.

+1 looks good

Still +1 @justinleet - thanks for checking.

reaffirmed +1


Dbz 6704 config properties inconsistently classified as advanced vs required

DBZ-6704
For consistency, this change moves properties in the MongoDB and MySQL connector documentation from the Required connector properties table to the Advanced connector properties table.
In addressing this change it became apparent that the MongoDB connector documentation does not reference the converters configuration property, but the Custom converters documentation does not explicitly state that you cannot create custom converters for MongoDB.
To complete this work, one of the following further updates is required, depending on whether the content about custom converters applies to  MongoDB:
* Add the converters property to the table of Advanced MongoDB connector configuration properties.

Add a note to the Custom converters documentation, to explicitly state that you cannot use custom converters with the MongoDB connector.  DONE

Hi @roldanbob, AFAIK the CustomConverter contract and implementation is explicitly used solely in the relational-based connectors as the hook is inside TableSchemaBuilder, which isn't used by MongoDB.
So I think it's safe to say that there is no need to make references to it in the MongoDB documentation and it makes sense to add a disclaimer about it not being applicable to MongoDB.
That said, I did notice that registration of such converters is part of the CommonConnectorConfig, @jpechane in light of this, should we consider moving this to the RelationalConnectorConfig instead to add clarity to which connectors it applies to?

... I think it's safe to say that there is no need to make references to it in the MongoDB documentation and it makes sense to add a disclaimer about it not being applicable to MongoDB.

@Naros OK, I went ahead and added a note to the Converters doc to indicate that the content does not apply to use with the MongoDB connector.

... I'll add a comment on the Jira as I have an idea with regard to the Oracle property splits.

@Naros  Let me know if you have input wrt how to classify the Oracle properties as Required/Advanced, or if I should just do a pass for you to review.

I think lets stick to what we've already done for now @roldanbob.

I think lets stick to what we've already done for now @roldanbob.

Ok. If you're good with that for now, since that was the only outstanding issue, then I think this is complete?

Applied to main (=2.4).  Thanks @roldanbob and @obabec .


[Release-1.27] - k3s etcd-snapshot save fails on host with IPv6 only

Backport fix for Fix on-demand snapshots on ipv6-only nodes

#9214

Validated on Version:
-$ k3s version v1.27.11+k3s-11b31c28 (11b31c28)

Environment Details
Infrastructure
Cloud EC2 instance
Node(s) CPU architecture, OS, and Version:
SUSE Linux Enterprise Server 15 SP4
Cluster Configuration:
1 server node
Steps to validate the fix

Install k3s with node ipv6 only with args on config, not CLI

 k3s.io/node-args: '["server","--cluster-cidr","2001:cafe:42::/56","--service-cidr","2001:cafe:43::/108","--cluster-init","true","--node-ip","2600:1f1c:ab4:ee32:c44c:a8b3:4319:dad7","--write-kubeconfig-mode","644"]'

Validate that etcd snapshot is working fine
Validate nodes and pods

Reproduction Issue:

  k3s -v
k3s version v1.29.1+k3s-8224a3a7 (8224a3a7)
go version go1.21.6``

 kubectl get node -o yaml | grep node-args
      k3s.io/node-args: '["server","--cluster-cidr","2001:cafe:42::/56","--service-cidr","2001:cafe:43::/108","--cluster-init","true","--node-ip","2600:1f1c:ab4:ee32:c44c:a8b3:4319:dad7","--write-kubeconfig-mode","644"]'

 sudo k3s etcd-snapshot save
WARN[0000] Unknown flag --cluster-cidr found in config.yaml, skipping
WARN[0000] Unknown flag --service-cidr found in config.yaml, skipping
WARN[0000] Unknown flag --cluster-init found in config.yaml, skipping
WARN[0000] Unknown flag --write-kubeconfig-mode found in config.yaml, skipping
^C{"level":"warn","ts":"2024-02-15T19:39:34.996891Z","logger":"etcd-client","caller":"v3@v3.5.9-k3s1/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc00136e000/<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = Canceled desc = latest balancer error: last connection error: connection error: desc = \"transport: Error while dialing: dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
{"level":"warn","ts":"2024-02-15T19:39:34.996862Z","logger":"etcd-client","caller":"v3@v3.5.9-k3s1/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"etcd-endpoints://0xc00136e000/<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = Canceled desc = latest balancer error: last connection error: connection error: desc = \"transport: Error while dialing: dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}

Validation Results:

$ k3s -v
k3s version v1.27.11+k3s-11b31c28 (11b31c28)
go version go1.21.7

 $ kubectl get nodes,pods -A
NAME                       STATUS   ROLES                       AGE   VERSION
node/i    Ready    control-plane,etcd,master   27s   v1.27.11+k3s-11b31c28

NAMESPACE     NAME                                          READY   STATUS    RESTARTS   AGE
kube-system   pod/coredns-77ccd57875-ddmj4                  1/1     Running   0          12s
kube-system   pod/helm-install-traefik-crd-bf757            1/1     Running   0          12s
kube-system   pod/helm-install-traefik-n9dsv                1/1     Running   0          12s
kube-system   pod/local-path-provisioner-79ffd768b5-vrj6t   1/1     Running   0          12s
kube-system   pod/metrics-server-648b5df564-vhmkf           0/1     Running   0          12s

 kubectl get node -o yaml | grep node-args
      k3s.io/node-args: '["server","--cluster-cidr","2001:cafe:42::/56","--service-cidr","2001:cafe:43::/108","--cluster-init","true","--node-ip","2600:1f1c:ab4:ee32:c44c:a8b3:4319:dad7","--write-kubeconfig-mode","644"]'

sudo k3s etcd-snapshot save

WARN[0000] Unknown flag --cluster-cidr found in config.yaml, skipping
WARN[0000] Unknown flag --service-cidr found in config.yaml, skipping
WARN[0000] Unknown flag --cluster-init found in config.yaml, skipping
WARN[0000] Unknown flag --node-ip found in config.yaml, skipping
WARN[0000] Unknown flag --write-kubeconfig-mode found in config.yaml, skipping
INFO[0000] Saving etcd snapshot to /var/lib/rancher/k3s/server/db/snapshots/on-demand-i-041ae49edb4c36e85-1708100498
{"level":"info","ts":"2024-02-16T16:21:37.859227Z","caller":"snapshot/v3_snapshot.go:65","msg":"created temporary db file","path":"/var/lib/rancher/k3s/server/db/snapshots/on-demand-i-041ae49edb4c36e85-1708100498.part"}
{"level":"info","ts":"2024-02-16T16:21:37.861482Z","logger":"client","caller":"v3@v3.5.9-k3s1/maintenance.go:212","msg":"opened snapshot stream; downloading"}
{"level":"info","ts":"2024-02-16T16:21:37.861588Z","caller":"snapshot/v3_snapshot.go:73","msg":"fetching snapshot","endpoint":"https://[::1]:2379"}
{"level":"info","ts":"2024-02-16T16:21:37.926281Z","logger":"client","caller":"v3@v3.5.9-k3s1/maintenance.go:220","msg":"completed snapshot read; closing"}
{"level":"info","ts":"2024-02-16T16:21:37.936413Z","caller":"snapshot/v3_snapshot.go:88","msg":"fetched snapshot","endpoint":"https://[::1]:2379","size":"3.0 MB","took":"now"}
{"level":"info","ts":"2024-02-16T16:21:37.936512Z","caller":"snapshot/v3_snapshot.go:97","msg":"saved","path":"/var/lib/rancher/k3s/server/db/snapshots/on-demand-i-041ae49edb4c36e85-1708100498"}
INFO[0000] Reconciling ETCDSnapshotFile resources
INFO[0000] Reconciliation of ETCDSnapshotFile resources complete

Working as expected using config but not with args on CLI, talking with @brandond we are letting this behind now to release the whole fix

Moving out to next release to extend fix to CLI args, not just config.

 Backup and delete ${datadir}/server/db on each peer etcd server and rejoin the nodes

 $ kubectl get nodes
NAME                                          STATUS   ROLES                       AGE   VERSION
ip- .us-east-2.compute.internal     Ready    etcd                        45m   v1.27.12+k3s-2d48b196
ip- .us-east-2.compute.internal     Ready    control-plane,master        44m   v1.27.12+k3s-2d48b196
ip- .us-east-2.compute.internal   Ready    <none>                      43m   v1.27.12+k3s-2d48b196
ip- .us-east-2.compute.internal   Ready    <none>                      43m   v1.27.12+k3s-2d48b196
ip- .us-east-2.compute.internal   Ready    control-plane,master        44m   v1.27.12+k3s-2d48b196
ip- .us-east-2.compute.internal    Ready    <none>                      42m   v1.27.12+k3s-2d48b196
ip- .us-east-2.compute.internal    Ready    etcd                        44m   v1.27.12+k3s-2d48b196
ip- .us-east-2.compute.internal    Ready    control-plane,etcd,master   47m   v1.27.12+k3s-2d48b196
ip-1

                           Ready    control-plane,etcd,master   18s   v1.27.12+k3s-2d48b196
 ~$ kubectl get pods -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   coredns-77ccd57875-g69xw                  1/1     Running     0          47m
kube-system   helm-install-traefik-56hr2                0/1     Completed   1          47m
kube-system   helm-install-traefik-crd-kbb4h            0/1     Completed   0          47m
kube-system   local-path-provisioner-79ffd768b5-dpv4z   1/1     Running     0          47m
kube-system   metrics-server-c44988498-ssdqv            1/1     Running     0          47m
kube-system   svclb-traefik-737736ff-6vb2t              2/2     Running     0          43m
kube-system   svclb-traefik-737736ff-d5bxl              2/2     Running     0          43m
kube-system   svclb-traefik-737736ff-ff2jq              2/2     Running     0          47m
kube-system   svclb-traefik-737736ff-n8qs7              2/2     Running     0          42m
kube-system   svclb-traefik-737736ff-pr7pq              2/2     Running     0          44m
kube-system   svclb-traefik-737736ff-wfpgq              2/2     Running     0          45m
kube-system   traefik-7d5c94d587-4ns9b                  1/1     Running     0          47m


DATETIMECONVERT udf conversion to Simple_Date_Format are 50x slower than conversion to epoch time

The following query which uses DATETIMECONVERT to convert epoch time to simple data format time finishes in 3mins on a table with 400 million rows.
SELECT COUNT(*) AS count FROM table1 WHERE secondsSinceEpoch BETWEEN<PHONE_NUMBER> AND<PHONE_NUMBER> GROUP BY DATETIMECONVERT(secondsSinceEpoch, '1:SECONDS:EPOCH', '1:DAYS:SIMPLE_DATE_FORMAT:yyyy-MM-dd HH:mm:ss', '1:DAYS')
If we use epoch time instead, the processing time is only 5 seconds.
SELECT COUNT(*) AS count FROM table1 WHERE secondsSinceEpoch BETWEEN<PHONE_NUMBER> AND<PHONE_NUMBER> GROUP BY DATETIMECONVERT(secondsSinceEpoch, '1:SECONDS:EPOCH', '1:DAYS:EPOCH', '1:DAYS')
Most of the query time is spent on time format conversion. If we perform the time format conversion only during the server combination step instead of doing it for every row, can we get better query perf?
@fx19880617 @npawar

@chenboat Using SDF is always much more expensive because it's stored as String comparing to long in EPOCH format. A better approach is using EPOCH for the conversion, and then on client side, convert it to SDF if you need result in such format.

If the raw data is stored as SDF (string), then we cannot do any better. If the raw data is stored as epoch and time conversion is to SDF, we can use epoch to epoch conversion on the server side and compute SDF on the broker side for the final result (similar to what @Jackie-Jiang mentioned but time conversion happens in the broker instead of client).
However, this will require Pinot to run different UDF on server/broker side from the same UDF definition and require . This feature is a good candidate for performance optimization. But for now, I would also recommend @Jackie-Jiang's approach for your query.
@npawar Can you briefly look at the scope of this change

Thanks @Jackie-Jiang and @snleee for the quick replies. DATETIMECONVERT is a popular UDF used by several clients in Uber. While we have recommended to our users work around the problem to use EPOCH time as the output format, SDF is still useful because some of our users are issuing adhoc/interactive queries -- to them SDF conversion of Pinot is really convenient. That is why I believe Pinot internal query optimization is beneficial.


Add reuccuring job to archive conversations that are older than 14 days

Description

Add list_conversations_to_archive/0 which returns conversations that have been closed for more than 14 days
Add ChatApi.Workers.ArchiveConversations

Issue
#334
Checklist

[x] Everything passes when running mix test
[x] Ran mix format
[x] No frontend compilation warnings

@reichert621
I am not 100% Sure about using |> Enum.each(&Conversations.archive_conversation/1) in
defmodule ChatApi.Workers.ArchiveConversations do
  use Oban.Worker, queue: :default

  alias ChatApi.Conversations

  @impl Oban.Worker
  def perform(%Oban.Job{} = _job) do
    Conversations.list_conversations_to_archive()
    |> Enum.each(&Conversations.archive_conversation/1)
  end
end

do you think Task.async_stream/3 docs would be a better option or even something else?


ImportError: No module named gpxpy

After installing and starting, the desktop is available. But an ImportError occurred:
Python:     import cell_workers
File "/Users/guagua/PokemonGo-Bot-Desktop/gofbot/pokemongo_bot/cell_workers/init.py", line 13, in
from follow_path import FollowPath
File "/Users/guagua/PokemonGo-Bot-Desktop/gofbot/pokemongo_bot/cell_workers/follow_path.py", line 3, in
import gpxpy
ImportError: No module named gpxpy
thank you for helping!

Try running npm install again to install new dependencies


[Bug]-[1320]:'Ends With' operator in Table filters not working in certain cases

Is there an existing issue for this?

[X] I have searched the existing issues

Description
It appears to not work when filtering the entire word in a column
Appears to work fine when filtering letters from the last word in the following situations. Note that I searched for 'son' and 'Benson' in the FullName column. Gives correct results

Search for 'son' in the LastName column yields correct results.

Now when I search for the whole word 'Benson' on the LastName column, it gives incorrect results. My guess is it is not returning correct results for anything more than 3 letters in a column with a single word (Eg: LastName column) and also if you search for the entire word in a column (Eg: Catherine Benson in FullName column)

Steps To Reproduce
Detailed above with screenshots. Shared sample app below
Public Sample App
https://app.appsmith.com/app/table-filters-ends-with-operator/page1-6268050000cba01cd0305d2d
Version
Cloud/Self-Hosted - v1.6.20

Needs a bit more detailed investigation to identify what are other similar cases which may fail. @somangshu should we assign this to someone in the QA team to do a bit more thorough investigation on filters or should this be looked at by a dev for triaging.
Also predicting Reach is tricky because we don't have filters on how many people are clicking on table buttons.
Approximating this to 5% of users who have configured a table for now
Stats

Stat
Values

Reach
330

Effort (months)
0.5

Lets follow a test driven approach this time since this has happened multiple times
@Aishwarya-U-R can you check out the test cases and tell us what is missing, we will list them here and then implement the change and also right the corresponding test cases. This was we should regress again.
Please consider any use case from the past you have experienced

setting this to high since this issue blocks the user, Though there is an alternative to resolve the problem

Hi @dilippitchika - I have added a script for validating this bug & is right now commented, once this is fixed can add that also to the regression suite. And adding @vivekverma2312 if incase he has any more scenarios he may have for TableFilters!

And from script point of view - yet a many table filter scenarios are to be covered & the coverage seems less/basic Text column filters at this point of time!

@somangshu can you spend time on identifying next steps here?

Ok, Here is what I think

We triage the problem basis above test cases that are written
We identify the fix and implement it
Add the test cases and ship

cc @keyurparalkar

@somangshu @Aishwarya-U-R
This is an edge case with the logic behind the endsWith operation. Whenever the search term length is greater than the cell value length by exactly 1 it will satisfy the ends with condition irrespective of what the search term or the cell value is.
Should be a simple fix


[Redesign] Complete new API keys page

Right now, there is no link to get there. The localhost URL is:
https://localhost/account/apikeys
No API keys yet

Account not yet confirmed

Create API key UI

Expired and legacy states

Edit UI

New API key complete

We will be getting new icons later.

Scenario:
Edit an api key with a glob patter. Change the glob pattern to an invalid value.
Expected: Error message is shown immediately when an invalid char is entered.
Actual: error message appears only when "Edit" button is clicked.

Scenario:
Click the edit button an edit the glob pattern. Click cancel. Click edit on the same package again.
Expected:
The entered value is cleared.
Actual:
Entered glob pattern is still there

Scenario:
Regenerate an API key
Expected:
The screen focus "jumps" to the line with new key
Actual:
Screen doesnt move

Consider going over this: https://github.com/NuGet/NuGetGallery/issues/3486
A few things that didn't work well with the old page
One item I recommend taking from there is the close button for messages. They are pretty annoying..

Create new api key: error message regarding missing key name appears bellow the control. But for glob pattern error- above the control

Scenario:
Regenerate an API key
Expected:
The screen focus "jumps" to the line with new key
Actual:
Screen doesnt move

By design. I'd rather no hijack scrolling on the user's browser. The visual call-out is done by changing the icon and moving it to the top of the list.

Create new api key: error message regarding missing key name appears bellow the control. But for glob pattern error- above the control

I struggled with this one. If the error is below the form field then it pushes the package checkboxes down. I could not figure a good way to make the "example" column on the right to keep the same height.

Consider going over this: https://github.com/NuGet/NuGetGallery/issues/3486
A few things that didn't work well with the old page
One item I recommend taking from there is the close button for messages. They are pretty annoying..

I prefer to not introduce dismissable messages. There is only ever a constant number of messages, each actionable.

Scenario:
Click the edit button an edit the glob pattern. Click cancel. Click edit on the same package again.
Expected:
The entered value is cleared.
Actual:
Entered glob pattern is still there

Fixed.

Scenario:
Edit an api key with a glob patter. Change the glob pattern to an invalid value.
Expected: Error message is shown immediately when an invalid char is entered.
Actual: error message appears only when "Edit" button is clicked.
Edit: similar issue with create key glob

Fixed.


Fixed user profile not fetching on url change

Fixes #3

Thank you for the pull request.  I will merge it and update the repo.


Geolocation API is not working.

Having issue with the API at the moment, which exact API did you use from Google? I tried various ones from Google Maps Javascript API to Google Maps Geolocation and nothing works.
My API looks like this: AIzaSyB_XXXXXXXXXXXXX. Is yours similar?

Have you cloned this repo and started the server? That's the backend portion of this weather app and needs to be running at the same time.

@krestaino No I did not. I guess that should fix the problem. Dam, I thought the API server is already running from your web service.

Probably fixed with #21


avoid copies in: crypto_secretbox, add binding to crypto_secretbox_detached

I have realized that the current implementation allocates more memory in crypto_secretbox
https://github.com/paixaop/node-sodium/blob/master/sodium.cc#L575-L603
crypto_secretbox expects the message to start after 32 zero bytes. this seems strange, but the rationale is that then you can use the same buffer for the plaintext input and the ciphertext output, if you want to painstakingly manage your memory. In this node binding new buffers are allocated for the return value, but in the c code, you must pass in a pointer to the buffer that you would like the return value written into. this gives the option to use the same buffer as the input and the output.
If you are writing modular code, then you don't know where there input will come from, and so getting a buffer with an extra 32 bytes and the start seems unlikely. However, there is also a method crypto_secretbox_detached and crypto_secretbox_open_detached which support having the mac in a different buffer.
That is probably a more practical optimization, in fact, I already use that here https://github.com/dominictarr/pull-box-stream/blob/master/index.js#L11-L16 although at the time of writing that code I wasn't aware that sodium implemented crypto_secretbox_open_detached.
This is something that needs to happen at some point, putting this here as a reminder for my self, unless someone else wants to take it ;)

crypto_secretbox_open_detached implemented in new branch that moves to libsodium 1.0.10 and implements a bunch of new functions see https://github.com/paixaop/node-sodium/tree/split-sodium


Stuck at "Signing In"

If I try a user that doesn't exist or a wrong password I get an error so the authentication should work. It's just showing Signing In with the spinning animation and doesn't progress.

I faced this same issue in Google chrome (Version 90.0.4430.212). When I tried in Firefox (78.10.1esr), I was able to sign in within seconds.

I had change to firefox, but the problem still happens.