Nginx Stalls between RTMP Streams

Hey NGINX folks,
I'm experiencing some troubles using NGINX as a RTMP media server. I wish to present a continuous video as a live stream (with up to 60 second latency). However, due to some hardware constraints, I am unable to stream directly from the device. Instead, I can save out X amount of seconds from the device's buffer as an MP4. My solution has been to save X seconds of video from the device then stream that X seconds, rise and repeat. This has been working mostly well, except for stalls (~20 seconds) in the stream between calls.
I have searched far and wide for a solution to this however most of the people experiencing this problem have the collection of videos before starting the stream and can simply concatenate them.
My running theory is that when a stream finishes, it does an unpublish event in NGINX followed by a timeout period. This prevents the NGINX server from receiving the next publish until the timeout period has expired. I have tried adjusting nginx.config values related to timeouts, respawns, restarts, and publish, but to no avail.
Pseudocode:
while true
-> capture X seconds of video to "output.mp4" (this takes less than 300ms)
-> stream the MP4 with FFMPEG (takes ~X seconds using -re)
FFMPEG call:
ffmpeg -re -i "output.mp4" -vcodec libx264 -preset veryfast -maxrate 2000k -bufsize 4000k -g 60 -acodec libmp3lame -b:a 128k -ac 2 -ar 44100 -f flv rtmp:/MYSERVER/live/output
I am using JWPlayer client side to watch the video stream, however I experience similar issues using VLC.
I have been trying to figure this out for a few days and I would appreciate any insight an expert to video streaming and NGINX can give. Thank you!

second and subsequent publish events in same stream works correctly. Can you read from your device using pipes ?

unfortunately not to my knowledge.
Could you elaborate more regarding subsequent publish events working correctly? If I were to stream from ffmpeg to a given rtmp key, then follow that stream with another, I should notice the stream continue with minimal breakage between the two videos?
Can you recommend any nginx settings that may affect the period of time between when a stream ends and when it can receive frames from a new stream?
Thanks!

in general, you can try the simple experiment in your environment: run streaming from fmle or ffmpeg, connect to server using vlc as rtmp client and measure  time intervals between restreams and that it shows in vlc

I had tried this previously and here are the results I noted:
Connecting to the rtmp server with VLC, I occasionally get the following error: "VLC does not support the audio or video format undf. Unfortunately there is no way for you to fix this." However if I keep trying eventually I can connect.
I notice that VLC stalls in a different fashion than JWPlayer. The stream will play for X amount of seconds until shortly after the ffmpeg call finishes, then the stream will freeze indefinitely even while subsequent ffmpegs run. It seems to be having difficulty handling the recommencement of streaming after the initial publish finishes.

Another thing that may be worth mentioning:
when ffmpeg finishes streaming I receive the following message:
"flv Failed to update header with correct duration."
Additionally, it appears the VLC is receiving some data but the image is still not updating. Here are the statistics:

I'm unaware from the VLC standpoint, but I know there are timeout directives that can be adjusted that may do the trick @ https://github.com/arut/nginx-rtmp-module/wiki/Directives#timeout

In fact, this may be what you're looking for -- https://github.com/arut/nginx-rtmp-module/wiki/Directives#drop_idle_publisher
Maybe set this to something high so it expects idle for X time.

Unfortunately I have tried a combination of different options with drop_idle_publishers and timeout directives without any luck. Thanks for the suggestions!

Hi churchmf, were you able to solve your continous streaming issue?

Unfortunately not, and I have since moved on to other projects. Thank you for your support

Have you tried ffmpeg concat muxer to stream to server? It is supposed to stream one video after another.  If it is not of interest to you now, forget it.


fix(iteration): Pointless waiting before a known timeout

Every time a timeout occurs, there is one second consumed for nothing.
Illustration
$ sed <wait-for 's/nc -/echo Attempt!;&/;s/sleep /echo Wait...;&/' | sh -s -- -t 3 intended.to.be.invalid:80
Attempt!
Wait...
Attempt!
Wait...
Attempt!
Wait...
Operation timed out

Since there is no attempt made after the third waiting, the outcome of such 3-seconds execution depends entirely on the first three attempts. And a known failure is always projected to one second later into the future, despite the insignificance of further waiting.
With 23bbf6d, there will be a fourth attempt:
$ sed <wait-for 's/nc -/echo Attempt!;&/;s/sleep /echo Wait...;&/' | sh -s -- -t 3 intended.to.be.invalid:80
Attempt!
Wait...
Attempt!
Wait...
Attempt!
Wait...
Attempt!
Operation timed out

It is more natural to use TIMEOUT + 1 as the maximum number of attempts.
Other changes
22d68b4 - feat(option): Restrict the timeout input to non-negative integers
$ ./wait-for -t -1 google.com:80 2>&1 | head -n1
Error: invalid timeout '-1'
$ ./wait-for -t -- google.com:80 2>&1 | head -n1
Error: invalid timeout '--'

526918b - feat(option): Support more conventional formats in the option parser
$ time ./wait-for -qt3 intended.to.be.invalid:80
Operation timed out
Command exited with non-zero status 1
real    0m 3.03s
user    0m 0.00s
sys     0m 0.01s

This is what I created this PR for in the first place.
9964904 - fix(command): Restore environment variables before calling exec
$ PORT=3000 ./wait-for -t0 google.com:80 -- sh -c 'echo "$PORT"'
3000
$ ./wait-for -t0 google.com:80 -- sh -uc 'echo "$PORT"'
sh: PORT: parameter not set

By using positional parameters, we avoid transferring the problem endlessly to other variables:
set -- "$@" -- "$TIMEOUT" "$QUIET" "$HOST" "$PORT" "$result"

@Addono Could you please help with reviewing this?

@Addono Could you please help with reviewing this?

Hey! Thanks for the well documented and clean PR!
Looks good and nearly ready to be merged in.

We could add some tests, e.g. I quickly drew up these, but if more test cases come to mind / you feel these can be improved them I'm all ears.

@test "support condensed option style" {
  run ./wait-for -qt1 google.com:80 -- echo 'success'

  [ "$output" = "success" ]
}

@test "timeout cannot be negative" {
  run ./wait-for -t -1 google.com:80 -- echo 'success'

  [ "$status" -ne 0 ]
  [ "$output" != "success" ]
}

@test "timeout cannot be empty" {
  run ./wait-for -t -- google.com:80 -- echo 'success'

  [ "$status" -ne 0 ]
  [ "$output" != "success" ]
}

I'm a bit hesitant with merging in 9964904b5f04538671b064848ad98c675c766ca1, your change completely makes sense and there are already several PRs addressing this issue (e.g #4 and #13).

However, after having this script in the wild for many years, I'm sure there's someone who depends on this undocumented behavior 😦 . So there's this trade off ⚖  between maintaining backwards compatibility and fixing bugs.
So I just added support for creating GitHub releases on master, so I was thinking about splitting this PR and first merging all commits in except 9964904b5f04538671b064848ad98c675c766ca1. This will trigger a new release which will then be the last version with the old behavior.
Then a new PR with 9964904b5f04538671b064848ad98c675c766ca1 can be made which will trigger a new major release with this new behavior. We're still not completely out of the woods, since I expect that many places will just pull in the latest version of the script from master, rather than a specific commit hash, but at least we would now have a release history which explains what changed between versions.
When you create the PR for 9964904b5f04538671b064848ad98c675c766ca1, could you then have a commit message something like this:
fix(command): Restore environment variables before calling `exec`

Previously, the command would overwrite the HOST and PORT variables based on the hostname and port of the service which we would check for being available. This chance prevents these variables from being overwritten, which allows you to set them outside the command.

BREAKING CHANGE: HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.

