Bug Report: IPC is SLOW

Bug Report:
How to reproduce: Try doing any command, whether that be highlighting, autocomplete, replacements and time it. It takes about .1s to .2s on my machine to get a response from the server. Thats unreasonably slow for a tool thats supposed to help speed up code editors and development time.
What should happen instead: Should almost always complete within .05s with files about 14,000 lines long (when using highlight should use about a 30 line snippet for these results)
Minimum reproducible example:
from time import sleep, time

from salve_ipc import IPC

times = []
for i in range(50):
    context = IPC()

    context.update_file(
        "test",
        open(__file__, "r+").read() * 200,
    )

    start_time = time()
    context.request(
        "autocomplete",
        file="test",
        expected_keywords=[],
        current_word="t",
    )

    while not context.get_response("autocomplete"):
        continue
    end_time = time() - start_time

    context.kill_IPC()

    times.append(end_time)

for i in range(50):
    context = IPC()

    context.update_file(
        "test",
        open(__file__, "r+").read() * 200,
    )

    start_time = time()
    context.request("highlight", file="test", language="python", text_range=(1, 21))

    while not context.get_response("highlight"):
        continue
    end_time = time() - start_time

    context.kill_IPC()

    times.append(end_time)

for i in range(50):
    context = IPC()

    context.update_file(
        "test",
        open(__file__, "r+").read() * 200,
    )

    start_time = time()
    context.request("replacements", file="test", expected_keywords=[], current_word="contest")

    while not context.get_response("replacements"):
        continue
    end_time = time() - start_time

    context.kill_IPC()

    times.append(end_time)

print(sum(times) / len(times))

OS: MacOS
Git branch: Master
Commit that bug started: No idea to be honest

I'm looking at the multiprocess module and I may want to move over to that to simplify the codebase and reduce performance overheads. Will need to investigate further

Yes, it seems that the multiprocess library is just a builtin form of IPC specifically for python :D

The send is near instant with even 140k char strings. I will definitely look into rewriting the basic example and then the main library piece by piece

Should also restore full windows compatability

Got this working:
from multiprocessing import Process, Pipe, Queue
from multiprocessing.connection import Connection
from time import sleep, time
from typing import Any, NotRequired, TypedDict
from random import randint
from sys import exit

class Message(TypedDict):
    """Base class for messages in and out of the server"""

    id: int

class Request(Message):
    """Request results/output from the server"""

    index: int

class Response(Message):
    """Server responses to requests, notifications, and pings"""

    cancelled: bool
    result: NotRequired[str]

class Client:
    def __init__(self) -> None:
        self.used_ids: list[int] = []
        self.current_id: int = 0
        self.client_end: Connection
        self.response_queue: Queue[Response] = Queue()
        self.requests_queue: Queue[Request] = Queue()
        self.create_server()

    def create_server(self) -> None:
        self.client_end, server_end = Pipe()
        self.proccess = Process(
            target=Server,
            args=(server_end, self.response_queue, self.requests_queue),
        )
        self.proccess.start()
        self.response_queue.get()  # Wait until server has been made

    def check_server(self) -> None:
        if not self.proccess.is_alive():
            self.create_server()

    def make_request(self, request: int) -> None:
        self.check_server()
        id = randint(0, 5000)
        while id in self.used_ids:
            id = randint(0, 5000)

        self.used_ids.append(id)
        self.current_id = id
        final_request: Request = {"id": id, "index": request}
        self.requests_queue.put(final_request)

    def check_output(self) -> Any:
        items: list[Response] = []
        while not self.response_queue.empty():
            items.append(self.response_queue.get())

        wanted_response: Response = {"id": 0, "cancelled": True}
        for item in items:
            id: int = item["id"]
            self.used_ids.remove(id)
            if id == self.current_id:
                wanted_response = item
        return wanted_response

    def kill_server(self) -> None:
        self.proccess.kill()

class Server:
    def __init__(
        self,
        server_end: Connection,
        response_queue: Queue,
        requests_queue: Queue,
    ) -> None:
        self.internal_list: list[str] = ["Yuh", "anyways", "soooo"]
        self.server_end: Connection = server_end
        self.response_queue: Queue[Response] = response_queue
        self.requests_queue: Queue[Request] = requests_queue
        self.response_queue.put({"id": 0, "cancelled": False, "result": ""})
        self.old_time = time()

        while True:
            self.run_tasks()

    def run_tasks(self) -> None:
        current_time = time()
        if current_time - self.old_time > 5:
            exit(0)

        while not self.requests_queue.empty():
            self.old_time = current_time
            request: Request = self.requests_queue.get()
            cancelled: bool = not self.response_queue.empty()
            output = ""
            if not cancelled:
                try:
                    output = self.internal_list[request["index"]]
                except IndexError:
                    output = "Bad Index"
            final_response: Response = {
                "id": request["id"],
                "cancelled": cancelled,
                "result": output,
            }
            self.response_queue.put(final_response)

        sleep(0.0025)

if __name__ == "__main__":
    st = time()
    c = Client()
    c.make_request(3)
    while (x := c.check_output()) is None or x == {"id": 0, "cancelled": True}:
        continue
    print(x)
    c.kill_server()
    print(time() - st, c.__sizeof__())


Upgrade to RavenDB3 and PRE6 Issue

After updating to PRE6 I am getting this error now. I was using RavenDB build 3.3528 with PRE1 I think it was OK but I had issues with getting roles for a user.
Something that the ApplicationUser could not be cast to Models.Person (my own model) Not even sure why it was saying that. But I read that RavenDB 2 to 3 had some breaking changes and it was likley to that. (Even though I was already on RavenDB 3)
I upgraded Identity to PRE6 and raven to 3.3690  (When I run the sample from tag PRE6 I get the same issues + optimistic concurrency is not set on AutoFac too, on the sample!)
I get this error now.
Method not found: 'System.Threading.Tasks.Task1<!!0> Raven.Client.IAsyncDocumentSession.LoadAsync(System.String).

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.MissingMethodException: Method not found: 'System.Threading.Tasks.Task`1<!!0> Raven.Client.IAsyncDocumentSession.LoadAsync(System.String)'.

Source Error:

Line 49:             if (ModelState.IsValid)
Line 50:             {
Line 51:                 var user = await UserManager.FindAsync(model.UserName, model.Password);
Line 52:                 if (user != null)
Line 53:                 {

I figured this one out. Its not about the version of the Server for RavenDB its a bout the Client in the application. I was using the latest 3 something. Comparing to the sample which is using 2.570.
I downgraded my solution to 2.570
also had to remove RavenDB dependencies from web.config to RaveDB.LightwieghtClient and RavenDB.Abstractions
It works fine now.
Still- It is an issue with version 3 of the Raven Client that is not documented neither is there a test in the Identity.RavenDB  to atleast throw an exception. ie, like for UseOptimisticConcurrency exception.


Harmonization with Oxygen - build.xml

I'm reporting here email threads I exchanged with @AlexJitianu from Oxygen in order to harmonize the XSpec version in the GitHub repository with the XSpec version integrated with Oxygen. The aim is to have a harmonized version of XSpec so that we can reach a win-win situation whereby:

Oxygen can easily integrate a new release of XSpec and benefit from the work done by the XSpec community
XSpec gets more visibility and users thanks to its integration within Oxygen

There are several areas where the two versions differ, one of which is the Ant script build.xml used to run XSpec tests. Oxygen uses this script to run XSpec tests within their editor but customized it to fit their purposes. Here are some of the parameters that Oxygen introduced as reported by @AlexJitianu:

output.file.path is used to copy the result to a specific location. This way we know what to open after the transformation ends. I'm not sure why we didn't just reuse the existing xspec.result.html parameter though... I'll look into it some more.<!-- OXYGEN PATCH needed to specify the name of the output file -->
<property name="output.file.path" value="${xspec.result.html}"/>
<!-- OXYGEN PATCH END -->

clean.output.dir is used for debugging purposes. There were times when we wanted to have a look at the result files in the XSpec's own XML format.<!-- OXYGEN PATCH needed to control the cleanup of all intermediate files -->
<property name="clean.output.dir" value="false"/>
<!-- OXYGEN PATCH END -->

format.xspec.report is used to apply a custom result format (see
format-xspec-report-oxygen.xsl.zip). Apparently, we also change a bit the HTML structure in the HTML result file.<!-- OXYGEN PATCH needed to customize the HTML result. -->
<property name="format.xspec.report" value="${xspec.project.dir}/src/reporter/format-xspec-report.xsl"/>
<!-- OXYGEN PATCH END -->

saxon.custom.options is needed to pass some options to Saxon, for example -val:lax  -dtd:off .<!-- OXYGEN PATCH needed to create a custom Saxon, for example  -warnings:recover -strip:none -opt:10 -dtd:off -l:off -versionmsg:off -expand:on -outval:fatal -val:lax -->
<property name="saxon.custom.options" value=""/>
<!-- OXYGEN PATCH END -->

Besides these properties there are also quite a lot of changes and it would be good to compare the version implemented in Oxygen and in the XSpec repository:

build.xml in Oxygen
build.xml in the XSpec repository

Documentation to run the latest version of XSpec with oXygen is available here.


LDAP group sync does not work with several LDAP Group mapping

Description
With a valid working LDAP authentication source configured for AD.
By Checking enable LDAP Groups and filling group search base, group attribute and user attribute in the configuration form and checking the 'remove users from synchronized teams...'.
Adding one mapping in the json form:
{"CN=MY-Team-Usr,OU=PSL-SDE,OU=ApplicationsManagement,DC=my,DC=company,DC=corp":{"TOOLS":["developers"]}}
works fine , users are added or removed according to their membership of the ldap group.
But if we add a second mapping in the form:
{"CN=MY-Team-Usr,OU=PSL-SDE,OU=ApplicationsManagement,DC=my,DC=company,DC=corp":{"TOOLS":["developers"]},"CN=p-AppGit-Usr,OU=GIT,OU=PSL-SDE,OU=ApplicationsManagement,DC=my,DC=company,DC=corp":{"PROD": ["developers"]} }
the second mapping remove systematically users if they were manually added to the second team and they are not added at login phase despite their membership of the LDAP group p-AppGit-Usr .
Please note that a restart of gitea is required each time the LDAP auth source is changed/updated for taking into account the changes.
Please note the 2 teams have the same name in different organizations
Note also that logs are unclear as they mention adding user in the Organisation Name instead of the ORG/Team name
2022/08/25 11:43:20 ...source_group_sync.go:46:SyncLdapGroupsToTeams() [T] [63074437] LDAP group sync: adding user [axxxxxx] to team [TOOLS] <= that is the org name not the team name
Logs with expression 'ldap' and trace level does not show any significant information other tha "adding user to team" or "removing user from team"
Also no log errors about not finding teams or org.
Gitea Version
1.17.1
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.27.0
Operating System
RHEL 8
How are you running Gitea?
From Github release executable
Database
MySQL

after further testing, the second mapping in the example above does not work even alone.
There is anyway an issue with the logs and an issue with that group but I wonder what and no logs are available.
As far as the user is removed for the team group in gitea, the issue seems to come from the retrieval of the members of the ldap group. Member DN is containing escaped ',' characters ( ',' and non escaped parenthesis '(' and ')'

finally, the only difference between working ldap groups and non-working ldap groups in my case looks to be the parenthesis in the user DN for the member attribute inside a group object.
If that is confirmed, that mean that the membership retrieval fail with some specific characters in the user DN field

My bad, found the issue in wrongly typing the DN Path in the mapping configuration entry.
Note that having a non existent ldap group in in config lead to removal of users in the team without error log.
Maybe that is expected in this case I can close the issue.
Note also that logs are anyway confusing as mentioned in the original post

Having the same issue with FreeIPA. Settings are as follows:

{"cn=developers,cn=groups,cn=accounts,dc=autogramma,dc=lan":{"Autogramma":["Developers"]},"cn=engineers,cn=groups,cn=accounts,dc=autogramma,dc=lan":{"Autogramma":["Engineers"]}}
Any help?


Long running SQL dependencies show incorrect duration (seconds instead of minutes)

SDK version: 2.13.1
.NET runtime version (.NET Core): netcoreapp3.1
Microsoft.Data.SqlClient: 1.1.2
Hosting Info (IIS/Azure WebApps/etc): IIS
Platform and OS version: Windows Server

Steps to reproduce.
Execute a long running SELECT query that takes 6 to 10 minutes.
What is the expected behavior?
Dependency has correct duration (6 to 10 minutes).
What is the actual behavior?
Dependency has incorrect duration, e.g. 4-6 seconds.
The parent request duration is correct.

Additional context.
Similar issue, but different actual behavior: #1385

Just had a case:
The same query is executed multiple times.
Some of the executions are throttled by Azure SQL and take about 53 seconds to complete.
Those executions are loggen in AI with duration of about 4 seconds.
@TimothyMothra
What can be wrong here ? Can caching of data you have mentioned in   #1385 be affected by multiple executions of the query ?
(There could have been an execution of the same query that took 4 seconds recently )

Is any action planned on this issue? While I am a fan of Application Insights, this bug makes it hard to recommend it for proactive production monitoring and analysis.

Is there any update on this?
Still happening to me on dotnet 6.0.

Good chance this is same as https://github.com/open-telemetry/opentelemetry-dotnet/issues/1614


mine does not perform how to solve this?

eu tenho windowns 7 64 bits e ele não executa o app como faço pra ativar o rich presence?

This is fixed in the latest v1.2 release: https://github.com/CodeMyst/DeezCord/releases/tag/1.2


Major bug: snakemake injects spaces in strings (e.g.,config["  key  "]) in module functions

Snakemake version
Tried in:

8.10
8.17
8.18

Describe the bug
If an imported module uses functions to set parameters, snakemake will modify strings by injecting spaces before/after " and -, resulting in a broken key.
Example:
def zip_filepath(wildcards):
    return f"hybas_{wildcards.continent}_lev{config["basins"]["HydroBASINS_level"]}_v1c.shp"

rule hydrobasin_zip_extract:
    message: "Extract requested basin resolution level."
    input:
        zipfile = "results/basins/hydrobasin_{continent}.zip"
    output:
        shapefile = "results/basins/raw_shape_{continent}.geojson",
        plot_shapefile = "results/basins/plots/basin_{continent}.png"
    params:
        zip_filepath = zip_filepath,
    wrapper: "v0.0.1/wrappers/geopandas/zip-extraction"

Will return this error:
SyntaxError in file https://raw.githubusercontent.com/calliope-project/ec_modules/feature-hydro/modules/hydro/workflow/rules/basins.smk, line 24:
f-string: unmatched '[':
                                return f"hybas_{wildcards.continent}_lev{config[" basins "][" HydroBASINS_level "]}_v1c.shp"

  File "https://raw.githubusercontent.com/calliope-project/ec_modules/feature-hydro/modules/hydro/workflow/Snakefile", line 22, in <module>

In the above, {config["basins"]["HydroBASINS_level"]} turns to {config[" basins "][" HydroBASINS_level "]} !!!
This is breaking a lot of individually working workflows on our side.
Logs
Using workflow specific profile profiles/default for setting default command line arguments.
SyntaxError in file https://raw.githubusercontent.com/calliope-project/ec_modules/feature-hydro/modules/hydro/workflow/rules/basins.smk, line 24:
f-string: unmatched '[':
                                return f"hybas_{wildcards.continent}_lev{config[" basins "][" HydroBASINS_level "]}_v1c.shp"

  File "https://raw.githubusercontent.com/calliope-project/ec_modules/feature-hydro/modules/hydro/workflow/Snakefile", line 22, in <module>

Minimal example
Here is an altered example that should trigger the bug

# Configure with continent: "na"
def continent_code(wildcards):
    return f"_{config["continent"]}_"

rule hydrobasin_download:
    message: "Download HydroSHEDS-HydroBASINS v1.0 zip file for North America, except that it fails if imported as module from Github!"
    conda: "../envs/shell.yaml"
    params:
        prefix = "https://data.hydrosheds.org/file/hydrobasins/standard/hybas_",
        junk= continent_code,
        suffix = "_lev01-12_v1c.zip"
    output: temp("results/basins/hydrobasin_na.zip")
    shell:
        "curl -sSLo {output} '{params.prefix}{params.junk}{params.suffix}' "

Then call this as a module from another workflow.
Additional context

Here are the actual lines that cause the bug in one of our workflows.
We are using different wrappers than the snakemake-wrappers repo, but the code fails beforehand.
rule hydrobasin_download:
    message: "Download HydroSHEDS-HydroBASINS v1.0 zip file for '{wildcards.continent}'."
    conda: "../envs/shell.yaml"
    params:
        prefix = "https://data.hydrosheds.org/file/hydrobasins/standard/hybas_",
        suffix = "_lev01-12_v1c.zip"
    output: temp("results/basins/hydrobasin_{continent}.zip")
    shell:
        "curl -sSLo {output} '{params.prefix}{wildcards.continent}{params.suffix}' "

def zip_filepath(wildcards):
    return f"hybas_{wildcards.continent}_lev{config["basins"]["HydroBASINS_level"]}_v1c.shp"
rule hydrobasin_zip_extract:
    message: "Extract requested basin resolution level."
    input:
        zipfile = "results/basins/hydrobasin_{continent}.zip"
    output:
        shapefile = "results/basins/raw_shape_{continent}.geojson",
        plot_shapefile = "results/basins/plots/basin_{continent}.png"
    params:
        zip_filepath = zip_filepath,
    wrapper: "v0.0.1/wrappers/geopandas/zip-extraction"

I also noticed that hyphens also trigger this issue (config["HydroBASINS-level"] -> config[" HydroBASINS - level "])

For those looking for a fix, this works:
lambda wc: f"hybas_{wc.continent}_lev"+config["basins"]["HydroBASINS_level"]+"_v1c.shp"
Basically, do not attempt to look into dictionaries (like config) within snakemake functions if you want your workflow to be portable.
This is might be really limiting, unfortunately, since not all functions fit nicely into lambda

Further debugging:
Shell scripts are also broken, even if you do not call any modules.
SyntaxError in file /home/ivanruizmanuel/Documents/git/ec_modules/modules/transport_module/workflow/rules/downloads.smk, line 39:
invalid syntax. Perhaps you forgot a comma?:
                                distance = config [ "data-sources" ] [ "jrc-idees" ] [ "transport-road-distance" ]

@simonwm oh damn that is a super easy mistake to figure out.
My bad. I guess I'm too used to my linters catching this stuff for me. I'll close this issue in shame 🤦

Not an issue!

No wait, @simonwm : this works perfectly in python 3.12
>>> love = {"thing": "icecream"}
>>> f"what I love is {love["thing"]}"
'what I love is icecream'
>>>

But this type of thing breaks in snakemake 8.18. This is an actual issue.
Another example:
rule create_controlled_road_transport_annual_demand_and_installed_capacities:
    message: "Create annual demand for controlled charging and corresponding charging potentials at a given resolution"
    input:
        populations = f"resources/population/population_{config["data-sources"]["resolution"]}.csv"  # I should not fail!
    params:
        year = config["scope"]["temporal"]["first-year"],
    conda: "../envs/default.yaml"
    output:
        main = "results/electrified-transport.csv",
    script: "../scripts/road_transport_controlled_charging.py"

Returns the following when calling a remote module:
SyntaxError in file https://raw.githubusercontent.com/calliope-project/ec_modules/feature-transport-fixes/modules/transport_road/workflow/rules/transport.smk, line 28:
f-string: unmatched '[':
                                        populations = f"resources/population/population_{config[" data - sources "][" resolution "]}.csv"

Aha, so it is literally a general problem in python 3.11, interesting!
Closing AGAIN haha


revise view of history record in markdown page

some function are added for getting different version of files, but I am not sure how they can be used now.


move sas stuff into Sas namespace

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[x] C++ Guidelines
[x] Doxygen docs
[x] Unit tests
[x] No unwanted commits/changes
[x] Descriptive title/description

[x] PR is single purpose
[x] Related issue listed

[x] Comments in source
[x] No typos
[x] Update changelog
[x] Not work-in-progress
[x] External references or docs updated
[x] Self review of PR done
[x] Any breaking changes?

closes https://github.com/Azure/azure-sdk-for-cpp/issues/1191

/azp run cpp - storage

/azp run cpp - storage


[Regfile Change Proposal] Regfile CDC Handling

In OpenTitan, there are multiple modules whose core operating frequency differs from the bus interface.  For example:

usbdev
spi_host
spi_device
pwrmgr
pinmux
pwm
adc_ctrl
sys_rst_ctrl
aon_timer

All of these are handling regfile / core CDC function differently in someway.
The slower modules however (from pwrmgr to aon_timer in the list above) are most critical, because depending on how we handle them, could incur significant latency on the operating host.
As a result, we would like proposal a unified way of handling CDC directly in the regfile.  Please see in this proposal.
Please see the prototype implementation in #7331.  In this PR, aon_timer uses the more complex cdc scheme as an example, while pwm uses the simpler one.
PROS

The main benefit of such a scheme is that we would unify CDC handling and free most modules (especially those using aon_clk) to implement most of its local logic in the other domain without worrying about crossing.  The higher speed modules (usbdev / spi_host) don't necessarily need to follow the same scheme since they do not have the clock latency downsides.  However, it could still benefit from streamlining and simplification of module logic.

This would unify the method of HOW software discovers writes to a different domain are done, which can be very useful.

This would simplify eventual CDC checking as all modules would conform to one scheme.  It would also simplify the review process if we all agree on what to use.

CONS

For blocks that are already mature, this would represent unnecessary churn.  It may not make sense then to revamp all blocks with this.

It is additional effort on DV (perhaps very heavy) to verify another common functionality inside the regfile

I am opening this issue to solicit feedback from everyone (especially the impacted design and dv folks) to see what you all think.
We will be going over the proposal in more details in a future OpenTitan project meeting.
Even if we agree to this scheme, it is an open question exactly which modules should convert. The mature high speed modules do not materially benefit from a switch.  Some modules (such as spi_device) cannot use this scheme because the core clock is not always going to be available.

@dsandrs
@cfrantz
@moidx
@Muqing-Liu
@GregAC
@rswarbrick
@rasmus-madsen

On the DV side, I don't think this should cause any problems. We don't have "register file verification" separate from the blocks themselves, so there's nothing to worry about there. I don't think this should have any impact on a block that doesn't use the scheme. For blocks that do use the scheme, I'd hope we can verify that it's working right: if not, we have other problems :-)


⚠ Bofrost.fr has degraded performance

In 5e32337, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 807 ms

Resolved: Bofrost.fr performance has improved in 11c175d.


Not Using

full tutorial

Command "infyom.publish:generator-builder" is not defined.
  Did you mean one of these?
      infyom.publish:layout
      infyom.publish:templates

This was a documentation problem. It's fixed now.
And I think you are trying to use generator-builder without including that package. so you need to add that.
But I will recommend you to use it from command line, because generator-builder is in beta and not in sync with some latest features of generator.


[stable/sematext-docker-agent] add apiVersion

Adding the apiVersion for chart.yaml
to fix the issue: https://github.com/helm/charts/issues/13763
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] title of the PR contains starts with chart name e.g. [stable/chart]

/assign @mattfarina

/lgtm


Take testFramework artifacts directly from Maven repository

Currently gradle-intellij-plugin adds testFramework*.jar artifacts from the IDE distribution to the dependencies. However these JARs are available as separate artifact in IntelliJ artifacts repository for some time already. So we plan to remove them to reduce size of the distribution. In order to provide smooth migration for the plugin developers, it makes sense to automatically include com.jetbrains.intellij.platform:test-framework to testCompile dependencies.

com.jetbrains.intellij.go doesn't seem to be a directory under https://cache-redirector.jetbrains.com/intellij-dependencies

@tamj0rd2 What are you trying to achieve?

Related issue: although lib/testFramework.jar is correctly excluded from the production runtime classpath after https://github.com/JetBrains/gradle-intellij-plugin/commit/a10955810, it still exists on the compile classpath. This makes it easy to get NoClassDefFoundError at runtime. You can reproduce this by referencing com.intellij.testFramework.PlatformTestUtil from some production sources in a plugin.
Let me know if you'd like a separate issue filed for this.

Let me know if you'd like a separate issue filed for this.

@gharrma I think it's better to create a separate issue about that.

With the IntelliJ Platform Gradle Plugin 2.0, the testFramework.jar bundled with IDEs is no longer attached to the project — it may be even removed from the distribution in the future.
A new approach is introduced, which requires specifying an explicit dependency on the Test Framework in the project dependencies, like:
repositories {
  mavenCentral()

  intellijPlatform {
    defaultRepositories()
  }
}

dependencies {
  intellijPlatform {
    intellijIdeaCommunity("...")

    testFramework(TestFrameworkType.JUnit4)
  }

  // other dependencies, e.g., 3rd-party libraries
}

The testFramework helper method is a shorthand for adding Test Framework to the project (JUnit4 or JUnit5 platform variants), but also plugin/technology-specific variants, like Java, Maven, ReSharper, etc.
See Dependencies Extension and TestFrameworkType type for more details.


Migrate to @typescript-eslint 8

To get Dependabot back on we had to disable major updates of @typescript-eslint depdendencies: https://github.com/swiftlang/vscode-swift/pull/1166
We should migrate to version 8. Should discuss if we would like to remove the Dependabot rule or if we believe we always suspect a major ESLint update would cause this issue.

https://github.com/swiftlang/vscode-swift/actions/runs/12149050931/job/33879420980
Verified latest GH action linting properly with eslint8.


Move waiting socket command of estimator sidecar to init container

What would you like to be added?
Instead of having until [ -e /tmp/estimator.sock ]; do sleep 1; done in command patch to kepler.
https://github.com/sustainable-computing-io/kepler-model-server/blob/main/manifests/base/patch/patch-estimator-sidecar.yaml
We should patch init container separately to the daemonset.
This change should be also updated in Kepler-operator repo as well.  @sthaha
Why is this needed?
To avoid inconsistent of kepler command.

Need redesign since the estimator must be running as a sidecar container to serve the socket.


Allow using regex in exclude option

Sometimes you need to exclude a file but you don't know the exact filename.
In my case, I have two webpack compilers: one for JS and one for CSS. Each output file has a hash appended to it for the purpose of cache busting.
application_68554c864f233311b88c.js
application_ed9d2efc35d296699f6d.css

When running the JS compiler, I don't want to delete the CSS file generated by a different compiler, but I also don't know the exact name of the CSS file since it contains a hash. This is a where a regex comes in handy:
  new CleanWebpackPlugin(['public'], {
    verbose: true,
    exclude: [/application\.css/]
  })

Coverage increased (+0.2%) to 94.059% when pulling bd2343253728479d9eb7412dff02b6b9fd82b118 on fbonetti:master into 1e77c650233ac8e6cc603c8bbc248ee6f7a73455 on johnagan:master.

Coverage increased (+0.2%) to 94.059% when pulling bd2343253728479d9eb7412dff02b6b9fd82b118 on fbonetti:master into 1e77c650233ac8e6cc603c8bbc248ee6f7a73455 on johnagan:master.

Coverage increased (+0.2%) to 94.059% when pulling bd2343253728479d9eb7412dff02b6b9fd82b118 on fbonetti:master into 1e77c650233ac8e6cc603c8bbc248ee6f7a73455 on johnagan:master.

Coverage increased (+0.2%) to 94.059% when pulling bd2343253728479d9eb7412dff02b6b9fd82b118 on fbonetti:master into 1e77c650233ac8e6cc603c8bbc248ee6f7a73455 on johnagan:master.

Coverage increased (+0.2%) to 94.059% when pulling bd2343253728479d9eb7412dff02b6b9fd82b118 on fbonetti:master into 1e77c650233ac8e6cc603c8bbc248ee6f7a73455 on johnagan:master.

@fbonetti Are you going to resolve conflicts and push this over the finish line? I would find it extremely helpful...

Yeah @fbonetti great job, I'm waiting for this to be merged.

Would love to see this merged, Would you please resolve the conflicts?

any progress on this? would be super awesome to have this functionality!

Closed in v2.0.0 via #99. See johnagan/clean-webpack-plugin#usage. Please open a new issue if you continue to have problems.


Update or replace djangorestframework-xml

We use the package djangorestframework-xml in edx/course-discovery, edx/edx-enterprise, edx/edx-platform, edx/enterprise-catalog. It hasn't yet added support for Django3.2. Please follow the guidance in https://openedx.atlassian.net/wiki/spaces/AC/pages/3036972032/Handling+Outdated+Dependencies to resolve the problem this poses for the Open edX Django 3.2 upgrade.

@jmbowman, I am looking into this one. Reference PR - #56


HDDS-1918. hadoop-ozone-tools has integration tests run as unit

What changes were proposed in this pull request?
Run hadoop-ozone-tools tests as part of integration.sh, not unit.sh.
https://issues.apache.org/jira/browse/HDDS-1918
How was this patch tested?
$ ./hadoop-ozone/dev-support/checks/unit.sh
...
(no Ozone Tools here)
...
$ ./hadoop-ozone/dev-support/checks/integration.sh
...
[INFO] Reactor Build Order:
[INFO]
[INFO] Apache Hadoop Ozone Integration Tests                              [jar]
[INFO] Apache Hadoop Ozone FileSystem                                     [jar]
[INFO] Apache Hadoop Ozone Tools                                          [jar]
...

/label ozone

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
70
Docker mode activated.

_ Prechecks _

+1
dupname
0
No case conflicting files found.

0
shelldocs
1
Shelldocs was not available.

+1
@author
0
The patch does not contain any @author tags.

-1
test4tests
0
The patch doesn't appear to include any new or modified tests.  Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1
mvninstall
597
trunk passed

+1
mvnsite
0
trunk passed

+1
shadedclient
830
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1
mvninstall
577
the patch passed

+1
mvnsite
0
the patch passed

+1
shellcheck
2
There were no new shellcheck issues.

+1
whitespace
1
The patch has no whitespace issues.

+1
shadedclient
723
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1
unit
108
hadoop-hdds in the patch passed.

+1
unit
292
hadoop-ozone in the patch passed.

+1
asflicense
50
The patch does not generate ASF License warnings.

3471

Subsystem
Report/Notes

Docker
Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1236/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/1236

Optional Tests
dupname asflicense mvnsite unit shellcheck shelldocs

uname
Linux b1d0c8d0de19 4.4.0-138-generic #164-Ubuntu SMP Tue Oct 2 17:16:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / 1c53ce0

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-1236/1/testReport/

Max. process+thread count
412 (vs. ulimit of 5500)

modules
C: hadoop-ozone U: hadoop-ozone

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-1236/1/console

versions
git=2.7.4 maven=3.3.9 shellcheck=0.4.6

Powered by
Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

Thank You @adoroszlai for the contribution.
I have committed this to the trunk.

Thank you @bharatviswa504 for reviewing and commiting this.


updated 7.1.29 to 7.1.30 and 7.2.18 to 7.2.19

surce https://www.php.net/archive/2019.php

Thanks :100:

you're welcome :) nice project btw


ERROR WHILE TRAINING.

While training my custom data following error occurs. while executing this line ..
My preprocessing is perfect .
This is the command  I ran.
................................................................................................
!python train.py configs/img/onet.yaml
......................................................................................................
Traceback (most recent call last):
File "train.py", line 51, in
train_dataset = config.get_dataset('train', cfg)
File "/content/occupancy_networks/im2mesh/config.py", line 152, in get_dataset
categories=categories,
File "/content/occupancy_networks/im2mesh/data/core.py", line 86, in init
with open(split_file, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'data/ShapeNet/03001627/train.lst'

!python /content/occupancy_networks/scripts/create_split.py /content/occupancy_networks/data/ShapeNet/03001627 --r_val 0.1 --r_test 0.2
files created by following command .. make your required paths as relative to your system


Biome Generation

Minecraft Version:

1.12.2
Forge Version:
<IP_ADDRESS>90
Advanced Rocketry Version:
1.2.6-49 UNSTABLE
LibVulpes Version:
0.2.7-25 UNSTABLE
is this the latest curseforge build?

Explain issue in detail:
I have created a number of planets from the planetDefs.xml. Everything is working out fine, but all the biomes seem to be VERY close together, like maybe 10 to 12 blocks between 3 or 4 of them. I have included a picture showing a marsh, a deep swamp and a ocean spire biome very close.

I know biome generation is random, but I have generated 4 or 5 planets and all of them, throughout the 1000 block radius I ran, yields the same very close biomes.  Here's my .xml (in txt format)
planetDefs.txt

Can no longer replicate. Probably got fixed in the middle of other 1.12 terrain gen fixes.


After not receiving packets for 9 seconds, BFD will never come up again

First of all, thanks for the good work, I really like OpenBFDD and we're currently using it on several servers.
Here is my setup:

MX104 Router, JunOS 13.3R6.5, IP x.y.120.200
Debian 7 with openbfdd-0.5.3, IP x.y.120.143

Juniper Config:
set routing-options static route x.y.121.20/32 next-hop x.y.120.143
set routing-options static route x.y.121.20/32 bfd-liveness-detection version automatic
set routing-options static route x.y.121.20/32 bfd-liveness-detection minimum-interval 300
set routing-options static route x.y.121.20/32 bfd-liveness-detection multiplier 3
Debian Config:
/usr/local/bin/bfdd-beacon --listen=:: --listen=<IP_ADDRESS> --control=<IP_ADDRESS>:957
/usr/local/bin/bfdd-control session new set multi 3
/usr/local/bin/bfdd-control session new set mintx 300 ms
/usr/local/bin/bfdd-control session new set minrx 300 ms
/usr/local/bin/bfdd-control allow x.y.120.200
triggering the problem:
Wait a few seconds until the session is established.
on the Debian box, run: "iptables -I INPUT -p udp --dport 3784 -j DROP"
session is down after ~900ms on the juniper, checked with "show bfd session"
wait >9 seconds (very important!)
on the Debian box, run "iptables -F INPUT" (or restart your firewall, if you have one)
Afterwards, the openbfdd Daemon on the client will never again send any (!) packet out.
Restarting the Daemon does not help - the session will not come up anymore. My theory is that OpenBFDD receives the down packets from the Juniper box and never tries to INIT again, if it did not have an active session <~9 seconds ago. Weird!
This is a serious problem if you unplug a cable for more than about 9 seconds or mess up your firewall rules - BFD is down and you cannot fix it on the OpenBFDD side!
If the waiting time between dropping the packets in the firewall and allowing them again is smaller than about 9 seconds, OpenBFDD will send out an Init packet even after receiving several down packets.
You can fix it on the Juniper box by deactivating and activating BFD:
deactivate routing-options static route x.y.121.20/32 bfd-liveness-detection
commit
activate routing-options static route x.y.121.20/32 bfd-liveness-detection
commit
This behaviour puzzles me and needs to be fixed IMHO, otherwise using BFD introduces a severe problem.

Confirmed. I ran into the same issue.

use 'connect local ip remote ip'
juniper need active bfd configuration on both sides

Whoa, you're my hero! Thank you so much, that solved it, wow! :) :+1: :100:


Add syntax highlighting for JS/TS template string interpolation (Monokai built-in theme)

The built-in Monokai theme makes interpolated template strings difficult to read. This PR adds highlighting to improve accessibility.
before:

after:

Hi @soncodi, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

I've signed the CLA.

Our typescript grammar uses scopes
punctuation.definition.template-expression.begin.ts
and
punctuation.definition.template-expression.end.ts
for the interpolation in strings.
The PR should use that.

@aeschli Thanks. I adjusted the selectors, also including .js

I'd suggest to just have the common prefix: punctuation.definition.template-expression.
The inner part might also get colored, but this will be fixed by #3008 in the January build

@aeschli Selectors updated.

@aeschli Any update on this PR?

I think you can remove the template.variable rule. It's not a scope that is produced by the TypeScript grammar. This used to match before because we matched colors against a flattened list of all scopes. Not with the work for #3008, we match only if a coloring rule is a prefix of a scope.

I'll remove the template.variable rule as discussed.
@soncodi Thanks for the PR!

Thank you @aeschli


Ensure initial state of the teadmill board when application connects

For now, lets say the torque of the treadmill is always set at 0 at the start of the session.

Closed via #285


Microphone button not showing

Checklist:

[x] I updated to the latest version available
[x] I cleared the cache of my browser

Release with the issue:
v5.2.0
Last working release (if known):
na
Browser and Operating System:
Google Chrome on Windows 10
Description of problem:

Sometimes the microphone icon is not showing, and sometimes it show up after 10/15 seconds.
Frigate card diagnostic information

{
  "ha_version": "2024.2.2",
  "card_version": "5.2.0",
  "browser": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36",
  "date": "2024-02-26T13:54:48.223Z",
  "frigate_version": {
    "1b22592cf8c1b00bdb246e8c93d2f54b": "4.0.1/0.13.0-7c629c1"
  },
  "lang": "it",
  "timezone": "Europe/Rome",
  "git": {
    "build_version": "5.2.0-HEAD+g69249b6",
    "build_date": "Fri, 23 Jun 2023 15:26:26 GMT",
    "commit_date": "Thu, 22 Jun 2023 09:21:26 -0600"
  },
  "config": {
    "type": "custom:frigate-card",
    "cameras": [
      {
        "camera_entity": "camera.cam_gatto",
        "live_provider": "go2rtc",
        "go2rtc": {
          "modes": [
            "webrtc"
          ]
        }
      }
    ],
    "menu": {
      "buttons": {
        "microphone": {
          "enabled": true,
          "alignment": "opposing"
        },
        "timeline": {
          "enabled": false
        },
        "cameras": {
          "enabled": false
        },
        "frigate": {
          "enabled": true
        },
        "download": {
          "enabled": false
        },
        "media_player": {
          "enabled": false
        },
        "mute": {
          "enabled": true,
          "alignment": "opposing"
        },
        "camera_ui": {
          "enabled": false
        },
        "substreams": {
          "enabled": false
        },
        "clips": {
          "enabled": false
        },
        "snapshots": {
          "enabled": false
        }
      },
      "style": "outside",
      "position": "top",
      "alignment": "top"
    },
    "live": {
      "controls": {
        "thumbnails": {
          "mode": "none"
        }
      },
      "auto_mute": "all",
      "preload": true,
      "microphone": {
        "always_connected": true
      }
    },
    "dimensions": {},
    "media_gallery": {
      "controls": {
        "thumbnails": {
          "size": 140,
          "show_favorite_control": false,
          "show_timeline_control": false,
          "show_download_control": false
        },
        "filter": {
          "mode": "none"
        }
      }
    },
    "elements": [
      {
        "type": "custom:frigate-card-ptz",
        "style": {
          "right": "0%",
          "top": "82%"
        },
        "service": "button.press",
        "data_left": {
          "entity_id": "button.camera_di_lore_move_left"
        },
        "data_right": {
          "entity_id": "button.camera_di_lore_move_right"
        },
        "data_up": {
          "entity_id": "button.camera_di_lore_move_up"
        },
        "data_down": {
          "entity_id": "button.camera_di_lore_move_down"
        }
      }
    ]
  }
}

Javascript errors shown in the web inspector (if applicable):
Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.

Uncaught (in promise) TypeError: Failed to fetch dynamically imported module: https://ha.smarthome.mrtsolutions.it/config/www/community/lovelace-card-mod/card-mod.js

Uncaught DOMException: Failed to execute 'define' on 'CustomElementRegistry': the name "mushroom-select" has already been used with this registry

logging-mixin.ts:57 Failure writing uncaught error to system log: Error: Cannot parse given Error object
    at Object.parse (error-stack-parser.js:35:23)
    at stacktrace.js:106:62
    at new Promise (<anonymous>)
    at fromError (stacktrace.js:105:20)
    at t (log-message.ts:37:31)
    at logging-mixin.ts:45:33

Additional information:

Your WebRTC stream probably isn't loading correctly. If the video feed looks like it's updating at about 1 FPS, this is because the card is showing you stills while it waits for the stream to load. The button will appear when the stream is loaded. This is usually a networking or configuration issue.
Example comparison issue: https://github.com/dermotduffy/frigate-hass-card/issues/1375#issuecomment-1952594207

Your WebRTC stream probably isn't loading correctly. If the video feed looks like it's updating at about 1 FPS, this is because the card is showing you stills while it waits for the stream to load. The button will appear when the stream is loaded. This is usually a networking or configuration issue.
Example comparison issue: #1375 (comment)

ok thank you for the response... but why on Tapo app it is always working? What does it depends on?
My Frigate config:
go2rtc:
  streams:
    cam_gatto:
      - rtsp://<localuser>:<localpw>@<ip>:554/stream1
      - tapo://admin:<cloud sha256 pw>@<ip>
  candidates:
      - <frigate lan ip 192.168.x.x>:8555
      - stun:8555
  ffmpeg:
    bin: ffmpeg
    volume: "-af \"volume=30dB\""

and
cameras:
  cam_gatto:
    record:
      enabled: False
    ffmpeg:
      inputs:
        - path: rtsp://<IP_ADDRESS>:8554/cam_gatto?video=copy&audio=aac
          roles:
            - record
      output_args:
        record: preset-record-generic-audio-copy
    onvif:
      host: <camip>
      port: 2020
      user: xxxxx
      password: xxxx

    birdseye:
      enabled: False

should I change something? I have other 3 Reolink IP Camera in Frigate and they work correctly

[Issue cleanup] Please update to the latest build and let me know if you still have this issue:
https://github.com/dermotduffy/frigate-hass-card/releases/tag/v6.0.0-beta.4
In the new versions, if the full connection doesn't load you'll see a small blue loading circle up the top right, that would confirm whether or not that's the issue. As for why your webrtc connection isn't loading, I'm afraid that is a whole other topic with a lot of difficult possibilities...

Please re-open if this is still an issue with the new betas.


Optional plugins should not all be installed by default

The install-plugins.sh script installs all optional dependen plugins by default. According to the code this is due to a problem with the  matrix-auth plugin.
    # Note, matrix-auth plugin notes cloudbees-folder as optional in the archive, but then failed to
    # load, citing a dependency that is too old, during testing ... so we will download optional dependencies

Is theree still a problem with this plugin? If yes, then theproblem should be addressed in this plugin and not via work-arround in this script.
It it would still be nessesary to intall optional dependencies, it should be configurable to choose whether or not they are installed.

This issue hits me when extending the jenkins with s2i.


fix(docs): fixed all occurences of gardlew

WHAT
Fixes all occurences of gardlew in the docs.
WHY
Briefly state why the change was necessary.
FURTHER NOTES
Continuation of #1341

Thanks @saschaisele-zf


infinite loop when adding a custom jQuery valHook for typeahead

Hello!
First I will describe my situation to let you know why this issue is important for me.
I have a form on a web page, to which I import data from external source. Right now I use val() to set value of every field in the form. Unfortuanately there is a bug right now in our code considering setting values with jQuery's val() at fields with typeahead enabled: on blur event the field value is reset to an empty one. It was already described in a couple of issue reports at your project e.g. here: https://github.com/twitter/typeahead.js/issues/28
What I want to do to solve the problem is to assign to the valHook of text input type a function which detects if a field is typeahead-enabled and if it is run $field.typeahead('val', value) to properly update the internal query property of typeahead, like this:
var typeaheadValHook = {
    set: function(element, value) {
      var $element = $(element);
      if ($element.data('ttTypeahead') !== undefined) {
        $element.typeahead('val', value);
        return;
      }
      element.value = value;
    },
};

$.valHooks.text = typeaheadValHook;

The main advantage of this solution is transparency. After adding such a hook, I don't need to take care of problems with val() for typeahead-enabled fields, and it will start to work as for other input fields.
Unfortunately, after applying the code above the problem is that setInputValue() which is called at the time of calling $element.typeahead('val', value); calls inside val() from jQuery which makes infinite look.
Is it possible to change setInputValue() from:
setInputValue: function setInputValue(value, silent) {
    this.$input.val(value);
    silent ? this.clearHint() : this._checkInputValue();
}

to:
setInputValue: function setInputValue(value, silent) {
    this.$input[0].value = value;
    silent ? this.clearHint() : this._checkInputValue();
}

This is going to make possible applying the hook above and easily solve problems with value reset on blur event.
Typeahead can be applied only on text fields so the change will not affect the functionality.

I'm going to explore removing the jQuery dependency (see #1180). This would solve this issue. In the meantime, I'd prefer not to make one-off changes like this.


Simplifications and comment improvements

Which issue does this PR close?

Closes #.
Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Thanks, merged.


⚠ Bofrost.de has degraded performance

In f536ed8, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1105 ms

Resolved: Bofrost.de performance has improved in 85b193b after 53 minutes.


added an option to customise the topic name patterns

this pull request add options to configure and use:

A custom topic name pattern, based on a jinja template format.
A custom topic name separator, if you don't like dots, you can now change it.

closes #60

Just some thoughts:

is a full templating language really necessary here? A simple StringSubstitutor  or maybe even just String#format might be sufficient.
switch/case as in TopologyImp#toString() could be replaced with proper OOP, e.g. the strategy pattern (I did some work on that in this branch
I think it's not good practice to have a lot of setters (for example setPrefixProperties, setProjectPrefix in Topic) which have to called explicitly when creating an object. The knowledge about these properties (which are currently being set explicitly by the parent object (Topology for a Project, Project for a Topic), could be directly delegated to the parent object. Or, at least, add proper constructor parameters.
I feel we slowly need to add some form of validation logic since restarting KTB with different naming pattern (and especially allowDeletes) could wrack havoc on a cluster.

Thanks for your feedback @christophschubert, some thoughts as well on your points.

String#format might be sufficient.

While this might be true, I like to add the jinja framework for future work as well. So this is bigger for that small use case, but opens the door to do more in the future.

switch/case as in TopicImpl#toString() could be replaced with proper OOP, e.g. the strategy pattern (I did some work on that in this branch

I see this as way too much. With a proper format, we are able to follow what operators know and this is as well a point of using jinja, a template format that is known by ansible and other configurationascode tools.

I think it's not good practice to have a lot of setters (for example setPrefixProperties, setProjectPrefix in Topic) which have to called explicitly when creating an object. The knowledge about these properties (which are currently being set explicitly by the parent object (Topology for a Project, Project for a Topic), could be directly delegated to the parent object. Or, at least, add proper constructor parameters.

I see this as a personal point of yours, the number of setters and getters is directly related to the properties available in the class, and each property is used to represent a state. However you have a point, passing the prefix from other upstream objects is clearly something that can be improved.

I feel we slowly need to add some form of validation logic since restarting KTB with different naming pattern (and especially allowDeletes) could wrack havoc on a cluster.

Yes we need something like this, but not for 1.0, for the first version I aim to release soon, we will add a basic framework as described #89 .
I hope this helps, I know of my thoughts are opinion, there is no better or worst, mostly strategy ;-)

I think it's not good practice to have a lot of setters (for example setPrefixProperties, setProjectPrefix in Topic) which have to called explicitly when creating an object. The knowledge about these properties (which are currently being set explicitly by the parent object (Topology for a Project, Project for a Topic), could be directly delegated to the parent object. Or, at least, add proper constructor parameters.

I see this as a personal point of yours, the number of setters and getters is directly related to the properties available in the class, and each property is used to represent a state. However you have a point, passing the prefix from other upstream objects is clearly something that can be improved.

You mean mutable state? I don't see what the mutable state of a topic name could be. If there's no mutable state, it should be set in the constructor. Again, I fail to see how this classifies as opinion.

I feel we slowly need to add some form of validation logic since restarting KTB with different naming pattern (and especially allowDeletes) could wrack havoc on a cluster.

Yes we need something like this, but not for 1.0, for the first version I aim to release soon, we will add a basic framework as described #89 .
I hope this helps, I know of my thoughts are opinion, there is no better or worst, mostly strategy ;-)
I don't think I get what you mean by 'strategy'. I also fail to see how the framework in #89 might prevent us against a restart of KTB with a different topic-name-separator and causing all topics to be deleted.

Hi @christophschubert,

I also fail to see how the framework in #89 might prevent us against a restart of KTB with a different topic-name-separator and causing all topics to be deleted.

KTB is not restarted, is run in jenkins or other CI/CD system. so is configured once per team. Then users as in developers don't change this patterns and any change on config is fully informed and intentional by admins. I don't think such validation is required at this point in this.


Party invite requests deny optionnot working

Expected behavior
Whenever I set party invite requests to deny in the player settings menu, players are still able to send party invites to me.
I haven't really touched any of the settings.
PARTY_REQUESTS:
  NAME: "&5Party Invite Requests"
  SLOT: 1
  ICON: NAME_TAG
  LORE:
    - "&7If enabled, players will be"
    - "&7able to send you party invites."
    - " "
  O-ENABLED: "&7Allow party leaders to invite you"
  O-DISABLED: "&7Don't allow party leaders to invite you"
  SHOW: true

Nothing shows in console either...
Observed/Actual behavior
It claims it will not let anyone send me party invite requests, but players still do, even when both parties are not opped and they both have the default rank.
How to Recreate (if known)
No response
Stack trace
Paste your stack trace or a https://pastebin.com/ link here!
Plugin list
AquaCore 2.6.22.jar
BetterHub - 2.0.jar
CarbonSpigot-1.4.jar
CommandDisabler-2.0.jar
CraftingStore.jar
FastAsyncWorldEdit-bukkit-21.03.26-b67f782-1287-22.3.10.jar
Frost-8.8.jar
GlobalGamerules-1.0.0.jar
HackedCore.jar
HackedServer.jar
HeadDatabase-4.16.0.jar
HolographicDisplays.jar
HPWP.jar
KarhuLoader.jar
KauriVPN-1.7.1.jar
Nameless-Plugin-2.1.1.jar
NametagEdit.jar
PingVersion.jar
Pl-Hide-Pro-2.3.2.jar
PlaceholderAPI-2.11.1.jar
ProtocolLib.jar
ServerListPlus-3.4.8-Universal.jar
SimpleHelp.jar
SpawnCommand.jar
Vault.jar
ViaRewind-2.0.2.jar
ViaVersion-4.2.1.jar
VoidTeleportPlus-3.3.2.jar
WorldEdit.jar
worldguard-6.2.jar
WorldGuardExtraFlags.jar
Frost version
8.8
Agreements

[X] I have searched for and ensured there isn't already an open issue regarding this.

Other
No response

Issue #35 successfully fixed.


Respect declared types when infering union types

Closes https://github.com/langium/langium/issues/844
First computes declared types and uses these types to perform the type inference. While attempting to transform an inferred interface into a union type, we first check whether it's already declared as an interface. If there's no interface with the same name, we continue as usual.

@pluralia It doesn't only support empty interfaces. It just uses them for testing purposes, but it works just as well with interfaces with properties.

@msujew, this inside of domainmodel.langium gives a validation error "A property 'name' is expected. in a rule that returns type 'AbstractElement'.":
interface AbstractElement {
    name: string
}

AbstractElement returns AbstractElement:
    PackageDeclaration | Type;

Also, I'd propose to add interfaces with properties in tests, too.

@msujew, this inside of domainmodel.langium gives a validation error "A property 'name' is expected. in a rule that returns type 'AbstractElement'."

I cannot reproduce that, tested on Gitpod, I executed
npm run build --workspace=packages/langium  --workspace=packages/langium-cli (just to be sure) and npm run langium:generate afterwards.

@pluralia I can reproduce it, but I would argue it's an unrelated validation error. I would merge this as it is.

May be was too fast - I managed to send the types collector into a stack overflow:
Reading config from langium-config.json
RangeError: Maximum call stack size exceeded
    at /workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:32:45
    at Array.find (<anonymous>)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:32:40)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:34:17)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:34:17)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:34:17)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:34:17)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:34:17)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:34:17)
    at addSuperPropertiesInternal (/workspace/langium/packages/langium/lib/grammar/type-system/type-collector/all-types.js:34:17)
