The 'detekt' Gradle task does not do anything in Kotlin multi-platform projects

Expected Behavior
Either launches detekt on the common sources or on everything.
Observed Behavior

Does not do anything (NO-SOURCE)
Steps to Reproduce

Use Kotlin MPP and Detekt
Launch gradle detekt or ./gradlew detekt

Context

This is quite annoying for Kotlin MPP. A repro repo (that also highlights other issues) is available. I encountered this while trying to set up Detekt for one of my projects.
A possible workaround is to manually configure the detekt task to give it the inputs we want.
Your Environment

Version of detekt used: 1.16.0
Version of Gradle used (if applicable): 6.8.3
Gradle scan link (add --scan option when running the gradle task): https://scans.gradle.com/s/ijjvolhqcdvhk
Operating System and version: Windows 10, 19043
Link to your project (if it's a public repository): https://github.com/utybo/detekt-kotlin-mpp

the detekt task only checks code in src/main/kotlin and src/main/java. If you want it to check other folders you need to use the input configuration.
#3649 will add src/test/kotlin and src/test/java as default folders too. But that will be introduced in the next release.

I can see that #3453 added support for multiplatform projects, but it creates only a set of independent tasks with names like detekt<platform>Main, detekt<platform>Test. For me it would seem logical, if detekt task will still be created and it would aggregate all individual platform tasks. Now these individual tasks are added as dependencies for check task, but it's not clear, how to run only detekt-related task. It can be simply implemented like
tasks.register("detektAll") {
        allprojects {
            this@register.dependsOn(tasks.withType<Detekt>())
        }
    }

but I think it's worth considering to make it default behavior.

That's the intended behavior

For me it would seem logical, if detekt task will still be created and it would aggregate all individual platform tasks

The detekt ("plain") task is always running without type resolution enabled.
See: https://detekt.github.io/detekt/type-resolution.html
So whenever you apply the Detekt Gradle plugin, a detekt task will be created that will check src/main/kotlin and src/main/java as @BraisGabin mentioned.
Moreover, if the plugin discovers that you're applying also other plugins, say KMM, AGP or so, we create additional tasks.
So for consistency and backward compat. reasons, I would not change the behavior of the detekt task

but I think it's worth considering to make it default behavior.

I think we could add a detektAll task that can depend on all the detekt* tasks.

@cortinico thanks for the explanation!

@cortinico Sorry for commenting on the closed issue, but this issue is still not clear for me. I have a KMP project and I have detekt enabled. When I run "gradlew build" task on Linux, detekt doesn't find issues in common code, and there is the following output in the console:
> Task :my-module:detekt NO-SOURCE

There are Gradle tasks for every target, like detektLinuxX64Main, detektMetadataCommonMain, etc. But seems like they are not executed if I just call build. How could I workaround this?

@arkivanov personally I use either this to always execute detekt tasks
tasks.withType<Detekt> {
    tasks.getByName("build").dependsOn(this)
}

or this to have a task to call them explicitly
tasks.register("detektAll") {
    allprojects {
        this@register.dependsOn(tasks.withType<Detekt>())
    }
}

But I too would be interested about an official recommendation on how to do this.

@petertrr Thanks for the idea! I enabled tasks in a similar way and detekt found some issues in the existing code, because detekt was never actually executed.

when I run "gradlew build" task on Linux, detekt doesn't find issues in common code, and there is the following output in the console:

Just to follow up here: what you're experiencing is the expected behavior. The Detekt Gradle Plugin adds a dependency between check and the detekt task only (not for all the other detekt...Main tasks). That's because those extra tasks are running with Type Resolution which would let you incur in a performance hit.
The solution suggested by @petertrr is the most idiomatic one you can follow up to adapt the behavior 👍

@cortinico thanks for the clarification! However I find this confusing. This might be an expected behavior as well as an unexpected (e.g. my case). I was using Detekt for a year in my projects, and just recently realized that the type resolution was not ever enabled. As a result many issues were missed (fortunately not critical), and I had to fix them now. Maybe there could be a documented configuration flag?

Agree that this feature is not well advertised. We do have a page here: https://detekt.github.io/detekt/type-resolution.html
We also miss a Enabling on an Multiplatform project section over there.

Maybe there could be a documented configuration flag?

Sadly there is no flag. This is probably a poor design choice on our end when this capability was initially designed. So far it was decided to offer different Gradle tasks to enable/disable this feature so that it could be fully isolated and you could run the two "modes" side by side.


Avoidable Concurrency Exception?

I run into situation where two event subscribers firing commands against the same aggregate in parallel (because eventflow's event dispatcher dispatch events to subscriber in parallel using "WhenAll()"), which was causing a concurrency exception. Although they are handled fine by the retry, these commands involve calling other integrated systems which cannot be roll-back/redo ending up duplicated operations.
This might be best solved by designing the integration strategy better to external systems, but it is too late for our project and I have solved the problem by using the "Keyed" AsyncLocker in http://stackoverflow.com/questions/31138179/asynchronous-locking-based-on-a-key and modified the command bus class adding a lock around the Loading of Aggregate until it is committed using the AggregateId as the locking key, such that multiple commands firing against the same aggregate will be synchronized.

My main argument here is, when multiple commands firing against the same aggregate at the same time which would guarantee a race condition, could acutally be avoided by thread safe locking. It make sense to me to prevent multiple threads modifying the same aggregate at the same time.

If I understand you problem correctly, the problem is that multiple multiple instances of the same aggregate are invoked simultaneously due to commands fired from subscribers.
Concurrency in EventFlow is maintained through the event store, which ensures that only one set of events are committed when multiple attempts to change the aggregate are done. You can see this in the event store integration test TestSuiteForEventStore.OptimisticConcurrency.
If I understand your problem correct, you solution will only hold if the application and the execution of commands are limited to a single server. In our setup, we have multiple web servers running and each are accessing the same aggregate through web requests. In this case, another server might load the aggregate, perform an update, and then commit it before any of the subscribers are finished processing.

Server 1 executes command C1, which results in event E1
Server 1 starts processing subscribers for E1
Server 2 executes command C2, which results in event E2
Server 1 subscribers have already started processing based on E1 but commands fail due to an optimistic concurrency exception as E2 have been committed to the event store

EventFlow only ensures that events are correctly ordered within a single aggregate as providing any other synchronization would be hard when having an application spanning multiple servers.
I hope I understand problem correctly and please correct me if I'm wrong.
P.S.: You could use the decorator pattern and decorating the ICommandBusinstead of modifying the EventFlow code.

Just a clarification, synchronization across several servers is hard to generalize and if your application has that requirement, you should implement it using through e.g. the decorator pattern described in the customize documentation for EventFlow.
If your application has these synchronization issues, then it might (and I stress the might again), be due to an inaccurate model of your domain as your subscribers are required to finish in a specific order.
Again, I would like to know if my comments are completely off target.

@ylbillyli Would using the AsyncLocker create a deadlock if you have a chain of subscribers executing commands.

Command C1 results in event E1 on aggregate A1
Subscriber to E1 fires Command C2
Command C2 results in event E2 on aggregate A2
Subscriber to E2 fires Command C3
Command C3 is deadlocked as it cannot access A1

@rasmus Thanks a lot for the reply and details. You were completely right about my problem.
I agree with you that the concurrency exception is still required for multi server as they are hard to sync, but how about on the same server? Should/Could we prevent race condition on the same server to reduce the chance of this exception? (My project only uses single server anyway)
In regards to the domain modelling, in my context, the two subscribers have no dependency in each other and could be done in any order. In fact, the second subscriber is added later to provide an additional feature required by the business, after which we encountered this problem. With my limited experience in DDD world, I am not confident to tell whether our modelling is valid. Do you think in real world it is valid to have two independent subscribers firing commands simultaneously  against the same aggregate? Couldn't think of a better example but let say OrderReceived fires ShipProduct and GenerateInvoice at the same time?
For deadlock, this is what I worry too, but couldn't come up with an example yet. I might understand it wrong, but I don't think your example will encounter deadlock. If you look at my screenshot above, I am not locking on the whole PublishAsync(), but only locking within the _transientFaultHandler.TryAsync body, with a using block starting from _eventStore.LoadAggregateAsync until return await aggregate.CommitAsync. Since events are dispatched to subscribers only after the events are committed, the lock on A1 is released before E1 is dispatched, which means way before C3 is fired.
This is also one of the reason why I couldn't use the decorator pattern which I actually love quite much on the framework. I only want to lock preciously in the middle of the PublishAsync instead of the whole thing, decorator won't work unless this PublishAsync is split into smaller pieces. On the other hand, I do decorated the IOptimisticConcurrencyRetryStrategy to retry only for OptimisticConcurrencyException instead of all Exception.
Any further comment would be greatly appreciated. The main point I would like to discuss further is, do you agree that access to the same aggregate on the same server should be sychned by locking to avoid concurrency ex?

In addition to the deadlock problem mentioned above, I think it will deadlock only when CommandHandler firing another command which is incorrect I think.

@ylbillyli In our system we have several commands that fire on the same aggregate at the same time, but these almost never represent a domain error.
Typically the flow would be something similar to this.

Command C1 starts to execute and loads aggregate with version 1
Command C2 starts to execute and loads aggregate with version 1
Command C1 finishes and event E1 is committed to the event store and aggregate is now version 2, event E1 is published to subscribers
Command C2 finishes and resulted in E2 but an optimistic concurrency exception occurs when trying to commit to the event store as the aggregate has been updated
Command C2 is now retried on aggregate version 2, the command is still valid and event E3 is committed to the event store and published to subscribers

As long as the operations are valid in your domain, then the order doesn't matter. As an example, changing the title first and then the description on an item is basically the same as first changing the description and then the title.
The important thing to remember is to ensure that the methods of the aggregate doesn't have any side effects, that way it doesn't matter if they are retired any number of times. Retrying commands due to optimistic concurrency exceptions is key for EventFlow, as its to be expected that many requests and/or threads try to manipulate the same aggregates. In a traditional DB world you would have a pessimistic lock in your application that would block other operations, but when working with event sourcing you try to avoid that.
We do have situations where commands are fire, retired and then fail with a domain error as the operation is no longer valid, but that's to be expected in any application and its important how you handle these situations. In our case its usually simple though, as we can merely present an error message to the user. These situations are typical when a user has more than one browser tab open and tries to manipulate items in more than one.
If you have any other comments, please let me know. Especially if there's a problem with EventFlow.

@rasmus thanks for the comment. This make it a lot clearer for me. I still have a question. If C1 and C2 are fired on the same server, do you still prefer relying on concurrency exception auto retry more than completely avoiding it with synchronized locking?
I have been using EventFlow for nearly half year now and found that it is really great and easy to use. The only thing that I am still not quite familiar with is how to use EventFlow to talk to external system that are not event sourced. In many situation including our project, we need to integrate with multiple external systems that only expose there interface via a dll business layer or REST api. They are not eventflow aggregate, however, correctly me if I am wrong, eventflow commands must be fired against eventflow aggregate and eventflow events can only be emited by an eventflow aggregate. The way we get around this is to wrap their API in an eventflow aggregate such that they can receive commands and emit events. However, as they are not event sourced, any re-try attempts will end up duplicated operations. Do you think I may be using Eventflow wrong or are there a better way to achieve this?

@rasmus, @ylbillyli The bridging of external systems to an EventFlow implementation is why I asked for DistinctCommand to be added to identify duplicate commands and handle them in the ICommandHandler for an ICommand.

@ylbillyli Its great to get some feedback on EventFlow, thanks.
I would prefer the optimistic concurrency exception to the pessimistic locking as in most systems it happens rarely. I know its basically using exceptions for control flow but its modeled around how e.g. the MSSQL event store detects the collision.
For systems that issue requests to EventFlow aggregates, yes, that would have to go through a command, e.g. publish from a REST endpoint.
For when EventFlow has to issue requests to other systems it gets a bit hard and it basically comes down to how much you of it you would like to model the interaction with the external system. Here's are two examples on how it could be modeled.

Keep it totally out of your aggregates and model it using an application service as e.g. the BookingApplicationService is modeled i shipping example found in the EventFlow code base.
If the external system interaction is important for the domain, then you could model it using a series of events, e.g. ExternalResourceRequestedEvent -> ExternalResourceAcceptedEvent/ExternalResourceDeniedEvent and call the external system from a subscriber.

We have used the last model for e.g. requesting payments. We emit a PaymentRequestedEvent which a subscriber listens to, tries to actually perform the payment and then issues either a payment succeeded or failed command depending on the outcome. In this case we have the entire flow represented in our domain model.
Again, it depends if the interaction is important enough to be represented in your domain.

Thanks for the comments. They are very helpful.

@ylbillyli Can I close the issue? Did you get all the answers you need? If not, then let me know.

@rasmus sure. All good. Thanks again.


HAWQ-664. The return value of registering fd is not checked for asynchronous connection

LGTM

+1


Remove dependency on Bower

Remove the need to use Bower for front-end dependencies at they are available as NPM packages.

:cake:


New (Capacitor) contacts plugin to solve deprecated status

As you all know, this plugin was deprecated and no further development or bugfixing will be done. This is a major issue for everyone who uses this plugin which is a lot of people.

Capacitor is creating a list of plugins they will write and all they needs is a thumbs up from you guys to prioritize this plugin!
https://github.com/ionic-team/capacitor/issues/799
What is Capacitor? Its a way to include native code into your hybrid app (a bit like cordova does but better).
Help us with your thumbs up: https://github.com/ionic-team/capacitor/issues/799

Important to know: Capacitor is a replacement for Cordova built by Ionic.
You will not be able to use this new Capacitor plugin with Cordova apps, just with Capacitor apps.

However, some Cordova plugins can still be used by Capacitor.
@janpio thanks for the clarification.

Yes, Cordova plugins can be used with Capacitor (as they built this to be able to benefit from all the existing Cordova plugins - smart move). The reverse is not true for Capacitor plugins in Cordova.
If this could even be possible would depend on how the Capacitor plugin is implemented. Some of the native functionality is integrated in Capacitor itself as "APIs", I haven'T seen to many really external plugins for it yet. Could those maybe somehow be integrated in Cordova apps @jcesarmobile?

Good point. If cordova could benefit from the plugins written for Capacitor (or the other frameworks), all the better. Seems a lot of cordova plugins can use some maintenance done by the other frameworks anyway. For me personally it does not matter that much, but in the end we really needed to solve this deprecated plugin.
And yes, it is a bit of advertising for a solution of the competition but as the current solution is no more, the community needs an alternative anyway. I do not have any relations with Capacitor whatsoever, but it seems that it might be a solution to this specific issue.

Yeah, the "problem" here is that is not a "solution for the community", but an invitation to change communities ;)
I, as a Cordova committer, would greatly prefer a new Cordova plugin for contact management.
I, as a Ionic user, don't really care if I package my app with Cordova or Capacitor.
I'll let the issue live a bit here, hope it gives a few +1 to the issue over there.

I'll suggest you to look on the network tab to see other active forks https://github.com/apache/cordova-plugin-contacts/network
The plugin was deprecated by Cordova committers because the main goal of Cordova Core plugins was to be replaced by the browser implementation once the vendors catch up, but contacts API was discontinued by W3C, so we did the same.
This only mean Cordova committers will not take care of the plugin anymore, but anybody can fork it and maintain it.


Diffbot client not closing TCP connections until client exits

When making a call to create or update a job, the client is not closing TCP connections after the request to the api endpoint.
Running the following code demonstrates the issue:
    $diffbot = new Diffbot("xxxxxxxxx");
    $job = $diffbot->crawl("jonathan_test");
    $job->setSeeds(["http://www.example.com"])->setMaxToCrawl(100)
        ->setMaxToProcess(100)->setMaxRounds(1)
        ->setOnlyProcessIfNew(1)->setMaxHops(3);

    $api
        = $diffbot->createArticleAPI('crawl')->setMeta(true)->setDiscussion(false)
        ->setQuerystring(true)
    ;

    $job->setApi($api);
    $x = $job->call();
sleep(100);

Now the socket remains open until the process quits:
$ netstat -an|  grep 443
tcp        0      0 <IP_ADDRESS>:50844    <IP_ADDRESS>:443       TIME_WAIT

While not too bad for a single socket, if you create a lot of diffbot objects using new Diffbot(), you can quickly run out of open files on the system as the sockets aren't closed even when the object falls out of scope.

I wrote a wrapper for the Diffbot client which implemented a singleton and this has resolved the issue for me.
<?php
namespace DDA;
class Diffbot
{
    private static $instance;
    private function __construct() {}
    private static $apiKey = "sadffddsfafafdfdsdfsdfs";
    /**
     * @return \Swader\Diffbot\Diffbot
     * @throws \Zend_Exception
     */
    public static function getInstance(): \Swader\Diffbot\Diffbot
    {
        if(self::$instance === null) {
            self::$instance = new \Swader\Diffbot\Diffbot(self::$apiKey);
        }
        return self::$instance;
    }
}

So I would propose that rather than calling new Diffbot(),each time you call the wrapped static method getInstance() which returns the singleton instance.
While the root cause - dangling TCP connections - is still there, it's only a single one, from the single Diffbot object, being re-used extensively, even when updating thousands of searches.
I would propose a similar approach is taken within your library.


Set Project Path automatically based on Blender file path

Is this still an issue after the project folder fixes that were implemented a few weeks ago?


Support token parameter for paging

Motivation
All List endpoints MUST return the list of entities ordered by paging sequence (which is auto-increment field and implies creation order). Clients define the beginning of the result set by setting the token parameter. If this parameter is missing or empty, the first page is returned. To retrieves subsequent pages, the client has to provide the token value that was included in the previous page.
The Service Manager MUST provide an appropriate error if the provided token is invalid. In this case, the client has to reiterate the list from the beginning.
Approach

Each entity has an additional serial column paging_sequence which is encoded in the token and used to determine where next page starts.
A new filter is introduced which attaches the criteria for the paging provided by the token and max_items query params.
Field-query and limit clauses are now applied only to the primary table (before joining labels) and order by clause is applied to both tables (before and after joining labels). This common logic for sub-querying is extracted and generalised from query builder.
Same sub-query from 3) is used for label-querying the joined labels tables. Each label query is modelled as two field-queries
Initial request criteria from query parameters provided by the user are now saved as user provided and can be retrieved separately from all criteria which might have additional system criterias (such as the ones added from paging filter).

