Simplex fixes

Fix enforce_bounds for simplexes and make all simplex parameters matrices to avoid some code duplication.

Oh man, the ids data structure is getting even more complicated here. There's got to be a better way to do this....

I'll ask the Tony about how to do the indexing into the various types of parameter vectors, if I can think of how to phrase the question. I've never been happy with ids.
Glad enforce_bounds! is working again.


Update design phase names

Based on internal conversations at Bocoup, we now have consensus on the names of each phase in the design process. Define remains the same, but the following will be updated in the markdown files (as well as the phases toggle on the home page.
Discover will be updated to Explore
Design will be updated to Make
Develop will be updated to Validate

@susanjrobertson I committed/PRed, so when you get a chance, there are two PRs for review.

PR's merged, so closing.


Can add these camera parameters in usd to json?

{
float2 clippingRange = (0.1, 10000)
float focalLength = 35
float focusDistance = 5
token projection = "perspective"
float horizontalAperture = 17.78
float horizontalApertureOffset = 0
float verticalAperture = 10.00
float verticalApertureOffset = 0
}
hi, I found that usd camera parameters are more detailed, But need to manually download each usd file into blender to get the correct physical camera.

Hi!
Are you saying that you want these parameters to also be present in the API?
If that's the case, everything you need is already available in API. These are just USD specific parameters that have to be there in order to create a functioning camera.
horizontalAperture and verticalAperture are the same as sensor width and height and that's all you really need to replicate a specific camera.

I mean, the other parameters,
clippingRange = （0.1， 10000）
float focalLength = 35
float focusDistance = 5
token projection = “perspective”

Those are just there for convenience to make the virtual camera function properly.
They don't have anything to do with the real camera sensor and you can change them however you want after importing.

clippingRange controls how close and how far you can move the camera before it starts clipping the scene.
focalLength controls the focal length of the virtual lens attached to the camera, or the "zoom" if you will
focusDistance controls the focus of the virtual lens and affects the depth of field
token projection tells the renderer which type of virtual lens should be used, in this case "perspective" which is the most common one. Other types are "orthographic" for example.

These will not be added to the API as they're not needed to define the look of the camera. However, I'm working on a lens database which will have parameters such as focalLength.


Functions lack documentation and descriptive comments

Will be adding comments and .md file to Github to make documentation of functions more robust


CosmosDb binding

I wonder if it should be possible to create a function with a cosmosDBbinding with Static web apps at the moment?
I get this error message when I try add a cosmosDB binding to a function:
Error in processing api build artifacts: the file 'products-post/function.json' does not specify a valid function with only HTTP triggers and bindings. Please ensure the JSON contains a single httpTrigger input trigger and a single http output binding.
My function.json looks like this:
{ "bindings": [ { "authLevel": "anonymous", "type": "httpTrigger", "direction": "in", "name": "req", "methods": ["post"], "route": "products" }, { "type": "http", "direction": "out", "name": "res" }, { "type": "cosmosDB", "name": "inputDocumentIn", "databaseName": "mydb", "collectionName": "mycol", "connectionStringSetting": "CosmosDBConnectionString", "direction": "in", "sqlQuery": "SELECT * from c" } ] }

Hi @magnus-hansson,
This error shouldn't be happening. Are you able to provide the repository URL or the Github Action run that printed this error so we can take a look? Thank you!

@magnus-hansson Change your GitHub action to use @latest, like this: https://github.com/anthonychu/static-web-apps-chat/blob/master/.github/workflows/azure-static-web-apps-nice-grass-061cac810.yml#L21

@anthonychu we had fixed this issue a while ago, so using @v0.0.1-preview should work fine (I've tested it out on a copy of your site above).
@magnus-hansson can you confirm that your workflow file has the line uses<EMAIL_ADDRESS>


\nObservation:.... included in tool input

It's getting an llm response that looks like this:
Thought: Do I need to use a tool? Yes
Action: get_webpage_content
Action Input: https://khanacademy.org/giraffes
Observation: [Awaiting input to proceed]
And it's calling my get_webpage_content tool with: "'https://khanacademy.org/giraffes\nObservation: [Awaiting input to proceed]'"

Weird, what is the llm you are using? Is this still happening, I'm assuming this is an open source model, I think the new version of crewAI should have fixed this, if not you could add Observation as a stop word for the model, but ideally that wouldn't be necessary. I'm closing for now but lmk if it's still happening and I'll reopen it


Bin2llvmir: decoder refactoring

The current decoder is a relic that was hacked to use capstone2llvmir when we got rid of the old semantic models. We need to refactor/rewrite it in order to improve the quality of decompilation.
After #115 is solved, refactor/rewrite decoder in a way where control-flow pass is embedded in the new decoder and hacks in the current decoder are not needed.
Notes:

Do not add/subtract magic constants in code (mainly in dealing with ranges).
#113 is related to this issue.
This should help with many problems across entire decompiler (e.g. #13).
I will add some more things to keep in mind to this issue, so that I don't have to create a bunch of decoder related issues.

Check if we detect all the functions in Delphi binary: d7ab65f96a211ae3e822eae251d6f05ce8c05f910d9ec80fe7006cfca6b9c753.

A general question about the Delphi examples. As you can see in the IDR, a Delphi program still contains almost all required metadata somewhere in the program. IDR therefore also succeeds in restoring inhertitance and recognizing constructures and deconstructures. Would it be conceivable to use all this information here? Unfortunately, IDR is no longer being developed, and has already done a lot of preparatory work here. Maybe you can contact the author, maybe he provides some code snippets for the Delphi recognition. Then you don't have to worry about what has already been implemented in IDR.

@0xBEEEF I don't know much about Delphi, I will have to look into it - how IDR works, what info binaries contain, if we can use it, etc.

Decoder phase was completely rewritten. It is still not perfect, but the basic principles are OK now - complete control flow reconstruction during decoding. It will take much more fine-tuning to consistently get close to IDA quality.
However, it turns out that most problems with slow and memory consuming decompilations are caused by the currently used LLVM IR to BIR converted, not the decoding in bin2llvmir. So this is the next most important thing to solve (#211).


Playlists banners shifted into lists, while the main banner is the default colour

Spotify for Windows (64 bit)
<IP_ADDRESS>9.gfae492c7
Spicetify v2.38.4
Theme: Comfy / Mono
Extensions: adblock.js, QueueTime.js, quickQueue.js, showQueueDuration.js, npvAmbience.js, scannables.js, playlist-icons.js, fullAlbumDate.js, find-duplicates.js, oldLikeButton.js, cacheCleaner.js, keyboardShortcut.js, volumePercentageWrapper.js
Custom apps: marketplace, lyrixed

Sleepy as heck, ik what i said sounds like im drunk, just check the image

run spicetify restore backup apply


[wtl] Fix #includes in wtl/atlribbon.h

What does your PR fix?
Fixes #24933.

Which triplets are supported/not supported? Have you updated the CI baseline?
No. What?

Does your PR follow the maintainer guide?
I'd say yes, but why would you trust me?

No. I have run vcpkg x-add-version wtl, though; I hope that suffices.

OK, never mind. I tried.


Create a SECURITY_CONTACTS file.

As per the email sent to kubernetes-dev[1], please create a SECURITY_CONTACTS
file.
The template for the file can be found in the kubernetes-template repository[2].
A description for the file is in the steering-committee docs[3], you might need
to search that page for "Security Contacts".
Please feel free to ping me on the PR when you make it, otherwise I will see when
you close this issue. :)
Thanks so much, let me know if you have any questions.
(This issue was generated from a tool, apologies for any weirdness.)
[1] https://groups.google.com/forum/#!topic/kubernetes-dev/codeiIoQ6QE
[2] https://github.com/kubernetes/kubernetes-template-project/blob/master/SECURITY_CONTACTS
[3] https://github.com/kubernetes/community/blob/master/committee-steering/governance/sig-governance-template-short.md

kubernetes-client/ruby still needs a SECURITY_CONTACTS file.
/assign @mbohlool @yuanying @josedonizetti @spiffxp @nikhita


Microsoft Exchange schedule retriever: console reports "Anonymous Request Disallowed"

Some internally hosted versions of Exchange are reporting: "Anonymous Request Disallowed".

Updated to r338 and the retriever appears to be working - no errors reported.
However, the node host console is reporting the same message as prior to the update.
02-19 14:51:47.06 err: Feb 19, 2018 2:51:47 PM org.apache.http.impl.auth.HttpAuthenticator generateAuthResponse
02-19 14:51:47.06 err: WARNING: NEGOTIATE authentication error: Invalid name provided (Mechanism level: KrbException: Cannot locate default realm)

OK, sounds like it's working. You can ignore those warnings. They come from the HTTP module (this issue all happens to covers that: https://github.com/museumsvictoria/nodel/issues/88).
Future releases of Nodel should ideally have that suppressed or at least those logs routed through to the related node's console.
NOTE: I'll keep this issue open until the release of Nodel is uploaded to /releases.

Pushed release https://github.com/museumsvictoria/nodel/releases/tag/v2.1.1_dev_rev341
That stray logging should be suppressed now too.


Update affected user flow to not use modal mode

Why: prior to this commit, the affected user flow stack was being
displayed within a modal using React Navigation. However, it is not
possible (as of now) to disable the "swipe down to close" gesture for
modals presented via React Navigation. Given that we want to disable
this gesture, we had to take a different approach.
This commit:

Removes the modal mode from the options for the affected user flow
stack
Instead uses a custom cardStyleInterpolator to achieve the
animateFromBottom transition when opening this stack

Before

After

LGTM, i would just double check that this doesnt negatively affect the export flow on the gps build

@johnschoeman How might I do this? Is it something I can test on my own or do I need to ask someone?

LGTM, i would just double check that this doesnt negatively affect the export flow on the gps build

@johnschoeman How might I do this? Is it something I can test on my own or do I need to ask someone? I haven't touched the GPS side.

we can pair on it. but in short youll need to run yarn run-ios-gps for the gps scheme.  I can also show you how to do it in xcode sometime.

further activity


consolidation fix for Ledger devices

Description of change
The output consolidation procedure now recognizes the signer type and sets the maximum number of inputs accordingly.
Links to any relevant issues
fixes issue #760
Type of change
Bug fix
How the change has been tested
Using a Ledger Nano X device
Change checklist
Tick the boxes that are relevant to your changes, and delete any items that are not.

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked that new and existing unit tests pass locally with my changes

@gtmendler could you run cargo fmt to fix the workflow?

@Thoralf-M done

@gtmendler 👍


MODIS Nadir BRDF-Adjusted Reflectance (NBAR) Daily explanation

Hi i am retrieving images from MODIS Nadir BRDF-Adjusted Reflectance (NBAR) Daily collection. I don't understand how it works because for the city of Milan the output is of 16 items. If it's an aggregation why i have 16 items? which one is correct? I am using the datetime for start and end date. The collection is this modis-43A4-061, the example notebook is not related to this collection.
Thanks

Can you share an example STAC query / code snippet?

here the code, but i need also to ask what are start_datetime and end_datetime in the properties. I saw that the real date time is in the middle but from start_datetime and end_datetime the count of days is 8 and not 16 as expected by the collection.
`        search_modis_nbar = catalog.search(
collections=["modis-43A4-061"],
bbox=bbox_of_interest,
datetime=f"{modis_date}/{modis_date}",
#query={"eo:cloud_cover": {"lt": cloud_coverage}}
)
items_modis_nbar = search_modis_nbar.item_collection()
print(f"Returned {len(items_modis_nbar)} Modis_nbar Items")
ref_crs = utm_crs_code
    modis_nbar_files = []
    for i, item in enumerate(items_modis_nbar):
        bands_of_interest = ['Nadir_Reflectance_Band1','Nadir_Reflectance_Band2','Nadir_Reflectance_Band3','Nadir_Reflectance_Band4','Nadir_Reflectance_Band5','Nadir_Reflectance_Band6','Nadir_Reflectance_Band7']
        data = odc.stac.stac_load(
            [item],
            bands=bands_of_interest,
            bbox=bbox_of_interest,
            crs=ref_crs,
            resolution=500,
            fail_on_error=False,
            nodata=0
        )`

what are start_datetime and end_datetime in the properties

I believe that these MODIS products are multi-day mosaics. From https://planetarycomputer.microsoft.com/dataset/modis-43A4-061:

produced daily using 16 days of Terra and Aqua MODIS data at 500 meter (m) resolution

So I think the start & end datetimes are the ends of that 16-day window.
What value are you using for modis_date?
See also https://github.com/microsoft/PlanetaryComputer/issues/335

modis_date refer to the parameter datetime. Tried the solution in the post mentioned and it seems to work and now i retrieve one item per day. I think that the behaviour is that when `            query={"start_datetime": {"eq": modis_start},
                     "end_datetime":   {"eq": modis_end},
          }` is not set, odc stack will download all the tiles that contains that date.

Great, sounds like you got it working so I'll close this.


[cherry-pick] Moves graphdriver plugin docs out of experimental

Backports #28263 to 1.13
ping @vieux

LGTM test unrelated ping @tiborvass

LGTM


Godot application does not show up in taskbar on Linux Mint

When running Godot on Linux Mint 17.3 (Cinnamon desktop), the application doesn't show up in the taskbar. No entry is added for Godot.
This means that if the window is minimized, it cannot be made visible again via the taskbar, which is a bit annoying.

Bug seen with Godot 2.0-beta.

Maybe there are some hints missing when creating the X11 window, so Cinnamon's taskbar doesn't consider the window for showing it up there.
I cannot confirm if the bug also exists in other Linux distributions or with other desktop environments (gnome, unity, kde...)

This has been brought up on the Facebook group a couple times, but not yet on this repo apparently :) See:

https://www.facebook.com/groups/godotengine/permalink/713127188823878/
https://www.facebook.com/groups/godotengine/permalink/722886857847911/

To sum up and not force people to use an evil social network ;), the bug seems to be https://github.com/linuxmint/Cinnamon/issues/4986 and should hopefully be fixed next time your distro updates Cinnamon.

The actual fix is https://github.com/linuxmint/Cinnamon/pull/5022 if you want to backport it for yourself, or notify your distro and ask them for a bugfix update.

I indeed avoid "evil social networks" :-).
Thanks for pointing me to the fix.

