Update StreamableUtil.lua

Includes 2 new methods:

.TeleportPlayer(player: Player, cFrame: CFrame): Nil
Used to teleport players when using StreamingEnabled. Will load chunk before teleporting the player.

-.BindGameplayPausedNotification(callback: Function): Nil
Used for creating custom GameplayPaused notifications and running other processes during the pause.

Hi there. The StreamableUtil module is specifically designed to be a utility for the Streamable class, not necessarily StreamingEnabled. I'm sure the methods added are useful, but they should probably exist in their own module.


Exception: Not a valid channle when running fvm list with<EMAIL_ADDRESS>

$ fvm list --verbose

Argument information:
  Top level options:
  - verbose: true

Command: list

Cache directory:  /Users/nils/fvm/versions

Exception: Not a valid channle master

package:fvm/src/services/releases_service/models/release.model.dart 104:5           Channels.[]
package:fvm/src/services/releases_service/models/flutter_releases.model.dart 57:36  Releases.getLatestChannelRelease
package:fvm/src/commands/list_command.dart 59:34                                    ListCommand.run
package:args/command_runner.dart 212:13                                             CommandRunner.runCommand
package:fvm/src/runner.dart 204:18                                                  FvmCommandRunner.runCommand
package:fvm/src/runner.dart 86:24                                                   FvmCommandRunner.run
package:scope/src/scope.dart 151:12                                                 Scope.run
../../.pub-cache/hosted/pub.dev/fvm-3.0.0-beta.3/bin/main.dart 17:5                 main

$ fvm --version

3.0.0-beta.3

Btw: Isn't "cannle" a typo?
I just used the stable version of FVM. Do I need to reinstall the Flutter versions when switching to FVM v3?

@nilsreichardt Thanks for reporting this, I have a PR ready

Yes, it works now, thanks!


Custom Todoist sub-project target + config

Hi guys, cool project! I am wanting to use this script in my school workflow. I have briefly read through the script, and I couldn't seem to find a way to add my classes as a sub-project. I personally like to keep my classes as sub-projects in a "school" project. I think it would be a nice enhancement to allow this functionality and to add a parameter in the config and initialization to mark where to populate canvas assingments.
I am just now starting this semester of classes, so I won't immediately have time to read the API docs and create a PR, but if you guys like this idea I would be happy to contribute.
Also, I am not sure how closely this project is being maintained, but seeing as I would like to use this script and am invested in it's success, I am happy to contribute any necessary code maintenance!

If you just want the project nested, you can simply run the script as normal, then move the project underneath a parent "school" project (that's what I do).
Am I misunderstanding your request, or is it that simple?

Thank you for your help! You are right, it is that simple. I did not realize that rerunning the script would still work after moving the Todoist projects around.


Context manager support for all gears

Brief Description
Many Python developers (including me) expect objects with an "open/start -> close" workflow to behave as context managers, i.e. support the with ... as ... construct.
Context
This feature would implement the __enter__() and __exit__() methods for all gears. Internally these only call the gear's start() and close()/stop()/clean() methods.
There are two major advantages for using Python's context managers instead of calling start() and close() independently:

The resource is automatically closed so calling close() in the end cannot be forgotten.
The resource is even closed in case of an exception since the with construct runs the contained code as try ... finally. The resource is closed in the finally block.

Furthermore:

It will make the API consistent with other established Python modules/packages, e.g. open(), threading.Lock or pytest.raises()
It will be backwards compatible since it does not change existing APIs.
There is no risk involved.
Future usages will be more correct since the close() cannot be forgotten.
(Opinion) Nicer looking code.

Usage example
Simplifying the NetGear bare-minimum example:
# import required libraries
from vidgear.gears import VideoGear
from vidgear.gears import NetGear

# open any valid video stream(for e.g `test.mp4` file)
# Define Netgear Server with default parameters
with VideoGear(source="test.mp4") as stream, NetGear() as server:

    # loop over until KeyBoard Interrupted
    while True:

        try:

            # read frames from stream
            frame = stream.read()

            # check for frame if Nonetype
            if frame is None:
                break

            # {do something with the frame here}

            # send frame to server
            server.send(frame)

        except KeyboardInterrupt:
            break

# video stream and server safely closed

Your Current Environment

VidGear version: 0.2.6
Branch: testing
Python version: Python 3.10.4
Operating System and version: Arch Linux (Kernel 5.17.9-arch1-1)

Many Python developers (including me) expect objects with an "open/start -> close" workflow to behave as context managers, i.e. support the with ... as ... construct.
There are two major advantages for using Python's context managers instead of calling start() and close() independently:
The resource is automatically closed so calling close() in the end cannot be forgotten.
The resource is even closed in case of an exception since the with construct runs the contained code as try ... finally. The resource is closed in the finally block.

@sueskind Thanks for the proposal and related PR. But let's talk about why start() and stop()/close() are there in the first place, what are cons of removing/replacing them with Python's context managers:
The start() function is there because:

To create internal multi-threaded video-frames extractor on choice: Therefore, if you don't want to create multi-threads for any reason (such as extracting meta data from YouTube stream in CamGear), you can skip calling and no threads will be created unnecessarily.
To return self: Returning self from a method simply means that your method returns a reference to the instance API object on which it was called.

This famous in object oriented APIs (like vidgear's) that are designed as a fluent interface that encourages method cascading.
It helps in both returning and altering internal Class Parameter directly from python script.

To match syntax of opencv-python code: start() function is analogous to open() function in OpenCV's python API. So that developers can easily related with vidgear's code if they're already familiar with OpenCV.

Cons of removing /replacing start() function with Context manager's __enter__:

No method present to avoid creating multiple-threads with __enter__: Not everyone interested in creating them.
Returning self from __enter__ is considered bad practice and can break things in vidgear: Returning self from __enter__ should only be done if self is fully initialized beforehand but most of API's in vidgear needs to be altered after initializing.
Will create confusion among developers about syntax: After all Vidgear 's motto is to make video-processing easier as possible.

The stop()/close() function is there because:

To cleanup resources on exit manually: Resources must be cleaned manually at the end.

Why manually you may ask, because Threading and Subprocess errors are the worst in python, and will sometimes cause background thread to freeze completely even when main thread is freed. This leads to main thread also stuck in while loop and can only be freed by pressing CRTL+C and therefore seperate call on stop()/close() function is necessary to clean up resources.

To match syntax of opencv-python code: stop/close() function is analogous to release() function in OpenCV's python API. So that developers can easily related with vidgear's code if they're already familiar with OpenCV.

Cons of removing /replacing start() function with Context manager's __enter__:

__exit__ is not executed when __enter__ raises exception: This is bad because if system resources(such as Socket bounded to an address in NetGear and Subprocess pipeline in WriteGear) are not released, then API will fail to exit, or even bad, will fail to initialize on rerun(since resources are still allocated).
With statement machinery will interpret exceptions from __exit__ as a failure of __exit__, not as a propagation of the original exception: Therefore any error in API will not be seen in traceback.
Will create confusion among developers about syntax

@sueskind And most importantly Python Context managers are not backward compatible with current API but current API can be converted to Python Context managers easily and safely. Here's a crude example:
from vidgear.gears import VideoGear
import cv2
import datetime
import time

class CM_VideoGear:
    def __init__(self, cam_address, stabilize=False, reset_attempts=50, reset_delay=5):
        self.cam_address = cam_address
        self.stabilize = stabilize
        self.reset_attempts = reset_attempts
        self.reset_delay = reset_delay

    def __enter__(self):
        self.source = VideoGear(
            source=self.cam_address, stabilize=self.stabilize
        ).start()
        self.running = True

    def read(self):
        if self.source is None:
            return None
        if self.running and self.reset_attempts > 0:
            frame = self.source.read()
            if frame is None:
                self.source.stop()
                self.reset_attempts -= 1
                print(
                    "Re-connection Attempt-{} occured at time:{}".format(
                        str(self.reset_attempts),
                        datetime.datetime.now().strftime("%m-%d-%Y %I:%M:%S%p"),
                    )
                )
                time.sleep(self.reset_delay)
                self.source = VideoGear(
                    source=self.cam_address, stabilize=self.stabilize
                ).start()
                # return previous frame
                return self.frame
            else:
                self.frame = frame
                return frame
        else:
            return None

    def __exit__(self):
        self.running = False
        self.reset_attempts = 0
        self.frame = None
        if not self.source is None:
            self.source.stop()

if __name__ == "__main__":
    # open any valid video stream
    with CM_VideoGear(
        cam_address="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov",
        reset_attempts=20,
        reset_delay=5,
    ) as stream:
        # loop over
        while True:

            # read frames from stream
            frame = stream.read()

            # check for frame if None-type
            if frame is None:
                break

            # {do something with the frame here}

            # Show output window
            cv2.imshow("Output", frame)

            # check for 'q' key if pressed
            key = cv2.waitKey(1) & 0xFF
            if key == ord("q"):
                break

    # close output window
    cv2.destroyAllWindows()

@abhiTronix Thank you for your fast and elaborate response to my proposal and that you consider adding it.
First, I think there is a small misunderstanding. I don't want to remove or replace the old methods (start()/stop()/close()/...) but add the __enter__ and __exit__ methods which simply call the current API like so:
def __enter__(self):
    return self.start()

def __exit__(self, exc_type, exc_val, exc_tb):
    self.stop()

The "redundant" option to open/release a resource with the traditional start()/stop() methods and the context manager is very common (see my given examples for context managers above, they all support the redundant API).
I agree with all of your points. However, I think they all still apply after adding the context manager support.
You mentioned the similarity to the OpenCV API. There are multiple examples where users would have liked context managers in OpenCV, too (example1, example2). This is no surprise since using context managers plays a big part in writing idiomatic Python code, as seen in lots of articles on this topic or books about clean Python code:

Wikibooks on Python Idioms
Python Hitchhiker's Guide (O'Reilly) on Code Style
Raymond Hettinger at Pycon US
Google's Python style guide

First, I think there is a small misunderstanding. I don't want to remove or replace the old methods (start()/stop()/close()/...) but add the enter and exit methods which simply call the current API like so:
def enter(self):
return self.start()
def exit(self, exc_type, exc_val, exc_tb):
self.stop()

@sueskind Don't you think presence of __enter__ itself will replace the functioning of start(), Since now you cannot call start() manually as it will create duplicate threads for same resource, and the whole thing will crash. So It is definitely breaking the present API(Same for your current PR which's affected by this problem). Also same with __exit__. So only thing you can do it is remove start() and stop/close() entirely and place its code inside __enter__ and __exit__, but that will user no choice but to create and destroy threads every single time.