Coverage decreased (-0.03%) to 89.611% when pulling 2c8244ab44f182785a7011ba3c4265dd65b71bcc on paging-token into 0fd04f896f4c0a6cb65c4c76ef65b1815486e2d8 on paging-topic.

From the motivation

... return the list of entities ordered by creation date and entity ID

Now the items are ordered by paging_sequence.

General comment - this needs a page in the docs directory explaining how the paging works (implementation-specific token handling)


Details about the LoRA checkpoint released

How should the Lora checkpoint in the GitHub repository be used, and which version of Stable Diffusion were they trained on?

sorry i missed the inference.py


Using glvd to generate the 'Changes' section for gardenlinux release notes

goal
glvd should be able to generate markdown text suitable for release notes.
it should describe which cves are closed and which packages were upgraded for this.
sample output
The following packages have been upgraded, to address the mentioned CVEs:

   - upgrade 'coreutils' to version `9.5-1`
     - CVE-2024-0684
   - upgrade 'curl' to version `8.11.0-1`
     - CVE-2024-8096
     - CVE-2024-7264
     - CVE-2024-9681

required information

release (sample value 1592.4)
previous release (sample value 1592.3 (might not always be that simple if releases are 'burned'))

From this information, using the information we have in glvd we should be able to derive the following information:

which cves are fixed in the new version (discounting 'triaged' cves for both)
which packages are affected by those cves
which which version of those packages both the old and the new release have

This information should be enough to generate above output.
how to identify fixed cves
Looking at the is_vulnerable field in sourcepackagecve should give us the information regardless if the cve was resolved using a package upgrade or using the triage feature.
So, for example, we could have this data:
is_vulnerable_old = ['CVE-2024-0684', 'CVE-2024-8096', 'CVE-2024-7264']
is_vulnerable_new = ['CVE-2024-8096']

From this, we can derive the list of fixed cves:
is_fixed = ['CVE-2024-0684', 'CVE-2024-7264']

For each cve, we can look up which package(s) this affects:
cve_package_mapping = {'CVE-2024-0684': 'coreutils', 'CVE-2024-7264': 'curl'}

And what the new version of those packages is:
release_notes_changes = {
  'curl': {
    'version': '8.11.0-1gl0',
    'fixed': ['CVE-2024-7264']
  },
  'coreutils': {
    'version': '9.5-1gl0~bp1592',
    'fixed': ['CVE-2024-7264']
  }
}

this data structure can then be formatted to get the markdown output we desire.
caveats

