Are the memory layout of the rings guaranteed to remain stable?

I've looked at the kernel source code, and I've noticed that the memory layout for the rings has changed twice: once from v5.3 to v5.4 when IORING_FEAT_SINGLE_MMAP was introduced, and once from v5.7 to v5.8 when the cq_flags field was added to struct io_rings. It looks like the expected usage of these rings is that the application will strictly use the offset values written by io_uring_setup in the struct io_uring_params's sq_off and cq_off fields. But I can also imagine that some applications would ignore those and instead rely on the offsets being fixed, and any such application would have broken due to these ABI changes.
Can we expect these offsets to remain static, going forward? Or is the memory layout of these rings still subject to backwards-incompatible changes in future kernel versions?
If there is no desire to commit to static offsets, then perhaps it would be a good idea to randomize the rings' data layout each time an io_uring object is created. This would express the intent more clearly, and applications relying on fixed offsets would break quickly instead of silently working until the next kernel release.

None of those are backward incompatible changes. For the SINGLE_MMAP feature, it simply allows an application to make 2 mmap's to map the rings rather than 3. Any older application would not change behavior because of that.
When cq->flags was added to the ring, it used existing padding to add that field. That's why the padding exists in the first place. Again this is perfectly backward compatible, it does not change layout for any fields outside of the reserved fields that aren't (and never should) used for anything by liburing or applications using the raw interface.

I'm not talking about the cq_off.flags field in struct io_uring_params. I'm talking about the ABI of the ring memory that is mmap'ed and exposed to userspace, which is defined by struct io_sq_ring and struct io_cq_ring in v5.1 - v5.3, and by struct io_rings in v5.4+. If you look at the history of those structs in the Linux kernel, the layout changes made to them are not backwards compatible. As an example, a program compiled from this, targeting v5.3:
struct io_uring_params params;
int fd;
int ring_mask_offset;
struct io_sq_ring* sq_base; // struct definition copied from linux/fs/io_uring.c

memset(&params, 0, sizeof(params));
fd = io_uring_setup(256, &params);
sq_base = mmap(
	NULL,
	4096,
	PROT_READ | PROT_WRITE,
	MAP_SHARED | MAP_POPULATE,
	ring->fd,
	IORING_OFF_SQ_RING
);
ring_mask_offset = sq_base->ring_mask;
read_barrier();

...would inadvertently end up reading from the CQ head in v5.4 due to the switch from struct io_sq_ring to struct io_rings in the kernel. Same deal with the addition of the cq_flags member to struct io_rings - this program, targeting v5.7:
struct io_uring_params params;
int fd;
int cq_flags;
struct io_rings* base; // struct definition copied from linux/fs/io_uring.c

memset(&params, 0, sizeof(params));
fd = io_uring_setup(256, &params);
base = mmap(
	NULL,
	4096 * 3,
	PROT_READ | PROT_WRITE,
	MAP_SHARED | MAP_POPULATE,
	ring->fd,
	IORING_OFF_SQ_RING
);
cq_flags = sq_base->cq_flags;
read_barrier();

...would end up reading from cq_overflow in v5.8.
So my question is, what guarantees (if any) are there about the stability of struct io_rings defined in fs/io_uring.c, seeing as the struct is exposed to userspace memory?

Ah ok, I see what you mean. The API/ABI is such that you need to use the offsets given to you to map the rings. If you hardcode offsets, then you are at risk of things breaking between releases. I'm not aware of anything that has broken because of that, no reports ever sent in on that. liburing of course handles this for you, but even the raw interface variants that I've done myself (like the fio engine, or the t/io_uring in fio) never saw anything odd because they use the passed back offsets for mapping as they should.
That's how it has been exposed from day 1. Yes, we could randomize the layout, but don't really see much point to that, and if we did, it should still be within the sq and cq rings themselves only to avoid the carefully placed cacheline alignment being messed up and things running slower than they should.

Ah ok, I see what you mean. The API/ABI is such that you need to use the offsets given to you to map the rings. If you hardcode offsets, then you are at risk of things breaking between releases. I'm not aware of anything that has broken because of that, no reports ever sent in on that. liburing of course handles this for you, but even the raw interface variants that I've done myself (like the fio engine, or the t/io_uring in fio) never saw anything odd because they use the passed back offsets for mapping as they should.
That's how it has been exposed from day 1. Yes, we could randomize the layout, but don't really see much point to that, and if we did, it should still be within the sq and cq rings themselves only to avoid the carefully placed cacheline alignment being messed up and things running slower than they should.

Thanks for the answer. But I must add that even if no breakages have been reported thus far, there is still the potential for future reported breakages from developers who don't have the good fortune of coming across this thread. It is a sad fact of life that any implementation detail exposed to userspace is subject to being relied upon, and I anticipate this to be especially true in the case of io_uring, as Linux's latest and greatest general-purpose I/O multiplexer sees more widespread use. It might be prudent to proactively address this before it becomes a problem. So if you're not opposed to the idea of randomizing the ring layout, I could contribute a patch to do so.

The idea is to fail fast for people that don't obey the API. In a perfect world, everyone would use liburing, or at least be studious enough to re-implement it faithfully. Examples and documentation help, but they don't prevent people from straying from the spec. It's not particularly unlikely that someone trying to be clever would think "hmmm, these offsets don't ever seem to change", and hardcoding them to save a few bytes in some struct. But if you judge a randomization patch to be a fruitless effort, I can close the issue.

The idea is to fail fast for people that don't obey the API

Yeah I get that, but my point is that 1) I haven't seen anyone do that, and 2) it falls very thoroughly into the "doctor it hurts [...]" kind of issue in my opinion. Obviously if you use liburing, then all of this is moot, as it handles it all for you. If you use the raw interface AND you decide to hard code random offset values, then I kind of think you get what you deserve... That's misusing the API.

Fair points. In that case, I will close as the matter is resolved.


TestResponseProgress fails in Go v1.4.3

--- FAIL: TestResponseProgress (0.74s)
    response_test.go:31: Transfer should not have started
    response_test.go:35: Transfer should not have started yet but progress is 1

v1.4.x is no longer supported. This issue has not been replicated in any subsequent version.


CLI: Adding new service doesn't provision

$ docker run -v /Users/chase/.aws/pebbledev.credentials:/root/.aws/credentials flotilla service --region us-east-1 --name docker-registry --elb-scheme internet-facing --dns-name registry-flotilla.pebbledev.com --health-check 10 --instance-type t2.small --provision --instance-min 1 --instance-max 2
2016-01-12 08:24:24,520 - INFO - MainThread - Service docker-registry updated in: us-east-1
Tried to test roll out a service, after running init. Stacks table is empty, it is added to the services table but no service seems to get rolled out.

journalctl@scheduler says:
Jan 12 10:13:15 ip-192-168-1-71.ec2.internal docker[953]: 2016-01-12 10:13:15,710 - provisioner-us-east-1 - No regions defined, nothing to provision.
But that log entry was removed https://github.com/thepwagner/flotilla/commit/1dea3e50cd0fb87458187aed8419d81a623852ea ..
systemctl restart flotilla to pull the latest flotilla container:
Jan 12 10:16:38 ip-192-168-1-71.ec2.internal docker[7011]: 2016-01-12 10:16:38,641 - DEBUG - provisioner-us-east-1 - Stack flotilla-develop-vpc is CREATE_IN_PROGRESS
Jan 12 10:16:38 ip-192-168-1-71.ec2.internal docker[7011]: 2016-01-12 10:16:38,641 - DEBUG - provisioner-us-east-1 - Waiting on VPC in us-east-1 for: [u'docker-registry']

I should definitely improve SSH key handling so other people can login and grab logs (right now everything is backdoored for me only via cloud-config :/).
Now your problem is:
Jan 12 10:19:54 ip-192-168-1-71.ec2.internal docker[7011]: BotoServerError: BotoServerError: 400 Bad Request
Jan 12 10:19:54 ip-192-168-1-71.ec2.internal docker[7011]: {"Error":{"Code":"ValidationError","Message":"Parameter 'HealthCheckTarget' must match pattern (TCP|HTTP|HTTPS|SSL):(.*?)","Type":"Sender"},"RequestId":"05c47c05-b916-11e5-af95-831803dda72a"}

try:
docker run -v /Users/chase/.aws/pebbledev.credentials:/root/.aws/credentials flotilla service --region us-east-1 --name docker-registry --health-check HTTP:80/ to recover (TODO: input validation :) )


Fix: cue structure implemented

Fixes #6436
Implemented cue structure in the docs as per the issue.

@anoop2811 please take a look.

you can test and validate the result by vela dry-run

Hi @kartikaysaxena , could you please add how you tested these changes?


New declarations posts return 422 "0107189b:3: Cannot delete ephemeral object" when using fqdn addressdiscovery

Environment

Application Services Version: 3.16. 0
BIG-IP Version: BIG-IP <IP_ADDRESS> Build 0.0.1 Point Release 3

Summary
When I have a declaration that includes pool members that have addressDiscovery set to FQDN, only the initial POST succeeds. All additional attempts to update the declaration fail with the following exception:
  "results": [
       {
           "code": 422,
           "message": "declaration failed",
           "response": "0107189b:3: Cannot delete ephemeral object: /TEST/TestApp/test_pool_80: /TEST/example.com.",
           "host": "localhost",
           "tenant": "TEST",
           "runTime": 2582
       }
   ],

The object being updated doesn't even have to be within the scope of the pool member definition, I initially came across this when changing the redirect80 attribute to false in my Service_HTTPS object included in the same declaration.
I believe the error gets triggered because when AS3 is attempting to overwrite the current declaration  it tries to delete the current objects defined before replacing them with the new declaration version, when it gets to the pool members section I think AS3 dynamically generates a list of pool members that need to be removed based on what is currently defined in  the pool at execution time. In my AS3 declaration example I only define two FQDN nodes, however these nodes will generate an additional 2 ephemeral nodes that map to the IPs returned to be BigIP from our DNS servers. Both the FQDN and ephemeral nodes show up in the pool (4 total) even though I'm only defining two in my declaration. I believe these ephemeral nodes are immutable and changes can only be inherited from the FQDN node the ephemeral node is generated from. I believe AS3 is trying to delete both the FQDN and ephemeral nodes as opposed to just the FQDN nodes which is triggering the exception.
To get around this bug I have to use tmsh or the web UI to manually remove the pool members from my pool, then re-post the declaration. No changes are made to my AS3 declaration, just manually removing the members from the pool with the same declaration prevents AS3 from triggering this exception. Prior to manually removing the pool members this is how the pool is defined in the conf file (note that there are 4 pools instead of 2):
ltm pool /TEST/TestApp/test_pool_80 {
    members {
        /TEST/example.com:http {
            fqdn {
                autopopulate enabled
                name example.com
            }
            metadata {
                source {
                    value declaration
                }
            }
            state fqdn-up
        }
        /TEST/example2.com:http {
            fqdn {
                autopopulate enabled
                name example2.com
            }
            metadata {
                source {
                    value declaration
                }
            }
            state fqdn-up
        }
        _auto_<IP_ADDRESS>:http {
            address <IP_ADDRESS>
            ephemeral true
            session monitor-enabled
            state down
            fqdn {
                autopopulate enabled
                name example2.com
            }
        }
        _auto_<IP_ADDRESS>:http {
            address <IP_ADDRESS>
            ephemeral true
            session monitor-enabled
            state down
            fqdn {
                autopopulate enabled
                name example.com
            }
        }
    }
    min-active-members 1
    monitor min 1 of { http }
    partition TEST
}

