IDbContextFactory and RC2 Migrations

As per the title if you use an IDbContextFactory<TContext> during migrations this must have a default constructor, or a MissingMethodException is thrown (Seems this has been mentioned previously here too after some further looking #4832).
Granted in this example the factory isn't really going to be required, however I have other projects which are going to be using an IDbContextFactory<TContext> factory implementation for various reasons.
I get the following error when trying to add a migration and assume that this is the culprit:
DbContextOperations.cs Line 148:
System.MissingMethodException: No parameterless constructor defined for this object.
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)
   at Microsoft.EntityFrameworkCore.Design.DbContextOperations.<>c__DisplayClass12_0.<FindContextFactory>b__2()
   at Microsoft.EntityFrameworkCore.Design.DbContextOperations.CreateContext(Func`1 factory)
   at Microsoft.EntityFrameworkCore.Design.DbContextOperations.CreateContext(String contextType)
   at Microsoft.EntityFrameworkCore.Design.MigrationsOperations.AddMigration(String name, String outputDir, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType)
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
   at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
No parameterless constructor defined for this object.

Bit of background on the project if required (using RC2 bits from the aspnetrelease feed):
...
src\
    \AspNetCoreRc2Project
    \AspNetCoreRc2Project.Data
    \AspNetCoreRc2Project.Entities
...

In the website project Startup I have this:
public void ConfigureServices(IServiceCollection services)
        {
            //services.AddMvc(); <-- This causes issues mentioned elsewhere for migrations so commented out for now
            services.AddDefaultServices();
            services.AddScoped<IConfiguration>(x => Configuration);
            services.AddDataServices(Configuration);
        }

AddDataServices is from an extension method in the Data class library project:
 public static class ServiceExtensions
    {
        public static IServiceCollection AddDataServices(this IServiceCollection services, IConfiguration configuration)
        {
            if (configuration == null)
                throw new ArgumentNullException(nameof(configuration));

            services.AddEntityFrameworkSqlServer()
                    .AddDbContext<DataContext>(options =>
                    {
                        options.UseSqlServer(configuration["Data:ConnectionString"]);
                    });

            services.TryAdd(GetDataServices());

            return services;
        }

        private static IEnumerable<ServiceDescriptor> GetDataServices()
        {
            yield return ServiceDescriptor.Scoped<ISiteService, SiteService>();
            yield return ServiceDescriptor.Scoped<IDbContextFactory<DataContext>, DataContextFactory>();
        }
    }

I'll preface that with the above, and creating a migration does not work at all, because options.UseSqlServer(...) isn't picked up on.
So getting that I simply override the OnConfiguring method on the DataContext:
protected override void OnConfiguring(DbContextOptionsBuilder options)
        {
            options.UseSqlServer(
                "Server={...}",
                b => b.MigrationsAssembly("WebMonitoring"));
}

The above is fine, when I don't want to get my connection string from a configuration file...
However I do, so I changed the constructor to inject the configuration like:
public DataContext(IConfiguration configuration)
{
    if (configuration == null)
        throw new ArgumentNullException(nameof(configuration));

    _configuration = configuration;
}

and use this:
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
    options.UseSqlServer(
                _configuration["Data:ConnectionString"],
                b => b.MigrationsAssembly("WebMonitoring"));
}

This is OK and migrations work as expected with dotnet ef migrations add <...>, however if I implement a IDbContextFactory<TContext> such as:
internal class DataContextFactory : IDbContextFactory<DataContext>
{
    private readonly IConfiguration _configuration;

    public DataContext Create()
    {
        return new DataContext(_configuration);
    }

    public DataContextFactory(IConfiguration configuration)
    {
        if (configuration == null)
            throw new ArgumentNullException(nameof(configuration));

        _configuration = configuration;
    }
}

I get the error mentioned at the beginning of the post.

Would it be possible to try and resolve the factory using the IServiceCollection first, rather than simply constructing it via Activator.CreateInstance?
Not sure what side-effects that would have though.

@danielcirket IDbContextFactory is typically used when EF can't get a hold of the service provider (i.e. we can't work out how to interact with Startup.cs). If we can get the service provider, then we would just resolve the context directly and not worry about the factory.

We'll look at this in RTM as part of the overall interaction with Startup.cs

Just to add some information, from @bricelam comment at https://github.com/aspnet/EntityFramework/issues/4441#issuecomment-181505444:

Think of IDbContextFactory as an application entry point. Just like the runtime entry point, it will need to setup the service container (e.g. by calling Startup.ConfigureServices)

This implies that with the current design IDbContextFactory implementations need to be self-contained and not take arguments. If we started resolving them from DI first, that would break the contract that "you just need to implement an IDbContextFactory<T> and we will find it".

Notes for Triage: This is currently by-design. If an IDbContextFactory is found for the context, we will always try and use that to instantiate the DbContext. This is because IDbContextFactory is intended to override all other mechanisms (including getting an instance from the service provider and calling the DbContext's default constructor).

Agreed. For me the take away from this issue is that the name IDbContextFactory doesn't completely convey what it is for. It misses the fact that it is a self-contained way to obtain a fully configured context for design time tooling.

Discussed and concluded that IDbContextFactory is just a design time activator for contexts - and should not be resolved from DI etc.. We did discuss changing the name to help convey this, but decided to keep as-is since there isn't a great name and we had an IDbContextFactory in EF6.x which does the same thing.


Installation stuck at "mkdir: cannot create directory '/var/lib/pgsql/data/userdata': Permission denied"

On Vanilla K8s, I first installed NooBaa Operator and then Quay Operator.
NooBaa operator is installed and healthy. Quay operator is installed as well.
When I created QuayRegistry, it is stuck at clair-postgres-** and database-*** crashing due to this error:
mkdir: cannot create directory '/var/lib/pgsql/data/userdata': Permission denied
This error could be caused because containers are run as root by default in my env. But I'm not sure how to override postgres' securityContextConstraints. Any clues?

FWIW I saw this as well on a k8s cluster created from kubespray with rook-ceph for storage. I beat my head against it for a while & then just attached dummy pods to the PVCs and made the userdata directory myself. Then, after a restart or two of the pods, they finally ran properly. This is not a good solution but here's what I did in case you just need it to work...
For database, dump the pod yaml, clear out metadata: except for name: and namespace:, change the name:. Also change the name: under spec.containers & then add command: ["/bin/sh"] and args: ["-c", "sleep 300"]. Update securityContext from {} to runAsUser: 0. Delete the entire top-level status: block. kubectl create, exec into the pod (within 300 seconds), mkdir, chown, profit.
Do the same for clair-postgres, just give it a different name.

Thanks a ton Joshua. It worked!!

Code to automate this fix.
`
(
NAMESPACE=my-namespace
COMP=clair-postgres
kubectl -n $NAMESPACE get $(kubectl -n $NAMESPACE get po -l quay-component=$COMP -o name) -o json | jq '.metadata = {"name": "'$COMP'-temp", "namespace": "'$NAMESPACE'"}' | jq '.spec.containers[].command = ["/bin/sh"]' | jq '.spec.containers[].args = ["-c", "sleep 30"]' | jq '.spec.containers[].securityContext = {"runAsUser": 0}' > temp.json
kubectl -n $NAMESPACE create -f temp.json
kubectl -n $NAMESPACE wait pod $COMP-temp --for=condition=ready
kubectl -n $NAMESPACE exec -it $COMP-temp -- /bin/sh -c 'mkdir -p /var/lib/pgsql/data/userdata; chown 26:26  /var/lib/pgsql/data -R'
kubectl -n $NAMESPACE delete pod $COMP-temp --force
)
(
NAMESPACE=my-namespace
COMP=postgres
kubectl -n $NAMESPACE get $(kubectl -n $NAMESPACE get po -l quay-component=$COMP -o name) -o json | jq '.metadata = {"name": "'$COMP'-temp", "namespace": "'$NAMESPACE'"}' | jq '.spec.containers[].command = ["/bin/sh"]' | jq '.spec.containers[].args = ["-c", "sleep 30"]' | jq '.spec.containers[].securityContext = {"runAsUser": 0}' > temp.json
kubectl -n $NAMESPACE create -f temp.json
kubectl -n $NAMESPACE wait pod $COMP-temp --for=condition=ready
kubectl -n $NAMESPACE exec -it $COMP-temp -- /bin/sh -c 'mkdir -p /var/lib/pgsql/data/userdata; chown 26:26  /var/lib/pgsql/data -R'
kubectl -n $NAMESPACE delete pod $COMP-temp --force
)
`


cpp-opencv Error

I have below error.
Do you have comparison with the mtcnn cpp speed ?

./demo ../../models/onnx ~/Downloads/selfi.jpg
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: OpenCV(3.4.8) /Users/xxx/Downloads/opencv-3.4.8/modules/dnn/src/onnx/onnx_importer.cpp:327: error: (-215:Assertion failed) model_proto.has_graph() in function 'populateNet'

The problem was to give the model file path not the folder. Its solved ...


Add autogenerated build files to ignore list

Changes are already merged as part of - https://github.com/ROCmSoftwarePlatform/hipify_torch/pull/64

Closing this PR.


Document other difficult syntactic diff situations

Boring reformatting leading to additions of commas (or occasionally parentheses).

Novel blank lines


[BUG] String generator + Suggestion

Describe the bug
String Random generator, generate Uppercase generate Symbol or number
To Reproduce
Steps to reproduce the behavior:

Go to function
Click on Select generate string
chois U, Uppercase
See error

https://i.gyazo.com/7706239f2b3231707bc3a940f1f3a714.png
Expected behavior
Fix
Screenshots
https://i.gyazo.com/7706239f2b3231707bc3a940f1f3a714.png
Version

Version [e.g. 1.0.2]

suggestion
Example, to generate an Uppercase, instead of simply making U put, #U, it is a better solution, if we have to keep a constant U

You're right. I'll use hashcat syntax.

Done ^_^

Nice thanks alot ruri :)

Done ^_^

when im generating random string in openbullet 1.4.4 it returns aaaaaaaaaaaaaa is there any solution for this ?

Done ^_^

when im generating random string in openbullet 1.4.4 it returns aaaaaaaaaaaaaa is there any solution for this ?

Yes, use 1.2.2 which is the latest official version

Done ^_^

when im generating random string in openbullet 1.4.4 it returns aaaaaaaaaaaaaa is there any solution for this ?

Yes, use 1.2.2 which is the latest official version

Thanks problem solved but some configs i made in 1.4.4 don't want to work in 1.2.2 🙁

Did you change the extension to .loli? Sometimes it's as simple as that. Otherwise I don't know what to tell you.

Did you change the extension to .loli? Sometimes it's as simple as that. Otherwise I don't know what to tell you. Ah also make sure the Environment.ini file is the same cause that's the main cause of incompatibility between versions.

Oh thanks now it's working ❤
Also another question 😇 : is the JavaScript the only language i can use in OB scripts ?

You can also use ironpython which is basically the .NET framework but with python syntax. I don't suggest using it because it adds a lot of overhead. Otherwise you can call an external program using the shell plugin which you can find here https://forum.openbullet.dev/topic/1045/run-and-parse-cmd-commands-possible

You can also use ironpython which is basically the .NET framework but with python syntax. I don't suggest using it because it adds a lot of overhead. Otherwise you can call an external program using the shell plugin which you can find here https://forum.openbullet.dev/topic/1045/run-and-parse-cmd-commands-possible

Okay thanks for your help. Do you have any social media acc so i can contact you ?

You can contact me on the forum or write me a mail (address in the readme of the repo).

You can contact me on the forum or write me a mail (address in the readme of the repo).

Okay i will contact you here , and i wonder if i can add password for my config or add ip adress authorisation so if someone want to steal my configs he won't be able to modify or use it 🤔

That's a feature that is coming with OB2. Also please stop commenting on this issue otherwise other people who commented will get a lot of useless notifications.

That's a feature that is coming with OB2. Also please stop commenting on this issue otherwise other people who commented will get a lot of useless notifications.

Oh sorry everyone , it's just i don't know how github works , and thanks for your time Ruri ❤🙏


Truncate double values below C precision to zero

This fixes #448 in the same way it was fixed in #272.

This pull request is now managed with CodeReviewHub. Refresh.


getHoldDuration can return bogus data

dropping this as a placeholder until i have a good repro case however i've seen this happen a few times now where getHoldDuration returns { my: 0, their: 0 } when the other party's escrow days is actually 3 (trade would, and did, result in escrow).
notably this happened while the steamcommunity was very slow on December 29th.  the values are set in the DOM when the page loads, not via a script that populates them later, so there's no race condition i can think of where the values would be 0.
quite possibly, steam simply populated these values incorrectly.

i have not seen this in a week.  will re-open if it happens again.


Ruby on Rails Asset Pipeline

Is it possible to use this tool with the asset pipeline? Any examples out there?

Also interested in this answer

You can use purifyCSS with webpacker in Ruby on Rails. This is my environment.js in case somebody needs it because I spent an afternoon finding this out:
const { environment } = require("@rails/webpacker");
const webpack = require("webpack");

// const ExtractTextPlugin = require("extract-text-webpack-plugin");
const PurifyCSSPlugin = require("purifycss-webpack");
const path = require("path");
const glob = require("glob-all");

// Add an ProvidePlugin
environment.plugins.append(
  "Provide",
  new webpack.ProvidePlugin({
    $: "jquery",
    jQuery: "jquery",
    jquery: "jquery",
    //'window.Tether': "tether",
    Popper: ["popper.js", "default"]
    //ActionCable: 'actioncable',
  })
);

environment.plugins.append(
  "PurifyCSS",
  new PurifyCSSPlugin({
    //     // Give paths to parse for rules. These should be absolute!
    paths: glob.sync([
      path.join(__dirname, "../../app/views/**/*.html.erb"),
      path.join(__dirname, "../../app/assets/javascripts/**/*.js")
    ]),
    minimize: !(
      process.env.RAILS_ENV === "development" ||
      process.env.RAILS_ENV === "development_sk"
    )
  })
);

// export the updated config
module.exports = environment;

I have to add that I had problem with setup above in production, because webpacker minify css there before handling it to purifyCSS and it looks like purifyCCS doesnt handle minified input well. However, I replaced it with purgeCSS webpack plugin and that one works as expectect and my CSS went from 150kb to 22kb


[Idea] GUI controls

Hello again!
I'm thinking about creating some GUI controls specifically tailored for this project. The idea is a combination numeric spinner and combobox. The spinner portion is for entering the value and the combobox chooses the unit.
The Value property would be the actual unit type instead of a raw decimal. Changing the unit will automatically recalculate the previous value (e.g. if you enter 500 MHz initially and then change to GHz, the value would be updated to 0.5 GHz)

I'll probably create a WinForms and WPF version of the control.
Do you think this would be useful?

That's awesome. WPF and Winforms is definitely a good start. If you do WPF, I'd also consider checking out if you can reuse it for Windows apps (previously called metro/modern) since they have a lot in common.
Even further, this could be taken to cross platform mobile development such as Xamarin, implementing per-platform specific GUI bound to cross-platform view models. I'm not saying you need to do all these things, just early thoughts on possibilities.
I'm thinking this would probably be a good complementary nuget, something like UnitsNet.UI.

We currently use Mvvmcross for cross-platform mobile development, and they have support for plugins where you can add custom components like this to be easily reused for cross platform development.
https://speakerdeck.com/cirrious/plugins-in-mvvmcross

If you do WPF, I'd also consider checking out if you can reuse it for Windows apps (previously called metro/modern) since they have a lot in common.

I don't have access to Windows 8 so I won't be able to verify if the WPF control works in a Universal app.

Hi Brett,
The idea sounds very good to me. I have access to Win8 and said so I'd be
more than glad in helping with anything.
Le 10 avr. 2015 13:15, "Brett Hysuik"<EMAIL_ADDRESS>a écrit :

If you do WPF, I'd also consider checking out if you can reuse it for
Windows apps (previously called metro/modern) since they have a lot in
common.
I don't have access to Windows 8 so I won't be able to verify if the WPF
control works in a Universal app.
—
Reply to this email directly or view it on GitHub
https://github.com/InitialForce/UnitsNet/issues/71#issuecomment-91625609
.

I'm a little busy at the moment so I'm not sure when I'll work on this.

I haven't forgotten about this. I may work on it fairly soon.

Closing this due to inactivity. Reopen if you want to pursue this.


allow using both syntaxes for YAML array keys in VIRTUAL_HOST

normally, we use this synax:
    storage:
        container_name: example-storage
        image: minio/minio:RELEASE.2022-01-08T03-11-54Z
        environment:
            - VIRTUAL_HOST=storage.example.test

if we use this array syntax, the certificate wont be generated becuase we use a grep for VIRTUAL_HOST=
https://github.com/whatwedo/dde/blob/master/commands/project/up.sh#L17
    storage:
        container_name: example-storage
        image: minio/minio:RELEASE.2022-01-08T03-11-54Z
        environment:
            VIRTUAL_HOST: 'storage.example.test'

We should use YQ to read the environment variables.

@rugbymauri this could be solved with this change: https://github.com/whatwedo/dde/issues/28

bumped into this today... we should prioritize this because it will scare off new users


Vg/minor fixes

PR Checklist

[ ] This comment contains a description of changes (with reason)
[ ] Referenced issue is linked
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] Documentation in docs is updated

Description of changes

changed search engine name from maxquant to Maxquant

Technical details

Additional context

changed search engine names to start with capital letter
changed prosit and andromeda output file names to rescore and original


sqlitebrowser: fix build

Motivation for this change
This patch slightly cleans up the sqlitebrowser derivation and
switches from a cmake-based build to a qmake build using
qmakeConfigurePhase and the corresponding hook.
QMake is far more suitable for QT-based builds (and suggested e.g. here
https://github.com/NixOS/nixpkgs/issues/42320#issuecomment-401791602),
furthermore the CMake build suffers from issues like missing commands
including qt5_use_modules.
Fixes #42320
See https://hydra.nixos.org/build/76952038
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

/cc @peterhoeg @sjau

@GrahamcOfBorg build sqlitebrowser

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: sqlitebrowser
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: sqlitebrowser
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: sqlitebrowser
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/r53p4lkbas5j5spkvi44jhc13x4lnrxi-sqlitebrowser-3.10.1
shrinking /nix/store/r53p4lkbas5j5spkvi44jhc13x4lnrxi-sqlitebrowser-3.10.1/bin/sqlitebrowser
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/r53p4lkbas5j5spkvi44jhc13x4lnrxi-sqlitebrowser-3.10.1/bin
patching script interpreter paths in /nix/store/r53p4lkbas5j5spkvi44jhc13x4lnrxi-sqlitebrowser-3.10.1
checking for references to /build in /nix/store/r53p4lkbas5j5spkvi44jhc13x4lnrxi-sqlitebrowser-3.10.1...
postPatchMkspecs
postPatchMkspecs
/nix/store/r53p4lkbas5j5spkvi44jhc13x4lnrxi-sqlitebrowser-3.10.1

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: sqlitebrowser
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: sqlitebrowser
Partial log (click to expand)
/nix/store/r53p4lkbas5j5spkvi44jhc13x4lnrxi-sqlitebrowser-3.10.1

I have merged #42351, so this PR is no longer necessary. I'd prefer to keep the cmake based build because it appears to be in better shape (no /usr/local, no bundled qscintila) and it is described in the building instructions. I'd still appreciate you becoming the maintainer of this package.

I'd prefer to keep the cmake based build because it appears to be in better shape (no /usr/local, no bundled qscintila) and it is described in the building instructions.

I've always learnt that qmake is more suited for QT-based builds than cmake, but you're right in this case it seems to be better to ues cmake (and I'm not really interested in fixing the qmake instructions upstream :smile: )

I'd still appreciate you becoming the maintainer of this package.

Of course, feel free to add me to the maintainers list! :)
It took me a little while to fully understand the builds of thi spackage so I guess in case of further breakage I could help out %)


Monitor cluster operators

Cerberus need to monitor cluster operators in addition to nodes and other components to check if they are degraded. Clusters operators have 3 conditions ( Available, Progressing, Degraded ), it needs to only check for degraded condition as progressing doesn't count towards a failure.

Closing in favor of https://github.com/openshift-scale/cerberus/issues/43.


prql-compiler target (dialect) extension system (like Pandoc's extension)

Pandoc has features that allow we to easily enable and disable individual features to support various Markdown flavors.

The behavior of some of the readers and writers can be adjusted by enabling or disabling various extensions.
An extension can be enabled by adding +EXTENSION to the format name and disabled by adding -EXTENSION. For example, --from markdown_strict+footnotes is strict Markdown with footnotes enabled, while --from markdown-footnotes-pipe_tables is pandoc’s Markdown without footnotes or pipe tables.
The markdown reader and writer make by far the most use of extensions. Extensions only used by them are therefore covered in the section Pandoc’s Markdown below (see Markdown variants for commonmark and gfm). In the following, extensions that also work for other formats are covered.
Note that markdown extensions added to the ipynb format affect Markdown cells in Jupyter notebooks (as do command-line options like --markdown-headings).

https://pandoc.org/MANUAL.html#extensions
Similarly, it would be great if prql-compiler had an interface to change the features of the target dialect.
For example, turn off converting to DISTINCT ON on sql.duckdb:
prql target:sql.duckdb-distinct_on

from employees
group city (
  take 1
)
select last_name

If we have a feature like this, we can easily define something like "Redshift dialect, that is similar to Postgres dialect but without DISTINCT ON".
It also works as a workaround for issues #3111.

Yes, I think we could have something like a feature flag, a bit like rust's nightly features. This would also let us add experimental features, such as loop in its early days, with fewer stability guarantees (particularly as we want to offer more stability guarantees to the core language going forward).
It does increase the cardinality of the compiler, so I would vote to limit it to newer features and, unless we really find cases that require it, remove the features once we decide whether to stabilize them or not (again similar to rust).
I would probably not have it combined with the target, so instead it might look something like:
prql target:sql.duckdb features:["no-distinct-on"]
...

Feature flags for the compiler as also suggested in #3481 would definitely be useful, but I think that is a bit different from my requirements.
In other words, the fact that Redshift does not adopt DISTINCT ON has nothing to do with the stability of prql-compiler functionality.

In other words, the fact that Redshift does not adopt DISTINCT ON has nothing to do with the stability of prql-compiler functionality.

Yes good point, I agree it's quite different.
Re having lots of flags to turn on/off features — I worry that it would cause high cardinality in the compiler. Instead of needing to be correct for n dialects, we'd need to be correct for 2^m options (and unlike with unstable flags, m would accumulate, and have stability guarantees (when we get those)).
How do we trade it off against adding more dialects? Ideally we could add these without too much work — can we add a redshift one by copy-pasting the postgres and changing distinct on? Or is there a long tail of these such that we do need to be able to turn on & off individual features?

How do we trade it off against adding more dialects? Ideally we could add these without too much work — can we add a redshift one by copy-pasting the postgres and changing distinct on? Or is there a long tail of these such that we do need to be able to turn on & off individual features?

Considering the flexibility, it would be nice to be able to define the dialect in a definition file, like a function module.
In other words, the following
https://github.com/PRQL/prql/blob/fb6dd86465304ac9ab53a46adbd05a394649a3f9/crates/prql-compiler/src/sql/dialect.rs#L187-L196
...It can be defined in a yml file like this:
postgres:
  requires-quotes-intervals: false
  supports-distinct-on: true

Maybe a dialect module like the function module?

I don't have a strong objection...
...but in my experience it often seems most attractive to templatize things when they're changing a lot, which they typically are at the beginning.
But then if they're not expected to change in the future, then the template infrastructure doesn't end up paying for itself — we have a thing that reads yaml and generates traits at compile time! — and it's simpler to have it in native code.
That said, no strong objection. And if we find that we need to make lots of changes to dialects, or we want to allow non-technical folks to create new dialects, then that weights on templatizing it...

I'm just writing an idea and I don't want this feature that much, there are not that many SQL dialects and it should be possible to modify the SQL generated by other solutions.


webserver exists , FATAL:  sorry, too many clients already

Only one way to resolve this error is restart postgres and webserver
Is there anyother solution?

Did you get anyother solution?


Restore rest-client :require => false

This was erroneously removed in fcf9d678178b347a9f3db0820a04ae25f857fa00

:bow:  thanks! @imtayadeway

Thanks :+1:


Add support for instrumented executor service

Problem:
I'm attempting to improve visibility of InstrumentedExecutorService / InstrumentedScheduledExecutorService which is available in dropwizard metrics. I've worked with the dropwizard/metrics framework for close to four years now, and I wasn't aware that they existed. Hoping this helps others.
Solution:
I'm suggesting adding a method to the builders to provide the metricRegistry. If the metricRegistry is provided, it will return the instrumented executor service.
ExecutorService executorService = environment.lifecycle()
    .executorService(nameFormat)
    .maxThreads(maxThreads)
    .metricRegistry(environment.metrics()) // Returns InstrumentedExecutorService if metricRegistry is passed
    .build();

ScheduledExecutorService scheduledExecutorService = environment.lifecycle()
    .scheduledExecutorService(nameFormat)
    .metricRegistry(environment.metrics()) // Returns InstrumentedScheduledExecutorService if metricRegistry is passed
    .build();

I've added some documentation as well.

PR which addresses this - https://github.com/dropwizard/dropwizard/pull/2639

Based on suggestions I closed #2639 and raised two PRs which uses the the internal metric registry out of the box
I prefer #2650 over #2649  as it has more metrics, but I'll leave that decision to you all.
#2650
Pros:

More metrics - submitted(meter), running(counter), completed(meter), idle(timer), duration(timer)

Cons:

Developers won't have access to the extra methods ThreadPoolFactory and ScheduledThreadPoolFactory provide by type casting

#2650
Pros:

Developers can access the extra methods ThreadPoolFactory and ScheduledThreadPoolFactory provide by type casting

Cons:

Less metrics - created(meter), running(counter), terminated(meter)


PROJ-6452. Add prop to prevent menu from closing

Is this unit testable?

I am canceling this ticket since we moved this logic to the legos component. Here is PR https://github.com/politico/legos/pull/241


how to change the order of legend items

Hello, for the generated figure below, I want to show the items NBC2-small + 7⃣, NBC2-small + 7⃣x2, NBC2-small + 7⃣x3 close. How could I achieve that? And would it possible to provide a button to quickly change the colors of the filtered runs? Because often, I find that the filtered runs have close colors hard to distinguish, e.g. the NBC2-small and the NBC2-small + 7⃣x2.

Hello,

I don't really quite understand your question! You mean you want to keep just these 3 runs and hide the other ones ? You can achieve that by filtering the wanted runs and toggle off the ones you don't want. If you want to keep the runs and modify the legend, you can toggle the show_legend option under the run's configs.

For the colors, I wanted to do the same, but unfortunately, mui does not provide any color-picker component, and I don't want to add more third party libraries to the plugin, so I kept this option manual. I know it's not as quick as a color-picker button, but it does the job. To do it manually, just pick a color from the TIME SERIES plugin and copy its hex value, and then change the color property under the run's configs: <run> -> line -> color paste the hex value and press Enter.

I hope this answers your questions ?

I mean I want to change the order of the legend items, for example I want to put the NBC2-small + 7⃣x2 just after NBC2-small + 7⃣.

For the colors, I wanted to do the same, but unfortunately, mui does not provide any color-picker component, and I don't want to add more third party libraries to the plugin, so I kept this option manual. I know it's not as quick as a color-picker button, but it does the job. To do it manually, just pick a color from the TIME SERIES plugin and copy its hex value, and then change the color property under the run's configs:  -> line -> color paste the hex value and press Enter.

Yes, I know the color can be changed manually. I just found it is annoying that I often need to change the colors of some runs after re-filtering, because the color of some runs might collide.

I mean I want to change the order of the legend items, for example I want to put the NBC2-small + 7⃣x2 behind NBC2-small + 7⃣.

Oh the order? you can adjust it using the legendrank option under the run's config, by default it is 1000, just set the numbers one by one, 1 will be on top, 2 will be the second and so on ..

@abdeladim-s OK. Thank you~


cmake: backport support for vendored libavif to SDL2_image

@madebr: Please review this.
There is a CI run failure with MacOS vendored build like:
   "_dav1d_warp_affine_8x8_8bpc_sse2", referenced from:
      _dav1d_mc_dsp_init_8bpc in mc_tmpl.c.o

... but I think that is a problem with your dav1d cmake support
and not with this backport: I think dav1d is built with either
incorrect nasm output format flags or without any flags at all.
In mac case, we want -fmacho, in windows case we want -fwin,
and in linux/elf case we want -felf, and all need appending a
32 or 64 depending on x86 or x64 target.

OK, I cross-built dav1d for x86_64 mac, the same errors, and cmake
seems to use -f macho64 correctly. On the other hand build using
meson as a dylib with the same environment succeeds.
The problem seems to be with symbol decoration: macho and windows-
x86 symbols must be prefixed with and underscore. This probably has
something to do with meson defining PREFIX macro...

For reference, here are the configs generated by meson: meson_configs.zip

Manually adding PREFIX define in config.asm and config.h generated
by your dav1d cmake port: build succeeds.
However: There seem to be more missing stuff in dav1d cmake port,
one such thing is STACK_ALIGNMENT in config.asm. There may be others.
Is it not possible to run meson configurator from within cmake??

Is it not possible to run meson configurator from within cmake??

I could find https://discourse.cmake.org/t/3985 and
https://cmake.org/cmake/help/latest/module/ExternalProject.html,
but I'm not fluent enough with cmake to make use of them

The following seems to work for me and seems to match meson better.
Tested by cross-compiling dav1d as an x86_64 dylib. @madebr: Please
review. Notes:

New PREFIX variable: Set for APPLE or WIN32+X86 if ASM is enabled
TRIM_DSP_FUNCTIONS is only set for Release and MinSizeRel builds
invented new DAV1D_STACK_ALIGNMENT: can be set by user on the
cmake cmdline or decided depending on platform / cpu.
invented new config_variables_value, with its value part being
written to config.h.in as @value_var@ -- make sure it's correct
thing to do.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0ee5638..2131e15 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,6 +53,7 @@ else()
 endif()

 set(config_variables)
+set(config_variables_value)
 set(config01_variables)

 check_cpu_architecture(x64 "DAV1D_CPU_X64")
@@ -110,6 +111,9 @@ if(DAV1D_ASM)
     check_c_source_compiles("__asm__ (\n\".func cmake_test\"\n\".endfunc\"\n);\n" HAVE_AS_FUNC)
     list(APPEND config01_variables HAVE_AS_FUNC)
   endif()
+  if(APPLE OR (WIN32 AND DAV1D_CPU_X86))
+    set(PREFIX 1)
+  endif()
 endif()

 foreach(depth 8 16)
@@ -137,7 +141,20 @@ else()
 endif()

 list(APPEND config01_variables TRIM_DSP_FUNCTIONS)
+if(CMAKE_BUILD_TYPE STREQUAL "Release" OR
+   CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
 set(TRIM_DSP_FUNCTIONS 1)
+endif()
+
+if(NOT DAV1D_STACK_ALIGNMENT)
+  if(DAV1D_CPU_X64 OR APPLE OR (CMAKE_SYSTEM_NAME MATCHES ".*Linux"))
+    set(DAV1D_STACK_ALIGNMENT 16)
+  else()
+    set(DAV1D_STACK_ALIGNMENT 4)
+  endif()
+endif()
+list(APPEND config_variables_value STACK_ALIGNMENT)
+set(STACK_ALIGNMENT ${DAV1D_STACK_ALIGNMENT})

 if(WIN32)
   add_compile_definitions(
@@ -168,7 +185,7 @@ if(NOT HAVE_STDATOMIC_H)
     endif()
   endif()
 endif()
-list(APPEND config_variables HAVE_UNISTD_H HAVE_IO_H HAVE_PTHREAD_NP_H)
+list(APPEND config_variables HAVE_UNISTD_H HAVE_IO_H HAVE_PTHREAD_NP_H PREFIX)
 check_include_file(unistd.h HAVE_UNISTD_H)
 check_include_file(io.h HAVE_IO_H)
 check_include_file(pthread_np.h HAVE_PTHREAD_NP_H)
@@ -224,6 +241,9 @@ set(cfg_h)
 foreach(cfg01 IN LISTS config01_variables)
   string(APPEND cfg_h "#cmakedefine01 ${cfg01}\n")
 endforeach()
+foreach(cfg IN LISTS config_variables_value)
+  string(APPEND cfg_h "#cmakedefine ${cfg} @${cfg}@\n")
+endforeach()
 foreach(cfg IN LISTS config_variables)
   string(APPEND cfg_h "#cmakedefine ${cfg}\n")
 endforeach()

OK, I pushed https://github.com/libsdl-org/dav1d/commit/66d3dd88dc79a56b1756a976f8922416ce7382ea to our dav1d 1.2.1-SDL branch and bumped the dav1d revision here accordingly. The CI link failure seems to be cured. @madebr: Please confirm that things are in order. If you confirm, I will bump it in SDL3 branch too.
@slouken: Noticed a few things in your dav1d Android configuration:

PREFIX is defined in all configs: Is that accurate, or some copy/paste artifact?

There is no config.asm in none of the configs.

STACK_ALIGNMENT is defined as 32: is that deliberately picked? Because meson build systems defines it either as 4 or 16 unless user-specified.

STACK_ALIGNMENT is defined only for x86_64 config but not arm configs: Intentional??

Your dav1d changes look fine, I have these suggestions:

Make TRIM_DSP_FUNCTIONS a compile definitions, instead of adding it to the config file. CMAKE_BUILD_TYPE is not defined for multi-config generators, such as Visual Studio.
Make DAV1D_STACK_ALIGNMENT a configurable option, that can be overriden by users.

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -151,19 +151,15 @@ else()
   set(CONFIG_LOG 0)
 endif()

-list(APPEND config01_variables TRIM_DSP_FUNCTIONS)
-if(CMAKE_BUILD_TYPE STREQUAL "Release" OR
-   CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
-set(TRIM_DSP_FUNCTIONS 1)
-endif()
+# TRIM_DSP_FUNCTIONS=1 if Release or Debug mode
+add_definitions(-DTRIM_DSP_FUNCTIONS=$<BOOL:$<OR:$<CONFIG:Release>,$<CONFIG:MinSizeRel>>>)

-if(NOT DAV1D_STACK_ALIGNMENT)
-  if(DAV1D_CPU_X64 OR APPLE OR (CMAKE_SYSTEM_NAME MATCHES ".*Linux"))
-    set(DAV1D_STACK_ALIGNMENT 16)
-  else()
-    set(DAV1D_STACK_ALIGNMENT 4)
-  endif()
+if(DAV1D_CPU_X64 OR APPLE OR CMAKE_SYSTEM_NAME MATCHES ".*Linux")
+    set(DAV1D_STACK_ALIGNMENT_DEFAULT 16)
+else()
+    set(DAV1D_STACK_ALIGNMENT_DEFAULT 4)
 endif()
+set(DAV1D_STACK_ALIGNMENT "${DAV1D_STACK_ALIGNMENT_DEFAULT}" CACHE STRING "Dav1d stack alignment")
 list(APPEND config_variables_value STACK_ALIGNMENT)
 set(STACK_ALIGNMENT ${DAV1D_STACK_ALIGNMENT})

Is it not possible to run meson configurator from within cmake??

I could find https://discourse.cmake.org/t/3985 and https://cmake.org/cmake/help/latest/module/ExternalProject.html, but I'm not fluent enough with cmake to make use of them

I tried this approach and asked on the #cmake channel on cpplang.slack.com, but got no satisfying answer (apart from people telling me they got no interest in cmake, or that I should use a package manager).
While trying, I had to auto-generate a "cross build definition file" for meson which I can't do for all toolchains + cmake gnerators.

Your dav1d changes look fine, I have these suggestions:
* Make `TRIM_DSP_FUNCTIONS` a compile definitions, instead of adding it to the config file. `CMAKE_BUILD_TYPE` is not defined for multi-config generators, such as Visual Studio.

OK

* Make `DAV1D_STACK_ALIGNMENT` a configurable option, that can be overriden by users.

[...]
+if(DAV1D_CPU_X64 OR APPLE OR CMAKE_SYSTEM_NAME MATCHES ".*Linux")
+    set(DAV1D_STACK_ALIGNMENT_DEFAULT 16)
+else()
+    set(DAV1D_STACK_ALIGNMENT_DEFAULT 4)
 endif()
+set(DAV1D_STACK_ALIGNMENT "${DAV1D_STACK_ALIGNMENT_DEFAULT}" CACHE STRING "Dav1d stack alignment")

OK. It's guaranteed that cmdline arg like -DDAV1D_STACK_ALIGNMENT works here, yes?

Is it not possible to run meson configurator from within cmake??

I could find https://discourse.cmake.org/t/3985 and https://cmake.org/cmake/help/latest/module/ExternalProject.html, but I'm not fluent enough with cmake to make use of them

I tried this approach and asked on the #cmake channel on cpplang.slack.com, but got no satisfying answer (apart from people telling me they got no interest in cmake, or that I should use a package manager). While trying, I had to auto-generate a "cross build definition file" for meson which I can't do for all toolchains + cmake gnerators.

OK, then.

OK. It's guaranteed that cmdline arg like -DDAV1D_STACK_ALIGNMENT works here, yes?

OK, stopped beign lazy and confirmed that it works, pushed the suggested changes to dav1d, bumped the rev here.
Is this PR good?
@slouken: Comments for the notes I wrote about your Android and Xcode configs?

One thing I'm curious about is that how this is happening with MSVC:
-- Performing Test LINKER_SUPPORTS_NO_UNDEFINED - Success

One thing I'm curious about is that how this is happening with MSVC:
-- Performing Test LINKER_SUPPORTS_NO_UNDEFINED - Success

SDL3 has this too. The MSVC linker emits a warning, not an error, when it receives an unknown argument.
There is a cmake issue tracking this.

One thing I'm curious about is that how this is happening with MSVC:
-- Performing Test LINKER_SUPPORTS_NO_UNDEFINED - Success

SDL3 has this too. The MSVC linker emits a warning, not an error, when it receives an unknown argument. There is a cmake issue tracking this.

Well, we should restrict that to non-windows..  (And also to non-openbsd like SDL2/3..)

Anyways, merging this patch. The rest should be subject to new tickets.


ADAPT-4069: Tweak campaign hero logo max width and padding

READY FOR REVIEW

(Edit the above to reflect status)

Summary

Fix max width on campaign logo on the fullwidth campaign page variant

Review By (Date)

11/17 if possible since Patrick would like this in production by 11/20

Criticality

9/10
E.g., it affects one site, or every site and product?

Review Tasks
Setup tasks and/or behavior to test

Pull down locally, nvm use, npm run develop
Go to http://app.storyblok.com/#!/me/spaces/78141/stories/0/0/77696947
Preview the page on mobile breakpoint, and check that the campaign logo doesn't overflow the box in the hero

Front End Validation

[ ] Is the markup using the appropriate semantic tags and passes HTML validation?
[ ] Cross-browser testing has been performed?
[ ] Automated accessibility scans performed?
[ ] Manual accessibility tests performed?
[ ] Design is approved by @ user?

Backend / Functional Validation
Code

[ ] Are the naming conventions following our standards?
[ ] Does the code have sufficient inline comments?
[ ] Is there anything in this code that would be hidden or hard to discover through the UI?
[ ] Are there any code smells?
[ ] Are tests provided? eg (unit, behat, or codeception)

Code security

[ ] Are all forms properly sanitized?
[ ] Any obvious security flaws or new areas for attack?

General

[ ] Is there anything included in this PR that is not related to the problem it is trying to solve?
[ ] Is the approach to the problem appropriate?

Affected Projects or Products

Does this PR impact any particular projects, products, or modules?

Associated Issues and/or People

JIRA ticket(s)
Other PRs
Any other contextual information that might be helpful (e.g., description of a bug that this PR fixes, new functionality that it adds, etc.)
Anyone who should be notified? (@mention them here)

Resources

AMP Tool
Accessibility Manual Test Script
HTML Validator
Browserstack and link to Browserstack Credentials

LG2M. GTG.

So speedy thank you @sherakama 😄


[UX] Household Profile menu enhancement

Describe the enhancement

The drop down position should be same as material design positioning, thus should be close to the icon and not below the navigation header
Use term Household instead of HH
The remove household action should have a red background as intended in the design

@SebaMutuku to validate if this is resolved

Resolved


[workbox] update gulp tutorial and share sections with webpack tutorial

Hey Workbox peeps feel free to review if ye'd like... content is the same as the webpack tutorial, save for the build stuff, which is updated for gulp

Whoops!
There were 35 critical errors that broke the build and prevented it from being automatically deployed.
There were 9 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
ERRORS
src/content/en/tools/workbox/get-started/_shared/config.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/config.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/config.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/config.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/config.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/create.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/create.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/create.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/create.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/create.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/create.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/end.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/end.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/end.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/end.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/end.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/end.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/register.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/register.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/register.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/register.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/register.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/register.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/try-complete.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-complete.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-complete.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-complete.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-complete.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/try-complete.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/try-initial.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-initial.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-initial.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-initial.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-initial.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/try-initial.md#L1 - First heading level should be 1
WARNINGS
src/content/en/tools/workbox/get-started/_shared/config.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/create.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/end.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/register.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/try-complete.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/try-initial.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/gulp.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/imgs/webpack/sources.png - Unable to read file stats: ENOENT: no such file or directory, stat 'src/content/en/tools/workbox/get-started/imgs/webpack/sources.png'
src/content/en/tools/workbox/get-started/webpack.md - No wf_blink_components field found in metadata. Add if appropriate.

Whoops!
There were 35 critical errors that broke the build and prevented it from being automatically deployed.
There were 9 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
ERRORS
src/content/en/tools/workbox/get-started/_shared/config.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/config.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/config.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/config.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/config.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/create.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/create.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/create.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/create.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/create.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/create.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/end.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/end.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/end.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/end.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/end.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/end.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/register.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/register.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/register.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/register.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/register.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/register.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/try-complete.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-complete.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-complete.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-complete.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-complete.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/try-complete.md#L1 - First heading level should be 1
src/content/en/tools/workbox/get-started/_shared/try-initial.md - Attribute book_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-initial.md - Attribute project_path missing from top of document
src/content/en/tools/workbox/get-started/_shared/try-initial.md - WF Tag wf_updated_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-initial.md - WF Tag wf_published_on is missing (YYYY-MM-DD)
src/content/en/tools/workbox/get-started/_shared/try-initial.md - Page is missing page title eg: # TITLE {: .page-title }
src/content/en/tools/workbox/get-started/_shared/try-initial.md#L1 - First heading level should be 1
WARNINGS
src/content/en/tools/workbox/get-started/_shared/config.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/create.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/end.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/register.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/try-complete.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/try-initial.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/gulp.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/imgs/webpack/sources.png - Unable to read file stats: ENOENT: no such file or directory, stat 'src/content/en/tools/workbox/get-started/imgs/webpack/sources.png'
src/content/en/tools/workbox/get-started/webpack.md - No wf_blink_components field found in metadata. Add if appropriate.

Pete's comment hasn't been resolved.
Need to add {# wf_md_include #}

There is an issue with a markdown file needs to start with a h2. I'm assuming thats fine to ignore.

Whoops!
There were 3 critical errors that broke the build and prevented it from being automatically deployed.
There were 11 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
ERRORS
src/content/en/tools/workbox/get-started/_shared/end.md#L2 - First heading level should be 2
src/content/en/tools/workbox/get-started/_shared/try-complete.md#L2 - First heading level should be 2
src/content/en/tools/workbox/get-started/_shared/try-initial.md#L2 - First heading level should be 2
WARNINGS
src/content/en/tools/workbox/get-started/_shared/config.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/create.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/end.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/register.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/try-complete.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/_shared/try-initial.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/gulp.md#L5 - WF Tag wf_updated_on must be within the last 7 days.
src/content/en/tools/workbox/get-started/gulp.md - No wf_blink_components field found in metadata. Add if appropriate.
src/content/en/tools/workbox/get-started/imgs/webpack/sources.png - Unable to read file stats: ENOENT: no such file or directory, stat 'src/content/en/tools/workbox/get-started/imgs/webpack/sources.png'
src/content/en/tools/workbox/get-started/webpack.md#L5 - WF Tag wf_updated_on must be within the last 7 days.
src/content/en/tools/workbox/get-started/webpack.md - No wf_blink_components field found in metadata. Add if appropriate.

I didn't finish this before vacation. I'll wrap it up this week 👍

@gauntface fixed it - the L2 headings have been filed as a new issue (#5387). Will merge!


ALU testbench isn't being run

I wrote the ALU code and was surprised to see that it passed all the tests on first try. I changed some things a bit to make it produce an incorrect result, but it still passed all tests. Then I changed the expected output of the tests and it still passed. Then I put a display statement onto the assert_else_error task like so:
task assert_else_error(reg [15:0] exp_out, reg exp_zr, reg exp_ng);
    $display("this test is being ran");
    assert (out == exp_out && zr == exp_zr && exp_ng == ng) else begin
        $error("alu %b %b %b %b %b %b %b %b (%b %b) (%b %b) (%b %b)",
            x, y, zx, nx, zy, ny, f, no, out, exp_out, zr, exp_zr, ng, exp_ng);
    end
endtask

I was trying to check whether its being ran at all. Turns out, its not. Running the tests results in no output, while doing the same thing in the add_16_tb.sv testbench displays the string multiple times in STDOUT.  I'm not very familiar with verilog so I couldn't really get to the bottom of this but I suspect that its something with the test.py script.
This repo's super cool btw. Been having a lot of fun with this.
Edit: I also did this on a freshly-cloned repo and the empty alu.sv file still passes all the tests.

Thanks for pointing out this issue, I'll have a look soon :)


A compiler with support for C++ language features is required

Please find the attachment to know error while compiling phonetisaus.

You need the latest version of g++.


feat: enable local testing

Fix #146

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


Documentation for v5

Flex Object

[ ] flex-column + flex-center, flex-stretch, flex-start, flex-end
[ ] Update example div/button styles
[ ] Include all examples from solved by flexbox

Button Outline & Button Transparent

[x] Show all basic color combinations

Guides

[ ] Design for index
[ ] Use consistent example styles
[ ] Better hero image for layout guide
[ ] More flex-object examples in UI guide
[ ] Add flex grid guide
[ ] Descriptions for Custom Builds and Using Rework

Other

[x] Safe color combination list with visual examples
[ ] Note which utilites use inherited properties
[ ] Better placeholder image for background images utility
[ ] Update Showcase
[x] Modular/linkable table of styles
[ ] Specificity graph in Stats
[ ] React customizer app
[ ] Add optional modules to customizer app

[ ] unified module docs
[ ] index on optional modules

[ ] Remove default variables sections from Readmes
[ ] Conform all readme styles to a standard

[ ] Basswork namespacing

Conceptual

[ ] Side Effects
[ ] Clarity
[ ] Confidence


Do not acquire lock for file.Sync() fsync call

In the Flush() function, a lock is acquired before calling file.flush and file.sync. file.flush writes the glog buffer into the kernel buffer, while file.sync writes the kernel buffer to disk.
We encountered a problem where when disk I/O is heavy(the cloud service provider offers poor cloud disk performance), all glog logs would be blocked due to waiting for file.sync.
file.sync ensures that logs are flushed to disk, but I believe that acquiring a lock before calling file.sync is unnecessary. The kernel has an efficient buffered I/O mechanism, and file.sync does not block kernel buffered I/O. We only need to request that logs are flushed to disk and do not need to acquire a lock and wait for the kernel to complete the flush. Acquiring a lock and waiting for logs to be flushed to disk cannot make good use of the kernel's buffered I/O, and it can lead to performance issues.

Hi @chressie @stapelberg  , Could you please take a look at this pull request when you have a chance? I'd appreciate your review and feedback.

Hi @1978629634.
Thanks for your PR and for taking the time to explain and draft a fix. While the change you're requesting is reasonable, we cannot merge it directly into this repository. We have to make an internal change first, that we'll then be able to push upstream.
Quote from the README:

The repository contains an open source version of the log package used inside Google. The master copy of the source lives inside Google, not here. The code in this repo is for export only and is not itself under development. Feature requests will be ignored.
Send bug reports to<EMAIL_ADDRESS>
I'm closing this PR and will soon merge a new version with a fix. Thanks for your understanding.


in setPushIdentifier, links to external docs are in an info block in android, but in plain text in ios.  should be consistent.

Issue in /src/pages/documentation/adobe-journey-optimizer/api-reference.md

This will be fixed as part of #89!


mongoid 'authenticate' problem

I'm not sure yet why but this
https://github.com/plataformatec/devise/commit/d2658c6e3559d53541f7b69838f9e8fd596dfff9
breaks authenticate_user!(warden.authenticate) at my end (Rails 4.1.x & Mongoid 4.0.1(latest) & devise master, mongo_session_store gem latest)

We need this patch so it works with mongoid in the first place. Given mongoid 4.0.2 will be released soon, I think we will be able to revert it.

Thanks for the report btw!

Reverted, thanks


Update pytest configuration in dev container

Resolves #3652
Configure the following settings:
  "python.testing.pytestArgs": [
          "--ignore=e2e_tests",
          "-W ignore::DeprecationWarning"
        ],
        "python.testing.cwd": "${workspaceFolder}",

After this tests execute in VSCode

/test-force-approve


Don't run unit tests on Travis - just build the project

It seems emulator-based unit testing is currently horribly broken due to issues with the API Level 23-25 emulators/SDK:

API Level 23 - https://code.google.com/p/android/issues/detail?id=228113
API Level 24/25 - https://code.google.com/p/android/issues/detail?id=230083

...so for now change to just building the project on Travis (via ./gradlew clean assembleDebug).
I'll keep tabs on the emulator testing and hopefully we can restore unit tests at some point in the future.  In the mean time we'll need to run tests locally.

I've opened https://github.com/googlemaps/android-maps-utils/issues/371 to track the issue with running the emulator and unit tests on Travis.

Thanks Sean


Feature/time format

⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:

[x] I have read and understand the pull request rules.

Description
Fixes #2654
Type of change
Please delete any options that are not relevant.

User interface (UI)
New feature (non-breaking change which adds functionality)

Checklist

[x] My code follows the style guidelines of this project
[x] I ran ESLint and other linters for modified files
[x] I have performed a self-review of my own code and tested it
[x] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[x] My changes generate no new warnings
[ ] My code needed automated testing. I have added them (this is optional task)

Screenshots
Set to 12-hour in Settings -> General

Set to 24-hour is Settings -> General

Hi @CommanderStorm , thanks for the feedback! Resolved all the tasks, can you please take another look and get this merged?
Reg. the comment on creating a radio button component, I'd be happy to take that up as a separate PR after this.

@CommanderStorm Seeing your approval, I have pulled the PR out of draft. Please merge this, TIA!

Looping in @louislam in case only they have write access.

@chakflying Thanks for the feedback! Made changes mentioned on the files.

We should just fetch the setting once on initial load, and cache it in $root.
How would this behave when a user goes to settings and change the time format and then come back to dashboard? Wouldn't the old format persist, since the data is fetched only during initial load and cached? Isn't the existing call a necessary expense?

We can update the stored value after the user saves the Setting. Since it stored in root, it can then be used across the application.

@louislam Can we please get this merged? TIA!

The created lifecycle event runs when the current component is created. In a client-side routing SPA, this means it runs every time the Details page is loaded.

The created lifecycle event runs when the current component is created. In a client-side routing SPA, this means it runs every time the Details page is loaded.

@chakflying What lifecycle event/.. would you recomend instead? created seems the earliest event avaliable to the options api and feels like the correct one for loading settings..

This would be great to get this merged in!


Changes to support 2015 data

@sephcoster @contolini @sleitner @amymok

Converted explicit year references in variable names to something more abstract:

2012 => Year0
_12 => y0

Updated the shell script for easier reading/updating/using
Updated the README.md with more explicit instructions

👍  Looks good!


Kotlin leg tweaks

Converts the legTweaks files to Kotlin and improves the readability a touch. There should be no difference in functionality This fixes a minor bug that has been present since the math lib switch, so there should be a slight improvement!

I've tested all the features that I would expect to break but have not yet done all the integration tests. Once I have and everything works as it should I'll update this comment.

how is this PR doing?

how is this PR doing?

It's ready, I re-tested it after rebasing it to the bones rewrite about 2 weeks ago.


ocamlPackages.duff: fix tarball hash

Description of changes

Duff mutated their 0.5 tag.
https://github.com/ocaml/opam-repository/pull/23990
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 240056 run on x86_64-linux 1

12 packages failed to build:

ocamlPackages.carton-git
ocamlPackages.carton-lwt
ocamlPackages.git
ocamlPackages.git-mirage
ocamlPackages.git-paf
ocamlPackages.git-unix
ocamlPackages.irmin-git
ocamlPackages.irmin-graphql
ocamlPackages.irmin-http
ocamlPackages.irmin-mirage-git
ocamlPackages.irmin-mirage-graphql
ocamlPackages.plotkicadsch

2 packages built:

ocamlPackages.carton
ocamlPackages.duff

Result of nixpkgs-review pr 240056 run on x86_64-linux 1


Improve TLS settings based on Mozilla config generator

Lengthen the session timeout and enlarge the session cache.  Disable session tickets (see mozilla/server-side-tls#135).  Upgrade Diffie-Hellman parameters from fixed 1024-bit to custom 2048-bit.  Enable OCSP stapling.
Testing Plan: Running on https://andersk.zulipdev.org/.

SSL Labs test: A+.
Mozilla Observatory test: intermediate compatibility.

ssl_session_tickets is new in nginx 1.5.9; trusty has nginx 1.4.6. Are we killing trusty soon?

Removed the ssl_session_tickets directive for now, just so we don’t have to block this on other work.

This looks great, merged after adding an nginx: prefix to the commit message.  (As a general rule, we use prefixes like this for essentially all commit messages, because they help a ton in skimming git log, especially when I'm preparing release notes.)
We can kill Trusty support, but we need to do actual work to do so (main big thing is moving the Vagrant environment to something newer)


Stores complete file permission tree on read

This commit, besides updating the ginkgo dependency, now stores all of
the read directory permission bits in the virtual file system. This
allows pina-golada to no longer assume a default permission set of 0755.
This PR fixes #13

Most of the ground-work for reading permissions has already been set before, but now the top level directory is fetched as well, which caused troubles before (and was the reason I added the default 0755 in the first place). I tested the change against a local watchful instance and it works fine on Debian basis.

Only issue may be the virtual root directory every read directory is based in. That one could technically be stored as well as would end up with 0000 permission bits. But as it isn't based on a physical directory, we can't really assign anything


AssertionError during custom run with changed camera model

During the Image Undistortion step of the process, I get the following error when attempting to use the simple pinhole camera model and the same camera parameters used in the demo:
Traceback (most recent call last):
  File "main.py", line 13, in <module>
    dp.process(params)
  File "<path to>/consistent_depth/process.py", line 117, in process
    return self.pipeline(params)
  File "<path to>/consistent_depth/process.py", line 62, in pipeline
    valid_frames = calibrate_scale(self.video, self.out_dir, frame_range, params)
  File "<path to>/consistent_depth/scale_calibration.py", line 184, in calibrate_scale
    video.path, colmap.sparse_dir(colmap_dir, 0)
  File "<path to>/consistent_depth/scale_calibration.py", line 79, in make_camera_params_from_colmap
    cameras, images, size_new
  File "<path to>/consistent_depth/utils/load_colmap.py", line 175, in convert_calibration
    intrinsics = cameras_to_intrinsics(cameras, sorted_cam_ids, size_new)
  File "<path to>/consistent_depth/utils/load_colmap.py", line 116, in cameras_to_intrinsics
    for c in cameras.values()))
AssertionError

All the line throwing the error is checking is if the model is:
assert all(
    (c.model == "SIMPLE_PINHOLE" or c.model == "PINHOLE"
        or c.model == "SIMPLE_RADIAL"
     for c in cameras.values()))

which it seems like I am complying to? my full command is sudo python3 main.py --video_file <path_to_avi> --path <path_to_results> --camera_model "SIMPLE_PINHOLE" --camera_params "1671.770118, 540, 960" --make_video where the video being used in my command is not the same video as the one in the demo. Am I missing something? I know the camera params are probably off for my use case, but I imagine it should run to completion regardless?

turned out to be my mistake: an earlier checkpoint using an incorrect camera model (in the same output directory) was causing issues with the new run. solution was clearing the output directory

turned out to be my mistake: an earlier checkpoint using an incorrect camera model (in the same output directory) was causing issues with the new run. solution was clearing the output directory


pull rerequest for Healtchecks duplicate of 1364

#1364 got merged onto the wrong branch it should have gone to master.
This is my bad since I changed the target of the other PR and did not communicated this right.

Since this has already gone through a proper review process on https://github.com/dcos/dcos-ui/pull/1364 , I would say let's merge it when the tests pass.
Ps. I see an old Batch API use on the tests, can you have a look?

AS discussed offline with @wavesoft We agreed that I can merge this PR. As it was already merged.


cmd/compile: does not detect a missing return

gc successfully compiles the following program:
package a
func f() int {
	for {};
	;
}

while gotype says:
go.go:5: missing return at end of function

go version devel +9b04852 Sat Jul 11 00:08:50 2015 +0000 linux/amd64

@griesemer

I think the Go spec unambiguously supports the gotype error.  Functions with result parameters need to end in a terminating statement, and empty statements are not terminating statements.

Interestingly if we change the body of that function from for {} to add in conditions ie for true {} or for i := 0; i < 10; i++ {} the compiler catches the missing return https://play.golang.org/p/tMrrNlXJI6 or inlined here
package main

import "fmt"

func f() int {
	for {
	}
}

func f1() int {
	for true {
	}
}

func main() {
	fmt.Printf("hello world")
}

$ tmp/sandbox109964380/main.go:13: missing return at end of function

Per https://golang.org/ref/spec#Terminating_statements these programs contain a for loop without a loop condition or break statement, therefore the for loop is a terminating statement. These programs are thus valid and gotype is failing to detect the terminating statement?

Isn't that this is working as intended for cmd/gc, and a bug
for gotype?
The for loop doesn't determinate, so the function won't ever
return, thus there is no need for a return.

This is now a go/types error. The relevant lines from the spec are:
"If the function's signature declares result parameters, the function body's statement list must end in a terminating statement." (https://tip.golang.org/ref/spec#Function_declarations)
"A statement list ends in a terminating statement if the list is not empty and its final non-empty statement is terminating." (https://golang.org/ref/spec#Terminating_statements, end of paragraph).
Thus:

The function must end in a terminating statement since it declares a result; and
The final non-empty statement is the for loop which neither has a loop condition nor a break statement and thus is terminating.

@mdempsky was correct, too, because in 2015 this was still a gc bug :-) The relevant sentence in the spec changed in 2016 (https://github.com/golang/go/commit/b5ddbb9).

With the spec change, this became a duplicate of #14537 which has been fixed. Not-reproducible anymore. Closing.


Extract methods in new_project_spec file

Reads environment files once per file run.

Started adding a feature (log_level = :fatal for test environment), but then I didn't think it was an improvement. I still kept the improvements to this spec file.

Looks good!

Thanks for your review, Teo!


Bug: KeepAlive usage will give a "Non-function value encountered for default slot" warning

Describe the bug
It's really simple, any component that uses <keep-alive> around dynamic components will trigger this warning:
[Vue warn]: Non-function value encountered for default slot. Prefer function slots for better performance.
  at <KeepAlive>

To Reproduce
Create a component that has dynamic components surrounded by <keep-alive>.  Add any test for it and observe the warning during shallowMount rendering.  Warning goes away as soon as the <keep-alive> tags are removed or using full mount.
Expected behavior
Would expect this to behave exactly the same as Teleport, i.e. no warning shown in the console and being able to globally mock KeepAlive in a similar way.
Related information:

@vue/test-utils version: 2.2.3
Vue version: 3.2.44
node version: 18.12.1
yarn version: 1.22.19

Hi @laddi-netapp
Thanks for the report. Yeah I gues we need to have the same workaround that I introduced in https://github.com/vuejs/test-utils/pull/1833 for KeepAlive
Would you be interested in trying to open a PR to fix this issue? We would gladly review and merge it.

I'll give it a try, might be fun! 😄


Add an automatic rotation property to Decal

Godot version:
v4.0.dev.custom_build.364ea7f28
OS/device including version:

windows 10 x64
Issue description:

The current decal can't be placed well when over two surfaces.
Reality:

Expectation:

The other thing is that decals should support auto detection of surfaces normal, this way, on any surface that is being placed, it will "rotate" accordingly:
not rotated on a wall:

rotated on a wall:

How would it autorotate when over two surfaces?
Also I'm not sure autorotation would actually improve the workflow for most people. For example, how should it rotate on a bumpy surface?
IMO it makes the most sense to just rotate the decal yourself. Like in the first screen shot you could just rotate the decal slightly and it would look like the second image.

theres no complexity here, by adding an auto rotate parameter, get the median of the surface normals, and apply the correct rotation!

Automatic rotation can be done with a script that use a RayCast node + the collision normal.

Automatic rotation can be done with a script that uses a RayCast node + the collision normal. You will need multiple RayCasts thrown in different directions to compute an average normal so that the decal looks good in all situations.

Could be done in a script (and currently has to be), but for ease and usability would be much more useful to have the decal automatically align to the normal with a setting.


Pautan

[Masukkan maklum balas di sini]

Butiran Dokumen
⚠ Jangan edit bahagian ini. Ia diperlukan untuk docs.microsoft.com ➟ Pemautan isu GitHub.

ID: b5e950a9-28c4-91f3-919b-d12f4e029fca
Version Independent ID: f066a748-0a7d-7506-3b18-c422fef13293
Content: Install .NET Core on Alpine - .NET Core
Content Source: docs/core/install/linux-alpine.md
Product: dotnet-core
GitHub Login: @adegeo
Microsoft Alias: adegeo

It doesn't look like you've included any information in your issue. Please feel free to follow up with what problem you're experiencing. Thanks!


fix: clean up export css local vars

What kind of change does this PR introduce?
clean up export css local vars
for example:
/* ./index.module.css */
.class {
  --a: blue;
  color: var(--a);
}

/* ./index2.module.css */
.class {
  --b: blue;
  color: var(--b);
}

// ./index.js
import * as styles from "./index.module.css"
import * as styles2 from "./index2.module.css"
console.log(styles, styles2)

./index.module.css and ./index2.module.css are in same chunk, since exportsWithDashes is not cleanup, so style2 will still have property b: --undefined

Did you add tests for your changes?
update old test and its snapshot

Does this PR introduce a breaking change?
no

What needs to be documented once your changes are merged?
none

Thank you


[Multiplayer] Known Issues

:information_source: comments are deliberately locked on this issue.
:microscope: Under investigation

[ ] (Playtester report) Pod walls and glass faces disappear, relogin fixes it.
[ ] (Playtester report) Power consumption getting desynced, which caused the power to appear "shut off" on client but not on host. Happened when host deconstructed a hearer t3 and quickly placed it back. It fixed itself by rejoining.
[ ] Transferring inventory items may result in item flickering if they happen right at a full sync.
[ ] Larvae spawns are inconsistent betwen host and client. Larvae picked up in the client disappear from the inventory (host deletes them).

🤷♂ Not reproducible

[ ] Day-night cycle desync

players report host is behind 30 seconds

[ ] Client launched rockets don't seem to apply bonus until rejoin.
[ ] (Playtester report) deconstructed pillars do not disappear on the client. Host fine.
[ ] (Playtester report) Auto-crafter doesn't seem to detect nearby objects on the client. Host fine.
[ ] (Playtester report) Insects amount appears to be different on the host and the client.

😞 Confirmed but low priority

[ ] (Playtester report) The highlight around a container deconstructed by the other party stays visible on the other side if they were looking at it at the same time.

:ok: Resolved

[x] Satellite despawns for the client if the host opens its inventory. Fixed in v19
[x] Scene objects despawn for the client. Fixed in v19
[x] Rocket bonuses are not updated on either side.  Fixed in v20
[x] Deconstructing one of the pods of two or more linked pods leaves the other pods open to the outside world. Fixed in v21
[x] Rockets stuck in the launchpad and mid-air. Fixed in v22
[x] Deconstructing a wreck pillar by one party sometimes leaves an impassable and invisible object behind for the other party. Fixed in v23
[x] Changing the flower seed in the Flower Spreader by the client results in instantly grown flowers.

🤷♂ Unable to reproduce.

[x] Picking up algae by host plays the sound on the client too. Fixed in v23
[x] Beacon not visible on the client. Fixed in v23
[x] DNA manipulator doesn't work on the client, resets progress. Fixed in v23
[x] Two game object spawned for one crafted rocket on the client. Fixed in v23
[x] The DNA manipulator doesn't produce the item at 100% until the host looks into the machine. Fixed in v24
[x] Exception thrown when sorting an inventory not currently viewed on the other side due to lack of expected inventory displayer. Fixed in v25
[x] Add new machines and object from game version 0.5.005. Fixed in <IP_ADDRESS>
[x] (Playtester report) re-entering a zone with a warden-key-door shows the door closed for the client. Host fine.

:notebook: Fixed in <IP_ADDRESS>; needed to add story event sync.

[x] (Playtester report) Setting the ore type on Extractor t3 or Auto-Crafter on either side does not show the icon for the other side. Fixed in <IP_ADDRESS>.
[x] (Playtester report) Unable to pick up fully grown algae on the client. Host fine. Fixed in <IP_ADDRESS>.
[x] (Playtester report) There is no waterfall and the lake on the client. Fixed in <IP_ADDRESS>.

Multiplayer mod is now discontinued.


Multiple declarations of the same custom properties

In v8 all custom properties now live in their own module.  This means that some custom properties are defined more than once (e.g. --space-1 in the margin module and the padding module).  Will this not cause issues if you want to overwrite one of them?  Which one would "win"?

Yes, they would clash. Just like all CSS rulesets, the last one defined in source order "wins." I opted to go this route for consistency and simplicity sake, but might consider namespacing aliased custom properties in the future.