404 Error trying to import @angular/router-deprecated

Looking at the Angular docs, I just noticed the beta router is deprecated.  The app created by this CLI uses the new router package.  Is there any documentation for the new router?
I tried using the old router by npm installing @angular/router-deprecated and importing as follows:
import { ROUTER_DIRECTIVES, RouteConfig } from '@angular/router-deprecated';
But I am getting the following error:
zone.js:461 Unhandled Promise rejection: Error: XHR error (404 Not Found) loading http://localhost:4200/vendor/@angular/router-deprecated

Did you npm install @angular/router-deprecated?

The beta Router is no longer supported by CLI. It's replaced by the rc1 Router. You should switch to using this one, instead of using the deprecated Router!

@cquillen2003 try this https://github.com/angular/angular-cli/pull/674
@hansl I've just opened a PR if you want

I found an example app using the new router so I'm using it now.  I mostly had to change my @RouteConfig entries to @Routes to get it working.  No need to support the deprecated router from my end.

what is the angular module name which support routes? @cquillen2003


How to use my own gesture?

I want to use my own single or tap gesture, what should I do?

There's no implementation for this! sorry about that.
pull request is welcome.


custom HTTP headers for network images

Description
Allow users to pass custom HTTP headers when accessing network images.
Related Issues

Related #1243

Type of Change

[x] ✨ New feature: Adds new functionality without breaking existing features.
[ ] 🛠 Bug fix: Resolves an issue without altering current behavior.
[ ] 🧹 Code refactor: Code restructuring that does not affect behavior.
[ ] ❌ Breaking change: Alters existing functionality and requires updates.
[ ] 🧪 Tests: Adds new tests or modifies existing tests.
[ ] 📝 Documentation: Updates or additions to documentation.
[ ] 🗑 Chore: Routine tasks, or maintenance.
[ ] ✅ Build configuration change: Changes to build or deploy processes.

Suggestions

Thank you for your contribution.
You can use imageProviderBuilder instead to check if it's a network image and then pass the headers from there.
This new property will be ignored if users are using imageProviderBuilder.
I prefer not to add too many properties to pass them somewhere else.
I agree that not adding too many properties is the right way. But in this quite common & important usecase, this is impratical.
That is my initial try. And then I noticed that, I have to cover all the other situations in imageProviderBuilder (Memory, Asset, File, etc..) if I use it, which is quite inconvenient (All the other handlers/functions for different image are not accessible from outside pacakge).

if (imageProviderBuilder != null) {
    return imageProviderBuilder(context, imageSource);
}
// rest of memory, asset, file will be ignored.

But what I want is simply add headers to network image.

But in this quite common & important usecase, this is relatively impratical.

Currently, we do have more important issues and should prioritize them over new features.

That was my initial thinking, using imageProviderBuilder. And then I noticed that, I have to cover all the other situations in imageProviderBuilder (Memory, Asset, File, etc..) if I use it, which is quite inconvenient (All the other handlers/functions for different image are not accessible from outside pacakge).

There is another way around this. We could make the return type of imageProviderBuilder nullable, and if it's null, then we will fallback to our default handing. There are other ways as well.
Similar to customVideoBuilder (see 10.8.0).

If that case, I agree and this PR can be dropped.

This issue has been fixed in release/v11 branch.
See the related migration change or image assets within release/v11 branch.

Published a pre-release fixing this issue (#2338):
flutter_quill: ^11.0.0-dev.1
flutter_quill_extensions: ^11.0.0-dev.1


Document the need for panic = "abort"

Add a note in the Readme about the need of setting panic to abort in the integration layer.

Obsolete by having a panic handler example.


Get specific array indices for sampled elements

Hi,
I am currently extracting some samples using undersampling for some data. However before sampling, I am using some data transformations.
However after the sampling is done, I want to use the selected samples with the untransformed data (e.g, normalize before clustering\KNN) and use non-normalized data samples.
Is it possible to get the selected indices of the sample rows in any way?

Check this pull-request:


draft: CUDA version of GPL

@cdleary @hzeller would you mind reviewing Rachel's first PR?

You should build your code on a machine without cuda installed and make sure there is no issue

@maliberty You need to approve the scan workflow.

@maliberty You need to approve the scan workflow since Rachel's a first time contributor.

Unfortunately I have to approve it on every push as she is still a first time contributor.  I just did so again.

Do you have any measurements of the benefit of this change?

Do you have any measurements of the benefit of this change?

Am doing it.

Hi Matt, I tested the code on my working computer and another cloudtop without a GPU. It can work on both of the computers. But here are some not successful checks. Do you have any ideas on this?https://jenkins.openroad.tools/blue/organizations/jenkins/OpenROAD-Public/detail/PR-2076-head/14/pipeline

Have you looked at gpl incremental02?  You can click the details link to see the Jenkins results.

Hello Matt @maliberty , I found a library CUSP, which is used to solve linear systems based on GPU. It is very fast. I have tested it successfully on GPL. Here is the performance:

I think the current direct CUDA solver is done. It is slow but correct. Can you please check it once more and let me know if I have any more places to modify?  If there is no problem, my thought is that we close this PR as soon as possible and open a new PR to upload the CUSP version.

Have you looked at gpl incremental02? You can click the details link to see the Jenkins results.

re "my thought is that we close this PR as soon as possible and open a new PR to upload the CUSP version."
Is there a reason not to integrate that change into this PR?

re "my thought is that we close this PR as soon as possible and open a new PR to upload the CUSP version." Is there a reason not to integrate that change into this PR?

Yes. I think CUSP gives a big improvement on the performance. It's worth using it as the final version for the GPU solver. But the last update of CUSP is years ago and I am not sure if it will be maintained in the future. The direct CUDA solver is a version not dependent on high-level libraries. One day we can continue to develop our iterative GPU solver on the basis of it.

re "my thought is that we close this PR as soon as possible and open a new PR to upload the CUSP version." Is there a reason not to integrate that change into this PR?

Yes. I think CUSP gives a big improvement on the performance. It's worth using it as the final version for the GPU solver. But the last update of CUSP is years ago and I am not sure if it will be maintained in the future. The direct CUDA solver is a version not dependent on high-level libraries. One day we can continue to develop our iterative GPU solver on the basis of it.

What is the performance of the current version if we don't integrate CUSP? " It is slow but correct."

Much slower. 20 times slower for some experiments. Its existance just provides a frame and some records for the CUDA direct solver. Not useful for users but can be used as a reference for developers.

@maliberty I think this is ready for another review.

Are the runtime from the CUSP solver column now what this PR will produce?

This is the updated one, CUSP solver with preconditioner. The direct CUSP solver is very fast but can't converge well for big chips. The current version can provide a correct result and bring a 30% acceleration.

Are the runtime from the CUSP solver column now what this PR will produce?

Hi Matt, do you have more suggestions or questions for this PR?


Switch CI to CI template from other Mir projects, enable testing on Windows

Pretty self-explanatory / trivial.

Oops. Superseded by https://github.com/libmir/mir-yaml/pull/4.


schedule_state does not install

Version of the schedule_state component
f755347 - latest available on HACS today
Configuration
  default: warning # only log errors
  logs:
    custom_components.schedule_state: debug

Home Assistant 2023.1.4
Supervisor 2022.12.1
Operating System 9.4
Frontend 20230110.0 - latest
Describe the bug
I installed schedule_state like any other integrations, but it does not load. No service is available, no error in the log, no sensor created.
What do I missed?
I have another instance of Homeassistant where schedule_state works perfectly!
Debug log

2023-01-16 13:15:21.795 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration schedule_state which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant

Most likely you have not defined a schedule_state component in your configuration.yaml. You won't see any services or sensors until you do that.


Add Speaker Section

Describe the feature you'd like
There Should be Section which shows the list of all speakers of the event along with track and session

[x] Add Speaker Section

[ ] Add a Speaker Fragment to show all the details of the speaker along with the session and tracks

Would you like to work on the issue?

[x] Yes

@iamareebjamal should i create a speaker page as well?

In other issue


App Crash After Store Submission

This issue has been moved from a ticket on Developer Community.

App runs fine debug and release mode and when compiled version is installed with the power script. However, once the app is submitted to the store and downloaded from there, it crashes at the startup. Spend months trying to figure it out. Started my app from scratch and rewrote the whole thing a few times trying to figure out the issue. Finally found App Center SDK/API that helped me with at least some hint about the app is crashing.
Windows.UI.Xaml.Markup.XamlParseException: The text associated with this error code could not be found.
Cannot create instance of type 'Microsoft.UI.Xaml.Controls.XamlControlsResources' [Line: 0 Position: 0]
at System.Runtime.InteropServices.McgMarshal.ThrowOnExternalCallFailed(Int32, RuntimeTypeHandle) + 0x21
at __Interop.ComCallHelpers.Call(__ComObject, RuntimeTypeHandle, Int32) + 0xb8
at __Interop.ForwardComStubs.Stub_8[TThis](__ComObject, Int32) + 0x24
at Microsoft.AppCenter.Utils.ApplicationLifecycleHelper. <.ctor>b__17_1(Object, UnhandledErrorDetectedEventArgs) + 0x3d
It appears to be similar issue as here: https://github.com/microsoft/microsoft-ui-xaml/issues/616. The dependency is included in the installed version.

Original Comments
Feedback Bot on 7/8/2020, 00:34 AM:
We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.
sdfdsfsdf on 7/9/2020, 08:40 PM:
The issue is potentially solved.For some reason the Microsoft.UI.Xaml.winmd file for version 2.4.2 has "AL" attributes. Because of the "L" attribute, it does not get copied during the build process. As such, the app builds without the winmd file fails to start. I switched to winui 2.4.0. The winmd file for this version has attribute "A" and it gets copied successfully while building. I am not sure if the attributes are different because of something I did or it was meant to be like that for some reasons.I'll wait and see if the version gets accepted.

Original Solutions
(no solutions)

Seems similar to #1712.  Also maybe these internal issue issue

This sounds like the problem where an older version of VS (like VS2017) was used to compile the app. In that case the store needs to recompile the app's IL with the newer .NET Native but it fumbles the recompile because that version of VS also fails to include the Windows.UI.Xaml.winmd in the app's package, resulting in an app that crashes. The customer should be able to upgrade to a newer version of VS2019 to resolve the issue.

I'm using visual studio 2019. So, not an issue with 2017 version.

So, continued to have similar problem. This time it is Microsoft.UI.Xaml.winmd and Microsoft.Toolkit.Uwp.UI.Controls.xr.xml files. These files inside .nuget/packages folder have AL attributes.
Potential Workaround
Create a copy of these files of the files with issue: Properties -> Details -> Remove Properties and Personal Information -> Create a copy with all possible properties removed. Replace the original one with the new copy. Probably a good idea to rename original file, just in case.

Attribute L seems to mean reparse point - https://docs.microsoft.com/en-us/windows/win32/fileio/reparse-points . @shresthasource Is something special about the folder you are building the app under ?

@ranjeshj I have my code in OneDrive folder. But, every time I need to build it for store submission, I copy it to desktop (not included in OneDrive). If I build from the OneDrive synced folder, it always have issue copying asset files. The .nuget/package is in my user directory C:\Users\username.nuget.


Remove selectize.js from core?

Working on the AI-Selector/Editor I tried to fix a problem which is probably rooted in selectize.js rather than the AI-interface extensions:
Apparently the remove button is not shown on single selects (e. g. selects with only one selection possible). I always found was that was a problem in the current association_ui_selector implementation. You have to use backspace to remove a single entry, which is pretty unintuitive. A simple remove button would be much better.
If I get it right it has been fixed here: https://github.com/selectize/selectize.js/pull/799/commits/16245c38aea618c2e837571ed862f8b28b6ddafb
This has probably not made it’s way into Symphony 2.6.7? Not sure about other breaking changes in selectize.js especially since I have no idea where else it is used in the backend.
So the final question is: can we update selectize.js? And what version should it be included in?

@nitriques @jonmifsud ok, in order to make selectize.js work for single-select-remove-buttons in the AI selector, I need a hack in one of it’s plugins. Since it really looks like it’s not used anywhere else by symphony anymore – should we remove it from the core then?

Yes. Will be done in 3.0.0

Done in 978990b9d6

\o/ The world from next tuesday is already here!


Migrate your OAuth out-of-band flow to an alternative method before Oct. 3, 2022

Hi,
im using your module and its very stable.
Problem: Google plans to shutoff oob withing oauth (a far as my understanding is...) and needs a more secure flow.
https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html
Is it possible that you can implement the change so that the module will work after 3rd oct 2022?
Thanks a lot!

I have the problem that I can't get it to work now! I ask myself how much time I should spend on something when the service is switched off!
Are there solutions in sight or will the whole thing be buried?

For me its working finde...now.
But yes- i hope far a solution to use it longer.

Hi guys,
I always feared this day would come 🙈
Unfortunately I don’t have the time and resources to take care of the project at the moment. It seems to me that at least the login flow needs to be changed to continue to work. Existing credentials might not be affected, however I’m not really sure about that. I will repair that at some point, however I don’t know when I’ll find the time.
In the meantime, if someone with the time and skill wants to work on this, feel free to fork the project and do it - that’s what GitHub is for.

Hi guys, I always feared this day would come 🙈 Unfortunately I don’t have the time and resources to take care of the project at the moment. It seems to me that at least the login flow needs to be changed to continue to work. Existing credentials might not be affected, however I’m not really sure about that. I will repair that at some point, however I don’t know when I’ll find the time.
In the meantime, if someone with the time and skill wants to work on this, feel free to fork the project and do it - that’s what GitHub is for.

Thanks a lot for this clarification. So lets cross fingers that the credentials will work.

If you have still the keys... it still works.


body-removed -> remove-body

Great library, thanks for your work on it.
I believe the events listed in the API section in the Readme aren't in sync with the code.
I tried .on('body-removed') and was stumped for a bit why it wasn't working, then realized it was renamed to .on('remove-body')

Thanks, fixed it! :)