glvd only operates on source packages, so also this is what we can output. this might be confusing in some cases to users as they work with binary packages. We could generate a list of binary packages produced from this source package, not sure if that is helpful.

poc in a128439a0710c66981e2b527ab2ee9c883c088e1 and ad9e836bfacb985b7e3cece5651991e2f8b91dfe


dumpdata does not work - exception

Bug description
Trying to run dumpdata results in an exception. It would be useful to have this to generate json files that could easily be leveraged with loaddata for testing things quickly.
Steps to reproduce
Steps to reproduce the behavior:
Done on the dev branch.
1.docker exec into the uwsgi container (or just run the command directly through docker exec)
2. run python manage.py dumpdata auth.user
3. See the stracktrace, as shown below.
I have no name!@f62fe3af47fc:/app$ python manage.py dumpdata
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 327, in execute
    self.check()
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 359, in check
    include_deployment_checks=include_deployment_checks,
  File "/usr/local/lib/python2.7/site-packages/django/core/management/base.py", line 346, in _run_checks
    return checks.run_checks(**kwargs)
  File "/usr/local/lib/python2.7/site-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/usr/local/lib/python2.7/site-packages/django/core/checks/urls.py", line 16, in check_url_config
    return check_resolver(resolver)
  File "/usr/local/lib/python2.7/site-packages/django/core/checks/urls.py", line 26, in check_resolver
    return check_method()
  File "/usr/local/lib/python2.7/site-packages/django/urls/resolvers.py", line 256, in check
    for pattern in self.url_patterns:
  File "/usr/local/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python2.7/site-packages/django/urls/resolvers.py", line 407, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/usr/local/lib/python2.7/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/local/lib/python2.7/site-packages/django/urls/resolvers.py", line 400, in urlconf_module
    return import_module(self.urlconf_name)
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/app/dojo/urls.py", line 6, in <module>
    from tastypie.api import Api
  File "/usr/local/lib/python2.7/site-packages/tastypie/api.py", line 11, in <module>
    from tastypie.resources import Resource
  File "/usr/local/lib/python2.7/site-packages/tastypie/resources.py", line 22, in <module>
    from django.contrib.gis.db.models.fields import GeometryField
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/db/models/__init__.py", line 3, in <module>
    from django.contrib.gis.db.models.aggregates import *  # NOQA
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/db/models/aggregates.py", line 1, in <module>
    from django.contrib.gis.db.models.fields import ExtentField
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/db/models/fields.py", line 3, in <module>
    from django.contrib.gis import forms, gdal
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/forms/__init__.py", line 3, in <module>
    from .fields import (  # NOQA
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/forms/fields.py", line 4, in <module>
    from django.contrib.gis.geos import GEOSException, GEOSGeometry
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/geos/__init__.py", line 5, in <module>
    from .collections import (  # NOQA
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/geos/collections.py", line 11, in <module>
    from django.contrib.gis.geos.geometry import GEOSGeometry, LinearGeometryMixin
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/geos/geometry.py", line 11, in <module>
    from django.contrib.gis import gdal
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/__init__.py", line 28, in <module>
    from django.contrib.gis.gdal.datasource import DataSource
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/datasource.py", line 39, in <module>
    from django.contrib.gis.gdal.driver import Driver
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/driver.py", line 5, in <module>
    from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/prototypes/ds.py", line 9, in <module>
    from django.contrib.gis.gdal.libgdal import GDAL_VERSION, lgdal
  File "/usr/local/lib/python2.7/site-packages/django/contrib/gis/gdal/libgdal.py", line 37, in <module>
    lib_path = find_library(lib_name)
  File "/usr/local/lib/python2.7/ctypes/util.py", line 274, in find_library
    return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
  File "/usr/local/lib/python2.7/ctypes/util.py", line 264, in _findSoname_ldconfig
    env=env)
  File "/usr/local/lib/python2.7/subprocess.py", line 394, in __init__
    errread, errwrite)
  File "/usr/local/lib/python2.7/subprocess.py", line 1047, in _execute_child
    raise child_exception
AttributeError: 'NoneType' object has no attribute 'add_command'

Expected behavior
The dumpdata commands outputs the expected results.
Deployment method (select with an X)

[ ] Kubernetes
[x] Docker
[ ] setup.bash / legacy-setup.bash

So, it turns out that no command except python manage.py shell worked.
Since I was running dev with my unprocessed PR that adds a check for DD_DEBUG in manage.py in order to launch pvstd.Server, I tried the same commands on the shell with export DD_DEBUG=off and then it worked.
I don't really understand why this would do this, so if anyone could shed some light? (and remove the bug label).
Thank you.

OK, so it turns out it is simply an uncaught exception when calling ptvsd.enable_attach again, which is not a socket_error. Simply passing over, and everything looks fine.

@madchap Are you still having trouble with dumpdata? I just tested the command in my docker container and it ran through just fine.

This is good, we can close. Thanks for the ping.


Installing Busy on Ubuntu os

Expected behavior

I am installing busy for the first time in ubuntu os - AWS. I tried following the steps:
git clone https://github.com/busyorg/busy.git
cd busy
yarn
yarn start
Actual behavior

When i give "yarn start" i get this error below:
ubuntu@ip-172-31-26-9:~/busy$ yarn start
yarn run v1.7.0
$ node ./build/server.js
module.js:549
throw err;
^
Error: Cannot find module '/home/ubuntu/busy/build/server.js'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:612:3
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
How to reproduce
git clone https://github.com/busyorg/busy.git
cd busy
yarn
yarn start

Browser:
Operating system: Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-1060-aws x86_64)

If you want to start Busy in development mode you have to run yarn dev.
If you want to build and run you have to run yarn build and yarn start. I will update the docs. Thanks!


Add VertexOrchestrator implementation

Describe changes
I've implemented the VertexOrchestrator class, allowing to execute pipelines using the Vertex AI Pipelines service. I've tested that it is working using MySQL (CloudSQL) as metadata store, Google Cloud Storage as artifact store, and Google Artifact Registry as container registry and using this example examples/kubeflow_pipelines_orchestration.
To create a job in Vertex AI Pipelines you need to create the pipeline using the Kubeflow SDK v2, therefore the kfp.v2.dsl.ContainerOp class cannot be used to create each step because it is deprecated in the v2 and it won't allow you to compile the pipeline using kfp.v2.dsl.compiler.Compiler class. Instead, the ContainerOp are created via kfp.components.load_from_text as suggested in this issue. Also, we need to use the v2 compiler because Vertex AI Pipelines expects the pipeline in JSON format. This caused a few issues when trying to execute each step in Vertex AI Pipelines. The pb2_pipeline (of the ZenML pipeline) was compiled to a JSON string and then later was provided as an argument of the command executed by the Docker container created to execute the step. The step was not able to parse back the pb2_pipeline JSON because:

When generating the JSON string for the pb2_pipeline this function was used. This function gave the JSON string already escaped.
https://github.com/zenml-io/zenml/blob/ea9a6f254c1f4b8a6e4caf9f1865372d69f988fa/src/zenml/entrypoints/step_entrypoint_configuration.py#L356
When compiling the intermediary representation using the kfp.v2.compiler.Compiler class (that also handles the pipelines using protobuf), the JSON string pipeline (the zenml one) was escaped again here

To solve this issue, encoding the pb2_pipeline JSON string using base64 (and later decode when running the step)  was given as a temporary solution by @schustmi and @AlexejPenner (thanks by the way 🤗)
Pre-requisites
Please ensure you have done the following:

[x] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] If I have added an integration, I have updated the integrations table.
[x] I have added tests to cover my changes.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

Unit tests seem to be failing - could you add the vertex integration here in the github action yaml.
This will install the required packages for the unit tests.

Made a few changes to include the workload_service_account and networks attributes, which will allow executing the Vertex AI Pipeline job using a service account and executing the job within a Compute Engine Network. Also, I added the option to use a service account to create the Vertex AI Pipeline job (instead of the default auth). For that, I put the _get_credentials method declared in the VertexStepOperator in a new class called GoogleCredentialsMixin so it can be reused in VertexOrchestrator with no code duplication.
Maybe the GoogleCredentialsMixin can be moved to another directory so it can be reused with other GCP integrations.

Thank you so much @gabrielmbmb! Is there anything else you'd like to add to this PR or should I go ahead and merge it?

Thank you guys also for the help! Nothing else to add to this PR, go ahead!


[stable/anchore-engine] upgrade the postgresql subchart

Signed-off-by: Sébastien Prud'homme<EMAIL_ADDRESS>What this PR does / why we need it:
Use the latest version of the postgresql chart.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/cc @zhill

/assign

/cc @Btodhunter will you also review

@sebastien-prudhomme thanks for the PR, I'm a bit swamped now, but will get to this asap. This is something I was looking at doing anyway, so it's appreciated. The only complications I expect are upgrade implications from older versions of the chart due to the changes in the postgres credential key names. But, I'll do some testing and add my review.

@sebastien-prudhomme and update on my question for upgrade?

@zhill no sorry, i close this PR as i have no more needs to use that chart


Fix a Windows/PyPy3 test failure

PyPy3 on Windows has a test failure in test_cmdline:test_outfile()
when trying to unlink the temporary output file. The root cause is that
cmdline:inner_main() does not explicitly close the file that it opens,
and PyPy3 isn't auto-closing the file when inner_main() returns.
This prevents the file from being unlinked, and the test case fails.

Can you please shed some light on when this triggers? What do I need to reproduce this error?

Here are the commands to run to reproduce this. Application versions:

Windows 10
Python 3.8.5 (installed to C:\Program Files\Python38)
PyPy 7.3.1 (extracted to C:\Program Files (x86)\pypy36)

Your paths to Python 3.8 and PyPy3 may vary.
git clone https://github.com/pygments/pygments.git demo-1533
cd demo-1533
"C:\Program Files\Python38\python.exe" -m venv venv
venv\Scripts\activate.bat
python -m pip install tox
set "PATH=C:\Program Files (x86)\pypy36;%PATH%"
tox -e pypy3

Everything runs to completion except for test_cmdline:test_outfile():
================================== FAILURES ===================================
________________________________ test_outfile _________________________________

    def test_outfile():
        # test that output file works with and without encoding
        fd, name = tempfile.mkstemp()
        os.close(fd)
        for opts in [['-fhtml', '-o', name, TESTFILE],
                     ['-flatex', '-o', name, TESTFILE],
                     ['-fhtml', '-o', name, '-O', 'encoding=utf-8', TESTFILE]]:
            try:
                check_success(*opts)
            finally:
>               os.unlink(name)
E               PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'C:\\Users\\Kurt\\AppData\\Local\\Temp\\tmp2vsf0gyx'

tests\test_cmdline.py:115: PermissionError
=========================== short test summary info ===========================
FAILED tests/test_cmdline.py::test_outfile - PermissionError: [WinError 32] T...
============ 1 failed, 3099 passed, 9 skipped in 167.43s (0:02:47) ============
ERROR: InvocationError for command 'C:\Users\Kurt\Documents\dev\demo-1533\.tox\pypy3\Scripts\py.test.EXE' (exited with code 1)
___________________________________ summary ___________________________________
ERROR:   pypy3: commands failed

Closing the files as shown in the patch resolves the problem.

LGTM for now.  The cmdline code is in desperate need of a rewrite, though.  (Together with switching to a modern argument parser lib.)

LGTM for now. The cmdline code is in desperate need of a rewrite, though. (Together with switching to a modern argument parser lib.)

Yes, I'm aware :) Let's get 2.7 out of the door and then I can look into that.


[Code embed] Improve glitches on scroll

See #301

We could also do with the drag handle cursor for the reference code snippets for consistency? Otherwise, this looks good and is much improved on scrolling.

Yep, makes sense. bb531c632a16bf87357c3aa5a5288dd219fb2438.


Autorest Regen Preview to 3.0.0-alpha.20230625.1 by Pan Shao from refs/pull/3527/head

Triggered from https://github.com/Azure/autorest.csharp/pull/3527

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.AI.Translation.Text


moving virtual-machine between cluster nodes gives: Error: Migration operation failure: Failed to get instance info: not found

 * Distribution: Ubuntu18
 * The output of "lxc info" or if that fails:
   * Kernel version: 5.3.0-59-generic
  driver: lxc
  driver_version: 4.0.3
  project: default
  server: lxd
  server_clustered: true
  server_version: 4.0.2
  storage: ceph | btrfs

I dont know how relevant it is but, I created windows10 vm on non-server machine from this guide https://discuss.linuxcontainers.org/t/running-virtual-machines-with-lxd-4-0/7519, then copied it to cluster, it copied to wrong node so I tried to move it and it gives error.
OK tried creating new containers with
lxc launch ubuntu buntu -p default_hdd
lxc launch ubuntu buntu -p default_hdd --vm

with  buntu on container type move works, but on virtual-machine it gives same error.
when instead "lxc move" i tried "lxc copy" it worked fine.
Steps to reproduce
root@cluster-linux:~# lxc move windows10 --target paralel-linux
Error: Migration operation failure: Failed to get instance info: not found
root@cluster-linux:~# lxc info windows10
Name: windows10
Location: cluster-linux
Remote: unix://
Architecture: x86_64
Created: 2020/07/28 09:01 UTC
Status: Stopped
Type: virtual-machine
Profiles: default_hdd
root@cluster-linux:~# lxc info windows10 --show-log
Name: windows10
Location: cluster-linux
Remote: unix://
Architecture: x86_64
Created: 2020/07/28 09:01 UTC
Status: Stopped
Type: virtual-machine
Profiles: default_hdd

Log:

ioctl(KVM_CREATE_VM) failed: 16 Device or resource busy
qemu-system-x86_64: failed to initialize kvm: Device or resource busy

this is because there is virtualbox currently running on this machine, thats why i m moving it.

Information to attach

[ ] Any relevant kernel output (dmesg) nothing
[ ] Container configuration (lxc config show NAME --expanded)

andriusjurkus@cluster-linux:~$ lxc config show windows10 --expanded
architecture: x86_64
config:
  limits.cpu: "4"
  limits.memory: 4GB
  security.secureboot: "false"
  volatile.eth0.hwaddr: 00:16:3e:9a:f0:4f
  volatile.vm.uuid: cde653ca-6749-439e-8b50-11121fff08f7
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: br0
    type: nic
  root:
    path: /
    pool: hdd
    size: 20GB
    type: disk
ephemeral: false
profiles:
- default_hdd
stateful: false
description: ""

 - [ ] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log) nothing on both ends
 - [ ] Output of the client with --debug
 - [ ] Output of the daemon with --debug (alternatively output of `lxc monitor` while reproducing the issue)
location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'New event listener: 2d639020-ee0a-466f-9930-1709bfd07c0e'
timestamp: "2020-07-28T14:46:48.035186816+03:00"
type: logging

location: cluster-linux
metadata:
  context:
    ip: '@'
    method: GET
    url: /1.0
    user: ""
  level: dbug
  message: Handling
timestamp: "2020-07-28T14:46:49.342413239+03:00"
type: logging

location: cluster-linux
metadata:
  context:
    ip: '@'
    method: GET
    url: /1.0/events?target=paralel-linux
    user: ""
  level: dbug
  message: Handling
timestamp: "2020-07-28T14:46:49.349805227+03:00"
type: logging

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'New event listener: 7705857b-893f-4dfa-826d-0aa8373f0bb3'
timestamp: "2020-07-28T14:46:49.350729726+03:00"
type: logging

location: cluster-linux
metadata:
  context:
    ip: '@'
    method: POST
    url: /1.0/instances/windows10?target=paralel-linux
    user: ""
  level: dbug
  message: Handling
timestamp: "2020-07-28T14:46:49.35173781+03:00"
type: logging

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'New task Operation: 5927c55d-bba9-458a-a7f0-33343605e653'
timestamp: "2020-07-28T14:46:49.594140781+03:00"
type: logging

location: cluster-linux
metadata:
  class: task
  created_at: "2020-07-28T14:46:49.367679466+03:00"
  description: Migrating container
  err: ""
  id: 5927c55d-bba9-458a-a7f0-33343605e653
  location: cluster-linux
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/windows10
  status: Pending
  status_code: 105
  updated_at: "2020-07-28T14:46:49.367679466+03:00"
timestamp: "2020-07-28T14:46:49.595106367+03:00"
type: operation

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'Started task operation: 5927c55d-bba9-458a-a7f0-33343605e653'
timestamp: "2020-07-28T14:46:49.595145931+03:00"
type: logging

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: Connecting to a remote LXD over HTTPs
timestamp: "2020-07-28T14:46:49.595414664+03:00"
type: logging

location: cluster-linux
metadata:
  class: task
  created_at: "2020-07-28T14:46:49.367679466+03:00"
  description: Migrating container
  err: ""
  id: 5927c55d-bba9-458a-a7f0-33343605e653
  location: cluster-linux
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/windows10
  status: Running
  status_code: 103
  updated_at: "2020-07-28T14:46:49.367679466+03:00"
timestamp: "2020-07-28T14:46:49.596470648+03:00"
type: operation

location: cluster-linux
metadata:
  context:
    ip: '@'
    method: GET
    url: /1.0/operations/5927c55d-bba9-458a-a7f0-33343605e653?target=paralel-linux
    user: ""
  level: dbug
  message: Handling
timestamp: "2020-07-28T14:46:49.599565113+03:00"
type: logging

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: Connecting to a remote LXD over HTTPs
timestamp: "2020-07-28T14:46:49.618624215+03:00"
type: logging

location: cluster-linux
metadata:
  context:
    etag: ""
    method: GET
    url: https://<IP_ADDRESS>:8443/1.0/containers/windows10
  level: dbug
  message: Sending request to LXD
timestamp: "2020-07-28T14:46:49.636400872+03:00"
type: logging

location: cluster-linux
metadata:
  context:
    ip: <IP_ADDRESS>:52694
    method: GET
    url: /1.0/containers/windows10
    user: ""
  level: dbug
  message: Handling
timestamp: "2020-07-28T14:46:49.740388779+03:00"
type: logging

location: cluster-linux
metadata:
  context:
    name: "0"
  level: dbug
  message: Found cert
timestamp: "2020-07-28T14:46:49.740323422+03:00"
type: logging

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'Database error: &errors.errorString{s:"No such object"}'
timestamp: "2020-07-28T14:46:49.741518256+03:00"
type: logging

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'Failure for task operation: 5927c55d-bba9-458a-a7f0-33343605e653: Failed to get instance info: not found'
timestamp: "2020-07-28T14:46:49.741896245+03:00"
type: logging

location: cluster-linux
metadata:
  class: task
  created_at: "2020-07-28T14:46:49.367679466+03:00"
  description: Migrating container
  err: 'Failed to get instance info: not found'
  id: 5927c55d-bba9-458a-a7f0-33343605e653
  location: cluster-linux
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/windows10
  status: Failure
  status_code: 400
  updated_at: "2020-07-28T14:46:49.367679466+03:00"
timestamp: "2020-07-28T14:46:49.742922506+03:00"
type: operation

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'Event listener finished: 7705857b-893f-4dfa-826d-0aa8373f0bb3'
timestamp: "2020-07-28T14:46:49.745271726+03:00"
type: logging

location: cluster-linux
metadata:
  context: {}
  level: dbug
  message: 'Disconnected event listener: 7705857b-893f-4dfa-826d-0aa8373f0bb3'
timestamp: "2020-07-28T14:46:49.745706551+03:00"
type: logging

Reproduced the issue, the problem seems to be direct /1.0/containers URL access (instead of /1.0/instances).

Sent a fix for it now.


Camera active indicator stays on when Room is disconnected by turning off the network connection

Describe the bug
Camera active indicator remains on when Room is disconnected by turning off the internet on Android.
To Reproduce
The behaviour reproduces in your sample app (e.g. sample-app-compose), too.
Steps to reproduce the behavior using your sample app:

Connect to a Room. Make sure Audio and video are working as expected (send and receive).

The Room is automatically disconnected on Android.
The Android indicator that shows the camera is being used stays on indefinitely, until the app is closed by the user.

Expected behavior
The camera indicator should turn off (camera should not be used anymore), as it does when the Room is disconnected in normal conditions.
Screenshots

Device Info:

Device: Google Pixel 4A
OS: Android 13, API 33
LiveKit SDK version: 1.4.2

also replicated on a Google Pixel 4A with Android 14, API 34.
Additional context
Android logs after turning off the internet: android.log

As a workaround, I tried to manually disable the camera when the event that the Room is disconnected is received:
room.localParticipant.setCameraEnabled(false)

or
room.localParticipant.videoTracks.forEach { it.second!!.stop() }

(or both)
with no success.


Check for file changes made outside Poedit

Take this scenario:

An user works on a PO file inside a VCS repository
With Poedit opened, the user pull some changes
If PO file was modified, Poedit doesn't notice
The user continue working on PO file and save its changes
PO file loses the changes made in VCS

