what's reason for making register_module internal?

I am building a functional wrapper around torchsharp. It uses register_module to compose modules together in a functional style. It is now broken. Please advise as to an appropriate replacement.
Making it internal enforces a very OO view on the models - which is not ideal in my view.
Example:
open TorchSharp
open TorchSharp.Fun

let model =
   torch.nn.Linear(100L,10L)
  ->> torch.nn.Dropout(0.1)
  ->> torch.nn.Relu()

let t = mode.forward (...)

There are extensions for more complex forward invocations but in general it makes the structure of the model very apparent and its easier to experiment with variations on the base structure during model development.

While I don't like the implicit submodule registration via reflection that we have currently, I don't see exactly what is the problem you are facing.
I forgot details of operator overloading in F#, but you could do
Sequential Chain(Module a, Module b) => torch.nn.Sequential(a, b);
Sequential Chain(Sequential s, Module m) => torch.nn.Sequential(s.layers.Append(m));

the  ->> operator implementation calls register_module to bind the submodule (but now it cannot).
Also other similar functions e.g. register_parameter, etc. are still public. register_module has been accessible thus far without any adverse affects. Marking it internal needlessly limits future extensibility.

@fwaris why my Chain sample can not work as your ->> operator?

@fwaris -- the reason I made it internal is that it's not in the Pytorch APIs. If there's a strong reason to have it be public, then it's not a big deal to make it so.

Also, @fwaris, is your "->>" operator similar to the TorchSharp F# operator -->?
    override _.forward(input) =
        input
        --> conv1 --> relu --> conv2 --> relu --> pool1 --> dropout1
        --> flatten
        --> fc1 --> relu --> dropout2 --> fc2
        --> logsm

The next release will have this change, but it will take a little bit, because that is going to be a huge one (adding support for parameter groups).


feat(ct): add flaky test case property

Albeit there's already the {repeat_until_ok, N} TC property, it's arguably of reduced use in a CI environment, as any failure will fail the whole suite, even if the final execution succeeds.
Here we introduce a new kind of TC property: {flaky, N}, where N is a positive integer.
It works similarly to {repeat_until_ok, N}: the TC is repeated up to N times until it succeeds or retries are exhausted.  The TC gets the status of its last run: if it eventually succeeded, it's considered a success.
Example usage:
-module(my_SUITE).

all() ->
    %% This test case will be run up to 10 times.
    [{testcase, t_my_flaky_test, [{flaky, 10}]}].

t_my_flaky_test(Config) ->
    K = {?MODULE, ?FUNCTION_NAME},
    N = persistent_term:get(K, 0),
    case N > 5 of
        true ->
            ok;
        false ->
            persistent_term:put(K, N + 1),
            error(boom)
    end.

Execution logs:
Testing lib.my_SUITE: Stopping test case repeat operation: {flaky,10}
Testing lib.my_SUITE: TEST COMPLETE, 1 ok, 0 failed of 1 test cases

Note that, even though it actually ran 6 times, the final statistics are not duplicated.
The produced HTML logs do contain logs from all failures, nevertheless, for debugging purposes:

Added a report when a flaky test requires more than one run:


Humble v1.2.5

[ ] lbr_fri_ros2 improvements:

[ ] Dedicated clients and messages (position command / torque command / wrench command)
[ ] Latency tests
[ ] Remove commanded state?
[ ] Non-abstract command guard?
[ ] Single PID for all joints?
[ ] Python demos: Node composition and intra process in launch files
[ ] Change default gains and parameter launch file
[ ] Improve command guard error message for joints, i.e. limit on A1... and fix velocity limit check in impedance control mode

[ ] lbr_hardware_interface -> lbr_ros2_control

[ ] HW IF configure sample time automatically
[ ] Add virtual F/T broadcaster
[ ] Add a ros2_control admittance demo
[ ] Add a MoveIt python demo
[ ] Remove redundant Nones in launch mixins, e.g. https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/2e24a1cd78dc5325053a833390579f9222c7e499/lbr_hardware_interface/lbr_hardware_interface/launch_mixin.py#L114
[ ] Fix frame prefix parameter https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/2e24a1cd78dc5325053a833390579f9222c7e499/lbr_hardware_interface/launch/hardware_interface.launch.py#L39
[ ] Namespace robot description

refer to #105


Add lint rule for usage of double space

Usage of a double space is incorrect, there should only be a single space between attributes.

#65 closes this


isEmpty() in FF returns false when the value is empty

Steps:
Without typing, add some markup into the editor using insertNode()
Then delete the markup
onblur isEmpty() returns false. It should return true.

try by setting the innerHTML maybe

setting innerHTML = '' resets the selection api composer.selection.insertNode doesn't insert the node in the caret position.

what are you trying to do? could you do a quick fiddle on just the issue?

Sorry. This is a wrong call. There is a space node hidden within the editor which is the reason for returning false. @cauburtin. Thanks for replying


Rethinking the interface for fork

I was writing a shell as an example for nix, and I realised that #555 makes a really good point: the code that runs in the child after fork(2) must not allocate if there is more than one thread. I don't know if fork should necessarily be made unsafe, but certainly we need to document better what is ok to do afterwards.
This is somewhat related to #90 in that there's an execution context where only limited operations should be performed. Ideally nix would force only correct usage, but at the same time there's a lot of value of staying close to the libc definitions of functions. (#190 seems connected here too.)

Also see http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
And the man page says:
After a fork() in a multithreaded program, the child can safely
call only async-signal-safe functions (see signal-safety(7)) until
such time as it calls execve(2).

This makes it sound like fork really really should be made unsafe: Spawning threads and calling non-signal-safe function is possible in safe Rust, therefore there must not be a safe way to do so after a fork. Instead, nix could provide safe utility functions that do common patterns like fork + execve in a safe way.

This has come up in the standard library, too: https://github.com/rust-lang/rust/issues/39575

You're right that fork is unsafe.  But is it unsafe in the Rust sense?  I think we should follow whatever decision rust-lang makes in the issue you linked.

@asomers I read through some of the discussion there. The argument is that UB should be assumed to include memory unsafety by default. Specifically for fork() there are some more reasonings that should make this more likely.

Is there any undefined behavior associated with calling async-signal-unsafe functions after forking?  I can't find any.  fork(2) doesn't mention any undefined behavior.  Instead, it suggests not calling async-signal-unsafe functions in order to prevent deadlocks and the like.

@jonas-schievink @asomers Did this get cleaned resolved with the merging of #695?

I believe the conclusion was that fork is safe but (eg.) allocating afterwards can cause dadlocks, which is still a footgun.
I don't know if a deadlock will always be the worst that can happen. Also, deadlocks will only happen when forking while another thread is allocating memory (or holding another lock), making this an annoying-to-debug race.
To further the issue, std lib functions generally don't document if they allocate or which libc functions they call.
If you don't think it makes sense to provide a safer interface that prevents this, you can probably close this issue.

Update: The conclusion of https://github.com/rust-lang/rust/issues/39575 was that before_exec should have been an unsafe function, and has been deprecated and replaced by an unsafe fn pre_exec. Thus fork should also be considered an unsafe operation.

@jonas-schievink thanks for that update!


feat!: new implementation for the proxy middleware

After changing the reverse proxy rules that pointed directly to the backend, to utilize Volto proxy middleware, for binary downloading (i.e., images and files), we noticed a significant drop in performance.
I tried to analyze it and improve it by changing the middleware implementations. This is the checklist that I think needs to be verified/completed:

[x] have performance comparable to that of Plone.
[x] add x-forwarded headers in the request for the backend.
[ ] properly proxying important request/response headers (cache, range, ...) to the backend and browser
[x] correctly handle authenticated requests
[x] correctly handle p.a.redirector.
[ ] handle errors correctly (not found, not authorized, ...)
[ ] Add documentation and configurability for integrators

What was tested/measured.
I loaded a 92 MB file into Plone (size is not important, but large files make analysis easier) in a Plone vanilla 6.0.6 installation, waitress, without Zeo server.
Plone apache benchmark: http://localhost:8080/Plone/discord-0-0-29.deb/@@download/file/discord-0.0.29.deb,
Volto main (yarn build and node build/server.js), same Plone site
http://localhost:3000/discord-0-0-29.deb/@@download/file/discord-0.0.29.deb
Volto this branch (yarn build and node build/server.js), same Plone site
http://localhost:3000/discord-0-0-29.deb/@@download/file/discord-0.0.29.deb

Plone has the better performance here, this branch is not so far.
Even comparing the memory usage of the Volto process during testing, a much higher consumption is evident in the current implementation, compared to the proposed one.

IMO, the main problem with the current implementation is that all the file content is downloaded into memory before being transmitted to the user. This implementation, on the other hand, streams data from the backend to the client.

@mamico Looks like a really good idea at first glance! I will be traveling home and taking a couple days off, but will try to review this soon.

@davisagli have you had time to try it?
Regarding "properly handling errors (not found, not authorized, ...)," this does not seem easy with http-proxy-middleware, see https://github.com/chimurai/http-proxy-middleware/issues/179.
On the other hand express-http-proxy has an implementation that enables this functionality, see https://github.com/villadora/express-http-proxy/issues/248.


preverb search

faster preverb match (supposedly)
The preverb search is faster by hashing all the preverbs prior to the start of the app.
I tested this new method on the real database. Actually It's not significantly faster (I wouldn't say even 10%). As  @eddieantonio discovers, one of the time consuming part is fst-lookup and one being the use of wrong indexes.

Codecov Report