llvmPackages_{15,16,git}.libcxxabi: fix build on Darwin

Description of changes
Fixes #251091 by excluding Darwin from the libc++abi build changes in #246577. I was able to build mpv.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] 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
[x] 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.

I suggest you watch ofBorg.  You'd know in advance that this breaks build on *-linux.  On Hydra now: https://hydra.nixos.org/eval/1798783#tabs-now-fail

Ugh, you are right, I misread the CI checks, my sincere apologies. I will revert this and revert the original PR that seems to create issues on Darwin.

Follow-up fix in https://github.com/NixOS/nixpkgs/pull/251566 as, with enough rest, I can determine the cause quite fast.


Can I obtain the replies of a tweet?

If I have a tweet with an id, can I pass this id to twitterscrapper to obtain all replies of the original tweet?

No, but you can obtain the replies to an person and then filter out the result.

@taspinar And how can I do that? The tweets that are replies to a person (with the option "filter:replies" in the advanced search) do not mention the id of the tweet they are replying to.
For example twitterscraper "cmilanoticia filter:replies" -l 1000 -bd 2019-06-13 -ed 2019-06-15 -o tweets.json gives only tweets that are replies to cmilanoticia, but I do not know which tweets reply to which tweet.

Can you have a look at https://github.com/taspinar/twitterscraper/pull/100.
I believe that is what you're looking for.

@taspinar So I'd have to modify tweet.py to implement what you are saying, right?
Because this reply_to_id idea is not implemented right now

No not yet.

I modified tweet.py and got what I needed. Thanks @taspinar I will close this issue.


Application crash on windows default full-screen toggling

I assume windows is trying to force our application to fullscreen mode, but then something goes wrong. (See image below)

Steps:

Run the application
Press F12

Bug:
Application crashes
Expected:
Nothing should happen at least or full screen should be toggled.

This is an intended feature of Windows. Hitting F12 when a debugger is attached to a program immediately triggers a breakpoint.

The F12 key is reserved for use by the debugger at all times, so it should not be registered as a hot key. Even when you are not debugging an application, F12 is reserved in case a kernel-mode debugger or a just-in-time debugger is resident.

Source (MSDN)

Closing because this works as intended.


support for object branches

Say you have some branches of objects, like TLorentzVectors, and you want to include something about them in the output array. What if you could pass in a dictionary of [class name] -> [list of functions] and for every branch encountered of type [class name], N=len([list of functions]) columns in the output array would be included and filled with the output of each function called on the object. For example you could pass in a function pt() for TLorentzVectors that would return the transverse momentum:
def pt(v):
    return v.Pt()

and a column with the name of the original object branch suffixed with _pt would be filled with the output of that function. Do you think this would be difficult to implement?

Fields that are expressions involving objects are now supported as of 4.0.1 ref #184. So I'm closing this.


x/review/git-codereview: reject commit messages with non-standard form

In particular, they should be of the form <some components]: <message>.
This came up in CL 5542.

Duplicate of #9254?
For the reference: it was fixed by golang/review@07daa7f8ec4a577c30537f7e8796159b0e0515a7 that performs the check, asking "y/n" if the commit message doesn't follow the convention.

I guess so. The problem occurred after the fix mentioned, but I'll close this for now, since it appears to be a duplicate and it has sat dormant for a long time.


Use more secure method of determining admin.

Also reducing number of runtime dependencies.
See https://stackoverflow.com/a/11995662 for discussion on why NET SESSION is a better choice

Please see https://github.com/sindresorhus/is-admin/pull/4

Interesting, I don't find that to be true on my machine

Either way, im happy to drop the PR if you wish.
I have changes on my machine to make this package platform agnostic and check sudo permissions on Linux/OSX, would you accept a PR for that?

I prefer how it's currently is and it's working fine.

I have changes on my machine to make this package platform agnostic and check sudo permissions on Linux/OSX, would you accept a PR for that?

I already have a package for that: https://github.com/sindresorhus/is-elevated :)


Set up CD workflows

What do we want to do here? Deploy on AWS or Azure?

No. For nightly release.

More importantly, a CD workflow from a release branch so that whenever it gets a commit, a new package is deployed

So we add this after releasing v0.1?

Closing this for now


Allow output helper to read values from a different environment

Summary
Allow configuring the output helper to read the outputs of a stack in an arbitrary environment, not necessarily the current one.
In other words, provide a similar functionality as mock values for the output helper, but dynamic.
Motivation
The output helper can be used in a stack to read the outputs from another stack that has been deployed in the same environment (same TS_ENV).
If the second stack has not been applied, the only option currently is to supply mock values. In my experience, these mock values are only useful if they are actually taken from a working, applied environment (e.g. "DEV"), that can be used as reference/fall back. After applying the reference stack I can copy and paste the output values as mocks into the output helper.
The downside is that the values defined as mocks are static: if the reference environment changes, they don't get updated, which causes misleading errors while developers are working on their own environments, resulting in time wasted.
So it would be very useful to be able to configure the output helper to read the outputs from a different environment, for example:
vpc_id = <%= output('vpc.vpc_id', default-env: 'DEV') %>
Drawbacks
None I can think of! It's additional functionality to better support what to me is a common workflow
Unresolved Questions
I think there are two options to do this, one may be simpler than the other to implement but both would  solve the current problem:

Define a default/fall-back environment that the output helper will read the values from if the dependent stack has not been applied to the current environment
Allow the output helper to define the environment to read values from, regardless of whether it's been applied or not

More generally, it would be really helpful if output could be targeted at anything in the layer stack. Like for example, if one stack wants to use TS_EXTRA, but wants to refer to output from another stack that doesn't use TS_EXTRA.

More generally, it would be really helpful if output could be targeted at anything in the layer stack. Like for example, if one stack wants to use TS_EXTRA, but wants to refer to output from another stack that doesn't use TS_EXTRA.

@tongueroo Is there a solution to this?  I think I'm trying to achieve exactly the same thing.  eg. Have a VPC stack that doesn't use TS_EXTRA, but an application stack that does.

There's currently no way to do this.
Last time, I took a look at this, it was pretty complex and shelved it for the sake of time. I would really like terraspace to be able to do this, though.
Some of the reasons for the complexity. Terraspace boots and memoizes info like Terraspace.env and Terraspace.extra. This is because these values are globally used as part of the "terraspace run". Terraspace use threads to do some parallelization and changing the values screws up the threading. There's already some thread-safe issues that will probably have also be handled with a probably mutex lock.
Got some ideas.  Will eventually make it happen. Again, really want this feature.