The "redundant" option to open/release a resource with the traditional start()/stop() methods and the context manager is very common (see my given examples for context managers above, they all support the redundant API).

Unless if you're not using multi-threading, which hates duplicated threads for same resource. Read about GIL and you'll know why it is bad.

I agree with all of your points. However, I think they all still apply after adding the context manager support.
You mentioned the similarity to the OpenCV API. There are multiple examples where users would have liked context managers in OpenCV, too (example1, example2). This is no surprise since using context managers plays a big part in writing idiomatic Python code, as seen in lots of articles on this topic or books about clean Python code:
Wikibooks on Python Idioms
Python Hitchhiker's Guide (O'Reilly) on Code Style
Raymond Hettinger at Pycon US
Google's Python style guide

I'm not seeing any advantage except clear and beautiful coding format. I don't think introducing more bugs to current API for the same is a favorable thing to do in my opinion. You're free to write a wrapper around any vidgear's API and add context manager on top of that, but changes to API itself is not I'm willing to do. Thank you for the PR but I'll have to close this.

@sueskind I'm looking into adding this Context Manager feature for non-multithreaded gears like WriteGear and StreamGear, and it will be a great idea. I'm also implementing this feature for DeFFcode APIs, so you can expect to see them in Upcoming Gears and existing Gears(except CamGear) once DeFFcode replaces OpenCV in #148.

Context manager support for WriteGear API implemented in commit 0d1592c5ed8708a7887a42a815a68ace3fcc104c

Context manager support for StreamGear API implemented in commit https://github.com/abhiTronix/vidgear/commit/7bd635fd8e304c5195da34f9f3266be126154d95


Polars pivot_longer implementation

PR Description
Please describe the changes proposed in the pull request:

pivot_longer implementation for polars

This PR is related to #1352 .

PR Checklist

Please ensure that you have done the following:

[x] PR in from a fork off your branch. Do not PR from <your_username>:dev, but rather from <your_username>:<feature-branch_name>.

[x] If you're not on the contributors list, add yourself to AUTHORS.md.

[x] Add a line to CHANGELOG.md under the latest version header (i.e. the one that is "on deck") describing the contribution.

Do use some discretion here; if there are multiple PRs that are related, keep them in a single line.

Automatic checks
There will be automatic checks run on the PR. These include:

Building a preview of the docs on Netlify
Automatically linting the code
Making sure the code is documented
Making sure that all tests are passed
Making sure that code coverage doesn't go down.

Relevant Reviewers

Please tag maintainers to review.

@ericmjl

🚀 Deployed on https://deploy-preview-1355--pyjanitor.netlify.app

@samukweku looks like we are getting merge conflicts on this PR. I'm a bit hesitant to edit the files as I'm not 100% sure what the right final state should look like. Could you resolve the conflicts please?

LGTM! Thank you, @samukweku, for the hard work you've been putting in here!


Add support for RFC 8145 edns-key-tag option

RFC 8145 defines option code 14 as the edns-key-tag EDNS option. This library should have both an EDNS0KEYTAG constant and support for interacting with OPT records in which the option appears.

this issue is just sitting here and noone is working on it


Add fuzz testing

Fuzzing raw input is generally easier, but fuzzing the decisions would be more useful (but probably more involved/intrusive).
Some potentially helpful links:
https://github.com/pingcap/fail-rs
https://rust-fuzz.github.io/book/introduction.html
https://github.com/BurntSushi/quickcheck
https://github.com/altsysrq/proptest
and might as well add this link from @lu-zero for posterity:
https://doc.rust-lang.org/std/num/struct.Wrapping.html

fail-rs let us leverage failpoints to force decisions that would be hard to trigger by simple input fuzzing.
proptest and quickcheck can simulate fuzzing effectively, while cargo-fuzz is sort of easy to access the functionalities offered by LLVM libFuzzer.

Currently the decode/integration tests use random inputs, we can possibly expand them using cargo-fuzz.


Set fuel production inputs

Closes https://github.com/quintel/etengine/issues/1202
@noracato and I have created a scenario migration for nl, nl2019,dk& de and for 2020, 2030, 2040 & 2050, as I assume that these are the most used datasets and end years
@noracato could you check the migration? The values differ per dataset and I tried to change the script, but not sure if it works likes this

Is this because only scenarios that do not meet any of the above 3 criteria are marked as 'candidate' scenarios?

Yes, to save us some time looping through all scenarios the selected candidate scenarios are:

Scenarios of a country (except nl2019)
Scenarios that were created before the Fuel Production update was deployed (1 June 2021)
Scenarios that apply to the basic 'migratable' criteria (protected, not made by mechanical turk, etc)

When looping through these candidates, each is checked to see if any of the fuel production inputs have been touched. If so, we skip this scenario. When I ran the migration on the beta database 3728/3809 scenarios were changed by the migration. That seemed like an acceptable number to me. I'm assuming you ran your migration on a production database, not sure why no one touched these sliders there yet... or do you see something else that is strange in the migration that might explain this?

Scenarios that apply to the basic 'migratable' criteria (protected, not made by mechanical turk, etc)

This could maybe be an issue? I guess some recent scenarios are marked as migratable but also have been created after the fuel inputs have been added. In such case I would say we do not migrate, as the user had the chance to set the inputs if they wanted to.

Don't worry. The list I put was an and-and-and condition, not or-or-or: we only take migratable scenarios that were created before the update and are based on a country.

@noracato what is the status of this?

@noracato could you check whether this migration is still up to date and merge it before the coming Deploy (next week Tuesday)?

It still runs without any problems. But I'm not the best to judge if the results still make sense, though I wouldn't know why they won't as the migration is pretty basic.
One comment I'd like to make is that the migration is altering all elegible scenario's that have been created before the fuel update (June '21), where the fuel sliders haven't been touched, and that are based on a country that is not nl2019. Are we still happy with those conditions? If yes, I think we can merge 🙂


Mixer e2e TestRateLimit is Flaky

This had happened for quite a number of post submit and release test flakes.
Example: https://prow.istio.io/log?job=e2e-smoke&id=2116
I0131 16:59:52.652] --- FAIL: TestRateLimit (120.58s)
I0131 16:59:52.652] 	mixer_test.go:473: Establishing metrics baseline for test...
I0131 16:59:52.652] 	mixer_test.go:475: prometheus query: istio_request_count{destination_service="ratings.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local"}
I0131 16:59:52.652] 	mixer_test.go:483: error getting prior 429s, using 0 as value (msg: value not found for map[string]string{"response_code":"429"})
I0131 16:59:52.652] 	mixer_test.go:492: Baseline established: prior200s = 1.000000, prior429s = 0.000000
I0131 16:59:52.652] 	mixer_test.go:494: Sending traffic...
I0131 16:59:52.653] 	mixer_test.go:526: Fortio Summary: 200 reqs (9.926662 rps, 200.000000 200s (9.926662 rps), 0 400s - map[200:200])
I0131 16:59:52.653] 	mixer_test.go:538: Expected Totals: 200s: 20.147760 (1.000000 rps), 429s: 179.852240 (8.926662 rps)
I0131 16:59:52.653] 	mixer_test.go:549: prometheus query: istio_request_count{destination_service="ratings.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local"}
I0131 16:59:52.653] 	mixer_test.go:568: Actual 429s: 175.000000 (8.685829 rps)
I0131 16:59:52.653] 	mixer_test.go:585: Actual 200s: 24.000000 (1.191199 rps), expecting ~1 rps
I0131 16:59:52.653] 	mixer_test.go:600: prometheus values for istio_request_count:
I0131 16:59:52.653] 		istio_request_count{destination_service="details.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="200", source_service="productpage.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v1"} => 205 @[1517417984.248]
I0131 16:59:52.654] 		istio_request_count{destination_service="details.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="403", source_service="productpage.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v1"} => 1 @[1517417984.248]
I0131 16:59:52.654] 		istio_request_count{destination_service="productpage.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="200", source_service="ingress.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="unknown"} => 206 @[1517417984.248]
I0131 16:59:52.654] 		istio_request_count{destination_service="productpage.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="403", source_service="ingress.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="unknown"} => 1 @[1517417984.248]
I0131 16:59:52.654] 		istio_request_count{destination_service="ratings.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="200", source_service="reviews.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v3"} => 25 @[1517417984.248]
I0131 16:59:52.654] 		istio_request_count{destination_service="ratings.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="429", source_service="reviews.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v3"} => 175 @[1517417984.248]
I0131 16:59:52.655] 		istio_request_count{destination_service="ratings.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v2", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="200", source_service="reviews.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v3"} => 1 @[1517417984.248]
I0131 16:59:52.655] 		istio_request_count{destination_service="reviews.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="200", source_service="productpage.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v1"} => 4 @[1517417984.248]
I0131 16:59:52.655] 		istio_request_count{destination_service="reviews.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v1", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="403", source_service="productpage.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v1"} => 2 @[1517417984.248]
I0131 16:59:52.655] 		istio_request_count{destination_service="reviews.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", destination_version="v3", instance="<IP_ADDRESS>:42422", job="istio-mesh", response_code="200", source_service="productpage.mixer-test-4b8af8a43fbc441cb9a2de4ae3.svc.cluster.local", source_version="v1"} => 201 @[1517417984.248]
I0131 16:59:52.655] 	mixer_test.go:250: Bad metric value for successful requests (200s): got 24.000000, want at most 23.000000

