Show old tiles until new ones are downloaded

When a user zooms in enough, new, more zoomed in tiles are loaded and displayed. Would it be possible to show the images of the current layer until the new pictures are loaded instead of just showing a grey map while the new tiles are loading?

Yes, we should always keep the old tiles on the screen when zooming.

I have this issue too,
When it's going to be fixed?

Unfortunately, I don't have an estimate on when I'll have time to fix this

That said, we accept pull requests!

What is the work required here?

I have this issue too, when the scrolling happens the tiles which are loading turn white which is bad UX

I think this will require some additional investigation into Leaflet's tile fetching strategy.  I assume it eagerly loads the tiles at the surrounding zoom levels

Just glancing over the code I think we can use the placeholder field on the FadeInImage  with the previously loaded tile, if we can pass in the old coords right ?

I have the same issue, the usability is not good.

Yes, we should really try to fix this, it shouldn't be too hard. I can't make any promises but if I have time I could look into doing what @aswinmohanme suggested.

Guys you can use GoogleMap (Google Supported Officially) instead.
It is made alongside flutter release v1.0.

@imaNNeoFighT flutter_map has also great advantages towards google_maps_flutter or is it already possible that each marker on the map is also a widget?

I think it's not possible to put a widget as a marker,
And maybe it is Google policy to prevent it because also in android you can't directly put a View as Marker on GoogleMap,
And in android to achieve this we had to use a projection that supported by GoogleMap that converts latitude, longitude to screen pixel position, maybe in future, this functionality added to FlutterGoogleMap (or maybe it exists already).

@ganisback I really haven't had the time to look into this...

I've possibly got a workaround to help with the grey screen on zoom level changes, where I keep cached tiles for a small amount of time by default (eg 1 second), and doesn't let pruneTiles remove a tile until that amount of time has passed. It feels like it works ok for me, but would be happy for someone to test it further.
I've got the tile_layer.dart file edited from a git clone, added/committed. Not sure what's best for someone to look at, a git push origin master, or a merge or something ? (I'm not familiar with git).

@ibrierley you can fork the repo, push your changes to that, and make a pull request

Thanks John, I figured it yesterday and created a pull request https://github.com/johnpryan/flutter_map/pull/190 . Good practice for me!

Hey guys :)
I would make a flutter app using a map and therefore I would like to ask if you are already working on the solution of this issue and if so, how long you estimate that you need it?

This is the highest-voted issue, so it's next on the agenda, but I haven't found anyone interested in working on it yet.

As someone interested in this feature, but without any experience developing flutter packages, this issue seems quite daunting.
Perhaps @johnpryan or anyone experienced with this package can give a general description of the best way to implement it and someone else can actually implement it.
I'm willing to do it, I just have no idea where to start :)