Hi @tongueroo thanks for the context! I've been wondering whether it'd be possible to write a custom helper that would get an output from the dev environment. Would something like this be feasible at all, or does the env variable+multithreading situation get in the way regardless?
In config/helpers/custom_helper.rb:
module Terraspace::Project::CustomHelper
    def get_from_dev(stack_name, output_identifier)
        # magic here to get the stack_name.output_identifier from dev
    end
end

And then:
vpc_id = <%= output('vpc.vpc_id', mock: get_from_dev('vpc', 'vpc_id')) %>

Following up on my previous comment, I've been having a play and the helper below seems to work fine so far, assuming that:

The dev environment has been deployed previously
Terraspace has previously built the files in the cache

Which are reasonable assumptions for me. I don't know how well it will stand the test of time though 🤔- any thoughts or words of caution would be most appreciated!
def is_ephemeral(env)
  persistent_envs = ["dev", "stag", "prod"]
  return !persistent_envs.include?(env)
end

module Terraspace::Project::CustomHelper
  def get_from_dev(stack_name, output)
    Terraspace.logger.debug "Helper get_from_dev(#{stack_name},#{output}) called"
    aws = AwsData.new
    stack_dir = ".terraspace-cache/#{aws.region}/dev/stacks/#{stack_name}"

    # Exit early if we're not dealing with an ephemeral stack - we don't need
    # to provide dev values in this case
    if !is_ephemeral(Terraspace.env)
      Terraspace.logger.debug "Skipping retrieval of mock values from dev because we are targetting a persistent environment: #{Terraspace.env}"
      return nil
    end
    if !Dir.exist?(stack_dir)
      Terraspace.logger.debug "Stack #{stack_name} has not been built and/or deployed in dev"
      return nil
    end
    # Attempt to retrieve the output value from the ts_dev environment
    output_value = `terraform -chdir=#{stack_dir} output -json | jq -r .#{output}.value`
    Terraspace.logger.debug "Output value retrieved: #{output_value}"
    return output_value.strip
  end
end


Update buildscripts

Merge zucks internal buildscript(s) and google's template.

@h-minamiohtsu Please review it 🔥


Create a delete view for deals

Am working on this issue

Done working on the issue
slack username @Joycrown

Slack username: Joycrown
Team : Epictetus
Live Link: sales.zuri.chat/deals/delete/1/


Merge secrets using find exceeds max size of secret

Describe the bug
A key of secret-name is added to the managed secret when using find. The contents of this key are constantly being updated with an escaped version of the contents of the key, meaning the secret very quickly exceeds its size.
To Reproduce
This can be replicated easily with the following manifests:

ESO Manifests
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: test
  namespace: default
spec:
  refreshInterval: 1m
  secretStoreRef:
    name: default
    kind: SecretStore
  dataFrom:
  - find:
      name:
        regexp: "^flux-project-ssa$"
  target:
    name: flux-project-ssa
    creationPolicy: Orphan
    deletionPolicy: Merge
    template:
      engineVersion: v2
      mergePolicy: Merge
      data:
        myproject: "{{ \"merge\" | b64enc }}"
---
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: test2
  namespace: default
spec:
  refreshInterval: 1m
  secretStoreRef:
    name: default
    kind: SecretStore
  dataFrom:
  - find:
      name:
        regexp: "^flux-project-ssa$"
  target:
    name: flux-project-ssa
    creationPolicy: Orphan
    template:
      engineVersion: v2
      mergePolicy: Merge
      data:
        myproject2: "{{ \"merge\" | b64enc }}"

If the above manifests are applied, after about 10 minutes or so, the key of flux-project-ssa will overflow the max size of the secret, causing the secret to enter a SecretSyncedError state with the event Secret "flux-project-ssa" is invalid: data: Too long: must have at most 1048576 bytes
$ k delete secret flux-project-ssa; k apply -f externalsecret.yaml ; \
    while true; do \
        k get secrets flux-project-ssa -o yaml | yq '.data.flux-project-ssa | @base64d' | wc -c; \
        sleep 60; \
    done
externalsecret.external-secrets.io/test configured
externalsecret.external-secrets.io/test2 configured
4
99
311
811
2463
8723
33415
131835
525167
525167 <--- This overflowed and the ExternalSecrets are in SecretSyncedError
525167

provide the Kubernetes and ESO version

ESO version: v0.9.20
Server Version: v1.29.2

Expected behavior
Either: ESO should not add the key containing the contents of the secret
OR: ESO should correctly replace the value with a new merged version rather than a merged + escaped content
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
This can be mitigated by adding a key with an empty value to the target template but this should not be necessary
    template:
      engineVersion: v2
      mergePolicy: Merge
      data:
        flux-project-ssa: ""
        myproject2: "{{ \"merge\" | b64enc }}"

Edit: Attaching secret store config eso-k8s.yaml.txt

@mproffitt - can you confirm this does not happen if you use mergePolicy: Replace ?

@gusfcarvalho I've tested mergePolicy: Replace this morning and confirm that this behaviour only seems to affect mergePolicy: Merge.
Using Replace doesn't add  the contents of the secret as a nested key which is what caused the escaping behaviour so this is entirely linked to merge behaviour.


[lit-next] Short copyright headers breaks test due to earlier null byte

I had trouble believing that a shorter copyright statement could break all our tests, but it happened.
What happened
lit-html.js contains the following lines:
const NAME_CHAR = `[^\0-\x1F\x7F-\x9F "'>=/]`;

const tagEndRegex = new RegExp(`>|${SPACE_CHAR}(?:(${NAME_CHAR}+)(${SPACE_CHAR}*=${SPACE_CHAR}*(?:${ATTR_VALUE_CHAR}|("|')|))|$)`, 'g');

https://github.com/Polymer/lit-html/blob/lit-next/packages/lit-html/src/lit-html.ts#L140
With unsafe optimizations on, Terser minifies the \0 escape sequence to an actual null byte, as part of its RegExp constructor optimization:
const _ = new RegExp(`... ?:($<NUL>+...`)

By shortening the copyright header, we moved the null byte closer to the beginning of the file.
Now, some code path in @web/dev-server (Koa static middleware?) begins setting the response body as a Buffer instead of a string. My guess is that there's some charset sniffing logic which looks at the first N bytes. It doesn't think 0 is a valid UTF-8 byte, so it doesn't automatically decode to a string.
The @web/dev-server module transform middleware assumes string bodies (no thanks to the type for Koa context.body being any), so it passes this Buffer to es-module-lexer, which then throws because it expects a string.
Thoughts
I noticed that VSCode and Meld also freak out when they see it early in the file. VSCode prompts if you want to open a binary file. Meld sniffs the file as UTF-16, and if you force UTF-8 it says it has substituted an invalid character.
Interestingly, Terser only emits the null byte as part of its RegExp constructor optimization:
# Escaped
echo 'console.log(`\0`)' | terser -c unsafe | hexdump -c

# Null byte
echo 'console.log(new RegExp(`\0`))' | terser -c unsafe | hexdump -c

# Hex escape instead of octal doesn't make any difference
echo 'console.log(new RegExp(`\x00`))' | terser -c unsafe | hexdump -c

Seems like Terser probably shouldn't emit null bytes, so I think I'll file a bug.
@web/dev-server shouldn't assume response bodies from downstream middleware will always be strings.
Ideas

We could just fix the @web/dev-server bug (I have a PR ready) to unblock our tests. However, given what I saw with e.g. VSCode not believing this to be a UTF-8 file, I think we should avoid publishing the null byte. Other tools/servers might have issues with it, plus it's weird for users to not be able to open it without a warning in VSCode.

We could change the Terser settings just for lit-html.js, but we'll get a small size bump:
Disabling unsafe optimizations increases size of lit-html.js from 6.31 KB raw / 2.60 KB brotli (from 6.27 / 2.58).
Enabling ascii_only increases size to  6.33 / 2.61.

We could re-arrange the file so that the NAME_CHAR const appears somewhere further into the file. (Too brittle, could regress in the future, plus some tools might care about a null byte anywhere in the file.)

We could change the NAME_CHAR regex fragment to not worry about null, and switch from \0-\x1F to \x01-\x1F. The purpose of the regex is to detect attribute names, and this fragment is there to exclude control characters. So, this would make lit-html think a null character could be an attribute name. Seems super rare this would ever come up in practice, but I don't think we want to introduce the possibility.

We could do a post-Terser substitution of the null byte back to an escape sequence. This seems pretty good, except that if anybody else minifies our published lit-html.js with unsafe optimizations, the same thing will happen. If Terser also changes the behavior soon, though, this seems fine.

This is wild. I like option (4), but I'd go even further. These regexes are derived from the HTML spec, but I'd almost guarantee that the control characters are never encountered in the wild, and we certainly don't cover them in tests.
I'd be willing to go off-spec completely regarding control characters, and have wanted to try that for a while (see my TODO).
So we could go from this:
// TODO (justinfagnani): can we get away with `\s`?
const SPACE_CHAR = `[ \t\n\f\r]`;
const ATTR_VALUE_CHAR = `[^ \t\n\f\r"'\`<>=]`;
const NAME_CHAR = `[^\0-\x1F\x7F-\x9F "'>=/]`;

to:
const SPACE_CHAR = `\\s`; // to be inlined
const ATTR_VALUE_CHAR = `[^\\s"'\`<>=]`;
const NAME_CHAR = `[^\\s"'>=/]`;

