how to check or remove invalid handle on subscription_map ?

Consider following scenario:
// m is multiple_subscription_map

// connect
session.client_id = "cid1";

// subscribe
auto ret = m.insert_or_update("a/b", session.client_id, 1); // insert new kv at "a/b"
assert(ret.second);
session.handles.push_back(ret.first); // store handles to erase the element from subscription_map when disconnects

// unsubscribe (not always happen)
auto num = m.erase("a/b", session.client_id); // returns number of erased elements
assert(num == 1);

// disconnect (in the session destructor)
for (auto const& handle : session.handles) {
    // Throw invalid handle exception if unsubscribe happens,
    // because the element corresponding to the handle has
    // already been erased on subscribe.
    m.erase(handle, session.client_id);
}

session holds a set of subscribed handlers to erase when disconnection.
The handlers added by subscribe and erased by unsubsribe.
But it seems that there is no way to remove unsubscribed handle from session.handles.
Perhaps m.erase returns erased handle, I can erase the erased handle session.handles.
But the erased handle needs to valid. "valid" means equally comparable to session.handles.
@kleunen, What do you think?

I guess that erase() returns handle in not practical. I don't know much about handle type.
But providing valid handle after erase() is intrinsically impossible.
Memory address could be reused.
How about this idea?
Replace the following unsubscribing process to separated member function call.
// unsubscribe (not always happen)
auto num = m.erase("a/b", session.client_id); // returns number of erased elements
assert(num == 1);

auto handle = m.get_handle("a/b", session.client_id); // not erase, just return handle

// handle is valid here

// remove handle from session.handles first
session.handles.erase(handle); // Let's say session.handles is multi_index container, it is possible and easy

// Then erase from subscription_map using handle
m.erase(handle, session.client_id);

subscription_map just add get_handle() member function.

@redboltz
The is already an operation to find the handle for a subscription. It is called lookup:
    // Lookup a subscription
    handle lookup(MQTT_NS::string_view subscription) {
        return this->path_to_handle(this->find_subscription(subscription));
    }

So you can do the following:
auto handle = m.lookup("a/b"); // not erase, just return handle

// handle is valid here

// remove handle from session.handles first
session.handles.erase(handle); // Let's say session.handles is multi_index container, it is possible and easy

// Then erase from subscription_map using handle
m.erase(handle, session.client_id);

Ah, I can use lookup(). I looked over base class member function.


swift-format causes a infinite loop on Linux if .swift-format is missing

Description
On Linux, when all ancestor directories do not have .swift-format, swift-format causes a infinite loop. swift-format lint and swift-format format do not work.
Steps to reproduce
Please make sure that /, /home, and /home/<user name> do not contain .swift-format.
$ cd
$ echo 'let foo:Int=0' > test.swift
$ swift format lint test.swift

Expected behavior
test.swift:1:9: warning: [Spacing] add 1 space
test.swift:1:12: warning: [Spacing] add 1 space
test.swift:1:13: warning: [Spacing] add 1 space

Actual behavior
swift-format never finishes because of a infinite loop.
Environment
I use swift-format bundled in the Swift 6.0.1 toolchain.
$ uname -a
Linux Raspberry-beetle 6.6.51+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt2 (2024-10-01) aarch64 GNU/Linux
$ swift --version
Swift version 6.0.1 (swift-6.0.1-RELEASE)
Target: aarch64-unknown-linux-gnu
$ swift format --version
main
$ which swift-format
/home/kebo/.local/bin/swift-format
$ swiftly list
Installed release toolchains
----------------------------
Swift 6.0.1 (in use)

Installed snapshot toolchains
-----------------------------
6.0-snapshot-2024-09-17

Supplement
I think that the root cause is a combination of swift-foundation's URL and swift-format's this line.
swift-foundation's URL is different from macOS's URL.

On Linux (Swift 6.0.1)

URL(filePath: "/foo", directoryHint: .notDirectory).deletingLastPathComponent().path()

returns "/"

URL(filePath: "/foo", directoryHint: .isDirectory).deletingLastPathComponent().path()

returns "" (empty string)

On macOS 15.0.1 (Xcode 16.0)

Both return "/"

On Linux, when I added print(self.path) to the line, self.path changed as follows.

"/foo/bar/baz"
"/foo/bar"
"/foo"
"" (empty string)
"" (empty string)
"" (empty string)
... (infinite loop)

So self.path == "/" couldn't return true forever.

https://github.com/swiftlang/swift-foundation/pull/969 may fix this issue.

#802 fixed this problem once, but it happened again with #845.

Synced to Apple’s issue tracker as rdar://137738047

Neither https://github.com/swiftlang/swift-format/pull/802 nor https://github.com/swiftlang/swift-format/pull/845 apply if you’re using swift-format from a Swift 6.0 toolchain because those PRs only got merged into main, not into release/6.0.
I’m cherry-picking the fixes to 6.0 in https://github.com/swiftlang/swift-format/pull/849

@ahoppen
My comment below is the result of building and testing from source code of the main branch with a Swift 6.0 toolchain.

#802 fixed this problem once, but it happened again with #845.

Oh, I see. I wasn’t sure if you built from source. Thanks for your detailed analysis.


Kosovo is missing in Europe map

Hello,
What a fun tool!
Could you add Kosovo please?
Kind regards,
Daniel

And Gibraltar 😄

see https://github.com/tenpages/us-level/issues/4#issuecomment-1291184947 and https://github.com/tenpages/us-level/blob/17d6d507e1d86bbc4f70ce408147844df0376fa5/README.md?plain=1#L32

Thanks for your quick reply, @tenpages!
Just to be clear: Kosovo is recognized by a majority of countries in the world. You find more details here: https://en.wikipedia.org/wiki/International_recognition_of_Kosovo


[Bug]: Cannot find module

What happened?
When running npm run build after following instructions I get an error cannot find module '../../../../vendor/filament/filament/tailwind.config.preset'
Manually removing 'vendor' from the file 'resources/css/tailwind.config.js' allows the build script to run.
How to reproduce the bug
following instructions to install
Package Version
1
PHP Version
8.3
Laravel Version
11
Which operating systems does with happen with?
No response
Notes
No response

I am using laravel Sail, Docker.
I had the same error, here is the source:

I corrected by adding an extra '../' so it would find the tailwind.config.preset file.
Beautiful theme @andreia ! I really loved it, specially the dark mode :-)

@Jam0r85 @mmonari Thank you!
Thanks for the heads up! :)
I'll work on it next weekend

@mmonari Sweet, Thank you for taking the time to work on this! :)


fix after-delete and after-move routing for filepreview view

When it's a delete, always navigate to the parent folder of the thing
that's deleted.

When it's a move, always navigate to the destination parent folder.

beep bop bump


[Question] Additional Example

Hi
I would like to request for additional sample

We have records in the dfs data, how to perform delete 1 or many records in the database?
in case the ts is not valid anymore or we want to reduce from 1 sec data into 1 mins data.
How to add dynamic partition,
db.run("db=database('dfs://testDatabase',VALUE,'MS' 'GOOG' 'FB' 'AMD')");
a new symbol is adding into the system ex: NVIDIA, how to perform update the partition
How to perform append only records that is not in the database?
it is can be done from the db.run(script) or need to handle from the C# code level

Hi,
Thanks for trying DolphinDB.

DolphinDB does not support record level data deletion, but partition level. For example, if you use date as partition, you could drop partitions for certain days' data through function dropPartition.

if you use VALUE partition, it is recommended to add the following to your controller.cfg file.
newValuePartitionPolicy=add
The system will automatically add new partitions for you. The cluster or single node need to be restarted for this to take effect.

You could also add new partition on the fly through function addValuePartitions. Suppose you only have one level partition, you could use something like this:
db.run("addValuePartitions(db, ['NVIDIA'], 1)")

DolphinDB does not support conditional appending. But we will consider this feature in the future release.

Best
DolphinDB Support


Samples can be updated leveraging the auto-hydration support in Config Sync

For example, https://github.com/GoogleCloudPlatform/anthos-config-management-samples/tree/main/multi-cluster-access-and-quota can be updated to render the manifests in the cluster leveraging native support of Kustomize in Config Sync.

Thanks for bringing this up @janetkuo.
I will start do some research about which sample has this old way to deal with Kustomize with Config Sync and see where it's used or not in docs, etc. From there, we could plan accordingly how/when making the updates.
As an example, this one https://github.com/GoogleCloudPlatform/anthos-config-management-samples/tree/main/kustomize-pipeline is another one in this situation.

I think it's fine to keep it, as some customers prefer to have things rendered before syncing them to the cluster. For example, we have https://cloud.google.com/anthos-config-management/docs/tutorials/multiple-environments-config-sync that leverages the Kustomize rendering feature and https://cloud.google.com/anthos-config-management/docs/tutorials/multiple-environments-cloud-build that uses Cloud Build to render Kustomize manifests before syncing them to the cluster.
If keeping both makes the guide too complicated, it's fine to just keep the auto-rendering one for simplicity.

@mathieu-benoit - is there an update on this issues?

Closing this improvement due to capacity limitations.
The following up-to-date documentation pages can be used further to implement the built-in rendering functionality of Config Sync:

https://cloud.google.com/anthos-config-management/docs/tutorials/config-sync-helm
https://cloud.google.com/anthos-config-management/docs/tutorials/multiple-environments-config-sync


Allow specifying a custom TileLayer class

Specifying a custom TileLayer class is useful for integrating 3rd party TileLayers while keeping the nice Vue-semantics of Vue2Leaflet.
For example, we're using this change to support leaflet.offline tilelayers.

Hi @snickell,
Your PR is now available in v0.0.60.
Micka

Hey @snickell, have you got a working example of this? I'm having trouble getting it to work with esri-leaflet's TiledMapLayer.

Hi @timwis,
ESRI layer doesn't have the same signature as the Leaflet one.
L.tilelayer( urlTemplate,  options?)
vs
L.esri.tiledMapLayer( options)
vs
L.tileLayer.offline( urlTemplate,  tilesDb,  options?)
But because tile layer is just a function you can just make your own function modifying parameter orders.
Here is a running example with ESRI and Vue2Leaflet v0.0.60.
Hope this helps,
Micka

Oh!! I actually tried wrapping it in a function like that but I passed the url instead of the options object. Doh! Thanks so much for taking the time.


Issue with unicode chars

Since somewhere near  61f58e0dd9007a7c7ac73715e23406148d17046f
using multibyte chars is failing, here is a minimal snippet with the problem
    s({ trig = "tt" }, {
      t { "╔" },
      f(function() return "0" end, {}),   -- Seems related to having `t` and then `f` with only t it works fine
      t { "1", "2" },
      i(0),
    }),

Wow, what?? I would've expected some weird highlighting, but that??? Lemme see what is going wrong there

Maybe was not that one, but was one near it,
this one was fine 530e081eae05ba8f15aab44ae35534a93863a4ea in case you wanna bisect.

In case you wanna bisect 530e081eae05ba8f15aab44ae35534a93863a4ea was fine.