Merging #283 into master will increase coverage by 0.25%.
The diff coverage is 96.55%.

@@            Coverage Diff             @@
##           master     #283      +/-   ##
==========================================
+ Coverage   83.32%   83.57%   +0.25%
==========================================
  Files          55       55
  Lines        2099     2107       +8
==========================================
+ Hits         1749     1761      +12
+ Misses        350      346       -4

Impacted Files
Coverage Δ

CreeDictionary/API/apps.py
100% <100%> (ø)
:arrow_up:

CreeDictionary/API/models.py
87.89% <95.65%> (+1.72%)
: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 80ffe6b...cfe7ef8. Read the comment docs.


Approach analysis and  Database migration/transfer from Silver to Emerald, try outs on DEV

Title of ticket:
Description
We decided to go with Gathering Records release on Silver, but for Document Review and following Prot. C data storage functionalities we need DBs on Emerald.
Dependencies
Are there any dependencies?
DOD

[ ] List the items that need to be complete for this ticket to be considered done
[ ]
[ ]
[ ]
[ ]

Tentatively in Sprint June 7-June 21


OCM. user loses the shared folder that was copied

ocis: 6.6.1+6f3322a3d
web: 11.0.1
setup: https://github.com/owncloud/web/blob/master/docker-compose.yml or https://owncloud.dev/ocis/development/testing/#running-test-suite-with-federated-sharing-ocm
Steps:

2 users create connection
user1 creates folder f1 with content and shares to user2 -> user2 can see folder f1
user1 copies folder f1 to -> f1 (1) and shares again

Expected: user2 can see f1 (1) folder in Shares
Actual: user2 doesn't see f1 (1) folder in Shares
https://github.com/user-attachments/assets/c6fb37b0-4a28-4f11-9280-9a843534ce1d
maybe related https://github.com/owncloud/ocis/issues/10222

This seems to be a problem with userCache in the graph service. (Creating multiple shares for the same user fails if the subsequent share is create before the user is expired in the cache).
Setting GRAPH_SPACES_USERS_CACHE_TTL=1 seems to workaround the issue. A real fix is on the way.


Reorder __init__

Closes #2722

General note: those *String literal values used in Enum-like properties - they have been replaced with only Enums.
I think they could be safely removed from types.py as well as from imports of respective controls.


WIP: copr settings updates

Ask for admin permissions and raise a better exception when we can't update the copr project settings. (The exception contains all fields that need to be changed with old and new values.)
Will fix https://github.com/packit-service/packit/issues/902 once used in the packit-service.

TODO:

[ ] tests

reverse-dep-packit-service-tests  : FAILURE in 6m 55s

Do we want to have this backwards compatible or is it ok to merge the https://github.com/packit/packit/pull/921 right after this one so we don't break anything? (Once both PRs are approved.)

reverse-dep-packit-service-tests  : FAILURE in 6m 55s

Do we want to have this backwards compatible or is it ok to merge the #921 right after this one so we don't break anything? (Once both PRs are approved.)

fine with me if you take care of the fact that zuul says SUCCESS afterwards :)

@TomasTomecek @csomh What now?

We have the request for admin turned off in the packit-tool.

There is an option in CLI to allow that if anyone needs that.

I've changed it in a way that we only send the values that are really changed -- so we don't change/overwrite more than needed.
The requesting can be turned on/off in the service. We get info about changed fields as an attribute of an exception.

Can we merge this one and improve/decide on the packit-service side?


improve container tags

Hi,
just a proposal:
I saw that there are tags
["7.13.0","main-8","latest","main-7","v1.0.0-7","v1.0.0-8"]
but none of them is really explained in the README.md. I found some description in
https://github.com/voxpupuli/crafty/blob/main/docs/how-to-release.md
but it is rather confusing, because is says "don't use main-7, it can break any time", while "v1.0.0-7" is difficult to use, because it can change it's version number any time. Furthermore, there's no way to tell from the tags, that the containers are actually using 7.14.0 and 8.3.0 in build_versions.json.
My proposal is to follow current best practices and

have tags like  latest-7 , latest-8 , and latest, always pointing to the usable and recommended containers for production environments

use v1.0.0-7 or main-7 as a development tag and not for productive use, because that v1.0.0 version number and branch name is important for your developers, but that tag should not keep changing all the time for production use.

explain all these at prominent location in README.md

regards

We already dicussed several options on how to ensure that changes within the container (not a new puppetxxx version) can be differentiated.
Consider that one adds a new ENV var to configure something inside the container.
e.g. enable/disable environment delete API endpoint.
Therefor we decided to have a normal version describing the functional basis and append the puppet major version which is used inside the container.
Yes, I agree that the option to have the full puppet version is desired.
@rwaffen @bastelfreak we should have another discussion on this.

to find out atm what is in a tag one can see this like this: https://github.com/voxpupuli/container-puppetserver/blob/v1.1.1/build_versions.json
we will work to make this more visible in the next releases,

The container tag latest is moving constantly. it is automatically added on each build. and the last container which is build keeps it until the next build happens.

Proposal:
<puppet_version>-<container version>
e.g.
7.13.0-1.0
or 8.2.3-2.1

i will move this issue to crafty and convert it into a discussion


[implementation] Remove System.Reflection.Compatibility-like helpers from TypeExtensions

Current TypeExtensions class(es) contain(s) extension methods such as IsAssignableFrom() which may be ambiguous in any consuming class that uses System.Reflection. To create the ambiguity, someone would only need to add the System.Reflection.Compatibility package to the project's dependencies.  In addition we should all be learning about the new Reflection APIs.
Should migrate existing code to use GetTypeInfo() directly.  (Another possibility would be to always rely on the System.Reflection.Compatibility package but that is not the preferred direction. Finally could use helpers with unambiguous names -- but such extension methods just hide the new APIs and slow learning.)

I don't have a reference to a specific commit, but this class is gone now, so this was fixed one way or another. Generally the more complex stuff was either moved to ModelMetadata or to the common repro.


Fixed the logical operators to avoid precedence bugs

I'm testing out the value of the checks in psecio-parse, so I scanned your repo and found a few issues. I updated three of the items it found. Using the words instead of the symbol versions of the logical operators can cause precedence bugs, so I updated them for you. I also added the Code Climate badge to your readme in case you'd like to see more of this kind of analysis for your code. You have a 3.69 score (out of 4), which is awesome!

Hello and thanks for stopping by.
Just out of curiosity, do you have a link to the bug you are mentioning?
For code climate i'm using scrutinizer witch does the same thing but on a scale from 1 to 10.

@lucadegasperi  - I'm not sure what you mean by a link to the bug. The checks that psecio-parse runs are listed in their Readme:
https://github.com/psecio/parse
When you run the psecio-parse tool, it gives a bit more explanation on it:
LogicalOperators
Avoid using AND, OR and XOR (in favor of || and &&) as they may cause subtle precedence bugs
This is based on the symbols having higher precedence than the word versions:
http://php.net/manual/en/language.operators.precedence.php
Let me know if this answers your question or if I misunderstood what you were looking for.
Also, Code Climate and Scrutinizer are both analysis tools, but they offer differences in the checks they provide and the information they give you. If you have a chance, I'd love for you to take a look at Code Climate and let me know what you think compared to Scrutinizer which you have already been using.

Thanks for your contribution! We have added this 949f53b


Fix a typo in Zsh completion

dependencie" → dependencies

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTING.md for more information.

@bors: r+ ed5c2fe463763d9ad0406d7b196a265bc4ea4a00 rollup

:hourglass: Testing commit ed5c2fe with merge dd7c7bd...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-32, cargo-win-64


Update functions-create-first-function-vs-code.md

@brunoborges : Thanks for your contribution! The author, @ggailey777, has been notified to review your proposed change.

@brunoborges I am going to incorporate your updates here with some additional ones in the private repo. I will ping you so that you can review them before I merge my PR.

This commit has been incorporated into the topic:

#please-close


simpler playwright test definitions for special pages

#993
#992
#996  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @shakyShane and the rest of your teammates on  Graphite


[image_picker] Causes crash with Flutter 1.22.0

