ng-container cannot work with mat-form-field

Bug, feature request, or proposal:
Currently, I'm not sure it's a bug or it's intended:
When use ng-container with mat-form-field, got this error: field must contain a MatFormFieldControl.
What is the expected behavior?
work properly.
What is the current behavior?
Error: field must contain a MatFormFieldControl.
What are the steps to reproduce?
I just use the "Basic Input" of material.angular.io to reproduce.
plunker
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 5.0.2
Angular Material 5.0.0-rc.1
Typescript 2.4.2
Is there anything else we should know?
I also tried to add ngProjectAs="input[matInput]" to ng-container, it still cannot work even though I'm not sure I used it correctly.

This is working as expected. The form-field has to be able to query for its control, which is cannot do through a template outlet.

I have a dynamically generated form, where I use ngSwitchCase to choose between input, textarea, mat-select, and custom form fields. Despite the different field types, there is a lot of shared behavior at the mat-form-field level: flex settings, css classes, mat-label, mat-hint, and even matSuffix buttons. Because of the restriction identified by this issue, each field type must include this boilerplate.
I understand that the issue is a limitation of angular, and not the material widgets. Are there other suggestions for how to minimize this repetition? The boilerplate copies continues to grow worse, as the form acquires new custom input components for new data types.

A solution that works for my use case is having templates with the ngProjectAs attribute inside mat-form-field
Plunker: https://plnkr.co/edit/O3oQH7jrEfsy7eKuVx30?p=preview


Adding expand parameter bundle testing to report runner

Created a new test case for the drs object info test. This test adds an expand parameter to the request for the DRS object with the expectation that a bundle is returned if it is expandable.

@Chen2x could you please add a title and high level summary of what is included in this PR?

@Chen2x can you please describe what schema/v1.2.0/bundle_object.json is?
Also, you must have missed deleting the file schema/v1.2.0/drs_bundle_backup.json

I have removed the backup file and added a description for bundle_object.json in the description.


Add support for packetfilter API and iptables driver

To allow smooth transition to nftables a new packetfilter component is introduced, packetfilter provides an API to create chains, rules, TCP mss clamping and GlobalNet egress IP rules in a generic way.
Since we still want to support platforms using iptables, the packetfilter component should be capable of auto-detecting whether the platform is using nftables or iptables and use the appropriate driver.
The clients (e.g: GlobalNet) should be updated to use packetfilter API instead of the iptables,ipsets API, so they will only use the packetfilter APIs and will be abstracted from the underlying implementation.
This PR includes:

Packetfilter component, auto-detecting hardcoded to iptables.
iptables driver, which is based on current iptables driver , current iptables driver should be deleted after clients will switch to use packetfilter API.

A follow-up PR/commit should include all the changes on the clients side.
check [1] for nftables support high level design .
[1]
https://docs.google.com/document/d/1PAjU61XUGaQ2qZZu_66clxadC997lsBGYcjydYEayR0/edit?usp=sharing

Since the packetfilter package is intended to replace iptables, we had also discussed renaming/moving directories/files to maintain git history continuity. So first rename  the iptables dir to packetfilter then move iptables.go under packetfilter/iptables as a starting point.

I pushed https://github.com/submariner-io/submariner/pull/2871 based on my comments to serve as a starting point for the general structure. I left the packetfilter interface the same as it was.  I think the logical next step would be to generalize the interface as is done in this PR. Then I think it would be useful to implement the interface using nftables and see if any changes are needed. Eg, can InsertUnique, PrependUnique, UpdateChainRules etc be implemented in the adapter interface as they are now?

I pushed #2871 based on my comments to serve as a starting point for the general structure. I left the packetfilter interface the same as it was. I think the logical next step would be to generalize the interface as is done in this PR. Then I think it would be useful to implement the interface using nftables and see if any changes are needed. Eg, can InsertUnique, PrependUnique, UpdateChainRules etc be implemented in the adapter interface as they are now?

The following came up during the high level design discussions:

current API should be updated to support table types (nftables not using default tables as iptables)and IPHook chains (nftables distinguish between regular chains and iphook chains).

Rules spec API , should we keep iptables flags rules api also for nftables configuration or use generic API ?
we thought that it makes sense to use generic API

ipset/nftables set scope,  on which scope sets should be handled ?
the idea was to handle/hide sets under packetfilter umbrella, also packetfilter can expose high-level APIs for mssclamp and globalnetegress

I think that '1' is mandatory.
As per '3', I assume that we can implement the high level APIs at packetfilter adapter,  it will call chains/rules/set APIs of backend driver (I need to update my PR with this change), If we want to keep it on the clients side we should expose generic ipsets/nftables set API
Not 100% sure about high-level APIs support, but I think implementing it as packetfilter adapter makes sense.

As per '3', I assume that we can implement the high level APIs at packetfilter adapter, it will call chains/rules/set APIs of backend driver (I need to update my PR with this change), If we want to keep it on the clients side we should expose generic ipsets/nftables set API
Not 100% sure about high-level APIs support, but I think implementing it as packetfilter adapter makes sense.

Would the ipsets API be implemented differently with nftables? If so then we would need some abstraction for ipsets. The only thing with the high level APIs you've defined is they are specific to the MTU and GlobalNet components and I think they really should reside with those components. Perhaps we could define those APIs more generically so they aren't specific to MSS clamp and GlobalNet? The other solution, as you mentioned, is to generalize the ipsets API. We include that API in the packerfilter API (the Driver interface).

As per '3', I assume that we can implement the high level APIs at packetfilter adapter, it will call chains/rules/set APIs of backend driver (I need to update my PR with this change), If we want to keep it on the clients side we should expose generic ipsets/nftables set API
Not 100% sure about high-level APIs support, but I think implementing it as packetfilter adapter makes sense.

Would the ipsets API be implemented differently with nftables? If so then we would need some abstraction for ipsets. The only thing with the high level APIs you've defined is they are specific to the MTU and GlobalNet components and I think they really should reside with those components. Perhaps we could define those APIs more generically so they aren't specific to MSS clamp and GlobalNet? Even so, I suspect we may have a lot of duplicate code in the drivers (as is the case with the fake one in this PR). The other solution, as you mentioned, is to generalize the ipsets API. We could include that API in the packerfilter API (ie the Driver interface). It seems to me this would be better.

Yeah, we should have separate implementation for nftables sets.
I'll check if we can have more generic APIs for mssclamp and gnegress

Yeah, we should have separate implementation for nftables sets. I'll check if we can have more generic APIs for mssclamp and gnegress

Let's first start with iptables and get that reviewed and merged. Then:

I think it would be useful to implement the nftables version
Generalize ipsets with nftables
Consider higher-level APIs

Let's first start with iptables and get that reviewed and merged. Then:

I think it would be useful to implement the nftables version
Generalize ipsets with nftables
Consider higher-level APIs

I'll update my PR to:

support generalize named set
move the higher level APIs from driver layers
implement higher level APIs using basic APIs (chain/rules and namedset)

Let's first start with iptables and get that reviewed and merged. Then:

I think it would be useful to implement the nftables version
Generalize ipsets with nftables
Consider higher-level APIs

I updated my PR to:

support generalize named set
move the higher level APIs from driver layers
implement higher level APIs using basic APIs (chain/rules and namedset) at packetfilter layer

I'd like to do these in separate PRs. The steps I outlined above would be separate PRs. I'd like to first get the existing iptables interface as is including the adapter (with InsertUnique etc) moved to packetfilter and generalized. Basically that's my PR with your generalizations. Then get that merged. Then  implement the nftables version possibly revising the adapter methods and get that reviewed/merged. Then generalize ipsets with nftables impl in a separate PR. Hopefully, at that point, everything will work with nftables. If not or if we think we need higher-level APIs are needed then look at that.
Does this make sense?

I'd like to do these in separate PRs. The steps I outlined above would be separate PRs. I'd like to first get the existing iptables interface as is including the adapter (with InsertUnique etc) moved to packetfilter and generalized. Basically that's my PR with your generalizations. Then get that merged. Then implement the nftables version possibly revising the adapter methods and get that reviewed/merged. Then generalize ipsets with iptables and nftables impls in a separate PR. Hopefully, at that point, everything will work with nftables. If not or if we think we need higher-level APIs then look at that.
Does this make sense?

