unconditionally generate lockfile

Right now, something like this produces an error:
$ cargo add foo
$ cross build
error: failed to write /project/Cargo.lock

Caused by:
  failed to open: /project/Cargo.lock

There doesn't seem to be a way to replicate  cargo build when it adds new deps. Closest match is cargo update, but that can also update deps.

cargo generate-lockfile does the trick, I think, if you call it before cross build. I don't think it updates dependencies; it just adds new dependencies and changes their paths/git urls if necessary.

Looks like this was fixed in 0.1.5.

I'm still seeing this issue, using the latest version. Here's a log https://travis-ci.org/mgattozzi/alchemist/jobs/204565275#L524

You should let cross do it with cross build/run, with cross generate-lockfile you are telling cargo to generate a lockfile inside the docker image.

The error still shows up with that not there, I added it to test if it would help, I'll remove it and try again though...

I think #67 is the cause, cargo fetch is run, but somehow cargo still complains. I think we need to run cargo fetch --target <target-triple> to make this work. Not sure.
This issue should be reopened.

OK. I think I found the problem. This is a workspace so cargo fetch is producing a Cargo.lock in the root of the workspace but when you call cd alchemist && cross build --target $T, Cargo tries to create a new Cargo.lock in that directory.
Using cross build --target $T -p alchemist from the root of the repository seems to at least produce / use the right Cargo.lock and starts the build process (then it fails to link with /usr/bin/ld: cannot find -lsqlite3 but that's a totally different problem)

Its looking for sqlite3 since that (for the moment) is the database we are using for alchemist. So this should be fine if we just use -p whicheverproject is getting built then?


Add a better error handling when we are not signed in yet

Reference:

Old setup. Not applicable anymore.


Interact script is missing

Hi, the main.py file is requesting the interact.py script to work. Besides, the dialogGPT_discr.py also requires importing some scripts from the data.emocap and data.empathetic folders which are not included.

Hi
we did not include data.emocap and data.empathetic  because at the end we didn't use it in this paper experiments. If you want some empathetic generation from PPCC please refer to https://github.com/HLTCHKUST/adapterbot, where we release the PPLM generate responses for different emotions.
I have just pushed the interactive script, for both PPLM and Adapters. Notice that this interactive script is very rudimental. We have a more advanced version at https://github.com/HLTCHKUST/adapterbot
I hope this helps.
Andrea


Added numbers upto twelve (fix for #291)

I had added numbers upto twelve in languagefiles/en.yaml
This is a fix for #291
Please review this patch @waqasshabbir and @asadurski

Thanks @asadurski but Why this build is failed?

Travis is reporting 2 failed tests (see for example the Python 2.7 build):
======================================================================
FAIL: test_relative_past_dates_27_in_eight_months (tests.test_freshness_date_parser.TestFreshnessDateDataParser)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/scrapinghub/dateparser/.tox/py27/lib/python2.7/site-packages/nose_parameterized/parameterized.py", line 392, in standalone_func
    return func(*(a + p.args), **p.kwargs)
  File "/home/travis/build/scrapinghub/dateparser/tests/test_freshness_date_parser.py", line 333, in test_relative_past_dates
    self.then_date_obj_is_exactly_this_time_ago(ago)
  File "/home/travis/build/scrapinghub/dateparser/tests/test_freshness_date_parser.py", line 910, in then_date_obj_is_exactly_this_time_ago
    self.assertEqual(self.now - relativedelta(**ago), self.result['date_obj'])
AssertionError: datetime.datetime(2014, 1, 1, 10, 30) != datetime.datetime(2015, 5, 1, 10, 30)
======================================================================
FAIL: test_relative_past_dates_29_in_5_years (tests.test_freshness_date_parser.TestFreshnessDateDataParser)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/build/scrapinghub/dateparser/.tox/py27/lib/python2.7/site-packages/nose_parameterized/parameterized.py", line 392, in standalone_func
    return func(*(a + p.args), **p.kwargs)
  File "/home/travis/build/scrapinghub/dateparser/tests/test_freshness_date_parser.py", line 333, in test_relative_past_dates
    self.then_date_obj_is_exactly_this_time_ago(ago)
  File "/home/travis/build/scrapinghub/dateparser/tests/test_freshness_date_parser.py", line 910, in then_date_obj_is_exactly_this_time_ago
    self.assertEqual(self.now - relativedelta(**ago), self.result['date_obj'])
AssertionError: datetime.datetime(2009, 9, 1, 10, 30) != datetime.datetime(2019, 9, 1, 10, 30)

Codecov Report

Merging #299 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #299   +/-   ##
=======================================
  Coverage   94.42%   94.42%
=======================================
  Files          34       34
  Lines        2960     2960
=======================================
  Hits         2795     2795
  Misses        165      165

Impacted Files
Coverage Δ

tests/test_freshness_date_parser.py
99.35% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks for input @redapple

@atultherajput adding simplifications mapping like that isn't the best solution here. Counting doesn't end at twelve. Can you think of some other generic solution?

Since we still don't have any better solution for numerals than simplifications, I believe this is good enough solution in the meantime. I just updated it to fit new data scheme.
Thank you for your contribution, @atultherajput!


Snapshots: Use lastReceived event in metadata?

Hi @krasserm,
today we paid attention on the snapshot topic. I was wondering why Eventuate considers the lastHandled event for the snapshot write/read process.
Let's assume the following case:

We have actor A and B and two events E1 and E2.
Actor A consumes E1 and actor B consumes E2.
Let's say we have just few E1's and millions of E2.
When writing a snapshot actor A takes the lastSequenceNo of the latest consumed E1, ignoring the maybe millions of E2 afterwards.
On the next actor recovery, it takes much longer as it needs to.

My question: Wouldn't it be better to take the sequenceNo of the "lastReceived" event instead? Actor A then can start with replication progress with a much higher sequenceNo.

Good catch, thanks for the hint @ermanito. Will schedule the ticket for 0.8. Do you want to make a PR?


Pico W stuck in an infinite loop

If I do the GET request too quickly on a PICO W it gets stuck in an infinite loop.
I took inspiration from this issue on how to debug: https://github.com/adafruit/Adafruit_CircuitPython_HTTPServer/issues/41
When I add print(bytes_sent, bytes_to_send) to the response.py _send_bytes method I can see it gets stuck in an infinite loop.
Hard to capture in text as the board locks up and so does Mu serial connection I took a video and I've attached an image from the point where the issue happens.
code.py at the moment is:
import socketpool
import wifi
import os
from adafruit_httpserver.mime_type import MIMEType
from adafruit_httpserver.request import HTTPRequest
from adafruit_httpserver.response import HTTPResponse
from adafruit_httpserver.server import HTTPServer

if not wifi.radio.ipv4_address:
    ssid = os.getenv('WIFI_SSID')
    print(f"Connecting to Wifi: {ssid}")
    wifi.radio.connect(ssid, os.getenv('WIFI_PASSWORD'))
    print(f"Connected: IP address is {wifi.radio.ipv4_address}")

pool = socketpool.SocketPool(wifi.radio)
server = HTTPServer(pool)
server.socket_timeout = 0.25

count = 0
poll_count = 0

@server.route("/")
def base(request: HTTPRequest):
    print(request.path, request.connection)
    """
    Serve the default index.html file.
    """
    with HTTPResponse(request, content_type=MIMEType.TYPE_HTML) as response:
        response.send_file("index.html")

@server.route("/MUTE")
def mute(request: HTTPRequest):
    print(request.path, request.connection)
    """
    Serve the default index.html file.
    """
    try:
        global count
        count = count + 1
        print(f"{count} sending")
        # device.send(0xE2)
        with HTTPResponse(request, content_type=MIMEType.TYPE_HTML) as response:
            response.send_file("index.html")
        print(f"{count} sent")
    except Exception as e:
        print(e)

print(f"Listening on http://{wifi.radio.ipv4_address}:80")
# Start the server.
server.start(str(wifi.radio.ipv4_address))
while True:
    try:
        poll_count = poll_count + 1
        if(poll_count % 10_000 == 0):
            print(f"Polling {poll_count}")
        server.poll()
        if(poll_count % 10_000 == 0):
            print(f"Poll Done {poll_count}")
    except Exception as error:
        print(error)
        raise error

and index.html is:
<!DOCTYPE html>

  <title>REMOTE</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet"<EMAIL_ADDRESS>integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

                       🔈

Ok so pico w gets stuck in an infinite loop in _send_bytes because we get an error code 32 EPIPE
I've got something that fixes it for me I'll raise a PR for review.

I do not own a Pico W, but from the code I see a couple of things.
You set socket_timeout to 0.25, try commenting out this line or even setting it to e.g. 2, maybe Pico W is not fast enought to process that many requests in that short time. By default it is set to 1, in the past there were some problems with it, but after testing it seemed like a reasonable amount.
I am unable to replicate the issue with ESP32S2 TFT Feather, maybe there is something wrong with the sockets on Pico's version of CP?
PS:
You shouldn't need to route "/" to index.html, server should do it automatically (#38). Also it is not necessary to provide content_type when using send_file, server determines it from the file's name, the value passed to constructor is not used.

The 0.25 was for testing to see if I could get it to recover - issue happens with it set to 1. I think the pico w just throws a broken pipe if it gets overloaded. So not swallowing this (as per the PR) fixes the issue and it recovers on the next poll.

Tagging @jepler for interest

The 0.25 was for testing to see if I could get it to recover - issue happens with it set to 1. I think the pico w just throws a broken pipe if it gets overloaded. So not swallowing this (as per the PR) fixes the issue and it recovers on the next poll.

As it is the send from Pico W -> Chrome I guess it could be somehow Chrome -> Pico W wifi breaks the connection and the Pico W is just genuinely reporting a Broken Pipe....
I get the same error using FireFox as well - testing in case it was a browser specific thing.

Resolved by: #45


Failed to resolve directive: auto-animate

I just updated the plugin used in my Vue.js application. (running Vite)
I'm using auto-animate to animate a custom component (which is a list item). After the update I get a bunch of the following warning:

Failed to resolve directive: auto-animate

The animation also doesn't work anymore.
I import using this line:
import { vAutoAnimate } from '@formkit/auto-animate';
Then in my template the following code:

        <Voslocatie v-for="voslocatie in foxLocations" :key="voslocatie.id" :voslocatie="voslocatie"
          :vossenteams="vossenteams" />

<Voslocatie .../> is my custom component containing a template with

In my package.json i made sure to use version 0.8.0 (removed the package from the node_modules folder and reinstalled with npm install)
"@formkit/auto-animate": "^0.8.0",
I can't figure out what is going wrong. Could you please help me out? Thanks!

Are you using composition api?

Yes I am!

Hmm. Then I would need to see a reproduction.

I found out why it didn't work. I made a small new project and tried to reproduce it.
The difference was I am using the 'old' composition api with the setup function like this:
Following code doesn't work and produces the failed to resolve warning:
`
`
I need to refactor to something like this to get it to work:

So put the setup keyword inside the script tag. I will try to refactor this on my main project as well.


Refactor method millisecondsToString(long)

Refactor method FFmpegUtils#millisecondsToString(long) to use basic format S+[.ms] instead of hh:mm:ss[.ms].
See Fmpeg - Syntax - Time duration.

Changes Unknown when pulling 78941f1ebd56e29ad6205af230e79f0fc2d6f0e1 on stonio:patch-6 into ** on bramp:progress**.

Changes Unknown when pulling 78941f1ebd56e29ad6205af230e79f0fc2d6f0e1 on stonio:patch-6 into ** on bramp:progress**.

Thanks for the pull request, but there seems to be far too many indiviual commits. Would you rebase against master, and break this up into smaller PRs.

Rewrite this pull request in #63.


COLRv1: rename otData structs to remove 'V1' to match updated draft spec

This is a breaking change (but the COLRv1 API was already marked as unstable and subject to change)
The changes in this PR are meant to match the changes from the COLRv1 draft spec at:
https://github.com/googlefonts/colr-gradients-spec/pull/302

at least nanoemoji and fontgoggles will have to be updated accordingly before this is released


Replaced HTTPException(status_code) with abort(status_code)

HTTPException(status_code) has been replaced with abort(status_code)

LGTM. I would suggest using an f-string instead of adding strings with +, but it's not at all a big deal. Something like this:
error_message = f"link has failed with error # {res.status_code}"

If you want to make that change then cool-- otherwise, I'll pull this on Friday as-is.
Thank you for your contribution!

LGTM.

Daniel,  Thank you for the suggestion to switch to an f-string.  I have an issue that blocks me from switching to an f-string, and I have decided not to do this.  Read on below if you want to know why .....
I am able to test the exception versus abort (there is probably a better way to do it, but my way is to manually change the hobolink to force an error).
When I wrote the abort call on Wednesday night, my error tests were displaying my message in the browser.
Now (on Thursday night), my error tests do not display my written message .... instead I am getting a string describing the error.  For example, the webpage with a 405 error gives a webpage created with the below HTML markup.  Anyhow, I've spent more time than I intended trying to figure out why this changed so I'm just going to go on to consider other things.  Besides, this functionality is nice.
405 Method Not Allowed
Method Not Allowed
The method is not allowed for the requested URL.

For testing abort, I would just type stuff into a Python terminal like abort(404, "hello world") and see what happens. It's not the most formal thing in the world as far as testing goes, but it's just one pre-made function from a stable/well-done/popular library, so its behavior should be very consistent. The expected behavior of flask.abort is that it should raise an error, specifically a werkzeug.exceptions.HTTPException, if I recall correctly.
I'm not 100% sure if I understand your issue, but I think there are two things that are possible:

If you mean that your browser is displaying something differently than it was before: In Flask, if you are in debug mode, the browser displays the full error message. But if you are not in debug mode, it doesn't show you anything.
If you deploy the website through the run_windows_dev or run_unix_dev scripts, you'll see something like this in there: set FLASK_ENV=development (that's the Windows one at least). What that does is it means that we will eventually run into this code inside of app.py:

def create_app(config: Type = None) -> Flask:
    # ...
    # ...
    elif app.env == 'development':
        from .config import DevelopmentConfig
        app.config.from_object(DevelopmentConfig)

So if the environment is development, it runs that. And the DevelopmentConfig object has the following in it: DEBUG: bool = True. Flask is smart, and knows this means to turn debug mode on when it's in the config for the app. However, if you do not deploy through this whole system, then Flask won't do development mode, and this changes how your browser displays errors.

If you mean that the actual object itself is a string instead of an error: it's a bit misleading how Exceptions work in Python sometimes, but you can see here that what's being returned is an error, even though it kinda looks like a string because of how Python represents it.

>>> try:
>>>     1 / 0
>>> except ZeroDivisionError as e:
>>>:     # Is this a string?
>>>:     print('Print:', e)  # <--
>>>     # It kinda looks like a string, so it must be, right?
>>>     # Let's check:
>>>     print('Type: ', type(e))
>>>     # It is not. Errors/Exceptions just represent like that in Python.
>>>     # There is a string you can access though:
>>>     print(e.args, type(e.args[0]))
Print: division by zero
Type:  <class 'ZeroDivisionError'>
('division by zero',) <class 'str'>

Also, I quickly deleted my comment about the f-string because I don't think it's necessary. Adding a string is acceptable in this situation and it's perfectly 100% legible. You're good! I'm merging everyone's code this weekend. Thanks for your help.


SP-5867

Backport of PDI-19054 - LogRegistry Purge Not Removing Channels with More than 10% of "Active" Channels (8.3 Suite)

:white_check_mark: Build finished in 24m 5s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core

:ok_hand: All tests passed!
Tests run: 4824, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


French version: Terms and definitions clause not recognized; no boilerplate

From https://github.com/metanorma/iso-iec-2382/issues/19
English HTML:

French HTML:

Encoding:
[title="Terms and definitions"]
== Termes et définitions

[glossarist,./../concepts,concepts]
----
{% assign target_lang = "fre" %}
{% for concept in concepts %}
{% include "concept" %}
{% endfor %}
----

Markup error.
I daresay, user error. Also, RTMFM. https://www.metanorma.org/author/topics/document-format/sections/#fixed-section-names It's heading=, not title=


Performance hit when classifying many dicts (non-GC-tracked and with no owner)

This occured in commit https://github.com/zhuyifei1999/guppy3/commit/6373998001465cf21c21661cfa975f50b19b2c7b which was apparently after V3.0.6 was released.
In hv_cli_dictof_update_new_method in src/hv_cli_dictof.c, the call to hv_get_objects was replaced with a call to gc_get_objects. This was to be faster because of an easier way to find objects and they were also fewer. However, we didn't get non-gc-collected objects such as simple dicts with non-gc-collected members. This made the hv_cli_dictof_update method be called each time we tried to classify such dicts, from hv_cli_dictof_classify, because we didn't store any information about those dicts in the nodegraph self->owners. The classifier thought it needed more information each time.
Code classifying an idset() of a list of 5000 empty dicts went from about 0.3 seconds (with the change reverted) to 9 seconds in Python 3 with the modification mentioned.
# dictofno.py
from guppy import hpy
h=hpy()
d=[{} for i in range(5000)]
print (h.idset(d))

Checking in the debugger revealed that the update function was called many times.
It has been suggested (by the author of Guppy 3, YiFei Zhu) that the hv_cli_dictof_classify function should call the update method only once.
I presume this means only once during the lifetime of the classifier. I think this would work if the classifier is allocated together with the set it classifies, because those sets are immutable so the classification would not change. I think this is the current situation.
However, if we would turn to have memoized classifiers in the Heapy guppy.hpy() structure, (to speed things up) then there might be the case that new dicts are created that should require to update the dict ownership graph.
Then it would require many calls to update during the lifetime of the classifier. I don't know if this will be a reality but it may be something to consider.

Hmm, it occured to me and looking in the code (Classifiers.py, View.py)  that the dict ownership graph is already memoized and passed to the classifier. So it would need to be updated some time. But maybe not in the lifetime of the classifier? Or maybe it would. Have to consider these things and try it out.

I mean, a dict cannot acquire a new owner, and an object cannot acquire a new dict, a right?
Oh wait, it can...
However, while hv_cli_dictof_classify is running, there should not be a way for a the dict to acquire a new owner, or objects tp acquire a new dict, right? So for the duration of hv_cli_dictof_classify, we could call hv_cli_dictof_update_new_method at most once. If it is not found after the run then so be it; it is not owned.

But what I can see, already for the duration of hv_cli_dictof_classify the hv_cli_dictof_updae_new_method is called at most once. It is repeated calls to the mentioned classify method that may call the update method several times.

Hmm, you're right. I thought hv_cli_dictof_classify was calling hv_cli_dictof_update_new_method in a loop.

>>> import gc
>>> a = [{}]
>>> gc.get_referrers({})
[]
>>> gc.get_referrers(a[0])
[[{}]]

$ python -m timeit -s 'import gc; a = [{}]' 'gc.get_referrers(a[0])'
2000 loops, best of 5: 162 usec per loop

Wait, but this wouldn't work if that dict is in a non-garbage-collected container like another dict that doesn't contain any gc-tracked stuffs right?
>>> import gc
>>> a = [{1:{}}]
>>> gc.get_referrers(a[0][1])
[{1: {}}]
>>> gc.is_tracked(a[0][1])
False
>>> gc.is_tracked(a[0])
True

No. Dicts become GC tracked if it could potentially contain a GC tracked item, using the MAINTAIN_TRACKING macro. Similarly, anything sane would be GC tracked if it refers to a dict, because that dict might create a reference cycle by containing that 'anything'.
So to fix that, we could just iterate on the referees of every GC-tracked object, right?

Sounds like something we could try. I'm off to work now.

That said, there are plenty of insane things that are not GC-tracked and refers to a dict, such as the C extension importing mechanism and dicts of interpreter states, but they are not PyObjects (so a reference cycle can't be created) and can't be accessed normally anyways. Well, yes, we expose them by rootstate, but I don't imagine someone somehow creates 5000 such non-GC-tracked and not-directedly-referred-to-by-GC-object dicts and asking us to classify them.
Besides, it would be very unusual even for these extreme dicts to be not GC-tracked:
>>> for name in dir(hp.Root):
...     if isinstance(getattr(hp.Root, name), dict):
...         if not gc.is_tracked(getattr(hp.Root, name)):
...             print(name)
...
>>>

And even if you iso some dict, there will be a ImmNodeSet declaring the existence of this dict that is being classified:
>>> a = {}
>>> b = hp.iso(a)
>>> [type(x) for x in gc.get_referrers(a)]
[<class 'guppy.sets.setsc.ImmNodeSet'>, <class 'dict'>]

You'd have to intentionally call hv_cli_dictof_classify with a fresh dict that isn't referred to by anything 5000 times, at which point, it's not traversable from root anyways so who cares. Traversing the heap isn't gonna save it.
Though, if some C extensions badly leaks memory with dicts heapg/heapu might find a lot of untraversable-from-root dicts and try to classify them, but that uses the GC mechanism, so these leakages would not be found by hv_get_objects, but gc_get_objects would. I'd argue gc_get_objects is an improvement in this case.

After this patch:
Removed build tracker '/tmp/pip-req-tracker-0d7qarcz'
Partition of a set of 5000 objects. Total size = 1240000 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0   5000<PHONE_NUMBER><PHONE_NUMBER> 100 dict (no owner)

real	0m0.077s
user	0m0.068s
sys	0m0.009s

At c1fb662:
Partition of a set of 5000 objects. Total size = 1240000 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0   5000<PHONE_NUMBER><PHONE_NUMBER> 100 dict (no owner)

real	0m3.858s
user	0m3.851s
sys	0m0.007s

At 1b9f5d3:
Partition of a set of 5000 objects. Total size = 1240000 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0   5000<PHONE_NUMBER><PHONE_NUMBER> 100 dict (no owner)

real	0m0.099s
user	0m0.089s
sys	0m0.010s

Light speed

Cool. I can confirm that it is fast here too. Although your computer seems to be some 2.6 times faster than mine. I get 0.236s user time on the original test program dictofno.py.
I have an Intel® Core™ i5-3210M CPU @ 2.50GHz × 4
OS: 4.4.0-154-generic #181-Ubuntu SMP (32 bit)
Thanks for the fix! I will incorporate it in guppy-pe although I don't know if cherry picking would work, I don't know how that works so I may just copy the file.

I have an Intel® Core™ i5-3210M CPU @ 2.50GHz × 4

Not sure how that works, but I have:
Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz x 8
Linux 5.2.13 #7 SMP x86_64

Thanks for the fix! I will incorporate it in guppy-pe although I don't know if cherry picking would work, I don't know how that works so I may just copy the file.

We kinda have different indentation styles ;) I could send you a patch, if you would like to keep the mix of tabs and spaces. (Though, Python 3 doesn't support it for Python code)

I just tested on a server that is
Intel(R) Xeon(R) Silver 4208 CPU @ 2.10GHz x 32
Linux 4.15.0-55-generic #60-Ubuntu SMP x86_64
$ time python dictofno.py
Partition of a set of 5000 objects. Total size = 1200000 bytes.
 Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
     0   5000<PHONE_NUMBER><PHONE_NUMBER> 100 dict (no owner)

real	0m0.075s
user	0m0.063s
sys	0m0.012s


Fixed chef backend issue with opensearch changes

Signed-off-by: jan shahid shaik<EMAIL_ADDRESS>Description
Chef Backend scenarios are failing due to opensearch internal changes.
https://buildkite.com/chef/chef-umbrella-main-chef-server/builds/1352#01815c4b-0a5f-4788-b315-1e6a79acd1a7
Issues Resolved
In this PR
Check List

[ ] New functionality includes tests
[ ] All buildkite tests pass
[ ] Full omnibus build and tests in buildkite pass
[ ] All commits have been signed-off for the Developer Certificate of Origin. See https://github.com/chef/chef/blob/main/CONTRIBUTING.md#developer-certification-of-origin-dco
[ ] PR title is a worthy inclusion in the CHANGELOG

https://buildkite.com/chef/chef-chef-server-main-omnibus-adhoc/builds/4668

https://buildkite.com/chef/chef-umbrella-main-chef-server/builds/1358


1.5+2.5 Launcher: figure out how to open Melon Mix appimage on linux

this isn't even a linux app

can somebody test if this helps

well it doesn't idk how to do it then

Here's some documentation from wine on how to do similar things, I'm not entirely sure if it's really applicable here, and especially if/how it would work for proton, but it might be worth a try.
https://wiki.winehq.org/FAQ#How_do_I_launch_native_applications_from_a_Windows_application.3F
https://wiki.winehq.org/FAQ#How_do_I_associate_a_native_program_with_a_file_type_in_Wine.3F

not sure if that's helpful here


[Question]

Question
eg  @ShenyuSpringCloudClient  and so on，can add @Inherited  Annotations，So, my business code doesn't need to annotate @ShenyuSpringCloudClient on every interface class, just inherit from my parent class.

ShenyuSpringCloudClient There are some attributes that need to be added


Vertex Models - add new claude 3.5 sonnet v2

This PR adds support for the new Claude 3.5 Sonnet (V2) on GCP Vertex AI.

hi, make the model field editable, it will eleminate lot of friction and enhanced configuration. whatever json keys, just make them field. please let me know if you are free or tell approach for this project.

It seems that this functionality was already added after I made this PR so I will be closing this PR as it is redundant.

damn! people are developing very quick, appreciate your effort...


1892 fluid-runner CSV telemetry (#12015)

AB#1892
Needed to unblock OASYS for the eDiscovery work
Add support for choosing to export telemetry as a CSV
Add support for adding additional properties to every telemetry entry

@tyler-cai-microsoft Can you please approve this. It's a fork of https://github.com/microsoft/FluidFramework/pull/12200 since that one has merge conflicts and I am not allowed to push into Kian's branch.


@ sign not working

SQL Operations Studio Version: 0.28.4 and 0.28.5

Steps to Reproduce:
When trying to declare variables I fail to type an @ sign in the query editor. I'm using the German keyboard layout and trying to push Alt + q. I can't even use the Windows screen keyboard. However, I'm able to paste the sign into the query editor from a different source.

@AbbiePetcht @anthonydresser could you please help investigate this?  Particularly, we need to determine if this is a recent regression possibly from one of the keyboard-related accessibility changes.

I think this is probably related to this commit https://github.com/Microsoft/sqlopsstudio/commit/13fb9fdfd24254281841db71f8cb3b2fd125304 which adds a new keyboard shortcut that uses Alt and Q characters for the FocusOnCurrentQueryKeyboardAction.  Could you please try unmapping this keyboard shortcut?

@kburtram I can use different keyboard shortcut

Thanks @AbbiePetcht, works like a charm again! :)


proposal: image/gif: Allow for configure diffusion strength

Proposal Details
The current gif error diffusion is very basic and generates low contrast images.
In https://pkg.go.dev/github.com/makeworld-the-better-one/dither/v2 there is a possibility to configure Strength (affecting image contrasts) of FloydSteinberg transform (see dither.ErrorDiffusionStrength).
It would be great if at least the Strength could be added as a field to gif.Options.

CC @nigeltao

I don't see why this has to be in the standard library. Floyd-Steinberg is one of many dithering algorithms (as your https://pkg.go.dev/github.com/makeworld-the-better-one/dither/v2 shows) and part of the image/gif API design (and the existing Options.Drawer field) is that you can bring your own dithering implementations (with a Strength field or whatever else you want).
On the other hand, anything in the standard library has to be supported forever and, once released, its API is frozen forever. There's a high bar for adding anything to the stdlib at this point.


RenderEditable should dispose created layers.

Fixes https://github.com/flutter/flutter/issues/134386

Google testing passed

@polina-c, thanks a lot for fixing this issue!


Unable to Launch "Unable to initialize 3d output"

Please attach a copy of config.yaml or config.ini to the issue.
I was using .45 and reshade 4.5.3.  I had no issues for the week of use.  Yesterday evening I could no longer launch the game.  When you hit play it says unable to initialize 3d output.  Please verify you have installed directx 9 and updated video driver.  I have a windows 10 dell g7 laptop.  I did deleted everything except the dat file and reloaded the game just fine.  I redownloaded the lastest 1.0 version and without installing reshade it gives me the same error again.   Really love the d912 app etc it makes the game run better.  Im no programmer but if you tell me how to get the info you need i can manage just fine.
A text file in the gw2 folder
[INFO] core | Addon loader v0.1 (v0.1 r11) loaded
[INFO] core | Loading addons from "./addons" path
[INFO] core | Loading arcdps
[INFO] core | Loaded d3d9_wrapper v1.0 r6
[INFO] core | Loaded arcdps v1.0 r322
[INFO] core | Loading d3d9_wrapper
[INFO] core | Loading d912pxy
[INFO] core | Loaded d912pxy v2.0 r493
[INFO] core | Loading gw2radial
[INFO] core | Loaded gw2radial v1.2 r6
[INFO] core | Done loading addons
[INFO] d3d9_wrapper | Loading custom lib from D3D_wrapper_custom_d3d9_lib_query
[INFO] d3d9_wrapper | d3d9 library failed to load
[INFO] core | Exiting, unloading core addon
[ERR] core | Some addons are not unloaded!
[INFO] core | Unloaded

As per the issue template:
don't forget to attach the config file to the issue
The config.yaml file should be wherever you installed the addon manager. When you deleted things, where did you do the deleting (just in bin64 folder or other places too)?
Hard to say without the config file, but it sounds like this could be a problem with interactions between d192pxy and reshade. @Megai2 any insights?

application_version: v1.0.0
loader_version: v0.1
bin_folder: bin64
isupdate: true
game_path: C:\Program Files\Guild Wars 2
default_configuration:
d3d9_wrapper: false
version:
d3d9_wrapper: v1.0
arcdps: >
df71ea0e8c25aa7bc0f37d2b7feaeb16  x64/d3d9.dll
d912pxy: v2.0
gw2radial: v1.2.4_al
installed:
d3d9_wrapper: d3d9_wrapper
arcdps: arcdps
d912pxy: d912pxy
gw2radial: gw2radial
disabled:
d3d9_wrapper: false
arcdps: false
d912pxy: false
gw2radial: false
wow you guys are fast

When I say I deleted everything.  I deleted every file/folder in the GW2 folder except the .dat file and the gw2.exe.  Launched the game and let it rebuild the bin folder.  Turned off Windows defender and ran the gw2 add on manager app.  I do not have reshade reinstalled yet.

"guys" is just me and I'm working on homework atm ;)
What does the contents of your /Guild Wars 2/addons folder look like?

Nothing immediately identifiable as an issue to me; guessing from the lines of the log file you pasted:
[INFO] d3d9_wrapper | Loading custom lib from D3D_wrapper_custom_d3d9_lib_query
[INFO] d3d9_wrapper | d3d9 library failed to load
[INFO] core | Exiting, unloading core addon
[ERR] core | Some addons are not unloaded!
[INFO] core | Unloaded

There is some issue with the addon loading process, but I'm not sure what exactly that issue is. Also, before this issue happened last night did you install the latest version of d912pxy? It could be an issue with that latest version if this problem only cropped up after updating it. @megai2 you know if others  are experiencing this launch crash?

No thats what I found strange.  I was playing, logged out.  Came back an hour later and boom, error.  I downloaded all the old files the .45 verison installed it. Reinstalled reshade, all previous files that I had already used about a week ago when I found out about mods for gw2 and still got the error.  I had not updated anything....

There is a new geforce driver available as of today.  Im downloading it to see if it helps.

ya no such luck

log clearly says that it can't load d912pxy dll

update msvc redist https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads
check your cpu for avx support, rn d912pxy needs it, maybe i will move back to non avx build soon

Downloaded that file and now I can load in just fine.  Thank you !!


Add event manager

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

👍


Language request: Typst

Hi, I was wondering if Typst should be added as a supported language or if there was some reasoning against it.
I was thinking I would like devenv to support as many languages as possible, then again adding typst to a devenv environment is easy even if it's not specified as a language.

Since we have texlive, I think we can also add typst.


[WIP] GH1721: Migrate libraries to netstandard1.3

Opening PR for discussion.
Seems that netstandard1.3 is a little bit behind netstandard1.6 in parts like reflection.

Nope, this isn't happening. We'll have to wait for netstandard2.0


[Feature] Highlight BOLD, input and outputs that belong to us.

Example:

It's not a bad idea, but the system font used in the UI does not necessarily have a bold option. There might be another way to do this though.

I believe it has been actually implemented, via icons:

Indeed, thanks for point this out @Enfernuz. Closing this off.


Qwen2 1.5B checkpoint conversion broken(tensorrt_llm=0.14.0)

System Info
-CPU架构x86_64
-GPU  A100
Who can help?
No response
Information

[x] The official example scripts
[ ] My own modified scripts

Tasks

[x] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
git clone https://huggingface.co/Qwen/Qwen2-1.5B    ./tmp/Qwen2/1.5B
python convert_checkpoint.py --model_dir ./tmp/Qwen/7B/
--output_dir ./tllm_checkpoint_1gpu_fp16_wq
--dtype float16
--use_weight_only
--weight_only_precision int8
Expected behavior
conversion works
actual behavior
Traceback (most recent call last):
File "/mnt/share/yanglongbiao/llm/TensorRT-LLM/examples/qwen/convert_checkpoint.py", line 324, in
main()
File "/mnt/share/yanglongbiao/llm/TensorRT-LLM/examples/qwen/convert_checkpoint.py", line 316, in main
convert_and_save_hf(args)
File "/mnt/share/yanglongbiao/llm/TensorRT-LLM/examples/qwen/convert_checkpoint.py", line 269, in convert_and_save_hf
execute(args.workers, [convert_and_save_rank] * world_size, args)
File "/mnt/share/yanglongbiao/llm/TensorRT-LLM/examples/qwen/convert_checkpoint.py", line 276, in execute
f(args, rank)
File "/mnt/share/yanglongbiao/llm/TensorRT-LLM/examples/qwen/convert_checkpoint.py", line 255, in convert_and_save_rank
qwen = QWenForCausalLM.from_hugging_face(
File "/mnt/share/yanglongbiao/llm/envs/trt_llm/lib/python3.10/site-packages/tensorrt_llm/models/qwen/model.py", line 429, in from_hugging_face
loader.generate_tllm_weights(model)
File "/mnt/share/yanglongbiao/llm/envs/trt_llm/lib/python3.10/site-packages/tensorrt_llm/models/model_weights_loader.py", line 353, in generate_tllm_weights
self.load(tllm_key,
File "/mnt/share/yanglongbiao/llm/envs/trt_llm/lib/python3.10/site-packages/tensorrt_llm/models/model_weights_loader.py", line 274, in load
v = sub_module.postprocess(tllm_key, v, **postprocess_kwargs)
File "/mnt/share/yanglongbiao/llm/envs/trt_llm/lib/python3.10/site-packages/tensorrt_llm/layers/linear.py", line 392, in postprocess
weights = weights.to(str_dtype_to_torch(self.dtype))
AttributeError: 'NoneType' object has no attribute 'to'
additional notes
Verifying the 7B model

更换trt-llm为0.12.0，问题解决

For those unable to downgrade, I was able to disable the ModelWeightsLoader using TRTLLM_DISABLE_UNIFIED_CONVERTER=1 as noted here https://github.com/NVIDIA/TensorRT-LLM/pull/2110#issue-2463325638


Improve Tests: Document current tests

Related https://github.com/mesosphere/marathon/issues/2911
AC

for each file, document what is being tested and how

Expand upon https://github.com/mesosphere/marathon-ui/blob/master/CONTRIBUTING.md#-testing-approach

Closing this as the new splitting introduced in https://github.com/mesosphere/marathon-ui/pull/586 guarantees self-documenting tests.


Unable to find integration

I'm unable to locate the integration for this awesome project.

Home Assistant OS 6.6
supervisor-2021.10.8
core-2021.11.2

Am I being a dumdum? It's not available through their site either. Home Assistant Integrations

Did you install HACS?

Did you install HACS?

Apologies. I thought HACS was short for Home Assistant Core Server or something alike. Thank you for such a fast response

this is not funny.
I can't find my integrations too, but for real.
I did install through HACS but there is no new integration available in UI.
Logs don't say anything about it.

Refresh browser cache

Since this has been resolved and @lukaszzyla has a different issue I'll close this thread. Thanks for the input


doc: add rolling upgrade doc for 2.1

rolling upgrade doc for 2.1 release.
Fix #3004

lgtm. /cc @robszumski @crawford @pbx0 @barakmich @kelseyhightower @philips


zib-MedicationAgreement

Just noticing this now, but the concept is called "MedicationAgreementAdditionalInformation", not just "AdditionalInformation". To be consistent, this has to be applied everywhere, so the extension should be called .... ext-MedicationAgreement.MedicationAgreementAdditionalInformation"; it should be coupled in the profile as extension:medicationAgreementAdditionalInformation.
Although this is awfully ugly, I think in the long run we'll somewhere shoot ourselves in the foot if we're not consistent :(

Indeed awfully ugly, but you are right. Will change the naming of these extensions.
I will close this PR and merge the contents of this branch into a zib-Medications branch.


Publish package on PyPI

We would like to publish this package on PyPI so that pretrained models can be loaded without cloning this repo. Before doing that, we need to think through how it interacts with the code in the metl repository and what the package names should be.

The "Load checkpoint with metl-pretrained package" step of the finetuning.ipynb notebook in the metl repository is an example of where the separation of these two repositories is awkward. This package is needed to execute that step.

This is no longer needed thanks to the Hugging Face support.


Error while running action: API rate limit exceeded for user ID XXXXX609

Hello,
i'm getting an error while running this action.
I'm using this action since long time now and only today I have this error : API rate limit exceeded for user ID 66129609
Action<EMAIL_ADDRESS>(this version already works before)
Any ideas ?
Thanks !

Good day.
The action uses the github API via the github packages. Depending on the used token and your environment. Please see the following rate limits from GitHub: https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting
There is a rate limit API you can use to check the current available limit for your user: https://docs.github.com/en/rest/rate-limit

Can you please report back on this issue?
Please note that the action can not adjust your rate limit and it is required that the provided token can be used to make the respective API calls

Sorry for the non-answer. It seems that it's not an issue on your side. I will check rate limit on mine 😄
Thanks for your time !

Thank you for reporting back.


I want to make different particular dates of different color.

Question:
How do I make particular dates of different colors or bold? For example, I want to make the dates 2, 15, and 20 as bold or have round circles around them.

You can check the LocalDate provided in the binder and change the text color accordingly. Look at the examples.


refactor(*): integrate ameba linting

Integrates Ameba into the codebase with coverage for the majority of linting rules. Excluded ones either required too many changes or were potentially damaging.

CI is failing because it's trying to install development dependencies which isn't needed for this, but the actual CI check run successfully. Merging #59 would solve this.

Closing due to lack of interest/motivation.


Remove slide by id

Hi,
I tried to use this code from other thread to remove slides by id,
slickRemove($('#slider .slick-slide').indexOf('#yourID'))
I guess I should use like this,
$('.carousel').slick('slickRemove',$('.carousel').indexOf(id));
Javascrpt errors say "indexOf is not a function".
Thanks.

Hey @kevin20161 Im going to close this because it's a support request instead of a bug. Also there's no fiddle. Check out the contribution guidelines.
That said, my guess is that since indexOf is a vanilla JS method, and not a jquery one, its not working on the jquery selection array. Like I say this is just a guess, but this might work:
$('.carousel').slick('slickRemove',$('.carousel')[0].indexOf(id));

@leggomuhgreggo doesn't work for me, I get indexOf is not a function error

also trying to remove by class name not ID

Can you put it in a codepen/fiddle?


Installation issue

Cannot run python data_prep/convert_dataset_hf.py   --dataset c4 --data_subset en   --out_root my-copy-c4 --splits train_small val_small   --concat_tokens 2048 --tokenizer EleutherAI/gpt-neox-20b --eos_text '<|endoftext|>'
Getting Traceback (most recent call last):   File "/home/ighodgao/llm-foundry/scripts/data_prep/convert_dataset_hf.py", line 14, in <module>     from streaming import MDSWriter ModuleNotFoundError: No module named 'streaming'
pip3 install streaming returns a ModuleNotFound error for Cython, which I then install manually but then am not able to install streaming due to more installation problems..
I am in a python venv and have installed requirements already as outlined in the docs.

The name when installing is different than importing,
pip install mosaicml-streaming

thanks!!

I'd recommend installing all requirements: https://github.com/mosaicml/llm-foundry/issues/62#issuecomment-1538604986

I did install all requirements as specified there and on the Quickstart previously.
After pip install mosaicml-streaming I still can't run the data prep script:

(lfvenv) ighodgao@isha-determined:~/llm-foundry/scripts$ python data_prep/convert_dataset_hf.py \
  --dataset c4 --data_subset en \
  --out_root my-copy-c4 --splits train_small val_small \
  --concat_tokens 2048 --tokenizer EleutherAI/gpt-neox-20b --eos_text '<|endoftext|>'
Traceback (most recent call last):
  File "/home/ighodgao/llm-foundry/scripts/data_prep/convert_dataset_hf.py", line 19, in <module>
    from llmfoundry.data.datasets import ConcatTokensDataset, NoConcatDataset
ModuleNotFoundError: No module named 'llmfoundry'


Pontoon: document new access key setting for locales

As for which locales to enable, based on Firefox data: bn, bo, brx, gu-IN, hi-IN, ja, kn, ko, mr, my, ne-NP, pa-IN, si, skr, te, zh-CN, zh-TW.
I've removed en-CA and en-GB, as they might need to change access key when the label uses a different spelling. Also removed Romanian, because they clearly have no idea what access keys are and how they should be localized :-(


DUPLO-9155 Update duplocloud TF provider to support create/update  multi AZ Opensearch cluster on AWS

Overview
Implemented updation for multi-az for opensearch cluster
Summary of changes
This PR does the following:

Update functionality enhance to support updation from single to multizone clustering
...

Testing performed

[ ] Using unit tests
[ ] Manually, on my local system
[ ✓] Manually, on a remote test system

Describe any breaking changes

...

Task linked: DUPLO-9155 Update duplocloud TF provider to support create/update  multi AZ Opensearch cluster on AWS


cannot able to extract type form schema z.infer

version: 3.17.3
i'm unable to extract type from schema
//here is my code
const body:ZodSchema =z.object({
	username:z.string(),
	password:z.string()
})
type login = z.infer<typeof body>

//here it shows data as type of any and  therefore shows no autosuggestions
const data:login = {}

it was working fine yesterday i haven't change any code  is this version issue? i'm not sure if its updated,

Try to remove ZodSchema after body.


unauthenticated guest access

I have been trying to figure out which rule has been giving me issues with network drives. wont let me add drives due to unauthenticated guest access.

Please be more specific, otherwise I can only guess. If you have hardened a server and now want to connect a share from that server, any rule from the category User Rights Assignment that include Guest are possible culprits

"you can't access this shared folder because your organization's security policies block unauthenticated guest access" is the error message that i get when i try to add an SMB

I need the following information to help you:

Did it work before you used HailMary mode?
Which finding list(s) did you use?
On what system did you run HailMary (server and/or client)?
How do you mount the share (command)?


implement WHOX

https://github.com/ircv3/ircv3-specifications/issues/81

Just a note: there was discussion on #oragona, that missing this prevents the users from seeing away status of the other users.

@jesopo is going to take a look at this :tada:

What's the MVP here --- just cover account name and away status?

PR over at #1184

Just a note: there was discussion on #oragona, that missing this prevents the users from seeing away status of the other users.

This is likely a client bug, since regular WHO output also includes away status. Anyone remember what client this was?

Just a note: there was discussion on #oragona, that missing this prevents the users from seeing away status of the other users.

This is likely a client bug, since regular WHO output also includes away status. Anyone remember what client this was?

I tried with Irssi, Weechat and The Lounge and could not get the away status.

a note is that WHOX only tells you if a user is away, not why.

Interesting --- 09b74aaa37a2069e4567cc4ca041e346696c336d seems to work for me with Hexchat.

Interesting --- 09b74aa seems to work for me with Hexchat.

Tried again and I see the away status with Oragono 2.1.0. I think I was using 2.0.0 or something at the time when I last time tested. So everything seems to be fine now 👍


can't find pane: 0 due to tmux setting base-index

I totally understand if you would like to close the issue as the issue is due to custom user tmux settings. But people use the base index of tmux windows 1 so that that matches most qwerty keyboard's number ordering.
Full error:
Waiting for dtach sockets to appear. Found 2 out of 2.
Traceback (most recent call last):
  File "/home/mvaidya/.local/bin/tmux-mpi", line 239, in <module>
    main()
  File "/home/mvaidya/.local/bin/tmux-mpi", line 170, in main
    tmux_session.add(nproc)
  File "/home/mvaidya/.local/bin/tmux-mpi", line 78, in add
    w.select_pane("0")
  File "/home/mvaidya/.local/share/pipx/venvs/tmux-mpi/lib/python3.10/site-packages/libtmux/window.py", line 202, in select_pane
    raise exc.LibTmuxException(proc.stderr)
libtmux.exc.LibTmuxException: ["can't find pane: 0"]

Thanks for the issue. Hopefully this is fixed as of commit [1].
[1] https://github.com/wrs20/tmux-mpi/commit/6f926540b2903dd2e02d172f415042eac3c10d93

Brilliant, thank you for the fix!
Thanking you,
+miheer
On Fri, Dec 27, 2024 at 07:55 Will Saunders @.***>
wrote:

Thanks for the issue. Hopefully this is fixed as of commit [1].
[1] 6f92654
https://github.com/wrs20/tmux-mpi/commit/6f926540b2903dd2e02d172f415042eac3c10d93
—
Reply to this email directly, view it on GitHub
https://github.com/wrs20/tmux-mpi/issues/6#issuecomment-2563775114, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAECYYXX2DLVGXC5UOKLI232HVS6JAVCNFSM6AAAAABRXZHXACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRTG43TKMJRGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


Cow: Watch goldxtra.com

Cow requests the watch of the watch_keyword goldxtra\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

goldxtra\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Nick in Charcoal HQ


Update datadog to 5.7.4

Things done

[y] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[y] NixOS
[n] OS X
[n] Linux

[y] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[y] Tested execution of all binary files (usually in ./result/bin/)
[y] Fits CONTRIBUTING.md.

Is there a good reason buildPythonPackage is not used? Because dd-agent seems installable with setuptools.

@FRidh thanks for the feedback. i'll change the github repo to pyvi. Re: dd-agent mkDerivation, it was like that before; not sure why chose it over pythonPackage. I can try to refactor it and see if that works.

@thedebugger if you like to, go ahead. I won't stop you :-) But it is not necessary.

@thedebugger still working on this?

@joachifm i think we can merge it if it looks okay. I didn't get a chance to refactor dd-agent to use pythonPackages :(

note that 5.8.5 is the latest version by now.

Please reopen when it seems ready to be merged.


PLANNER-505: initial implementation - ready for review

This is now ready for review and merging.
A couple details to keep in mind:

There are 3 ignored tests. Geoffrey will review them after merging and we will fix them.

JMS implementation not ready. PM asked us to proceed with the merging as this will be part of the DR2 build.

@etirelli when it comes to kie-server-api and domain objects I opt for having them specialized as opposed to reuse public api from optaplanner. Main reason is that they can be designed in the way remote requires it - both in terms of structure and data that should be send over the wire.
long time to create container usually indicates maven is resolving kjar's dependencies and in case snapshots are involved this might take long time in case there are lots of transitive deps which might be the case when adding our core libs (in this case optaplanner-core and optaplanner-persistence-xstream). Adding classes to jaxb context is not time consuming once the list of classes is known.
Personally I would like to avoid any asynchronous calls for creating containers as this brings in lots of complexity and in my opinion it's not worth the effort due to following:

introducing asynchronous requires use backend support from app server which usually is ejb based to accommodate WAS support
next once we have async jobs then we need to provide support for polling for job status which becomes difficult in clustered environments behind load balancer as you can hit another server instance that the job was submitted to
async for containers brings not so much value as the timeout is client side only meaning creation of container will still happen even if client times out. Moreover when using controller which will be responsible for creating containers with be done in async way and we can use long timeout value there. New UI for controller includes messages from server/container which will bring in the details about status of create container calls.

the URI for optaplanner should be similar as we have it for example for processes: https://github.com/droolsjbpm/droolsjbpm-integration/blob/master/kie-server-parent/kie-server-remote/kie-server-rest/kie-server-rest-jbpm/src/main/java/org/kie/server/remote/rest/jbpm/ProcessResource.java#L52
that would give use something like this:
/server/containers/{containerId}/solvers/{solverId}
so to configure this on OptaplannerResource class use following:
in RestURI define the PLANNER_URI
public static final String PLANNER_URI = "containers/{" + CONTAINER_ID + "}/solvers";

next in the OptaplannerResource class:
@Path("server/" + PLANNER_URI)

Last question, is use of ServiceResponse really needed to be wrapper on top of Solver results?

On 08/02/16 04:18, Edson Tirelli wrote:

  @ge0ffrey

      We are facing some difficulties due to the fact that
        optaplanner-core contains both the public API and domain
        interfaces and the implementations (e.g: Solution, Score,
        etc). Would it be possible to split them into an
        optaplanner-api jar that does not bring the whole set of
        dependencies that are there due to the implementation? In
        particular, we can't add optaplanner-core as a dependency to
        kie-server-api jar. So unless we can split these interfaces
        into a separate optaplanner-api jar, we will need to
        duplicate the interfaces in the kie-server-api jar and use
        them there copy&pasting data during marshalling.

        See: https://github.com/droolsjbpm/droolsjbpm-integration/compare/6.4.x...etirelli:PLANNER-505?expand=1#diff-c03f98ee0c28a670eff894409b97a1e2R120

I don't think I can split the public api from the internal impl.
- I clearly separate them in separate package (core.api.* and
core.impl.*), so there is a real public api cut out.
- but just like java.* and sun.*, the public api has internal code
that directly uses the impl classes (so no reflection tricks etc
which aren't always realistic)...
With Jigsaw (JDK9), this will still be 1 module, but the public api
is public and the impl is module encapsulated (so it's really
hidden).

Let's talk about this in real-time to discuss the problem, the cause
and the potential fixes.

      Related to that, do we need to actually marshall a complete
        Solution instance? Or can we marshall simply the Number[]
        and reconstruct the Solution during unmarshalling?

        See: https://github.com/droolsjbpm/droolsjbpm-integration/compare/6.4.x...etirelli:PLANNER-505?expand=1#diff-35fdf428277cbe7951029bf67ae1495aR29

A Solution cannot be turned into Number[].
A Score can, but I see no reason why you'd do that.
A Score is usually 2 numbers, but sometimes 3 or 5 numbers (rarely
more than 5).
A Solution has a Score.

In the first phase, I suggest marshaling the complete Solution.
For most use cases, this won't be a problem (although there are
notable exceptions, we 'll deal with that in the next phase).
For example in cloud balancing, a Solution could be 100 Computers
and 300 Processes. Some idea's on size in XML:

    3. The cloud balancing example you sent me by e-mail is not
      working it seems. It fails during annotation scanning. Can you
      please take a look and fix it?

        See: https://github.com/etirelli/droolsjbpm-integration/tree/PLANNER-505/kie-server-parent/kie-server-tests/kie-server-integ-tests-optaplanner/src/test/filtered-resources/kjars-sources/cloudbalance

That's PLANNER-522, which I discovered on Friday. I've got a
reproducer in optaplanner-core and I am trying to fix now
(it's caused because KieContainer's mfs:URL protocol is not
compatible with org.reflections).
I am expecting to fix it today or tomorrow:
  https://issues.jboss.org/browse/PLANNER-522

  With kind regards,
    Geoffrey De Smet

@mswiderski and @ge0ffrey and @sutaakar

looks good to me besides these minor comments added inline.

Looks like there were some changes which broke the kie-server-client tests on Karaf (see the test result on Jenkins).

PR updated based on previous comments.

This is now squashed and ready for review/merge.

/assign @mswiderski @ge0ffrey @psiroky @sutaakar
Tests succeed for me locally.

+1 looks good to me

+1

Merged.


Fix bidnameinfo to just return actual matches

Change Description

#6067
nodeos's table api returns row entries from lower_bound to upper_bound, so needed to prevent showing bidname rows that were returned with the next available bidname after the requested bidname.
Consensus Changes

N/A (This only effects read only cleos functionality)
API Changes

This affects cloes to only return a matching bidname when "cleos system bidnameinfo" is called.
Documentation Additions

This would be expected behavior (previous behavior was a bug).

#6070 was a better solution, closing this


[web] Add Complex layout benchmark

Description
Scrolls and resizes deep surface tree with listview.
Based on flutter's complex_layout benchmark.

(PR triage): Are there still plans for this PR?

Will address comments and rerun tests shortly.


Access denied error when running wasm-pack build

🐛 Bug description
I created a new wasm-pack library using the wasm-pack new command and everything worked as expected. Wen to build with wasm-pack build --target nodejs, and I keep receiving an Error: Access is denied. (os error 5).
I have re-installed wasm-pack and recreated the whole project but still come across  this issue.
Subcommands test, and build seem to throw this error. All permission are properly set on folders.
EDIT:
I have cleaned up some problems deps that were causing cargo build --target wasm32-unknown-unknown to fail, but the problem still persists.
🤔 Expected Behavior
Should build wasm from rust files with no errors.
👟 Steps to reproduce
Run wasm-pack build in the terminal.
🌍 Your environment
Include the relevant details of your environment.
wasm-pack version: 0.9.1
rustc version: 1.41.0 Stable
Running Windows 10
EDIT:
If I run cargo build --target wasm32-unknown-unknown then wasm-bindgen ... everything works as expected.

Installing via cargo install wasm-pack also did not solve the issue.

I had to change my cargo env var from [HOME]/.cargo/bin to [HOME]/.cargo/bin/cargo.exe and its fixed.


whenever i try to write colors/backup the pro controller, it says failed to backup or failed to write colors

you have to hit write colors after u pick them


Second series  of a anime

I have noticed that second series of animes tend to have the synopsis of the first series. For example SOA and SOA2, all the episode of SOA2 have the SOA1 synopsis even if the episode title is proper. Im guessing this is because of TVDB being the information source.
I have my SOA and SOA2 set up as \SRV-SAITOH\Videos\Anime\Sword Art Online\Season 01 and \SRV-SAITOH\Videos\Anime\Sword Art Online II\Season 01
This only plagues anime that have second series and tvdb adds those series as season 2
A few i have : Log Horizon, Jormungand, Black Lagoon

It won't pick this up unless it is fund in the community recommendations


Docs: editTagsWithExternalUserIdDevice method name is not correct

In the docs method name editTagsWithExternalUserId is used, but it is actually editTagsWithExternalUserIdDevice as shown here.

Thanks for reporting this typo, I fixed the README file.


Make the AF_NETLINK constant available for Android

Currently the AF_NETLINK constant is not available for Android, but it has the same value as on Linux. To fix it, this patch moves the definition to the common notbsd/mod.rs.
(this fixes an issue we found in Servo)

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+
Thanks!

:pushpin: Commit c52458c has been approved by alexcrichton

:hourglass: Testing commit c52458c with merge 56b2704...

:sunny: Test successful - status-appveyor, travis
Approved by: alexcrichton
Pushing 56b270454f2627d8f1694910124ef4a9144d82ee to master...


Fixed typo in 'Using Secrets' page

See also #77

I have done sth wrong in this PR so need to submit it again.


Reduce repetitive / redundant api calls

Particularly /status can be called 3-4 times per page load.

Need to adopt a global state container e.g.:

https://redux.js.org/
https://github.com/mobxjs/mobx

so that each API endpoint need only be called once into a global state update, which can propagate within react framework natively.

Per note in c0f4ffa:
This does not adopt a state management framework like Redux or Flux, as the current component composition with React is fairly limited. There  is likewise rarely state *change* affecting multiple components after the initial load and renders. This will likely change as the mishmash of React components and javascript templates is cleaned up towards the former.


Image not showing in for the posts

Description
Image not showing in the postview component when you visit them
Steps to reproduce
1.Go to home page
2.Click user name on the post(It will navigate to post/:id)
3.See the problem img not showing by that post id
Screenshots
without the fix:

with fix:

Desktop (please complete the following information)
No response
Smartphone (please complete the following information)
No response
Additional information
No response
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[ ] I'm a GSSoC'23 contributor
[X] I want to work on this issue

Sure, you can go ahead! :)


Create better reporting on the different data streams

Although the Color reporting for each device would be very useful there are some devices with several streams with different rates,  it would be very useful to have a new colour when some stream is falling within a device, for an instance there was a case that pupil labs streams where all functioning except the gaze.

This issue is now solved with the new control panel that reports every relevant stream.
fixed in #77


ES-25 remove orphaned workspaces from project

Changes:

add command to remove orphaned workspaces from project

Additional notes
:warning:  Don't forget to release new version after merge

@ondrajodas @tomasfejfar In all that craziness we kind of forgot about this 😄


🗃 Add local database with Docker Compose

LGTM. Is there a reason why it the container is called itrust2-database-local?

I missed it
Thanks for your review


Support RichText or Markdown

Is there any way to use RichText or Markdown?
If not, how about supporting RichText or Markdown?

We provide custom CRDT data type, RichText to enable collaborative editing in WYSIWYG Editors.
https://github.com/yorkie-team/yorkie-js-sdk/blob/master/dist/quill.html#L53
Since Markdown editor uses plain text format, I thought that collaborative editing can be easily implemented using Text.
https://yorkie.dev/docs/master/js-sdk


Reordering readme steps and fixing issues with default-import-policy

NOTE: default-import-poilicy is set to reject_route by default and is tested in this FNT
Reordering steps and removing default-import-poilicy to be set to accept.
Using an explicit route-map to override default-import-poilicy set to reject route

Pull Request Functional Test Report for #3152 / 8b67343e3e53e707ffdac150623af971819afc06
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

RT-1.27: Static route to BGP redistribution
2650f8ab
Log

Cisco 8000E

RT-1.27: Static route to BGP redistribution
d17a26d2
Log

Cisco XRd

RT-1.27: Static route to BGP redistribution
6c1dfbb8
Log

Juniper ncPTX

RT-1.27: Static route to BGP redistribution
2d1e67b6
Log

Nokia SR Linux

RT-1.27: Static route to BGP redistribution
e6ddcba2
Log

Openconfig Lemming

RT-1.27: Static route to BGP redistribution
d0de4511
Log

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

RT-1.27: Static route to BGP redistribution

Cisco 8808

RT-1.27: Static route to BGP redistribution

Juniper PTX10008

RT-1.27: Static route to BGP redistribution

Nokia 7250 IXR-10e

RT-1.27: Static route to BGP redistribution

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1983

Relevant Lines:
3573

💛  - Coveralls


Soft Question: How to setup a dev environment for reading?

I'm intrigued by the solid work here! But as someone who never used MetaCoq and ocaml before, reading it is a bit difficult. I feel that the entry point of the core logic is really in the Rust Extract keyword extension in g_rust_extraction.ml, from which the pipeline runs.
It would be of great help if someone can teach me how to

Setup the proper linting for the files in plugin/src. Although make succeeds, there are Unbound module errors everywhere in the .ml files. Claude tried setting up dune for me to no avail.
Setup a debugger for the pipeline to see the input/output data shape at each step. Where would this debugger start at? Presumably it can't start from the .v files that use Rust Extract. But if it starts in g_rust_extraction.ml, then I would need to somehow inject coq for the pipeline to run from.

I wouldn't recommend reading the OCaml code, g_rust_extraction.mlg is just a small wrapper that registers the Rust Extract command in Coq. Most of the code is written in Coq.
The Rust Extract command is one of two entrypoints that you can use, it is also possible to use the extraction directly in Coq without the OCaml plugin. You can see here how this is done.
It is probably easier to understand and debug that code.
Please note that this repository only contains the code for printing extracted code to Rust, the main extraction logic was merged into MetaCoq https://github.com/MetaCoq/metacoq/tree/coq-8.19/erasure/theories/Typed


Settings Sync does not work on VSCode Insiders and VSCode

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.81.0
OS Version: 13.4.1

Steps to Reproduce:

My main VSCode Insiders has settings sync set to on

I download VSCode normal and try connect settings sync as well, connected to the same account

But when I do this, nothing gets synced. I tried force sync too.
It did nothing.

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Adjust for pandas 1.5.0

pandas v1.5.0 was released 2022-09-19. Among other changes:

The tests TestCachingBackend::test_del_ts and test_del_ts fail on most CI jobs.
There are numerous warnings like:/home/runner/work/ixmp/ixmp/ixmp/backend/jdbc.py:995: FutureWarning: In a future version, `df.iloc[:, i] = newvals` will attempt to set the values inplace instead of always setting a new array. To retain the old behavior, use either `df[df.columns[i]] = newvals` or, if columns are non-unique, `df.isetitem(i, newvals)`
    result.loc[:, "value"] = item.getValues(jList)[:]

Type stubs are now supplied, so mypy exclusion can be removed: https://github.com/iiasa/ixmp/blob/a5a64d282b691190615558ed590f0897ac4aa959/pyproject.toml#L95
Possibly others.

Since the only test failures are in caching, ixmp may otherwise work with pandas 1.5.0. Any other symptoms can be collected in this issue.

Type stubs are now supplied, so mypy exclusion can be removed:

It turns out these are not yet mature:

The stubs are likely incomplete in terms of covering the published API of pandas.

…so this can wait until they are.


[ESP32] Map ESP_ERR_NVS_INVALID_LENGTH to CHIP_ERROR_BUFFER_TOO_SMALL

Problem
#20210
Change overview
This PR fixes few of the errors reported by the storage audit.
Testing
Ran the all-clusters-app and following were the reported errors
E (1686) chip[ATM]: ../../../../../../config/esp32/third_party/connectedhomeip/src/lib/support/PersistentStorageAudit.cpp:145: assertion failed: "size == sizeBeforeGetKeyValueCall"

E (1726) chip[ATM]: ==== PersistentStorageDelegate API audit: FAILED: 1/81 failed assertions ====

Related to #20210


updated dependencies

Pull Request Test Coverage Report for Build 42

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.667%

Totals

Change from base Build 32:
0.0%

Covered Lines:
2

Relevant Lines:
3

💛  - Coveralls


Switch docs to Vuepress to match other chart.js repositories

Work Done

Documentation moved from Docusaurus to Vuepress
Live editing done using the vuepress-theme-chartjs plugin

Testing Done

Local testing of docs using npm run docs:dev
Testing of deploy-docs action locally all the way until it pushes to GitHub pages

Resolves #5712

Tests deployment (without the conditional base): https://9b316917.chart-js.pages.dev/

Maby its a good idea to remove links to hardcoded lines in the source files since if you add/remove lines there you will have to update that in the docs too.
For example the link to the core animations default is now a few lines short (https://9b316917.chart-js.pages.dev/configuration/animations.html#animation) or the Link in the plugin core api (https://9b316917.chart-js.pages.dev/developers/plugins.html#plugin-core-api) is wrong now (was done this way as temp fix because the list was removed from v2 -> v3 docs)

Good call @LeeLenaleee. I removed those. For the plugins, https://www.npmjs.com/package/vuepress-plugin-typedoc seems promising to get the typedocs working and we can try and build them from the .d.ts file rather than code comments

@etimberg @kurkle When I try to build the docs locally it gives me a basic html only page with only the md file as content. The same error is happening with the deploy at the moment (https://www.chartjs.org/docs/master/)

@LeeLenaleee what node version are you using locally?

12.16.2, after updating to the latest LTS (14.16.0) resolved the issue for me, although it seems like the master docs is still broken even though you made it build with node 14 now

I think its a combination of GitHub pages + Cloudflare caching at this point.
I got the broke page once and it loaded the old style file, https://www.chartjs.org/docs/master/assets/css/0.styles.fc8ef512.css but the latest is https://www.chartjs.org/docs/master/assets/css/0.styles.4f043ac6.css


Feature request: Encrypted exports

Why, I hope I'm not asking for something that already exists, but... Can the app export encrypted files? OFX files, but encrypted with a password, maybe using AES?
If it doesn't already have that the feature, would it be welcomed here?

Do you mean encrypted backups for the app, or encrypted exports?
If we encrypt the exports, how is the receiving app supposed to decrypt them?

How about an APG integration for the export? Anyways you can still encrypt the backup files manually with APG. It provides quite good key management and encryption for files, text, etc. And additional mail integration with K9 mail. Hope that helps.


Added python linting

Part of #1413

Separated prod vs. local requirements so that pylint and testing packages aren't dependencies on prod. Install requirements.txt will install the prod requirements still.
Moved requirements into it's own directory
Added lint.py command to Makefile
Added instructions to README
Added autogenerated .pylintrc

.pylintrc contains the linting rules. It's mostly autogenerated, except that I've added any rule that was violated when running the linter on our server files to the disable= line, on line 63. You'll find a "TODO" comment for where I started adding these rules. The one exception is missing-docstring which I added directly above the "TODO" because I think we don't need to care about that rule.
Moving forward, we can chip away at enabling these rules or moving them above the line because we don't care to abide by them. Ones that I find interesting are:

useless-import-alias,
superfluous-parens,
deprecated-method,
dangerous-default-value,
unsubscriptable-object,
reimported,
redefined-outer-name,
using-constant-test,
useless-object-inheritance,
super-init-not-called,
pointless-statement,
inconsistent-return-statements,
cyclic-import

After merging this:

I will be to set up Travis to run the linter whenever a pull request is made
We can then tackle specific rules by first deciding if we care. If we do, then we can fix the errors when enabling the rule.

Neat trick w/ the requirements, huh?!?
I'm only on board with making sure that we add linting for what matters only. We don't want it to get in the way.


Rename bundleNode into bundleProcess

And all other node name should be process instead.
Node is a type of process like chromium is a type of browser.
Even if node almost the only process running js naming must be consistent.

nope, but some stuff have been renamed to better understand how bundleNode /bundleBrowser differ


Acessibility fixes

Acceptance Criteria:

[x] Fix duplicate H1 tags on home page (there can be only one H1 per page)
[x] Use empty ALT tags for course cards on home page by setting alt="". The thumbnails are purely decorative and no alt tag would be preferable to the repetitive ones we have now.
[x] sign in form input tag is missing an id attribute, id="email" which is necessary to for the <label> tag to function.

[x] review any other forms for missing id attributes and/or missing <label> tags.

[x] When an error message is updated in forms, the container needs a role="alert" attribute
[x] input tags should have an aria-desribed-by attribute, set to the id of the container of any error messages.
[x] Change aria-label attributes on "Sign In" and "Create Account" buttons to match the text of the buttons, instead of them both being "Login".
[x] Change the (duplicate) alt tag on the MIT logo from "MITx Online" to "MIT Home page"
[x] #171 Use the Lighthouse tool to review accessibility of all other page templates and make any necessary changes

@pdpinch Looks like we are running 100% accessibility as per the comment on the last part of this epic https://github.com/mitodl/mitxonline/issues/171#issuecomment-926438335.
I think we can close this ticket, We can reopen this if needed.


URLs with %FX percentage encoding not forwarded via Port :8181 to ReGa but result in "400 Bad Request"

Describe the issue you are experiencing
When performing the following curl command execution to write a text with "ö" umlaut in a system variable "TestRM" a 400 Bad Request error is returned:
# curl -vvv http://localhost:8181/hm.exe?value=dom.GetObject%28ID_SYSTEM_VARIABLES%29.Get%28%27TestRM%27%29.State%28%27Fl%F6te%27%29
> GET /hm.exe?value=dom.GetObject%28ID_SYSTEM_VARIABLES%29.Get%28%27TestRM%27%29.State%28%27Fl%F6te%27%29 HTTP/1.1
> Host: localhost:8181
> User-Agent: curl/7.79.1
> Accept: */*
>
< HTTP/1.1 400 Bad Request
< Content-Type: text/html
< Content-Length: 345
< Connection: close
< Date: Mon, 09 May 2022 13:17:34 GMT
<
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <title>400 Bad Request</title>

400 Bad Request

When removing the %F6 in the above URL or replacing it with some other one, no Bad Request error is returned and the request will be handled correctly, thus forwarded to ReGaHss via its proxy statement.
Describe the behavior you expected
The request should be internally forwarded to port 8183 which is the rega scripting port which lighttpd is proxying.
Steps to reproduce the issue

login to CCU/RaspberryMatic via SSH
create a text system variable "TestRM"
execute curl -vvv http://localhost:8181/hm.exe?value=dom.GetObject%28ID_SYSTEM_VARIABLES%29.Get%28%27TestRM%27%29.State%28%27Fl%F6te%27%29
Monitor the output

What is the version this bug report is based on?
<IP_ADDRESS>20430
Which base platform are you running?
ova (Open Virtual Infrastructure)
Which HomeMatic/homematicIP radio module are you using?
n/a
Anything in the logs that might be useful for us?
The same issue can be seen when using any %FC in the URL.
Please note that any %Fx percentage URL encoding seems to trigger the issue. Thus no "%FC" or any other "%Fx" encoding with x corresponding to any hex value seems to be possible.
Additional information
After some short investigation, the issue seems to be related to newer lighttpd versions normalizing their URLs to some extend and thus might end up in 400 Bad Request for certain reserved characters. See here for more information/docs on that matter:
https://redmine.lighttpd.net/projects/lighttpd/wiki/Server_http-parseoptsDetails
After adding the "url-normalize" => "disable" statement the issue seems to be gone.
This also refs https://homematic-forum.de/forum/viewtopic.php?p=717789#p717791

Why iso-8859-1?  Why is it not converted to UTF-8 before url-encoding (%xx)?
lighttpd is checking that the URL is valid UTF-8.  More precisely, lighttpd quickly checks if the bytes are invalid UTF-8 bytes.
https://en.wikipedia.org/wiki/UTF-8#Comparison_with_other_encodings

Fallback and auto-detection: Only a small subset of possible byte strings are a valid UTF-8 string: the bytes C0, C1, and F5 through FF cannot appear, and bytes with the high bit set must be in pairs, and other requirements.

https://en.wikipedia.org/wiki/UTF-8#Codepage_layout

Do not appear in a valid UTF-8 sequence. C0 and C1 could be used only for an "overlong" encoding of a 1-byte character.[22] F5 to FD are leading bytes of 4-byte or longer sequences that can only encode code points larger than U+10FFFF.[23] FE and FF were never assigned any meaning.

[References: UTF-8, a transformation format of ISO 10646]
https://datatracker.ietf.org/doc/html/rfc3629#section-1

The octet values C0, C1, F5 to FF never appear.

[References: Unicode Standard chapter 3]
https://www.unicode.org/versions/Unicode13.0.0/ch03.pdf

As a consequence of the well-formedness conditions specified in Table 3-7, the following
byte values are disallowed in UTF-8: C0–C1, F5–FF.

In previous versions of lighttpd this wasn't really an issue as it forwarded the %XX encoded URL portions verbatim without having touched them. But at some point it seems this is not the case anymore and now (as shown here) %FC or %F6 cannot be used anymore - which are however part of ISO-8859-1 (german umlauts).

To be clear, this is not a limitation of UTF-8.  The entirety of ISO-8859-1 (single-byte encoding) and much more is able to be properly encoded in UTF-8 (multi-byte encoding).
Also, this is not a bug in lighttpd.  The lighttpd behavior is explicit and intentional to support a stronger security stance.
The option for url normalization was added in lighttpd 1.4.50, released in Aug 2018.  After multiple announcements in release notes for subsequent releases, url normalization was enabled by default in lighttpd 1.4.54, released May 2019 (3 years ago).
(<generic rant>) It is a frequent lament of mine and other open source developers that numerous popular linux distros are negligent (IMNSHO) in upgrading software in reasonable timeframes, and upgrading "stable" distros -- a.k.a. "nearly unmaintained" because "nearly unchanging" -- is not made easier for end-users, many of whom do not manually perform periodic upgrades on a regular basis on their own.  There are many good reasons why browsers and other desktop software run tasks which check for and perform upgrades.  Similarly, automatic software upgrades (at least for security patches) is the default behavior for iOS and Android mobile devices. (</generic rant>)

Why iso-8859-1? Why is it not converted to UTF-8 before url-encoding (%xx)?

Well, the application which finally receives the HTTP request (behind the lighttpd proxy) is a very old-school (199x) application that can only really speak iso-8859-1 and thus expects also URLs to be percentage-encoded in with ISO-8859-1 and not UTF-8.

What is producing the URL?  What is percent-encoding the problematic ISO-8859-1 string?  Is it the ancient app or is it something else?  Whatever it is that is doing the percent-encoding, it might be appropriate to modify that code to convert the string to UTF-8 prior to percent-encoding.  Then, you could use lighttpd mod_magnet for requests only to this application, percent-decode the query-string, convert to ISO-8859-1, and re-percent-encode before passing the request on to the application.  Alternatively, modify the application to base64-encode/decode the iso-8859-1 string into the URL query-string instead of selective percent-encoding.  Alternatively, use POST to send the data instead of using query-string.  Alternatively, use an HTTP header instead of using the query-string, and use "header-strict" => "disable" while leaving "url-normalize" => "enable".
Best practices strongly recommend UTF-8 in URIs since there is no generic way to convey the charset used in the URI, whereas there are alternatives to specify charset for strings in HTTP headers.  Search for "UTF-8" in https://html.spec.whatwg.org/ and note the frequency of the explicit phrase "UTF-8 percent-encode" https://url.spec.whatwg.org/#string-utf-8-percent-encode

Nevertheless setting "url-normalize" => "disable" in the lighttpd.conf solves this issue currently. Question remains, however: Is this really the way to go and which potential side-effects this could have?

No, it is not "the way to go" for a security-focused solution.  A security-focused solution would address the source of the issue: a 199x application that does not support UTF-8.
Instead, it is a "quick-fix" workaround to use "url-normalize" => "disable" to disable lighttpd URL normalization (which includes detection of invalid UTF-8 in percent-encodings).

which potential side-effects this could have?

The lighttpd core provides the "url-normalize" option and works with or without that feature enabled.  However, depending on your lighttpd.conf configuration, you might not get the behavior you expect in some situations.  Your mod_rewrite and mod_redirect rules might not match for non-normalized alternative encodings.  Best practices suggest writing explicit allow rules, and then deny everything else, but I am sure there are many custom lighttpd.conf instances that do otherwise.
Here is one example of unwanted behavior that is fixed with url normalization: https://redmine.lighttpd.net/issues/1720

tl;dr: if fixing the application is not an option, then using "url-normalize" => "disable" is a workaround, though disabling the url normalization may cause lighttpd.conf configured behavior to change for non-normalized URIs, which in turn may have security implications for your specific environment.
If fixing the application is an option, who would do that and where is the code?  Here is an example for charset conversion for Python and Java: https://mincong.io/2019/04/07/understanding-iso-8859-1-and-utf-8/
Given the 3 years that has elapsed since lighttpd enabled url-normalization by default, is it worthwhile for me to even consider any enhancements to lighttpd url-normalization options, which may take another 3-4 years to reach end-users?

Is hm.exe open-source?  Where is the source code for hm.exe?  What package provides it?

Is hm.exe open-source? Where is the source code for hm.exe? What package provides it?

hm.exe is just an arbitrary string in the query URL with a *.exe extension sent over to port 8181. Once this HTTP request reaches the internal webserver of the closed source ReGaHss application, this application interprets the query string value as a special scripting call. In fact, while ReGaHss is listening itself to port 8183 (only on localhost), lighttpd is used as a transparent proxy also providing some kind of authentication and listens on port 8181 (cf. https://github.com/jens-maus/RaspberryMatic/blob/master/buildroot-external/overlay/base/etc/lighttpd/conf.d/proxy_normal.conf#L84-L87).
So sorry, but this ReGaHss application is indeed unfortunately closed source. Nevertheless, it heavily relies on the query URL being URL percentage encoded with the %xx percentage encoding staying untouched by lighttpd, so that each %xx is then converted into its non-hexadecimal counterpart within the URL conversion routines within ReGaHss itself. And this application is unfortunately only ISO-8859-1 (latin1) aware, thus expects the URL percentage encoding to be latin1 encoded as well.
Hope that clarifies it.

I notice in https://github.com/jens-maus/RaspberryMatic/blob/master/buildroot-external/overlay/base/etc/lighttpd/conf.d/mime.conf (last updated about 3 years ago) that the charset is not specified with the text mime-types, e.g. "text/html;charset=utf-8".  Recent versions of lighttpd specify charset=utf-8 by default with the mime-type for text mime-types for lighttpd-provided doc/config/conf.d/mime.conf or lighttpd-provided doc/scripts/create-mime.conf.pl.  ReGaHss might be configured to send "Content-Type: text/html;charset=iso-8859-1", or to specify the charset in the HTML.  I wonder (untested) whether or not many/some/all/none client browsers would rewrite links to UTF-8 before following those links.

Thank you for that extra info. If it were something I had access to, it would probably only be a small amount of effort to translate from UTF-8 to ISO-8859-1.

Well, in principle I could do this (I do have access to that closed source app). However, as said before: This is a very old application which provides this API to a various of outside applications which exhibit this ISO-8859-1 URL encoding possibility already. Changing this now would probably require all these applications to be changed as well and would render the API partly incompatible, I guess. Or I would have to implement some automatic identification of the used encoding in the URL (which I actually don't know really how to reliably do).
BTW: Where exactly is it written that URL encoding should be UTF-8 encoded? Until now, I always thought URL percentage encoding is only a vebatim hexadecimal character encoding regardless of any charset information, thus simply encoding/decoding %xx to/from its hexadecimal interpretation.

Right now, it is straightforward in lighttpd mod_magnet to write a lua script which takes a UTF-8 percent-encoded query string and translates it to an ISO-8859-1 percent-encoded query string before passing the request to the backend.

This sound interested, but RaspberryMatic (in which ReGaHss+lighttpd is integrated) is using a buildroot/Linux environment for embedded platforms, thus does not come with lua scripting support (yet).

Is ReGaHss the application that is producing the links with the ISO-8859-1 percent-encoded query strings?

No, ReGaHss is "just" provding the web service which access these "*.exe" URLs which can contain these percentage coded URL parameters, but which must be ISO-8859-1 encoded, thought. As said before, ReGaHss is just providing the API in terms of this web service and there are tons of users out there using this API relying on its current behaviour (1:1 hexadeciaml percentage URL encoding/decoding).

What (approximate) sizes are the responses from ReGaHss? Something that can fit into memory? Or too large to fit into memory? In lighttpd 1.4.65, it will be possible to capture the backend response in lighttpd mod_magnet and to then to have a lua script rewrite links, though that would take more effort.

The response ReGaHss will give back will certainly fit into memory. Nothing too large really.

I notice in https://github.com/jens-maus/RaspberryMatic/blob/master/buildroot-external/overlay/base/etc/lighttpd/conf.d/mime.conf (last updated about 3 years ago) that the charset is not specified with the text mime-types, e.g. "text/html;charset=utf-8". Recent versions of lighttpd specify charset=utf-8 by default with the mime-type for text mime-types for lighttpd-provided doc/config/conf.d/mime.conf or lighttpd-provided doc/scripts/create-mime.conf.pl.

Sorry, don't get it really. I can see that the charset=XXX is missing in mime.conf. But this shouldn't have any impact. Or did I miss something?

ReGaHss might be configured to send "Content-Type: text/html;charset=iso-8859-1", or to specify the charset in the HTML. I wonder (untested) whether or not many/some/all/none client browsers would rewrite links to UTF-8 before following those links.

As said before, ReGaHss does only interpret iso-8859-1 and will also provide all its HTTP responses in iso-8859-1 encoded form, also with sending its response using Content-type: text/html; charset=iso-8859-1 in the response header.

To be clear, my goal in continuing this conversation is to see if there is a low-effort workaround which might be available with a little effort of mine, and possibly better than disabling lighttpd's url-normalization.

I am totally with you here! I fully understand that proper URL normalization also helps in mitigating against certain attack vectors like e.g. sending over %00 encoded strings in the hope to provoke a buffer overflow or similar.

lighttpd default url-normalization is too strict for ReGaHss, and lighttpd provides a config option to disable lighttpd's url-normalization. I too a (very) quick look through RasberryMatic lighttpd configs and did not immediately see use of mod_rewrite or mod_redirect which might be affected by disabling lighttpd url-normalization.

Thanks for having checked. If there would be a possibility to only disable the URL normalization for a certain $SERVER["socket"] part in the lighttpd.conf this could already help, indeed. If possible I could then only disable the normalization within https://github.com/jens-maus/RaspberryMatic/blob/master/buildroot-external/overlay/base/etc/lighttpd/conf.d/proxy_normal.conf#L84-L87 and omit disabling it for the rest (port 80, port 443) which would offer some security benefits and could be a better compromise than globally disabling url normalization in lighttpd.

Unfortunately, there is a chicken-and-egg problem in using the non-normalized URL to configure lighttpd on whether or not to normalize the URL.  With $SERVER["socket"], that is clear, but it is not clear with other lighttpd conditionals.  That is why the url-normalization is a global setting, as it is applied to the request headers before the request headers are used to evaluate lighttpd conditional configuration.  (Yes, it is true that the socket is known beforehand, but lighttpd currently avoids multiple evaluations of the conditional configuration.)
Instead, I might be able to provide a url-normalization configuration option to normalize the url-path, but not the query-string.  Still, I am concerned that it would take years to reach end-users due to the extremely slow propagation of updates from Debian and Ubuntu through RPi.

Instead, I might be able to provide a url-normalization configuration option to normalize the url-path, but not the query-string. Still, I am concerned that it would take years to reach end-users due to the extremely slow propagation of updates from Debian and Ubuntu through RPi.

Well, for this application here (RaspberryMatic) this is not an issue at all, since I can fully decide myself which lighttpd version I am going to integrate with the next RaspberryMatic version (released monthly) and I have also already integrated newer lighttpd versions as fixes were released for things I was interested in. That's why I do have a buildroot-patches top-level directory in which I maintain upstream patches against the used buildroot version (cf. https://github.com/jens-maus/RaspberryMatic/tree/master/buildroot-patches).
So if would release such an improvement I would be happy to use it in the near future (and would provide feedback on it, of course).

Well, for this application here (RaspberryMatic) this is not an issue at all, since I can fully decide myself which lighttpd version I am going to integrate with the next RaspberryMatic version (released monthly) and I have also already integrated newer lighttpd versions as fixes were released for things I was interested in.

Ok.  I'll mock up some patches in the next couple weeks.  I think I can do so without adversely affecting lighttpd performance (url-normalization does have a non-zero cost, but normalization is worth it -- though the lighttpd executable may grow 1-2k.  Would you like me to post here, or open a new issue, or should I post (here) a link to a topic on the lighttpd forum?

Ok. I'll mock up some patches in the next couple weeks. I think I can do so without adversely affecting lighttpd performance -- url-normalization does have a non-zero cost, but normalization is worth it -- though the lighttpd executable may grow 1-2k. Would you like me to post here, or open a new issue, or should I post (here) a link to a topic on the lighttpd forum?

This sounds great. Do whatever fits you best regarding management of that request. But at least putting here a reference to your issue or commit would be great, indeed. So thanks in advance for all your work and for taking care of lighttpd at all. Great, slim web server it is, btw. :)

FYI: buildroot-external/package/tclrega/tclrega.cpp appears to be aware of and convert between iso-8859-1 and UTF-8

On my development branch, where things might change, the top commit may be cherry-picked and applied to lighttpd-1.4.64.
https://git.lighttpd.net/lighttpd/lighttpd1.4/src/branch/personal/gstrauss/master
https://git.lighttpd.net/lighttpd/lighttpd1.4/commit/f529566baf5e8c329d7b3f5bd52532e5aa07cd67
The default is server.http-parseopts += ("url-invalid-utf8-reject" => "enable") to preserve existing behavior.


 It automatically closed the other PR so I am re-creating it.
I refactored the naming of the generators and constants to follow usual Rust naming conventions.
Same note as before, building is blocked until the changes are made within the macro

I should be back on my development machine by the end of the week, so I should be able to get the macro crate properly moved. I did some research and cannot find any real downsides re: crates.io or anything else.

Transitioning the PR from draft to open now that the workspace changes are complete


onSlideChangeEnd not called when speed 0

I've found that when calling swiper.swipeTo() with the speed parameter set to zero, the onSlideChangeEnd callback doesn't occur (but onSlideChangeStart does).
Is this a bug or intentional?
If it's intentional, is there some other callback that is fired every time a slide becomes active?

Because there is no transition. You may use onSlideChangeStart in this case

That makes sense. Thank you!


Allow passing in file permissions to container#store_file

Enables us to pass in specific file permissions when storing a file, e.g.
container.store_file('/test.rb', "puts 'hello world'", 0640)

👍

Does passing in this not work?
container.store_file('/test.rb', { content: "puts 'hello world'", permissions: 0640 })

It does, my bad. Thanks for the quick response.