Steps To Reproduce
Steps to reproduce the behavior:

Submit the following declaration:

{
    "class": "AS3",
    "action": "deploy",
    "persist": true,
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.0.0",
        "TEST": {
            "class": "Tenant",
            "TestApp": {
                "class": "Application",
                "template": "generic",
                "test_vs_80": {
					"class": "Service_HTTP",
                    "virtualAddresses": [
                        "<IP_ADDRESS>"
                    ],
                    "pool": "test_pool_80"
                },
                "test_pool_80": {
                    "class": "Pool",
                    "monitors": [
                        "http"
                    ],
                    "members": [
                        {
                        	"addressDiscovery": "fqdn",
                            "autoPopulate": true,
                            "servicePort": 80,
                            "hostname": "example.com"
                        },
                        {
                        	"addressDiscovery": "fqdn",
                            "autoPopulate": true,
                            "servicePort": 80,
                            "hostname": "example2.com"
                        }
                    ]
                }
            }
        }
    }
}

The initial request is successful, returns a 200 response and the VS + Pool are defined on the BigIP

Submit an additional  AS3 POST for this declaration, the POST doesn't even have to include changes in the declaration.

Observe the following error response:

        {
            "code": 422,
            "message": "declaration failed",
            "response": "0107189b:3: Cannot delete ephemeral object: /TEST/TestApp/test_pool_80: /TEST/example2.com.",
            "host": "localhost",
            "tenant": "TEST",
            "runTime": 1824
        }

Expected Behavior
I would expect that AS3 would be able to successfully know the order of operations in order to delete and re-define FQDN nodes on a BigIP system. Note that this bug doesn't just impact the ability to change fqdn definitions within a declaration, it prevents the ability to make any changes to a declaration at all if it includes an fqdn node.
Actual Behavior
BigIP returns a<PHONE_NUMBER>b:3: Cannot delete ephemeral object response because AS3 is attempting to delete an ephemeral node instead of just the 2 parent FQDN nodes. As a result the new declaration I'm posting doesn't get committed.

This looks like a duplicate of #204.

@dstokesf5 this definitely is a duplicate of that issue, sorry about that. From looking at that issues comments it looks like it's been triaged, is there any indication on when the fix will be released?

#204 will be fixed in 3.17.0, which should be released around the end of January.


[ZEPPELIN-6143] Add Interpreter Event Server Port configuration option

What is this PR for?
This PR introduces the ZEPPELIN_EVENT_SERVER_PORT configuration option.
When this option is set, the Event server that communicates with interpreters will listen on the specified port.
The ZEPPELIN_EVENT_SERVER_PORT option takes precedence over ZEPPELIN_SERVER_RPC_PORTRANGE option.
If ZEPPELIN_EVENT_SERVER_PORT is set, the ZEPPELIN_SERVER_RPC_PORTRANGE range will be ignored.
This option is particularly useful when running individual Zeppelin components in container orchestration environments like Kubernetes.
By explicitly specifying the port, it allows for a more declarative and clearer configuration of service resources compared to ZEPPELIN_SERVER_RPC_PORTRANGE.
What type of PR is it?
Improvement
Todos

[ ] - Task

What is the Jira issue?

Open an issue on Jira https://issues.apache.org/jira/browse/ZEPPELIN-6143

How should this be tested?

Run Zeppelin with and without this configuration and check zeppelin-server logs for the message "InterpreterEventServer is starting at ". Verify that the specified port is used as intended(If the option is set).

Questions:

Does the license files need to update? No
Is there breaking changes for older versions? No
Does this needs documentation? Yes

I understand your approach. Currently I use the ZEPPELIN_SERVER_RPC_PORTRANGE 12320:12320 in my K8s landscape to configure a K8s-Service cleanly.
Why did you decide on the name ZEPPELIN_EVENT_SERVER_PORT, wouldn't ZEPPELIN_SERVER_RPC_PORT be better?

@Reamer
I considered both ZEPPELIN_EVENT_SERVER_PORT and ZEPPELIN_SERVER_RPC_PORT. I chose the former because the term "SERVER" in the latter could be too general, making it unclear which server it refers to, and ZEPPELIN_SERVER_RPC_PORT may be easily confused with ZEPPELIN_SERVER_RPC_PORTRANGE due to the similarity in names.
However, aligning with previous variable names might improve predictability as well, which is why I didn't have a strong preference for the former option from the beginning. What do you think?

I favor ZEPPELIN_SERVER_RPC_PORT. Can you remove portRange as a class variable of RemoteInterpreterEventServer and perform the evaluation of the port or portrange in the start()-method.
Furthermore, I do not see any documentation for ZEPPELIN_SERVER_RPC_PORTRANGE you can also add it near the documentation for ZEPPELIN_SERVER_RPC_PORT .

@Reamer Thanks for the feedback. I've added some commits based on your suggestions:

Renamed the ZEPPELIN_EVENT_SERVER_PORT variable to ZEPPELIN_SERVER_RPC_PORT.
Removed portRange variable from RemoteInterpreterEventServer.
Added documentation for the ZEPPELIN_SERVER_RPC_PORTRANGE and ZEPPELIN_INTERPRETER_RPC_PORTRANGE variables.


Build error

Hello,
I had a build error on apollo-client-react-native
So I resolved it with the following link.
https://mobiledevtutorials.com/how-to-fix-error-while-trying-to-resolve-module-apollo-client-react-native/

Hi,
contact me as I have some questions
<EMAIL_ADDRESS>


[Feature Request - from Grayskull UXR] Provide tracy pre-built binaries

Is your feature request related to a problem? Please describe.
Struggling with tracy: I am using a remote machine with a tenstorrent card, I follow steps to compile for profiling but it’s a bit difficult, no pre-built binaries
Describe the solution you'd like
Provide pre-built binaries
(I can dig more with the user if needed)

Unfortunately, pre built binaries are not really a possibility with Tracy as it is literally embedding instructions through out your code for profiling.
Did they build with scripts/build_scripts/build_with_profiler_opt.sh?
It would be great if they can provide the issue they are facing.

Hi, I'm the user.
I compiled tracy from source on my local machine and followed the docs on the remote machine with the card:
cd $TT_METAL_HOME
scripts/build_scripts/build_with_profiler_opt.sh
TT_METAL_DEVICE_PROFILER=1 ./build/programming_examples/profiler/test_full_buffer