npm ERR! Lifecycle script `langium:generate` failed with error:
npm ERR! Error: command failed

@sailingKieler I believe I've fixed the stack overflow.


Some neat sidebar with <aside>

i wish to have a lefthand sidebar with the <aside> element, is that something achievable water.css could provide?

Hello @jimmywarting please assign this issue to me. I shall start working on it immediately.

@ritwick096  he didn't assign it to you :(

@kognise and @jimmywarting  I have a strong foundation on front-End and UI/UX .. can you please assign me this project
Thank you:)


[Perf] Use a separate parallel job for each test name

To reduce pipeline run time, run each test name in a separate parallel job.  For example, storage-blob would use 3 parallel jobs (one for download, one for upload, and one for list-blobs).

Prototype: https://github.com/Azure/azure-sdk-for-js/compare/storage/stable...perf-generate?expand=1#


Updates Go version to 1.22

Updates Go to version 1.22 for Dapr 1.14 release.
pubsub fuzz integration test has been updated to account for the new HTTP route parsing functionality introduced in 1.22. Without this, the test would panic!

Completed in https://github.com/dapr/dapr/pull/7713


gitea repo bootstrap failure

INFO cloning repo: https://git.domain.com/me/argocd-autopilot.git
FATAL 404 Not Found

In gitea's log I see:
avr 11 16:10:27 nixos gitea[1189354]: 2022/04/11 16:10:27 Started GET /me/argocd-autopilot.git/api/v1/version for <IP_ADDRESS>:0
avr 11 16:10:27 nixos gitea[1189354]: 2022/04/11 16:10:27 Completed GET /me/argocd-autopilot.git/api/v1/version 404 Not Found in 2.190321ms