BTW, I can confirm it works just fine on KDE plasma.


Make sure that GitRepositoryProvider.repositoryForDirectorySync() return...

...s null rather than throws.
The UI locks up if this method does not return.

Unit test forthcoming.

Unit test provided. There's a TODO about logging the error. I'm not sure what's standard practice in Atom for something like this.


2.x Update timber/twig/… filters

Tickets: #2408, #2284.
Issue
While working on the documentation for #2408, I figured that the new filters to control what default filters and functions are added can also be used to add my own function to.
Actually, I find that it’s even a better way to add you own function, because the syntax is a little easier.
However, if I add my functions to timber/twig/default_functions, it feels a little weird, because of the name default_functions. As soon as I change something, it’s not the default anymore.
But what would be a better name? Of course: timber/twig/functions. But, that is actually a filter I would deprecate 🤪. But, what if we didn’t deprecate it, but change it to accept the functions array and not a Twig environment?
Solution
This pull request shows you how it could be done, using a function that checks whether the passed argument is an instance of Twig\Environment with a priority of 9.
Also

Adds documentation for filters.

@nlemoine What do you think of this?
Impact
If anyone used the following filters, they will break:

timber/twig/filters
timber/twig/functions
timber/twig/escapers

Because this is a big breaking change, it would require us to include this into 2.0.
Usage Changes
Upgrading is quite simple. Use timber/twig only for all things involving a Twig environment.
Considerations

Are there better names than timber/twig/filters and timber/twig/filters?
We could use a similar pattern for escapers.

Testing
I updated some tests.
Todo

[ ] Add more deprecation tests.
[ ] Update Guides
[ ] Update Upgrade Guide

Look good to me! 👍

FYI: the test failures here are unrelated to the PR (an issue with what themes WP can test against). These have been fixed in both the 2.x and master branches, so you can ignore Travis failures related to those. @acobster please let me know if you don't have sufficient merge privileges to override the Travis check once this is ready.

Okay, I worked some more on this.
I created a new Extending Twig Guide in ba6d10f that adds proper documentation for the filters and merges some documentation that was scattered around different places into it. (I figured there’s a lot of other improvements I want to make to the Twig documentation in general, but that will come later.)
And I realized that it’s not really possible to add a proper deprecation for this, because obviously you can’t use addFilter() or addFunction() if $twig is an array. The deprecation will never run, because PHP will break before that.
That’s why I removed the non-working deprecation handling in 3ed1b77. Instead, I updated the Upgrade Guide with some helpful error message text in 083dfa5 that developers will hopefully find if they search for that error.
@jarednova I’d be glad if you could have a look at this.

Thanks for catching this up with the rest of 2.x @gchtr! It looks like we've got two failing tests with ...
 TestTimberTwigObjects::testTimberTermsInTwig
TestTimberTwigObjects::testTermsInTwig

... are those expected failures based upon the issues you flagged in your comment from 5/31? Or are those unrelated and we should hunt down what's triggering the fails?

Thanks for catching this up with the rest of 2.x @gchtr! It looks like we've got two failing tests with ...
 TestTimberTwigObjects::testTimberTermsInTwig
TestTimberTwigObjects::testTermsInTwig

... are those expected failures based upon the issues you flagged in your comment from 5/31? Or are those unrelated and we should hunt down what's triggering the fails?

Apparently, I didn’t update against the current 2.x branch yet. Now it looks fine and it’s ready for merge.


Optimize a directory of rasters

I have a directory in /data/ containing .jp2 files. I regularly do a rsync to upload new rasters.
Similar to rsync, I would like to optimise only new rasters, and also while ingesting them to create new DB, I would like to ingest the new optimised rasters to append them to an existing SQLite db.

This question is not really specific to Terracotta, but more a question of how you code up your file ingestion pipeline. Terracotta does not include any logic to scan a directory for new files or so, if that is what you are asking about. So you have to code that up yourself.
Some ideas: You could pipe the output of rsync to a list and grep out the file names to get the names of the files that were added/updated each time rsync runs.
You could also compare the list of local files to the files in the Terracotta database, so you know which ones were not ingested yet.
Another way is to keep a local log of files that were processed, either in a text file, in original-filename.done files, in a database, or whatever, and then diff that against the list of .jp2 files.
I'll close this here, but please feel free to reopen if there are questions specific to Terracotta.

Maybe it would be a good idea though to skip COG that are passed into optimize-rasters instead of optimizing them again. Would that help?
Otherwise you can use an external optimizer such as rio-cogeo to achieve this. With the terracotta Python API it should be easy enough to check which rasters are already ingested.

Thanks, @j08lue and @dionhaefner for your help. I have filtered out new files that were synced via rsync to optimize only new/updated images.
Currently, I am serving the using -r option to the entire optimized raster images directory. I have yet to see how I can update the sqllite db if I switch to it.
Also, I am new to terracotta and we are deploying it on k8s. Maybe it makes sense to have an official docker image.

I have a fair docker experience, I can help with that if it is in pipeline..

Currently, I am serving the using -r option to the entire optimized raster images directory. I have yet to see how I can update the sqllite db if I switch to it.

I think you should definitely use a real database for any serious deployment. You can check out our guide for examples on how to do that.
I think there could be value in supplying a stripped-down, lightweight official Docker image, if you want to write one. Otherwise it pretty much just boils down to
FROM ubuntu:latest
RUN pip install terracotta


veh_data.lua

Changed the values to more realistic ammounts.
On line 206 there was a duplicate, the vehicle was the same ID as one from the compact cars, changed that to the right ID.
Suggestion: add helicopters..

Looks very good, approved 👍


Please include CMakeLists.txt in gh-pages branch.

