Add SNS and SQS commands with unit tests

Card
Two commands sns and sqs which list queues and topics with access policies granting public access.
Useful to me for quick screening when there are too many to look at manually. Queues and topics can easily go into the thousands.
Useful for cloudfox?
Details
The commands basically just list the resources, get their policies and analyse them. Then they can flag queues and topics in 3 different ways:

public if the principal is * and there are no conditions
public-wc (public with conditions). if principal is * and there are conditions which do not scope access down to specific accounts
not flagged if principal is not * or if principal is * and at least one condition scopes access down to specific accounts (e.g., SNS topics can set a aws:SourceAccount condition, there are other cases)

I've added unit tests this time. Unfortunately I wrote them before noticing the mock file system you introduced. If you generally like and want to merge the command I'm happy to switch to the mock file system.
The (hopefully) reusable logic lives in a package within the /pkg folder. Note that this is a common Go way of encouraging reuse (https://github.com/golang-standards/project-layout). If you avoid this on purpose better rename.

This is amazing stuff @DominicBreuker, thank you! We'll start playing around and looking at this soon. Enjoy your weekend!

@DominicBreuker - Sorry it took us so long to get to this one. Before touching any of your code, the first thing i did was merge in the new format and improvements we've made to the main branch in v1.9.0.  We really appreciate your reference to the unofficial golang-standards doc, and we used that doc to create a new /internal folder. I've moved your stuff from /pkg to that folder for now to keep it consistent with our new changes.
So now to your PR. This is of course very helpful and a great addition to cloudfox, but i have a few thoughts:

What about merging your two columns into one and making it a little more descriptive. Maybe the header is something like "accessibility" or "resource policy". And the options can be "Public", "Public with conditions", and maybe we can build a short list of other short descriptions.

I'm also wondering if we might want to be more explicit on the actions that are allowed by the resource policy. I think it would really cool to have cloudfox tell us if we're talking about a queue/topic that can be read/subscribed to anonymously, or a queue/topic where anyone can send messages, or all of other combos.

I've started trying to implement both of these, but i'd still like to hear your feedback on them. And on the second one, i might need your help on the policy stuff. I'll let you know.
Thanks again for this awesome work!

hmm:

more descriptive column: yes makes perfect sense. my main use case was grepping through the output, which would still be possible but the output is more compact this way. as for more descriptions, maybe we could be more explicit about what conditions apply, but I'd have to research a bit (there are many: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#AvailableKeys + service-specific ones).
allowed actions: like it a lot. maybe it could be a column Access Level code like r|w|p|t for read, write, permissions and tagging, which would correspond to the access levels from the AWS docs (e.g., https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsqs.html).

@DominicBreuker - Take a look at the stuff I added. It took me a while but I eventually realized how your resource policy logic can be expanded to all services with resource policies. that you so much for this amazing foundation! i took a shot at copying your logic into the buckets command.  and i also took many many shots at trying to represent data in the resource policies in a way that is helpful.
I still need to add loot writers to sns/sqs to give users the rough idea of the commands they would need to publish to a queue/topic, so that will be the next commit.
but i wanted to get this code pushed so that you could try it out and let me know if you think it makes sense.
lastly, i have not touched your tests so i assume those will fail for now.

This PR is ready to merge into main. Thanks again for all of the great work @DominicBreuker.


Skip interpolated strings or string literals for lineLength

Is there a way to configure the rule in .swift-format to skip counting the interpolated strings or string literals when it lints the lineLength?

Tracked in Apple’s issue tracker as rdar://126948365


axis可以根据数据显示不同样式吗

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

What problem does this feature solve?
根据数据显示axis样式
What does the proposed API look like?
可能是使用问题 不需要api

我解决啦 https://github.com/antvis/G2/issues/3401


Error when only one scent is installed

The problem
When using the timer service and not selecting a slot (auto-select) - the service fails with this message:
Stopped because an error was encountered at September 29, 2023 at 10:11:02 PM (runtime: 0.54 seconds)

500 Server Error: Internal Server Error for url: https://trypura.io/mobile/api/devices/083A8D80C9AC/timer

Selecting a non-empty slot works, so does having both slots filled.
What version of Home Assistant Core are you running?
Home Assistant 2023.9.3
What was the last working version of Home Assistant Core?
No response
Diagnostics information
No response
Anything in the logs that might be useful?
No response
Additional information
No response

Can you try 0.1.15b0 and see if that works for you?

Grabbed the beta - same issue:
Logger: homeassistant.components.automation.pura_loft_on
Source: custom_components/pura/select.py:126
Integration: Automation (documentation, issues)
First occurred: 7:00:30 AM (4 occurrences)
Last logged: 7:01:44 AM

Loft Pura Timer: Error executing script. Unexpected error for call_service at pos 1: 500 Server Error: Internal Server Error for url: https://trypura.io/mobile/api/devices/083A8D80C9AC/timer
While executing automation automation.pura_loft_on
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 468, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 704, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 666, in _async_run_long_action
    return long_task.result()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 1969, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2006, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 830, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/pura/select.py", line 126, in async_start_timer
    if await self.hass.async_add_executor_job(
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pypura/pura.py", line 177, in set_timer
    resp = self.__post(f"devices/{device_id}/timer", json=json)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pypura/pura.py", line 203, in __post
    return self.__request("post", url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pypura/pura.py", line 194, in __request
    response.raise_for_status()
  File "/usr/local/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://trypura.io/mobile/api/devices/083A8D80C9AC/timer

Cool - downloaded the beta - works great! As a side note - in the service - there's no way to leave the Intensity unchecked... So if I change it in another automation or on the mobile app, this automation needs to be updated as well. Can you make it a check box like the Slot parameter? Thanks!


add channelaffinity to callrecording sync method

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


[FeatureReq - Partner Center] Retain/Save the information added in "Notes of Certification" field for future extension submissions

Created on behalf of the developer of LexisNexis PatentAdvisor® Extension - Microsoft Edge.
Is your feature request related to a problem? Please describe.
When I provide the testing credentials and information in the Notes of Certification field on Partner Center during an extension submission, this information is neither saved anywhere on Partner Center nor available for my future submissions. I have to re-enter this information all over again.
Describe the solution you'd like
An option to save the information added in the Notes of Certification field for future extension submissions
Describe alternatives you've considered
None
Additional context
I wasn't aware that I would have to enter this information, every time I upload an update to my extension submission via Partner Center.

Issue created based on suggestion received from dev (internal ref # 40334445)

This issue is being tracked on our backlog, will be prioritized soon.

This issue is being tracked on our backlog, will be prioritized soon.

What's the progress on this? Really frustrating having to input the reviewer notes each time.

Hi @infinitepower18, we apologize for the delay and understand that you’ve been waiting for an update for quite some time. Our engineering team is working diligently on this issue. We understand the importance and we appreciate your patience. We will ensure to notify you as soon as we have an update.
Thank you for your understanding.


Simple solution for toggling?

Is there a simple way to toggle the shave (like some kind of "unshave") with a class or something? I simply want the text to be "shaved" on page load and then "unshaved" by clicking on the whole text (or some button). I'm using jQuery. Thx in advance!

Hey @sashtown! Thanks for reaching out.
This issue (a feature like "unshave") has been discussed previously. It is in past issues, I think. 🤔
If I remember correctly, this feature was not added to maintain the size of this tiny utility. Instead, tooling is there so that the implementer can do it as they need. I think there are a few demos in the notes section of the README.md.
Let me know if that helps! If you feel there is a need for a README.md update or would like to purpose a API update, please submit a pull request.
~Thanks again!!!

Hey @yowainwright, thanks for your reply! Great to see some people on Github reacting that fast. 💪
Yeah, I checked the demo but I guess that's not what I've been searching for. And since I'm not a JS pro I think I'll rather go with some progressive enhancement in terms of line-clamp with CSS.

@sashtown if the webpage that is being worked on does not need to support older browsers and the implementer has the ability to discuss how text truncation will look/work in Internet Explorer with the team outside of engineering—that is the decision I would recommend!


Local variables with identical names declared in different functions considered to be the same variable

Expected no warnings here:

The issue here is that the syntax highlighter doesn't really know which sub-function you're in - it is only aware of top-level functions and events since those can be quickly detected with a regular expression while nested functions require parsing the file structure - potentially very often.
Enabling "treat local variables as block-scoped" (or using const/let) will make the linter warnings go away, but syntax highlighter will still have a hard time figuring out which of 3 variables it is supposed to be dealing with. Using descriptive variable names helps.

Enabling "treat local variables as block-scoped" did not help, unfortunately. But I guess using better variable names is a reasonable workaround.


Add Remaining Editors

Add editors for following entities:

[ ] Lab
[ ] Electric Furnace
[ ] Pumpjack
[ ] Oil Refinery
[ ] Chemical Plant
[ ] Centrifuge
[ ] Rocket Silo
[ ] Arithmetic Combinator
[ ] Decider Combinator
[ ] Constant Combinator
[ ] Programmable Speaker

What do you mean by add editor to Labs? I can import blueprints with Labs, and click on them to change inserted modules for example.
I can also add new Centrifuges, and set all vanilla recopies on them without issues.

All the editors inherit from a base editor class now.
This is a bit outdated.


cleanups: Various cleanups before 0.2.4

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>

Codecov Report

Merging #265 (84428f5) into main (8086db3) will increase coverage by 0.00%.
The diff coverage is 11.11%.

@@           Coverage Diff           @@
##             main     #265   +/-   ##
=======================================
  Coverage   51.98%   51.98%
=======================================
  Files         112      112
  Lines        3153     3151    -2
=======================================
- Hits         1639     1638    -1
+ Misses       1514     1513    -1

Impacted Files
Coverage Δ

ui/src/shared/actions.js
21.21% <0.00%> (-0.74%)
:arrow_down:

ui/src/shared/modal.js
12.00% <0.00%> (ø)

ui/src/shared/snippets/repository.js
40.00% <ø> (ø)

ui/src/shared/widgets/saveload.js
20.00% <0.00%> (-20.00%)
:arrow_down:

playground/control/attribs/event.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8086db3...84428f5. Read the comment docs.


code cleanup 1: update all format to formatWithContext in the tests

Commit Message: code cleanup 1: update all format to formatWithContext in the tests
Additional Description:
After adding templated formatter support, a new HttpFormatterContext is introduced to suppies necessary data like request headers, response headers to the formatter.
In the previous PR (#29201), to simplify the review, HTTP template specialization is introduced. All HTTP formatter could still use the old interfaces.
But we still want to cleanup all the old interface usage and finally remove the HTTP template specialization. This PR cleanup all these code in the tests first.
Note, in current implementation, the new formatWithContext is implemented as to call format method directly. So, this change will note reduce the code test coverage.
  // Old interface usage example.
  formatter->format(request_headers, response_headers, response_trailers, stream_info, body,
                    log_type);
  formatter->format(request_headers, response_headers,
                    *Http::StaticEmptyHeaders::get().response_trailers, stream_info,
                    absl::string_view(), AccessLog::AccessLogType::NotSet);
  formatter->format(*Http::StaticEmptyHeaders::get().request_headers,
                    *Http::StaticEmptyHeaders::get().response_headers,
                    *Http::StaticEmptyHeaders::get().response_trailers, stream_info,
                    absl::string_view(), AccessLog::AccessLogType::NotSet);

  // New interface usage example.
  formatter->formatWithContext(
      {&request_headers, &response_headers, &response_trailers, body, log_type}, stream_info);
  formatter->formatWithContext({&request_headers, &response_headers}, stream_info);
  formatter->formatWithContext({}, stream_info);

Risk Level: low. test only change.
Testing: n/a.
Docs Changes: n/a.
Release Notes: n/a.
Platform Specific Features: n/a.

/assign-from @envoyproxy/envoy-maintainers

/assign-from @envoyproxy/envoy-maintainers


ADD, EDIT, DELETE (Perry)

[ ] Merge ADD command for both employees and events
[ ] Merge EDIT command for both employees and events
[ ] Merge DELETE command for both employees and events

All commands added and pending PR merge


Part-of tags and scripts

A script may not have a library name. But a part-of directive must have a name.

I don't think we have "scripts" anymore?

Just for precision: We do have scripts (a library with a main function), but they don't have any restriction against having a library name, so the problem described here is gone.

👍


Update Flannel manifest URL

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
Deployment cluster with Flannel is stuck at "Installing a pod network add-on" section.
As of now, instruction of this page1(at Flannel tab) say following.
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml

But this manifest is old. Toleration of DaemonSet is insufficient.
As a result of this, kube-flannel Pod doesn't run.
Proposed Solution:
At coreos/flannel2 repository, issue3 exists and PR is merged4.
Should change instructions at kubectl apply -f
from
https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml

to
https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml

Page to Update:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/#pod-network

v1.12.0

Should we wait for the next release of flannel?

Should we wait for the next release of flannel?

@tengqm @atoato88

Should we wait for the next release of flannel?

the 0.11.0 release of flannel is nowhere in sight.
i agree with this change as it would unbreak flannel for k8s 1.12.
i think the tab should move to a single link instead of having the two links - one for 0.10.0 and one with a SHA having the multi-arch support.
the link:
https://raw.githubusercontent.com/coreos/flannel/bc79dd1505b0c8681ece4de4c0d86c5cd2643275/Documentation/kube-flannel.yml
is correct.
@atoato88 would you be able to send a PR for this?

/kind bug
/priority critical-urgent

@neolit123 OK, I'll create PR.


[PLATFORM-1245]: Retire 0.6.0 to 0.6.2

https://prima-assicurazioni-spa.myjetbrains.com/youtrack/issue/PLATFORM-1245
Thanks to @maeisbad for the suggestion

Someone from @primait/platform-operations up to add a secret? Maybe @thobianchi...?


NixOS display freezes on tty7 after boot on Dell Vostro 5402

NixOS display freezes on tty7 after boot on Dell Vostro 5402
Upon entering nixos, (after stage 3 boot has completed with no issue), the tty7 terminal freezes and does not display a graphical user interface. I am attempting to use gnome/plasma5 with gdm/sddm. I have attempted to load into a graphical user interface on:

20.03 graphical installer Plasma
20.09 graphical installer Gnome
20.09 graphical installer Plasma
My personal configuration.nix using gdm, sddm, and lightdm

I am able to hit Ctrl+Alt+F1 to switch to a different terminal that does work however.
I have used journalctl to try to diagnoise the issue on gdm and sddm to diagnose the issue as I believe this may be an issue with the X display manager, but I couldn't find anything conclusive. When using gdm, the only thing that seemed to bear any significance was the line:
systemd-logind: got pause for 13:64

I could not find anything too significant on sddm and ligntdm (and did not want to make this post 10 pages long)
To Reproduce

Boot into the installed medium
Observe that tty7 is frozen.

Expected behavior
tty7 is not frozen, and I can enter a GUI.
Additional context
Out of curiosity, I tried to use a typical ubuntu installer to see if a Linux GUI would show up at all and it worked without issue. I had originally attributed my issue to my configuration.nix, but since the issue is occuring on the graphical installers too, I'm not too sure at this point.
Notify maintainers

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module: [
  services.xserver.gdm,
  services.xserver.sddm,
  services.xserver.lightdm
]

Testing this...
When using the latest NixOS GUI installation ISO (gnome and plasma5) https://nixos.org/download.html
The bootup sequence is fine. But then as it tries to enter the gnome desktop manager, the TTY7 ends up freezing with just a underscore that is either frozen or blinking. Switching to other TTYs works sometimes, it automatically switches back to TTY7 and still is frozen.
Ubuntu installation ISO did work, so this must be a configuration/driver issue for the X server.

No longer relevant. It all works now.


Fixes #6929 KeyValue schema supports nested generics type

Fixes #6929
Motivation
Explain here the context, and why you're making that change. What is the problem you're trying to solve.
Modifications
Since the schema of the keyvalue type is generic, if nested generic parameters appear, the type will be lost, resulting in the Schema type is wrong。By default, a Byte type schema will be created
Therefore, special treatment has been done for the KeyValue type schema. When creating a schema, it will traverse the KeyValue type in the function to create the correct nested generic type of schema
Verifying this change

[ ] Make sure that the change passes the CI checks.

This change added tests and can be verified as follows:
org.apache.pulsar.functions.worker.PulsarFunctionLocalRunTest#testPulsarFunctionSchema
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API: (yes / no)
The schema: (yes / no / don't know)
The default values of configurations: (yes / no)
The wire protocol: (yes / no)
The rest endpoints: (yes / no)
The admin cli options: (yes / no)
Anything that affects deployment: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

@315157973 the direction of this change looks great in general. However, I am not sure adding Type functionGenericType into the source and sink configs is the best solution. The schema should be inferred from the argument type in the runtime. They shouldn't be tracked in the configs. Can you find a different way to get the type at runtime?

When the parameter is passed, only the Class type string of the schema is passed, and the generic type is directly discarded. The only thing we can get later is the Class string, we can't get generics.If we pass the real type instead. However, more parameter types will be modified.
JavaInstanceRunnable initializes the schema when calling “setupInput” and “setupOutput” methods.
We must determine the schema before producers and consumers create。（Source and Sink）
I don’t understand what stage the “runtime” refers to.
If we feel that unified processing in topicSchema is not good, how about special treatment for KeyValue after "topicSchema.getSchema" is completed. This way we don't need to change the number of parameters in topicSchema.

@315157973 the direction of this change looks great in general. However, I am not sure adding Type functionGenericType into the source and sink configs is the best solution. The schema should be inferred from the argument type in the runtime. They shouldn't be tracked in the configs. Can you find a different way to get the type at runtime?

Get it from the context instead

ping @sijie Please help review this PR again.

move to 2.7.0 first

@315157973 Thanks for the fix. Seems there is some conflict. Would you please help merge your branch with the latest master?

There are still some problems, I will fix it soon

Through the generic parameters of function, we can parse out the Java type. If other schemas are nested inside the keyValue schema, for example:
KeyValueSchema.of(Schema.JSON(A.class), Schema.AVRO(B.class))
We can't know the type of complex schema nested inside, especially when there is no schem information in the broker. I now use JSON by default.
Is there any good solution for this situation?
@sijie

The internal nested schema type of keyValue can be customized by user through customSchemaInputs and customSchemaOutputs. If there is no customization, the schema defaults to the parameter type of Function, and the schema of the POJO defaults to JSON.


in 1.3.16 ng-repeat filter changed from not filtering the absent fields to filtering them

in 1.3.15 we have working code like this:
<div data-ng-controller="UserController as vm"

where the ng-view included can see and use the vm object.
Update to 1.3.16 breaks this and ng-view creates a new scope object. Hence the vm used inside the included code is not same object.

There is nothing in 1.3.16 that should affect ng-include. Can you please provide a demo of the problem?

Hi,
Thanks for the fast response. As you have mentioned the problem was from the change in the "filter filter" implementation.
In 1.3.15,  if the filter object values are absent in the data, the data passes through ng-repeat.
In 1.3.16, if the filter object values are absent in the data, the data is not passed from ng-repeat
Check the plunker: http://plnkr.co/edit/5WSyJIlnxRmwkY8wk590?p=preview

Should omit the blank strings when implementing this feature to make it backwards compatible:
filterFilter: fix matching against null/undefined (9dd0fe35, #11573, #11617)

If you need to put a value on a filter so it gets ignored, then it should be set to undefined. Eg ng-repeat="datum in vm.data | filter:{absent: undefined}".
Sorry that this is causing you trouble, but the behavior at 1.3.16 is the correct behavior.

No no. Have you checked the plunker I send? To make it more discrete I am outlining a usage scenario:

Go to :
http://plnkr.co/edit/E5WhPwmocYNukQhJzmzX?p=preview

At first the search field is null. And 1.3.16 is displaying them all.

Write something to the search field like 'a'

Then delete the search field input

This time the search is blank string

1.3.16 is just displaying one of them

User wise this is not acceptable. You have a list of options when you filter it works, when you clear the filter it is not back to how it was.
Now a days lots of folks are using NoSql databases. Hence you can not make sure that each field exists in the data returned, since they are mostly schemaless.

@ali-bugdayci, this is unfortunately how filterFilter works (which is indeed kind of unexpected in some cases). Note that the change between 1.3.15 and 1.3.16 was intentional in order to fix an old regression introduced during a refactoring in 1.3.6 (so basically, 1.3.16 restores the original behaviour of 1.3.5).
In cases where you want to avoid an emty search field resulting in case-insensitive substring comparison against '', you can change your filter expression like this: | filter:{xyz: search||undefined}
(Updated plnkr)

@gkalpak
The problem with search field is that, in big projects it is most of the times an object not a string. Like we have different input fields where we aggregate the search object.
If you are aware that it works like this and ok with it, than I have nothing to say. But from my users point of view I believe the scenario I described is not acceptable. Seems like I will be sticking with 1.3.15 for a long time.

This is has come up a few times and we (I) are aware of this. I don't say I am against changing it, but it will be a breaking change. I am definitely open to discussion, though.
Luckily, Angular is too flexible for you to have to stick to 1.3.15 for a long time, as it provides several ways of making things work the way you like. Off the top of my head:

A special ngModel parser that converts empty string to undefined (either on all input fields or on all input[type="search"] fields or with a special directive.
A custom filter that wraps filterFilter (and igores empty strings).
Decorating filterFilter itself (to ignore empty strings).
Using a custom predicate function as expression.
...

(Especially for a large project, the ovrhead should be minimal :smiley:)

@gkalpak  Yeah you are right. May be the best way would be to configure the filterFilter with a filterprovider and choose how you want it to behave.

@ali-bugdayci, what would that filterProvider allow you to do which isn't already possible ? Do you mean something like offering a config flag to enable ignoring empty strings ?
BTW, there is no such thing as "provider" for filters, but we might be able to attach some properties on the filter itself.

@gkalpak yeah I know that we dont have filter provider, but you got what I meant.
Instead of every one trying to solve this problem, configuring it through a flag option would be awesome.
But I wouldn't expect something fast. Since you guys are aware of this problem, and made your choice, this would not be a high priority issue.

There is no configuration phase (unlike standard services) for filters and for this use case it would be an unrealistic change to the core. Also changing how a filter behaves across the board and behind the scenes is a recipe for disaster. If you are using a third party component that expects filterFilter to behave as specified by Angular this may break things. Also future maintainers may not realise that the filter behaviour has been changed just from looking at the template, without searching through the code for potential configuration changes.
As @gkalpak points out there are a number of extension points in Angular to allow you to achieve the effect you wish. Here are a couple of examples:

Parse the ngModel, converting empty strings to undefined: http://plnkr.co/edit/dLb2oI2LEmm1ZdI6Ijse?p=preview
Provide a custom comparator: http://plnkr.co/edit/d8y2u7xJKFSzkXIfOqgI?p=preview

The second option is perhaps the recommended approach as it doesn't mess with the model value. By attaching the comparator to the $rootScope it is available throughout your application, it doesn't add much to the complexity of the template, It also has the added advantage that it does not change the behaviour of filterFilter for third party components, which you might be using and makes it explicitly clear to the person reading the template that this filter is not going to behave in the default manner.

@petebacondarwin said it all.
I just wanted to add that (especially for a large project using the same behaviour in many places), another viable option is to define a custom filter that wraps filterFilter and ensures empty strings in predicate are converted to undefined (or incorporate whatever custom business logic you need to).
(Quick and dirty example)
Or (depending on how you construct filtering predicates, creating a directive that converts empty strings to undefined might also work for you.
(Demo)


Prepare release<EMAIL_ADDRESS>

Should cover:

[ ] #678

[ ] #1292

[ ] #1127

[ ] #1230

[ ] #1218

[ ] #1317

Not sure if we need to add these (internal) fixes: #1156, #1238, #1242, #1222

This release will have breaking changes, so its more like a major version bump :)

#678 is also an internal thing, this has no implications for our users. We can add one point and internal house-keeping and list issues numbers for ourselves :)

[0.11.0] - 2021-05-xx
Added

Export types for all sub-components (#1127)

Fixed 🐛

Hide Tooltip when title is empty string (#1292)
Tooltip errors when used in SSR(server-side rendering) (#1230)
To big offset on focus-frame for Button (#1218)

Removed

Sub-components exposed with double-names  (#1317)


Add gitattributes file

Used by composer to ignore tests and other development files in the
distribution of a release.

How do you guarantee that paratest runs without the test directory? Besides the test directory I don't see a real benefit in excluding those files from an export. The phpunit.xml.dist might even be quite useful to be delivered.
phpunit for example only excludes the build directory (over 6MB size) but still keeps the src (~1MB) and test (~2MB) dirs and all those small files.
Can you explain a bit more please why you choose these files and how one can check that paratest still works?

How do you guarantee that paratest runs without the test directory?

Not sure what you mean. Are you saying paratest can't be used to test my project without its own tests in my vendor directory?

The phpunit.xml.dist might even be quite useful to be delivered.

How so? When I install paratest through compser, I want to use paratest, not develop paratest. For using paratest, its own phpunit.xml is of no use to me.

phpunit for example only excludes the build directory (over 6MB size) but still keeps the src (~1MB) and test (~2MB) dirs and all those small files.

Planning to tackle phpunit at some point, but it has so many dependencies I haven't finished yet.

Can you explain a bit more please why you choose these files and how one can check that paratest still works?

I chose to exclude files that are used for developing paratest and choose to keep files that are for using (running) paratest. For example, any file I download into my vendor directory should be useful to me. Otherwise it is just a waste of bandwidth and bloat. When I want to develop paratest, I should clone the repo, not install through composer.
This blog post might help: https://blog.madewithlove.be/post/gitattributes/
Does this make sense?

Not sure what you mean. Are you saying paratest can't be used to test my project without its own tests in my vendor directory?

I hope not but you actually can't be sure. I mean ... I don't know it for sure, do you?
Someone could mess up the autoloader or add some require or include anywhere and you wouldn't notice because the tests are still green but maybe some class would crash if it's getting loaded without that test file it (badly) depends on.
Maybe that's a bit too theoretical here but I've actually seen that many times in other projects. Fortunately, paratest itself is not used in production systems but to test other code so it would 'only' crash some builds but not live systems. Without that limitation I - personally - wouldn't add such a gitattributes file to a project without at least some smoke tests that check if the code basically still works after an export.
That would be an interesting chat with a boss: 'So... why did that thing crash yesterday and made us loose 100k$?' 'uh well... we just wanted to save 70kb o.O'
Just to make the position clear ^^
But anyways, thanks for the contribution :)

I hope not but you actually can't be sure. I mean ... I don't know it for sure, do you?

I was curious about this as well. Just now, I ran a test in my project where after installing paratest, I did rm -rf vendor/brianium/paratest/test then reran my tests using paratest. It worked successfully.
Thanks!


Xamarin form Community toolkit Media element Controls Not showing up in iOS 16

MediaElement: ShowsPlaybackControls="True" not showing controls in IOS, please fix!

@pjsoftcoUser we have a template that asks for a lot more information to aid understanding what the issue is and ultimately be able to reproduce it. Can you please use that template to provide the information that we require?

Xamarin forms V<IP_ADDRESS>5
IDE: VS2022
Control: xamarin.communitytoolkit.ui.views.mediaElement
Version: xamarin.communityToolkit 2.0.5
Android works just fine
IOS not showing the control panel for the video, testing on latest IOS 16.
Let me know if you need more info.

maybe this is also related:
https://developer.apple.com/forums/thread/711360

Same problem for me. Ok for Android, but no controls at all on IOS16 and Xcode 14.

@bijington, can you update this one please ?

Can confirm that the same build of an app running on iOS 15 works displaying controls, but running on iOS 16 the controls are not visible. The play/pause functionality still works if you touch right in the center of the video. Possibly the controls are just hidden even if they're active?

@stevetranby I agree with you, with a little patience you can play with the slider at the bottom of the screen. So the controls are active, but not visible.

No attention from them yet!!!

I do believe a similar issue has been observed while adding in the Media playback functionality for the MAUI Community toolkit. I suspect whatever fix is introduced there will likely make its way over to this toolkit but I don't know when that would be.
It's correct that the team doesn't have the bandwidth to cover everything in the XCT so we sadly can't fix everything and certainly not quickly. We do of course accept PRs as the C does stand for Community.

Hi @bijington, and thanks for your kind answer.
And as the C stands for Community, you will be pleased to know that if you had " Shell.PresentationMode="ModalAnimated", the controls are visible on IOS16. For what it's worth.

hi @fbcom92 Shell.PresentationMode="ModalAnimated" this not work for me
is iOS 16 issue resolved yet or no ?

@TrevorNa I don't believe it's been tackled within XCT yet.  I had a poke around the Maui repo and from the comments by @jfversluis it looks like this commit appears to address the issue for Maui:
https://github.com/CommunityToolkit/Maui/pull/667/commits/68d4004f7de1dc6b2e4a8dcc15a6a1ccb0460072
If that's all it is, the fix for XCT would probably be very similar (and pretty quick to do for someone who can compile the XCT repo?).  I have a Xamarin.Forms project, which relies on MediaElement, and I've had to write my own transport controls management because of this change months ago in iOS 16.

Create a custom renderer.
`    public class MyMediaElementRenderer : MediaElementRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs e)
{
base.OnElementChanged(e);
        if (!UIDevice.CurrentDevice.CheckSystemVersion(16, 0))
            return;

        if (e.NewElement != null)
        {
            avPlayerViewController.View.RemoveFromSuperview();

            SetNativeControl();
        }
    }

    private void SetNativeControl()
    {
        var viewController = GetCurrentUIViewController() ?? throw new NullReferenceException("ViewController can't be null.");

        _ = viewController.View ?? throw new NullReferenceException(nameof(viewController.View));

        var insets = viewController.View.SafeAreaInsets;
        avPlayerViewController.AdditionalSafeAreaInsets = new UIEdgeInsets(insets.Top * -1, insets.Left, insets.Bottom * -1, insets.Right);

        viewController.View.AddSubview(avPlayerViewController.View);

        AddSubview(avPlayerViewController.View);
    }

    private UIViewController GetCurrentUIViewController()
    {
        var window = UIApplication.SharedApplication.KeyWindow ?? UIApplication.SharedApplication.Windows?.FirstOrDefault();

        if (window == null)
            return null;

        var vc = window.RootViewController;

        while (vc.PresentedViewController != null)
        {
            vc = vc.PresentedViewController;
        }

        return vc;
    }
}`

Is this solved? Otherwise, do we have any workaround yet?

@unamed000 I didn't get a chance yet to try @AGusty's solution so I can't say for sure that this does it, although it looks like it might.  Ultimately in my project I had to reinvent the media player completely in order to make it work on iOS 16, which isn't something someone investing in an MS-backed platform should be worrying about.  I lost many billable hours because the xamarin / forms support wasn't there.  Suffice it to say that I won't be evaluating any of these things, e.g. Maui etc., for work going forward.  If a project is genuinely community-based then you take that into account, but when you have a major player supposely invested in something, including their employees on MS time promulgating it on social platforms, well, ...

This is really disappointing!

@pjsoftcoUser what is disappointing?
It doesn't appear that we have noted it here but I am sure we discussed in during a stand-up. The plan is to fix the issue as part of the work being done in the .NET MAUI Community Toolkit at: https://github.com/CommunityToolkit/Maui/pull/667 once that was proved to be in and working then the fix would be pushed across to the Xamarin Community Toolkit.

The fact that this issue is happening for almost 4 months now and the fix is still not out.

This is a toolkit built and maintained by members of the community in their own free time and we each have a limited amount of time that we can dedicate to it. None of us get paid to do this work.
That being said it is completely open to more members of the community contributing towards the project. If you or any other member that this affects would be willing to submit a fix then we would happily review it and release a new version with the fix inside.

Thanks for the explanation, i'm sure this can invite the people interested in contributing.

For the record it looks like @martijn00 just updated XamarinMediaManager with essentially the fix that was proposed last month.  So if you're using this it may be possible to incorporate it in your setup before it eventually if ever filters down to Xamarin Forms:
https://github.com/Baseflow/XamarinMediaManager/commit/1c7141e18f630044e34b9b4885eb712cf1b9f086
Bit late for my project, but am sure welcome for many so good on ya.  iOS 16 went public last September and I eventually had to recode my own media player from scratch for a client project that suddenly had no controls on the media people had paid for.  Guess it was tricky for a lot of people who bought into a cross-platform MS toolset which was partially-switched to being community based after we'd invested in using it.  There's a moral in there somewhere.

A bit counter intuitive, but I made a hack to make it work.
1: Create an empty container (let's say a stacklayout)
2: on the code behind, do
await Task.Delay(500); //this is a hack to make the controls on the video appear             MediaContainer.Children.Add(                 new MediaElement()                 {                     HeightRequest = 250,                     Source = "media_link here"                 });
3: the element should get a 500ms delay to show up but the media player now has the controls

Unfortunately, the fix for XamarinMediaManager only applies to net7 framework

That fixed the issue thanks!

Create a custom renderer.
`
public class MyMediaElementRenderer : MediaElementRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<MediaElement> e)
    {
        base.OnElementChanged(e);

        if (!UIDevice.CurrentDevice.CheckSystemVersion(16, 0))
            return;

        if (e.NewElement != null)
        {
            avPlayerViewController.View.RemoveFromSuperview();

            SetNativeControl();
        }
    }

    private void SetNativeControl()
    {
        var viewController = GetCurrentUIViewController() ?? throw new NullReferenceException("ViewController can't be null.");

        _ = viewController.View ?? throw new NullReferenceException(nameof(viewController.View));

        var insets = viewController.View.SafeAreaInsets;
        avPlayerViewController.AdditionalSafeAreaInsets = new UIEdgeInsets(insets.Top * -1, insets.Left, insets.Bottom * -1, insets.Right);

        viewController.View.AddSubview(avPlayerViewController.View);

        AddSubview(avPlayerViewController.View);
    }

    private UIViewController GetCurrentUIViewController()
    {
        var window = UIApplication.SharedApplication.KeyWindow ?? UIApplication.SharedApplication.Windows?.FirstOrDefault();
        if (window == null)
            return null;

        var viewController = window.RootViewController;

        while (viewController.PresentedViewController != null)
        {
            viewController = viewController.PresentedViewController;
        }

        return viewController;
    }
}

`

Hi @AGusty  Didn't work for me. I'm I missing something?

Unfortunately, the fix for XamarinMediaManager only applies to net7 framework

@AGusty is this the reason why?

Create a custom renderer.
`
public class MyMediaElementRenderer : MediaElementRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<MediaElement> e)
    {
        base.OnElementChanged(e);

        if (!UIDevice.CurrentDevice.CheckSystemVersion(16, 0))
            return;

        if (e.NewElement != null)
        {
            avPlayerViewController.View.RemoveFromSuperview();

            SetNativeControl();
        }
    }

    private void SetNativeControl()
    {
        var viewController = GetCurrentUIViewController() ?? throw new NullReferenceException("ViewController can't be null.");

        _ = viewController.View ?? throw new NullReferenceException(nameof(viewController.View));

        var insets = viewController.View.SafeAreaInsets;
        avPlayerViewController.AdditionalSafeAreaInsets = new UIEdgeInsets(insets.Top * -1, insets.Left, insets.Bottom * -1, insets.Right);

        viewController.View.AddSubview(avPlayerViewController.View);

        AddSubview(avPlayerViewController.View);
    }

    private UIViewController GetCurrentUIViewController()
    {
        var window = UIApplication.SharedApplication.KeyWindow ?? UIApplication.SharedApplication.Windows?.FirstOrDefault();
        if (window == null)
            return null;

        var viewController = window.RootViewController;

        while (viewController.PresentedViewController != null)
        {
            viewController = viewController.PresentedViewController;
        }

        return viewController;
    }
}

`

Awesome! For me the custom renderer works!

Create a custom renderer.
`
public class MyMediaElementRenderer : MediaElementRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<MediaElement> e)
    {
        base.OnElementChanged(e);

        if (!UIDevice.CurrentDevice.CheckSystemVersion(16, 0))
            return;

        if (e.NewElement != null)
        {
            avPlayerViewController.View.RemoveFromSuperview();

            SetNativeControl();
        }
    }

    private void SetNativeControl()
    {
        var viewController = GetCurrentUIViewController() ?? throw new NullReferenceException("ViewController can't be null.");

        _ = viewController.View ?? throw new NullReferenceException(nameof(viewController.View));

        var insets = viewController.View.SafeAreaInsets;
        avPlayerViewController.AdditionalSafeAreaInsets = new UIEdgeInsets(insets.Top * -1, insets.Left, insets.Bottom * -1, insets.Right);

        viewController.View.AddSubview(avPlayerViewController.View);

        AddSubview(avPlayerViewController.View);
    }

    private UIViewController GetCurrentUIViewController()
    {
        var window = UIApplication.SharedApplication.KeyWindow ?? UIApplication.SharedApplication.Windows?.FirstOrDefault();
        if (window == null)
            return null;

        var viewController = window.RootViewController;

        while (viewController.PresentedViewController != null)
        {
            viewController = viewController.PresentedViewController;
        }

        return viewController;
    }
}

`

Hi @AGusty Didn't work for me. I'm I missing something?

After a Xamarin iOS update, it works now.

After a Xamarin iOS update, it works now.

from the above comment did not work for me

One workaround I've found is to add the MediaElement to a container control at runtime. For instance, in my code behind, I subscribe to my view model's .PropertyChanged event, and in the handler, it listens for changes in a VideoSource property. When the video source is set, I create a new MediaElement and add it as a child to a StackLayout container. This is a bit specific to my scenario, but I think the idea is clear enough.
XAML:
<StackLayout x:Name="MediaContainer" ... >

</StackLayout>

In code behind:
        protected override void OnAppearing()
        {
            base.OnAppearing();
            if (BindingContext is INotifyPropertyChanged viewModel)
            {
                viewModel.PropertyChanged += OnViewModelPropertyChanged;
            }
            ...
        }

        private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == nameof(MyViewModel.VideoSource))
            {
                if (_myViewModel.VideoSource == null)
                {
                    MediaContainer.Children.Clear();
                    return;
                }

                // If VideoSource was set, make a new MediaElement
                var mediaElement = new MediaElement
                {
                    Source = _myViewModel.VideoSource,
                    ...
                };

                MediaContainer.Children.Add(mediaElement);
            }
        }

After a Xamarin iOS update, it works now.

from the above comment did not work for me
One workaround I've found is to add the MediaElement to a container control at runtime. For instance, in my code behind, I subscribe to my view model's .PropertyChanged event, and in the handler, it listens for changes in a VideoSource property. When the video source is set, I create a new MediaElement and add it as a child to a StackLayout container. This is a bit specific to my scenario, but I think the idea is clear enough.
XAML:
<StackLayout x:Name="MediaContainer" ... >

</StackLayout>

In code behind:
        protected override void OnAppearing()
        {
            base.OnAppearing();
            if (BindingContext is INotifyPropertyChanged viewModel)
            {
                viewModel.PropertyChanged += OnViewModelPropertyChanged;
            }
            ...
        }

        private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == nameof(MyViewModel.VideoSource))
            {
                if (_myViewModel.VideoSource == null)
                {
                    MediaContainer.Children.Clear();
                    return;
                }

                // If VideoSource was set, make a new MediaElement
                var mediaElement = new MediaElement
                {
                    Source = _myViewModel.VideoSource,
                    ...
                };

                MediaContainer.Children.Add(mediaElement);
            }
        }

I can confirm that this approach worked too by dynamically adding the MediaElement into a container in code-behind

After a Xamarin iOS update, it works now.

from the above comment did not work for me
One workaround I've found is to add the MediaElement to a container control at runtime. For instance, in my code behind, I subscribe to my view model's .PropertyChanged event, and in the handler, it listens for changes in a VideoSource property. When the video source is set, I create a new MediaElement and add it as a child to a StackLayout container. This is a bit specific to my scenario, but I think the idea is clear enough.
XAML:
<StackLayout x:Name="MediaContainer" ... >

</StackLayout>

In code behind:
        protected override void OnAppearing()
        {
            base.OnAppearing();
            if (BindingContext is INotifyPropertyChanged viewModel)
            {
                viewModel.PropertyChanged += OnViewModelPropertyChanged;
            }
            ...
        }

        private void OnViewModelPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == nameof(MyViewModel.VideoSource))
            {
                if (_myViewModel.VideoSource == null)
                {
                    MediaContainer.Children.Clear();
                    return;
                }

                // If VideoSource was set, make a new MediaElement
                var mediaElement = new MediaElement
                {
                    Source = _myViewModel.VideoSource,
                    ...
                };

                MediaContainer.Children.Add(mediaElement);
            }
        }

@kelltom thanks your workaround works


Treasurer Track Confirmation Period Duration Modification

This RFC proposes a change to the duration of the confirmation period for the treasurer track from 3 hours to at least 48 hours.

Treasurer track should have much more similar dynamics to Root, with a 7 day confirmation period and a 28 day decision period and linear/near-linear approval/support curves.

Root currently has a 1 day confirmation period, are you implying increasing that 7 days as well?

@gavofyork currently prepare_period, confirm_period and min_enactment_period are the same for tracks on Kusama as they are on Polkadot. For the decision_period there is a difference whereby a lot of tracks have a 28 day decision period on Polkadot, and a 14 day decision period on Kusama.
With regards to your comment above, would you also propose to apply those changed parameters to Kusama?
For example, would a 7 day confirmation period for the Treasurer track on Kusama be too long when the decision period is 14 days?
I really don't know the answer to this one, I just recall that previously there was a desire from the Kusama community/token holders to have OpenGov be a little bit faster than it's original implementation which caused a few decision periods to be reduced from 28 days to 14 days. I wonder if a similar sentiment will arise if the confirmation period was too long / conservative?
Definitely agree with you in regards to being a bit more conservative on Polkadot.
Thanks for clarifying RE: conviction locks, a few people in the community were wondering if increasing the locks on preexisting convicted funds was something that may happen.

@gavofyork Root currently has a 1 day confirmation period, are you implying increasing that 7 days as well?

I guess I am :)

With regards to your comment above, would you also propose to apply those changed parameters to Kusama?

Only talking about Polkadot here - basically just stick with the 28 day periods.

Definitely agree with you in regards to being a bit more conservative on Polkadot.

I think Polkadot would be fine at the current periods; let's not forget that it is the curves which are important more so than the period, which is really just a timeout.

Thanks for clarifying RE: conviction locks, a few people in the community were wondering if increasing the locks on preexisting convicted funds was something that may happen.

👍


tfjs-examples/mnist could not run correctly on compute-context

tfjs-examples/mnist could not run correctly on compute-context. It is related with that some operators could not work normally on compute-context.
These operators are as bleow,
batchMatMul, reduce, realDivide, add, subtract, exp, relu, conv2d, unpackTensor

Hi @xhcao , please revert this commit dced9250553aa6e26479a50a9c12e528d25ade4a and try again. This issue may be also caused by shared memory.

I found switching all ops used here to run on CS backend can solve this problem.


Add support for overwrite=false in file/s3 output

Use-case: writing the resource-dump JSON file just once a day (the filename rotates every day).

Merged.


Fix memory leak in pubsub publish

Expected Behavior
Application can publish multiple messages in parallel forever, without constant growth in memory consumption.
Actual Behavior
Application's memory increase grows forever.
Steps to Reproduce the Problem
This is enough to reproduce the problem:
public class Main {

    private static final int NUM_THREADS = 30;

    public static class Publisher implements Runnable {

        private final DaprClient daprClient;

        public Publisher(DaprClient daprClient) {
            this.daprClient = daprClient;
        }

        @Override
        public void run() {
            while (!Thread.currentThread().isInterrupted()) {
                this.daprClient.publishEvent("pubsub", "mytopic", "MyText");
            }
        }
    }
    public static void main(String[] args) {
        DaprClient client = new DaprClientBuilder().build();
        ExecutorService executor = Executors.newFixedThreadPool(NUM_THREADS);
        for (int i = 0; i < NUM_THREADS; i++) {
            System.out.println("Starting publisher number " + i);
            executor.execute(new Publisher(client));
        }
        executor.shutdown();
    }
}

Release Note

RELEASE NOTE:

There is no memory leak after fixing the code above from:
this.daprClient.publishEvent("pubsub", "mytopic", "MyText");
To:
this.daprClient.publishEvent("pubsub", "mytopic", "MyText").subscribe();


WIP: Fix pdf problems

I'm still working on fixing various things that were broken in the pdf version.
The make_pdf.py script now changes all the code in exact_solvers to replace from ipywidgets import interact  by  from utils.snapshot_widgets import interact.
Note that both exact_solvers and utils get copied into build_pdf and it's only the code in build_pdf/exact_solvers that gets modified.
Maybe there's a better way to set the path in all these so that import statements from utils... work properly?  I always have problems with relative imports.
Most of these are working except the one in acoustics_demos.riemann_plot_pplane so for now I put it in a try-except block.
The latex file mostly compiles although it complains about a few things I'm still tracking down.
Lots of code needs to be broken into more lines in the notebooks so that it fits on the page in the pdf.

I'm trying to fix the acoustics_demos.riemann_plot_pplane snapshots, but now I can't seem to get make_pdf.py work properly. I am getting the error: No such file or directory: 'riemann.tex', so it seems bookbook is not generating the tex file. Am I missing something?
I also noticed that it requires the python2 kernel, is this neccesary? Or can it all simply run with python3?

It should run with Python 3; I hard-coded that "python2" at one point because I was having an issue with different parts of the code calling different pythons on my machine.  I think I committed it by mistake.  The later part (where python3 is explicitly used to run bookbook) will only run with python 3.
The file riemann.tex is created by bookbook, so if you don't have it then bookbook is probably not executing properly.  I would look for an earlier error in the output.

For me it was originally failing because some notebooks had an empty cell (or latex macros cell) at the top, and bookbook requires that the first cell start with a single # Title to set the chapter title, so bookbook failed before getting to the stage of making riemann.tex.  But I think the version in my PR had these fixed.

I found the error. For some weird reason if I simply run make_pdf.py, bookbook generates an error and doesn't create riemann.tex. However, if I simply run bookbook directly from the command line, it works. I have no idea why this could be happening, but if it works for you, I'll focus my time on getting the other snapshots to work.

@maojrs Clawpack (i.e. PyClaw) runs fine in Python 3.6 -- we actually test it on that version of Python.  If you have problems running PyClaw with Python 3.6 you should raise an issue.

@ketch thanks, I'll check it. I might just need to update clawpack in my conda environment.

Fixed and sent a pull request to this branch!

I'm working on this now and noticing that the call to bookbook  takes a very long time (2 minutes or more).  I remember it being much faster previously.  Are you guys seeing the same?  Do you have any idea what changed?

If this looks ok, I suggest merging it in and building on it.  Note this incorporates the new SIAMbook2016.cls file received 29 March 2019 with wider text.
A few things that are broken, to be fixed in a new PR perhaps...

Burgers.ipynb has an interact that's not working, burgers.riemann_solution_interact()
Part II notebooks have many code lines that are too long and should be broken up.

Thanks!  I can go through Part II this week.
I added a few comments; if you prefer I can make them issues and then merge this immediately.

Thanks for going over all of these. I can check the burgers.riemann_solution_interact() and try to fix it.

I'm not sure why Burgers is not passing travis in Python 3.  Before restarting the build it died earlier in Python 3 so I'll try again later, maybe a travis issue.

I restarted the build again and it passed.  Must have been a Travis issue indeed.  I'll merge this now.


Ignore unstable tests

https://issues.jboss.org/browse/ISPN-6302
https://issues.jboss.org/browse/ISPN-5929
https://issues.jboss.org/browse/ISPN-6228
Ignored failing tests.

Pulling...

Integrated into master, thanks @slaskawi !


test(transformer): transform checker output symbol name for mismatches

#6286  👈
main

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

Join @overlookmotel and the rest of your teammates on  Graphite


Add a new source parameter "ca_cert"

This source parameter allows us to use a x509 CA certificate to use to verify the Vault server SSL certificate.

ca_cert: Optional. Use a x509 CA certificate to use to verify the Vault server SSL certificate.ca_cert: |
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----

This repository has no activity.


Dynamic Response/Mathematical Operation

Hi
Is it possible to do mathematical operations on the mock response message ? Example if consumer send a $ amount of 3.00 in request, can you subtract the same from a base value and return the response back ?
I am new to mockwire so any response is highly appreciated.

It's possible to do this by writing a response transformer extension or using one written by someone else e.g. https://github.com/adamyork/wiremock-velocity-transformer

Thanks for the response. Is there a possibility we can inject a script or property file from where we can dictate the transformation.

You'd need to write your own response transformer implementation to do this

Thanks for the response. By any chance we can use regular expression in matchesJsonPath or equalToJson to make the request values dynamic ? If yes can you sight me an example
Cheers
Sumeet

Unfortunately you can't use regexes with either of those match types.

FTR (even it's a little too late, I think), this exists.


Adding Awning And Lights

Happy New Year and many thanks for this fantastic project! I do need to polish my soldering skills though :)
I have the RTS Remote for my Awning which has 4 channels and with a push of a button you go to the next one, so basically 1 is the awning and 2 is the lights for this respective awning and 3 and 4 are for the second one. My question I tried to add lights as lights but they do not function, but when I add them as a separate awning they do but in HASS they come not as a switch to toggle but as another awning as well as on the Somfy app. Am I doing something wrong ?
Thanks in advance for your help and thanks again for the project!

You should add the light as a 2 button or 1 button toggle dry contact not as another awning.

Thank you very much for your quick reply. I tried but nothing happens, I have an on/off indication in the app but physically nothing happens.

Yes this is correct.  Picture of the remote I have.

Can you capture a log of turning on and off the light from the remote?

@vacano have you had success?  If you haven't please capture the logs by pressing the copy button on the Radio -> Logs tab and paste it here.

@vacano if you are still having issues capture a log using the remote and re-open this issue.  Paste the log results here.

Hello, I was away on a business trip and just came back home. My saga still continues and I cant manage to pair the lights as dry contact as suggested. I somehow managed to it on one of the Awings, but now the second one puts lights off and retracts the awing at the same time ?


Get rid of IAM group

IAM group is used in the blueprint to provide access to the Application service accounts to deploy to the underlying GKE platform. This is done because Application service accounts are non-deterministic and the resource that creates the app does not have access to the GKE cluster but have access to add the application SA to IAM group so they inherit GKE developer role. This should be replaced with a Cloud Function flow such that when an Application is created , it invokes a Cloud Function that grants the required access to its service accounts.

This is taken care of in https://github.com/GoogleCloudPlatform/software-delivery-blueprint/pull/5


yes

make chunk handler, i believe in you, there's documentation for it
https://wiki.vg/Chunk_Format#Data_structure

https://github.com/cuberite/cuberite/blob/master/src/Protocol/ChunkDataSerializer.cpp#L190
library good 1.14 serialization should be easy to do 1.17, you got this

still waiting >:(

no

still waiting

still waiting

a


Sourcing a session file breaks <ScriptCmd> mappings

Steps to reproduce
Prerequisites: have two files in your home directory, "provavimrc.vim" with the following contents
vim9script

set hidden

import autoload './funzioni.vim'

nnoremap gs <ScriptCmd>funzioni.FunzioneEco()<CR>

and "funzioni.vim" with the following contents:
vim9script

export def FunzioneEco()
	echom 'Sono una funzione!'
enddef

defcompile

gvim --clean -u provavimrc.vim
type "gs" in normal mode and see the string 'Sono una funzione!' echoed out
:mksession sessione.vim
:source sessione.vim
type "gs" once again

This leads to an E492, telling me that 'funzioni.FunzioneEco()' isn't an editor command. Looking at the session file, the import command is missing, and thus vim fails to properly resolve the mapping in point 5. In the manual entry for mkession, I haven't seen anything regarding import commands, although it mentions that script-local variables aren't written.
Expected behaviour
If I type "gs" after sourcing the session file, the function called by the mapping should still work as intended.
Version of Vim
9.0.1672
Environment
OS: Windows 11 22H2
Terminal: Windows Terminal
$TERM: xterm-256color
Shell: zsh 5.9
Logs and stack traces
No response

I found a workaround: instead of writing the mapping as
<ScriptCmd>funzioni.FunzioneEco()<CR>

it must be written in the 'traditional' way
<Cmd>call <SID>funzioni.FunzioneEco()<CR>

Using the latter syntax everything works as expected.


Pass containing instance in didInject block

Auto injecting wrappers Injected and InjectedWeak currently have a block that will be called when wrapped instance is injected by container. The variable that holds reference to wrapper is stored, so it is impossible to reference self when initializing this variable with initial value:
private let _service = Injected<Service> { service in
  self.service = _service //error
}
private(set) var service: Service!

It makes this block not so powerful as didSet property observer.
But we can pass an instance that holds the variable as block argument:
private let _service = Injected<Service> { (me: SomeClass, service) in
  me.service = _service //me is a reference to self
}
private(set) var service: Service!

This way users can operate on other instance variables or call instance methods easily. We can use generic argument for type of me, but we can not ensure compile time type-safety.
That will be a breaking change.

With Swift 3 generic type aliases (SE-0048) we could extend auto-injection wrappers to two generic parameters like InjectedIn<U, T> and define a type alias for auto-injection inside Resolvable (or any other) protocol like this: typealias Injected<T> = Injected<Self, T>. Then we would be able to use this type alias inside classes just by conforming to Resolvable protocol without needing to specify generic parameter. This will also insure type safety whether using InjectedIn<U, T> will be not type safe. But looks like that it is not yet possible.
We could still replace Injected<T> with InjectedIn<U, T> and let users define type-aliases manually (or not to use them at all), but that will clutter users code with unneeded definitions. So I will close this issue until there is any progress with generic type aliases.


[Bug]: SQL file output generates float for integer with postgresql

Apache Hop version?
2.9.0
Java version?
11
Operating system
macOS
What happened?
"SQL file output" generate a DOUBLE PRECISION field  in script for an integer field with Postgresql database.

Issue Priority
Priority: 2
Issue Component
Component: Transforms

This is indeed a surprising behavior. Does it change if you configure a length > 0 for the integer row?

Indeed, with a length of 3 I obtain a smallint.
But this remains a very annoying bug.

Thanks for testing. Then we have at least a work around.
The source of this bug is not in SQL file output and not postgres-specific. There is a more general problem in the getFieldDefinition() methods of the various database-specific implementations. I will open a separate bug for this.


assoc should not allow array

R.assoc(1, [], 2) doesn't give type error, but it is unsafe as it will convert array to object.

I guess you mean R.assoc(1, 2, []) //=> { "1": 2 }.
R.assoc(1, [], 2) is probably a bug, the third argument should not allow primitive type.
I think we can add an $array overload for it since it may can be used for something like R.assoc('key', 'value', [0, 1, 2]) //=> {"0": 0, "1": 1, "2": 2, "key": "value"}.
(current R.assoc prototype)
export function $extend<K extends string, V, T extends {}>(
  property: K,
  value: V,
  object: T,
): T & Record<K, V>;
export function $general<T extends {}>(
  property: Property,
  value: any,
  object: T,
): T;

cc @tycho01, any thoughts?

So assoc is essentially Overwrite.
& is technically broken in that { a: number } & { a: string } would make for { a: number & string }, which does not accurately reflect what assocdoes. This issue would become more prevalent if the structure has known properties, i.e. old value1new value2`.
Overwrite should address that -- there's a few versions including one by ahejlsberg himself (needs TS 2.5) that prevents number & string but yields an intersection type (e.g. { a: number } & { b: number }), so I stuck with a different version that should work in older TS and keeps the result together.
Its dependency Diff also has two versions depend on whether you're on TS 2.5.
Tests for it there are passing but I haven't tested it in functions yet, so who knows.


feature: Using runtimeKey for webapp vs. functions

Description
This uses the project's runtime key to determine if the provisioning should require the Azure web app or Azure function resource.
Also includes required workaround for manual tokens in non-electron for the Azure provisioning dialog flow.
Task Item
closes #6527
Screenshots
One a single item now appears for publishing to Azure

Coverage decreased (-0.02%) to 51.285% when pulling 3205c3bc46d7d18460385b041bd3558840627886 on gcox/feature6527 into e5e5020bea3add62ad979ec19570a8e057d72495 on main.


Refactor/source url qtd

Description
This pr adds support for source url response in the query response json.
It returns the response from the chatbot along with the evidence urls (Source url) it used to come up with the answer.

Related Issues

Checklist

[ ] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make test successfully?
[ ] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[ ] Was external documentation updated, if necessary?

Additional Notes or Comments

Codecov Report
Patch and project coverage have no change.

Comparison is base (8a78eb5) 79.01% compared to head (b17b9d6) 79.01%.
 Consider uploading reports for the commit 8eca56b to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #721   +/-   ##
=======================================
  Coverage   79.01%   79.01%
=======================================
  Files          79       79
  Lines        5004     5004
=======================================
  Hits         3954     3954
  Misses       1050     1050

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Is it possible to set custom timeout?

I got the following message while working with a slow local model:
Applied edit to index.html
Applied edit to style.css
Request timed out: HTTPConnectionPool(host='localhost', port=1234): Read timed out. (read timeout=600)
Retry in 0.2 seconds.
Commit fc5372c aider: diff --git a/index.js b/index.js

Is it possible to set custom values for the timeout and retry periods?

Thanks for trying aider!
Aider uses the standard openai python library, which apparently does not accept a timeout parameter.
https://github.com/openai/openai-python/issues/322

Looks like timeout is not a possible parameter:
https://github.com/openai/openai-python/issues/322#issuecomment-1767841683

I will keep an eye on this new version of the api, thanks.

Hi, I'm trying to run the aider benchmark on a custom model and hitting timeout errors, any chance I can change the timeout now somehow?

Would be great to add support for a custom timeout.

What is the error you are facing? The default of 10 minutes is a pretty long timeout.

I am also running into timeout issues with my locally hosted QwQ model. It's EXTREMELY chatty, and responses can potentially take quite a long time. Would be great if we could increase the value.

What is the problem here?

Requests are taking longer than the 10 minute default timeout?
The default timeout is actually less than 10 minutes?

Number 1. I have seen replies close to 20k tokens. At 13ish tokens/seconds that is 25ish minutes. I know it's hardly usable at those speeds, but I find it interesting to see what is possible with today's tech. Furthermore, I do plan on using those long running prompts during breaks on issues that I havent been able to solve with traditional non-COT models.
I would love for that 10 minutes to be configurable, so I can just set it at 1 hour or something ridiculous and roll with it.

Example of the issue while benchmarking:
main_model: openai/QwQ-32B-Preview-Q4_K_S
edit_format: architect
fnames: /benchmarks/2024-11-30-20-16-43--QwQ-32B-Preview-Q4_K_S-16k/poker/poker.py
Aider v0.65.2.dev82+ge4a1d6fe
Model: openai/QwQ-32B-Preview-Q4_K_S with architect edit format
Editor model: openai/Qwen2.5-Coder-32B-Instruct-Q4_K_S with whole edit format
Git repo: none
Repo-map: disabled
Added poker.py to the chat.
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 72, in map_httpcore_exceptions
    yield
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 236, in handle_request
    resp = self._pool.handle_request(req)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_sync/connection_pool.py", line 256, in handle_request
    raise exc from None
  File "/usr/local/lib/python3.10/site-packages/httpcore/_sync/connection_pool.py", line 236, in handle_request
    response = connection.handle_request(
  File "/usr/local/lib/python3.10/site-packages/httpcore/_sync/connection.py", line 103, in handle_request
    return self._connection.handle_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_sync/http11.py", line 136, in handle_request
    raise exc
  File "/usr/local/lib/python3.10/site-packages/httpcore/_sync/http11.py", line 106, in handle_request
    ) = self._receive_response_headers(**kwargs)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_sync/http11.py", line 177, in _receive_response_headers
    event = self._receive_event(timeout=timeout)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_sync/http11.py", line 217, in _receive_event
    data = self._network_stream.read(
  File "/usr/local/lib/python3.10/site-packages/httpcore/_backends/sync.py", line 126, in read
    with map_exceptions(exc_map):
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/usr/local/lib/python3.10/site-packages/httpcore/_exceptions.py", line 14, in map_exceptions
    raise to_exc(exc) from exc
httpcore.ReadTimeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 991, in _request
    response = self._client.send(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 926, in send
    response = self._send_handling_auth(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 954, in _send_handling_auth
    response = self._send_handling_redirects(
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 991, in _send_handling_redirects
    response = self._send_single_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpx/_client.py", line 1027, in _send_single_request
    response = transport.handle_request(request)
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 235, in handle_request
    with map_httpcore_exceptions():
  File "/usr/local/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/usr/local/lib/python3.10/site-packages/httpx/_transports/default.py", line 89, in map_httpcore_exceptions
    raise mapped_exc(message) from exc
httpx.ReadTimeout: timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/litellm/llms/OpenAI/openai.py", line 860, in completion
    raise e
  File "/usr/local/lib/python3.10/site-packages/litellm/llms/OpenAI/openai.py", line 796, in completion
    self.make_sync_openai_chat_completion_request(
  File "/usr/local/lib/python3.10/site-packages/litellm/llms/OpenAI/openai.py", line 657, in make_sync_openai_chat_completion_request
    raise e
  File "/usr/local/lib/python3.10/site-packages/litellm/llms/OpenAI/openai.py", line 639, in make_sync_openai_chat_completion_request
    raw_response = openai_client.chat.completions.with_raw_response.create(
  File "/usr/local/lib/python3.10/site-packages/openai/_legacy_response.py", line 356, in wrapped
    return cast(LegacyAPIResponse[R], func(*args, **kwargs))
  File "/usr/local/lib/python3.10/site-packages/openai/_utils/_utils.py", line 275, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/openai/resources/chat/completions.py", line 829, in create
    return self._post(
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 1278, in post
    return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 955, in request
    return self._request(
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 1000, in _request
    return self._retry_request(
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 1093, in _retry_request
    return self._request(
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 1000, in _request
    return self._retry_request(
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 1093, in _retry_request
    return self._request(
  File "/usr/local/lib/python3.10/site-packages/openai/_base_client.py", line 1010, in _request
    raise APITimeoutError(request=request) from err
openai.APITimeoutError: Request timed out.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/litellm/main.py", line 1605, in completion
    raise e
  File "/usr/local/lib/python3.10/site-packages/litellm/main.py", line 1578, in completion
    response = openai_chat_completions.completion(
  File "/usr/local/lib/python3.10/site-packages/litellm/llms/OpenAI/openai.py", line 870, in completion
    raise OpenAIError(
litellm.llms.OpenAI.openai.OpenAIError: Request timed out.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/aider/aider/coders/base_coder.py", line 1216, in send_message
    yield from self.send(messages, functions=self.functions)
  File "/aider/aider/coders/base_coder.py", line 1522, in send
    hash_object, completion = send_completion(
  File "/aider/aider/sendchat.py", line 51, in send_completion
    res = litellm.completion(**kwargs)
  File "/usr/local/lib/python3.10/site-packages/litellm/utils.py", line 960, in wrapper
    raise e
  File "/usr/local/lib/python3.10/site-packages/litellm/utils.py", line 849, in wrapper
    result = original_function(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/litellm/main.py", line 3059, in completion
    raise exception_type(
  File "/usr/local/lib/python3.10/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 2136, in exception_type
    raise e
  File "/usr/local/lib/python3.10/site-packages/litellm/litellm_core_utils/exception_mapping_utils.py", line 194, in exception_type
    raise Timeout(
litellm.exceptions.Timeout: litellm.Timeout: APITimeoutError - Request timed out.
error_str: Request timed out.

litellm.Timeout: APITimeoutError - Request timed out.
error_str: Request timed out.

You can try --timeout X.
The change is available in the main branch. You can get it by installing the latest version from github:
aider --install-main-branch

# or...

python -m pip install --upgrade --upgrade-strategy only-if-needed git+https://github.com/Aider-AI/aider.git

If you have a chance to try it, let me know if it works better for you.

Wow that was quick, perfect, thanks! The benchmark does not accept the --timeout flag. I am guessing I can add the .aider.conf.yml file in aider's root of the git repository inside the benchmark container, set the timeout value in that file, and then run the benchmark as usual, right?

No, the benchmark is not setup to read yml, etc.
You would need to modify the benchmark code to do:
from aider.llm import litellm
litellm._load_litellm()
litellm._lazy_module.request_timeout = X

At the top of the benchmark.py file?

At the top of the benchmark.py file?

I tried this, but the timeouts kept on happening. Is there any chance a --timeout switch can be introduced to the benchmark? The benchmark is where this feature is most useful. During normal use, tokens are streamed anyway which I reckon should prevent any timeouts from triggering. It's really the benchmark with the non-streamed responses which desperately need longer timeouts for chatty models such as QwQ

What is the error you are facing? The default of 10 minutes is a pretty long timeout.

Ahh, I might have misinterpreted the purpose of this thread. I was referring specifically to the /web feature. It times out after a few seconds when trying to scrape a webpage.

I'm going to close this issue for now, but feel free to add a comment here and I will re-open. Or feel free to file a new issue any time.


Error plotting heatmap

Hi Dr. Weber,
Thanks for the awesome package! My data file is too big to use the built-in plotHeatmap function so I tried the plotDiffHeatMap from the Catalyst package, but got this error message "plotDiffHeatmap(out_DA$d_se, out_DA$res)
Error in .check_sce(u$x, TRUE) :
is(x, "SingleCellExperiment") is not TRUE"
The same error occurs when I apply the exact example codes from your diffcyt workflow on the exact sample dataset.
Could you help me with the problem? Is it because the package got updated? Thanks so much!
Regards,
Tammy

Hi @tammyyyx in the latest CATALYST (not sure what version you have), the first argument is the original SingleCellExperiment, the second argument is rowData(out_DA$res). You can follow the updated vignette here http://bioconductor.org/packages/release/bioc/vignettes/CATALYST/inst/doc/differential.html#plotdiffheatmap-heatmap-of-differential-testing-results

Hi @tammyyyx , yes I believe we made some updates that may have affected this.
Are you using the latest versions of diffcyt and CATALYST from Bioconductor? (Bioconductor 3.11, diffcyt 1.8.8, CATALYST 1.12.2). If not, I recommend updating to the latest versions.

Hi Dr. Weber and Stephany,
I did update all packages but still got the same error message and hence the confusion. This happens with the example code and data from the diffcyt workflow.
Thanks for your time!
Tammy

Hi @lmweber,
I did update all packages but still got the same error message and hence the confusion. This happens with the example code and data from the diffcyt workflow.
Thanks for your time!
Tammy


Kestrel isn’t calling context.RequestAborted

Currently Kestrel isn't calling callbacks registered via context.RequestAborted.Register(...). This hurts us as it means we can't cleanup out SSE connections when the client aborts/closes the connection.

Yes, kestrel needs to implement IHttpRequestLifetimeFeature

This was a dup of #30


Time become incorrect when enable bluetooth of  board nucleo_wba52cg.

Is your feature request related to a problem? Please describe.
I use board nucleo_wba52cg, When I call bt_enable(),  then all k_msleep() become not correct.
for example: k_msleep(2000), it was supposed to delay for 2 seconds, but in fact it delayed for 12 seconds.
Describe the solution you'd like
After enabling bluetooth on board nucleo_wba52cg, k_msleep can be accurate and systick can also be accurate.
Describe alternatives you've considered
Additional context

@erwango any ideas?

Dear @2024markLuo,
Just for info I have made a test with nucleo_wba55cg board and peripheral_hr.
I have used a GPIO to test a k_sleep behavior and it was as expected.
Here a snippet of while loop:
	while (1) {
		k_sleep(K_SECONDS(1));
		gpio_pin_configure_dt(&tp1, GPIO_OUTPUT_ACTIVE);
		/* Heartrate measurements simulation */
		hrs_notify();
		/* Battery level simulation */
		bas_notify();
		gpio_pin_set_dt(&tp1, 0);
		gpio_pin_configure_dt(&tp1, GPIO_DISCONNECTED);
	}

Right now I haven't in my hands any nucleo_wba52cg to do the same test.
Maybe a mismatch between nucleo_wba52cg and nucleo_wba55cg clock configuration?
Thanks,
Alex

@2024markLuo Did you try to use clock configuration from nucleo_wba55 to nucleo_wba52?
Note that currently BLE support on nucleo_wba52 is not enabled in tree, so this is not technically a "bug".

Note that currently BLE support on nucleo_wba52 is not enabled in tree, so this is not technically a "bug".
Moving to discussion.


Viewport texture ignored in 3D material outside of Editor

Godot version:
3.1.1 stable
OS/device including version:
Linux/Web
Issue description:
ShaderMaterial with ViewportTexture, do not have this texture outside of editor
if this ShaderMaterial set in Mesh->Material
Steps to reproduce:
Create Viewport with Sprite, create Plane, make ShaderMaterial with Viewport texture, set it as material in Mesh->Material, save this Material
duplicate Plane, in second Plane set saved Material in Material or Geometry->Material Override
both Planes will display Viewport texture in Editor
Launch project, one of Plane will be black(no texture).
(on screenshot 3 planes, one for each material option)

Minimal reproduction project:
https://danilw.github.io/godot-utils-and-other/bug_viewport/BUG_viewport_material.zip

All resources using the ViewportTexture need to be set to "Local to Scene" Your first plane is not set to local to scene so the texture doesn't appear, but in your other one you did set "Local to Scene" so it did appear.

but it work in Editor...so
it little confused me, sorry if it not bug

iirc ViewportTextures will print a configuration warning in this scenario.

Ah, actually this is a duplicate of https://github.com/godotengine/godot/issues/19247
Closing in favour of that.
@TheDuriel It prints a warning when the ViewportTexture is not set local to scene, but it doesn't print a warning when the mesh is not set local to scene. But it needs both.


Improves user control of PointInCell query

Summary

This PR is a feature
It exposes some additional parameters to control the initial guess and solver projection strategy for the per-element InverseTransformation within quest's PointInCell query
It also exposes those parameters in the point_in_cell_benchmark example, and refactors that example
Resolves #1038
Minor: It also fixes some warnings in Release builds

TODO

[ ] Add table showing improvements on user-provided mesh from #1038

Note: MFEM's InverseTransformation has several parameters, and this PR exposes a few of them.
If necessary/desired, we can expose others, e.g. the max number of iterations, and various tolerances.
   // Parameters of the inversion algorithms:
   const IntegrationPoint *ip0;
   int init_guess_type; // algorithm to use
   int qpts_type; // Quadrature1D type for the initial guess type
   int rel_qpts_order; // num_1D_qpts = max(trans_order+rel_qpts_order,0)+1
   int solver_type; // solution strategy to use
   int max_iter; // max. number of Newton iterations
   double ref_tol; // reference space tolerance
   double phys_rtol; // physical space tolerance (relative)
   double ip_tol; // tolerance for checking if a point is inside the ref. elem.
   int print_level;

See: https://github.com/mfem/mfem/blob/ea5c4664864cb84c0a453f527d6befec05a8b8a9/fem/eltrans.hpp#L233-L243


Separate Pico dependent code.

Split Pico dependencies to facilitate porting to other platforms.
Don't overdo it.

Dependency codes were organized by 387fd2b  and 15fa5bf .


E117: Unknown Function: racer#GoToDefinition

I have installed racer and that seems to work i.e. "racer complete std::process"
When I try and use vim-racer I get the unknown function error above.
Any pointers on how to fix this, first time i've used racer and vim-racer, so probably some install step i've missed.  The only thing I did to install vim-racer was this
"cp ftplugin/rust_racer.vim ~/.vim/plugin/"
Thanks,
Nick

I had forgotton to load racer, after this all is good
cp autoload/racer.vim ~/.vim/autoload/


Environments are not cached when using server keys

Hello!
When retrieving flags, two steps are happening. First, environment is retrieved and verified against the API key. Then, flags are retrieved and returned.
Both steps are now cached in LocMem in Flagship, but whereas with CACHE_FLAGS_SECONDS set to a non-zero value flags are cached properly, caching environment data doesn't always work. It does, when authenticating using main environment API key. It doesn't when authenticating using server keys instead.
With heavy load, the underlying database is then hit hard, even though the environment retrieval is a relatively cheap query.
I pinpointed this to environments/models.py:112,
    @classmethod
    def get_from_cache(cls, api_key):
            (...)
            environment = environment_cache.get(api_key)
            if not environment:
                (...)
                environment = (
                    (...)
                    .filter(Q(api_key=api_key) | Q(api_keys__key=api_key))
                    (...)
                )
                environment_cache.set(environment.api_key, environment, timeout=60)

Cache is checked against api_key supplied to the method, and if not found, retrieved based on api_key or api_keys collection that includes server keys. However, cache is set with the main key only.
Is this an intentional behaviour I misunderstand or missed in the documentation? Or maybe the intention is for:
- environment_cache.set(environment.api_key, environment, timeout=60)
+ environment_cache.set(api_key, environment, timeout=60)

to cache all properly validated environments for a while?
Thanks!

Hi @maticomp,
Thanks for the very detailed issue report - really appreciate it.
Your suggestion looks like what I would go with for sure. Do you want to submit a PR yourself? Otherwise, I can go ahead and do it.
Thanks,
Matt

@matthewelwell I'll be happy to do so next week. If that's too late, feel free to go ahead!

Thanks @maticomp. I'll see how my day today goes and keep you posted here.


Scaffolder actions

https://app.shortcut.com/larder/story/22851/scaffolder-actions-comprehensive-resource

Need to add whether each one is available in Roadie


Now pass pool_size to the underlayed aiomcache

We needed to tweak this on our side. cause the default for aiomcache.client is 2, and it is really light in a context of high polling a memcache.

Codecov Report

Merging #189 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #189   +/-   ##
=======================================
  Coverage   99.55%   99.55%
=======================================
  Files          12       12
  Lines         672      672
  Branches       80       80
=======================================
  Hits          669      669
  Misses          3        3

Impacted Files
Coverage Δ

aiocache/backends/memcached.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d12aa7b...5ea38be. Read the comment docs.

Thanks for your contribution!


fix: Remove google-internal path from file_subject_test

This was just a path that was missed when initially exporting it. The test should have been using the {package} value to determine the proper path instead.
Fixes #7

Hm, I was expecting copybara to come along and try to import this after adding the ready-for-pull label, but it never did. Probably because it isn't approved.
@comius can you approve to see if it does so? Just trying to give the end-to-end flow a test.


Custom error evaluation docs tests

Picks up from @iamandrewluca's #171 and:

rebases from + targets next branch
adds tests
adds docs
adds error handling around ok function

Coverage decreased (-0.5%) to 99.485% when pulling a91cd70d2d59629d5b561c71769cf9ec82bdd276 on custom-error-evaluation-docs-tests into a0460d22f41be3ff9ced919b14241a95242e6e4a on next.


(B1) added node sercan

resolves #29

Node ID: f78030435465b50f
Name Node: madilog
Full logs will be submitted

Node ID: f78030435465b50f
Node Name: madilog

Full logs have been attached for 1 month execution.

confirmed:B1
node:70dcd63ff8dffcac

Form Submitted UTC +3 28/04/2022 12:14 PM


recursive read-only (RRO) mount: support the Docker v25 form

https://github.com/containerd/nerdctl/blob/4299debf881b375226fdf2fbb2a1f818f1d456f1/README.md?plain=1#L211-L215
ref:

https://github.com/docker/cli/pull/4316
https://github.com/docker/cli/pull/4606

Depends on:

https://github.com/containerd/nerdctl/issues/1390

Hope I didn't make life hard on you, removing the boolean format ❤  (I was looking at it again, and thought "now" is the moment to still change it; and it's easier to add back later, than to ship it and remove later).


docs: fix @param in CodeIgniter

Description
See #6310
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

I have a question. Should the cachePage() method return any result?
I mean that the result of the cachePage() method is not used anywhere and is not tested in any way.
Maybe it makes sense not to return anything at all?

Despite if this is used or tested. I would like to know the result of the operation to determine whether it was successful or not. Some use cases may not care, but some may. It doesn't hurt to have an option.

CacheInterface::save() returns bool. So it seems better to return the result.


Recepient Name in Cc

How can add recepient name in cc header?  I can add only email now.

Hi, I don't remember why in the day I implemented mail.Address only for the From field. To add the name you can use the format:
Name Lastname<EMAIL_ADDRESS>Name Lastname<EMAIL_ADDRESS>...

thank you, it's work

can I do pull request for create that cc header like from header (mail.Address)  ?)

sure, but it shouldn't break existing code. Maybe a method that adds to the
existing string array by receiving a mail.Address?
On Thu, Nov 15, 2018 at 7:03 PM daniil-kzn<EMAIL_ADDRESS>wrote:

can I do pull request for create that cc header like from header
(mail.Address) ?)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/scorredoira/email/issues/27#issuecomment-439134787,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABkXdS62T6PLO_4IeL4Ef_R8F4fq9s5Aks5uvaxVgaJpZM4YfH5t
.

I have done that methods but I have error during push to some branch - Permission to scorredoira/email.git denied to daniil-kzn.
Could you please to give me access?