I think /api/v1/version shouldn't be appended to the repo path. I might be wrong, but https://git.domain.com/api/v1/version works.
I'm in slack if you have any question.

Same here. I'm having the same issue with the last version.

I've spoke about this issue with @noam-codefresh. He confirmed me that it's very likely it could be broken the Gitea provider. Lately it did not receive any maintenance.
I've spent a couple of minutes to see where the /v1/api/version is appended and it's not on this repo. Very likely it happens at the level of the go-git package but I haven't had the time to check.

any updates here?

@noam-codefresh any updates?


Make IViewComponentActivator abstraction responsible for creation of view components

While the current design allows intercepting the creation of controllers (using the IControllerActivator abstraction), this is currently almost impossible with view components. Currently, the DefaultViewComponentInvoker is responsible of creating view components by calling directly into the IServiceProvider inside its private CreateComponent method. Although this method actually calls the existing Activate method on the IViewComponentActivator abstraction, this abstraction actually expects a created instance; it is not responsible of creating instances, while it should be.
Because of this, intercepting the creation of view components basically means either creating a complete copy of the DefaultViewComponentInvoker class, or replacing the IServiceProvider with your own. Creating your own copy of DefaultViewComponentInvoker is obviously awful, and replacing the default IServiceProvder forces a user to replace the complete DI pipeline with its own container, but this isn't always possible, either because the user applies Pure DI (DI without container) or uses a DI library that is incompatible with the DI abstractions given by the new ASP.NET framework.
Intercepting the creation of view component classes however is very important, because -as the documentation states- view components are "mini-controller" that will almost always require dependencies of their own.
The addition of this extra 'view components' concept doesn't seem very useful, since we've always been able to do the same with controllers in MVC 5. Since the docs describe them as "mini-controllers", it would be more useful to merge those concepts back together again; this also removes the problem, because controllers already have abstractions that allow intercepting their creation.
Either an IViewComponentActivator abstraction should be changed so that it is responsible for creation of components as well (or it should delegate to another abstraction that is responsible of creating it), or the concepts of controllers and view components should be merged together.

