Make video poster generation more robust

Feature Description
Splitting this off from #5119. Video poster generation should be made more robust if the poster generation failed the first time around.
Needs investigation on why/where poster generation fails (timeouts maybe?) and how this can be mitigated (e.g. by a number of retries?)
Alternatives Considered

Additional Context

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance Criteria

Implementation Brief

I think that any solution for this should include https://github.com/google/web-stories-wp/issues/969. I think that one of the issues here, is that this error state ( poster is not being generated ) is not visual to user. Showing progress bar, will help in QA and get users feedback.

I also think that poster generation should be retried multiple times, say 3 times and if it is fails, an error shown to user.
Other ideas I had for why this is happening, there maybe something odd with the video's encoding and the user's computer is slow.

This may only be part of the problem, but looks like posters are consistently missing for videos if inserted into the story via the WP media popup > "Insert into page" button. This affects videos whose posters were already generated!
Tangent: I've noticed posters being set on the wrong video (!) when deleting and reuploading videos for testing. I'll figure out the minimal repro and file a separate issue for this.
@zidianlyu to share his investigation notes.

Here are my investigation notes
Step to trigger:
Click on Upload -> Select Files -> Insert into Page
On UI rendering level, we will have:

By backtrack, the poster property should be passed from the selectedElements variable.

updateElementsByResourceId is used to update the elements after the poster has  been generated, so you are saying that is not working as intended?

Place where we generate the poster:
getFirstFrameOfVideo.js the output will be a blob object.
Data flow after user upload the video and click Insert into page, it triggers (helpful breakpoints, for debugger purpose):

mediapane.js -> useMediaPicker({onSelect,onClose});
useMediaPicker.js -> onSelect(mediaPickerEl);
mediaPickerEl is created from fileFrame.state().get('selection').first().toJSON() which does not contain and poster images.

Therefore, all the remaining logic will not take in any poster value.

Suspicious observation:
In getResourceFromMediaPicker, there is a object(mediaPickerEl) distracter with key poster under a field featured_media_src. With debugger, I find that the field featured_media_src will always undefined.
Based on my understanding to the context and documentation, we should be able to get the poster in here, so that the UI can pick up the poster value. Any hints why the poster is missing?
My guess(please correct me if I am wrong) is we that we have a place somewhere to async update the media value globally, and the getResourceFromMediaPicker call is made before the poster is fully retrieved.

I also check the logic of poster generation, it works perfectly fine.
For reference, I put it here:
In useUploadVideoFrame.js, there is a method ProcessData.
The poster value can be generated by 2 async calls getFirstFrameOfVideo() and uploadFile()

@swissspidy follow your suggestion, just researched on updateElementsByResourceId, here are the details:
On useUploadVideoFrame.js, under processData(), we can get the poster value as expected.
I also take a closer look at the follow snippet, and think there might be some issues:
  const { updateElementsByResourceId } = useStory((state) => ({
    updateElementsByResourceId: state.actions.updateElementsByResourceId,
  }));
  const setProperties = useCallback(
    (id, properties) => {
      updateElementsByResourceId({ id, properties });
    },
    [updateElementsByResourceId]
  );

      const newState = ({ resource }) => ({
        resource: {
          ...resource,
          posterId,
          poster,
          ...newSize,
        },
      });
      setProperties(id, newState);
      updateMediaElement({
        id,
        posterId,
        poster,
        ...newSize,
      });

The setProperties() method does NOT seems update the poster value correctly. And I also tried adding await in the context in case there are any async calls in the context, but that does not resolve the issue either.

Related: #5249

Verified in QA


Navs on iOS takes two lines

Hello and sorry if this issue is irrelevant or not in the right place.
I’m using bootstrap navs on my website but using iOS (Safari chrome or Firefox), the navbar takes two lines with nav-fill and nav-justify, even with Bootstrap own code on the website.
Is it a bug and if not, how to restrict on one line (make all elements smaller)?
Thank you!
A81F7D63-1EAE-4868-8DF9-14F69F8CC7DE
https://user-images.githubusercontent.com/108593662/227025054-b420831f-6263-45f1-b81b-a0fd7efc5913.png

This is expected, we don't set any automatic overflow or different wrapping for the nav links. Use the flex utilities and more to change this behavior as you need.


Add RunAttempted to Lease Return events

run_attempted already exists on the ReturnLease API call
However the Executor API is event driven
So we need to add this field to the event as well - so we provide the Executor API all the details it needs
I added it to both old + new events as this makes the migration easier

Codecov Report
Base: 46.58% // Head: 46.58% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (90eea20) compared to base (6141171).
Patch coverage: 25.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2067   +/-   ##
=======================================
  Coverage   46.58%   46.58%
=======================================
  Files         223      223
  Lines       29851    29855    +4
=======================================
+ Hits        13907    13909    +2
- Misses      14923    14925    +2
  Partials     1021     1021

Flag
Coverage Δ

airflow-operator
89.13% <ø> (ø)

armada-server
45.55% <25.00%> (+<0.01%)
:arrow_up:

python-client
93.83% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/common/eventutil/eventutil.go
30.04% <0.00%> (-0.04%)
:arrow_down:

internal/executor/reporter/event.go
49.32% <0.00%> (-0.23%)
:arrow_down:

internal/executor/service/cluster_allocation.go
0.00% <0.00%> (ø)

...ernal/armada/repository/apimessages/conversions.go
82.09% <100.00%> (+0.03%)
:arrow_up:

internal/armada/server/reporting.go
60.41% <100.00%> (+0.16%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


"Closing the transport connection timed out." caused by race condition

Describe the bug: Occasionally, when using the elasticapm.Client (without a framework), during process shutdown (in the atexit handler), the transport thread will block forever while trying to send data to the APM server and subsequently be killed by the thread manager, after the configured timeout is reached. This causes "Closing the transport connection timed out." to be printed to the command line and the messages remaining in the buffer to be lost.
This seems to be caused by a race condition involving the atexit handler of the elasticapm.Client and the weakref.finalize of urllib3.connectionpool.HTTPConnectionPool (which uses an atexit handler under the hood) which calls _close_pool_connections. A timeline causing this bugs looks like this:

The process is about to shutdown. atexit handlers are called.
_close_pool_connections is called while all connections are in the pool. All existing connections are disposed.
The elasticapm.Client atexit handler is called, sending the "close" event to the transport thread.
The transport thread handles the "close" event, flushing the buffer and trying to send remaining data to the APM server.
urlopen will block the transport thread forever while waiting to get a connection from the connection pool (since the poolmanager uses block=True and no pool timeout is configured, this will block forever, because the only way to get a connection from the pool this way, is for someone else to put a connection into the pool).
The thread manager kills the thread after the configured timeout is reached, printing the error message and loosing all data in the buffer

The reason why this does occur consistently, is because _close_pool_connections will not clean up connections which are currently in use (e.g. connections being used in another thread). If a request is in progress when _close_pool_connections is called, the associated connection "survives" the cleanup and will be added back to the pool afterwards and can be reused by the transport thread (which may be a bug/unintended behavior of urllib3 since it claims HTTPConnectionPool is thread safe).
To Reproduce
The following minimal example reproduces the issue:
import time

import elasticapm

# NOTE: You should be able to remove the "config" argument in your environment
client = elasticapm.Client(
    service_name="<SERVICE>",
    server_url="<APM_SERVER_URL>",
    secret_token="<SECRET_TOKEN>",
    config={
        "SERVER_CA_CERT_FILE": "<INTERNAL_CA_FILE_PATH>",
        "GLOBAL_LABELS": {"Tenant": "<TENANT>"},
    },
)

client.capture_message("Test")

# Give the client time to resolve all internal network requests, ensuring
# that all urllib connections are in the pool when the atexit handlers are called
time.sleep(10)

As is the case with race conditions, you might have to fiddle with the sleep timing a little bit. 10 seconds work quite reliable in my environment, but you may need a few more/less seconds, depending on your environment.
Environment

OS: Windows 10
Python version: 3.11.7
package versions: urllib3==2.2.1
APM Server version: 8.11.3
Agent version: elastic-apm==6.20.0

Additional context
A workaround for my use case is to use a custom Transport class which uses a non-blocking pool. I don't know enough about the elastic-apm code base to know whether or not this causes issues in other parts of the package, but it seems to resolve the issue for me without causing any other major issues.
from elasticapm.transport.http import Transport

def get_import_string(cls) -> str:
    module = cls.__module__
    if module == "builtins":
        # avoid outputs like 'builtins.str'
        return cls.__qualname__
    return module + "." + cls.__qualname__

class NonBlockingTransport(Transport):
    def __init__(self, *args, **kwargs) -> None:
        super(NonBlockingTransport, self).__init__(*args, **kwargs)
        self._pool_kwargs["block"] = False

# Use like this:
client = elasticapm.Client(
    ...,
    config={
        ...,
        "TRANSPORT_CLASS": get_import_string(NonBlockingTransport),
    },
)

Thanks for the report! This isn't very high priority since it only happens on shutdown and emits an error. But we should definitely get this fixed.

Hello,
I encountered the same problem when trying to monitor a Python script in APM Elastic.
Here is my code:
if __name__ == "__main__":

    client = Client(config = ES_APM_CONFIGURATION)
    elasticapm.instrument()
    client.capture_message("Start job do_something »)
    client.begin_transaction(transaction_type="script")
    do_something()
    client.end_transaction(name=__name__, result="success")

In ES_APM_CONFIGURATION, I have: SERVICE_NAME, SECRET_TOKEN, SERVER_URL, SERVICE_VERSION, ENABLED, ENVIRONMENT
I tried to add function get_import_string as suggested by  @robin-mader-bis  but I got an error
AttributeError: 'NonBlockingTransport' object has no attribute '_pool_kwargs'
I just received the message Start job do_something and nothing else.  I don’t know how to resolve this problem.
Thanks,

Hello,
I encountered the same problem when trying to monitor a Python script in APM Elastic. Here is my code:
if __name__ == "__main__":

    client = Client(config = ES_APM_CONFIGURATION)
    elasticapm.instrument()
    client.capture_message("Start job do_something »)
    client.begin_transaction(transaction_type="script")
    do_something()
    client.end_transaction(name=__name__, result="success")

In ES_APM_CONFIGURATION, I have: SERVICE_NAME, SECRET_TOKEN, SERVER_URL, SERVICE_VERSION, ENABLED, ENVIRONMENT
I tried to add function get_import_string as suggested by @robin-mader-bis but I got an error AttributeError: 'NonBlockingTransport' object has no attribute '_pool_kwargs'
I just received the message Start job do_something and nothing else. I don’t know how to resolve this problem.
Thanks,

I had the same issue at first, but make sure the Transport class you are inheriting from is elasticapm.transport.http.Transport (my first attempt was from elasticapm.transport.base.Transport and got the same error as you)

Modified the original poster message to include the import

I'm having this same issue as well.
I've implemented the workaround listed in the description, but now I'm seeing some warnings coming from urllib
Connection pool is full, discarding connection: xxx.apm.eastus.aws.elastic-cloud.com. Connection pool size: 1

@robin-mader-bis It has been suggested to me to set the pools to non-blocking only at shutdown. That could be something like the following untested patch.
diff --git a/elasticapm/transport/http.py b/elasticapm/transport/http.py
index 17ae50ba..fe10fb7f 100644
--- a/elasticapm/transport/http.py
+++ b/elasticapm/transport/http.py
@@ -250,6 +250,18 @@ class Transport(HTTPTransportBase):
             return self._server_ca_cert_file
         return certifi.where() if (certifi and self.client.config.use_certifi) else None

+    def close(self) -> None:
+        """
+        Cleans up resources and closes connection
+        :return:
+        """
+        if self._closed or (not self._thread or self._thread.pid != os.getpid()):
+            return
+        # Set the pool to non-blocking to avoid a race condition
+        if self._http:
+            self._http.block = False
+        super().close()
+

 def version_string_to_tuple(version):
     if version:

Ok, spent some time on this today, the previous snippet will not work because the urllib3 connection pool weakref.finalize callback will be called before our atexit and so the pool would be already gone. Instead we can force the creation of a new one as below:
diff --git a/elasticapm/transport/http.py b/elasticapm/transport/http.py
index 17ae50ba..91e52e7e 100644
--- a/elasticapm/transport/http.py
+++ b/elasticapm/transport/http.py
@@ -32,6 +32,7 @@

 import hashlib
 import json
+import os
 import re
 import ssl
 import urllib.parse
@@ -250,6 +251,23 @@ class Transport(HTTPTransportBase):
             return self._server_ca_cert_file
         return certifi.where() if (certifi and self.client.config.use_certifi) else None

+    def close(self):
+        if self._closed or (not self._thread or self._thread.pid != os.getpid()):
+            return
+
+        self._closed = True
+        # we are racing against urllib3 ConnectionPool weakref finalizer that would lead to having them closed
+        # and we hanging waiting for send any eventual queued data
+        # Force the creation of a new PoolManager so that we are always able to flush
+        self._http = None
+        self.queue("close", None)
+        if not self._flushed.wait(timeout=self._max_flush_time_seconds):
+            logger.error("Closing the transport connection timed out.")
+
+        # FIXME: does it make sense to try to cleanup manually?
+
+    stop_thread = close
+

 def version_string_to_tuple(version):
     if version:

@pquentin what do you think?

@robin-mader-bis would be great if you can take a look at #2085


Warning flooding log

Dear all,
today I updated my system and ...
... now I get this warning every 10 seconds.
[homebridge-rpi] This plugin generated a warning from the characteristic 'Load': characteristic was supplied illegal value: number Infinity exceeded maximum of 1.7976931348623157e+308. See https://homebridge.io/w/JtMGR for more info.
I checked  if the getstate script or anything else has changed. I installed version 1.4.0 from plugin. Has anyone any clues how what is wrong? thank you for your efforts.

Could you please list the output of rpi -H ipaddess -D info?
Did you re-install Homebridge?  Could also you please list the output of npm -g list homebridge and of npm -g list hap-nodejs?

Hi, yes of course:
rpi -H localhost -D inforpi info: read file /etc/os-release
rpi info: read file /proc/cpuinfo
rpi info: read file /sys/class/leds/led1/brightness
rpi info: exec vcgencmd measure_temp
rpi info: exec vcgencmd measure_clock arm
rpi info: exec vcgencmd measure_volts
rpi info: exec vcgencmd get_throttled
{
"gpioMask": "0x0FFFFFFC",
"gpioMaskSerial": "0x0000C000",
"id": "0000000011C620B4",
"isRpi": true,
"manufacturer": "Sony UK",
"memory": "1GB",
"model": "3B+",
"modelRevision": "1.3",
"prettyName": "Raspberry Pi 3B+ 1.3 (1GB)",
"powerLed": true,
"processor": "BCM2837",
"revision": "A020D3",
"usbPower": true,
"state": {
"date": "2022-09-18T18:21:16.000Z",
"boot": "2022-09-18T14:51:36.810Z",
"powerLed": 255,
"load": 0.09,
"temp": 49.4,
"freq":<PHONE_NUMBER>,
"volt": 1.3188,
"throttled": "0x00000000"
}
}
npm -g list homebridge
/usr/local/lib
└──<EMAIL_ADDRESS>npm -g list hap-nodejs
/usr/local/lib
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>I hope this helps…
Best regards
fab

The output of rpi info looks good.  Are you only exposing the local Pi (on which Homebridge runs)?
Hm, the Xiaomi plugin has listed HAP-NodeJS as dependencies.  It shouldn’t, but I don’t think that’s related to this issue.
By re-installing Homebridge, it picked up<EMAIL_ADDRESS>which was released 5 days ago, and includes a change in validation, see https://github.com/homebridge/HAP-NodeJS/releases/tag/v0.10.3.  Maybe that’s causing an issue; could you install 0.10.2 manually to check that?  From the command line, go to /usr/local/lib/node_modules/homebridge and issue sudo npm i hap-nodejs.  Double-check with npm -g list hap-nodejs that the old version was installed.

Ok, re-installed Homebridge on my test system, causing it to upgrade to<EMAIL_ADDRESS>and now seeing the same error.  After revering to<EMAIL_ADDRESS>the warnings are gone again.

Changes in v1.4.1 will stop the warning from happening, by setting minValue and maxValue properties.  Still don't understand what's causing the warning, though.

In 0.10.2 HAP-NodeJS, the rounding algorithm couldn't handle recurring decimals and always assume the minimum value as integer which have no decimal points.
However, new 0.10.3 algorithm provides recurring decimal supports, now the minValue is exact -Float.MAX_VALUE which have many decimal points.
This is why your previous implementation had problem on newer version.


Enable -sil-load-splitting-debug-info by default.

Fixes a know issue in which load splitting drops debug info. This was fixed circa swift 5.8 using the LLVM's debug fragments feature. The fix was, however, disabled because debug fragments were not considered reliable enough for -Onone level debugging.
This reenables the fix for both -O and -Onone debugging because it's better than no fix and we intend to fix issues with debug fragments.
Fixes rdar://104700920 (At -Onone preserve debug info after splitting loads) Issue: LLDB missing variables in certain case #62241

I accidentally reused the same branch for this PR: https://github.com/apple/swift/pull/65929
It's a safer fix that simply extends salvageDebugInfo


Windows - Only a part of the amount of DAG tokens are pasted into the "Send" text box when pasting a number that include . or ,

Only a part of the amount of DAG tokens are pasted into the "Send" text box when pasting a number that include . or ,

Fixed as part of 0.18-beta


Fix ReDOS vulnerability

Fixes #548, with the workaround suggested by @yetingli.

As it is already merged it would be really nice to have new release.
Any pans to make new one soon? 🤔

Bump because this vulnerability is easily fixed and ready to be released. @vks can you release this?


It is impossible to export the file to ".json"

I tried in several ways, and it was not possible to generate the file in  ".json", there is no error on the screen, it simply ignores me clicking the save button, it is very sad because I was very interested in using the creation of an RPG here .

I just tried with the example available in the main_scene.tscn example provided with the addon.
Did you try updating the addon with the current master branch ?


Fix a few typos in the documentation

I've heard it both ways

Coverage increased (+0.4%) to 87.987% when pulling f61897c672972a0b2c51cd62a74b1c8ba4b7e102 on Eijebong:typos into b889d7c7e1879e3ff0a79bde61972f6662ed9ea7 on Geal:master.

pushed as 74bdbed (conflicts with another PR)


Generation failed. replace() argument 1 must be str, not PosixPath

If you generate code for https://github.com/Zubax/zubax_dsdl by pasting the URL into the form, you get this:

Sorry I didn't catch this earlier, it was a simple formatting type error.
What's interesting is after fixing the bug, there was still an issue, but it appears to be with the repo itself. PyDSDL complains about zubax_internet conflicting with zubax because they both start with zubax: https://github.com/UAVCAN/pydsdl/blob/cee519f73effbec45570cd4bce50d4625b9ac7c2/pydsdl/_namespace.py#L404
The issue is fixed in PR #28 .

I don't think the zubax_dsdl repo is at fault, otherwise this wouldn't pass: https://github.com/Zubax/zubax_dsdl/blob/7f9ccf19409354cc88c1c5b03d65db874fd2051d/.travis.yml#L10

I think this has to do with how nunaweb handles linking namespaces against each other. Because nunaweb links all namespaces found against each other, it tries to link zubax_internet as a lookup namespace to zubax, which causes the error. The reason the error isn't thrown by the CI check linked is because it compiles the workspaces separately.
I think this issue would be difficult to solve without fundamentally changing how nunaweb handles linking lookup namespaces. The question is whether this is intended behavior or not; if it's not, do you have any proposals on how to resolve this?

Sorry, it was a bug in PyDSDL. Fixed in v1.12.1; please, bump the dependency version.


Test

test

Please try downloading the file manually from https://api.spiget.org/v2/resources/id/download and check if it's still corrupted.


Releasing the mouse over a menu does not work in the 12.2 based ISO

Releasing the mouse over a menu does not work in the 12.2 based ISO - why?

https://github.com/helloSystem/ISO/issues/135

Does #135 help to explain how to avoid this issue using 12.2? Do you have a 12.2 based system that does not suffer from the issue described in this ticket? (I suspect the issue in this ticket has to do with the Qt packages, but I am not sure.)

This is not an issue in 12.1 based builds such as 0.4.0 and in experimental 13.0 based builds.
Possibly the issue goes away once we can switch from http://pkg.freebsd.org/FreeBSD:12:amd64/release_2/ to http://pkg.freebsd.org/FreeBSD:12:amd64/release_3/. (We could try this by building a 12.2 based build and latest packages.)

This issue seems to be present only in the combination FreeBSD 12.2 with release_2 packages.
FreeBSD 12.2 with quarterly packages does not seem to suffer from this. For now we are hence using quarterly.


statement construction for multi-scope rules

This issue is in order to discuss how statements should be constructed for rules that have 2 scopes, static and dynamic. Should we enforce rules to be composed of features common to both scopes? should we create two separate statements and use each one where required? and most importantly, how should we treat legacy rules?
Option 1:
The first option is to enforce rule authors to use only common features in such mixed rules, which would result in the same statement for both scopes, and therefore rules would have just one statement to pass around.
cons:

restrictive for rule authors: no mixed features (static and dynamic) in each rule.
we would need to either go back and modify old rules (at their features' level), or make them available only for static use by setting the dynamic scope to InvalidScope and create dynamic equivalents of them.

pros:

simple to implement

Option 2:
The second option is to create two separate statements, one for the static scope, and one for the dynamic one, with each statement being made up only of its valid features. Then, we would use each statement when necessary.
cons:

it at least doubles the number of statements in the ruleset, which might make things slower (thoughts?)
we must ensure that we're never passing the wrong statement around, since that might create some bugs that might be hard to detect (rules not matching because the statement is incompatible).

pros:

in this scenario, rules should have mixed features (static and dynamic). This means that when constructing each statement we would prune features that are of the other flavor, which means that we should be able to support static rules to some extent in the dynamic flavor.

Option 3:
The third option would be to merge the two statements from the previous approach into one large inclusive statement. This statement would include features that valid for either of the rule's scopes, and would be passed in whole to the matching engine. When the match() function is doing the matching, non-valid features would just be ignored, since they couldn't have been extracted anyways, and non-valid scopes (static ones in a dynamic analysis run) would not match.
cons:

it feels like a bit of a hack

pros:

easier to implement and maintain: no pruning involved, and no multi-statements either.
it would be easy to support old rules.
if we choose to make it possible to specify different scopes in the future at subscope level, then this approach should make things easier. For example:

rule:
  meta:
    scopes:
      static: function
      dynamic: thread
  features:
    - and:
      - instruction|call:
        - and:
          - api: some_api
          - or:
            - arguments:
              - description: api callscope arguments
              - arg1: 0x123
              - arg2: 0x456
            - and:
              - description: api arguments
              - number: 0x123
              - number: 0x456

Supporting old rules:
Currently, we're enforcing all instances of the Rule class to have both scopes specified (child rules have the DEV_SCOPE sinkhole scope), and I think it's imperative to make it possible for rules to be able to specify just one scope (at least for subscope rules).
I propose that we make the scopes keyword the standard, and provide a script (or a sed oneliner really) that replaces "scope: {some scope}" with "scopes:\n  static: {some scope}". However, supporting the legacy format of "scope:" also sounds fine to me.
I think that we should also assume the dynamic scope to be process when no dynamic scope is specified; and if the rule should be only used in static analysis, then the rule author should specify the dynamic scope as invalid as @williballenthin suggested previously.
thoughts on all of this?

We should try to keep it simple and 3 sounds good to me for that. I'm not a fan of the instruction|call definition though I'd have to see more rules in practice.

i agree that (3) makes sense, in fact, it may require the fewest code changes. let's try this out, and if we encounter unexpected complications, we can re-evaluate and use (2) as a fallback.

I propose that we make the scopes keyword the standard, and provide a script (or a sed oneliner really) that replaces "scope: {some scope}" with "scopes:\n static: {some scope}". However, supporting the legacy format of "scope:" also sounds fine to me.

if we're going to update rules, then we should do a little extra work to make the scopes explicit. that means providing both static: and dynamic: entries. only if we're going to continue to support scope: should we have implicit behavior.
updating all rules with sed seems easy, though it doesn't really take into account finding rules that don't make sense in a dynamic context. do we make the changes blindly and then fix things up by hand? or make the changes slowly, only as we've had a chance to review the logic? im inclined to recommend the second one until we're sure what we want to do.
if we used sed to make the changes but not commit them, then we could use a tool like tig status (or other interactive git UI) to review the rules and the scope mapping and easily stage/unstage/revert them. it would still require going through 800+ rules.
so again im feeling like we should maybe migrate a subset of rules that are interesting and relevant and see how that goes. only once we're happy will i be willing to spend hours reviewing rule updates.

+1 for using only a subset of rules to test things out. i suggest we create a dynamic-feature-extraction branch on capa-rules and then add the rules we think would be nice to test. once we're satisfied with things, we can merge that branch to master.

Closed in #1671


Deye 3p hybrid inverter: add active battery control

Describe the solution you'd like
Deye is using Timeslots (called Time of use TOU) which can be used to control the battery soc in specified time slots.
See also page 33 in the manual.
It is possible to change these values via modbus. If the timeslot 1 is set like 00:00 - 23:59, the battery won't discharge any more if the Register 166 is set to the current state of the battery. See also the attached modbus register description.
Additional context
Checks with mbpoll where sucessfull, setting soc for timeslot 1 to 100%
sudo mbpoll -1 -a 1 -b 9600 -r 166 -0 -P none -t 4:int  /dev/ttyACM0 100
mbpoll 1.0-0 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright © 2015-2019 Pascal JEAN, https://github.com/epsilonrt/mbpoll
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type 'mbpoll -w' for details.

Protocol configuration: Modbus RTU
Slave configuration...: address = [1]
                        start reference = 166, count = 1
Communication.........: /dev/ttyACM0,       9600-8N1
                        t/o 1.00 s, poll rate 1000 ms
Data type.............: 32-bit integer (little endian), output (holding) register table

Written 1 references.

Modbus_Deye.pdf

https://github.com/evcc-io/evcc/pull/12415


save_diskspace may be incompatible with kraken implementation

When save_diskspace is activated, kraken tries to access the dummy .fq.gz files in align_prep and exits with an error. I propose that kraken could use the original FASTQ files from inputs instead. That should be a quick fix about here.

Hi @schelhorn
thanks for the tips. I am not sure where else the original FASTQ file could be, I am using data['files'] but this is not working in this case. @chapmanb , do you know other key inside the data structure where the original FASTQ can be? I think inputs in only available when CWL is running. Will try to figure out this.

I guess files is overwritten with the files from align_pre once these are generated. Perhaps there could be an additional field added to the global data structure; other QC tools use the FASTQ files as well - how are they doing it?

Lorena and Sven-Eric;
Thanks so much for digging into this. Apologies, I hadn't realized the fastq files were used outside of the original alignment steps. I added in the ability to save the original fastqs so we can use those as
input to Kraken instead of the cleaned and removed ones. Another potential long term approach would be to stream fastqs from the align_bam file as input. That would be cleaner but is a bigger change so I made the simple one to get things working again. Let us know if you run into any other problems.


[downloader/fragment] continue downloading m3u8 file when the first segment is not available

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

Issue
I tried to use the native downloader for .m3u8 files with the flag --skip-unavailable-fragments set. The download stopped because the first segment was not found. I would expect it to keep downloading because 987 out of the total 1617 segments are valid.
yt-dlp \
  --fragment-retries 0 \
  --skip-unavailable-fragments \
  --concurrent-fragments 4 \
  https://dgeft87wbj63p.cloudfront.net/41121f0ea4da3c7aaa6e_hype_39944049528_1665691009/chunked/index-dvr.m3u8

ERROR: [generic] 'true' is not a valid URL. Set --default-search "ytsearch" (or run  yt-dlp "ytsearch:true" ) to search YouTube
[generic] index-dvr: Downloading webpage
[generic] index-dvr: Downloading m3u8 information
[info] index-dvr: Downloading 1 format(s): 0
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 1617
[download] Destination: index-dvr [index-dvr].mp4
[download] Got error: HTTP Error 403: Forbidden
ERROR: fragment 1 not found, unable to continue

It works as expected when using the ffmpeg downloader.
yt-dlp \
  --fragment-retries 0 \
  --skip-unavailable-fragments \
  --downloader ffmpeg \
  https://dgeft87wbj63p.cloudfront.net/41121f0ea4da3c7aaa6e_hype_39944049528_1665691009/chunked/index-dvr.m3u8

Changes
The method download_and_append_fragments of the class FragmentFD now continues to download in the case that the first segment is invalid and the skip_unavailable_fragments property is True. The method prints an error and returns False if no bytes are read. This was not necessary previously because the first segment was guaranteed to be present. The previous code says # Never skip the first fragment. I don't understand the reasoning for that.
Fixes #
Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[x] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

The previous code says # Never skip the first fragment. I don't understand the reasoning for that.

It was added in https://github.com/yt-dlp/yt-dlp/commit/919cf1a62f022c61cfa65498e8c1b1cc0d21046e.
The explanation given was
            # In DASH, the first segment contains necessary headers to
            # generate a valid MP4 file, so always abort for the first segment

If I'm not mistaken, that logic got added for hls(m3u8) in https://github.com/yt-dlp/yt-dlp/pull/364/commits/e23d2876304829a4af5215924531e0ab6272ccd5 (merged in https://github.com/yt-dlp/yt-dlp/pull/364). I suspect that Pukkandan didn't realise that that logic was intentionally limited to DASH formats (see the top comment in https://github.com/ytdl-org/youtube-dl/pull/10542, which was merged in https://github.com/ytdl-org/youtube-dl/commit/919cf1a62f022c61cfa65498e8c1b1cc0d21046e)

That makes sense now. It looks like the requirement to include the first segment appears in 000ee7ef3440349cd714f8bdfab4214648881805. It seems like it's correct for .mpd files, but incorrect for .m3u8 files.
The duplicated code was then consolidated into the FragmentFD methods download_and_append_fragments and download_and_append_fragments_multiple. Those methods appear to only be used in HlsFD and DashSegmentsFD. A couple other classes extend FragmentFD, but I don't find those methods being used there.
It might be okay to just remove those methods from FragmentFD and duplicate them across HlsFD and DashSegmentsFD with a minor fix for HlsFD.
Alternatively, a flag could be added to download_and_append_fragments to communicate whether the first segment is needed.


integration/become/sudo_password.yml random failure

Looks like a race in Ansible's new become plugins stuff
MODE=ansible VER=2.8.3 DISTROS=debian STRATEGY=linear

PLAY [integration/become/sudo_password.yml] ************************************

TASK [Ensure sudo password absent but required. _raw_params=whoami] ************
fatal: /home/travis/build/dw/mitogen/tests/ansible/integration/become/sudo_password.yml:8: [target-debian-1]: FAILED! => {
  msg: Missing sudo password
}

TASK [assert that=out.failed and (
  ('password is required' in out.msg) or
  ('password is required' in out.module_stderr)
)
] ***
fatal: /home/travis/build/dw/mitogen/tests/ansible/integration/become/sudo_password.yml:15: [target-debian-1]: FAILED! => {
  msg: The conditional check 'out.failed and (
  msg:   ('password is required' in out.msg) or
  msg:   ('password is required' in out.module_stderr)
  msg: )
  msg: ' failed. The error was: error while evaluating conditional (out.failed and (
  msg:   ('password is required' in out.msg) or
  msg:   ('password is required' in out.module_stderr)
  msg: )
  msg: ): Unable to look up a name or access an attribute in template string ({% if out.failed and (
  msg:   ('password is required' in out.msg) or
  msg:   ('password is required' in out.module_stderr)
  msg: )
  msg:  %} True {% else %} False {% endif %}).
  msg: Make sure your variable name does not contain invalid characters like '-': argument of type 'AnsibleUndefined' is not iterable
}

NO MORE HOSTS LEFT *************************************************************

its not a random failure,, it's something broken in 0.8.3. reverted to 0.8.0


Increase settings scope

I'm using code server and it allows for 4 levels of settings

User
Remote
Workspace
Folder

I tried move the settings to Remote but get the following error:

Thank you.

Fixed in v2.0.0


dynamic steps in a multi-step form

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[X] support request

Current behavior

In a multi-step form I would like to customize step 2 based on the selection of step 1 is this possible with ngx-formly ? How would you go about it ?
Expected behavior

Enable a way to pick ngx-formly configuration fragment based on prior selection.
Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.X

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =

that's depend :), for me I mainly rely on hideExpression (https://formly-js.github.io/ngx-formly/examples/field-options/hide-fields) and expressionProperties (https://formly-js.github.io/ngx-formly/examples/field-options/expression-properties

how to totally build step2 only when the user clicks the next button?
for clarification:
when the page initially rendered, the step1 form is displayed to the user.
when he click next to go to step2 at the first time, an http request is performed to update model and create the step2 based on the retrieved data.

how to totally build step2 only when the user clicks the next button?

Just attach the extra config to the parent field once loaded, then call build form.
next(step) {
  if (not_loaded) {
    // attach the loaded config to the current field
    this.field.fieldGroup[step] = [{ key: 'name', type: 'input' }];

    // build (V6)
    // this.options.build();

    // build (V5)
    // (<any> this.options)._buildForm(true);
  }

  ....
}

You may also check our Multi-Step Form example: https://formly.dev/examples/advanced/multi-step-form


(Kinda) Fixing debug = true, vc_runtime = "MTd" builds

Note that the build is still broken because the check_cxxsnippets doesn't get linked to the right libraries, so I'm hoping I could get some help here. I tried adding debug = package:debug() and vs_runtime = package:config("vc_runtime") but it didn't help :/

please push to dev branch to trigger ci next.


Implement virtio-gpu with 2D rendering mode

Overview
This pull request adds basic virtio-gpu support for semu (conformed to spec. 1.2), which comprises the following changes:

Implement virtio-gpu device with 2D rendering mode, in which the PIXMAN and SDL libraries are used.
Enable virtio-gpu kernel module
Enable virtio-gpu in the device tree source
Extend initrd region size to 35 MiB for containing virio-gpu moudles (~30 MiB)
Enable libdrm from Buildroot setting
Enable depmod from BusyBox setting as it is essential for using modprobe command
Add shell script for packing kernel modules and launch script into the initrd image

Implemented Commands

VIRTIO_GPU_CMD_GET_DISPLAY_INFO: Notifying the guest about the display size and state (i.e., enabled or disabled).
VIRTIO_GPU_CMD_RESOURCE_CREATE_2D:  Notifying the host to prepare data structure for storing image.
VIRTIO_GPU_CMD_RESOURCE_UNREF: Notifying the host to destroy data structure of a 2D resource.
VIRTIO_GPU_CMD_GET_EDID: Notifying the guest about the virtual connector's information (i.e., display).
VIRTIO_GPU_CMD_GET_CAPSET_INFO: Notifying the guest the display capability sets.
VIRTIO_GPU_CMD_SET_SCANOUT: Notifying the host to know which scanout (i.e., display) should link to which 2D resource.
VIRTIO_GPU_CMD_RESOURCE_FLUSH: Notifying the host that the image data is ready to render.
VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D: Notifying the host to copy the image data from the guest.
VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING: Notifying the host to record some memory pages (for storing image) for a 2D resource.

Test Procedures

Install SDL:

git clone https://github.com/libsdl-org/SDL.git -b SDL2
cd SDL
mkdir build
cd build
../configure
make
sudo make install

Install Pixman:

git clone https://github.com/libpixman/pixman.git
cd pixman/
./autogen.sh
make -j$(nproc)
sudo make install

Build semu:

cd semu/
make

Build virtio-gpu test image:

./scripts/create-initrd-img.sh

Launch semu:

make check

After semu is launched, log in and execute run.sh to load the modules:

mkdir mnt
mount /dev/vda mnt
cd mnt
sh ./run.sh

After the modules are loaded, type:

modetest -M virtio_gpu -s 34:1024x768

A test image should then show up in the display window.
Reference output (text-only):
Welcome to Buildroot
buildroot login: root
# mkdir mnt
# mount /dev/vda mnt
[   21.086929] EXT4-fs (vda): recovery complete
[   21.087346] EXT4-fs (vda): mounted filesystem with ordered data mode. Quota mode: disabled.
# cd mnt
# sh ./run.sh
[   42.533320] [drm] features: -virgl +edid -resource_blob -host_visible
[   42.533399] [drm] features: -context_init
[   42.535654] [drm] number of scanouts: 1
[   42.535836] [drm] number of cap sets: 0
[   42.542754] [drm] Initialized virtio_gpu 0.1.0 0 for f4300000.virtio on minor 0
# modetest -M virtio_gpu -s 34:1024x768
setting mode 1024x768-60.00Hz on connectors 34, crtc 33
[   62.780039] virtio-mmio f4300000.virtio: [drm] drm_plane_enable_fb_damage_clips() not called
failed to set gamma: Function not implemented

How about using virglrenderer?
See https://mail.gnu.org/archive/html/qemu-devel/2021-02/msg04235.html

Yes, I do plan to support VirGL for acceleration.
As far as I know, the offloading of rendering operations to the host GPU is called 3D mode by VirtIO's spec, whereas this pull request only implemented 2D mode due to the overall complexity.
Before implementing 3D rendering mode with VirGL, I think we need to configure the Buildroot to have a minimal desktop environment or set the Mesa benchmark tools without a desktop manager (I'm not sure if this is feasible).
In conclusion, I'll recommend first merging this pull request as a checkpoint for virtio-gpu and then adding support for VirGL in a later pull request.

Reference: How to run headless unit tests for GUIs on GitHub actions

Rather than relying on Xvfb as a heavy-duty solution for validating Linux DRM/framebuffer, it might be more efficient to use lighter tools like drm-framebuffer. This tool, designed for testing drm devices, takes data from stdin and displays it, offering a simpler and more straightforward approach.

Rather than relying on Xvfb as a heavy-duty solution for validating Linux DRM/framebuffer, it might be more efficient to use lighter tools like drm-framebuffer. This tool, designed for testing drm devices, takes data from stdin and displays it, offering a simpler and more straightforward approach.

Actually, the idea of using Xvfb here is to make sure the SDL window can be launched in the CI environment by GitHub Action.

Merely executing Xvfb :1 -screen 0 1600x1200x24 is inadequate because, although it confirms the initialization of SDL with libX11, it does not guarantee the accuracy of the window content rendered in Xvfb.

Merely executing Xvfb :1 -screen 0 1600x1200x24 is inadequate because, although it confirms the initialization of SDL with libX11, it does not guarantee the accuracy of the window content rendered in Xvfb.

The latest modification allows the virtio-gpu to be run without SDL, so the current CI test can pass by executing make ENABLE_SDL=0.

I dislike the inclusion to target the X Window System for 2D rendering verification in minimalist system emulators like semu. We could instead leverage existing packages that render graphical content directly to the Linux framebuffer, supported by the proposed virtio-gpu path. On the other hand, the installation and footprint of the X Window System are generally larger, resulting in limited functionality with minimal installations.

I dislike the inclusion to target the X Window System for 2D rendering verification in minimalist system emulators like semu. We could instead leverage existing packages that render graphical content directly to the Linux framebuffer, supported by the proposed virtio-gpu path. On the other hand, the installation and footprint of the X Window System are generally larger, resulting in limited functionality with minimal installations.

How about using DirectFB with Mesa? Here is a FOSDEM presentation I found.
One of the reasons I included X Window System is because later we can test 3D rendering mode (i.e., VirGL) with it.

How about using DirectFB with Mesa? Here is a FOSDEM presentation I found. One of the reasons I included X Window System is because later we can test 3D rendering mode (i.e., VirGL) with it.

DirectFB2 (the active DirectFB fork) is really amazing. If buildroot is capable of building DirectFB2 packages from scratch, I would like to integrate it as the major showcase.

Git-pushed for progress saving.
linux.config and buildroot.config are still subjected to change (i.e., disable unused functionalities).
The proper size for initrd space will be calculated after size reduction.

Discard changes for buildroot.config as no additional feature is needed for enabling DirectFB2 with virtio-gpu.

Discard patch to the DirectFB2 as the modification is accepted by the maintainer.

We can enable SDL support through configuration changes, but the BusyBox-specific settings generate much larger filesystem images, unsuitable for minimal usage. Can you suggest an effective way to switch or customize these settings?

We can enable SDL support through configuration changes, but the BusyBox-specific settings generate much larger filesystem images, unsuitable for minimal usage. Can you suggest an effective way to switch or customize these settings?

I think we now have no modification to BusyBox's setting now as they were dropped in an earlier version.
This pull request currently only modifies linux.config with the following new features enabled:

virtio-gpu driver
fbdev (Linux Framebuffer) subsystem
DRM subsystem (Required by virtio-gpu)
HDMI driver (Force selected by DRM)
I2C driver (Force selected by DRM)
DMA shared buffer feature (Force selected by DRM)

According to the Kconfig files from the Linux kernel:
config DRM_VIRTIO_GPU
        tristate "Virtio GPU driver"
>        depends on DRM && VIRTIO_MENU && MMU
        select VIRTIO
        select DRM_KMS_HELPER
        select DRM_GEM_SHMEM_HELPER
        select VIRTIO_DMA_SHARED_BUFFER
        help
           This is the virtual GPU driver for virtio.  It can be used with
           QEMU based VMMs (like KVM or Xen).

           If unsure say M.

menuconfig DRM
        tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
        depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
        select DRM_NOMODESET
        select DRM_PANEL_ORIENTATION_QUIRKS
>        select HDMI
>        select FB_CMDLINE
>        select I2C
        select I2C_ALGOBIT
>        select DMA_SHARED_BUFFER
        select SYNC_FILE
...

Also, since SDL2 is compiled with semu as a part of the host, I think it is not related to .config file setting.

A Buildroot patch that added support for DirectFB2 is submitted via mailing list.
For the code modification, please refer to https://github.com/shengwen-tw/buildroot/commit/aad03b5b786028e61cf602677adfde2324a5939c.

Can you provide a video recording demonstrating virtio-gpu support in RISC-V system emulation, showcasing graphics rendering and input interactions?

semu can now run DirectFB2 with DRM/KMS mode.
This is done by enforcing DirectFB2 to run with X8R8G8B8 format via code modification. (By default DirectFB2 uses A8R8G8B8 format but this failed to work so far, which requires further investigation)
DRM/KMS is crucial for integrating VirGL to the semu project as Linux framebuffer device does not trigger any 3D rendering operations.

A change to the DirectFB2 is proposed for resolving the issue:
https://github.com/directfb2/DirectFB2/pull/154


feat: Template XML and JSON Files

XML and JSON files can now include template tags and will be compiled. This allows for dynamically generated RSS/JSON feeds and XML Sitemaps.
For now, the template compiler processes files with an .xml, .rss or .json extension the same way it processes HTML files. This works fine as long as you do not use content types that output HTML.
This functionality can be improved by modifying the template compiler to recognize XML and JSON files and output some content types differently (e. g. render the Image content type without the img tag by default, so one does not have to use the tag=false parameter).
I have tested it locally with an XML and a JSON file. Should I add a proper test? The changes are not huge though.

Commit 9527900 also makes Vapid serve static XML and JSON files with their corresponding Content-Type that are currently served with the text/html Content-Type and rendered as HTML pages in the browser.

Yes, this one is ready for review.
I’ll try to write a test for it.

@srobbin Could you help me out a bit or point me in the right direction? I’m not quite sure what tests to add.

@JohJakob I'll take a look and see if I can provide some guidance or a test.

@srobbin Thank you :)

@srobbin Ah, yes! I’ll take a look at that and add a check so livereload will only be used in HTML files.

@srobbin The livereload script should only be injected into HTML files now (see this commit).

@srobbin Do you think this requires any additional tests? It works the same way as in HTML files, just with other plain text file types.

@JohJakob I'm sorry, I haven't been maintaining this repo. I'll merge this in now. Thank you again for adding this feature—it's great.

@srobbin No worries! It wasn’t urgent. Thanks for merging!

@srobbin Could you also add a new release with this feature, please? 🙂

@JohJakob Of course, I'm working on that now. It should be up shortly.

@srobbin Ah, great! Thank you so much!


Feature file management

In /api/file_management and in /api/file_management/ are present the metadata of the records to be revisioned and can be retrieved even by a normal user

Everytime you push please check the results of Travis. In this case there are a few linting errors preventing the tests to run, please see this: https://travis-ci.org/open-education-polito/fare-invenio/jobs/655410713#L2303

@CorsoGabriele also remember to run tests locally before pushing so that we ensure that there are no issues.


Runtime crash: 'freed pointer was not the last allocation'

Description
One of the tests in the attached repository reliably crashes at runtime. This seems to be related to DiscardingTaskGroup as switching to TaskGroup<Void> doesn't crash.
Reproduction

Extract grpc-swift.zip
Using Swift version 6.0-dev (LLVM 723ba90c22d3da1, Swift ae7e24dc658e067) (swiftlang/swift:nightly-6.0-jammy, sha256:4624a3c7404f479e55d69dc5e41f94e399cb0c11f291f81689d81e593b409610)
On the crash branch run swift test --filter ClientRPCExecutorTests.testRetriesCantBeExecutedForTooManyRequestMessages

Stack dump
freed pointer was not the last allocation
*** Signal 6: Backtracing from 0xffff95f6f200... done ***

*** Program crashed: Aborted at 0x0000000000002b82 ***

Thread 0 crashed:

 0                  0x0000ffff95f6f200 <unknown> in libc.so.6
 1 [ra]             0x0000ffff95f2a67c <unknown> in libc.so.6
 2 [ra]             0x0000ffff95f17130 <unknown> in libc.so.6
 3 [ra]             0x0000ffff96fa4c24 swift::swift_Concurrency_fatalErrorv(unsigned int, char const*, std::__va_list) + 43 in libswift_Concurrency.so
 4 [ra]             0x0000ffff96fa4c84 swift::swift_Concurrency_fatalError(unsigned int, char const*, ...) + 95 in libswift_Concurrency.so
 5 [ra]             0x0000ffff96fa6be8 swift_task_dealloc + 127 in libswift_Concurrency.so
 6 [ra]             0x0000aaaacfb1a840 ClientRPCExecutor.RetryExecutor.executeAttempt<A>(stream:metadata:retryStream:method:attempt:responseHandler:) + 215 in grpc-swiftPackageTests.xctest at /code/Sources/GRPCCore/Call/Client/Internal/ClientRPCExecutor+RetryExecutor.swift:209:18
 7 [async]          0x0000aaaacfb1a448 closure #1 in closure #3 in closure #1 in ClientRPCExecutor.RetryExecutor.execute<A>(request:method:options:responseHandler:) in grpc-swiftPackageTests.xctest at /code/Sources/GRPCCore/Call/Client/Internal/ClientRPCExecutor+RetryExecutor.swift:134
 8 [async] [thunk]  0x0000aaaacfb207ac partial apply for closure #1 in closure #3 in closure #1 in ClientRPCExecutor.RetryExecutor.execute<A>(request:method:options:responseHandler:) in grpc-swiftPackageTests.xctest at //<compiler-generated>
 9 [async] [thunk]  0x0000aaaacfb04dec thunk for @escaping @isolated(any) @callee_guaranteed @async () -> (@out A) in grpc-swiftPackageTests.xctest at //<compiler-generated>
10 [async] [thunk]  0x0000aaaacfb07324 partial apply for thunk for @escaping @isolated(any) @callee_guaranteed @async () -> (@out A) in grpc-swiftPackageTests.xctest at //<compiler-generated>
11 [async] [system] 0x0000ffff96fa63dc completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) in libswift_Concurrency.so

Registers:

 x0 0x0000000000000000  0
 x1 0x0000000000002b87  11143
 x2 0x0000000000000006  6
 x3 0x0000ffff917fee00  01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ················
 x4 0x0000ffff97eeab58  00 b8 da 6a 16 71 b9 b7 00 00 00 00 44 01 06 00  ·¸Új·q¹·····D···
 x5 0x00000000fbad2887<PHONE_NUMBER>
 x6 0x6f70206465657266<PHONE_NUMBER>171560038
 x7 0x6177207265746e69<PHONE_NUMBER>608067689
 x8 0x0000000000000083  131
 x9 0x61207473616c2065<PHONE_NUMBER>838287973
x10 0x0000ffff95ef4860  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ················
x11 0x0000000000000000  0
x12 0x0000000000002180  8576
x13 0x0000000000000000  0
x14 0x0000ffff8c00fdb8  60 79 00 8c ff ff 00 00 01 00 00 00 00 00 00 00  `y··ÿÿ··········
x15 0x0000ffff8c00fdb0  b8 f7 56 97 ff ff 00 00 60 79 00 8c ff ff 00 00  ¸÷V·ÿÿ··`y··ÿÿ··
x16 0x0000000000000001  1
x17 0x0000ffff96fe0578  4c 70 f1 95 ff ff 00 00 48 3f f6 96 ff ff 00 00  Lpñ·ÿÿ··H?ö·ÿÿ··
x18 0x0000ffff8c010120  20 fc 00 8c ff ff 00 00 58 b0 b1 cf aa aa 00 00   ü··ÿÿ··X°±Ïªª··
x19 0x0000000000002b87  11143
x20 0x0000ffff917fee00  01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ················
x21 0x0000000000000006  6
x22 0x0000ffff8c00f610  10 f2 00 8c ff ff 00 00 68 a7 b1 cf aa aa 00 00  ·ò··ÿÿ··h§±Ïªª··
x23 0x0000ffff917ff608  87 2b 00 00 00 00 00 00 b0 82 90 d4 aa aa 00 00  ·+······°··Ôªª··
x24 0x0000ffff8c011c60  00 00 00 00 00 00 00 00 80 1a 01 8c ff ff 00 00  ············ÿÿ··
x25 0x0000000000005019  20505
x26 0x0000ffff917ff5f0  30 eb 00 8c ff ff 00 00 80 e3 7f 91 ff ff 00 00  0ë··ÿÿ···ã··ÿÿ··
x27 0x0000000000000000  0
x28 0x0000ffff917ff5c0  00 27 00 8c ff ff 00 00 00 00 00 00 00 00 00 00  ·'··ÿÿ··········
 fp 0x0000ffff917fdea0  70 df 7f 91 ff ff 00 00 7c a6 f2 95 ff ff 00 00  pß··ÿÿ··|¦ò·ÿÿ··
 lr 0x0000ffff95f6f1ec  e1 03 13 aa e2 03 15 aa 00 7c 40 93 68 10 80 d2  á··ªâ··ª·|@·h··Ò
 sp 0x0000ffff917fdea0  70 df 7f 91 ff ff 00 00 7c a6 f2 95 ff ff 00 00  pß··ÿÿ··|¦ò·ÿÿ··
 pc 0x0000ffff95f6f200  1f 04 40 31 e0 97 80 5a e0 ff ff 17 e0 03 16 aa  ··@1à··Zàÿÿ·à··ª

Images (49 omitted):

0x0000aaaacf3a0000–0x0000aaaad2a52f48 <no build ID>                            grpc-swiftPackageTests.xctest /code/.build/aarch64-unknown-linux-gnu/debug/grpc-swiftPackageTests.xctest
0x0000ffff95ef0000–0x0000ffff96077404 aa6e122fa39ae02d412afb49d75e33281fcd2805 libc.so.6                     /usr/lib/aarch64-linux-gnu/libc.so.6
0x0000ffff96f40000–0x0000ffff96fbf380 cf1639bfd9a10cae9968dcb7baf58403d1a7106a libswift_Concurrency.so       /usr/lib/swift/linux/libswift_Concurrency.so

Backtrace took 1.54s

Expected behavior
Test should complete
Environment
Swift version 6.0-dev (LLVM 723ba90c22d3da1, Swift ae7e24dc658e067)
Target: aarch64-unknown-linux-gnu
Additional information

Doesn't reproduce on macOS
The repo also has a fix branch which switches from DiscardingTaskGroup to TaskGroup<Void>, the same test doesn't crash.

Hmm, these happen when the task local allocator has allocated in some order a b c and frees b before c etc. This is rather unexpected, a discarding taskgroup itself doesn't really task allocate anything hmmm
I'll look into this

@ktoso Any luck on this? We started to catch similar crash in working project when we do parallel await of two async let requests. But I can't reproduce it on small example project :(

No news I'm afraid. Reproducers would certainly help... we've not caught it yet.


Case studies should link to why the web when the dev's idea's match ours

For instance in https://developers.google.com/web/showcase/spotlight/0hh1 when @mrtnkl says "But honestly, you can go from zero to 88 MPH in no time" we should link to the principles https://developers.google.com/web/choosing-the-web?hl=en#instant-load

Very good point but closing for now as the page is inaccessible now.


Symphony 2.3 Visual Style Guide

Same as #859, but for CSS and the backend UI.
References:

http://warpspire.com/posts/kss/
http://cssdoc.net/
http://24ways.org/2011/front-end-style-guides (via @nilshoerrmann)
http://twitter.github.com/bootstrap/ (via @brendo)
https://github.com/stubbornella/csslint/wiki/Rules
http://pea.rs/

Can't mention this without mentioning Bootstrap.
AFAIK @nilshoerrmann was keen to do this task?

I'm not sure if "keen" is the right word, but I said I'll take care of that, yes.

Count me in for this task Nils ;)

