scripts: remove set -x by default 🧣

Changes
This remove the -x default flag on script that do not use a shebang.
The -x flag print commands before they are executed, which might
leak data by default that we might not want to, hence removing it by
default.
To "revert" to the previous behavior, one might need to add the
following to its Task's scripts.
script: |
  #!/bin/sh
  set -xe
  # […]

Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>Fixes #4444
/kind bug
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[x] Docs included if any changes are user facing
[x] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes
Removed `-x` set flag from script that do not use a shebang, in order to reduce potential unwanted data leak from scripts execution.

/test pull-tekton-pipeline-alpha-integration-tests

/test pull-tekton-pipeline-alpha-integration-tests

/test pull-tekton-pipeline-alpha-integration-tests

    tektonbundles_test.go:188: Expected logs to say hello but received [72 101 108 108 111 10]

I think this test might have been relying on the +x behavior, those bytes correspond to "Hello\n"

Yep:
https://github.com/tektoncd/pipeline/blob/3e137645be61199418213950b9b4e1463ba32069/test/tektonbundles_test.go#L187-L189

Damn.. 😓

/lgtm


[reggen,dv] Split some long lines in generated UVM code

In order to get a proper "longlines" check in CI, it would be nice to
drop the current Verible configuration from 150 characters down to
100, to match AscentLint. Since we use that for DV code as well as
RTL, we there are a few other places that need tidying up.
This patch avoids the long lines in the generated UVM code, such as
chip_ral_pkg.sv.

Yeah, that might be true. But, then again, it's nice to catch genuine errors (which manifest as lint failures) in the generated code too, so I think we'd ideally still have some laxer lint checks for generated code. I guess we could do that by adding waivers?

Running semantic lint/static analysis for generated code makes a lot of sense to me. For style lint, less so -- what matters there is the human-written template, but not the generated output (within reason, of course).
Most lint tools we have today do both categories of lint at the same time, so we probably need to operate with waivers.


JourneyMap Beacons / Pips are removed when this mod is enabled.

For whatever reason, Conjuring disables the visibility of Pips and Beacons for the JourneyMap mod.
latest.log
Video Evidence of the issue: https://www.youtube.com/watch?v=TDlH89kbFpY

JourneyMap dev here.
If you need any assistance in resolving the issue, let me know.

Thanks for reporting this! The problem was actually being caused by Lavender, the library used for the Enchiridion. I've now published a fix for 1.20.1 and 1.20.2
Cheers

Thanks for fixing this.
I did notice during my testing that the current indev version of JourneyMap that is not released yet which a lot of the rendering code as been rewritten it worked correctly. But it is not even close to being ready for release.


Issue when running make

brotoli.txt
Hello, I get an issue when running "make"

I will add it to the comment of other issue


Service is not use KongIngress by default

Summary
Before 0.4.0, Service use KongIngress proxy config by default, but in 0.4.0 Service should use "configuration.konghq.com" annotation.
Kong Ingress controller version
0.4.0
Kong or Kong Enterprise version
Kubernetes version
paste kubectl version output
Environment

Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

What happened
Service don't use KongIngress proxy config by default.
Expected behvaior
Service use KongIngress proxy config by default, if service has no "configuration.konghq.com" annotation.
Steps To Reproduce

Create Ingress
Create KongIngress proxy config
Create Service without annotation. (all same name)
Check KongIngress proxy option for service.

Is it a bug or right action?

Could you elaborate on what you mean by the following?

Service use KongIngress proxy config by default

With 0.4.0, to change configs of a service in Kong, there exists only one method, put the configuration.konghq.com annotation on that service.

Hi! Before 0.4.0, service uses same name kongingress(proxy, route, ..) automatically. But in 0.4.0, service don't use kongingress(proxy) automatically. Route config is ok, but proxy config is not.
automatically means no annotation.

As noted in the breaking changes section of 0.4.0 release in the changelog, this is expected.
Please add the annotation to the service resource in k8s to override properties of services and upstreams in Kong.


section total rows take up table filter

Hi, I'm taking this sum sum1 sum2 total rows in the table at the top of the section, I can show you how to
I added the file: https://github.com/koboy55/kob

Please note this is TableFilter's repository and you are using HTML Table Filter Generator (HTFG) in your example.
This is not the appropriate channel.
I advise you to consider upgrading to TableFilter as HTFG is no longer maintained.
Cheers


Issue: No code is here :]

Are you going to be posting code at some point? Your project is very interesting to me, especially since it has a web interface, which would allow you to control what's being displayed on screen without displaying the actual controls, since it has a web interface....

Ha. Tanks for noticing. Yes. There will be code. The project is running on the Raspi I have and I've used it in a concert already. But it needs proper documentation to be released.
Where and when do you plan to use it? I could be working on it this week. Your message is certainly bringing back motivation. Curious also where you found out about it.

Well, I’m a musician, and have been working on getting some video stuff going for a couple of acts I’m in. One is an original rock band, the other is all electronic, neither make any money :]
I’ve tried running Avenue before, which worked well, but I’ve got a pico projector that is pretty much the same size as a pi in a case, and I’m planning to basically velcro them together to make a portable VJ kit. I figure I’ll also put together a battery pack (I’ve done the research on this, but not built one yet) and have a completely portable kit that I can drag to gigs and set up wherever it’ll fit.
Googling around for VJing stuff eventually led me here:
http://w.xuv.be/projects/raspivj http://w.xuv.be/projects/raspivj
I’m a fairly capable geek, so if you need help or whatever, just let me know. I know my way around linux and have been working in software for way too long now.

On Mar 14, 2015, at 4:33 PM, Julien Deswaef<EMAIL_ADDRESS>wrote:
Ha. Tanks for noticing. Yes. There will be code. The project is running on the Raspi I have and I've used it in a concert already. But it needs proper documentation to be released.
Where and when do you plan to use it? I could be working on it this week. Your message is certainly bringing back motivation. Curious also where you found out about it.
—
Reply to this email directly or view it on GitHub https://github.com/xuv/RasPiVJ/issues/1#issuecomment-80708221.

PocketVJ also looks very cool, but while their interface is available on github, their pi image doesn’t seem to be downloadable anywhere. And even if it was, I’m afraid I’d install it and find everything to be in German :]

On Mar 14, 2015, at 4:33 PM, Julien Deswaef<EMAIL_ADDRESS>wrote:
Ha. Tanks for noticing. Yes. There will be code. The project is running on the Raspi I have and I've used it in a concert already. But it needs proper documentation to be released.
Where and when do you plan to use it? I could be working on it this week. Your message is certainly bringing back motivation. Curious also where you found out about it.
—
Reply to this email directly or view it on GitHub https://github.com/xuv/RasPiVJ/issues/1#issuecomment-80708221.

Hey. Very cool to know  you want to do a portable VJ thing. That's the point of this app. Having musicians do their own visual show at the same time as playing. Although I must say I plan to change the interface. I've found out by using it that it needs to be rethought a bit, although usable so far. That's maybe also what prevented me from pushing the code.
Since I know now tat you have Liunx capabilities, I can be lighter on the documentation. I was planning to release a Pi image also. As an easy to install thing. But this will come later, when project is a little more stable I guess.
As you might have read I got inspired by PocketVJ. But didn't not try to install their app. It was laking features for my use. But they surely are nice people, so don't hesitate to drop them a mail.

Code is here. :)
Might be some issues still. Let me know.


Maintainer should be optional

The more I think about it, the more I pushed this being required. For a solo project, there is no reason to specify the maintainer.
I want to make this optional, again, because I think it makes the README a bit too full. Contribute should be able to cover who the maintainer is, as needed.

Agreed!


Async support

Async support would allow to run multiple call in parallel in an efficient way (since waiting for API responses will take up most of the thread time).

Done for Edge TTS model, pattern should be replicated to the remaining models.

in https://github.com/souzatharsis/podcastfy/pull/61 the necessary and sufficient condition is that they implement async def async_text_to_speech . Then podcastify would try to use it to accelerate the audio creation job. From what I read, I think asyncio.run should not be used by tts backends because we can't use it inside another asyncio.run. They should rather implement either async_text_to_speech or text_to_speech, or even better: both.
Relevant piece of code in the PR (in audio.py).
    def create_audio_segments(self, transcript: Transcript) -> List[AudioSegment]:
        if all(isinstance(backend, AsyncTTSBackend) for backend in self.tts_backends.values()):
            return asyncio.run(self._async_build_audio_segments(transcript))  # will call tts_backend.async_text_to_speech)
        else:
            return self._sync_build_audio_segments(transcript)


Trying to fix Travis build

Removing some build script, sounds like it should be set by default
anyway.

Need to fix shared scheme name:
toso-split-objc -> todo-split-objc.


Request for Zappa 0.57.0 release

Context
Python 3.10 is new available on AWS and having a Zappa version published with support will extend Zappa's usable life

released


Synchronization stopped at 3 416 033

Miner version 2.1.7
O/S/ Win 10  64

Please stop and download the block data manually
https://down.chiax.cc/greenbtc/blockchain_v2_r1_mainnet.sqlite


Scaffold a basic CRUD structure

What problem does this feature solve?
Offer the ability to scaffold a basic CRUD user interface
What does the proposed changes look like?
Given a command similar to how Rails solves scaffolding:
nuxt scaffold widget name:string title:string updated_at:datetime
Nuxt creates a basic scaffolding for a Vuex store, pages, and a form component.