Okay, weird, you can reproduce it minimally by inserting ╔ into an empty file and then calling :lua vim.api.nvim_buf_set_text(0,0,1,0,1,{"0"}).
But I could've sworn that set_text uses column-indexing, not some weird byte-stuff.

Yes, the doc is misleading as they use *_column in the naming.

Yeah, specify utf-8- vs. byte-indexing.
I pushed a fix, should work again :sweat_smile:

I hope nvim team decides to introduce some utf-8/unicode  lua lib.

What other problems are there with beside indexing?

What other problems are there besides indexing?
Not that I know but anyway, it's an editor, dealing with Unicode should be easier.

I have to check if my selection thingy works well in that regard too, as I only tested it with ascii chars.


Thresholds for widerface evaluation

Thanks for your excellent work! For SIO(Single Inference on the Original) evaluation schema, I get bad results on widerface validation set. Maybe it is due to the suboptimal thresholds (thres_score, thres_nms, etc). Could you please share your thresholds for widerface evaluation? Thanks pretty much!

Thanks for your excellent work! For SIO(Single Inference on the Original) evaluation schema, I get bad results on widerface validation set. Maybe it is due to the suboptimal thresholds (thres_score, thres_nms, etc). Could you please share your thresholds for widerface evaluation? Thanks pretty much!

You can refer to the python code.

https://github.com/Star-Clouds/CenterFace/blob/ef5afcda9635003bc71be71c3b4e13a349c382c7/prj-python/demo.py#L77
The above thresholds were used for widerface evaluation, but only get some poor results (Easy 0.02, Medium 0.03, Hard 0.03). But if I set thres_score=0.5, then the result seems much better (Easy 0.49, Medium 0.55, Hard 0.36). That is why I think there should be something wrong with my experiments.


Text cannot be selected.

Describe the bug
Text in the UI cannot be selected & copied.
To Reproduce

Print some text in a tui box.
Try to select it.

Expected behavior
Text can be marked and copied.
Desktop (please complete the following information):

OS: Linux
Terminal Emulator: Ubuntu Terminal
Font: Monospace
Crate version: 0.8.0
Backend: termion

It would be great if this could be done. I am not sure if this is a bug or really just impossible because of the ever updating text buffer of the terminal.
I would like to have this option as I build a logger from which I would like to copy paste.

Could you show how you initialize your terminal ? If you use input::MouseTerminal from termion then your application will intercept all mouse events and thus disabling the "normal" behavior of your terminal of choice in response to mouse click or drag events.

Ah, this is indeed the case! Thanks for the tip! I will look into it.

I am also experiencing this issue with crossterm. Any workaround?


Building with cmake

I made it possible to build with CMake because my project uses CMake. LOL. 😎👍
also I edited Building.md a little.
I'm working on windows, but should work on all platforms. I haven't checked.
Have a good day :)~

Thanks for your your PR! Unfortunately,I don't like cmake, and I don't want to have another build system that needs to be tested and maintained across all platforms, so I'm not going to accept this change. Good day

No problem. I'll keep this fork for my work anyway. I've seen people asking about it, so you can redirect them if you need to. Thank you for continuing to work on the project.


Added web3 package

Checklist:

[x] Meaningful commit message - please not Update build-constraints.yml

[x] Some time passed since Hackage upload

[ ] On your own machine, in a new directory, you have succesfully run the following set of commands (replace $package with the name of the package that is submitted, $version is the version of the package you want to get into Stackage):
stack unpack $package
cd $package-$version
stack init --resolver nightly
stack build --resolver nightly --haddock --test --bench --no-run-benchmarks

stackage-curator reports the following bounds issues now:
async-2.2.1 (Michael Snoyman<EMAIL_ADDRESS>@snoyberg) is out of bounds for:
- [ ] web3-<IP_ADDRESS> (>=<IP_ADDRESS> && < 2.2). Alexander Krupenkin<EMAIL_ADDRESS>@akru. @airalab. Used by: library, test-suite

base-<IP_ADDRESS> is out of bounds for:
- [ ] web3-<IP_ADDRESS> (>=<IP_ADDRESS> && < 4.11). Alexander Krupenkin<EMAIL_ADDRESS>@akru. @airalab. Used by: library, test-suite

hspec-2.5.0 (Simon Hengel<EMAIL_ADDRESS>@sol) is out of bounds for:
- [ ] web3-<IP_ADDRESS> (>=2.4.8 && < 2.5). Alexander Krupenkin<EMAIL_ADDRESS>@akru. @airalab. Used by: test-suite

hspec-contrib-0.5.0 is out of bounds for:
- [ ] web3-<IP_ADDRESS> (>=0.4.0 && < 0.5). Alexander Krupenkin<EMAIL_ADDRESS>@akru. @airalab. Used by: test-suite

hspec-discover-2.5.0 is out of bounds for:
- [ ] web3-<IP_ADDRESS> (>=2.4.8 && < 2.5). Alexander Krupenkin<EMAIL_ADDRESS>@akru. @airalab. Used by: test-suite

template-haskell-<IP_ADDRESS> is out of bounds for:
- [ ] web3-<IP_ADDRESS> (>=<IP_ADDRESS> && < 2.13). Alexander Krupenkin<EMAIL_ADDRESS>@akru. @airalab. Used by: library

So, may be reason of this is using LTS resolver for sdist uploading.
What do you think, how I can use lts and nightly resolvers both for sdist export.

@alexeyzab Now I have release v<IP_ADDRESS> with dependencies hand-write bounds for GHC 8.2.2-8.4.2 and it builds correctly. (Not all tests: live test require testbed and build fail in clear environment).

@mihaimaruseac @DanBurton

Added now, sorry for the delay.

Thank you!


mj-location always displaying the default image

The mj-location component, which allows you to set an address which will link to Google Maps, provides a default photo to accompany it. The component has an attribute, src, which also allows you to display your own photo.
However, changing the src attribute to something else will always end up displaying the default image - it is necessary to go into the compiled HTML file and change it from there in order to add your own custom image.
How to reproduce error:

Use an  component and add a custom src attribute.
Compile to MJML and view the result.

It should display your custom image, but it displays the default.

Here, you can see the issue on the online MJML editor using the latest version of Google Chrome.
Atom version : 1.8.0
Language MJML version :  1.3.0

It's typo in the documentation, you should use img-src attribute.

Thanks for the clarification, @Everus

Thanks for submitting this issue @DHDaniel and thank you @Everus for solving it! We'll update the documentation.
By the way, have you seen that the v2 (now 2.2.0) was released? A lot of new features that you will likely enjoy were added :-)

Using MJML again, looked at documentation, and apparently it still says "src" instead of "img-src" on the website (https://mjml.io/documentation/#mjml-location). However, it does appear correctly in https://github.com/mjmlio/mjml/tree/master/packages/mjml-location . Could it be added to the website as well, to avoid confusion?

Hey @DHDaniel, thanks for your message. It'll be updated on the website when we release MJML v2.3.0, very likely next week :-).

Website will be updated tomorrow, and it has been fixed in the github documentation

is Mj-location supported in v4+?
I am seeing following while using mj-location, any idea
Line undefined of undefined (mj-location) — Element mj-location doesn't exist or is not registered
MJML v4.0.5.
Appreciate any help :)

sad to hear this. it is still listed on your website though > maybe remove it there, too.
https://mjml.io/components

As it's very easy to reproduce with a simple mj-image and mj-text, the added value is very weak, which is why we removed it.
@jakob-senzio the components page is not accessible from the navigation anymore, how did you find it, Google?

yup, found it via google.


copacetic: init at 0.9.0

Copacetic is a CNCF sandbox project that can be used to patch vulnerabilities in container images. https://project-copacetic.github.io/copacetic
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@Aleksanaa thanks for taking a look and sorry for taking so long to get back to this. Would you mind taking another look? Thanks.

@ofborg build copacetic


Add code coverage and replace PhantomJS

Add code coverage using coveralls.io
Replace PhantomJS with HeadlessChrome due to mismatch coverage (PhantomJS always lower than Chrome)
Change .travis.yml due to HeadlessChrome usage

Changes Unknown when pulling 825fc0b8c41499e40a2eef0e942a823cd2f547e0 on develop into ** on master**.


What is the difference between the shopping cart and wheelbarrow mod (other than appearance)?

I can't find a good comparison between the two

One was made to be acquired only from the store but then somebody asked to make them spawn as scrap with limited spawn.
Shopping Cart was (and still is) originally spawning one time only per moon landing on a chance.
Besides that and appearance as you already mentioned, there is no other meaningful difference between the two.


send message on quit

fixes #15

added type checking to src/js/main.js
track state.ui.quitMsg
define SET_QUIT_MSG action
wire up to <Settings />

inspired by prior work from @Fohlen


Support func_illusionary

func_illusionary is similar to CLIP and SKIP, but is used for brushes that have a visual component but no collision component.
Reference - https://quakewiki.org/wiki/func_illusionary

Done as part of the QodotMap refactor


Installation and Configuration page needs to reflect specifying server

The plugin installation information on this page,
https://www.pulumi.com/registry/packages/equinix/installation-configuration/#provider-binary
does not include the --server parameter.
The server parameter is needed when manually installing the Equinix plugin since it is not hosted by Pulumi and so throws a 403 error when installed as documented.
Instead, the docs should reflect the need to specify the server as in:
pulumi plugin install resource equinix v0.2.1 --server github://api.github.com/equinix

Hi @MitchellGerdisch, thanks for letting us know about the error in our documentation


Added leading zero for "9" minutes and seconds

Hello, Kevin!
I have fixed a bug in "formatted" method with missed leading zero for values "9" of minutes and seconds where hours or minutes exists accordingly.
Before that fix PHPUnit throwed failure on values "1:09" and "1:09:00", now it passes tests normally.

Coverage remained the same at 97.541% when pulling b2b284c5703f2e35d035e40cf4db5a7c9d50b790 on AntonLazarev:leading_zero into 39a5cb186b6a48b07b15ae230efb30773b237638 on kevinkhill:master.

Thank you! I didn't even realize I was missing some edge cases.
I also don't know what is wrong with Travis, so thank you for the screenshots.


Fixed 'email sending quota' link in user-data-cleanup

Prior to this commit it was an empty link, now it will link directly to the Google support page.

I signed it!

Thanks @davidchalifoux !


python310Packages.aio-geojson-generic-client: 0.1 -> 0.3

Diff: https://github.com/exxamalte/python-aio-geojson-generic-client/compare/refs/tags/v0.1...v0.3
Changelog: https://github.com/exxamalte/python-aio-geojson-generic-client/blob/v0.3/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

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

3 packages built:

home-assistant-component-tests.geo_json_events
python310Packages.aio-geojson-generic-client
python311Packages.aio-geojson-generic-client


Add GodotConsoleReporter for doctest