Yes, the problem can be solved closing Poedit before any pull, but is it reasonable for Poedit to check if there have been changes in the file?. This will avoid a possible data loss and Poedit can ask, like many code/text editors, to discard these changes or load the file from disk.

but is it reasonable for Poedit to check if there have been changes in the file?

It's certainly not unreasonable... and as you say, some text editors handle it.

Sorry, forgot to close this: implemented in v3.0 in fd20186d7ce0fbe4caaee59c7d51d5cfd6004734

Thanks @vslavik!


Meta property og:locale defaults to en_GB

Meta property og:locale defaults to en_GB
I tried adding meta={{property:"og:locale", content:"en_US"}} to Seo component, but that adds a second entry into head. There's now 1 for en_GB and 1 for en_US.
Is there a better way to override this?

This is a bug, it should not be hard coded, will get that updated.
It should populate from the inLanguage field.

Ok got you. Thanks for this plugin, it's great!

this is now resolved


platform/jimfuqian/11812 FN Mappings

This PR:
Add FN (FHIR Humanname) mapping extensions for Patient, Practitioner, ...
Test Steps:

Integration tests added

Changes

Include a comprehensive list of changes in this PR
(For web UI changes) Include screenshots/video of changes

Checklist
Testing

[ ] Tested locally?
[ ] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[ ] (For Changes to /frontend-react/...) Ran npm run lint:write?
[ ] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

Fixes #issue

To Be Done
Create GitHub issues to track the work remaining, if any

#issue

Specific Security-related subjects a reviewer should pay specific attention to

Does this PR introduce new endpoints?

new endpoint A
new endpoint B

Does this PR include changes in authentication and/or authorization of existing endpoints?
Does this change introduce new dependencies that need vetting?
Does this change require changes to our infrastructure?
Does logging contain sensitive data?
Does this PR include or remove any sensitive information itself?

If you answered 'yes' to any of the questions above, conduct a detailed Review that addresses at least:

What are the potential security threats and mitigations? Please list the STRIDE threats and how they are mitigated

Spoofing (faking authenticity)

Threat T, which could be achieved by A, is mitigated by M

Tampering (influence or sabotage the integrity of information, data, or system)
Repudiation (the ability to dispute the origin or originator of an action)
Information disclosure (data made available to entities who should not have it)
Denial of service (make a resource unavailable)
Elevation of Privilege (reduce restrictions that apply or gain privileges one should not have)

Have you ensured logging does not contain sensitive data?
Have you received any additional approvals needed for this change?

@jack-h-wang thanks for comments, and re-iterate: this PR is superseded by your PRs, so it would make into master

Closed, the FN mapping implemented here are superseded by 2 other PRs: XPN/FN, and XCN/FN


Add template parameter to make it a overwriting ring buffer

Hi,
how about adding a template parameter which makes it an overwriting ring buffer?
I.e. when buffer is full, calling insert() replaces the oldest value with the new value. Then the tail also has to be updated, which means the ring buffer cannot be lock free anymore.
I really like your implementation and this addition would make it even more generalized.

Overwiriting insert is wanted function especially in atomic context. Probably as separate function instead of "overloading".  I'll definitely add it in mpmc, but non atomic "overloads" of insert is going to be a lot of burden now.
It is still possible to inherit from the spsc class and add followinfg function
//non atomic, returns true if overwritten
bool insertOverwrite(T data)
{
	if(!insert(data)) {
		remove();
		insert(data);
		return true;
	}
	return false;
}

not the most efficient, but should work.


Can't stop blinking cursor on Mac

MacOS has no global setting to disable all blinking cursors. There are 3 hidden settings to change NSTextInsertionPointBlinkPeriod, ...On, and ...Off, but these only affect NSText and they don't work in Tomboy Notes.
I have neuro issues, and can't see near the blinking cursors, and can get migraines from them.

Wow, Marja, thats a hard one indeed.  tomboy-ng is built using either the Cocoa or Carbon widget set (although only old systems should consider carbon). Pretty much standard Mac stuff. I will ask around on our forum and see if any one knows of a way to disable the blinking cursor but I must admit, I am not confident !
I wonder if making it a less obtrusive colour would help ?  (Not that I know how to do that either...)
Davo

I have a lot of trouble with these cursors, and I'm not sure lower contrast would be enough. An option to change it to white-on-white or black-on-black might be better than nothing, though it creates its own problems.

OK Marja, seems it possible on both Windows and (GTK based) Linux but that is all I have found so far.  But still looking ....

some note for my use -
http://www.macissues.com/2014/12/08/how-to-change-your-macs-text-cursor-blink-rate/
https://askubuntu.com/questions/49606/how-do-i-disable-the-blinking-cursor-in-gnome-terminal
https://forum.lazarus.freepascal.org/index.php/topic,49142.msg355241.html

Sorry, there does not really seem to be any potential for me to fix this problem on the Mac.
Davo


Missing full featured example

Is your feature request related to a problem? Please describe.
This project seems to be great. But I am really missing a full featured example config. It is really hard to find each tiny snippet everywhere.
Describe the solution you'd like
Full featured example
Additional context
This is my docker-compose file. I can't get it running because I haven't found yet, how to advise dockware/play to use a different database port (I guess). Of course I am not using the default ports 80, 3306 aso. These are important ports that are either already allocated, oder have to stay free for other tools.
The default shopware setup has .env variables like APP_ENV, APP_SECRET, APP_URL, ... . How can I adjust them?

After a lot trial and error, I came to this setup. Feel free to include this in the docs. I'm sure it will help a lot of more developers. Would be also helpful if the unclear points could be clarified (APP_SECRET, INSTANCE_ID, SHOPWARE_ES_INDEX_PREFIX).
Local .env
# APP_ENV=development
APP_ENV=prod
APP_SECRET=1 # what is this?
INSTANCE_ID=1 # what is this?

APP_URL=https://allaoui.shop
TRUSTED_PROXIES=REMOTE_ADDR # https://forum.shopware.com/discussion/62801/shopware-6-mit-ssl-hinter-reverse-proxy#Comment_259420

DATABASE_URL=mysql://root:root@localhost:3306/shopware
# MAILER_URL=smtp://localhost:1025
COMPOSER_HOME=/var/www/html/var/cache/composer
SHOPWARE_HTTP_CACHE_ENABLED=1

# REDIS_SESSION_HOST=redis
# REDIS_SESSION_PORT=6379
# REDIS_CACHE_HOST=redis
# REDIS_CACHE_PORT=6379

# SHOPWARE_ES_ENABLED=0
# SHOPWARE_ES_HOSTS=elasticsearch:9200
# SHOPWARE_ES_INDEXING_ENABLED=0
# SHOPWARE_ES_INDEX_PREFIX=abc # what is this?

DOCKER_MYSQL_INIT_ROOT_PASSWORD=your_db_root_password
DOCKER_MYSQL_INIT_ROOT_HOST=172.%.%.%
DOCKER_MYSQL_INIT_HOST=172.%.%.%
DB_DATABASE=shopware_docker
DB_USERNAME=docker
DB_PASSWORD=your_db_user_password

Local docker-compose.yml
version: "3"

services:

    shopware:
      image: dockware/play:latest
      container_name: shopware_app
      environment:
        PHP_VERSION: 8.0
      volumes:
        - "shop_volume:/var/www/html"
        - ./.env:/var/www/html/.env
      ports:
         - "8766:80"
      networks:
         - web

    db:
        image: mysql:5.7
        container_name: shopware_db
        networks:
            - web
        command:
            - '--default-authentication-plugin=mysql_native_password'
            - '--character-set-server=utf8mb4'
            - '--collation-server=utf8mb4_unicode_ci'
            - '--skip-name-resolve'
        volumes:
            - db_volume:/var/lib/mysql/:cached
        environment:
            MYSQL_ALLOW_EMPTY_PASSWORD: 'false'
            ### Database initialization config:
            MYSQL_ROOT_HOST: ${DOCKER_MYSQL_INIT_ROOT_HOST}
            MYSQL_ROOT_PASSWORD: ${DOCKER_MYSQL_INIT_ROOT_PASSWORD}
            MYSQL_HOST: ${DOCKER_MYSQL_INIT_HOST}
            MYSQL_USER: ${DB_USERNAME}
            MYSQL_PASSWORD: ${DB_PASSWORD}
            MYSQL_DATABASE: ${DB_DATABASE}
        # ports:
        #     - 3305:3306 # Access from outside not necessary
        restart: always

    # redis:
    #     image: redis:5.0.6
    #     container_name: shopware_redis
    #     networks:
    #         - web

    # elasticsearch:
    #     container_name: shopware_elasticsearch
    #     image: elastic/elasticsearch:7.1.1
    #     environment:
    #         - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    #         - discovery.type=single-node

volumes:
    db_volume:
        driver: local
    shop_volume:
        driver: local

networks:
  web:
    external: false

After a lot trial and error, I came to this setup. Feel free to include this in the docs. I'm sure it will help a lot of more developers. Would be also helpful if the unclear points could be clarified (APP_SECRET, INSTANCE_ID, SHOPWARE_ES_INDEX_PREFIX).
Local .env
# APP_ENV=development
APP_ENV=prod
APP_SECRET=1 # what is this?
INSTANCE_ID=1 # what is this?

APP_URL=https://myshop.com
TRUSTED_PROXIES=REMOTE_ADDR # https://forum.shopware.com/discussion/62801/shopware-6-mit-ssl-hinter-reverse-proxy#Comment_259420

DATABASE_URL=mysql://root:root@localhost:3306/shopware
# MAILER_URL=smtp://localhost:1025
COMPOSER_HOME=/var/www/html/var/cache/composer
SHOPWARE_HTTP_CACHE_ENABLED=1

# REDIS_SESSION_HOST=redis
# REDIS_SESSION_PORT=6379
# REDIS_CACHE_HOST=redis
# REDIS_CACHE_PORT=6379

# SHOPWARE_ES_ENABLED=0
# SHOPWARE_ES_HOSTS=elasticsearch:9200
# SHOPWARE_ES_INDEXING_ENABLED=0
# SHOPWARE_ES_INDEX_PREFIX=abc # what is this?

DOCKER_MYSQL_INIT_ROOT_PASSWORD=your_db_root_password
DOCKER_MYSQL_INIT_ROOT_HOST=172.%.%.%
DOCKER_MYSQL_INIT_HOST=172.%.%.%
DB_DATABASE=shopware_docker
DB_USERNAME=docker
DB_PASSWORD=your_db_user_password

Local docker-compose.yml
version: "3"