I'm updating conan-center-index's package. https://github.com/conan-io/conan-center-index/pull/26012
While I found the CMakeLists.txt in main branch.
but the gh-pages branch doesn't include CMakeLists.txt.
If possible, I want to use official CMakeLists.txt in conan-center-index's package.
Can you put CMakeLists.txt in the gh-pages branch?

@DerekStride
Thanks you for your quick response!


Define reloader extra_files in flask run CLI

Expected Behavior
I expected to have FLASK_RUN_EXTRA_FILES to be processed in the same way of FLASK_RUN_PORT and FLASK_RUN_HOST
When using the old style app.run we can define an extra_files to be watched for changes by the reloader, that is useful for example, if you have a static settings file like settings.toml (using dynaconf) or another kind of static config or themed templates loaded from other paths
Actual Behavior
In the run command https://github.com/pallets/flask/blob/master/flask/cli.py#L775 the argument extra_files is not being passed to wekzeug.run_simple https://github.com/pallets/werkzeug/blob/master/werkzeug/serving.py#L738
Suggestion
Add FLASK_RUN_EXTRA_FILES="path1,path2,path" to flask run command.
or
Map all variables from werkzeug.run_simple - https://github.com/pallets/werkzeug/blob/master/werkzeug/serving.py#L738
In to FLASK_RUN_* prefixed env var or WERKZEUG_RUN_* prefixed env var.
Environment

Python version: 3.6
Flask version: 1.0.2
Werkzeug version:  0.14.1

I can provide a Pull Request to add this, just let me know what you think about it.

i believe adding a argument/cli option for the extra files should fit the expectations well
i'd like @davidism 's input on this as well

I'm fine with adding it.


[bug][paimon-connector] The isNullable attribute is true when the primary key field in the Paimon table converts the Column object.

…imon table converts the Column object. #7231

Purpose of this pull request

Does this PR introduce any user-facing change?

How was this patch tested?

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

cc @dailai and @TaoZex as well.

Please change the title of this pr named "[Improve][Connector-V2] Add the nullable attribute of the field for paimon"


Roboto font moves on page load.

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/fork/components-issue
Steps to reproduce:

When page loads for the first time Roboto font that has different font weight e.g 700, 900 moves or scales into place
see on https://material.angular.io/ website the hero title "Angular Material" when loaded for first time.

Expected Behavior
What behavior were you expecting to see?
I expect font not to scale or move.
Actual Behavior
What behavior did you actually see?
The font scales into place or in some cases moves slightly from left to right.
Environment

Angular: 9
CDK/Material: 9.2.4
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu):
Macos

We've set it up this way on purpose so that text is shown in a system font before Roboto has loaded since that's better than not showing text at all.

Oke, bad choice IMHO. The website on first load looks weird, see no purpose for nice font if the whole website, titles, buttons etc move / scale in place on first page load.