Let's not forget the old (?) wiki for Symphony 2.3.


Library deprecated?

Is this library discontinued as I don't see any activities on resolving issues and merging PR for a long time?

I'm with the same doubt.

I've been occupied lately so could not maintain the package. But will work on issues starting March.

Thanks for answering us!

@sarbagyastha Any news about your big comeback? ;)


Remove gzip from tarball.WriteArchive

Gzipping before writing to the output makes it impossible for callers to control the gzip implementation, but more importantly it makes it impossible for callers to get access to the uncompressed tar stream, which is necessary for computing the DiffID for OCI layers.

Merge https://github.com/chainguard-dev/go-apk/pull/38 first.

I did the "update branch", and of course that goes ahead and messes up the enforce signing. Can you go ahead, rebase and push -f it @jonjohnsonjr ?

As you know, I rather like this change. I looked at who uses it downstream, and I see 1 place in apko, and 3 in melange. All expect the output to be a tgz stream, not a tar stream. It is not unreasonable to expect a tgz, as that is the native format for many things in apko. We do want to add the control you discussed, though.
To simplify the transition, can we add a WriteArchiveGzip() func which just wraps WriteArchive() by providing a gzip?

WriteArchive() - tar to the io.Writer arg, like you propose here
WriteArchiveGzip() - tar gz to the io.Writer arg, like the current state

