Split Application and Endpoint declarations

To run the TCK properly with RESTEasy and Jetty, the Application and endpoints declaration must be separate.
I had a look into the specification and also on the TCK. I couldn't find any indication that such set up should work.

It looks like MpRestClientAsyncTestEndpoint also has this problem.
Other tests have the Application class as a static inner class named RestApplication so we should use the same approach here.
I'll make these changes.

Thank you!

Unsure why this is a problem, we're also using resteasy within Liberty, but no objection to the changes.

The RESTEasy ServletInitializer (which I use to add to Jetty), only supports one type or the other:
https://github.com/resteasy/Resteasy/blob/main/resteasy-servlet-initializer/src/main/java/org/jboss/resteasy/plugins/servlet/ResteasyServletInitializer.java#L39-L68
Maybe that could be changed to support both. I guess that if you use RESTEasy Deployer directly, you could set things manually, and it would work.


fix read_table

fixes #1576
read_table returned QTables instead of Tables, which lead to lots of confusing and annoyances when working with them, since some columns worked differently than others and metadata being lost.  This way all columns in the tables have a consistent interface.
This just fixes that to return Table (the user can still convert to QTable if needed).  Technically this is an API change, but since the behavior was bug-like, I'm marking it as a bug to be included in v0.10.3.
Also renamed the function to read_table everywhere.  It was already called ctapipe.io.read_table, but was aliased as read_table while privately name h5_table_to_astropy, which could be confusing. So no change of API will happen there, as h5_table_to_astropy was undocumented.

@kosack you forgot an import in a test


How to generate github repo of Hudi?

Tips before filing an issue

Have you gone through our FAQs?

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
A clear and concise description of the problem.
To Reproduce
Steps to reproduce the behavior:

Expected behavior
A clear and concise description of what you expected to happen.
Environment Description

Hudi version :

Spark version :

Hive version :

Hadoop version :

Storage (HDFS/S3/GCS..) :

Running on Docker? (yes/no) :

Additional context
Add any other context about the problem here.
Stacktrace
Add the stacktrace of the error.

I have gone through FAQs link provided by you, it's giving 404 error.


[jinja] Add more built-in functions

This PR adds support for several built-in jinja filters (from this list).
Related discussion: https://huggingface.co/codellama/CodeLlama-70b-Instruct-hf/discussions/21
cc @pcuenca @Rocketknight1

From the list here, are the any other built-in filters I should include in this PR?

I was about to suggest capitalize()/title() but I see you've already got it! I think this covers all of the string methods that I've seen in chat templates.

great addition! thank you!


Doc mismatch leads to ImportError: cannot import name 'report' ?

Hi,
I'm using Syne Tune from a SageMaker-managed EC2 instance (notebook instance)
As indicated here, I'm using this code in my backend script:
from syne_tune.report import report
which returns an ImportError: cannot import name 'report'
and when I look in report.py I can see a Reporter but no report
This blog post however proposes a different code:
from syne_tune.report import Reporter
report = Reporter()