Woops! There actually is an IViewComponentActivator abstraction. However, it is still not possible to intercept the creation of view components, so the issue still stands. I updated the issue text to reflect this.

@javiercn please discuss with @rynowak and @lodejard before embarking.

Done?


Bad markup prevents markdown from being processed

We are looking to move away from PegDown as we have been bitten by a bug where certain markdown causes our application to generate a page in 30 minutes instead of the normal milliseconds.
We've started by using this setup with flexmark:
private static final DataHolder OPTIONS = flexmarkOptions(true, NONE)
private static final Parser PARSER = Parser.builder(OPTIONS).build()
private static final HtmlRenderer RENDERER = HtmlRenderer.builder(OPTIONS).build()

However we have found that when markdown is wrapped in some invalid markup it doesn't get processed, whereas it did with PegDown.  For example this:

 [iBooks](https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewFeature?id=1042438110&app=itunes&at=1000l8cU&ct=shoptobrstore)

no longer generates anchor links.  Any suggestions on how to get  flexmark to match pegdown and be more tolerant to bad markup?

Actually  there seem to be other circumstances in which having markup in the markdown breaks processing. e.g " \n iBookssomething"

@krichards, the issue is not bad markup but difference in how pegdown and CommonMark handle HTML.
CommonMark starts an HTML block when it sees an HTML block tag like
 in this case. Like pegdown HTML blocks are not parsed for markdown but passed through. Also, commonmark terminates an HTML block on a blank line while pegdown looks for the closing tag. So if you add a blank line between HTML and markdown then markdown will be parsed for its delimiters. This makes commonmark more flexible in having block HTML tags enclose markdown.