This introduces a doctest reporter which inherits from the builtin ConsoleReporter. Some methods are overridden to make sure that Godot error prints get always re-enabled between test case runs, and the reporter is set as default now (named as "godot_console", built-in is just "console").
We currently have a problem that some values are not converted in the test runner output (should be fixed by #40945):
D:\src\godot\tests\test_string.h(191): SUCCESS: CHECK( s == "Who is Frederic Chopin?" ) is correct!
  values: CHECK( {?} == Who is Frederic Chopin? )

GodotConsoleReporter can be extended to potentially customize the output of running tests to work better with Godot datatypes in the future... This only provides stub implementation with the doctest defaults.
Linking some test cases which allow to test these changes in tests\test_validate_testing.h:
	// The following only makes sense for when "godot_console" reporter is used.
	// But there's no way to fetch currently active reporter in doctest...
	SUBCASE("Forgetting to ERR_PRINT_ON after ERR_PRINT_OFF") {
		ERR_PRINT_OFF;
		ERR_PRINT("Still waiting for Godot!"); // This should never get printed!
		SUBCASE("") {
			CHECK_MESSAGE(_print_error_enabled, "Error printing should be re-enabled automatically.");
		}
	}

This is kind of not needed currently with #40945 merged. After rebase, I'm not sure why would it fail and it's likely better to redo this anyway at some point, if truly needed. GDScript integration tests expected output can be potentially improved with this in #41074, but not high priority, so closing.
[salvagable]


Handle already indented code

Black fails to parse the following file with --fast:
  foo = 1
  if foo:
    pass

error: cannot format t.py: Cannot parse: 2:0:   if foo:

I am using --fast here, since it appears to be required for handing already indented code in the first place.
It works when removing the first line, i.e. with:
  if foo:
    pass

It might be worth considering to use textwrap.dedent on the input first, and add indentation afterwards again.
The use case is using black for parts of code from an editor.
Operating system: Arch Linux
Python version: 3.7.3
Black version: 19.3b0
Does also happen on master: no

Black only accepts valid python as its input. Unfortunately figuring out how to make the input valid python is out of scope of a simple formatter like Black.

Pity.. created a wrapper:
#!/usr/bin/env python
"""Wrapper around ``black`` to dedent/reindent partial code via textwrap.

Ref: https://github.com/ambv/black/issues/796
"""

import textwrap
import sys
import subprocess

def dedent(stdin):
    if not stdin:
        return 0, stdin
    dedented = textwrap.dedent(stdin)
    indent = stdin.index("\n") - dedented.index("\n")
    return indent, dedented

def main(argv):
    try:
        argv.remove("-")
    except ValueError:
        sys.stderr.write("should be used with stdin, i.e. -\n")
        sys.exit(64)

    stdin = sys.stdin.read()
    indent, dedented = dedent(stdin)

    proc = subprocess.Popen(
        ["black", "-"] + argv,
        stdin=subprocess.PIPE,
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
    )
    stdin = dedented.encode()
    stdout, stderr = proc.communicate(stdin)
    stdout = stdout.decode("utf8")
    if proc.returncode == 0:
        if indent:
            prefix = " " * indent
            stdout = "".join(prefix + line for line in stdout.splitlines(True))
    # sys.stdout.write(":"+stdout+":")
    sys.stdout.write(stdout)
    sys.stderr.write(stderr.decode("utf8"))
    return proc.returncode

if __name__ == "__main__":
    sys.exit(main(sys.argv[1:]))

class Test:
    def test_dedent(self):
        assert dedent("") == (0, "")
        assert dedent("  if True:\n    pass\n") == (2, "if True:\n  pass\n")
        assert dedent("  if True:\npass\n") == (0, "  if True:\npass\n")

    def test_main(self, monkeypatch, capsys):
        stdin = []

        def read():
            nonlocal stdin
            return "\n".join(stdin)

        monkeypatch.setattr(sys.stdin, "read", read)

        assert main(["-q", "-"]) == 0
        out, err = capsys.readouterr()
        assert out == ""
        assert err == ""

        # No changes, but still indented.
        stdin = ["    if foo:", "        pass"]
        assert main(["-q", "-"]) == 0
        out, err = capsys.readouterr()
        assert out.splitlines() == stdin
        assert err == ""

        # No changes, no indent.
        stdin = ["def foo():", "    pass"]
        assert main(["-q", "-"]) == 0
        out, err = capsys.readouterr()
        assert out.splitlines() == stdin
        assert err == ""

        # Invalid.
        stdin = ["    if foo:", "pass"]
        assert main(["-q", "-"]) == 123
        out, err = capsys.readouterr()
        assert out.splitlines() == stdin
        assert err == "error: cannot format -: Cannot parse: 2:0: pass\n"

FWIW, I've found out that it is better to prepend a class foo: line in this case - to keep the same indent level for black.  This is what I've done before manually (but using if True:, which appears to be more likely to add a newline).


[release-v1.4] Github action for building multiarch test images

Part of https://issues.redhat.com/browse/SRVCOM-2053

Use pull_request_target event to trigger this github action - it will work with the target repository instead of the forked repository where this PR is coming from (required for getting access to credentials
Use types: [ closed ] together with if: github.event.pull_request.merged == true which will run the github action after this PR is merged (not before). See tutorial
The QUAY_USER and QUAY_TOKEN have already been set up in this github project
Only specific actions are configured in this repo with this pattern: openshift-knative/eventing-kafka-broker/openshift/workflows/*. See https://github.com/openshift-knative/eventing-kafka-broker/settings/actions

/hold

/hold cancel

@cardil Thanks, pushed.


WASM target fails to compile

          It would be nice if the features which did work on WASM were able to be used. My understanding is that this crate cannot be built for WASM targets currently because the `Default` for `AppBackend` hasn't been implemented yet. It's clear that this is the commented-out TODO code. For me, it would be preferable if this code panicked if used rather than preventing compilation entirely.

Originally posted by @MeoMix in https://github.com/hankjordan/bevy_save/issues/4#issuecomment-1679125540

Thank you!


feat: add --features argument to cargo shuttle run

Description of change
This PR adds --features argument to run subcommand for activating cargo features.
See #913 for more detail.
How Has This Been Tested (if applicable)?
I ran it locally, worked fine.

It's a good feature request.
It would be suitable to make it work for deployments as well. Not sure if this complicates things.
It's worth considering how this affects #756, but it seems completely fine.

It would be suitable to make it work for deployments as well. Not sure if this complicates things.

I was going to implement it for deployments as well but couldn't figure out how deploy command works. I guess the build happens somewhere else since it only sends a request along with a compressed archive, right? I would be happy to go ahead and implement it if I can get a better understanding of the internals.

It's worth considering how this affects #756, but it seems completely fine.

Oh, I think it is easily convertable to execute the cargo command instead, so I agree.

It would probably work to add them as a URL parameter, like no_test is now.
But I remembered there is another challenge:
In the PR now, all shuttle crates in the workspace gets the same feature flags set.
Specifying flags to individual crates becomes a challenge.
Related:

similar request as the --features: https://github.com/shuttle-hq/shuttle/issues/751
unresolved questions about workspace: https://github.com/shuttle-hq/shuttle/pull/767#discussion_r1151750730

#756 has been merged now, so you will have to make some changes.

Hey @orhun, thanks for getting started on this! Apologies for the delayed review, but we're in the middle of a major refactor of how we build crates and deploy users projects. I think it makes sense to hold off on this until that is all merged. The PR for the builder should be up within a few days!

Refactored the code to use the new cargo build mechanism. Let me know if it looks okay!
I might provide another PR for the deploy subcommand.

There was a discussion about this the other day, regarding design of multi-service deploys.
Sadly, it looks like shuttle services will require the default binary and features to be the shuttle version of the crate.
It does not only apply to --features, so supporting customization of this sort becomes a catch up game with cargo's build and run

I see, in that case, what exactly is needed?

Something like this https://github.com/shuttle-hq/shuttle-examples/pull/61/files

Unfortunately I'm still not following. I guess I will wait a bit until things stabilize 😅

Yeah, with the major deployment rewrite coming up there are a lot of question marks from me as well.

I'll close this for now @orhun, we can pick it up again when we're implementing the builder, but it will likely take a different shape.


Remove check-query-cache experimental flag

Summary
Remove experimental flag and guarding around it.

Don't remove before fixing this: https://github.com/openfga/openfga/issues/1058


Broker Lifecycle conformance test plan proposal

Changes
Adding proposed structure to define the Knative Eventing Conformance Test Plan, including an example for the Control Plane Broker Lifecycle Tests. These tests define a set of resources that needs to be created, the assertions that need to be done, and the expected output that needs to be generated to be able to validate conformance.
The intention of this proposal is to enable people to start automating these tests, also to reach a consensus about what means to test for conformance and how it needs to be done.
🎁 Proposal for Conformance Test Plan structure and manual steps
/kind enhancement

@benmoss I don't know why but I need your consent here.

have you tried rebasing this PR?

Ah because of the code suggestions that you committed, they show up as being coauthored by me.
@googlebot I consent

@googlebot I consent.

/lgtm


redo-enabled changefeed get stuck

What did you do?

open redo-enabled tidb sink changefeed  and s3 sink changefeed
tikv resolve ts cannot advance because of https://github.com/tikv/tikv/issues/16340
then tikv upgraded and resolve ts advanced

What did you expect to see?
No response
What did you see instead?

when tikv resolve ts got stuck , changefeeds' checkpoint couldn't advance
when tikv resolve ts advanced, s3 sink changefeed checkpoint advanced but redo tidb sink changefeed get stuck yet and eventually in error.

Versions of the cluster
Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
(paste TiDB cluster version here)

Upstream TiKV version (execute tikv-server --version):
(paste TiKV version here)

TiCDC version (execute cdc version):
sh-5.1# /cdc version
Release Version: v7.6.0-alpha
Git Commit Hash: bfc74c3abf62904481ad31b4c794de1ae43c6a1b
Git Branch: heads/refs/tags/v7.6.0-alpha
UTC Build Time: 2024-01-10 11:37:33
Go Version: go version go1.21.5 linux/amd64
Failpoint Build: false

/severity major

From the log of owner, we can find that the resolvedTs of table-210261 is stuck:

From the log of ticdc-0, we can find that the kv client of table-210261 is stuck for up to 24 hours:

Form the log of tikv-12, we can find that the leader of region 13466505 is stuck for up to 24 hours:

In conclusion, this issue was caused by the tikv issue #16340. Besides, we also find that the monitor of max gap of resolvedTs is inaccurate.

For ticdc, the ticdc_scheduler_slow_table_puller_resolved_ts_lag is also inaccurate: It calculates the progress of the table with the slowest checkpoint. However, what we really care about is the puller progress of the table with the smallest resolvedTs.


Fixed #32419 -- Clarified URLconf in example of serving media files.

…loaded during development

@Amansingh1202 Thanks :+1: Welcome aboard :boat:


Enable Sourcegraph

I want to use Sourcegraph code search and code review with polymer. A project maintainer needs to enable it to set up a webhook so the code is up-to-date there.
Could you please enable polymer on @Sourcegraph by going to https://sourcegraph.com/github.com/Polymer/polymer and clicking on Settings? (It should only take 15 seconds.)
Thank you!

Closing this issue due to age and the release of version 1 of Polymer - please feel free to re-open if this is incorrect.


Add request and connection plugin to proxy-nsmd-k8s

Description

Motivation and Context

How Has This Been Tested?

[ ] Covered by existing integration testing
[ ] Added integration testing to cover
[ ] Tested locally
[ ] Have not tested

Types of changes

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

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Could you say a bit more about the benefits of splitting out low level details such as this int a plugin?


Is there something wrong with graph colors?

The graphs in the feature-demo repository appear grayed out. Only the line graph seems to show colors correctly.
https://gitpitch.com/gitpitch/feature-demo/charts#/3

Hi Antão, for the charts to render properly according to their properties I should be using the JSON property syntax from the Charts plugin consistently. I have just updated the sample PITCHME.md markdown to demonstrate the proper usage in all cases. If you open the sample presentation once again you will see each chart is now rendered as expected per the color and label properties. Thanks for bringing this to my attention.

For some reason I thought a default palette would be used. Thanks for the clarification.


Configuration fixes and additions

Some improvements to configuration file handling.

Fixes an infinite loop situation where include files could be recursively loaded, by keeping track of open files and logging an error (include) or skipping the file (include-optional) if an include file loop is found.

Only commits changes an include file makes to the configuration if it was successfully loaded, by storing changes in a data structure until the end of _dp_include(), after all checks are done.

Only reloads the Faucet configuration upon SIGHUP if changes to the configuration were found in some way. It does this when one of the following conditions are met:

The FAUCET_CONFIG environment variable has changed
An include file that was not loaded now exists
A file that has been loaded no longer exists
Loaded files have been changed, by comparing a SHA256 hash of the currently loaded file with the hash of the file that exists on the file system

Adds tests to test_config.py to take into account the above changes.

Thanks - looks like some minor conflicts during to a lot of cleaning up we
are both doing.
Would you be able to pull/resolve (should be minor).
On Fri, Sep 30, 2016 at 4:16 PM, Callum Dickinson<EMAIL_ADDRESS>wrote:

Some improvements to configuration file handling.

Fixes an infinite loop situation where include files could be
recursively loaded, by keeping track of open files and logging an error (
include) or skipping the file (include-optional) if an include file
loop is found.
Only commits changes an include file makes to the configuration if it
was successfully loaded, by storing changes in a data structure until the
end of _dp_include(), after all checks are done.
Only reloads the Faucet configuration upon SIGHUP if changes to the
configuration were found in some way. It does this when one of the
following conditions are met:

The FAUCET_CONFIG environment variable has changed

An include file that was not loaded now exists
A file that has been loaded no longer exists
Loaded files have been changed, by comparing a SHA256 hash of the
currently loaded file with the hash of the file that exists on the file
system

Adds tests to test_config.py to take into account the above changes.

You can view, comment on, or merge this pull request online at:
https://github.com/REANNZ/faucet/pull/220
Commit Summary

Only reload Faucet config if the files have changed
Merge remote-tracking branch 'upstream/master' into
config-reload-hash
Fix recursive includes
Put fully canonical paths in data structure, add logic to avoid
include loops
Merge remote-tracking branch 'upstream/master' into
config-reload-hash
Fix and add unit tests
Add more fine-grained reload detection logic

File Changes

M src/ryu_faucet/org/onfsdn/faucet/config_parser.py
https://github.com/REANNZ/faucet/pull/220/files#diff-0 (98)
M src/ryu_faucet/org/onfsdn/faucet/faucet.py
https://github.com/REANNZ/faucet/pull/220/files#diff-1 (29)
M tests/config/testconfigv2-acls.yaml
https://github.com/REANNZ/faucet/pull/220/files#diff-2 (6)
A tests/config/testconfigv2-includeloop.yaml
https://github.com/REANNZ/faucet/pull/220/files#diff-3 (14)
M tests/test_config.py
https://github.com/REANNZ/faucet/pull/220/files#diff-4 (31)

Patch Links:

https://github.com/REANNZ/faucet/pull/220.patch
https://github.com/REANNZ/faucet/pull/220.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/REANNZ/faucet/pull/220, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEgZ11gLwJKlIj_04yvuolLfj5ojSudZks5qvKlagaJpZM4KKwsm
.

Should be good now.

Seems to have broken tests. Would you be able to investigate please?
root@agent-p:~# more /tmp/faucet-8462.log
loading app ryu.app.ofctl_rest
loading app faucet.py
Create CustomEvent called
loading app ryu.controller.ofp_handler
instantiating app None of DPSet
creating context dpset
creating context wsgi
instantiating app ryu.app.ofctl_rest of RestStatsApi
instantiating app faucet.py of Faucet
Traceback (most recent call last):
File "/usr/local/bin/ryu-manager", line 9, in
load_entry_point('ryu==4.6', 'console_scripts', 'ryu-manager')()

File "/usr/local/lib/python2.7/dist-packages/ryu/cmd/manager.py", line
91, in
main
services.extend(app_mgr.instantiate_apps(**contexts))

File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py",
line 50
9, in instantiate_apps
self._instantiate(app_name, cls, *args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py",
line 49
5, in _instantiate
app = cls(*args, **kwargs)

File "/home/faucet/faucet/src/ryu_faucet/org/onfsdn/faucet/faucet.py",
line 10
1, in init
self.config_hashes, dps = dp_parser(self.config_file, self.logname)

ValueError: need more than 1 value to unpack
On Fri, Sep 30, 2016 at 4:29 PM, Callum Dickinson<EMAIL_ADDRESS>wrote:

Should be good now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/REANNZ/faucet/pull/220#issuecomment-250669598, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEgZ17Fdhqw7pkjgOAeuANOU6Hf5kZ3mks5qvKxIgaJpZM4KKwsm
.

 Friday! All good.
On Fri, Sep 30, 2016 at 4:42 PM, Bailey, Josh<EMAIL_ADDRESS>wrote:

Seems to have broken tests. Would you be able to investigate please?
root@agent-p:~# more /tmp/faucet-8462.log
loading app ryu.app.ofctl_rest
loading app faucet.py
Create CustomEvent called
loading app ryu.controller.ofp_handler
instantiating app None of DPSet
creating context dpset
creating context wsgi
instantiating app ryu.app.ofctl_rest of RestStatsApi
instantiating app faucet.py of Faucet
Traceback (most recent call last):
File "/usr/local/bin/ryu-manager", line 9, in
load_entry_point('ryu==4.6', 'console_scripts', 'ryu-manager')()

File "/usr/local/lib/python2.7/dist-packages/ryu/cmd/manager.py", line
91, in
main
services.extend(app_mgr.instantiate_apps(**contexts))

File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py",
line 50
9, in instantiate_apps
self._instantiate(app_name, cls, *args, **kwargs)

File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py",
line 49
5, in _instantiate
app = cls(*args, **kwargs)

File "/home/faucet/faucet/src/ryu_faucet/org/onfsdn/faucet/faucet.py",
line 10
1, in init
self.config_hashes, dps = dp_parser(self.config_file, self.logname)

ValueError: need more than 1 value to unpack
On Fri, Sep 30, 2016 at 4:29 PM, Callum Dickinson <
<EMAIL_ADDRESS>wrote:

Should be good now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/REANNZ/faucet/pull/220#issuecomment-250669598, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AEgZ17Fdhqw7pkjgOAeuANOU6Hf5kZ3mks5qvKxIgaJpZM4KKwsm
.


Encrypt received samples

Have an option to encrypt received samples:

This would allow running MalwareDB on a system which have an anti-virus system running, and
prevent the unlikely scenario of someone grabbing a sample they're not supposed to be able to retrieve.

This will require:

[X] A database table of encryption keys, and updating the file table to indicate which encryption key is used. This way, in the future, keys can be changed and we can know which key was used for a given sample. Possibly have the server cache the keys in memory to limit the connections needed to Postgres, and since file operations are likely the bulk of the operation for MalwareDB.

0ae8003a221109c2045f5d3f6537e7196c667b01
8486001546c135468eda9e86b83150721a2939bf
4d829e82fc393ec405396485651aa0f27e7fb4d4

[X] Checks to see which key to use to encrypt.

1979a4ac0321540439ab2d9e65e02cc612c2bad4

[X] Decide on an algorithm: AES-128 should be fine. Others?

6a4e80fd2351e8d3478349a638441e28acb9ce18

[ ] ~Have a mechanism for "expiring" old keys and re-encrypting the files; removing the old key from the encryption keys table once it's no longer used by any file entry.~

Thoughts:

Central config: The database management of the key doesn't hinder using multiple database servers.
Rotation: probably overkill here, but it would be painful to add it after the fact.
Crates: Use RustCrypto since it's pure Rust and should work on all targets.
Don't use on wasm32-wasi, since a goal for Enarx's VFS is to provide encryption, and we don't want Wasi applications doing cryptography anyway, that's what wasi-crypto is for when not using Enarx.

Wasi-related items will be revisited in the future


[REVIEW] Pradumnasaraf

GitHub Profile Link
https://github.com/Pradumnasaraf

I love your blog posts section, nice touch! I think this is a great profile. My only thought would be to remove one of the stats/snake section just so people don't have to scroll so far to get to your pinned contributions.

Thank you, Debbi for the feedback, I will remove one of them :)

I love your blog posts section, nice touch! I think this is a great profile. My only thought would be to remove one of the stats/snake section just so people don't have to scroll so far to get to your pinned contributions.

Thank you, Debbi for the feedback, I will remove one of them :)

Looks great 👍

blog section looks amazing
maybe have a think of the priority of the sections
snake animation does not work on Safari

Looks great +1

blog section looks amazing
maybe have a think of the priority of the sections
snake animation does not work on Safari

Thank you for the valuable feedback


[QUESTION] any example of long-polling implementation in remi?

Hello from a newbie :).
[goal] a webpage to always keep a valid HTTP GET request to webserver (long-polling).  So webserver can push data whenever ready to webpage.
[reference] I found long-polling is supported by Javascript: https://javascript.info/long-polling
[question] Is there any example of long-polling implementation in remi? Or other similar approach recommended to meet my goal?
thanks

Hello @ztigerz ,
This is not required in remi. Remi automatically updates html elements that got changed on the server side. This means that, when you do something like mybutton.set_text("new text"), remi sends the message to the page immediately.
Kind Regards.


Export memo helper

Codecov Report

Merging #41 (61a19a9) into master (c154406) will not change coverage.
The diff coverage is 66.66%.

@@           Coverage Diff           @@
##           master      #41   +/-   ##
=======================================
  Coverage   89.06%   89.06%
=======================================
  Files          38       38
  Lines         622      622
  Branches       57       57
=======================================
  Hits          554      554
  Misses         26       26
  Partials       42       42

Impacted Files
Coverage Δ

packages/react/src/utils/useMemoized.ts
80.00% <66.66%> (ø)

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 c154406...61a19a9. Read the comment docs.


State Mismatch. Time expired?

Hey there. First of all, thanks for creating such a usefull package!
I'm experiencing a following problem. I have 2 Django projects that use Google SSO login and are running on CloudRun. The settings in settings.py file are the same in the "Google" part. I checked every line of code to make sure that I did everything right. Login in the 1st project works perfect. In the 2nd project I get an error "State Mismatch. Time expired?" after I log in with my google account. If I try to log in 2-3 times in a row, I get through, but not on the home page - I land on Django admin. I inspected the login process with the browser dev tools - when I open home page after login, there's no "sessionid" in request cookies.
The 1st project has django-google-sso in 2.0.0 version. The 2nd - in 2.2.0. This is the only difference between projects. I thought it could have probably something to do with it. Do you have an idea where could be a problem?

Hi @astopienski. Got this error too. I'm believing this is because i've started using Django Caching system to store the state between the requests on version 2.2. I'm still debugging this, but in the next version, i`ll add a option to mak cache system optional.
Thanks for the issue.

Hi, I am having the same problem, too. Could you find a solution?

Hi @gasci. Yes, I found  and I'm working on it. The next release will be release on the next days.


NIFI-1831 Implemented encrypted configuration capabilities

This is a "beta" PR -- there are still some edge cases I want to clean up but I wanted to get eyes on it because it will be a large change (although most of the new code is in the unit tests). Specific areas of focus for review:

LICENSE
AESSensitivePropertyProvider -- class which actually performs encryption/decryption
ConfigEncryptionTool -- command-line class to make the process of encrypting the configuration values easy

To be done:

Assembly module to package command-line tool
Resolve redundant logging dependencies in nifi-encrypt-config
Handle login-identity-providers.xml properties
Clean up TODOs
Provide documentation for encrypted config values and tool usage
Add new EXIT_CODEs for specific causes
Add comments to some public methods

I'm going to squash these initial commits as I don't believe anyone has started reviewing yet.

The new dependency in NiFiProperties definitely starts to increase it's weight from a dependency/transitive perspective.  We could just tell them to only pay attention to its Properties interface but then they lose the static key name references and the convenience method calls.
The transitive dependency weight becomes even more problematic when we have additional providers beyond bouncycastle.
Perhaps we should consider ditching the static getInstance mechanism is NiFiProperties and instead have that class constructed at specific and appropriate entry points in the project.  The constructed instance would have populated plain text values for all properties sensitive or otherwise.  It could offer either an object model for properties which accounts for their key, value, and whether they're sensitive or not - OR - it could simply provide a method allowing the caller to ask if a given property was sensitive or not.  That said, I'm not sure why or if we'd want to expose whether a property was sensitive or not.  I could see it being useful we want to have callers know they better not store the value in a log file or exception message.
The ProcessContext (processors), Reporting Context (reporting tasks), and ConfigurtaionContext (controller services) each make sense for adding a 'getApplicationProperties()' method which returns the NiFiProperties.  This properties object would externalize any crypto libraries so that this dependency (nifi-properties) remains pure.

Ok @joewitt . I agree that removing the singleton pattern for NiFiProperties is a good move. I will implement the loader (extracting the protection logic from NiFiProperties) and make an instance of the properties available for the various contexts.
I will also create a mock loader implementation for the tests which reference NiFiProperties.
I will deprecate NiFiProperties.getInstance() in 0.x and remove it entirely in 1.0.

ok - love it.  My apologies for not noticing that earlier.  I'm happy to help with dividing and conquering cleanup on NiFiProperties usage.  This is something that has been a long time coming.  Your feature just tipped us over the edge of 'we better do something about this now'.  Thanks!

@joewitt @mattyb149 @bbende @brosander
As of right now, this PR (commit ffab01d) is rebased against the latest master. The tool is found in nifi-toolkit/nifi-toolkit-assembly/target/nifi-toolkit-1.0.0-SNAPSHOT-bin/nifi-toolkit-1.0.0-SNAPSHOT/. Running the command below (for example) will read an existing nifi.properties file, encrypt all sensitive non-empty values using the provided key, populate those values (and the associated protection schemes -- x.y.z.protected=aes/gcm/256) into the new nifi-encrypted.properties file, and persist the key in bootstrap.conf.

$ ./bin/encrypt-config.sh -h -- prints a usage message
$ ./bin/encrypt-config.sh -b path/to/bootstrap.conf -n path/to/nifi.properties -o path/to/nifi-encrypted.properties -p thisIsABadPropertiesPassword -- normal use as described above
$ ./bin/encrypt-config.sh -b path/to/bootstrap.conf -n path/to/nifi.properties -o path/to/nifi-encrypted.properties -k<PHONE_NUMBER>ABCDEFFEDCBA98765432100123456789ABCDEFFEDCBA9876543210 -- normal use as described above with raw hex key instead of password
$ ./bin/encrypt-config.sh -b path/to/bootstrap.conf -n path/to/nifi.properties -o path/to/nifi-encrypted.properties -- normal use as described above but will prompt for key in secure console read

By default, it considers sensitive properties as anything that would be a password or key:

nifi.sensitive.props.key
nifi.security.keystorePasswd
nifi.security.keyPasswd
nifi.security.truststorePasswd

You can mark additional keys as sensitive by including them in a comma or semi-colon delimited string as follows (do this by hand in the input nifi.properties before running the tool):
nifi.sensitive.props.additional.keys=nifi.ui.banner.text
Example:
before -- ~/Workspace/scratch/encrypted-configs/nifi.properties
nifi.ui.banner.text=This is the banner text
...
# security properties #
nifi.sensitive.props.key=
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.sensitive.props.additional.keys=nifi.ui.banner.text

nifi.security.keystore=keystore.jks
nifi.security.keystoreType=jks
nifi.security.keystorePasswd=thisIsABadKeystorePassword
nifi.security.keyPasswd=thisIsABadKeyPassword
nifi.security.truststore=truststore.jks
nifi.security.truststoreType=jks
nifi.security.truststorePasswd=thisIsABadTruststorePassword
nifi.security.needClientAuth=
nifi.security.user.authorizer=file-provider
nifi.security.user.login.identity.provider=
nifi.security.ocsp.responder.url=
nifi.security.ocsp.responder.certificate=
...

run tool --
hw12203:...assembly/target/nifi-toolkit-1.0.0-SNAPSHOT-bin/nifi-toolkit-1.0.0-SNAPSHOT (NIFI-1831) alopresto
🔓 167s @ 15:49:34 $ ./bin/encrypt-config.sh -b ~/Workspace/scratch/encrypted-configs/bootstrap.conf -n ~/Workspace/scratch/encrypted-configs/nifi.properties -o ~/Workspace/scratch/encrypted-configs/nifi-encrypted.properties -p thisIsABadPropertiesPassword
2016-08-19 15:57:48,097 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Invoked ConfigEncryptionTool with args [-b,/Users/alopresto/Workspace/scratch/encrypted-configs/bootstrap.conf,-n,/Users/alopresto/Workspace/scratch/encrypted-configs/nifi.properties,-o,/Users/alopresto/Workspace/scratch/encrypted-configs/nifi-encrypted.properties,-p,thisIsABadPropertiesPassword]
2016-08-19 15:57:48,794 INFO [main] o.a.nifi.properties.NiFiPropertiesLoader Loaded 112 properties from /Users/alopresto/Workspace/scratch/encrypted-configs/nifi.properties
2016-08-19 15:57:48,796 INFO [main] o.a.n.properties.ProtectedNiFiProperties Loaded 112 properties (including 0 protection schemes) into ProtectedNiFiProperties
2016-08-19 15:57:48,800 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Loaded NiFiProperties instance with 112 properties
2016-08-19 15:57:48,805 INFO [main] o.a.n.properties.ProtectedNiFiProperties Loaded 112 properties (including 0 protection schemes) into ProtectedNiFiProperties
2016-08-19 15:57:49,149 INFO [main] o.a.n.p.AESSensitivePropertyProvider AES Sensitive Property Provider encrypted a sensitive value successfully
2016-08-19 15:57:49,151 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Protected nifi.ui.banner.text with aes/gcm/256 -> 	2ZJZaFqqXl62HB5w||I57IDLE7hYJf2vJmrkC29ZjDztRJT00CVV1QkDiGte4VIfUB+n2X
2016-08-19 15:57:49,152 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Updated protection key nifi.ui.banner.text.protected
2016-08-19 15:57:49,152 INFO [main] o.a.n.p.AESSensitivePropertyProvider AES Sensitive Property Provider encrypted a sensitive value successfully
2016-08-19 15:57:49,152 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Protected nifi.security.keyPasswd with aes/gcm/256 ->     	icyABIxwN8FBBd6Q||GL+I6P5tv4ThiVXcAYkFaPsQLK2jZHyJui02W2YxydXfA0sEfg
2016-08-19 15:57:49,152 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Updated protection key nifi.security.keyPasswd.protected
2016-08-19 15:57:49,152 INFO [main] o.a.n.p.AESSensitivePropertyProvider AES Sensitive Property Provider encrypted a sensitive value successfully
2016-08-19 15:57:49,153 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Protected nifi.security.keystorePasswd with aes/gcm/256 ->        	eXpm2ylPEzfxpnEz||5Iqj7wReXHudmu/q7/q4vj2ooxFGN0R+o4VjV0BjboZ7zD6tqIEX3/Eq
2016-08-19 15:57:49,153 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Updated protection key nifi.security.keystorePasswd.protected
2016-08-19 15:57:49,153 INFO [main] o.a.n.p.AESSensitivePropertyProvider AES Sensitive Property Provider encrypted a sensitive value successfully
2016-08-19 15:57:49,153 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Protected nifi.security.truststorePasswd with aes/gcm/256 ->      	LGB8TUHtBTHemkzF||J5IqJpEB2i6QlFRqCEvgdq0koNPJv/oV4i3znyoAfzUV4laNv3TmWkeHFfs
2016-08-19 15:57:49,153 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Updated protection key nifi.security.truststorePasswd.protected
2016-08-19 15:57:49,167 INFO [main] o.a.n.properties.ProtectedNiFiProperties Loaded 115 properties (including 4 protection schemes) into ProtectedNiFiProperties
2016-08-19 15:57:49,167 INFO [main] o.a.nifi.properties.ConfigEncryptionTool Final result: 115 keys including 4 protected keys
2016-08-19 15:57:49,195 INFO [main] o.a.n.properties.ProtectedNiFiProperties Loaded 115 properties (including 4 protection schemes) into ProtectedNiFiProperties
hw12203:...assembly/target/nifi-toolkit-1.0.0-SNAPSHOT-bin/nifi-toolkit-1.0.0-SNAPSHOT (NIFI-1831) alopresto
🔓 495s @ 15:57:50 $

after -- nifi-encrypted.properties
nifi.ui.banner.text=2ZJZaFqqXl62HB5w||I57IDLE7hYJf2vJmrkC29ZjDztRJT00CVV1QkDiGte4VIfUB+n2X
nifi.ui.banner.text.protected=aes/gcm/256
...
# security properties #
nifi.sensitive.props.key=
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.sensitive.props.additional.keys=nifi.ui.banner.text

nifi.security.keystore=keystore.jks
nifi.security.keystoreType=jks
nifi.security.keystorePasswd=eXpm2ylPEzfxpnEz||5Iqj7wReXHudmu/q7/q4vj2ooxFGN0R+o4VjV0BjboZ7zD6tqIEX3/Eq
nifi.security.keystorePasswd.protected=aes/gcm/256
nifi.security.keyPasswd=icyABIxwN8FBBd6Q||GL+I6P5tv4ThiVXcAYkFaPsQLK2jZHyJui02W2YxydXfA0sEfg
nifi.security.keyPasswd.protected=aes/gcm/256
nifi.security.truststore=truststore.jks
nifi.security.truststoreType=jks
nifi.security.truststorePasswd=LGB8TUHtBTHemkzF||J5IqJpEB2i6QlFRqCEvgdq0koNPJv/oV4i3znyoAfzUV4laNv3TmWkeHFfs
nifi.security.truststorePasswd.protected=aes/gcm/256
nifi.security.needClientAuth=
nifi.security.user.authorizer=file-provider
nifi.security.user.login.identity.provider=
nifi.security.ocsp.responder.url=
nifi.security.ocsp.responder.certificate=

I am still working on a couple small features like handling secure password entry to the console instead of just the key (and then will remove the debugging of the invocation parameters which includes the key/password). Please exercise what is here and report any issues. Thanks.

I ran into some test failures when building this PR, possibly due to the fact that I don't have JCE installed?
Failed tests:
  ConfigEncryptionToolTest.testShouldDeriveKeyFromPassword:337 assert derivedKey == KEY_HEX
       |          |  |
       |          |<PHONE_NUMBER>ABCDEFFEDCBA98765432100123456789ABCDEFFEDCBA9876543210
       |          false
<PHONE_NUMBER>ABCDEFFEDCBA9876543210
  ConfigEncryptionToolTest.testShouldPerformFullOperation Wrong exit status expected:<0> but was:<2>

Tests in error:
  ConfigEncryptionToolTest.testShouldEncryptSensitiveProperties:512 » IllegalArgument
  ConfigEncryptionToolTest.testShouldParseKey:279 » Key The key (64 hex chars) m...
  ConfigEncryptionToolTest.testShouldSerializeNiFiPropertiesAndPreserveFormat:751 » IllegalArgument
  ConfigEncryptionToolTest.testShouldSerializeNiFiPropertiesAndPreserveFormatWithNewPropertyAtEOF:798 » IllegalArgument

Thanks Bryan. The tests were brittle and expected a 256-bit key in some cases. I have made adjustments to the test to be more robust in the absence of the JCE unlimited strength cryptography jurisdiction policy files.

Thanks for all the comments @bbende . I have incorporated them and will be pushing a new commit as soon as the build & checkstyle complete.

General comment that may be outside the scope of this effort, but have we thought about being able to undo the protection using the toolkit? Basically once you have run the tool, if you overwrote your nifi.properties there is no real way to get back to the unprotected form.

I have a note to possibly pause and prompt for confirmation on overwrite with the option to pass a flag allowing force yes behavior. I am hesitant to add "decryption" or "reversal" capability to the tool even requiring the password/key as input.
Do you think what I suggested above would be sufficient? I am worried about someone trying to fire the tool without interaction and not realizing it will wait for confirmation, but I also accept that the tool is unlikely to be used in an unsupervised environment.

I was actually thinking less about accidentally overwriting, and more about something like this...
I setup nifi.properties, encrypt it, and everything is good, then I decide I want to add another encrypted property. Right now you can't run the tool a second time against an already protected nifi.properties, which makes sense, but it means you have to manually undo everything if you wanted to add another protected property.
I'm not hung up on this since it is not very hard to reset the file manually, just wanted to see what you thought about the reversal/decryption. I'm ok leaving everything as is for now.

My intention is that you can run it repeatedly against the already-protected file if you add a new value. It should skip over the already protected values and only protect any new ones (marked as sensitive). Obviously you have to use the same password. Does this not work for you?

Ok that is not working for me... If I run the tool a second time using the same password, even without changing anything I get:
./nifi-toolkit-1.0.0-SNAPSHOT/bin/encrypt-config.sh -b nifi-1.0.0-SNAPSHOT/conf/bootstrap.conf -n nifi-1.0.0-SNAPSHOT/conf/nifi.properties
2016-08-23 14:56:51,772 WARN [main] o.a.nifi.properties.ConfigEncryptionTool The source nifi.properties and destination nifi.properties are identical [nifi-1.0.0-SNAPSHOT/conf/nifi.properties] so the original will be overwritten
Enter the password:
2016-08-23 14:56:56,604 INFO [main] o.a.nifi.properties.NiFiPropertiesLoader Loaded 118 properties from /Users/bbende/Projects/bbende-nifi/nifi-assembly/target/nifi-1.0.0-SNAPSHOT-bin/nifi-1.0.0-SNAPSHOT/conf/nifi.properties
2016-08-23 14:56:56,609 INFO [main] o.a.n.properties.ProtectedNiFiProperties Loaded 118 properties (including 3 protection schemes) into ProtectedNiFiProperties
Cannot load NiFiProperties from [nifi-1.0.0-SNAPSHOT/conf/nifi.properties]

usage: org.apache.nifi.properties.ConfigEncryptionTool [-b <arg>] [-h] [-k <arg>] [-n <arg>] [-o <arg>] [-p <arg>] [-r]

Running the latest commit, nifi.properties ends up with:
nifi.sensitive.props.key.protected=aes/gcm/128
nifi.sensitive.props.key.protected=

The app then fails to start because I think it finds the second one and can't decrypt the sensitive properties key. I can paste the stacktrace if helpful, but removing the empty one lets the app start.

Ok I got it to a point where it can be run multiple times on an already-encrypted file and the only side-effect is that previously encrypted properties will look like (after 2 executions):
nifi.sensitive.props.key=C7AlglOx5QOmggfM||EG+qM9ubldyr8J73RmXCyWIxRKCzn6JyXv7mN6DkV51oDoRSdnWWXbALfKcKFw
nifi.sensitive.props.key.protected=aes/gcm/256
nifi.sensitive.props.key.protected=aes/gcm/256

Fixing that and then will push.

Performed a couple of test runs and everything is working nicely, thanks for making all the updates.
My last comment is that we may need to add something to the toolkit NOTICE for Grooby. The main NiFi assembly seems to have this for the scripting processors bringing in groovy, only difference being groovy.jar vs. groovy-all.jar: https://github.com/apache/nifi/blob/master/nifi-assembly/NOTICE#L815
If we add that (or we have a reason we don't need it) then I am a +1 and good to merge, nice work!

I added groovy-all to NOTICE and added some Javadoc throughout the new classes. With Bryan's +1 I am going to squash the commits and merge to master.


Price difference

Hello
First of all, thank you very much for your API to consume data in Python.
Today I was testing it but there is a difference between the return price and the real price in PancakeSwap
I attach screenshots
{'updated_at':<PHONE_NUMBER>103,  'data': {'name': 'PancakeSwap Token',   'symbol': 'Cake',   'price': '16.71025903658802895071381884442674',   'price_BNB': '0.05104375696015457193635101802057258'}}

So you can review it

Hi, thanks for reporting!
I believe this issue lies with PancakeSwap's API, as my Python wrapper simply passes on the output - the updated_at timestamp indicates when the data was last updated on their side.
There have been other reports of pricing issues this week with the PancakeSwap API, see https://github.com/pancakeswap/pancake-info-api/issues/53#issuecomment-849707635
I will keep an eye out for a resolution from their side and update.

Following up - It appears that the issues have finally been resolved on the PancakeSwap side... There is no longer a price discrepancy between the API and their front end.


Now we hide the npm warnings and normal output while installing packages, but we still show errors

Now we won't see all the npm warnings nor the output of all the package dependencies.

Now with these changes, is InstallLogLevel.taco used at all?

Yes, that would mean to show the taco messages only, but no errors. The error level means to show both the taco messages and the errors.

:+1:

:+1:


Support formatter options

Closes #15 #16
This pull request looks to add the ability to use formatters in the Apex chart options.
This is important as charts are often used for monetary values and therefore want to be formatted as such.
E.g. 123456.0 vs $123,456.00
You can now do something like the following
'labels' => [
    'formatter' => 'function (value) { return new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }).format(value); }',
],

Converted to draft as there seems to be an issue with the auto-refresh.

This should be good now.

Thank you, but I used RawJs to make it
https://github.com/leandrocfe/filament-apex-charts?tab=readme-ov-file#extra-options-and-formatters

Thank you, but I used RawJs to make it
https://github.com/leandrocfe/filament-apex-charts?tab=readme-ov-file#extra-options-and-formatters

Ok cool. I'll check it out.


Upload h2o data(for groupby and join queries) into AWS S3 storage

We need:

small dataset for testing (< 100 MB)

Uploaded into https://modin-datasets.s3.amazonaws.com/h2o/
Thanks @aregm !


Fix DibiFluentDataSource like issue

https://github.com/ublaboo/datagrid/issues/589
The problem was double escaping and it's only reasonable to leave all escaping to dibi (and not input escaped queries to it). I didn't fix this for PostgreSQL or MS SQL variants since I have no experience with them.

Thanks!


Repo sync for protected CLA branch

The pull request is created from master637689638629518005 to master to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change. @evanwindom


Support capturing stdout and stderr

Is your feature request related to a problem? Please describe.
In the spirit of literate programming, and following #1, we should allow writers to use print in their Python code instead of output_markdown or output_html (those two functions are still useful when the source is not shown).
Describe the solution you'd like
An option like capture="out", (capture="err", capture="outerr").

I went with patching the globally available print function when executing code blocks. It writes to a buffer instead of standard output. file parameter is not supported. HTML vs. Markdown is specified in the code block options with html="0" (default) or html="1".


Getting payment status as INCOMPLETE in onPaymentSuccessful()

Hey,
When try to make a transaction its getting completed successfully and its triggers onPaymentSuccessful() method with payment object. but when I try to get the status of the transactions from the payment object its always gives the response as the
"status":"INCOMPLETE",. but when i access the same transactions from the payment history it has a status as "APPROVED". can you tell me when this status will change incomplete to complete or approved?
accept sdk version : 1.5.7
android-extension-spire:1.5.5
Thanks

Look on this like on safety feature.
"status":"INCOMPLETE"  means that transaction is successful, just it went something wrong during confirmation sending from app to back end. Mostly it is like network issue during confirmation.
You have to just display message about "check in payment history" ..because app was not able to receive response from confirmation request, but data from confirmation can be delivered successfully.
If its "APPROVED" everything ok.
It can go to "REVERSED" ...if data from confirmation request from app side is not delivered to back end side in certain time . << here is this safety feature.
In Case of "REVERSED" state customer should pay again.
!!! Its mobile point of sale, this can happen. !!!


Add reciprocal search to the matching functions

Allow users to search:
A -> B
or
A <-> B

I assume the desire here is to search from cloud A for matching points in cloud B, and vice-versa?
If that is so, this feature my not always make sense in all circumstances. ICP works beautifully when the reference (reading) cloud is much denser and covering a lot more ground than the movable (source) cloud. So the clouds may not be always interchangeable, and in such a case the reciprocal search may give inaccurate results and would be slow.


finetune whisper-large

Hello. Thank you for your efforts. For fine-tuning Whisper-v3 using Hezar, what method do you suggest? If there is a sample similar to the one below, please introduce it.
https://colab.research.google.com/github/Vaibhavs10/fast-whisper-finetuning/blob/main/Whisper_w_PEFT.ipynb
Thank you.
@arxyzan

Hello @kontorol, I really appreciate your feedback.
Unfortunately, there is no ready-to-use training script for speech recognition models in Hezar right now (The Trainer can handle speech recognition but the evaluation with metrics part is not ready yet). We have plans to finetune the new Whisper v3 on Persian and look forward to realease it in the coming month.
The notebook you provided can be used to do so with a few easy tweaks.


Giles/backport sys autofill 1.0.0

Description
This simply contains a bumped commit for the falco fork, which contains a backported fix for the sys_autofill verifier error that is currently affecting master.
Once this is approved, I'll roll back the circleci parallelism changes and then tag the new release/1.0.0 branch on the falco fork
Checklist

[ ] Investigated and inspected CI test results
~- [ ] Updated documentation accordingly~

Automated testing
~- [ ] Added unit tests~
~- [ ] Added integration tests~
~- [ ] Added regression tests~
If any of these don't apply, please comment below.
Testing Performed

This PR will also have to be accompanied by a re-tagging of v1.0.0 in the falco fork to include this backported fix.

Thanks Giles. LGTM


HttpPostRequestDecoder as a Resource

Issue related to #1 PR
Maybe the HttpPostRequestDecoder  interface could implement the Resource interface, and in this case destroy method could be replaced by close

after some thinking, let's not go into that direction for the moment.


Backport to Java 8

IBM zSeries does not support JDK 15. They seem to remain months or years behind in support for Java releases. The base version of Java supported on the platform is JDK 8.
In addition, some development setups choke on Java 14 and 15 preview features. Cobol Check uses some of these features, in particular Java Records. We need to modify that code to use Java features available in version 8.
This will make it possible to use the tool on-platform on a zSeries machine, as well as expanding the possibilities for developer setups by eliminating conflicts between (for instance) Gradle versions available in various Unix/Linux repos and preview features of Java 14 and 15.
I'm labeling this as a "bug" to emphasize the importance of making the changes prior to the planned release date for version 0.1.0.

Code changes completed and tested, certified developer platforms reviewed, documentation updated.


feat: added vite remove react-scripts 4.0

Added vite for building client side react app and removed react-scripts and babel related pacakges.

A Break down of all the steps I followed -

Use node versions > 16, because vite 3 works with version which are greater than node 16. In the main package.json paste the following -

"engines": {
    "node": "^16.14.0",
    "npm": "^8.5.5"
 }

Remove all the react-scripts and babel related dependencies, react-app-rewired and config.override files.

run npm install --force from the source of the project.

Navigate to the client project cd packages/client run - npm install -D vite @vitejs/plugin-react vite-plugin-require

Under packages/client create a new file vite.config.js and paste the following -

// eslint-disable-next-line import/no-extraneous-dependencies
import { defineConfig } from 'vite';
// eslint-disable-next-line import/no-extraneous-dependencies
import react from '@vitejs/plugin-react';
// eslint-disable-next-line import/no-extraneous-dependencies
import vitePluginRequire from 'vite-plugin-require';

// https://vitejs.dev/config/
export default defineConfig({
  build: {
    outDir: 'build',
  },
  server: {
    open: true,
  },
  plugins: [react(), vitePluginRequire()],
});

Similarly under packages/client create index.html and paste the following -

<!DOCTYPE html>

  <meta charset="utf-8" />
  <link rel="icon" href="/favicon.ico" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta name="theme-color" content="#000000" />
  <meta name="description" content="Web site created using create-react-app" />
  <link rel="manifest" href="/manifest.json" />

  <title>DhiWise</title>

Now we need to replace the .js  - extension with .jsx - extension for all our react files we do it using a bash script.

Under src/components, - src/config, src/container  run -

  for i in $(find `pwd` -name "*.js");  do      mv "$i" "${i%.js}.jsx"; done

Change index.js to index.jsx, change App.js to App.jsx under src/constants, change sidebar.js to sidebar.jsx

Under package.json scripts section replace -

 "scripts": {
    "start": "npm run watch:css && vite",
    "build": "npm run watch:css && vite build",
    "fix:lint": "npx eslint --fix src",
    "watch:css": "postcss src/assets/css/tailwind.css -o src/assets/css/main.css"
  },

Under .env file delete all variables and paste - VITE_APP_PROJECT_SERVICE_URL='http://localhost:3053'

Under src/api/constants.js paste the following - const projectServiceUrl = import.meta.env.VITE_APP_PROJECT_SERVICE_URL;

Under src/config/LazyLoader.jsx comment all the code, we won't be using react-loadable this package is not been updated for the last 4 years, it does not work with vite.

Under src/config/Root.jsx paste the following -

import React, { lazy, Suspense } from 'react';
import { Route, Switch } from 'react-router-dom';
import logoLoader from '../assets/images/gif/logo-loader.gif';

function Loader() {
  return (

  );
}

const BuildProcess = lazy(() => import('../container/common'));
const TechnologySetStep = lazy(() => import('../container/Shared/TechnologySetStep'));

const PlatFormConfiguration = lazy(() => import('../container/CRUD/Configuration'));
const Modal = lazy(() => import('../container/CRUD/Modal'));
const ModelRoleAccess = lazy(() => import('../container/RoleAccess'));
const Dashboard = lazy(() => import('../container/Dashboard'));
const ModelPermission = lazy(() => import('../container/CRUD/Permission'));
const NodeConstant = lazy(() => import('../container/Constant'));
const Policy = lazy(() => import('../container/Policy'));
const Routes = lazy(() => import('../container/CRUD/Routes'));
const NodeEnvironment = lazy(() => import('../container/EnvironmentVariable'));
const Configuration = lazy(() => import('../container/Configuration'));

const App = () => {
  document.getElementsByTagName('html')[0].classList.add('theme-black');

  return (
    <Suspense fallback={<Loader />}>
      <Switch>
        <Route path="/" component={TechnologySetStep} exact />

        {/* project & application */}
        <Route path="/technology-step" component={TechnologySetStep} />

        {/* Nodejs */}
        {/* CRUD */}
        <Route path="/node/crud/platform" component={PlatFormConfiguration} />
        <Route path="/node/crud/model" component={Modal} />
        <Route path="/node/crud/permission" component={ModelPermission} />
        <Route path="/node/crud/routes" component={Routes} />

        <Route path="/node/dashboard" component={Dashboard} />
        <Route path="/node/role-access" component={ModelRoleAccess} />
        <Route path="/node/constant" component={NodeConstant} />
        <Route path="/node/middleware" component={Policy} />

        <Route path="/node/environment-variable" component={NodeEnvironment} />
        <Route path="/node/configuration" component={Configuration} />

        <Route path="/build-app" component={BuildProcess} />

        <Route path="*" component={() =>
Not Found
} />
      </Switch>
    </Suspense>
  );
};
export default App;