I'm not quite sure what was discussed offline, but having an e2e test named TestEndToEnd seems a little strange and suboptimal.  We need a specific goal for the test -- and that should inform the naming.  We should also move it out of the mixer e2e tests if we are going to use it as a canary for all of Istio -- as it being in the mixer tests impacts perception of responsibility, etc.
why can't bookinfo handle more than 9 qps? that seems like a strange limit.

Could you help resolve this ASAP? This is happening fairly often and blocked a couple daily releases.

k so TestRateAndMetricsAndRules or some such (the name is a detail anyway)
I still am not able to be productive in modifying/writing new test for #3029
but I suppose I can just patch for now and make the fuzz factor 25% (and hopefully reduce it back once #3028 is fixed)

temp work around in #3118 PTAL


I think AbstractReader.Skip() has a bug.

for (var i = 0; i < bytesToAdvance / skipBuffer.Length; i++)
{
rawStream.Read(skipBuffer, 0, skipBuffer.Length);
}
rawStream.Read(skipBuffer, 0, (int)(bytesToAdvance % skipBuffer.Length));
this code assume rawStream.Read always read until requested count.
but if you test with remote stream (from network like ftp), MoveToNextEntry() throw Unknown header exception. because skip function do not actually skip.
i fixed code like this, and it works fine for me.
                var bytesToAdvance = Entry.CompressedSize;
                int readBytes = 0;
                while (bytesToAdvance > 0)
                {
                    if (bytesToAdvance >= skipBuffer.Length)
                        readBytes = rawStream.Read(skipBuffer, 0, skipBuffer.Length);
                    else
                        readBytes = rawStream.Read(skipBuffer, 0, (int)bytesToAdvance);

                    bytesToAdvance -= readBytes;
                    if (readBytes == 0 && bytesToAdvance > 0)
                        throw new Exception("skip failed");
                }
                return;
            }

please let me know if it is not a bug.

You're probably correct in that I have some bad skip code.  I've noticed recently there are several different implementations of this kind of thing in the codebase.  I need to consolidate this at the very least.
I have Skip/Transfer code in Utility.cs that probably should be used instead and does what you're referring to.
I likely won't get time for a while to fix this but pull requests are welcome :)

Made a PR to fix this issue


[CONTINT-3749] Return an error when kube_node tags can't be retrieved

What does this PR do?
This PR changes the kubernetes host tag provider to return an error when the kubelet is unreachable.

Motivation
Avoid caching incomplete results.

Additional Notes
N/A

Possible Drawbacks / Trade-offs
N/A

Describe how to test/QA your changes
Deploy the agent on Kubernetes. Make sure the agent still shows the following tags:
  host tags:
    kube_node:ali-cluster-control-plane
    kube_node_role:control-plane

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


Implement login history

Is your feature request related to a problem? Please describe.
A collection in mongo db should be populated for each user login. There should be a GET api to retrieve all history for current user.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Implemented in PR https://github.com/shrihari-prakash/liquid/pull/23


Volume Control

How to control volume for the video  Like Instagram

mmPlayerLayer.player?.volume = 0.0 ~ 1.0


Move machine-controller-manager-provider-local into gardener/gardener

How to categorize this PR?

/area dev-productivity
/kind enhancement
What this PR does / why we need it:
In order to improve development productivity, this PR moves the content of the https://github.com/gardener/machine-controller-manager-provider-local repository into gardener/gardener. The images are built dynamically with Skaffold and pushed into the local registry.
On the way, we

renamed the images in the skaffold.yaml file (removing the europe-docker.pkg.dev/* prefixes since these images are never actually pushed to this real remote registry
fixed a bug in the logcheck golangci-lint plugin to prevent false positive findings in case a package-level functions disguises as logr method
removed the entrypoint of the provider-specific machine-controller sidecars in the helper functions used by extensions to remove assumptions of how the image has been built

Release note:

NONE

/retest

/assign

Thanks for your review @plkokanov. I rebased and addressed your suggestions.
We will take a look at the failing tests later today.

/lgtm
/approve


Add Catalonia

Added Catalonia,
estimated coordinates to
https://www.google.pl/maps/dir/'40.523037,0.159203'/42.861403,3.333025
ioc, gec missing
do not know Catalan language code

👍

👍

:shipit:

By this list: https://www.loc.gov/standards/iso639-2/php/code_list.php the language codes are cat and ca.

:+1:

👍

:+1:

While I really want to accept this, but until Catolina is recognized by other countries as an independent state, this falls into the "Disputed Territory" category in my mind.   We try to tow the ISO line here, and there are always a few unpopular choices.
What are the pro's and con's of accepting this now?

😕

Catalonia is no more a country than Alaska is at the moment!

Wait for it!

It's a pitty Catalunya is not in that list


Feature/zod Alpha support for generating zod schemas

#160
A new ILanguage implementation for generating typescript Zod schemas. The ILanguage implementation outputs a single file that exports a zod schema for each FHIR complex. In addition, a FhirResourceSchema that is a Zod union type is created for polymorphic scenarios like Bundle.
I list this code as alpha code because while I've been able to successfully validate all FHIR r4 examples successfully, the code is missing some functionality and has not been used in production.
Known Missing Features

support for validating code systems
exclusive or support for mutually exclusive fields like value* and date*.
validations beyond structure like number or date constraints

Known Things I'd do before Production

performance test the egregious use of zod lazy
performance test bundle (is zod validating all items against all schemas in O(n*m) time or is it smart enough to realize resourceType is the discriminator)

@microsoft-github-policy-service agree

Hi Mike, thank you for doing a pass of this!  We are getting close to merging in a major refactoring of the internals that is in the experimental branch right now (I am hoping for either later this week or next).
Do you want me to make a pass at converting this over to the new structure or would you?
Thanks again!

Oh cool, no worries on timing here and I'll watch for the experimental branch refactoring to merge to main and update this PR afterwards.

That sounds great, thanks!


Ability to add an unzipped mod folder to game's mod directory

First step prior to handling mod zips.

[x] Open directory selection dialog
[x] Check directory has correct structure (recurse?)
[x] Move mod folder to install directory
[x] Optionally, ask user if they'd like to simultaneously activate the new mod

Resolved with a204e34


Release & Publish 2.6.4

Hello @markpeek @PatMyron
Any updates on when we can get 2.6.4 release in pypi ? Seems like a number of projects are waiting for that release to make their own.
Given this is a patch release (unless 2.7.0 or 3.0 is more imminent) can we get this out sooner than later?
Many thanks!

Thanks @JohnPreston for the ping. How does this sound for a plan?

Release what is there later today as a 2.6.4.

Then switch the code to Python 3.x only for a 3.0.0 release.

Thanks @markpeek for the prompt feedback. Looking forward to it :rocket:

Woohoo. Thanks @markpeek


fix(tap): typings for observer overload of tap

Description:
It fixes #5614

This is actually no longer an issue in version 7. The real issue happened to be with the typing of Subject's next method... which was next(value?: T) and should have been next(value: T). That's where it's getting the undefined | T from.
This PR would actually make the types of tap less correct, at least in master. I'm not sure of the implications of this fix if we were to apply it in 6.x. I suspect in 6.x, the fix might just be to provide a special case for tap<T>(subject: Subject<T>): MonoTypeOperatorFunction<T> or something to that effect.

Hi @benlesh ,
Thanks for the quick reply. I made this comment on #5614 explaining why I think that this fix also applies to v7 (master).

This PR would actually make the types of tap less correct, at least in master.

Maybe I'm missing something, but I think that the types of the tap observer should not alter the type of the source observable. Could you please provide an example where this would make the types less correct?

Without these changes the following test would fail:
it('should not alter the type of the source', () => {
  const a = of(1).pipe(tap({next: (x: number | string) => {}})); // $ExpectType Observable<number>
  const b = of(1).pipe(tap((x: number | string) => {})); // $ExpectType Observable<number>
  const c = of(1).pipe(tap((x: number | string) => {}, (e: any) => {}, () => {})); // $ExpectType Observable<number>
})

IMO, the code in this snippet is incorrect - or, at least, not good. It deliberately specifies a type that's different - wider! - than the source type. In general, IMO, it is good practice to avoid explicit types wherever possible and it is avoidable here. If the explicit types are omitted, inference behaves as you would expect.

IMO, the code in this snippet is incorrect - or, at least, not good. It deliberately specifies a type that's different - wider! - than the source type. In general, IMO, it is good practice to avoid explicit types wherever possible and it is avoidable here. If the explicit types are omitted, inference behaves as you would expect.

I agree that in general it's a good practice to avoid these situations. However, from the point of view of the types, I think that this makes them more correct.
Also, when using tap there are instances when it's very convenient to use wider types. For example a logger for debugging that looks like this:
const logId = (tag: string) => (value: {id: string}) => {
  console.log(`${tag} - id: ${id}`);
}

if we piped tap(logId('user')) then the returning observable would be of type {id: string}, which would be very unfortunate.

IMO, the most important thing is for the RxJS types to be as simple as possible and for them to be pragmatic. I would rather them be simple and cover 95% of the use cases. Also, IMO, your using-tag-for-debugging example would be better implemented as a user-land operator - to which you only passed the tag.

An alternative solution for your second example is to make the log function generic, so that it can participate in the inference, rather than drive it:
import { of } from "rxjs";
import { tap } from "rxjs/operators";

function log<T>(value: T) {
  /* whatever */
}
const answer = of(42).pipe(tap(value));

Fundamentally, the explicit types in what's passed to tap are what's effecting/driving the inference and that's just the way TS behaves. I am not in favour of complicating the types solely to effect different inference behaviour. From past experience, this is something we should simply accept and live with.