Unlike pegdown, commonmark does not parse the HTML so where pegdown would not find a closing
 tag and would treat the HTML as inline, commonmark treats the whole block as an HTML block and does not parse it for markdown inline constructs.
You can try the strict HTML compatibility mode which parses the HTML for better pegdown compatibility, not perfect but better. https://github.com/vsch/flexmark-java/wiki/Pegdown-Migration#strict-pegdown-html-parsing-mode

Hmm... I thought I was using strict? (note: I am using the PegdownOptionsAdapter)

private static final DataHolder OPTIONS = flexmarkOptions(true, NONE)

Thanks anyway - I think we just need to put blank lines in place.  I've managed to go through our content and identify the few areas which aren't right.  Any other tips?

Hmm seems like if I turned off strict mode then I get something more like Pegdown used to give me. For instance
## We're sorry for any inconvenience.

However, you can continue to [explore](/explore-the-story)

This is processed with Pegdown - but from what you said you would not expect it to be.


Decrease unused exports higlited area

When using rule "import/no-unused-modules" all unused resource gets highlighted.

I suggest to only highlight word "export" to not cause too much distraction.

If that’s possible, that sounds like a great improvement.


Text properties not applied to hidden buffers when 'nohidden' is used

Describe the bug
When set nohidden is used and a text property is applied to a hidden buffer, the text property is not persisted and various errors can occur. There is no mention of 'hidden' in textprop.txt.
To Reproduce