Now from the project root run - npm run start the browser will open.

Now navigate to the client folder - cd packages/client and run npm run build and serve the build like so - npx server ./build

@ravisojitra Please run a complete regression Q/A testing on the build if there are any config issues let me know, if there are any styling issues you can easily fix them

@ravisojitra hey any update on this Pull Request ?

@yaldram we are testing it from our end in local system.

Hey @ravisojitra any update on this. Is everything working as expected ? Can I know the progress on this please ?

Hey @ravisojitra any update on this. Is everything working as expected ? Can I know the progress on this please ?

Not working as expected

Hey @saloni137 what is not working can you please highlight the issues here. Thanks

fonts are not proper.
build is failing.
dropdown design also looks changed.
eslint check is failing.

@saloni137

yarn build is running fine for me, the project is building on my PC.
Yeah there might be small style related issues. You can fix them easily given that you are familiar with the code.
For eslint as I said in my previous comments you might need to fix the errors. There are no eslint errros in the code, there are some dependencies issues which the team can resolve.

The final call is for the dhiwise team if you think it is feasible like go ahead let me know if you need my help. Thanks

@yaldram  The build I am talking about is that When I create and configure a node app and create the build - that is not working

Thanks for the update @saloni137, I might be missing something, but I did try to build a node app it worked, I was able to also open it successfully in VS code. Maybe I am missing something.