services:

    shopware:
      image: dockware/play:latest
      container_name: shopware_app
      environment:
        PHP_VERSION: 8.0
      volumes:
        - "shop_volume:/var/www/html"
        - ./.env:/var/www/html/.env
      ports:
         - "8766:80"
      networks:
         - web

    db:
        image: mysql:5.7
        container_name: shopware_db
        networks:
            - web
        command:
            - '--default-authentication-plugin=mysql_native_password'
            - '--character-set-server=utf8mb4'
            - '--collation-server=utf8mb4_unicode_ci'
            - '--skip-name-resolve'
        volumes:
            - db_volume:/var/lib/mysql/:cached
        environment:
            MYSQL_ALLOW_EMPTY_PASSWORD: 'false'
            ### Database initialization config:
            MYSQL_ROOT_HOST: ${DOCKER_MYSQL_INIT_ROOT_HOST}
            MYSQL_ROOT_PASSWORD: ${DOCKER_MYSQL_INIT_ROOT_PASSWORD}
            MYSQL_HOST: ${DOCKER_MYSQL_INIT_HOST}
            MYSQL_USER: ${DB_USERNAME}
            MYSQL_PASSWORD: ${DB_PASSWORD}
            MYSQL_DATABASE: ${DB_DATABASE}
        # ports:
        #     - 3305:3306 # Access from outside not necessary
        restart: always

    # redis:
    #     image: redis:5.0.6
    #     container_name: shopware_redis
    #     networks:
    #         - web

    # elasticsearch:
    #     container_name: shopware_elasticsearch
    #     image: elastic/elasticsearch:7.1.1
    #     environment:
    #         - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    #         - discovery.type=single-node

volumes:
    db_volume:
        driver: local
    shop_volume:
        driver: local

networks:
  web:
    external: false

hi
thank you for this
i think this is a bit too much :)
you can just spawn a simple docker database and connect to it with the connection string.
please note, the host in docker inside a docker infrastructure is the name
i guess this page is what you where looking for?
https://docs.dockware.io/faq/dockware-and-other-images
there are also lots of examples in our github repo
https://github.com/dockware/examples
i hope this helps you

@boxblinkracer To be honest, I never use these docker one-line start image commands, except for few use-cases with testing. In most cases always docker-compose. Despite I really very appreciate this project, I found the docs very confusing when being new to dockware.
However for me is everything clear for now. Except I don't understand why the dockware/play image comes with example data included and not starting with the installer (that can install example data itself), is this possible anyway? Otherwise I have to delete them every time

hi,
first of all, great that you like it :)
there are also some videos with step by step explanation..maybe this helps too:
https://www.youtube.com/watch?v=BVCM03M6FLc
i dont know what you mean with one-liner...i never said anything about a one liner :)
i also use almost everytime a docker-compose.yml too.
i was more referring to the shopware .env file where a connection string needs to be provided, and in that string you have to use the docker name of your database container :)
regarding the demo data....for us, there are 2 types of projects....
either one with a custom database and lots of modifications (so like a huge customer project)
or plugin projects where you want demo data anyway.
so both play and dev images come with demo data to be able to immediately play around or develop custom plugins....
if it would be the case for a customer project, one would have its own database anyway.
so i'm not quite sure why you would need a blank shopware?
if you have some scripts, on what needs to be reset, then we could try to add it in the entrypoint.
still it needs to be installed at build time, in order to allow a speedy launch of a few seconds :)

Okay, seems I have a rare use-case.
We had Shopware 6 as custom installed docker setup before, but always had strange issues with permissions. After updating to <IP_ADDRESS> noting worked anymore. No plugin update, no theme change, activation/deactivation, always failing with "Warning: chmod(): Operation not permitted". So we decided to start a new clean instance, because we are not on production and still connecting our backend that manages most of the data. Thats why I needed a clean DB :)
This use-case will come back, when the shop is running on prod and we need to have it running locally for further development. Then our  backend would sync all necessary dummy data, and that would get mixed up with the demo data.
However for now after deleting the demo data by hand and copy our APP_SECRET and INSTANCE_ID, it is working good.

hi
ok so 2 things that could help
a) i dont know what happened to the permission but this fixes it
"sudo chmod www-data:www-data -R /var/www/html"
i think we will add a doc page soon in the FAQs
b) what we do in this case is this
we have our custom shop based on dockware/essentials...that comes without an installed shop instance...so no mixed files and no confusions with any version that does not match our actual shop version...just our plain source code in there...
and we also just import an anonymized and clean dump of our production database when launching the image
maybe it helps you :)

Thanks for the support. Its working for now


Media stops playing once WebRTC is publishing (iOS)

We are using the WebView to play a video (which is being used as a texture in a scene we're rendering).
If we publish audio from a RN component (not the webview), I believe iOS thinks its "on a phone call" and pauses media playback in the webview.
Is there anyway to prevent the WebView from being "paused"? Am I right in my assumption that this is what is happening?
Order is important - if I create the WebRTC connection first, and then load the webview, then media plays back fine, but unfortunately, if a users WebRTC connection drops, and I have to reconnect them, the webview pauses again.
Any ideas at all would be useful. Thanks!

Just wanted to add some more information - this is not down to WebRTC in particular, it's to with recording from the mic.
So it's when the microphone because active the webview pauses.


Update Lames du Cardinal/ldc.html

Several items were not at their correct location. Reworked layout.
Include the name of the sheet you made changes to in the title.
Changes
Provide a few comments about what you have changed.

If changes fix a bug or resolves a feature request, be sure to link to that issue.
For pull request that change multiple sheets please confirm these changes are intentional for all sheets. This will help us catch unintended submissions.
When updating existing sheets if you are changing attribute names please note what steps you have taken, if any, to assist players in keeping their data.

Additional comments

Update for the [Lames du cardinal] character sheet


How to restart the app by programming?

How to restart the app by programming?
If I have a restart menu item, or a pop-up box prompts the user to resetart.

Destroying the window is, at the moment, a one-way lane. Meaning you cannot resuscitate the window.
Why need to confirm? Did the window not close in your case?

Calling destroy kills the application by closing the window.
Why need to confirm? Did your app window stay open?

Calling destroy kills the application by closing the window. Did your app window stay open?

If I use python ./demo.py to run the above code, I can restart it, but if I use flet run ./demo.py to run the above code, I cannot restart it.

It would be great if there was a method called page.window_restart()


Use UTF16 versions of Windows API functions

Most of ign-common is using the ASCII versions of Windows API functions. These should be converted to the ones using wchar_t (UTF16) strings. The ASCII API is prone to text encoding problems, whereas the UTF16 API doesn't have an issue.
This would probably also deserve a helper function to convert std::string<char> to std::wstring (std::string<wchar_t>). https://stackoverflow.com/questions/4804298/how-to-convert-wstring-into-string might be a good start for this function, as it really isn't as trivial as one would think.

A part of the usages can be completely eliminated by switching to C++17 filesystem library. The main blocker would probably be XCode 10, which does not support filesystem (although it supports a big part of C++17, filesystem is not there - https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes#New-Features ).


Setting theme programmatically does not seem to work

Attach (recommended) or Link to PDF file here:
(not related to PDF)
Configuration:

Web browser and its version: Google Chrome 117.0.5938.132 64 bits
Operating system and its version: Windows 10 Business 22H2 19045.3448
PDF.js version: 3.11.174
Is a browser extension: No

Steps to reproduce the problem:

Edit viewer.html and set dark theme.

<script>
  (function(){
    document.addEventListener("webviewerloaded", () => {
        appOptions.set('disablePreferences', true);
        appOptions.set('viewerCssTheme', 2); // 0-Automatic, 1-Light, 2-Dark
    });
  })();
</script>

Open PDFViewer

What is the expected behavior? (add screenshot)
Show DARK theme:

What went wrong? (add screenshot)
Shows AUTOMATIC theme:

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
More info
This did not happen in 3.9.179. I have investigated a bit and seen now there are 3 media rules for dark theme. Folder old_pdfviewer is 3.9.179 and pdfviewer is 3.11.174:

But the method _forceCssTheme only affects the first media rule (returning after the first match)

Since the three rules are in different files, I understand that they belong to different components. Therefore, perhaps the simplest solution would be to implement the following change:
diff --git a/app.js b/app.js
--- a/app.js
+++ b/app.js
@@ -424,8 +424,7 @@ const PDFViewerApplication = {
         ) {
           if (cssTheme === ViewerCssTheme.LIGHT) {
             styleSheet.deleteRule(i);
-            return;
-          }
+          } else {
             // cssTheme === ViewerCssTheme.DARK
             const darkRules =
                 /^@media \(prefers-color-scheme: dark\) {\n\s*([\w\s-.,:;/\\{}()]+)\n}$/.exec(
@@ -435,7 +434,7 @@ const PDFViewerApplication = {
                 styleSheet.deleteRule(i);
                 styleSheet.insertRule(darkRules[1], i);
             }
-          return;
+          }
         }
       }
     } catch (reason) {

Therefore, perhaps the simplest solution would be to implement the following change:

Unfortunately I don't believe that it's this simple, since that still won't catch all @media (prefers-color-scheme: dark) { ... } instances which means that part of the UI won't look correct (e.g. the new alt-text dialog).
Please note that the _forceCssTheme-functionality was always a best effort solution, and most likely the CSS-rules that we've started using recently are sufficiently complex that it's difficult to find all relevant cases (without a bunch of complicated code).

I have tested and the change seems just fine for me. This condition catches exactly the 3 dark media rules: https://github.com/mozilla/pdf.js/blob/f5367f01ca33bbdfb9165850776f7b9de0a65f55/web/app.js#L421-L424
Added console.log('test', darkRules, rule.cssText); right after condition:


Broken link in 1.0 migration guide

The link in the section on style functionality for LocalHazeStyle goes to https://chrisbanes.github.io/haze/migrating-1.0/api/haze/dev.chrisbanes.haze/-local-haze-style.html when it should point to https://chrisbanes.github.io/haze/api/haze/dev.chrisbanes.haze/-local-haze-style.html (without the migrating-1.0/ section)

Thanks for the report, fixed and deploy in progress!


[bug] Same YQL triggers error when a second embedding component is added to services.xml

1. The schema:
schema Vespa1 {
  document Vespa1 {

   field wpsolr_title type string {
      indexing: summary | index
      summary: dynamic
    }

    field wpsolr_content type string {
      indexing: summary | index
      summary: dynamic
    }

  }

  field wpsolr_field_vector_text type tensor<float>(x[384]) {
    indexing {
      "passage: " . input wpsolr_title . " " . input wpsolr_content | embed wpsolr_multilingual_e5_small_onnx | attribute
    }
  }

  rank-profile wpsolr_rank_vector_text {
    num-threads-per-search: 1
    match-features: distance(label, wpsolr_search_operator_nearest_neighbor_text)
    inputs {
      query(q_384) tensor<float>(x[384])
      query(q_768) tensor<float>(x[768])
      query(q_1024) tensor<float>(x[1024])
    }

    first-phase {
      expression: closeness(label, wpsolr_search_operator_nearest_neighbor_text)
    }
  }
}

2. The successful query with one embedding component:
{"offset":0,"hits":20,"input.query(q_384)":"embed(wpsolr_multilingual_e5_small_onnx, query: parot)","ranking":"wpsolr_rank_vector_text","yql":"select wpsolr_id, wpsolr_PID, wpsolr_type, wpsolr_meta_type_s, wpsolr_title, wpsolr_numcomments, wpsolr_comments, wpsolr_displaydate, wpsolr_displaymodified, wpsolr_author, wpsolr_snippet_s, wpsolr_content from Vespa1 where ((wpsolr_type contains ({stem: false}\"post\")) and !(((wpsolr_post_status_s contains ({stem: false}\"draft\")) or (wpsolr_post_status_s contains ({stem: false}\"pending\")) or (wpsolr_post_status_s contains ({stem: false}\"trash\")) or (wpsolr_post_status_s contains ({stem: false}\"future\")) or (wpsolr_post_status_s contains ({stem: false}\"private\")) or (wpsolr_post_status_s contains ({stem: false}\"auto-draft\")))) and (!(!((wpsolr_is_excluded_s contains ({stem: false}\"_wpsolr_undefined\")))) or (wpsolr_is_excluded_s contains ({stem: false}\"n\"))) and ({label:'wpsolr_search_operator_nearest_neighbor_text',approximate:true,targetHits: 100}nearestNeighbor(wpsolr_field_vector_text, q_384))) | all(all(group(wpsolr_type) order(-count()) max(20) each(output(count()))))"}

3. Now, adding and deploying a second embedding component:

4. The same query, unsuccessful this time:

One must provide the embedder id when there is more than one embedder.
embed(delete_me_please, "the text to embed")

I'll try to clarify the documentation.

I did it, didn't I?

"input.query(q_384)":"embed(wpsolr_multilingual_e5_small_onnx, query: parot)

Or is it related to #28159?

I did it, didn't I?

No, because that would be
"input.query(q_384)":"embed(wpsolr_multilingual_e5_small_onnx, "query: parot")"

It worked. 🙏

I'm keeping this open until I have managed to fix the documentation.

Try to clarify and recommend always specifying embedder id https://github.com/vespa-engine/documentation/pull/2843


Close feedback loop

Close feedback loop from front-end (end-user interaction) to annotation capture and curation platform.
a. Enable labelstud.io as additional Home Assistant add-on [X]
b. Enable min.io as additional Home Assistant add-on [X]
c. Enable end-user feedback through HA persistent_notification with link to yes/no, including all relevant metadata [X]
d. Capture feedback from MQTT topic, store object in minio and store metadata in labelstudio add-ons

Present captured feedback for end-user interaction
a. review & approve
b. inspect, create, update, delete putative annotations

Present training results
a. review & approve
b. inspect, delete training results

Deploy updated trained models
a. Add modelmanager service to control OH edge-sync-service
b. Add hzn::ess and hzn::modmgr SDK components to base containers
c. Modify AI containers to utilize hzn::modmgr SDK for model weights, labels, etc..

Completed end-user interaction for Home Assistant to notify through standard persistent notifications.
Added functionality to Motion Classic add-on to provide API to respond to predict.yes and predict.no which bundle up jpeg, mp4, and metadata for non-legacy events and post to MQTT as <group>/predict/{yes,no}

Implemented labelstudio add-on for Home Assistant as OH service base with bashio extensions; amd64
Implemented minio add-on for HA as OH service using base with bashio extensions; amd64 and aarch64


Responsive Call To Action button bugs

Beside its size is too exaggerate for the layout, if the text breaks to a new line the button doesn't follow it. So it should be nice if we change his layout to a simple one that works better in small screens.

I'd be happy to pick this up!

Hi @elina-codes, Okay! If you need anything from me, please, just tell me.
<3

Awesome! Will do. :)