The second one may eventually go away, but this makes the "provide your own gzip if you want it" optional, rather than required.
Something like:
func (ctx *Context) WriteArchiveGzip(dst io.Writer, src fs.FS) error {
	gzw := gzip.NewWriter(dst)
	defer gzw.Close()
        return ctx.WriteArchive(gzw, src)
}

Then we can update apko and melange calls (those we do not need control) to use just that func.

Pushed a variant of what you suggested -- this keeps the behavior of WriteArchive but deprecates it.
Now there's WriteTar and WriteTargz which are more explicit. This allows us to just bump the dependency without breaking anything.
PTAL!


sam_e70_xplained spi-loopback test breaks compilation

SPI Loopback Test fails in sam_e70_xplained board.
To Reproduce
Steps to reproduce the behavior:

mkdir build; cd build
cmake -DBOARD=sam_e70_xplained ../
make
See error

Fixed by #11704


covert those two paragraphs into a bulleted list is done

Why:
Closes [https://github.com/github/docs/issues/18187]

What's being changed:
covert those two paragraphs into a bulleted list is done

Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

@janiceilene Can I close this PR then?
__
  Summary: :question: I have a question

@janiceilene I closed this PR and made a new PR with the whole changes. Can You check it again?
__
  Summary: :hammer_and_wrench: This code needs a fix


remove index read conf

We will enable index scan by default.

We need to enable it by default. We need to make the index scan stable. The only use of this parameter is to let the user use table scan in case there is some bug in the index scan.


Password-Recovery-Feature

Pull Request Template for GSoC 2024
Related Issue:  #375 Integrate Password Recovery Feature
[Please list any related issue numbers that this pull request resolves. If none, state "None"]
closes: #375
Description of Changes
[Provide a concise description of the changes introduced by this PR, detailing what’s been added, modified, or fixed.]
This PR introduces the Password Recovery Feature, allowing users to recover their forgotten passwords through a secure email verification process.
Type of Pull Request

[ ] Bug Fix
[X] New Feature
[X] Performance Improvement
[ ] Documentation Update
[] Code Refactoring
[X] Security Enhancement
[ ] Other (Specify): _______________

(Please check relevant boxes by entering an "X" inside them)
Screenshots / Demo (if applicable)

https://github.com/user-attachments/assets/4835f5c8-7d22-472a-87ef-14d464ce64a3
[Include any screenshots, GIFs, or videos that demonstrate the change or feature, if available.]
Checklist for Contributor
use'X' in [ ] to check it .

[X] I have reviewed my code before submission.
[X] I have read and followed the project's Contribution Guidelines.
[X] I have tested the code thoroughly.
[X] I have attached related issue numbers, screenshots, or videos (if applicable).
[X] I have added comments to my code where necessary for clarity.
[X] I have checked the existing code base and my changes do not introduce any breaking changes.
[X] My PR addresses only one issue; I have created separate PRs for other issues.
[X] I have ensured that the PR does not include unrelated files.
[X] I am mindful of the project's coding standards and best practices.

Additional Information
[Include any additional context or relevant information that may help in reviewing this PR.]
This feature ensures a seamless and secure password recovery process for users and contributes to a better user experience.
Contribution Guidelines Reminder
Thank you for contributing to our project! Please ensure you follow the guidelines below:
Contribution Levels

Task Categories:

Basic Tasks: Primarily focused on small changes like minor bug fixes, documentation improvements, and unit testing. Labeled as Easy.
Intermediate Tasks: Moderate-level tasks that involve enhancing existing features, code refactoring, or performance improvements. Labeled as Medium.
Advanced Tasks: Complex tasks like building new features, significant refactoring, or critical bug fixes. Labeled as Hard.

Acknowledging Effort:

Exceptional contributions will be recognized with a higher contribution level if substantial effort and innovation are demonstrated.

Review Process

PRs will be reviewed by the maintainers, and feedback will be provided. Contributors should address feedback promptly and resubmit the PR if necessary.

Contributors are encouraged to participate in the review process of other PRs for community growth.

We appreciate your time and effort in improving this project and look forward to your valuable contributions!

Hey @dhairyagothi, I have submitted a pull request for the Password Recovery Feature, which enhances the app's usability and security by enabling users to securely reset forgotten passwords. The implementation required significant effort, including backend validation and front-end updates. I believe this aligns with the criteria for a Level 3 task, and I kindly request that this tag be assigned to the PR.

@saras-69 please sync fork there is a recent PR merged

@dhairyagothi done

Hey @dhairyagothi, I have submitted a pull request for the Password Recovery Feature, which enhances the app's usability and security by enabling users to securely reset forgotten passwords. The implementation required significant effort, including backend validation and front-end updates. I believe this aligns with the criteria for a Level 3 task, and I kindly request that this tag be assigned to the PR.

Could you please take a moment to review it? Your feedback and consideration for the Level 3 tag would be greatly appreciated.


TYDAC OD Geoportals

hi ... have a look at https://www.mapplus.ch/

Thanks for the link. Added! 👍


fix korean broken issue (#5298)

Motivation and context

There is an issue with Korean input when proceeding with text form labels.
Consonants and vowels are entered in order, but consonants and vowels are entered separately.
Expected Behaviour "유형자산마리아가나"
Current Behaviour "유형자산ㅁㅏㄹㅣㅇㅏㄱㅏㄴㅏ"
link : https://github.com/opencv/cvat/issues/5298
image :

How has this been tested?

Checklist

[ ] I submit my changes into the develop branch
[ ] I have added a description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[ ] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

@taeseok-lomin , thanks for the contribution! If you can add us a regression test, it will be awesome. Thus we will be sure that it isn't broken in our next releases.

@nmanovic
Thanks for your interest in my pull request (PR).
However, in order to fork with my company account, I will close this PR and create another PR soon.
I'll review the part that doesn't pass the test code.
thanks a lot

Could you please go ahead with this PR?
https://github.com/opencv/cvat/pull/5425
I'm sorry if this bothers you.


Distinct Strings and SemiExplicitConverter

I created a DistinctStrings class and a DistinctStringsSketch. The DistinctStrings class can create a SemiExplicitConverter which is just an explicit converter with a default value.
In TestUtil I added a static createTable function that creates a table with 3 columns of different types and different distributions. I test this in DistinctStringsSketchTest.

I committed the changes to my branch converters. I fixed a bug in the getConverter method. For some reason previous version destroyed the DistinctStrings object while creating the converter. I fixed that. However, after merging my tests FAIL on a RemotingTest.


pausing auto-animation buttons

It depends on #320.
pausingButtons option passed to the Carousel component, it's an object with the following fields:

position (String) - where the pausing component is placed:

bottom
left
right
top

stopButtonText (String, default ⏸) - the text placed on the button stoping the animation
startButtonText (String, default ▶) - the text placed on the button starting the animation
multipleButtons (Boolean, default true) - if it's set to true, it displays two buttons: one to stop animation, another to start so one of the buttons is always disabled; if it's set to false, it shows only one button with changing text

Closing because #320 is closed


[Android] Memory increases each time ItemsSource updated

Hello,
I have a button that refreshes my carousel data. Every time I press the button, I first clean the ObservableCollection and then fill it with the new data I want to show, but the memory of my phone increases each time and it is not released. Here is my code:
CarouselViewControl formCarousel = new CarouselViewControl();
ObservableCollection<MyItem> viewsSource = new ObservableCollection<MyItem>();

public MyMainPage()
{
	formCarousel.ItemTemplate = new viewTemplate();
	formCarousel.ItemsSource = viewsSource;
	formCarousel.InterPageSpacing = 0;
	formCarousel.ShowIndicators = false;
}

private void refreshButton_Clicked(object sender, EventArgs e)
{
	viewsSource.Clear();

	viewsSource.Add(new MyItem
	{
		name = "User1",
		uds = 12
	});
	viewsSource.Add(new MyItem
	{
		name = "User2",
		uds = 5
	});
	viewsSource.Add(new MyItem
	{
		name = "User3",
		uds = 8
	});
}

The template is showing a Syncfusion chart.
I have noticed that in Android, iOS not tested.
Thank you!

Can you provide a demo?

Hi,
After testing, the problem is not related to the use of graphics. I tried to load the data source only the first time, and in the successive calls just update it, and so the phone's memory does not increase, but now the problem is that the carousel data does not change according to the new information.
if (viewsSource.Count == 0)
{
	viewsSource.Add(new MyItem
	{
		name = "User1",
		uds = 12
	});
	viewsSource.Add(new MyItem
	{
		name = "User2",
		uds = 5
	});
	viewsSource.Add(new MyItem
	{
		name = "User3",
		uds = 8
	});
}
else
{
	viewsSource[0].name = "User1";
	viewsSource[0].uds = "9999";
	viewsSource[1].name = "User2";
	viewsSource[1].uds = "9999";
	viewsSource[2].name = "User3";
	viewsSource[2].uds = "9999";
}

Thanks.

Are you using .Net Standard? If you do, please use version 1.4

Hi,
I´m not using .Net Standard. My installed version is 5.0.2.
Thanks.

Are you implementing PropertyChanged on the ItemsSource?

Also, each object property needs to implement PropertyChanged otherwise the UI won't know this properties changed and wont update itself. I use Fody PropertyChanged in my own projects, not only in ViewModels but also in strongly typed custom objects that will be properties in my ViewModels and its properties will be bind to UI.

Implementing PropertyChanged refreshes the data correctly. By the way, thanks for Fody's comment, I didnt know that tool.
Having solved the problem of memory, for my part I closed the thread.
Thank you very much!

Yeah, Fody makes your ViewModels code simpler and cleaner.


haskellPackages.matplotlib: unmark as broken

Motivation for this change
Wanted to use matplotlib in haskell.
The package is broken because the test are failing. This is due to a runtime dependency on python. I can confirm that the package works fine if python and matplotlib are installed in the environment.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS)
Built on platform(s)

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

[x] Tested the library is usable
[x] Tested compilation of all pkgs that depend on this change using (none)
[x] Tested execution of all binary files (none)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @peti

Please target the branch haskell-updates with updates that modify configuration-hackage2nix.yaml. There are automatic re-generation procedures in place that update hackage-packages.nix based on that file, and those processes work on haskell-updates -- not master.


Install: permit ARM-based Macs

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you successfully run brew style with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

ARM Macs exist now! We need to permit those too.

That was added in https://github.com/Homebrew/brew/commit/3df97b20d52ef76043fcc33cd5040886dc6da2b3 - should we revert that change in its entirety?

The Linux specific function has different messaging. If I delete it, it will point PPC64 Linux users at Tigerbrew instead.


Feat(eos_designs): Add control for redistribution of MLAG peering subnet

Change Summary

Add control for redistribution of MLAG peering subnet
Related Issue(s)
Fixes #1415
Component(s) name
arista.avd.eos_designs
Proposed changes

    <network_services_keys.name>:
      - name: <str>
        redistribute_mlag_ibgp_peering_vrfs: <bool>
        vrfs:
          - name: <str>
            redistribute_mlag_ibgp_peering_vrfs: <bool>

See changed files for example of output.

Finds all VRFs where redistribution has been disabled (default=True)

Add MLAG peer subnet to a list of disabled subnets

Respects custom IP algorithms and VRF specific pools.

Create a single prefix-list with all subnets.
Create a route-map denying  the prefix-list, but permitting everything else.
Associate the route-map to redistribute connected only on VRFs where it has been disabled.

How to test

Added molecule coverage.
Asking customers to test.
Checklist
User Checklist

N/A

Repository Checklist

[x] My code has been rebased from devel before I start
[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation and documentation have been updated accordingly.
[x] I have updated molecule CI testing accordingly. (check the box if not applicable)

@ClausHolbechArista
Christian is on parental leave. He has implemented some kind of filtering of the MLAG peering subnet in the network.
I will have a look, at it, remove current filtering in the QA environment and try to test your implementation this week.

@ClausHolbechArista Christian is on parental leave. He has implemented some kind of filtering of the MLAG peering subnet in the network. I will have a look, at it, remove current filtering in the QA environment and try to test your implementation this week.

@kmueller68 Thanks for the update, we will wait for your feedback!

tested it successfully against cutomer repo and eve-ng qual fabric.
      DC_OUTSIDE:
        vrf_vni: 14
        redistribute_mlag_ibgp_peering_vrfs: false
        vtep_diagnostic:
          loopback: 104

tested it successfully against cutomer repo and eve-ng qual fabric.
      DC_OUTSIDE:
        vrf_vni: 14
        redistribute_mlag_ibgp_peering_vrfs: false
        vtep_diagnostic:
          loopback: 104

Thank you Karl! We will get this one merged.


Problem installing with the yaml files [BUG]

What happened:
I cannot install kubedl using the provided yaml installation but the kubedl pod seems to have problem starting.
following the steps described for Yaml installation
saeid@saeid-OptiPlex-7440-AIO:~/codes/kubedl$ kubectl apply -f https://raw.githubusercontent.com/kubedl-io/kubedl/master/config/manager/all_in_one.yaml
saeid@saeid-OptiPlex-7440-AIO:~/codes/kubedl$ kubectl get pods --all-namespaces
NAMESPACE              NAME                                         READY   STATUS             RESTARTS       AGE
kube-system            coredns-78fcd69978-7vr9g                     1/1     Running            1 (170m ago)   2d16h
kube-system            etcd-minikube                                1/1     Running            1 (170m ago)   2d16h
kube-system            kube-apiserver-minikube                      1/1     Running            1 (170m ago)   2d16h
kube-system            kube-controller-manager-minikube             1/1     Running            1 (170m ago)   2d16h
kube-system            kube-proxy-g55r9                             1/1     Running            1 (170m ago)   2d16h
kube-system            kube-scheduler-minikube                      1/1     Running            1 (170m ago)   2d16h
kube-system            metrics-server-77c99ccb96-9lqn8              1/1     Running            1 (170m ago)   2d16h
kube-system            storage-provisioner                          1/1     Running            3 (164m ago)   2d16h
kubedl-system          kubedl-74bd95588b-28q8n                      0/1     CrashLoopBackOff   8 (40s ago)    16m
kubernetes-dashboard   dashboard-metrics-scraper-5594458c94-pmcdr   1/1     Running            1 (170m ago)   3h55m
kubernetes-dashboard   kubernetes-dashboard-654cf69797-cbcbf        1/1     Running            2 (164m ago)   3h55m

Environment:

KubeDL version:
Kubernetes version (use kubectl version): v1.22.3
OS (e.g: cat /etc/os-release): Ubuntu 20.04.3 LTS
Kernel (e.g. uname -a):Ubuntu 20.04.3 LTS
Install tools: kubectl

@saeid93 have you install CRD manifests files before? and could you provide output logs of kubedl which helps us positioning problems.

@SimonCqk I think I have the crds installed correctly:
saeid@saeid-OptiPlex-7440-AIO:~/codes/kubedl$ kubectl get crd
NAME                               CREATED AT
crons.apps.kubedl.io               2021-11-17T12:33:48Z
elasticdljobs.training.kubedl.io   2021-11-17T12:33:48Z
inferences.serving.kubedl.io       2021-11-17T12:33:48Z
marsjobs.training.kubedl.io        2021-11-17T12:33:48Z
models.model.kubedl.io             2021-11-17T12:33:48Z
modelversions.model.kubedl.io      2021-11-17T12:33:48Z
mpijobs.training.kubedl.io         2021-11-17T12:33:49Z
pytorchjobs.training.kubedl.io     2021-11-17T12:33:51Z
tfjobs.training.kubedl.io          2021-11-17T12:33:52Z
xdljobs.training.kubedl.io         2021-11-17T12:33:52Z
xgboostjobs.training.kubedl.io     2021-11-17T12:33:52Z

Here is the output to the logs and describe:
saeid@saeid-OptiPlex-7440-AIO:~/codes/kubedl$ kubectl -n kubedl-system describe pod kubedl-74bd95588b-28q8n
Name:         kubedl-74bd95588b-28q8n
Namespace:    kubedl-system
Priority:     0
Node:         minikube/<IP_ADDRESS>
Start Time:   Wed, 17 Nov 2021 07:34:03 -0500
Labels:       app=kubedl
              pod-template-hash=74bd95588b
Annotations:  <none>
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/kubedl-74bd95588b
Containers:
  kubedl-manager:
    Container ID:   docker://cf71cfe48ab6a6f4ae276e71012a9917b89ba2d36a10d85fe3caf6003201849e
    Image:          kubedl/kubedl:daily
    Image ID:       docker-pullable://kubedl/kubedl@sha256:a4e5651476c62bd51c986cc159b7fad619779e9bbf10fb58f3907cd36dfe7069
    Ports:          8080/TCP, 9876/TCP
    Host Ports:     0/TCP, 0/TCP
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       ContainerCannotRun
      Message:      OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: process_linux.go:508: setting cgroup config for procHooks process caused: failed to write "204800": write /sys/fs/cgroup/cpu,cpuacct/kubepods/burstable/pod10a127bd-3822-4dee-af98-ab62adee548d/cf71cfe48ab6a6f4ae276e71012a9917b89ba2d36a10d85fe3caf6003201849e/cpu.cfs_quota_us: invalid argument: unknown
      Exit Code:    128
      Started:      Wed, 17 Nov 2021 08:05:10 -0500
      Finished:     Wed, 17 Nov 2021 08:05:10 -0500
    Ready:          False
    Restart Count:  11
    Limits:
      cpu:     2048m
      memory:  2Gi
    Requests:
      cpu:        1024m
      memory:     1Gi
    Environment:  <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-9xqrs (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  kube-api-access-9xqrs:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                    From               Message
  ----     ------     ----                   ----               -------
  Normal   Scheduled  34m                    default-scheduler  Successfully assigned kubedl-system/kubedl-74bd95588b-28q8n to minikube
  Normal   Pulled     32m (x5 over 34m)      kubelet            Container image "kubedl/kubedl:daily" already present on machine
  Normal   Created    32m (x5 over 34m)      kubelet            Created container kubedl-manager
  Warning  Failed     32m (x5 over 34m)      kubelet            Error: failed to start container "kubedl-manager": Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: process_linux.go:508: setting cgroup config for procHooks process caused: failed to write "204800": write /sys/fs/cgroup/cpu,cpuacct/kubepods/burstable/pod10a127bd-3822-4dee-af98-ab62adee548d/kubedl-manager/cpu.cfs_quota_us: invalid argument: unknown
  Warning  BackOff    4m14s (x133 over 33m)  kubelet            Back-off restarting failed container

For logs it seems to be empty:
saeid@saeid-OptiPlex-7440-AIO:~/codes/kubedl$ kubectl -n kubedl-system logs -p kubedl-74bd95588b-28q8n
saeid@saeid-OptiPlex-7440-AIO:~/codes/kubedl$

@saeid93 it seems that kubelet can not setup cgroup files correctly.

@SimonCqk Do you have any suggestions about that?

@SimonCqk Do you have any suggestions about that?

taint this node and schedule kubedl pod to another  node? or restart kubelet on this problematic node.

Thanks @SimonCqk, yes it was some problem with my cluster. I finally managed to install Kubedl.

@saeid93 you're welcome, feel free to ask us anything!


Always assume that "'press', 'moveTo', 'tap', 'longPress'" actions require absolute coordinates

It is a breaking change, but at some point of time this should be done anyway. Addresses https://github.com/appium/appium/issues/7486

@imurchie would it be possible to merge this PR to beta after 1.7.2 is published?


[Fix #8842]: Add notification about cache being used to debug mode

When rubocop is ran in debug mode (--debug) and rubocop uses a cache, output the location of cache used. (This is to inform about possible differences between runs..)
Encourage users submitting bugs to use debug mode.

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[X] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[ ] Added tests.
[X] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!


Long Movie names are not shown properly

In the Moviebase app some movie names like "Batman: The doom that came to Gotham" only shows "Batman: The doom that came to". I'm sure it is done to prevent text from overflowing and wrecking the overall structure, but i think it can easily be fixed with little to no efforts.

Thanks for the bug report.


Update Dokka to 1.5.0

Already in 0.10.1. I do not use it because of critical bug in serialization.


docs(schemagen): Update/expand documentation on propertynaming

It seems this area of the documentation was a little out of date, I have updated it!

@dotnet-policy-service agree

Applied all your suggestions, thank you!


split('\n') => splitlines()

because splitlines is smarter about dealing with different line endings.
It will be interesting to see if this test still passes or if it fails on Windows, like the one in #922...

Can one of the admins verify this patch?

ok to test

Hmmm, windows build failed. Is it the test that I changed? Because then if it is, I wonder if it's possible that there are only really 2 nodes and that test was passing before because it was wrong?

It is your test:

I'm reluctant to think that the test was incorrectly passing before, the test cluster has 2 nodes. So the table should have 3 rows (header + row for each node). We can try using '\n' as the delimiter for splitlines. I think it's more likely that there is something going on with converting the bytes to utf-8 and then parsing.

It turned out to be a problem in the Windows environment.
https://github.com/dcos/dcos-cli/pull/922#issuecomment-286912498


Duplicate image asset loader warning is emitted

Bevy version
main, since #15586
Relevant system information
SystemInfo { os: "MacOS 14.5 ", kernel: "23.5.0", cpu: "Apple M1 Max", core_count: "10", memory: "64.0 GiB" }
AdapterInfo { name: "Apple M1 Max", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Metal }

What you did
cargo run --example sprite
What went wrong
2024-10-09T13:41:12.404995Z  WARN bevy_asset::server::loaders: Duplicate AssetLoader preregistered for Asset type `bevy_image::image::Image` with extensions `["hdr"]`. Loader must be specified in a .meta file in order to load assets of this type with these extensions.

Duplicate of #15730.