(I'm mostly interested in the BREAKING CHANGE part, since it will cause the major bump we need for this commit.)

Hey! Thanks for the well documented and clean PR!
Looks good and nearly ready to be merged in.

We could add some tests, e.g. I quickly drew up these, but if more test cases come to mind / you feel these can be improved them I'm all ears.

@test "support condensed option style" {
  run ./wait-for -qt1 google.com:80 -- echo 'success'

  [ "$output" = "success" ]
}

@test "timeout cannot be negative" {
  run ./wait-for -t -1 google.com:80 -- echo 'success'

  [ "$status" -ne 0 ]
  [ "$output" != "success" ]
}

@test "timeout cannot be empty" {
  run ./wait-for -t -- google.com:80 -- echo 'success'

  [ "$status" -ne 0 ]
  [ "$output" != "success" ]
}

I'm a bit hesitant with merging in 9964904b5f04538671b064848ad98c675c766ca1, your change completely makes sense and there are already several PRs addressing this issue (e.g #4 and #13).

However, after having this script in the wild for many years, I'm sure there's someone who depends on this undocumented behavior 😦 . So there's this trade off ⚖  between maintaining backwards compatibility and fixing bugs.
So I just added support for creating GitHub releases on master, so I was thinking about splitting this PR and first merging all commits in except 9964904b5f04538671b064848ad98c675c766ca1. This will trigger a new release which will then be the last version with the old behavior.
Then a new PR with 9964904b5f04538671b064848ad98c675c766ca1 can be made which will trigger a new major release with this new behavior. We're still not completely out of the woods, since I expect that many places will just pull in the latest version of the script from master, rather than a specific commit hash, but at least we would now have a release history which explains what changed between versions.
When you create the PR for 9964904b5f04538671b064848ad98c675c766ca1, could you then have a commit message something like this:
fix(command): Restore environment variables before calling `exec`

Previously, the command would overwrite the HOST and PORT variables based on the hostname and port of the service which we would check for being available. This chance prevents these variables from being overwritten, which allows you to set them outside the command.

BREAKING CHANGE: HOST, PORT and other internally used environment variables are not overwritten anymore. If you use these, then you need to manually supply them.

(I'm mostly interested in the BREAKING CHANGE part, since it will cause the major bump we need for this commit.)

@Addono I will create another pull request for 9964904 and have excluded it from this PR. Test cases from your suggestion are included as well. Please take a look.

Thanks for your outstandingly well-documented PR! 🚀


Add support for dereferencing types using a subtype of dereferencables

This enables polymorhisms in Dereferencable. So differences of the internal structures between PHP versions can be represented as separate subtypes if needed.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

2 of 3 (66.67%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 79.599%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/Lib/Process/Pointer/RemoteProcessDereferencer.php
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
1904

Relevant Lines:
2392

💛  - Coveralls


It would be nice if Bevy had a commands.entity_option() that returned a Option<EntityCommands<'w, 's, 'a>>

What problem does this solve or what need does it fill?
Sometimes commands.entity(entity_id) panics because the entity is already unspawned.
What solution would you like?
commands.entity_option(...) that returns a Option<EntityCommands<'w, 's, 'a>> ... this would be a workaround for commands.entity(...) that can panic.
What alternative(s) have you considered?
panic::catch_unwind doesn't work.
Additional context
Getting the world with exclusive_system to use get_entity doesn't work in my case.

This is an interesting idea. It's closely related to #2004, but not a duplicate.
I'd probably lean towards commands.maybe_entity(entity) myself.

This is error handling for the easy case where the given entity doesn't actually exist.
Fwiw, I think try_entity is the terminology I'd propose.
That would just be:
pub fn try_entity(&mut self, entity: Entity)->Option<EntityCommands> {
self.entities.contains(entity).then(|| self.entity(entity))
}

Closing this out in favor of #3845, as discussed in #3840.


secure method of SecureSocket uses private methods of Socket

Dart SDK Version 2.18.1
Windows
Issue related to dart core library "dart:io"

This might be a skill issue but I believe what using private methods outside of their class is forbidden.
Code:
// main.dart:main
// Create HttpClient object
final client = HttpClient()

// Assign connection factory
..connectionFactory =
      (uri, proxyHost, proxyPort) async {
        // Returns instance of SocksSocket which implements Socket
        final client = SocksTCPClient.connect(
          [ProxySettings(InternetAddress.loopbackIPv4, 1080)],
          InternetAddress(uri.host, type: InternetAddressType.unix),
          uri.port,
        );

        // Secure connection after establishing Socks connection
        if(uri.scheme == 'https')
          await SecureSocket.secure(await client, host: uri.host); // <-- Error here

        // SocketConnectionTask implements ConnectionTask<Socket>
        return SocketConnectionTask(client);
  };

// GET request
final request = await client.getUrl(Uri.parse('https://example.com/'));
final response = await request.close();
// Print response
print(await utf8.decodeStream(response));
// Close client
client.close();

Error message:
Unhandled exception:
NoSuchMethodError: Class 'SocksSocket' has no instance method '_detachRaw'.
Receiver: Instance of 'SocksSocket'
Tried calling: _detachRaw()
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:38:5)
#1      SecureSocket.secure (dart:io/secure_socket.dart:147:45)
#2      main.<anonymous closure> example\client\main.dart:22
<asynchronous suspension>
#3      _ConnectionTarget.connect.<anonymous closure> (dart:_http/http_impl.dart:2456:32)
<asynchronous suspension>

SocksClient and SocketConnectionTask class:
class SocketConnectionTask implements ConnectionTask<Socket> {
  SocketConnectionTask(this.socket);
  @override
  final Future<Socket> socket;

  @override
  void cancel() => socket.ignore();
}

class SocksSocket with StreamMixin<Uint8List>, SocketMixin, ByteReader {
  /// Internal constructor
  @protected
  SocksSocket.protected(this.socket, this.type);

  final SocksConnectionType type;

  @override
  final Socket socket;

  /// Multi-subscription socket stream.
  Stream<Uint8List>? _broadcast;

  @override
  Stream<Uint8List> get stream => _broadcast ??= socket.asBroadcastStream();

  // ...
}

/cc @brianquinlan

This pattern is very common in the SDK but it is confusing and we should at least document when we need an exact instance type or any subclass will work.


Add documentation for AccountPlugin

I'm planning on adding more documentation to other classes, such that CTRL+Q displays useful information in IntelliJ. Please review my style and give comments on where I should have done things differently to prevent me from wasting my time :)

Thanks for this.


Fix param documentation

param doesn't infer its return type, it always returns a string.
Document it accordingly.

Thanks!


[FEATURE] Expose state without overwriting existing css classes

Is your feature request related to a problem? Please describe.
I would like to expose the state of an entity to svg/css without interfering with existing css classes.
Describe the solution you'd like
To avoid having to deal with removing, replacing etc css classes, I think it would be easiest to use data attributes.
Example yaml:
      state_action:
        - action: call-service
          service: floorplan.attr_set
          service_data:
            state: ${entity.state}
            foo: bar

Result would be:
<tag data-state="$state" data-foo="bar">

Describe alternatives you've considered
Using class_set:
      state_action:
        - action: call-service
          service: floorplan.class_set
          service_data:
            class: ha-state-${entity.state}

The issue with this solution is that it overwrites all existing css classes - and I already have css classes in my svg.
Another possibility would be to have a new class function that remembers which css classes were in the original svg and doesn't touch those:
      state_action:
        - action: call-service
          service: floorplan.class_set
          service_data:
            class: ha-state-${entity.state}
            keep_original_classes: true

This should remove classes which were added by ha-floorplan but keep the classes from the initial svg file.

Just to educate me as I am not a CSS guru by any stretch. Where you say The issue with this solution is that it overwrites all existing css classes do you mean just for the entity/element you are targetting? If so I am not sure why this is an issue.

@OzGav yes, I mean for the element i am targeting.
For example:
<g id="light.test" class="class1 class2">

now i want to have the state as well, e.g.:

```
i wouldn't know how to do this currently

Hi,
Is the attribute the best way? Have you considered the use of global CSS variables?
It would be nice to have a real use-case.
With that said, I totally see why the attr-thing could be useful, for sure... It's so much more logical, than changing styles (for simple things, like the state)...
Maybe even on a more global level, for all elements... 🤔

Did you find a bit of time to think about my input?

hi @exetico - i would really love the attr thing. I didn't had much time to invest into home automatisations so I also never looked into the code if I would be able to fix it myself. I am backend developer and would not say "i am well known in JS/TS" :sweat_smile: but I get around .. but really no idea when :see_no_evil:

You're more than welcome to give it a try. It things break, you at least learne a bit in the process :smile: !

Checkout https://github.com/ExperienceLovelace/ha-floorplan/releases/tag/1.0.33, I think that fits your needs 😄 !


[DO NOT MERGE] Aggregation variables first draft

See issue #XXX for discussion of these changes.
Release checklist

[ ] Authors updated in cf-conventions.adoc?
[ ] Next version in cf-conventions.adoc up to date? Versioning inspired by SemVer.
[ ] history.adoc up to date?
[ ] Conformance document up-to-date?

For maintainers
After the merge remember to delete the source branch.
Tags are set at the conclusion of the annual meeting; until then master always is a draft for the next version.

Updated for comment from @JonathanGregory - for which thanks: https://github.com/davidhassell/cf-conventions/pull/9/commits/e53b40018aa83640327d5638af8165373b4b46f6

Thanks, @dwest77a, I'll take the second one :) 5efc8f9c65e65bdcc74876e1791e5008d8f242e0


[SourceKit] Return the original location for decls within generated code

Pass back the original location (ie. where the macro was expanded, not the location that the generated code would be inserted) for cursor info and indexing. Also mark any declarations/references within generated source as implicit.
Resolves rdar://107209132.

@swift-ci please test Linux platform


chore: release 0.8.0

:robot: I have created a release *beep* *boop*
0.8.0 (2021-04-12)
⚠ BREAKING CHANGES

verify to assert (#255)

Code Refactoring

verify to assert (#255) (725292b)

This PR was generated with Release Please. See documentation.

To include into release:

As part of our internal code improvements we have renamed all verify* functions into assert*. This mainly impacts BeeJS.Utils.Bytes namespace where for example verifyBytes was renamed to assertBytes. As part of this change also the order of parameters was changed. If you use TypeScript you the changes should be caught by our typings, if you are using JavaScript please verify you are not using these functions or refactor your code appropriately.

Should remove the LastCashoutActionResponse form changelog

:robot: Release is at https://github.com/ethersphere/bee-js/releases/tag/v0.8.0 :sunflower:


update header for branding

[ ] The header should have a dark background-color #1a1a1a
[ ] The username is not shown, only the user image (the user image will still open the drop down user apps menu.)
[ ] The user image has a 20px(?) right padding rather than the 100px plus gutter space it has now
[ ] The logo has 20px(?) left padding rather than the 100px plus gutter it has now
[ ] The logo itself is how tall?
[ ] The header including padding is how tall?

It looks like the top and bottom padding are a bit tighter than we currently have. I thought we had a style guide on this floating around somewhere but I can't find it. @farski?

Would it be better if our logo and user image were aligned with the content rather than pushed to the edges in all cases?  On corporate, the logo is left aligned to the content. That content doesn't have aa much of a definite right line, so it makes sense to push to the edge. On Publish, the content the header was designed for, the logo and user image are left and right aligned to the content. On Metrics, we're just using the style guide header that was designed for content in publish with a lot more left right padding, so they are not aligned to anything. (I am also assuming that we are only dropping the gutters for Metrics, so that's another thing to consider with logo and user image placement aligned to content.)

That work I was doing in Sketch was just for mockup purposes, so definitely not pixel-perfect. That spacing recommendation in the PRX style guide probably is more room than we need in the header, though. I haven't had a chance to think too much about how this style would work/differ for various apps.


Added logic for contact form

What kind of change does this PR introduce?

Does this PR introduce a breaking change?

What needs to be documented once your changes are merged?

👷 Deploy Preview for quiet-pie-34a01b processing.

Name
Link

🔨 Latest commit
383da01347e1ad95ea940aa75faccdf01b2465e0

🔍 Latest deploy log
https://app.netlify.com/sites/quiet-pie-34a01b/deploys/65da144ab9644d00088daae1


Gesture Handling Cooperative

I want to see if there's an option to set the gestureHandling option. I have an issue where I need to use two fingers to scroll over the map and single finger for scroll over the screen.
If someone already was able to use two finger scrolling on this, please let me know how to make it work.
Regards

Is this plugin still being supported?

There is no option available within this library or within the google maps sdks for ios or for android that would enable two finger scrolling (there is two finger rotation).
You could possibly disable map scrolling/panning altogether, and  programatically scroll/pan on your own two finger gesture recognizer
https://developers.google.com/android/reference/com/google/android/gms/maps/UiSettings
https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_u_i_settings


Expose detail revert message in event

Motivation
See the screenshot below, otherwise use the RPC pre-call before sending the transaction to the chain. This event is very useful  to check  the result of the transaction execution after sending, but it's hard to see the concrete revert info from this event. As more and more chains integrate with XCM, the evm transaction may come from this way instead of the RPC node. I

Suggested Solution
I think we can refine the current Executed event by adding another field extra_info: Vec<u8> or extra_info: [u8; max_len] to provide more execution information to the contract users. We can reuse the second param returned by the execute(...) to retrieve the revert detail data, and pass it to the extro_info field in the event.
fn apply_validated_transaction(
	source: H160,
	transaction: Transaction,
) -> DispatchResultWithPostInfo {
	let (to, _, info) = Self::execute(source, &transaction, None)?;
	...
}

@sorpaas @nanocryk @tgmichel @koushiro  What do you think?

While I see some benefits to it, I also think that most of the Ethereum developers are used to have their tools (or simply to query) for the transaction error details. The ones we are familiar with are not using polkadotJs (or the substrate API) at all


ERROR: Maybe your WiFi adapter does not fully support virtual interfaces.        Try again with --no-virt.

When I use it, it tell me "Config dir: /tmp/create_ap.wlp3s0.conf.zQcS0CMi
PID: 26407
Network Manager found, set ap4 as unmanaged device... DONE
wlp3s0 is already associated with channel 6 (2437 MHz), fallback to channel 6
Creating a virtual WiFi interface... ap4 created.
RTNETLINK answers: Device or resource busy
ERROR: Maybe your WiFi adapter does not fully support virtual interfaces.
Try again with --no-virt.
"
How can i sovle it?

I have worked by restarting my notebook.

Hello, can you help me please?
 DONE
Sharing Internet using method: nat
Setting / usr / sbin / dnsmasq to complain mode.
ERROR: Path does not start with / or variable: libvirt_leaseshelper
dnsmasq: can not read /tmp/create_ap.wlan0.conf.iexI9oPM/dnsmasq.conf: Permission denied
Doing cleanup .. done
I am using opensuse leap 15


Something wrong about ROIAlign source code

Useless codes here:
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L101-L105

The sampling points are not equally spaced：
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L110
Is it right to represent the y as
roi_start_h + ph * bin_size_h +       (scalar_t)(iy + 1) * bin_size_h / (scalar_t)(sample_num_h+1)

BTW , I can't figure out  the function here :
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L133
such as AT_DISPATCH_FLOATING_TYPES_AND_HALF , features.type() , features.data ,especially the first one ,any relative information for that ?
Thanks !!!  :p

Another question:
Why '+1' here? It seems not necessary for this op.
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L82-L83

The 4th questions:
Is it better to constrain the input to be positive coordinates  instead of just >-1?
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L21

Useless codes here:
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L101-L105

The sampling points are not equally spaced：
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L110
Is it right to represent the y as
roi_start_h + ph * bin_size_h + (scalar_t)(iy + 1) * bin_size_h / (scalar_t)(sample_num_h+1)

Yes these lines are unused.
If sample_num is 2, then we want the point at 0.5, 1.5 instead of 2/3, 4/3, which follows the official implementation.

BTW , I can't figure out the function here :
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L133
such as AT_DISPATCH_FLOATING_TYPES_AND_HALF , features.type() , features.data ,especially the first one ,any relative information for that ?
Thanks !!! :p

The documentation of PyTorch C++ APIs is quite poor, we need to look into the source code sometimes.

Another question:
Why '+1' here? It seems not necessary for this op.
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L82-L83

See #835 for details.

Another question:
Why '+1' here? It seems not necessary for this op.
https://github.com/open-mmlab/mmdetection/blob/5b9c5dd45fc5446a1c2f6c1fce571ad504e4d9ce/mmdet/ops/roi_align/src/roi_align_kernel.cu#L82-L83

See #835 for details.

Thanks for your reply !!!!


Do not run scripts from Temp folder

Please do not run scripts from Temp folder:
%OSDRIVE%\USERS\USERNAME\APPDATA\LOCAL\TEMP\XMLNOTEPAD\STATS.CMD
This will be blocked by proper a AppLocker config.

Fixed in https://github.com/microsoft/XmlNotepad/releases/tag/<IP_ADDRESS>


Simplify docker-compose.yml

I don't think that we need health checks, and the volume was not working for me locally. Explicit volume should not be needed, docker-compose up should remember the latest state, unless you clear docker temporary artifacts.
CC @vohoanglong0107

Ah, my bad, I forgot to add the explicit volume add the end of docker-compose.yaml.

docker-compose up should remember the latest state, unless you clear docker temporary artifacts.

Hmmm, I'm not sure about this. In my experience, without an explicit volume, once we run docker-compose down, the data stored inside our postgres instance will be cleared.

Yeah, but if you don't run docker-compose down, and just kill the Docker (as I usually do, with Ctrl+C), zhr data stays there.

I see. I personally don't have any objection with this, as I'm running a local postgres instance, so I will leave the decision up to you.


Workspace

Split crate into workspace.
I want to demonstrate workspace usage in this repository.
In large projects like prisma, multiple Rust projects are managed in the same Git repository.

Codecov Report
Base: 41.37% // Head: 48.48% // Increases project coverage by +7.10% :tada:

Coverage data is based on head (d2bf684) compared to base (ee04769).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   41.37%   48.48%   +7.10%
==========================================
  Files           1        2       +1
  Lines          58       66       +8
==========================================
+ Hits           24       32       +8
  Misses         34       34

Flag
Coverage Δ

unittests
48.48% <100.00%> (+7.10%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

c1/src/main.rs
41.37% <ø> (ø)

c2/src/lib.rs
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Change seeding behavior so np, tf, and torch are optionally imported

I have moved the numpy, tensorflow, and torch imports to the scope of seed_tasks so that these libraries will not be imported along with pycrumbs. Additionally, I made seed setting for these libraries optional for use with deterministic functions. The default behavior is that seeds will be set to be consistent with previous behavior.

Hi @CPBridge,
In the way that it is written,
if seed_{}:
    ...

should have the same behavior when using seed_{} = False or  seed_{} = None, so None is actually supported. Since the behavior is binary, I think it would be fine to just be of type bool though. I don't feel particularly strongly on whether or not None should also be an option, so I can make that change if you don't think it should just be bool.

For future reference, would you consider Optional[x] more appropriate for when the default value is already None? Or is it still viable for uses in cases where None is a supported option that a user can specify, but defaults to a different value?

I would say if there's no difference in behaviour between False and None then we should just make it a bool to make things clearer.
Usually Optional[x] is used when there's a parameter whose default value is None. However there can be scenarios where it makes sense to use with a parameter that has a different default value but None is still a valid value a user can explicitly pass, though this is rare. In this case I would say that there should be something specifically different about None vs other values, otherwise there's no reason to accept None as an input.

I agree that it makes things clearer since there is no behavior unique to using None as a value to any of the seed_{} parameters. I've updated all of the type hints to only be bool now.


[FEA] Have our out of core sort support/be a stable sort

Is your feature request related to a problem? Please describe.
For our current out of core sort I made it do it was not stable, because I could not figure out a cheap way to have it be stable.  This is causing problems (https://github.com/NVIDIA/spark-rapids/issues/2884, https://github.com/NVIDIA/spark-rapids/issues/9243) and it would be better to just make it stable by default so it matches Spark, even though in 99% of the cases Spark does not need it to be stable because the shuffle order is not deterministic.
Describe the solution you'd like
The simplest way to make this work is to add a row number to each row and sort on it as a secondary sort.  But that is far from ideal because it adds a lot of GPU memory.  Instead we really just need to maintain an insertion order of the rows for the batches that are used, and at the same time use stable sorts for all of the operations.
Right now the out of core sort algorithm effectively will

Take in a batch and sort it.
Split it into smaller batches.
Insert these smaller batches into a priority queue that is sorted by the lowest row in the sorted batch.
Pop off enough smaller batches to hit the target batch size.
Merge sort these smaller batches into a larger batch
Get the lowest row that is still in the queue and slice the merged batch by this lowest row
Put the sliced input back in the queue that is not fully sorted and put the rest in a queue that can be released.

Because the priority queue will not maintain the order of the inserted batches and once we merge batches we have no way to track the original order we cannot have a stable sort.  I propose that we change the algorithm so that each inserted batch includes an insertion order value, which will be used to maintain the order of the batches. Then the order of operations starting at step 5 will change.

Get the lowest row that is still int he queue and slice each of the smaller batches by that.
Put the sliced input batches back in the queue that are larger than the cutoff.
If the fully sorted data is large enough to output, merge sort it and output the result
If the fully sorted data is not large enough add them to a holding queue until they are large enough to sort.

The other key step here is to make sure that we use the stable sort API for CUDF and possibly work with CUDF to get a stable merge sort API too. If they cannot provide that to us, we can concat the batches in order and stable sort the resulting batch.
When this is done we should do some performance measurements. Ideally we would keep the existing config and use it to configure if we want stable sort or not. We would have stable be the default assuming that the performance difference is not too horrible.

We may not consider this a high priority since Spark does not have a stable sort in all cases.  For example, https://issues.apache.org/jira/browse/SPARK-45243 .


Please remove iOS support from pub.dev

Thanks for the plugin, but can you remove iOS as a supported platform from pub.dev? I'm not able to compile for iOS because of this but I need this feature for android.
I'm hoping removing iOS as a supported platform can help.
Thanks.

My bad will make a new release once home.
On Sat, 14 Aug 2021, 10:48 AkaankshK, @.***> wrote:

Thanks for the plugin, but can you remove iOS as a supported platform from
pub.dev? I'm not able to compile for iOS because of this but I need this
feature for android.
I'm hoping removing iOS as a supported platform can help.
Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tolotrasamuel/account_picker/issues/5, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG7AJXZAMAC2NWH7JVT5XE3T4YGTZANCNFSM5CEZJ2SA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Thank you so much

Can you also publish this version on the pub.dev. It took me a while to reach here, and import from the git url directly

Can someone create a git action for Dev publish and Raise a PR please?

My bad will make a new release once home.
…
On Sat, 14 Aug 2021, 10:48 AkaankshK, @.***> wrote: Thanks for the plugin, but can you remove iOS as a supported platform from pub.dev? I'm not able to compile for iOS because of this but I need this feature for android. I'm hoping removing iOS as a supported platform can help. Thanks. — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#5>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG7AJXZAMAC2NWH7JVT5XE3T4YGTZANCNFSM5CEZJ2SA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

I am finally home. 2.1.0 is now published


@dependents and @depends together can nullify task

Given the following build.py:
# ...imports omitted for brevity...
use_plugin("python.core")
use_plugin("python.distutils")
use_plugin("python.flake8")

default_task = ["publish"]

@task
@dependents("package")
@depends("verify", "analyze")
def check():
    '''
    Task that wires up package -> check -> (verify, analyze)
    '''
    pass

Everything at task check or above stops working... that is to say none of these does any work that I can tell, no output/target dir created, or anything else:
pyb check
pyb package
pyb publish
If I remove the @dependents('package') decorator all of the tasks work as expected, except that package does not include/invoke check.
If I remove the @depends(...) decorator, package invokes the check task as expected.
All of the tasks do, however, claim to be wired up correctly in the bad state with the dependencies decorator.
[DEBUG] Registering task 'check'
[DEBUG] Registering late dependency of task 'package' on [check]
[DEBUG] Resolved late dependency of task 'package' on [check]
[DEBUG] Adding 'prepare' as a dependency of task 'compile_sources'
[DEBUG] Adding 'package' as a dependency of task 'install'
[DEBUG] Adding 'publish(optional)' as a dependency of task 'install'
[DEBUG] Adding 'compile_sources' as a dependency of task 'package'
[DEBUG] Adding 'run_unit_tests(optional)' as a dependency of task 'package'
[DEBUG] Adding 'check' as a dependency of task 'package'
[DEBUG] Adding 'package' as a dependency of task 'publish'
[DEBUG] Adding 'verify(optional)' as a dependency of task 'publish'
[DEBUG] Adding 'package' as a dependency of task 'run_integration_tests'
[DEBUG] Adding 'compile_sources' as a dependency of task 'run_unit_tests'
[DEBUG] Adding 'run_integration_tests' as a dependency of task 'verify'
[DEBUG] Adding 'prepare' as a dependency of task 'analyze'
[DEBUG] Adding 'verify' as a dependency of task 'check'
[DEBUG] Adding 'analyze' as a dependency of task 'check'

Thanks for your report! Could you please also run pyb -T -v -X and post the entire output?

Sure thing FYI I replaced actual paths with PROJECT_ROOT and VENV_ROOT just to remove personal info.
Looks like it silently failed to handle cycles in the DAG.
[DEBUG] Loading project module from PROJECT_ROOT/build.py
[DEBUG] Loading plugin 'python.core'
[DEBUG] Trying to load builtin plugin 'python.core'
[DEBUG] Loading plugin 'core'
[DEBUG] Trying to load builtin plugin 'core'
[DEBUG] Found builtin plugin 'pybuilder.plugins.core_plugin'
[DEBUG] Found task 'clean' with dependencies []
[DEBUG] Registering task 'clean'
[DEBUG] Found task 'compile_sources' with dependencies [prepare]
[DEBUG] Registering task 'compile_sources'
[DEBUG] Registering initializer 'init'
[DEBUG] Found task 'install' with dependencies [package, publish(optional)]
[DEBUG] Registering task 'install'
[DEBUG] Found task 'package' with dependencies [compile_sources, run_unit_tests(optional)]
[DEBUG] Registering task 'package'
[DEBUG] Found task 'prepare' with dependencies []
[DEBUG] Registering task 'prepare'
[DEBUG] Found task 'print_module_path' with dependencies []
[DEBUG] Registering task 'print_module_path'
[DEBUG] Found task 'print_scripts_path' with dependencies []
[DEBUG] Registering task 'print_scripts_path'
[DEBUG] Found task 'publish' with dependencies [package, verify(optional)]
[DEBUG] Registering task 'publish'
[DEBUG] Found task 'run_integration_tests' with dependencies [package]
[DEBUG] Registering task 'run_integration_tests'
[DEBUG] Found task 'run_unit_tests' with dependencies [compile_sources]
[DEBUG] Registering task 'run_unit_tests'
[DEBUG] Found task 'verify' with dependencies [run_integration_tests]
[DEBUG] Registering task 'verify'
[DEBUG] Found builtin plugin 'pybuilder.plugins.python.core_plugin'
[DEBUG] Registering initializer 'init_python_directories'
[DEBUG] Found task 'package' with dependencies []
[DEBUG] Registering task 'package'
[DEBUG] Loading plugin 'python.distutils'
[DEBUG] Trying to load builtin plugin 'python.distutils'
[DEBUG] Found builtin plugin 'pybuilder.plugins.python.distutils_plugin'
[DEBUG] Found action build_binary_distribution
[DEBUG] Registering action 'build_binary_distribution'
[DEBUG] Registering initializer 'initialize_distutils_plugin'
[DEBUG] Found task 'install' with dependencies []
[DEBUG] Registering task 'install'
[DEBUG] Found action set_description
[DEBUG] Registering action 'set_description'
[DEBUG] Found task 'upload' with dependencies []
[DEBUG] Registering task 'upload'
[DEBUG] Found action write_manifest_file
[DEBUG] Registering action 'write_manifest_file'
[DEBUG] Found action write_setup_script
[DEBUG] Registering action 'write_setup_script'
[DEBUG] Loading plugin 'python.flake8'
[DEBUG] Trying to load builtin plugin 'python.flake8'
[DEBUG] Found builtin plugin 'pybuilder.plugins.python.flake8_plugin'
[DEBUG] Found task 'analyze' with dependencies [prepare]
[DEBUG] Registering task 'analyze'
[DEBUG] Found action assert_flake8_is_executable
[DEBUG] Registering action 'assert_flake8_is_executable'
[DEBUG] Registering initializer 'initialize_flake8_plugin'
[DEBUG] Have loaded plugins python.core, core, python.distutils, python.flake8
[DEBUG] Found task 'check' with dependencies [verify, analyze]
[DEBUG] Registering task 'check'
[DEBUG] Registering late dependency of task 'package' on [check]
[DEBUG] Resolved late dependency of task 'package' on [check]
[DEBUG] Adding 'prepare' as a dependency of task 'compile_sources'
[DEBUG] Adding 'package' as a dependency of task 'install'
[DEBUG] Adding 'publish(optional)' as a dependency of task 'install'
[DEBUG] Adding 'compile_sources' as a dependency of task 'package'
[DEBUG] Adding 'run_unit_tests(optional)' as a dependency of task 'package'
[DEBUG] Adding 'check' as a dependency of task 'package'
[DEBUG] Adding 'package' as a dependency of task 'publish'
[DEBUG] Adding 'verify(optional)' as a dependency of task 'publish'
[DEBUG] Adding 'package' as a dependency of task 'run_integration_tests'
[DEBUG] Adding 'compile_sources' as a dependency of task 'run_unit_tests'
[DEBUG] Adding 'run_integration_tests' as a dependency of task 'verify'
[DEBUG] Adding 'prepare' as a dependency of task 'analyze'
[DEBUG] Adding 'verify' as a dependency of task 'check'
[DEBUG] Adding 'analyze' as a dependency of task 'check'
[DEBUG] Adding before action 'build_binary_distribution' for task 'publish'
[DEBUG] Adding after action 'set_description' for task 'prepare'
[DEBUG] Adding after action 'write_manifest_file' for task 'package'
[DEBUG] Adding after action 'write_setup_script' for task 'package'
[DEBUG] Adding after action 'assert_flake8_is_executable' for task 'prepare'
[DEBUG] Executing initializer 'init' from 'pybuilder.plugins.core_plugin'
[DEBUG] Executing initializer 'init_python_directories' from 'pybuilder.plugins.python.core_plugin'
[DEBUG] Executing initializer 'initialize_distutils_plugin' from 'pybuilder.plugins.python.distutils_plugin'
[DEBUG] Executing initializer 'initialize_flake8_plugin' from 'pybuilder.plugins.python.flake8_plugin'
[DEBUG] Project properties:
                                 basedir : PROJECT_ROOT
                                dir_dist : $dir_target/dist/odin-1.0.dev0
                        dir_dist_scripts : scripts
                                dir_logs : $dir_target/logs
                             dir_reports : $dir_target/reports
                  dir_source_main_python : src/main/python
                 dir_source_main_scripts : src/main/scripts
                              dir_target : target
                   distutils_classifiers : ['Development Status :: 3 - Alpha', 'Programming Language :: Python']
               distutils_command_options : None
                      distutils_commands : ['sdist', 'bdist_wheel']
               distutils_console_scripts : None
         distutils_description_overwrite : False
                  distutils_entry_points : None
  distutils_issue8876_workaround_enabled : False
            distutils_readme_description : False
                   distutils_readme_file : README.md
                distutils_setup_keywords : None
             distutils_upload_repository : None
                   distutils_upload_sign : False
          distutils_upload_sign_identity : None
                distutils_use_setuptools : True
                      flake8_break_build : False
                 flake8_exclude_patterns : None
                 flake8_include_patterns : None
                  flake8_include_scripts : False
             flake8_include_test_sources : False
                   flake8_max_complexity : None
                  flake8_max_line_length : 120
                                 verbose : False
Traceback (most recent call last):
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/execution.py", line 395, in build_execution_plan
    Graph(dependency_edges).assert_no_cycles_present()
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/graph_utils.py", line 48, in assert_no_cycles_present
    raise self.error_with_cycles(cycles)
pybuilder.graph_utils.GraphHasCycles: Found cycle(s):
	These nodes form a cycle : ('check', 'package', 'run_integration_tests', 'verify')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/cli.py", line 383, in main
    print_plan_list_of_tasks(options, arguments, reactor, quiet=options.very_quiet)
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/cli.py", line 344, in print_plan_list_of_tasks
    execution_plan = reactor.create_execution_plan(arguments, options.environments)
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/reactor.py", line 146, in create_execution_plan
    return self.execution_manager.build_execution_plan(tasks)
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/execution.py", line 397, in build_execution_plan
    raise CircularTaskDependencyException(str(cycles))
pybuilder.errors.CircularTaskDependencyException: <exception str() failed>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "VENV_ROOT/bin/pyb", line 25, in <module>
    sys.exit(pybuilder.cli.main(*sys.argv[1:]))
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/cli.py", line 386, in main
    print_build_status(str(e), options, successful=False)
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/errors.py", line 36, in __str__
    return self.message
  File "VENV_ROOT/lib/python3.6/site-packages/pybuilder/errors.py", line 33, in message
    return self._message % self._arguments
AttributeError: 'CircularTaskDependencyException' object has no attribute '_message'

OK, and I'm now seeing that verify -> run_integration_tests -> package so there is indeed a cycle, meaning this is a mere dup.

I'm reopening this as it has a good documentation.


DEV: Add travis config

This adds continuous integration with Travis. It means that tests can be executed on travis automatically. You might need to register at travis-ci.org and add your project there once. This should not take more than 15 minutes.
If it works, you will be able to see if the tests still work before you approve anything. Travis will tell you :-)


Radar perception

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 14.04):16.04
Apollo installed from (source or binary):source
Apollo version (1.0, 1.5, 2.0, 2.5, 3.0):5.0

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:
Is there a way to run radar perception module alone offline?

Supporting materials (screenshots, command lines, code/script snippets):

Radar components can run independently, and you need to publish sensor data to make it work


Decide on citation style in report

Description: I would suggest to change the citation style in the report to an author-year-style. I think it reads significantly better, as you can write something like "Simon et al. (2021) propose a super cool graph-based method for habitat fragmentation ...". Number-based citations can be very tedious to read, and are harder to remember across sections, was it 87 or 78? If you have another preference, feel free to comment below so we can discuss.
Possible Solution:
One way to do the author-year-style would be with the following in the preamble (using natbib):
\usepackage{natbib}
\bibliographystyle{abbrvnat}
\setcitestyle{authoryear}

Then use \citet{ } and \citep{} to create Simon et al. (2021) and (Simon et al., 2021) respectively.
For adding the bibliography we would use
\bibliography{references}

Yeah, so feel free to do this, you can change anything about the bibliography in Theme/referencing.sty as far as I am aware. I agree that replacing numbers with names does help with legibility, particularly if the density of citations isn't too high, and it's a longer report.

I changed the option to citestyle=authoryear, but hopefully there's another option which improves the appearance.

Thanks, I will look into it after the meeting.

Here's a list of styles: https://www.overleaf.com/learn/latex/biblatex_bibliography_styles

I switched it over to natbib now, and it works and looks fine :) Happy to reopen the issue if somebody has another preference.


cw-payroll external contract

This PR to fix #445, adding cw-payroll to external contracts.
Criteria needed before review:

[x] Complete list of needs in #445
[x] add admin
[x] add caller
[x] fix start time issue
[x] support native token
[x] testing coverage

[x] pause stream
[x] resume stream
[x] remove stream
[x] native token streams
[x] fix cw20 token streams

Required items have also been annotated within cw-payroll src folder using TODO:

NOTE: had a conversation with another potential use of stream, which is bi-directional streams. I believe having a linked-stream solves this, so you have 1 way streams that if either stream gets acted upon, both streams are affected. So "pausing" one stream would also pause any linked stream.

Codecov Report
Base: 91.68% // Head: 91.94% // Increases project coverage by +0.25% :tada:

Coverage data is based on head (a849485) compared to base (58ea76c).
Patch coverage: 63.44% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #537      +/-   ##
==========================================
+ Coverage   91.68%   91.94%   +0.25%
==========================================
  Files          38       42       +4
  Lines        3670     3937     +267
==========================================
+ Hits         3365     3620     +255
- Misses        305      317      +12

Impacted Files
Coverage Δ

contracts/external/cw-token-swap/src/state.rs
100.00% <ø> (ø)

...e-propose/cwd-pre-propose-multiple/src/contract.rs
100.00% <ø> (ø)

...pre-propose/cwd-pre-propose-single/src/contract.rs
100.00% <ø> (ø)

...cts/proposal/cwd-proposal-multiple/src/contract.rs
92.03% <ø> (+0.18%)
:arrow_up:

...cts/proposal/cwd-proposal-multiple/src/proposal.rs
90.24% <ø> (ø)

...racts/proposal/cwd-proposal-single/src/contract.rs
98.65% <ø> (-0.65%)
:arrow_down:

...racts/proposal/cwd-proposal-single/src/proposal.rs
95.45% <ø> (ø)

...racts/proposal/cwd-proposal-single/src/v1_state.rs
96.29% <ø> (+1.55%)
:arrow_up:

contracts/staking/cw20-stake/src/contract.rs
88.01% <ø> (+0.77%)
:arrow_up:

contracts/staking/cw20-stake/src/hooks.rs
100.00% <ø> (ø)

... and 37 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

NOTE: Still needs documentations of use in README.

i also made some little nits while i was reviewing which you're welcome to ignore or apply.

patch
diff --git a/Cargo.lock b/Cargo.lock
index 24a2d9ab..40198ae6 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -731,7 +731,6 @@ version = "0.0.1"
 dependencies = [
  "cosmwasm-schema",
  "cosmwasm-std",
- "cosmwasm-storage",
  "cw-storage-plus 0.16.0",
  "cw-utils 0.16.0",
  "cw2 0.16.0",
diff --git a/contracts/external/cw-payroll/Cargo.toml b/contracts/external/cw-payroll/Cargo.toml
index 7616de00..d978eb49 100644
--- a/contracts/external/cw-payroll/Cargo.toml
+++ b/contracts/external/cw-payroll/Cargo.toml
@@ -15,7 +15,6 @@ library = []

 [dependencies]
 cosmwasm-std = { workspace = true }
-cosmwasm-storage = { workspace = true }
 cosmwasm-schema = { workspace = true }
 cw-storage-plus = { workspace = true }
 cw-utils = { workspace = true }
@@ -25,4 +24,3 @@ thiserror = { workspace = true }
 serde = { workspace = true }

 [dev-dependencies]
-
diff --git a/contracts/external/cw-payroll/README.md b/contracts/external/cw-payroll/README.md
index f954aede..cee6d3b6 100644
--- a/contracts/external/cw-payroll/README.md
+++ b/contracts/external/cw-payroll/README.md
@@ -1,47 +1,32 @@
 # CW Payroll

-This contract enables the creation of native && cw20 token streams, which allows a cw20 payment to be vested continuously over time. This contract is forked off of [cw20-streams](https://github.com/CosmWasm/cw-tokens/tree/main/contracts/cw20-streams) to enable additional features required by DAOs for payroll. Key items being: Admin, configurations for vesting, allowing external parties to distribute & more.
+This contract enables the creation of native && cw20 token streams,
+which allows a cw20 payment to be vested continuously over time. This
+contract is forked off of
+[cw20-streams](https://github.com/CosmWasm/cw-tokens/tree/main/contracts/cw20-streams)
+to enable additional features required by DAOs for payroll. Key items
+being: Admin, configurations for vesting, allowing external parties to
+distribute & more.

 ## Instantiation

-To instantiate a new instance of this contract you must specify a contract owner.
+To instantiate a new instance of this contract you must specify a
+contract owner.

 ## Creating a Native Token Stream

 TBD: Update upon native token completion

 ## Creating a CW20 Stream
-A stream can be created using the cw20 [Send / Receive](https://github.com/CosmWasm/cw-plus/blob/main/packages/cw20/README.md#receiver) flow. This involves triggering a Send message from the cw20 token contract, with a Receive callback that's sent to the token streaming contract. The callback message must include the start time and end time of the stream in seconds, as well as the payment recipient.

-## Distribute payments
-Streamed payments can be claimed continously at any point after the start time by triggering a Distribute message.
-
-## Development
-### Compiling
-
-To generate a development build run:
-```
-cargo build
-```
-
-To generate an optimized build run:
+A stream can be created using the cw20 [Send /
+Receive](https://github.com/CosmWasm/cw-plus/blob/main/packages/cw20/README.md#receiver)
+flow. This involves triggering a Send message from the cw20 token
+contract, with a Receive callback that's sent to the token streaming
+contract. The callback message must include the start time and end
+time of the stream in seconds, as well as the payment recipient.

-```
-docker run --rm -v "$(pwd)":/code \
-  --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
-  --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
-  cosmwasm/rust-optimizer:0.12.4
-```
-
-### Testing
-To execute unit tests run:
-```
-cargo test
-```
-
-### Lint
-To lint repo run:
-```
-cargo fmt
-```
+## Distribute payments

+Streamed payments can be claimed continously at any point after the
+start time by triggering a Distribute message.
diff --git a/contracts/external/cw-payroll/src/contract.rs b/contracts/external/cw-payroll/src/contract.rs
index 0d5dacc5..02d7e925 100644
--- a/contracts/external/cw-payroll/src/contract.rs
+++ b/contracts/external/cw-payroll/src/contract.rs
@@ -37,16 +37,14 @@ pub fn instantiate(
         None => info.sender,
     };

-    let config = Config {
-        admin: admin.clone(),
-    };
+    let config = Config { admin: admin };
     CONFIG.save(deps.storage, &config)?;

     STREAM_SEQ.save(deps.storage, &0u64)?;

     Ok(Response::new()
         .add_attribute("method", "instantiate")
-        .add_attribute("admin", admin))
+        .add_attribute("admin", config.admin))
 }

 #[cfg_attr(not(feature = "library"), entry_point)]
diff --git a/contracts/external/cw-payroll/src/msg.rs b/contracts/external/cw-payroll/src/msg.rs
index 69a760d2..8f682a13 100644
--- a/contracts/external/cw-payroll/src/msg.rs
+++ b/contracts/external/cw-payroll/src/msg.rs
@@ -34,24 +34,12 @@ impl StreamIdsExtensions for StreamIds {
 #[cw_serde]
 pub enum ExecuteMsg {
     Receive(Cw20ReceiveMsg),
-    Distribute {
-        id: StreamId, // Stream id
-    },
-    PauseStream {
-        id: StreamId, // Stream id
-    },
-    LinkStream {
-        ids: StreamIds,
-    },
-    DetachStream {
-        id: StreamId, // Stream id
-    },
-    ResumeStream {
-        id: StreamId, // Stream id
-    },
-    RemoveStream {
-        id: StreamId, // Stream id
-    },
+    Distribute { id: StreamId },
+    PauseStream { id: StreamId },
+    LinkStream { ids: StreamIds },
+    DetachStream { id: StreamId },
+    ResumeStream { id: StreamId },
+    RemoveStream { id: StreamId },
 }

// Receiver setup

@TrevorJTClarke can we get a tl;dr of what linking is and why it's useful in the README? Why would I link streams? What is a stream?

@deveusss merged some cleanup stuff that will hopefully save you a lot of time. Left a lot of TODO notes.

@deveusss merged some cleanup stuff that will hopefully save you a lot of time. Left a lot of TODO notes.
I am going to be working on a different version of this that meets the payroll requirements I'm imagining.

thanks a lot @JakeHartnell , let me know if you need some help with your version

Looking a lot better, but I think we're going with the current cw-vesting and cw-payroll-factory for now. By all means feel free to publish this as it's own repo or consider a PR to cw-tokens.


iOS polyline coordinate update Not showing new route

I have the following for the Polyline inside my MapView.
<MapView.Polyline coordinates={this.state.routeCoords} strokeColor={'#55C2DD'} strokeWidth={4}/>
It works perfectly well and updates with the new route for Android.
But when I change the state.routeCoords for iOS... The new route is not rendered. It keeps showing the old route.
How else can I handle this?

Hello, which version of react-native-maps are you using? v0.3.2 should have this fixed, otherwise is it possible to see an example of code?

Hello,
I was on v0.3.1.
v0.3.2 Works perfectly well for this...
Thank you!


Exported eager API TFE_* symbols in the dynamic library

Dicussed in #12784.

Can one of the admins verify this patch?

Jenkins, test this please

@asimshankar Thank a lot! I was actually wondering why I couldn't link in Windows but I thought it was a problem with the cross-compilation docker container I was setting up. I made the changes for Windows too now. :)

Jenkins, test this please.

I'm not really sure what's wrong here. Shouldn't this change have no impact on existing code?

Jenkins, test this please.

I believe some of the tests were cancelled. I don't know why. I resolved the conflicts and triggered again.

Sounds good. Thanks! :)

@eaplatanios There seem to be honest build errors. E.g.,

ERROR: /workspace/tensorflow/python/BUILD:2884:1: SWIGing tensorflow/python/tensorflow.i failed: swig failed: error executing command
(cd /var/lib/jenkins/workspace/tensorflow-pull-requests-cpu/bazel-ci_build-cache/.cache/bazel/_bazel_jenkins/eab0d61a99b6696edb3d2aff87b585e8/execroot/workspace &&
exec env -
bazel-out/local-opt/bin/external/swig/swig -c++ -python -module pywrap_tensorflow_internal -o bazel-out/local-opt/bin/tensorflow/python/pywrap_tensorflow_internal.cc -outdir bazel-out/local-opt/bin/tensorflow/python -ltensorflow/python/client/device_lib.i -ltensorflow/python/client/events_writer.i -ltensorflow/python/client/tf_session.i -ltensorflow/python/client/tf_sessionrun_wrapper.i -ltensorflow/python/framework/cpp_shape_inference.i -ltensorflow/python/framework/python_op_gen.i -ltensorflow/python/grappler/cost_analyzer.i -ltensorflow/python/grappler/model_analyzer.i -ltensorflow/python/grappler/tf_optimizer.i -ltensorflow/python/lib/core/py_func.i -ltensorflow/python/lib/core/strings.i -ltensorflow/python/lib/io/file_io.i -ltensorflow/python/lib/io/py_record_reader.i -ltensorflow/python/lib/io/py_record_writer.i -ltensorflow/python/platform/base.i -ltensorflow/python/pywrap_tfe.i -ltensorflow/python/training/quantize_training.i -ltensorflow/python/training/server_lib.i -ltensorflow/python/util/kernel_registry.i -ltensorflow/python/util/port.i -ltensorflow/python/util/py_checkpoint_reader.i -ltensorflow/python/util/stat_summarizer.i -ltensorflow/python/util/tfprof.i -ltensorflow/python/util/transform_graph.i -Ibazel-out/local-opt/genfiles -Iexternal/eigen_archive -Iexternal/grpc -Iexternal/protobuf_archive -Iexternal/swig -Iexternal/boringssl -Iexternal/curl -Ibazel-out/local-opt/genfiles/external/local_config_python -Iexternal/nsync -Iexternal/gemmlowp -Iexternal/jemalloc -Iexternal/jpeg -Iexternal/com_googlesource_code_re2 -Iexternal/jsoncpp_git -Iexternal/zlib_archive -Ibazel-out/local-opt/genfiles/external/jemalloc -Iexternal/snappy -Iexternal/highwayhash -Iexternal/gif_archive -Ibazel-out/local-opt/genfiles/external/jpeg -Iexternal/lmdb -Iexternal/png_archive -Ibazel-out/local-opt/genfiles/external/curl -Ibazel-out/local-opt/genfiles/external/snappy -Iexternal/farmhash_archive -Iexternal/local_config_cuda -Iexternal/sqlite_archive -Iexternal/swig/Lib -Iexternal/swig/Lib/cffi -Iexternal/swig/Lib/python -Iexternal/swig/Lib/std -Iexternal/swig/Lib/typemaps tensorflow/python/tensorflow.i): com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1.
tensorflow/c/eager/c_api.h:33: Error: Syntax error in input(1).

@caisq Thanks for pointing that out! I made a small edit that would probably fix them. Could you please run the tests again? Thanks!

@tensorflow-jenkins test this please

I think the tests are simply timing out now and that there should be no bugs.

@eaplatanios Yes, the tests look good. But your CLA isn't signed yet. Can you take care of that?

I've already done that long time ago. It only started showing at not signed after @martinwicke merged master into this PR. Not sure what to do to make it show it as signed again.

You can ignore issuebot on this one. It gets confused by multiple authors.
On Sep 5, 2017 17:13, "Anthony Platanios"<EMAIL_ADDRESS>wrote:

I've already done that long time ago. It only started showing at not
signed after @martinwicke https://github.com/martinwicke merged master
into this PR. Not sure what to do to make it show it as signed again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/12785#issuecomment-327337421,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAjO_eyxdfKWjyINAP8C2CM2s1hc6Kc4ks5sfeOTgaJpZM4PLTQD
.


Add Security Policy page

fixes #9615

By any chance could you merge the latest concrete develop branch into your PR branch?


Job for posting production deployments in the #website channel

A job in the .github/workflows/deploy-prod.yml workflow which uses Actions Status Discord GitHub Action to update the #website channel in our Discord server.
Motivation and context
We need this change to follow the status of the deployment process in our Discord channel.
This PR addresses #220
New environment variables:

APP_DISCORD_WEBHOOK :  this is the URL of the webhook attached to the #website channel (I will send it privately to @kachar so he can add it in the settings of the repo)

Add the secret to repo secrets


Request to add NPU buttons for SAM and SD 1.5

Hello, we now have NPUs that can run SAM and SD 1.5. Can you please add NPU buttons for them like the one for Whisper?
While testing SD 1.5, we found Safety Checker doesn't work on the NPU - would it be possible to add safetychecker=false to NPU's URL? I know you may not feel comfortable to disable Safety Checker, and if that is the case, would you still feel okay to add the NPU button for SD 1.5? We can tell the customer that they can manually add safetychecker=false to the URL. NPU driver will be fixed in the near future.
SAM works well. So please add the NPU button for it.
Best regards, Indy.

@ibelem Whatcha think?

@fdwr Sure, I will add them today

Pending draft: https://github.com/ibelem/webnn-developer-preview/commit/43ed266aa687bc9427ba63376650f3f3a5375c2f

SD 1.5 Safety Checker issue is fixed, I claim there is a bug in ARM64 CPU EP that when it runs Clip operator for constant folding it always outputs zero.
We fixed the issue by folding off 2 Clip operators in Safety Checker model, please huggingface.com for the new model.
Please add the NPU buttons, we are ready.

@indygit , thanks!

SD 1.5 Safety Checker issue is fixed, I claim there is a bug in ARM64 CPU EP that when it runs Clip operator for constant folding it always outputs zero.

I understand WebNN doesn't use native CPU EP, could you elaborate the fix?

Please add the NPU buttons, we are ready.

I understand the two demos may not work on every NPU device or driver. How could we manage the difference? @ibelem @fdwr

I understand WebNN doesn't use native CPU EP

Indy meant ORT's CPU EP used during the constant folding phase of model loading (https://github.com/microsoft/onnxruntime/issues/21957).

How could we manage the difference

I think displaying some messaging to the user of supported known hardware configurations would help. May be time to resurrect this one: https://github.com/microsoft/webnn-developer-preview/pull/32

Thanks Dwayne and Ningxin.

How could we manage the difference
I somehow remember seeing that Belem mentioned that we can allow the NPU buttons on ARM64 but not X64/X86.
I assume we can access the CPU architecture info in JavaScript.


Copilot status menu "Edit Keyboard Shortcuts" brings up overwhelming and confusing list

VS Code Version: 1.84.1 stable, Copilot stable
OS Version: Windows 11

Steps to Reproduce:

Select "Show Copilot status menu" from VS Code Status bar
Select "Edit Keyboard Shortcuts"

The query shows over 40 commands with only 6 having existing keybindings. Not sure where some of these commands are coming from since the main Copilot extension contributes 10 commands and Copilot Chat contributes 13.
Some of the entries are confusing, for example, workbench.action.chat.copilot.clear. How is workbench.action.chat.copilot.clear diffferent from workbench.action.chat.clear (Ctrl+L), which is not shown in the query?

We register these chat provider-specific actions to show in the dynamically registered view for the provider. But, we are moving towards having one single global view instead of one registered per chat provider. When I finish that then these can go away.

Status menu will be changed by the GH team. Thus closing this one.


A KeyUpEvent is dispatched, but the state shows that the physical key is pressed on a different logical key

1- i have created a signup form but i can't enter values into the text form fields.
2- when i do a hot restart i can just enter 2 or 3 input fields and after some few seconds my keyboard freezes and i can't enter any data or remove (backspace) inside the text field.
please i need some help.. thanks

// ******* SIGN UP SECTION ********
Container _registerScreen(BuildContext context) {
return Container(
constraints: BoxConstraints(
minHeight: MediaQuery.of(context).size.height - 0.0,
),
child: ListView(children: [
Form(
key: _signUpKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SizedBox(height: MediaQuery.of(context).size.height * 0.1),
TextFormField(
controller: name,
keyboardType: TextInputType.text,
decoration: const InputDecoration(
prefixIcon: Icon(
Icons.people,
color: iconColor,
),
border: UnderlineInputBorder(),
labelText: ' Name'),
validator: RequiredValidator(errorText: "Name is require"),
),
SizedBox(height: MediaQuery.of(context).size.height * 0.02),
TextFormField(
keyboardType: TextInputType.emailAddress,
decoration: const InputDecoration(
prefixIcon: Icon(Icons.mail),
border: UnderlineInputBorder(),
labelText: 'Email'),
validator: emailValidator,
),
SizedBox(height: MediaQuery.of(context).size.height * 0.02),
TextFormField(
decoration: const InputDecoration(
prefixIcon: Icon(Icons.lock, color: iconColor),
border: UnderlineInputBorder(),
labelText: 'Password'),
obscureText: isShow,
// onChanged: (val) => pas = val,
validator: passwordValidator,
),
SizedBox(height: MediaQuery.of(context).size.height * 0.02),
TextFormField(
decoration: const InputDecoration(
prefixIcon: Icon(Icons.lock, color: iconColor),
border: UnderlineInputBorder(),
labelText: 'Check passord'),
obscureText: isShow,
// onChanged: (val) => password = val,
// assign the the multi validator to the TextFormField validator
validator: passwordValidator,
),
SizedBox(height: 24.0),
ElevatedButton(
style: ElevatedButton.styleFrom(
minimumSize: const Size(20, 50),
maximumSize: const Size(20, 50),
primary: Colors.red),
onPressed: () {
if (_signUpKey.currentState!.validate()) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text('processing info'),
),
);
createAdminAccount();
}
},
child: const Text('Create Account'),
),
SizedBox(height: 24.0),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
children: [
// Checkbox(
//   value: isChecked,
//   onChanged: (bool? value) {
//     setState(() {
//       isChecked = value!;
//     });
//   },
// ),
Text("Remember Me")
],
),
],
),
SizedBox(height: 24.0),
Center(
child: Wrap(
runAlignment: WrapAlignment.center,
crossAxisAlignment: WrapCrossAlignment.center,
children: [
Text("Already have an account?",
style: Theme.of(context).textTheme.bodyText1!.copyWith(
fontWeight: FontWeight.w300, color: textColor)),
SizedBox(
width: 8,
),
TextButton(
onPressed: () {
if (_isMoved) {
_animationController!.reverse();
} else {
_animationController!.forward();
}
_isMoved = !_isMoved;
},
child: Text("Login",
style: Theme.of(context)
.textTheme
.bodyText1!
.copyWith(
fontWeight: FontWeight.w400,
color: textColor)),
)
],
),
),
],
),
),
]),
);
}
****** Error from Consol******
A KeyUpEvent is dispatched, but the state shows that the physical key is pressed on a different logical key. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in HardwareKeyboard. This was the event: KeyUpEvent#e4946(physicalKey: PhysicalKeyboardKey#7001f(usbHidUsage: "0x0007001f", debugName: "Digit 2"), logicalKey: LogicalKeyboardKey#00032(keyId: "0x00000032", keyLabel: "2", debugName: "Digit 2"), character: null, timeStamp: 22:10:39.637000) and the recorded logical key LogicalKeyboardKey#00040(keyId: "0x00000040", keyLabel: "@", debugName: "At")
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 444 pos 16: '_pressedKeys[event.physicalKey] == event.logicalKey'

Hi @namkatcedrickjumtock, Thanks for filing the issue, Please provide your output of flutter doctor -v.
This is a known issue and there have been several reports of this issue in the past and  I believe this is fixed on the latest master channel. Please verify by switching to the latest master channel by running
flutter channel master
flutter upgrade

command from terminal:   flutter doctor -v
[✓] Flutter (Channel master, 2.6.0-12.0.pre.925, on Ubuntu 20.04.3 LTS
5.11.0-41-generic, locale en_US.UTF-8)
• Flutter version 2.6.0-12.0.pre.925 at /home/cedrick/Android/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision bb906b6b4f (8 hours ago), 2021-12-06 10:34:56 +0100
• Engine revision 68d320d449
• Dart version 2.16.0 (build 2.16.0-80.0.dev)
• DevTools version 2.9.1
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /home/cedrick/Android/Sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: /home/cedrick/Android/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop
• clang version 10.0.0-4ubuntu1
• cmake version 3.16.3
• ninja version 1.10.0
• pkg-config version 0.29.1
[✓] Android Studio (version 2020.3)
• Android Studio at /home/cedrick/Android/android-studio
• Flutter plugin version 61.0.2
• Dart plugin version 203.8430
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
[✓] VS Code (version 1.62.3)
• VS Code at /usr/share/code
• Flutter extension version 3.29.0
[✓] Connected device (2 available)
• Linux (desktop) • linux  • linux-x64      • Ubuntu 20.04.3 LTS
5.11.0-41-generic
• Chrome (web)    • chrome • web-javascript • Google Chrome 96.0.4664.45
• No issues found!
flutter channel
Flutter channels:

master
dev
beta
stable

CC @dkwingsmt

@namkatcedrickjumtock what platform were you compiling for? Can you share what keys you pressed which reproduced the issue? I was able to reproduce a similar error when pressing shift and alt key simultaneously in a desktop app.

flutter doctor -v
[✓] Flutter (Channel master, 2.6.0-12.0.pre.789, on macOS 12.0.1 21A559 darwin-arm, locale en-GB)
    • Flutter version 2.6.0-12.0.pre.789 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6ae721de3d (2 weeks ago), 2021-11-21 15:22:37 -0500
    • Engine revision ad00d12833
    • Dart version 2.16.0 (build 2.16.0-35.0.dev)
    • DevTools version 2.8.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.10.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 60.1.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.61.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 12.0.1 21A559 darwin-arm
    • Chrome (web)    • chrome • web-javascript • Google Chrome 96.0.4664.55

• No issues found!

logs
Running "flutter pub get" in hello...
Launching lib/main.dart on Linux in debug mode...
Connecting to VM Service at ws://<IP_ADDRESS>:45083/OMdNUotjmVw=/ws
** (hello:11486): CRITICAL **: 10:57:58.756: void update_pressing_state(FlKeyEmbedderResponder *, uint64_t, uint64_t): assertion 'lookup_hash_table(self->pressing_records, physical_key) == 0' failed
** (hello:11486): WARNING **: 10:57:58.791: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
The following assertion was thrown during a platform message callback:
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack
#2      HardwareKeyboard._assertEventIsRegular.<anonymous closure>
#3      HardwareKeyboard._assertEventIsRegular
#4      HardwareKeyboard.handleKeyEvent
#5      KeyEventManager.handleRawKeyMessage
#6      BasicMessageChannel.setMessageHandler.<anonymous closure>
#7      BasicMessageChannel.setMessageHandler.<anonymous closure>
#8      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure>
#9      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure>
#10     _invoke2.<anonymous closure> (dart:ui/hooks.dart:190:15)
#14     _invoke2 (dart:ui/hooks.dart:189:10)
#15     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
#16     _Channel.push (dart:ui/channel_buffers.dart:132:31)
#17     ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
#18     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:583:22)
#19     _dispatchPlatformMessage (dart:ui/hooks.dart:89:31)
(elided 5 frames from class _AssertionError and dart:async)
════════════════════════════════════════════════════════════════════════════════
** (hello:11486): WARNING **: 10:57:59.097: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════
** (hello:11486): WARNING **: 10:57:59.225: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════
** (hello:11486): WARNING **: 10:57:59.307: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════
** (hello:11486): WARNING **: 10:58:03.377: Unable to retrieve framework response: Message is not valid JSON
** (hello:11486): WARNING **: 10:58:03.764: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════
** (hello:11486): WARNING **: 10:58:03.993: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════
** (hello:11486): CRITICAL **: 10:58:03.996: void update_pressing_state(FlKeyEmbedderResponder *, uint64_t, uint64_t): assertion 'lookup_hash_table(self->pressing_records, physical_key) == 0' failed
** (hello:11486): WARNING **: 10:58:04.005: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════
** (hello:11486): WARNING **: 10:58:04.161: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════
** (hello:11486): WARNING **: 10:58:04.216: Unable to retrieve framework response: Message is not valid JSON

════════ Exception caught by services library ══════════════════════════════════
A KeyDownEvent is dispatched, but the state shows that the physical key is already pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyDownEvent#a04f8(physicalKey: PhysicalKeyboardKey#700e2(usbHidUsage: "0x000700e2", debugName: "Alt Left"), logicalKey: LogicalKeyboardKey#00104(keyId: "0x200000104", keyLabel: "Alt Left", debugName: "Alt Left"), character: null, timeStamp: 0:42:55.014000, synthesized)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 437 pos 16: '!_pressedKeys.containsKey(event.physicalKey)'

════════════════════════════════════════════════════════════════════════════════

thanks maheshmnj.. i just change my flutter channel to flutter channel master and did a full flutter Upgrade..
it works for me..
much appreciated

Glad to know. Thank you, and thanks to maheshmnj for triaging.

mean while after the update this is the new error from  flutter frame in my console.. please take a look
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.
Another exception was thrown: 'package:flutter/src/rendering/mouse_tracker.dart': Failed assertion: line 201 pos 12: '!_debugDuringDeviceUpdate': is not true.

Can you figure out how to reproduce this issue?

sorry am not certain but i will try.!

can't reproduce the issue..!!

Maybe it's the same issue as https://github.com/flutter/flutter/issues/90838?


Enable usage of constantLine function without any other target in the graph

When we wanted to draw a graph with just a constantLine,
it raised a ZeroDivisionError.
This patch corrects this error.

Hi, is someone interested in reviewing and/or merging these changes ?
BTW, happy new year :-)

Hi, is someone interested in reviewing and/or merging these changes ?

Hi, is someone interested in reviewing and/or merging these changes ?

Hi, is someone interested in reviewing and/or merging these changes ?

Hi, is someone interested in reviewing and/or merging these changes ?

@g76r - yep, but it's not ready to merge now :(

rebased
ironicaly the conflict was probably due to #935 merge :-)

[Current coverage][cc-pull] is 37.67%

Merging [#645][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master       #645   diff @@
==========================================
  Files            51         51
  Lines          5771       5771
  Methods           0          0
  Messages          0          0
  Branches       1117       1116     -1
==========================================
  Hits           2174       2174
  Misses         3400       3400
  Partials        197        197

Powered by Codecov. Last updated by [51118d7...3f6a775][cc-compare]
[cc-base-branch]: https://codecov.io/gh/graphite-project/graphite-web/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/graphite-project/graphite-web/compare/51118d7094403835bf9c7720d74952b940b76798...3f6a775e6198ae8c9af9defe6f79febff86cc33a
[cc-pull]: https://codecov.io/gh/graphite-project/graphite-web/pull/645?src=pr

well... rebasing a 2 years old PR without fixing tests was not a good idea...
fixed. sorry.

Hi, is someone interested in reviewing and/or merging these changes ?

Looks good, tests are there, merging.

thanks!


Update manage-the-search-schema.md

Fix for #287 (SharePoint Server)

@tklarsen Hi Tone, could you please check this PR and merge if correct? Thanks!


⬆ Upgrade hackney dependency

Goal
Upgrade hackney dependency.
Fixes #56. Fixes #57.
Changes

allow current versions in the version constraint: "~> 1.17.4 or ~> 1.18.0" => "~> 1.18"

@victorolinasc This PR is merged, but not released yet. Is there a chance on putting it into a patch release in the near future?

I am waiting for someone to report that current master is ok with the process structure changes. Can you try that and see if things are working properly? If so, I'll gladly release a new version.

I guess with process structure changes you are referring to PR #48 ?
I have not initially written the joken_jwks based JWKS integration for our application, I just came into the project at the beginning of this year and inherited the code for maintenance. Thus, I don't understand the changes yet.
Do you have any migration instructions?
I see that we are using Joken 2 with Joken.Config and a hook, just as you explain in the README:
add_hook(JokenJwks,
  strategy: MyAppWeb.UserTokenVerification.Google.JwksStrategy
)

and that strategy looks like this, pretty straightforward:
defmodule MyAppWeb.UserTokenVerification.Google.JwksStrategy do
  use JokenJwks.DefaultStrategyTemplate

  def init_opts(opts) do
    url = Application.fetch_env!(:my_app, :google_token_jwks_url)
    Keyword.merge(opts, jwks_url: url)
  end

  def expire_cache do
    __MODULE__.EtsCache.set_status(:refresh)
  end
end

I already understand that EtsCache is not included in the DefaultStrategyTemplate use macro anymore. How must I rewrite the cache expiry?


tool: pin ruff version

Hopefully this will fix the ruff inconsistencies between local and CI envs.
Install the correct version using uv:
# install
$ uv tool install<EMAIL_ADDRESS>
# use
$ uvx<EMAIL_ADDRESS>check .

If this is the only version you have installed then it may be possible to still use the shorthand, if the version comes back correct:
$ uvx ruff --version
ruff 0.6.8

$ uvx ruff check.

--> uv tool install<EMAIL_ADDRESS>error: Failed to parse<EMAIL_ADDRESS>  Caused by: Expected path (`/Users/matthewzipkin/0.6.8`) to end in a supported file extension: `.whl`, `.zip`, `.tar.gz`, `.tar.bz2`, `.tar.xz`, or `.tar.zst`
<EMAIL_ADDRESS>     ^^^^^

I do like this:
(.venv) --> uvx ruff check .
ruff failed
  Cause: Required version `==0.6.8` does not match the running version `0.6.9`

getting this gem now trying to pip install -e:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
bmon-infra 0.0.1 requires clii>=1.0.0, which is not installed.
bmon-infra 0.0.1 requires fscm<EMAIL_ADDRESS>which is not installed.
bmon-infra 0.0.1 requires mitogen<EMAIL_ADDRESS>which is not installed.

ok the command that worked for me was uvx install tool 'ruff==0.6.8'

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts
Reviewers, this pull request conflicts with the following ones:

#616 (Using team namespaces: Kubeconfig Step Thru by mplsgrant)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

Id suggest adding to the docs somewhere how to install the right version, then lets merge this!

Done


Take fullPage screenshot based on partial images

Based on https://github.com/averta-lab/puppeteer-full-page-screenshot

Coverage increased (+52.5%) to 93.548% when pulling ea0f24a272bbd83e78c109b8e59382c78788d542 on fullpage into 166ad01636c6b4b2bbc48496b6bd084cb8a88fae on master.