Integrated terminal clear broken on MacOS

Issue Type: Bug
I use to clear the integrated terminal with CMD-K but now it writes ^L in the window and does nothing. The right-click menu does the same.
 Use Ctrl+K / Cmd+K by default to clear both integrated terminal and debug console (#45755)
Closing...

Maybe I was too quick to close. Re-opening it because the other threads is not exactly my problem. Sorry for the confusion.

Also experiencing this on Windows - seems to have happened after the latest update.

Looks similar to #49444


Code crashes for low values of N_MAX_PIXEL_SEGMENTS_PER_MODULE

It was observed that setting the N_MAX_PIXEL_SEGMENTS_PER_MODULE variable to low values (500, 5000 and 6000 were tested) causes the code to crash on different events, depending on the value set.
Sample error (using cuda-memcheck) for the 1st event with the variable set to 500:
========= Invalid __global__ read of size 4
=========     at 0x00000770 in /mnt/data1/evourlio/TrackLooper/SDL/Kernels.cu:125:createSegmentsInGPU(SDL::modules&, SDL::miniDoublets&, SDL::segments&, SDL::objectRanges&)
=========     by thread (28,5,0) in block (0,0,39)
=========     Address 0x7ff6eebffffc is out of bounds
=========     Device Frame:/mnt/data1/evourlio/TrackLooper/SDL/Kernels.cu:125:createSegmentsInGPU(SDL::modules&, SDL::miniDoublets&, SDL::segments&, SDL::objectRanges&) (createSegmentsInGPU(SDL::modules&, SDL::miniDoublets&, SDL::segments&, SDL::objectRanges&) : 0x770)
=========     Saved host backtrace up to driver entry point at kernel launch time
=========     Host Frame:/lib64/libcuda.so.1 [0x2170ba]
=========     Host Frame:/cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_11_2_0_pre5/external/slc7_amd64_gcc900/lib/libcudart.so.11.0 [0xf7cb]
=========     Host Frame:/cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_11_2_0_pre5/external/slc7_amd64_gcc900/lib/libcudart.so.11.0 (cudaLaunchKernel_ptsz + 0x1c1) [0x3c311]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so [0x9f8f2]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so (_Z104__device_stub__Z19createSegmentsInGPURN3SDL7modulesERNS_12miniDoubletsERNS_8segmentsERNS_12objectRangesEPN3SDL7modulesEPNS_12miniDoubletsEPNS_8segmentsEPNS_12objectRangesE + 0x140) [0x9fee0]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so (_Z19createSegmentsInGPURN3SDL7modulesERNS_12miniDoubletsERNS_8segmentsERNS_12objectRangesE + 0x67) [0x9ff57]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so (_ZN3SDL5Event27createSegmentsWithModuleMapEv + 0x395) [0x94749]
=========     Host Frame:sdl (_Z10runSegmentPN3SDL5EventE + 0x90) [0x8bea0]
=========     Host Frame:sdl [0x46c01]
=========     Host Frame:/cvmfs/cms.cern.ch/slc7_amd64_gcc900/external/gcc/9.3.0/lib64/libgomp.so.1 (GOMP_parallel + 0x42) [0x11a22]
=========     Host Frame:sdl (_Z7run_sdlv + 0x8ad) [0x495ad]
=========     Host Frame:sdl (main + 0x280f) [0x43b6f]
=========     Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22555]
=========     Host Frame:sdl [0x45727]

Hi Manos,
Yes, this was a problem I also meet with. It’s because the N_MAX_PIXEL_SEGMENTS_PER_MODULE is hard coded as 600 in several files. I changed them manually to make it work. I haven’t pushed it to GitHub yet. But you can try changing the “PixelTriplet.cu” and “PixelQuintuplet.cu”,  “Triplet.cu”, “Quintuplet.cu”.
If everyone agrees on my result in tomorrow meeting, I can push this to GitHub and then you can use it.

Best,
Yanxi

On Mar 10, 2022, at 8:05 AM, Manos Vourliotis @.***> wrote:
It was observed that setting the N_MAX_PIXEL_SEGMENTS_PER_MODULE variable to low values (500, 5000 and 6000 were tested) causes the code to crash on different events, depending on the value set.
Sample error (using cuda-memcheck) for the 1st event with the variable set to 500:
========= Invalid global read of size 4
=========     at 0x00000770 in /mnt/data1/evourlio/TrackLooper/SDL/Kernels.cu:125:createSegmentsInGPU(SDL::modules&, SDL::miniDoublets&, SDL::segments&, SDL::objectRanges&)
=========     by thread (28,5,0) in block (0,0,39)
=========     Address 0x7ff6eebffffc is out of bounds
=========     Device Frame:/mnt/data1/evourlio/TrackLooper/SDL/Kernels.cu:125:createSegmentsInGPU(SDL::modules&, SDL::miniDoublets&, SDL::segments&, SDL::objectRanges&) (createSegmentsInGPU(SDL::modules&, SDL::miniDoublets&, SDL::segments&, SDL::objectRanges&) : 0x770)
=========     Saved host backtrace up to driver entry point at kernel launch time
=========     Host Frame:/lib64/libcuda.so.1 [0x2170ba]
=========     Host Frame:/cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_11_2_0_pre5/external/slc7_amd64_gcc900/lib/libcudart.so.11.0 [0xf7cb]
=========     Host Frame:/cvmfs/cms.cern.ch/slc7_amd64_gcc900/cms/cmssw/CMSSW_11_2_0_pre5/external/slc7_amd64_gcc900/lib/libcudart.so.11.0 (cudaLaunchKernel_ptsz + 0x1c1) [0x3c311]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so [0x9f8f2]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so (_Z104__device_stub__Z19createSegmentsInGPURN3SDL7modulesERNS_12miniDoubletsERNS_8segmentsERNS_12objectRangesEPN3SDL7modulesEPNS_12miniDoubletsEPNS_8segmentsEPNS_12objectRangesE + 0x140) [0x9fee0]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so (_Z19createSegmentsInGPURN3SDL7modulesERNS_12miniDoubletsERNS_8segmentsERNS_12objectRangesE + 0x67) [0x9ff57]
=========     Host Frame:/mnt/data1/evourlio/TrackLooper/SDL/sdl.so (_ZN3SDL5Event27createSegmentsWithModuleMapEv + 0x395) [0x94749]
=========     Host Frame:sdl (_Z10runSegmentPN3SDL5EventE + 0x90) [0x8bea0]
=========     Host Frame:sdl [0x46c01]
=========     Host Frame:/cvmfs/cms.cern.ch/slc7_amd64_gcc900/external/gcc/9.3.0/lib64/libgomp.so.1 (GOMP_parallel + 0x42) [0x11a22]
=========     Host Frame:sdl (_Z7run_sdlv + 0x8ad) [0x495ad]
=========     Host Frame:sdl (main + 0x280f) [0x43b6f]
=========     Host Frame:/lib64/libc.so.6 (__libc_start_main + 0xf5) [0x22555]
=========     Host Frame:sdl [0x45727]
—
Reply to this email directly, view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_SegmentLinking_TrackLooper_issues_117&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=XYSS4ZbyF2WBt2-soguZQw&m=67vyZIbu107k825q1eJ36K8dnXgR-_mI7HxWmXFNnQDbK3Kk6x3lJIZYxzGg4ivv&s=8G5Ywxf7nxtxbNKV8D7PT-pZGCIZEIrQitLPiw8RvJo&e=, or unsubscribe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_ALU4ZD3RGBDMWGCRVJRBR2LU7IMVFANCNFSM5QNCOLDA&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=XYSS4ZbyF2WBt2-soguZQw&m=67vyZIbu107k825q1eJ36K8dnXgR-_mI7HxWmXFNnQDbK3Kk6x3lJIZYxzGg4ivv&s=Rx5MM_GwICvVHm2pFCC8ZF1x2TvCKeeSLFay-DCTjU4&e=.
Triage notifications on the go with GitHub Mobile for iOS https://urldefense.proofpoint.com/v2/url?u=https-3A__apps.apple.com_app_apple-2Dstore_id1477376905-3Fct-3Dnotification-2Demail-26mt-3D8-26pt-3D524675&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=XYSS4ZbyF2WBt2-soguZQw&m=67vyZIbu107k825q1eJ36K8dnXgR-_mI7HxWmXFNnQDbK3Kk6x3lJIZYxzGg4ivv&s=n8uejvTm1pT8ZkvVg08F8iSAQb0DacqJB57iCf-HwFQ&e= or Android https://urldefense.proofpoint.com/v2/url?u=https-3A__play.google.com_store_apps_details-3Fid-3Dcom.github.android-26referrer-3Dutm-5Fcampaign-253Dnotification-2Demail-2526utm-5Fmedium-253Demail-2526utm-5Fsource-253Dgithub&d=DwMCaQ&c=-35OiAkTchMrZOngvJPOeA&r=XYSS4ZbyF2WBt2-soguZQw&m=67vyZIbu107k825q1eJ36K8dnXgR-_mI7HxWmXFNnQDbK3Kk6x3lJIZYxzGg4ivv&s=YewYyvJ2q4hRca_w2F5-MzUMSZcEU32J-zbunxdP1wQ&e=.
You are receiving this because you are subscribed to this thread.