But on my local machine I get the error:
Connecting to <IP_ADDRESS>:8086...
Queue delay: 24 ns
Timer resolution: 5 ns
   2.19 Kbps /109.3% =   0.00 Mbps | Tx: 71.43 KB | 64.06 MB | 32.75 stracy-capture: /home/moritz/tracy/server/TracyWorker.cpp:4365: uint32_t tracy::Worker::GetSingleStringIdx(): Assertion `m_pendingSingleString.ptr != nullptr' failed.
Aborted (core dumped)

Tracy profiler until it crashes (click on it to make it sharp):

The error happens when tt_metal::detail::DumpDeviceProfileResults(device) is executed.
I had a quick chat with the creator of tracy and he told me "You are using a custom client library that does not properly follow the wire protocol. You must follow what Profiler::Dequeue() does in your code. Note that the protocol is a deliberately undocumented implementation detail, and will change in the future."
However, on the remote machine the csv of the profiler is created in the generated/profiler/.logs folder and I can use the cycle counts for profiling my project.
I'm at commit 80a330f of tt-metal and didn't want to pull new changes in the middle of my project, so maybe it's already fixed. I'll try it with the latest commit later. But no stress, it's not a showstopper :)

Oh and yes compiling tracy with wayland support from source didn't work on my local machine. So I told Antonio that pre-built binaries would be cool. But the legacy version of tracy with x11 compiled successfully and I guess, the creator of tracy would be responsible for pre-built binaries.

I've tried it with the latest tt-metal commit and get the same error with tracy-profiler:
tracy-profiler: /home/moritz/tracy/server/TracyWorker.cpp:4365: uint32_t tracy::Worker::GetSingleStringIdx(): Assertion `m_pendingSingleString.ptr != nullptr' failed.
Aborted (core dumped)```

For the GUI on your local machine, did you compile from our fork which is the submodule to the project, or from the official tracy repo? Our fork has slightly diverged from master on tracy but the goal is to merge back in.

I had compiled from the official tracy repo. Now I've compiled from  your fork and everything works perfectly. Thanks a lot!


Automated cherry pick of #5830: Update NetworkPolicy version to v1beta1 in documents

Cherry pick of #5830 on release-1.14.
#5830: Update NetworkPolicy version to v1beta1 in documents
For details on the cherry pick process, see the cherry pick requests page.

/skip-all


UserDataRepository breaks dependecy rules

Hi,
didn't UserDataRepository breaks dependency rules? Class is from data layer but implements userrepository interface which is from domain layer.
thanks
rohliq

No it is correct. The implementation of the interface resides in the data layer, so that is correct. Because of the inwards dependency rule, a use case from the domain layer can know a UserDataRepository exists through an interface, but can not know (or shouldn't even care) what the concrete implementation is of that UserDataRepository ( be it disk, memory or network ). So the domain defines that a UserDataRepository exists, but it cannot know of the data layer and its implementation.
The reason you think it breaks dependency is because of the flow of control. Look at the following diagram

And this is the accompanying quote by Uncle Bob about crossing those boundaries

At the lower right of the diagram is an example of how we cross the circle boundaries. It shows the Controllers and Presenters communicating with the Use Cases in the next layer. Note the flow of control. It begins in the controller, moves through the use case, and then winds up executing in the presenter. Note also the source code dependencies. Each one of them points inwards towards the use cases.

We usually resolve this apparent contradiction by using the Dependency Inversion Principle. In a language like Java, for example, we would arrange interfaces and inheritance relationships such that the source code dependencies oppose the flow of control at just the right points across the boundary.

For example, consider that the use case needs to call the presenter. However, this call must not be direct because that would violate The Dependency Rule: No name in an outer circle can be mentioned by an inner circle. So we have the use case call an interface (Shown here as Use Case Output Port) in the inner circle, and have the presenter in the outer circle implement it.

The same technique is used to cross all the boundaries in the architectures. We take advantage of dynamic polymorphism to create source code dependencies that oppose the flow of control so that we can conform to The Dependency Rule no matter what direction the flow of control is going in.

I hope this explains things for you.

@Trikke Kudos for such a great explanation!

@android10 happy to help here. You got me interested in proper architecture on android and i've been digging deeper ever since. Seems natural to help a bit with all the questions!

@Trikke good to hear! I really appreciate your help buddy.
Sometimes it gets hard to answer all the question and an extra couple of eyes/hands are super useful :)

thanks guys
2015-11-12 13:37 GMT+01:00 Fernando Cejas<EMAIL_ADDRESS>
@Trikke https://github.com/Trikke good to hear! I really appreciate
your help buddy.
Sometimes it gets hard to answer all the question and an extra couple of
eyes/hands are super useful :)
—
Reply to this email directly or view it on GitHub
https://github.com/android10/Android-CleanArchitecture/issues/65#issuecomment-156093332
.

UseCase output port Interface should be placed in the same UseCase layer, according to the diagram. But the question was about data layer output Interface (UserRepository) being placed in UseCase, which is domain layer.

No name in an outer circle can be mentioned by an inner circle.
But the name 'UserRepository' of outside circle (domain) is mentioned by data - the inner circle.
This is imo indeed a case of breaking dependency rule

@ildar2 data is not the inner circle. it does not solve your problem (only provides data), domain layer does and it is where your logic sits. There is no dependency rule break up. :smile:


Use the generic ci-helpers script

Using the generic script will allow us to put more generic stuff in there without code repetition, e.g. the checks for the custom tags and skipping the builds early.

Coverage remained the same at 26.377% when pulling 0d73f2658737b11afcb477e066e6e595f4afb8ae on bsipocz:ci-helpers_use_generic_script into 7898c208c5dbf192ed0ebaa22d9b5d70c8fb5fcb on spacetelescope:master.


Support JDK-23 (build time and runtime)

Description
Support JDK-23 (build time and runtime)
Related Issues
Part of https://github.com/opensearch-project/OpenSearch/issues/16255

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@reta Looks like you are iterating, LMK when you'd like a deeper look - fundamentally I approve!

@reta Looks like you are iterating, LMK when you'd like a deeper look - fundamentally I approve!

Thanks @peternied ! It indeed multistep effort, I think we should be in a good shape tomorrow, thank you!

@peternied all set! thank you!

The check is green but GA script is stuck:
parse error: Invalid numeric literal at line 4, column 14
parse error: Invalid numeric literal at line 1, column 10
parse error: Invalid numeric literal at line 4, column 14
parse error: Invalid numeric literal at line 4, column 14
parse error: Invalid numeric literal at line 4, column 14
parse error: Invalid numeric literal at line 4, column 14
Workflow running status :Attempt 1/10 failed. The jq processing failed with exit code: 4. Retrying...
Attempt 2/10 failed. The jq processing failed with exit code: 4. Retrying...
Attempt 3/10 failed. The jq processing failed with exit code: 4. Retrying...
Attempt 4/10 failed. The jq processing failed with exit code: 4. Retrying...
Attempt 5/10 failed. The jq processing failed with exit code: 4. Retrying...
Attempt 6/10 failed. The jq processing failed with exit code: 4. Retrying...
true
Complete the run, checking results now......
Use queue information to find build number in Jenkins if available
parse error: Invalid numeric literal at line 5, column 12
WORKFLOW_URL

https://build.ci.opensearch.org/job/gradle-check/49237/

Thanks for reviewing this @msfroh


Shadow added to bottom navbar

Issue Number
fixes #90

Describe the changes you've made
I have added the shadow to the bottom navbar . Now it looks quite good .
Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] The title of my pull request is a short description of the requested changes.

LGTM

Thanks @poojadas07

Thanks @poojadas07

Welcome @Abhishek-kumar09 . I am excitedly looking for new issues.


Add C# Source Generator

What's in this PR
This change aims to add a C# Source generator that automatically creates classes based on JSON schema. The idea is to make code generation more straightforward for generic scenarios. I've tried that approach on my project and it worked quite well. I thought it'd be good to make it a part of the library. This Source Generator has few configurable properties and can be extended in the future if needed.
Current approach
To generate C# classes you need to create a separate console project that will generate a .cs file and put it somewhere in your Solution. Then you need to manually run that console application to generate/regenerate the models. Here's example
New (additional) approach
Add the following elements in the .csproj file of your project where the generated .cs file will exist:
  <ItemGroup>
    <PackageReference Include="NJsonSchema.SourceGenerators.CSharp" />
  </ItemGroup>

  <ItemGroup>
    <AdditionalFiles
        Include="schema.json"
        NJsonSchema_GenerateOptionalPropertiesAsNullable="true"
        NJsonSchema_Namespace="NJsonSchema.Demo.Generated"
        NJsonSchema_TypeNameHint="PersonGenerated"
        NJsonSchema_FileName="Person.g.cs" />
  </ItemGroup>

After that Source Generator will automatically create a .cs file during compilation. No additional console project or manual job is needed.
Concerns
I have some questions/concerns regarding the implementation and have put them in the comments. We can start from this main one.
Also added some explanatory comments about why something was implemented that way. As tooling for the Source Generators is not the best for now and there is a lot of msbuild magic in the .csproj files.

You can check my implementation of Source Generator for NSwag to see how to support transient packages automatically https://github.com/HavenDV/H.NSwag.Generator

You can check my implementation of Source Generator for NSwag to see how to support transient packages automatically https://github.com/HavenDV/H.NSwag.Generator

Thank you @HavenDV. Amazing library 🙂 However, I have some issues with project references. I asked about them here: HavenDV/H.Generators.Extensions#15


Paper DB Encryption

Is there a way I can store objects in encrypted form in paper DB ?
Is paperdb use some sort of encryption internally?

Hi, no, the encryptions is not a part of Paper DB.


can't find class UsbDeviceListener

Is I missing the dependency jar package?

Class is located here. It should be in the same jar.
https://github.com/fintrace/tspl2-driver/blob/master/src/main/java/org/fintrace/core/drivers/tspl/connection/USBConnectionClient.java

Just to understand, are you using the latest version ?
Can you tell me the version that you are trying to use ?

well...I just copy all the tspl-package code into my new project. Beacause I can't sync your sample by Android Studio 3.4.2.
I don't know how to use these under codes in my build.gradle:

org.fintrace.core.drivers
tspl2-driver
0.0.11


[WFLY-17816]: Upgrade artemis-wildfly-integration to 2.0.0.Final.

Nothing new, just upgrading to final version.

Jira: https://issues.redhat.com/browse/WFLY-17816

Thanks @ehsavoie and @pferraro


Website says latest is for Snow Leopard

Per http://www.controlplaneapp.com I see:

i.e. under DOWNLOADS
Latest version for Snow Leopard:
ControlPlane 1.2.3
Can I assume that it's much more modern than this?

The website also says the latest version for Lion+ is 1.6.1.

Oh, I now see. Well, that + is tiny.
Perhaps list the Lion+ version first?
Thanks,
Martin.


docs(i18n): Add Indonesian translation for site search documentation

Description
What does this PR change? Give us a brief description.
Translate site-search.md docs into Indonesian.

Hello! Thank you for opening your first PR to Starlight! ✨
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any issues you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Vercel 🤩

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.


Support creating variables with tuple states

create_variables was not supporting tuple shaped variables and raises error when tuple shaped variables are requested.
This PR fixes this issue and properly supports tuple shaped variables in create_variables.

LGTM


Minor patches to import_swagger script

this is easiest to review by viewing the individual commits.
Most changes are very small, apart from 6, "refactor to test", which rewrites some functions as methods to support configurable warning messages.

import_swagger - use argparse to parse args
import_swagger - support object with no properties
import_swagger - process array schema with example
import_swagger - warn when ignoring bad inputs
import_swagger - minor refactor
import_swagger - refactor to test
import_swagger - backfill some unit tests

Changes 1, 4, 5, 6, 7 are not changes to do with how the translation from swagger to sysl works.
Changes 2 and 3 are small changes to the translation that make it accept a slightly wider class of input swagger documents.


Skybell don't show up in apple's home app.

I followed all the steps and the homebridge run without errors.
[2018-8-12 12:47:07] [SkyBell] Initializing SkyBell platform...
[2018-8-12 12:47:07] [SkyBell] new SkyBellPlatform
[2018-8-12 12:47:08] [SkyBell] finishedLaunching
But when I click on + and no code and scan. The skybell doesn't show up?

Thanks for your help! After that I forced the port number. Seems to be not so optional at all the camera is added to app.
Now I only need to fix the FFmpeg error.
[2018-8-12 13:44:41] [SkyBell] FFmpeg 'Front Door #1 (Playback)': Unexpected exit: 1

Again, I recommend running HomeBridge in debug mode to see why FFmpeg is failing. Also, have a look at issue #4.

Problem solved after a recomple the FFmpeg. Thanks for your support.


Improved Dockerfile.gocd-agent

There is no need to use init scripts to start the agent service within a docker
container. This new image just runs the go agent directly. This solves a problem where the container didn't respond properly to signals like SIGINT/SIGTERM.
This image is based off of the official Java 7 headless JRE, which helps limit
image size. It's now 339MB vs 433MB.
This PR can also help fix #11

Consequently these kinds of fixes can be applied to the other images. I just wanted to run this PR by you all.

It appears that moving the host into the Dockerfile has made this not work when used with Compose.
This used to work...
server:
  image: gocd/gocd-server
  ports:
    - "8153:8153"
agent:
  image: gocd-agent
  links:
    - server:go-server

After applying your changes the agent wants to connect to localhost:8153 (or whatever I put in the Dockerfile of course) and not what's provided by Compose.
Any suggestions?

Ah yes, the GO_SERVER var should default to go-server. I'll fix

That does make mine work, but I'm still not sure hard coding it is the "right thing".
Interested in other opinions (that we're not likely to get on a holiday weekend)

The ENV directive sets the default value for the environment variable and it can be overridden at runtime with "docker run -e GO_SERVER=foo". Since the docs state that that default will be used I think this is a good solution.

Any other thoughts? Is this good to merge?

@arvindsv maintains this the most and he's out of the office this week. He'll be back early next week. Sorry for the delay!

What's the best way to add to the agent's PATH environment?  I haven't been able to follow the logic from the /sbin/my_init to determine how I can change it

@dkastner I take it you disagree with http://phusion.github.io/baseimage-docker/ and why you should use an init system in your Docker container? Would you care to explain why?
Would also care to explain why your builds, run by gocd-agent, should require root privileges?

@dmg3 if you really need to override PATH, you can do it at runtime with docker run -e PATH=/usr/bin:/my/new/path or you can modify it in a custom Dockerfile/image build:
FROM gocd/gocd-agent

ENV PATH=/usr/bin:/my/new/path

@FredrikWendt
re Phusion's philosophy:
Phusion came up with its baseimage while docker was still in its early stages and they were operating under the sort of assumptions you make when you have a "snowflake" server that needs to have maximal uptime. I'll address each of their reasons for their baseimage:
chron
We don't need chron. If we did, it'd be better to build a specialized image that installs chron and is only in charge of running chron, not your app and a bunch of other processes in addition to chron.
syslog
AFAIK We don't need it.
ssh
Needing to ssh into a container is an antipattern. The recommended practice is to not auto-rm containers when they die, allowing you to inspect them with docker exec and docker cp to investigate crashes.
runit/daemon monitoring
This isn't needed with docker's --restart flag and/or platforms like ECS or Kubernetes.
zombie processes
This shouldn't be a problem if the agent properly waits for the command processes it executes.
re: root privileges.
It's not that anything should require root privileges, it's just that with docker everything can run as root because it's all secured within LXC's user namespace. In other words, the root user here is "jailed" and unable to affect the host OS. If there is a security vulnerability in the agent itself, the container will be compromised, but the effects will be limited.
For any of these concerns, we don't need to make gocd-agent responsible. Users can build custom images using this barebones image which is much smaller than the phusion baseimage.

@dkastner Thanks!  That's the piece I was missing!
On Sun, Oct 18, 2015 at 9:04 AM, Derek Kastner<EMAIL_ADDRESS>wrote:

@dmg3 https://github.com/dmg3 if you really need to override PATH, you
can do it at runtime with docker run -e PATH=/usr/bin:/my/new/path or you
can modify it in a custom Dockerfile/image build:
FROM gocd/gocd-agent
ENV PATH=/usr/bin:/my/new/path
—
Reply to this email directly or view it on GitHub
https://github.com/gocd/gocd-docker/pull/13#issuecomment-149019293.

I think @dkastner approach is very good. I also believe other images (server, dev, build-installer) should also favor using debian or java official image, instead of phusion/baseimage.
Please also see jpetazzo's article on why thin images are better: https://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil/

This change is very useful, using it for my purposes.

I just notice one problem with this image: zombie process and reaping, more here:
http://blog.phusion.nl/2015/01/20/docker-and-the-pid-1-zombie-reaping-problem/
I noticed that folks from Jenkins, solved that using a tool called tini, the discussion is here: https://github.com/jenkinsci/docker/issues/54#issuecomment-73847173
I am working on solving this, still WIP here https://github.com/labianchin/gocd-docker/blob/no-daemon2/gocd-agent/Dockerfile. When it is done, I will create a PR.
Other thing that would be nice is to check the SHA1 sum from the downloaded deb package.

As far as I understand, the only reason a process could become a zombie is if:

Someone manually sends a kill -9 to a process that Go is running that happens to have subprocesses
Go sends a SIGKILL to the task it is running
The OOM killer times out when trying to SIGTERM a process and sends it SIGKILL

Are there any other instances?
The first source of zombies seems like a "user error" problem - in that if you go around kill -9ing things, I'm inclined to say you have no business expecting the system to clean up after you.
I believe the second case could be solved by Go itself.
The tini solution seems to be a good short-term fix, but the PR_SET_CHILD_SUBREAPER setting it supports could theoretically be handled by Go itself (and would be a great addition on any platform), although I'm not familiar with java enough to know if it can support those kernel features.

Great idea - This is almost exactly like the my version. Which I created for the exact same reasons @dkastner [mentions] (https://github.com/gocd/gocd-docker/pull/13#issuecomment-149023540). I just used the gocd zip file download instead of the installer to have all the files conveniently in one place and more control over other stuff like the java version. I also dockerized the server in the same manner.
I'd suggest adding agent.auto.register.hostname ($AGENT_HOSTNAME) to the autoregister.properties file (available since v15.2) in go-agent-start.sh in the same manner as $AGENT_RESOURCES and $AGENT_ENVIRONMENTS. In my version I actauly add $AGENT_HOSTNAME-$(hostname) so I also have the real hostname of the (docker)machine so it can easily be traced.
You might also wish to make some compatibility with running from zip install.  The only two things that need to be considered (in go-agent-start.sh) are:
a. $AGENT_CONFIG_DIR  (in my version if it doesn't exist then I set it to the current working dir/config (and create the directory).
b. location of  (i execute from current dir - exec ./agent.sh)
btw - prior to version 15.3.0, the agent.sh script starts the agent with eval "$CMD" (not exec) - so it does not become the root process nor receive signals.

I'm trying to incorporate some of the changes in this PR into #27. Feedback welcome.

Hi @arvindsv. Also take a look on @tanob images tanob/gocd-docker. He is using it for a couple of months already in his project.

Thanks, @labianchin. I will.

Closing in favour of https://github.com/gocd/gocd-docker/pull/43


UHD Movies not working

Source information
UHD Movies
Source language
English
Steps to reproduce
At first uhd movies was not loading in the app, then i changed the DEFAULT USER AGENT STRING Now it loads in the app but when i click on any episode it says No working links found
Expected behavior
Should've played the episode
Actual behavior
Said no working links found ###
Aniyomi version
r6691
Android version
12
Other details
Please fix it uhd movies is the best extension on aniyomi
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version <IP_ADDRESS>.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Source information
UHD Movies
Source language
English
Steps to reproduce
At first uhd movies was not loading in the app, then i changed the DEFAULT USER AGENT STRING Now it loads in the app but when i click on any episode it says No working links found
Expected behavior
Should've played the episode
Actual behavior
Said no working links found ###
Aniyomi version
r6691
Android version
12
Other details
Please fix it uhd movies is the best extension on aniyomi
Acknowledgements

[x]  I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[x]  I have written a short but informative title.
[x]  I have updated the app to version <IP_ADDRESS>.
[x]  I have updated all installed extensions.
[x]  I have tried the troubleshooting guide.
[x]  If this is an issue with the app itself, I should be opening an issue in the app repository.
[x]  I will fill out all of the requested information in this form.

Which agent did you used please tell??

@HarshRagnarok which agent you used please tell

Same problem for me as well

What User agent are you using if I may ask?

This is my user agent 👇
Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 Mobile Safari/537.36

"cloudflare interceptor needs to be added in extension but doesn't gurantees bypass" is it something you can do this by coding??

@HarshRagnarok @REFLEXGAMING007 the extension work for you guys???

@Samfun75

@aadio7 do not ping contributors, they will come see to it when they feel like it.

@aadio7 do not ping contributors, they will come see to it when they feel like it.

Okaay broo

As I just said, don't ping contributors. That includes me.

Thanks a lot it's working now ❤


translation: Stop using msgconv

It caused differences from Unix-like systems.
Make sure that the same files are generated both on Windows and Unix.
Closes #14490
Closes #14601

Takata-san, yes, let's remove "msgconv" from the makefile.
But that won't fix the problem completely, unfortunately.

Oh, you've already fixed the problem with "copy /a".  Thank you!

A question from someone who doesn't work with the translation files. A big part of this change modifies src/po/ru.cp1251.po.
With this PR, the use of msgstr is changed to no longer uses some kind line continuation/concatenation. Is that because the change from msgconv to iconv disallows it? And/or is using this line continuation a related problem?
(or maybe src/po/ru.cp1251.po is a generated file that gets checked in? (I saw mention of something like that somewhere))

Can #14601 be closed if this is merged?

When converted via "msgconv", it changes the formatting of both "msgid" and "msgstr".

Can #14601 be closed if this is merged?

Hopefully yes, the problem will be solved.

@errael ru.cp1251.po is a generated file. msgconv may or may not change the line continuation depending on the environment.
OTOH, iconv always generates the same result.

I also included the fix for this comment: https://github.com/vim/vim/issues/14490#issuecomment-2282210838
And, I found that there were still more outdated converted files. I also updated them.

I also included the fix for this comment: #14490 (comment)

Ah, #15471 has been already created. I removed it from this PR.

@k-takata
Sorry, Takata-san, just wanted to clarify. What do you mean by "depends on the environment"? Are you referring to the libraries used, specifically "libunistring"? Or something else? I just don't understand that phrase very well in English.
In all systems and versions I checked, "msgconv" changed the line continuation for some strings. Unless, of course, the --no-wrap switch was specified and the default line width value of 79 was used.

thanks!

@RestorerZ
I had a misunderstanding. Yes, you are correct. msgconv converts the file in the same way.
The issue was that iconv and msgconv generated different output.

Thank you, Takata-san, for the clarification.


Change includeexpr for shell?

An example shell script:
pip install -ihttps://mirrors.bfsu.edu.cn/pypi/web/simple -rrequirements.txt

-rrequirements.txt is a short form for -r requirements.txt. So how about setlocal includeexpr=substitute(v:fname,'^-.','','g') for all shell filetype (sh/bash/zsh/etc)?

this should be discussed with the respective runtime file maintainers for (sh/bash/zsh)

Maintainers of different shells may make different decisions, and csh, POSIX sh, bash, zsh, PowerShell, and fish are not the same shells and the syntax highlight implementations are quite different because the syntaxes are quite different.
For example for zsh, it seems to me that using the include and includeexpr for zsh modules makes much more sense than flags, so I'm not sure I'd be in favour of including that there. But bash and sh don't have this feature, so maybe it makes more sense there? Although source / . seems to make more sense than flags to me. Don't know about fish and PowerShell.

Maintainers of different shells may make different decisions

I see. Maybe let them do these decision by themselves is the best method.


Please include the SDK of x-plane

Please include the SDK, the source code downloaded after the compilation has been tried many times, have ended in failure.

All the plug-in files have been compiled successfully, but the plug-in still cannot be loaded on x-plane11. Please refine your example, it will be very helpful to me, thank you!

I'm not certain I've understood what you're asking, but an attempt to answer:

I cannot include the .NET Core SDK or runtime with the download, it's not mine to redistribute.  I would like to put something together that would make it easier to get the SDK installed in the right place for a plugin, and I'm open to ideas of how to do that.

The example is working correctly for me and others.  If you'll post your X-Plane log file from an attempt to open X-Plane with the plugin installed, we can help you diagnose whatever you're running across.

In fact, my requirement is very simple, let me load XpNet plug-in successfully on x-plane, can output the display text on the world screen, can receive and execute the commands passed by the client.
But at the moment, I can't load the XpNet plugin, so I can't do anything about it.


Add ability to publish stream from client side

is it possible to publish a stream directly from the client side for example we can capture the tab stream and send it to the server using peer to peer (webrtc) ? is it possible to implement this or it's already exist ?

#102


Cannot exclude folders or files from assets V17.2

Which @angular/* package(s) are the source of the bug?
compiler-cli, compiler
Is this a regression?
Yes
Description
Hello everyone! I am writing because I have the following problem when compiling my project with ng build, I cannot exclude folders or files from assets.
I have a folder "scss" that contains the style.scss and other .scss files but when compiling the project it leaves the scss files in the "assets" folder of the project for production.
I tried to modify the angular.json file but without success, has anyone else gone through the same thing? is it that you can not put such files in assets? I do it as a way to organize my code but maybe I'm making a mistake.
I am using angular 17.2.
I leave my angular.json file
{
  "$schema"<EMAIL_ADDRESS>  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "buffetQR": {
      "projectType": "application",
      "schematics": {
        "@schematics/angular:component": {
          "style": "scss",
          "standalone": false
        },
        "@schematics/angular:directive": {
          "standalone": false
        },
        "@schematics/angular:pipe": {
          "standalone": false
        }
      },
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:application",
          "options": {
            "outputPath": "dist/buffet-qr",
            "index": "src/index.html",
            "browser": "src/main.ts",
            "polyfills": [
              "zone.js"
            ],
            "tsConfig": "tsconfig.app.json",
            "inlineStyleLanguage": "scss",
            "assets": [
              "src/favicon.ico",
              "src/assets",
              {
                "glob": "**/*",
                "input": "src/assets",
                "output": "/assets/"
              },
              {
                "glob": "**/*",
                "input": "src/assets",
                "output": "/assets/",
                "ignore": ["**/scss/**"]
              }
            ],
            "styles": [
              "src/assets/scss/styles.scss"
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "5mb",
                  "maximumError": "5mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "5mb",
                  "maximumError": "5mb"
                }
              ],
              "outputHashing": "all"
            },
            "development": {
              "optimization": false,
              "extractLicenses": false,
              "sourceMap": true,
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.development.ts"
                }
              ]
            }
          },
          "defaultConfiguration": "production"
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "configurations": {
            "production": {
              "buildTarget": "buffetQR:build:production"
            },
            "development": {
              "buildTarget": "buffetQR:build:development"
            }
          },
          "defaultConfiguration": "development"
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "buildTarget": "buffetQR:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "polyfills": [
              "zone.js",
              "zone.js/testing"
            ],
            "tsConfig": "tsconfig.spec.json",
            "inlineStyleLanguage": "scss",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/assets/scss/styles.scss"
            ],
            "scripts": []
          }
        }
      }
    }
  }
}

Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
I have no error in console, it simply does not exclude the folder.

Please provide the environment you discovered this bug in (run ng version)
Angular 17.2
NodeJS: 18.13.0

Anything else?
No response

This is due to misconfiguration as you have multiple entries to copy the entire assets directory whilst an entry to copy the assets directory but ignore the scss directory.
"assets": [
  "src/favicon.ico",
- "src/assets",
- {
-   "glob": "**/*",
-   "input": "src/assets",
-   "output": "/assets/"
- },
  {
    "glob": "**/*",
    "input": "src/assets",
    "output": "/assets/",
    "ignore": ["**/scss/**"]
  }
],

I understand, thank you for your explanation


BLE not appearing on IOS app version

Hi
I have followed all the steps shown in setting the plugin for IOS, but when I start my IOS app version there is no BLE request or check my apps "Access List" I do not see the Bluetooth there.
It works well on Andriod.
What could i be doing wrong?

Hi,
I need your help a bit,
I am using this plugin with android, you said it is working fine for you on android,
In my case I am able to make a successful connection with BLE device but the connection status is not updating in BLE device i.e the status should update from 'not connected' to 'connected', which is not happening.
This is the link to my issue https://github.com/capacitor-community/bluetooth-le/issues/141
please let me know what is the case with you,
also if you can share me that code part.
Thank you,

Hi  your link has nothing on it, can you please create a new post with your issue

Hi your link has nothing on it, can you please create a new post with your issue

Hai, I have mentioned my issue in the above comment itself,
also you can reach my issue with this url
https://github.com/capacitor-community/bluetooth-le/issues/142
you may need to copy paste it in url bar.

I am using Angular and not React, so i might not be the right person for this?
Has anyone got it working on Ios?
I am using capacitor 2.4.7, with  plugin version 0.6.0.
It seems that it can not preform the initial scan successfully.

I have updated my capacitor to version 3 and am i am using the latest version of the plugin.
Andriod works fine, but when i do a scan in IOS it fails to find the device and times out after my preset duration.
This is my code:
`  async  connect_to_BLE_Device(){
    this.ssid_array=[];
    this.message_display="1";
     console.log("Starting BLE TEST");

    try {
        await BleClient.initialize();
        this.message_display="2";
        console.log('BLE INT');
        await BleClient.requestLEScan(
        {
         name:"3400-DEMO",
         allowDuplicates:false,
        },
        result => {
          console.log('received new scan result', result);
          this.message_display="5";
          this.Azure.ble_device_id = result.device.deviceId;
          this.connect_to_deviceid()
        },
      );
       setTimeout(async () => {
         await BleClient.stopLEScan();
         this.message_display="3";
         console.log('stopped scanning')
         this.connect_to_deviceid();

       }, 15000);
    } catch (error) {
      console.error(error);
      console.error("async connect_to_BLE_Device()");
      this.message_display="4->"+error;

    }
  }