This feature request is available on Nuxt community (#c7453)

I'm happy to put this together if there is interest in creating a scaffold generator.

Something like:
|
- components/
|  - WidgetForm.vue
- pages/
|  - widget/
|    index.vue
|    new.vue
|    - widget_id/
|      edit.vue
|      index.vue
- store/
  widget.js

One of the things it would need to do is define this structure as the convention, but offer the ability to use other UI frameworks, like bootstrap-vue, etc.

@toadkicker Please find an issue or propose contribution over at create-nuxt-app


First attempt at updating cf related configs

@aussielunix, could you take a peak at this?
At the moment it’s not building on the endpoint successfully. :S

:eyes: at it now

@klepas nice work.
Only thing obvious for now is that you are not setting a node version anywhere for CI.
In circle.yml  this is the block where you can use the CircleCI builtins to configure the Ubuntu 14.04 virtual machine that your builds happen in.
Take a look at https://circleci.com/docs/language-nodejs/ for some help with nodejs.

Yesssss!

Thanks @aussielunix (:


Twitter-omniauth bug after Request Phase on normalized_uri

Environment
Gemfile:
ruby "3.1.0"
gem 'rails', '<IP_ADDRESS>'
gem 'devise' (4.8.1 in Gemfile.lock)
gem 'omniauth-facebook'
gem 'omniauth-twitter'
gem "omniauth-rails_csrf_protection", "~> 1.0"
link_to for CSRF with POST, previously GET
Current behavior
Upgraded Rails to 6 along with devise.
After updating for this CSRF error https://github.com/heartcombo/devise/issues/5236 arrived at:
Started POST "/users/auth/twitter" for ::1 at 2022-09-22 21:24:44 -0400
(twitter) Request phase initiated.
(twitter) Authentication failure! undefined method `downcase' for nil:NilClass

        "#{u.scheme.downcase}://#{u.host.downcase}#{(u.scheme.casecmp("http").zero? && u.port != 80) || (u.scheme.casecmp("https").zero? && u.port != 443) ? ":#{u.port}" : ""}#{u.path && u.path != "" ? u.path : "/"}"
                                        ^^^^^^^^^: NoMethodError, undefined method `downcase' for nil:NilClass

Processing by Users::OmniauthCallbacksController#failure as HTML

<%= link_to "Log In" user_twitter_omniauth_authorize_path  method: :post, "data-turbo": false %>

In omniauth.rb
    OmniAuth.config.allowed_request_methods = [:post]
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
    def self.provides_callback_for(provider)
      class_eval %Q{
        def #{provider}

          @user = User.find_for_oauth(request.env["omniauth.auth"], current_user)
          skip_authorization
          authorize @user, policy_class: OmniauthCallbackPolicy
          if @user.persisted?

            @user.remember_me
            sign_in_and_redirect @user, event: :authentication
            set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format?
          else

            session["devise.#{provider}_data"] = request.env["omniauth.auth"]
            redirect_to new_user_registration_url
          end
        end
      }
    end

    [:twitter, :facebook, :apple].each do |provider|
      provides_callback_for provider
    end

    def failure
      redirect_to root_path
    end
  end

The line of code that errors our seems to be defined here https://rubydoc.info/gems/oauth/0.5.5/OAuth%2FRequestProxy%2FBase:normalized_uri
Expected behavior
I used to be able to login with twitter oauth before this, looking for same

Ongoing discussion, with SO bounty here
https://stackoverflow.com/questions/73822206/upgraded-to-rails-6-devise-omniauth-twitter-nomethoderror/73879754#73879754
Open chat here: https://chat.stackoverflow.com/rooms/248415/discussion-between-tibic4-and-1dolinski

Updated SO bounty to 100.. still no fix

This has helped me:
https://github.com/arunagw/omniauth-twitter/pull/141

According to SO accepted answer, this was resolved by upgrading oauth gem


Fix apigateway tracing

The current version of the APIGatewayTracingMiddleware changes the parentId of the traceparent before enriching the logger.
This is not the expected use of the tracing headers. By default we should be logging the original traceparent received by the API.
MiddyNetContext has been enriched with a new property TraceContext to store the traceparent and tracestate received.
A new method ChangeParentId is available in TraceContext so the user can obtain a new tracecontext that contains a traceparent with the ParentId changed. In this way, the user can call a third party user using this new traceparent.
At the moment there is no mechanism to modify the traceparent in the logger. In the future, maybe we can provide a way to replace the tracing info of the logger for a new one.
The APIGateway samples have been modified to show the new use.

Documentation updated with samples on how to use the new funcionality.


Broken link to slides

docs.google.com/presentation/d/1U9_ryV0uzO0VXC77vzhur2lJmBunA4F5aNSmhQXrgJU/edit#slide=id.g4a4e9be9b9_41_11
This link is mentioned in the README, under the section Detection of novel contigs and novel viruses . However, it is broken. Can you kindly update it?

Try this, https://docs.google.com/presentation/d/1NGXwqCb5mgfOGq4jqpiK5cjHoW48sMGTLPX0IglHIOE/edit?usp=sharing


Import of nnunet (v1) fails when running pre-processing

I followed the instructions in https://github.com/MIC-DKFZ/nnUNet/blob/master/documentation/installation_instructions.md and cloned the repo locally and used pip install -e . but it only installs the v2 so in the prepocessing i get an error:
Traceback (most recent call last):
  File "C:\Users\asiel\cathAlert\experimental\MedNeXt\nnunet_mednext\experiment_planning\nnUNet_plan_and_preprocess.py", line 170, in <module>
    main()
  File "C:\Users\asiel\cathAlert\experimental\MedNeXt\nnunet_mednext\experiment_planning\nnUNet_plan_and_preprocess.py", line 166, in main
    exp_planner.run_preprocessing(threads)
  File "C:\Users\asiel\cathAlert\experimental\MedNeXt\nnunet_mednext\experiment_planning\experiment_planner_baseline_3DUNet.py", line 434, in run_preprocessing
    preprocessor_class = recursive_find_python_class([join(nnunet_mednext.__path__[0], "preprocessing")],
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\asiel\cathAlert\experimental\MedNeXt\nnunet_mednext\training\model_restore.py", line 38, in recursive_find_python_class
    m = importlib.import_module(current_module + "." + modname)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\asiel\anaconda3\envs\mednext\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1140, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'nnunet'

I would appreciate any help :)

same here,
appreciate your help and effort

run_preprocessing
    preprocessor_class = recursive_find_python_class([join(nnunet_mednext.__path__[0], "preprocessing")],
  File "/home/cathalert/mednext/nnunet_mednext/training/model_restore.py", line 28, in recursive_find_python_class
    m = importlib.import_module(current_module + "." + modname)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'nnunet'

Yes, I had the same issue, you need to install nnUNet-v1, instructions here: https://github.com/MIC-DKFZ/nnUNet/tree/nnunetv1?tab=readme-ov-file#installation. This implementation of MedNeXt is based on nnUNet-v1, that is why you need some packages and functions from nnUNet-v1's implementation.


crash on utility tool belt latest version

here is the server log
log.txt

:( another silly error

Thanks for the report. V1.3.3

Ok now k will test it soon


stats.toJson: include existsAt info in assets

stats.toJson is great but there is some raw info about the assets that is missing from the json. specifically, i'd like existsAt to be in the json output to more easily get the path of the built assets.

I could do with outputPath on the stats json, open to a PR?

Sure :), just mention me in the PR.


OTW Update Aeotec Stick 700

Checklist

[ ]  I am not using Home Assistant. Or: a developer has told me to come here.
[X] I have checked the troubleshooting section and my problem is not described there.
[X] I have read the changelog and my problem is not mentioned there.

Deploy method
Docker
Z-Wave JS UI version
8.16.2
ZwaveJS version
10.21.0
Describe the bug
First during update i've got the same bug like this issue #5360 (https://github.com/zwave-js/node-zwave-js/issues/5360)
Same go to windows, install Simplicity Studio... same device not found.
Back to HA, test boot Loader mode>Save
And use OTW, select firmware file "zwave_ncp_serial_api_controller_BRD4206A" (version 7.19.2)
Updating controller firmware, please wait 0% not update % but behing my stick appear
after 20mins always 0%
Hesitate to stop or close HA Page.

To Reproduce
Update OTW with bootloader On
Expected behavior
Close "X" or end detection/progression.
Additional context
No response

Please make a driver log, loglevel debug and attach it here as a file (drag & drop into the text field).

Hi
I have the same problem
2023-08-04 07:54:56.100 DEBUG SOCKET: Event ZWAVE_API emitted to 2i-NX2E7xFF0ZxgFAAAF
2023-08-04 07:54:56.104 INFO Z-WAVE: Calling api firmwareUpdateOTW with args: [
{
name: '7_20_1_zwave_ncp_serial_api_controller_BRD4206A.gbl',
data: <Buffer eb 17 a6 03 08 00 00 00 00 00 00 03 01 01 00 00 fa 06 06 fa 10 00 00 00 bb 7a 02 00 1c f3 20 42 9c dc 00 82 67 1d 4b 2e f9 07 07 f9 24 00 00 00 34 0c ... 162582 more bytes>
},
[length]: 1
]
2023-08-04 07:54:56.427 INFO Z-WAVE: Controller 1 firmware update OTW finished with error.
Status: Error_Aborted. Result: [object Object].
2023-08-04 07:54:56.683 INFO Z-WAVE: Success zwave api call firmwareUpdateOTW false

Please make a driver log, loglevel debug and attach it here as a file (drag & drop into the text field).

zwave-js-ui: 8.22.0
zwave-js: 11.9.0
Aeotec firmware :
FW: v7.19.3
SDK: v7.19.3

zwave-js-ui-store.zip


ISPN-13222 Update Netty to 4.1.69.Final

Going through the commit history of ApplicationProtocolNegotiationHandler I found the commit [1] added a buffer to the handler.
Our ALPNHandler is marked as shareable and my theory is that the "new buffer" does not like it (since the recycle exception is coming from there).
I've changed ALPNHandler to be "non-shareable" and removed SinglePortUpgradeHandler since the class end up empty :)
Let's see what CI says :crossed_fingers:
edit: https://issues.redhat.com/browse/ISPN-13222
[1] https://github.com/netty/netty/commit/750d23583c187b4e8dafdfea3f4fbeaf1d9be7cd

It looks good @pruivo

rebased and added the following commit message:
OKHTTP updated to 3.14.9

Netty introduced a message buffer in
ApplicationProtocolNegotiationHandler and this buffer cannot be used by
multiple pipelines concurrently.

Changed our ALPNHandler class and removed the Shareable annotation.

and hijacked https://issues.redhat.com/browse/ISPN-13222 :)

Thanks @pruivo


Fuchsia Boilerplate

I wasn't able to verify the build instructions on my Mac today due to rust-lang#24887 but they "should work" on Linux machines.

So Fuchsia runs flutter apps which are originally meant as iOS/Android portable apps?
Can we put each frontend into its own repo? I'm writing an Android frontend and this puts a lot of code that isn't needed in there (cc #141).

@adrientetar Interesting that you're writing an Android front-end. And yes, at the moment all UI code for Fuchsia is written in Flutter. We will probably have our front-end running on at least Android, for easier/faster development and debugging.
I'm a bit torn on this (and also #141), as I feel that having the core and the officially developed front-end(s) together in the same repo makes it easier to atomically change the protocol. I also think that the amount of code here will be fairly small, so the burden of downloading additional code won't be too much. But I see a fair amount of support for splitting into smaller repos, so if people feel very strongly about this, we'll create a new fuchsia repo.

@adrientetar FWIW I think it would be good to have a nice separation between core and any front-ends. I'll work on separating this PR's code into a separate repo.

Yes, @jxson and I discussed this, and we'll do the Fuchsia front-end in a separate repo. I'll also work on preparing a patch that splits out most of the binary (other than the stdio mainloop) into a lib, so we can put the Fuchsia/fidl runtime logic into that new repo as well.

Okay PR ported to https://fuchsia-review.googlesource.com/#/c/18132/
Thanks for the feedback @adrientetar 💃

Hi, found this while searching for flutter and xi. Was this code merged anywhere? https://fuchsia.googlesource.com/xi appears to be empty.
Since flutter somewhat supports desktops, it could be possible to make a clone of VSCode/Atom in it. Hopefully with better startup time and overall performance.

The good news is that the code has simply moved. It's now at:
https://fuchsia.googlesource.com/topaz/+/master/app/xi/
It works on Fuchsia. I haven't tested it on iOS/Android, so I wouldn't be surprised if it needs some small modifications to get running again there, but it's possible it just works.


added note regarding os migration might lead to os dashboard downtime…

added note regarding os migration might lead to os dashboard downtime if nodes are of older version

The note might not be in the best location/page, feel free to adjust, I appreciate feedback here

This seems very informative. However, I'd like to propose a more compact version of this:
The Dashboards from Aiven for OpenSearch is not compatible across minor versions. Because of this, if existing current nodes of your service instance are of an older version, you can expect downtime during migration or plan changes.
I'd say that this should be a small section or a warning note in the OpenSearch Dashboards index (whatever you think is better), then you can link to where migrations, change plan are mentioned.
You can change the style from .. note to ..warning, for example:
.. warning ::

    Write info here.

You can then link in the relevant places like this:
.. seealso::
You can find information about the OpenSearch Dashboards compatibility in :doc: <path>

Let me know what you think. This seems like an important information and we would like that the user can easily find it.


Fixes #3370. Support press-and-hold on Button

Fixes

Fixes #3370

Proposed Changes/Todos

[x] Figure out how to visually show press-and-hold. Invert ColorScheme
[x] Fix logic issue in View.OnMouseEvent and Application.OnMouseEvent
[x] Update Buttons scenario to demonstrate
[ ] Update Button API docs
[ ] Add new unit tests
[ ] Ensure works on NetDriver and CursesDriver - Dependent on #3374 being fixed (#3375).

Pull Request checklist:

[x] I've named my PR in the form of "Fixes #issue. Terse description."
[x] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[x] My code follows the Terminal.Gui library design guidelines
[x] I ran dotnet test before commit
[x] I have made corresponding changes to the API documentation (using /// style comments)
[x] My changes generate no new warnings
[x] I have checked my code and corrected any poor grammar or misspellings
[x] I conducted basic QA to assure all features are working

@BDisp give this PR a try.
Bring it down locally and note how i've implemented a UI effect on Button that shows when it's been pressed/released.
Note that if you do a mouse button press on a button, and then move off of it, it does NOT click, but if you move it back (while still holding the button) down and then release, it does click.
I think this is what you want:

"prevents many times when accidently press a button and avoiding the clicked after moving the mouse.

...AND is what I want:

Makes it so that you can be moving the mouse a little when you try to click

Yes that fit what I said. It isn't clicking in the same point that matters but in the same object. That's good.

Yes that fit what I said. It isn't clicking in the same point that matters but in the same object. That's good.

I think this means removing the _processButtonClick related logic from WindowsDriver, and replicating what I've done in this PR with Button into View?
I just did a quick test with this:

And Button works perfectly (I think).

Also, I'd love your thoughts on the "repeat accelaration" I put in.
See how the Accept Count accelerates after 2 seconds of holding?

https://github.com/gui-cs/Terminal.Gui/blob/1cca002393da3b3fbb87c6b53f6dfb051c61f755/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs#L1711-L1748
Ideally this would be configurable, and I don't like the coupling between ConsoleDriver having a reference to Application.WantContinuousButtonPressedView . So I'd like to figure out how to move the logic out of WindowsDriver and into Application (or View if that makes sense).

Open All Views Tester scenario and move the mouse around the window without pressing. A null reference will be throws .

Open Buttons scenario and move the mouse around the window without pressing. The screen will be all black. Pressing Esc it's possible to exit.
https://github.com/gui-cs/Terminal.Gui/assets/13117724/5fef59a7-491f-4047-91c2-505f28a56fcf

The window is resizing even without pressing any mouse button but only by moving the mouse.

Do this issue is happening to you? Click on the Toplevel button and after the Dialog is open click on the Yes button keeping the button pressed. You'll see that the Dialog width increasing before it close.
https://github.com/gui-cs/Terminal.Gui/assets/13117724/3f7f1565-cb3f-432c-8eb7-925371d1522b

Yes. This is unrelated to this. We need to open a separate issue.

Yes. This is unrelated to this. We need to open a separate issue.

I know that is unrelated to this. Doesn't we just can talk? Damn.

The window is resizing even without pressing any mouse button but only by moving the mouse.

I"ve seen this too. I'll dig in to it.

Yes. This is unrelated to this. We need to open a separate issue.

I know that is unrelated to this. Doesn't we just can talk? Damn.

Yes, we can "just talk". However, we can "just talk" in an organized way.
Every Issue and PR has a specific topic. It confuses things if we mix topics. It would be more effective if you just created a new issue for things like this if you know it's is unrelated. I've asked you to do this before, but you continue to do it.

Open All Views Tester scenario and move the mouse around the window without pressing. A null reference will be throws .

Good catch. Looking into it.

Open Buttons scenario and move the mouse around the window without pressing. The screen will be all black. Pressing Esc it's possible to exit.
WindowsTerminal_uRMkWTbEX6.mp4

I can't reproduce this.
However, if I press and hold the mouse button while moving, and cross the border, the Window resizes (which it shouldn't). Do you think this is what you're seeing?

The window is resizing even without pressing any mouse button but only by moving the mouse.

I"ve seen this too. I'll dig in to it.

This is caused by a combo of:

#3344
#3312

This happens in v2_develop as well.

Every Issue and PR has a specific topic. It confuses things if we mix topics. It would be more effective if you just created a new issue for things like this if you know it's is unrelated. I've asked you to do this before, but you continue to do it.

Ok I already opened an issue for each of them, but sometimes I only want a positive/negative response before continue. And is in these cases where you complicate the things. e.g. if you respond like "Yes I'm also seeing that issue. You may open an issue for it". That's a good answer, but just saying "It's unrelated with this one. It's better open an issue for it". It's a bad response because you didn't confirmed first it the issue really exist or not.

I can't reproduce this.
However, if I press and hold the mouse button while moving, and cross the border, the Window resizes (which it shouldn't). Do you think this is what you're seeing?

You have to double click the Buttons scenario and move the mouse while the scenario is opening. With NetDriver and CursesDriver this issue doesn't happens. Maybe is related with how Windows Terminal handles  the mouse using the Win32 API.

This commit https://github.com/gui-cs/Terminal.Gui/pull/3372/commits/a8d6f846d74e99ba53ba2e63eb378e679b8c77e9 Fixes #3379.
Confirmed. Thanks @tig.

I can't reproduce this.
However, if I press and hold the mouse button while moving, and cross the border, the Window resizes (which it shouldn't). Do you think this is what you're seeing?

You have to double click the Buttons scenario and move the mouse while the scenario is opening. With NetDriver and CursesDriver this issue doesn't happens. Maybe is related with how Windows Terminal handles the mouse using the Win32 API.

This doesn't reproduce on the v2_develop anymore. Maybe I swapped from this branch to the v2_develop and run debug without compile it first. But this branch is reproducing this issue.

Reposting this from @bdisp to the right Issue:

When a button is pressed but not released doesn't restore the original color when the cursor leave the button and the mouse is released outside it. So I think the color should be restored when the mouse leaves the button and not waiting for the mouse releasing.
WindowsTerminal_ibEkiAlmbr.mp4

Reposting this from @BDisp to the right Issue:

When a button is pressed but not released doesn't restore the original color when the cursor leave the button and the mouse is released outside it. So I think the color should be restored when the mouse leaves the button and not waiting for the mouse releasing.
WindowsTerminal_ibEkiAlmbr.mp4

I had this working. But then somehow broke it.
Here's the behavior I want for `WantContinousButtonPresses == false:
Case 1 - Press/Release - acts like Click

Press within Bounds

Color Highlights

Release within Bounds

Color is now Focus

Case 2 - Press and move out of bounds, then release

Press within Bounds

Color Highlights

While holding, move mouse out of Bounds

Color stays highlight

Release out of bounds

Color goes to Focus
Accept does NOT get invoked

Case 3 - Press and move out of bounds, then move back in, then release

Press within Bounds

Color Highlights

While holding, move mouse out of Bounds

Color stays highlight

Move back in to bounds

Color stays highlight

Release in bounds

Accept gets invoked

Like I said, I had this working. This is pretty close to how Windows' buttons work (although newer Windows buttons have an intermediate "you're pressing but you moved out of bounds" color.

That also depends of what you are really doing. If you are dragging a view and want always highlighted until releasing it, that ok. But if you are generating a animation of a button press then if the mouse is outside of his bounds then the color is restored to alert that the button isn't selected if the mouse button is released. You also need to decide if you pressing and holding on a button and move the mouse to another button what the effect you want. Restores the previous and highlight the new button?

@BDisp - huge update here. Please take a look!

This is weird. If the window cannot move, it must be prevented from moving.
https://github.com/gui-cs/Terminal.Gui/assets/13117724/f4d94262-6d8a-463d-b279-090d13704a6e

This code work but you have to override the OnDrawContent on the Button.cs:
    private bool _isMouseEnter;

    /// <inheritdoc />
    protected internal override bool OnMouseEnter (MouseEvent mouseEvent)
    {
        if (mouseEvent.Flags == MouseFlags.ReportMousePosition)
        {
            _isMouseEnter = true;
            SetNeedsDisplay ();
        }

        return base.OnMouseEnter (mouseEvent);
    }

    /// <inheritdoc />
    protected internal override bool OnMouseLeave (MouseEvent mouseEvent)
    {
        if (mouseEvent.Flags == MouseFlags.ReportMousePosition)
        {
            _isMouseEnter = false;
            SetNeedsDisplay ();
        }

        return base.OnMouseLeave (mouseEvent);
    }

    /// <inheritdoc />
    public override void OnDrawContent (Rectangle contentArea)
    {
        TextFormatter?.Draw (
                             BoundsToScreen (contentArea),
                             HasFocus || (_isMouseEnter && CanFocus && !HasFocus) ? GetFocusColor () : GetNormalColor (),
                             HasFocus ? ColorScheme.HotFocus : GetHotNormalColor (),
                             Rectangle.Empty
                            );
    }

https://github.com/gui-cs/Terminal.Gui/assets/13117724/44700de6-4556-4d4d-98be-469746a6d915

@tig I hope you like the https://github.com/tig/Terminal.Gui/pull/31. So any view that want this feature only need to set HighlightOnMouseEnter property to true.

This feature is a nice touch. 👍

That approach is still easy to have an all-in-one with, as well. You just include all the modules in an all in one library project and publish single file and 💥: there's your all-in-one.

where pressing and holding alt will highlight or underline all the hotkeys of elements on screen,

Sadly, getting just Alt key presses is a struggle. It barely works on WindowsDriver and seems impossible on *nix.
I am excited for #1275 though!

Figures 😆
And yes, I love the improvements!
Feels like things are getting shored up nicely. 🙂


Links inside of panels are no longer the right color

In the blue panels this is especially problematic

Looking back at the history of panels, looks like this is intentional. These styles were removed here: https://github.com/Esri/calcite-web/commit/a7d738005c169aac5886bcc2ec0667a391831633
I seem to remember this being because .panel-dark-blue a was overly specific and cause problems?
I'll just document that you need to set link styles in panels and suggest proper link color classes to help.


Simple dApp (only login, profile page, single action)

Simplified sample version of rair-front that is only the user profile page as homepage.
Add 1 new mechanic to do something fun. Collect NFT, or favorite something in the database to create the most simple single function dApp.

No rush on timing! Can get other tasks done as priority - just a fun side project to help out new devs

Something like this perhaps https://catattack.thirdweb.com/

Here is an example UI. Only functionality is to free mint our admin NFT for the hackathon.

-Deployment: Checkin to rair-templates repo which have access to. Only checkin rair-front. Pull node, sync, media if needed from master repo
-Configuration of the mint button is handled in the environment variable.
-Button text. Contract, product,offer
-Simple dApp = true/false 1/0
-If set to true then it hides the entire marketplace and only displays the single mint button for the offer specified in the environment variable file.

get with Juan re random buy button logic for simple dapp

Simple dapp works!


--profile-directory launches 2 browser windows

My requirement is to test chrome extensions on a new profile.
I referred Peter Beverloo for Chromium args[--user-data-dir, --profile-directory]
After the browser is launched, 2 chrome windows are opened. One with given profile and extension and another with default profile and given extension. Also the focus is on a window with default profile. So all actions are happening on it.
I tried to switch focus to desired window but browser.BrowserContexts().length is 1, which is browser with default profile. Also browser.targets() shows that there is only 1 target with type as browser.
I had expected that only 1 browser window would be opened with desired profile and extension.
Steps to reproduce
Tell us about your environment:

Puppeteer version: 6.9.0
Platform / OS version: Windows 10 Pro version 1803
URLs (if applicable):
Node.js version: 10.16.3

What steps will reproduce the problem?

Open chrome.exe from path\to\my\project\node_modules\puppeteer\.local-chromium\win64-674921\chrome-win\chrome.exe
Click on profile icon and open Manage People dialog.
Add new person (Profile)
Open chrome://version and make a note of Profile Path and close the browser.
Create example1.js, example2.js and execute it using node example1.js, node example2.js. The code for both examples are given below.

Please include code that reproduces the issue.
example1.js
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({headless:false, args:['--disable-extensions-except=\\path\\to\\my\\extension',
'--load-extension=\\path\\to\\my\\extension',
'--user-data-dir=%userprofile%\\AppData\\Local\\Chromium\\User Data',
'--profile-directory=Profile 1'
]});

  const page = await browser.newPage();
  await page.waitFor(5000);
  await browser.close();
})();

example2.js
const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({headless:false, args:['--disable-extensions-except=c:\\dev\\prj\\vpnteam\\global VPN\\extension',
  																'--load-extension=c:\\dev\\prj\\vpnteam\\global VPN\\extension',
  																'--user-data-dir=c:\\Users\\govinda.s\\AppData\\Local\\Chromium\\User Data',
  																'--profile-directory=Profile 1'
  															]});
  console.log(browser.browserContexts().length);
  var x = await browser.targets();
  for(let i=0;i<x.length;i++)
  {
  	if(x[i].type()==='browser')
  	{
  		console.log(x[i]['_targetInfo']['targetId']);
  	}
  }
  await browser.close();
})();

What is the expected result?

Puppeteer should launch Chrome with given:
a. Profile
b. Given extension should be loaded for that profile.

What happens instead?

Apart from above expectations,
a. A browser with default profile is also launched. In total 2 browser windows are opened.
b. The browser with default profile also has given extension loaded.
c. By default, the browser with default profile has focus.
d. browser.browserContexts().length is 1
e. There is only 1 target with type browser

The issues is not related to puppeteer. Its more of a chromium issue.
https://stackoverflow.com/questions/57623828/in-puppeteer-how-to-switch-to-chrome-window-from-default-profile-to-desired-prof/57662769#57662769


Add CHANGELOG

Coverage remained the same at 92.283% when pulling 9291916cba1d4795375fbdaf048109172d0a221d on changelog into 1465e960314fabea466aee783810f4ff10c7560b on master.

Coverage remained the same at 92.283% when pulling 9291916cba1d4795375fbdaf048109172d0a221d on changelog into 1465e960314fabea466aee783810f4ff10c7560b on master.

Coverage remained the same at 92.283% when pulling 9291916cba1d4795375fbdaf048109172d0a221d on changelog into 1465e960314fabea466aee783810f4ff10c7560b on master.


Fix type error spotted by latest compiler

/cc @garyb

I guess nobody was using this function then! :+1:

No, the function was fine, it just wasn't type checked :)


WIP(iox-10578): patched df upgrade 202-04-27

⚠ This will not be merged. ⚠

Bringing us up to datafusion to 2024-04-27 https://github.com/apache/datafusion/commit/0f76bd6fbfaf13e2992929e71f4068f117d35628

This PR is based on April 23, 2024 https://github.com/apache/datafusion/commit/65ecfda84f7a105412bbf4040885a1b1774668d1

git co -b chunchun/update-df-apr-week-4-3 65ecfda84f7a105412bbf4040885a1b1774668d1

Applied the following patch(es):

Cherry picked https://github.com/apache/datafusion/pull/10224 /
https://github.com/apache/datafusion/commit/9c8873af12826e47f5743991859790df7a3b6400
commit 9c8873af12826e47f5743991859790df7a3b6400
Author: wiedld<EMAIL_ADDRESS>Date:   Fri Apr 26 03:42:16 2024 -0700

    Allow adding user defined metadata to `ParquetSink` (#10224)

cherry picked https://github.com/apache/datafusion/pull/10242 / https://github.com/influxdata/arrow-datafusion/commit/f8c623fe045d70a87eac8dc8620b74ff73be56d5
commit f8c623fe045d70a87eac8dc8620b74ff73be56d5
Author: Jonah Gao<EMAIL_ADDRESS>Date:   Sat Apr 27 02:30:09 2024 +0800

    fix: no longer support the `substring` function (#10242)

cherry picked https://github.com/apache/datafusion/pull/10259 / https://github.com/apache/datafusion/commit/22311835bc1b4bd83b50e1c3875b0e725622b872
commit 22311835bc1b4bd83b50e1c3875b0e725622b872
Author: Nga Tran<EMAIL_ADDRESS>Date:   Tue Apr 30 11:45:34 2024 -0400

    feat: add optimizer config param to avoid grouping partitions `prefer_existing_union` (#10259)

cherry picked https://github.com/apache/datafusion/pull/10322 / https://github.com/influxdata/arrow-datafusion/commit/3b77b6b8e884a1bda7579891935466561c235a97
commit 3b77b6b8e884a1bda7579891935466561c235a97
Author: Nga Tran<EMAIL_ADDRESS>Date:   Tue Apr 30 17:49:14 2024 -0400

chore: add function to set prefer_existing_union (#10322)

The upgrade is done. Closing


[SPARK-28265][SQL] Add renameTable to TableCatalog API

What changes were proposed in this pull request?
This PR adds the renameTable call to the TableCatalog API, as described in the Table Metadata API SPIP.
This PR is related to: https://github.com/apache/spark/pull/24246
How was this patch tested?
Added  unit tests and contract tests.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

PTAL @rdblue
@mccheah, @cloud-fan since you originally reviewed https://github.com/apache/spark/pull/24246

Are we going to support this from the SQL side? Think it's hard to evaluate the semantics of the API without seeing how it will be used in query planning and execution.

@mccheah, this is supported by Spark for v1: https://github.com/apache/spark/blob/master/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4#L130-L131
I think it makes sense to add it. The plan is simple and just has two identifiers, but we do need to decide whether to require that both identifiers start with the same catalog. For example, what should happen in this case?
ALTER TABLE cat.db.table RENAME TO db.table2

Should the catalog name be implied? I think this should throw an error because the catalogs for the identifiers do not match.

but we do need to decide whether to require that both identifiers start with the same catalog

A similar problem was already discussed before and the decision was: RENAME TABLE should only do rename, not things like moving databases. As a result, the ExternalCatalog.renameTable is defined as def renameTable(db: String, oldName: String, newName: String): Unit.
We can also enforce it at the parser level: ALTER TABLE multiPartName RENAME TO singlePartName. We didn't do it before for backward compatibility reasons, it's a good chance to do it for DS v2 now.

@cloud-fan  @rdblue Originally I had committed a version enforcing the same namespace for the table identifiers since the spec does not define the behavior in that case, so I tried to be consistent with the existing behavior in Spark, the enforcement is already there in https://github.com/apache/spark/blob/24e1e41648de58d3437e008b187b84828830e238/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/catalog/SessionCatalog.scala#L641
Also, I think there could be cases when the catalog could rename a table across databases and not requiring any move (of data). However, if there has already been agreement that the renameTable operation only works within the same DB then I can revert the change I had enforcing the same namespace.  If we want to add the enforcement at the parser level, maybe we can do it in another PR.
Please let me know if there are any more comments on this.

Let's enforce that to be consistent with the existing behaviors.

@cloud-fan @rdblue I've added back the namespace checks, raising AnalysisException to match the existing behavior. Please let me know if there's anything else to address. Thanks.

Sorry I missed @cloud-fan's comments before now.
I disagree with the decision to throw AnalysisException if the namespace doesn't match. What is the added benefit here? If a catalog can rename a table to a different namespace, Spark should allow it. I see no reason why Spark should artificially limit a catalog's ability to rename.

Also I'm -1 on the changes suggested by @mgaido91. The original documentation matched the javadoc for the other methods by using "rename" instead of "renames".
In addition, the phrase "must throw" is used specifically to tell implementers the behavior that is required by this API. Using "throws" is appropriate for an API consumer, but the audience for this documentation is the API implementer. The use of "must throw" should be added back.

Just to be clear here, @cloud-fan, as mentioned before something like:
ALTER TABLE cat.db.table RENAME TO db.table2

Would still fail, since the catalog is not the same and I don't think we should imply it; this can be in the SQL operation implementation. However, to @rdblue's point if the catalog support renames across DBs I don't see why Spark should block it either, other than existing behavior which I don't think this change would affect either if the catalog does not support such operation.

+1 for failing when the catalog is not the same. Spark should validate that the same catalog is responsible for both table identifiers.

@rdblue IMO, we should first think about what behavior Spark should provide to end-users, and then design the Data Source API to enforce the behavior.
RENAME TABLE should only rename table, not moving between namespaces. This is intuitive and is the behavior of Hive, Postgres and other mainstream SQL systems. This is the decision we made in https://github.com/apache/spark/pull/14955 . If you want to revisit it, please open a new PR, instead of mixing it with adding new API.
If a catalog can move tables between namespaces, that's good and we can probably introduce a new command like MOVE TABLE  to expose this ability to end-users. But we shouldn't extend the behavior of RENAME TABLE to expose this ability.

@cloud-fan, I'm not convinced that a decision for v1 applies to v2, considering all of the challenges with v1 and its very narrow focus on what works with the Hive metastore.
@brkyvz, @mccheah, and @RussellSpitzer, what do you think about allowing rename across namespaces or not?

There is no value for Cassandra for renames across namespaces, but I don't have strong feelings about Spark enforcing this.  I'm fine with rejecting this at the Catalog level outside of the Analyzer

I think we have to be more flexible here because of how loose the definition of a namespace is. Sure, many traditional database systems don't inherently support moving tables from one database to another - but the definition of a namespace in the context of DSv2 is more broad than a database. A namespace could map to a user, for example, in which case moving a table from one namespace to another is effectively transferring ownership of the table; then the underlying catalog could, for example, check ACLs as part of validation and potentially throw an authorization error instead of an analysis one.
It depends on the goal at the end of the day - is the goal that the same SQL statements produce exactly the same behavior across all catalogs, or is the goal that the catalog implementation is given maximum optionality and flexibility? If we want SQL to behave exactly the same across all catalogs, then yes we would throw the analysis exception, but then catalog implementations would never be given the opportunity to move tables from one namespace to another, effectively forcing the user to find a workaround. (We could add a flag to ALTER TABLE... RENAME, but if a given database doesn't support moving across namespaces anyways, then this SQL statement would suddenly have different behavior across catalogs anyways, negating the original goal.)
But I will note that we've been aiming for consistency in other parts of the DSv2 project. I think it's a fine balance and something we have to call on a case by case basis.

I think consistency in this case means that table renames behave the same way, not that all sources have the same level of support. A similar example is the effort to add DELETE FROM. JDBC sources can delete any record from a filter, while file sources can only implement filter deletes that use only partition columns. Sources aren't required to have uniform capabilities, they are just required to have consistent behavior -- even if that behavior is what to do when something is not supported.

Hey, I'm not against the ability to move tables between namespaces, I'm against doing this via RENAME TABLE. The example of mapping namespaces to users and transferring table ownership does make sense, but it's super weird to accomplish it by RENAME TABLE. I'd expect to see something like MOVE TABLE t FROM ns1 TO ns2.
I agree with @rdblue about the definition of consistency here. It's OK if JDBC always supports DELETE FROM while file source may throw an exception and say the delete condition can only refer to partition columns. But the problem here is not consistency. It's about if RENAME TABLE can change the namespace of the table while renaming it. IMO namespace is part of the table identifier but not part of the table name.
FYI, in other RDBMS, the parser doesn't even allow you to put a multi-part table identifier after ALTER TABLE ... RENAME TO. Spark allows it only for backward compatibility.

@cloud-fan, so you're suggesting Spark should create a new SQL command instead of using RENAME because RENAME would be confusing?
I think RENAME fits this operation. We're just changing the full table name, including namespace, instead of just the short name. In contract, MOVE implies a more expensive operation like a copy of data.
Last, MOVE would require new parser rules, plans, etc. where using RENAME would require only small changes. I see no real benefit to using MOVE instead of RENAME, and I think that the catalog API would be identical to what is proposed here because Spark doesn't intend to actually run a job to copy and move a table. In other words, if this is implemented as a catalog operation, it should be rename because the catalog isn't going to run a job to rewrite data.

I'm in favor of being able to rename tables across namespaces. The V2SessionCatalog can reject such an operation (validate that the namespaces match), since the HiveMetaStore wouldn't allow it.
Thinking from a use cases standpoint, I like the example that @mccheah gave around ACLs. Also  imagine having an object store catalog. Moving an entire table from dir1/dir2/abc to dir3/abc would be a valid operation. On HDFS or Azure Data Lake Gen2, these would be very quick operations.
Spark is not an RDBMS therefore I don't see a reason for constricting the functionality to RDBMS behavior as long as the new behavior we're allowing isn't more confusing or could cause users to shoot themselves in the foot.
The kind of use cases I see are:
ALTER TABLE a RENAME TO b;                                    -- regular RDBMS behavior
ALTER TABLE dev.a RENAME TO prod.b;                    -- fail
ALTER TABLE hdfs.dev.a RENAME TO hdfs.prod.a;   -- ensure prod is a namespace

We're just changing the full table name, including namespace, instead of just the short name.

If by definition namespace is part of the table name, then it's OK. I thought table name and namespace together are the table identifier.
For the parser rule, what I expect is
ALTER TABLE [catalog_name] [namespace_name] table_name
TO [new_namespace_name] new_table_name

That said, I think this command should never fail at Spark side. The table identifier after TO should be always interpreted as namespace + table_name.

Thanks everyone for your input. I think it looks like we agree on the following points for this PR:

The behavior of the catalog operation renameTable  is to change the table name, including namespace, defined by the table identifier from oldIdentifier to newIdentifier.
It’s up to the catalog implementation to support this operation or not. The TableCatalog#renameTable operation will throw an appropriate Exception based on the catalog specific implementation.
Spark does not constrict the behavior to particularities in the underlying catalog, nor it aims to define how the catalog must implement this operation, e.g. table move, metadata change, directory relocation, etc.
Rename table is only defined for tables within the same catalog.

Based on the previous points, I’ve pushed the changes back to how I originally submitted this PR, where the catalog does not throw AnalysisException and instead the more general UnsupportedOperationException is optionally thrown.
@rdblue @cloud-fan please let me know if there are any other concerns. Thank you.

Looks good to me! I'd like tests for the v2 session catalog change, but otherwise I'm +1.

Yeah, once tests for V2 session catalog are added, I can merge this

ok to test

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14078/
Test PASSed.

LGTM. Shall we also update the RENAME TABLE command? I'm fine if we create a ticket and do it in a follow-up.

Test build #109011 has started for PR 25206 at commit e95c603.

Test build #109011 has finished for PR 25206 at commit e95c603.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109011/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14115/
Test PASSed.

Test build #109053 has started for PR 25206 at commit 71d9ad1.

@cloud-fan I've created ticket https://issues.apache.org/jira/browse/SPARK-28717 for the follow-up work to update the SQL command ALTER TABLE RENAME.

Test build #109053 has finished for PR 25206 at commit 71d9ad1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109053/
Test PASSed.

thanks, merging to master!


Added T45 Radio

Adding pre-programmed VNAO T-45C stack to handle both VUHF radios, TACAN and VOR
Notes:

The module avionics are still WIP. Despite appearances, the radio implementation in use only supports UHF. The Panel is restricted to working frequencies, but it's still possible for the user to click the radio out of the working range.
This requires an update to the DSCFP fork of DCS-BIOS that I'll make another PR for.
There's an issue where Sync method is unable to complete a full sweep in one operation E.G. 225.000 to 399.975; it falls out somewhere in the middle, but does successfully update the LCD with the active, so there's no desync other than the original desired frequency being replaced by the active at the point the operation stops, when the user sends that active to standby the next time there's a transfer. I don't know if I have introduced this.
I still don't really know anything about C#, so It's very likely there are some things that could/should be changed from a style perspective.

Opened PR separately.


WIP: Fix thread contention in Cache

Needs to rebase once #141 is merged.
When multiple threads are used, it can cause thread contentions so
performance can be degraded.

It is found that the performance degradation is due to lock() method in cuCIM's cache implementation.

This patch fixes the issue by using a hash value for the index of the mutex pool.
Also, the default mutex pool size is increased from 11117 to 100003.

After Fix
Note:: experiment on JPEG-compressed SVS had an incorrect configuration (start location and patch size was specified as (128,256) instead of (120, 240)) so updated it in both documents and Google Spreadsheet.

Close #146

PR ( https://github.com/rapidsai/cucim/pull/141 ) is in. So this is ready for rebasing

PR ( #141 ) is in. So this is ready for rebasing

@jakirkham
Please help merge this when you have time.

@gpucibot merge


Manage z-index for Scatter Chart

Hi.
It would be very nice to be able to manage a z-index in the Scatter plot. I have a lot of point in my scatter plot, and they do not have the same color. And some are more important than others. I'd like them to be on front, so they are not hidden by others.
Current hack would probably be to change the order of the array of my Spots, but it is an hack.
Having a z-index property, CSS-style, would be super.
Thanks for this awesome lib !
Victor

Hi @vbaulac , Did you found any solution?

It's a good starting point for contributing, you can just read the guideline and open your PR.
We can add a property (for example called renderPriority which is null by default) here:
https://github.com/imaNNeo/fl_chart/blob/11d13a78e6a134aa0cfdcd8dfa88dceaf79a4033/lib/src/chart/scatter_chart/scatter_chart_data.dart#L189-L204
Then when rendering it, you can sort them by the renderPriority if any point has this property.

I can take this if you'd like!

I can take this if you'd like!
Yes, that would be nice!


SignUp API Exploit Add reCaptcha to register API

Using the POST curl request anyone can flood the database with redundant info and make the site status to 500,0
So it would be better to add google ReCaptcha to register API to avoid any automated signups.
POC ( Proof Of Concept )
sudo curl -d<EMAIL_ADDRESS>-X POST https://quizzie-api.herokuapp.com/user/signup
A simple python script can be made to pass the parameter to the above Linux shell command and flood database.
OUTPUT LOG
ubuntu@ip-1XX-XX-X-XXX:~$ sudo nano CChefAPISignUPCall.sh
ubuntu@ip-1XX-XX-X-XXX:~$ ./CChefAPISignUPCall.sh
{"message":"user created","userDetails":{"userId":"5f5de327e1a87300175828bf","email":"testing@gomaild.com","name":"admin","mobileNumber":9999999999}}
ubuntu@ip-172-31-4-127:~$
Adding ReCaptcha2.0 would resolve this conflict

Using the POST curl request anyone can flood the database with redundant info and make the site status to 500,0
So it would be better to add google ReCaptcha to register API to avoid any automated signups.
POC ( Proof Of Concept )
sudo curl -d<EMAIL_ADDRESS>-X POST https://quizzie-api.herokuapp.com/user/signup
A simple python script can be made to pass the parameter to the above Linux shell command and flood database.
OUTPUT LOG
ubuntu@ip-1XX-XX-X-XXX:~$ sudo nano CChefAPISignUPCall.sh ubuntu@ip-1XX-XX-X-XXX:~$ ./CChefAPISignUPCall.sh
{"message":"user created","userDetails":{"userId":"5f5de327e1a87300175828bf","email":"testing@gomaild.com","name":"admin","mobileNumber":9999999999}}
ubuntu@ip-172-31-4-127:~$
Adding ReCaptcha2.0 would resolve this conflict

Hi,
Thanks for pointing it out.
We have added it to our to do list and will implement it in the next release.

Added in latest PR.


Deepdive data not found for a column

I have been struggling with deepdive for about a week now, can't get the spouse example to work. I am using ubuntu 16.04 LTS, deepdive v0.8.0-79-g28a58de (Linux x86_64)
first of all I find 2 different tutorials for the same objective (running the spouse relation extraction example). I followed the one on the web site up to the point of spouse_features and then all I keep getting is data not found for column p2_id and all processes are not found to be killed. googling this issue revealed that deepdive is not robust to some characters like \t, for example, if a column has only \t character in it this is fail the system.
so here are my questions, how can I know which column and which data entries creating this error?
also, is deepdive still under development? or is it abandoned?

for those who will struggle much like I did. I will explain how to debug this problem. this problem can be cause by multiple sources of errors. you are going to have to find from the log generated in the console which process cause the failure and what is the status code returned by this process. google the status code to know exactly what is the issue, then head to this script and use a couple of echos or prints (depends whether you are in bash or python script) to find out which line causing this error, then figure out your way around it.
note though: try to redirect the outputs of your scripts to a file instead of stdout or stderr because your debugs statements might not be captured. this issue is solved


[instrumentation_adapter] initial check-in

This PR creates an empty instrumentation_adapter plugin. I'm landing it to make #1866 easier to review.

LGTM


Base App Set up (Apostrophe)

Follow the tutorial and configure/ set up base app

http://apostrophenow.org/tutorials/getting-started/getting-started.html
Left to do:
Step 3 - Rename directories and repo pointer


change color of statusline when tmux--modal is activated.

I want a visual cue to let me know when I am in modal mode similar to the vim airline functionality where statusline changes colors depending on the different modes. This plugin is awesome but the MODAL_ICON="[=]" does not help to tell since I have to refocus my attention to the statusline.
I think grepping for the = symbol in the statusline and then changing the color of the statusline for the modal functionality would work but I don't know how to go about that for this solution.
There are also tmux hooks which actually I think would be the best implementation since the exposed functionality from tmux-modal can be used for different color highlights. The grep solution I will have more overhead since this requires an external tool.
I current have this to change the status line to blue when I press C-a [ for scrolling and searching through text in the terminal. M-a [ however does change the statusline.
# change search mode to blue
set-hook -g pane-mode-changed 'if -F "#{m/r:(copy|view)-mode,#{pane_mode}}" "set status-style bg=#0125ff" "set -u status-style"'

# change command mode to red TODO fix
set-hook -g pane-mode-changed 'if -F "#{=tmux-modal}" "set status-style bg=green" "set -u status-style"'

Any help would be appreciated in achieving this functionality.
Thank you

I'm not aware for any tmux hooks that triggers on key table changes (do you know maybe?). If I understand you correctly, you want to act upon key table changes (which is what tmux-modal changes).
I think the easiest here is just to hack the script. For example:
diff --git a/tmux-modal.tmux b/tmux-modal.tmux
index 5ea9326..b223d2f 100755
--- a/tmux-modal.tmux
+++ b/tmux-modal.tmux
@@ -583,7 +583,7 @@ STATUS_LEFT=`
       `'?#{==:'$KT_PREFIX'-,'`
          `'#{='$((${#KT_PREFIX} + 1))':client_key_table}'`
         `'},'`
-       `$MODAL_ICON' ,'`
+       `'#[bg=green]'$MODAL_ICON','`
      `'}'

 # We want to set the left status bar once; do it only if we can't find our

This format check is actually what you would want in a hook as well, i.e. check if client_key_table starts with ktm-, because all tmux-modal key tables starts with ktm-. Does this work for you?. You can of course change the color of different parts of the status bar. tmux-modal only changes status-left.

Yes this worked for me. Prefixing $MODAL_ICON with [bg=color] works.

I also tried changing the modal icon to CMD but that caused showed some weird characters in the statusline

Glad it worked out! Do you mean like this:
diff --git a/tmux-modal.tmux b/tmux-modal.tmux
index 5ea9326..b88ed1f 100755
--- a/tmux-modal.tmux
+++ b/tmux-modal.tmux
@@ -577,13 +577,13 @@ tmux source-file "$KBD_FILE"

 # Prepend left status bar with MODAL_ICON if our key tables are in use.
 # Determine this by checking if current key table starts with our prefix.
-MODAL_ICON="[=]"
+MODAL_ICON="CMD"
 STATUS_LEFT=`
     `'#{'`
       `'?#{==:'$KT_PREFIX'-,'`
          `'#{='$((${#KT_PREFIX} + 1))':client_key_table}'`
         `'},'`
-       `$MODAL_ICON' ,'`
+       `'#[bg=green]'$MODAL_ICON' ,'`
      `'}'

 # We want to set the left status bar once; do it only if we can't find our

Because that worked for me. Otherwise please paste your patch/diff. Maybe you just need to restart tmux?


fix: fitted nonrecursive cv with horizon >= 10

Description
Fixes #331
A test is added that passes with the fix, and fails without.
The bug is due to a faulty regex that filters column names with only one digit for the target.
Checklist:

[x] This PR has a meaningful title and a clear description.
[x] The tests pass.
[x] All linting tasks pass.
[x] The notebooks are clean.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


All bounds of YDR format will import

this code has problem with importing yft, i will improve it with ycd :<


[r] Tweak coverage data generation

Issue and/or context:
Coverage for R has been generated with default values for some of the arguments leading to generated paths missing the initial two directories apis/r/.  By probing a little deeper @mojaveazure and I found we could accomodate this with a combination of setting the path relative to the repository root, and setting the relative path argument too.
Changes:
The runner script r-ci.sh has been updated accordingly.
Notes for Reviewer:
SC 38463

I learned once again that the 'distance between "works here" and "works at GHA"' remainst constant at 'approximately four commits'.  It now runs but gets into a (new ?) failure under coverage for which I have to add a log dumper.  Later, or maybe tomorrow.

One step forward, two steps back: it 'runs' given the path settings, but it doesn't attribute any of the tests. :sob:  So we get the correct filename, but a bunch of zeros reported.  In short, we are still fighting to adjust package covr to our repo layout.

We seem to be getting in our own way.  On may laptop (no branches, main repo of TileDB Core, R, SOMA all a few days old) I can easily do
> library(covr)
> setwd("apis/r")
> Sys.setenv("CI"="TRUE")                           # to have more tests run
> res <- package_coverage(relative_path="../..")    # all defaults but inform about relative paths
> report(res)                                       # results in browser

Plus we can easily use the line_exclusion=list(...) argument to exclude nanoarrow.* (vendored) and roxygen.R (doc generation) after which we end up at 83% which isn't a bad place.

Some more progress.


Machine linux-49 lost external connection phone device.

Is there an existing issue for this?

[X] I have searched the existing infra issues

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
Machine linux-49 lost external connection phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

External connection has been restored by rebooting phone device.


Find a crate for coordinate transformations

Apparently there is none for astronomical coordinates.
Guess I'll have to write it...


Blueprints: SerializationException when adding a component with Vector2 field

Hey! Stumbled uppon a problem. When I add a component, containing Vector2 into a Blueprint it throws the following exception. I know that the reason is that Vector2 is not marked as serializable. I've already worked this issue around but I think you should know and may be apply some measures to solve this problem because vectors and quaternions are pretty popular data types when it comes to game programming.
Update
I've tried other data types. GameObjects are also have problems with serialization. Looks like it's general trouble with the serialization method.
Here's stack tracking.
SerializationException: Type UnityEngine.Vector2 is not marked as Serializable. System.Runtime.Serialization.Formatters.Binary.BinaryCommon.CheckSerializable (System.Type type, ISurrogateSelector selector, StreamingContext context) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/BinaryCommon.cs:119) System.Runtime.Serialization.Formatters.Binary.ObjectWriter.GetObjectData (System.Object obj, System.Runtime.Serialization.Formatters.Binary.TypeMetadata& metadata, System.Object& data) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectWriter.cs:386) System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObject (System.IO.BinaryWriter writer, Int64 id, System.Object obj) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectWriter.cs:306) System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectInstance (System.IO.BinaryWriter writer, System.Object obj, Boolean isValueObject) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectWriter.cs:293) System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteQueuedObjects (System.IO.BinaryWriter writer) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectWriter.cs:271) System.Runtime.Serialization.Formatters.Binary.ObjectWriter.WriteObjectGraph (System.IO.BinaryWriter writer, System.Object obj, System.Runtime.Remoting.Messaging.Header[] headers) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/ObjectWriter.cs:256) System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream serializationStream, System.Object graph, System.Runtime.Remoting.Messaging.Header[] headers) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs:232) System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize (System.IO.Stream serializationStream, System.Object graph) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs:211) Entitas.Unity.Blueprints.BinaryBlueprint.Serialize (Entitas.Blueprints.Blueprint blueprint) (at Assets/Addons/Entitas.Unity.Blueprints/BinaryBlueprint.cs:36) Entitas.Unity.Blueprints.BinaryBlueprint.Serialize (IEntity entity) (at Assets/Addons/Entitas.Unity.Blueprints/BinaryBlueprint.cs:31) Entitas.Unity.Blueprints.BinaryBlueprintInspector.OnInspectorGUI () (at Assets/Addons/Entitas.Unity.Blueprints/Editor/BinaryBlueprintInspector.cs:162) UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor editor, Int32 editorIndex, Boolean rebuildOptimizedGUIBlock, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1229) UnityEditor.PopupCallbackInfo:SetEnumValueDelegate(Object, String[], Int32)

Agree, basic types should be supported, definitely.
About Blueprints - don't use them, and don't plan to use them anytime soon until there are json blueprints :D I suggest having a custom solution for configuration or if you really like blueprints and want to use them, it's really easy to add JSON blueprints which should be way easier to handle and migrate than the current binary blueprints. The main reason I haven't pushed them yet is because I didn't want to depend on a 3rd party lib. But you can totally do that. The json lib must be able to serialize object type.
See also #267

Oh. Ok, i'll get back to composing my entities in code.
Also, about json. It looks like Unity added a native json serializer to version 5.6. May be you should try it. Here it is:
https://docs.unity3d.com/Manual/JSONSerialization.html

:D see https://github.com/sschmid/Entitas-CSharp/issues/267#issuecomment-292813369

About serializing GameObject:
Maybe you know the Entitas-Shmup example project (ignore the fact that it's on an old Entitas version) There you can see I have an AssetComponent with a string of the asset name.
I like to treat blueprints as configuration - data you pull in from a source, e.g. a server which stores the game configuration. It should only contain simple data such as strings, ints etc. For that reason I think serializing GameObjects is not a good idea. I prefer to save to name of the resource.

Hi, this is my first comment on Entitas issues and I'm sorry if my English is bad. I also want to show my respect with the guys who made Entitas.
I know Entitas when it first came out on Unite 2015 and I really like the concept of Entitas. But I'm have not used it in any project because of it can't company with Unity GameObject or Prefab.
I try to fix this problem about a week and now I gave up, but I still explain my idea here since it may help the others a little bit. Maybe they have a better idea :)
Desire: Using Entitas with GameObject & Prefab just as like blueprint did right now, we have a game object, we attach a script and starting to add component to it. When the game run, the object will create an entity and components associate with it. It's can also support all kind of serialization that Unity support.
My approach:

Each component must be serializable
ComponentData: A generic class will held game object instance id, component lookup id and Entitas component
Create a scriptable object generic base will held a bunch of list of ComponentData. To make Unity Serialize work, I made an editor class to help us to generate this class, with each component has marked as Serializable, I create a list for them and save them as ComponentAsset.asset
A ComponentBanker will help to load asset file
Each game object has EntityAttacher component that can do what blueprint did.
If we delete gameobject => also delete all component in ComponentAsset
If we duplicate gameobject, copy/paste, create from prefab => clone those component with new GameObject instance Id

I succeed with this approach, i can add/update component, i can run and the gameobject can create entity with component .....
But .... at the end i realized my approach have 1 fault. Currently to add or create a component, we must know the component lookup id, and it can be changed if we add new/delete component. So my week is gone =))
I really really like Entitas and hope it can company with Unity soon :)

@vbnn2 I might have misunderstood you, but it seems like you are trying to make Entitas comply with a more traditional unity architecture (e.g. adding objects in the inspector, attaching scripts to them etc.) I think this is a problem - in Entitas you should be using Systems to carry the logic of your game, not unity scripts.
In any case, the simplest way to acheive what you're looking for in Entitas would be to have your AssetComponent carry a string : assetName. Then you would have a System take care of loading the prefab when such a component is added. See Match-One: AddViewsystem. This way you can serialize the component because its data is just a string. No need to ever serialize a GameObject.

@FNGgames I think the biggest difference between cocos2d-x and Unity2D is the Editor (I compare these two since i use both of them). For example i want to design levels in game, the powerful of editor will save ton of times, just grab object into the scene and everything is ok no matter how complex the level is (WYSIWYG)
With entitas, to achieve the same result, i don't think we can do the same thing, maybe we can create a level just like above, then export to some asset file then we load at runtime. This can leads to a huge workload and complexity from writing the exporter, the importer and objects creator system.
I trying to make Entitas easier to use and can use the powerful power of editor. The script i wrote is like EntityLink from Entitas, the difference is it can automatic create entity and component of a game object when it's created.

Will close. Binary Blueprints currently don't have a high prio unfortunately. See #267


Create more complexity testing of role

Add support for automatic ssl certificate checking and multi-node test support

Assignee is None

Created by EnergyNick at 2023-02-09T20:23:35Z


Add Analyzer support for DROP COLUMN

Closing in favour of: https://github.com/crate/crate/pull/14530


Week 5 Calendar Project: Find Meeting Query

This code in FindMeetingQuery.java finds and returns all available times from a collection of events for a meeting with required and optional attendees that are long enough for the requested time.
This is achieved by first filtering out events that don't contain any of the attendees, separating the start and end times for each event, sorting them in ascending order. Then, we iterate through the points and increment a counter every time a start point is encountered and decrement it when an end point is encountered. When this counter is 0,  we know that there are no events at that time, and when it becomes one, we can check if the time between the current time and the last time the counter was 0 is long enough for the requested duration and return it if it is.
FindMeetingQueryTest.java contains unit tests that check edge cases and various scenarios with finding available meeting times. The current version passes all of the tests.
TimePoint.java is a utility class for separating and sorting the time ranges.

LGTM.


[VL] Support C2R and R2C between broadcast relations

The patch removes the restriction that broadcast hash join and broadcast exchange should be enabled and validated at the same time. spark.gluten.sql.columnar.broadcastExchange spark.gluten.sql.columnar.broadcastJoin can be then turned on/off individually.
C2Rs / R2Cs will work as expected to convert between vanilla Spark broadcast relation and Gluten (Velox, as of now)'s broadcast relation.
By doing this, the related broadcast exchange+join coherent validation rules will be removed from core module. They will continue existing in backends-clickhouse module until we implement this feature for CH backend.
Require for https://github.com/oap-project/gluten/pull/4533

@marin-ma @zhouyuan

cc @Surbhi-Vijay

@zzcclp Please review CH's changes, thanks.

LGTM, we will support this feature for CH backend later

/Benchmark Velox

/Benchmark Velox

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4544_time.csv
log/native_master_01_30_2024_ec7f10c58_time.csv
difference
percentage

q1
35.47
35.36
-0.111
99.69%

q2
24.11
24.10
-0.012
99.95%

q3
36.49
38.51
2.018
105.53%

q4
38.23
38.16
-0.068
99.82%

q5
70.11
68.29
-1.823
97.40%

q6
5.51
7.27
1.755
131.83%

q7
84.38
82.16
-2.218
97.37%

q8
84.82
84.80
-0.014
99.98%

q9
124.22
126.41
2.182
101.76%

q10
44.72
44.51
-0.213
99.52%

q11
20.65
20.56
-0.088
99.57%

q12
29.70
28.18
-1.523
94.87%

q13
45.60
45.37
-0.229
99.50%

q14
20.13
16.65
-3.477
82.72%

q15
27.19
28.38
1.183
104.35%

q16
14.39
14.19
-0.203
98.59%

q17
100.79
101.24
0.446
100.44%

q18
148.27
149.10
0.831
100.56%

q19
13.89
12.63
-1.262
90.92%

q20
26.50
26.37
-0.135
99.49%

q21
225.71
226.96
1.251
100.55%

q22
13.51
13.51
-0.006
99.96%

total
1234.42
1232.71
-1.715
99.86%

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4544_time.csv
log/native_master_01_30_2024_ec7f10c58_time.csv
difference
percentage

q1
33.18
35.36
2.187
106.59%

q2
24.43
24.10
-0.331
98.64%

q3
37.86
38.51
0.652
101.72%

q4
38.14
38.16
0.023
100.06%

q5
69.74
68.29
-1.450
97.92%

q6
5.39
7.27
1.880
134.89%

q7
84.03
82.16
-1.876
97.77%

q8
85.49
84.80
-0.692
99.19%

q9
123.07
126.41
3.337
102.71%

q10
42.47
44.51
2.039
104.80%

q11
20.82
20.56
-0.252
98.79%

q12
25.50
28.18
2.677
110.49%

q13
45.31
45.37
0.067
100.15%

q14
21.04
16.65
-4.389
79.14%

q15
28.33
28.38
0.048
100.17%

q16
16.25
14.19
-2.054
87.36%

q17
102.30
101.24
-1.064
98.96%

q18
149.17
149.10
-0.068
99.95%

q19
12.60
12.63
0.033
100.27%

q20
25.93
26.37
0.443
101.71%

q21
224.45
226.96
2.517
101.12%

q22
13.82
13.51
-0.315
97.72%

total
1229.30
1232.71
3.410
100.28%


TOMEE-4023 Comparison pages with wrong specs per profile

Tomcat does not include JSTL nor the javax.security.enterprise.* packages.
The documentation should reflect that, and should have these specs into WebProfile.

Thanks @sultan

Sorry all for not seeing this PR sooner.  Here's information on Tomcat's JSTL and JASPIC implementations:

https://tomcat.apache.org/taglibs.html
https://tomcat.apache.org/tomcat-9.0-doc/config/jaspic.html

We should probably revert this change.

We should probably revert this change.

@dblevins Missed that. I will do the reverts.

the tomcat website indeed provides implementation for JSTL, but its not included in the tomcat server release itself.

I just did the reverts as suggested by @dblevins
Perhaps, it would be good to move this discussion towards the dev@ list, so we get consensus of what we want to display in our docs?

@sultan you're right -- looks like they're not shipping it and we have a shaded version of that jar as it isn't even converted to the jakarta namespace.  Also looks like I got JASPIC and Jakarta Security mixed up.
@rzo1 sorry for the busywork

@dblevins no problem.
How do we want to proceed? Looks like the changes are valid (but maybe not clear enough?) and we have a lot of confusion around it. So it can only improve :)

(A) We recreate the PRs + the PR in site generator, ask for review on the list and move on an after some time
(B) We recreate the PRs + the PR in site generator and move on
(C) Revert the revert, i.e. cherry pick the commit from the squash merge and move on

In terms of a clear git history, I would prefer (A) or (B) but we can also do (C), if this is less effort.

i think i wrongly moved debugging support out of tomcat into webprofile spec. so i made some minor changes that will require me to make the PRs again. i can take advantage of the new PRs to add some text to about tomcat not shipped with JSTL nor security api packages


Feature/tests with schema fix #17

fix #17

Current coverage is 80.32% (diff: 100%)

Merging #30 into master will increase coverage by 5.46%

@@             master        #30   diff @@
==========================================
  Files            13         13
  Lines           183        183
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            137        147    +10
+ Misses           46         36    -10
  Partials          0          0

Powered by Codecov. Last update 9adaf50...2a67885


How to create multiple labels for same boundingbox

For eg: An object might be a Dog, it might be Brown, etc. How to add multiple labels to the same object. The workaround that I'm using now is to create multiple bounding boxes for different labels.

OS:: macOS 10.13.4

It sounds more like you're interested in adding attributes to your objects. This PR: https://github.com/tzutalin/labelImg/pull/286 may be useful.

have a look on my fork, repeat LabelDialog. There are lots of hardcode in my code for my project, you can do a few modifications

I do not found till now but what I did hardcoded the rest tag into label.csv and work fine for me.


AI在评价政治人物时似乎存在偏见，可能与Sources引用多来自西方媒体有关

[Translation of the issue title: "The AI seems to exhibit bias when evaluating political figures, which may be related to the fact that many of the sources it references are from Western media."]
谢谢，我们的项目是一个以技术为核心的展示，旨在说明基于搜索引擎和大型语言模型的 RAG（Retrieval-Augmented Generation）技术的可行性。展示的内容由搜索引擎提供，并由大语言模型进行整合和归纳，中间不包含我们的主观观点。
我们项目的目标是技术展示，而非对任何内容进行评价或发表意见。任何基于互联网搜索结果的系统都可能会受到来源内容的影响。我们的数据来源多样，但可能会受到现有在线内容分布的影响，这并非我们项目的主观选择，而是基于互联网信息分布的现状，不代表我们对展示的观点表示同意或者反对。
Thank you. Our project is a technology-centric demonstration, aimed at illustrating the feasibility of the Retrieval-Augmented Generation (RAG) technology, which is based on search engines and large language models. The content showcased is provided by search engines and synthesized and summarized by large language models, without including our subjective opinions.
The goal of our project is to demonstrate technology, not to evaluate or express opinions on any content. Any system based on internet search results may be influenced by the content of its sources. Our data sources are diverse, but they may be affected by the current distribution of online content. This is not a subjective choice of our project, but a reflection of the state of internet information distribution and does not represent our agreement or disagreement with the viewpoints presented.


Improve accuracy of AuthState type definitions

Describe the problem you'd like to have solved
Main Problem: Usage of any on User type and hard-to-find information on what User really represents
I personally learn more about a library and the set of its possible behaviours by reading the types. Unfortunately, when I stumble upon an any, not only do I not gain insight into the meaning of a type, I also now have to deal with extreme ambiguity in my own code.
Specifically, I am referring to the AuthState interface which defines a field of user of type any.
Neither the code itself, nor the React SDK docs actually tell me what user really represents.
I am inclined to believe that it actually represents an ID token given that when I console.log user I get an object with a sub field.
Secondary Problem: Potentially Non-Sensical Types
As it stands, the AuthState definition implies that you can have a state that is:
  {
    isAuthenticated: true,
    isLoading: true,
  }

What does isLoading === true && isAuthenticated === true mean? Is this a valid state? My intuition tells me it isn't, but maybe i'm wrong!
I don't really want to cover this problem here, but I just wanted to bring this to light. A better solution is to define AuthState as an algebraic data type. Example:
type AuthState
  = { state: 'loading' }
  | { state: 'authenticated', user: User }
  | { state: 'failed', error: Error }

Describe the ideal solution
Replace export type User = any; defined in https://github.com/auth0/auth0-react/blob/2ca701ed78f68d60c5a6b9e36127ba53249bb873/src/auth-state.tsx#L1 with a more accurate type definition. Or, at the very least, use unknown as at least this is typesafe.
Alternatives and current work-arounds
One solution is to override / supersede the type definition of User in my own code.
declare module '@auth0/auth0-react' {
  // currently I think `User` is a IdToken but I need confirmation
  export type User = IdToken
}

Additional context
None, other than I really like it when libraries use unknown instead of any. But regardless, thank you for your awesome open source library! 🙂

Thanks for raising this @supermacro
We can't change user to unknown as this would be a breaking change. But we can probably make an improvement on any. We'll take a look at this the next time we're making updates to this SDK.


Reinitialize virtual select

Can we reinitialize virtual select to update options?

You can add VirtualSelect.setOptions() on som change event.

Thanks! It worked


Finding closest marker in Geoquery

Hi All, is there a way to find the closest marker in a geoquery? Ideally if someone was a long way off on the map they could compare their current location with all locations and go their directly.
Thank you for your time

Can't you just query again with a bigger radius then? Also it's quite easy to calculate how far certain coordinates are away. In your case the current location and the marker or two markers next to each other.

@joemerritt there's no "built-in" way to do this, you need to iterate through all of the locations returned and compare their distance to the user's current location.
You can use the GeoUtils.distance(...) method to calculate the distance between two points.


New Version requires permission for all websites

Just wondering why the new firefox addon version requires the permission for access to all websites, because in the older version (2.0.5) only access to the following sites were required:

ddg-webapp-aagd.vercel.app
chat.openai.com

Is the new permission really necessary? Also, in the addon store this addon is promoted with: "We only ask for bare minimum permissions and do not collect any user data."

Its the same for the Chrome Addon Store

Hey, yes, by popular request the latest version is now fully serverles – duckduckgo SERP scraping and URL text extraction now happen locally in the browser. There's no more need for the https://ddg-webapp-aagd.vercel.app/ backend, which I will sunset shortly.
This means that the extension needs access to all websites.
See full changelog in v3.1.5 release notes

@oneandonlyjason, you can restrict access to only a set of specific sites on the extension details page. In Сhrome it is located at chrome://extensions/?id=lpfemeioodjbpieminkklglpmhlngfcn
Here is the bare minimum needed for the extension to function:
But keep in mind that with these settings you won't be able to use the /page: command or duckduckgo bangs to extract text from any web page not on that list.

This does not work(

This does not work by default. Maybe I need to change something?

OK so basically it's this page command that is needing the "access to all websites" permission. So I am going to close this issue. Thank you for clarifying.


Call icon improvement

Icon Request

Icon name: Call
Tags of this icon: call, phone, telephone
Note: It can be better if you fix this call icon stroke as like material icon

It would be nice if there are alternative icons for this, instead of replacing the existing icon.


how to test neural net after traning

@david-gpu I trained in linux this  neural net, finished successful. But how I can send to  nnet  bad image for nnet resolute it?

You will have to modify the source code to do that. It is not currently supported.

How and where to modify  ?


Fix a flaky wait/notify test

This commit removes an assertion about the amount of time to sleep as part of the memory.atomic.wait* instructions. We've already seen one flaky test failure due to this and I think in general the timing around it isn't super precise so it seems best to leave this specific aspect perhaps untested for now but also pretty unlikely to regress. Otherwise though testing specific sleeping timeout behavior isn't something we're well structured to test at this time.
Closes #5312

My suggestion is to try https://github.com/bytecodealliance/wasmtime/pull/5315 first.


Bosh CPI does not support attachment of backend servers to a non-default SLB VServerGroup

Hi,
Currently the Bosh CPI can attach vms to the Default Server Group of a SLB only, using the 'slbs' property. I want to request the feature to add a given vm to a custom VServerGroup.
cloud_properties:
    # available
    slbs: ["lb-2zegrgbsmjvxx1r1v26pn"]
    # not available
    slb_server_group: ["rsp-ga39ra93a932q"]

Using the ID of the desired VServerGroup instead of the SLB-ID in the 'slbs' property leads to the following error:
BindSLB i-gw******** to rsp-gw******** failed: SDK.ServerError
ErrorCode: InvalidLoadBalancerId.NotFound
Recommend:
RequestId: 2085A******
Message: The specified LoadBalancerId does not exist.' in 'create_vm' CPI method

CPI Release Version: v20
References:
Alicloud API Reference for the desired operation: https://help.aliyun.com/document_detail/35218.html?spm=a2c4g.111866<IP_ADDRESS>73bde5248Qrq#doc-api-880565

parameters：(require) slb_server_group,
(optional) SlbServerGroupPort,Default value is 33333
The weight value is the same as that of slb weight,default value is 100

Fixed and Closed.