Run echo 'a' > a ; echo 'b' > b ; vim --clean a b
:set nohidden
:call prop_type_add('ErrorMsg', #{highlight:'ErrorMsg'})
Highlight buffer 1:
:call prop_add(1, 1, #{end_lnum:1,end_col:2,type:'ErrorMsg',bufnr:1})
a is highlighted
:next
:prev
a is no longer highlighted
Highlight buffer 2:
:call prop_add(1, 1, #{end_lnum:1,end_col:2,type:'ErrorMsg',bufnr:2})
:next
The buffer is empty
:e
The buffer is now populated with b again

Expected behavior
At step 8. above, I expected the text properties to be retained for the buffer, after navigating away and back again. If set hidden is used, the text properties are retained.
At step 11., something has clearly gone wrong - the contents of the buffer are missing.
Further bugs: To Reproduce

Run echo 'a' > a ; echo 'bbb\nbbb\nbbb' > b ; vim --clean a b
:set nohidden
:call prop_type_add('ErrorMsg', #{highlight:'ErrorMsg'})
Highlight buffer 2:
:call prop_add(1, 2, #{end_lnum:2,end_col:2,type:'ErrorMsg',bufnr:2})
E966: Invalid line number: 2

Expected behavior
Buffer 2 has 3 lines so this should be fine, but an error is reported.
Environment (please complete the following information):
Tested in arch linux terminal Vim 8.1.1839 (built from git) and Windows 10 gVim 8.1.1839 (from vim-win32-installer)

Describe the bug
When set nohidden is used and a text property is applied to a hidden buffer, the text property is not persisted and various errors can occur. There is no mention of 'hidden' in textprop.txt.
To Reproduce

Run echo 'a' > a ; echo 'b' > b ; vim --clean a b
:set nohidden
:call prop_type_add('ErrorMsg', #{highlight:'ErrorMsg'})
Highlight buffer 1:
:call prop_add(1, 1, #{end_lnum:1,end_col:2,type:'ErrorMsg',bufnr:1})
a is highlighted
:next
:prev
a is no longer highlighted
Highlight buffer 2:
:call prop_add(1, 1, #{end_lnum:1,end_col:2,type:'ErrorMsg',bufnr:2})
:next
The buffer is empty
:e
The buffer is now populated with b again

Expected behavior
At step 8. above, I expected the text properties to be retained for
the buffer, after navigating away and back again. If set hidden is
used, the text properties are retained.

That is intented.  Perhaps the documentation should be clearer: The text
properties are stored with the text, thus if you drop the text (unload
the buffer), the text properties are gone.

At step 11., something has clearly gone wrong - the contents of the
buffer are missing.

Yes, that is a bug.

Further bugs: To Reproduce

Run echo 'a' > a ; echo 'bbb\nbbb\nbbb' > b ; vim --clean a b
:set nohidden
:call prop_type_add('ErrorMsg', #{highlight:'ErrorMsg'})
Highlight buffer 2:
:call prop_add(1, 2, #{end_lnum:2,end_col:2,type:'ErrorMsg',bufnr:2})
E966: Invalid line number: 2

Expected behavior
Buffer 2 has 3 lines so this should be fine, but an error is reported.

Buffer 2 is not loaded, thus has no lines at all.  Same problem as the
previous bug.

Environment (please complete the following information):
Tested in arch linux terminal Vim 8.1.1839 (built from git) and Windows 10 gVim 8.1.1839 (from vim-win32-installer)

I have made a fix.
--
hundred-and-one symptoms of being an internet addict:
51. You put a pillow case over your laptop so your lover doesn't see it while
you are pretending to catch your breath.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Thanks very much Bram, this is much better, consistent with a very clear error message.


Move to using source_digest instead of source

This matches the most recent coveralls documentation:
https://coveralls.zendesk.com/hc/en-us/articles/201350799-API-Reference
And will dramatically reduce the upload size for lage projects
and hopefully reduce the number of "Bad gateway" errors
we seem to be seeing in the wild.
Fixes https://github.com/block-forest/dart-coveralls/issues/70
And may affect https://github.com/block-forest/dart-coveralls/issues/68
After this change, json length for dart-coveralls repo submission goes from
35537 bytes to 5378 bytes.  Larger projects will see larger gains.

The API docs do note that source is "Optional (Required for Manual repos on Enterprise)"
So it's possible that this change could break some configs.  But honestly I think given how broken this tool has been for so long it's better to drop features first, fix the common path, and then add back features once the common path is stable and well tested. :)
If you have data to believe that source is commonly required, then I'm happy to add a flag to include it. :)  But my default would be to wait for someone to request having it back.

Agreeing 100% with your statements. Thanks so much for your efforts on this level of detail!


Unified keyboard handler

Part of #696
Keyboard handler handles key pressing via registered callbacks.
Moved keyboard handler from https://github.com/ros2/rosbag2/pull/735 to the ros-tooling

Added changes to the API to be able specify key modifiers as a separate parameter in callbacks.

@emersonknapp Could you please review this PR?
I also would like to ask you to help me with setting up github configuration for keyboard_handler repo to be able to run some linters and basic tests when pushing new commits as well as require approval before merge.

Yes - I'll help setting up the GH configuration. I'll get some PRs up for that today.

Running CI
Gist:
https://gist.githubusercontent.com/MichaelOrlov/f12c97b839c0e0d48fcebebcf78c5418/raw/240eb2447f12972e84f367e0d3e18071b526d789/ros2.repos
BUILD args: --packages-up-to keyboard_handler
TEST args: --packages-select keyboard_handler
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/8576/

Linux
Linux-aarch64
macOS
Windows

Rerunning CI after fixing compiler warnings
Gist:
https://gist.githubusercontent.com/MichaelOrlov/f12c97b839c0e0d48fcebebcf78c5418/raw/240eb2447f12972e84f367e0d3e18071b526d789/ros2.repos
BUILD args: --packages-up-to keyboard_handler
TEST args: --packages-select keyboard_handler
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/8577/

Linux
Linux-aarch64
macOS
Windows


Enable unit testing via cypress

Discussed this in the past. Need to get this one done for more complex frontend features.

This issue is not relevant anymore. Closing it. See #323 for more details.


Metadata mismatch with apply(np.unit8)

System information

macOs with Catalina version 10.15.6
Modin version (modin.__version__): 0.8.0
Python version: 3.8

Describe the problem
While using modin with apply() and swifter feature for fast application of functions to a dataframe, following error is encountered;
AttributeError: 'ParallelDataFrameAccessor' object has no attribute 'progress_bar'
Source code / logs

import os
os.environ["MODIN_ENGINE"] = "dask"
import modin.pandas as pd
import swifter

temp_df = pd.DataFrame({"A": [0, 1, 2, 3, 1], "B": [3, 4, 5, 6, 7]})
temp_df[["A", "B"]] = temp_df[["A", "B"]].swifter.progress_bar(False).apply(np.uint8)
temp_df

Here is the error we got;
AttributeError: 'ParallelDataFrameAccessor' object has no attribute 'progress_bar'. But it should be noted that using regular pandas we can easily apply the function;

import pandas as pd

temp_df = pd.DataFrame({"A": [0, 1, 2, 3, 1], "B": [3, 4, 5, 6, 7]})
temp_df[["A", "B"]] = temp_df[["A", "B"]].apply(np.uint8)
temp_df

A	B
0	3
1	4
2	5
3	6
1	7

It will be nice to have similar functionality with Modin too. More details about this issue can be found at following link to the Modin discourse; https://discuss.modin.org/t/paralleldataframeaccessor-object-has-no-attribute-progress-bar-while-using-modin/121
Regards

Thanks @jayantsingh123 for the report!
I have made an issue for the swifter related problem at jmcarpenter2/swifter#127. There's a different bug here related to the apply function that we should fix.
import os
os.environ["MODIN_ENGINE"] = "dask"
import modin.pandas as pd
import swifter

temp_df = pd.DataFrame({"A": [0, 1, 2, 3, 1], "B": [3, 4, 5, 6, 7]})
temp_df[["A", "B"]] = temp_df[["A", "B"]].apply(np.uint8)
temp_df

To reflect the issue we can track, I will change the title

The issue still seems to be present on the latest master. It looks like the dtypes after the apply haven't changed. See:
In [5]: import os
   ...: os.environ["MODIN_ENGINE"] = "dask"
   ...: import modin.pandas as pd
   ...: import swifter
   ...:
   ...:
   ...: temp_df = pd.DataFrame({"A": [0, 1, 2, 3, 1], "B": [3, 4, 5, 6, 7]})
   ...: temp_df[["A", "B"]] = temp_df[["A", "B"]].swifter.progress_bar(False).apply(np.uint8)
   ...: temp_df
UserWarning: Distributing <class 'dict'> object. This may take some time.
UserWarning: Parallel Accessor does not use have a progress bar.
Out[5]:
   A  B
0  0  3
1  1  4
2  2  5
3  3  6
4  1  7

In [6]: temp_df.dtypes
Out[6]:
A    int64
B    int64
dtype: object

In [7]: import os
   ...: os.environ["MODIN_ENGINE"] = "dask"
   ...: import pandas as pd
   ...: import swifter
   ...:
   ...:
   ...: temp_df = pd.DataFrame({"A": [0, 1, 2, 3, 1], "B": [3, 4, 5, 6, 7]})
   ...: temp_df[["A", "B"]] = temp_df[["A", "B"]].swifter.progress_bar(False).apply(np.uint8)
   ...: temp_df
Out[7]:
   A  B
0  0  3
1  1  4
2  2  5
3  3  6
4  1  7

In [8]: temp_df.dtypes
Out[8]:
A    uint8
B    uint8
dtype: object


chore: update crypto compare with new websocket impl

Update crypto compare API to new websocket framework
Depends on https://github.com/trakx/websocket/pull/4 which adds reconnection resurrection
Closes #13

Nice, it looks like the library you built can be smoothly adapted to this case ❤ well done. Can we keep a couple of integration tests please though? Just for sanity checking!
Thanks

yessir! writing integration tests now

Added integration tests


Printful product sync removes existing non-Printful products

Current Config:
Existing inventory of non-Printful products. Added Printful App integration with API
Observed scenario: Click "Sync Printful" button.  Select Yes to confirmation.  All Printful products downloaded.  Existing Non-Printful products and collections removed.
Expected behavior: Click "Sync Printful" button.  Select Yes to confirmation.  All Printful products downloaded.  Existing Non-Printful products and collections maintained with deccriptions.
Workaround:  Go to HOME.  Select "Add your first product".  Add back all non-Printful products to product inventory.

Great issue report @ParzivalWins - very detailed. Appreciate it!
CC @gullible1 for prioritization

Tested. I'm sorry but I don't think removing non-synced Printful items is an expected behavior. See screenshot. @gullible1 @shahthepro  . I wouldn't want to lose the existing catalog of products with a sync.  Thank you.

@ParzivalWins Anna wanted to just show a warning now. We are avoiding having both printful and manually-managed products in the same store to keep things simple. cc @gullible1


Change of namespaces: code not updated 100%

The protocol of multiple namespaces was changed with the last update on this repository, but not all code was updated accordingly.
http://dalicc.net/ns, http://dalicc.net/licenselibrary/, http://dalicc.net/dependencygraph/dg_default are effected.
reasoner/app/plugins/plugins.py line 94 was not updated.
Readme.md at line 46 and 54 was not updated.
getdepgraph.lp was not updated.

The protocols of the namespaces are changed as https.


Revert "417 instructions"

Reverts NREL/bifacial_radiance#452

Undoing normal merge in favor of a squash merge to clean the history up a bit..


Behat 3: Taking screenshots after failed steps

Code below works fine for Behat 2 but it doesn't for Behat 3. Does anyone know how to implement it in Behat 3?
Behat 3 error:
PHP Fatal error:  Call to undefined method Behat\Behat\Hook\Scope\AfterStepScope::getResult() in behat-three/features/bootstrap/Site/MainBundle/Features/Context/FeatureContext.php on line 65

Line 65 is :   if (4 === $event->getResult()) {
Behat 2 working example
namespace Site\CommonBundle\Features\Context;

use Behat\MinkExtension\Context\MinkContext;
use Behat\Mink\Exception\UnsupportedDriverActionException;
use Behat\Mink\Driver\Selenium2Driver;
use Behat\Symfony2Extension\Context\KernelAwareInterface;
use Symfony\Component\HttpKernel\KernelInterface;
use Symfony\Component\Process\Process;

class FeatureContext extends MinkContext implements KernelAwareInterface
{
    /**
     * Take screen-shot when step fails. Works only with Selenium2Driver.
     *
     * @AfterStep
     * @param $event Current event.
     * @throws \Behat\Mink\Exception\UnsupportedDriverActionException
     */
    public function takeScreenshotAfterFailedStep($event)
    {
        if (4 === $event->getResult()) {
            $driver = $this->getSession()->getDriver();

            if (! ($driver instanceof Selenium2Driver)) {
                throw new UnsupportedDriverActionException(
                    'Taking screen-shots is not supported by %s, use Selenium2Driver instead.',
                    $driver
                );

                return;
            }

            if (! is_dir($this->screenShotPath)) {
                mkdir($this->screenShotPath, 0777, true);
            }

            $filename = sprintf(
                '%s_%s_%s.%s',
                $this->getMinkParameter('browser_name'),
                date('Ymd') . '-' . date('His'),
                uniqid('', true),
                'png'
            );

            file_put_contents($this->screenShotPath . '/' . $filename, $driver->getScreenshot());
        }
    }
}

Not working for me undefined method getContainer(), which lib did you use? (behat 3)

@narozhniyy If you can wait a bit, I'll give you full example however while waiting, do research on how to use container in FeatureContext files. There are many examples so you might solve your problem yourself.

@BentCoder it's will be great, thanks

@BentCoder did you forget about me?

@narozhniyy No I didn't! There seem to be a problem with the library I think because what was working before doesn't want to work anymore hence reason I left a message here https://github.com/Behat/Behat/issues/764 but no one got back to me yet. Keep an eye on that issue. Let's wait what they say.

OK work now!
composer.json
    "require-dev": {
        "behat/behat" : "3.0.15",
        "behat/symfony2-extension" : "2.0.0",
        "behat/mink": "1.6.1",
        "behat/mink-extension": "2.0.1",
        "behat/mink-browserkit-driver": "1.2.0",
        "behat/mink-goutte-driver": "1.1.0",
        "behat/mink-selenium2-driver": "1.2.0"
    },

behat.yml
default:
    extensions:
        Behat\Symfony2Extension: ~
        Behat\MinkExtension:
            base_url: http://football.local/app_test.php
            browser_name: firefox
            sessions:
                goutte:
                    goutte: ~
                selenium2:
                    selenium2: ~
                symfony2:
                    symfony2: ~
    suites:
        backend:
            type: symfony_bundle
            bundle: ApplicationBackendBundle
            mink_session: selenium2
            contexts:
                - Application\BackendBundle\Features\Context\FeatureContext:
                    screen_shot_path: build/phing/behat/screenshot

FeatureContext
namespace Application\BackendBundle\Features\Context;

use Behat\Behat\Hook\Scope\AfterStepScope;
use Behat\Mink\Driver\Selenium2Driver;
use Behat\MinkExtension\Context\MinkContext;

class FeatureContext extends MinkContext
{
    private $screenShotPath;

    public function __construct($screen_shot_path)
    {
        $this->screenShotPath = $screen_shot_path;
    }

    /**
     * Take screen-shot when step fails. Works only with Selenium2Driver.
     *
     * @AfterStep
     * @param AfterStepScope $scope
     */
    public function takeScreenshotAfterFailedStep(AfterStepScope $scope)
    {
        if (99 === $scope->getTestResult()->getResultCode()) {
            $driver = $this->getSession()->getDriver();

            if (! $driver instanceof Selenium2Driver) {
                return;
            }

            if (! is_dir($this->screenShotPath)) {
                mkdir($this->screenShotPath, 0777, true);
            }

            $filename = sprintf(
                '%s_%s_%s.%s',
                $this->getMinkParameter('browser_name'),
                date('Ymd') . '-' . date('His'),
                uniqid('', true),
                'png'
            );

            $this->saveScreenshot($filename, $this->screenShotPath);
        }
    }
}

example feature
Feature: Dummy feature

  Scenario: Home url
    Given I am on "/backend"
    Then I should see "Welcome to Application backend! I will break this test"

Download and run selenium first
First download it (version 2.46.0) and put right into your project folder. http://www.seleniumhq.org/download/
Bc-MBP:football bentcoder$ java -jar selenium-server-standalone-2.46.0.jar

Run test
Bc-MBP:football bentcoder$  bin/behat --suite=backend
Feature: Dummy feature

  Scenario: Home url                                     # src/Application/BackendBundle/Features/Dummy.feature:3
    Given I am on "/backend"                             # Application\BackendBundle\Features\Context\FeatureContext::visit()
    Then I should see "Welcome to Application backend! I will break this test" # Application\BackendBundle\Features\Context\FeatureContext::assertPageContainsText()
      The text "Welcome to Application backend!1" was not found anywhere in the text of the current page. (Behat\Mink\Exception\ResponseTextException)

--- Failed scenarios:

    src/Application/BackendBundle/Features/Dummy.feature:3

1 scenario (1 failed)
2 steps (1 passed, 1 failed)

project folder structure for screenshots
football
   build
      phing
         behat
            screenshots

result


Error in controller->beforeFilter in CLI

http://forums.laravel.io/viewtopic.php?id=15396
Hello!
I have
class Controller extends \Illuminate\Routing\Controller {
 public __construct()
 {
      $this->beforeFilter('auth');
      $this->beforeFilter(function(){
           //some code
      });
 }

}
all work fine for web requests. But when i try run controller in CLI i get error for line beforeFilter() with closure:
[2013-12-05 01:12:38] production.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to a member function filter() on a non-object' in U:\home\laravelnew.ru\vendor\laravel\framework\src\Illuminate\Routing\Controller.php:95

The beforeFilter function from the Controller class is intended to be used as HTTP request filter, I would suggest you to use the following validation:
public function __construct(){
		/**
		 * This filters are intented only to run when is an http request.
		 */
		if($this->getFilterer() instanceof Illuminate\Routing\Router)
			$this->beforeFilter('@filterRequests');
}

How do you avoid this in Laravel 5? getFilterer is gone, right?


Video failing to load and play on android (ERROR: Unable to instantiate decoder OMX.qcom.video.decoder.avc)

Bug
I have a single video component. I get this error when I navigate between screens or when I put the app in the background and then bring it back to the foreground.
Platform
Which player are you experiencing the problem on:

Android

Environment info

Library version: 5.2.1
Device: emultaor
Steps To Reproduce
Let's say there are 2 pages Home and Video. From Home navigate to Video, Video is playing as expected. go back to Home or put the app in background.
Video sample
https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8

can you provide a sample please ?

Can you try following patch: https://github.com/react-native-video/react-native-video/pull/3416
It should improve behavior in case of decoder issue


Drupal Log in

Hello, we had another team install Drupal in Azure but did not provide our team with credentials. Examining the Azure YAML file the user name is listed as admin and the password is commented out. Would it have been possible to install drupalwxt/helm-drupal with those defaults? I'm not familiar with Drupal in Azure but I would imagine they could simply redeploy the YAML file? Thank you.

Hi @canasa21 you mean they install this helm chart in AKS?
By default we don't provide a password since when that var is left empty. Instead it will be auto generated if that variable is not set. Usually people would leverage their CI/CD solutions to set this variable via an environment variable passed.
https://github.com/drupalwxt/helm-drupal/blob/master/drupal/templates/secret/drupal.yaml#L20
You can always login to the container and run drush uli to reset your password as well.


Add openjdk6 to travis build

Install open-jdk6 add-on
Install java 6 compatible maven version
It is possible that their is a better solution using docker and this change increases the complexity of the build so feel free to reject.

Thanks for the PR! There are some (test) projects in Awaitility that require Java a JDK greater than 6, could that be while it's failing?

Build is failing because maven-bundle-plugin:3.3.0 can not run on java 6.

Oh... Is it possible to create a profile that excludes the osgi stuff when running on java 6?

Is it possible to create a profile that excludes the osgi stuff when running on java 6?

I will give it a try.

Sorry, completly forgot about this pull request.


[Event Request] New parameter for existing IntegrationEvent "OnCreateOrGetCreditHeaderOnBeforeInitSeries" in codeunit 5940 "ServContractManagement", procedure "CreateOrGetCreditHeader"

Hello, under specific circumstances I need to be able to use number series that are different from the service mgt. setup when a service credit memo is created through a service contract. While a event publisher already exists at the position where I need it, it is currently not possible to handle the assignment of the nos. without executing the standard no. assignment. To be able to do this, I propose the following changes to the procedure CreateOrGetCreditHeader and event publisher OnCreateOrGetCreditHeaderOnBeforeInitSeries of codeunit 5940 "ServContractManagement":
Old Code:
local procedure CreateOrGetCreditHeader(ServContract: Record "Service Contract Header"; CrMemoDate: Date) ServInvoiceNo: Code[20]
    var
        GLSetup: Record "General Ledger Setup";
        ServHeader2: Record "Service Header";
        Cust: Record Customer;
        ServDocReg: Record "Service Document Register";
        CurrExchRate: Record "Currency Exchange Rate";
        UserMgt: Codeunit "User Setup Management";
        ConfirmManagement: Codeunit "Confirm Management";
        CreditMemoForm: Page "Service Credit Memo";
        ServContractForm: Page "Service Contract";
        LocationCode: Code[10];
    begin
        // [...]

        Clear(ServHeader2);
        ServHeader2.Init();
        ServHeader2.SetHideValidationDialog(true);
        ServHeader2."Document Type" := ServHeader2."Document Type"::"Credit Memo";
        ServMgtSetup.Get();
        ServMgtSetup.TestField("Contract Credit Memo Nos.");
        OnCreateOrGetCreditHeaderOnBeforeInitSeries(ServHeader2, ServMgtSetup);
        NoSeriesMgt.InitSeries(
          ServMgtSetup."Contract Credit Memo Nos.", ServHeader2."No. Series", 0D,
          ServHeader2."No.", ServHeader2."No. Series");
        InsertServiceHeader(ServHeader2, ServContract);
        ServInvoiceNo := ServHeader2."No.";

        // [...]

            [IntegrationEvent(false, false)]
    local procedure OnCreateOrGetCreditHeaderOnBeforeInitSeries(var ServiceHeader: Record "Service Header"; ServMgtSetup: Record "Service Mgt. Setup")
    begin
    end;

New Code:
local procedure CreateOrGetCreditHeader(ServContract: Record "Service Contract Header"; CrMemoDate: Date) ServInvoiceNo: Code[20]
    var
        GLSetup: Record "General Ledger Setup";
        ServHeader2: Record "Service Header";
        Cust: Record Customer;
        ServDocReg: Record "Service Document Register";
        CurrExchRate: Record "Currency Exchange Rate";
        UserMgt: Codeunit "User Setup Management";
        ConfirmManagement: Codeunit "Confirm Management";
        CreditMemoForm: Page "Service Credit Memo";
        ServContractForm: Page "Service Contract";
        LocationCode: Code[10];
        // +++ BEGIN New Var +++
        IsHandled: Boolean;
    // +++ END New Var +++
    begin
        // [...]

        Clear(ServHeader2);
        ServHeader2.Init();
        ServHeader2.SetHideValidationDialog(true);
        ServHeader2."Document Type" := ServHeader2."Document Type"::"Credit Memo";
        ServMgtSetup.Get();
        ServMgtSetup.TestField("Contract Credit Memo Nos.");
        // +++ BEGIN New Code +++
        IsHandled := false;
        OnCreateOrGetCreditHeaderOnBeforeInitSeries(ServHeader2, ServMgtSetup, IsHandled);
        if not IsHandled then
            // +++ END New Code +++
            NoSeriesMgt.InitSeries(
             ServMgtSetup."Contract Credit Memo Nos.", ServHeader2."No. Series", 0D,
             ServHeader2."No.", ServHeader2."No. Series");
        InsertServiceHeader(ServHeader2, ServContract);
        ServInvoiceNo := ServHeader2."No.";

        // [...]

            [IntegrationEvent(false, false)]
    // New Parameter
    local procedure OnCreateOrGetCreditHeaderOnBeforeInitSeries(var ServiceHeader: Record "Service Header"; ServMgtSetup: Record "Service Mgt. Setup"; var IsHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Fix iframe fallback when RT is not found in cache

It seems this fallback behavior was missed in the transition from v2 to v3. When the RT cannot be found in the cache we should try to fallback to the iframe flow. Also includes minor refactor to make the code more readable and remove some unnecessary work.

Codecov Report

Merging #6599 (31f635f) into dev (81d34b4) will increase coverage by 10.63%.
Report is 359 commits behind head on dev.
The diff coverage is n/a.

Flag
Coverage Δ

*Carryforward flag

msal-angular
96.72% <ø> (+0.21%)
:arrow_up:
Carriedforward from 0c5c1eb

msal-browser
?

msal-common
?

msal-core
?

msal-node
?

msal-node-extensions
?

msal-react
94.24% <ø> (-0.45%)
:arrow_down:

node-token-validation
?

*This pull request uses carry forward flags. Click here to find out more.

Files
Coverage Δ

lib/msal-angular/src/constants.ts
100.00% <ø> (ø)

lib/msal-angular/src/msal.broadcast.service.ts
100.00% <ø> (ø)

lib/msal-angular/src/msal.guard.ts
90.78% <ø> (+0.64%)
:arrow_up:

lib/msal-angular/src/msal.interceptor.ts
100.00% <ø> (ø)

lib/msal-angular/src/msal.module.ts
100.00% <ø> (ø)

lib/msal-angular/src/msal.navigation.client.ts
93.33% <ø> (+0.47%)
:arrow_up:

lib/msal-angular/src/msal.redirect.component.ts
100.00% <ø> (ø)

lib/msal-angular/src/msal.service.ts
100.00% <ø> (ø)

lib/msal-angular/src/packageMetadata.ts
100.00% <ø> (ø)

... and 216 files with indirect coverage changes


[VL] Fix ORC reader for ByteType

What changes were proposed in this pull request?
Velox already supports ByteType
How was this patch tested?
pass GHA

@zhouyuan Could you help me review this?

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_5416_time.csv
log/native_master_04_14_2024_0e3387255_time.csv
difference
percentage

q1
39.83
38.08
-1.754
95.60%

q2
24.23
23.72
-0.517
97.87%

q3
37.10
37.90
0.795
102.14%

q4
39.05
39.60
0.555
101.42%

q5
70.17
71.73
1.565
102.23%

q6
7.27
6.97
-0.309
95.75%

q7
85.01
84.03
-0.981
98.85%

q8
83.13
84.99
1.863
102.24%

q9
119.85
125.91
6.063
105.06%

q10
44.70
44.70
0.002
100.00%

q11
20.50
20.27
-0.227
98.89%

q12
27.84
27.63
-0.214
99.23%

q13
53.75
55.28
1.533
102.85%

q14
17.35
17.73
0.379
102.19%

q15
32.87
31.75
-1.121
96.59%

q16
14.13
13.82
-0.306
97.84%

q17
98.73
100.77
2.034
102.06%

q18
144.59
143.22
-1.366
99.06%

q19
13.57
15.86
2.293
116.90%

q20
28.50
28.08
-0.413
98.55%

q21
286.94
289.28
2.334
100.81%

q22
15.09
14.35
-0.738
95.11%

total
1304.19
1315.66
11.469
100.88%

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_master_04_16_2024_time.csv
log/native_master_04_14_2024_0e3387255_time.csv
difference
percentage

q1
38.05
38.08
0.031
100.08%

q2
24.39
23.72
-0.675
97.23%

q3
37.50
37.90
0.394
101.05%

q4
38.79
39.60
0.813
102.09%

q5
70.62
71.73
1.112
101.57%

q6
9.68
6.97
-2.714
71.96%

q7
83.76
84.03
0.262
100.31%

q8
86.47
84.99
-1.484
98.28%

q9
124.25
125.91
1.659
101.34%

q10
47.10
44.70
-2.398
94.91%

q11
20.01
20.27
0.262
101.31%

q12
30.02
27.63
-2.390
92.04%

q13
53.95
55.28
1.325
102.46%

q14
17.11
17.73
0.615
103.60%

q15
29.43
31.75
2.324
107.90%

q16
13.85
13.82
-0.025
99.82%

q17
101.18
100.77
-0.412
99.59%

q18
144.50
143.22
-1.274
99.12%

q19
16.75
15.86
-0.886
94.71%

q20
26.88
28.08
1.206
104.49%

q21
287.81
289.28
1.473
100.51%

q22
16.10
14.35
-1.747
89.14%

total
1318.19
1315.66
-2.529
99.81%