Let me check in the backend and get back to you.

Found the backend issue, not from your side. I will update the other issues and merge them into the master branch. Can you update PR to merge into any other branch rather than the master? So that I will be easily able to work on it. @yaldram

Hey @saloni137 thanks for the update. I would say you can merge the code into master and then maybe I would take a pull of the latest master code with your fixes.  I did not get you on the other than master thing. Do you want me to change the base of this pull request? If yes which branch, should I target. Thanks

The Master branch is up-to-date. You can take a pull from it. And then you can submit a PR for https://github.com/DhiWise/dhiwise-nodejs/tree/fix/vite-update if that is ok.

needs more improvements

@saloni137 for the eslint error here are some points -

we see an error @babel/preset-react not found that is because under packages/client/.eslintrc.json we are using this package on line no. 19 and we don't have it in the package.json. Try installing this package, might help.

Issue still Exists , Today I took new clone and still Mouse is not working

Yeah @aderchox I worked on this Pull Request, so that I could contribute to this awesome project, but unfortunately the team at Dhiwise has not given due attention to this Pull Request. I know the team might be busy in doing other important tasks, but it's been 2 months now.
cc - @saloni137 @ravisojitra

Hi @yaldram, We have not ignored your PR. We checked it, and we found the following issues.

Design changes
Can't run it as mono-repo in the higher version on nodejs
Eslint issues.