Could the README be clarified?
(Note that I cannot check the version: import syne_tune syne_tune.__version__ returns an AttributeError: module 'syne_tune' has no attribute '__version__'
thanks!

Thanks for reporting this mismatch, I will take a look now.


404 at /engine/understanding-docker/

URL: /engine/understanding-docker/ doesn't lead anywhere

This works for me. It redirects to https://docs.docker.com/engine/docker-overview/. Please make sure Javascript is enabled and reopen this issue if you still see a problem.


state-reproducibility-flush test ignores CLAP_PARAM_IS_READONLY

I have a plugin that only has "output" style parameters, basically pure metering that is exposed to the host with the parameter flags set as CLAP_PARAM_IS_READONLY
The validator tool fails to take this into account and tries to set values for these parameters, even though they are marked as read-only.

Only parameters marked as CLAP_PARAM_IS_AUTOMATABLE are considered in these tests. So it sounds like the parameter in question has both the CLAP_PARAM_IS_AUTOMATABLE and CLAP_PARAM_IS_READONLY flags set. Since even without CLAP_PARAM_IS_AUTOMATABLE parameters can still be changed by the host as a result of live user input, I'll change the filter to allow any non-hidden and non-readonly parameter to be randomized, as opposed to only randomizing automatable parameters. I'll also add a check that disallows parameters that have both CLAP_PARAM_IS_READONLY and CLAP_PARAM_IS_AUTOMATABLE/CLAP_PARAM_IS_MODULATABLE, as that is obviously an error on the plugin's side.
Can you try again with the latest master branch version?

Hi, any chance for a rebuild or CI fixup? I do not have a rust compiler setup here, was hoping to test it with the GH actions but latest build failed (due to using deprecated 18.04 as base)
I did check on my side btw, and I am not using CLAP_PARAM_IS_AUTOMATABLE together with CLAP_PARAM_IS_READONLY, they are mutually exclusive on DPF side. The validation issue was all about the host changing params marked as read-only, which I believe it is fixed now but cannot test at the moment.


[$1000] Chat - When switch away from the new chat for non-existing account, chat disappears from LHN

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Log in to NewDot with any type of account
Click on the green + button
Click on the big + button and "New Chat" option
Search for a user that you don't have any messages (use non-existing account) with and open the chat.
Send a message with the text: STAGING_CHAT_MESSAGE_A2C534B7-3509-416E-A0AD-8463831C29DD

Expected Result:
When switch away from the new chat for non-existing account, chat should be appear and message is visible in LHN.
Actual Result:
When switch away from the new chat for non-existing account, chat disappears from LHN
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/219682653-16090c99-47fe-4457-8a1f-10754396ad0e.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0118883c11995b435e
Upwork Job ID:<PHONE_NUMBER>056195072
Last Price Increase: 2023-02-17

Triggered auto assignment to @abekkala (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

I can confirm that the first message disappears from LHN.
Once going back to the same person and sending a second message shows the first message and then sending a second message makes it 'stick' to the LHN.

Job added to Upwork: https://www.upwork.com/jobs/~0118883c11995b435e

Current assignee @abekkala is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane (External)

Triggered auto assignment to @PauloGasparSv (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

May be related to https://github.com/Expensify/App/issues/14523

Proposal
Please re-state the problem that we are trying to solve in this issue.
New chat report with a single sent message disappears from LHN, once another report is opened.
What is the root cause of that problem?
The issue adds the following code:
https://github.com/bernhardoj/Expensify/blob/e6756fb8d3e696bf80484346caa3c4a7525295dd/src/libs/ReportUtils.js#L1370
This filters out the report from LHN if the maxSequenceNumber is 1. When the report is created by default, the maxSequenceNumber is 1. When a comment is added, the backend pushes the new report state with maxSequenceNumber still 1. However, upon refreshing the screen, the backend pushes the correct value of maxSequenceNumber.
What changes do you think we should make in order to solve the problem?

Ideally, this should be fixed from the backend where correct maxSequence number should be returned after first comment is added to a new report.
What alternative solutions did you explore? (Optional)
Instead of checking for maxSequenceNumber === 1, we can check if lastActorEmail === '__FAKE__' or lastMessageText === ''. The former is preferred because lastMessageText would be empty if an attachment is sent.

@PauloGasparSv AH shoot. Yes, this one looks to be directly related to that one!
That one was:

Empty chat shows in the LHN and remains in the LHN after simply navigating to it

I would assume the fix for that one would also resolve this one

@abekkala It's not directly tied to that PR. The root cause is the maxSequenceNumber not being updated correctly. Am I missing something?

I think it's related but the problem may be internal
Looking at @allroundexperts's comment it looks like the maxSequenceNumber is not being updated by the backend when the message is created.
In that P.R. we tested if sending a single comment would make the chat stay in LNH (it should) so I'm confused on why this is happening. Will have some time to take a look at this on Monday : /

Here is what I found, hopefully it helps. The maxSequenceNumber does not get updated when we send one message. After we send a second message, it will be updated to 2 (which should be 3 I believe) and will stick to LHN.

Thks @bernhardoj! Making this internal for now then and changing it to weekly!
Will take a look myself at why that maxSequenceNumber isn't updated after the first "add comment" command.

Found the source of the problem but required assistance so I started this thread, latest updates there

I think this was a regression caused by https://github.com/Expensify/App/pull/15129, so we should:

Revert https://github.com/Expensify/App/pull/15129
Close this issue
Remove the HOLD for payment on https://github.com/Expensify/App/issues/14523 and bring it internal. Much of the work will be back-end.

Following the last comment, since the P.R. was reverted I'm closing this off!


Hyprlock fingerprint not working after idle

Regression?
No
Hyprlock Info and Version
Hyprlock version 0.5.0
 Hyprlock config
source = ~/.cache/wal/hyprcolors.conf

# Fonts
$font = azuki_font
$clockFont = azuki_font
$minimalFont = azuki_font

general {
    disable_loading_bar = true
    hide_cursor = false
    ignore_empty_input = true
    enable_fingerprint = true
}

background {
    monitor =
    path = $wallpaper
    blur_passes = 2
    blur_size = 5
    color = $background
    noise = 0.0117
    contrast = 0.8916
    brightness = 0.8172
    vibrancy = 0.1696
    vibrancy_darkness = 0.0
}

# Time
label {
    monitor =
    text = $TIME
    color = $foreground
    font_size = 120
    font_family = $clockFont
    position = 0, -60
    halign = center
    valign = top
}

# Date
label {
    monitor =
    text = cmd[update:43200000] echo -e "$(date +"%A, %d %B %Y")"
    color = $foreground
    font_size = 20
    font_family = $font
    position = 0, -250
    halign = center
    valign = top
}

# Logged user
label {
    monitor =
    font_size = 30
    font_family = $minimalFont
    color = $foreground
    text = I major in computer science
    halign = center
    valign = bottom
    position = 0, 300
}

# Avatar
image {
    monitor =
    path = ~../OneDrive_Kito/animepic/314451413_174893565204253_5759314398642999570_n.jpg
    size = 150
    rounding = 100
    border_color = $color2
    position = 0, 50
    halign = center
    valign = center
}

# Input (password)
input-field {
    monitor =
    size = 200, 50
    outline_thickness = 3
    dots_size = .15
    dots_spacing = .6
    dots_center = true
    outer_color = $background
    inner_color = $color3
    font_color = $foreground
    fade_on_empty = false
    placeholder_text =
    hide_input = false
    check_color = $color4
    fail_color = $color1
    fail_text = $FAIL ($ATTEMPTS)
    capslock_color = $color1
    position = 0, 400
    halign = center
    valign = bottom
    capslock_color = rgb(255,0,0)
    numlock_color = rgb(255,0,0)
}

Compositor Info and Version
 System/Version info
Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.3

flags: (if any)

System Information:
System name: Linux
Node name: Kito
Release: 6.11.5-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Tue, 22 Oct 2024 18:31:38 +0000

GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 620 [8086:5917] (rev 07) (prog-if 00 [VGA controller])

os-release: NAME="EndeavourOS"
PRETTY_NAME="EndeavourOS"
ID="endeavouros"
ID_LIKE="arch"
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://endeavouros.com"
DOCUMENTATION_URL="https://discovery.endeavouros.com"
SUPPORT_URL="https://forum.endeavouros.com"
BUG_REPORT_URL="https://forum.endeavouros.com/c/general-system/endeavouros-installation"
PRIVACY_POLICY_URL="https://endeavouros.com/privacy-policy-2"
LOGO="endeavouros"

plugins:
  split-monitor-workspaces by Duckonaut ver 1.2.0```

### Description

When not sleeping the fingerprint works fine. When sleep and wake up, the fingerprint could not be use to open the hyprlock anymore.

### How to reproduce

Sleep, wake up. Couldnt unlock hyprlock with fingerprint.

### Crash reports, logs, images, videos

_No response_

0.5.0 introduced fingerprint support outside of pam, since that does not work well in a lot of cases.
This comment might help you: https://github.com/hyprwm/hyprlock/issues/258#issuecomment-2428006590

does not seems to find anything usefull for this case

nevermind. because the formatting is broken i did not bother to check your config and see that you are already using the new fingerprint support.
Can you post hyprlock logs from when that happens?
It should log fprintd: PrepareForSleep.. when you start sleep and wake.

How do I get the log, and im also using python-validity for the fingerprint.

it is literally on the readme... https://github.com/uunicorn/python-validity?tab=readme-ov-file#fingerprint-not-working-after-waking-up-from-suspend

Yup try that, the service just turn off when sleep. Maybe its a issues with the validity. Im gonna close it for now.

does #544 change anything?

this really sounds like a open-fprintd problem

This is the error I get:
  File "/nix/store/kskcvgz5jgc9158p9p99lh7fwc14mcrh-python3.11-dbus-python-1.2.18/lib/python3.11/site-packages/dbus/service.py", line 715, in _message_cb
    retval = candidate_method(self, *args, **keywords)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/jnba21llh7q358cwkqccr2lnixkbpska-python3.11-python-validity-0.14/bin/.python-validity-dbus-service-wrapped", line 110, in VerifyStart
    usr = self.user2record(user)
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/jnba21llh7q358cwkqccr2lnixkbpska-python3.11-python-validity-0.14/bin/.python-validity-dbus-service-wrapped", line 65, in user2record
    return db.lookup_user(self.user2identity(user))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/jnba21llh7q358cwkqccr2lnixkbpska-python3.11-python-validity-0.14/lib/python3.11/site-packages/validitysensor/db.py", line 163, in lookup_user
    stg = self.get_user_storage(name='StgWindsor')
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/jnba21llh7q358cwkqccr2lnixkbpska-python3.11-python-validity-0.14/lib/python3.11/site-packages/validitysensor/db.py", line 149, in get_user_storage
    return parse_user_storage(tls.cmd(pack('<BHH', 0x4b, dbid, len(name)) + name))
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/jnba21llh7q358cwkqccr2lnixkbpska-python3.11-python-validity-0.14/lib/python3.11/site-packages/validitysensor/tls.py", line 122, in cmd
    rsp = self.app(cmd)
          ^^^^^^^^^^^^^
  File "/nix/store/jnba21llh7q358cwkqccr2lnixkbpska-python3.11-python-validity-0.14/lib/python3.11/site-packages/validitysensor/tls.py", line 152, in app
    return self.parse_tls_response(self.usb.cmd(self.make_app_data(b)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/jnba21llh7q358cwkqccr2lnixkbpska-python3.11-python-validity-0.14/lib/python3.11/site-packages/validitysensor/tls.py", line 351, in parse_tls_response
    raise Exception('Unexpected TLS version %d %d' % (mj, mn))
Exception: Unexpected TLS version 4 0

it is supposed to be fixed in python-validity 0.14 but doesnt work for me
see also: https://github.com/uunicorn/python-validity/issues/127

does #544 change anything?

I run nixos and I'm not sure how I set the hyprlock package to the pr version

I can now confirm that the problem is, python-validity takes too long to reset the reader after resume.
this is my PoC "fix", not having touched c++ ever before
    try {
        auto finger = "any"; // Any finger.
        m_sDBUSState.device->callMethod("VerifyStart").onInterface(DEVICE).withArguments(finger);
    } catch (sdbus::Error& e) {
        Debug::log(WARN, "fprint: could not start verifying, {}", e.what());
        try {
        auto finger = "any";
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
        m_sDBUSState.device->callMethod("VerifyStart").onInterface(DEVICE).withArguments(finger);
      } catch (sdbus::Error& e) {
        Debug::log(WARN, "fprint: could not start verifying, {}", e.what());

        return false;
}

Hello I'm also having an issue related to this one, but with a huge twist, I'm using python3-validity like other users in this thread but in my case the finger print sensor requires an extra hack that is defined in here, the hack works with something like swaylock, but on hyprlock it doesn't work that well, on swaylock it took like 2 seconds for the sensor to be active again, but on hyprlock it only gets active after I input the password, I'm also using a label to print the fprintd status and when the system resumes this status message is empty. here is my general config on hyprlock:
general {
    enable_fingerprint = true
    fingerprint_ready_message = Slap yo finger
    fingerprint_present_message = Scanning...
}

The Slap yo finger message never appears after a resume, which is kinda expected because the sensor isn't working for the first second or two, however what I can't wrap my head about is the reasoning why I have to input both my password and fingerprint after a system resume, my /etc/pam.d/hyprlock has the default values and my /etc/pam.d/system-local-login looks like this:
#%PAM-1.0

auth      sufficient pam_fprintd.so
auth      include   system-login
account   include   system-login
password  include   system-login
session   include   system-login

I don't know if this is an issue on my configuration but it doesn't seem like it, it seems like python3-validity doesn't really like the integration with hyprlock based on this thread. If anyone has any ideas on how to further debug this let me know!


Algorithm

Which algorithm file will I refer to create code for unit test? @AhmedCode99 @yasmensarhan27

projectile.py


Define mixin for seamless integration with jQuery and Backbone

It is quite hideous having to wrap objects with the Synapse constructor:
Synapse(obj).observe(...)

Assuming noConflict is not set, one should be able to do this:
var model = new Backbone.Model;

$('input').observe(model);
// or
model.observe('input')

Does not need to be limited to these types. See #11


Why are there full packages in assets?

Why are bootstrap-icons and boxicons under assets full packages with package.json? Dropping this project into a monorepo with nx is beaking on this because the build command is finding the "build" inside those package.jsons. I can delete them but why are they there in the first place?

I am sorry I don't understand the issue here.
Do you mean the assets folder in the public folder? And this folder is breaking your build command?
Thank you for providing more details.

Yes, two folders in assets, bootstrap-icons and boxicons contain package.json files but the other folders under assets do not. Since all of assets would be copied to a production server, it's unusual that they would contain those files.
The reason it breaks the monorepo is when using nx (https://nx.dev), and running the build command, it "build" in nx simply cascades to find all package.json files in all subfolders and run "build" in each of those scripts. This is what you want in a monorepo where one build command builds multiple projects. Because of the package.json files in assets that have a build command under scripts, the monorepo attempts to run it and it fails.
It's easy enough to simply delete the package.json files in those two folders to get around the issue, but I didn't know why they were there in the first place. Assets should be compiled files ready to copy to a server, not full packages that you would find in node_modules.

I think there is no package.json under this folder?
https://github.com/kitloong/nextjs-dashboard/tree/main/public/assets

I'm sorry, I posted this to the wrong repo. I had downloaded two or three different nextjs templates testing things out and the issue I found, I went to the wrong repo to post the issue. This isn't an issue with your repo. Sorry about that.


refactoring watch integration test.

Add timeout for watch streams. So test can fail fast with better stack trace.
For https://github.com/coreos/etcd/issues/4482

lgtm


Whisper: word-level time-stamps

Would it be possible to add and option for word-level timestamps to the Whisper example?

It's possible but a bit involved. If someone wants to add it in that would be awesome. See how the original whisper does it as a good place to start

Would be a nice feature to have, some other project that uses whisper like whisper_streaming needs word-level timestamps to work.

Fixed in #201 !


possibility of recording an alternative lemma in case of multiple recensions of a text

@ajaniak : if a text is transmitted in clearly identifiable recensions which frequently have variant readings, the one from the other, which both make sense, it is possible to allow displaying both recensions, maybe with buttons "show me that text of recension A" and "show me that text of recension B" ?
Let's discuss when you are back at work.

Digital Latin uses the element <join> to do so. They have used it in the second example of <IP_ADDRESS> regarding the half lines. This element allows aggregation. I am not sure this is exactly what you expect though.
The use of [<join>](https://digitallatin.github.io/guidelines/LDLT-Guidelines.html#TEI.join) to represent the conflated lines in H and M allows the text of the two lemmata in question to be copied and displayed or printed together.

In theory, the quantity of <lem> isn't unlimited, so we could put 0 as well as several into an <app>. I guess we could decide in favor of an app containing two lemmata and the other variant readings. Maybe adding an  attribute @synch to underline that both are working together and not exclusively.
Whatever solution we foresee, known that the current technical state might not allow what you describe to work with the static website page. I will see if I can come up with an easy solution with javascript. But I don't see any issue with doing it in the XML database which will allow more interaction with the reader.


Update google-cloud-storage to 1.113.15

Updates com.google.cloud:google-cloud-storage from 1.109.1 to 1.113.15.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.cloud", artifactId = "google-cloud-storage" } ]

labels: library-update, semver-minor

Superseded by #216.


The 'sklearn' PyPI package is deprecated

When trying to install the package from pip I got the error about 'sklearn' package being deprecated. The error messages advises to use now 'scikit-learn' instead.

Looks like an useful tool, but I also got the same error. Is the author going to fix it soon?
$ pip3 install shannonca
Collecting shannonca
Using cached shannonca-0.0.7-py3-none-any.whl (26 kB)
Collecting sklearn (from shannonca)
Using cached sklearn-0.0.post7.tar.gz (3.6 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [18 lines of output]
The 'sklearn' PyPI package is deprecated, use 'scikit-learn'
rather than 'sklearn' for pip commands.
  Here is how to fix this error in the main use cases:
  - use 'pip install scikit-learn' rather than 'pip install sklearn'
  - replace 'sklearn' by 'scikit-learn' in your pip requirements files
    (requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)
  - if the 'sklearn' package is used by one of your dependencies,
    it would be great if you take some time to track which package uses
    'sklearn' instead of 'scikit-learn' and report it to their issue tracker
  - as a last resort, set the environment variable
    SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error

  More information is available at
  https://github.com/scikit-learn/sklearn-pypi-package

  If the previous advice does not cover your use case, feel free to report it at
  https://github.com/scikit-learn/sklearn-pypi-package/issues/new
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.


feat: Introduce interactive installer

Task linked: DEV-1321 Investigate and design Interactive installer for cheqd-noded

Looks neat! Great job @anikitinDSR.
Just one more note from my side - I see a common scenario when someone starts their node installation from scratch with snapshot download, and kills it somewhere in the middle of it. If you run the process again (creating moniker, etc.) it will break because genesis.json and the rest of the files already exist. Maybe we can skip the part from this step - Do you want to setup the node after installation? - onward? By this I mean we add a check whether any of the files (or maybe the config directory) already exist, and skip the rest of the steps is that's the case.

To-do: Fix symlink cheqd-noded to track → current instead of genesis


implement density functions for terrain generation

WIP
This PR has the end goal of generating plains biomes

I bit off more than I can chew. Here is another stepping stone towards chunk generation: the density functions. I will keep on working towards terrain generation.

I see you almost have function1, function2 function3... everywhere. Did you got this code from somewhere or why var names are so weird?

Straight from Java lol

I don't like if someone just copies Java code and then even say that he don't know what the code does. So you said your goal is to have the Plains biome generation working. Do you need everything here for this, Or is something missing ?

I would like to have good function names at least

Functions have been renamed

noice, can you may fix the conflicts ?
then it should be ready to merge

rebased, should be good


Let the user provide a column mapping when applying a JSON workflow

Say you have a list of 4 operations forming a workflow that you want to reuse:

capitalize the country_code column
reconcile the city column using country_code as a reconciliation property
add columns from reconciled values, fetching the mayor and the population columns
remove all rows where population is less than 1000 inhabitants

Once you have done this workflow on a project, you can extract it as a JSON blob in the Undo/Redo tab, and reapply it on a new project.
The workflow JSON looks like this:
[
  {
    "op": "core/text-transform",
    "engineConfig": {
      "facets": [],
      "mode": "row-based"
    },
    "columnName": "country_code",
    "expression": "value.toUppercase()",
    "onError": "keep-original",
    "repeat": false,
    "repeatCount": 10,
    "description": "Text transform on cells in column country_code using expression value.toUppercase()"
  },
  {
    "op": "core/recon",
    "engineConfig": {
      "facets": [],
      "mode": "row-based"
    },
    "columnName": "city",
    "config": {
      "mode": "standard-service",
      "service": "https://tools.wmflabs.org/openrefine-wikidata/en/api",
      "identifierSpace": "http://www.wikidata.org/entity/",
      "schemaSpace": "http://www.wikidata.org/prop/direct/",
      "type": {
        "id": "Q486972",
        "name": "human settlement"
      },
      "autoMatch": true,
      "columnDetails": [
        {
          "column": "country_code",
          "propertyName": "SPARQL: P17/P297",
          "propertyID": "P17/P297"
        }
      ],
      "limit": 0
    },
    "description": "Reconcile cells in column city to type Q486972"
  },
  {
    "op": "core/extend-reconciled-data",
    "engineConfig": {
      "facets": [],
      "mode": "row-based"
    },
    "baseColumnName": "city",
    "endpoint": "https://tools.wmflabs.org/openrefine-wikidata/en/api",
    "identifierSpace": "http://www.wikidata.org/entity/",
    "schemaSpace": "http://www.wikidata.org/prop/direct/",
    "extension": {
      "properties": [
        {
          "id": "P1082",
          "name": "population"
        },
        {
          "id": "P6",
          "name": "head of government"
        }
      ]
    },
    "columnInsertIndex": 1,
    "description": "Extend data at index 1 based on column city"
  },
  {
    "op": "core/row-removal",
    "engineConfig": {
      "facets": [
        {
          "type": "range",
          "name": "population",
          "expression": "value",
          "columnName": "population",
          "from": 0,
          "to": 1000,
          "selectNumeric": true,
          "selectNonNumeric": true,
          "selectBlank": false,
          "selectError": true
        }
      ],
      "mode": "row-based"
    },
    "description": "Remove rows"
  }
]

If the new project does not use the same column names, or if some columns are missing, this problem will not be reported to the user in a clear way.
Instead, the tool will try to apply all 4 operations in sequence, without stopping if columns are missing.
For instance, say we try to apply the workflow to a project with a column country_code, but the city column has been renamed into administrative_area.
This is what currently happens:

the first operation, capitalizing the column country_code, will run successfully;
the reconciliation operation is skipped as there is no such column to reconcile;
the fetching operation is skipped, since city still does not exist;
the population column does not exist, so the facet used to select the rows to delete has an error. So all rows are selected by default. So all rows in the new project are removed.

This is obviously extremely bad in terms of user experience. No data is actually lost since we can still roll back to a previous stage, but it is far from ideal.
Very elegantly, OpenRefine dumps some stack traces in the console as well:
java.lang.Exception: No column named city
	at com.google.refine.operations.recon.ReconOperation$ReconProcess.populateEntries(ReconOperation.java:205)
	at com.google.refine.operations.recon.ReconOperation$ReconProcess.run(ReconOperation.java:239)
	at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-9" java.lang.NullPointerException
	at com.google.refine.operations.recon.ReconOperation$ReconProcess.run(ReconOperation.java:247)
	at java.lang.Thread.run(Thread.java:748)
java.lang.Exception: No column named city
	at com.google.refine.operations.recon.ExtendDataOperation$ExtendDataProcess.populateRowsWithMatches(ExtendDataOperation.java:161)
	at com.google.refine.operations.recon.ExtendDataOperation$ExtendDataProcess.run(ExtendDataOperation.java:244)
	at java.lang.Thread.run(Thread.java:748)
Exception in thread "Thread-10" java.lang.NullPointerException
	at com.google.refine.model.changes.DataExtensionChange.apply(DataExtensionChange.java:153)
	at com.google.refine.history.HistoryEntry.apply(HistoryEntry.java:148)
	at com.google.refine.history.History.addEntry(History.java:135)
	at com.google.refine.operations.recon.ExtendDataOperation$ExtendDataProcess.run(ExtendDataOperation.java:296)
	at java.lang.Thread.run(Thread.java:748)

Proposed solution
Given a workflow, the tool needs to be able to determine if it applies to the current project, by infering from the workflow what the initial shape of the data should look like.
As a user, I expect that:

the tool detects that this workflow depends on columns city and country_code
I get the opportunity to map which columns in my new project correspond to these old columns (without actually renaming my columns to the old names)
the tool translates the workflow to work on these new column names (administrative_area and country_code) automatically and applies the workflow.

Mapping is definitely a missing ingredient.  I actually mentioned this to David long ago, as Talend (and Ab Initio) actually have a pretty good mapping experience with drag and drop.  They show a single column table on LEFT side representing ProjectA and RIGHT side the columns for ProjectB, and then allow to click and grab from either side a particular column name and drag onto the other side's column name, basically a visual node relationship handler between 2 sets of column names.
In other programs it's experienced different with verticality dragdrop and no visual node threadsd.  Instead the LEFT|RIGHT column from both projects are shown, and you dragdrop vertically (reorder) either side to establish the horizontal line equivalency of each column name.  Which I find sometimes harder to use (there's more dragdrop movements typically needed), but others like it and not the spaghetti lines if a project has many columns to map in the above described interfaces.  And if a column is not needed to be mapped and excluded there's a disable button on each one.

Thanks Thad! If you have any screenshots of such UIs I think it would be very helpful for inspiration.

And a video:
https://youtu.be/tno_hrEM-ro?t=250
I could not quickly find any vertical examples but there are many and you can probably imagine that one since it's simple horizontal alignment of cell values between a left and right tabular listing of column names.  The good UI's typically use drag or drop to move the cells up or down, and the bad ones just use small arrows on each cell to click repeatedly and move up or down for each one. (Definitely not for those with carpal tunnel syndrome!!!)
There are actually more task or interactive examples however, which "might" be something to think about (especially given that data mapping might later involve not only column name but also other metadata or typing.   This article which has great research which I encourage you to read and demonstrates a bit of that https://www.arachuk.com/column-mapping
That task or interactive example, is simply a more guided approach to what Talend Open Studio offers with it's tMap function view and its upper left/right panels and lower Schema editor and Expression editor...all combined.

And in Apache Hop, it's easy to run it yourself locally and drop in a Table Input component or a Mapping Input and Output as well as perhaps the Json Input and their Fields tab.

Something that would be useful in an automation scenario would be to specify multiply possible column names for a given operation. "columnNames": ["city", "other_possible_city_column_name"], etc, one can kinda accomplish it already by just duplicating the operation or by setting up a bunch of renames but such solutions add a lot of complexity.

Also we might look to Avro Records and Avro's schema evolution to provide mapping via Aliases.  For development, this is good and close enough to JSON Schema (it's Schema in JSON format, so good enough for me when it comes to developers being able to display, share, troubleshoot).  And I really appreciate Avro's encoding of records and keeping values in the order they are declared and schema diffrences.

Something that would be useful in an automation scenario would be to specify multiply possible column names for a given operation. "columnNames": ["city", "other_possible_city_column_name"], etc, one can kinda accomplish it already by just duplicating the operation or by setting up a bunch of renames but such solutions add a lot of complexity.

I am not too sure about this, because of the following problems:

by introducing alternate column names in the JSON representation of an operation, you are introducing information that will not be input by the user when applying the operation via our UI. That means you are really encouraging users to edit the JSON representation themselves, which I do not think is a viable route for good UX.
You could try to change the UI to expose this information, but it's going to be a quite awkward thing to expose: you would need to prompt the user for all possible sensible column names the operation could be applied to, should it be used in other datasets… And as a user applying an operation on my current dataset, I just do not care about this - I want to run this operation now, on the current dataset, and such a field would get in my way.
for a lot of generic recipes (such as sorting values within a record) you clearly cannot list such possible column names: the recipe could legitimately be applied to any column.

@thadguidry there are a lot of pointers in your last comment but it's not clear to me how they tie in with the issue at hand. Let's try to keep the discussion as grounded as possible :)

@wetneb all valid concerns. My wish is (in a much broader sense than this issue) that integration developers would be as much users as those primary/only using the GUI, it's okay for some features only being available for one audience.

@wetneb I was just pointing out that fields can have more than 1 name/label.  And in Avro's case, even a record can have an optional alias.  Aliases is how Avro handles more than 1 name or label.  It's all column metadata in the end for us and users to keep track of things when column mapping (a from and to).  This was mentioned in one of our other issues before regarding column metadata and exporting/importing.  Like we have in https://schema.org/alternateName or DC: AlternativeTitle

Using the phrase "JSON workflow" to refer to OpenRefine's Undo history objects carries the connotation that the current implementation is a good basis upon which to build OpenRefine's data transformation DSL.
Has this been validated in any way?
Exposing that internal structure for external use was a quick and dirty hack over a decade ago, but I don't think it's one that necessarily needs to be propagated in perpetuity.

@tfmorris I very much agree that the current situation is very far from what I think we should have. I am keen to change this in major ways, including ones that break compatibility with the existing syntax (let alone because we should not be exposing such JSON to the user, indeed).
I am currently going for an iterative approach based on the current system, because:

I think it reduces the risk that I go in a completely wrong direction, and lets the community validate incremental progress;
I think the underlying changes in the backend should be able to support a radically different system. For instance, one where the user would only manipulate a visual representation of a workflow (still with the ability to copy-paste it, save it to a file, edit operation parameters, and so on).

That being said, if you think I should rather follow a different approach, I am very keen to hear it. Perhaps the forum is more appropriate for this discussion, for instance this thread I opened today:
https://forum.openrefine.org/t/work-plan-for-the-reproductibility-improvements-project/332


Stop Vendoring Go Dependencies

:nut_and_bolt: Description: What code changed, and why?
In #4298 I am making the external API a separate go module. Go modules vendoring doesn't make any special distinction for code in the same repo, which means that to propagate a change to the API, a developer must compile the updated protos and then revendor the dependencies to update the vendored copy. In response to this problem we can:

Accept the need to revendor when updating the external API and let it be slow. It's slow because there's a lot of IO to the shared filesystem. It's also confusing that you have to update the local dependency. The latter problem can be somewhat mitigated by updating our studio tooling to compile the protos, but as you can see in this PR there's a lot of places where protos are built in a different way.
Stop vendoring. The tradoffs for automate in general are:

(con) Updating dependencies no longer provides an easy way to review what is changing in those dependencies.
(con) We'll likely have to give up on rebuilding all affected components when a dependency changes. This means occasionally we could have build-breaks caused by a previous dependency update. (we might be able to do something here with changes to our existing tooling).
(con) More network resources required during the build (likely can be mitigated with some caching)
(pro) Fewer situations where people need to regenerate bldr.toml.
(pro) Likely makes it easier to split out more modules over time if we care to.
(pro) Less work when updating a dependency

Attempt to create tooling to update the vendor dir quickly after compiling new protos. This likely involves doing unsupported things with the internals of the go module system.

This PR demonstrates removing the vendoring. A summary of the changes:

Delete the vendor dir
Update our revendor tooling to vendor external protobufs in a protovendor dir (it's renamed because the presence of a vendor directory may cause go tooling to behave in vendor mode). Modify protobuf build scripts to match
Update docs, readmes, etc. that reference vendoring or give instructions for using dep 🙀
Update other scripts that assume the presence of the vendor dir.

:chains: Related Resources
:+1: Definition of Done
:athletic_shoe: How to Build and Test the Change
:white_check_mark: Checklist

[ ] I have read the CONTRIBUTING document.
[ ] Tests added/updated?
[ ] Docs added/updated?
[ ] All commits have been signed-off for the Developer Certification of Origin.

:camera: Screenshots, if applicable

I am in general a proponent of vendoring where we can; but I think moving away from vendoring makes snese given the trade-offs we face.
It looks like the proxy tests are failing:
go<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>dial tcp: lookup proxy.golang.org on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:38841-><IP_ADDRESS>:53: i/o timeout

My guess is this might be that we haven't set the proxy environment variables at the point when we now need them to contact the internet during the build.

I am in general a proponent of vendoring where we can; but I think moving away from vendoring makes snese given the trade-offs we face.

I feel exactly the same. If the module system had a special case behavior to make local modules work less confusingly when vendoring then I would prefer to keep it. If it gains that ability in the future then I would like to change back to using vendoring. But with the current capabilities of the tools we're using, this seems least bad.

I am having a problem building components.
build components/event-feed-service
/src/api/interservice/authz/authz.pb.go:12:2: cannot find package "." in:
	/src/vendor/github.com/envoyproxy/protoc-gen-validate/validate
pkg/server/event_export.go:15:2: cannot find package "." in:
	/src/vendor/github.com/gocarina/gocsv
pkg/server/feed.go:7:2: cannot find package "." in:
	/src/vendor/github.com/gofrs/uuid
/src/api/interservice/authz/authz.pb.client_mock.go:10:2: cannot find package "." in:
	/src/vendor/github.com/golang/mock/gomock
/src/api/external/data_lifecycle/data_lifecycle.pb.gw.go:16:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/descriptor
/src/api/external/common/version/version.pb.go:10:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/proto
/src/api/external/annotations/iam/annotations.pb.go:11:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor
/src/api/interservice/authz/authz.pb.validate.go:18:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/ptypes
/src/api/external/data_lifecycle/data_lifecycle.pb.go:13:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/ptypes/duration
/src/api/interservice/es_sidecar/service.pb.go:12:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/ptypes/empty
/src/api/interservice/event/event.pb.go:12:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/ptypes/struct
/src/api/interservice/authz/project.pb.go:13:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/ptypes/timestamp
/src/api/interservice/cereal/cereal.pb.go:13:2: cannot find package "." in:
	/src/vendor/github.com/golang/protobuf/ptypes/wrappers
/src/api/external/iam/v2/common/teams.pb.go:11:2: cannot find package "." in:
	/src/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options
/src/api/external/data_lifecycle/data_lifecycle.pb.gw.go:18:2: cannot find package "." in:
	/src/vendor/github.com/grpc-ecosystem/grpc-gateway/runtime
/src/api/external/data_lifecycle/data_lifecycle.pb.gw.go:19:2: cannot find package "." in:
	/src/vendor/github.com/grpc-ecosystem/grpc-gateway/utilities
/src/lib/tracing/tracer.go:7:2: cannot find package "." in:
	/src/vendor/github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc
/src/lib/tracing/tracer.go:8:2: cannot find package "." in:
	/src/vendor/github.com/opentracing/opentracing-go
/src/lib/tls/certs/certs.go:10:2: cannot find package "." in:
	/src/vendor/github.com/pkg/errors
pkg/config/service.go:6:2: cannot find package "." in:
	/src/vendor/github.com/sirupsen/logrus
cmd/event-feed-service/commands/root.go:7:2: cannot find package "." in:
	/src/vendor/github.com/spf13/cobra
cmd/event-feed-service/commands/root.go:8:2: cannot find package "." in:
	/src/vendor/github.com/spf13/viper
/src/lib/cereal/cereal.go:15:2: cannot find package "." in:
	/src/vendor/github.com/teambition/rrule-go
/src/lib/tracing/tracer.go:9:2: cannot find package "." in:
	/src/vendor/github.com/uber/jaeger-client-go/config
/src/api/external/data_lifecycle/data_lifecycle.pb.go:15:2: cannot find package "." in:
	/src/vendor/google.golang.org/genproto/googleapis/api/annotations
/src/api/interservice/authz/authz.pb.client_mock.go:11:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc
/src/api/interservice/authz/authz.pb.go:15:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/codes
/src/lib/grpc/secureconn/factory.go:11:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/credentials
/src/api/external/data_lifecycle/data_lifecycle.pb.gw.go:22:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/grpclog
/src/lib/grpc/health/health.go:5:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/health
/src/lib/grpc/health/health.go:6:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/health/grpc_health_v1
/src/api/interservice/event_feed/event_feed.pb.client_mock.go:12:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/metadata
pkg/grpc/grpc.go:13:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/reflection
/src/api/interservice/authz/authz.pb.go:16:2: cannot find package "." in:
	/src/vendor/google.golang.org/grpc/status
/src/api/external/common/version/version.pb.go:11:2: cannot find package "." in:
	/src/vendor/google.golang.org/protobuf/reflect/protoreflect
/src/api/external/common/version/version.pb.go:12:2: cannot find package "." in:
	/src/vendor/google.golang.org/protobuf/runtime/protoimpl
/src/lib/elasticutil/tasks.go:8:2: cannot find package "." in:
	/src/vendor/gopkg.in/olivere/elastic.v6
   event-feed-service: Build time: 0m20s
   event-feed-service: Exiting on error

@lancewf make sure to restart your studio or at least unset the GOFLAGS

@danielsdeleo I exited out of the studio and created a new one and I am still getting the same errors.

@danielsdeleo I exited out of the studio and created a new one and I am still getting the same errors.

Ah, it's a bootstrapping issue with the go scaffolding. You need to have this change reflected in the scaffolding you're using: https://github.com/chef/automate/pull/4314/commits/6fde8358896d2552855581cba9c764c7af62d683#diff-fb20abf751f66696b964ee39ff15d251L37 (which would happen automatically if we merged this and published the packages to dev).
To do it on the branch, you can first build components/automate-scaffolding-go/, you may need to hab pkg install results/YOU-automate-scaffolding-go-ETC, then export local_scaffolding_origin=YOUR_ORIGIN

@danielsdeleo The scaffolding change fixed the problem.

I think the day-to-day impact will mostly be the time you have to wait for go modules to download. I have run hab studio run 'hab pkg install -bf core/go; time go mod download'  a few times and gotten results in the 30-40s range. Note that you only download stuff once and then it's cached. 30-40 seconds of downloading time is definitely less good than zero, but I think it's acceptable. For comparison, it takes about 30 to get hab dependencies for one of our projects (uncached) and 15 seconds to get them again (packages cached). If it's really annoying to folks, we could look for a way to persist the module cache between studio sessions.


Observing error response when user tried to trigger device -object create notification

After invoking API request:/v1/notify-device-object-creations, got response as 204 in swagger.
Now user tried to trigger the device attribute change notification from device, observing below error message in docker logs
Logs:
[11:20:21.004] ERROR (1): error during subscriber-notification for /v1/notify-device-object-creations
err: {
"message": "Request failed with status code 400",
"name": "AxiosError",
"stack":
AxiosError: Request failed with status code 400
at settle (/home/openbackhaul/NotificationProxy/node_modules/axios/dist/node/axios.cjs:1913:12)
at IncomingMessage.handleStreamEnd (/home/openbackhaul/NotificationProxy/node_modules/axios/dist/node/axios.cjs:2995:11)
at IncomingMessage.emit (node:events:525:35)
at endReadableNT (node:internal/streams/readable:1358:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
"config": {
"transitional": {
"silentJSONParsing": true,
"forcedJSONParsing": true,
"clarifyTimeoutError": false
},
"adapter": [
"xhr",
"http"
],
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxBodyLength": -1,
"env": {
"Blob": null
},
...
...
"method": "post",
"url": "HTTP://x.x.x.x:xxxx/v1/regard-device-object-creation",
"data": "{"notification-proxy-1-0:object-creation-notification":{"timestamp":"2023-11-30T11:20:20.0+00:00","counter":9,"resource":"/core-model-1-4:network-control-domain=live/control-construct=513250007/forwarding-domain[uuid='VLAN-FD']/fc[uuid='VLAN-223']"}}"
},
"code": "ERR_BAD_REQUEST",
"status": 400
}

Done.
The logic for determining the resource path has been adapted.
Please retest.

Still observing the issue in v1.0.0_impl branch
logs:
"method": "post",
"url": "HTTP://x.x.x.x:xxxx/v1/regard-device-object-creation",
"data": "{"notification-proxy-1-0:object-creation-notification":{"timestamp":"2023-12-07T06:10:34.0+00:00","counter":11,"resource":"/core-model-1-4:network-control-domain=live/control-construct=513250007/forwarding-domain[uuid='VLAN-FD']/fc[uuid='VLAN-291']","object-type":""}}"
},
"code": "ERR_BAD_RESPONSE",
"status": 500
}

Hello Thorsten,
the "object-type" field of input notifications is missing and will be empty in the output notification. The "resource" field of output may be incomplete.
input:
{
"ietf-restconf:notification": {
"notifications-1-0:object-creation-notification": {
"timestamp": "2023-11-29T09:31:01.0+00:00",
"counter": 3,
"object-path": "/core-model-1-4:control-construct/forwarding-domain[uuid='VLAN-FD']/fc[uuid='VLAN-221']"
}
},
"event-time": "2023-11-29T09:31:01Z",
"node-id": "513250007"
}
output:
{
"notification-proxy-1-0:object-creation-notification": {
"timestamp": "2023-11-29T09:31:01.0+00:00",
"counter": 3,
"resource": "/core-model-1-4:network-control-domain=live/control-construct=513250007/forwarding-domain[uuid='VLAN-FD']/fc[uuid='VLAN-221']",
"object-type": ""
}
}
Could you verify that the output notification is as expected? If the format is correct, the error is most likely in MWDI "regard-device-object-creation" method.


Parquet decode min/max crashes when type mismatch

Steps to reproduce the behavior (Required)
create hive table like following
create table t (
  id int;
)

but putting parqurt file with id  varchar onto hdfs, and create table in SR like
create table t (
id int
)

and run query like 'select * from t where id > 10`
Expected behavior (Required)
query ok
Real behavior (Required)
BE crashes
StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()

@dirtysalt Maybe you can describe the operation more clear.
Did the BE crash when loading data from parquet file, or when selecting data from parquet file through external file?

I update brief procedure.
BE crashes when quering data from parquet file.


Add an option to set the minimum indentation spaces

Fixes https://github.com/executablebooks/mdformat/issues/317

I appreciate the effort! I think that with KyleKing's mdformat-mkdocs plugin this is not necessary. Closing.


[New chain]: Astar EVM Mainnet 1.4.1

Summary

https://github.com/ethereum-lists/chains/blob/master/_data/chains/eip155-592.json
https://github.com/safe-global/safe-deployments/pull/679

Chain ID
592
Chain detail URL
https://chainlist.org/chain/592
RPC URL
https://astar.public.blastapi.io
Blockscout Client URL
No response
Etherscan Client URL
No response
Etherscan Client API URL
No response
Version
1.4.1
Address (Master copy)
0x41675C099F32341bf84BFc5382aF534df5C7461a
Deployment Tx hash (Master copy)
0xffa57ff64a7fc48c7ecba5a549339245d7f5fd0b8eaeb2ae7636a5cd51686fb0
Block explorer URL (Master copy)
No response
Address (Master copy L2)
0x29fcB43b46531BcA003ddC8FCB67FFE91900C762
Deployment Tx hash (Master copy L2)
0xc407cd6be1d7edc0a6bce29ad48a5f3e805f6553a0365fbaec8f4c3bb3a401d4
Block explorer URL (Master copy L2)
No response
Address (Proxy factory)
0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67
Deployment Tx hash (Proxy factory)
0xd1a3eaf2a6d8934d10bc571258abdf0417a4839d51bd80ed6d7ce98d9fe9fef4
Block explorer URL (Proxy factory)
No response

/execute


Message ID randomnesss was not sufficient

Moves the message ID generation to its own file.
PRIMARY ISSUE probably: Under heavy load, if crypto random source is exhausted, a psuedo-rand source is used. But the pseudo-random source was never initialized
with a new seed, so it would be using the same seed across all inbound
instances. This will use the unix nano time now, which should be different
even if the instances were deployed at almost the same time. It is initialized now
via the NewServer func.
Rather than replace the non-alphanumeric chars in the base64 version
of the message ID with predetermined ones, use a pseudo-random character.
Allow underscore in ids as one more piece of randomness.
Increase ID length

https://github.com/ruffrey/mailsac-private/issues/470

More evidence that this was probably due to messages coming at almost the same time, system under heavy load, likely throttling occurred, PRNG fallback wasn't properly seeded:

I have noticed also, the heavier the load during a day, the more of these we see. So hopefully it gets fixed.

Yeah, as a sanity check, a few message IDs are spit onto stdout.
On Tue, May 19, 2020 at 8:32 AM Michael Mayer<EMAIL_ADDRESS>wrote:

@mjmayer approved this pull request.
In messageid_test.go
https://github.com/ruffrey/smtpd/pull/6#discussion_r427367575:

  o := make(map[string]bool)

  var id string
  for i := 0; i < 1000000; i++ {
  	id = smtpd.NewMessageID()

	if i % 500000 == 0 {

Does this print a couple of the random message ID's to the screen during
the test, in order to show the test is running?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ruffrey/smtpd/pull/6#pullrequestreview-414531598, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMXIXV2VKWKGM4HWSWNCWDRSKRARANCNFSM4NDOQM6A
.

--
Phone: +1-916-801-6693


network: implement transaction request handling.

This commit makes several related changes to the network code:

adds a TransactionsByHash(HashSet<transaction::Hash>) request and
Transactions(Vec<Arc<Transaction>>) response pair that allows
fetching transactions from a remote peer;

adds a PushTransaction(Arc<Transaction>) request that pushes an
unsolicited transaction to a remote peer;

adds an AdvertiseTransactions(HashSet<transaction::Hash>) request
that advertises transactions by hash to a remote peer;

adds an AdvertiseBlock(block::Hash) request that advertises a block
by hash to a remote peer;

Then, it modifies the connection state machine so that outbound
requests to remote peers are handled properly:

TransactionsByHash generates a getdata message and collects the
results, like the existing BlocksByHash request.

PushTransaction generates a tx message, and returns Nil immediately.

AdvertiseTransactions and AdvertiseBlock generate an inv
message, and return Nil immediately.

Next, it modifies the connection state machine so that messages
from remote peers generate requests to the inbound service:

getdata messages generate BlocksByHash or TransactionsByHash
requests, depending on the content of the message;

tx messages generate PushTransaction requests;

inv messages generate AdvertiseBlock or AdvertiseTransactions
requests.

Finally, it refactors the request routing logic for the peer set to
handle advertisement messages, providing three routing methods:

route_p2c, which uses p2c as normal (default);
route_inv, which uses the inventory registry and falls back to p2c
(used for BlocksByHash or TransactionsByHash);
route_all, which broadcasts a request to all ready peers (used for
AdvertiseBlock and AdvertiseTransactions).

Extracted from #1008.

Ooops, I split these too finely, blocked on #1013.

* `inv` messages generate `AdvertiseBlock` or `AdvertiseTransactions`
  requests.

Does the inbound service handle AdvertiseBlock by fetching and verifying the block?
If not, is there a ticket or checklist item for this feature?

inv messages generate AdvertiseBlock or AdvertiseTransactions
requests.

Does the inbound service handle AdvertiseBlock by fetching and verifying the block?
If not, is there a ticket or checklist item for this feature?

Yes, that's part of #889.

What's the test plan here?

In a later chunk of work, we should build two peer::Connections hooked up to each other, send messages through one, and check that they come out as expected on the other side.  Until now we haven't done any real message<->request plumbing, except as was necessary to generate outbound requests, which is why this harness doesn't exist yet.

Rebased onto main to pick up #1013.

@yaahc There's no changes except the suggestions, which are recorded above.

perfect, lgtm


typo in action.yml

@rultor release, tag is 0.0.7

@rultor release, tag is 0.0.7

@yegor256 Done! FYI, the full log is here (took me 10min)


Do not manipulate p2p when Bazaar is under deployment

Do not shutdown p2p connection when Bazaar is being deployed.

Fixed on master.

Fixed in Production.


Replace fucntion is working now #1455

Thank you for the time you are putting into AlaSQL!

@mathiasrw requested chages are made ,can you pls verify .

@mathiasrw what changes i need to performe ?

@mathiasrw any more changes required ?

Yes. Please see the pending review changes

Please make sure that npx yarn test is working locally before pushing.

How can I help get the last little bits aligned?


How to use use vue deep selector in unocss ?

Clear and concise description of the problem
Vue deep selector: https://vuejs.org/api/sfc-css-features.html#deep-selectors
Suggested solution
wanted
Alternative
No response
Additional context
No response
Validations

[X] Read the Contributing Guidelines.
[X] Read the README.md of using the package.
[X] Already used the Interactive Docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

try it class="[&_.deepClass]"

@Simon-He95
Where is the doc in https://unocss.dev/  for class="[&_.deepClass]" ?

@Simon-He95
Where is the doc in https://unocss.dev/ for class="[&_.deepClass]" ?

I'm sorry to say that the documentation needs improvement :)

@Simon-He95
if i want to set color green ( color-green ) for deep element( class my-deep-class ), how to set it in class="[&_.deepClass]" ?

@Simon-He95
if i want to set color green ( color-green ) for deep element( class my-deep-class ), how to set it in class="[&_.deepClass]" ?

try use playground

not working with underscore in class name: playground

not working with underscore in class name: playground

PLAY don't use _ in class ，it will be transformed to

This issue should be reopened, as it's not documented, not working with underscore _ in class name.

This issue should be reopened, as it's not documented, not working with underscore _ in class name.

_ is considered a space, this is by design


restic dump handles root level files incorrectly

Output of restic version
restic 0.9.5 compiled with go1.12.4 on windows/amd64
How did you run restic exactly?
Prepare a test data directory, and back it up so that
>>> restic ls af55bc75
repository c96b5ed2 opened successfully, password is correct
snapshot af55bc75 of [C:\<...>\restic-test\data] filtered by [] at 2019-04-24 13:31:03.9490076 -0400 EDT):
/abc
/abc/0
/abc/1
/abc/2
/abc/3
/random0
/random1
/random2

Then try dumping one file in the root folder
>>> restic dump af55bc75 /random0 > dump

What backend/server/service did you use to store the repository?
Local filesystem
Expected behavior
dump = /random0
Actual behavior
dump is a tarball of /abc including all files in it, except the directory name "abc" is replaced with "random0".
More generally, anytime when the file argument to dump is of the form slash + one name, it always dumps the first node in the snapshot, whatever it is.
Steps to reproduce the behavior
Described above.
Do you have any idea what may have caused this?
Probably this:
https://github.com/restic/restic/blob/fad9f65c65b1dc426bd00c962beb68834289c37c/cmd/restic/cmd_dump.go#L60-L62
Do you have an idea how to solve the issue?
return {d, f} when d == "/" in splitPath.
Did restic help you or made you happy in any way?
Everyday.

Thanks for the report! @Kidswiss can you please take a look?

Sure, I'll have a look at that, thanks for reporting the bug.

While debugging this I also found that if / contains multiple nodes that only the first one is processed. That's partly the root cause for this bug, too.
I decided to revert splitPath back to the original form before the tar feature as that will avoid any wrong splittings.
Instead I handle the case / completely different as we don't really need to go through the printFromTree magic to handle that one as it is always a folder.
Here are the edge cases I tested:
Given structure:
/
├── another
│   ├── a
│   ├── b
│   └── c
├── test
└── test2
    ├── 2
    ├── 3
    ├── a
    ├── b
    └── c

Case 1, dumping the file test containing the string test:
repository 51cd4118 opened successfully, password is correct
test

Case 2, dumping the whole /:
gtar: Removing leading `/' from member names
drwxr-xr-x 0/0               0 2019-04-25 09:42 /another
-rw-r--r-- 0/0               0 2019-04-25 09:42 /another/a
-rw-r--r-- 0/0               0 2019-04-25 09:42 /another/b
-rw-r--r-- 0/0               0 2019-04-25 09:42 /another/c
-rw-r--r-- 0/0               5 2019-04-25 09:31 /test
drwxrwxrwx 0/0               0 2019-04-25 13:58 /test2
-rwxrwxrwx 0/0               5 2019-04-25 13:59 /test2/2
-rwxrwxrwx 0/0               5 2019-04-25 13:59 /test2/3
-rwxrwxrwx 0/0               5 2019-04-25 13:59 /test2/a
-rw-rw-r-- 1000/1000         5 2019-04-25 13:59 /test2/b
-rw-rw-r-- 1000/1000         5 2019-04-25 13:59 /test2/c

(the UID/GUID weirdness comes from my hacky test setup, please ignore)
Case 3, dumping one subfolder:
gtar: Removing leading `/' from member names
drwxrwxrwx 0/0               0 2019-04-25 13:58 /test2
-rwxrwxrwx 0/0               5 2019-04-25 13:59 /test2/2
-rwxrwxrwx 0/0               5 2019-04-25 13:59 /test2/3
-rwxrwxrwx 0/0               5 2019-04-25 13:59 /test2/a
-rw-rw-r-- 1000/1000         5 2019-04-25 13:59 /test2/b
-rw-rw-r-- 1000/1000         5 2019-04-25 13:59 /test2/c

Case 4, dumping a file in a subfolder (containing the string asdf):
repository 51cd4118 opened successfully, password is correct
asdf

@fd0 Are you aware of any other constellations that could cause these kinds of issues? I wasn't aware that the / tree could contain multiple nodes and that the Windows version does that weird substitution thing.

No other test cases that I know of, but the code could use a bit of cleaning ;)

Hello! I came across the multiple node bug that @Kidswiss mentioned in https://github.com/restic/restic/issues/2254#issuecomment-486790838 - should I file a separate issue?

Hi @hoelzro
Thanks for mentioning it! I'm currently working on solving (hopefully) all these bugs in this PR: https://github.com/restic/restic/pull/2255. The fixes should already work, I'm currently trying to implement some automated tests to cover these cases.
Maybe you could give the branch in the PR a try and see if it fixes your issues?
Thanks

@Kidswiss I just tried out your branch and it does indeed fix my issue - thanks!

@Kidswiss Hello again!  Just curious - how is this fix coming along?  I have a workaround using restic-restore, but I'd really like to be able to restic-dump again!

@hoelzro
Due to Corona lockdowns I had some time to really clean up the merge request and ping the maintainers again for a review. Let's see. I'd really like to get this into the next version of Restic.

Ok, thanks for the update @Kidswiss!


Bad Font rendering on Linux (Ubuntu/Linux Mint)

Prerequisites

[x] Did you perform a cursory search to see if your bug or enhancement is already reported? (#14451 & possibly related to #14481)
[x] Can you reproduce the problem with Debug -> Reload Without Extensions?
[x] Did you read the Troubleshooting guide?

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description

Obvious render issues have been highlighted (These are more pronounced in Dark Themes)
Steps to Reproduce

Download & install Brackets 1.13 (after repackaging according to #14338 & #14171)
Open Brackets, notice the badly rendered fonts
Relaunch with all extensions (whatever extension is on a fresh install) disabled
Notice the badly rendered fonts persist

Expected behavior: Fonts to rendered smoothly like in any other Editor
Actual behavior: Badly rendered fonts
Versions
Please include the OS and what version of the OS you're running.
Linux Mint 19 Cinnamon Tara [Linux 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:15:38 UTC 2018 i686 i686 i686 GNU/Linux]
Please include the version of Brackets. You can find it under Help -> About Brackets (Windows and Linux) or Brackets -> About Brackets (macOS)
Brackets-Release 1.13 build 1.13.0-17696 (release 49d29a8bc) 32-bit

@toxicmender
It seems Brackets is using bitmap fonts and it uses the Linux libfreetype6 package for font rendering.
Prior to Ubuntu 18.04 (on which Linux Mint 19 is based), the libfreetype6 package version was 2.8.0 (libfreetype6_2.8-0.2, available in the artful ubuntu packages).
But Ubuntu 18.04 (and hence Linux Mint 19) switched to libfreetype6 version 2.8.1 (libfreetype6_2.8.1-2ubuntu2, available in the bionic and cosmic ubuntu packages) which has a bitmap font rendering bug: https://bugs.launchpad.net/ubuntu/+source/freetype/+bug/1769132
That bug was fixed in the next libfreetype6 version (libfreetype6_2.9.1-3, available in the disco ubuntu packages), but it's not available yet.
You can check this long thread for some info and fix suggestions: https://github.com/adobe/brackets/issues/14290
To fix Brackets font rendering you need to either downgrade to libfreetype6_2.8-0.2 or upgrade to libfreetype6_2.9.1-3, only the downgrade worked for me.
Here is the downgrade fix that worked for me:

Download libfreetype6_2.8-0.2 based on your platform from:
http://snapshot.debian.org/package/freetype/2.8-0.2/#libfreetype6_2.8-0.2
e.g.
http://snapshot.debian.org/archive/debian/20170630T215111Z/pool/main/f/freetype/libfreetype6_2.8-0.2_amd64.deb

Open a terminal in the folder where you downloaded the file and run:
sudo apt-get update
sudo apt-get install ./libfreetype6_2.8-0.2_amd64.deb
sudo apt-mark hold libfreetype6
(the last command is to mark libfreetype6 so that it's not auto-updated by Linux back to the buggy version)

Try this,
work for me,
http://snapshot.debian.org/archive/debian/20170630T215111Z/pool/main/f/freetype/libfreetype6_2.8-0.2_amd64.deb
I get thits in this post
https://github.com/adobe/brackets/issues/14451#issuecomment-420996156

I fixed it by opening MATE Tweak (I use ubuntu mate) then to Windows then Fonts and here you can choose Rendering option which by default is set on Subpixel smoothing (LCDs), if you select Best shapes all these bad pixels will dissapear

@cosmin-vi 's solution worked for me. Thanks so much!

This issue is open for a while, but I hope someone can help me.
I use elementaryOS 5.1, based on Ubuntu 18.04.3 LTS, the atual package is libfreetype6 2.9.1-0asaw, and here is how the newest version, but i have the same problem with the fonts. I researched but I couldn't solve. Someone knows how to resolve this?

This issue is open for a while, but I hope someone can help me.
I use elementaryOS 5.1, based on Ubuntu 18.04.3 LTS, the atual package is libfreetype6 2.9.1-0asaw, and here is how the newest version, but i have the same problem with the fonts. I researched but I couldn't solve. Someone knows how to resolve this?

as I said before you have to reach out you system font settings (if it's ubuntu based then it should be  in Appearance then into font section) you have to choose Best shapes

This issue is open for a while, but I hope someone can help me.
I use elementaryOS 5.1, based on Ubuntu 18.04.3 LTS, the atual package is libfreetype6 2.9.1-0asaw, and here is how the newest version, but i have the same problem with the fonts. I researched but I couldn't solve. Someone knows how to resolve this?

as I said before you have to reach out you system font settings (if it's ubuntu based then it should be in Appearance) then into font section you have to choose Best shapes

so, only chose other font?

@christyanbrayan no, you have to change only rendering type it's all about the rendering not font you use. I will put a image to show you better

@Krelh
I researched it here and it looks like it doesn't have this configuration natively, but I found the 'Infinality' solution, which I still haven't been able to install for some reason. I'll see here, but thanks anyway

I am using ZorinOS 15. I used the Gnome Tweak tool to make the changes to font rendering. The below settings worked for me.

@tlotr thank you! finally something that worked, I was almost giving up on using the my favorite editor

@tlotr thank you!
This really helps.

@tlotr That Worked thanks I was reinstalling brackets but it was not working finally thank god

@tlotr That Worked thanks I was reinstalling brackets but it was not working finally thank god

The bug might come from mishandling of padding in sub-pixel bitmaps. It is best to trust FreeType here.


[v1.1.1] Removing option duplicates (backward compatible way)

Pre-review checklist

[x] I've confirmed that instructions included in README.md are still correct after my changes in the codebase.
[x] I've added new automated tests to verify correctness of my new code.
[x] I've confirmed that my changes are up-to-date with the target branch.
[x] I've described my changes in the release notes.
[x] I've described my changes in the section below.

Changes description

Alternative approach to #438
Removed option duplicates by:

Removing -p short option for --password option for the following commands:

snowpark procedure describe
snowpark procedure drop
snowpark procedure execute
snowpark services create

Removing -a short option for --replace-always in snow snowpark function update command (it was conflicting with short version of --check-anaconda-for-pypi-deps)
Removing -c short option for --compute-pool in snow snowpark jobs create (it was conflicting with short version of global --connection option)
Removing -c short option for --container-name in snow snowpark jobs logs (it was conflicting with short version of global --connection option)

Cherry-picked a test checking that there are no option duplicates from #416
Fixed a few bugs in commands registration which are (or will be) also fixed on the main branch
Updated release notes for v1.1.1

We decided to use backward-incompatible but simpler version: #438
I'm closing this PR.


why can't use module "puppeteer" in electron-vue

i had  npm install puppeteer , but when i require this module show err,(Error: Cannot find module "." )
in main process,   index.js
import { app, BrowserWindow } from 'electron'
const {ipcMain} = require('electron');
const Puppeteer = require('puppeteer'); // can't find this module

why use puppeteer when you can preload a script in a hidden browserwindow

puppeteer run well in my apps

This is for sure specific to running puppeteer within the electron environment, which would be an outside issue to this boilerplate.


.gitignore .backup files

Project Description
Hey, Contributor!
Interpret issues freely. Need help or have ideas? Comment right here. Remember, this is the only forum where Krisztián answers questions - your golden ticket to help!
Note: We eat our own dog food. We use Junior to work on Junior.
Keep it friendly, that's our vibe.
Happy contributing!

GPT-4 creates them when editing md files, e.g.: https://chat.openai.com/share/1078eeab-70a4-45cb-a575-a0d8e2fb5313


[connectors] - chore(microsoft): content node

Description
This PR implements the missing methods to use the Microsoft connector in Tables Query. The changes include:

Implementation of retrieveBatchContentNodes and retrieveContentNodeParents methods in the MicrosoftConnectorManager class.
Addition of support for Microsoft Sheets in the Assistant Builder.
Updates to the content nodes API to include Microsoft as a supported connector provider.

Risk
n\a
Deploy Plan

Apply migration
Deploy connectors
Deploy front

Wait why did we introduce a new endpoint here?


Subscript and Superscript SGRs

Abstract
According to Wikipedia's article these SGRs implemented only in mintty.
It would be nice to support these features in Contour.
Specification
From https://github.com/mintty/mintty/wiki/Tips#text-attributes-and-rendering

enable
disable
attribute

73 or ?4
75 or ?24
superscript (*)

74 or ?5
75 or ?24
subscript (*)

(*) Combined SGR 73;74 results in small characters at normal position. This does not apply to the alternative DEC private SGRs ?4 and ?5.

Tiny research: :) (mintty/src/wintext.c)
...
  if (attr.attr & (ATTR_SUBSCR | ATTR_SUPERSCR))
  {
    y = y * 12 / 20;
    x = x * 12 / 20;
    xt += cell_width * 3 / 10;
    switch (attr.attr & (ATTR_SUBSCR | ATTR_SUPERSCR)) {
      case ATTR_SUBSCR | ATTR_SUPERSCR:
        yt += cell_height * 10 / 32;  // 11 fits better but closer to subscr
		break;
      case ATTR_SUBSCR:
        yt += cell_height * 13 / 32;  // 14 looks better but at some clipping
		break;
      case ATTR_SUPERSCR:
        yt += cell_height * 1 / 8;
		break;
    }
  }
...

I wonder how that looks like. Did you test this? Have you any screenshots of this?

I'd like to see that, too. Maybe Windows users could help.

If you could get me an escape sequence that I can echo in a prompt, I could try next time I'm in front of Windows. AFAIK Git Bash (which I definitely have installed) uses MinTTY under the good.

@whisperity
You can uncomment these lines in test/decoration.sh:
# decoration 73 "Superscript"
# decoration 74 "Subscript"
# decoration 75 "Neither superscript nor subscript"

Oh! Wezterm supports subscript and superscript:

$ mintty -V
mintty 3.0.6 (x86_64-pc-msys)
© 2013/2019 Andy Koppe / Thomas Wolff

mintty looks better, IMHO.

WinVer: Windows 10 Version 2004 (OS Build 19041.1165)
$ mintty -V
mintty 3.0.6 (x86_64-pc-msys)
© 2013/2019 Andy Koppe / Thomas Wolff

This looks reasonable. But is nothing that would be implemented trivially as it required passing some additional info to the glyph rasterizer. Let's see.

@whisperity
Can you test and upload screenshot for this:

Combined SGR 73;74 results in small characters at normal position.

I'm not sure I'm combining them the right way. Should it be \033[73;74m? If so, it seems 73 takes precedence.

Thanks!
It seems that Wezterm does not support these combined SGRs.

Superscript/subscript - request for information, plus "small text" feature request: https://github.com/mintty/mintty/issues/1171

Are there actually apps making use of this?
OTOH: I'm entirely not against having this implemented. The way wezterm is doing it (just offsetting vertically) looks definitely broken to me, the size should therefore be also adjusted, just like mintty is doing. That makes implementing it somewhat more challenging though.

FYI, XTerm recently released an update that repurposed the DECSGR sequence as a query for XTMODKEYS state, so now mintty has dropped support for DECSGR, and I suspect that wezterm and libvterm will do the same (for more info see https://github.com/mintty/mintty/issues/1171#issuecomment-1336174469 and https://github.com/mintty/mintty/issues/1189).
On the other hand, VTE has made it clear that they definitely won't support mintty's proprietary 73/74/75 SGR renditions, and also won't support XTerm's conflicting XTQMODKEYS query, so if they add subscript/superscript it's likely to be using the DECSGR sequences (see https://gitlab.gnome.org/GNOME/vte/-/issues/361#note_1176717 and https://gitlab.gnome.org/GNOME/vte/-/issues/2607#note_1617458).
You should also be aware the XTerm has now started using OSC 60 for a XTQALLOWED query sequence, which conflicts with Contour's OSC 60 usage (#162). I informed Thomas of this conflict along with the DECSGR conflict several weeks ago, and I think it's safe to assume by now that he's not going to back down.
One of his excuses was that he "didn't see it documented" (I did point out that it was documented in your contour info vt output), and the other was that "other developers generally add codes above 200" (again not true - I provided him with several examples of sub-200 OSC numbers used by other terminals).

On the other hand, VTE has made it clear that they definitely won't support mintty's proprietary 73/74/75 SGR renditions

Oh interesting. I'd like to know why. 🤔  (they wouldn't be my top prio anyways due to more pressing/important features & tasks anyways)

and also won't support XTerm's conflicting XTQMODKEYS query.

This is another huuuge topic for me. I'd like to implement an improved keyboard event transport protocol. There's the modkeys feature from xterm and kitty's. If I remember correctly, @gnachman at one point even told me that I should implement xterm's version because it's superior (I hope I'm not misleading bad remembering here). I wonder how that would conflict in a future keyboard protocol with GNOME's refusal to implement XTQMODKEYS - which, to me, sounds like it's needed for that one. (I haven't fully understood how xterm's improved keyboard proto works just yet).

You should also be aware the XTerm has now started using OSC 60 for a XTQALLOWED query sequence, which conflicts with Contour's OSC 60 usage (https://github.com/contour-terminal/contour/issues/162). I informed Thomas of this conflict along with the DECSGR conflict several weeks ago, and I think it's safe to assume by now that he's not going to back down.

WTF! Okay, granted, I did not publically announce OSC 60. But I think it's superior to what was there before, but ugh. Just because Thomas Dickey is ignoring something should not mean we should all jump as he pleases. Contour is young enough to justify protocol changes. Better earlier than later, but in the long run, I think we should find a fix for how we communicate VT protocol extensions and their number allocations.
But generally speaking, many thanks for raising this topic @j4james. I should improve github.com/contour-terminal/vt-extensions repo to include OSC 60 as well. I just recently created this repo to have a collective place of VT extensions (not necessarily to Contour exclusively! hint hint) 😄

One of his excuses was that he "didn't see it documented" (I did point out that it was documented in your contour info vt output) [...]

Okay, I think I can grasp your satisfaction wrt. communication very well. I'm feel for you, sorry.
Actually, contour info vt is listing OSC 60. And that list is generated programmatically. It'll list exclusively what is being implemented, never less, and nothing more.
I however considered adding more information for each VT sequence, but thought it's probably too much meta. Also, given that I'm not full-time working on my project (we all aren't, are we :) ).
I haven't had the time to force myself through HTML to create some nice documentary website for Contour just yet, I'm desperately hoping to find some web-dev that likes Contour enough to help me out there.
Okay, I think we went way beyond the actual topic of the original top-posting, but many thanks @j4james for your continued input. :)

On the other hand, VTE has made it clear that they definitely won't support mintty's proprietary 73/74/75 SGR renditions

Oh interesting. I'd like to know why.

Because there was already an existing standard for selecting those renditions via the the DECSGR sequences. At least until XTerm came along and decided it was going to use that sequence for something else. So it's understandable why VTE doesn't want to support the XTQMODKEYS sequence either.
I should also mention that there is another standard for superscript and subscript, which is the ANSI PLU and PLD sequences. That was actually my original suggestion to VTE about a year ago, but my impression at the the time was that they preferred to go with DECSGR.

I wonder how that would conflict in a future keyboard protocol with GNOME's refusal to implement XTQMODKEYS.

Well they seem open to supporting the basic keyboard protocol - just not the XTQMODKEYS query. And my suggestion to them was that they could always support querying the XTMODKEYS state with a standard DECRQSS query. I haven't had any feedback regarding that proposal though.

Thomas Dickey is ignoring something should not mean we should all jump as he pleases.

My thoughts exactly. It's somewhat inevitable that there are going to be conflicts from time to time, because you can't expect every terminal to know what every other terminal is doing. But Thomas was informed within days of his release that there was a conflict - he could easily have backed out that change and used something else.
What really staggers me is that the three terminals that were already using DECSGR managed to convince themselves that it was somehow their fault that XTerm was conflicting with them, and so it was their responsibility to drop their support for DECSGR. 🤦♂

On the other hand, VTE has made it clear that they definitely won't support mintty's proprietary 73/74/75 SGR renditions

Oh interesting. I'd like to know why.

Because there was already an existing standard for selecting those renditions via the the DECSGR sequences. At least until XTerm came along and decided it was going to use that sequence for something else. So it's understandable why VTE doesn't want to support the XTQMODKEYS sequence either.

For some reason, I can't stop laughing at this show. Hmm... So I'm willing to get this implemented if we can get 3 (or so) TEs to agree on one of the possible ways to enable it.

I should also mention that there is another standard for superscript and subscript, which is the ANSI PLU and PLD sequences. That was actually my original suggestion to VTE about a year ago, but my impression at the the time was that they preferred to go with DECSGR.

I'm also fine in going for PLU / PLD, if we ideally get mintty to move, too (as they're using the other way, it would be nice to minimize the divergence).

I wonder how that would conflict in a future keyboard protocol with GNOME's refusal to implement XTQMODKEYS.

Well they seem open to supporting the basic keyboard protocol - just not the XTQMODKEYS query. And my suggestion to them was that they could always support querying the XTMODKEYS state with a standard DECRQSS query. I haven't had any feedback regarding that proposal though.

Oh I am highly in favor of DECRQSS over the XT-version. I'd feel also more motivated to adopt XTMODKEYS then :)

Thomas Dickey is ignoring something should not mean we should all jump as he pleases.

My thoughts exactly. It's somewhat inevitable that there are going to be conflicts from time to time, because you can't expect every terminal to know what every other terminal is doing. But Thomas was informed within days of his release that there was a conflict - he could easily have backed out that change and used something else.

I would say he still can back out, in a future (soonish) patch. I am not aware of any apps actually using XTQMODKEYS nor XTQALLOWED. I tried hard searching the web. - What I found is this: https://fossies.org/linux/xterm/NEWS
To quote:

6      * add  control  sequences  for  reporting  the  current  state of the
7        modified   keys   options   (XTQMODKEYS)   and   allowed/disallowed
8        operations   (XTQALLOWED),   (prompted   by  discussion  with  Bram
9        Moolenaar).

I failed at finding out where that "discussion with Bram Moolenaar" must have happened. It would be nice to post-read their motivation behind and if there's any real use.

What really staggers me is that the three terminals that were already using DECSGR managed to convince themselves that it was somehow their fault that XTerm was conflicting with them, and so it was their responsibility to drop their support for DECSGR. :man_facepalming:

:angry: :rage:
This is going to be a tough call, I know. But sincerely and objectively, I think we need to eventually deal with the fact, that we must life in a world without xterm. This time will(!) come. And I'm already curious to see how the TE dev community will act after that. I hope we'll not be thrown back into the 80s (as somebody else has put it to me recently)
While (of course) trying to preserve the past a bit (e.g. because people like you, but also Koichi, seem to care about), we must be able to look forward, a little bit more openly, more respectfully, and lesser everyone in his own world. (let's see whos going to roast me for this) :pizza: :cheese:

If I may chime in:
Breaking or violating older standards while being informed about it is not a bold move anymore, it is a dick move.
Not much more to say than - yes we will enter new 80s situation with breaking TE support into vendor flavors. xterm lasted for the last 20ys as a minimal support base, but we have this "oh well, idc much about the rest of the ecosystem" mindset already for quite some time now (also the reason why terminal-wg is a joke). Congratulations. Not.

So I'm willing to get this implemented if we can get 3 (or so) TEs to agree on one of the possible ways to enable it.

Well right now I think mintty, wezterm, and libvterm all support SGR 73/74/75, so that's already 3, but the problem with that choice is that VTE definitely won't support it. Then again, VTE hasn't made any real commitment to supporting superscript/subscript at all, so maybe it's not worth worrying about. However, if one day they do decide to implement DECSGR, that's guaranteed to create a split in the TE community because of how widely VTE is used.
Personally I'm not in any hurry to implement anything here, and I'm in agreement with VTE that we should be using a standard sequence for this when one already exists, so I'd be inclined to wait and see what they do. If they eventually decide to go with DECSGR, then that would be my choice too - I don't care if that conflicts with XTerm anymore. That said, I don't get the final say in what goes into Windows Terminal.

I failed at finding out where that "discussion with Bram Moolenaar" must have happened. It would be nice to post-read their motivation behind and if there's any real use.

I suspect this was likely a private email discussion. And I consider Bram just as much to blame in all of this, because he knew XTQMODKEYS conflicted with existing DECSGR usage. He was forced to patch the libvterm library used in vim so he could get XTQMODKEYS to take preference over the existing DECSGR implementation, so it's not like he can claim he didn't know about it.

@christianparpart If you think sub/superscript is important for you right now, imho the PLU/PLD might be a safe bet for now, until someone claims that for reporting the SP key state... :imp:
No seriously - I'd go with the ANSI versions first. The DECSGR thingy seems really outdated/superseeded, and I see no good story yet, why this should get revived from 40ys old printer manuals (seems it got not even mentioned in any terminal manuals by DEC either).

I don't care if that conflicts with XTerm anymore

Eventually that problem will solve itself anyways. I personally don't care that much about XTerm anymore myself. I do care about common sentiment however, for sure.
No, super/sub-script isn't as important as it needs to be implemented ASAP, I can wait a bit, and also, I do not mind supporting PLU/PLD as well as DECSGR.
I'm not a big fan of artificially keeping features alive (just wanted to state that as a disclaimer), but for this one here, I actually do see some use. And since SGR 73/74/75 is already implemented by 3 TEs, maybe we can bring up this topic to those TEs at some point in the future and invite them for a discussion such that we can come to an agreement on how to deal with this in the future. (I like dreams).
That said, happy 4th advent,
Christian.

FYI, the latest version of XTerm (patch 389) now has support for querying the state of XTMODKEYS with a standard DECRQSS sequence. Hopefully applications that were previously using the XTQMODKEYS query will now migrate to DECRQSS, and it'll eventually be safe to support the DEC SGR sequences again.


Feature Request: support for github issue creation

Is your feature request related to a problem?
While working on https://github.com/jenkins-infra/docker-openvpn/pull/354 I decided to automate the issue generation for CRL cert renewal.
Which lead me to use GH, but this could have been embedded within updatecli as a target (not action as for this example there is no target to provide, and target is mandatory to use action)
Solution you'd like
targets:
  createIssue:
    kind: github/issue
  scmid: default
  title: Bump CRL cert as will expire soon {{ source "previousendate" }}
    body: |
      "follow https://github.com/jenkins-infra/docker-openvpn?tab=readme-ov-file#howto-renew-certificate-revocation-list \
        See https://github.com/jenkins-infra/helpdesk/issues/4266 for details."
  spec:
    labels:
      - crl
      - updatecli

Alternatives you've considered
using gh but then I needed to check on already openned issue
Anything else?
No response

Interesting request, I had similar needs for JIRA and GitHub issues :D
IMHO it would make sense to have a new plugin for this


Merge pull request #1 from pylerSM/master

Sync to recent

It's my mistake. Sorry. Don't merge this.