Oh, would you mind assigning the issue to me?

Done, you should receive a invite in your mail about it, after accepting i will be able to asign you in the issue.

@luanfonceca something came up this morning that means I won't have the time I thought I'd have to work on this. I'm afraid you'll have to assign it to someone else :(. So sorry - best of luck!

:(
Okay @elina-codes, if you think that you have at least time to implement this on the Event Detail page, its enough for me.
Thanks for everything <3

I'll let you know if anything changes, or if I see that this is still open once later on I'll message you!

Okay @elina-codes, there are many ways to contribute with Speakerfight and i am here to help you out on all one them
o/

@luanfonceca I understand correctly, do I need to change the size of buttons for mobile devices? Like that:

Hi @lex111, yeah. Fix this bugs with small screens.

@luanfonceca ok I want to take it.

Ok @lex111!

Created PR #278


"flutter packages pub ..." to passthrough to dart pub

cc @tvolkert

Why not just flutter pub ... ?

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

flutter pub pub ... will work (pub is an alias to packages). flutter pub on its own would be tricky because we'd be mixing two namespaces, e.g. flutter pub get (which is managed by flutter) and flutter pub foo (which is managed by pub). Consider for example what you should output for flutter pub --help.

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

So you would do commands such as flutter packages pub publish? That seems inconsistent with flutter packages get. I'd prefer something like https://github.com/flutter/flutter/issues/9799

@mit-mit I think it'd be fine to also expose explicit commands (the way e.g. I added test or the way we do get), but given the limitations of ArgParser I don't see how to do arbitrary passthrough on commands in that way while still having some curated commands.
I'm also rather dubious of taking on the maintenance burden of having to track pub's command set (which we would have to do if we exposed everything as an explicit command instead of just pass-through).

I don't think we have added any new commands in for quite a while (maybe several years), so not sure I'm too worried about that.

pub is an alias to packages

Why not make a dedicated PubCommand that does exactly what your PassthroughCommand does?

Changing the behaviour of flutter pub would be a breaking change; the pub=packages alias predates this PR.

If we want to change this to flutter pub ... then I think it's important that we first fix https://github.com/dart-lang/args/issues/68 so that this isn't exposed to people right away in the top-level --help. Aside from the output already being really long (e.g. it lists flutter precache and flutter fuchsia_reload which are really esoteric options today), and making it even longer seeming like a bad idea (it's already about 50 lines long), I'm concerned that people will go down into the weeds trying to troubleshoot problems by directly manipulating pub.

Discussing with @Hixie, we'll likely to need a dedicated flutter publish anyway to provide our own validation logic around publishing a Flutter plugin.  flutter packages pub is intentionally buried so as to avoid giving the user the impression that we support the gamut of subcommands that are supported by pub.

LGTM


chore: tidy up values.schema.json

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 0.00%. Comparing base (b6e5f04) to head (8abba20).
Report is 1 commits behind head on main.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #1285   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files         69      69
  Lines       6682    6682
=====================================
  Misses      6682    6682

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

/approved

/cherry-pick release-1.0-beta


Add query result set limit.

Prevents users from querying large tables without limiting the size of the result set.

Codecov Report

Merging #2459 into dev will decrease coverage by 0.13%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##                dev    #2459      +/-   ##
============================================
- Coverage     34.55%   34.42%   -0.14%
+ Complexity     2327     2321       -6
============================================
  Files           423      423
  Lines         19464    19466       +2
  Branches       2375     2375
============================================
- Hits           6726     6701      -25
- Misses        12159    12186      +27
  Partials        579      579

Impacted Files
Coverage Δ
Complexity Δ

...lphinscheduler/server/worker/task/sql/SqlTask.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

.../server/worker/processor/TaskExecuteProcessor.java
10.71% <0.00%> (-28.58%)
1.00% <0.00%> (-2.00%)

...he/dolphinscheduler/common/thread/ThreadUtils.java
68.25% <0.00%> (-9.53%)
13.00% <0.00%> (-2.00%)

...nscheduler/server/entity/TaskExecutionContext.java
73.26% <0.00%> (-5.95%)
53.00% <0.00%> (-3.00%)

...e/dolphinscheduler/remote/NettyRemotingClient.java
53.23% <0.00%> (+2.15%)
10.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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


Issue when opening VSCode

Which OS are you using?
MacOS
Expected Behaviour
Normally no error message comes up.
Actual Behaviour
...
I also see the following error:
[2023-03-08 19:39:49] |   ERROR   |         Git        | Need to specify how to reconcile divergent branches.

Reproduction steps
just open VSCode.  I do have PlatformIO installed, not sure if that plays a role.
Additional Notes
If I close and reopen VSCode it doesn't happen again.  It happened once yesterday and once today.
Log
STARTUP
[2023-03-08 19:39:47] |   DEBUG   |     Filesystem     | Created directory at "/Users/paul/Library/Application Support/Code/User/globalStorage/sumneko.lua/addonManager"
[2023-03-08 19:39:49] |   ERROR   |         Git        | Failed to checkout repo!
[2023-03-08 19:39:49] |   ERROR   |         Git        | Need to specify how to reconcile divergent branches.

Does your git config modify pull.rebase?

Closing due to inactivity


Dropdown list not showing

Hello,
Whenever I create an alias for a table, the dropdown list stops showing (I'm talking about this https://imgur.com/a/aAtNQde).
I didn't find anything helpful in Preferences.
Any help?

hi @sevaus , is issue still actual for you in recent version?

I have the same problem.    If I alias a table, no drop down list.  My Preferences settings match my coworker's who can use table aliases successfully.  I took screen shots but unfortunately cannot upload them.

Hi @sevaus ,  did you find out how to get table aliases to work?  @uslss , do you have any suggestions?  Thanks!

seems that issue is already solved in recent (6.3.5) version

Ticket will be closed. If it is still actual for you - feel free to reopen the ticket

@Lori753 probably you've got "Blank line is statement delimiter" option enabled

@uslss you're correct, I did have that option selected.  So happy to finally have alias ability!  Thanks for starting my week off right!


Rel 0.1.1 changes controller icons in VR

Using 0.1.1 on a Win 10 and an Oculus Quest (not #2) changes controller icon in SteamVR home to what looks like a PS2 controller.  buttons no longer work.

Hi! Can you post a screenshot in here of what the icons look like? You may need to link the image from another site, or feel free to DM me on Discord LucidVR#0001

Hi,
This is expected in SteamVR home, the controllers (for now) should look like controllers.
Buttons on the touch controllers are also not expected to function - the idea is that you would implement your own buttons, joysticks etc. on the glove, which would then be the buttons that can be used in game.
To set bindings of these buttons, check out: https://github.com/LucidVR/opengloves-driver/wiki/Configuring-SteamVR-Input

Hey, it's been a week since this issue was opened - is it all working now?

I'm going to close this issue with the release of v0.2, but do feel free to reopen it or comment if you're still having problems.
https://github.com/LucidVR/opengloves-driver/releases/tag/v0.2
Thanks.


[frontend] - instrumentation-fs creates unecessary noise

Seeing the visualizations in discussion #1453, we have plenty of spans related to instrumentation-fs which is called because the node process is loading up files for the first time. We should disable this instrumentation library completely to prevent the spans from being created and producing unnecessary noise on application startup.

After investigating, we are getting an fs-stat and fs-open span for several of the GET calls for frontend resources, which were all called because we now load the app using a playwright load generator instead of just hitting the API calls directly like before. This is instrumentation noise that may be better to be left off. I'm going to submit a PR disabling the instrumentation-fs library.


feature: improve nav key

We can improve the nav key for large docs by having those order categories, and sorting alphabetically if omitted.
As-is, docs can shift up and down when navigating unless clamped, which doesn't scale to docs like Drei which have 80+ pages to clamp.

Continued in #230.


UnknownHttpMethod for routing specs that route all HTTP methods

Not sure if this is an RSpec issue, opening an issue here just in case.
Some of my routing specs are suddenly failing for routes that match all HTTP methods.
# config/routes.rb

match '/webhooks/mailgun/emails', to: 'webhooks/mailgun#emails', via: :all

# spec/controllers/webhooks/mailgun_controller_spec.rb

it "routes all HTTP methods to #emails" do
  expect(all: 'webhooks/mailgun/emails').to route_to(controller: 'webhooks/mailgun', action: 'emails')
end

# Same error when using shoulda-matchers syntax
it { should route(:all, 'webhooks/mailgun/emails').to(action: :emails) }

Gives the failure
1) Webhooks::MailgunController should route ALL webhooks/mailgun/emails to/from {:action=>"emails", :controller=>"webhooks/mailgun"}
   Failure/Error: expect(all: 'webhooks/mailgun/emails').to route_to(controller: 'webhooks/mailgun', action: 'emails')
   ActionController::UnknownHttpMethod:
     ALL, accepted HTTP methods are OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, ORDERPATCH, ACL, SEARCH, MKCALENDAR, and PATCH

I recently upgraded to Rails 4.2. Could it be caused by the new HTTP method (MKCALENDAR) added in Rails 4.2 and RSpec not taking that into consideration? https://github.com/rails/rails/pull/15121

I should mention that the spec passes if I test a bunch of different HTTP methods individually, e.g.
it { should route(:get, 'webhooks/mailgun/emails').to(action: :emails) }
it { should route(:post, 'webhooks/mailgun/emails').to(action: :emails) }
it { should route(:put, 'webhooks/mailgun/emails').to(action: :emails) }
it { should route(:delete, 'webhooks/mailgun/emails').to(action: :emails) }

It's just when I use :all that the spec fails.

all is not a valid method as per the error message. The issue you linked to is not related. You can see in your error message that MKCALENDAR is listed as one of the valid messages.
Those specs pass because they use get, post, put, and delete; not all.

all isn't a valid HTTP method but it is a valid route option. It's used to match all verbs (see http://guides.rubyonrails.org/routing.html#http-verb-constraints). My routing tests that used all always passed before upgrading to Rails 4.2, so I'm not sure why they're failing now, but I'll just mark them as broken.

This is handled by Rails so it's likely they've changed the allowed routes for testing under Rails 4.2, instead you will probably find that the individual ones pass because all accepts hthem.


fix: clean gravitee context at the end of model deployment

Issue
https://github.com/gravitee-io/issues/issues/1305
Description
I didn't know the roles were cached in the GraviteeContext, I've noticed other handlers (like MembershipCommandHandler) were cleaning the context so I do the same.

Gravitee.io Automatic Deployment
📚 View the storybook of this branch here

Gravitee.io Automatic Deployment
Congrats, all the CI steps were 🟢 . The Bot was able to deploy the build of this PR, so you can now try it directly here! 🚀
Notes: The deployed app is linked to the management API of the Element Zero team's environment.

Gravitee.io Automatic Deployment
📚 View the storybook of this branch here

Gravitee.io Automatic Deployment
Congrats, all the CI steps were 🟢 . The Bot was able to deploy the build of this PR, so you can now try it directly here! 🚀
Notes: The deployed app is linked to the management API of the Element Zero team's environment.


Include DLite

I was going to add it, then I saw you pull request....  (  ^ - ^ ')
Nice job and thanks for the contribution :smile:


KeyError: 'Contents' on running upload

Following the readme, on big sur, and having entered my auth creds via dogsheep-photos s3-auth:
(venv) (base) Robins-MacBook:datasette robin$ dogsheep-photos upload photos.db     ~/Pictures/Photos\ /Users/robin/Pictures/Library.photoslibrary --dry-run

Fetching existing keys from S3...
Traceback (most recent call last):
  File "/Users/robin/datasette/venv/bin/dogsheep-photos", line 8, in <module>
    sys.exit(cli())
  File "/Users/robin/datasette/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/Users/robin/datasette/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/Users/robin/datasette/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/robin/datasette/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/robin/datasette/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/Users/robin/datasette/venv/lib/python3.8/site-packages/dogsheep_photos/cli.py", line 96, in upload
    key.split(".")[0] for key in get_all_keys(client, creds["photos_s3_bucket"])
  File "/Users/robin/datasette/venv/lib/python3.8/site-packages/dogsheep_photos/utils.py", line 46, in get_all_keys
    for row in page["Contents"]:
KeyError: 'Contents'

Possibly since the bucket is in EU (London) eu-west-2 and this into is not requested?

I am getting the same thing for US West (N. California) us-west-1

Same here for US West (N. California) us-west-1

The solution here is to upload an image to the bucket first. It is caused because it does not properly handle the case when there are no images in the bucket.


fixed bug of data parser python code

fix bug of data parser under the section "Load time series data from a file".

@ChenCheng368 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@DavidZeLiang could you or someone on your team review this change to the code sample? I am not familiar enough with the pandas library to properly evaluate this fix.
Adding @yingqunpku and @jr-MS for awareness.

This issue was updated in a separate PR. The change is live:

#please-close


add oc:size prop to PROPFIND results

without the oc:size prop phoenix will not shop the correct size for folders.
also added a todo to really filter the returned properties...

Codecov Report

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

@@         Coverage Diff          @@
##           master   #57   +/-   ##
====================================
  Coverage      75%   75%
====================================
  Files           2     2
  Lines          40    40
====================================
  Hits           30    30
  Misses          5     5
  Partials        5     5

Continue to review full report at Codecov.

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


Upgrade to latest pytorch_pretrained_bert package

New features, and support for some experimental stuff I'm working on.
Needed to start work on #491

This doesn't move GPT, the old version that we're using is a separate package: https://github.com/jsalt18-sentence-repl/jiant/blob/master/.gitmodules#L8

I'm going to merge this as-is since I tested a bunch of runs with 0.5.1. We'll likely want to update again when we start migrating the GPT code.


Create icon for Blockscan Chat for Settings tab

This https://chat.blockscan.com/start

https://zpl.io/Emklkxn


Fix default UQ experiments

The Dakota experiments created from the default parameters for the PolynomialChaos and StochasticCollocation BMI classes were failing, as shown in #43. I fixed this issue by setting a default value for the probability_levels keyword for all Dakota UQ methods.
I also cleaned up

the code in several unit tests, and
the support files generated by the Dakota RNG.

Coverage increased (+0.006%) to 99.017% when pulling<PHONE_NUMBER>2342c94311b0ea8dc9b63852fe0968 on mdpiper/fix-default-uq-experiments into 42ff99dfe7fcd003e3a02e49e5158625112eb4f1 on master.


Active, accepted findings getting mitigated when reimporting

Be informative
This issue relates to mr #7447.
Risk accepted Findings are set to mitigated even if they still exists in the imported scan.
Bug description
We're mostly working with trivy findings in defectdojo.
When we're accepting a finding with the simple risk acceptance function the finding gets the status 'Inactive', 'Risk Accepted'.
After the next reimport it also gets the status 'Mitigated', even if the active finding still exists in the report.
Steps to reproduce
Steps to reproduce the behavior:

Import findings of type 'Trivy Scan' via the reimport api
Go to http://localhost:8080/test/some-test-id, click on the menu points in front of one finding and hit 'Accept Risk' ('Enable simple risk acceptance' has to be enabled in the products settings to do this)
Reimport the same findings of type 'Trivy Scan' again via the reimport api
See that the previously accepted Finding got the additional status 'Mitigated'

Expected behavior
The finding should be skipped by the import (which it correctly does).
The finding should get not the status 'Mitigated' later in the reimport process when its still active.
In the Trivy Scan parser there are no informations for false positive, out of scope or risk accepted so these fields are set to False for each finding by default. By that the check mentioned in the merge request will never be True and the finding won't be added to the list of unchanged findings.
Without that the finding will be added to the to_mitigate list later.
See:
dojo/importers/reimporter/reimporter.py#L431-L433
dojo/importers/reimporter/reimporter.py#L507
Deployment method

[ ] Docker Compose
[X] Kubernetes
[ ] GoDojo

Environment information

DefectDojo version: 2.27.0
Trivy version: 0.45.1

Logs
uwsgi.log
[05/Oct/2023 14:01:11] DEBUG [dojo.importers.reimporter.reimporter:123] 0: skipping existing finding (it is marked as false positive:False and/or out of scope:False or is a risk accepted:True): 3415:CVE-2023-38039 Curl 8.2.1-r0:curl:8.2.1-r0
[...]
[05/Oct/2023 14:01:11] DEBUG [dojo.importers.reimporter.reimporter:530] mitigating finding: 3415:CVE-2023-38039 Curl 8.2.1-r0

Sample scan files
trivy-output.json.txt
Reimport cURL
reimport.curl.txt

I'll take a look at this next week

fixed with 2.38.0. thanks @lme-nca