We are not resolving these issues by ourselves because we have planned to move this repo from lerna to turporepo and turbopack instead of vite. Thank you.

Hey @saloni137 great to hear that all the best :)


Feature request: ability to check if noice is loaded

Discussed in https://github.com/folke/noice.nvim/discussions/591

Originally posted by mawkler September  7, 2023
I want a conditional depending on if I have noice.nvim loaded. Is there any build-in way to check that? Neovide sets the variable vim.g.neovide to true. Does noice.nvim have an equivalent? vim.g.noice doesn't seem to work.
It would be sweet if noice had a vim.g.noice feature or similar to see if noice has been loaded.

require("noice.config")._running

@folke Thank you!


Fix issue labeler workflow

Describe the bug:
Update labeler workflow to use the correct actions and groups, see nodejs changes:
https://github.com/elastic/apm-agent-nodejs/pull/3906/files
To Reproduce

Open an issue as @xrmx
Issues labeled as community

Environment (please complete the following information)

OS: [e.g. Linux]
Python version:
Framework and version [e.g. Django 2.1]:
APM Server version:
Agent version:

Additional context
None

There was an error in #2003. The labeler workflow is failing: https://github.com/elastic/apm-agent-python/actions/workflows/labeler.yml with:
 Invalid workflow file: .github/workflows/labeler.yml#L32