I had a look at this a while back ( see https://github.com/johnpryan/flutter_map/pull/190 ), but there was a bug somewhere (possibly not in the pull request, not sure) I never managed to track down. I've noted that there has been quite a few fixes and changes since that though, so that could be one alternate approach...(I'm not sure I'll have time in the near future to revisit)
I think the tile providing code and caching has changed a bit since I had a look as well.
I guess first question may be, do the image providers provide a callback now, so that we figure out when all the images are downloaded...(I don't think they did before, but maybe they've changed)?
That may help decide which is the correct approach...

I agree with what @ibrierley says.
There first needs to be a loaded callback, then a way to keep multiple zoom layers loaded and render the highest loaded tile and keep all tiles that do not have a replacement set of tiles loaded and scaled so there is minimal grey area until the replacement is loaded. An extra reach goal might be to allow for fade transitions between tile replacements so the transition is even smoother.
I think something that is important along with the tiles loading on top is there should be better pre-fetching options. That way the user could specify if they want to preload +- 1 zoom level or even with horizontal panning allow for tiles to load outside of the viewport but it needs to be customizable as loading extra tiles could be costly to users where cost/tile is high.

Is this issue solved? i still stuck with this issue :((

After loading the requested tiles, can we make additional requests for zoomin, zoomout and horizontal tiles?, so that when we scroll or move direction we have loaded tiles?

After loading the requested tiles, can we make additional requests for zoomin, zoomout and horizontal tiles?, so that when we scroll or move direction we have loaded tiles?

this one will be nice to have, but as for me - its not related to the current issue.

After loading the requested tiles, can we make additional requests for zoomin, zoomout and horizontal tiles?, so that when we scroll or move direction we have loaded tiles?

this one will be nice to have, but as for me - its not related to the current issue. It sounds more like a feature. but the current topic describes a bug.
so fixing bug sounds more iportant then adding new feature.

Yes, but the thing is that this is a bug that is open since 2018.. I think we should give that a try, and see if it fixes that bug otherwise you can't load the tiles without going to the tiles (to request them), that's why the idea is to fetch the nearest tiles also. If you see google's plugin or mapbox's one you see the do a kind of blur for other tiles until downloaded.

Just do not delete the old tiles until when the new tile from the new zoom level have been loaded...

That has been thought of already :D.
There are 2 main issues I think...(this was a while back when I looked, some of the code has changed since then)...

Is there a callback/method of knowing when a new tile has been loaded ?

I also think there is an issue with transitioning tiles whatever, even if you don't prune tiles at all, I think there was some flashing. Ages ago I did submit a pull request that kept tiles about for a time period to smooth it out, but there was some random bug (possibly with flutter, I couldn't see an issue with flutter_map, but it could also have been my code), where sometimes (rarely, but enough to cause a significant problem) the whole lot would go blank, so I withdrew it.

It feels far more fiddly than it should be, but there may be a simple solution out there if anyone wants a stab.

Just had a quick peak to remind myself of the problems...
The callback side is ok, that can be achieved I think with an ImageProvider and resolve e.g something akin to the following and swap that in for the image value in the FadeInImage widget.
    ImageProvider newImageProvider = options.tileProvider.getImage(coords, options);
    newImageProvider.resolve(ImageConfiguration()).addListener(
      ImageStreamListener(
          (info,call) {
           // do stuff to manage whether loads are complete
            print( "Network image loaded" );
          },
      ),
    );
    return newImageProvider;
  }

However,  I think that can help with zooms inbetween levels (eg a zoom from 13.2 to 13.6 or whatever), but I suspect when you zoom to the next level, eg 14, the old tiles are then calculated in the wrong position with the new level....maybe ?
I may well be wrong on that, I haven't done any debugging as I don't really know the coordinate stuff and calcs, but it feels like the problem may be somewhere in that ballpark.
It would be good if there is someone about who understands that part of the code.

Actually, I think what I said before isn't correct (have edited), I do think it handles other levels ok. I think it's just not including them sometimes with the line ( if ((tile.coords.z - _level.zoom).abs() <= 1) tile ). So i think it's possible, just keeping old ones, maybe with a callback and with some code pruning changes...
I think then the tricky bit, is trying to make sure only the correct tiles get kept as backup. We probably don't want to keep 'all' the tiles if one hasn't downloaded at some point, just the ones that would be visible maybe (even better if we knew it covered an outstanding one, but that may be pushing it). Otherwise it's probably getting inefficient.....?

I've been having a play and have a rough proof of concept here I think, if anyone wants to try, it's not ready to go live, and has debugging etc, there are probably bugs!
https://github.com/ibrierley/flutter_map/blob/keep_old_tiles/lib/src/layer/tile_layer.dart
One of the main concerns is when there are outstanding network requests, just keeping unnecessary tiles around can build up, so any thoughts on that welcome. The version above is probably too eager to keep stuff around, so may end up causing performance issues down the line.
If nothing else it may give some others some ideas.

I've been having a play and have a rough proof of concept here I think, if anyone wants to try, it's not ready to go live, and has debugging etc, there are probably bugs!
https://github.com/ibrierley/flutter_map/blob/keep_old_tiles/lib/src/layer/tile_layer.dart
One of the main concerns is when there are outstanding network requests, just keeping unnecessary tiles around can build up, so any thoughts on that welcome. The version above is probably too eager to keep stuff around, so may end up causing performance issues down the line.
If nothing else it may give some others some ideas.

Will this fix the bug even if it gives to much load in the network ?

We can also think to create a timer to remove old tiles with time ? @ibrierley

Nice, i was trying to find a way to make this work, but i'm still not enough fluent with flutter_maps.
Hope to see this coming along in a good way :+1:

@edihasaj I had pondered a timer solution, but I can't quite get my head around a logic solution that would feel solid.
Lets say you have a bad signal, and are downloading tiles. It may be 15 mins for example before you get a signal again, with some tiles loaded others not. If you remove the old tiles on a timer, all of a sudden the map you are looking at could end up displaying no tiles at all.
There may be other bugs issues as well. I'm not too familiar with flutter/dart/flutter_map, and testing for all the permutations of lousy connections, different pans/zooms etc is quite tricky.
The best way feels like some way to detect if a tile is covered by other tiles, but I feel like that may be quite fiddly/hacky/bloated as well (at least if I code it :D)

@ibrierley, yes if we put evey tile in one place that can happen. It doesn't seem as a good idea. That will need to much code to write, as far as I can see mapbox's plugin is a copy of google_maps plugin (both for flutter) an I didn't yet find anything of how they did it, they may be doing it by using map controllers with coordinate detection.. or smth else I noticed was that they save a list of tiles that are very zoomed out and blured and then use them onscroll maybe, until regular tiles are downloaded.. 🤔

Just pondering this a bit more, it feels like a creeping problem, getting a bit more complex each time. I'm wondering if it would actually be better to not have transparent placeholders until a tile is loaded, as if there's quite a few outstanding, it feels like it can make the movement grind a bit. (eg you may end up trying to display 60+ tiles of which only 8 are loaded).
So one possible alternative/addition, would be to not display a tile at all until it's loaded (and then fade in if necessary), not sure how easy that is without a bigger rewrite though atm.
Just wondering if anyone has had an experiment in that direction (either in flutter_map or in flutter in general) ?

Just a note, here's what I'm testing atm, https://github.com/ibrierley/flutter_map/blob/keep_old_tiles/lib/src/layer/tile_layer.dart if anyone wants a play and to give any feedback, it it's useful, a load of rubbish, or buggy, or feel free to use any of the added bits in there for ideas on another solution.

btw if anyone can figure how to trigger a rebuild from the image callback func, it would be very useful, as it's missing that (it will keep background tiles, but only update to the newer ones once you move/zoom now, which is an issue really). I thought it would be simply calling setState, but that doesn't seem to do it (maybe as the build is calling other functions outside it?)

hmm still too buggy, don't bother testing that atm.

Sorry for the spam yesterday, thought I had got somewhere, anyway I think I have this time...
Feel free to have a play and feedback, especially if you can emulate bad connections, different tile providers etc.
https://github.com/ibrierley/flutter_map/tree/keep_old_tiles
There is only one file change in
https://raw.githubusercontent.com/ibrierley/flutter_map/keep_old_tiles/lib/src/layer/tile_layer.dart
So if you want a quick test, backup your old one (prob in your pub cache), and plop that one in.
There are 2 options there added...
greedyTileCount which will try and look ahead and grab an extra tile to help panning smoothness.
tryFallbackTiles which will try and keep old tiles around until it's been loaded.
There is also a possible bug (not decided yet, welcome to hear from others), on the sorting order of tiles by zoom, I've swapped that around, but appreciate that has been that way for some time, so I may have got that wrong.

Still actually a bit clunky on certain phones with finger pinching mainly, maybe it's asking too much for the amount of tiles/requests, so not sure this is still the solution. Needs some more pondering.
I'd be interested to know if the tiles not loading on edges of map issue is fixed with it tho. I've got an updated version with the latest master if anyone needs.

Sorry for spam again, probably last updates for a while if anyone wants to try. Code at links above, and updated with recent master changes.
It now has some "smoothing" (I use that term very loosely), to try and help with the jarring blinking of the map when it prunes very frequently. New tilelayer options below.
Try with defaults, but also try changing them if you have a problem to see if anything helps, or it's a load of old pants :D.
  /// Try and grab tiles in advance for pan direction. 1 probably a good balance.
  /// Don't set this much higher than one, or there may be too many tile requests.
  /// 0 May be better if network limited for example.
  int greedyTileCount;

  /// Keep an old tile, until the new one has downloaded
  bool useFallbackTiles;

  /// pruning tiles every move can lead to clunky flashing where prunes happen
  /// before loads, so try and back skip some prunes. Example 40ms. For some
  /// apps it may be better at 0, or even increased for very old devices.
  /// Maybe we could be intelligent and calculate if we need to back off pruning..
  /// ...tbd
  int tilePruneSmoothing;

Hi guys,
Not sure this is the best place to add this, but it's seems related. Currently I changed the styles for a map I have on MapBox, but now when I load the map in my app, about 95% of the map has the new styles, while the other 5% loads with the old styles. Zooming out fixes the issue until you zoom in again and the further you zoom the more tiles have the old style/image.

Just wondering if it's because it's cached he old style tiles ?
Is the new style using a different url (I would assume not cached if so)....it might be worth trying to clear the cache i.e https://stackoverflow.com/questions/47209606/how-do-i-clear-flutters-image-cache (I'm assuming that's the same cache. but i may be wrong).
If it does, it may be worth exposing that method easier in flutter_map
I suspect this is a separate problem to this issue though, so may be worth opening a new one if it's more complex.

Hi
Yeah, it was a caching issue. I changed the url to a new one and that one seems fine. Thanks.

For anyone following this. I've just been reworking an idea I had on this problem, and as before, would be interested in any testing...
https://github.com/ibrierley/flutter_map/tree/improve_tiles_display
(files tile_layer.dart and map/map.dart are only changes)
The approach in this one, is to discard completely the notion of 'pruning' tiles, and just display what we want in the first place with a fresh slate. If a tile is new/outstanding, we try and find the best old tile according to a strategy (it has a default currently to look up 3 levels, and down 1, but that's configurable.
It 'feels' better, seems have to display less tiles on average than the other approach. However, it deviates more from the original leaflet code (I've put a post on their repo asking for thoughts on a similar issue), and strips out a reasonable amount of code.
It needs more testing, especially if there are others with edge cases, transparent tiles, offline tiles, etc. But interested in thoughts.

@ibrierley: I've been testing your fix against a similar problem I've been having: zooming in by one step using MapController.move() causes the old tiles to be used, the new tiles are never displayed. Zooming in another step causes the new tiles to be loaded.
Eg, if MapController.zoom is currently 7 (and the center is currently set to the LatLng in center), running _mapController.move( center, 8 ) will zoom in, but it won't display the zoom level 8 tiles. Subsequently running _mapController.move( center, 9 ) will zoom in again, but this time it does load the zoom level 9 tiles.
Interestingly, zooming out doesn't appear to have the same problem.
Anyway, your improve_tiles_display branch fixes this issue, and I haven't noticed it causing any problems, so I'd love to see it land. 🙂

Thanks for the feedback.
Yes, I've discarded the original one really, so 'improve_tiles_display' is
the better one. I've also discarded the improve_tiles_display as well as a
pull request for the moment, there's a few too many outstanding pull
requests that may change things, and I needed to get on working.
So as a compromise I've rewritten improve_tiles_display as a plugin now so
people could choose to have original and new versions as well. At
https://github.com/ibrierley/flutter_map_tile_layer_x however it's waiting
on another pull request https://github.com/johnpryan/flutter_map/pull/555  we
can use plugins to override old layer methods (otherwise you'll get an
error, if you don't have the 2nd one). I'll post in here if I see it get
approved.
Ian
On Sun, Mar 29, 2020 at 4:08 AM Gary Pendergast<EMAIL_ADDRESS>wrote:

@ibrierley https://github.com/ibrierley: I've been testing your fix
against a similar problem I've been having: zooming in by one step using
MapController.move() causes the old tiles to be used, the new tiles are
never displayed. Zooming in another step causes the new tiles to be loaded.
Eg, if MapController.zoom is currently 7 (and the center is currently set
to the LatLng in center), running _mapController.move( center, 8 ) will
zoom in, but it won't display the zoom level 8 tiles. Subsequently running _mapController.move(
center, 9 ) will zoom in again, but this time it does load the zoom level
9 tiles.
Interestingly, zooming out doesn't appear to have the same problem.
Anyway, your improve_tiles_display branch fixes this issue, and I haven't
noticed it causing any problems, so I'd love to see it land. 🙂
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/johnpryan/flutter_map/issues/79#issuecomment-605551428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA5YN5IXSLJLBCZIFU3CB5TRJ23SPANCNFSM4FM2SGWQ
.

Hi,
I am trying to fix that issue with background layer of tiles.
Here is the code: https://github.com/obiwanzenobi/flutter_map/tree/feature/79-keep-old-tiles-on-downloading
Here is a gif:

It's my first PR here :) any feedback would be appreciated

I think it feels solid and similar to the pull request I did a while back linked earlier. I think the only reason I wasn't happy with that general method was that at times you may get up to 30 tiles to display if some are outstanding, which could cause performance issues on certain devices, so may need testing there. I still think that route is better than the current solution though which flashes and gets annoying, and your solution is fine and would be happy with it.
The pull requests were waiting a long time, so gave up in the end (hope that one doesn't happen here), and rewrote a different solution as a plugin which may give further ideas if you wanted to explore more https://github.com/ibrierley/flutter_map_tile_layer_x (it removes the idea of any outstanding tiles, and deleting tiles completely, it just decides on which tile to display and if outstanding tries a recently seen one that is likely in cache, but that plugin is waiting on a pull request too).
So there's a couple of different routes, both have pros and cons, would be good to see something added :).

(sorry for dupe comment, added from wrong account).
I think it feels solid and similar to the pull request I did a while back linked earlier. I think the only reason I wasn't happy with that general method was that at times you may get up to 30 tiles to display if some are outstanding, which could cause performance issues on certain devices, so may need testing there. I still think that route is better than the current solution though which flashes and gets annoying, and your solution is fine and would be happy with it.
The pull requests were waiting a long time, so gave up in the end (hope that one doesn't happen here), and rewrote a different solution as a plugin which may give further ideas if you wanted to explore more https://github.com/ibrierley/flutter_map_tile_layer_x (it removes the idea of any outstanding tiles, and deleting tiles completely, it just decides on which tile to display and if outstanding tries a recently seen one that is likely in cache, but that plugin is waiting on a pull request too).
So there's a couple of different routes, both have pros and cons, would be good to see something added :).

Hello guys,
I implemented Leaflet's tile fetching /retaining strategy in PR #572 take a look.

Is the fix already supposed to be present in 0.9.0?
It appears to be not included yet :/

@Chris1234567899 Make sure you run flutter pub upgrade command.


Evaluation Deep Copy vs Shallow Copy

amarwadhwani3
PR for evaluation article deep copy vs shallow copy

Closing as requested in instructions


chore(azure): upgrade azuread provider version ~> 2.0

Important: some Azure AD terraform resources (ex: applications) must be redeployed with the new provider if they are defined in the same terraform workspace as the devops stack azure module.


data out of date

Hey, I'm a happy user of the API, so thanks a lot for that.
I'm curious is there any strategy to update the data regularly, or otherwise, isn't a necessary thing.
https://github.com/apilayer/geolocationapi/blob/master/data/countries.json
Also, the project looks not updated for a long time, so I'm not sure if it's a good idea to use it in the long term?

ping to @madisvain 👀


sha512 on ioPay-0.10.0.AppImage incorrect?

I downloaded ioPay-0.10.0.AppImage as well as the latest-linux.yml and then ran sha512sum on the former.  The resulting sum has 128 chars and looks like c21f0a08...2e57deee which does not agree with the sha512's shown in the .yml file. Are they supposed to or is the one in the .yml for some other purpose?

Thanks for reporting, team is looking into this one.

You can use shasum -a 512 ioPay-0.10.0.AppImage | xxd -r -p | base64 to see the base64 encoded checksum.

Ok, that worked (after installing xxd). However, if I may ask, why the non-obvious process? why not store the output of shasum which is only about 40 chars longer?

checksum is generated automatically during the electron build process and it is unnecessary to customize this.


Report used memory/max used memory

Problem Statement
In order to better understand the memory usage, Sentry should report the used memory of an application.
Solution Brainstorm
Dart offers to query some memory information:

https://api.dart.dev/stable/3.2.5/dart-io/ProcessInfo/currentRss.html
https://api.dart.dev/stable/3.2.5/dart-io/ProcessInfo/maxRss.html
https://api.dart.dev/stable/3.2.5/dart-developer/NativeRuntime/writeHeapSnapshotToFile.html (most likely not available in release mode tho)
There's also https://github.com/dart-lang/leak_tracker/tree/main/pkgs/memory_usage doing some more

These APIs make it available for Dart and Flutter.
Are you willing to submit a PR?
Yes
One problem with this is, that this is a pretty new API, meaning using it would break for currently supported lower versions.

From what I can see I assume currentRss and maxRss are stable enough to use


Add Hardware Offload Validation as a test option for flows.

Hardware Offload Validation uses "perf3", "tcpdump" and "ethtool"
to determine whether a flow has been hardware offloaded properly.
The expectation is that little to no packets are received on the
VF representors for the client and/or server pods.
In order to get the VF representor for the pods involved, the ft-tools
pod is used with the "crictl" application to get the POD ID.
The ft-tools pod was updated to include "crictl". Also the tools
daemonset was updated to mount the host filesystem (similar to
openshift's debug pod e.g. "oc debug node/"). Also fixed the
node selector to point to "sriov", otherwise the ft-tools won't be
created for the nodes.
Some flows aren't expected to be hardware offloaded; thus the "HWOL"
option would not perform the validation for those flows.

@Billy99 @bn222

Some issue with the .gitignore top level file. You cannot have empty folders in git, thus we need subdirectory .gitignore files.
Adding reverse Iperf tests.

/lgtm


New version: PyCall v1.94.2

Registering package: PyCall
Repository: https://github.com/JuliaPy/PyCall.jl
Created by: @stevengj
Version: v1.94.2
Commit: cedc1cc910a613b075b03508b4c7cff3f321ae5b
Reviewed by: @stevengj
Reference: https://github.com/JuliaPy/PyCall.jl/commit/cedc1cc910a613b075b03508b4c7cff3f321ae5b#commitcomment-95166044
Description: Package to call Python functions from the Julia language

Close in favor of #75209.


Tildy name flashes on startup

When starting the app with a thread using a custom assistant, the name of the assistant will briefly flash as "Tildy" and then switch to the correct name.
The "Tildy" name should not flash and the correct name should be used.

PR: https://github.com/gptscript-ai/desktop/pull/337

To reproduce this issue:

Ensure your top thread is with a custom tool, not Tildy
Press Cmd-r to refresh the page
You should see Tildy flash at the top of the screen before the name of the assistant shows up

With the proposed changes, that should not happen any longer.

Tested with electron build 97e615c58
This issue is not seen anymore.


UI title

This updates the UI title as requested.
Fixes https://github.com/project-koku/koku-ui/issues/837

Codecov Report

Merging #840 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #840   +/-   ##
======================================
  Coverage    74.2%   74.2%
======================================
  Files         210     210
  Lines        3714    3714
  Branches      649     649
======================================
  Hits         2756    2756
  Misses        866     866
  Partials       92      92

Continue to review full report at Codecov.

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


Added styles to some of the buttons in edit section to maintain consistency in app

Make sure you've done all the following (You can delete the checklist before submitting)

[x] Apply the AndroidStyle.xml style template to your code in Android Studio.
[x] Code is well documented
[x] Include unit tests for new functionality
[x] All user-visible strings are made translatable
[x] Code passes Travis builds in your branch
[x] If you have multiple commits please combine them into one commit by squashing them.
[x] Read and understood the contribution guidelines .

Can you include some screenshots please?

Can you include some screenshots please?

@mustaqmustu Can you take advantage of the PR to ensure that "Take more photo" is not hidden in simplified addition mode ?

Can you add a little space before the button ?

Can you add a little space before the button ?

@teolemon done

looks good for me @Karljoones


Feature/todevelop2

          1 Warning

:warning:
Please target PRs to develop branch

  Generated by :no_entry_sign: Danger


download-fix

download_if_not_present function is absent in the corresponding file, example won't work because of missing import

https://github.com/tinygrad/tinygrad/commit/7169de57e28aaa4a6b23ba292714ea21d35cfeea commit which removed the relevant function


docs: header authentication service configuration

Summary
Documentation pull request of https://github.com/php-http/HttplugBundle/pull/438.

thanks!
i fixed the readthedocs build in the main branch. this is so trivial that we don't need to see a preview, i will just merge when we are ready.

I did a rebase from it.


DLS_DEAD_LOCAL_STORE in BillingEventIntegration

Trying to spin up aws-saas-boost in us-west-2 region and getting few errors with BillingIntegration module.
Reproduction Steps

Checkout aws-saas-boost code.
set aws profile to us-west-2
run install.sh (skip the metrics and analytics module installation)

Code reference:
try {
CustomerCreateParams params =
CustomerCreateParams.builder()
.setName(customerName)
<EMAIL_ADDRESS>.setPaymentMethod("pm_card_visa")
.setInvoiceSettings(
CustomerCreateParams.InvoiceSettings.builder()
.setDefaultPaymentMethod("pm_card_visa")
.build())
.setDescription(customerName + " from AWS SaaS Boost")
.build();
customer = Customer.create(params);
//create the subscription
createStripeSubscription(customer, planEnum, tenantId);
LOGGER.info("provisionTenantInStripe: Customer created with id: " + customer.getId());
} catch (StripeException e) {
LOGGER.error("provisionTenantInStripe: Error creating Customer for Tenant: " + tenantId);
LOGGER.error(Utils.getFullStackTrace(e));
throw e;
}
}
What did you expect to happen?
A working aws-saas-boost app in us-west-2 region.
What were you trying to achieve by performing the steps above?
Trying to integrate with stripe account.
What actually happened?
Errored out with few exception at the BillingIntegration.java
2022-07-18 15:27:43.697  INFO  SaaSBoostInstall - [ERROR] Medium: Dead store to countByProductCode in com.amazon.aws.partners.saasfactory.metering.aggregation.BillingEventAggregation.performTransaction(List, Map, ZonedDateTime, TenantConfiguration) [com.amazon.aws.partners.saasfactory.metering.aggregation.BillingEventAggregation] At BillingEventAggregation.java:[line 308] DLS_DEAD_LOCAL_STORE
2022-07-18 15:27:43.698  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.aggregation.BillingEventAggregation.aggregateEntries(Map, TenantConfiguration) makes inefficient use of keySet iterator instead of entrySet iterator [com.amazon.aws.partners.saasfactory.metering.aggregation.BillingEventAggregation] At BillingEventAggregation.java:[line 345] WMI_WRONG_MAP_ITERATOR
2022-07-18 15:27:43.699  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.aggregation.BillingEventAggregation.buildUpdate(Map, Map) makes inefficient use of keySet iterator instead of entrySet iterator [com.amazon.aws.partners.saasfactory.metering.aggregation.BillingEventAggregation] At BillingEventAggregation.java:[line 245] WMI_WRONG_MAP_ITERATOR
2022-07-18 15:27:43.700  INFO  SaaSBoostInstall - [ERROR] High: Boxing/unboxing to parse a primitive com.amazon.aws.partners.saasfactory.metering.aggregation.StripeBillingPublish.getAggregationEntries(String) [com.amazon.aws.partners.saasfactory.metering.aggregation.StripeBillingPublish] At StripeBillingPublish.java:[line 133] DM_BOXED_PRIMITIVE_FOR_PARSING
2022-07-18 15:27:43.701  INFO  SaaSBoostInstall - [ERROR] High: Write to static field com.stripe.Stripe.apiKey from instance method com.amazon.aws.partners.saasfactory.metering.aggregation.StripeBillingPublish.handleRequest(InputStream, OutputStream, Context) [com.amazon.aws.partners.saasfactory.metering.aggregation.StripeBillingPublish] At StripeBillingPublish.java:[line 264] ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD
2022-07-18 15:27:43.702  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.common.AggregationEntry.getPeriodStart() may expose internal representation by returning AggregationEntry.periodStart [com.amazon.aws.partners.saasfactory.metering.common.AggregationEntry] At AggregationEntry.java:[line 38] EI_EXPOSE_REP
2022-07-18 15:27:43.703  INFO  SaaSBoostInstall - [ERROR] Medium: new com.amazon.aws.partners.saasfactory.metering.common.AggregationEntry(String, Instant, String, Integer, String) may expose internal representation by storing an externally mutable object into AggregationEntry.periodStart [com.amazon.aws.partners.saasfactory.metering.common.AggregationEntry] At AggregationEntry.java:[line 30] EI_EXPOSE_REP2
2022-07-18 15:27:43.704  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.common.BillingEvent.getEventTime() may expose internal representation by returning BillingEvent.eventTime [com.amazon.aws.partners.saasfactory.metering.common.BillingEvent] At BillingEvent.java:[line 45] EI_EXPOSE_REP
2022-07-18 15:27:43.705  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.common.BillingEvent defines compareTo(BillingEvent) and uses Object.equals() [com.amazon.aws.partners.saasfactory.metering.common.BillingEvent] At BillingEvent.java:[line 55] EQ_COMPARETO_USE_OBJECT_EQUALS
2022-07-18 15:27:43.705  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.common.EventBridgeEvent.getResources() may expose internal representation by returning EventBridgeEvent.resources [com.amazon.aws.partners.saasfactory.metering.common.EventBridgeEvent] At EventBridgeEvent.java:[line 95] EI_EXPOSE_REP
2022-07-18 15:27:43.706  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.common.EventBridgeEvent.setResources(List) may expose internal representation by storing an externally mutable object into EventBridgeEvent.resources [com.amazon.aws.partners.saasfactory.metering.common.EventBridgeEvent] At EventBridgeEvent.java:[line 99] EI_EXPOSE_REP2
2022-07-18 15:27:43.707  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.common.SubscriptionPlan.getMeteredProducts() may expose internal representation by returning SubscriptionPlan.meteredProducts [com.amazon.aws.partners.saasfactory.metering.common.SubscriptionPlan] At SubscriptionPlan.java:[line 44] EI_EXPOSE_REP
2022-07-18 15:27:43.708  INFO  SaaSBoostInstall - [ERROR] Medium: com.amazon.aws.partners.saasfactory.metering.common.TenantConfiguration.getSubscriptionMapping() may expose internal representation by returning TenantConfiguration.SubscriptionMapping [com.amazon.aws.partners.saasfactory.metering.common.TenantConfiguration] At TenantConfiguration.java:[line 56] EI_EXPOSE_REP
2022-07-18 15:27:43.708  INFO  SaaSBoostInstall - [ERROR] High: Dead store to custIdMap in com.amazon.aws.partners.saasfactory.metering.onboarding.BillingIntegration.getStripeCustomer(String) [com.amazon.aws.partners.saasfactory.metering.onboarding.BillingIntegration] At BillingIntegration.java:[line 406] DLS_DEAD_LOCAL_STORE
2022-07-18 15:27:43.709  INFO  SaaSBoostInstall - [ERROR] Medium: Write to static field com.stripe.Stripe.apiKey from instance method com.amazon.aws.partners.saasfactory.metering.onboarding.BillingIntegration.setupBillingSystemListener(EventBridgeEvent, Context) [com.amazon.aws.partners.saasfactory.metering.onboarding.BillingIntegration] At BillingIntegration.java:[line 88] ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD
2022-07-18 15:27:43.710  INFO  SaaSBoostInstall - [INFO]
Environment

**AWS Region  : us-west-2
**AWS SaaS Boost Version :1.12
**Workload OS  (Linux or Windows) : Linux

This is :bug: Bug Report

Resolved the issue. Parent pom had missed tags.


Info Button On Hover

When moused over:
-Pop-up should be white and opaque, instead of black and semi-transparent
-Pop-up should be shorter in height and wider in length
-Text should be black instead of white
-Text should start at "Action word...", take away search result at beginning of this

Everything has been finished except taking away the search result

All parts completed


API documentation

Please link to full API docs from the README.
Thanks for releasing this!

@jab Not sure what you're suggesting exactly? The Nexmo API docs are spread across a number of pages and the URLs change from time to time, so it makes sense to only link to the root.

I was talking about the Python API, not the underlying Nexmo HTTP API.
Unless I'm missing something, currently the best method your users have for finding the API they're looking for is to grep the source code or the tests.
If you're interested, you can improve this with minimal effort using a documentation tool like Sphinx, which can automatically generate a page with all the things your library exports (see http://sphinx-doc.org/ext/autodoc.html), and host it for free somewhere like readthedocs.
For example, all it took to generate https://bidict.readthedocs.org/en/latest/api.html was https://raw.githubusercontent.com/jab/bidict/master/docs/api.rst.

@jab Ok, understood. Not a bad idea, but I wouldn't describe it as "minimal effort" to document something thoroughly--even with tool + simple config the docstrings still need to be written.

Actually even without docstrings Sphinx autodoc can discover the classes and methods that a module exports and generate a page that lists them all, including method parameters.

yeah @timcraft  that's not a very valid excuse.
i want some documentation to evaluate if the product is truly right for me. not fair to have to dig through code and make assumptions.

I've created #10 to address this. The readme is automatically translated to rst and sphinx combines that with autodoc output. The result is currently published at: http://nexmo-python.readthedocs.io/en/latest/quickstart.html

@judy2k Thanks for the PRs, helps to have something concrete to discuss.
I agree the documentation is currently lacking and needs improvement.
Adding a 228 line makefile, a 345 line config file, and a 281 line batch file just to produce a method listing for a 289 source file seems heavy handed and a potential maintenance headache.
Can the PR be simplified and all that config removed? Earlier comment from @jab suggests only the top level .rst file is needed.
Are there alternatives to Sphinx which can create a method listing with minimal config? I've just tried pdoc and that works with just pdoc --html --html-dir docs nexmo. Alternatively could add a script to generate a listing to paste into the README (potentially replacing the existing examples).
@leggetter @tjlytle Thoughts on documentation? Method listing and docstrings would be an improvement and more familiar than the existing README structure. Can we standarise on some guidelines across the libraries?

Those files are mostly auto-generated. I could certainly remove a lot of the comments from the config to make it smaller. These files, once created are rarely touched, so I don't think maintenance is a significant concern.
The rst doc that @jab pointed to is used within a sphinx project with the same makefile etc. it's just the directives in that rst file referenced that specifically extract docstrings from the code.
Sphinx documentation is what is usually expected for a library within the Python community (It's the tool used for generating the core python documentation and so is well-recognised). The insertion of the reference docs isn't the end-goal; The end goal is a generated documentation site documenting the library, which would require writing some more rst.
Documentation Examples:

Django
Flask
Requests

API docs added in #10, thanks @judy2k


Feature request – confirmation option

It would be nice if we could flag a command to ask for confirmation.
For instance we use a lot of commands like reset-db-test and reset-db-dev, but the latter would mean losing all data manually entered by the developer on the project. We can do the confirmation manually but it could be a nice feature.
What do you think?

You can use --dry-run to preview the commands that would be executed, without actually running them, and then run just again without the --dry-run flag to actually run them. Does that work?

Not really because I know what the command does. It's just that I run the wrong one by mistake. But I dont want to dry-run all the time.
For now I have this recipe:
_confirm:
  #!/usr/bin/env bash
  read -p "Are you sure? " -n 1 -r
  if [[ ! $REPLY =~ ^[Yy]$ ]]
  then
      echo # newline
      [[ "$0" = "$BASH_SOURCE" ]] && exit 1 || return 1
  else
      echo # newline
  fi

And for instance I use it on the "reset dev" but not on "reset-test":
# Rollbacks and re run all migrations for the test database
reset-db-test:
  MIX_ENV=test mix ecto.drop
  MIX_ENV=test mix ecto.create --quiet
  MIX_ENV=test mix ecto.migrate --log-migrations-sql

# Rollbacks and re run all migrations for the development database
reset-db-dev: _confirm
  mix ecto.drop
  mix ecto.create --quiet
  mix ecto.migrate --log-migrations-sql

It works, but it could be nice if the recipe was built-in, with nicer propmpt, and the guarantee that answering "no" will terminate everything (I don't know bash, I am not sure those return and exit will work 100% of the time).
But that's just a suggestion, for now what I have works!

Gotcha! I'd be okay with this, especially if the implementation is simple.

I've had a look at this, I wondered about adding an attribute that would require confirmation. I've got a running example but I don't know if it's handled in a way you'd want in the project (it reads from stdio right now, which I can't see being used directly elsewhere in the project). I can make a pull request and we could go from there?

I wouldn't be opposed to an attribute which required confirmation. I think this covers @lud-wj's original feature request, @lud-wj, what do you think?

Sure! I did not know about attributes, but that's great :)

Nice, closing.

Excellent, thank you!


Creating Dynamic Resizing for WPF Controls Embedded in Win32 Programs

Help us make content visible
I have searched in documents using the terms “WPF Control in Win32”, “WPF Window resize with parent HWND”, “Linking WPF and Win32 window sizes”.
I found several individual discussions on embedding WPF in Win32 and window resizing in general, but none covered resizing an embedded WPF control to follow the size changes of its parent HWND.
Describe the new article
The article is necessary because current documents do not adequately address how to let a WPF control resize with its parent HWND in a Win32 application, which is a common scenario in legacy software updates.
It could be located under the section “Win32 and COM for WPF” -> “Advanced Scenarios” -> “Resizing Embedded WPF Controls”.
Abstract: This article aims to elucidate how Windows Presentation Foundation (WPF) controls, when embedded in Win32 applications, can dynamically adjust their sizes in correspondence to their parent HWND. Covering both theoretical aspects and practical implementations, guidelines provided in this article would help programmers in retaining the fluidity and responsiveness of their applications.
Outline:
Introduction to WPF Controls in Win32 Applications
Typical Problems with Size Adjustment
Understanding the Process of Dynamic Resizing
Practical Implementation: Linking WPF and Win32 Window Sizes

Sample Code and Explanation
Edge Cases and Troubleshooting
Conclusion

https://github.com/dotnet/docs-desktop/blob/9bee5c22944ff78a055e50c45242cf8a3baab502/dotnet-desktop-guide/samples/snippets/cpp/VS_Snippets_Wpf/Win32HostingWPFPage/CPP/Win32HostingWPFPage.cpp#L179

@adegeo

Hi @xingwozhonghua126 I'm sorry but I don't have any experience in this area to give you advice. You can try filing an issue at https://github.com/dotnet/wpf/ or asking on stackoverflow.

I'll let the product team handle this one. So I'll close the issue. Thanks!


Update default android page transition in the skeleton app

This PR updates the skeleton app template to define custom page transitions to better match the native transitions most commonly seen on Android 10 and above.
This should be reverted once https://github.com/flutter/flutter/pull/88482 has been relanded (or, more specifically, whenever someone makes an update that updates the default PageTransitionsTheme._builders to use the ZoomPageTransitionBuilder on Android).
This PR fixes https://github.com/flutter/flutter/issues/92439.
https://user-images.githubusercontent.com/7915388/147396920-0d8a92c9-a963-4182-9b85-f11a80690d8d.mov
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

If we want this to be the default, that seems like a better fix?
This should be tested, so that we don't accidentally break this.
cc @HansMuller @goderbauer for review

Superproprodev
On Sat, Dec 25, 2021, 7:03 PM Will Lockwood @.***>
wrote:

This PR updates the skeleton app template to define custom page
transitions to better match the native transitions most commonly seen on
Android 10 and above.
This should be reverted once #88482 (comment)
https://github.com/flutter/flutter/pull/88482#issuecomment-981489198
has been relanded (or, more specifically, whenever someone makes an update
that updates the default PageTransitionsTheme._builders to use the
ZoomPageTransitionBuilder on Android).
This PR fixes #92439 https://github.com/flutter/flutter/issues/92439.
Screen.Recording.2021-12-25.at.5.27.47.PM.mov Pre-launch Checklist

I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
I signed the [CLA].
I listed at least one issue that this PR fixes in the description
above.
I updated/added relevant documentation (doc comments with ///).
I added new tests to check the change I am making, or this PR is
[test-exempt].
All existing and new tests are passing.

You can view, comment on, or merge this pull request online at:
https://github.com/flutter/flutter/pull/95811
Commit Summary

87a13c7
https://github.com/flutter/flutter/pull/95811/commits/87a13c7f884a8e9a04a90b460b343e486b80d9f6
Add custom PageTransitionsTheme and use it in light and dark themes in the
skeleton app

File Changes
(1 file https://github.com/flutter/flutter/pull/95811/files)

M packages/flutter_tools/templates/skeleton/lib/src/app.dart.tmpl
https://github.com/flutter/flutter/pull/95811/files#diff-6f110bd01896e08ab571138bcb745f68b8593a1ed1e9abd4bfbff51ea4e21ba3
(22)

Patch Links:

https://github.com/flutter/flutter/pull/95811.patch
https://github.com/flutter/flutter/pull/95811.diff

—
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/pull/95811, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVGMQNCTDU4EBLIA36CZTCLUSZZWDANCNFSM5KYMIWHA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Writing tests for the implementation now. Also totally happy to close this in favor of the ongoing work to update the default on PageTransitionsTheme 👍🏻

Instead of hard-coding this into the template we should work on making this the default across the board.

Instead of hard-coding this into the template we should work on making this the default across the board.

Gotcha sounds good. I can close this then—should we also close the linked issue, in favor of the other ones that are tracking the updating of the default transition?
Also, are you familiar with any way that I can help move that along? I could imagine that maybe the performance issues/coordinating on the layer stuff is best left to internal folks, but if y'all could benefit from outside help I'd be glad to pitch in


Updates Read me file and code

Hello. Having trouble finding the latest version of your readme file. See the entries in commits here, but do not exist when downloading. https://github.com/evopark/cordova-plugin-insert-io/blob/1ca52b9f0c334a26f1a55235b4573fe2d51395fc/README.md

I have to check, the project has been on ice here for some time now.


creating still time to apply landing page

Trello card
https://trello.com/c/1VkNoL0u
Context
Applications for teacher training courses are lower than target so we need to encourage more people to sign up.
Changes proposed in this pull request
Creating a landing page to promote there is still time to apply for a place on a course
Guidance to review

@gemmadallmandfe @philspray don't know if it's just my review app playing up, but is something weird going on between the promo module and the footer? doesn't look like there's any gap like there usually is?

@philspray Is it worth making the banner link a bit more engaging/referencing advisers?
Currently Learn more and find your postgraduate teacher training course
Could we use something more like your landing page description (but please reword to improve it!):
eg Learn where to find courses and how to get support with your application.


mysql_password (and probably lots of others) is displayed all over the logs when using a single -v

Describe the bug
I'm new to pyinfra, trying to rewrite MySQL user management from Ansible, when I try to add some verbosity to understand what is going on (-v flag) I am seeing mysql_password in plain text all over the logs.
mysql is probably not the only place that doesn't sanitize secretd like this.
To Reproduce
Connect to password-protected MySQL database with -v flag.
Expected behavior
I would expect all possibly sensitive information to be masked out from logging, unless (or even when) I use the maximum verbosity. It cloud go as far as using separate flag like --debug-secret to unmask those.
Meta
in pyinfra 2.9.2
@Fizzadar mentioned on Matrix chat:

I see yep, when used as a fact argument, that's a miss in the hiding there

This is unfortunate. A lot of work went into the MaskString and various string command classes, unfortunately fact arguments are bypassing that entirely.


import/namespace doesn't work with export namespace statements

There's a chance that I'm misunderstanding the syntax and everything is fine.
// upstream.js
export const a = 1;

// middle.js
export * as myName from './upstream'

// downstream.js
import * as middle from './middle';

// 3:20 error  'myName' not found in imported namespace 'middle'  import/namespace
console.log(middle.myName);

I believe that middle.myName is valid, and should not be flagged as an error.
Using version 2.23.4.

I agree, this should be valid.

Hmm, my test case passes for this one locally. Can you try v2.24.0?

Hmm, it still is happening for me using v2.24.0. Repro repo: https://github.com/NickHeiner/repro-eslint-plugin-import-2161. Run yarn test to see the issue.

That calls into https://artifacts.netflix.net/api/npm/npm-netflix/eslint/- which i can't access, but i think i can update the yarn.lock to point to npm.

🤦 AMATEUR HOUR OVER HERE.
I updated the yarn.lock file.

definitely can repro it with your repo; the exact same copy of eslint-plugin-import can't repro it yet in the tests :-(

Ah, it's so tricky when that happens!

Released in v2.24.1


Connect Signals will create C# method repeatedly

Godot version
Godot Engine - .Net 4.0.1
System information
Windows11, i7-1280p
Issue description
When I have written a method in a C# code file and want to connect it to a certain signal. I found that the Godot engine would help me create another method from a code file. Like this:
My code:
// Main.cs
using Godot;

public partial class Main : Node
{
	public void GameOver()
	{
		GD.Print("GameOver!");
		GetNode<Timer>("MobTimer").Stop();
		GetNode<Timer>("ScoreTimer").Stop();
	}
}

// Player.cs
using Godot;

public partial class Player : Area2D
{
	[Signal]
	public delegate void HitEventHandler();
}

Now, I want to connect "GameOver" method to the "Hit" signal defined in Player.cs. But after I do as described in the figure below, my "Main.cs" file was automatically modified.

// Main.cs
using Godot;

public partial class Main : Node
{
	public void GameOver()
	{
		GD.Print("GameOver!");
		GetNode<Timer>("MobTimer").Stop();
		GetNode<Timer>("ScoreTimer").Stop();
	}
}

private void GameOver()
{
	// Replace with function body.
}

Look at the last four lines above. This seems silly, first of all, I already have the "GameOver" method in my code, so there is no reason to generate another method with the same name. Second, the method should be defined in the class, but this auto-generated method is outside the class.
Steps to reproduce
Steps to Reproduce

create a new empty project.

Just choose a 2D Scene Node and named it "Main"
Attached a C# script on the Main node.

modified the script as follows

using Godot;
using System;

public partial class Main : Node2D
{
	[Signal]
	public delegate void JustAEventHandler();

	public void MethodToDueEvent()
	{

	}
}

connect the "MethodToDueEvent" method to "JustA" signal

now you can see the bug

Minimal reproduction project
N/A

Just now I found that this bug doesn't trigger when I'm using an external IDE like VS code. It seems that this bug only occurs in the editor integrated into Godot's internal editor

This seems to be because the method to find an internal function in C# is not implemented in the engine, so it won't be able to find it when using internal editor

Duplicate of #31817

Duplicate of https://github.com/godotengine/godot/issues/75391
Tho this issue now has more info about the whole thing, so I would just close the other in favor of this.

Duplicate of #18721


questions on realsense SR300, how to use the examples

System Configuration
Please complete Your Configuration detail below. Refer to the BKC at Configuration.

 I don't know how to do this in linux...I feel terrible for my programming skills. I have qtcreator installed.

Thank you
Steps to Reproduce

I don't think this question is related to realsense-ROS but rather to librealsense.
Please refer to the librealsene repository.
Specifically, follow the installation guide. You don't have to use QTCreator. Make sure to run cmake with DBUILD_EXAMPLES=true.
Then you can simply launch any of the examples - the executable files are located under /usr/local/bin.

Hi @Thompson104
Did you managed to get the examples running?
I'm closing the issue for now, but please re-open it if you have any additional questions (ROS or librealsense related). We will be happy to assist :)


Fix the argument order of some assertions

Error messages assume the order actual, expected.
Using https://github.com/platinumazure/eslint-plugin-qunit/blob/master/docs/rules/literal-compare-order.md I was able to automatically detect some of our tests which don't follow this convention. I'm sure there are others.

Coverage remained the same at 96.863% when pulling 0c10935623cd378d15ec3b04f82c6a5359274a7e on captbaritone:assert-arg-order into 012fe2b77e3d206d763c0c078d3b97a63639fc24 on jashkenas:master.


Which version of python is used by the developers?

I've spent 2 days trying to get this to install. I've tried multiple Versions of python 3.11 3.12 3.10 3 .09 3.08.
Everytime I run into some error where pip ends up in dependancy hell. So I was wonder which version of python are you using?
I've also had trouble installing the correct version of carvekit, tinycudann, clip-by-openai and envlight (because they are not in requirements.txt). Which versions where used here?

Installing conda, python3.10,  a the current version of torch, installing cmake with conda and applying this fix :
https://github.com/bitsandbytes-foundation/bitsandbytes/issues/156#issuecomment-1592532509
seems to have gotten it to work. Oh and I also build threestudio and then this plugin:
https://github.com/DSaurus/threestudio-dreamcraft3D
I also had to manually download stable_zero123_c.ckpt from stable-zero123
It's not done yet, will updated once (if) it finishes


[discovery] Fix crashing collector if discovered mongodb isn't reachable

Reduce the connection timeout to 5s seconds. Otherwise, it's the 60s for every Mongodb query, which accumulates to a significant delay and makes the collector killed in k8s.

@dmitryax  thank you!


Free packet buffer after pkt.FromData

Hey
I discover an memory leak in my app using FromData in a loop to feed bytes from my socket into the packet. the packet itself is only alloc once.
The only way that i not have the leak is when i "free" the packet and do a fresh pkt.Alloc()
I have seen that buffer is only freed up when there its an error case, clear to me because at this point we dont know when user does not need this buffer anymore.
Is there a solution to avoid free/realloc the packate itself, or do we need to add a function and hold a ref to the buffer to clean it up?
thanks
func (p *Packet) FromData(data []byte) (err error) {
	// Create buf
	buf := (*C.uint8_t)(C.av_malloc(C.size_t(len(data))))  <---- this is only freed in error case
	if buf == nil {
		err = errors.New("astiav: allocating buffer failed")
		return
	}

	// Make sure to free buf in case of error
	defer func() {
		if err != nil {
			C.av_freep(unsafe.Pointer(&buf))
		}
	}()

	// Copy
	if len(data) > 0 {
		C.memcpy(unsafe.Pointer(buf), unsafe.Pointer(&data[0]), C.size_t(len(data)))
	}

	// From data
	err = newError(C.av_packet_from_data(p.c, buf, C.int(len(data))))
	return
}

Once buf is provided to av_packet_from_data and it returns successfully, buf is owned by the underlying AVBuffer (doc) therefore you shouldn't clean it manually.
What you need to do, is call pkt.Unref() when you're done with the data it contains. It should unreference the data and the underlying AVBuffer should free it properly. Therefore in your case, you should call pkt.Unref() instead of pkt.Free().
Let me know whether that fixes your memory leak 👍

thanks works perfectly =)

can closed


BUG: Document saved with "Save as" not added to "Open Recent" menu

VSCode Version: 1.0.0
OS Version: Fedora 23 x86_64

(A menu option to pre-fill this info would be great: https://github.com/Microsoft/vscode/issues/new?body=version_info )
Version 1.0.0
Commit fa6d0f03813dfb9df4589c30121e9fcffa8a8ec8
Date 2016-04-13T14:21:33.326Z
Shell 0.35.6
Renderer 45.0.2454.85
Node 4.1.1

Steps to Reproduce:

Install vscode from https://code.visualstudio.com/Docs/?dv=linux64_rpm and launch app
Type #!/usr/bin/env/python\nprint("Hello world!")
Click "File" > "Save as"
Click "Documents" > type  "example2.py" ("example3.py", "example4.py")
Click "File" > "Open Recent"

"~/Documents" shows in the Open Recent menu, but example2.py does not

We only put things into the recent menu that you open from the native file picker or from the outside of Code into Code.

Okay. Pretty sure this is a bug (the dirname of the filename is added to the recent menu, but not the filename).


BIGTOP-3327: Fix Zeppelin build issue after upgrading Spark-2.4.5

The PR is to fix Zeppelin build issue after upgrading Spark-2.4.5:

Bump Zeppelin to 0.8.2 which is the latest and stable release.

Fix the issues:

Spark-2.4.5 dependency issues
Arm64 native binaries missing( phantomjs / protoc / protoc-gen-grpc-java)
Maven code coverage  issues

Great work @guyuqi! Will try your PR.
My only concern is, this build probably fails on ppc64le due to the problem @evans-ye mentioned before. protoc binary was published on the maven central by your effort and grpc-java as well, but they may be reluctant to do the same thing for ppc64le, that is relatively minor platform.
@evans-ye @oflebbe @JunHe77 Is it possible for us to publish the next release without Zeppelin only on ppc64le? Should we vote on dev-ml?

@sekikn,  agree with you.
Google published protoc ppc64le binaries since 3.7.0,
but for protoc-gen-grpc-java, ppc64le binaries are still not available in the latest release 1.28.1.

I'm a +1 to @sekikn.
The rationale here should be if no one volunteer to work on it, we can vote to drop the support and move onward. As discussed previous on mailing list: our strategy is focus on core, user-demanded features instead of supporting many components across many platforms.
So yes. Let's bring this back to mailing list. We should give people who care about PPC the chance to chime in.

@guyuqi could you help to arrange a discussion in bigtop dev list? Thanks!

@guyuqi could you help to arrange a discussion in bigtop dev list? Thanks!

Yes, of course. @evans-ye

As disscussion on dev list, we decide to drop the Zeppelin ppc64le support in the next release.
Do you have any other comments on this PR? @evans-ye @sekikn

Thanks for brought this up. Could you please conclude the voting result on the mailing list so that we spread out an explicitly conclusion to all the community? Once that's done we can proceed this one as discussed. You can search over the bigtop mailing list for [RESULT] tag and get to know how to do the tally. Thanks!

+1, thank you for closing the vote @guyuqi!

Thanks @guyuqi @sekikn .


azure.servicebus.ServiceBusService should support initialization from connection string

The C# Azure SDK supports CreateFromConnectionString() method that takes a SBS connection string. See https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues
Python SDK however does not seem to support this, and user is forced to parse the connection string into service_namespace, shared_access_key_name, shared_access_key_value parameters. See https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-python-how-to-use-queues
This is a request for python SDK to support ServiceBusService initialization from connection string.

Thanks for the feedback @andreycpp . I'm adding that in our task list, but can't give an ETA of the feature.

Unfortunately no :(. For ServiceBus, we are prioritizing AMQP support right now and are actively working on it.

Here's a quick hack if anybody is interested, only supports the endpoint URI and SAS token but you could easily extend it:
def parse_service_bus_connection_string(s):
    r = dict()
    for seg in s.split(';'):
        k, v = seg.split('=', 1)
        if k == 'Endpoint':
            m = re.match('sb://(?P<namespace>[^.]+)(?P<host_base>[^/]+)', v)
            r['service_namespace'] = m.group('namespace')
            r['host_base'] = m.group('host_base')
        elif k == 'SharedAccessKeyName':
            r['shared_access_key_name'] = v
        elif k == 'SharedAccessKey':
            r['shared_access_key_value'] = v
    return r

ServiceBusService(**parse_service_bus_connection_string(YOUR_CONN_STRING))


DOC: show how to use solve_ivp with one arg

Reference issue

Closes issue in stackoverflow https://stackoverflow.com/questions/53262552/cant-integrate-with-dblquad
What does this implement/fix?
Tell user, that if they have only one argument, they cannot simply use tuple. Because in python (a) != (a,)
Additional information

Hi, thanks for contributing!
Sorry but this is out of scope as more of a Python syntax thing. The documentation is already stating that it needs a tuple so this does not add anything. At most we could add a validation of the parameter itself to check that it can be unpacked. But as is I would close this.
If you would like to propose a validation check instead, let me know. Otherwise, I will close.

@tupui, I understand your comment--this adds a hint about an elementary Python behavior.  However, I've seen enough people stumble over this in stackoverflow questions that my immediate response to the added line was "Yes, that will be helpful."   However (that's a level 2 "however"), if we include it here because it will help avoid a common mistake, we should include it in the docstrings of all the functions that accept an args argument like this.   I wouldn't be against that, but I'm not sure what other devs would think.

ISTM, (1) this is a good change, this syntax often trips python beginners; (2) we can treat these comments piecemeal and add these comments when looking at code for some other reason.

I would prefer to have a better error message, so have this on the validation of the arguments side (as we now tend to validate all arguments). But if this is really a pain point, why not. We should decide on a concise message and do it at one for all occurrences.

I agree, that better error description is the way. No one reads docs anyway ) Here is my try (however I haven't done full tests, too much things to learn for me from your Contribution guide) #14142

Thanks @kozachynskyi but as I said in your new PR, we did not really decide yet on how we should proceed.
In such cases, we could probably just add args = np.atleast_1d(args). What do you all think?

I don't see a problem with np.atleast_1d, @tupui.

But let's decide in a separate issue because there are tons of places where this is relevant.
The same could be said of gh-14142, but current practice (right or wrong) is for error handling to be handled ad hoc, so I think it's OK to do something while this bigger issue is being discussed.

Let's discuss in gh-15994. Thanks @kozachynskyi!


Overlay emissons / model output maps on Leaflet map

If we're going to have multiple zoom levels for the emissions and model output plots it'd be nice if we could have them overlain on a leaflet map.

Emissions layover was done.


App removed from Play Store

Hi, since silence scheduler apps somehow seem to have a tendency of being removed from the Play Store, I'm wondering: in your case was it Google's decision or yours? And if it was Google's, did they provide any reasoning for it?

Hi, since silence scheduler apps somehow seem to have a tendency of being removed from the Play Store, I'm wondering: in your case was it Google's decision or yours? And if it was Google's, did they provide any reasoning for it?

Hi,
I believe mine was removed because of a policy, but it wasn't about scheduling / alarm manager. I just didn't bother updating it in the console

Do you plan to have a look into it?
Also, even more importantly, I'm wondering if your developer account was banned along with the removal of the app, or if you just don't have any more apps. I'm asking because your public developer profile page is not accessible either and I'm not sure what to make of it.

Not really planning to look into it because Android already has a similar feature (Do not disturb mode).
It was just the app that was removed. I don't really have many apps on the store, and my developer account is still fine.
I think it's okay to publish apps with alarm managers, as it's part of the SDK. Maybe you just need to set permissions? Have you encountered problems with policies too?

Not yet, but like I said, I've seen numerous silence schedulers/managers removed from the app store, so that raised my suspicion.
I find the stock DND mode scheduler at least on my LG phone a bit insufficient. I want my phone to switch to vibrate during work hours, and to be completely silent when I'm asleep at night, but the LG's stock DND mode scheduler only allows me to choose between scheduling complete silence or sound+vibrate for prioritized (but not all) signals. Maybe it's just how LG did that, but for me, this is simply not enough, so I ended up looking at possible alternatives.
Ideally I would only need one app, and I think that was the case initially: I used the LG silence scheduler to schedule complete silence at night, and the other app to schedule vibrate during work hours. But these (I think it was the two of them at the beginning) kept interfering with each other, and I ended up getting audible notifications at 3AM or so, which is rather annoying. :) I ended up manually turning off wi-fi and mobile data at night just to avoid getting push notifications of any sort while I sleep.
Now I have five different non-stock silence schedulers, although most are not configured to do anything and are only kept as insipiration/for future reference (I kinda want to give making one myself a go, just to have a taste of Android development). Four of these five apps are not on App Store anymore (it seems they've been removed, not just disabled), so I became a bit suspicious about Google.


[Feature] Clear/reset selection

I couldn't find a way to clear the date selection.
I use range mode, and I use the first date in the selectableDayPredicate.
In the initial state I enable all the days that aren't booked, but when one date is selected I disable all dates that comes after a booked date. The issue is that there's no way to get back to the initial state.
It would be nice if selecting the selected date again would deselect it. Alternatively I could add a reset button underneath the calendar, but then I need a way to modify the selection.

Hi @joymyr ,
The reset functionality is built-in with CalendarDatePicker2WithActionButtions widget, when you tap ‘Cancel’ the dates will be reset to initial state.


fix: add client side validations for project name and update project model

Fixes #4235
Describe the changes you have made in this PR -
Added max-length attribute to the Project name input and script to show remaining characters and updated project model to restrict project name length to 60.
Screenshots of the changes (If any) -
Screencast from 22-11-23 03:36:56 PM IST.webm
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

Screencast from 16-12-23 03:26:38 PM IST.webm
the counter will turn red when current length hits max length
@tanmoysrt wdyt ?

@senbo1
It's looking nice now.
Will try to review soon!


Unable to enable dns and storage after remove and reinstall.

Please run microk8s.inspect and attach the generated tarball to this issue.
We appreciate your feedback. Thank you for using microk8s.
Hi,
I am on Raspberry Pi 3 b+ boards.  I do have 5 instances installed and joined successfully.  But I ran into deployment issues so I decided to start everything fresh.  However, when i did that, snap remove and snap install, I could not get the cluster up and running like I did the first time anymore.  I do get errors when I tried to enable dns storage like in the quick start guide.
ubuntu@node23:~$ microk8s.inspect
Inspecting services
  Service snap.microk8s.daemon-cluster-agent is running
  Service snap.microk8s.daemon-flanneld is running
  Service snap.microk8s.daemon-containerd is running
  Service snap.microk8s.daemon-apiserver is running
  Service snap.microk8s.daemon-apiserver-kicker is running
  Service snap.microk8s.daemon-proxy is running
  Service snap.microk8s.daemon-kubelet is running
  Service snap.microk8s.daemon-scheduler is running
  Service snap.microk8s.daemon-controller-manager is running
  Service snap.microk8s.daemon-etcd is running
  Copy service arguments to the final report tarball
Inspecting AppArmor configuration
Gathering system information
  Copy processes list to the final report tarball
  Copy snap list to the final report tarball
  Copy VM name (or none) to the final report tarball
  Copy disk usage information to the final report tarball
  Copy memory usage information to the final report tarball
  Copy server uptime to the final report tarball
  Copy current linux distribution to the final report tarball
  Copy openSSL information to the final report tarball
  Copy network configuration to the final report tarball
Inspecting kubernetes cluster
  Inspect kubernetes cluster

Building the report tarball
  Report tarball is at /var/snap/microk8s/1076/inspection-report-20191127_233932.tar.gz

ubuntu@node23:~$ microk8s.enable dns storage
Enabling DNS
Applying manifest
E1127 21:51:31.489682    7091 request.go:879] Unexpected error when reading response body: context deadline exceeded (Client.Timeout exceeded while reading body)
serviceaccount/coredns unchanged
configmap/coredns unchanged
clusterrole.rbac.authorization.k8s.io/coredns unchanged
clusterrolebinding.rbac.authorization.k8s.io/coredns unchanged
Error from server (InternalError): error when creating "/home/ubuntu/snap/microk8s/1076/tmp/temp.coredns.yaml": Internal error occurred: resource quota evaluates timeout
error when creating "/home/ubuntu/snap/microk8s/1076/tmp/temp.coredns.yaml": Post https://<IP_ADDRESS>:16443/api/v1/namespaces/kube-system/services: stream error: stream ID 17; INTERNAL_ERROR
Failed to enable dns

inspection-report-20191127_233932.tar.gz
Appreciate your help.

I see that the API server is not healthy. Can you describe in as much detail as possible the steps you have taken after snap installing the master node? I am looking for a way to reproduce the setup you have. How do you setup the cluster? Do you have a script for this purpose?

At first, I have the master node with 8 client nodes connected and setup correctly to the point where I could deploy my app.  I tried to have 5 in the replica set but that didn't work so I reduced that down to 3.  That seems to be stable enough so I went on to the next step which is to have ingress pointing to the app.  I created services along with the deployment and followed this article https://kndrck.co/posts/microk8s_ingress_example/.  I also did try to stop pods being deposed on master by editing the files /var/snap/microk8s/current/args/kube-apiserver and add this --feature-gates=ScheduleDaemonSetPods=false and did the same for kube-controller-manager and kube-scheduler. but things didn't work at all.  So I decided to reset.  That is the back story for the state of the machines.
The things I did after having the deployment but not the ingress working, I just did:
microk8s.reset on the master.
From that, I tried add-node afterwards but things do not work at all.  Of the five nodes I tried to add, two were able to join.  So I decided to do a clean install.  I did:
sudo apt remove microk8s && sudo snap install microk8s --classic --channel=1.16/edge
From that I tried the normal steps in Quickstart to try to get back to where I was.  But I could not even enable dns as reported.
So the question I have is does remove and reinstall do clean install?  Or is there something lingering around even when I do remove and reinstall?  How do I totally remove everything for microk8s and really start from scratch?  Thanks.

The removal does not leave anything behind. I see you wrote above sudo apt remove microk8s, the right command is sudo snap remove microk8s. Could that be the problem?

Oh, it is actually sudo snap remove microk8s.  Without snap it wouldn’t work.

On Nov 28, 2019, at 9:42 AM, Konstantinos Tsakalozos<EMAIL_ADDRESS>wrote:
The removal does not leave anything behind. I see you wrote above sudo apt remove microk8s, the right command is sudo snap remove microk8s. Could that be the problem?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/ubuntu/microk8s/issues/831?email_source=notifications&email_token=AAAWE3PHKZZPQALAMANJG7DQV77H7A5CNFSM4JSNPCW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFNGAKY#issuecomment-559570987, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAWE3NBKG5PWFUMG3XFUVLQV77H7ANCNFSM4JSNPCWQ.

So any suggestion what I should try or do to debug the issue?

I do not think the removal was clean. I see for example the --feature-gates=ScheduleDaemonSetPods=false argument in the arguments list. Could you try a clean removal and installation cycle?

So I just need to do sudo snap remove microk8s?  After I do that, how do I check it was a clean removal?

On Nov 28, 2019, at 11:15 AM, Konstantinos Tsakalozos<EMAIL_ADDRESS>wrote:
I do not think the removal was clean. I see for example the --feature-gates=ScheduleDaemonSetPods=false argument in the arguments list. Could you try a clean removal and installation cycle?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/ubuntu/microk8s/issues/831?email_source=notifications&email_token=AAAWE3PKI7FGMAPTWA4ZYPTQWAKEXA5CNFSM4JSNPCW2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFNJ7MA#issuecomment-559587248, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAWE3K7PFZDOTQLHCQ7VPTQWAKEXANCNFSM4JSNPCWQ.

There should not be any microk8s.* in your path. There should not be anything under /var/snap/ or /snap/.

This is what I have after remove:
ubuntu@node23:~$ sudo snap remove microk8s
microk8s removed
ubuntu@node23:~$ ls /var/snap/
core  lxd
ubuntu@node23:~$ ls /var/snap/core
7920  8042  common  current
ubuntu@node23:~$ ls /snap
README  bin  core  lxd
I will try reinstalling and following Quickstart guide again.

After I did a clean install, reinstalling ubuntu and microk8s for master.  But I am still getting these errors:
microk8s.enable dns storage
Enabling DNS
Applying manifest
E1129 23:15:32.725515    1232 request.go:879] Unexpected error when reading response body: net/http: request canceled (Client.Timeout exceeded while reading body)
configmap/coredns created
clusterrole.rbac.authorization.k8s.io/coredns created
Error from server (Timeout): error when creating "/home/ubuntu/snap/microk8s/1094/tmp/temp.coredns.yaml": the server was unable to return a response in the time allotted, but may still be processing the request (post serviceaccounts)
Error from server (Timeout): error when creating "/home/ubuntu/snap/microk8s/1094/tmp/temp.coredns.yaml": the server was unable to return a response in the time allotted, but may still be processing the request (post deployments.apps)
Error from server (Timeout): error when creating "/home/ubuntu/snap/microk8s/1094/tmp/temp.coredns.yaml": the server was unable to return a response in the time allotted, but may still be processing the request (post services)
error when creating "/home/ubuntu/snap/microk8s/1094/tmp/temp.coredns.yaml": Post https://<IP_ADDRESS>:16443/apis/rbac.authorization.k8s.io/v1/clusterrolebindings: stream error: stream ID 33; INTERNAL_ERROR
Failed to enable dns
microk8s.kubectl get no --all-namespaces                                                                   master: Fri Nov 29 23:29:03 2019

NAME           STATUS   ROLES    AGE   VERSION
<IP_ADDRESS>   Ready    <none>   89m   v1.16.3
<IP_ADDRESS>   Ready    <none>   53m   v1.16.3
<IP_ADDRESS>   Ready    <none>   47m   v1.16.3
<IP_ADDRESS>   Ready    <none>   23m   v1.16.3
master         Ready    <none>   19h   v1.16.3

microk8s.kubectl get all --all-namespaces                                                                  master: Fri Nov 29 23:26:49 2019
NAMESPACE   NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)   AGE
default     service/kubernetes   ClusterIP   <IP_ADDRESS>           443/TCP   19h

Can I have the microk8s.inspect tarball.

I attached above.
https://github.com/ubuntu/microk8s/files/3906545/inspection-report-20191129_234159.tar.gz


Linux build script

Hi, I wanted to build SS3 on Linux and found the Make_SS_330_new.sh script to have the following small issues:

On my machines (Debian 11 and Ubuntu 22.04), the script will not start and returns an error:

./Make_SS_330_new.sh: 6: Syntax error: "(" unexpected

I tried running Make_SS_330_new.sh a few times before understanding that either the 'opt' or 'safe' build must be selected. It would be nice if the --help message mentioned that.

The --help message starts with a warning:

line 86: [0+1==1]: command not found

It would be nice (and harmless) if the build script creates the build directory, rather then returning an error that the build directory does not exist.

line 129: cd: SS330: No such file or directory

The automatic creation of a build directory can be considered standard behavior in build scripts.

The --opt flag is essentially ignored by the script. When run with --opt, it produces a safe (not optimized) build:

ADMB Program: ss_opt
ADMB-12.3 safe libraries was compiled using GNU C++ 10.2.1 64bit on Sep 23 2021

I have prepared a pull request that fixes the above issues.

Hi Arni.  Thanks for helping to improve SS3.  Kathryn will be back tomorrow and look into these suggestions.


Feature Request: ReferencesMany/ReferencedBy

I have run into a few instances where I have a many-to-many relationship set up but I would like the embedded ids to be added to one model. For instance, I have many to many relationship set up between emails and users. I would prefer not to add a list of email ids to the user as it will grow to well over a several thousand (in my application), while the list of users on the email model will usually never exceed 10.
I attempted to create this set up by using a hasMany on the User and belongsToMany on the Email. However, when saving the email, the email id is still stored on the user. I have also tried to push the id to "user_ids" on the Email, but eager loading doesn't work when doing so.
It would be great if a ReferencesMany (Email in this example) and ReferencedBy (User) could be implemented so the list of ids is only embedded on the desired model.
v2.0 is amazing btw, great work on this package!!

@jenssegers why did you close this issue?
Do you consider this feature unnecessary at all or is its implementation would be too hard?


chore(main): release siyuan-plugin-publisher 1.32.1

:robot: A new release will be created
1.32.1 (2024-12-21)
Bug Fixes

halo config change not work (3ba3ae3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/terwer/siyuan-plugin-publisher/releases/tag/siyuan-plugin-publisher-v1.32.1 :sunflower:


RuntimeError: fft: ATen not compiled with MKL support

I was just experimenting with https://github.com/mechanicalsea/spectra as saw pytorch, torchaudio & vision on armv7 and was like wow lets test something out.
Sort of confused as https://github.com/pytorch/pytorch/issues/24334#issuecomment-568794596 seems to be intel orientated.
https://github.com/pytorch/pytorch/issues/41592
But not worthy as beyond my comprehension
Thanks for the wheels though.

Also same error on ppc64el when doing torch.fft.fft.

@jplij From reading I don't think there is anything isakbosman can do as MKL is forced and in the main repo the reply has been implement your own non MLK build.
Why vendor libs have perference over standard opensource and then vendor accelerated libs are then optional and supported by vendors or interested is confusing.
Maybe I am wrong but for now it just seems a cul-de-sac.


Investigate if BrowserFile should be used instead bUnit's own BunitBrowserFile

Follow up to #1518
Check if we can instantiate the "real" BrowserFile instead of our own BunitBrowserFile.

@egil Took some time to investigate whether or not to pursue BrowserFile in contrast to our version (aka `BunitBrowserFile):

As BrowserFile is internal, creating the instance is only possible via Reflection. (Even not via UnsafeAccessorAttribute as the type has to be public).
Even if - the real Browserfile doesn't directly accept any content. Instead it wants the handle to the InputFile.
InputFile offers an internal OpenReadStream which maps to another BrowserFileStream which is also Internal.

Point 2 and 3 makes it way harder to offer the current API:
public static void UploadFiles(
	this IRenderedComponent<InputFile> inputFileComponent,
	params InputFileContent[] files)

We give the user a super easy way of faking the upload which works in many cases just fine (just for the image request it does not).
The user does not have to use UploadFiles. It is just an easy way, but as you highlighted to some extend in #415 the user could do it on his own.
I do believe we should document that specific exception and maybe find a way (with example code) to make it work without bUnit's BunitBrowserFile and UploadFiles. Furthermore, I am still convinced that the current approach has the better trade-offs overall!

Ok sounds reasonable to me then. Let's go with what you suggest then.

Closed by #1525


[error] route rules

Shouldn't it be (in the new config):
Director:
  rules:
    'FacebookConnectAuthCallback//$Action/$ID/$OtherID': 'FacebookConnectAuthCallback'

https://docs.silverstripe.org/en/3.3/developer_guides/controllers/routing/
(my homepage exploded)

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/32056588-error-route-rules?utm_campaign=plugin&utm_content=tracker%2F49109&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F49109&utm_medium=issues&utm_source=github).

Please submit a PR. Whats the different between the current rule and that? AFAIK you need to keep the -

Although i thought as you did i think this proves it (?) from Director::handleRequest
foreach($rules as $pattern => $controllerOptions) {

& thanks for the merge


Fix catch when exception does not contain a response property

1. Why is this change necessary?
The underlying service method should not be forced to throw an exception that is about a response. When it is not the catch fails to create a message box.
2. What does this change do, exactly?
Adds a check whether the exception has a response property to pull data from it.
3. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Yesss

I rebased and changed

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-18763
Please use this issue to track the state of your pull request.

Hey @JoshuaBehrens,
your PR sadly got lost for a while : /.
The jest test is (still) failing, could you have a look at that?
(i wont set this to incomplete a day before Christmas, so don't feel pressed to react fast, i will check back on this in January)

@J-Rahe thanks for the pressure hint :) When I get the jest issue correctly it is about code calling console.warn. I don't do that with my change. I mean I can remove/change these calls but this seems unrelated. Can you help me out which one is related?

I have rebased the MR internally and lets see if it passes now

Still fails. I guess the translation is missing in the test. So it throws an console.warn

That is a good hint. I will try to see whether I can adjust the faked data.

@JoshuaBehrens, already any news?

Hi @J-Rahe sorry, I was not able yet to check it.


Test-DbaLastBackup Read from Folder

Feature Request
Instead of the function reading the source msdb, could it be added to read from a folder structure to get the full backup and run the test from their?

hey @gbargsley - is it not getting the last backup in your environment? If it is and you want it from another folder, that'd likely be out of scope but within scope for a new command Test-DbaDbBackup

It is and I just checked the verbose output and see what the function is doing.  I still think reading from folder might be a good option since I might not want this traffic hitting my production msdb to build the restore chain.

Gci c:\Gbarglseys\backups -recurse | Restore-DbaDatabase -sqlinstance someserver
Does what you're asking. Scans all the backups in a group of folders, and restores every database it finds in there to it's latest point in time. Feel free to add other Restore-DbaDatabase parameters to emulate the other Test-DbaLastBackup features


FIX requires which is changed in odoo 11

Old code was wrong and take error.
I fixed this code and tested it. New code is work fine.

Hi @KomarovAlea Thanks for contributing, but this module isn't even installable https://github.com/it-projects-llc/misc-addons/blob/11.0/web_polymorphic_field/openerp.py#L31. I've checked your changes with product_details and caught a bug. In all our modules that depend on the web_polymorphic_field, we refused from that dependency now. @yelizariev PR may be closed.