`

Any idea, what could be wrong?

Have you tried without the name filter? Can you find the device when you scan with another app on the same phone?


Confusing error message for non-HTTP errors

Problem
When the probing encounters non-HTTP errors such as ECONNRESET, the message still says HTTP Status code.

fixed by #405


Area support for tesseract

This allows one to specify the page(s) and coordinates of the area to be extracted.

Found a little mistake, ready for review now


Every async'ly executing method must return a Future-like object

This could prevent errors like https://github.com/VirtusLab/git-machete-intellij-plugin/pull/619/files (and possibly more serious ones) from ever happening (since the programmer would instantly see which method executes some stuff in the background).

Instead of directly invoking com.intellij.openapi.progress.Task#queue we should use some abstraction that would return a handle to the async computation (most likely, some kind of Future/Promise - TBD what's currently the best choice for us, possibly just Vavr Future since we use Vavr already + it has a familiar Scala-like API).

Let's first try rewriting a single Task.Backgroundable to Futures as a PoC to make sure it really makes sense first!
I still take into account the possible outcome of sorry, we need to leave stuff as is ☹

I tried to rewrite single Task.Backgroundable and I ran into a few problems that are hard for me to jump to currently e.g. somehow override onSucess/onThrowable from single Task.Backgroundable (means that default onSuccess should be in single Task.Backgroundable and from time to time override it in specific situation), custom annotations on callbacks e.g. @UIEffect, wrap queue() method to something different because queue() return void (only wrapping is not a big deal but propagating exceptions from run() method into this wrapped one will be probably a problem).

Closing, won't fix


feat: js command

Initial work on the JS cli command which includes:

deploy
call
remove

Getting this one out for now to see if we want to move in this kind of direction before going on to adding more subcommands

@ChaoticTempest Looks cool. Let's fix the bug and merge.

@ChaoticTempest Looks like the deploy_js_contract ignore the initFunction. As we don't have the support to batch deploy and call init function in the same transaction, there're two choices here:

Drop initFunction option, let user call a near js call contract init ... right after the deploy
Keep initFunction, in deploy cmd, do deploy and call as two transactions

@ailisp I don't think either of those options would guarantee us the safety of a batch transaction though unless point 2 is talking about that. JSVM should be able to schedule a promise that would allow us to do this deploy with the initFunction. But I get that it could take a while to implement and since our aim is June to release, we likely won't make it in time. I'll remove the init* related args and we can add it back in later

It looks very solid and all good on my side! But I'm not often in maintaining near-cli, so let @volovyk-s double check it fits near-cli well.

@ChaoticTempest we have working tests in master now. I will add them here.

Nice work @ChaoticTempest ! Merging now. Let's add some docs and examples from your doc to the  README in the next PR.


Create MOOSE & Moltres developer environment on Theta

The new Theta machine has no instance of the MOOSE (framework), Moltres (app), or submodules (e.g. Squirrel) necessary to run Moltres simulations. These will need to be created in the group (/projects/arfc-moltres) shared directory. This may include creation of files like a .moose_profile file in the group directory that will allow users to more easily access and use the moose compilers.
How can this issue be closed?
This issue can be closed by following the instructions at the moose framework site and customizing those instructions for the compilers and modules (e.g. python) on Theta details here so that the moose compilers are built and all repos are updated in the arfc-moltres shared space for use by all arfc-moltres members logging into Theta.

@smpark7 what do you think about this one?

We have a shared instance of MOOSE/Moltres/Squirrel available in /eagle/projects/arfc-msr-ahtr/projects/ on Theta along with a Theta-specific moose-env file which users can source before using/updating Moltres. So we can close this issue unless you have additional related concerns.


Fix support for IPyWidgets in Interactive Window

For #4203

Codecov Report

Merging #4208 (965f6bb) into main (26942ae) will increase coverage by 73%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           main   #4208      +/-   ##
=======================================
+ Coverage      0     73%     +73%
=======================================
  Files         0     384     +384
  Lines         0   25141   +25141
  Branches      0    3595    +3595
=======================================
+ Hits          0   18504   +18504
- Misses        0    5220    +5220
- Partials      0    1417    +1417

Impacted Files
Coverage Δ

src/client/common/installer/productInstaller.ts
56% <0%> (ø)

src/client/common/application/notebook.ts
86% <0%> (ø)

...ent/datascience/interactive-common/linkProvider.ts
34% <0%> (ø)

...datascience/interactive-common/showPlotListener.ts
71% <0%> (ø)

src/client/common/process/constants.ts
100% <0%> (ø)

src/client/extensionActivation.ts
92% <0%> (ø)

src/client/datascience/kernel-launcher/types.ts
61% <0%> (ø)

src/client/datascience/notebook/helpers/helpers.ts
34% <0%> (ø)

src/client/datascience/export/exportToPython.ts
37% <0%> (ø)

...datascience/notebookStorage/nativeEditorStorage.ts
81% <0%> (ø)

... and 374 more

For convenience, I opened #4273 addressing these comments.


add more post dm param

Codecov Report

Merging #68 (76bf6c0) into main (665e42e) will increase coverage by 1.26%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #68      +/-   ##
==========================================
+ Coverage   24.87%   26.14%   +1.26%
==========================================
  Files         239      239
  Lines        5812     5874      +62
==========================================
+ Hits         1446     1536      +90
+ Misses       4366     4338      -28

Impacted Files
Coverage Δ

...tMessage/Requests/PostDirectMessageRequestV1.swift
100.00% <100.00%> (+100.00%)
:arrow_up:

Sources/TwitterAPIKit/APIv1/TwitterLocations.swift
21.05% <100.00%> (+21.05%)
:arrow_up:

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 665e42e...76bf6c0. Read the comment docs.


Trying to use SWIG_NAPI_Callback for std::function<void(std::shared_ptr<BlamOSRPC::RpcDevice>)>

Hello again!
I am trying to use swig_napi_callback.i in my private project. I bumped into couple of issues:

missing const next to std::vector<napi_value> &js_args that triggers candidate template ignored: could not match:
https://github.com/mmomtchev/swig-napi-example-project/blob/614fcbcebe6821659048ae06c9899b2c70f16d1e/src/swig_napi_callback.i#L29

when RET is void then:

error: variable has incomplete type 'void'
RET c_ret;

c_ret is re-used as a std::string storage:

c_ret = e.what();
c_ret = info[0].ToString();
throw std::runtime_error{c_ret}

$typemap(out, std::shared_ptr<BlamOSRPC::RpcDevice>, 1=device, result=js_args.at(0), argnum=callback argument 1); doesn't work with SWIG_NAPI_SetFinalizer, I had to convert napi_value to Napi::Value using Napi::Value(env, js_args.at(0)):

rpcJAVASCRIPT_wrap.cxx:17128:15: error: no matching function for call to 'SWIG_NAPI_SetFinalizer'
              SWIG_NAPI_SetFinalizer(env, js_args.at(0), finalizer);
              ^~~~~~~~~~~~~~~~~~~~~~
rpcJAVASCRIPT_wrap.cxx:661:17: note: candidate function not viable: cannot convert argument of incomplete type 'value_type' (aka 'napi_value__ *') to 'Napi::Value' for 2nd argument
SWIGRUNTIME int SWIG_NAPI_SetFinalizer(Napi::Env env, Napi::Value val, SWIG_NAPI_Finalizer *finalizer);

The last issue with SWIG_NAPI_SetFinalizer I sorted out by inlining the typemap and changing the 2nd argument from js_args.at(0) to Napi::Value(env, js_args.at(0)):
#define ASYNC_CALLBACK_SUPPORT
%{
#define ASYNC_CALLBACK_SUPPORT
%}

%include "swig_napi_callback.i"

%typemap(in, fragment="SWIG_NAPI_Callback") std::function<void(std::shared_ptr<BlamOSRPC::RpcDevice>)> {
	if (! $input.IsFunction()) {
		%argument_fail(SWIG_TypeError, $type, $symname, $argnum);
	}

	$1 = SWIG_NAPI_Callback<void, std::shared_ptr<BlamOSRPC::RpcDevice>>(
		$input,
		std::function<void(Napi::Env, std::vector<napi_value>&, std::shared_ptr<BlamOSRPC::RpcDevice>)>(
			[](Napi::Env env, std::vector<napi_value>& js_args, std::shared_ptr<BlamOSRPC::RpcDevice> device) -> void {
				/* $typemap(out, std::shared_ptr<BlamOSRPC::RpcDevice>, 1=device, result=js_args.at(0), argnum=callback argument 1); */
				{
					js_args.at(0) = SWIG_NewPointerObj(const_cast<BlamOSRPC::RpcDevice*>((&device)->get()), SWIGTYPE_p_BlamOSRPC__RpcDevice, SWIG_POINTER_OWN | 0);
					auto* owner = new std::shared_ptr<BlamOSRPC::RpcDevice>(*&device);
					auto* finalizer = new SWIG_NAPI_Finalizer([owner](){ delete owner; });
					SWIG_NAPI_SetFinalizer(env, Napi::Value(env, js_args.at(0)), finalizer);
				}
			}
		),
		[](Napi::Env env, Napi::Value js_ret) -> void {}
	);
}

%typemap(ts) BlamOSRPC::WhenRpcDeviceArrives::DeviceArrivalCallback "(device: RpcDevice) => Promise<void> | void";

TBH rather than using ASYNC_CALLBACK_SUPPORT flag, I would prefer to pick the SWIG_NAPI_Callback variant myself according to the needs. What do you think about adding SWIG_NAPI_Callback_Async variant dedicated for async callbacks?

Thank you for your feedback, I still haven't included this in an official SWIG JSE release because I suspected there were more cases. I wonder if there is a more elegant solution than explicitly constructing a Napi::Value for SWIG_NAPI_SetFinalizer. I will take your additions and will transform this into an official SWIG JSE feature.
Napi::Value can be constructed from napi_value - but this is a C++ object construction, while Napi::Value can simply be cast to napi_value by a built-in operator - and this requires only retrieving an existing pointer. On the other hand, I prefer to avoid excessive mixing of C Node-API and C++ node-addon-api.
This is why, very often, in node-addon-api, they specify the arguments to be the C napi_value instead of a C++ Node::Value. However the operator does not work with std::vector.
Going fully C Node-API is something I considered early in the development - as this would generate faster to compile code and it allow the C support in SWIG to work - but I would have lost C++ inheritance which is not trivial to implement from scratch.

If your template can accept std::vector<Napi::Value> instead of std::vector<napi_value>, then the $typemap() should work. It's just a matter of conversion where needed, like: std::vector<napi_value>(js_args.begin(), js_args.end()), correct?

Yes, but the conversion will still be required somewhere at some point - because Node.js expects std::vector<napi_value>.

https://github.com/nodejs/node-addon-api/blob/main/doc/function.md
Function::Call method


👓  Allow invalid HTML.

Closes: https://github.com/TryGhost/Ghost/issues/8165
Previously Ghost would throw an error if invalid or unbalanced HTML was saved in an HTML card.
This PR adds a step in the middle that parses the HTML as written in the HTML through JSDOM before being re-serialised and parsed through simpledom as required by the mobiledoc-dom renderer.

Is there a performance impact? Is there a future plan to reduce the duplication here?

I haven't benchmarked it but there is likely a performance impact.
The options are:

(as discussed) use the HTML renderer and maintain it as the mobiledoc format evolves.
Submit a PR to the dom renderer to support JSDOM. Right now the mobiledoc dom renderer uses simple dom but it's far to limited for our usecases.

Is there an issue raised against the dom renderer?
I think it is worth, as a bare minimum, including some debug statements so that we can see how long this code takes to execute?

No, I talked to the author about it and he was surprised at the limitation of simpledom - the impression I got was if we need it fixed then fix it.
I'll do some benchmarking first thing in the morning.

Closing this for now, similar code was merged in #8320 and we're not using the HTML card for the time-being.


Try cpu_relax while yielding to keep domain running

The theory is that this might help reduce contention and improve performance.

This didn't have any effect.
I suspect the reason why the sample mutex is slower than the Stdlib mutex in case of contention is mainly due to the sample mutex being fair and causing lock convoy.  The Stdlib mutex uses pthreads, which in turn uses futexes and the mutex implementation is not entirely fair, which can improve performance under contention.  This needs more analysis, however.


Allow only editable collections in the collection list. fixes #109

Overriding to find only collections with edit access.  Sufia currently finds any collections (read, or edit access).
Doing this here for the moment to facilitate the release.  Need to have a community discussion to see if this is need/wanted in sufia.  I can not see why a a user might select a collection they do not have edit access to, but there may be a change in sufia I am unaware of.

:+1:


Add SF Symbols 4 Unicode values to double-width table (macOS)

With the release of macOS 13 Ventura, Apple has also released SF Symbols 4 which contains new symbols to be used by apps. Just as before, these symbols also have corresponding Unicode values by using the Supplmentary Private Use Area-B range. Add the new symbols' Unicode values to the double-width ranges so Vim will show them properly. (In reality some of the symbols like the ones for cars like 'suv.side' / U+00101800 are quite long and go longer than double-width, but this is a decent enough compromise since Vim doesn't have triple-width characters, and I don't think any of them are narrow enough to use single-width)

Just for reference #8077 was where we added the SF Symbols 1-3 Unicode codes.

With the release of macOS 13 Ventura, Apple has also released SF Symbols
4 which contains new symbols to be used by apps. Just as before, these
symbols also have corresponding Unicode values by using the Supplmentary
Private Use Area-B range. Add the new symbols' Unicode values to the
double-width ranges so Vim will show them properly. (In reality some of
the symbols like the ones for cars like 'suv.side' / U+00101800
are quite long and go longer than double-width, but this is a decent
enough compromise since Vim doesn't have triple-width characters,
and I don't think any of them are narrow enough to use single-width)

Where does that value 0x1018c7 come from?  The comment above it should
be more explicit, since the value changed but the comment didn't.
--
How To Keep A Healthy Level Of Insanity:
14. Put mosquito netting around your work area. Play a tape of jungle
sounds all day.
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

I updated the comments to explicitly say SF Symbols 4 now.
But I essentially retrieved that value the same way as before. Downloaded SF Symbols 4 app from Apple, selected all symbols, pasted it to Vim and then sorted them. Go to the last one and inspected the hex value using ga.
Unfortunately Apple never really published the exact Unicode ranges they intend to reserve for SF Symbols, so I don't know if there's a fixed upper-bound that we can use here.

I updated the comments to explicitly say SF Symbols 4 now.
But I essentially retrieved that value the same way as before.
Downloaded SF Symbols 4 app from Apple, selected all symbols, pasted
it to Vim and then sorted them. Go to the last one and inspected the
hex value using ga.
Unfortunately Apple never really published the exact Unicode ranges
they intend to reserve for SF Symbols, so I don't know if there's a
fixed upper-bound that we can use here.

OK, it's a little better.  However, I don't have any clue what "SF
Symbols 4" means.  Is there a short explanation or a web page we can
link to?  I did find this page: https://developer.apple.com/sf-symbols/
We could add that and something like "symbols defined by Apple to
integrate with their system font"?
We should probably also mention that these are not really double-width
characters, but it's the best way Vim can handle them.
--
In many of the more relaxed civilizations on the Outer Eastern Rim of the
Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the
great "Encyclopedia Galactica" as the standard repository of all knowledge
and wisdom, for though it has many omissions and contains much that is
apocryphal, or at least wildly inaccurate, it scores over the older, more
pedestrian work in two important respects.
First, it is slightly cheaper; and second, it has the words "DON'T PANIC"
inscribed in large friendly letters on its cover.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Right. SF Symbols is basically a bunch of symbols Apple released as part of their OSes. "SF Symbols 4" is the version 4 of them, which comes with new customization features and also new symbols (each symbol has a unique name, and a unique Unicode code point). Apple usually releases a new version of SF Symbols with new OS releases (iOS/macOS/etc), which are released annually around September to October.
These symbols can either be used in a system image API where you can load the image by name (e.g. "gear.2"), or you can just use them in text mixed with other Unicode text, similar to emojis (this is where this PR comes in, by making sure we treat them as double-width in text). The link you found is indeed the official page, which sadly is light on details. I found the Wikipedia article at least a little more descriptive (https://en.wikipedia.org/wiki/San_Francisco_(sans-serif_typeface)#SF_Symbols).
Also updated the code comments to be a little verbose. Feel free to let me know if you want more edits on them.


services/horizon: Avoid waiting for the first checkpoint in captive-core online mode

What
As discussed with @rokopt and @graydon , there is no need to provide a ledger hash when streaming from ledger before the first checkpoint.
Why
It allows Horizon to start ingesting before the first checkpoint is reached (which incurs in a ~5min wait when ingesting from the beginning).
Known limitations
N/A

@2opremio I thought this depends on https://github.com/rokopt/stellar-core/commit/3cea6ee9ec5bc08495347e0aebf14f9dd6acb9d4 which, as far as I know, has not been released in stellar core?

@2opremio I thought this depends on rokopt/stellar-core@3cea6ee which, as far as I know, has not been released in stellar core?

AFAIU, that change is to allow providing --start-at-ledger 1 (which we still work around)


Local images not being loaded when running on development server, React

The site uses the local directory, 'public' for its images. When run on development server, the images does not load. :cactus:
Find more info: https://github.com/Satriaana/Satriaana-Web-Site/blob/dev/README.md

I would Like to Work on this @nimeshkavinda

I would Like to Work on this @nimeshkavinda

Great! do you want to be assigned for this issue?

@nimeshkavinda I am working on this.

@deepank120896 okay i,ll assign you


[Usage] Tokenization Mismatch

Describe the issue
Issue: after pretraining Phi-3 with/without VIP, I am getting tokenization mismatch.
Command:
bash scripts/finetune_vip_llava_phi3_stage2.sh

Log:
WARNING: tokenization mismatch: 185 vs. 195. (ignored)
WARNING: tokenization mismatch: 191 vs. 200. (ignored)
WARNING: tokenization mismatch: 158 vs. 162. (ignored)

Hi @mzamini92 , do you see any issues with training/benchmarking results?


2 way data binding not working

I'm expecting 2 way data binding to work similar to polymer templates but I can't get it to work.
For example using a <paper-toggle-button checked="${toggled}"> only works in one direction (reading, but not writing).
I have also tried  <paper-toggle-button checked="[[${toggled}]]"> and  <paper-toggle-button checked="[[toggled]]">

@BrandiATMuhkuh I believe _render should be used instead of render in your last code. :wink:

But what if I want to use <mwc-switch> (which is also based on lit-element) instead of <paper-toggle-button>?
The problem is that <mwc-switch> has no the checked-changed custom event unlike <paper-toggle-button>.
@azakus @sorvell PTAL.

What about something like Polymer's notify (automatic property change notification events) to make upward data flow easier?

@FluorescentHallucinogen this is the new reality, where no upward data flow is supposed to be always kept in mind. Still the Web Component should produce events, but I guess it would make sense to make the switch component more aligned with the native input and produce a change event.

I've found https://github.com/DiiLord/lit-element and it has notify.
@justinfagnani @DiiLord What about port it to this element?

Welcome to 2018, everyone is writing his own lit-element implementation :crazy:

lit-html-brackets also looks very interesting.

HTML Template Instantiation proposal also adopts mustache syntax as standardized template language.


[Multiple] Get rid of 0x001 FMV Exclude

Cemuhook uses -16 width now for MP4 videos, plus it appears that it's 1280 check was removed from it as well. Haven't tested much games yet, will need someone to test games that I don't have on me
Games that don't require 0x001:
Pikmin 3
Pokken Tournament
Bayonetta 2
Games that do require 0x001:
Mario & Sonic at Sochi 2014
Paper Mario Color Splash
Games that don't break because of 0x001:
Sonic Boom: Rise of Lyric
Star Fox Zero
Star Fox Guard
Tekken Tag Tournament 2
Bayonetta
Games not tested:
Scribblenauts Unlimited
Scribblenauts Unmasked

actually eh.. we don't really need this


Baseline only applied on complete empty schemas

Which version and edition of Flyway are you using?
flyway-core 9.22.3 community edition
If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)
yes
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API
Which database are you using? (Type & version)
IBM DB2
Which operating system are you using?
Linux
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
I'm sharing one schema with multiple flyway migrations. Each migration maintains an independent set of tables. Everything is working and each flyway migration has it's own flyway history table. Now I'm trying to add baselining to the migrations to speed up the initialization of new databases.
I have this simple scenario:
V1.0__CreateTable.sql  <- initial table
V1.1__AddFirstName.sql <- add new column
B2.0__Baseline.sql <- cumulation of V1.0 and V1.1
V2.1__AddEmail.sql <- add another column

The schema, where the migration is running is not empty, so other tables are already existing because of previously running migrations.
My flyway is configured like this:
Flyway.configure()
				.dataSource(dataSource)
				.locations(scriptsLocation)
				.schemas(migration.getSchema())
				.baselineVersion("0")
				.baselineOnMigrate(true)
				.table(migration.getFlywayTable())
				.load();

The scripts are correctly parsed:
[de.afb.core.flyway.MigrationController] State: BELOW_BASELINE Version: 1.0 Description: CreateTable
[de.afb.core.flyway.MigrationController] State: BELOW_BASELINE Version: 1.1 Description: AddFirstName
[de.auskenfuchs.core.flyway.MigrationController] State: PENDING Version: 2.0 Description: Baseline2
[de.auskennfuchs.core.flyway.MigrationController] State: PENDING Version: 2.1 Description: AddEmail

So Flyway correctly identifies V1.0 and V1.1 as below the newest baseline. But still these scripts are executed and B2.0 is ignored completely.
When I'm running the same Migration on an empty schema everything works like expected, B2.0 and V2.1 are execucted and V1.x are ignored. In every case I'm providing the baselineVersion as 0.
What did you expect to see?
I would expect that also on not empty schemas the baseline is correctly used.
What did you see instead?
The baseline version is ignored on non empty schemas. Even when I'm setting the baselineVersion to 2 or 1.9 the baseline script is never executed.
I assume there were some decisions that only empty schemas can guarantee the proper baseline with flyway, but in some scenarios this may not apply. It would be good to have an option that the baseline is still applied, as long as the flyway history table doesn't exist.

Hi @Auskennfuchs , based on the info posted here https://documentation.red-gate.com/fd/baseline-migrations-184127465.html,
Baseline migrations are only used when deploying to new environments. If used in an environment where some Flyway migrations have already been applied, baseline migrations will be ignored.

Also, according to https://documentation.red-gate.com/fd/baseline-on-migrate-224919695.html, when baselineOnMigrate is set to true, Flyway will automatically call [baseline] when [migrate] is executed against a non-empty schema with no metadata table. This schema will then be baselined with the baselineVersion before executing the migrations.

Also, according to https://documentation.red-gate.com/fd/baseline-on-migrate-224919695.html, when baselineOnMigrate is set to true, Flyway will automatically call [baseline] when [migrate] is executed against a non-empty schema with no metadata table. This schema will then be baselined with the baselineVersion before executing the migrations.

Hello Jason,
thank you for your reply. Unfortunately the baselineOnMigrate is not affecting the usage of the baseline on a non empty schema. As you can see in my initial post I've already set the parameter to true, but it is ignored in this scenario.

Hi @Auskennfuchs , let' walk through both your scenarios:
Running on an empty schema:

baselineOnMigrate ignored. Because it only works for non-empty schema.
Then as you configured Baseline script, Flyway takes 2.0 as bassline, and ignore scripts below it.

Running on an non-empty schema:

baselineOnMigrate applied. Flyway took current schema as baseline.
Then your configured Baseline script will be ignored by Flyway, because Baseline script only works for new environment.

Sorry to revive this old issue, but I think I have the same issue, or at least confusion regarding the behaviour of baselineOnMigrate.
If a schema is empty, running Flyway.migrate will not cause the configured baseline version to be applied. So:

No performance gains associated with running a single baseline iof. sperate migrations
No (intended or not) differences in the final schema if the baseline differs from preceding migrations.

In other words, what @JasonLuo-Redgate said:

Running on an empty schema:

baselineOnMigrate ignored. Because it only works for non-empty schema.
Then as you configured Baseline script, Flyway takes 2.0 as baseline, and ignores scripts below it.

Is incorrect (at least on SQL server). baselineOnMigrate will indeed be ignored, but this will result in all migrations being applied. Flyway will not take version 2.0 as a baseline.
The documentation:

Whether to automatically call baseline when migrate is executed against a non-empty schema with no schema history table.

Fails to specify what happens if the schema is empty, and I would argue the current behaviour is unexpected.
This all depends on what an "empty" schema is and how it is detected, which depends on the database engine. The above might not be true for DB engines other than SQL server.
This all gets very confusing when like OP and me, you have 2 applications running Flyway migrations on the same schema of the same database (but different schema version tables). It works as expected if the other application already applied some changes to the schema, but it doesn't on a completely empty schema.
Note that "re-basing" the migrations is (or at least to me sounds like) a useful way to resolve conflicts in this situation.

Ignore my last comment, my actual issue is that I understood baselineVersion incorrectly. I understood it as a way to tell Flyway to explicitly use a baseline migration, instead it's a way to tell Flyway about existing migrations on an existing database.
Flyway will (or at least should) automatically pick up on new baseline migrations.
I think OP's issue, as well as mine, might be that if 2 applications use the same DB and schema (but different schema version tables), baseline migrations of the second application (to run it's migrations) are ignored. This is related to baselineOnMigrate because baselineOnMigrate is required to allow the 2nd application to run it's migration after the first application ran it's migrations (meaning the DB schema is not empty).


Build error

https://travis-ci.org/julien-truffaut/Monocle/jobs/558651431
can be reproduced locally by running sbt makeMicrosite
[error] (docs / Jekyll / mappings) java.io.IOException: Cannot run program "jekyll" (in directory "/Users/julien/project/Monocle/docs/target/scala-2.13/resource_managed/main/jekyll"): error=2, No such file or directory

moved to docusaurus


Turning off window_opacity does not restore each window's opacity

Start with window_opacity off, and set normal_window_opacity to some non-integer value so you can see it's effect, say 0.5.
Turn window_opacity on and reload yabai for changes to take effect, notice windows not active have their opacity reduced to 0.5 as expected.
Turn window_opacity off again, reload yabai for changes to take effect, notice windows that are not active still have their opacity set to 0.5.

While this is correct behaviour it is not intuitive behaviour. Intuitively turning a setting off would imply reverting back to whatever it was beforehand, in this case the window's opacity should go back to 1.0 (the default value if window_opacity is off).

The feature is not designed to be toggled often, really.
What if an application changes its alpha by itself using the same method we use? Should we reset it to be opaque again?
I agree this is unintuitive, but it's also not very hard to reset *_window_opacity back to 1.0 manually before disabling transparency.

I was thinking about whether or not I should do a PR for this (good practice for my rusty C). Perhaps yabai could snapshot window opacity levels upon a change from off -> on before it applys settings, then if on -> off occurs apply the changes it cached in a file somewhere.
Just a simple map of window id to opacity, O(n) lookup time however.

https://github.com/koekeishiya/yabai/blob/024a21f87912643ff078b281528795a16b9aa516/src/window_manager.c#L431-L446
Take a look at the variable enable_window_opacity from window_manager.{c,h}, which determines whether transparency is enabled, and the above listed function which tells the scripting addition to change the transparency of a window by id.
I don't think caching is a proper fix—just wanted to note that applications can change their own alpha level as well, so setting to 1.0 might not be a proper reset. It's rare anyways as there are better ways to do this than CGXSetWindowListAlpha for the apps themselves. It might be fine to set it to 1.0 as a reset, and ultimately that's up to @koekeishiya to decide.

The caching is so that it resets to whatever the setting was before the toggle, or if I can find a way to capture when a window changes it's own alpha, that setting itself.
I haven't had a chance to look at this yet but I will play around at least myself and either find success or failure hehe, thank you for the snippet too!

I don't think this is something that I will bother looking into.


New Issue

Contact Details
No response
What happened?
A bug happened!
Field
Frontend Dev (React, Angular, Vue)
What browsers are you seeing the problem on?
Safari
Relevant log output
hgsthrtsh

Code of Conduct

[X] I agree to follow this project's Code of Conduct

/assign


Pls add https://shrinke.me/

Domain
https://shrinke.me/
Link
https://shrinke.me/FcSbG0m
Version
0.0.0
What browsers are you seeing the problem on?
Chrome
What OS are you seeing the problem on?
Windows
(Optional) Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

+1


Client Crash on Startup

Receive a crash when updating to <IP_ADDRESS>1 beta on the client side only. Server is loading ok. This is the only mod I updated in the pack at the time.
http://pastebin.com/xVneebBs

Enderio does not have gravestone and there is also some errors with thaumcraft on the crash report

Actually, it's saying it can't find thaumcraft. This makes sense since I don't have it installed.
I'm pointing at Enderio because it only happens when I have Enderio <IP_ADDRESS>1 beta installed. If I revert to <IP_ADDRESS>9 I don't get the crash.

I have tested this build in my mod pack and I am not getting any crash. are you using the gravestones mod this might be the cause of the crash.

GraveStone{2.11.1} [GraveStone] (GraveStone 2.11.1.jar) Unloaded I seen this line in the crash report and the crash is cause by this mod

the lastest EnderIO 2.2.8 is build 367 which has alot of fixes from build 349 also build 371 is a beta build so it might have some issues working together with other mods.

I have tested the with the latest version of gravestone (2.12.2) and the client did not crash. Please update gravestone mod.


Recompiling breaks the UI

Trying to recompile the UI results in a blank webpage on localhost:3000.
$git clone [repo]
$cd gekko
$npm install
(everything works at this point)
$cd web/vue
$npm install
$npm run build
Flawless build. But after starting the app, http://localhost:3000/#/home is now a blank webpage named 'Gekko'. Am I missing something?

Very strange, could you check the console of your browser for any errors?

Pretty short console log..
Error in parsing value for ‘display’.  Declaration dropped.  furtive.min.css:1:453 Error in parsing value for ‘display’.  Declaration dropped.  furtive.min.css:1:5432 Error in parsing value for ‘word-wrap’.  Declaration dropped.  furtive.min.css:1:5736 Unknown property ‘appearance’.  Declaration dropped.  furtive.min.css:31:12 Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  furtive.min.css:63:2 Unknown pseudo-class or pseudo-element ‘-ms-input-placeholder’.  Ruleset ignored due to bad selector.  furtive.min.css:67:2 Unknown pseudo-class or pseudo-element ‘-o-prefocus’.  Ruleset ignored due to bad selector.  furtive.min.css:119:2 Error in parsing value for ‘background’.  Declaration dropped.  furtive.min.css:159:14 Error in parsing value for ‘background’.  Declaration dropped.  furtive.min.css:160:14 SyntaxError: An invalid or illegal string was specified  reconnecting-websocket.min.js:2 "You are running Vue in development mode. Make sure to turn on production mode when deploying for production. See more tips at https://vuejs.org/guide/deployment.html"  build.js:6:71580

There is this error... last entry on the console:
SyntaxError: An invalid or illegal string was specified                    reconnecting-websocket.min.js:2
a/this.open http://localhost:3000/assets/reconnecting-websocket.min.js:2:1076
a http://localhost:3000/assets/reconnecting-websocket.min.js:2:2485
l http://localhost:3000/dist/build.js:6:72494
 http://localhost:3000/dist/build.js:16:83487
 http://localhost:3000/dist/build.js:16:82832
e http://localhost:3000/dist/build.js:1:96
 http://localhost:3000/dist/build.js:1:483
 http://localhost:3000/dist/build.js:1:2

Can you post your UIconfig.js located in: gekko/web/vue/UIconfig.js?

Stock config... could it be a system language issue or something? xD
const CONFIG = {
    headless: false,
    api: {
        host: '<IP_ADDRESS>',
        port: 3000,
    },
    ui: {
        ssl: false,
        host: 'localhost',
        port: 3000,
        path: '/'
    },
    adapter: 'sqlite'
}

if(typeof window === 'undefined')
  module.exports = CONFIG;
else
  window.CONFIG = CONFIG;

It should not be..
Can you try downloading the develop branch and compiling that UI?

During build got this error a couple of times;
Unhandled rejection Error: Cannot find module 'jade'
But everything works ^^

great :D

The develop branch now has a fix for the Cannot find module 'jade' problem.


Add isKeyPressed variable

isKeyDown gets reset at the end of the draw function, so there was no way of knowing whether a key is pressed for a longer time than one frame.
This is needed for an upcoming PR on Armory2d :)

Maybe we should switch the naming to match Kha notation, ie isKeyDown for periods longer than one frame, and isKeyPressed for last frame only. What do you think?

Yes that's probably better.
But actually, I do find both names a little bit ambiguous. Maybe we should use isKeyActivated/Down/Released instead? On the other hand, it might be unwise to not use the naming scheme from Kha as some Users might be even more confused by that.

Yeah that would be even better. But lets go with consistency for now, and then we can tackle it all at once in the future. 🙂

All right, it is now changed in Zui and Armory2d.
Armorpaint needs still to be updated, but as far as I can tell it is just one line that must be changed. I don't think this requires an extra PR so it'll be nice if you can change that.
Are there any other modules that have Zui as a dependency?

Great! Will push a change into armorpaint. I don't think isKeyDown is used in more places, thanks for updating the changes.md log though - if anyone runs into issues it's good to have that listed.


Switch ccm dependency URL from git to https protocol

Why is it broken? Once it went fine.... now the reruns are failing. Huh.

Rerun today has worked. Maybe an environment (GitHub?) issue?
Merging


add initial tls cert issuer

Currently the MITM proxy uses its own (tls) cert as presented cert.
However, better would be that it uses this as the CA cert to generate and sign per-domain certs.
For now we can keep this basic, in a future release a lot more advanced.

cert improvements have been made (self-signed server is now correct)
in-memory issuer is now possible with boring: note that no caching is done yet, so each connection a cert is generated, so someone can probably help improve this if desired

Follow up issues will be made.
We make this available as:

lib code, so mitm proxies can use it
roxy cert cmd that can be used to generate a cert, but also as a cert daemon to request these, which can be useful for folks that want to run a cert gen service separate


#29 add superlinter

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.126%

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
169

Relevant Lines:
174

💛  - Coveralls


Added aws ec2.internal namespace keys

On AWS there namepaces are in the assets names then no log key access on k8 works
This adds the aws *.ec2.internal namespace to the set of keys

[y] Installs cleanly on a fresh build of most recent master branch
[y] Upgrades cleanly from the most recent release
[ ] Updates documentation relevant to the changes

Thanks!


feat(sqlite) add support for returning

Implement #1724 .
Support both RETURNING <column, column, ...> and RETURNING *.

[x] add returning-clause support for SQLite parser

[x] Insert
[x] Update
[x] Delete

[x] add end to end test for SQLite
[x] update PostgreSQL end to end test to verify RETURNING * support

@kyleconroy Do you think we should update examples to use RETURNING?

Let's update the examples in a separate PR


JWT integration.

Using multicolour-auth-oauth as a template, create a JWT auth mechanism.

https://github.com/Multicolour/multicolour-auth-jwt