It's a bug IMO when you use mat-typography on body tag then it doesn't happen but then you can't change font but use the basic font sizes, e.g you can't change the font weight or font size it's not that useful IMHO. Fixed it by removing roboto completely. It's just hard to look at. :(

For what it's worth, this is something that you can control on your end when you load Roboto, it's not controlled by Material. If you want to change the behavior for your own app, you can add &display=block to the Google Fonts URL that loads Roboto.  There's for info in the docs: https://developers.google.com/fonts/docs/css2

Thanks that's great!


Cnolewajka/feature/metaobject

I would like to start discussion on that change.
Please, let me know your view on this one.
UT still to be added once we confirm that this is the right approach.
I would be grateful if we could move on with this one promptly, as we need this feature quite badly.
Thanks.

I will be adding top level links handling and will refactor this. I intend to introduce ITopLevelDocument, that would handle both links and meta, and would be similar to MetaDataWrapper.

Next stages are:

add link building for easier jsonapi specific link creation (like paging, filtering, etc)
add jsonapi specific query parameters parsing (like filtering, paging, etc.)


[CIVP-19296] Update Python Client to use CSVImports

In this PR:

We migrate the convenience functions for imports in civis.io from using AutoImports via the /imports and /imports/syncs endpoints to using the newly created /imports/files/csv and /files/preprocess/csv endpoints. This opens up some new opportunities for users via these endpoints, such as upserts, multi-file imports, and importing with a subset of columns.

As part of developing these new capabilities, a number of the tests for the civis.io module are also refactored from using VCR cassettes to mocking API client calls directly.

We add a new get_storage_host_id method to the APIClient. This method makes easier interacting with the new Storage hosts abstraction, used by the new CSV imports to import directly from S3.

@zacharydfriedlander, can you pull in @leeacto for review as well?
Also tagging @patr1ckm for viz.

If y'all have any questions about the overall functionality of the imports/files/csv endpoint, these Zendesk docs might be helpful - should probably have included these from the outset!

I think this is ready for another round of review!

In manual testing, we discovered an issue with SQL types of different precisions being incorrectly rejected, e.g. VARCHAR(42) and VARCHAR(32) are rejected even though both are VARCHARs. The fix will be two-fold:

Add an option to loosen types as we do in AutoImports to CSVImports - that will require Platform side changes.
Loosen the strictness with which types are checked client-side. Rather than comparing types for string equality, we can look at just the base type.

Just wanted to give everyone a heads up here - I have opened a PR in my fork to address point 2, and will update as work progresses.

After a number of other things arose, I've finally been able to get back to this - the necessary Platform side changes have been made, and I have updated civis_file_to_table to leverage the new parameter added.
You can see a sample import produced by the new code here.


Compatibility with UDMPro 3.0.x?

Hi all-  I don't have a test environment for my Unifi system, so I can't test. Can someone confirm that there are no issues when migrating the UDM Pro to 3.0.x? Much appreciated.

No issues on mine. Been keeping udm pro and unpoller up to date and all working well . Running 3.0.20 on udm pro. And 2.7.20 unpoller now and working fine

Thank you for your input .

No issues on mine. Been keeping udm pro and unpoller up to date and all working well . Running 3.0.20 on udm pro. And 2.7.20 unpoller now and working fine


.offers shows TUDCSE twice

Possible fix: Iterate over rows and add each offer in a new array. If the offer course already exists in the newly created array check the position and keep the higher one. Implement here

Thanks! Fixed in 4f528004c2c1c6a74d47af84a2de882411a76973.


Add unit to amount

https://github.com/cashubtc/cdk/blob/6d8c10440e093603978b94e85549239031ffe8c9/crates/cdk/src/amount.rs#L8
Add try_into sats and msats

Since #199 makes wallet single unit. The unit will be known by the wallet and is not needed in the amount


Windows release

Please can you provide Windows release for 32bit and 64bit?

windows 64bit release is already available. as for 32bit, unfortunately travis-ci doesn't provide this architecture and I don't have enough time to develop proper cross-arch compilation workflow.

It's a shame... So for 32bit we need to use this competitor project?
https://github.com/xjasonlyu/tun2socks


Calling Path.exists() on non-existent drive raises WindowsError

Any idea why this is happening?
>>> import pathlib2 as pathlib
>>> pathlib.Path(r"E:\Whatever\blah.txt").exists()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "P:\common\rez\packages\pathlib2\2.3.2\pathlib2\__init__.py", line 1549, in exists
    self.stat()
  File "P:\common\rez\packages\pathlib2\2.3.2\pathlib2\__init__.py", line 1356, in stat
    return self._accessor.stat(self)
  File "P:\common\rez\packages\pathlib2\2.3.2\pathlib2\__init__.py", line 541, in wrapped
    return strfunc(str(pathobj), *args)
WindowsError: [Error 21] The device is not ready: 'E:\\Whatever\\blah.txt'
>>> import os
>>> os.path.exists(r"E:\Whatever\blah.txt")
False
>>> pathlib.Path(r"C:\whatever\blah.txt").exists()
False

I tested this with version 2.3.2 and the latest commit 87f9a0e8c69a593c92d02aec9e4d6baefe012252

The fix is now in develop, and will be included with the next release. It should work now, if not, do let me know and I'll look into it. Thanks once more for engaging with upstream to get this addressed!


How to install with Vim-Plug

Thanks for the fix, any idea how one should proceed to install this with Vim Plug ?

This plugin is just a source extension of https://github.com/hrsh7th/nvim-cmp, which is written in lua. Then using with packer is recommended.
You could use wbthomason/packer.nvim and Vim plug at the same time without any conflicts (I'm using packer.nvim and vim plug at the same time as well)
But, we can use vim vim plug as below
Plug 'quangnguyen30192/cmp-nvim-ultisnips'
Plug 'hrsh7th/nvim-cmp'
lua require 'cmp-config'

You will need to create a lua file under ~/.config/nvim/lua/cmp-config.lua and put everything in the config function from the README
config = function()
...
end

Or you could use lua heredoc right in vim file as the guy here is doing

Thank you for the help !

@quannguyen30192 the comment in reddit was removed.

@DinkyTrady here you are

Plug 'hrsh7th/nvim-cmp'
Plug 'quangnguyen30192/cmp-nvim-ultisnips'
call plug#end()

lua << EOF
require("cmp-nvim-ultisnips").setup {}
EOF

Hey @DinkyTrady do you want to install with vimplug?

@quangnguyen30192 yes, but now i can setup and configure it.


Editing slows significantly on larger documents

This is almost entirely due to CM.indexFromPos and CM.posFromIndex, calls to which (aggregated from the various places they happen) account for somewhere between half to three quarters of the execution time of a continuous typing profile. It's pretty clear these aren't meant to be on a hot path, but they're currently on basically every editing hot path due to our half-baked projectional span mapping technique. We either need to bite the bullet and do a more proper incremental update of the document or give up on the mapping and find a faster approach to preserving state in a meaningful way. In the interim, caching values until the document is dirtied would probably help, but it's likely not worth the trouble vs just going all in on one of the proper fixes.

For reference, this was issue was noticed when working with the following Eve program: https://github.com/witheve/mamarob/blob/54b79c57bdf8294d4ace3004e9227f8445167325/food-truck.eve.md

Mitigated somewhat by #731


The payload is invalid.

The payload is invalid. {"exception":"[object] (Illuminate\Contracts\Encryption\DecryptException(code: 0): The payload is invalid. at vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php:195)

Sometimes it happens the same to me. I think it happens when a user left the browser opened for a long time.

Tenho este problema ocorrendo aqui também

Same issue with a basic contact form (no auth required).
I think it happens when a spammer tries to send some kind of hacked token.
For now I am encapsulating the decrypt attempt with a try/catch
to prevent the DecryptException being logged over and over:
# vendor/lukeraymonddowning/honey/src/InputValues/JavascriptInputValue.php

public function checkValue($value): bool
{
    try {
        return Crypt::decrypt($value) == "Honey";
    } catch (\Throwable $exception) {
        return false;
    }
}


fix: make tests pass by mocking out auth'd http calls

Thanks for the PR, since you are transforming some integration test into unit tests, I have to carefully review it

Probably shouldn't be running integration tests as part of the build, we should tag them as "integration" tests and exclude them from the default build to exclude any external calls.

As discussed I would be interested to keep integration tests as well but running them less often.
So unit tests would be executed using go test -v -short and long-running test with go test -run Integration
`
`

I'm closing this PR, as the httpclient is implemented since #418 .
I wasn't aware of this PR but it seems that it's the same idea (I'm not totally crazy ;) ).
Thanks a lot!


Fixed named anchor tags

Motivation
I noticed that the named anchor tags on this page were not the right case, and named anchor links are case sensitive. This meant that clicking on any of these links would lead to the top of the destination page, rather than the correct spot.
Changes
I changed the case to match the working links I found and manually tested the ones I modified.

Thanks for the fix @vedran! It looks like some other stuff changed out from under you, causing the build to fail. Would you mind rebasing your fork on the latest main from this repo and see if that solves the issue?

Hey @vedran - I've just gone ahead and done that myself in #2346. I'll close this out for now, but thanks again for taking the time!


Implement error handling when token fetching fails for those relying on tokens

Is your feature request related to a problem? Please describe.
Implement error handling when token fetching fails for those relying on tokens.
Describe the solution you'd like
Perhaps a fallback boolean should be set if tokens are failing to load and therefore the alarm/timers can't be retrieved
Additional context
See this and glocaltokens issue 3.

This should be taken care of in https://github.com/leikoilja/glocaltokens/issues/3.


DbSet AsQueryable() returns empty list instead of data and crash on ToListAsync()

In the attached screenshots you can see that the result of my ServiceSet table contains data but calling .AsQueryable() on it does not return any data so the variable is an empty list (see other image).
Furthermore my UnitTest crashes in this function if I use ToListAsync(). If I use ToList() it works but I just realized that the test doesn't seem to work right then.
Is this a bug or can this be configured/mocked somehow?
Here you can see there is mocked data in the table:

And it gets lost when calling .AsQueryable() on it:

Can you provide a unit-test or minimal reproducible example that demonstrates the issue?

Sure. Was also interested in looking a bit deeper and created a Fork and a Pullrequest:
https://github.com/cup-of-tea-dot-be/entity-framework-core-mock/pull/37/files
Sadly nothing you can blindly merge but I did my best.
I meanwhile also needed the .Entry(myDbset) function so I reference issue https://github.com/cup-of-tea-dot-be/entity-framework-core-mock/issues/34 which I also created a basic unit test for that fails.
I think I could successfully fix the .AsQueryable() function but I'm not experienced in Moq enough to mock the .Entry() method. I hope you can figure it out and that I can learn from your addition :)

@huysentruitw friendly ping :). Will you have time for this any time soon?

FINALLY figured out at least a workaround. Instead of using .AsQueryable() you can write .Include(x => x). Looks like it does nothing but it ensures that you have an IQueryable instead of an IEnumerable.


New constraint type: unique-best-effort

The use case was something a user recently brought to me:
Given a cluster of 25 mesos agents, the user wants to run 30 instances of the given application. This new constraint would start the first 25 tasks 1 on each slave, and then put the remaining 5 on whatever agents send offers.
Some applications work best when on different hardware, but don't necessarily require it. This is one of those case.
This issue is really just to discuss if adding something akin to this would make sense for marathon.

@SEJeff thanks for bringing this up. Can you please flesh out the benefit of this approach in contrast to distributing tasks evenly via the GROUP_BY constraint?
Distributing evenly would mean that all agents are running either 1 or 2 instances of that app. Your described approach could lead to one agent running 6 of those instances, while all others are running 1. In another scenario with 10 agents and 100 instances, you might end up with 91 instances on one agent – whoah. So what is best effort?
From my point of view, it looks like I'd either have a unique constraint or an even distribution. Does that make sense?

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-4480. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.


Have a warning after installing pyzule

Hi, I have a warning after installing pyzule
pyzule -h
/Users/am1ncmd/.config/pyzule/venv/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(

I'm a bit confure following the github issue

do you not have openssl installed? try installing it with brew

it already installed v1.1.1

i mean try installing the latest version, dont specify a version

closing due to inactivity


Not possible to use CSP account to connect to retrieve data

According to this page: https://docs.microsoft.com/en-us/graph/auth-cloudsolutionprovider a CSP should have access to Intune data for tenants. As far as I can see, there is no way to do this with this SDK, e.g. using a -TenantId

Bump, looking for this as well.


Feature Suggestion -  Add eslint-plugin-jsx-a11y to our Eslint config

Integrate https://www.npmjs.com/package/eslint-plugin-jsx-a11y plugin into our eslint config
we can configure them as warning and not as errors to begin with

#558


Mask Detection

Script Title - Mask Detection
Brief -
I wanted to contribute to your repository Mask Detection using open cv and python
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md in your folder for program Instructions
add requirements.txt if needed

Programming Language

[x] Python

Happy Coding

Hey, isn't it similar to #216

pls assign me this issue


autoregistration: fix marking entries as connected after disconnect

fixes #44640
The race:

Start processing a WorkloadGroup Add
Start processing a proxy disconnect
If the disconnect update is written first, the WG Add event overwrites it

The fix:

Check that the connection timestamp is newer than the disconnect
Use Update instead of Patch to make sure we knew about the timestamps before writing

We're relying on timestamps from different controllers which isn't great, but I don't see a better option. For the case where we have one controller, we could hold locks for longer or lock changes for individual connections/proxies but we will still hit issues with  >  1 istiod.
5s: 48 runs so far, 0 failures
10s: 96 runs so far, 0 failures
15s: 144 runs so far, 0 failures
20s: 216 runs so far, 0 failures
25s: 264 runs so far, 0 failures
30s: 312 runs so far, 0 failures
35s: 384 runs so far, 0 failures
40s: 432 runs so far, 0 failures
45s: 480 runs so far, 0 failures
50s: 531 runs so far, 0 failures
55s: 600 runs so far, 0 failures
1m0s: 648 runs so far, 0 failures
1m5s: 696 runs so far, 0 failures
1m10s: 768 runs so far, 0 failures
1m15s: 816 runs so far, 0 failures
1m20s: 865 runs so far, 0 failures
1m25s: 936 runs so far, 0 failures
1m30s: 984 runs so far, 0 failures

@stevenctl: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
c70d7475e5dbd61de427f7fda11ad0f8ca875c52
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Bug: PDP page doesn't format prices correctly

See https://demo.vercel.store/product/next-js-short-sleeve-unisex-t-shirt
The price is 13.50 USD, but it's rendered as 13.5 USD. Should be 13.50 USD.

Fixed on #47

Nice, thanks @bntzio


chore(main): release 0.1.1

:robot: I have created a release beep boop
0.1.1 (2023-06-21)
Bug Fixes

python code for antismash.jsonl (b97d5a2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/socialgene/sgnf/releases/tag/v0.1.1 :sunflower:


How to disable leading and trailing whitespace entirely?

I can't find a way to disable leading and trailing whitespace? Could you please help me with config?

Can you be more specific about the behavior you want?

I believe it is the same issue as this #122
You can either use ysiw) or change config
["("] = {
            add = { "(", ")" },
            find = function()
                return M.get_selection({ motion = "a(" })
            end,
            delete = "^(. ?)().-( ?.)()$",
        },

I'd suggest swapping the default behavior of the left and right surrounds, or providing an option to toggle it.

Changing the default behavior at this point is out of the question, since I find this choice mostly arbitrary, and would rather preserve compatibility with vim-surround. To change this, the configuration provided in this link should suffice.

Thanks!
While it's nice to keep compatibility for veterans of vim-surround, newcomers are likely to be confused by the extra spaces when modifying surrounds, like cs"' :: "content" -> 'content' but cs([ :: (content) -> [ content ].
What about providing an option? Since I find that left surrounds are clearly more customary than right ones, and that no spaces between surrounds and contents are more common than spaces.

I'm not particularly convinced that an option/toggle would be the preferred way to go about this. I'm currently in the process of trying to open up the internals of this plugin a bit more to make things "more idiomatic" from a Vim perspective; I believe that such a small change like this should just be done by the user.


NOTICE: v1.2 of devcontainers/action will now validate devcontainer-feature.json schema

Wanted to give you guys a heads up that i've enabled schema validation in the action, which will fail the publish if any devcontainer-feature.json files do not follow the published schema (typos etc..)
I am not if this will be an issue for your repo, but I suspect with the volume this repo sees, there will be at least a few typos that may block publishing.
If you'd prefer to disable and handle this incrementally, i've added an option to set theses errors as warnings here: https://github.com/devcontainers/action/blob/main/action.yml#L14

thanks!
Indeed we had at least one feature fail that validation so far ("boolean" option instead of "string" , fixed in #a7ced050e74f7ca1d460af6734886e11813005e4 )

full release has passed #222


Docs: How to extend or define evaluators

I see an important page in the documentation is still missing:
https://ardalis.github.io/Specification/extensions/extend-define-evaluators.html
And I didn't find any issue about it?
Maybe also an example in the sample app of how to override a single evaluator would be handy.
A good example might be a custom SearchEvaluator which uses the progresql specific EF.Functions.ILike in stead of the default EF.Functions.Like? (Related to #230 ==> I was actually looking up the documentation to try and create a specific evaluator for this, but kind of hit this wall...)

Hey @fretje
Here is what you do.
Create your own search evaluator and implement it as you wish. Create your specification evaluator by inheriting from the provided one in the package. We have a constructor overload that accepts a list of evaluators. Refer to this comment here on why there is no constructor accepting a single evaluator.
public class MySearchEvaluator : IEvaluator
{
    private MySearchEvaluator() { }
    public static MySearchEvaluator Instance { get; } = new MySearchEvaluator();

    public bool IsCriteriaEvaluator { get; } = true;

    public IQueryable<T> GetQuery<T>(IQueryable<T> query, ISpecification<T> specification) where T : class
    {
        // Write your desired implementation

        return query;
    }
}

public class MySpecificationEvaluator : SpecificationEvaluator
{
    public static MySpecificationEvaluator Instance { get; } = new MySpecificationEvaluator();

    private static IEvaluator[] evaluators = new IEvaluator[] {
                WhereEvaluator.Instance,
                MySearchEvaluator.Instance,
                IncludeEvaluator.Default,
                OrderEvaluator.Instance,
                PaginationEvaluator.Instance,
                AsNoTrackingEvaluator.Instance,
                IgnoreQueryFiltersEvaluator.Instance,
                AsSplitQueryEvaluator.Instance,
                AsNoTrackingWithIdentityResolutionEvaluator.Instance
            };

    private MySpecificationEvaluator()
        : base(evaluators)
    {
    }
}

In your application, usually, you have to create your own repository class so you can pass your DbContext. We have a constructor overload that accepts ISpecificationEvaluator, and you can pass your newly created MySpecificationEvaluator.
public interface IRepository<T> : IRepositoryBase<T> where T : class
{
}

public class Repository<T> : RepositoryBase<T>, IRepository<T> where T : class
{
    public Repository(AppDbContext dbContext)
        : base(dbContext, MySpecificationEvaluator.Instance)
    {
    }
}

public class AppDbContext : DbContext
{
}

Thanks again for the clear explanation!
I guess this issue can stay open until this is up on the docs site? (I might have a stab at making a PR for it once I find the time ;-)).

Sure, any help is welcome.

Hey @fretje
Here is what you do. Create your own search evaluator and implement it as you wish. Create your specification evaluator by inheriting from the provided one in the package. We have a constructor overload that accepts a list of evaluators. Refer to this comment here on why there is no constructor accepting a single evaluator.
public class MySearchEvaluator : IEvaluator
{
    private MySearchEvaluator() { }
    public static MySearchEvaluator Instance { get; } = new MySearchEvaluator();

    public bool IsCriteriaEvaluator { get; } = true;

    public IQueryable<T> GetQuery<T>(IQueryable<T> query, ISpecification<T> specification) where T : class
    {
        // Write your desired implementation

        return query;
    }
}

public class MySpecificationEvaluator : SpecificationEvaluator
{
    public static MySpecificationEvaluator Instance { get; } = new MySpecificationEvaluator();

    private static IEvaluator[] evaluators = new IEvaluator[] {
                WhereEvaluator.Instance,
                MySearchEvaluator.Instance,
                IncludeEvaluator.Default,
                OrderEvaluator.Instance,
                PaginationEvaluator.Instance,
                AsNoTrackingEvaluator.Instance,
                IgnoreQueryFiltersEvaluator.Instance,
                AsSplitQueryEvaluator.Instance,
                AsNoTrackingWithIdentityResolutionEvaluator.Instance
            };

    private MySpecificationEvaluator()
        : base(evaluators)
    {
    }
}

In your application, usually, you have to create your own repository class so you can pass your DbContext. We have a constructor overload that accepts ISpecificationEvaluator, and you can pass your newly created MySpecificationEvaluator.
public interface IRepository<T> : IRepositoryBase<T> where T : class
{
}

public class Repository<T> : RepositoryBase<T>, IRepository<T> where T : class
{
    public Repository(AppDbContext dbContext)
        : base(dbContext, MySpecificationEvaluator.Instance)
    {
    }
}

public class AppDbContext : DbContext
{
}

Hi @fiseni,
I am trying to get my custom evaluator working, I'm doing exactly what you showed above but there is something wrong with the MySpecificationEvaluator Instance
I am getting runtime exception in MySpecificationEvaluator.cs at this line:
 public static MySpecificationEvaluator Instance { get; } = new MySpecificationEvaluator();

Exception has occurred: CLR/System.TypeInitializationException
A type exception has occurred „System.TypeInitializationException” w FSH.WebApi.Infrastructure.dll, but was not handled in user code: 'The type initializer for 'FSH.WebApi.Infrastructure.Persistence.Specification.Evaluators.MySpecificationEvaluator' threw an exception.'
 Internal exceptions found. See $exception in the variable window for more details.
 	The innermost exception System.ArgumentNullException : Value cannot be null.
   w System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   w System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection)
   w Ardalis.Specification.EntityFrameworkCore.SpecificationEvaluator..ctor(IEnumerable`1 evaluators)
   w FSH.WebApi.Infrastructure.Persistence.Specification.Evaluators.MySpecificationEvaluator..ctor() w /Users/szymon/dotnet-projects/my-api/src/Infrastructure/Persistence/Specification/Evaluators/MySpecificationEvaluator.cs:row 23
   w FSH.WebApi.Infrastructure.Persistence.Specification.Evaluators.MySpecificationEvaluator..cctor() w /Users/szymon/dotnet-projects/my-api/src/Infrastructure/Persistence/Specification/Evaluators/MySpecificationEvaluator.cs:row 8

InnerException:
Message: Value cannot be null. (Parameter 'collection')
Source: System.Private.CoreLib
StackTrace:
at System.Collections.Generic.List 1.InsertRange(Int32 index, IEnumerable1 collection)
at Ardalis.Specification.EntityFrameworkCore.SpecificationEvaluator..ctor(IEnumerable 1 evaluators)
at FSH.WebApi.Infrastructure.Persistence.Specification.Evaluators.MySpecificationEvaluator..ctor() in /Users/szymon/dotnet-projects/my-api/src/Infrastructure/Persistence/Specification/Evaluators/MySpecificationEvaluator.cs:line 23
at FSH.WebApi.Infrastructure.Persistence.Specification.Evaluators.MySpecificationEvaluator..cctor() in /Users/szymon/dotnet-projects/my-api/src/Infrastructure/Persistence/Specification/Evaluators/MySpecificationEvaluator.cs:line 8

Unfortunatelly I have no idea what is the problem here.

@fiseni
It works when I pass evaluators array directly to the constructor.
For some reason I can't get this working with the static field.
This is a working specification evaluator:
public sealed class MySpecificationEvaluator : SpecificationEvaluator
{
    public static MySpecificationEvaluator Instance { get; } = new MySpecificationEvaluator();

    private MySpecificationEvaluator()
        : base(new IEvaluator[]
    {
        WhereEvaluator.Instance,
        MySearchEvaluator.Instance,
        IncludeEvaluator.Default,
        OrderEvaluator.Instance,
        PaginationEvaluator.Instance,
        AsNoTrackingEvaluator.Instance,
        IgnoreQueryFiltersEvaluator.Instance,
        AsSplitQueryEvaluator.Instance,
        AsNoTrackingWithIdentityResolutionEvaluator.Instance
    })
    {
    }
}

Hi @snax4a,
Were you able to get this working with the example @fiseni gave at the beginning of this issue? I am interested in an complete example.

Hi @fretje,
If you're on version 7, the requested feature was merged. So, it's easier to pass your evaluators.
Just today I provided an example in this issue on how to write extensions and defined your evaluators.
Also added sample projects, so you can analyze the full implementation.

Here is a sample of specification extension.
Here is a complete app that among other things also passes a custom evaluator.

Hello, I stumbled across issue #291 and this issue because I was looking for a way to ignore auto includes within our application.
The evaluators are a great way to do this, thanks for this feature!
From only looking at the docs I didn't make the connection that an evaluator can be used to ignore auto includes. That's why I think it would be better to update the current docs (because these don't show us a "real" scenario), with with the example shared in #291. If you agree, I'm happy to create a PR for this. It would be similar to "Example: Configure caching behavior through specification builder extension method" in http://specification.ardalis.com/extensions/extend-specification-builder.html


WIP basic high pixel density support re: openseadragon/openseadragon#541

I think I got all the various translation methods between coordinate systems to be aware of the device's pixel density now, but there are still problems with intercepting mouse/touch events and scaling them properly to the viewport's (I think?) coordinate system (i.e. the canvas will see a pinch-zoom action in the bottom-right of the screen and set the zoom center to the middle of the canvas if the pixel density ratio is 2x).
Apologies in advance if this isn't how pull requests are supposed to work, I'm still learning the github ropes!

It looks like you are off to a good start! However, I think the correct approach is to leave the viewport and tiled image coordinates exactly the same, regardless of pixel density, and instead do the scaling in the drawer (in drawTile). That way the coordinate system stays consistent regardless of pixel density.

I think I'd originally tried to keep everything in drawer/tiledImage, but then ran into issues with how the viewer decides if a tile should be rendered or not. Basically, as I pan away from the top-left corner of the content, tiles would disappear too soon. It was like the drawer was figuring out whether a tile had passed outside the viewport boundaries based on the original size of the tile, not the size of the tile after the pixel density had been taken into account. I haven't yet figured out where this calculation takes place (it doesn't seem to be in TiledImage->positionTile() so it seems I need to do some more digging.
I've made all the other changes you suggested and will add those to the pull request shortly. Thanks!

Actually I realize now that modifying TiledImage->positionTile() is probably not the best idea because it seems to position tiles based on the viewport coordinate system. I need to go deeper into the rendering code and figure out where the drawer actually renders things on the canvas to figure out how to stop the viewport from only displaying titles in the top-left quadrant of the canvas.

I assume if you remove all of the viewport/tiledimage code, you get everything drawing in the upper left hand quadrant, right? I think fixing that should be as simple as multiplying your coordinates by $.pixelDensityRatio in Drawer.drawTile.

Drawer.drawTile doesn't make any explicit references to coordinates, though; it seems to offload everything to Tile.drawCanvas. That seems to draw tiles based on a tile position and a tile size. Position seems to be given in viewport coordinates, which we're not changing, so I've just multiplied the size.x and size.y by $.pixelDensityRatio. Making that change and backing out the viewport/tiledImage code works, but drawing is constrained to the top-left quadrant.
Something in OpenSeadragon is making the decision that a tile is outside the viewport and thus shouldn't be rendered to the canvas, but I can't figure out where. The closest thing I found was in TiledImage.updateViewport, where there's some code that decides whether the whole TiledImage should appear or not, but that's all in viewport coordinates and so should be okay.
I can commit the code that pulls out the viewport/tiledImage changes and modifies Tile.drawCanvas, if that helps?

I'm pretty sure you need to multiply the position as well; it's in canvas coordinates.
As long as we do our conversion right, we shouldn't have to change anything outside of drawCanvas; whether to draw a tile or not is based on the logical size of the canvas, not its pixel size.
At any rate, go ahead and commit the changes and I can play with them as well.

Tried to multiply the position as well, and I get spacing between the individual tiles. Put up the code with the change anyways, since I'm probably missing a trick that would fix the quirk.

Figured out I was creating a canvas for the tile image that was too large. That said, this is in some sense a hack, because I'm still feeding 512x512 tile images to my testbed while telling OpenSeadragon to expect 256x256 images. This ties into an earlier comment that said it would be good to get OpenSeadragon to handle the business of figuring out what size tiles to call instead of faking it in the tile source.

Ah so...you shouldn't have to do that. I've grabbed this code and have run it locally on the test pattern DZI and it's looking great on my HDPI screen. Everything's aligned properly, and it's definitely sharper than without the patch. If you still want to go sharper from that, play with the minPixelRatio option.
It seems to me this patch is ready to land. What do you think?

Thank you for fixing the debug info! The Travis build failed, but it was just a time out, so I've restarted it. If it passes, I'll go ahead and land this. Great to finally have HDPI support!
Regarding not needing the 512 tiles, OSD already uses tiles that are higher resolution than needed, since scaling down looks better than scaling up.

And the Travis build passed; merging.

Woah, is this merged in, with bugs fixed involving manipulation etc? Exciting!
Oh wait, it's not merged into master though, but into a collections branch?  What's the best way for me to try this in my project? Build the collections branch locally? Is that ready for prime time with no other known bugs?
Any chance of getting this backported to master and released sooner than the collections branch is ready? I am really eager for better retina support.

Yes, sorry, should have mentioned it's the collections branch.
We're very close to merging the collections branch into master; hopefully next week. I consider it stable, so feel free to grab it and use it. Take a look at the changelog to see if there are any API bits you need to update for.

hooray!

For what it's worth, I just tested things off of current master 4a3899e394 -- and image display is much better on my MacBook Pro "retina", at both zoomed-all-the-way-in and not. I think this may have been  the answer to several mysterious "images don't look as sharp as they should" problems I was having.
Crossing my fingers, there could be other stuff going on (you don't want to know about the rabbit hole I went down with what the "dpi" metadata on my jpgs was), but this is a definite improvement. Looking forward to a release with it, as I prob won't deploy in production off unreleased master.  Thanks so much @iangilman

Thank @wesleyfok! :)
And yes, we should probably do a new release soon.

Can anyone confirm if this is in an OSD release, and if so which one(s)?  Thanks!

@jrochkind This was released in OSD 2.0.0:
https://github.com/openseadragon/openseadragon/releases/tag/v2.0.0


Fix telemetry span not entering properly attempt 3

OK so this time it is fixed. I added a test that effectively
The issue was that the span's parenting is done not when the span are entered but when the spans are created. Example of a correct span parenting:
let span1 = info_span!(...);
let _enter1 = span1.enter();

let span2 = info_span!(...);
let _enter2 = span2.enter();

Span parenting doesn't work when entering, this is wrong:
let span1 = info_span!(...);
let span2 = info_span!(...);

let _enter1 = span1.enter();
let _enter2 = span2.enter();

To fix the issue in substrate I removed TelemetrySpan from sc-service's Configuration. The user will need to create the TelemetrySpan during the substrate node initialization. It will be less convenient for them but it's simpler and the spans will behave as you would expect.
polkadot companion: https://github.com/paritytech/polkadot/pull/2382

@bkchr @dvdplm this is ready for review

It would be good to run some manual tests with actual running nodes and coordinate with @maciej (and Erin?) to make double-extra sure this does what we need.

That is not what we want to test here. This is purely about being able to send messages. The telemetry messages are not specified anywhere.

bot merge


fix typo

Just a typo :D

Sure thing!

I think that should be it. I grepped further through the repository for any other instances of the typo "appRefTacker" and it seems to be corrected now. Thanks for the quick review and I am glad I could be of some help.


Added more detailed explenation to docs

Added a more detailed explanation about the image copy to buffer process.

$ git diff-tree --check $(git hash-object -t tree /dev/null) HEAD
vulkano/src/command_buffer/auto.rs:993: trailing whitespace.
+    /*
vulkano/src/command_buffer/auto.rs:995: trailing whitespace.
+
The command "git diff-tree --check $(git hash-object -t tree /dev/null) HEAD" exited with 2.


feat: add AnnouncementBar to modern Toolkit

Move alias to concrete subclasses, so that they are properly looked up when referred to with xtype.


Combine with pages router?

Hi,
I'm using Next 14 for an e-commerce site I'm building for a client. I've used this repository as a basis for what I've built so far. Unfortunately, the client wants page transitions in the site, for which I'm using framer-motion for. framer-motion is currently broken with the app router and therefore I've elected to use the page router instead.
As I understand it, both the app and pages routers can be used in conjunction. I'm trying to understand what's the best way to do so with this implementation. The v1 branch of this repository seems to be outdated and much different approach then what this repository does, as far as I understand.
In an idea world, I can still use my currently built pages that use the page router and then pull in Shopify data from the app router. Any help or advice would be greatly appreciated.

after a lot of issues i would love to use v1 version , but is it possible to find it at this time ? i got the production version of v2 deployed but its not what i expected , hardcoded lots and cms has gone, and then You loose the point to make a production version where you never come back to edit and leave 100% for a client to use cms as it was in disclaimer, v1 was better to go for production. not sure whats he question about using framer-motion , let us know particular parts of code used with framer-motion instead. it's possible to leave router alone and use framer-motion

If you are looking for the complete Pages Router version, you can still use v1 here: https://github.com/vercel/commerce/tree/v1


How many distinct jdenticons exist?

I am creating jdenticons from a 32-byte Ed25519 public key. What's the likelihood of two keys generating identical jdenticons?

Sorry, I found the previous version of this question. Nearly a million it looks like.

For others ending up here, please see issue #13 for an approximation of the number of unique icons.


latest commit won't run in hass 0.88. (hassio in docker)

2019-02-25 22:04:25 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.media_player.braviatv_psk. Make sure all dependencies are installed
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/homeassistant/loader.py", line 147, in _load_file
    module = importlib.import_module(path)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/config/custom_components/media_player/braviatv_psk.py", line 10, in <module>
    from homeassistant.components.media_player import (
ImportError: cannot import name 'SUPPORT_TURN_ON' from 'homeassistant.components.media_player' (/usr/local/lib/python3.7/site-packages/homeassistant/components/media_player/__init__.py)
2019-02-25 22:04:25 ERROR (MainThread) [homeassistant.loader] Unable to find platform braviatv_psk

Looking at the error code you are not using the latest version.
Please check the file in your custom_components folder and compare that with the latest version.
https://raw.githubusercontent.com/gerard33/home-assistant/master/braviatv_psk.py
Please also check if you are not using both the old and new folder names (so folder media_player and folder braviatv_psk).

you are absolutely right. i forgot that I've copied the file instead of hardlinking :)
Sorry!


Add examples that use transform= argument to the tutorials

We should add more documentation of this feature. We can stress that together with ProcessPool, this enables tensorflow users to do heavy preprocessing by writing Python code (tensorflow's native py_func is limiting as it takes the GIL.transform= feature of Petastorm can help a lot in this case)

Claiming this issue.


Remove listeners in reset

Is there any reason to not remove the listeners as well in the generated reset() method? Something like the following:
public class ExampleFragment$$ViewInjector {
  public static void inject(Finder finder, final ExampleFragment target, Object source) {
    View view;
    view = finder.findRequiredView(source,<PHONE_NUMBER>, "field 'uiList' and method 'onItemClick'");
    target.uiList = (android.widget.ListView) view;
    ((android.widget.AdapterView<?>) view).setOnItemClickListener(
      new android.widget.AdapterView.OnItemClickListener() {
        @Override public void onItemClick(
          android.widget.AdapterView<?> p0,
          android.view.View p1,
          int p2,
          long p3
        ) {
          target.onItemClick(p2);
        }
      });
  }

  public static void reset(ExampleFragment target) {
    // The next line is new!
    target.uiList.setOnItemClickListener(null);
    target.uiList = null;
  }
}

Is there any reason to remove them?

Leaks a reference otherwise. Isn't that why you null the views in the first place? I've never actually used reset().

We're experiencing a NullPointerException because the OnItemClickedListener is being called after the fragment has been detached. Because we're resetting the fragment in onDestroyView(), the views are null leading to the NPE.
Why exactly the listener is being called after the fragment is detached, I haven't figured out. Here's what the stack trace looks like:
java.lang.NullPointerException
       at ExampleFragment.onItemClick(ExampleFragment.java:91)
       at ExampleFragment$$ViewInjector$1.onItemClick(ExampleFragment$$ViewInjector.java:20)
       at android.widget.AdapterView.performItemClick(AdapterView.java:308)
       at android.widget.AbsListView.performItemClick(AbsListView.java:1510)
       at android.widget.AbsListView$PerformClick.run(AbsListView.java:3472)
       at android.widget.AbsListView$3.run(AbsListView.java:4835)
       at android.widget.AbsListView.onDetachedFromWindow(AbsListView.java:3302)
       at android.view.View.dispatchDetachedFromWindow(View.java:13547)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2802)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2800)
       at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2800)
       at android.view.ViewGroup.removeViewInternal(ViewGroup.java:4067)
       at android.view.ViewGroup.removeViewInternal(ViewGroup.java:4040)
       at android.view.ViewGroup.removeView(ViewGroup.java:3972)
       at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1045)
       at android.support.v4.app.FragmentManagerImpl.removeFragment(FragmentManager.java:1223)
       at android.support.v4.app.BackStackRecord.popFromBackStack(BackStackRecord.java:908)
       at android.support.v4.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1541)
       at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:502)
       at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:176)
       at android.support.v7.app.ActionBarActivity.onBackPressed(ActionBarActivity.java:298)
       at android.app.Activity.onKeyUp(Activity.java:2295)
       at android.view.KeyEvent.dispatch(KeyEvent.java:3232)
       at android.app.Activity.dispatchKeyEvent(Activity.java:2529)
       at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2181)
       at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4661)
       at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4628)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4193)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4247)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4216)
       at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4327)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4224)
       at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4384)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4193)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4247)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4216)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4224)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4193)
       at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4247)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4216)
       at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4360)
       at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4520)
       at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2217)
       at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1864)
       at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1855)
       at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2194)
       at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:138)
       at android.os.Looper.loop(Looper.java:131)
       at android.app.ActivityThread.main(ActivityThread.java:5593)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:515)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
       at dalvik.system.NativeStart.main(NativeStart.java)

It happens like this:

Frame 1 ends
Java code starts running, posts a fragment transaction to remove fragment.
User lets go of the screen, enqueues an ACTION_UP touch event.
Java code finishes running.
Frame 2 happens
Fragment manager runs and detaches the fragment calling onDestroyView in the process.
Touch event is delivered, interpreted as the end of a click, onClick is fired.
On click callback happens, fragment has its views nulled out.

Thanks for the explanation!
It sounds like a PR for this would probably be accepted?

Yep. I think this makes sense as a change.

Going to try to do this today.

This is actually somewhat impossible as it stands right now since we usually do not have a reference to the view.

Would the right way be to reuse the finders/etc from inject to get the view into the generated reset method?

No. The view layout might have changed causing different views to be found.
I have a plan for this. Basically, you'll inject a Resetter (name not finalized) which will maintain the references and rather than call ButterKnife.reset(this) you'll directly call resetter.reset().

Hey @JakeWharton ,
Have you made any progress on this. I really need this right now. Without this, you get NPEs very easily.
Easy reproduce steps:

Attach on focus changed to a edit text in a fragment and try to access any bounded view in the lister
Unbind butterknife in the fragment, as we should
Set the focus in the bounded edit text
Press the back button to navigate from the fragment
NPE

This particular NPE occurs since the onDestroyView is called when the back button is pressed so the fields are nullified and then the focus is removed from the view as it's going through the delete cycle, and hence the listener is called after bounded the fields have been nullified. ipso facto NPE
This is particular problematic since event binders like OnTextChanged are done with the actual pointer to the TextWatch boilerplate code tucked away likely inside the generated code, which prevents us from manually removing it from the watch chain in the onDestroyView, so we'll have to wait for you to add the removal to the library.
Any updates would be greatly appreciated. BTW, thanks for the great lib ;)

No updates. I don't use fragments so the incentive to work on this is low.
I would happily accept a contribution along the lines of what I said above.
On Thu, Aug 6, 2015 at 9:52 PM kelticknight<EMAIL_ADDRESS>wrote:

Hey @JakeWharton https://github.com/JakeWharton ,
Have you made any progress on this. I really need this right now. Without
this, you get NPEs very easily.
Easy reproduce steps:

Attach on focus changed to a edit text in a fragment and try to access
any bounded view in the lister
Unbind butterknife in the fragment, as we should
Set the focus in the bounded edit text
Press the back button to navigate from the fragment
NPE

This particular NPE occurs since the onDestroyView is called when the back
button is pressed so the fields are nullified and then the focus is removed
from the view as it's going through the delete cycle, and hence the
listener is called after bounded the fields have been nullified. ipso facto
NPE
This is particular problematic since event binders like OnTextChanged are
done with the actual pointer to the TextWatch boilerplate code tucked away
likely inside the generated code, which prevents us from manually removing
it from the watch chain in the onDestroyView, so we'll have to wait for you
to add the removal to the library.
Any updates would be greatly appreciated. BTW, thanks for the great lib ;)
—
Reply to this email directly or view it on GitHub
https://github.com/JakeWharton/butterknife/issues/211#issuecomment-128559909
.

Same here, not using reset on fragments for now because of this issue.

probably a handler.post would fix this

It wouldn't.
On Sat, Aug 22, 2015, 11:05 PM Rbcum<EMAIL_ADDRESS>wrote:

probably a handler.post would fix this
—
Reply to this email directly or view it on GitHub
https://github.com/JakeWharton/butterknife/issues/211#issuecomment-133776868
.

@JakeWharton Were you thinking of something like this?
public class MyFragment extends Fragment {

  @Bind(R.id.title) TextView title;
  @BindUnbinder Unbinder unbinder;

  @Override
  public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    ButterKnife.bind(this, view);
  }

  @Override
  public void onDestroyView() {
    super.onDestroyView();
    unbinder.unbind();
  }

  @OnClick(R.id.hello) void sayHello() {
    ...
  }
}

public class MyFragment$$Unbinder<T extends MyFragment> implements Butterknife.Unbinder<T> {

  private WeakReference<View> sayHelloReference;

  public void unbind(T target) {
    View sayHello = sayHelloReference.get();
	if (sayHello != null) {
	  sayHello.setOnClickListener(null);
	}

	target.title = null;
  }
}

Yep, something close to that. And without the weak reference :grinning:

Is somebody working on this issue? If not, I have some time I can dedicate to it...

I haven't done anything for this issue, just extrapolated jake's idea into code.

@scompt I you don't mind, I can try to implement that idea :) I really would like to see this feature in 8.0.0 release.

@serj-lotutovici Go for it! I would too, but don't have the time at the moment to implement it.


Fix error conditions for BaseConnectionUnix

It should only throw an exception if the folder is not created.

Thanks for the error fixing, i didn't saw that stupid mistake.


Language not supported, how do I change language for send button / textview placeholder?

How do I change language for send button / textview placeholder ?
I need Swedish language, and its not supported. I made a pull request to add it
New issue checklist

[x] I have read all of the README, documentation, and FAQ.
[x] I have reviewed the contributing guidelines. Confirmation: ____
[x] I have searched existing issues and this is not a duplicate.

General information

Library version(s):
iOS version(s):
Devices/Simulators affected:
Reproducible in the demo project? (Yes/No):
Related issues:

Bug report
Expected behavior
Actual behavior
Steps to reproduce
Crash log? Screenshots? Videos? Sample project?

You can provide your localization just like the sample does. You can check out the Localizable.strings under JSQMessagesDemo folder. 😃

@Lucashuang0802 I added this PL :) https://github.com/jessesquires/JSQMessagesViewController/pull/1847


[Impeller] Impeller performs worse than skia in power consumption.

Steps to reproduce
1.Open the application
2.Slide the page
Catch the capture with Renderdoc
I found that the event of Impeller is more than skia with opengles or vulkan.
skia + opengles

impeller + vulkan

impeller + opengles

By using systrace ,the duration of GPU Completion of Impeller is always more than skia.

I have put the power consumption data into a table for reference.
In this demo,as we can see,the power consumption of impeller is always higher than skia.

Code sample
Code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    const title = 'scroll list demo';

    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(
          title: const Text(title),
        ),
        body: Container(
          margin: const EdgeInsets.symmetric(vertical: 20),
          height: 2000,
          child: ListView(
            scrollDirection: Axis.vertical,
            children: <Widget>[
              Container(
                height: 200,
                color: Colors.blueAccent,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.white38,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.lightBlueAccent,
              ),
              Container(
                height: 200,
                color: Colors.blueAccent,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.white38,
              ),
              Container(
                height: 200,
                color: Colors.grey,
              ),
              Container(
                height: 200,
                color: Colors.lightBlueAccent,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

What target platforms are you seeing this bug on?
Android
OS/Browser name and version | Device information
Device:Xiaomi 14  8+256G
OS:Xiaomi Hyperos(Android V)
Snapdragon qualcomm 8Gen3
Does the problem occur on emulator/simulator as well as on physical devices?
Unknown
Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.22.3, on Ubuntu 24.04.1 LTS 6.8.0-45-generic,
    locale zh_CN.UTF-8)
    • Flutter version 3.22.3 on channel stable at
      /home/mi/workspace/devkit/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0850beeb2 (3 个月前), 2024-07-16 21:43:41 -0700
    • Engine revision 235db911ba
    • Dart version 3.4.4
    • DevTools version 2.34.3

[!] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
    • Android SDK at /home/mi/Android/Sdk
    • Platform android-35, build-tools 35.0.0
    • Java binary at:
      /home/mi/.local/share/JetBrains/Toolbox/apps/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor
      --android-licenses

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✗] Linux toolchain - develop for Linux desktop
    ✗ clang++ is required for Linux development.
      It is likely available from your distribution (e.g.: apt install clang),
      or can be downloaded from https://releases.llvm.org/
    • cmake version 3.28.3
    ✗ ninja is required for Linux development.
      It is likely available from your distribution (e.g.: apt install
      ninja-build), or can be downloaded from
      https://github.com/ninja-build/ninja/releases
    • pkg-config version 1.8.1
    ✗ GTK 3.0 development libraries are required for Linux development.
      They are likely available from your distribution (e.g.: apt install
      libgtk-3-dev)

[✓] Android Studio (version 2024.2)
    • Android Studio at
      /home/mi/.local/share/JetBrains/Toolbox/apps/android-studio
    • Flutter plugin version 81.1.3
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)

[✓] IntelliJ IDEA Ultimate Edition (version 2024.2)
    • IntelliJ at
      /home/mi/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate
    • 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

[✓] VS Code (version 1.93.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.98.0

[✓] Connected device (3 available)
    • 23127PN0CC (mobile) • 25552ddd • android-arm64  • Android 15 (API 35)
    • Linux (desktop)     • linux    • linux-x64      • Ubuntu 24.04.1 LTS
      6.8.0-45-generic
    • Chrome (web)        • chrome   • web-javascript • Google Chrome
      129.0.6668.70

[✓] Network resources
    • All expected network resources are available.

The duration of "Waiting for GPU completion"
3.22
1.skia+opengles(engine 3.22)

2.impeller + vulkan(engine 3.22)

3.impeller + opengles(engine 3.22)

3.24
1.skia+opengles

2.impeller+vulkan

@FridayAutum Renderdoc is not a profiler, its a debugger. Additionally, depending on the mode you run in Impeller will add additional debugging information that is not free.
GPU completion / power data might be more interested if the results are reproducible. Though the sample app you've shown is so trivial that I suspect any major performance differences have more to do with the swapchain working differently. How are you interacting with the app? just scrolling through it or idling?

Scrolling through the page. I will try to upload the apks here after a while.

If that is the source code for the app, that is fine. I'm not going to download an APK off of the internet :)

https://github.com/user-attachments/assets/1e3c4d7e-169d-48f5-97c1-2f62f2133290

That is the source code.

I got those data by using power monitor, a machine which is used for measuring the power consumption of mobile phone.
Test Preconditions: Flight mode, lowest brightness, wifi off, Bluetooth off, refresh rate 120hz
5-minute average current (current waveform is stable without jumps)

Similar to this

This seems to be very specific to your setup that we don't have. Is there a way to replicate the reported behavior without such setup ?

This machine can be borrowed from some test engineers and is one of the most accurate ways to test power consumption.
Or try to catch a trace file in that test scenario which is much easier to achieve may also helps.

@FridayAutum I'd recommend trying again on master, as that contains a number of swapchain changes which we believe improves performance.

Okay,I will try to retest on master today and supplement the relevant power consumption data of the master branch.However, according to the trace file, the time-consuming problem of GPU completion on master branch still exists which is also one of the indicators we need to consider.

The gpu completion numbers don't match any of our benchmarks unfortunately, and we have both Qualcomm and arm chip sets being benchmarked.
I'd suspect a problem in the trace events first

OK, I will sync the relevant data here after completing the power consumption test. :)

Here is the result.The same phenomenon as before

Keeping the issue open for team's tracking.

Thanks @FridayAutum . We'll probably need to do some more investigations into overall power consumption. since the app is quite trivial, I'd expect its one of a few systems:

Swapchain usage / settings
FenceWaiter/ResourceManager threads
Missing optimizations in dispatching.

We'll probably use android battery stats instead of this particular hardware though.
Out of curiosity, how does this power usage scale when the app is non-trivial? i.e. something like the wonderous app or flutter/dev/integration_tests/new_gallery?

We also have a powerlab apparently!

Is flutter-wonderous-app okay? I will do some related tests on it today.

Yeah that is the one! Much appreciated 😊

I got the data from the test engineer today.

Is there any new progress on this question? @jonahwilliams


Populate CP on spawn reroll

This PR will allow Golbat to add CP immediately upon seeing the spawn rerolls (if the previously scanned IVs are available). CP was reset in #65 but could not be recalculated due to not having gohbem support. Now this is possible with gohbem v0.10.0.
Untested but should be fine? Tested and is fine.

Unfortunately this feature would be turned off by config.Pvp.Enabled. This is fine?

Okay there is one issue with this PR: A 0P Ditto will have its CP set improperly until rescanned. I think this is an edge case that I am willing to let slip unless others object.

Somehow every PR of mine turned into a Ditto PR in the end.

Merge anyone? 👀

Are you on a hurry?! ;)
Did you approve that this fixed the cp = null issue on weatherboost?
I could not yet, it's holiday here, so keep patient ;)

I don't think that issue has anything to do with my PR. My PR might fix it but that is not its purpose. 😕


Fix missing UIViewController.viewDidAppear calls

As discussed in https://github.com/pointfreeco/swift-snapshot-testing/issues/434

👋 just curious if there are any plans to move forward on this PR!

I've just moved it forward

@stephencelis can we merge this one?

+1 🙏

@stephencelis any chance of merging this?


Reducing the memory-overhead of creating large-models for multi-GPU run

This PR addresses the issue of creating large models for inference. We first partition the parallelable tensors on CPU based on the number of GPUs to run the model and then move each partition to the device.
This fixes https://github.com/microsoft/DeepSpeed/issues/1209 and https://github.com/microsoft/DeepSpeed/issues/1161
This PR  changes the inference test scripts to reflect these changes.

I just tested this branch and I can confirm it splits the NeoGPT125M models equally between the 8 A100 GPUs - but the performance is ~10% slower.
Configuration before with 0.4.3 - load model with .cuda(), deepspeed zero2, batch size 100

memory of first GPU 39GB (20 GB taken on model load)
time to finish my training - 73h

Configuration with 0.4.4 - load model with .cpu(), batch size 240 - now it occupies all memory equally

But estimated time to finish 85h

self.module.to(torch.cuda.current_device())

Does this work fine as we want it to?
I implemented the code so that only parameters in the CPU are uploaded to the gpu.
https://github.com/tunib-ai/parallelformers/blob/main/parallelformers/parallel/engine.py#L86
Is it the same implementation as this one?

When I test this PR. It's works for me.
Test 13B model with half precision
before
1 - 8 gpus : OOM
after
1 gpus : 30G
2 gpus : 16.5G
4 gpus : 8.5G
8 gpus : 6G
It is not completely divisible by number of gpus, but it is acceptable
thank you
BR

From looking at the code, this PR also seems to solve #1192.


Music commands

[x] Being able to queue multiple songs, skip one and show the queue
[x] Better integration of the server in the bot's code (code revision)

Great!
This just lacks support for youtube playlists now


CSS fixes for firefox

Codecov Report

Merging #89 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #89      +/-   ##
==========================================
- Coverage   55.27%   55.26%   -0.02%
==========================================
  Files          39       39
  Lines         957      959       +2
  Branches      182      183       +1
==========================================
+ Hits          529      530       +1
- Misses        389      390       +1
  Partials       39       39

Impacted Files
Coverage Δ

client/components/ui/InputTime.jsx
17.85% <0%> (+2.47%)
:arrow_up:

Continue to review full report at Codecov.

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


Use new cache filename

This pull request

[x] uses the new cache file name .php-cs-fixer.cache

Thank you, @OskarStark!


vNext - How to handle passive mouse events whilst using the brushTool

Lets get the Needs Discussion board to use:
There are two avenues I can see to handle passive mouse events whilst using the brushTool, both don't sound ideal:

Completely ignore the passive status of all other tools.
Make painting potentially more fiddly on a densely annotated image.

I'm leaning towards the first option, as I can see it being really annoying to paint near/under other annotations.
Any thoughts @cornerstonejs/vnext-contributors ?
^How we should tag people, @galelis (and perhaps others) need to join the team.

Completely ignore the passive status of all other tools.

Would be my vote as well. Now that we have a baseBrushTool, maybe we even go one step further and say that when a brushTool is your "primary active" (left mouse button mask, or touch), that we don't highlight the tools w/ pointNearTool or nearbyHandle

Maybe we should have a mechanism for disabling the highlighting; and at application level turn off highlighting for the other tools.

@cornerstonejs/vnext-contributors
-- Is how you would tag the relevant users, @JamesAPetts

@diego0020 @dannyrb: Concerning an API fro disabling highlighting, wouldn't simply turning all other passive tools to enabled be equivalent and cleaner?

The advantage of a setting is that you can more easily "restore" the mode of all tools. If you set them all to enabled (And half were already enabled) it would be hard to know which ones to restore to passive when using a tool other than brush.

Right, that's a good point. I guess we could just have a new module in the store for highlighting, and this can be checked by all the tools' renderTool functions.

Most tools "highlights" based on a property we set in move, down, or start events. It may require less of a re factor to handle the logic in the dispatchers.
It fits nicely with the changes we have slated for new tool bools:

isHovered
isSelected

Fixed some PR's ago! :).


OCPBUGS-22531: bump otel dependencies

Required to address CVE-2023-45142.

/hold
Need to wait for the fix to land in the master branch.

/label backport-risk-assessed
/retest

Blocked by https://github.com/openshift/prometheus/pull/185

/hold cancel

/jira refresh


Detect clearsky modifications

Brief description of the problem and proposed solution (if not already fully described in the issue linked to above):
The fifth condition (c5) of the clearsky.detect_clearsky function wasn't calculated as defined in the original reference (equations 12 - 14).  This pull request also addresses part of #507 where there was an implicit assumption of minutely data.  All derivatives are now calculated by explicitly dividing by the sample_interval.  This does not address non-uniform time intervals.

[ ] Closes issue #506 (addresses part of #507)
[ ] I am familiar with the contributing guidelines.
[ ] Fully tested. Added and/or modified tests to ensure correct behavior for all reasonable inputs. Tests (usually) must pass on the TravisCI and Appveyor testing services.
[ ] Updates entries to docs/sphinx/source/api.rst for API changes.
[ ] Adds description and name entries in the appropriate docs/sphinx/source/whatsnew file for all changes.
[ ] Code quality and style is sufficient. Passes git diff upstream/master -u -- "*.py" | flake8 --diff
[ ] New code is fully documented. Includes sphinx/numpydoc compliant docstrings and comments in the code where necessary.
[ ] Pull request is nearly complete and ready for detailed review.

completed in #596


Add Pull Request Template

Requirements
Requirements are open for discussion.

Keep it simple

References

https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-request-template-for-your-repository

I would like to work on this issue? should I make a new templete.md file and add the the template in that file?

Hello @neutr0n420, go for it. I'll assign it to you.

Hey

Hello @neutr0n420, go for it! I'll assign it to you.

Hey I had made a pr can you have a look at it #397