The existing iptables API can't be used for nftables (IPHook chain and table types are missing), so first we need to update the API to support also nftables.
Also for implementing and testing nftables we depend on CNI and kube-proxy nftables implementation,  since no tables and iphook chains  are created by default for nftables , we need to see what tables/iphook chains the CNI and kube-proxy are using. and decide if we want to use these tables/chains or create our own.
So I would say that the tasks are :

We first need to do all the "preparations" for nftables/generalization work ,  for this we need to generalize  iptables API and add support for tabletype and iphook chain.
Basically it is APIs under packetfilter.Interface

task 1 includes:
1.1 Generalize named set API
1.2 Of course we need to Implement the iptables backend driver.
1.3 Update the clients to use the new API

As part of the nftables work, there was a proposal to provide high level APIs in the context of packetfilter for GNEgress and MssClamp, this should simplify and separate things at the clients side (especially for GN egress controllers) .

As you mentioned  we can implement these high-level api also at the clients side, but either case I think we should add these high level APIs.
These 2 interfaces :
mss-clamp
GN egress

Add nftables backend driver
We need to support nftables by ~mid 2025,  so we still have time here.
Also for implementing nftables we depend on CNI and kube-proxy nftables implementation (https://github.com/kubernetes/kubernetes/issues/122572)

My current PR , covers 1 and 2.
I think we should:
A. first push 1 and 2  in 0.17 , covered by this PR.
B. Have some time for testing Submariner with packetfilter/iptables mode in 0.17/dev.
C. In next SM release (0.18?) we can start working on nftables backend driver, and run some testing with kube-proxy and CNI run in nftables mode.

I'd like to do these in separate PRs. The steps I outlined above would be separate PRs. I'd like to first get the existing iptables interface as is including the adapter (with InsertUnique etc) moved to packetfilter and generalized. Basically that's my PR with your generalizations. Then get that merged. Then implement the nftables version possibly revising the adapter methods and get that reviewed/merged. Then generalize ipsets with iptables and nftables impls in a separate PR. Hopefully, at that point, everything will work with nftables. If not or if we think we need higher-level APIs then look at that.
Does this make sense?

The existing iptables API can't be used for nftables (IPHook chain and table types are missing), so first we need to update the API to support also nftables.

I know  - I stated that above: I'd like to first get the existing iptables interface as is including the adapter (with InsertUnique etc) moved to packetfilter and **generalized**
That should be the first PR.

We first need to do all the "preparations" for nftables/generalization work ,  for this we need to generalize  iptables API and add support for tabletype and iphook chain.

Which is this PR.

task 1 includes: 1.1 Generalize named set API 1.2 Of course we need to Implement the iptables backend driver. 1.3 Update the clients to use the new API

In a separate PR after this. Let's do this in stages to keep the PRs smaller and easier to review.

As part of the nftables work, there was a proposal to provide high level APIs in the context of packetfilter for GNEgress and MssClamp, this should simplify and separate things at the clients side (especially for GN egress controllers) .

As you mentioned we can implement these high-level api also at the clients side, but either case I think we should add these high level APIs.

I'm not convinced we need these. They're specific to certain components with basically one consumer so not generally re-usable, at least from what I see right now. Maybe the introduction of nftables will change that and require more generalization but let's see how that shakes out. I'd like to see the nftables implementation first.

Add nftables backend driver
We need to support nftables by ~mid 2025,  so we still have time here.
Also for implementing nftables we depend on CNI and kube-proxy nftables implementation (nftables kube-proxy TODO kubernetes/kubernetes#122572)

OK I thought nftables was for this (0.17) release.

I think we should: A. first push 1 and 2 in 0.17 , covered by this PR.

As mentioned earlier, I think we should hold off on 2 for now.

In a separate PR after this. Let's do this in stages to keep the PRs smaller and easier to review.

Hmmm, let's have the generalization API (including the single API for namedset) in this first PR, I'll drop 2.
As per InsertUnique, PrependUnique, and UpdateChainRules, yep it makes sense to keep the logic in the adapter, but that means we should do some adjustments to List API and maybe add Contains API, do you think we can have this optimization in a follow-up  PR ?

In a separate PR after this. Let's do this in stages to keep the PRs smaller and easier to review.

Hmmm, let's have the generalization API (including the single API for namedset) in this first PR, I'll drop 2.

I'd still prefer to add the IP set generalization in a separate PR to make it a bit easier to review. The PR is already big with the iptables stuff.

As per InsertUnique, PrependUnique, and UpdateChainRules, yep it makes sense to keep the logic in the adapter, but that means we should do some adjustments to List API and maybe add Contains API, do you think we can have this optimization in a follow-up PR ?

Well that's the way the current API is defined so I think it makes sense to keep it as and adjust the generalization accordingly.  We can just keep the interfaces as is. The adapter methods use List, Insert, and Delete. The latter two are already generalized or simple to do so. I guess List would return Rule objects so we'd have to parse out the rule string which should be pretty straightforward.

@yboaron not sure if you saw it already. Kube proxy seems to be supporting nftables backend now as an alpha feature starting with 1.29 version - https://kubernetes.io/docs/reference/networking/virtual-ips/#proxy-mode-nftables
So, we can use a corresponding KIND setup to verify any PRs.
kubeproxy PR - https://github.com/kubernetes/kubernetes/pull/121046

@yboaron not sure if you saw it already. Kube proxy seems to be supporting nftables backend now as an alpha feature starting with 1.29 version - https://kubernetes.io/docs/reference/networking/virtual-ips/#proxy-mode-nftables
So, we can use a corresponding KIND setup to verify any PRs.
kubeproxy PR - kubernetes/kubernetes#121046

Yep, saw it, they are using[ separate table ]
(https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/nftables/proxier.go#L62) for their configurations.
I assume that after the code implementing the transition to packetfilter gets merged, we can use this KIND setup with nftable for testing of our nftables driver.
I guess we need also the CNI (KindNet) switched to nftables , for full e2e testing on Kind, right ?

I guess we need also the CNI (KindNet) switched to nftables , for full e2e testing on Kind, right ?

Yes. Kindnet programs certain IPtable rules mainly to perform MASQ for outbound traffic so that the pods can reach internet. As you are familiar, iptables-nft was created to facilitiate smooth migration to nftables and pretty much all the CNIs (along with kubeproxy) use iptables-nft under the hood today.
So, if the nftables handler in Submariner uses nft while the CNI uses iptables-nft AFAICT it should still continue to work, assuming we take care of the priority to enforce the order in which the rules have to be applied.

With the latest version I pushed, we have the history pointing to the prev files for the relevant files [1] ,
do we need something else ?
[1]
git log --pretty=oneline  --follow pkg/packetfilter/adapter.go
git log --pretty=oneline  --follow pkg/packetfilter/packetfilter.go
git log --pretty=oneline  --follow pkg/packetfilter/fake/packetfilter.go
git log --pretty=oneline --follow pkg/routeagent_driver/handlers/kubeproxy/packetfilter_iface.go
git log --pretty=oneline --follow pkg/routeagent_driver/handlers/kubeproxy/kp_packetfilter.go

Yes. Kindnet programs certain IPtable rules mainly to perform MASQ for outbound traffic so that the pods can reach internet.

My Q was more about the nftables tables Submariner should use/create,
we know that Kube-proxy uses its own table, and a CNI that uses iptables-nft use the default tables and chains similar to iptables while other CNIs that use nftables may create their own table/s.
I guess we can't assume that default tables/chains (iptables-nft) will always be there, WDYT?  meaning we should create our own table.

With the latest version I pushed, we have the history pointing to the prev files for the relevant files [1] , do we need something else ?

That looks good.


Add description and summary to OpenApi documentation schema

How to add description and summary for each API ?

@leorossi Thank you, but for automatic routes how to ?

Can you elaborate?

It's currently not possible to add a custom description and summary.
Adding this functionality would be very nice.

For starting, I think could be sufficient add few generic strings for each entity, as is (for example) :
POST Create product
Add product to database
GET   Get single product
Return ....
DELETE Delete product
bla bla bla

Just setting it would be enough? Or do you need to configure it?

@mcollina
Can we make it configurable in the platformatic.db config file (there would be a default summary and description for every route too)? For customization (overriding the default), it would be configurable something like the following:
{
  ...
  "db": {
    ...
    "openapi": {
      "routeSchemaOverrides": {
        "/quotes/": {
          "GET": {
            "summary": "Get quotes",
            "description": "Use this route to get quotes from the DB"
            // may add some other fields too ?
          },
          "POST": {
            "summary": "Add a new quote",
            "description": "foo"
          }
        },
        "/quotes/{id}": {
          "DELETE": {
            "summary": "Delete quote by id",
            "description": "bar"
          }
        }
      }
    },
    ...
  }
}

Do you think there is a better, more general way of achieving this instead of defining the schema changes for every route? If so, please let me know. I can create a PR for this.

Would be an amazing feature!

I think each entry under openapi section should be compliant to OpenApi3 specs
https://swagger.io/specification/   to enrich the api documentation


More than one icon at a time in side bar

Hello,
Awesome plugin but I was wondering if it would be possible to have more than one icon in the side bar at a time when more than one option is enabled. E.g. when daily and weekly notes are enabled only one usually daily, will appear on the left hand side. Can it not show both or all 3 if daily, weekly and monthly are enabled?

Hi @campbellmcgregor, I didn't want to take up too many ribbon slots so I collapsed them into one icon and hid the other options in the right-click menu. So if you right-click on the sidebar icon, you should see daily, weekly, and monthly. Let me know if that works for you!

Can you create a toggle that swaps the primary periodic note?
For instance, I want to open the Monthly note on left mouse click
I'm totally on board with @campbellmcgregor, having the option of multiple buttons would be nice, but as a compromise, being able to swap the left click action would be nice.

Hi ! I would like to add to this too that with the addition of Quarterly Notes and Yearly Notes, it would be great to have them too in the right click menu.

I would prefer separate sidebar icons instead of the right-click menu (a show/hide option for each could let the user choose how much sidebar space to use). I would never have thought to right-click the sidebar icon — none of the other sidebar icons have right-click menus. I don't remember seeing anything like it outside of Obsidian, either. The closest thing I could quickly find (on Mac) was a right-click menu with options for the toolbar the icon was in (in Finder and Safari).
Did Periodic Notes have multiple sidebar icons in the past? I remember it worked that way when I first tried it, but maybe I'm misremembering.


settings_user_topics: Convert module to typescript.

CI failures are coming from production install, so I think it's unrelated to these changes?

Yeah CI failure looks like more 24.04 transition bug issues.

Merged, thanks @evykassirer!


enter the regular run loop if no undecryptable packet was processed

Fixes #3265.

Tested-by: Christian Stewart<EMAIL_ADDRESS>


Only the last matching song is displayed in "Artists" tab

In the "Artists" tab, only the last matching song for the respective Author is displayed.
For example, for the author "Berkmans", 52 matching songs were found in the db using the following query:
select * from songs a where id in (select song_id from authors_songs where author_id = (select id from authors where display_name = 'Berkmans'))

But the app displays only the last matching song.

Yes James. We found the bug. Now we resolved the problem.
Seenivasan Sankaran
On May 2, 2015 4:16 PM, "James Selvakumar"<EMAIL_ADDRESS>wrote:

In the "Artists" tab, only the last matching song for the respective
Author is displayed.
For example, for the author "Berkmans", 52 matching songs were found in
the db using the following query:
select * from songs a where id in (select song_id from authors_songs where author_id = (select id from authors where display_name = 'Berkmans'))
But the app displays only the last matching song.
--
Reply to this email directly or view it on GitHub
https://github.com/crunchersaspire/worshipsongs/issues/113.

I noticed the issue in other tabs (e.g Albums) as well. Please ensure that it works properly in all the tabs.


question: Response objects in serinus

Hello, I compare serinus with shelf and I have this question:
Does Serinus support response objects same as shelf_plus?
For example shelf_plus support:
  var app = Router().plus;

  app.get('/text', () => 'a text');

  app.get('/binary', () => File('data.zip').openRead());

  app.get('/json', () => {'name': 'John', 'age': 42});

  app.get('/class', () => Person('Theo'));

  app.get('/list-of-classes', () => [Person('Theo'), Person('Bob')]);

  app.get('/iterables', () => [1, 10, 100].where((n) => n > 9));

  app.get('/handler', () => typeByExtension('html') >> '
Hello
');

  app.get('/file', () => File('thesis.pdf'));

So when I return File or some class or json, does Serinus have the same behavior?

Hello, yes Serinus from the version 0.6 (PR #54) allows to return values directly. If you want to return a class it must use the mixin JsonObject so that it can be parsable as a json object 😄

Could you show me some example for return json, class and file objects in Serinus?

Yes of course!
All of them are listed in this test. Let me know if it is enough or if you wanted something else 😄

Yes, it is exactly what I wanted to see.. :)


FYI: Your plugin has been added to Awesome Kustomize

Hi :wave:
I just started an Awesome Kustomize :tada:
Because after using Kustomize for 3 years, there was no central place for Kustomize resources.
I've found your repo via GitHub labels, and I find it totally helpful.
Thank you :rocket:

Thanks @aabouzaid. Let me know if you need more information on how and why we use it.

@bluejayA Thank you :+1:
I'd say your repo is pretty clear. But in general, more docs increase the users' adoption.
Also maybe you want to consider adding KRM functions support since the old plugin methods (exec and go plugin) are deprecated.
Here is an example of adding KRM support in SopsSecretGenerator. It's pretty easy.
Feel free to close this issue anytime :rocket:


Sumatra should capture shell environment variables

I just came across some code where parameters were passed to the script through bash environment variables. Sumatra should capture these, although we need to be careful as environment variables are sometimes used for storing secrets such as passwords. Perhaps the user could specify a list of variable names to ignore?

Hi there,
I recently started to engage with Sumatra a bit, find it awesome and would like to contribute. Probably will need some guidance but I would like to take on the environment variables quest since I have worked with python and environment variables before.
I would go about that by simply adding a new category called "environment_variables" inside records.py at reords.init() initialized as None. Inside records.register() I would then copy the environment via os.environment.copy() that is a dictionary and assign it to environment_variables. Is having it as a dictionary a good thing?
Regarding formatting I would add an entry to record2dict but not put it into the fields list. How about all the formatters though?
Furthermore I think a db_records.evironment_variables has to be added to django_store/init.py and a new class has to be added to django_store/models.py.
What else would there have to be done? Regarding the web interface for example.
Greetings,
Gregor

That's great!
The slightly tricky thing is that we want to capture the environment variables on the machine(s) where the computation takes places, which is not necessarily the same machine where you run Sumatra.
This means that (i) we need to retrieve the environment variables via the LaunchMode instance, as is already done for the platforms field and (ii) we need to allow for different sets of environment variables on different machines (even if this is unlikely in practice). Again, you can use the platforms field as a starting point since this has very similar behaviour). It would be ok to only implement this for SerialLaunchMode to begin with.
Regarding formatting your approach sounds sensible. Updating the Formatter classes can be done later.
Regarding the recordstore module, you should update recordstore.serialization.build_record() in addition to the changes you outlined to django_store/__init__.py and django_store/models.py
For the web interface, you should modify web/templates/record_detail.html (I suggest taking the "Platform information" section as a starting point).
Best regards,
Andrew


Selectbox item is not initially selected in strict mode

Current behavior
No item is initially selected when using portals with lazily-mounted popover in strict mode.
Steps to reproduce the bug

Open sandbox: https://codesandbox.io/s/silly-turing-ye2mnl
Click on the select box
Notice no item is selected

Expected behavior
Select the first item
Workaround
No response
Possible solutions
No response

I can reproduce now. Thanks!

@diegohaz This issue is still present in the next.31 (latest). Not sure if the fix really solved the issue.
You can see it happening here.

I can't see the issue locally on next.31 nor in the CodeSandbox you linked.

Can you please try again?
Video on how to reproduce:
https://user-images.githubusercontent.com/943036/176327874-ff740806-1784-4988-9892-28c624c984a6.mov

Ah, I think that's a CodeSandbox bug (probably some dependency cache issue related to using the latest keyword in the dependency version). It works if you change the version to 2.0.0-next.31 in package.json.


add Discourse group and Telegram group to Italian and English message…

As discussed on the Italian Telegram group, the mailing list could be less appealing to new users, hence the addition of the other contact channels.

🚀 Deployed!


Client class utilities

Addition of a client class utilities file that houses support functions for client classes, such as the upcoming Anthropic, Mistral.AI, and Together.AI clients.
Initially, this contains a single function for parameter validation and alignment with the client's parameters.
It would be preferable for this PR to be reviewed and merged before the new client classes are completed and merged.
I've added a test file as well.
Why are these changes needed?
New client classes are being developed and utilising common functions is important.
No new documentation added, I don't think it's required.
Related issue number
Client classes being worked on:
#2931 Anthropic
#2919 Together.AI
#2892 Mistral.AI
Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[X] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[X] I've made sure all auto checks have passed.

Please check the tests that are failing. @marklysze

Please check the tests that are failing. @marklysze

I'm not sure if it's related to the code...

Please check the tests that are failing. @marklysze

I'm not sure if it's related to the code...

Ah, yes, copy and paste error - thanks, corrected :)


Feat(Search): Enhance formating search results

Add new settings and change crop_len behavior to count words instead of characters.

[x] highlightPreTag
[x] highlightPostTag
[x] cropMarker
[x] cropLength count word instead of chars
[x] cropLength 0 is now considered as no cropLength
[ ] ~smart crop finding the best matches interval~ (postponed)

Partially fixes  #2214. (no smart crop)

thanks marin!
bors merge


Template Notes from Marc - 5/3/2024

I found some issues and am making changes to the workbook.  I think I will send you a revised workbook including not only the Clayton data but formula and name changes as well.
Some formulas under Total Primary Government are missing
Noncurrent Assets Dropdown is Wrong; Its Showing Deferred Outflows
The XLOOKUP Net Position range should be extended to cell 608. It is ending at 514 now.
On the Governmental Funds Balance Sheet, the validation ranges sometimes contain blanks because we don't have matching modified accrual elements for each full accrual element.  We're going to have to maintain separate lists on separate worksheets.
PropFund Stmt of Rev Exp and Ch - This doesn't seem like we got the tags from the right part of the taxonomy.  This sheet will have to be reworked to support Clayton only for now.

On the Governmental Funds Balance Sheet, the validation ranges sometimes contain blanks because we don't have matching modified accrual elements for each full accrual element. We're going to have to maintain separate lists on separate worksheets.

@joffemd FYI this is something Sarrah is fixing in #36
Generally, are you planning to make all these changes yourself or are these edits you want us to implement?

I just made a whole bunch of changes to get Clayton 2022 close to working.  At this point, I suggest that you and Sarrah use my update as a base and keep the Clayton data in.

From: Katrina Wheelan @.>
Sent: Friday, May 3, 2024 9:49 PM
To: closup/process-xbrl @.>
Cc: Marc Joffe @.>; Mention @.>
Subject: Re: [closup/process-xbrl] Template Notes from Marc - 5/3/2024 (Issue #39)
On the Governmental Funds Balance Sheet, the validation ranges sometimes contain blanks because we don't have matching modified accrual elements for each full accrual element. We're going to have to maintain separate lists on separate worksheets.
@joffemdhttps://github.com/joffemd FYI this is something Sarrah is fixing in #36https://github.com/closup/process-xbrl/issues/36
Generally, are you planning to make all these changes yourself or are these edits you want us to implement?
—
Reply to this email directly, view it on GitHubhttps://github.com/closup/process-xbrl/issues/39#issuecomment-2093952863, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAL6CRJHSLKQZGNXQTSGXUTZAQ5C5AVCNFSM6AAAAABHGG7JMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJTHE2TEOBWGM.
You are receiving this because you were mentioned.Message ID: @.***>


proposal: Go 2: global interning of equivalent interfaces in the program

Problem:
I recently refactored some code (moving a bunch of multi repos modules into a mono repo one), which gave me this solution:
// --- old module
type SomeInterface interface {
    DoStuff()
}

// --- new module (in the monorepo)
type SomeInterface interface {
    DoStuff()
}

// --- a third module (I actually have close to a hundred different modules like this)
type SomeProducerInterface interface {
    Get() old.SomeInterface
}

// --- a consumer module
func Use(SomeProducerInterface) { /* ... */ }

// --- an implementation, that I refactored to use the new API (this is also in the monorepo)
type impl struct{}
func (impl) Get() new.SomeInterface {
    return nil
}

consumer.Use(impl{}) // does not compile:
/*
 ./prog.go:28:13: cannot use impl{} (value of type impl) as type third.SomeProducerInterface in variable declaration:
	impl does not implement third.SomeProducerInterface (wrong type for Get method)
		have Get() new.SomeInterface
		want Get() old.SomeInterface
*/

// other example:
type SomeProducerInterface interface { // new equivalent definition of SomeProducerInterface but in the monorepo
    Get() old.SomeInterface
}
var _ third.SomeProducerInterface = SomeProducerInterface(nil) // does not compile

Current workarounds:

Remove all usage of the old interface definition within the program.
Not Possible for me (prevents me from doing incremental refactors).
Create stub types and update the old module. (tedious but work, my current solution)
My main complain with this is that my new monorepo librairy does not consume all of the stubs, so sometime consumers see unexpected types errors when they upgrade my monorepo and they have to manually go get all packages that have been stubbed to use the stubs too.

Solution:
As a solution I propose that for all sets of "compatible types", the compiler picks one of them and use it in all usage of the other compatible types in the set within the program.
Two types are said to be compatible:

if they are interfaces, they both need to have the same methods and for all methods arguments and return types need to be compatible in order to be considered compatible, for cyclic case of this definitions it is considered compatible.
for everything else, the types have to be the same (current rules).

TODO: Should the behaviour of which type of the compatible set is picked be defined in the spec ?
This would ensure consistency across compiler.
Non breaking changes:
Programs like shown above will now compile.
Breaking changes:
Interfaces types gotten through reflect may now point to other (compatible) interfaces unexpectedly.
So things like this would give a different answer:
package main

import (
	"fmt"
	"reflect"
)

type A interface {
	DoStuff()
}

type B interface {
	DoStuff()
}

type impl struct{}

func (impl) Get() A {
	return nil
}

func main() {
	t := reflect.TypeOf(impl{}).Method(0).Type.Out(0)
	// Right now t is certain to be A
	// But after the change it may be interned to B
	fmt.Println(t.Name())
}

Please fill out https://github.com/golang/proposal/blob/master/go2-language-changes.md when proposing language changes

@carlmjohnson the first solution is already what I am doing already, it requires manual work:

Create stub types and update the old module. (tedious but work, my current solution)

The second solution requires updating consumers (again work) and make code quality suffer.
Interning interfaces I think also make sense from a language design.
In go everything teaches you that interfaces are transparent, types implicitly convert to narrower or matching interfaces.
However this case I've described is the only case (*I know about) where interfaces are not transparent.

I couldn't find the issue with a quick "site:github.com/golang/go/issues" search, but there is an ancient issue from the early days of Go discussing this problem. If it could be solved easily, it would have been solved by now.

Duplicate of #7512


import error on WS2012R2

Bug Report
VERBOSE: Loading 'FormatsToProcess' from path '...............\xml\dbatools.Format.ps1xml'.
VERBOSE: Loading module from path '........................................\dbatools.psm1'.
Multiple ambiguous overloads found for ".ctor" and the argument count: "1".
At line:56 char:5
+     [OutputType([Microsoft.SqlServer.Management.Smo.QueryStoreOptions ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

Multiple ambiguous overloads found for ".ctor" and the argument count: "1".
At line:56 char:5
+     [OutputType([Microsoft.SqlServer.Management.Smo.QueryStoreOptions ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

on ps4, WS2012R2, current development

I changed the SMO load order because the included SMO from 2017 does not support Integration Services.  The load order is if no 2016 then 2014, if no 2014, then included 2017 SMO.
I'm not sure what the solution is here. I was able to import the module on WS2012R2 but could not run the command
PS C:\Users\ctrlb> "sql2016" | Get-DbaQueryStoreConfig
Get-DbaQueryStoreConfig : Unable to find type [Microsoft.SqlServer.Management.Smo.QueryStoreOptions]. Make sure that
the assembly that contains this type is loaded.
At line:1 char:13
+ "sql2016" | Get-DbaQueryStoreConfig

@FriedrichWeinmann spoke the other night about potentially adding a thing where you can pick your SMO version

I'm on WS2012R2 with 2014 and that error shows up.

k, if we remove the unsupported output types then it should be good and only fail when the command is run. I just don't know of a good solution until we have a solid SMO suite. And QueryStoreOptions don't eist in SMO 2014.
OutputType([Microsoft.SqlServer.Management.Smo.QueryStoreOptions[]])]

closing as fixed


Prop animatedValueX not working inside ReactNative.Modal

When using the icon drawer example inside a Modal component, animatedValueX doesn't update and can't set animations based on that variable.
To reproduce it just put the example code inside a react-native -> Modal component.

@cyberdelphos I didn't manage to reproduce it as you suggested. Can you provide a small reproducible project that demonstrates this bug?


Pyoptical jk

Made a new function (boxy2mne) that takes two arguments (locations for a .mgt and .tol file) and returns the channel distances, calculated using mne.preprocessing.nirs.source_detector_distances.
Tested this on the optical imaging data from the arr experiment.

I ran this on my test2.py code and it works, so I moved it into utils.py and will merge this into master,
I also added some example .mtg, .tol, and .001 data files, and some matlab code examples for renaming boxy files, and for creating event files from behavioural output)


Update index.js

Just one line of code cleanup . . .
.
Renamed init parameter from 'Model' to 'options'. This puts it in line with all the other database providers code (e.g Mongo-Feathers) and makes more sense since it contains both Model and Pagination properties.

Thank you!


Release 4.5.0

This release includes the following issues:

Fix #148
Fix #198
Fix #199

Shipped.
https://pypi.org/project/pip-licenses/4.5.0/


Define Ion 1.1 system symbols with separate SID space

Issue #, if available:
None
Description of changes:

Proposes a list of symbols to be included in the Ion 1.1 system symbol table
Proposes a way of encoding system symbols using a distinct SID space from user symbols
Adds more descriptions of macros in the system module.
Updates the System Symbol Table section of "what's new"

For System Symbols in FlexSyms, I noticed that we have nothing from 0x60 to 0xDF that was already in use for any FlexSym escape codes, except for $0 and the empty symbol. That range gives us 128 potential system symbol IDs, so I moved $0 to 0x60 and I added '' to the system symbol table so that we don't have to carve out a special case for it. System symbols are now encoded as a FlexSym by writing the SID as a one-byte FixedUint with a bias of 0x60. E.g. if the byte after the FlexSym escape byte is 8E, that refers to system symbol 2E (decimal 46).
The alternatives are (a) assigning arbitrary, fragmented groups of byte values to system symbols to fit around existing values (b) moving some things, such as the "delimited container end" opcode in order to assign a contiguous block such as 0x80-0xFF, or (c) requiring system symbols to be encoded with two bytes after the FlexSym escape byte—i.e.:EF <ID>. I deemed that (a) is ugly, (b) would require too much revising of other things, and (c) adds too much overhead.
I've included/kept logical types in (many of) the signatures of the system macros for now in order to convey the intention. We can go back and clean that up in a follow up PR.
I've tentatively left the logical types in the system symbol table because I can't remember if logical type checking is postponed or punted to Ion 1.2.
I also know that there are some incomplete sentences in the prose regarding system macros. I'll clean that up before merging this PR. I just wanted to get the symbol table and symbol encoding details out as soon as possible.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closing in favor of #338


Enabling role, rolebinding and sa management for workspace admins

Starting with staging to verify all works as designed
Partially Implements: ASC-573
I this PR enables sa management in staging as intended will send second PR for production

Once this merges each Workspace admin has the responsibility to create sa appropriate role with just the access needed, rolebinding linking the role and sa and create a token for sa with limited duration. Admin will not be able to provide access to access that goes beyond its own access. For example:
Role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
namespace: dperaza-tenant
name: cm-manager
rules:

apiGroups: [""] #
resources: ["configmaps"]
verbs: ["get", "watch", "list", update, patch, delete, create]

RoleBinding:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: manage-davp
namespace: dperaza-tenant
subjects:

kind: ServiceAccount
name: davpsa
apiGroup: ""
roleRef:
kind: Role
name: cm-manager
apiGroup: rbac.authorization.k8s.io

Temp token providing duration:
kubectl create token davpsa --duration 1800h

/lgtm


Mirror Project Can't Add Wiki Page

Gogs version (or commit ref): <IP_ADDRESS>9
Git version: 2.12.GIT
Operating system: CentOs 7.2
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gogs.io:

[x] Yes (provide example URL)
[ ] No
[ ] Not relevant

Log gist (usually found in log/gogs.log):

Description
Mirror Project Can't Add Wiki Page

I have the same issue. The original repo does not have a wiki, and I would like to add my own. Suggestion: If this is not permitted [1] and there is no wiki, then the wiki tab should be hidden.
[1] For example, if the logic is "leave the wiki available, in case the original repo gets a wiki and we need to start mirroring that"

Actually you can add a wiki page. Just the buttons are hidden. I explained it in my (duplicated) issue. 😉

@alexanderadam Thinks

Hi, even though you can hack, but by design you should not modify anything for a mirror the repository. Because wiki of the mirror repository could also be mirrored.

@Unknwon can you please explain then how the Wiki mirroring is working then? Because currently I mirror git-Wikis in separate repositories. So they aren't integrated properly in a particular mirrored repository.
Thank you in advance!

@Unknwon I have github mirrors that fulfull this requirements but none of them got the automatic wiki mirror.
Can you tell me when this feature was introduced? Maybe my gogs installation is just too old?
And do you know any easy "hack" that is able to add it afterwards?

@alexanderadam I just did a random test of https://github.com/gogs/go-gogs-client to https://try.gogs.io/unknwon/wiki-test, works like a charm.

Can you tell me when this feature was introduced? Maybe my gogs installation is just too old?

I can't remember but at least last year.

And do you know any easy "hack" that is able to add it afterwards?

You have to first make sure your version of Gogs supports mirror the main repo and the wiki (by upgrading maybe).


Terragrunt can't find outputs in dependency

Describe the bug
A while ago, we upgraded to terragrunt version v0.58.2 in an azure environment, and were already noticing things were quite a bit slower than before.
But last week we ran into a confusing issue, where a particular module coulnd't resolve the outputs of a dependency, while it was definitely there.
ERRO[0910]  221:     dbxuc_schema_system = dependency.databricks_config.outputs.uc_audit.schema.id
ERRO[0910]
ERRO[0910] This object does not have an attribute named "outputs".

It must be said: this module had (by nature) quite a few dependencies, but all of them resolved fine except this one.
Inspecting the output of the said module showed that the outputs were definitely there. However, the terragrunt output command takes about 3 minutes, while just running plain terraform output from the .terragrunt-cache directory completes almost instantly (less than a second).
The debug log mentioned that the dependency is skipped because it is disabled.
time=2024-08-02T14:45:39+02:00 level=debug msg=Skipping outputs reading for disabled dependency databricks_config

The dependency declaration itself didn't have a enabled attribute set, but the terragrunt.hcl of the dependency does have a skip statement.
Anyways, while testing earlier versions of terragrunt we noticed the following:

v0.55.1 is the last version that is both performant as well as properly resolving the dependencies.
both v0.55.2 and v0.55.3 has the described issue, but are still 'quick'.
in v0.55.5 another strange error popped up, but the plan is what we would expect:

ERRO[0008]  110:   groups = dependency.ad_groups.outputs.azuread_groups
ERRO[0008]
ERRO[0008] There is no variable named "dependency".

in v0.55.6 that aforementioned error is gone, but the main issue (can't find the outputs) popped up. Also, it became very slow from this release onwards.

We tried also some newer versions but that wasn't helpful either:

In latest version (v0.66.1) we got the following error:

ERRO[0167]   on xxxxx/terragrunt.hcl line 67:
ERRO[0167]   67:         [for g in try(v.member_of, []) : try(dependency.ad_groups.outputs.azuread_groups[g].id, null)]
ERRO[0167]
ERRO[0167] with
ERRO[0167] v.member_of set to null
ERRO[0167] .
ERRO[0167] A null value cannot be used as the collection in a 'for' expression.
ERRO[0167] Error: Iteration over null value

v0.60.x no new issues, but the main 'outputs' issue was still there.

We didn't put more effort into the newer versions yet, we might do that. We're also more than willing to test out a few things if that's going to be helpful.

Our CICD plan route decreased from 36 minutes (using v0.58.3) to 10 minutes (using v0.55.1)

Steps To Reproduce
Just changing the terragrunt version and run terragrunt plan.
Expected behavior
It should resolve the outputs (and not be that slow :-)
Versions

Terragrunt version: v0.58.3
OpenTofu/Terraform version: terraform v1.5.7
Environment details (Ubuntu 20.04, Windows 10, etc.): macos

Additional context
n/a

Maybe in addition:
I reduced the terragrunt.hcl to remove all other dependencies so that only the 'faulty' dependency remained.
However, the issue still remained, so I guess it has not so much to do with the sheer number of dependency declarations.

Seems we are also hit by this issue (terragrunt 0.66.1). Interesting thing is: when I temporarily change to "skip=false" in dependency, then run "terragrunt plan" (which I believe fetches the output of dependency), then, after restoring to "skip=true"    - output is visible and is used.

Seems we are also hit by this issue (terragrunt 0.66.1). Interesting thing is: when I temporarily change to "skip=false" in dependency, then run "terragrunt plan" (which I believe fetches the output of dependency), then, after restoring to "skip=true" - output is visible and is used.

Hmm interesting. Let me do some tests here as well.
However, I woud argue that if you have a skip = true in a dependent module, then it would make sense to not fetch the outputs right? I must say that I am not very keen on this skip option, it gives quite a few issues.

"dependent module, then it would make sense to not fetch the outputs right? " It's complicated. :) We use this to make some configuration tests. And skips is used to tell "we do not want to test this big and complicated module" now, but we want to check  modules which depends on it.

@gercograndia, @kjonca, Guys, can you provide the simplest possible configuration to reproduce the issue?

Hi @levkohimins,
I'll see if we can reproduce it (tomorrow) in a as simple as possible setup but in our case it will never be easy.
I think the situation is as follows:

module_1 has a dependency on module_2 and wants to use the outputs.
module_2 has a skip attribute, and uses the output of a dependency to module_3 to decide whether or not to skip.

I think the situation of @kjonca is different: try to get hold of the outputs when skip = true.

Thanks @gercograndia, If you can't provide a simple configuration, that's not a problem, as long as it reproduces the issue.

Here you go @levkohimins
Assuming both module-2 and module-3 are applied, run a terragrunt plan in module-1.
Tested with terragrunt v0.58.3.
terragrunt-issue-3321.zip

Great, thanks a lot in advance.

Any updates here guys?
Got bitten by it again yesterday, as we had one last skip lingering around and that caused that a dependency existed without any issues, was creating (so not skipping) nicely but refused to report its outputs.
Took a while before I realised again that this was the same issue again, because first you start to check all your own configs. Pretty confusing bug actually.

Hey @gercograndia ,
Take a look at the new exclude block we've introduced, which replaces the skip attribute (specifically take a look at the all_except_output value that can be provided to the actions attribute). We built it out specifically to be a more flexible version of the skip attribute, so any feedback you can provide would be appreciated.
If you aren't aware, it's part of a larger suite of changes that you might also be interested in.

Hi, was not aware of the exclude block, nor with this 'larger suite of changes'. But looks promising, keep up the good work!
I consider skip as deprecated now, good riddance!


Update README.md

made an update to the forms of communication.
Takes care of #13

@JWizard277 @jbell-97 Please review 👍


Application of tflite models and how to convert them.

Hi, I encounter the following error when using a tflite model that has been converted and quantized by toco.
Process: com.ml.quaterion.facenetdetection, PID: 4034
java.lang.IllegalArgumentException: Cannot copy to a TensorFlowLite tensor (input) with 76800 bytes from a Java Buffer with 307200 bytes.
at org.tensorflow.lite.TensorImpl.throwIfSrcShapeIsIncompatible(TensorImpl.java:416)
at org.tensorflow.lite.TensorImpl.setTo(TensorImpl.java:140)
at org.tensorflow.lite.NativeInterpreterWrapper.run(NativeInterpreterWrapper.java:243)
at org.tensorflow.lite.InterpreterImpl.runForMultipleInputsOutputs(InterpreterImpl.java:107)
at org.tensorflow.lite.Interpreter.runForMultipleInputsOutputs(Interpreter.java:80)
at org.tensorflow.lite.InterpreterImpl.run(InterpreterImpl.java:100)
at org.tensorflow.lite.Interpreter.run(Interpreter.java:80)
at com.ml.quaterion.facenetdetection.model.FaceNetModel.runFaceNet(FaceNetModel.kt:104)
at com.ml.quaterion.facenetdetection.model.FaceNetModel.getFaceEmbedding(FaceNetModel.kt:83)
at com.ml.quaterion.facenetdetection.FileReader$getEmbedding$2.invokeSuspend(FileReader.kt:108)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)

The model is converted from facenet pretrained model to tflite by QUANTIZED_UINT8 format, the model size is reduced from 93MB to about 23MB, the problem should be caused by the mismatch between UINT8 and FLOAT, I would like to ask how to convert the tflite model in the assets directory of the project and reduce the model size while maintaining the FLOAT format.

@WuSiangRu You can convert to quantized integer formats,  and TensorFlow preserves the float data-type of input and output tensors. Refer these docs. It says,

Now all weights and variable data are quantized, and the model is significantly smaller compared to the original TensorFlow Lite model. However, to maintain compatibility with applications that traditionally use float model input and output tensors, the TensorFlow Lite Converter leaves the model input and output tensors in float

Hi ,thanks for your reply,sorry for not asking you which version of tensorflow you were using at the beginning. I'm using version 1.15, and the method mentioned in the link you provided seems to require 2.0 or higher.
So I referred to this method and converted the model to keras and then to tfllite in FLOAT32 format and it works.
Also I would like to ask you how to add the ByteBuffer mentioned in the above suggestion to the program code?


Li/patch search method

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
bug fix

What is the current behavior? (You can also link to an open issue here)
If someone provides an unsupported search_method (e.g., "test"), a 500 error is raised.

What is the new behavior (if this is a feature change)?
If someone provides an unsupported search_method (e.g., "test"), a proper 4xx is raised now.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
no

Have unit tests been run against this PR? (Has there also been any additional testing?)
yes

Related Python client changes (link commit/PR here)
no

Related documentation changes (link commit/PR here)
no

Other information:
no

Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added / updated (for bug fixes / features)

Regarding the error handler change, here is the comparison:
mq.index("test-lexical").search("test", searchable_attributes={}, search_method="LEXICAL")
Before this PR we get:
MarqoWebError: MarqoWebError: MarqoWebError Error message: {"detail":[{"loc"["body","searchableAttributes"],"msg":"value is not a valid list","type":"type_error.list"}]}status_code: 422, type: unhandled_error_type, code: unhandled_error, link:
After this PR we get:
MarqoWebError: MarqoWebError: MarqoWebError Error message: {'detail': [{'loc': ['body', 'searchableAttributes'],'msg': 'value is not a valid list', 'type': 'type_error.list'}], 'code': 'unprocessable_entity', 'type': 'invalid_request', 'link': ''}status_code: 422, type: invalid_request, code: unprocessable_entity, link:


tests: drivers: disk: fail to handle no SD card situation

Describe the bug
When run this test case on boards with no SD cards inserted, test gets failed. I think this case should be
skipped if the hardware does not match the requirement. Therefore, if you run many test cases together,
you will not get unexpected failure.
To Reproduce
Steps to reproduce the behavior:
run test cases on board with no SD card inserted.
Expected behavior
Boards with no SD card inserted should skip this test instead of getting failed.
Logs and console output
*** Booting Zephyr OS build v2.7.99-2572-gfef2e30b7f83  ***
Running test suite disk_driver_test
===================================================================
START - test_setup
E: NO SD inserted!
Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/disk/src/main.c:50: test_setup: (rc not equal to 0)
Disk access initialization failed
FAIL - test_setup in 0.115 seconds
===================================================================
START - test_read
Testing reads of 8 sectors
Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/disk/src/main.c:95: test_sector_read: (rc not equal to 0)
Failed to read from sector zero
FAIL - test_read in 0.16 seconds
===================================================================
START - test_write
Testing writes of 8 sectors
Assertion failed at WEST_TOPDIR/zephyr/tests/drivers/disk/src/main.c:148: test_sector_write: (rc not equal to 0)
Failed to write to sector zero
FAIL - test_write in 0.16 seconds
===================================================================
Test suite disk_driver_test failed.
===================================================================
PROJECT EXECUTION FAILED

@LixinGuoX Won't other tests, like the SPI loopback example, fail if the device under test does not have a specific hardware configuration (jumper between MISO and MOSI)? Or is there a method you're using to exclude those tests that the disk driver test does not support? If so, maybe that could be added here, to enable the user to skip this test when running a large test suite.
My concern is that skipping the test if an SD card was not inserted would break the generic nature of the test, since the disk access api this tests against does not have a defined return code for disk media not being present. If a check was added, then this test would become linked with the USDHC driver, rather than other disk drivers present in Zephyr

@danieldegrasse I guess the testcase.yaml needs "fixture: disk_sdcard", like there isfixture: spi_loopback or fixture: gpio_loopback.

@jfischer-no Thank you for the idea, that seems like it should work. @LixinGuoX, could you look at #41629 and confirm it works for your test case?

@danieldegrasse , yes, it works, now test is skipped instead of getting failed. Thanks.


allow custom stream conf

Allow a top-level custom stream configuration file to be loaded.
Example /data/nginx/custom/stream.conf that performs DNS load balancing with the upstream block.
server {
    listen <IP_ADDRESS>:53;
    proxy_pass dns_servers;
}
server {
    listen <IP_ADDRESS>:53 udp;
    proxy_pass dns_servers;
}
upstream dns_servers {
    server <IP_ADDRESS>:53 weight=5;
    server <IP_ADDRESS>:53;
    server <IP_ADDRESS>:53 backup;

This type of configuration is not possible with the stream files generated via NPM.

Docker Image for build 1 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-750

Docker Image for build 2 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-750

Docker Image for build 2 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-750


[Marker.io] "Show more" button missing on brands page

Steps to reproduce:

scroll down on page and compare with figma

Actual result:All the brands are shown at once."Show more" button is missing
Expected result: please check and implement

Reported by: vinod<EMAIL_ADDRESS>- Contact via Marker.io
Source URL: https://wf-b.stg.prezzee.com/en-us/brands
Issue details: Open in Marker.io
Device typedesktopBrowserChrome <IP_ADDRESS>Screen Size1366 x 768OSWindows 10 (10.0.0)Viewport Size1366 x 641Pixel Ratio@1x

🤖 Marker.io bot - This issue was marked as ✅ Resolved in Marker.io


Make it possible to log messages from Rust

Before we can start porting things to Rust, we have to provide a way to write log messages from Rust. Pretty much every function or method logs something, and we better not loose that logging in the translation.

I'm on this. I'm porting our existing logger class to Rust, and will provide a C++ bindings to it so none of the existing C++ code has to change.


Latency issue with Onxx model and cuda

Hello Everyone,
I m running piper on a Ubuntu 20.04. I have installed the Cuda and CuDnn correctly according to this Link
I am able to train models and train dataset. I exported the *.ckpt to *.onnx model and tried to do inference from both but it seems Onnx model is not giving faster response. I used the export_onnx.py to convert and doing inference from it.
Also strangely when i m running from src/python_run folder with and without --cuda flags, the response from the --cuda flag is way slower than without flag. Here is a screenshot.

Can someone please help here?

Solved the issue the Cuda Executer was not properly called.

Hello Everyone,
I m running piper on a Ubuntu 20.04. I have installed the Cuda and CuDnn correctly according to this Link
I am able to train models and train dataset. I exported the *.ckpt to *.onnx model and tried to do inference from both but it seems Onnx model is not giving faster response. I used the export_onnx.py to convert and doing inference from it.
Also strangely when i m running from src/python_run folder with and without --cuda flags, the response from the --cuda flag is way slower than without flag. Here is a screenshot.

Can someone please help here?

Solved the issue the Cuda Executer was not properly called.


How to set up British English for "deepl_free" and takeover the default rules of American English?

The curl command for deepl_free is based on https://www.deepl.com/en/docs-api/ and https://www.deepl.com/de/docs-api/translate-text:
curl -X POST 'https://api-free.deepl.com/v2/translate' \
	-H 'Authorization: DeepL-Auth-Key [yourAuthKey]' \
	-d 'text=Hallo%2C%20Welt!' \
	-d 'target_lang=EN_GB'

It probably goes somewhere into args according to the docs:
deepl_free ~

		table
		default: { args = {} }

		Set the extra arguments to be passed to the 'curl' command.

			require("translate").setup({
				default = {
					command = "deepl_free",
					output = "floating",
                                        args = "?",
				},
				preset = {
					output = {
						split = {
							append = true,
						},
					},
				},
			})

Where and how do I assign the other defaults of EN to EN_GB?
The mapping then should probably look as follows?:
			nnoremap ,t :<C-u>Translate EN_GB -output=floating<CR>
			vnoremap ,t :'<,'>Translate EN_GB -output=floating<CR>

I don't really know how to do it here. Thanks in advance!

The target language for translation is always specified as an argument to the command. The format depends on the API, and since British English in deepl seems to be EN-GB, this is the way to go.
nnoremap ,t :<C-u>Translate EN-GB -output=floating<CR>

If the translation itself does not seem to work, check that g:deepl_api_auth_key is set correctly.


Fortify Security Scan - High Finding: Cross-Site Scripting

The following "High" finding was reporting by a Fortify security scan and needs remediation to pass a standard security scan.
Version 6.14.11
history/cjs/history.js
386: window.location.href = href;
399: window.location.href = href;

Details from Fortify:
The method lambda() in history.js sends unvalidated data to a web browser on line 386 & 399, which can result in the browser executing malicious code.

This is a false positive. That isn't how that operates at all.


How to hide preview panel

How to hide preview panel ,use javascript?I don't want preview panel is displaying on page load.It's unfriendly to mobile user.

I don't think Markdown Plus works with mobile devices, because I never tested that.
For you question, please check the screenshot:

If you want some js code, here it is:
layout.sizePane('east', 1);

Markdown Plus can work on the mobile devices,but toolbar just have 3 lines, need scrool.


The bot keeps rolling even when unable to claim

The bot runs perfectly but even after claming a character it keeps rolling which is quite bothersome. Not sure if that's meant to be that way but I suggest fixing it. Also auto-claiming any character before the claim reset (so the claim wouldn't go to waste) would be a nice feature.

This is intended as this is handled by another thread personally I don’t see an issue because I roll for keys so even without a claim you still get benefits
I.E kakera free or keys
Sent from my iPhone

On Jun 19, 2021, at 1:48 AM, Aries298 @.***> wrote:

The bot runs perfectly but even after claming a character it keeps rolling which is quite bothersome. Not sure if that's meant to be that way but I suggest fixing it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

as for auto claiming it might be a bit hard i've tried to figure out a way to do that out without breaking functionallity so for example auto rolls take place during the start of the roll cycle meaning that you no longer have rolls at the end but if i set to snipe anything in your second set of rolls then u have a whole 59 min that someone else can roll a wish character and you miss it cause u claimed
but if i set the bot to auto roll a min b4 the roll cycle timing issues might cause it to snipe to late and snipe into the next hour
or cases of what if no1 rolls during the end of the roll cycle so then there is nothing to claim like there are various factors that need to be considered to attempt an auto claming before reset

Well I thought of it as a small toggleable enhancement that might be a nice addition to earn kakera. It can't be perfect since as you said someone can roll a wish in the last cycle and you miss it. Not sure about the technicalities but it might simply snipe the last character (or the most valuable if possible) in the last cycle before claim reset (claim reset time <=1h).

then how to you determine the last character if your not the roller ? the bot at the moment rolls at the start of the cycle. the bot doesnt have an idea on if some one will roll within the hour and then you have to consider if they are premium server I or 2 or f2p
im just against this idea as even tho ya a claim is wasted but it turn into the fact that i would have to move the roll timer to the end of the cycle to cut down on time and not to mention if some1 else comes in to roll last minute it will block out the bot being able to do it so there will be conflicts as this bot is made to try to look less like a bot in behavior

Gonna close as this I haven't heard a reply
but gonna end with "This Feature can be implemented if I receive a way code it where I don't have to rewrite the whole code base or a method to do this feature without inconveniencing others which fit inside the scope of the project"

@Aries298 added some code changes in both setting.json and the .py for last minute snipes test it out if you will


Can not add an entry when the time is above 12:00

When I run
saturn e today at 14:00 test

I get the follwoing error
thread 'main' panicked at 'Invalid Time', /home/tant/.cargo/registry/src/index.crates.io-6f17d22bba15001f/saturn-cli-0.3.3/src/entry/parser.rs:172:54
stack backtrace:
   0: rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::option::expect_failed
   3: saturn_cli::entry::parser::time_period
   4: saturn_cli::entry::parser::parse_time
   5: saturn_cli::entry::parser::parse_entry
   6: saturn_cli::entry::EntryParser::to_record
   7: saturn_cli::db::DB::record_entry::{{closure}}
   8: saturn::process_file::{{closure}}
   9: tokio::runtime::park::CachedParkThread::block_on
  10: tokio::runtime::context::runtime::enter_runtime
  11: tokio::runtime::runtime::Runtime::block_on
  12: saturn::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

When running saturn e today at 14:00:00 test the entry is created as expected.
I looked into the code and found that parse_time is calling timeperiod with hour=14 and when I ran the command and it was after 12:00, the following code on parser.rs:183-189-  in time_period is called.
fn time_period(hour: u32, minute: u32) -> chrono::NaiveTime {
    if now().hour() >= 12 {
        pm_time(hour, minute)
    } else {
        am_time(hour, minute)
    }
}

and  pm_time calls parser.rs:158-169 with twelve_howu_time(true, 14, 0).
fn twelve_hour_time(pm: bool, hour: u32, minute: u32) -> chrono::NaiveTime {
    let new_hour = if pm { 12 } else { 0 };

    time(
        if hour == 12 {
            new_hour
        } else {
            hour + new_hour
        },
        minute,
    )
}

This code then sets hour to 14+12 and the code fails, with an invalid time.
Now the question is what is the desired behavior, why does it check the current time?
Is the idea when I execute saturn e today at 2:00 that the entry is not in the past?
This seems inconsistent because the current time should not  be considered when calling saturn e tomorrow at 14:00 test.
Also the function twelve_hour_time can be replaced by a direct call to time(hour) for am and time((hour+12)%24) for pm.

Hi,
First off, thanks for the in-depth analysis! It makes figuring out the bug a lot easier! :)
Second, the desired behavior is actually in the readme. It should say something along the lines of "something perceived as a 12-hour time is treated in the current time of day, 24-hour time is treated as a 24-hour amount".
The goal here was to allow you to say "8:00" at 6pm and it would correspond to "20:00" not "08:00" because of the time of day you entered it. If you really wanted 8am, you could say "08:00am" or just "8am".
I hope that helps. I'll work on this shortly, hopefully can fix it and get a release out today. Thanks for the report!

I committed a fix for this, I should be releasing in a little bit.


Error configure stream, RTSP/1.0 500 Internal Server Error

[ (RtspActivity.java:353)#onConnectionFailedRtsp ] Error configure stream, RTSP/1.0 500 Internal Server Error
Server: EasyDarwin/7.3 (Build/17.0325; Platform/Win32; Release/EasyDarwin; State/Development; )
Cseq: 2
Session: null

Yes, I know it easydarwin server doesn't support RTSP command used in this library to connect. I need develop a specific connection for it. The command is announce or record, I dont remember good.

Hope for that. Thank you!

EasyDarwin is now working on version 1.2.8:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/commit/3204f723a1393bc164c59f45954ef7a13b58d5a6

@pedroSG94 Thank you. announce is ok, but SETUP return 500 still.

EasyDarwin server is working for me. I tested with the official server from here:
https://github.com/EasyDarwin/EasyDarwin
I use Ubuntu 16.04. Steps:

Compile in x64 using: ./Buildt x64.
Execute server with: sudo ./easydarwin -c ../WinNTSupport/easydarwin.xml -d
Stream to endpoint: rtsp://ip:554/live/pedro
Only work with TCP protocol.

Yours: OPTIONS rtsp://<IP_ADDRESS>:554/live/pedro RTSP/1.0
I compile server successful but I can't to set the ip,
How to set the ip and the path: /live/pedro

you only need see the ip of your pc where you installed easydarwin server, in my case is <IP_ADDRESS> (local ip server).
Linux command: ifconfig
Direc. inet:<IP_ADDRESS>

"live" is the default application name of easydarwin and "pedro" is a random stream name that I used. You can change it.

<IP_ADDRESS> is worked from: https://github.com/EasyDarwin/EasyDarwin/blob/master/EasyDarwin_Cloud_Windows.md
so, the error comes from my real server?

I don't know. :(
Try compare application configurations (I don't know how to do it, but you should have any file with that).

Another one responsible for the server, so we'll check it tomorrow, thank you for your great job.

DNS results in the problem. When the Client use ip to connect, it succeed.

Hi there! maybe this helps... this happened to me with some cameras that don't allow multiple connections. I had another computer using the rtsp stream and getting this exact error message. Closing the connection on the other computer solved.


Message Deletion

In a conversation I see the option under "Message Deletion" to "keep forever."
So if I have deleted a portion or all of a conversation, where do I find the portion that was deleted and kept forever?
ty

Isn't it under team chat? There can be set timer when all messages older are deleted so you can have team where are only messages kept one day.

I see the timer and ours is currently set to keep forever.
Something was deleted and everything above it was deleted to.
I want to try and recover all of it.

So where do I find the messages that were deleted?

*deleted too

The "Keep Forever" retention policy only applies to the automatic time-based deletion that we do on our server (or not).

Ok. Ty.  Future version rec. maybe to have option for undo deletions for certain timeframe.

Or maybe make “delete” and “delete and everything above” farther apart on menu options bc easy to misclick.

@CryptoForks No, it won't be implemented because the main reason for deleting is that it's irreversible so nobody can recover what you deleted


[logging] removing useless case in shared-mempool match

@bors-libra r+

:pushpin: Commit b30caed has been approved by phlip9

:hourglass: Testing commit b30caedc4d3099e855a456726bf1ff0d1ba316ef with merge 23f642da8af71430e3e9521c934a120be71a0409...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: phlip9
Pushing 23f642da8af71430e3e9521c934a120be71a0409 to master...


Roman to Integer

This is a leet code Easy level problem.
Problem description:
In this problem we will be given with a Roman Number we need to convert it and return the integer number of it.
I have done this problem in Java.
Please assign this to me, the solution is valid and it has a run time of 2ms and it beats 100% of users.
Here is the screenshot of it

please assigne me


[HIGH] ManageProject_SeveritiesTab_EditSeverity

Edit Severity (Save)

[ ] Add functionality in ARA
[ ] Add NRT

Moved to another project