I think that I have failed at explaining the reason why this PR can only make things better and never worse.
One last example before I close the PR:
const logCorrelationId = (value: {correlationId: string}) => {
  console.log(`${value.correlationId}: ${JSON.strigify(value, null, 2)});
}

someObservableWithACorrelationId$.pipe(
  tap(logCorrelationId),
  switchMap(requestData) // => currently this would fail, with these changes it would be just fine
)

Fundamentally, the explicit types in what's passed to tap are what's effecting/driving the inference and that's just the way TS behaves.

Because of the current TS definitions, not because those are the real types of tap. In reality the tap operator never alters the type of the source observable, which is what this PR ensures. If nowadays TS provides the means to have better type inference, I don't quite understand why we choose not to benefit from that.

I am not in favour of complicating the types solely to effect different inference behaviour.

I don't think that these changes complicate them, I think that they make them more accurate.

From past experience, this is something we should simply accept and live with.

I understand your position, but I respectfully disagree :slightly_smiling_face:
All that being said, you are the maintainers and I really appreciate you taking the time to review this and to get back to me. I'm sorry if I made myself "too pushy" about something this small.
I will leave this PR open for a couple more days in case that you change your mind. Once again, thanks a lot for your time and patience.

My previous comments have dealt with what it is you have been trying to do and why I am not in favour. Further to those comments - and this touches on what Ben mentioned - the changes are demonstrably incorrect, for example:
import { of, OperatorFunction } from "rxjs";
import { tap } from "rxjs/operators";

declare module "rxjs/internal/operators/tap" {
  export function tap<T, P extends T>(
    next: (value: P) => void
  ): OperatorFunction<T, T>;
}

function f<T>(t: T) {
  /* whatever */
}
const answer = of(42).pipe(tap((value: 54) => { /* whatever */ }));

This should not be valid - as there is no guarantee that value will be 54 - but no TS compilation error is effected. In this snippet, P is 54 which extends - i.e. narrows - number.

This should not be valid - as there is no guarantee that value will be 54 - but no TS compilation error is effected. In this snippet, P is 54 which extends - i.e. narrows - number.

Fair enough. Thanks for showing me that, I didn't think about that case.
Once again, thanks a lot for taking the time to explain this.


Composefile v2: support volumes

Add support for managing volumes for v2 services (meaning for projects that have VolumeConfig populated).

/ping @shouze

Thank you, I'm new to the project so maybe I'll have some questions of course. I've cloned the project & digging into it ATM.

@shouze no problem :wink: If you're on IRC, feel free to ping me :wink:

@shouze @vdemeester Have either of you started any work on this yet? I'd like to add this feature soon and I'm not sure if I'll be starting from scratch or not :smile:

@shouze started to work on it :angel:

@vdemeester ok, I can push the few code I've already produced you can cherry pick any commit if you want: https://github.com/shouze/libcompose/compare/master...277-support-volumes.

@shouze Is what you have in a complete enough state that it could be put in master? If that's the case maybe we can just get that in and iterate from there.
If not, would you mind if I cherry-pick your commit and finish off the remaining work?

@joshwget not complete enough, would prefer a cherry-pick. Also you probably may have to make 2 PR:

The first one with the last commit I've pushed to expose yaml volume config like @vdemeester have done with network's one in https://github.com/docker/libcompose/pull/292.
The second one with volume support implemented.


MongoDB contrib : Next replaced with for loop to avoid propagation of StopIteration

Description
Replaced next with for loop in MongoDB count target.
Also fixed comment in the function's documentation.
Motivation and Context
A specific usage caused a StopIteration to be propagated which cause the "output" to be always true even if the exist condition was not met in the MongoDB count target.
This line in the complete method always return true if a StopIteration is raised in the exist method :
return all(map(lambda output: output.exists(), outputs))
Because the all method of python returns True in case of an empty array.
(Maybe this is something that could also be adjusted? Just wondering)
Have you tested this? If so, how?
Using the following code, I've tested multiple runs with conditions :

Collection doesn't exists
Collection exists with count not matching
Collection exists with count matching

In all of the above, the pipeline worked and produced the desired result.
(Running when the count doesn't match or the collection doesn't exist, and not running if the count matches)
class MongoVerifyCount(luigi.Task):

    endpoint = luigi.Parameter(default='<IP_ADDRESS>')
    port = luigi.IntParameter(default=27017)
    database = luigi.Parameter()
    collection = luigi.Parameter()
    target_count = luigi.IntParameter()

    def output(self):
        return MongoCountTarget(mongo_client=MongoClient(self.endpoint, self.port),
                                index=self.database,
                                collection=self.collection,
                                target_count=self.target_count)

    def run(self):

        current_count = self.output().read()
        collection = MongoClient(self.endpoint, self.port)[self.database][self.collection]

        for i in range(self.target_count - current_count):
            collection.insert_one({'count': i})

Following this, here's a simple example of what was happening :
This will always result with :

Scheduled 1 tasks of which:

1 present dependencies were encountered:

1 ZeroTask()

import luigi

class ZeroTarget(luigi.Target):
    def exists(self):
        raise StopIteration

class ZeroTask(luigi.Task):
    def output(self):
        return ZeroTarget()

    def run(self):
        print('Zero !')

if __name__ == '__main__':
    luigi.run(main_task_cls=ZeroTask, local_scheduler=True)

Anything on this ?

@MathiasDesch As another MongoDB contributor, could you take a look here?


Adding news subscription letter

@MitulSonagara
The website currently lacks news subscription letter
I would like to work on it
Could you please assign it to me

@AswaniBolisetti
i dont need this feature


[BUG] bloxstrap won't let me play roblox

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[ ] My answer given in the checkbox above is a lie.

What problem did you encounter?
bloxstrap how do i fix this

shut up

what did i do???

https://setup.rbxcdn.com/channel/common/version-f0223159583b4054-rbxPkgManifest.txt got cooked

??

how do i fix it

idk lol

bruhh how do ur guyses bloxstraps work then???

who said my bloxstrap works

oh

I was playing fine awhile ago, then all of a sudden I can't play no more cause of this error message. It's told me to upgrade my bloxstrap but I'm already on the latest one.

dude me too

ask a moderator of bloxstrap about this i cant live without roblox

same

i might uninstal bloxstrap

no, ask a moderator of bloxstrap

Duplicate of #2704


[Exporter] Derive codered/lpcxpresso exporter templates from a common template

Since all .project files are the same, all templates derive from one common template. The .cproject file differ across the cores and use other MCU configurations (memory maps etc).
Note1:
For the Cortex M4 exporter, only the .project template was adapted. The cproject exporter is unchanged for now, since the given core (cm3 instead of cm4, see codered_lpc4330_m4_cproject.tmpl) and the floating point definitions differ. This should be fixed before using a common template for the CM4 cores.
Note2:
The exported projects from workspace_tools/export_test.py do not build for the Cortex M0 MCUs due to a compilation issue in RTX.

Thanks @chrta for refactoring export templates.
A note which might be in interest for you, this refactoring might go even further if we ever switch to project_generator which possibly could eliminate all this templates.


Where is your ChangeLog?

I don't see a ChangeLog in your code base or associated with your github releases.

I believe #431 is the reason of missing CHANGELOG

CHANGELOG https://github.com/rails/sass-rails/releases/tag/v6.0.0


Create custom dropout layer which again abstracts the complicated Dropout in Flax/Jax

Creating a custom dropout layer that abstracts the complicated dropout implementation in Flax/Jax can make it easier to use dropout in various Jax setups.

done in the dev branch


Week 9: Refactor to Server SQL

As a database manager, I want the database to run on a server separate from the webapp itself. So that it would be easier to upscale the system.
Acceptance Criteria

Setup Docker on all our computers
Implement SQL Server usage in our program
Migrate EFCore database from SQLite to the SQL Server

Definition of Success

It must be possible to query and command our database as it is running on a Virtual Server with Docker

Docker doesn't work on my computer, everybody else got it to work though


Eslint 8.0 error when using --fix: Fixable rules must set the meta.fixable property to "code" or "whitespace"

Just updated to eslint 8.0 and getting a new error with this plugin.
See: https://eslint.org/docs/8.0.0/user-guide/migrating-to-8.0.0#rules-require-metafixable-to-provide-fixes
Here is the error stack:
Oops! Something went wrong! :(

ESLint: 8.0.1

Error: Fixable rules must set the `meta.fixable` property to "code" or "whitespace".
Occurred while linting /Users/test/components/Test.tsx:51
Rule: "react-native/sort-styles"
    at Object.report (/Users/test/node_modules/eslint/lib/linter/linter.js:940:35)
    at report (/Users/test/node_modules/eslint-plugin-react-native/lib/rules/sort-styles.js:62:13)
    at checkIsSorted (/Users/test/node_modules/eslint-plugin-react-native/lib/rules/sort-styles.js:98:16)
    at /Users/test/node_modules/eslint-plugin-react-native/lib/rules/sort-styles.js:127:13
    at Array.forEach (<anonymous>)
    at /Users/test/node_modules/eslint-plugin-react-native/lib/rules/sort-styles.js:126:31
    at Array.forEach (<anonymous>)
    at /Users/test/node_modules/eslint-plugin-react-native/lib/rules/sort-styles.js:120:26
    at Array.forEach (<anonymous>)
    at CallExpression (/Users/test/node_modules/eslint-plugin-react-native/lib/rules/sort-styles.js:119:30)

I always run eslint with --fix, so this is breaking my current workflow.

Thanks for opening the issue and the PR. I have the same problem.
In case anyone is blocked by this, you can just disable the rule until the PR is merged by @Intellicode
      rules: {
        // https://github.com/Intellicode/eslint-plugin-react-native/issues/298
        "react-native/sort-styles": 0,
      },


Implement Enumerable#reverse_each

This attempts to implement the Enumerable#reverse_each method.
[#19]

Hi Tim,
I appreciate the review, as well as, you pointing me in the right direction. I made some updates to my implementation of #reverse_each. Due to the specs provided at being deceptively rudimentary and not actually testing a decent chunk of the expected #reverse_each functionality. How would you like to handle this gap in coverage here in your codebase? Would you like me to modify/update the reverse_each_spec.rb file, or perhaps handle it a different way?

If you want, you could add the sample Ruby code I posted to the reverse_each_spec or to a new file in test/natalie. Your call.

If you want, you could add the sample Ruby code I posted to the reverse_each_spec or to a new file in test/natalie. Your call.

Sorry for the big delay, didn't get a chance to pick any of this up on the weekend. I went ahead and added a reverse_each_test.rb file to test/natalie. Let me know if those are acceptable tests. I took a quick stab a the description in the it block, let me know if you'd want something more to the point.

This was pretty close, but I made a tweak so that the *args are passed to #each. Pretty sure that's how it's supposed to work. The test I wrote for you just didn't prove it well enough. :smile:


Anyone still using this?

I noticed this repo (and github org, with no public members) seems abandoned. The concept seems really cool, would anyone recommend using it in a new project?
I'm specifically concerned about the latest fixes being mostly from 2017, and the website is down, and the project was renamed to athlete with none of the rest of the resources updated to reflect this.
It also seems (from the code) there was a WYSIWYG implementation being built, cool!

Hey there! For the time being, it's on hold, but there's a chance it could make a return in the future. I genuinely appreciate the smooth 60fps transitions between routes that elm-athlete offers. I actually used it for a while, but then switched to elm-ui, even though it's not quite as robust as elm-athlete, simply because it receives more frequent updates.

Hey there! At the moment, the project is on hold, but there's still a possibility that it might come back later on. I really appreciate the routing system and smooth page transitions that elm-athlete provides. What's great about using elm-athlete is that it encourages me to dwelve deeper into CSS, unlike elm-ui (obviously haha). Additionally, since elm-css isn't type safe, it can be challenging to understand best practices with elm-css.

Yes, even without committing to Athlete's routing and transition system, the type safe css and html api seems really appealing. I just  wish the docs were more complete on how to use it, and for some signs that the project won't stop working soon due to neglect.


Remove DispatcherOperation and create something more generic

Using hard coded string, need to come up with a better plan, but this unblocks everyone


PACT-611 Add Separated Material list to the Update Record Page in the Web Application

Example of separated material:

Example with no separated material:

@rwalpole could you confirm if it would be useful to have tests for a record with the Related and Separated material with the scenarios as follows: 1) both present 2) both not present at all 3) only Related material 4) only Separated material.  Primarily all the tests for form validation /POST  Presently, the existence of Related and Separated material  scenario (1) is checked in the /GET /edit-set/{id}/record/{recordId}/edit  scenario all data is valid  . And scenario (4) being is checked in the 'background' field is blank
 separatedMaterial = Seq.empty
To keep it consistent these could be added to the /GET similar to this scenario all data is valid, so another for a record with Separated material but no Related material (and vice-versa) with all the other fields as required.


Java SQL Input/Output Bindings TODOs

[ ] https://github.com/Azure/azure-functions-sql-extension/issues/498
[ ] https://github.com/Azure/azure-functions-sql-extension/issues/462
[ ] https://github.com/Azure/azure-functions-sql-extension/issues/499

Closing this issue and using Projects to track work.


[M08] The reveal process can get stuck for a proposer

Description
Tested
Other changes
Related issues

Fixes https://github.com/celo-org/celo-labs/issues/271

Backwards compatibility

Consider adding a test to the unit tests


Add glossary to DeepL API

Motivation

We want to add and use a glossary for certain words. This should be maintained via some private area/file.
Additional Context

API docs: https://www.deepl.com/de/docs-api/glossaries/
Python client docs: https://github.com/DeepLcom/deepl-python#glossaries

Is the goal that municipalities can add/edit glossary entries on their own?
Or should only staff roles be able to do that?

This should only be done by the staff roles. However, I am not really sure about the way we want to provide it to them.
@osmers Can you bring this up in your team call and come up with an idea about how you want to edit this files?
My initial idea would either be some text file for each language (e.g. like a config file) or we can provide some UI and save the glossary entries in our database.

My initial idea would either be some text file for each language (e.g. like a config file) or we can provide some UI and save the glossary entries in our database.

I would definitely prefer the database! :sweat_smile:

My initial idea would either be some text file for each language (e.g. like a config file) or we can provide some UI and save the glossary entries in our database.

I would definitely prefer the database! 😅

I definitely agree that the database would be the more ideal solution, but I am a little bit afraid of the amount of phrases we are supposed to show in the UI. If we end up with >200 entries with input, we really need some decent UI to manage this and a JSON in a TXT file might be the easier to implement and with "Strg+F" the directer way 🤷♂

We could implement a csv or json import/export?
And we could intercept Ctrl + F to directly jump into our own search input field? :smile:

I mean, in theory we can also outsource the storing of information to DeepL itself.
And only query the stored entries from time to time and store them in our cache (if even necessary)...

Ah ok, just read the API docs, and apparently glossaries can only be created and deleted, not modified. So modification only works via retrieving, then modifying locally, then deleting the old entry and uploading the new entry.
And the API accepts entries via csv. So the most simple solution would probably be the following:

Add a simple csv upload, and just validate the file and pass the entries on to DeepL via the python client
List all existing glossaries in a simple UI (we don't store the information in our database, but just query it from DeepL each time and store it in our cache which we should invalidate each time we're creating or deleting a glossary)
Provide a simple "download" and "delete" functionality for existing glossaries

What do you think?

Yes, I agree. That sounds good 👍

I think we can currently download the glossary as an excel file - so we could provide that?
Since we don't need to change it constantly an option to download, ammend and then upload again would be sufficient.

Wait, we already have a DeepL Pro Advanced account?
Then the basic functionality we're talking about here should already be offered by the DeepL web UI (see here)? I think there is no need to implement this in the CMS if we're just implementing exactly the same functionality as DeepL itself... :thinking:

Not sure if we do - I assume so, yes, because otherwise we would not have enough translation budget. The glossary right now is implemented in MemoQ
I will check DeepL for you - one sec.

Indeed:

So you already checked our account? Then this should be easy enough, right?

But it seems that glossaries don't work for most of our language pairs...

Just English and French are possible...

Oh, and I noticed another problem: we use two differrent accounts: the glossary can only be uploaded via the UI for the "DeepL Pro" account and we perform our automated translations with the "DeepL API Free" account. Probably, there is no complete trivial way of copying the glossaries... We could however ask the DeepL support whether it's possible to transfer glossaries between accounts, but probably they will refuse to do so.
So back to the drawing board, we probably need to copy the basic upload in our CMS to be able to pass the glossaries to the API account. But yes, let's talk about whether the effort is justified when only two languages are supported with German as source language...

So if they don't support glossaries for more languages, it does not matter what we build into our system? Couldn't we still use it and somehow enforce certain translations? I don't know, maybe putting in alternatives for the word that DeepL provides if you translate just the word and tell the system or whatever that if it finds of one those, to replace it with ours from the glossary?

Do you need any more input from our side on this?

Do you need any more input from our side on this?

Probably yes: So as far as I understood it, we sadly cannot use the DeepL Pro account glossary for our DeepL API account requests.
So this would be a bit of work to do, not sure if worth the effort if it can only be used for two languages.

So if they don't support glossaries for more languages, it does not matter what we build into our system? Couldn't we still use it and somehow enforce certain translations? I don't know, maybe putting in alternatives for the word that DeepL provides if you translate just the word and tell the system or whatever that if it finds of one those, to replace it with ours from the glossary?

You mean like completely implement our own glossary? This would definitely be a lot of effort. Maybe even more effort than having to manually fix machine translations in case potential glossary have been translated incorrectly.
But yes, in theory it's doable.

Probably yes: So as far as I understood it, we sadly cannot use the DeepL Pro account glossary for our DeepL API account requests. So this would be a bit of work to do, not sure if worth the effort if it can only be used for two languages

Dito - just for two languages it does not make sense - we would need to check the terms for all the languages we have a glossary for.

You mean like completely implement our own glossary? This would definitely be a lot of effort. Maybe even more effort than having to manually fix machine translations in case potential glossary have been translated incorrectly.

Not sure how feasible and realistic manual fixing is - but yes, that is essentially what I meant. But I can see how it is very difficult. Another idea I had was that we compile an alternative list of words, like you always have in dictionary suggestions (e.g. Straße can be road and street in English). So if we have this list, we can at least tell the system that if it finds and of those words, to replace it with the correct one from our glossary?
I am not sure if this is feasible though due to case declination of words (Dativ, Genitiv, etc Anpassung...)

I am not sure if this is feasible though due to case declination of words (Dativ, Genitiv, etc Anpassung...)

Hmm, in my opinion we're opening Pandora's Box here :sweat_smile:
I guess that's just one of the limitations of machine translations - there is always some margin of error which can either be accepted or fixed by humans.
I doubt that any manual string replacement on our side is good enough to fix more problems than it causes.
So at the moment, I'd suggest to put this on hold until DeepL supports more languages for the glossary - and as soon as this is the case, I think the effort for implementing support for DeepL's glossary mechanism is justified.

Agreed!

Just saw that DeepL now supports more languages -

Question remains whether we can use it - would it help if we switched to the DeepL Pro Account to use the API and Glossary? Or are we by now using Pro anyways?

@osmers good catch!

Question remains whether we can use it - would it help if we switched to the DeepL Pro Account to use the API and Glossary? Or are we by now using Pro anyways?

We only can use the API account for the CMS because it would be way to complicated to program any kind of interaction between the CMS and the DeepL UI – it only makes sense to interact via the API, which is only possible with an API account.
Fortunately, this feature was enabled for the API as well, also with more language :tada:
So I think this issue is no longer blocked and can be prioritized (although keep in mind that I estimate the effort to be high despite the new feature).

Supported Languages
In [1]: import deepl

In [2]: from django.conf import settings

In [3]: glossary_languages = deepl.Translator(settings.DEEPL_AUTH_KEY).get_glossary_languages()
Oct 31 17:11:34 INFO deepl - Request to DeepL API method=GET url=https://api-free.deepl.com/v2/glossary-language-pairs
Oct 31 17:11:34 INFO deepl - DeepL API response status_code=200 url=https://api-free.deepl.com/v2/glossary-language-pairs

In [4]: for language_pair in glossary_languages:
 ...:     print(f"{language_pair.source_lang} to {language_pair.target_lang}")
 ...:
de to en
de to es
de to fr
de to ja
de to it
de to pl
de to nl
de to zh
de to ru
de to pt
en to de
en to es
en to fr
en to ja
en to it
en to pl
en to nl
en to zh
en to ru
en to pt
es to de
es to en
es to fr
es to ja
es to it
es to pl
es to nl
es to zh
es to ru
es to pt
fr to de
fr to en
fr to es
fr to ja
fr to it
fr to pl
fr to nl
fr to zh
fr to ru
fr to pt
ja to de
ja to en
ja to es
ja to fr
ja to it
ja to pl
ja to nl
ja to zh
ja to ru
ja to pt
it to de
it to en
it to es
it to fr
it to ja
it to pl
it to nl
it to zh
it to ru
it to pt
pl to de
pl to en
pl to es
pl to fr
pl to ja
pl to it
pl to nl
pl to zh
pl to ru
pl to pt
nl to de
nl to en
nl to es
nl to fr
nl to ja
nl to it
nl to pl
nl to zh
nl to ru
nl to pt
zh to de
zh to en
zh to es
zh to fr
zh to ja
zh to it
zh to pl
zh to nl
zh to ru
zh to pt
ru to de
ru to en
ru to es
ru to fr
ru to ja
ru to it
ru to pl
ru to nl
ru to zh
ru to pt
pt to de
pt to en
pt to es
pt to fr
pt to ja
pt to it
pt to pl
pt to nl
pt to zh
pt to ru

@timobrembeck yup, I found the info as well that we can use the API Free Account to implement the glossary :) nice!!
It's something we need to do in order to make automatic translations better. So I think even though the effort is high, it is something we should do soonish :)

Hi,
as discussed during TK35 in the Service team (@osmers ), I have created a template file (in Excel format) with the relevant language/region fields plus additional relevant fields.
The idea is to use this as "master" for various applications where glossaries can be used (MT with DeepL / Google / ModernMT, but also einfache Sprache in TextLab, etc.)
Ideally, we can maintain it somewhere in the CMS, and do filtered exports to csv (semicolon or tab as delimiter).
Cheers,
Christine
Template_glossary_v1.0.xlsx

Hi @ChristineBruckner
thank you very much :) I have three questions:

is the definition for German intended for translations into Leichte Sprache or would that be where we add a definition in easy German (i.e. to use it within the normal content to explain difficult words)? Either way I think it would make sense to add columns for the one thats not included yet.
could you provide an example for what to put under Bemerkung?
I assume we can add columns if more languages are needed, right?

The implementation in the CMS is done here: https://github.com/digitalfabrik/integreat-cms/issues/3092

Hi @osmers ,

regarding definition(s): I think it would make sense to keep everything together in one single glossary and add fields as needed - then then only decide upon export which fields are needed for which use case.
So if a definition in German is available, it is definitely helpful for translation purposes (both human translator and machine translation context)
I would advise against maintaining 2 separate glossaries as this usually ends up in duplicates and maintenance "nightmare"
"Bemerkung_language" is for everything a translator (or the German creator) wants to mention regarding the usage etc., especially if the foreign language translation depends on the context. Again, such context information can be helpful for filtering and (not) exporting certain terms to MT.
Example from the master glossary in memoQ: The German term "Kinder" has the Spanish translation "niños, niñas, menores". This is problematic for MT, so rather only have "menores" in the Spanish translation and mention in the "Bemerkung_ES" that niños, niñas might be used alternatively.
yes, additional columns can be added, but in a flat Excel structure, this can become very long. Actually, a real termbase has 3 levels and corresponding fields: 1) concept level (info relevant for all languages), 2) language level, and 3) term level.

We can further discuss on Friday and Saturday :-)


Add missing role privileges (problem from 6.6.46 or .47)

From some time "rapid7vmconsole/api/user_api.py", line 1825, in get_users fails.
Description
I added missing role privileges because get_users failed.
Motivation and Context
After some time I found out some my scripts fail because of error:
ValueError: Invalid values for `privileges` [manage-vuln-investigations, view-vuln-investigations], must be a subset of [all-permissions, create-reports, configure-global-settings, manage-sites, manage-tags, manage-static-asset-groups, manage-dynamic-asset-groups, manage-scan-templates, manage-report-templates, manage-scan-engines, submit-vulnerability-exceptions, approve-vulnerability-exceptions, delete-vulnerability-exceptions, create-tickets, close-tickets, assign-ticket-assignee, manage-site-access, manage-asset-group-access, manage-report-access, use-restricted-report-sections, manage-policies, view-asset-group-asset-data, manage-asset-group-assets, view-site-asset-data, specify-site-metadata, purge-site-asset-data, specify-scan-targets, assign-scan-engine, assign-scan-template, manage-site-credentials, manage-scan-alerts, schedule-automatic-scans, start-unscheduled-scans]

Rapid7 extended role privileges and they weren't included in vm-console-client-python code.
How Has This Been Tested?
Run get_users again and check output (it didn't fail).
Types of changes

Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] I have updated the documentation accordingly (if changes are required).
[x] I have tested the changes locally.

This PR is no longer necessary.  The latest release based on version 6.6.55 of the InsightVM console was generated and includes these two new roles.


Classes

May as well put it here already for visibility.

Base Classes
A class checked on this list means the base class has been finished and added to this branch.
This may not include subclasses for the given class.
All base classes have been converted, the list now is for the purpose of tracking which are ready for deployment.

[x] 1 Alchemist
[x] 2 Barbarian
[x] 3 Bard
[x] 4 Champion
[x] 5 Cleric
[x] 6 Druid
[x] 7 Fighter
[x] 8 Investigator
[x] 9 Monk
[x] 10 Oracle (Converted by benderfan)
[x] 11 Ranger
[x] 12 Rogue (Converted by Twitchy)
[x] 13 Sorcerer
[x] 14 Swashbuckler (Converted by benderfan)
[x] 15 Witch (Converted by Twitchy)
[x] 16 Wizard

Playtest (Put in Homebrew)
Currently converted:

[x] 1 Gunslinger
[ ] 2 Inventor
[ ] 3 Magus
[ ] 4 Summoner
[ ] 5 Investigator
[ ] 6 Oracle
[ ] 7 Swashbuckler
[ ] 8 Witch

Recommending to Squash n' Merge to make it a singular update.


How to get the series name and episode number?

Could someone could give me a hand to get the name of the series and the number of the specific episode when you enter the episode code ie GVWU07MPE, the script has been passed to me and I do not have much idea of python programming and I have been able to modify it to my needs as best I could, asking you by keyboard to enter the episode code and inserting it, but as much as I look at the document with the info crunpyrol I do not clarify how I should make calls to get that information.
That is to say that when I enter "GVWU07MPE" it should show me this Wind Breaker - 01

episoide_id = input("Insert episode code: ")

async def main():
	await client.start()
	index = await client.get_index()
	# Get streams of the episode/movie

	streams = await client.get_streams(episode_id)

	# Get manifest of the format you prefer
	manifest = await client.get_manifest(streams.url)

	access_token = client.session.access_token
	print(access_token)
.
.
.
asyncio.run(main())

to do what you say it would be like this?
episode = await client.get_episodes(episode_id)
as I said I don't understand much about making calls in python.

The client.get_episodes() method doesn't exist. I implemented it as client.get_objects(media_id), but the PR hasn't been reviewed yet.
If you want to try it, you will have to use my branch at the moment. If you are using pip, then pip uninstall crunpyroll followed by pip install https://github.com/inks007/crunpyroll/archive/bleeding-edge.zip should do the trick.

I get this error, what do I do wrong? T_T
episode = await client.get_objects(media_id)
Traceback (most recent call last):
  File "E:\Crunchy Videos\Temporales\crunpyroll_cr2.py", line 101, in <module>
    asyncio.run(main())
  File "C:\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\asyncio\base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "E:\Crunchy Videos\Temporales\crunpyroll_cr2.py", line 46, in main
    episode = await client.get_objects(media_id)
                                       ^^^^^^^^
NameError: name 'media_id' is not defined

I finally got it through yp-dlp what I needed, saving me several functions that I had


Dropdown item's option.value proptype should support PropType.object

Feature Request
Problem description
I've noticed that semantic-ui's dropdown and dropdown item components expect value to be either a boolean, number or string. I've read #1368 about this issue, where it was suggested there were problems with implementing this, a PR was created but never merged due to other issues with the changes that seem unrelated to this feature specifically as far as I can tell.
This previous issue just seemed to die without any resolution so I'm reopening here, as I believe this functionality is still desirable.
I've played with passing objects as the dropdown item value and aside from the propTypes warnings and duplicate key warnings (due to [Object object] stringification which is easily resolvable with custom keys) it works just fine for my case at least: onChange fires correctly with the correct value returning as an object.
From previous issues raised about this I'm unsure what the actual problem is that's preventing this from being supported?
I've seen suggestions for using JSON.stringify() or a lookup table for each item, but both of these seem like less than ideal workarounds compared to just passing in the desired object as a value when that's the output you want from onChange.
Proposed solution
Dropdown.Item.propTypes.value = PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.bool, PropTypes.object)]
Obvious drawbacks are: if there's a genuine reason why this will break functionality.

It's an overcomplicated feature for the overcomplicated component (1395 lines in Dropdown.js). You can create a wrapper component that will support this.
I don't want even to try implement this feature. Possible, @levithomason has another opinion.

That's disappointing but understandable. For what it's worth I'm currently using it with objects and merely overriding the proptypes and it works well at least for my use case. You are right that it's a complex component that does a lot and has a lot of varying functionality, but it works fine in at least simple cases.
If there's no desire to pick this up I guess I'll just wrap the component ¯_(ツ)_/¯. Thanks for the reply.


Add results command

The command should list results for a course or a particular student on the course.

We can rename the data command and bump the major version number.


Move the JavaScript runtime into separate workspace

What new feature do you think would be cool to add to artemis?
Currently the JavaScript runtime is part of the artemis-core workspace. It would probably be better to move into a separate workspace directory and import that into artemis-core
Describe the solution you'd like
Move all JavaScript runtime code into a dedicated workspace
Additional context
If we move the JavaScript runtime into a separate workspace, we will probably need make some artemis-core functions pub instead of pub(crate)

Not possible.
If we move the runtime into a separate crate we have to import the artemis-core workspace in order to call the forensic functions.
But then artemis-core needs to import the runtime crate in order to execute javascript code.
This causes cyclic package dependency errors


Dead link in documentation.

https://reactnavigation.org/docs/headers/native-stack-navigator#options

Hey @indavidjool , can u share where does this link present on docs ?


libseat: init at 0.5.0

Motivation for this change
Wlroots will require libseat in the future, add the library to nixpkgs
in preparation.
Ref: https://github.com/swaywm/wlroots/issues/2755 & https://github.com/swaywm/wlroots/pull/2786
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Removed scdoc there is only a man page for the seatd server, which we don't build and use here.


Loss can not go down.

Hello, I executed this command: python attack.py -c=configs/attacking/default_attacking.yaml, and load Stylegan2 weight pretrained on FFHQ1024, to attack Resnet18 train on CelebA256，but I found that under Adam's optimization, loss could not go down at all.

I have no idea about about this problem......In attacking config，I just changed batchsize and weight path.

Hey,
that seems strange. Could you maybe try to re-clone the project and run it again? I have currently no access to my machine, so I can't try it right now. But a couple of weeks ago, it worked quite fine for me. But I also used the WandB integration to load the models.
I the problem still consists in a fresh repo, I will try it next week in my machine.

thank you for you answer, I have already solve this problem. The main problem is the training code of the target model, when the trained model saves the weight, it saves some unwanted data, resulting in an error when attack.py loading the weight, I added the strict=False parameter, only such a problem occurs, and then I modified the weight saving code of your training model, only save the model weight information, strict=True can also load the target model weight normally, and the problem is solved.

Ah, I see. The additional data is saved to allow continuing the training procedure. Thanks for your feedback, I might improve that part of the code.


Add status information to Heapster

In heapster-scalability
Use prometheus client library (https://github.com/prometheus/client_golang) to instrument the code so that the following information is exposed on a http endpoint:

time of the last metrics scrape
histogram of Kubelet/source response times
number of scraped nodes and containers
time spent in scrape
time spent in processors
time spent in exporting data to sinks
number of http model api requests
number of other http requests

cc: @piosz @huangyuqi

thanks, @mwielgus , I will work on this interesting issues.

Fixed by @huangyuqi .


For indented code blocks, there is a problem when converting the Confluence document

Convert the following documents (note that the code block is indented):

In the converted Conflict content, each line of the code block is preceded by a "#" sign:

yes, i have exactly same problem to you, hope it can be solved


Added two programs in C and fixed a few typos

Please add "hacktoberfest" and "hacktoberfest-accepted" tags to my PR


Preload stream issue with 0.91

Hi,
I love this card, but I have a small issue with hass 0.91.
As you can see in the screenshot below, the preload stream tickbox shows up all the time!
This may be a Hass issue, but I'm not sure.

This card is just a wrapper around the more info camera dialogue. Nothing to be done here. Hopefully we’ll have a better solution in core soon.


generation 1 VM from a GPT disk (using c:\vhd\w7.vhd)

dism /Capture-Image /ImageFile:D:\c.wim /CaptureDir:C:\ /Name:Drive-C
At 99% there comes error that says not enough space. Is there something i could do to get this work?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b5fb2354-bc61-a5f7-3e73-456588847923
Version Independent ID: 1825f737-8689-29b7-1ea2-b7a4d0c337fa
Content: Configure a test lab to deploy Windows 10
Content Source: windows/deployment/windows-10-poc.md
Product: w10
GitHub Login: @greg-lindsay
Microsoft Alias: greglin

@officedocsbot assign @mypil

@JMTS92 - thank you for submitting feedback.
I think the best way forward is if you can open a service ticket so this can get resolved ASAP. Based on outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for Windows 10 products:  https://support.microsoft.com/en-us/hub/4338813/windows-help?os=windows-10
If you don't mind please keep us posted here on the resolution and I really want to get this information you are discovering back into the docs.

@officedocsbot close


JSON data with "COMMENT" question

Hi,
i have a survey (jquery version) with a "COMMENT" question... when i save the survey, JSON data response with:
{"question1":"2013-01-01","question2":"hello","question3":"text text\nnew line new line\nhello hello"}
If i open the survey passing this JSONData, the survey don't load the answers, if i modify the response and i open the survey with a JSON like this
{"question1":"2013-01-01","question2":"hello","question3":"text text new line new line hello hello"}
where i have removed the "\n" character, the survey was opened correctly and the answers was loaded
Maybe there is a bug with COMMENT QUESTION where the users write in multiline?
Thanks ;)

@care46 Hm, I have just tried. It works fine to me:
http://plnkr.co/edit/naIDI7mXTmkkYnI2j0sN?p=preview
Thank you,
Andrew

@andrewtelnov sorry, i see your test and i made a mistake! Now it work correctly!!
Thanks

@andrewtelnov now the answers was initialized correctly, but in "display" mode, "COMMENT" question was displayed like in one row... i try with your example...

@care46 Yes, this one is a bug. We are using span to render "comment" question in display mode. It is better to add read only attribute.
I will correct this.
Thank you,
Andrew

@andrewtelnov ok no problem, now i use a workaround, i open survey in edit mode an then at event "afterPageRendered" i set only input/select/textarea in readonly..
Thanks

@care46 It is fixed.
Thank you,
Andrew


voice speed

can you include a fuction of speed?

Thanks for your interest in this personal project. I'm not planning to re-visit this project at this time, as I state in contributing:

This is a personal project. Contributions are not required. Anyone interested in developing this project are welcome to fork or clone for your own use.

The speed is dictated by the Watson API, different voices offer different speeds and pitches. Out of interest, I took a quick look at the text to speech docs. I couldn't see any option for tempo or speed. This would therefore need a separate process after the file is returned. See SO - How to change the tempo of an audio file using PHP? for an example.
I hope this helps.

Closing issue.


ir: Pass the target to clang if it wasn't explicitly passed already.

Fixes #942
Fixes #947

r? @fitzgen
Let me know if you can think of a test that passes / fails consistently across platforms, couldn't think of one, though I didn't tried extremely hard.

@bors-servo r+

:pushpin: Commit 26da344 has been approved by fitzgen

:hourglass: Testing commit 26da3447a73d0364849f0325f222c4a8c9337550 with merge b209d42444dd3dbe3b57590313d4f47979225492...

:sunny: Test successful - status-travis
Approved by: fitzgen
Pushing b209d42444dd3dbe3b57590313d4f47979225492 to master...


text nit

@Habbie thanks for th Pull Request!
If you wouldn't mind accepting our CLA I'd be happy to merge.

CLA accepted!


verify that web page is ok

[x] https://mlcommons.org/en/groups/research-science/
[x] I think there was an elaboration on the mission statement. I think we integrated
[x] To modify next version we we use this Web page https://github.com/laszewsk/mlcommons/blob/main/webpage/frontpage-v4.md
[x] Gregor will upload as this is done on non public git repo by mlcommons

Approved

ok

All tasks have been checked.

issue closed, all tasks completed


Support for SD3

The new Stable Diffusion weights that have been made available, at least the 2b model.

WIP!

https://huggingface.co/madebyollin/taesd3
Looks like taesd is ready there too :)

I wonder how much https://github.com/ggerganov/llama.cpp/pull/8055  and https://github.com/ggerganov/llama.cpp/pull/8006 and related will help.


Fail instead of segfaulting when files cannot be opened in IO tests

Makes it easier to run godot --test without having to think too much

Thanks!


Office 365 and Microsoft Live Support

Adds three main functions:

Invoke-UsernameHarvestMicrosoftLive
Invoke-PasswordSprayMicrosoftLive
Invoke-PasswordSprayO365

The MicrosoftLive family of functions enumerates credentials against the live.com portal. Sometimes people register with their business accounts on that portal, leading to bad juju.
The O365 password spray function determines if a set of credentials is valid and if there's any 2FA implemented. The user is never sent a 2FA request, but the form of 2FA is still enumerable based on the response.
PS /Users/djh/tools/O365MailSniper> Invoke-PasswordSprayO365 -EmailAddress<EMAIL_ADDRESS>-Passwo
rd REDACTED
[*] SUCCESS! User<EMAIL_ADDRESS>Password: REDACTED (2FA: OneWaySMS)

Please update your PR.

Oop, didn't even realize this was still open. It was functional at the time of the initial pull; however, since then, other tools have come out that target those services and do a more effective job, so I'm going to close this PR.

Would you mind listing those tools?

Password spraying utils: https://github.com/ustayready/CredKing/pull/4
Enumeration: https://bitbucket.org/grimhacker/office365userenum
Longer blog on parts of the enumeration bit: https://www.trustedsec.com/blog/owning-o365-through-better-brute-forcing/
And I'm almost certain BHIS has some blog lying around in regards to MailSniper usage, attack strategies against O365, etc., but I'd have to go digging for them. CredKing was preferred over any other tool due to the way it rotates egress IPs (but that might also be out of date). Sorry I can't be any more help - best of luck!


Scrolling long content code missing in the documentation of modal

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I have read the contributing guidelines

Proposal

The Scrolling long content effects works fine. But you forget to mention the code snippet in this section. As I am a developer I inspect the code and use it in my project.
You mention all the effects code snippets in your documentation except this. Hope you update your documentation as soon as possible.
Motivation and context
If you add the code of the  Scrolling long content effect it will be helpful for others.

Thanks for this suggestion of docs enhancement @shantovai024
This use case is just to show that it works automatically, this is just a basic modal with a lot of content in it.
It would be just something like this:
<!-- Normal modal with long content -->
<div class="modal-dialog">
   ...
</div>

Is it worth it? Would it be clearer?

Ok Thank You. After your replay I checked & observed that it works
automatically.
On Mon, Feb 19, 2024 at 11:56 PM Julien Déramond @.***>
wrote:

Thanks for this suggestion of docs enhancement @shantovai024
https://github.com/shantovai024
This use case is just to show that it works automatically, this is just a
basic modal with a lot of content in it.
It would be just something like this:

...
Is it worth it? Would it be clearer?
—
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/issues/39687#issuecomment-1952957499,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANLRG4VL4G7NYNRBCNNXCATYUOG5PAVCNFSM6AAAAABDPU5L7KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJSHE2TONBZHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm closing it. If someone has a strong opinion about it, I'll reopen the discussion :)


Implement feature request microg/android_packages_apps_GmsCore#999

As per #999

@mar-v-in can you advise on how to tune the build configuration so it passes?
Is there any contributing guide?
Thanks!

What went wrong:
Could not determine the dependencies of task ':play-services-core:lintVitalRelease'.
Could not resolve all artifacts for configuration ':play-services-core:debugCompileClasspath'.
Could not resolve project :play-services-appinvite.
Required by:
project :play-services-core
Unable to find a matching configuration of project :play-services-appinvite:
- None of the consumable configurations have attributes.
Could not resolve project :firebase-dynamic-links.
Required by:
project :play-services-core
Unable to find a matching configuration of project :firebase-dynamic-links:
- None of the consumable configurations have attributes.

@mar-v-in can you advise on how to tune the build configuration so it passes?

Other merge requests (from https://github.com/microg/android_packages_apps_GmsCore/issues/999) have to be accepted before this one will pass the build test.

Merged via https://github.com/microg/android_packages_apps_GmsCore/commit/7bc61ab97fe8c4bbfc8ab8f2a11440692582f22c


Update jellyfish-aws gem to point to master

Points jellyfish-aws gem to master and adds back S3 and RDS alongside EC2.

:+1:


Need saving task list

run this app every time the task list will be lost, I can't remember all site address that I download, please add this feature like other download apps did.

What ... ?

sorry, I am committed to the wrong place, not this project, so sorry.


Fortune Displayed on First Load

When the page is first loaded, it shows a fortune when it should be blank.

Issue has already been fixed!


Error parsing HTTP request header

Configuration information

EHRbase version:   v0.17.2
openEHR_SDK version:  1.5.0
PostgreSQL version:  v10
Java Runtime version: openJDK 11
Operating System version: Ubuntu 20

Steps to reproduce
Running:  $ java -jar application/target/application-0.17.2.jar
Actual result
2021-09-28 13:55:44.370  INFO 2025829 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path '/ehrbase'
2021-09-28 13:55:44.376  INFO 2025829 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Context refreshed
2021-09-28 13:55:44.416  INFO 2025829 --- [           main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2021-09-28 13:55:44.701  INFO 2025829 --- [           main] s.d.s.w.s.ApiListingReferenceScanner     : Scanning for api listing references
2021-09-28 13:55:44.747  INFO 2025829 --- [           main] DeferredRepositoryInitializationListener : Triggering deferred initialization of Spring Data repositories…
2021-09-28 13:55:44.749  INFO 2025829 --- [           main] DeferredRepositoryInitializationListener : Spring Data repositories initialized!
2021-09-28 13:55:44.798  INFO 2025829 --- [           main] org.ehrbase.application.EhrBase          : Started EhrBase in 18.937 seconds (JVM running for 20.248)
2021-09-28 13:56:33.625  INFO 2025829 --- [nio-8080-exec-1] o.a.c.c.C.[.[localhost].[/ehrbase]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2021-09-28 13:56:33.627  INFO 2025829 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2021-09-28 13:56:33.704  INFO 2025829 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 76 ms
2021-09-28 14:14:25.101  INFO 2025829 --- [nio-8080-exec-5] o.apache.coyote.http11.Http11Processor   : Error parsing HTTP request header
Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x010x020x000x010x000x010xfc0x030x030xe00xac0x8d0x97RaJ0xd8L60xcaz0xcc,0x1d0xa50x1c!y0xab0xf60xd70x1c0x1aQ0xcfV0xcc{0xd40x9c0x1b]. HTTP method names must be tokens
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:417)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:261)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Definition of Done
Run: $ netstat -ntlp | grep LISTEN
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp        0      0 <IP_ADDRESS>:631           <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 <IP_ADDRESS>:5432          <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 <IP_ADDRESS>:53           <IP_ADDRESS>:*               LISTEN      -
tcp6       0      0 ::1:631                 :::*                    LISTEN      -
tcp6       0      0 :::8080                 :::*                    LISTEN      2025829/java

Hello @CzarMich,
Does this error occur when starting EHRbase, or are you actually sending a request to EHRbase here? If its the latter, could you please also add information for the request you're sending?
The error message indicates that an inbound request could not be parsed.

Hi Maxim, I can't recall well but this was fixed. I made some changes I cannot recall now though.

Thank you for the reply, I would close this issue then.
If you see this error again, feel free to (re-)open the issue.


PAICTL machine add doesn't add machines into service

I used below command to add machines into a cluster, but I found added machines are not in nodes view of YARN.
python paictl.py machine add -p config -l added-machines.yaml

same here.

same here.

@GeoffreyChen777 you need to make sure it's not in maintenance list, and then run below commands to label new machine as a worker.
python paictl.py config push -p config
python paictl.py service start -n cluster-configuration

close as if resolved.


love this, do you plan on offering it for python?

love this, do you plan on offering it for python?

@joshdlee I've published a python version https://pypi.org/project/cdk-cross-account-route53/0.0.3/
Would you be able to test that it works?

wasnt able to test is succesfully, I was going to try and use it to store the NS records to the parent domain hosted zone in a different account but running into troubles, looking to find a workaround

@joshdlee Can you share some sample code?
Also are you trying to do cross account delegation. i.e.

Parent Zone in account A
Child zone in account B
You want the stack in account B to create the NS record in account A
If so you don't need my construct you can use https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53-readme.html#cross-account-zone-delegation

My construct is based on this but for other records

Aha! Yes that worked. So sorry, I will show your solution for non NS
records to my colleagues and see if they can find something to test
On Fri, Jan 27, 2023 at 4:15 PM John Ferlito @.***>
wrote:

@joshdlee https://github.com/joshdlee Can you share some sample code?
Also are you trying to do cross account delegation. i.e.

Parent Zone in account A
Child zone in account B
You want the stack in account B to create the NS record in account A
If so you don't need my construct you can use
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53-readme.html#cross-account-zone-delegation

My construct is based on this but for other records
—
Reply to this email directly, view it on GitHub
https://github.com/johnf/cdk-cross-account-route53/issues/1#issuecomment-1407211086,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKXNEJ3V4YDK6JEASB5MPU3WURQKBANCNFSM6AAAAAAUBGCF5I
.
You are receiving this because you were mentioned.Message ID:
@.***>

You can close my issue though!
On Fri, Jan 27, 2023 at 6:26 PM Joshua Lee @.***> wrote:

Aha! Yes that worked. So sorry, I will show your solution for non NS
records to my colleagues and see if they can find something to test
On Fri, Jan 27, 2023 at 4:15 PM John Ferlito @.***>
wrote:

@joshdlee https://github.com/joshdlee Can you share some sample code?
Also are you trying to do cross account delegation. i.e.

Parent Zone in account A
Child zone in account B
You want the stack in account B to create the NS record in account A
If so you don't need my construct you can use
https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53-readme.html#cross-account-zone-delegation

My construct is based on this but for other records
—
Reply to this email directly, view it on GitHub
https://github.com/johnf/cdk-cross-account-route53/issues/1#issuecomment-1407211086,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKXNEJ3V4YDK6JEASB5MPU3WURQKBANCNFSM6AAAAAAUBGCF5I
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks


A serialization scenario where IMarkupFormatter isn't too convenient

I'm creating an implementation of IMarkupFormatter to serialize DOM to plain text. In particular, I need to convert foo to foo (http://example.com). It's possible to do this now by converting the attributes to a string of a special format in the Attribute method, pushing this string to a stack in OpenTag and popping it back in CloseTag. But this looks somewhat too complicated. Maybe it's not too late to change IMarkupFormatter for it to support such scenarios in a better way.

Hm, yes its certainly not too late. One possibility would be to just hand over an IElement (and replace Attribute, OpenTag and CloseTag by Element). But I did not go for that one, because the internal flags cannot be accessed then.
Do you have a specific proposal? How would the ideal IMarkupFormatter look like, which makes your case easier?

I think just adding the IElement parameter to the existing OpenTag and CloseTag methods and leaving everything else as is will do. Although it might look inelegant, it wouldn't affect the performance of the out-of-the-box standard-based formatter, and at the same time would provide support for various scenarios like mine (with a little overhead of iterating over the attributes when they're not needed, which can be made lazy, BTW).

Or we just add IElement to the arguments for OpenTag / CloseTag and remove the Attribute method (incl. the attributes argument)? Then this is lazy for sure (because, e.g., OpenTag has to compute those) and we justified using IElement.

Yes, a good option.

Can you please check if the provided code satisfies your needs?

Yes, thanks, it does.


Change the PassThru parameter name

... to something else. PassThru is a standard parameter name used to denote if an item should be passed through a pipeline and so it's definition here as a 'proprty bag' is not a good idea, so it should be renamed.
Or an alternative name could be Exchange (as in different entities can communicate with each other via an exchange)

New name for passThru will be tube, through which, things can be passed through.

rename _passThru first before PassThru

Something went wrong with the initial commit. not all passThru's were replaced by exchange.

Something went wrong with the initial commit. not all passThru's were replaced by exchange.