The workflow is not valid. .github/workflows/labeler.yml (Line: 32, Col: 11): A sequence was not expected

Instead of:
https://github.com/elastic/apm-agent-python/blob/adff59cb29214f661b3569725aafb1a670d986a9/.github/workflows/labeler.yml#L31-L33
it wants this:
https://github.com/elastic/apm-agent-nodejs/blob/f0b6a098db63ba7e21d7ab3febf3d739315746c8/.github/workflows/labeler.yml#L38-L40


Fig 16 and Fig on slide 5 of Assessment SRG Presentation

This figure doesn't have the base model or the last model of the previous comparison to give any information in relative change of Update pre-2020 data to the model that came before it.

Yes, this is a good idea.  I hadn't done it yet because there is essentially no difference between the end of bridge models 1 and the beginning of bridge models 2 (i.e., updating the pre-2020 data didn't do much at all.  And adding another line makes slide 5-6 legend overlap with the time series.  Let's consider this for the document, but I might just leave it for the presentation.
However! ... this comment did make me realize that my bridge model 1 was incorrect (was using mcmc=TRUE by default so had to fix that) - now I think flipping back and forth we can see during the meeting that the update to pre-2020 data makes near 0 difference.

Upon further investigation there was a bit of change in some earlier spots of the time series (due to the rounding difference this year in some data) so I went ahead and changed the assessment presentation to address this as well as Figure 16 in the document.