Indeed, hardcoding the number you mention causes problems. However, this corresponds to the value of the N_MAX_SEGMENTS_PER_MODULE variable (see here). I have opened a separate issue about it (see 2nd paragraph of issue #120).
Thank you for taking care of this.
On the other hand, the issue that I mention here is about the pixel version of this variable, N_MAX_PIXEL_SEGMENTS_PER_MODULE, which causes problems even if it is changed consistently in all files (as far as I tested, at least).

I guess this is not longer applicable, since we dynamically assign sizes, so it can be closed? @YonsiG @bsathian Maybe you know better?

Thanks Manos, I think this issue is solved when allocating the GPU kernels, because in kernels, we no longer use fixed memory values. However, in the write_output_ntuples.cc and some corresponding CPU files, there is still remains sitting there. I'll spend some time and take a look at those, then we can remove the N_MAX_xxx completely, and then we can close the issue.


Fred's branch

New internal function "Stop-Function" used to gracefully stop other functions while still allowing for terminating errors where needed.
Implemented it in Set-DbaMaxMemory as a proof of concept.
Fixes #

Some bugs in Set-DbaMaxMemory were quietly retired.
Fixed the help test: June didn't quite catch all common parameters

Changes proposed in this pull request:

How to handle errors, combining user friendliness with error handling when used by other functions

It looks like your editor reformatted the help section of the function but you did not actually change anything.

hey @wsmelton - he added the Stop-Function to the MaxMeory function so we can see it in use.

hey @FriedrichWeinmann - how would we test this? I tested it and it looks like Stop-Function jumped in and handled the exception. Looks good and internal functions get easy passes so proceeding with merge.

Can you explain futher how to use this on the style trello on that card?
merci!


Fix check relationship regression bug

Populate the original state of the model with all fields (including foreign keys fields), so that when trying to  check for dirty fields no KeyError is thrown.
Tests pass, and it seems to me that they are correct.
Fixes #17

Thanks for your PR @hernantz !
Tests are not passing : you need to change check_relationship related tests that need now to lookup for objects on assertions (instead of object ids).
Can you also add a non-regression test case, as suggested on #17, by adding a model with DateTimeField field that has auto_now_add=True ?

@romgar done!, let me know if this looks any better.

fixed

Thanks @hernantz !


Not all rows are getting pulled

Describe the bug
Not all rows of data are being shown in the output. In the end of output, the summary does show total expected records. But the total number of rows are not complete, in between some rows are missing
Expected behavior
Number of rows in summary should match the total fetched rows. Correct behavior is that all records should get fetched.
To Reproduce
Just run the sample code for 1 year at minute level. expected rows should be around 1.4k but fetched records are around only 60.
My Platform

Additional context
https://www.protectedtext.com/githubissuelink
password
githubissuelink

The link you included is to a code snippet using googlefinance.client:
from googlefinance.client import get_price_data, get_prices_data, get_prices_time_data

param = {
    'q': "SBIN", # Stock symbol (ex: "AAPL")
    'i': "3600", # Interval size in seconds ("86400" = 1 day intervals)
    'x': "NSE", # Stock exchange symbol on which stock is traded (ex: "NASD")
    'p': "1Y" # Period (Ex: "1Y" = 1 year)
}

df = get_price_data(param)
print(df)

This tracker is for the software that runs pypi.org only, it cannot help with the packages distributed and installed from there. If you're trying to report an issue with googlefinance.client you'll need to get in touch with the maintainers of that project.


Fixed issue that caused promise to neither resolve nor reject.

When a URL returned a non-200 status code, the promise neither resolved nor rejected.  This fix causes the promise to correctly reject on a bad status code.

Merged and fixed here:
https://github.com/LevelNewsOrg/url-metadata/commit/6412d87ca0e950a8d2068432d80cd0b431f2038d


Add Metric Profile JSON file in manifests

Description
This PR adds a new JSON file - resource_optimization_local_monitoring.json representing MetricProfile in manifests.
Fixes # (issue)
Type of change

[ ] Bug fix
[ ] New feature
[x] Docs update
[ ] Breaking change (What changes might users need to make in their application due to this PR?)
[ ] Requires DB changes

How has this been tested?
Please describe the tests that were run to verify your changes and steps to reproduce. Please specify any test configuration required.

[ ] New Test X
[ ] Functional testsuite

Test Configuration

Kubernetes clusters tested on: Openshift (ResourceHub)

Checklist :dart:

[ ] Followed coding guidelines
[ ] Comments added
[ ] Dependent changes merged
[ ] Documentation updated
[ ] Tests added or updated

Additional information
.

@shreyabiradar07 The JSON and yaml dont seem to be matching. Can you do what I suggested, to start with the JSON and use a tool to convert that to YAML and add in the comments

using yq - a command line YAML processor and other online converters is resulting in additional indentation to fields under function_variables and aggregation_functions, will refer to resource_optimization_openshift.yaml and format it accordingly with comments
yq eval -P ./manifests/autotune/performance-profiles/resource_optimization_local_monitoring.json
apiVersion: recommender.com/v1
kind: KruizePerformanceProfile
metadata:
  name: resource-optimization-local-monitoring
profile_version: 1
k8s_type: openshift
slo:
  slo_class: resource_usage
  direction: minimize
  objective_function:
    function_type: source
  function_variables:
    - name: cpuRequest
      datasource: prometheus
      value_type: double
      kubernetes_object: container
      aggregation_functions:
        - function: avg
          query: avg by(container, namespace) (kube_pod_container_resource_requests{container!="", container!="POD", pod!="", resource="cpu", unit="core", namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})
        - function: sum
          query: sum by(container, namespace) (kube_pod_container_resource_requests{container!="", container!="POD", pod!="", resource="cpu", unit="core", namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})
        - function: min
          query: min by(container, namespace) (kube_pod_container_resource_requests{container!="", container!="POD", pod!="", resource="cpu", unit="core", namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})
        - function: max
          query: max by(container, namespace) (kube_pod_container_resource_requests{container!="", container!="POD", pod!="", resource="cpu", unit="core", namespace="$NAMESPACE$",container="$CONTAINER_NAME$"})
          ......


Pool2 functions 'on' and 'acquire' not defined

I´m trying to use Knex with Cordova, but when knex initializate Pool2 its give me an error saying that fuction 'on' is undefined. I tried to comment this lines, but gives me another error when it try to acquire the connection.
After to initialize the Pool2 object hava no referente to the methods.
`

Should be fixed with 0.12


Unable to get dirname_length when capacity is less than executable path's length

Problem
In the function wai_getExecutablePath(), when the argument capacity is less than the return value (the length of the executable path), dirname_length is not written to, even when the command was run successfully and the executable path's length is found.
Versions

whereami: f5e3eac441acbb4ec1fe3e2c32646248ae463398
GCC: gcc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)
OS: GNU/Linux fedora 6.10.4-200.fc40.x86_64, Fedora Linux 40 (Workstation Edition)

Example
#include <limits.h>
#include <stdio.h>
#include "whereami.h"

int main() {
	char buffer[PATH_MAX];
	int execDirLength;
	int execPathLength = wai_getExecutablePath(NULL, 0, &execDirLength);

	wai_getExecutablePath(buffer, execPathLength - 1, &execDirLength);

	// <execPathLength>, 0
	printf("path: %d, dir: %d\n", execPathLength, execDirLength);

	wai_getExecutablePath(buffer, execPathLength, &execDirLength);

	// <execPathLength>, <execDirLength>
	printf("path: %d, dir: %d\n", execPathLength, execDirLength);

	// <execPathLength>, <execDirLength>
	printf("path: %d, dir: %d\n", execPathLength + 1, execDirLength);
}

Hello @RolandMarchand,
If there's enough capacity, there's no way to retrieve the path and as such there's no way to know where the last / character is.

Hello @RolandMarchand,
If there's enough capacity, there's no way to retrieve the path and as such there's no way to know where the last / character is.

I see. I was originally mislead by the example that showcased my desired behavior, and the limitation wasn't mentioned in the header.
https://github.com/gpakosz/whereami/blob/f5e3eac441acbb4ec1fe3e2c32646248ae463398/example/executable.c#L75


Spring Messaging batch payload incompatible with Kotlin

In what version(s) of Spring for Apache Kafka are you seeing this issue?
3.0.2
Describe the bug
Cross posting from Spring Messaging as suggested in https://github.com/spring-projects/spring-framework/issues/29963. Kotlin based batch listener does not receive the expected Message payload.
In: https://github.com/spring-projects/spring-kafka/blob/main/spring-kafka/src/main/java/org/springframework/kafka/listener/adapter/MessagingMessageListenerAdapter.java#L682
with Kotlin the paramType resolves to:
 ? extends org.springframework.messaging.Message<?>
while for java, it is:
org.springframework.messaging.Message<?>
The rest of the code flow in that method ends up assigning the payload content based on the test for paramType and ends up behaving differently for kotlin.
To Reproduce
Running the sample project, it is noticed that in the java.util.List based listener, a GenericMessage is passed to the listener with both header and payload. In Kotlin's List based listener, only the message payload is passed as Message.
Expected behavior
Kotlin listener is expected to be identical to Java.
Sample
I have a working code to reproduce the issue given a local kafka running on port 9092:
https://github.com/samyem/spring-messaging-issue29963/blob/master/src/main/kotlin/com/example/issue29963/service/BatchTest.kt#L35

Confirmed; same thing happens with Java and
@KafkaListener(id = "kgh2600", topics = "kgh2600", batch = "true")
void listen(List<? extends Message<?>> in) {
	System.out.println(in);
}

Thanks for reporting.


Output in PKCS#12 format

Added PKCS#12 (PFX) cert output for importing into windows (tested on Server 2012 R2 with IIS 8.5).  Can specify a password to protect the key in config/param, otherwise defaults to blank password.

PFX output should be optional, not mandatory.
I'm currently using dehydrated on a single, master certificate server for all domains and certificates across our company. Some certificates are required in PEM format, some are required in PFX format, and some (in both formats) have password requirements on the private key. I've written a separate script to process the raw PEM files to add passwords or convert to PFX (with or without passwords) before outputting them to the required target.
Given that this is a bash script, it seems more likely to be run in a Linux environment, where PEM files are pretty standard (in my experience). Having PFX output as an option in dehydrated wouldn't be a bad thing, but I wouldn't like it to be mandatory--many servers will have no use for PFX files. If PFX output was made a configurable option, though, it could be turned on using a per-certificate config file, making it a more flexible (and useful!) option to have.

Good suggestion @txr13 with the latest commit PFX creation is optional (disabled by default), also it can be turned on/off and password can be set on a per certificate basis using the method described in docs/per-certificate-config.md

Sorry, but I don't really see the point in doing this inside of dehydrated, this could easily be done by a hook-script, all required parameters should be available at that point, or is there anything I'm missing about this? Also please keep your commits cleaner, in the current state I would not want to merge this...

Thanks for your consideration, for now I'll use my fork but will look into replacing it with a hook if I get the chance.
Question (since this is my first PR on Github).   I figured you would squash on merge.  Is it standard practice to rebase commits to clean them up before doing a PR?


Configure code coverage reporting for the frontend

Codecov Report

Merging #173 (cda030e) into main (5a21d12) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head cda030e differs from pull request most recent head ecb89dd. Consider uploading reports for the commit ecb89dd to get more accurate results

@@           Coverage Diff           @@
##             main     #173   +/-   ##
=======================================
  Coverage   93.88%   93.88%
=======================================
  Files         110      110
  Lines        2796     2796
=======================================
  Hits         2625     2625
  Misses        171      171

Continue to review full report at Codecov.

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

The code coverage comment will not update but if you follow the link it will show a drop because it is considering client/src now.


Performance improvement when viewing home page

Normally Apostrophe populates req.data.home from req.page._ancestors[0]. However there is fallback code to do this when req.page._ancestors[0] is not available, for instance on the home page itself, or a route which is calling renderPage but is separate from our standard page route (there is no req.data.page).
The fallback code applies the same options passed in for the use of the ancestors() filter, however that filter also calls .areas(false).joins(false) up front.
I factored that code out to a method which is now called from both the ancestors() filter and the fallback logic for always populating req.data.home, so they behave consistently.
This results in a significant performance win when looking at the home page: we don't wind up fetching areas and joins twice for what is often a very complex page. This eliminates many unnecessary queries.

There is also a bug fix for a duplicate parameter name in a method of the schemas module. Babel caught it and refused to compile our code.

Code reviewed with Austin.


[Bug]: ImageFromDockerfileBuilder cannot build Dockerfile with intermediate layer (regression works with 3.3.0)

Problem
I cannot give the docker directory to the ImageFromDockerfileBuilder, only the dockerfile is possible:
public ImageFromDockerfileBuilder WithDockerfile(string dockerfile)
    {
      return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(dockerfile: dockerfile));
    }

I need to set the root to a certain directory so that the Copy instructions in my Dockerfile work.
Solution
I am not sure if this is enough, but consider this:
Add another method accepting the dockerfile and the directory.
public ImageFromDockerfileBuilder WithDockerfile(string dockerfile, string dockerfileDirectory)
    {
      return Merge(DockerResourceConfiguration, new ImageFromDockerfileConfiguration(dockerfile: dockerfile,
                                                                                dockerfileDirectory: dockerfileDirectory));
    }

Benefit
This change could enable my use case for using the ImageFromDockerfileBuilder.
Alternatives
I am not sure if there are other alternatives, I don't understand Docker well enough yet.
Would you like to help contributing this enhancement?
Yes

You can pass the build context via WithDockerfileDirectory to the builder configuration. You will find further information in our docs.

Yes, but building the Dockerfile will fail that way. I think, that WithDockerFileDirectory defines the directory from where the docker build command is execute. But from some root directory I need to run docker build --tag mytag -f "dir/dir/Dockerfile" for the build command to work with the Copy instructions. But maybe I misunderstood something?

WithDockerfileDirectory gets the root directory that contains all files that are part of the Dockerfile and the final image. The Dockerfile is a part of that directory.
_ = new ImageFromDockerfileBuilder()
    .WithDockerfileDirectory("/Users/testcontainers/example")
    .WithDockerfile("dir/dir/Dockerfile"); // Corresponds to /Users/testcontainers/example/dir/dir/Dockerfile

Does that help?

Thank you for your help :)
But no, that does not work, but running the docker build command works:
PS C:\Users\User\testcontainers\example> docker build --tag SomeTag -f "dir/dir/Dockerfile" .

And
IFutureDockerImage futureImage = new ImageFromDockerfileBuilder()
          .WithDockerfileDirectory("/Users/testcontainers/example")
          .WithDockerfile("dir/dir/Dockerfile")
          .Build();

        await futureImage.CreateAsync()
          .ConfigureAwait(false);

Throws the exception (when creating the futureImage:

Docker.DotNet.DockerApiException : Docker API responded with status code=NotFound, response={"message":"pull access denied for build, repository does not exist or may require 'docker login': denied: requested access to the resource is denied"}

The Dockerfile is a regular Dockerfile for running an ASPNET Web Api. It copies the files, restores, builds  and publishes the application. So I am confused by the exception about pulling.

pull access denied for build, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

This sounds like Docker cannot pull the dependent images from in the Dockerfile. Are your dependent images stored in a private registry (FROM statement)? Which version do you use? Can you try 3.3.0 and 3.4.0?

I don't point to private registries and only use mcr.microsoft.com/dotnet/aspnet:7.0 and mcr.microsoft.com/dotnet/sdk:7.0.
It works with version 3.3.0 but not with 3.4.0.. That helps, thank you! Is this a bug in the library, or did I set it up incorrectly?
For my background: I have a solution with a web app and a web api. The web app calls the api. For some integration tests I want to start both apps in containers and make requests to the web app. This way, I want to test, if the the web app can call the api and if everything fits together.

It works with version 3.3.0 but not with 3.4.0.. That helps, thank you! Is this a bug in the library, or did I set it up incorrectly?

This sounds odd. It might be a regression in version 3.4.0 (https://github.com/testcontainers/testcontainers-dotnet/pull/951), but I am unable to reproduce it. When I run the WeatherForecast example with version 3.4.0 (similar configuration to yours), it runs without any issues. The necessary images are fetched as specified in the Dockerfile.
Can you share the Dockerfile configuration and the log messages (run the tests in debug configuration in your IDE)?

Thank you, that really helped me understand the problem much better. Testcontainers for .NET, tries to download each image from the Dockerfile in advance (this is necessary when the image is stored in a private registry). However, in your case, Testcontainers for .NET attempts to download images for the lines FROM build AS publish and FROM base AS final. These lines represent intermediate layers, not actual images that Testcontainers can download. As a result, an exception is thrown. If you remove these intermediate layers (similar to the WeatherForecast example), you should be able to use the latest version (3.4.0).
I am curious about how we can identify these intermediate build layers. @eddumelendez , do you have any idea how Java does it? Do we need to skip pulling images when we find the image name after the AS statement?

Ah, I understand the problem now. Thank you for that explanation. Can I help in another way?
I don't really want to remove those intermediate layers, because they improve performance, and separate concerns, if I understand them correctly (Visual Studio automatically adds them when creating the Dockerfile). Would you still remove those layers or just work with the version 3.3.0?

I don't really want to remove those intermediate layers

I intended that as a workaround, not as a final solution 😄. Of course, the upcoming version of Testcontainers for .NET should address the issue with the intermediate layers appropriately.

Can I help in another way?

I am considering a way to figure out the names of the intermediate layers, then we can skip those layers (images) here.

I am not an expert with regular expressions, nor with the Dockerfile syntax. But can you just ignore lines with as ignoring the case? Note the space before and after as. Also you might need to ensure that this is not the end of the line. But I am not sure, if this simple approach is enough.

I do not think we can simply ignore the lines that contains AS. We need to ignore those that matches an image, like:
FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
FROM base AS final

Ah okay, so you need to store the labels (base for example) and ignore them?

I need to think about it again, but I believe the following will work. I am not sure if there is a more efficient solution.
public sealed class GitHub : List<string>
{
    private static readonly Regex FromLinePattern = new Regex("FROM (?<arg>--[^\\s]+\\s)*(?<image>[^\\s]+).*", RegexOptions.None, TimeSpan.FromSeconds(1));

    public GitHub()
    {
        Add("FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build1");
        Add("FROM mcr.microsoft.com/dotnet/sdk:7.0 as build2");
        Add("FROM mcr.microsoft.com/dotnet/sdk:7.0");
        Add("FROM mcr.microsoft.com/dotnet/sdk:6.0");
        Add("FROM build1 AS final1");
        Add("FROM build1 AS final2");
        Add("FROM mcr.microsoft.com/as/AS:5.0");
    }

    [Fact]
    public void Issue972()
    {
        // TODO: Only process lines that match FromLinePattern.
        IEnumerable<string> stages = this
            .Select(line => line.Split(new[] { " as ", " AS " }, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries))
            .Where(substrings => substrings.Length > 1)
            .Select(substrings => substrings[substrings.Length - 1])
            .Distinct()
            .ToList();

        IEnumerable<string> images = this
            .Select(line => FromLinePattern.Match(line))
            .Where(match => match.Success)
            .Select(match => match.Groups["image"])
            .Select(group => group.Value)
            .Where(value => !stages.Any(stage => stage.EndsWith(value)))
            .Distinct()
            .ToList();

        Assert.Equal(4, stages.Count());
        Assert.Equal(4, images.Count());
    }
}

Maybe add " As " and " aS ", too?

I am also observing a problem with 3.4.0
ARG RUNTIME_VERSION=3.17
ARG BUILD_VERSION=7.0-bullseye-slim

FROM alpine:$RUNTIME_VERSION AS base

The BuildAsync fails now with "invalid tag name" as the $RUNTIME_VERSION is used as a tag instead of being resolved.

Thank you, that is another case we need to address. I might have merged the feature to pull images from private registries to fast 😬.

I have prepared a fix in #979. If anyone would like to review it, your feedback would be appreciated.

This is still not working with 3.5.0. Getting the same results as OP. Works fine with 3.3.0.

This is still not working with 3.5.0. Getting the same results as OP. Works fine with 3.3.0.

It is working as described. ARGs are out of scope (this issue) and not supported yet. You find the related feature here: https://github.com/testcontainers/testcontainers-dotnet/issues/980.


iOS Build issue - ArgumentError - Illformed requirement "v2.22.5"

Installing the package on flutter project and trying running it on iOS results in an error while installing the pods.
ArgumentError - Illformed requirement "v2.22.5" -> I guess iOS SDK v2.22.5 is specified as required or something that is causing this.

Created a PR for this: https://github.com/jorgefspereira/persona_flutter/pulls


yul optimizer config

Component
Forge
Describe the feature you would like
Would be cool if we could configure every aspect of the yul optimizer options: https://github.com/ethereum/solidity/blob/v0.8.11/libsolidity/interface/OptimiserSettings.h
Without knowing too much about the inner workings, especially with that pesky Stack too deep when compiling inline assembly ...  sometimes the only way to figure out what's going on is to play around with the optimizer steps.
Additional context
No response

Just a note, that before version 0.8.6 omitting the 'enabled' key was not equivalent to setting
it to false and would actually disable all the optimizations.
https://docs.soliditylang.org/en/latest/using-the-compiler.html#compiler-input-and-output-json-description

Opened https://github.com/gakonst/ethers-rs/pull/868 that adds the necessary types to configure the details
needs foundry config companion PR

@fubhy, please have a look at this https://github.com/gakonst/foundry/pull/678?


Checking existance of parent id if not null

Just checking that if assigning a parent_id, it actually exists or else raises a validation error
@javisantana CR please

retest this please

Ok, need to do more things, need to check type is 'derived' only.
Also this check could be set as a DB constraint instead of code logic.

:es:


Appium Command installApp doesn't work on Windows

The rest of commands work, so I believe that this issue is related to the Windows path format.
The same command works perfectly on Linux/MacOS.

May I ask if the same version of Node.js was used on Windows and if latest version of driver was used, and if so, please try the code below ?
const fs = require('node:fs');
const { DeveloperServer } = require('@dlenroc/roku-developer-server');

const developerServer = new DeveloperServer({
  address: 'http://<device-ip>',
  username: 'rokudev',
  password: '<device-password>',
});

developerServer.install(fs.readFileSync('app.zip'))
  .then(() => { console.log('Installed'); })
  .catch((error) => { console.error(error); });

Also, to ensure there are no compilation issues, please connect to BrightScript console before attempting to install the app.
telnet <device-ip> 8085

Hello @quidow, if the issue isn't resolved, consider trying GH-68 which have more detailed error message, including information about compilation errors.

Node v20.8.0
Seems like a weird reason to me, since everything work perfectly with the same device and on the same computer, but via WSL...

Thanks, @quidow! The first part may be related to the need to regenerate the developer key (I have not seen this message before), and the second part is the issue I need to address. Now, I have everything I need to fix it. Great, thanks!

Windows support has been added in the<EMAIL_ADDRESS>release.


Add library and samples to the Harvest API documentation

See http://help.getharvest.com/api/introduction/overview/libraries-samples/.

Closing issue since library is being deprecated.


Azure WebApp private database connectivity

While looking for solution of my use case, I was brought into this page here.
However this is not exactly I have designed my architecture. I'm looking for accessing Azure SQL PaaS from Azure WebApp via Managed Identity and Private EndPoint but couldn't find any documentation or guidance.
I have an AspNetCore3.1 app hosted on Linux Azure WebApp with Private Endpoint. I have also enabled system assigned Managed Identity(MI) on the web app and added that as contained user to my Azure SQL PaaS. However, I could not establish sql connection and my app returns errors:

Connection was denied since Deny Public Network Access is set to Yes (https://docs.microsoft.com/azure/azure-sql/database/connectivity-settings#deny-public-network-access). To connect to this server, use the Private Endpoint from inside your virtual network (https://docs.microsoft.com/azure/sql-database/sql-database-private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database). at Microsoft.Data.ProviderBase.DbConnectionPool.CheckPoolBlockingPeriod(Exception e)

There is Private Endpoint configured for SQL PaaS too. This one is in different subnet but same VNet as webapp's private endpoint is in.
Is this design supported ? Any links/docs?

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

ID: 7499b146-3340-d7d1-6c5f-3ed508b773cb
Version Independent ID: 61b10612-1136-3840-c7c1-804e63b23410
Content: Web app private connectivity to Azure SQL database - Azure Example Scenarios
Content Source: docs/example-scenario/private-web-app/private-web-app.md
Service: architecture-center
Sub-service: example-scenario
GitHub Login: @jelledruyts
Microsoft Alias: jelled

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#338573

Hi @sameer-kumar, whether or not you are using a managed identity should have nothing to do with the error that you are seeing, as at this point you're still trying to connect to SQL and not yet authenticate. The error message clearly calls out that you are coming in to SQL over its public IP address, not the private endpoint. So this looks like a networking problem which is indeed the core of the article, and the way you describe it should be supported indeed (as it's very similar to the setup in the article).
Have you ensured that you have configured all the necessary settings on the web app? Most of all, is App Service regional VNet integration setup to the VNet which holds the SQL private endpoint? Is the "WEBSITE_VNET_ROUTE_ALL" app setting set to 1? Do you have DNS configured on the VNet or via an app setting "WEBSITE_DNS_SERVER" set to "<IP_ADDRESS>" as per the article? I would suggest to follow the Deploy this scenario walkthrough carefully and see if that solves the connectivity issue.
Thanks!

@jelledruyts After I tried all the steps as suggested in your link, my web app itself is not accessible now.
To troubleshoot I used kudu console from webapp and tried to execute below commands which fails (no response):
tcpping mysqldb.database.windows.net
tcpping google.com

@jelledruyts I can confirm that when I followed the same steps in Windows App Service instead of Linux, it works like a charm. So looks like Linux is not fully baked yet.

I have this running with Linux as well so can definitely confirm it should work. Next to possibly opening a support ticket, I would suggest to follow the exact same steps once more with a Linux app and for example use my InspectorGadget container image which allows you to do DNS lookups, SQL connections, HTTP requests etc for easy troubleshooting. Just create a new Linux web app, use a custom Docker container from Docker Hub and simply set the image to "jelledruyts/inspectorgadget". Then you can use the web app to resolve the SQL's DNS to an IP address (which should return the private endpoint if all is well), and connect to SQL to execute a query. The default SQL query used by the app returns the client's IP address which in this case (the client being the VNet integrated web app) should come from within the VNet IP range as well. All of this is optional of course, but a very easy way to troubleshoot and play around with web apps.

@jelledruyts when I tried your image then SQL connection screen works after VNet integration. Strange! I'm thinking what is different in my web app which doesn't work in Linux after Vnet integration? I'm clueless here.

@jelledruyts this is what I can see from logs:

2020-11-20T23:28:48.174Z ERROR - Container create failed for abc02_0_941b2597 with System.Exception, Error in get or Add Endpoint: Failed to GetOrCreateNetwork e31c2d40-5e13-4be5-b0ac-147857827aab_Subnet-ABC-001: Failed pre-setup: Failed to create the NC(2c298cb9-7e4c-c1a3-40d8-983e1ca3fc3d) for subnet Subnet-ABC-001 in vnet e31c2d40-5e13-4be5-b0ac-147857827aab, err: NMAgent returned status code 401

Good to hear it works with the InspectorGadget image. I'd definitely suggest to open a support ticket then (e.g. via the Portal), as the scenario is certainly supported, but looks like your app may be having an issue.

Got it. Thank you for your support.

@jelledruyts thank you for your engagement here.   and @sameer-kumar thank you for reaching out.


Readonly realtime live location

Description
This PR addresses issue #26 by making the map's live location functionality more flexible, unrestricted and configurable.
Changes:

Removed Restriction on Current Location: Removed the condition that restricted obtaining the current location only when the map's draggable option was set to true.
Enhanced liveLocation Option: Modified the liveLocation option to make it configurable, allowing the map to obtain the user's real-time location at specified intervals.

These changes make the map's live location tracking more versatile and applicable in a wider range of scenarios, even when the map is not draggable.
Impact:

Improved UX: Users can now get real-time location updates without needing the map to be draggable.
Customization: Developers can specify the interval for obtaining real-time location updates, providing more control over the feature.

Thank you, @enriquemdev, for the great work!
Please remove the comments and delete the .phpunit.cache/test-results folder. Once that's done, we'll be ready to merge.
Could you also add this folder to the .gitignore? Additionally, could you update the README file to include the new options in the documentation?
Thanks in advance .

Thank you, @mohaphez!
I’ve removed the comments, deleted the .phpunit.cache/test-results folder, and added it to the .gitignore. I've also updated the README with the new options.
Let me know if anything else is needed!


vm run-command --script not working on Linux VMs

When trying to use run-command with a file as the argument against a linux target it is consistently failing. On inspection of the file some odd escape characters are being inserted when it copies the file on to the VM for execution:
The documentation mentions:
--scripts
Script lines separated by whites spaces. Use @{file} to load from a file.

I can't seem to figure out what its wanting me to pass this file as to make it run correctly. Its uploading to the server but inserting the odd escape characters as seen below. Didn't seen any documentation on what to do here.
Local file:
# cat -v test.sh
logger "test"

Command Executed to run against vm and failure message:
bash-4.3# az vm run-command invoke --resource-group 'TEST' --name 'TEST1' --command-id 'RunShellScript' --scripts @./test.sh --verbose
Deployment failed. Correlation ID: -------. VM has reported a failure when processing extension 'RunCommandLinux'. Error message: "Enable failed: failed to execute command: command terminated with exit status=126
[stdout]

[stderr]
/bin/sh: /var/lib/waagent/run-command/download/6/script.sh: cannot execute binary file
".

File on the server with odd characters:
# cat -v /var/lib/waagent/run-command/download/6/script.sh
l^@o^@g^@g^@e^@r^@ ^@"^@t^@e^@s^@t^@"^@

Tried running this with multiple iterations, single lines, multiple. Declaratives.
I thought for a bit @{} was referencing a hashmap I.E. powershell but trying different variations of loading the file in a array didn't produce any tangible results.
It almost looks like it is compressing the file on the way up and incorrectly uncompressing it.

Environment summary
Install Method Docker / Arch / Bash
When trying to run az vm run-command invoke --scripts the text in our script file seems to be getting converted and having odd characters inserted?

We addressed the issue and the fix will be deployed next week. The problem was that script was send in Unicode instead of UTF8. Some/most versions of Linux can handle the Unicode but some throw the error reported.

This fix is deployed.

Thanks @koralski and @yugangw-msft !!


Pending email warning dialog box

This is my first time using this tool.  What API can I use to close the Pending email warning dialog box that is automatically shown after login?  Thanks in advance for your help.

Even we are facing the same issue.

This is an issue we're currently working on.  Once the update is made and released, I'll update the Issue here.
Thanks for the feedback

Great, thanks for looking into it!

Here is what I did to get around the email not sent dialog box.
public static void ADFSLoginAction(LoginRedirectEventArgs obj)
{
IWebElement iframeElement;
IWebDriver Cdriver = obj.Driver;
Cdriver.FindElement(By.Id("passwordInput")).SendKeys(obj.Password.ToUnsecureString());
        //Cdriver.ClickWhenAvailable(By.Id("submitButton"), new TimeSpan(0, 0, 6));
        Cdriver.FindElement(By.Id("submitButton")).Submit();
        Cdriver.FindElement(By.Id("idSIButton9")).Submit();
        Cdriver.WaitForPageToLoad();
        try
        { //Workaround for the email not sent warning dialog in the QA environement.
            iframeElement = Cdriver.FindElement(By.Id("InlineDialog_Iframe"));
        }//close try
        catch (NoSuchElementException) { return; } //If there is no warning dialog we are done
        //TODO: Log presence of warning dialog
        //Since we have an Iframe switch to it
        Cdriver.SwitchTo().Frame(iframeElement);

        Cdriver.FindElement(By.Id("crmDialogFooter"));
        Cdriver.FindElement(By.XPath("//*[@id=\"crmDialogFooter\"]/div[2]"));
        //Due to issues with the framework click is not handled correctly and throws a no such element error
        // Thus the try catch wrapper.
        try { Cdriver.FindElement(By.XPath("//*[@id=\"butBegin\"]")).Click(); }
        catch (NoSuchElementException)
        { //Log that we closed a dialog window.
        }//close catch for Click action

    }//close Internal ADFS login Action

Thanks for your help Kacey Arnold.. Its working for me now. Only concern I have here is if given Xpath or Ids get change in subsequent CRM product patch. We need to keep updating these id's

Yes, but at least you can move forward.  Which is what matters?  Do what I have taken to doing,
/* ---------------------- This is a hack to get around a bug --------------------------

*/ ---------------- End of Hack --------
Now when the fix comes through the hacks are easy to find.
On a side note I thought the email not set up issue was just the nature of tests systems, so I went around it out of habit not even thinking of it as a bug.  :)

This issue has been mitigated and should be pushed to GitHub soon.


Configuration not working with chart

Hello,
I used the helm and chart to install sftpgo on my kubernetes cluster. The installation is ok but it seems that the configuration is not taken into account.
In the values.yaml I have
config:
    common:
      defender:
        enabled: true
    sftpd:
      enabled_ssh_commands: "*"

This translate into a json in /etc/sftpgo/sftpgo.json
{
	"common": {
		"defender": {
			"enabled": true
		}
	},
	"sftpd": {
		"enabled_ssh_commands": "*"
	}
}

But when I check the maintenance page, it seems that the configuration did not work for defender. It status is still disabled.
I tried to enforce the environment variable:  SFTPGO_CONFIG_FILE to the configuration file but still not working.
Can you please provide guidance on how to **make defender enabled and  enabled_ssh_commands to ***
Thanks

Fixed  issue due to tabulation


Blade syntax inside script tag is not working

Description
As soon as blade syntax gets inside script tags, its becomes uglified and invalid.
Input Before Beautification
This is what the code looked like before:

Expected Output
The beautified code should have looked like this:

Actual Output
The beautified code actually looked like this:

Steps to Reproduce

Add code to Atom editor
Run command Atom Beautify: Beautify Language Blade
This beautified code does not look right!

Debug
Here is a link to the debug-3.md Gist: https://gist.github.com/iwasherefirst2/727e88d9bdda3f54585146af62aa3af2
Checklist
I have:

[x] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[x] Reloaded (or restarted) Atom to ensure it is not a caching issue
[x] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[x] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[x] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

I figured out that the following code changes in js-beautify.coffee keep the code valid:
   text = beautifyHTML(text, options)
            # post script (Workaround)
            text = text.replace(/<[\n\s]*blade[\n\s]*(.*)[\s\n]*\/[\s\n]*>/ig, "@$1")

but it remains that the formatting is really bad. I don't know how to fix it, so I can't create a PR quite yet for it. Any hits how to fix the bad format?

The script above does half work to fix the problem, my js-beautify.coffee is now as follows,
C:\Users\aidan\.atom\packages\atom-beautify\src\beautifiers\js-beautify.coffee
          when "Blade"
            beautifyHTML = require("js-beautify").html
            # pre script (Workaround)
            text = text.replace(/\@(?!yield)([^\n\s]*)/ig, "<blade $1 />")
            text = beautifyHTML(text, options)
            # post script (Workaround)
            text = text.replace(/<[\n\s]*blade[\n\s]*(.*)[\s\n]*\/[\s\n]*>/ig, "@$1")
            text = text.replace(/<blade ([^\n\s]*)\s*\/>/ig, "@$1")
            text = text.replace(/\(\ \'/ig, "('")
            @debug("Beautified HTML: #{text}")
            resolve text
          else

I was then able to get my previously not working code, (cut down)

To grammatically correctly format by doing the following,

Not ideal, better than the default though. Using your version without adapting my code produces the following, which is invalid

https://github.com/Glavin001/atom-beautify/pull/2422
Fixes this issue but has not been merged.


RFC: Rethinking the design of the crates API

So, I've been thinking about wayland-rs' API again (gotta love my brain, the running gag is still going strong), and I'm dumping these thoughts here, to see if they can serve as a starting point for a positive discussion.
As a preamble, as far as I can tell, the current API is for most users "good enough". Although some pain points remain (in particular regarding thread-safety), it is mostly usable and reasonable. As such, I don't think it's worth going into yet another redesign of the API unless we have a strong confidence that it would make things significantly better. This is why I'm opening this "RFC" issue: to gather feedback on those ideas, see if/how they can be fleshed out, and evaluate if it is a direction worth pursuing or not.
Design of the backend
In the latest big redesign, I've tried to make wayland-backend into an "as low-level as possible" wrapper around both a rust implementation of the protocol, and libwayland. It turns out that I could have gone deeper into this "going lower-level" route by relaxing a constraint I had set myself at the time: I tried to make the backend not only rust-safe, but also make it catch a lot of footguns that could trigger protocol errors. I considering relaxing that.
The backend would be reworked to completely remove the ObjectData trait, and the core API it would expose to process messages would be something akin to:
impl Backend {
    fn incoming_messages(&mut self, f: impl FnMut(Message)) { ... }
}

The user thus provides a callback that is repeatedly called for all incoming messages. Free to them to use it to process them in real time, or just store them into a buffer for later processing.
At the level of the backend, objects are only represented by their ObjectId, a handle that is Eq + Hash + Clone, and keeps representing uniquely the same object, even after it is destroyed.
The backend no longer automatically tries to track object destruction for you, and will expose a method like:
impl Backend {
    fn destroy_object(&mut self, id: ObjectId) { ... }
}

Similarly, the backend no longer checks the signature of outgoing messages, and will happily serialize to the wire whatever you give to it. This means that it would be easy to trigger protocol errors (but no rust-unsafety) if you use those API wrong.
Associating data to objects
An important need is the capacity to associate data with specific instances of Wayland objects. With the removal of ObjectData from the backend, we need a new mechanism to cover that.
I'm thinking of introducing a DataMap container, which would in essence be a glorified HashMap<ObjectId, TypeMap> (I'm assuming the runtime cost of the map lookup is negligible.). This container has in itself no synchronization backed into it, and the user would be free to use more than one if practical or relevant. Data is not automatically removed from the container, and the user needs to actively remove it when the relevant object is destroyed.
This puts data management in a much more manual fashion, as a trade-off for removing a large part of the friction related to thread-safety that was caused by storing the user data inside of the ObjectData of each object.
Dispatching messages
Probably the most central difficulty in API design for the Wayland protocol is the dispatching of incoming messages to the bits of logic that need to handle it. In this new potential design, the backend no longer does anything regarding that, so all must be done in wayland-client and wayland-server (or any other thing built on top of wayland-backend).
As a reminder of the necessary or desirable properties of such dispatching:

The ordering of messages must be preserved (within a client server-side, and within an event queue client-side)
Even when two objects are instances of the same interface, it must be possible to dispatch their incoming messages to different processing logic
Most interactions with the protocol (sending messages, creating or destroying objects, etc..) must be possible concurrently with a dispatching session
Ideally, a minimal amount of plumbing code would need to be written by the user

My current idea regarding that would be a system comprised of modules somewhat similar to an actor model structure: blocks that take messages as input (either raw messages from the Wayland socket, or higher-level user-defined enums), standardized with a trait, and that can be connected into one another to create a pipeline: a module keeps a reference (via owning, or an Rc<_>, etc..) to the nest module in the pipeline, and invokes it as necessary.
The entry point for this system would be integrated into the DataMap: each object could be associated with a handle to the initial module of the chain that needs to process its messages. As a whole, the full pipeline of modules would thus be a DAG. We could thus have a method like:
impl DataMap<E> {
    fn dispatch_message(&mut self, msg: Message) -> E { ... }
}

Where the type parameter E represents the final return type of the pipeline, to allow the representation of messages that need to be processed outside of the pipeline logic. Each module of the pipeline would have mutable access to the DataMap (or at least a subset of it) and maybe we can fit something like the global &mut State we are currently using as well.
The core idea of that is that this pipeline can take any shape the user wants, for example:

Each object is associated with a single module that does its processing (kinda similar to the current ObjectData)
Each object is associated with a module that parses its message into a common enum that is directly returned by dispatch_message() and handled directly by the main loop (like with a huge match { ... }
An hybrid setup where several modules are chained, each doing processing at its level (such as state-tracking) and generating higher-level messages to be processed down the chain.

In this, the modularity of crates like SCTK or Smithay would be achieved by providing such pre-implemented modules that a user could integrate in its pipeline.
Questions
So, this design is still quite high-level, and there are a lot of details to iron out, but I'd like to get the general feeling of the current users of wayland-rs with theses ideas. In particular: compared to what you are currently doing with wayland-rs, do you think this would make your life easier? Harder? What does this evoke you?

I don't have mental energy to go on a big discussion here. But the only thing which frustrates me is that I have very little control over how things are represented internally.
For example, my basic desire is to have things just use &mut and have all the objects !Send + !Sync and being local to the queue thread, so I pay nothing for MT safety, because I ensure it myself, and things more a bit more predictable.
I guess the API you suggest could work for my case, while still providing MT safety guarantees for users who actually want that instead of doing queue local processing and preventing objects from moving from the queue thread.
It's a bit unclear for me how compositing will work, I'd assume there will be a module which does the parsing and then dispatches to the right module generated by the wayland-scanner crate?
Also, could you mock up how e.g. interaction between different crates will work? I'd assume that crate A should define some interface and implement a trait some core crate provides, then it'll get its messages under certain conditions defined by the user? For example, let's say I have my main Queue and I crate wl_surface and I want to plug e.g. sctk-adwaita, which also creates wl_surface, but I don't want to share or know about objects not created by my crate, I'd assume that I'd have a module which tracks my objects and if it's not mine I'll dispatch to sctk_adwaita or something, so it can done its own processing and somehow update the &mut State?
There's a very big chance that I read proposal not entirely correctly.

I don't have much to add for now, but I belive it's worth linking those two (sadly compeating) dispatching reworks that we have at the moment
https://github.com/Smithay/smithay/pull/1384 and https://github.com/Smithay/wayland-rs/pull/699
Exsistence of those two kinda shows that the current API is greate on it's own, but gets anoying when we try to abstract implementations in smitahy or sctk.
So having a way to dispatch to types diferent then D seems like an important topic. Either by my delegate dispatch work or Drakulix's forward dispathing. My work on this got kinda stalled, as I'm myself not sure which solution is more worth pursuing.

(Not) Async
If wayland-rs used async for it's API, it seems like that would naturally involve Streams (or AsyncIterator or whatever). It seems like even if that is useful, Rust's async support remains too immature at present. (No stable Stream type in the standard library, or generator syntax, etc.) So yeah, not really something to be doing at the moment. Though if there are any problems currently with creating higher-level async APIs around wayland-rs, that would be good to improve.
Some ideas I might have for async APIs also may not work well with some requirements for ordering of messages from the server and responses to them... (like if you had different async tasks handling messages from different Wayland object, instead of the well-ordered callback-based approrach Wayland is designed around, that might be an issue with some things? Or at least it would somehow have to group things like surfaces and role objects together...).
Backend
Making wayland-backend more minimal and low-level definitely sounds good.
We could also make wayland-backend not a public dependency of wayland-client and wayland-server. Wrapping any types instead of re-exporting. Then the API of the backend doesn't have to be stable. If there isn't much we'd want to expose from the backend, that could be good even if we don't expect to break much.

impl Backend {
    fn incoming_messages(&mut self, f: impl FnMut(Message)) { ... }
}

It's kind of a minor point, but for reis I just went with a next-message method returning an Option. Since the backend has to buffer bytes in a VecDeque ring-buffer anyway. A non-blocking next API like that is also easy to adapt to an Iterator or Stream.
Threading and DataMap
For threading, one thing I've noticed is that my client couldn't use types that aren't Send + Sync for object udata. Which may be inefficient, a bit more difficult, or impossible if you have a third-party type you want to store that isn't Send. This seems difficult to address though. QueueHandle would need a non-thread-safe variant, that doesn't require Send + Sync when creating objects. And either the ObjectIds and wrappers couldn't be passed to other threads, or you couldn't use Proxy::data?
DataMap sounds like it help here. And I generally prefer a map like that over C-style user-data, at least if it hopefully performs as well. Though I'm not sure exactly how that would work. Would something like dispatch_pending take an &mut DataMap? And if I want to access the data associated with an object in a different thread, I'd need to use something like Arc<Mutex<DataMap>> and put a reference somewhere that thread can access it? What do the generated methods (like WlCompositor::create_surface now look like? I guess if WlCompositor is Send, the udata type still has to be.

make it catch a lot of footguns that could trigger protocol errors

Triggering protocol errors is important to me as someone who wants to help a Wayland test suite. However, I do believe it makes sense to make that ability opt-in. An average user likely has no need for footguns.

The backend no longer automatically tries to track object destruction for you

Is there a way to have both? I think a huge majority of the time, clients of this library don't want to do this themselves and the code will be duplicated for each. In other words, the existing destroyed fn in ObjectData is useful.

I'm thinking of introducing a DataMap container, which would in essence be a glorified HashMap<ObjectId, TypeMap>

What is TypeMap here?

Overall, it sounds like a good progression. Some bits are a bit too abstract for me to follow, but I'm happy to attempt to code it up in way-assay at some point. It took some finessing but we've managed to work around some of the constraints associated with ObjectData. Below is how we handle it, ObjectData still needs to be implemented, but it ends up being pretty neat and tidy IMO. I'd like to make sure it won't be too bad to switch to the new incoming_messages/dispatch_messages
macro_rules! protocol_bind {
    ($reg:expr, $proto:tt, $global:expr, $constraints:expr, $objdata:expr) => {{
        let global_str = paste::paste! { stringify!([<$proto:snake>]) };

        // Bind the specific version set by the caller of the protocol, or fallback to
        // the latest version supported by the server.
        let version: u32 = $constraints
            .iter()
            .find(|r| r.0 .0 == global_str)
            .map_or($global.version, { |w| w.0 .1 });

        (
            match $reg.send_constructor::<$proto>(
                wl_registry::Request::Bind {
                    name: $global.name,
                    id: ($proto::interface(), version),
                },
                $objdata,
            ) {
                Ok(y) => y,
                Err(e) => {
                    info!("Couldn't bind {} {e}", stringify!($proto));
                    continue;
                }
            },
            // Return the name as string, and version bound
            (global_str, version),
        )
    }};
}

...
contents.with_list(|globals| {
    for global in globals.iter() {
        macro_rules! bind {
            ($proto:tt, $objdata:expr, $state:expr) => {{
                let (x, proto) =
                protocol_bind!(registry, $proto, global, required_globals, $objdata);
                if required_globals.extract_if_higher_protocol(&proto.into()) {
                $state.replace(x);
                }
                }};
        }
        match &global.interface[..] {
            // TODO: When stable: https://github.com/rust-lang/rust/pull/104087
            "wl_compositor" => {
                bind!(WlCompositor, Arc::new(EventlessState), state.compositor)
            }
            "wl_subcompositor" => bind!(
                WlSubcompositor,
                Arc::new(EventlessState),
                state.subcompositor
            ),
           // shm_state implemenst ObjectData
            "wl_shm" => bind!(WlShm, shm_state.clone(), state.shm),
            _ => (),
        }
    }
});

Thanks for that initial feedback, that gives me some food for thought. To quickly answer a few of the questions before I come back at a later point with a more fleshed-out proposal:
@kchibisov

It's a bit unclear for me how compositing will work, I'd assume there will be a module which does the parsing and then dispatches to the right module generated by the wayland-scanner crate?

The exact shape is still to be determined, but yes, there would be something like that provided by wayland-client/-server/-protocols.
Also, regarding interaction with multiple crates, yes, my general idea is to still make it possible for them to coexist without need to be aware with each other beyond some initial setting-up by the downstream app.
@Drakulix

Can I have multiple DataMaps?

Yes, and the same object can be used as a key in multiple different DataMaps as well. So a module could use an internal DataMap to store its private information about objects, or require to be given access to a downstream-provided datamap. In the latter case, it is the responsibility of the downstream use to decide how the multiple DataMaps are organised.

So if I want to make parts of it accessible to different threads, do I always need to lock up the whole thing? Or store Arc<Mutex<_>>-data types?

You could for examples have a DataMap that only stores the data that needs to be shared between threads, and have that map inside an Arc<Mutex<_>> or Arc<RwLock<_>>, and another for the rest of the data. The thread processing Wayland events would then be responsible for keeping the contents of the first DataMap up-to-date for the other threads to access. How does that sound?
Overall, I expect this kind of design to give much more control to downstream (including Smithay/SCTK) on what data is stored how and where. But there are certainly many details to iron out.
@ids1024

Then the API of the backend doesn't have to be stable.

My general expectation for long-term was (and is still) that the API of the backend, if designed in a sufficiently low-level way, would be much more stable than that of wayland-client/wayland-server. To me this could potentially be desirable in two main ways:

Allow crates using different versions of wayland-client/wayland-server to coexist in the same project and still remain compatible (provided interoperability is done using the backend types)
Allow experimentation around other kind of client/server APIs, thus alternatives to wayland-client or wayland-server, while remaining compatible with the rest of the Smithay ecosystem

It's kind of a minor point, but for reis I just went with a next-message method returning an Option.

I proposed this callback-based API because it is lower-level than a one returning an Option, especially in the case where we are using libwayland under the hood (otherwise, it would force another layer of buffering on top of what libwayland already does). My idea is that such a "next-message" API would be implemented at a higher level, by collecting the messages into a buffer, either before or after the "message processing pipeline" depending of what the downstream user wants to do.

And if I want to access the data associated with an object in a different thread [...] ?

I think this is answered earlier in my message, as an answer to @Drakulix 's similar question
@bwidawsk

Is there a way to have both [automatic tracking of destructors or not]?

My idea is to remove this from the backend, and instead move this kind of tracking into wayland-client/wayland-server, but I'm not yet sure of how that would be implemented exactly.

What is TypeMap here?

Something like that: https://github.com/azriel91/anymap2

How does that sound?

That sounds really nice actually and I feel like that might fix a bunch of problems I am fighting against with the current api.

Overall, I expect this kind of design to give much more control to downstream (including Smithay/SCTK) on what data is stored how and where. But there are certainly many details to iron out.

I am all for that!

My general expectation for long-term was (and is still) that the API of the backend, if designed in a sufficiently low-level way, would be much more stable than that of wayland-client/wayland-server. To me this could potentially be desirable in two main ways:

Allow crates using different versions of wayland-client/wayland-server to coexist in the same project and still remain compatible (provided interoperability is done using the backend types)
Allow experimentation around other kind of client/server APIs, thus alternatives to wayland-client or wayland-server, while remaining compatible with the rest of the Smithay ecosystem

So far this hasn't really happened, but a stable wayland-backend would be useful for https://github.com/rust-windowing/raw-window-handle/issues/120.
With the sys backend, it doesn't matter as much, since multiple versions are already interoperable with each other and with C libraries. But it could be better to have a stable wayland-backend, especially when there are bug fixes (the sys backend to wayland-backend is where almost all the unsafe code in wayland-rs resides).

While I agree with most of your points, an issue I am having is that there is no way to create custom backends, like the rs and sys modules in wayland-backend. I'd suggest creating a trait to encapsulate the backends, and a trait to encapsulate sockets for the rs backend.


Broker vm of cf-mysql-deployment giving error as "logs for failed jobs: cf-mysql-broker, quota-enforcer"

We are deploying MySQL using cf-mysql-deployment with cf-mysql-release v36.11.0 on Azure.
Did deployment with bosh -e  env_name deploy -d cf-mysql cf-mysql-deployment.yml -o operations/add-broker.yml -o operations/register-proxy-route.yml -o proxy.yml -l vars_file.yml --vars-store vars-store.yml.
where proxy.yml is for assigning static_ips to proxy VM.
Sharing logs of broker VM from quota_enforcer.stdout.log
":{"error":"Finding violators: Error executing 'quota violator'.All: Error 1146: Table 'mysql_broker.service_instances' doesn't exist"}}
But when we checked on mysql VM by connecting to DB.
mysql_broker database was there with no tables.

Can someone help to identify what could be issue.

Hey @ndhanushkodi ,
mysql and proxy instances are healthy.
Sharing logs for broker

Please let me know any further logs are require.Thanks!

Hi @lordcf, we'll need a bit more of the broker logs since they are cut off in your image. Can you upload the following logs from the broker node:
/var/vcap/sys/log/cf-mysql-broker/db_migrate.combined.log
/var/vcap/sys/log/cf-mysql-broker/cf-mysql-broker_ctl.err.log
/var/vcap/sys/log/cf-mysql-broker/cf-mysql-broker_ctl.log
Thanks

Closing due to inactivity, feel free to reopen this issue if you continue to see the problem!


Add CancellationToken support for all async UnitOfWork calls

completed with https://github.com/stoveproject/Stove/commit/eb3d74da9482bc8fe6edb163d47ae2b43788b78d


Swift 3 compatibility

Hey, I'd love to see this lib available in Swift 3 so I can implement it in my project.
Thanks 😄

swift 3 is update with pull request 4


Update README.md

Add relevant iteration phase project documentation to the README.md

Added
Added The Willow Tree OMS: Customer User Interface Iteration.
Added Branch: agile/iteration-phase/3-3
Updated badges.
Updated view_menu_class_diagram.png.


Why does VGG-Face end with convolutional layers instead of Dense/Fully-Connected layers?

:question:

why not? it is an architectural design question. you may ask this to its creators.

It is an architectural design question, but you answered it differently than the creators, who made the last few layers fully connected, rather than convolutional. This is the most common practice, but I saw that you had put those layers through several commits of tuning for performance, so I wanted to know your reasoning.

No, i did not do anything. Original model has convolution layers instead of dense layer.
If you put dense layer, then number of weights will increase dramatically. Using conv decreases complexity and time.

From the course notes of Andrew Ng,
"For example, a 1000x1000 image will represent 3 million feature/input to the full connected neural network. If the following hidden layer contains 1000, then we will want to learn weights of the shape [1000, 3 million] which is 3 billion parameter only in the first layer and thats so computationally expensive! One of the solutions is to build this using convolution layers instead of the fully connected layers."
Ref: https://github.com/ashishpatel26/Andrew-NG-Notes/blob/master/andrewng-p-4-convolutional-neural-network.md


fix: set optional authentication in getPresences()

Supersedes PR #543.
The CSRF token has been removed but the cookie is necessary to access private game data; documentation has also been updated to reflect this change.


drivers: flash: spi_nor: fix driver initialization error

Fix the issue that the initialization will fail when both CONFIG_SPI_NOR_SFDP_RUNTIME and CONFIG_SPI_NOR_IDLE_IN_DPD are enabled. The cause of this problem is simply calling the wrong function.
Fixes #33015
Signed-off-by: Xinyang Tan<EMAIL_ADDRESS>

@nvlsianpu Hi. Would you mind approving running the remaining 5 workflows? Thank you!

Patch is appropriate.
I think initialization might be reworked so (especially by reworking release_device() a little) eneter_dpd might be called only once, at the end.


[FEATURE] MCUmgr support

Is your feature request related to a problem? Please describe.
Hi, does anyone have mcumgr ported on NuttX?
If not, I think it's a project worth porting, as it would provide a tool for managing remote devices and, most importantly, DFU over the Simple Management Protocol (e.g., over BLE). An out-of-the-box tool for managing remote devices is something I feel is missing in NuttX.
If no one has implemented this yet, I might look into it one day. However, I have a few concerns about this task.
Describe the solution you'd like
Currently there are 2 implementations of mcumgr:

The original project from Mynwet - https://github.com/apache/mynewt-mcumgr/
Zephyr version, developed in parallel - https://github.com/zephyrproject-rtos/zephyr/tree/main/subsys/mgmt/mcumgr
Initially, Zephyr used the Mynewt version directly, but they decided to incorporate
the code directly into Zephyr. Details can be found here:

https://github.com/zephyrproject-rtos/zephyr/issues/36017
https://github.com/zephyrproject-rtos/zephyr/pull/36092

Currently Zephyr version has more functionalities (such as mcumgr client and additional
management commands).
So my questions are:

Which code should we port: the Mynewt version or the Zephyr version ?
Both have Apache licenses, so the license is not an issue. Zephyr has more
functionalities, but the porting requires more effort.

Should we adopt an approach similar to Zephyr, where we maintain our own version of the
code, or should we clone active project ?
If we choose the second approach (git clone), the Zephyr version is probably out of
the question - cloning the entire Zephyr project is a bad idea.
Keeping its entire code in our repo could offer benefits, such as implementing NuttX-specific commands,
transports and optimizations. All the arguments from the discussion in Zephyr issue above also apply here.

Describe alternatives you've considered
No response
Verification

[X] I have verified before submitting the report.

It looks like mynewt-mcumgr uses custom tinycbor implementation: https://github.com/apache/mynewt-core/tree/master/encoding/tinycbor
and it can't be used with https://github.com/intel/tinycbor supported by Nuttx-apps.
In that case a port without major changes to mcumgr is not possible anyway, so git clone mynewt-mcumgr approach is out.

It looks like mynewt-mcumgr uses custom tinycbor implementation: https://github.com/apache/mynewt-core/tree/master/encoding/tinycbor and it can't be used with https://github.com/intel/tinycbor supported by Nuttx-apps. In that case a port without major changes to mcumgr is not possible anyway, so git clone mynewt-mcumgr approach is out.

Should we upstream the change to mynewt-mcumgr?

Should we upstream the change to mynewt-mcumgr?

PR from mynewt to tinycbor is here https://github.com/intel/tinycbor/pull/83 since 2017, so there is no chance that it will be merged.
There is also no chance that mynewt will go back to using the old tinycbor API.
After getting to know both implementations better, I came to the conclusion that the only option is custom NuttX implementation of mcumgr based on Zephyr and zcbor. But it is also the most expensive solution.
An alternative option is to use mynewt-mcumgr and copy tinycbor from mynewt to apps, but this results in two incompatible tinycbor implementations in the apps - which is a worse solution in my opinion.
To sum up - there is no easy way to port mcumgr and the whole task is rather big :(


Bumping up WPE and GTK WebKit to 2.30.0

libwpe: Bump up git version to 1.8.0
wpebackend-fdo: Bump up git version to 1.8.0
wpewebkit: bumping up WPE WebKit to 2.30.0
webkitgtk: bumping up WebKitGTK to 2.30.0

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

Yes. Check the CI result: https://gitlab.com/browsers/meta-webkit/-/pipelines/189285157

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

just one idea, but maybe your fail is due to https://github.com/Igalia/meta-webkit/pull/197/commits/105ca0510b139375b201754119c30b65d830a5db

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

just one idea, maybe your fail is due to 105ca05

Here's some of the final error messages:
| In file included from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/PlatformImageBuffer.h:42,                                  |                  from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/ImageBuffer.cpp:34,
|                  from DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-23.cpp:1:
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:87:28: error: redeclaration of 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    87 |     uint32_t m_texture { 0 };
|       |                            ^
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:82:14: note: previous declaration 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    82 |     uint32_t m_texture;
|       |              ^~~~~~~~~
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:61:10: error: 'bool WebCore::ImageBufferCairoGLSurfaceBackend::copyToPlatformTexture(GCGLenum, PlatformGLObject, GCGLenum, bool, bool)' marked 'override', but does not override
|    61 |     bool copyToPlatformTexture(GCGLenum target, PlatformGLObject destinationTexture, GCGLenum internalformat, bool premultiplyAlpha, bool flipY) override;
|       |          ^~~~~~~~~~~~~~~~~~~~~
|

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

just one idea, maybe your fail is due to 105ca05

Here's some of the final error messages:
| In file included from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/PlatformImageBuffer.h:42,                                  |                  from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/ImageBuffer.cpp:34,
|                  from DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-23.cpp:1:
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:87:28: error: redeclaration of 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    87 |     uint32_t m_texture { 0 };
|       |                            ^
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:82:14: note: previous declaration 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    82 |     uint32_t m_texture;
|       |              ^~~~~~~~~
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:61:10: error: 'bool WebCore::ImageBufferCairoGLSurfaceBackend::copyToPlatformTexture(GCGLenum, PlatformGLObject, GCGLenum, bool, bool)' marked 'override', but does not override
|    61 |     bool copyToPlatformTexture(GCGLenum target, PlatformGLObject destinationTexture, GCGLenum internalformat, bool premultiplyAlpha, bool flipY) override;
|       |          ^~~~~~~~~~~~~~~~~~~~~
|

Because, you are probably building the project in several threads -j N. The latest messages are not the errors but the last threads ending up. Please, look for the error: text chain and send me those messages.

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

just one idea, maybe your fail is due to 105ca05

Here's some of the final error messages:
| In file included from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/PlatformImageBuffer.h:42,                                  |                  from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/ImageBuffer.cpp:34,
|                  from DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-23.cpp:1:
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:87:28: error: redeclaration of 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    87 |     uint32_t m_texture { 0 };
|       |                            ^
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:82:14: note: previous declaration 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    82 |     uint32_t m_texture;
|       |              ^~~~~~~~~
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:61:10: error: 'bool WebCore::ImageBufferCairoGLSurfaceBackend::copyToPlatformTexture(GCGLenum, PlatformGLObject, GCGLenum, bool, bool)' marked 'override', but does not override
|    61 |     bool copyToPlatformTexture(GCGLenum target, PlatformGLObject destinationTexture, GCGLenum internalformat, bool premultiplyAlpha, bool flipY) override;
|       |          ^~~~~~~~~~~~~~~~~~~~~
|

Because, you are probably building the project in several threads -j N. The latest messages are not the errors but the last threads ending up. Please, look for the error: text chain and send me those messages.

Here's the full log, from build/tmp/log/cooker/raspberrypi3/console-latest.log
20200914201256.log

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

just one idea, maybe your fail is due to 105ca05

Here's some of the final error messages:
| In file included from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/PlatformImageBuffer.h:42,                                  |                  from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/ImageBuffer.cpp:34,
|                  from DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-23.cpp:1:
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:87:28: error: redeclaration of 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    87 |     uint32_t m_texture { 0 };
|       |                            ^
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:82:14: note: previous declaration 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    82 |     uint32_t m_texture;
|       |              ^~~~~~~~~
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:61:10: error: 'bool WebCore::ImageBufferCairoGLSurfaceBackend::copyToPlatformTexture(GCGLenum, PlatformGLObject, GCGLenum, bool, bool)' marked 'override', but does not override
|    61 |     bool copyToPlatformTexture(GCGLenum target, PlatformGLObject destinationTexture, GCGLenum internalformat, bool premultiplyAlpha, bool flipY) override;
|       |          ^~~~~~~~~~~~~~~~~~~~~
|

Because, you are probably building the project in several threads -j N. The latest messages are not the errors but the last threads ending up. Please, look for the error: text chain and send me those messages.

Here's the full log, from build/tmp/log/cooker/raspberrypi3/console-latest.log
20200914201256.log

Could you try to configure & build with -DENABLE_ACCELERATED_2D_CANVAS=OFF? . That is don't use the PACKAGECONFIG  flag 2dcanvas (wpewebkit.inc#L43)

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

just one idea, maybe your fail is due to 105ca05

Here's some of the final error messages:
| In file included from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/PlatformImageBuffer.h:42,                                  |                  from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/ImageBuffer.cpp:34,
|                  from DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-23.cpp:1:
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:87:28: error: redeclaration of 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    87 |     uint32_t m_texture { 0 };
|       |                            ^
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:82:14: note: previous declaration 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    82 |     uint32_t m_texture;
|       |              ^~~~~~~~~
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:61:10: error: 'bool WebCore::ImageBufferCairoGLSurfaceBackend::copyToPlatformTexture(GCGLenum, PlatformGLObject, GCGLenum, bool, bool)' marked 'override', but does not override
|    61 |     bool copyToPlatformTexture(GCGLenum target, PlatformGLObject destinationTexture, GCGLenum internalformat, bool premultiplyAlpha, bool flipY) override;
|       |          ^~~~~~~~~~~~~~~~~~~~~
|

Because, you are probably building the project in several threads -j N. The latest messages are not the errors but the last threads ending up. Please, look for the error: text chain and send me those messages.

Here's the full log, from build/tmp/log/cooker/raspberrypi3/console-latest.log
20200914201256.log

Indeed, it seems related. I've created a issue in WebKit to track this: https://bugs.webkit.org/show_bug.cgi?id=216602

Have you succeeded in compiling wpewebkit-2.30.0?
I tried (using this branch/PR), but got a lot of compiler warnings and errors.

just one idea, maybe your fail is due to 105ca05

Here's some of the final error messages:
| In file included from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/PlatformImageBuffer.h:42,                                  |                  from /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/ImageBuffer.cpp:34,
|                  from DerivedSources/WebCore/unified-sources/UnifiedSource-3c72abbe-23.cpp:1:
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:87:28: error: redeclaration of 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    87 |     uint32_t m_texture { 0 };
|       |                            ^
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:82:14: note: previous declaration 'uint32_t WebCore::ImageBufferCairoGLSurfaceBackend::m_texture'
|    82 |     uint32_t m_texture;
|       |              ^~~~~~~~~
| /home/hoyma/GitHub/balena-wpe/base-image/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpewebkit/2.30.0-r0/wpewebkit-2.30.0/Source/WebCore/platform/graphics/cairo/ImageBufferCairoGLSurfaceBackend.h:61:10: error: 'bool WebCore::ImageBufferCairoGLSurfaceBackend::copyToPlatformTexture(GCGLenum, PlatformGLObject, GCGLenum, bool, bool)' marked 'override', but does not override
|    61 |     bool copyToPlatformTexture(GCGLenum target, PlatformGLObject destinationTexture, GCGLenum internalformat, bool premultiplyAlpha, bool flipY) override;
|       |          ^~~~~~~~~~~~~~~~~~~~~
|

Because, you are probably building the project in several threads -j N. The latest messages are not the errors but the last threads ending up. Please, look for the error: text chain and send me those messages.

Here's the full log, from build/tmp/log/cooker/raspberrypi3/console-latest.log
20200914201256.log

Could you try to configure & build with -DENABLE_ACCELERATED_2D_CANVAS=OFF? . That is don't use the PACKAGECONFIG flag 2dcanvas (wpewebkit.inc#L43)

Thanks! Yes, it compiles when I comment out the PACKAGECONFIG_append_pn-wpewebkit = " 2dcanvas" line from local.conf.sample.


fix: highlighted objects recover their renderer when they become disabled

Description

Fixes: Objects that were disabled while being highlighted used to lose their renderer, this was only noticeable when they were enabled again.
Type of change

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

How Has This Been Tested?

Create a course with 3 steps:

Step 1 highlights an object.
Step 2 disables that object.
Step 3 enables it again.

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


2008R2 and earlier schema updates

It would be really helpful if WindowsServerDocs/identity/ad-ds/deploy/Schema-Updates.md could be extended historically, to include the earlier schema updates, including Windows 2003, 2003R2 but most importantly 2008R2?  I know these files are available elsewhere on technet, but the great thing about this new approach to doc publishing is that it is all in one place and is under a clear MIT licence.
Thanks,
Andrew Bartlett

Thanks, Andrew - I'll get this feedback to the AD content team for their review. Thanks, Liza

@abartlet The schema files are all included in each version of Windows Server in the Windows\System32\adprep folder. If you need sch0-13 I can probably grab them from a Windows 2000 iso file.

On Fri, 2017-12-08 at 19:36 +0000, John Flores wrote:

@abartlet The schema files are all included in each version of
Windows Server in the Windows\System32\adprep folder. If you need
sch0-13 I can probably grab them from a Windows 2000 iso file.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks.  If you could get me those and include it here it would be very
helpful and make this page a comprehensive guide to the schema changes.
Additionally, I should clarify:  The thing that is really, really great
is things in this repository are made available under the Open Source
MIT licence, which allows me to redistribute it as part of my work on
Samba.
Samba is an Open Source implementation of the windows protocols,
including an AD DC, so we are really big fans of this documentation.
Thanks!
Andrew Bartlett
--
Andrew Bartlett                       http://samba.org/~abartlet/
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba

I'll also note that we (@GSam and I) are more than happy to do the work
to get this into the markdown format and prepared for publication if
the .ldf files are published into a branch of this repo by a Microsoft
employee.
Thanks,
Andrew Bartlett

On this now-closed issue.  Does this mean these files available under a permissive licence somewhere, or that this isn't possible at this time?

Fixed by fcbd5cf887dbd47bbff4e97f9a758debb1dbd0a7, thanks so much!


1.19 experimental builds?

Hello, purpur, and pufferfish have 1.19 experimental versions, could you guys please also provide builds? Thx for the work on pearl!

Paper just released 1.19 stable build, I will wait for Pufferfish to upstream and merge their dev/1.19

Paper just released 1.19 stable build, I will wait for Pufferfish to upstream and merge their dev/1.19

I believe they have!


Add manifest for Windows Terminal Preview

This was inspired by the manifest of Windows Terminal, windows-terminal.json.
I thoroughly tested it so as to not conflict with the Windows Terminal installation. Both these can now co-exist.
Fixes #4831.

Move this PR into versions bucket

@Ash258 That's precisely why I asked in #4831 whether extras can have the preview version.
No worries, I've opened a PR there now :)


Please consider making a new release

Hi,
there have been eight releases in 2019 but only one so far in 2020. I'm packaging rss-bridge for Debian and it would be great if another release would happen, so that Debian users can benefit from all the improvements and fixes that happened since the last release in February.
Thanks!
cheers, josch

Hi, @josch !
Thanks for maintaining it in Debian. Just published a release but without description. https://github.com/RSS-Bridge/rss-bridge/releases/tag/2020-11-10
Is that ok for you?

Wow, that was super quick! Thanks!
Two remarks:

bridges/CeskaTelevizeBridge.php is marked executable -- please remove the executable bit
we already have the parsedown library in Debian, so I replaced vendor/parsedown with a symlink (nothing for you to do there)

(release description is coming up. If not done in a week after release - bump me here #1843)

bump...

Thanks for bumping @olegsidorkin !
I still haven't finished writing release notes yet, so I will continue later.

Finished writing release notes.

Thanks!


stop bubbles

I see that it should solve this problem #136 but I am not sure that this is the right approach.

See https://github.com/mauricius/vue-draggable-resizable/issues/136#issuecomment-450001695 to know why I'm rejecting this. Thank you