Our space character class would change to accept other unicode spaces: \u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff. This means that our scanner would diverge slightly from the HTML parser and treat those characters as ending an attribute name or an unquoted attribute value. The scanner could then add a binding for the wrong attribute name, which might not be the end of the world.
A test for what would happen would look like:
test('weird spaces', () => {
  // I thought this is what would happen, but we actually get an exception
  assertRender(html`<div a\u00a0b=${'A'}></div>`, '

');
  assertRender(html`<div a=${'A'}\u00a0${'B'}></div>`, '

');
});

Right now we throw because we're looking up the wrong attribute name. Throwing on characters we don't handle well is arguably better than subtly different behavior, so maybe that's ok.

So it turns out that we don't support binding to attribute names with unicode spaces already. setAttribute() has a different definition of valid attribute names than HTML (which is why we use the ., @, and ? prefixes - they don't work with setAttribute()) and it throws when binding to them.
So
`html`

`

is already not working and we would just throw in a different spot.
That leaves cases like:
html`<div a=${'A'}\u00a0${'B'}></div>`

which currently renders to

 but renders to

 if we use \s. This is because we think the second binding is an element position binding during marker insertion, but we do see it as an attribute binding when walking the template tree.
\u00a0 in particular is pretty useful, corresponds to an HTML entity, and may end up being in source, so a middle ground from using \s everywhere could be to just use it in the NAME_CHAR class:
const SPACE_CHAR = `[ \t\n\f\r]`;
const ATTR_VALUE_CHAR = `[^ \t\n\f\r"'\`<>=]`;
const NAME_CHAR = `[^\\s"'>=/]`;

Filed https://github.com/terser/terser/issues/942 since I think, regardless of our solution, Terser probably shouldn't be emitting null bytes here.

Fixed by https://github.com/Polymer/lit-html/pull/1635


Trigger EKS-A brew upgrade

Description of changes:
Manual cherry-pick of https://github.com/aws/eks-anywhere/pull/6827
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/retest
/approve


play but fast rate,why?

when i  publish aac data to rtsp by ffmpeg,and then i test the rtsp url,why the player  play with the fast rate?why?

-i  C://Users//Administrator//Music//1.mp3 aac -ar 44100 -ac  2  -ab  192k  -rtsp_transport tcp  -f  rtsp  rtsp://localhost:5454/live/mystream.sdp


Linux build options for distros other than ubuntu

I see that the build options for linux are specifically for ubuntu, any chance those will work with other distros? I'm an Arch user and since Arch is a rolling release distro I feel like there could be some problems with dependencies.
I also use nobara, which is a fork of Fedora, (on my steam deck) that gets new system updates about every 6 months and has newer packages than what the latest ubuntu lts release has.
If that isn't the case for rust, then what would I run to build thr software?

@LovecraftianGodsKiller See this PR: https://github.com/subalterngames/cacophony/pull/7
The flags currently have misleading names. All they do is set the expected version of Speech Dispatcher. Please let me know if you can compile on Arch and nobara using the renamed flags.


Parser info

Parser info does not cover all new variables. Update names and descriptions for all variables

Add additional help for all modes, e.g., asemd NVE --help should show options and bare minimum number of parameters to run. This should be available for all modes.


Updates base image in builder

Coverage increased (+0.007%) to 87.233% when pulling<PHONE_NUMBER>2b7d15c843ee0baf484ff231084902 on lcarva:add-filesystem-base-image-update into 59599359b8eda3cb05e12ee96e062686ab4e7dca on projectatomic:master.

LGTM. We can also drop the ImageName import now.

Coverage increased (+0.004%) to 87.229% when pulling 8d44e8d397c1d0140c38050418db1499691f7877 on lcarva:add-filesystem-base-image-update into 59599359b8eda3cb05e12ee96e062686ab4e7dca on projectatomic:master.


Tab focus isn't trapped in Modal/ComposedModal

Both the Modal and ComposedModal components allow a user to transfer focus to other page elements via the keyboard. The focus should be trapped within the modal, as per https://www.carbondesignsystem.com/components/modal/usage#focus.

Fixed in v0.38.2


Create simple-on-off-button.md

📝 Description
Add a brief description.
💣 Is this a breaking change (Yes/No):

[ ] Yes
[x] No

🚧 How to migrate?
Don't need.
📝 Additional Information
lol

Dear @avyuktsoni0731 , we found that your app is too simple. There is some idea for you: (1) build a video player, use the switch to control whether to loop.  (2) Two images one of them is the light not on and another one is the light on. Set the hidden of images, one of them is {{switch1.value}} and another 1 is {{!switch1.value}} so that you can use the switch to control the light on/off.


Block import notification for literally every imported block even when the chain is not synced to the tip

Is there an existing issue?

[X] I have searched the existing issues

Experiencing problems? Have you tried our Stack Exchange first?

[X] This is not a support question.

Description of bug
I'm looking for a block import notification that is fired on every imported block, the existing client.import_notification_stream() is fired only when on the tip or there is a re-org.
https://github.com/paritytech/substrate/blob/dfc9223f5d28b258c7762012ae7ef48a7a7f1359/client/service/src/client/client.rs#L774-L775
In subspace, we have the consensus chain and execution chain, the execution chain is entirely driven by the consensus chain. Each domain block is derived from a consensus block in a deterministic way, we need a block notification of every single consensus block to build the execution chain accordingly even if the consensus chain is not fully synced.
Currently, we're using a custom block notification sent during the stage of consensus-level block import, but it has an issue (https://github.com/subspace/subspace/issues/1143) that some states might be unusable when the notification is received by the handler because the block import pipeline is not yet completed.
Steps to reproduce
No response

I would accept a pr adding a second method import_notification_stream_good_name that gives you the opportunity to get such a stream. Internally we should then have two vecs of notification receivers based on what kind of condition they are receiving block notifications.

Any chance we can change the semantic of import_notification_stream, concretely speaking,

partial_import_notification_stream: Fired when the chain is synced to the tip or there is a re-org.
import_notification_stream: Fired on every single block no matter what the sync state is.

This clearly requires larger changes, but I do think partial_import_notification_stream (or recent_import_notification_stream?) describes better the current behavior, the bigger reason is that I honestly don't a good concise name for import_notification_stream_good_name, naming is hard :P


Store and use server settings

Crates a serverSettingsReducer and when we receive that data updates it.
Adds calls to update the serverSettings
Also adds selectors to get this data out of the state.
Used to display realm icons, notification status etc.

(#1507 is the issue for warning when the server isn't set up for notifications.)

Rebased.

Thanks @borisyankov !
One thing I noticed just in doing a quick rebase of this:

Extract a generic Notice component out of OffflineNotice
refactor: Rework OfflineNotice to use Notice internally

This is a case where things would actually be clearer as a single commit.
In particular that means that when reading the green side of the diff, the code that's being copied is right there in the red side of the same commit, so the context is self-contained. It also means there's no worry when looking at the first commit that we're duplicating a bunch of code, because it's explicit that it's being moved.

+export type ServerSettingsState = {

Let's be sure to put a jsdoc on this. Follow the style of the other *State types' jsdoc.
One important question to answer: what are the keys exactly? There are several different formats we could potentially use for a string to identify a realm.

+const initialState: ServerSettingsState = NULL_OBJECT;

There's no optimization benefit to making this be the same {} object as other {} we have lying around -- this const initializer runs once -- so let's write this more simply and directly as {}.
... => ({
+  ...state,
+  [action.data.realm_uri]: {
+    ...state[action.data.realm_uri],
+    authentication_methods: action.data.realm_authentication_methods,
+    realm_description: action.data.realm_description,
+    realm_icon: action.data.realm_icon_url,
+    realm_name: action.data.realm_name,
+    realm_uri: action.data.realm_uri,
+  },
+});
+

I think this would benefit from destructuring and object-initializer shorthand. Like
const { realm_uri, authentication_methods, /* ... */ } = action.data;
return { ...state,
  [realm_uri]: {
    ...state[realm_uri],
    authentication_methods,
    /* ... */ }};

... Oh hey, in fact after typing that I notice that authentication_methods is an exception to the names matching up. That makes me further inclined to prefer the shorthand -- the exceptions will stand out because the boring stuff will be simpler. :-)

export type GlobalState ...

serverSettings: ServerSettingsState,

Hmm -- this should have come when adding this reducer to reducers, no?
+export const getCurrentServerSettings = createSelector(
+  getCurrentRealm,
+  getServerSettings,
+  (realm, serverSettings) => serverSettings[realm] || NULL_OBJECT,
+);

Hmm -- I think it isn't 100% obvious expected behavior that the caller of this selector might get an empty object.
And in fact as drafted, this API is quite dangerous -- the type inferred for the selector is that it returns an ApiServerSettings, which means that if you just take serverSettings.push_notifications_enabled, that is already (supposedly) a boolean. It'd be very reasonable for someone to use that directly and not compare against false -- and then the code will implicitly treat "don't know" as false.
So this needs to get a type that causes serverSettings.push_notifications_enabled to have a type like ?boolean or boolean | void (or else to just be an error without checking serverSettings first.)
It'd also be good to mention in jsdoc that it returns {} when not found, if that is what it ends up doing.

This PR has been stale for a while. Given the last comments above, plus all the changes that have happened in master, I think the shortest route to fixing the issue will be to approach it fresh; so, closing this PR.


Sexier imports

You can configure your application to support importing modules using absolute paths. This can be done by configuring a jsconfig.json or tsconfig.json file in the root of your project. If you're using TypeScript in your project, you will already have a tsconfig.json file.
Below is an example jsconfig.json file for a JavaScript project. You can create the file if it doesn't already exist:
{
  "compilerOptions": {
    "baseUrl": "src"
  },
  "include": ["src"]
}

If you're using TypeScript, you can configure the baseUrl setting inside the compilerOptions of your project's tsconfig.json file.
Now that you've configured your project to support absolute imports, if you want to import a module located at src/components/Button.js, you can import the module like so:
import Button from 'components/Button';

@nimaa77 Hey! I just tried to set this up in my project using aliases prefixed with ~, but Razzle/Webpack can't seem to resolve them. Works fine in VSCode. Any reason why this would not work?
    "baseUrl": "./src",
        "paths": {
            "~components/*": ["components/*"]
        }

The only supported option in razzle for the time being is compilerOptions.baseUrl .

I'm still having trouble using yarn test with non-relative imports in 3.3.7. yarn start and yarn build work as expected.
Project structure:
src/
  entities/
    decoders/
      index.ts
      index.test.ts

In src/entities/decoders/index.test.ts:
import * as D from "entities/decoders";

Running yarn test:
 FAIL  src/entities/decoders/index.test.ts
  â Test suite failed to run

    Cannot find module 'entities/decoders' from 'index.test.ts'

      1 | import * as E from "fp-ts/lib/Either";
    > 2 | import * as D from "entities/decoders";
        | ^
      3 | import berryFirmnessData from "./fixtures/berryFirmness.json";
      4 |
      5 | test("it decodes berry firmness", () => {

      at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
      at Object.<anonymous> (src/entities/decoders/index.test.ts:2:1)

My tsconfig.json:
{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "baseUrl": "src",
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react"
  },
  "include": ["src"],
}

My tsconfig.json:
{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "baseUrl": "src",
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react",
    "paths": {
       entities: "src/entities"
    },
  },
  "include": ["src"],
}

@fivethreeo are you saying that this needs to be done for every subdirectory of src, or only when importing from index?

Depends on where you want to import from. You could just name it anything/* -> src/* and import from anything/entities

@fivethreeo just to clarify, you're saying that this non-relative imports feature works out of the box with the start and build scripts, but using non-relative imports with the jest test runner requires additional configuration, right?

Correct :)
On Mon, 9 Nov 2020 at 16:50, parkerault<EMAIL_ADDRESS>wrote:

@fivethreeo https://github.com/fivethreeo just to clarify, you're
saying that this non-relative imports feature works out of the box with the
start and build scripts, but using non-relative imports with the jest test
runner requires additional configuration, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jaredpalmer/razzle/pull/1112#issuecomment-724098705,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAADGXI6XDQLNZSY76CBT3SPAFV3ANCNFSM4I4T4Q7Q
.

--
Øyvind Saltvik

@fivethreeo I'm not able to get your solution to work. Can you check out this repo here and tell me if I've incorrectly configured it? https://github.com/parkerault/razzle-test-imports-failure

The paths key and value must be a string.

nov. 2020 kl. 19:25 skrev parkerault<EMAIL_ADDRESS>
@fivethreeo I'm not able to get your solution to work. Can you check out this repo here and tell me if I've incorrectly configured it? https://github.com/parkerault/razzle-test-imports-failure
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

The paths key and value must be a string.

I don't think this is correct. From the typescript handbook paths reference:
{
  "compilerOptions": {
    "baseUrl": ".", // This must be specified if "paths" is.
    "paths": {
      "jquery": ["node_modules/jquery/dist/jquery"] // This mapping is relative to "baseUrl"
    }
  }
}

Setting the value to a string produces this warning: Incorrect type. Expected "array".

Then it is a razzle bug.
https://github.com/jaredpalmer/razzle/blob/c28496f4d58029f07dfe9957d18b1adde326bf38/packages/razzle/config/modules.js#L53
https://github.com/jaredpalmer/razzle/blob/c28496f4d58029f07dfe9957d18b1adde326bf38/packages/razzle/config/modules.js#L53
https://github.com/jaredpalmer/razzle/blob/c28496f4d58029f07dfe9957d18b1adde326bf38/packages/razzle/config/modules.js#L53
https://github.com/jaredpalmer/razzle/blob/c28496f4d58029f07dfe9957d18b1adde326bf38/packages/razzle/config/modules.js#L53ttps://github.com/jaredpalmer/razzle/blob/c28496f4d58029f07dfe9957d18b1adde326bf38/packages/razzle/config/modules.js#L53

nov. 2020 kl. 02:05 skrev parkerault<EMAIL_ADDRESS>
The paths key and value must be a string.
I don't think this is correct. From the typescript handbook paths reference:
{
"compilerOptions": {
"baseUrl": ".", // This must be specified if "paths" is.
"paths": {
"jquery": ["node_modules/jquery/dist/jquery"] // This mapping is relative to "baseUrl"
}
}
}
Setting the value to a string produces this warning: Incorrect type. Expected "array".
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Ugh, I didn't realize you could define jest's module paths in package.json. This is a workaround:
In package.json:
  "jest": {
    "moduleFileExtensions": ["js", "jsx", "ts", "tsx"],
    "moduleDirectories": ["node_modules", "bower_components", "src"],
  }

I made a PR to the documentation that will hopefully prevent anyone else from having this problem in the future: #1468.

Then it is a razzle bug. https://github.com/jaredpalmer/razzle/blob/c28496f4d58029f07dfe9957d18b1adde326bf38/packages/razzle/config/modules.js#L53

I think this is actually working correctly; I tested it using "@bar/*": ["foo/*"] and it was able to resolve the modules. With the update to the documentation I think we can consider this resolved. Thanks for your help!


test: Percy updates

What does this change?
WIP
Why?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 93.911%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
631

Relevant Lines:
665

💛  - Coveralls


Do not panic on invalid format of ANSI string

Thanks for this crate!
I think it isn't good to panic in case of an invalid format of ANSI string. Parser (or convertor) should just return a suitable error in such kinds of cases.

@Aloso Hello, could you take a look on it?

Thank you for your pull request! At first sight the changes look good.
I'm quite busy today, but I'll look at it this evening more thoroughly.

I'll release a new version now. Thanks for fixing this bug and the clippy warnings!

After re-reading the code, I don't think it could actually panic. parse_4bit and parse_4bit_bright are used here:
    match code {
        //...
        30..=37 => Ansi::ForgroundColor(Color::parse_4bit(code - 30)?),
        //...
        40..=47 => Ansi::BackgroundColor(Color::parse_4bit(code - 40)?),
        //...
        90..=97 => Ansi::ForgroundColor(Color::parse_4bit_bright(code - 90)?),
        100..=107 => Ansi::BackgroundColor(Color::parse_4bit_bright(code - 100)?),
        _ => {
            return Err(Error::InvalidAnsi {
                msg: format!("Unexpected code {}", code),
            })
        }
    }

So it's guaranteed that the value passed to these functions is between 0 and 7.

you are absolutely right, calling these methods from ansi/iter_next give a guarantee... hmm I've just rollback my fork to commit 55ccdf5e9827c1d84e9e37fee70c993d05d1532a and I'm not able to reproduce a bug, which I had with panic on unreachable.
Hmm weird. BTW I'm using your crate with web assembly.
In any way, thanks for the changes. Crate works fine and stable

I think I know what it was. On crate.io it says for version 0.1.0 the last update was "almost 2 years ago" (13.11.2020). But the last commit 55ccdf5e9827c1d84e9e37fee70c993d05d1532a (excluding today's changes) was 13.12.2021. Well, I think the reason why I have gotten a bug, was outdated metadata on crate.io.
But again, in any way thanks for updates.


Type of generic function parameter not being inferred from interface generic type.

TypeScript Version:  3.4.0@rc

Search Terms:
Code
export type Prop<T> = { (): T }
export type PropType<T> = Prop<T>;
export type PropDefaultValue<T> = T;

export type PropValidatorFunction<T> = (value: T) => boolean;
export type PropValidator<T> = PropOptions<T>;

export type PropOptions<T> = {
    type: PropType<T>;

    value?: PropDefaultValue<T>,
    required?: boolean;
    validator?: PropValidatorFunction<T>;
}

export type RecordPropsDefinition<T> = {
    [K in keyof T]: PropValidator<T[K]>
}
export type PropsDefinition<T> = RecordPropsDefinition<T>;

declare function extend<T>({ props }: { props: PropsDefinition<T> }):  PropsDefinition<T>;

interface MyType {
    valid: boolean;
}

const r = extend({
    props: {
        // gets resolved to PropOptions<any> but should be PropType<MyType>
        notResolved: {
            type: Object as PropType<MyType>,

            // type not inferred
            validator: (x) => {
                return x.valid;
            }
        },
        // gets resolved currectly to PropType<MyType>
        // on<EMAIL_ADDRESS>doest resolve to PropType<MyType>
        explicit: {
            type: Object as PropType<MyType>,

            // type not inferred
            validator: (x: MyType) => {
                return x.valid;
            }
        }
    }
})

// return type on 3.4@rc doesn't get resolved
r.explicit
r.notResolved
r.explicit.required
r.notResolved.required

Expected behavior:
The validator parameter as typescript type inferred from T.
Props record values to be resolved with the interface of PropType
Return type to be PropsDefinition<T>
Actual behavior:
Getting validator parameter resolved as any/unknown.
Record types are not getting resolve to the type PropOptions<T> in 3.4@rc but working in 3.3.x
The return type not working in 3.4@rc
Playground Link:
playground

This hasn't worked particularly well in any version, but this seems to be regressing:
type Box<T> = {
    contents: T;
    contains?(content: T): boolean;
};
type Mapped<T> = {
    [K in keyof T]: Box<T[K]>;
}
declare function id<T>(arg: Mapped<T>): Mapped<T>;

// obj1: Mapped<{ foo: string }> ✔
const obj1 = id({
    foo: {
        contents: ""
    }
});

// 3.3 obj2: Mapped<{ foo: any }> ❌
// 3.4 obj2: Mapped<{}> ❌❌
const obj2 = id({
    foo: {
        contents: "",
        // k: implicit any ❌
        contains(k) {
            return k.length > 0;
        }
    }
});

The key issue here is that during the initial pass in type inference where we defer context sensitive function expressions and arrow functions, we never perform reverse mapped type inference on types that contain anything context sensitive. That is too conservative because, as illustrated by the examples, there are cases where we want to infer from the properties that aren't context sensitive and then apply those inferences to the context sensitive locations. I will be putting up a PR that does this.


[patch] Pickle storage backend

This introduces a new Node.storage_backend = "pickle" that saves nodes to/from pickle files.
This is just a patch, but locally I experimented with the more significant change of making pickle the default back-end, and the entire test suite still ran without a problem, so I'm optimistic the transition will be easy.
In the medium to long term, I still want something like h5 or json for the storage backend, because we want something browsable and (ideally) compatible with version controlling. In the short term, I just want something robust and straightforward.

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

0 of 0   changed or added relevant lines in 0 files are covered.
30 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.04%) to 92.47%

Files with Coverage Reduction
New Missed Lines
%

node.py
13
93.75%

mixin/storage.py
17
92.92%

Totals

Change from base Build<PHONE_NUMBER>1:
0.04%

Covered Lines:
3291

Relevant Lines:
3559

💛  - Coveralls


计算机学院：请求完成信息安全2020级部分

TO-DO List

[ ] Update more experimental reports
[ ] Update more notes
[ ] Much more professional evaluations

Thanks for your future contributions!

Don't remove your assignment!


Using frameworks with Carthage dependencies with playgrounds

XcodeGen 2.2.0, Xcode 10.1.
I can't get frameworks with framework and Carthage dependencies working with Xcode playgrounds. This might not be a XcodeGen issue at all, but it's possible XcodeGen could be doing something to help along here. I don't know the solution.
I have an iOS app split into frameworks where some of the frameworks depend on each other. The frameworks work fine in a playground. If I add Carthage dependencies into the mix, they stop working in the playground. In the application target they both work fine.
Here's a project.yml that works fine:
name: MyTestProject
options:
  xcodeVersion: "1000"
  bundleIdPrefix: "fi.juripakaste.xcodegentest.2f0d"
settingGroups:
  default:
    SWIFT_VERSION: 4.2
targets:
  MyFramework:
    platform: iOS
    type: framework
    sources:
      - path: MyFramework/Sources
        name: "My Framework"
    dependencies:
      - target: MyBaseFramework
    settings:
      groups: [default]

  MyBaseFramework:
    platform: iOS
    type: framework
    sources:
      - path: MyBaseFramework/Sources
        name: "My Base Framework"
    settings:
      groups: [default]

  MyApplication:
    platform: iOS
    type: application
    sources:
      - path: MyApplication/Sources
        name: "App (2f0d)"
    dependencies:
      - target: MyFramework
      - target: MyBaseFramework
    settings:
      groups: [default]

Here's a project.yml where MyFramework won't work in playground (notice MyFramework depends on Differ):
name: MyTestProject
options:
  xcodeVersion: "1000"
  bundleIdPrefix: "fi.juripakaste.xcodegentest.2f1d"
settingGroups:
  default:
    SWIFT_VERSION: 4.2
targets:
  MyFramework:
    platform: iOS
    type: framework
    sources:
      - path: MyFramework/Sources
        name: "My Framework"
    dependencies:
      - carthage: Differ
      - target: MyBaseFramework
    settings:
      groups: [default]

  MyBaseFramework:
    platform: iOS
    type: framework
    sources:
      - path: MyBaseFramework/Sources
        name: "My Base Framework"
    settings:
      groups: [default]

  MyApplication:
    platform: iOS
    type: application
    sources:
      - path: MyApplication/Sources
        name: "My Application (2f1d)"
    dependencies:
      - target: MyFramework
      - target: MyBaseFramework
    settings:
      groups: [default]

In both cases I've opened the generated project, done a Save As Workspace…, then added a playground to the workspace. In both cases I have a public struct Bar in MyFramework that uses public struct Foo from MyBaseFramework. With the latter project, where I have the Carthage dependency, trying to instantiate a  Bar in the playground results in this message:
error: Couldn't lookup symbols:
  MyFramework.Bar.init(field: MyBaseFramework.Foo) -> MyFramework.Bar
  type metadata for MyFramework.Bar

So the first question is slightly in the Stack Overflow territory: any ideas how to make this work? And second: is this a problem with XcodeGen or in how I've set up my project?

My workaround is here:
...
aggregateTargets:
  CopyFrameworksForPlayground:
    buildScripts:
      - script: cp -rv "${SRCROOT}/Carthage/Build/iOS/" "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}"
targets:
  Playground: # create fake framework to just adding reference to playground to project and avoid including to app bundle
    type: framework
    platform: iOS
    sources:
      - Playground.playground
  App:
    type: application
    platform: iOS
    ...

Add the aggregateTarget that has the script copies carthage projects to frameworks folder. Unfortunately we have to run that aggregateTarget when carthage dependencies changed.
My idea is to make it possible to describe something like a target for a playground on a spec.
targets:
  Playground:
    type: playground
    sources: [Playground.playground]
    dependencies:
      - carthage: Kingfisher
      - carthage: Alamofire

But this may not be a good idea. I think this behavior is a problem with Xcode and should be fixed by Apple.


Standalone mesh movement

[ ] How does applying a known value on the surface gets propagated.
[ ] laplacian vs distance squared vs elasticity
[ ] ideally standalone example through ns_main

done through ns_main no standalone necessary


enable asar and prune options by default - fixes #35

// @malept @develar

👍 asar is already default in the electron-builder. And it should be default because Window IO is very poor and asar helps a lot on Windows platform.
But please note — https://github.com/electron-userland/electron-builder/issues/351 (anyway, it is electron-builder responsibility to deal with it).

A few general notes:

This requires a major version bump.
I don't think this sets either parameter by default for the CLI.
This will conflict with #353. (And I want to take that one first because it should only require a minor version bump.)

Also looks like there's at least one failing test.

@sindresorhus In the next upcoming electron-builder 5 prune will be enabled by default if not two-package.json project structure is used.

Closing this. I'm now using electron-builder which has asar: true by default. And I don't have the time to finish this PR.


Add a beamline monitor TUI

Now that we are starting to have beamlines with mix of traditional and K8S IOCS, we need a way for scientists to monitor, start and stop the K8S ones as they don't show on the HW status screen and don't have a procServControl screen.
Rather than try to shoehorn something on to the IOC list on HW Status we propose to have a TUI mode for the ec command. We could then have a single button on the HW status screen labelled Kubernetes IOCs which launches a terminal and executes:
source environment.sh
ec monitor

This would ask for credentials if the user's K8S token has expired or just run if they have a current token. The ec monitor command would launch a TUI with these features:

scroll-able list of all K8S IOCs in the cluster including stopped ones
status of each IOC shown
buttons next to the IOC for stop/start/restart/logs
logs will bring you to a new scroll-able log of both current and previous logs
exiting logs returns you to monitor mode

This could make a great interim tool for IOC management - could even do the job indefinitely. It is also relatively easy to do as everything needed is already implemented in ec and this is just a TUI over the same functionality. No additional credential management etc. required.
I've discussed this with @OCopping  and he is interested in looking into it - assigning to him.
Also mentioned it to Gareth and he was in favour of something like this rather than the existing pure command line tool.

Fixed by #139


Support multi-instances split using cold_split method

Editing to suggest a way to solve issue raised in https://github.com/mims-harvard/TDC/issues/136.

Thank you! I will test it out and get back to you!


write wsgi files for use in apache / nginx

The index is intended to be run behind a proper web server, such as apache or nginx.

It looks like this is being addressed in #17.


travis: Build on mac too

This way the badge text becomes true :smile:

Thanks for keeping us honest! 😄


[Enhancement] Optimize quorum publish, wait some time util all backends finish

What type of PR is this：

[ ] bug
[ ] feature
[x] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

#5155 Fix a bug for quorum publish, It makes version publish after all tablets reach quorum and mark unsuccess replicas fail(which will not mark before this PR)
unsuccess replicas will make the table unstable. As a result, schema change and colocate join cannot be executed. and unnecessary clones may be triggered at the same time.

[FE PR Coverage check]
:disappointed: fail : 4 / 7 (57.14%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
3
6
50.00%

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

Better to add some context for this issue.

Better to add some context for this issue.

WIP

[FE PR Coverage check]
:disappointed: fail : 5 / 7 (71.43%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
4
6
66.67%

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

[FE PR Coverage check]
:disappointed: fail : 5 / 7 (71.43%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/transaction/DatabaseTransactionMgr.java
4
6
66.67%

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%

please create issue for the bug

@mergify backport branch-2.2

@mergify backport branch-2.1

@mergify backport branch-2.0


Cannot use Docker images that do not run as root

Issue Type

Feature request

Molecule and Ansible details
ansible --version
ansible 2.6.3
...
  python version = 2.7.5 (default, May 31 2018, 09:41:32) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

molecule --version
molecule, version 2.17.0

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Desired Behavior
It should be possible to let Molecule know that the base image it is told to use does not run things as root inside and therefore either:

sudo aught to be used to install the extra packages Molecule adds to the derived images it generates

or:

USER directives should be added to the Dockerfile molecule generates so that it switches to root to run the extra installation commands it adds and then switches back to the original image user.

The Dockerfile is a template provided to the user to do things as they wish.  If you wish to use USER or add sudo to the commands feel free.  Molecule does not run docker with sudo on my mac.

I meant use sudo from inside the Dockerfile, not run docker with it... also since non-root images aught to be common, I'd rather see a built-in feature to support them rather then having each user of such an image have to tweak the Dockerfile

I don't really have the cycles to implement this.  Since you can update your own Dockerfile to support this, please do so, and if you feel necessary submit a PR so others may benefit from this work.

I think is critical to be able to run tasks as both root and non root on docker containers as part of role testing. What happens is very different when you are root.
Now I see that these are running as root, which is ok for 50% of my role testing. Now I need to find a way to test its use as non root. How?

Reopening as at the minimum his is something we need to document (and maybe even write code for).
Does anyone have a work around for this?

Does https://github.com/ansible/molecule/pull/1526 solve this?!

I came across this issue yesterday and #1526 doesn't solve it for my use case. The workaround I used was to update the Dockerfile.j2 so that it had an optional user switch statement during the build process. In this instance I've an image that cannot, purposely, use DNS. Since Molecule needs to install dependencies I switched the user back to root, enabled DNS, then revert this change after the installation.
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}

{% if "instance-1" == item.name %}
USER root
RUN sed -i 's/\(hosts:.*files\)/\1 dns/' /etc/nsswitch.conf
{% endif %}

RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get install -y python sudo bash ca-certificates && apt-get clean; \
    elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install python sudo python-devel python2-dnf bash && dnf clean all; \
    elif [ $(command -v yum) ]; then yum makecache fast && yum install -y python sudo yum-plugin-ovl bash || true && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \
    elif [ $(command -v zypper) ]; then zypper refresh && zypper install -y python sudo bash python-xml && zypper clean -a; \
    elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates; \
    elif [ $(command -v xbps-install) ]; then xbps-install -Syu && xbps-install -y python sudo bash ca-certificates && xbps-remove -O; fi

{% if "instance-1" in item.name %}
RUN sed -i 's/^\(hosts:\s*\).*/\1files/' /etc/nsswitch.conf
USER runner
{% endif %}

Some updates about this issue ?
Or at less, a documentation/example ?


Crate name not detected from within itself

When using a proc-macro that uses crate_name(), crate_name() cannot detect the crate name if it is the current crate.

Hey,
yeah that is correct, but that would not help you. As, when you want to import my-crate and you are in my-crate, you can not write my-crate::something. So, we solve this outside of this crate in the following way:
	if env::var("CARGO_PKG_NAME").unwrap() == "my-crate" {
		TokenStream::new()
	} else {
		match crate_name("my-crate") {
			Ok(crate_name) => {
				let crate_name = Ident::new(&crate_name, Span::call_site());
				quote!(
					#[doc(hidden)]
					extern crate #crate_name as proc_macro_runtime_interface;
				)
			},
			Err(e) => {
				let err = Error::new(Span::call_site(), &e).to_compile_error();
				quote!( #err )
			}
		}
	}

(You can actually also use my-crate as identifier inside of my-crate, but then you need to add to your lib.rs: extern crate self as my_crate;)

Is there no way this can be done in the crate_name()? I don't know what ${CARGO_PKG_NAME} holds if you are the dependency of a proc-macro crate, whether it's the name of the proc-macro caller crate, the proc-macro implementation crate, or just crate-name.
What would be great is if it could return crate so that we could do things like the following:
lazy_static! {
    static ref CRATE_NAME: String = crate_name("my-crate");
}

...

quote! { #CRATE_NAME::MyType { ... } /* `crate::MyType` or `my_crate::MyType` */ }

That sadly does not work. As in tests in the tests directory you also get the crate name of your crate in the env variable, but you can not use crate to access stuff in your own crate, you need to use the full identifier.

That's a real shame. I suppose this crate is really a workaround for more fundamental issues anyway, so I'll close this out - thanks!

Ty, good that you like it :)


Feature Request: Write to JDBC

Per @javierluraschi's request I'm opening this issue and migrating the discussion away from Gitter.
I'd like to write to database sources directly from Spark. Currently, I can import data from, say, MySQL, directly into Spark via spark_read_jdbc(). But, if I perform a calculation in Spark and then wanted to send the data back to MySQL and update a table, it looks like I would have to collect the data into R and then use one of the R/DBI/RMySQL functions to perform the writing.
Javier's comments

Should be fairly straightforward to implement this wrapper, we basically need to write one of this

(https://github.com/rstudio/sparklyr/blob/602043e87085830365dbe876f684e62a3b8553d1/R/data_interface.R#L473-L541) but for these parameters: https://github.com/rstudio/sparklyr/blob/602043e87085830365dbe876f684e62a3b8553d1/R/data_interface.R#L564.

So, I propose spark_write_jdbc()

Fixed with https://github.com/rstudio/sparklyr/pull/852.


[BUG] Requests cannot be made: Error while processing item: 'tmdb_id'

Requests cannot be made: Error while processing item: 'tmdb_id'

Connections to plex and overseer can be made, although sometimes the metadata cannot be loaded:
PlexClient - ERROR - Failed to retrieve metadata for item /library/metadata/94412: 200
I think this happens primarley for a library using HamaTv agent even though this library is disabled in the configs.
Also I feel like the description of the different config options are not verbose enough. What exactly is the difference between MAX_CONTENT_CHECKS,  MAX_SIMILAR_MOVIE and SEARCH_SIZE? Which of these specify how many requests should be made?

i have the same issue.

I can confirm this is also happening on the latest nightly. Though, this was working (made requests around 22 hours ago). I changed nothing and it stopped working. I am not using the HamaTv agent.
I tried editing config and retesting my API key for TMDB and it works. TMDB is also up right now. I suspect this might be on their end in some way.

I am not getting requests and this error has disappeared from the logs. @daerup @crispybegs is it working for you two again as well?

it is not

I am getting requests again and this error has disappeared from the logs. @daerup @crispybegs is it working for you two again as well?

Still does not work for me. I can comment if it worked previously since I haven't deployed suggestarr previously. Currently running on tag 1.0.9 (<IP_ADDRESS> doesn't work for me...)

same here, i only installed this for the first time 2 days ago so have no idea where the problem may lie.

I have the same. Ho resolve this ?

Requests are still working for me as of 11 hours ago. Can you all try the latest nightly tag and see if that fixes it for you?

i just repulled the image using the 'nightly' tag then manually ran the process. that previous error seems to have disappeared, but these new ones have appeared

in addition, i now see this:

..however i use plex and overseerr, not jellyfin or jellyseer, so not sure what that means in this case.
regardless, nothing seems to have been actioned from this manual run.
I must confess I'm unclear on how the process works when using plex & overseer. I was hoping some suggestions would appear.. somewhere... that I can then manually approve or decline, but I don't see any anywhere and the docs aren't exactly clear on what this would look like or how i would configure this, since there are no obvious options in the initial config.
Speaking of initial config, i just hit 'reset config' to go through it again and see if I've missed anything that might be applicable here, but the config process gets to this step and there's no obvious way to progress any further

yes in fact suggestarr is now no longer working as the set up process is broken.
you get to this section

log in with plex

and closing that window removes the 'next' button form the set up process, leaving you here with no way to progress

so... stuck and non-functional at this point

Hi! Tomorrow I'll check better and finally push a fix!

Hi! Tomorrow I'll check better and finally push a fix!

grazie!

Hi! Tomorrow I'll check better and finally push a fix!

grazie!

Hi! Thank you so much for your support (grazie mille, davvero! È un piccolo progetto che sta crescendo molto velocemente)! Could you try using the latest nightly tag and let me know if any of the previous errors have been resolved?

ok, i just restarted the container and it accepted my api key this time, but when it got to step three i still get this and can go no further:

ok, i just restarted the container and it accepted my api key this time, but when it got to step three i still get this and can go no further:

That's strange. I can't seem to replicate the issue. Are you able to log in to Plex correctly, and does it then remove all the buttons afterward? Could you share the browser logs?

ok, i just restarted the container and it accepted my api key this time, but when it got to step three i still get this and can go no further:

That's strange. I can't seem to replicate the issue. Are you able to log in to Plex correctly, and does it then remove all the buttons afterward? Could you share the browser logs?

Yes exactly, I click to log in to plex, a new window pops up and I log in to plex in that window. I get a successful log in message and am told i can now close that window, and then the step 3 suggestarr window removes all the buttons. I've tried it on two different machines (both MacOS big sur using chrome) and it's the same in each place

ok, i just restarted the container and it accepted my api key this time, but when it got to step three i still get this and can go no further:

That's strange. I can't seem to replicate the issue. Are you able to log in to Plex correctly, and does it then remove all the buttons afterward? Could you share the browser logs?

Yes exactly, I click to log in to plex, a new window pops up and I log in to plex in that window. I get a successful log in message and am told i can now close that window, and then the step 3 suggestarr window removes all the buttons. I've tried it on two different machines (both MacOS big sur using chrome) and it's the same in each place

Could you please attach the browser logs and the browser network requests?

ok, i just restarted the container and it accepted my api key this time, but when it got to step three i still get this and can go no further:

That's strange. I can't seem to replicate the issue. Are you able to log in to Plex correctly, and does it then remove all the buttons afterward? Could you share the browser logs?

Yes exactly, I click to log in to plex, a new window pops up and I log in to plex in that window. I get a successful log in message and am told i can now close that window, and then the step 3 suggestarr window removes all the buttons. I've tried it on two different machines (both MacOS big sur using chrome) and it's the same in each place

Could you please attach the browser logs and the browser network requests?

Sorry . I'm unsure where to get those. If you can tell me then I'll provide

ok, i just restarted the container and it accepted my api key this time, but when it got to step three i still get this and can go no further:

That's strange. I can't seem to replicate the issue. Are you able to log in to Plex correctly, and does it then remove all the buttons afterward? Could you share the browser logs?

Yes exactly, I click to log in to plex, a new window pops up and I log in to plex in that window. I get a successful log in message and am told i can now close that window, and then the step 3 suggestarr window removes all the buttons. I've tried it on two different machines (both MacOS big sur using chrome) and it's the same in each place

Could you please attach the browser logs and the browser network requests?

Sorry . I'm unsure where to get those. If you can tell me then I'll provide

Before clicking the "Login to Plex" button in SuggestArr, press F12 in Chrome to open the Developer Tools. Keep the Developer Tools open while you go through the login process. Once the buttons disappear, please take screenshots of both the Network and Console tabs in the Developer Tools and attach them here. Thank you!

ok weird, i just tried it again and it got all the way through to setting up a local user on overserr this time, but when I hit 'back' to return to the step before this the same thing happened (buttons on step 3 disappearing) and I was stuck again.
here are the logs (with api key redacted)

ok weird, i just tried it again and it got all the way through to setting up a local user on overserr this time, but when I hit 'back' to return to the step before this the same thing happened (buttons on step 3 disappearing) and I was stuck again.
here are the logs (with api key redacted)

The issue might be due to the Plex servers not being retrieved via the API. I’ve pushed a fix in nightly tag that allows manual entry of the Plex server URL in this case. Could you check if this resolves the problem? Thanks!

repulled the nightly image and tried again, but stuck here again

Same errors in the browser console? Have you restarted the container?

ok, restarting the container worked!
However I can't seem to get it to actually request any media and we're back to the original error that started this thread.
My config is:

but i get:

also worth noting that to change the TMDB thresholds you have to go through the whole set up process again but, unless you fully restart the container, then suggestarr holds on to whatever you previously entered. That's why you can see '10' in my config but items being rejected at '20' in the logs. '20' was my previous threshold setting.

also worth noting that to change the TMDB thresholds you have to go through the whole set up process again but, unless you fully restart the container, then suggestarr holds on to whatever you previously entered. That's why you can see '10' in my config but items being rejected at '20' in the logs. '20' was my previous threshold setting and suggestarr is still using that instead of my specified '10'.

Are you using different agents for your libraries, or are all libraries set to use TheMovieDatabase agent? Could you share the configuration details for each library in Plex? Sorry for all the questions, but I need this information to help troubleshoot and apply a fix, as I'm unable to replicate the issue on my end. Thank you!

i've never really understood agents in plex tbh, but this is what's in my current agent tabs for movies. I set local assets to be preferred ages ago to stop plex overwriting my poster choices with bad ones from other sources.

i've never really understood agents in plex tbh, but this is what's in my current agent tabs for movies. I set local assets to be preferred ages ago to stop plex overwriting my poster choices with bad ones from other sources.

It seems the main issue is that you're not using The Movie Database as the movie agent to fetch metadata. The agent scanner retrieves all the necessary information for your media, such as cover images, descriptions, and other metadata. If you have time, you might try using the latest nightly version and check the log row specific to metadata in SuggestArr (like the log message pasted in the previous reply). This is likely the root cause of the error.

ah ok, that's a shame, i was hoping to be able to use this!

Hi @vahtos, that could be the issue. If you’re able to identify which content isn’t being checked, could you open the corresponding XML file and share it here? That way, I can verify if the TMDB ID is missing in the XML.
To open the XML for the movie/show in question, click on the three dots and select "View XML."

I'm not sure what it was trying to request, because the error does not include the show/movie name. From reviewing the logs:

It is successfully identifying recently watched items, and the correct number of them
It is excluding correctly based on my threshold value, minimum vote requirement, release year.
It is correctly identifying previous requests and skipping them

Things only seem to go wrong when it tries to make new requests; it fails with the "Error while processing item: 'tmdb_id'" error. You'd know better than I would, but if the issue was the Plex agent, wouldn't it fail sooner than that? It's managing to identify similar content from what was watched, it just fails at the last step of making the actual requests in Overseerr.

I'm not sure what it was trying to request, because the error does not include the show/movie name. From reviewing the logs:

It is successfully identifying recently watched items, and the correct number of them

It is excluding correctly based on my threshold value, minimum vote requirement, release year.

It is correctly identifying previous requests and skipping them

Things only seem to go wrong when it tries to make new requests; it fails with the "Error while processing item: 'tmdb_id'" error. You'd know better than I would, but if the issue was the Plex agent, wouldn't it fail sooner than that? It's managing to identify similar content from what was watched, it just fails at the last step of making the actual requests in Overseerr.
EDIT: I should note this is on v1.0.14

No, it fails after extracting all content from Plex. When searching for similar content within the content object, it can’t find the TMDB ID. Currently, this issue should be fixed in the nightly version, but there’s another related error still present

I checked all of the recently watched items it pulled from Plex. They all have TMDB IDs like this in the XML:
<Guid id="tmdb://1234567"/>

I checked all of the recently watched items it pulled from Plex. They all have TMDB IDs like this in the XML:
<Guid id="tmdb://1234567"/>

I've released an update in the latest version that should potentially fix this error. However, I’m not entirely sure, as I haven’t been able to identify the root cause or replicate the issue on my end.

I just pulled tag v1.0.15 and reran, still having this issue. Relevant portions of logs:
2024-11-05 14:47:58,504 - PlexClient - ERROR - Failed to retrieve metadata for item /library/metadata/25433: 200
2024-11-05 14:47:58,554 - PlexClient - ERROR - Failed to retrieve metadata for item /library/metadata/26185: 200
2024-11-05 14:48:02,349 - PlexClient - INFO - Retrieved 278 items in tv with TMDB IDs
2024-11-05 14:48:02,453 - PlexClient - ERROR - Failed to retrieve metadata for item /library/metadata/26072: 200
2024-11-05 14:48:05,753 - PlexClient - ERROR - Failed to retrieve metadata for item /library/metadata/26932: 200
2024-11-05 14:48:09,330 - PlexClient - INFO - Retrieved 481 items in movie with TMDB IDs
2024-11-05 14:48:09,331 - ContentAutomation - INFO - Fetching recently watched content from Plex
2024-11-05 14:48:09,508 - PlexClient - INFO - All users: Returning 15 filtered recent items.
2024-11-05 14:48:09,509 - PlexClient - INFO - Total filtered items across all users: 15
...
2024-11-05 14:48:10,767 - ContentAutomation - WARNING - Error while processing item: 'tmdb_id'
...
2024-11-05 14:48:11,051 - ContentAutomation - WARNING - Error while processing item: 'tmdb_id'
...
2024-11-05 14:48:11,112 - ContentAutomation - INFO - Skipping [tv, Catastrophe]: already requested or downloaded.
2024-11-05 14:48:11,113 - ContentAutomation - INFO - Skipping [tv, Rocco Schiavone]: already requested or downloaded.
2024-11-05 14:48:11,113 - ContentAutomation - INFO - Total media requested: 0

Yes, @crispybegs, I can almost certainly confirm that the issue is due to not using The Movie Database as the agent for your libraries.

The Movie Database Agent is deprecated as far as I know. Are there any plans to make Suggestarr compatible with the new Plex Movie agent?

The Movie Database Agent is deprecated as far as I know. Are there any plans to make Suggestarr compatible with the new Plex Movie agent?

Absolutely! I just need some time to figure out the best way to implement it :) Apologies for any inconvenience; in some cases, it actually does work with the Plex Movie Agent.

I still have this error. Tested with latest and nightly.

I do as well...


waitForPendingUpdate method

Issue fully detailed here.

@curquiza Is this feature really needed? The Swift library is 100% async by design.

Hey @ppamorim ppamorim!
I think there are two different "asynchronicity".

The asynchronicity of the httprequest. Where you have to wait for MeiliSearch Server to respond
The asynchronicity of MeiliSearch processes. Where you have to wait for your actions to be proccessed by MeiliSearch. (More info here)

This function aims to create a waiting function for the second case, not the first/
When I look into your tests I observe this
   self.client.addOrReplaceDocument(
            UID: uid,
            document: document,
            primaryKey: primaryKey) { result in

            switch result {
            case .success(let update):
                XCTAssertEqual(stubUpdate, update)
                expectation.fulfill()
            case .failure:
                XCTFail("Failed to add or replace Movies document")
            }

        }

        self.wait(for: [expectation], timeout: 1.0)

If I read your code correctly. On the last line of this code block, you wait for addOrReplaceDocument to be fulfilled and you consider it to be fulfilled once MeiliSearch responded with the update information. This is the first case of asynchronicity discussed above.
But this does not mean that the addDocument has been processed by MeiliSearch. It is possibly still in the queue.
The idea with waitForPendingUpdate is that it waits for the second case of asynchronicity discussed above. I'm do not know any swift but let me make a pseudo code with it:
   self.client.addOrReplaceDocument(
            UID: uid,
            document: document,
            primaryKey: primaryKey) { result in

            switch result {
            case .success(let update):
               XCTAssertEqual(stubUpdate, update)
               self.client. waitForPendingUpdate(
                    UID: uid,
                    updateId: update["updateId"]) { result in
                    switch result {
                         case .success(let updateInfo):
                               XCTAssertEqual("processed", update.status)
                               expectation.fulfill()
                         case .failure:
                               XCTFail("Failed to add or replace Movies document")
                    }
            }

               }
            case .failure:
                XCTFail("Failed to add or replace Movies document")
            }

        }

        self.wait(for: [expectation], timeout: 1.0)

This will ensur that the documents have been processed and thus added correctly to MeiliSearch. The user will be able to wait upon any asynchronous MeiliSearch process and not just the MeiliSearch server response. In this case, the user is now sure all of his documents have been added and he can use the search.

@bidoubiwa Oh nice I will implement this! Thank you for the complete explanation.


Improve Android performance

THIS PROJECT IS IN DEVELOPMENT MODE. Any pull requests should merge to branch dev, otherwise will be rejected immediately.
Describe your changes
Decreasing the size of the initialization buffer can prevent FPS drops on Android
Issue ticket number and link
#1121
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] I have checked readme and add important infos to this PR (if it needed).
[x] I have added/adapted some tests too. (#1122)

maybe the GL buffer don't require init with zero, so the updateData with zero buffer can be removed

@Yehsam23 You may not need to pass any data to the updateData method to initialize the buffer, but you can still pass the size, like this:
vertexBuffer->updateData(nullptr, size);
since the const void* data parameter of the glBufferData call can be a null:
void glBufferData(GLenum target, GLsizei size, const void* data, GLenum usage)
So there is no need for the memory allocation etc.

Can we use the same code for Metal directly, since Metal also does not use updateData?

Can we use the same code for Metal directly, since Metal also does not use updateData?

Yes

I do think this is a OpenGL ES v2 implementation issue though, since this issue is not present in OpenGL.  By not calling updateData with the full size, the buffer is not pre-allocated, so if the size changes on every call to future updateData, then it would mean the buffer would have to be re-allocated with the correct size, which may have an impact on performance.

Regardless, this change does fix the Android/OpenGL ES performance problem, so we should use it. If for some reason we get reports of performance issues on OpenGL implementations, then we can just add pre-processor checks for OpenGL and have the updateData() allocate the full size after buffer creation.

@rh101
Please add a comment for this "reason" on the source


运行时，显示报错。When running, an error is displayed.

Describe the bug
error！How do I fix it?

Reproduction
error
System Info
Cause {   "errno": -4078,   "code": "ECONNREFUSED",   "syscall": "connect",   "address": "<IP_ADDRESS>",   "port": 7890 }

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

When specified HTTPS_PROXY, you must have the http proxy enabled on the corresponding port (e.g. 7890).


Observability of caching capabilities for remote image data

Can you monitor the local cache percentage of an image?

It seems a little difficult. You have to find out all blob of an image and find each blob in the cache directory and get the actual disk size it costs.


Filter on empty ResultTable seems to break in some situations

Querying for all the mons (wd:Q429088 mountains on a celestial object) with elevation above 8000 m on Wikidata Full crashes. Searching for mountains (wd:Q8502) on the other hand works. I think this is the same bug @joka921 was also looking at and is related to FILTER on an empty result table under some special circumstances.
PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX psn: <http://www.wikidata.org/prop/statement/value-normalized/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?subj ?label ?coord ?elev WHERE
{
  ?subj wdt:P31 wd:Q429088 .
  ?subj p:P2044 ?elev_s .
  ?elev_s psn:P2044 ?elev_v .
  ?elev_v wikibase:quantityAmount ?elev .
  ?subj wdt:P625 ?coord .
  ?subj rdfs:label ?label .

  FILTER (?elev > 8000.0) .
  FILTER langMatches(lang(?label), "en") .
}
ORDER BY DESC(?elev)

When running the first query on the new wikidata-full backend the result without the filters in not empty, but with the filters it still crashes, so the bug must be related to something else.

@floriankramer interesting, can you point me to a code line where the 5 column assumption becomes apparent?

Apparently fixing #... does not auto close issues. This was fixed in #163.