Allow by configuration to keep bundles for future use

Hey,
I'm running in some issues and found no way to keep the bundles ran into the browser to be analysed. Could be possible to make the bundle clean up to be conditional?
Let me know if doesn't make sense to allow this, in the meantime I'm looking for an alternative for manual testing.
Thanks!

Don't think this really makes a lot of sense. You can just enable a high enough log level to get the path and then copy the bundle.

@bendrucker Doesn't karma clean up and delete the tmp directories, which include the bundles, after the run?

Right, so the idea would be to use autoWatch and then grab the bundle while the build is waiting

@bendrucker I been trying to do that, but no worries, I'll handle that by myself if it's too much work and and if statement in the code.

@dendril You are free to propose your changes as part of well documented and tested PR. That makes it easier to get your feature into the code base :wink:.


Workflow errors

I am not sure if this is duplicate, but every time a place an issue message, commit, or review, it always gives workflow errors. thanks

Duplicate #204  I think this will be solved after solving that

@rohan-kulkarni-25 should I close this?

@rohan-kulkarni-25 should I close this?

Please Read the discussion on the issue if you thinks it is the same issue then feel free to close

I think I will close it, once that is sorted, I think this will be too


Questions about mutations detected from 10X scRNA data

Hi, I analyzed serveal samples using scSNV and annotated mutations using ANNOVAR to find high-frequency mutated genes in cancer. However, I found that the results did not support the conclusions in bulk data. There’s no much mutations detected in cancer related genes like TP53, PTEN or DAXX (0% ~ 2% in 30000 cancer cells, but they did expressed). I think it's too strange, do you have any idea of this? Is it due to the sparsity of 10x data?
Thank you so much!

It's more likely that the mutations are poorly covered by the 10X library.  Depending on the library type the reads are clustered towards a few hundred basepairs near the 5'- and 3'- end of a transcript.  Most of the coverage ends up being in the UTR and first/last exon.  Occasionally, you may get lucky and a mutation will be close to an intronic poly(dT) site in 3'- libraries, which leads to some coverage of the mutation.  You can always check your alignment files in IGV and see if there is any coverage in your region of interest. It's also important to have relatively high sequencing saturation when mutation calling as this will maximize the amount of coverage from each collapsed read.

Thank you for your reply!


Add GPT Vision Tool

Summary

Add GPT Vision as a Tool
Checklist

[x] My code follows the code style of this project and passes make format.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] My change has adequate unit test coverage.

@homanp Thank you for the pull request! Overall, the changes look good. I have a few suggestions:

In the libs/superagent/app/agents/base.py file, the import statements have been updated to use the new module structure. This change looks fine.

In the libs/superagent/app/models/tools.py file, a new model GPTVisionInput has been added. This model includes query and image_url fields. This change looks good.

In the libs/superagent/app/tools/__init__.py file, a new tool GPTVision has been added. This tool is used for analyzing images using the GPT-4 Vision model. The implementation of the tool is not included in the pull request, so I cannot review it. Please make sure to include the implementation of the tool in a separate pull request.

In the libs/superagent/app/tools/datasource.py file, the import statement for create_pandas_dataframe_agent has been updated to use the new module structure. This change looks good.

In the libs/superagent/prisma/migrations/20231106224640_vision_tool/migration.sql file, a new migration script has been added to alter the ToolType enum and add the value GPT_VISION. This change looks good.

In the libs/superagent/prisma/schema.prisma file, the ToolType enum has been updated to include the value GPT_VISION. This change looks good.

In the libs/superagent/pyproject.toml file, the dependencies have been updated to include the latest versions of the packages. This change looks good.

In the libs/ui/config/site.ts file, a new tool option for GPT Vision has been added. This change looks good.

Overall, the changes in the pull request look good. Please make sure to include the implementation of the GPTVision tool in a separate pull request. Thank you for your contribution!


How to Properly Secure Site ID and API Key

In the initialization instructions here: https://customer.io/docs/sdk/expo/getting-started/#initialize-the-sdk, it says the following:
In useEffect, initialize the package with your CustomerioConfig options and CustomerIOEnv variables.
You can find your Site ID and API Key credentials—or create new ones
—under Data & Integrations > Integrations > Customer.io API:

useEffect(() => {
   const data = new CustomerioConfig()
   data.logLevel = CioLogLevel.debug

   const env = new CustomerIOEnv()
   env.siteId = Env.siteId
   env.apiKey = Env.apiKey
   env.organizationId = Env.organizationId
   //organizationId is used to send in-app messages.
   env.region = Region.US
   //Region is optional, defaults to Region.US. Use Region.EU for EU-based workspaces.

   CustomerIO.initialize(env, data)
}, [])

How do we properly secure the site ID and API key this way? It doesn't seem like this can be added into Expo Secrets, as their docs indicate that Expo secrets is more intended for build jobs. Their warning also says
Always remember that anything that is included in your client side code should be considered public and readable
to any individual that can run the application. EAS Secrets are intended to be used to provide values to an
EAS Build job so that they may be used during the build process. Examples of correct usage include setting
the NPM_TOKEN for installing private packages from npm, or a Sentry API key to create a release and upload
your sourcemaps to their service. EAS Secrets do not provide any additional security for values that you end up
embedding in your application itself, such as an AWS access key or other private keys.

Wouldn't initializing the CustomerIO env this way be client side and public?

Hi @bryanyan
Thank you for reaching out.
Generally, we leave securing the secrets to the users to give them the flexibility to secure them as they wish.
I recommend following the instructions on React Native docs to find the most suitable way to secure your secret keys.


Expand README

incl. install instructions, such as they are

wut

wut

Note to self: debug VSCode-GitHub

Note to self: debug VSCode-GitHub


Binary should be the recommended way to use tracepusher

The "usage" page doesn't mention the self contained binary. Mention it at the top and link to this page: https://agardnerit.github.io/tracepusher/usage/standalone/

The "try tracepusher" page needs to be updated to recommend (as the first in the list) using the self-contained binary.
tracepusher can be used either via a docker image, CI-ready docker image or Python script.

The side menu should link to the binary. Above where we have Usage > Python - add a new link: Usage > Standalone Binary and link to https://agardnerit.github.io/tracepusher/usage/standalone/. This is done via https://github.com/agardnerIT/tracepusher/blob/main/mkdocs.yml

The Quick Start section on the homepage mentions the standalone binary but doesn't link to anywhere.
The text Standalone binaries should link to Standalone binaries and the text download from the releases page on GitHub should link to https://github.com/agardnerit/tracepusher/releases/latest

Usage page done: https://github.com/agardnerIT/tracepusher/commit/eefa2ef57e54df313471288ed2d64e7caf9c0a2e
try page done: https://github.com/agardnerIT/tracepusher/commit/cc349da
add menu item: aa948c8
done: 5e94092


Fix VisibleDeprecationWarning

XGBoost raises VisibleDeprecationWarning when the numpy version is over 0.9.
(xgboost-3.5.1) SUNGHEEui-MacBook:xgboost shaynekang$ nosetests tests/python/

...

/Users/shaynekang/.pyenv/versions/3.5.1/envs/xgboost-3.5.1/lib/python3.5/site-packages/xgboost-0.4-py3.5.egg/xgboost/training.py:273: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  idset = [randidx[(i * kstep): min(len(randidx), (i + 1) * kstep)] for i in range(nfold)]

...

/Users/shaynekang/.pyenv/versions/3.5.1/envs/xgboost-3.5.1/lib/python3.5/site-packages/xgboost-0.4-py3.5.egg/xgboost/core.py:907: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
  preds = preds.reshape(nrow, preds.size / nrow)

...

----------------------------------------------------------------------
Ran 31 tests in 1.260s

All of these problems cause misuse of datatype. I try to convert non-integer variables to integer than problems are solved.

Please rebase with master

Done. Is there any other things that I can help with?

seems the rebase trace was somewhat mixed with exising trace. We might need to ask you start from a new clean fork

Sure. May I create another pull request from master, or any other suggestion?

Yes, please create another PR

see #1181


Make file path in status bar footer change according to which tab the…

… user is currently on

Codecov Report

Merging #297 (62b319d) into master (51acaef) will decrease coverage by 0.14%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #297      +/-   ##
============================================
- Coverage     55.76%   55.62%   -0.15%
  Complexity      641      641
============================================
  Files           126      126
  Lines          2747     2754       +7
  Branches        346      346
============================================
  Hits           1532     1532
- Misses         1097     1104       +7
  Partials        118      118

Impacted Files
Coverage Δ

src/main/java/dash/ui/MainWindow.java
0.00% <0.00%> (ø)

src/main/java/dash/ui/StatusBarFooter.java
0.00% <0.00%> (ø)

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 51acaef...62b319d. Read the comment docs.


Unsupported C# types

The ObjectMapper doesn't support serialize/deserialize char C# type currently. The property or field that has char type will be serialized to an empty Ion struct, and will be deserialized as the default char value which is '\0' (U+0000).

Besides char type, other C# types that are not included in The Ion/.NET type mapping table are not supported either. For example, integral types byte, sbyte, short, ushort, uint, ulong, nuint, nint are not supported currently.