I got through most of the issues converting over to 1.22, but I can't get pass the image_pricker problem.
Problem:
When I select the "gallery" button a second time, the whole app crashes.
I have narrowed in down to the image_picker that's causing the crash.
My app is very large, so I have been trying to duplicate the error in a smaller app from Github.
(Using "image_picker_demo_flutter" from Github)
(https://github.com/bizz84/image-picker-demo-flutter)
Tested with both: "image_picker: ^0.6.7+11" and "image_picker: ^0.5.4+3"
The problem existed (with many back versions before image_picker: ^0.6.7+11 )
I have been studying this issue hoping I could find a programmer problem, but I think it's
"image_picker: ^0.6.7+11" within 1.22.0 might be a problem child.
Maybe related to #67326 ???

Forgot system info:
iMac: 27"
OS: macOS Catalina 10.15.7
VS Code: 1.49.3
Xcode: 12.0

Hi @jerryhamby
This is a duplicate of  https://github.com/flutter/flutter/issues/65995 https://github.com/flutter/flutter/issues/66647
Please read the following comments
https://github.com/flutter/flutter/issues/65995#issuecomment-694113405
https://github.com/flutter/flutter/issues/65995#issuecomment-700876856
Please follow up on that issue, I'm closing the current one as a duplicate.
If you disagree, please write in the comments and I will reopen it.
Thank yo


Optionally skip SBOM generation

Since we can require SBOMs to be present with EC policies, we can enable
users to optionally speed up their builds by not analyzing repositories
to generate build-time SBOMs.
While we may have a partial SBOM from the prefetched data, we should
just not upload an SBOM at all in order to simplify decisions (i.e.
removing the need to decide if the SBOM is full or partial).

This cannot be merged until the version of Tekton is updated. I think that is planned on Monday with https://github.com/redhat-appstudio/infra-deployments/pull/5201


Fixing asymptotic variance matrix after recentering bootstrapping

Recentering might make our way of estimating the optimal weighting matrix obsolete. Should check and correct if necessary.

regardless of re-centering, another problem is that covariance of moments is computed, intead of covariance of moment conditions.

At the moment recentering is implemented when computing the objective function. All the inference quantities (i.e. covariance of moment conditions (and thus possibly the 2nd stage of two-stage estimation procedure), J-stat) instead are still based on the non-recentered moments so this should be fixed before doing any of the aforementioned things.


Example code for andthen docs occasionally returns error: Attempt to return outside of any Routine

Example code for andthen docs occasionally returns error: Attempt to return outside of any Routine
https://docs.raku.org/routine/andthen
sub load-data {
    rand  > .5 or return; # simulated load data failure; return Nil
    (rand > .3 ?? 'error' !! 'good data') xx 10 # our loaded data
}
load-data.first: /good/ andthen say "$_ is good"; # OUTPUT: «(good data is good)␤»

load-data() andthen .return; # return loaded data, if it's defined
die "Failed to load data!!";

Returns (sample):
===11/10/23 11:55:27===
Use of Nil in string context
  in block <unit> at - line 5
Failed to load data!!
  in block <unit> at - line 8

===11/10/23 11:55:32===
good data is good
Failed to load data!!
  in block <unit> at - line 8

===11/10/23 11:55:38===
Use of Nil in string context
  in block <unit> at - line 5
Attempt to return outside of any Routine
  in block <unit> at - line 7

The Attempt to return outside of any Routine error above seems to distract from the main point of the code.

The example is nonsense. An attempt to return outside of any Routine is always a runtime exception.

@raiph , not a great way to treat new users--filling the andthen Docs with nonsense code instead of something they can actually learn from.

I'm thinking what to do about it. I don't really like the whole example (and I also don't like the last paragraph).
The banal fix would be to wrap the whole snippet into a function like analyze-and-load... but that wouldn't improve the convoluted nature of the example.


DI issue

Hi, I read the blogs, thanks for the great library!
I am just trying to use Saaskit with my existing application, but hitting this error when a I run the application and browse to a page that has the Tenant injected:
Autofac.Core.DependencyResolutionException: A delegate registered to create instances of 'SaasKit.Multitenancy.TenantContext`1[Gluon.Module.Tenant.Data.TenantDomainApplication]' returned null.
   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)
   at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)
   at Autofac.Core.Resolving.InstanceLookup.Execute()
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
   at Autofac.ResolutionExtensions.ResolveOptionalService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.MultitenancyServiceCollectionExtensions.<>c__0`2.<AddMultitenancy>b__0_1(IServiceProvider prov)
   at Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)
   at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)
   at Autofac.Core.Resolving.InstanceLookup.Execute()
   at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)
   at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)
   at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)
   at Autofac.Extensions.DependencyInjection.AutofacServiceProvider.GetRequiredService(Type serviceType)
   at Microsoft.AspNetCore.Mvc.Razor.RazorPageActivator.<>c__DisplayClass16_0.

I am using Autofac.
My configure services looks like this:
             services.AddDbContext<AppTenantContext>(options => options.UseSqlServer(connection));
            services.AddScoped<IAppTenantContext>(provider => provider.GetService<AppTenantContext>());

            services.AddMultitenancy<TenantDomainApplication, CachingAppTenantResolver>();

and Configure():
  app.UseMultitenancy<TenantDomainApplication>();

I'm then injecting the tenant into my _Layout.cshtml, and I get this error when I browse to a page..

If you step through your tenantresolver, is it actually resolving a tenant?
Also, please try injecting an instance of ITenant instead, this is designed to work even with a null tenant.

I'll close this, as I switched away from autofac in the end.


Reconcile differences between threshold calculation here and in paper.

The paper uses (n+f+1)/2 and we use n-f -- for small authority sets this is
a tradeoff in safety and liveness.
cc @alistairstewart

Could you elaborate on the tradeoff between safety and liveness? I mean, for n < 4 where f = 0, we have
n = 1 ==> threshold >= (n + f + 1) / 2 = (1 + 0 + 1) / 2 = 1
n = 2 ==> threshold >= (n + f + 1) / 2 = (2 + 0 + 1) / 2 = 3/2 (so threshold >= 2)
n = 3 ==> threshold >= (n + f + 1) / 2 = (3 + 0 + 1) / 2 = 2
and for n > 3 where f >= 1, we have
n >= 3f + 1 ==> (n + f + 1) / 2 >= (4f + 2) / 2 = 2f + 1
so >= (n + f + 1) / 2 is always a safe threshold for a supermajority, isn't it? Using n - f seems to unnecessarily require one more vote for a supermajority than necessary whenever n is a multiple of 3.

n = 3 ==> threshold >= (n + f + 1) / 2 = (3 + 0 + 1) / 2 = 2

Well, you're probably right, but I don't think it makes much difference in practice.  If you get that 1 extra misbehaving validator, n - f keeps you safe (by not relying too strongly on the assumption of disjoint sets) but not live (as they can withhold and prevent quorum). Liveness failures in GRANDPA are easier to recover from than safety failures.

I see, thanks. So to summarise: Both n - f and (n + f + 1) / 2 can tolerate (w.r.t. both safety and liveness) the same number of byzantine faults for any n, but whenever n is a multiple of 3, n - f makes a preference for safety in the face of one more byzantine fault at the cost of liveness if the fault is indeed non-byzantine (e.g. crash fault) whereas (n + f + 1) / 2 makes a preference for liveness as it can tolerate one more non-byzantine fault (e.g. with n = 3 it can make progress with supermajority 2, at n = 6 with supermajority 4 etc).
I'm not sure that distinction is really worth deviating from the paper, mainly because any deviation that is not very prominently documented is a potential cause of confusion for anyone reviewing the code, but if n - f is supposed to stay in the implementation, then obviously the only option for reconciliation (and addressing this issue) is to change the paper.


chore: rename semgrep job to make it register with semgrep

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
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 34.066%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
31

Relevant Lines:
91

💛  - Coveralls


Get /files?/

closes #4

thanks @fsouza!

Codecov Report

Merging #14 into master will increase coverage by 16.42%.
The diff coverage is 86.66%.

@@             Coverage Diff             @@
##           master      #14       +/-   ##
===========================================
+ Coverage      54%   70.42%   +16.42%
===========================================
  Files           1        1
  Lines          50       71       +21
===========================================
+ Hits           27       50       +23
+ Misses         15       14        -1
+ Partials        8        7        -1

Impacted Files
Coverage Δ

threeplay.go
70.42% <86.66%> (+16.42%)
: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 50fdb86...653c9f2. Read the comment docs.

Now that we have file.go, maybe we should put all the GetFile* and PostFile* into this file? Also maybe we should rename the file threeplay.go to client.go, as did in encodingcom client?

I think we should keep all the (c *Client) related funcs in the same place Client was defined for now


py-osrm docker image

Sorry about that - I've made the requested changes mentioned in #2 as well as modified it further to simply install osrm-backend using Conan instead of doing that in the py-osrm CI runs.
I was having some issues with the base osrm_python branch, so I pulled from the pypa origin, hence the messy commit history below (I'm not sure I can squash them on my end due to the way I forked/pull requested?).

Sorry, I've realized that this might've been the worst possible way to do this, so I've started over with a better PR.


spec: add CLI specs for notation list/login/logout/plugin

Codecov Report

Merging #362 (877fb43) into main (06b7b5b) will decrease coverage by 0.07%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #362      +/-   ##
==========================================
- Coverage   30.62%   30.54%   -0.08%
==========================================
  Files          25       25
  Lines        1610     1614       +4
==========================================
  Hits          493      493
- Misses       1104     1108       +4
  Partials       13       13

Impacted Files
Coverage Δ

cmd/notation/verify.go
18.62% <0.00%> (-0.38%)
:arrow_down:

internal/cmd/signer.go
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Reviewed this as a group during community call today.  Once this feedback is addressed, we can merge.

For notation login and logout, do we also outline how to login into multiple registries and logout from multiple registries. We discussed in one of the community call.

Yes, I have added support for multiple login


Bump to version 0.2.5

Codecov Report

Merging #592 (5360837) into main (531e58f) will decrease coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #592      +/-   ##
==========================================
- Coverage   97.92%   97.80%   -0.13%
==========================================
  Files          66       66
  Lines        8281     8281
  Branches     1200     1197       -3
==========================================
- Hits         8109     8099      -10
- Misses        166      176      +10
  Partials        6        6

see 1 file with indirect coverage changes


[Cleanliness of the code] Add automated check, to ensure correct coding standards

Description:
In pursuit of maintaining code quality and adherence to the Kotlin style guide, this issue aims to implement an automated check to ensure that all Kotlin code contributions meet the specified coding standards. This step will streamline the review process by automatically verifying code cleanliness before merging any changes.
Objective:
The primary objective is to set up a mechanism that automatically checks Kotlin code against the Kotlin style guide using a linter or static analysis tool. This implementation aims to enforce consistent formatting, naming conventions, and best practices outlined in the Kotlin style guide.
Additional Information:
The chosen tool, whether it's ktlint, Detekt, or any other preferred option, will need to be integrated into the GitHub workflow. Consider using GitHub Actions to execute these checks automatically whenever a pull request modifies Kotlin files in the repository.

Works as intended: https://github.com/PKrystian/FiveNightsEscape/pull/5


Cannot download vimeo video

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2019.03.18. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x ] I've verified and I assure that I'm running youtube-dl 2019.03.18

Before submitting an issue make sure you have:

[x ] At least skimmed through the README, most notably the FAQ and BUGS sections
[x ] Searched the bugtracker for similar issues including closed ones
[x ] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue
$  pipenv run youtube-dl -v https://www.homegrownfoodsummit.com/john-livingston-chicken-mini-business/
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.homegrownfoodsummit.com/john-livingston-chicken-mini-business/']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2019.03.18
[debug] Python version 3.6.0 (CPython) - Windows-10-10.0.15063-SP0
[debug] exe versions: ffmpeg 2.8.4, ffprobe N-87353-g183fd30
[debug] Proxy map: {}
[generic] john-livingston-chicken-mini-business: Requesting header
WARNING: Falling back on generic information extractor.
[generic] john-livingston-chicken-mini-business: Downloading webpage
[generic] john-livingston-chicken-mini-business: Extracting information
ERROR: Unsupported URL: https://www.homegrownfoodsummit.com/john-livingston-chicken-mini-business/
Traceback (most recent call last):
  File "c:\cygwin64\home\jaco.jansen\.virtualenvs\youtube-cyogsqqv\lib\site-packages\youtube_dl\YoutubeDL.py", line 794, in extract_info
    ie_result = ie.extract(url)
  File "c:\cygwin64\home\jaco.jansen\.virtualenvs\youtube-cyogsqqv\lib\site-packages\youtube_dl\extractor\common.py", line 529, in extract
    ie_result = self._real_extract(url)
  File "c:\cygwin64\home\jaco.jansen\.virtualenvs\youtube-cyogsqqv\lib\site-packages\youtube_dl\extractor\generic.py", line 3320, in _real_extract
    raise UnsupportedError(url)
youtube_dl.utils.UnsupportedError: Unsupported URL: https://www.homegrownfoodsummit.com/john-livingston-chicken-mini-business/

it seems that url should be easily supported

How so? That's not a Vimeo link?

@Hrxn It's a Vimeo embed that isn't properly extracted.

Yeah, but how is youtube-dl supposed to know?
Isn't there some Vimeo button in the video corner? Or a share link, or the embed link functionality? Might get the Vimeo link from there.

A lot of sites put vimeo videos without download links embedded on their
webpages - it is also private and not available on vimeo. They do this so
that users purchase the videos or products, etc. This used to work, but has
been breaking now - vimeo must have changed something.
Let me know if the page has been removed, I'll probably find others.
On Thu, Mar 21, 2019 at 11:32 PM HRXN<EMAIL_ADDRESS>wrote:

Yeah, but how is youtube-dl supposed to know?
Isn't there some Vimeo button in the video corner? Or a share link, or the
embed link functionality? Might get the Vimeo link from there.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ytdl-org/youtube-dl/issues/20428#issuecomment-475210946,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABDFVX5CIxq1I4EvwWOYqXNOO-Nbe6cUks5vY3v5gaJpZM4cATb1
.

Yeah, but how is youtube-dl supposed to know?
Isn't there some Vimeo button in the video corner? Or a share link, or the embed link functionality? Might get the Vimeo link from there.

youtube-dl is supposed to find Vimeo embeds and download them.  In this case, finding the embed fails.  As @Tjorriemorrie said, you can't view it directly on Vimeo.


Find replacement for sodiumoxide crate (not urgent)

The sodiumoxide crate is marked as "archived" and will receive only security updates going forward: https://github.com/sodiumoxide/sodiumoxide
On the one hand, it should receive security updates, is stable, and is working fine for our needs, so there is no urgent need to update.
On the other hand, it would be good to be using something maintained going forward. If possible and secure, it would also be nice to use a pure-Rust library to reduce system dependencies and compile time, though it is nice to rely on the broadly-used known quantity that is libsodium (the underlying C library).

Yeah, I think we're fine with sodiumoxide for now. We can ignore any "unmaintained" advisories we get for it currently.
It would be great to have a robust and audited pure Rust replacement! I don't see one thing we could easily swap it out for that offers the secretbox algo stuff and the HMAC stuff together. We can keep this issue open for suggestions.

Here is an additional advisory I found: https://rustsec.org/advisories/RUSTSEC-2021-0137
I think the combination of hmac, sha256, and xsalsa20poly1305 crates would work together. Probably worth verifying the impact on build size.
(not proposing we make any changes before the next release)


Must i give attribution even if I use single noto emoji for memes?

The license of noto emoji quite puzzled me. It seems that both Apache and SIL license apply for this project. If it is Apache licensed, technically I must give attribution even if I use noto emoji for memes. If SIL licensed, user are much easier to use.
So, as a normal user (insetad of developer or designer), how to fairly use noto emoji for personal use? For example, use noto emoji in video effect, memes creation.

Please see https://github.com/googlefonts/noto-emoji#license.

Regarding the OFL, the OFL FAQ provides (not legally binding) explanation of the difference between distributing fonts and distributing documents that were created with the help of the fonts:
»Question: 1.10 Does the full OFL license text always need to accompany the font?
Answer: The only situation in which an OFL font can be distributed without the text of the OFL (either in a separate file or in font metadata), is when a font is embedded in a document or bundled within a program. In the case of metadata included within a font, it is legally sufficient to include only a link to the text of the OFL on https://scripts.sil.org/OFL, but we strongly recommend against this. Most modern font formats include metadata fields that will accept the full OFL text, and full inclusion increases the likelihood that users will understand and properly apply the license.
Question: 1.11 What do you mean by 'embedding'? How does that differ from other means of distribution?
Answer: By 'embedding' we mean inclusion of the font in a document or file in a way that makes extraction (and redistribution) difficult or clearly discouraged. In many cases the names of embedded fonts might also not be obvious to those reading the document, the font data format might be altered, and only a subset of the font - only the glyphs required for the text - might be included. Any other means of delivering a font to another person is considered 'distribution', and needs to be accompanied by any copyright notices and licensing information available in OFL.txt.
Question: 1.12 So can I embed OFL fonts in my document?
Answer: Yes, either in full or a subset. The restrictions regarding font modification and redistribution do not apply, as the font is not intended for use outside the document.
Question: 1.13 Does embedding alter the license of the document itself?
Answer: No. Referencing or embedding an OFL font in any document does not change the license of the document itself. The requirement for fonts to remain under the OFL does not apply to any document created using the fonts and their derivatives. Similarly, creating any kind of graphic using a font under OFL does not make the resulting artwork subject to the OFL.«
— https://scripts.sil.org/ofl-faq_web

I’m not a lawyer and what I write is not legal advice, but the common practice of understanding in the font community is that the »font« or »font software« is a piece of software that can be used to generate various texts that have some typographic appearance.
My understanding of the OFL is: if you distribute a computer file that is a document, that is, it’s not a computer file that can be used to generate various texts, then you’re not distributing the font in the sense of hot the OFL sees it.
Some people view a computer font to be a computer program. Then the text typeset with that font is the output of the program, not the program itself.
Again, I’m not a lawyer and what I had written is not legal advice, and I don’t represent Google in any way. But in 30 years of following licensing discussions, I haven’t heard any font maker requiring that documents credit the fonts used in them (except in very few cases where this has been clearly expressed in a proprietary EULA).
I do wish that the actual text of the OFL were more explicit on that, but well, OFL is what we have.

Thank you so much! If the font itself is OFL instead of Apache licensed, I think it is much easier to use!


Adds OnDismissListener and OnCancelListener to callback when the dialog dismisses

As title says, this pull request offers a way to get notified when the dialog dismisses. Saying technically, the listener will be invoked when the dismissing animation ends.

added another callback listener, notifies the user when DialogPlus is canceled.
thanks.

I misunderstood how listeners work that an ordinary dialog fires. the following commit removes separated usage that respectively notifes for dismissed and canceled, the listeners registered will be invoked at a same time when the dialog dismisses.

Great! LGTM


Deprecate "is" helper

It exposes jQuery to consumer, which should be avoided

Looks like there are quite a few methods that raise the jQuery deprecation in addition to is()

@evanb2 looks like you use new testing APIs setupRenderingTest + setContext in your test. Can you confirm it please? If such, I'd bet you just have to remove setContext.
setContext(this) or create({ context: this, ... }) currently enforces legacy moduleForComponent test helpers, which is likely a reason of deprecations you are seing. If you use setup**Test, most likely you don't need that legacy behavior.
We are currently actively working on deprecating this confusing behavior https://github.com/san650/ember-cli-page-object/pull/448.

@ro0gr Oh snap! Yeah removing setContext(this) fixed it.

This made it into 1.6x and Im now seeing the deprecations, however I find no suggestion on what to do instead. Any guidance?

@cah-briangantzler yes, we miss a relevant deprecation section in the deprecation docs page. That's the reason this issue is not closed yet. Thanks for raising it and sorry for inconvinience!
Using of is encourages users+ec-page-object to depend on JQuery-specific pseudo selectors, and, I believe, in a long run we aim to avoid JQuery selectors in user land by default. A proposed strategy would be to implement custom getter which does one explicit thing, so instead of:
  isDisabled: is('disabled')

the user should implement their own attribute for disabled, like:
import { findElementWithAssert } from 'ember-cli-page-object/extend';

export default function isDisabled(selector, options = {}) {
  return {
    isDescriptor: true,

    get() {
      return findElementWithAssert(this, selector, options)[0].disabled;
    }
  };
}

and then use it like:
  isDisabled: isDisabled()

does it work for you? Maybe you can share your use case, so we can understand better how the is is currently used and maybe incorporate it to the deprecation guide?

We currently use is for disabled and checked.
From reading the above code I understand, but rather than everyone recreating this code, would be nice if it was supplied as part of the addon.
Was talking with another team here and this is what they did
isDisabled: attribute("disabled", ""),
If this is correct, it may be better in the long run .
for the checked they did this
isChecked: property('checked', 'input')
I had previously used is in both cases.

Nice, thanks for examples, I think these are good candidates for the docs!
isChecked example looks good to me.
And I'm afraid with isDisabled calculated via attribute you may encounter some issues. AFAIK HTML attributes are static, so once element being rendered, its disabled attribute would never change.
I think for both cases(checked and disabled), if it's supposed to be ran against HTML Input element, it should be safe to use property, like:
isDisabled: property('disabled')

at least I can find such a snippet for isDisabled in one of my projects 😄

maybe for known cases, like 2 mentioned above, it would be easy to write a codemod to ease migration


install_service throws an error

Hello, thank you very much for your work. I am trying picklecast, but when trying to install it as a service I get the following error:

Traceback (most recent call last):
File "/home/user/.env/bin/picklecast", line 33, in
sys.exit(load_entry_point('picklecast==1.0.2', 'console_scripts', 'picklecast')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/.env/lib/python3.11/site-packages/picklecast/picklecast.py", line 198, in main
args.func(**vars(args))
File "/home/user/.env/lib/python3.11/site-packages/picklecast/picklecast.py", line 138, in install_service
service = base_dir.joinpath("picklecast.service")
^^^^^^^^
NameError: name 'base_dir' is not defined

What is wrong here?

This should be fixed in the latest version 1.0.3.  Let me know what happens.

Great! I will try it. Thank you.

I got a FileNotFound error:

Traceback (most recent call last):
File "/home/user/.env/bin/picklecast", line 33, in
sys.exit(load_entry_point('picklecast==1.0.3', 'console_scripts', 'picklecast')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/.env/lib/python3.11/site-packages/picklecast/picklecast.py", line 214, in main
args.func(**vars(args))
File "/home/user/.env/lib/python3.11/site-packages/picklecast/picklecast.py", line 146, in install_service
dest.write_text(service_text)
File "/usr/lib/python3.11/pathlib.py", line 1079, in write_text
with self.open(mode='w', encoding=encoding, errors=errors, newline=newline) as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/pathlib.py", line 1045, in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/.config/systemd/user/picklecast.service'

Creating the folder and copying the .service file from picklecast distributed files should solve the issue:

$ mkdir -p /home/user/.config/systemd/user/
$ cp /home/user/env/lib/python3.11/site-packages/picklecast/picklecast.service /home/user/.config/systemd/user/
$ picklecast install_service
Installed service to /home/kiosk/.config/systemd/user/picklecast.service
Enable the service by running:
systemctl --user daemon-reload
systemctl --user start picklecast

Thanks, I've fixed that too.

Thank you :+1:  It's is working now.


process not defined in all environments

Describe the bug I use NAJ in cloudflare workers and there is not process and of course no process.env so the following code throws errors:
https://github.com/near/near-api-js/blob/689705926fe437b8d8671d72e77148228c895992/lib/utils/errors.js#L31
I think this was introduced with the events that were recently added?
To Reproduce Steps to reproduce the behavior: 1. Run signAndSendTransaction in any environment without process.env
Expected behavior It works
Additional context I recommend checking ALSO if process is defined first, then checking process.env so that envs without process defined can still use these methods.

Hey @mattlockyer, thanks for reporting! Can I get some more info about how you setup near-api-js on a cloudflare worker?  Thank you.

You can also just try using v1.1.0 in a browser, since process is not defined there.
Automated tests should be able to catch this, no?


[Feature Request] full cone nat support?

Details
i use tproxy for proxy,but nat type is unsupporte server,hysteria can support full cone nat?
Value
add new function

I'm not sure it's possible to make it full cone because of the way TProxy works. Hysteria itself is already full cone in other modes though.


Add redirect for /components/ path

Why: Since its sensible that the top-level path is available at its index base, and to resolve a 404 from the IdP's frontend documentation (related discussion).

Thank goodness for visual regression specs, this caught that the new index.md would cause an entry to incorrectly be added to the navigation for components.

I can probably move it elsewhere like docs/components.md.

Closing since we're in the process of spinning down the site.
For the IdP 404, see: https://github.com/18F/identity-idp/pull/8159


Git show duplicate repositories located on UNC paths

Issue Type: Bug

The only difference between these two repos is the host case.
One spelled in uppercase, another spelled in lowercase.
I have to repeatedly close one of the repos to reduce network load from concurrently running git processes.
VS Code version: Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f, 2020-11-10T23:34:32.027Z)
OS version: Windows_NT x64 6.1.7601

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-3550 CPU @ 3.30GHz (4 x 3292)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.96GB (5.13GB free)

Process Argv
\DAEMON-EC.DARKDRAGON.LAN\anrdaemon\Documents\caduceus\bach-x5-gui --crash-reporter-id d05c8b79-33ba-42b6-8c5c-db1f4b0e913c

Screen Reader
no

VM
0%

Extensions (7)

Extension
Author (truncated)
Version

vscode-intelephense-client
bme
1.5.4

gitlens
eam
11.0.6

EditorConfig
Edi
0.16.4

php-debug
fel
1.13.0

todo-tree
Gru
0.0.190

composer
ika
0.7.1

sqltools
mtx
0.23.0

#107401 possibly related

Also microsoft/vscode#92945
Which subsequently causes felixfbecker/vscode-php-debug#320

Even vscode "$( cygpath -alw "$_arg" | sed -Ee '/^\\\\/s/^\\\\[^\\]+\\/\L\0/;' )" does not help.
Wonder where did VS Code do get the two paths.

This image should be more illustrative.

(The program was started with lowercase host name.)

Can you provide the contents of the Git Output panel when you first open the folder?

Probably related to #100274 and #113363

When started with lowercase host:
Looking for git in: C:\Programs\Git\bin\git.exe
Using git 2.28.0.windows.1 from C:\Programs\Git\bin\git.exe
> git rev-parse --git-dir
Open repository: \\<host>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git rev-parse --git-dir
Open repository: \\<HOST>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git show --textconv :caduceus-phpweb/tmbase/includes/api.php
> git show --textconv :caduceus-phpweb/tmbase/includes/messages.php
> git ls-files --stage -- \\<host>\anrdaemon\Documents\<repo>\<path>\includes\api.php
> git ls-files --stage -- \\<HOST>\anrdaemon\Documents\<repo>\<path>\includes\messages.php
> git cat-file -s db7cda155b5a8180b600615c0a882ceffa108ab7
> git cat-file -s af6c2b3341881bf4eb845cd08d1001c6d8414de7
> git check-ignore -v -z --stdin

When started with uppercase host:
Looking for git in: C:\Programs\Git\bin\git.exe
Using git 2.28.0.windows.1 from C:\Programs\Git\bin\git.exe
> git rev-parse --git-dir
Open repository: \\<HOST>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git rev-parse --git-dir
Open repository: \\<host>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git show --textconv :caduceus-phpweb/tmbase/includes/api.php
> git show --textconv :caduceus-phpweb/tmbase/includes/messages.php
> git ls-files --stage -- \\<host>\anrdaemon\Documents\<repo>\<path>\includes\api.php
> git ls-files --stage -- \\<HOST>\anrdaemon\Documents\<repo>\<path>\includes\messages.php
> git cat-file -s af6c2b3341881bf4eb845cd08d1001c6d8414de7
> git cat-file -s db7cda155b5a8180b600615c0a882ceffa108ab7

When started with lowercase host:
Looking for git in: C:\Programs\Git\bin\git.exe
Using git 2.28.0.windows.1 from C:\Programs\Git\bin\git.exe
> git rev-parse --git-dir
Open repository: \\<host>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git rev-parse --git-dir
Open repository: \\<HOST>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git show --textconv :caduceus-phpweb/tmbase/includes/api.php
> git show --textconv :caduceus-phpweb/tmbase/includes/messages.php
> git ls-files --stage -- \\<host>\anrdaemon\Documents\<repo>\<path>\includes\api.php
> git ls-files --stage -- \\<HOST>\anrdaemon\Documents\<repo>\<path>\includes\messages.php
> git cat-file -s db7cda155b5a8180b600615c0a882ceffa108ab7
> git cat-file -s af6c2b3341881bf4eb845cd08d1001c6d8414de7
> git check-ignore -v -z --stdin

When started with uppercase host:
Looking for git in: C:\Programs\Git\bin\git.exe
Using git 2.28.0.windows.1 from C:\Programs\Git\bin\git.exe
> git rev-parse --git-dir
Open repository: \\<HOST>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git rev-parse --git-dir
Open repository: \\<host>\anrdaemon\Documents\<repo>
> git status -z -u
> git check-ignore -v -z --stdin
> git check-ignore -v -z --stdin
> git symbolic-ref --short HEAD
> git rev-parse <branch>
> git rev-parse --symbolic-full-name <branch>@{u}
> git rev-list --left-right <branch>...refs/remotes/origin/<branch>
> git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname)
> git remote --verbose
> git config --get commit.template
> git show --textconv :caduceus-phpweb/tmbase/includes/api.php
> git show --textconv :caduceus-phpweb/tmbase/includes/messages.php
> git ls-files --stage -- \\<host>\anrdaemon\Documents\<repo>\<path>\includes\api.php
> git ls-files --stage -- \\<HOST>\anrdaemon\Documents\<repo>\<path>\includes\messages.php
> git cat-file -s af6c2b3341881bf4eb845cd08d1001c6d8414de7
> git cat-file -s db7cda155b5a8180b600615c0a882ceffa108ab7

Do you need any more information?

Do you need any more information?

Still an issue with 1.55.1

This is REALLY annoying. Running two git scans in parallel over the same network share is highly taxing on network throughput.
Especially considering that remote system is connected over WiFi.

What is the output of git rev-parse --git-dir?

Depends, where in the tree you call it. In the repository root directory it's just .git.
In any subdirectory - //<HOST>/anrdaemon/Documents/<repo>/.git.
I suppose, that explains it. Given relative path (.git) VS Code prepends it with workspace directory. Which is, unsurprisingly, has a lowercased <host>.
git version 2.30.1.windows.1

Any news? I had to move workspace directory a level below project root, but not every project allows such luxury.

I think I understand what's going on.
I noticed that in Explorer panel, some workspace files are shown with relative path (and show uppercase host when hovered), and some open with absolute path with host part shown lowercased.
The files can be opened from different sources (active debugger being a ready one), and VS Code must normalize paths at all times and try to match files to the workspace first. Else… stuff happens.

Simple reproduction:

Install https://github.com/bmewburn/vscode-intelephense/releases/tag/v1.7.1
Open workspace from an UNC path.
Open file src\Wrappers\PDOMysql.php.
From class declaration, position to parent class (PDOWrapper) and call "Go to definition".
Check the open files. PDOWrapper.php is opened from a path that appears to be outside the ${workspaceFolder}

This immediately causes a second Git repository to be opened on the VCS panel.

If any more information is needed, please ask.

And today it again created a new workspace for existing project.
\f0fbfcd256df0491… file://hosting64.darkdragon.lan/wwwroot/ccenter 228a505f 2022-01-19
\15d47c17de344125… file://hosting64.darkdragon.lan/wwwroot/ccenter 228a505f 2022-06-12

workspace.json is exactly identical in both workspaces. The hash is CRC32 of the workspace path. As you can see, it is identical, so no hidden symbols or anything.

I have this issue too.  Each time I close the duplicate repository, it gets added again later on.

 Thanks!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!

Poke-poke.
Note the window title. This is really NOT useful to work with.

I did that on multiple occasions. What you are looking for in particular?

I am not seeing that information in any of the comments on this issue. What I would like to understand is how does VS Code discover the repositories and why are there two instances of the same repository.

Also https://github.com/microsoft/vscode/issues/112231#issuecomment-819332847

Internet suggests git rev-parse --absolute-git-dir instead of git rev-parse --git-dir.

@AnrDaemon, sorry for not getting back to you on this until now. Since you have provided the logs we have made many improvements for the logging as well as the repository discovery code. Could you please ensure that you are running the latest VS Code version (1.92) and implement the following steps:

Invoke the "Git: Show Git Output" window command from the command palette
Use the "Gear" action on the right hand side of the output window and select "Trace"
Use the "Gear" action on the right hand side of the output window and select "Set as Default"
Close VS Code
Open VS Code and share the contents of the git output window that contains the trace logs

873b3be2ddafb0fc}file://daemon1.darkdragon.lan/anrdaemon/Documents/_PHP/ext-dl 9cff10fd 2024-08-21
b5da8fd6a9e21de2}file://daemon1.darkdragon.lan/anrdaemon/Documents/_PHP/ext-dl 9cff10fd 2024-08-21

It created two workspaces for the network path AGAIN.
Since I have to keep Git API disabled in default configuration, and only enable it per-workspace, it a case of luck if it connect correct extensions on opening the workspace.

Tried some moves, but I can no longer cause the title issue.
Git.log with uppercase host (Ignore the very last failure, it is from opening log file in the editor.)
Git.log with lowercase host
However, the path comparison in general is not useful, see above, and image below:

@AnrDaemon, could you please download VS Code Insiders 1.95 that was released this week?
I have made some changes to repository discovery that impacts Windows and folder/workspace that use a UNC path. Thanks!

Will do in a week.
A small note in the mean time, the commits panel was still showing two repositories. I just recalled.

A small note in the mean time, the commits panel was still showing two repositories. I just recalled.

The "Commits" view is not part of VS Code, and it probably contributed by an extension (GitLens?).


[Simple Reminder] Allow option to use self-hosted ntfy service

Extension
https://www.raycast.com/comoser/simple-reminder
Description
Currently, the extension allows using ntfy to send mobile notifications, but does so only through the public server at ntfy.sh which means all notifications are publicly readable. I would like a configuration option to use my own, self-hosted ntfy server to keep my notification data private. By doing so, I can utilize the builtin access control mechanisms of ntfy.
Who will benefit from this feature?
Anyone who cares about privacy.
Anything else?
You can read more about ntfy access controls here.

@zeitchef that’s indeed something very beneficial to add. I’ll work on it as soon as possible 👍

@zeitchef in the oven! ☝

@zeitchef enjoy 👐


First stl-reader tests based on IRT SCF tests

Some of the test files of the IRT SCF STLXML2EBU-TT module have been used.
The STLXML files have been translated to binary stl files.
Assertions have been adopted for the ttconv stl-reader.

Close this PR in favor of PR #264


unrecoverable failure on non-EC2 system

When run on a non-EC2 server facter has on unrecoverable error because of this line:
INSTANCE_ID = Net::HTTP.get('instance-data', '/latest/meta-data/instance-id')

fix applied


Note: Use end callback when dealing with file streams

Note for you @indexzero when reimplementing the file-transport.
When switching to a new file to write to you can:

create a new stream that would begin getting written to
end the stream and pass it the callback to know when its flushed everything in its buffer to disk.

Random notes:

The drain event is called when the amount of data in the buffer reaches the highWaterMark
What this means is that logs are not flushed to disk when the drain event is called but it means we can begin writing to it again from a backpressure standpoint (if we ever hit that threshold when writing to a file).
The only way we know when logs are flushed to disk is when the the callback passed to end is called or the finish event is called if end was called without passing a callback.
The above may not hold true during uncaughtExceptions but i think it will get us pretty close.

Closing as a duplicate of #1144 – which is now resolved \o/


Open Source Guides LOGO

Hello @everyone!
Currently there is a special logo / icon owned by Open Source Guides?

@k-syusteem

If you're asking whether an Open Source Guides logo exists, I don't see one. 😄
Feel free to be more specific and ask again if you had a different question.

I will design it for you, is it possible?

Hi @k-syusteem thanks for the offer but I don't think we're looking for a project logo at this time.


Change not triggered after custom Input update model

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

Current behavior
legend:
FORM: the controller where is declared the form.
CUSTOM_INPUT: the custom input created with ngx-form.
COMPONENT: the component declared in the template of CUSTOM_INPUT.
I created a custom type input in ngx-formly, the template of this custom input is COMPONENT that bind out a value with formControl (COMPONENT implements ControlValueAccessor).
COMPONENT is formed by 3 select box.
When value of COMPONENT is bind to CUSTOM_INPUT, i try to bind it with this.formControl.setValue(myValue); to FORM.
The problem is that "change" method of templateOptions of CUSTOM_INPUT it not trigger.
I try also to pass formlyAttributes to COMPONENT and i see that if i set formlyAttributes to my 3 select box of COMPONENT the method change in FORM is triggered, but is triggered every time that i change value of one of the 3 selectbox of COMPONENT.
Expected behavior
I expected that the change event is triggered when formControl.setValue(MyValue) is called inside CUSTOM_INPUT.
Minimal reproduction of the problem with instructions
This is a use case found on google that is exactly the same of my problem.
https://stackblitz.com/edit/angular-ngx-formly
Just add
change: (field: FormlyFieldConfig, event?: any) => { debugger }
in templateOptions of
fields: FormlyFieldConfig[] = [ { key: 'state'.....
in app.component.ts file
What is the motivation / use case for changing the behavior?
I expected to can create custom ngx-form input that use custom input component like template.
In this case with 3 select, i can't use formlyAttributes, for the problem of triggering that i said before.
Please tell us about your environment:
Ubuntu 18.04, Visual Studio Code, npm

Angular version:
8.2.9

Browser:
Chromium 77

Language:
TypeScript 3.6.0

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

the change callback is triggered when the UI changes, for UI & programmatically changes may use formControl.valueChanges:
export class AppComponent implements OnDestroy {
  onDestroy$ = new Subject<void>();

  fields: FormlyFieldConfig[] = [
    {
      key: 'name',
      hooks: {
        onInit: (field) => {
          field.formControl.valueChanges
            .pipe(takeUntil(this.onDestroy$))
            .subscribe(value => { ... });
        },
      },
    }
  ];

  ngOnDestroy(): void {
    this.onDestroy$.next();
    this.onDestroy$.complete();
  }
}

we'll try to simplify it in the future to something like:
{
  key: 'name',
  valueChanges: ({ field, value }) => { ... },
}

I tried it and it works with my custom input! Thank you for the explanation

@aitboudad I'm sorry to bother you but I'm unable to use the valueChange prop, and after checking in releases notes I didn't found any reference to #2244, commit ef0eb11 or 4b6764c. I've even checked in my formly node modules and didn't find it either.
I've formly 5.10.6 installed :
├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>

@comrem not part of v5 releases, here is an alternative way:
{
  hooks: {
    onInit: (field) => {
      // subscription and unsubscribe is handled by formly
      return field.formControl.valueChanges
        .pipe(tap(value => console.warn(value))),
      ;
    }
  }
}

@aitboudad ok, thanks for the quick answer ! I already used the alternative way because you provided it above, just wanted to make it as clean as possible and wasn't able wasn't able to find the valuChange propertie while the PR was tag as merged.
Have a nice day and keep up the good work !

Hi team,
would like to get help on how to change the type of input dynamically,lets say from input field to autocomplete based on a condition.Any help is highly appreciated!!

Hi team,
would like to get help on how to change the type of input dynamically,lets say from input field to autocomplete based on a condition.Any help is highly appreciated!!


Optimize cStringArrayToSlice python check helper

What does this PR do?

Use string interning for cgo strings
Eliminate unnecessary cgo call to C.getStringAddr
Pre-size string slice returned by cStringArrayToSlice
Add a benchmark to estimate the impact

goos: linux
goarch: arm64
pkg: github.com/DataDog/datadog-agent/pkg/collector/python
                        │  before.txt  │              after.txt              │
                        │    sec/op    │   sec/op     vs base                │
_cStringArrayToSlice-10   1189.0n ± 5%   221.9n ± 2%  -81.34% (p=0.000 n=10)

                        │ before.txt │             after.txt              │
                        │    B/op    │    B/op     vs base                │
_cStringArrayToSlice-10   624.0 ± 0%   160.0 ± 0%  -74.36% (p=0.000 n=10)

                        │ before.txt  │             after.txt              │
                        │  allocs/op  │ allocs/op   vs base                │
_cStringArrayToSlice-10   15.000 ± 0%   1.000 ± 0%  -93.33% (p=0.000 n=10)

Motivation
My estimate is that this change will reduce the agent CPU usage on staging by up to 6% due to:

~3% CPU reduction by direct optimizations of cStringArrayToSlice
~3% CPU reduction by up to 35% reduction of GC work

This estimate is based on the data from this notebook. The GC cost reduction calculation can be found in this spreadsheet.
The real impact will probably be a little lower, but hopefully not by much. I'm hoping to see 4-5%.
Additional Notes
I was hoping the basic_py_check introduced in https://github.com/DataDog/single-machine-performance/pull/1671 would detect the improvements made in this PR, but looking at the profile, it looks like it's creating almost no python check load, so it's not detecting anything. But it's likely that I misunderstand the purpose of this check 😅
Possible Drawbacks / Trade-offs
Bugs in the code could lead to crashes or memory corruption.
Describe how to test/QA your changes
So far I've only estimated the impact. I guess the next step could be to deploy this to staging?

This looks very nice, but we should probably also have a SubmitMetrics that sends multiple metrics sharing the same tags and host :)

This looks very nice, but we should probably also have a SubmitMetrics that sends multiple metrics sharing the same tags and host :)

Oh, that sounds like a very good idea as well. I'll admit to not having taken a close look at that part of the call tree yet 😅. Would this require patching a lot of python code?

Thanks for the review @scottopell 🙇 . This is ready for another look.

/merge


gospodipoda, assessee

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[a,g]

/trunk merge


Chosen dropdown styles to align with new CMS form styles

Chosen dropdown styles to align with new CMS form styles, this only needs to happen if Chosen isn't replaced with a bootstrap React component first, see https://github.com/silverstripe/silverstripe-framework/issues/5670

Duplicate of #5670


Update docstring for kw Sleep to specify the default value

Explain in the docstring of the keyword Sleep, that when a value is provided, as argument, without specifying minutes or seconds, that the default is seconds.
Related PR: https://github.com/robotframework/robotframework/pull/4479

Good idea to make the keyword documentation more explicit about this. Already fixed in PR #4479. Thanks @F3licity!


ESP restarts on ESP-NOW initialization failure

It would be helpful not to restart ESP if ESP-NOW could not be initialised.
We have a project that may benefit from ESP-NOW but is not mandatory so it may be ok to fail initialization.

I am talking about this piece of code:

I'll check it. Thanks for pointing out.


Time traveling!

This relates to issue #8
I've been testing out some possible ways of implementing the use of system tables via Hive, and this PR shows one way of extracting snapshot metadata from a regular Iceberg table into a separate Hive table you can query. Here's some more info on what's going on:
How you create the table

First create your regular Hiveberg table and add some data to it
Now create a snapshots table that references your original table:

CREATE TABLE source_db.table_a_snapshots
STORED BY 'com.expediagroup.hiveberg.IcebergStorageHandler'
LOCATION 'path_to_original_table'
TBLPROPERTIES ('iceberg.catalog'='hadoop.catalog'
		'iceberg.snapshots.table'='true',
		'iceberg.table.name'='source_db.table_a',
		'iceberg.warehouse.location'='path_to_original_table_warehouse')

The table should have a name like [original_table_name]_snapshots
There are some extra TBLPROPERTIES needed for this table:

iceberg.table.name is needed because we need a reference to the original table name so we can still load it properly although if we want to cut down on the amount of properties to set, we can probably extract the original table name in the InputFormat
iceberg.snapshots.table is set to true if you want to create a snapshots table

How it works
In TableResolverUtil which we use to load the Iceberg table via the catalog, it checks whether the snapshots flag^ is set to true, and if it is, it will load the snapshot table instead of the regular table. This is neat for a few reasons:

The IcebergSerDe uses the resolved table to fetch the schema of the table and creates the ObjectInspector based on the schema, so we don't need to pass in a separate SnapshotTable schema ourselves (i.e. no code changes needed in SerDe)
We don't need to change much for the RecordReader, because the SnapshotTable still does a TableScan and creates ScanTasks that have DataFiles (what we use to read regular records)

The biggest change needed is for how we want to extract records out of the SnapshotTable DataFile, because it is slightly different.
This new DataFile has a file format of METADATA (which means it points to the metadata.json file that we've explored before). Problems here:

There isn't currently a reader in Iceberg that reads this metadata file like the Parquet/ORC/Avro readers do, so I've implemented a work-around where we use the original Table object to fetch the list of snapshots and transfer the snapshot metadata into an Iceberg Record that Hive can read and output.
Adding this ^ meant the least change was needed to the actual InputFormat implementation

Running the test gives me this output:
committed_at  | snapshot_id         | parent_id | operation | manifest_list        | summary
----------------------------------------------------------------------------------------------
1588341995546<PHONE_NUMBER>564622918   null        append     /var/folders/sg/...    {"added-data-files":"1","added-records":"3","changed-partition-count":"1","total-records":"3","total-data-files":"1"}

It's pretty cool that we can see some of this metadata from Hive, but some questions:
What next

Is this the best way of doing this?
How can we then use this information to time travel in queries? I'm not sure if adding a column with snapshot_id's or something is useful (i.e. virtual columns) because every column currently would have the same snapshot_id because they're all part of the same snapshot...
Should we get rid of SnapshotIterable and create a proper reader instead that reads from the metadata.json file? This means we don't have to pass the Table object around

TODO's

Type conversion problems has meant I've put Iceberg Timestamps -> Hive Long type but maybe could do a conversion somehow to use Hive Timestamp type
Property fetching from conf can probably be cleaner

An update on latest implementation:
The creation of a __snapshots table has stayed the same, except you no longer need to set the extra properties of iceberg.snapshots.table and iceberg.table.name. If the table has a name ending in __snapshots we automatically assume that we should load the snapshots table instead of the regular one. Users can explicitly override this if they want (test for this is included).
To time travel
You can set a specific snapshot to timetravel to by specifying something like SELECT ... WHERE snapshot_id =<PHONE_NUMBER>1. This feature only works with the StorageHandler because we extract the snapshot_id using the HiveStoragePredicateHandler interface as part of the SH. This is also the only way we get predicate pushdown, so it could be worth saying the (only/best) way to use Hiveberg is by using STORED BY ...IcebergStorageHandler.
Tables will now always have a virtual snapshot_id column, except it isn't really 'virtual' because if you do SELECT * FROM... the snapshot_id column is included in your output. This is something that can be investigated more if we want to get rid of this default


fillPoly draws incorrect polygon

Affected hardware version
Bangle 2
Your firmware version
2v16
The bug
fillpoly draws a polygon on screen while none is expected in the following example:
(i expect nothing since all y coordinates are negative)
let px = 88;
let py = -253;
let x = 12;
let y = -2071;
let ox = 2.99738204658;
let oy = -0.12530309985;

        g.fillPoly([
          px + ox,
          py + oy,
          x + ox,
          y + oy,
          x - ox,
          y - oy,
          px - ox,
          py - oy,
        ]);

i have the bug both on the watch and on the emulator
Installed apps
No response

Ahh, ok - thanks! I think the issue here is likely that the coordinate y is so negative that it overflows in the drawing routine (which uses 16 bit x16 fixed point values) and becomes positive again.
I guess we could try and clip values as we convert them to fixed point, but it is this something that's happening to you with real code? It feels like probably if you're drawing something at -2000 then it's a bug in the code?

hi,
yeah it's actually real code.
i'm still working on the gps and some segments can be several kilometers long. since the display scale is way smaller
it is possible to reach such coordinates.
note that there is no emergency on my side, i can figure a workaround.

Ok, thanks! Just put a fix in - but you'll need a cutting edge Espruino firmware to fix it (or 2v18 when it's released)


AnsibleFest Q: Can this be used with packer?

I wanted to try to add some of the topics that came up in the Q&A as issues so that hopefully I could come back to them. One person asked if this could be used with HashiCorp's packer to deploy images. Resolution of this would mean including an example of how that might work in the playbook if that is possible.

is the idea to use Ansible to control the packer build, or simply use already existing packer templates?


custom layout?

Description
Hello,
Can the dashboard 2.0 have a different layout? defined by a template for example
Have you provided an initial effort estimate for this issue?
I have provided an initial effort estimate

I built the initial Layout architecture with this in mind, but haven't really had an opportunity to revisit it and work out the how. The initial ides was you would be able to define a template where you define where/how groups/widgets are positioned.
You can add a ui-template as a "Page Scoped Widget" and you can do whatever you like in there, it would all need to be Vue code inside your template, but it could fill the page.


Item location will not affected by floorplan change

Hi, I would like to ask if it's possible to maintain the item location after changing floorplan/room size ? e.g I put the door or window in the center of the wall, And I resize the floorplan, I increase the width of the room,
can the item still on that location ? I mean still centered ? Thanks

Micreales,
This itself is a complex problem to solve. Because walls if they are straight this can be done by finding the proportions of x,y,z location based on the wall they are in. If they are curved it gets more difficult.


Doc/add faq section

Added the faq section and did some basic clean up that begins to align the doc with the Google developer style guidelines.

@dnwillia I've incorporated the info from the FAQ PPT that Nima Bohlooli Arkhazloo shared with me as a new page in the "Getting started" section of the PyFluent documentation. I did have to convert it from the bulleted list format in the original PPT source to the complete sentence style required by the Google developer style guide and Vale style checks. I also have more installation information from a PPT shared with me by Pablo Aguado but will consider adding content from it to the exisiting installing in the PyFluent documentation in a separate PR next week.

@seanpearsonuk All excellent points! I've added Ryan O'Conner as a reviewer as he and Nima supplied the basic content. Nima doesn't seem to have access, but Ryan should be able to review and comment.

@seanpearsonuk @dnwillia-work Any change of getting the remaining conversations resolved and this PR merged soon?
@rploconnor Do you have time to do a review and approval?


value update (switcher 0/1)

I would like to update the "show" value:
if value is 0 then change to 1
if value is 1 then change to 0
My current code is:
// get the value
$value = $this->db->get($this->table, 'show', [
'id' => $id
]);
// change the value
$this->db->update($this->table, [
'show' => 1 - $value,
], [
'id' => $id
]);
Is this possible with only one update query in medoo?
Thank you

I didn't test it but it might work, bassically you can treat value as a boolean and then parse it to int, something like this:
$this->db->update($this->table, [
    'show' => (int)!$value,
], [
    'id' => $id
]);

Let me know if it worked :)

$value is undefined


Update monorepo usages after bumping a package

For monorepo support to really work, this also has to go hunt and update co-dependent packages. So whenever a package is updated, Knope should go check every other registered file of the same type for dependencies that match the package name and update them. Lockfiles will probably also need updating—but lockfiles tend to have hashes which could get tricky to do without calling out to the package manager.
Originally posted by @dbanty in https://github.com/knope-dev/knope/issues/153#issuecomment-1079795920

This is gonna get super complex, so there is now a discussion #307 for talking about related use cases which can spawn more targetted issues.


clearOnSelect option

I was going to make a PR to skip hiding the list on select and wanted to see if you see any reason not to do this.
We are selecting multiple items and showing a checkbox in the list next to the selected items, so we don't want the list to disappear after select.
If you see no issues with this, I'll create a PR for you to review.

Please make a PR :)

👍  What's the purpose of documentClickHandler? Just to dismiss the list if you click outside of the component?

yes indeed

@tcigrand I am closing this for now, let me know if your'e troubled by something.


input will not reset the state

What platform were you using when you found the bug?

React Flow version: 12.3.1
Browser and version: Chrome 129.0.6668.60 (arm64) / Firefox Developer Edition 131.0b9 (aarch64)
OS and version: macOs 14.6.1 (23G93)

Live code example
~~https://codesandbox.io/p/sandbox/react-flow-starter-ts-r69228~~
https://codesandbox.io/p/sandbox/optimistic-nova-4fgdsg?workspaceId=d0671b60-d857-4550-9dcf-3056f062d844
Describe the Bug
When clicking on content outside the input, getSelection().toString() still retains the selected value of the input.
Steps to reproduce the bug or issue

Fill in some values in the input
Select all
Click on content outside the input
Observe getSelection().toString()

Expected behavior
When I click outside the input, getSelection.toString() should return an empty string.
Screenshots or Videos
https://github.com/user-attachments/assets/2a3db441-a637-4a53-b5c6-da9fcba186d9
Additional context
No response

Your sandbox just links to a the template and has no changes in it relevant to the issue you described.
Could you please link a working sandbox that reproduces your issue?

Your sandbox just links to a the template and has no changes in it relevant to the issue you described. Could you please link a working sandbox that reproduces your issue?

Sorry. new like: https://codesandbox.io/p/sandbox/optimistic-nova-4fgdsg?workspaceId=d0671b60-d857-4550-9dcf-3056f062d844

Your sandbox isn't public

@bcakmakoglu Oh. Sorry again...🤦. It is now public.

@BlackHole1 You mean the issue being that it says 'React Flow'?
If so, the reason for this is because you are selecting the attribution with meta-a as well. We should fix this in our default styles. Meanwhile, you can simply add this piece of css to your app to mitigate this issue for now.
.react-flow__attribution a {
   user-select: none;
}

Realized I mixed up the order of things. Clicking outside the flow indeed does not reset selections.
But isn't this how inputs work? You can also try to hit tab (next node gets focused, and the selection seems to disappear) then hit shift-tab (previous node gets focuses and the previous text selection reappears again).

But isn't this how inputs work?

It depends on the situation and the behavior of the browser:

If the mouse clicked outside of the input/textarea, then the selected state should be reset.
If it was through tab/shift+tab, then the selected state should not be reset.

Interesting find.. Maybe it has something to do with d3-zoom and d3-drag? I will have a look.


Restructure readme doc for readability

I would suggest the following structure:
Google Cloud Platform Tomcat Runtime Image
Using the Tomcat image
Running on App Engine Flexible
Cloud SDK
Using custom Dockerfile
Other platforms
Configure the Runtime
Tomcat properties
Security best practices
Modules
Distributed sessions
Stackdriver traces
Development Guide
Licensing

I would rename "Configure the Runtime" -> "Configuring the Runtime".
And make ("Module" -> "Optional Modules") a subsection of "Configuring the Runtime". Otherwise, it looks good to me.

I agree for "Configure the Runtime" we might even want to rename it "Configuring Tomcat" as users can add arbitrary properties to catalina.properties.
However, to me, it seems preferable to keep the "Optional Modules" part outside of the main configuration as those modules can be considered as an advanced usage.
I would imagine a typical user experience to be:
1 Deploy a sample application.
2 Configure Tomcat (e.g to match the configuration of their previous application).
3 Experiment with the modules (To leverage the integration with GCP).
Therefore merging the documentation about Tomcat configuration (that the user may know beforehand) and our modules configuration could be confusing.
What do you think?

Sounds reasonable. Let's continue the discussion in a PR.


Generating Markdown breaks chat window

VS Code Version: 1.83.0
OS Version: 10.0.19045 Build 19045 (Windows 10 pro)

Steps to Reproduce:

Prompt the chat with Write me an example Readme in markdown
The generated Markdown breaks the output at some time

After that, it's not possible to simply copy and paste the output in a Readme.md for example.
Also, it's not possible to save the output to a new file, see example output in attached file.
Logs
20231010T210710.zip
Broken Output File
# Project Name.md
Screenshots

I had also issues with generated html code.

The problem is that it tried to write a codeblock inside a codeblock, so some is in a codeblock and some is just rendered markdown


Integration Test - Release - 2019/05/14 22:17:48

Auto create for integration test. DocfxAuthorMetadataFlow

@PRMergerTest2 : Thanks for your contribution! The author, @bharney, has been notified to review your proposed change.


Fix registry dir README

The README in the registry directory was still the boilerplate hardhat README, which is not correct.

@dtbuchholz This seems to have fell through the cracks in the lead up to convergence. Mind giving this a review?


KTGames

Hatchlings game submission for 3 of a kind game jam by KTGames.

Hi @ohallaatme, your PR adds a .DS_Store file outside of your project folder. This is not allowed.
Due to the nature of this file, deleting it should have no effect on your project. Could you please make an extra commit removing this file, and push it? Please do not make any other changes in this commit.
We will then be able to merge your project. Thanks!

@kwzrd I am having a lot of trouble getting rid of that file in the root. I ran the following terminal command which cleared out the sub directories:
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
and
find . -name '.DS_Store' -type f -delete
I cant edit the root .gitignore to correct this either. Do you have any suggestions on how to best delete it? Its not showing on my computer and havent been able to find a good solution.

@kwzrd I think I got it resolved but let me know if there are any other issues with it.


i am getting error while running HGT_workflow

when i run command for my gene, i get error please check gene accesion id.
python HGT_workflow.py input.fasta
This is gene 1------------------
NG_048001
Yes, blast file already exists, nice!
Attention: please check the gene accession id!

I have ncbi genbank file and taking protein accession id for the gene (that is refseq accession id)

Currently, the input protein id only applies to the GenBank database. If you are interested, you can use the protein accession id in GenBank to try the prediction. But in the next update, we will also consider other protein ids from RefSeq.