[image_picker] Added initial support.

Adds windows(Win32) support for the image_picker.
Fixes https://github.com/flutter/flutter/issues/92108
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [relevant style guides] and ran [the auto-formatter]. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format.)
[x] I signed the [CLA].
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
[x] I updated CHANGELOG.md to add a description of the change.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[x] All existing and new tests are passing.

@azchohfi Are you planning on continuing with this PR?

I believe it would be best to abandon this, in favor for something based on top of #4424.

Sounds good; I'll close this then, and once that PR lands if you want to adapt the filter code here to a wrapper-based implementation that would be great.

Status update: I've got this implemented for when source == ImageSource.gallery, using a wrapper on the FileSelector for windows. Still implementing it for when source == ImageSource.camera, which will use the camera_windows plugin.

Great! Feel free to submit a PR with what you currently have; we can land it as an unendorsed implementation that only supports the gallery source, then camera can be added in a later PR. Incremental PRs are definitely encouraged :)

@stuartmorgan https://github.com/flutter/plugins/pull/4863


Fix race condition in Cypress tests

The fix I put into place to clear notifications after the page reload was not sufficient. I need to find a way to actually wait for the page reload before progressing.

Fixed with #149


libsystemtap: 3.2 -> 4.6

Description of changes
Should remove another python2 dependency (#148779).

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 169629 run on x86_64-linux 1

1 package built:

libsystemtap

Thanks!


[BUG] The location of text and input  are reversed

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

The location of text and input are reversed
Expected Behavior

The picture from  shenyu-doc
Steps To Reproduce
No response
Environment
ShenYu version(s): master

Debug logs
No response
Anything else?
No response

Is this a dashboard problem?

Is this a dashboard problem?

I guess so

@gentlehao ,Can you check it? please


Add QuerySetFilter

I was wondering if you're interested in something like this QuerySetFilter. It allows easy access to methods of custom QuerySets. It might be interesting due to the QuerySet/Manager updates in 1.7, and I think it can lead to less and better organized code. If yes I'd look into adding tests and a little documentation.
Usage is basically
    qs_choices = {
        '': ('---------', {
            'method': '',
        }),
        'foo': ('Foo', {
            'method': 'foo',
        }),
        'bar': ('Bar', {
            'method': 'bar',
            'args': (True, 5, 'baz'),
        }),
    }
    qs_filter = QuerySetFilter(qs_choices, label='QuerySet choices')

I'm going to close this as is. If you still think this is a good addition and want to re-open against the latest develop we can look at it then. Thanks.


MWPW-161619 - Recursively find fragments from submitted links

Recursively find all the available fragments from the submitted links
Error handling for Not aem url, not same domain, not found.

Resolves: https://jira.corp.adobe.com/browse/MWPW-161619
Test URLs:

Before: https://main--milo--saurabhsircar11.aem.page/drafts/sircar/locui-create?martech=off
After: https://loc-fragments--milo--saurabhsircar11.aem.page/drafts/sircar/locui-create?martech=off

@saurabhsircar11  looks like there are some conflicts. Could you please resolve? Thanks!

@saurabhsircar11 looks like there are some conflicts. Could you please resolve? Thanks!

Resolved


Unable to create the Ride.

Hi team, I can't create a ride on the Admin Page now
https://github.com/user-attachments/assets/bc30be88-15d8-43f0-ab51-361655561707

Hi @joseuride, I understand from our support team that the issue was resolved.

Hi @michalbanin , Appreciate that! Thank you for supporting our team.
I just want to let you know this issue appears frequently, it's kind of affected our progress for now. We rely on this control panel to handle the booking process. Please let us know if we have done anything wrong or messed up the admin panel to cause this issue.


Sheet-meister 2000

About the PR

a machine that turns meat into meat sheets.
meat sheets can be used in meat tiles, walls, and chairs.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

add: Added the sheetmeister, a machine that presses raw meat into construction sheets.
add: Added sheetmeister to meat manipulation technology.

Maybe add only the floor and a few dishes from these meat sheets? Is a chair from meat? It's a bit cringe in my opinion. Maybe If add bone, sculls and get some the red meat throne? And maybe it's also worth adding a crafting recipe in hands, very inefficient, which is made from meat and cardboard.

time to make a fish trap in disposals except with meat walls to be extra funny


Program with non-exhaustive cases in event still works!

https://code.world/#P3tn7E0ze5mnpa2XHWnIVcw
This program should die the instant a non-KeyPress event occurs.  Instead, it succeeds.  Why?  I think perhaps something in codeworld-api:CodeWorld.Driver is swallowing exceptions by accident.
This is actually pretty convenient behavior for students, in this particular case; but in general, it could hide attempts to produce errors for debugging and such; and besides, it's just wrong.

So the exceptions in event are happening.  But they propagate up to the JavaScript event handler, get printed to the JavaScript console, and then ignored.  The program itself never terminates.  To fix this, it looks like we'd need to catch the exception at the top level of event handlers, and explicitly re-throw it in the main program loop.
Not a really difficult change.  The simplest way is probably to change eventHappened to a MVar (Maybe SomeException) and check for exceptions on every loop iteration.

Looks like this is now fixed.  There's a related bug about the error sanitizer, but I'll report it separately.


Always make the icon a mask

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Rebase on main to fix the Mac OS build.

This ended up not working. @crizzitello I went to #qt on irc asking for advice but wasn't able to get any. It seems like the masking support specifically doesn't work on windows. Not sure about linux yet. Looking for ways to handle inverting the colors depending on whether the bar is light or dark. Any thoughts on a way to do that without having to poll for changes to the OS theme or do theming within qt?

This ended up not working. @crizzitello I went to #qt on irc asking for advice but wasn't able to get any. It seems like the masking support specifically doesn't work on windows. Not sure about linux yet. Looking for ways to handle inverting the colors depending on whether the bar is light or dark. Any thoughts on a way to do that without having to poll for changes to the OS theme or do theming within qt?

Yes I know of a way to do this by using the font color. We will need to land #137  to fix the lack of signing on other repos / local builds

Closing because #138 superceeds this


Add plan beneath Linode label

If we can include specs of the plan too, that would be great, even if it was in a hover.


Resolve vulnerabilities with fluent-operator and fluent-bit container

Describe the issue
Hi Team, I setup the fluent-operator's images (kubesphere/fluent-operator:1.6.0, and kubesphere/fluent-bit:1.9.9) in our environment and both  of them were flagged for the following security vulnerabilities.
CVE-2022-2879
CVE-2022-2880
CVE-2022-41715
To Reproduce
N/A
Expected behavior
Vulnerabilities resolved
Your Environment
- Fluent Operator version: 1.6.0

How did you install fluent operator?
Helm charts from the repo.
Additional context
As far as I can tell the above vulnerabilities are related to the Go and an update to 1.19.2 should resolve them.  https://groups.google.com/g/golang-announce/c/xtuG5faxtaU?pli=1
Slack discussion for additional context See discussion here: https://fluent-all.slack.com/archives/C02642TE9HR/p1666644682546449

Resolved with this PR https://github.com/fluent/fluent-operator/pull/438


Dots overflow on left side of compare view on front page

Chrome v52.0.2743.116 on OSX 10.11.6

Same as #102


Added lightweight tests for Denodo and fixed some bugs in its implementation

Added lightweight tests
Did not add it to Github testing CI, because neither the Denodo Docker image, nor the Denodo JDBC are publicly accessible
The directory lightweight-db-test-images/denodo instead contains database dumps exported from Denodo Express and a short guide on how to import them for testing.
Added new normalizers because Denodo has the following special restrictions:

Order by clauses cannot contain complex expressions => instead use variable references
Limits cannot appear in sub-queries => remove them from sub-queries where valid
"IS NULL" cannot be called on disjunction/conjunction expressions => replace these expressions with "CASE" instead.

All lightweight test cases that are not disabled in the corresponding classes passed during local testing.

Thanks Damian!


CQ-4272964 ColumnView fix VoiceOver announcing elements as "row 1 expanded" on focus

Description
Since problem only seems to occur in first column of items within Chrome on MacOS, we omit aria-expanded on those items.
Related Issue
https://jira.corp.adobe.com/browse/CQ-4272964
Earlier attempts to correct the issue:
https://github.com/adobe/coral-spectrum/pull/116
https://github.com/adobe/coral-spectrum/pull/91
https://github.com/adobe/coral-spectrum/pull/11
Motivation and Context
Earlier attempts failed to address the issue.
How Has This Been Tested?
Tested against coral-spectrum examples and in context against a local CloudReady AEM instance.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

@TanuSingla, @icaraps, @gagan031992


Faucet doesn't work again

Well, eth devs are fuckedup ropsten network with Istambul work (from 2 oct).

If you are sending  Eth from testnet here is my address
0x799570c5D9D60E58D124f6c5AC5D3b369C943c43

I switched back to the Infura ropsten endpoint... seems to work again.
@sfitzjava : I added you to the queue to receive Ropsten ETH. https://ropsten.etherscan.io/tx/0x28c810564fb9ace862294ae22b5430d1b88d5ac9eea932517d40438ff0cdbd8e

Hi can you add me here is my ether rop address
0x7aAd2993bDC723C95567c7BA466f5858120F350c


Implement Async Snowflake SQL API Operator

Implemented Async Snowflake SQL API Operator to support multiple  SQL statements sequentially, which is the behavior of the SnowflakeOperator,  the Snowflake SQL API allows for submitting multiple SQL statements in a single request. In combination with aiohttp, this may be an option for creating a SnowflakeSQLOperatorAsync that matches the query submission behavior of the SnowflakeOperator.

[x] Added Snowflake Async SQL API operator, hooks, trigger
[x] Added Example DAG
[x] Added Doc string
[x] Exception Handling in case of errors
[x] Added Test case for Hook,  Triggers, Operator

closes: #477

On first glance, the conventions of the class names should change to use Camel case.(SQL should change to Sql, API to Api)
SnowflakeSQLOperatorAsync
SnowflakeSQLAPITrigger
SnowflakeSQLAPIHookAsync
What about naming this operator as SnowflakeOperatorAsync and renaming the earlier one as SnowflakeParallel* , as this Operator is better in terms of submitting sequential multiple queries?

Yes I guess we should rename this operator as SnowflakeOperatorAsync and need to change  the old one as SnowflakeParallelOperator

On first glance, the conventions of the class names should change to use Camel case.(SQL should change to Sql, API to Api)
SnowflakeSQLOperatorAsync
SnowflakeSQLAPITrigger
SnowflakeSQLAPIHookAsync
What about naming this operator as SnowflakeOperatorAsync and renaming the earlier one as SnowflakeParallel* , as this Operator is better in terms of submitting sequential multiple queries?

Yes I guess we should rename this operator as SnowflakeOperatorAsync and need to change the old one as SnowflakeParallelOperator

Lets do this change so that there wont be DAG facing changes for the user. I also think that we can deprecate the old one, and no need of parallel operator as this operator already contains all the functionality needed

@bharanidharan14 Please consider documenting example DAG too.

example DAG

Added Documentation for the example DAG

@pankajastro Addressed your review comments please take a look at it

@pankajastro @phanikumv @pankajkoti @rajaths010494 Please review this PR


Why default.default is added when metric name is string?

Trying to understand metric-name function
(defn ^String metric-name
  [title]
  (if (string? title)
    (MetricRegistry/name "default"
                         ^"[Ljava.lang.String;" (into-array String ["default" ^String title]))
    (MetricRegistry/name
     ^String (first title)
     ^"[Ljava.lang.String;" (into-array String
                                        (if (= 3 (count title))
                                          [(second title) (last title)]
                                          (rest title))))))

https://github.com/sjl/metrics-clojure/blob/master/metrics-clojure-core/src/metrics/core.clj#L19
Why do you need to append default.default if a normal string is provided as the metric name? MetricRegistry/name seems to accept normal string fine without list of strings

Because metrics need to have a group (or at least it was required way back when this project was started). If you want to provide your own group name, pass in a pair of group name and metric name.


Get 415 error when bom file is too large

When upload bom get a  415 error.
It may due to the limit of put
The maximum allowed length of the bom value is 20'000'000 characters. When uploading large BOMs, the POST endpoint is preferred, as it does not have this limit.

Requires permission BOM_UPLOAD

Can you change the PUT into POST?
https://github.com/DependencyTrack/gh-upload-sbom/blob/1f0526714a54aeb1cdf780889cf1e917c477d775/index.js#L77

Duplicate of #7


Start using sideloading across protocol circuits

Related work #190
In addition to runtime methods being sideloaded into the BlockProver, we also want to sideload StateTransition proofs into the BlockProver and BlockProofs into the Settlement Contract. This enables faster compilation times and less memory requirements for proving


Add changelog skiplabel on workflow with skip-changelog label

Signed-off-by: Peter Zhu<EMAIL_ADDRESS>Description
Add changelog skiplabel on workflow with skip-changelog label
Issues Resolved
https://github.com/opensearch-project/opensearch-go/pull/208#issuecomment-1372838786
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@peterzhuamazon A related item is to get dependabot to add a bump change into CHANGELOG in its PRs. Want to take that too?

@peterzhuamazon A related item is to get dependabot to add a bump change into CHANGELOG in its PRs. Want to take that too?

Hi DB, you mean to say dependabot auto add entry to changelog.md?

@peterzhuamazon A related item is to get dependabot to add a bump change into CHANGELOG in its PRs. Want to take that too?

Hi DB, you mean to say dependabot auto add entry to changelog.md?

Yes, please!


r-strings & comments

I started implementing r-strings, partly for https://github.com/prql/prql/issues/376
But ofc one issue: our comments are #.
So
    fn test_r_string() {
        assert_yaml_snapshot!(parse(r###"
        derive x: r#"r-string test"#
        "###).unwrap(), @r###"
        ---
        version: ~
        dialect: Generic
        nodes:
          - Pipeline:
              - Derive:
                  - NamedExpr:
                      name: x
                      expr:
                        Ident: r
        "### )
    }

What do we think about the best syntax to use for comments? # is friendly and used for python (and BigQuery). But I'm not sure there are any intrinsic qualities which mean we need to keep it.

I would say that there are two options: # and //. There is also -- from SQL and Haskel and ' from VB.NET, but they are non-conventional so I would avoid them.
# is used in Python and R, which overlap with our target audience a lot, so that would be a good choice. If we go with that, we cannot use r#" text "# for multiline strings. There is """ text """ from python, which is easier to use, but it has the constraint that you cannot use """ in text, i believe.
Only alterntive is changing comments //, which are more common, but less new-user friendly.

Yes, good point, and +1 re the target audience.
We could expand it to any number of ", either an odd number or >2, to get to full generality.

I like the python strings too , and # for comments 👍


Add functions to get the current list of topics

Resolves #13
This commit adds a Topics function to bring the TopicMap
implementation in line with that of the Kafka connector. The Topics
function was added to kafka-connector after the connector-sdk was
extracted from it.
It also adds a Topics function to Controller that returns the list
of topics in the TopicMap. This function is added so that connector
implementations can get the list of current topics without having to
knew about the internal structure of Controller.
Signed-off-by: Chad Taylor<EMAIL_ADDRESS>

I'll merge the current set of changes and let's convert to RWMutex in the next PR?


Download of remote layers don't enforce timeouts

Looking at https://github.com/neondatabase/neon/blob/6a9d1030a687d6c4ebd415f702441f09d679fab4/pageserver/src/tenant/remote_timeline_client/download.rs#L78
We reached a state that the operation was blocked (due to https://github.com/neondatabase/neon/issues/3657)
If we would have used a timeout for the copy operation, the exponential backoff for handling errors would have allow the system to break out from the dead lock state

If we would have used a timeout for the copy operation, the exponential backoff for handling errors would have allow the system to break out from the dead lock state

Not sure how I feel about adding timeouts here.
The way I see it:

Pro: a timeout here would have prevented the outage in staging
Con: the timeout would have manifested in something like "whenever we restart the pageserver, there's this slew of timeout errors, but then it's fine". I think we would have de-prioritized such a symptom and wouldn't have spent the time to properly root cause this, which, IMO, was the right thing to do.

Regardless of pro & con: if we decide to add a timeout, it must not be on the copy operation as a whole, but the read & write operations invoked by copy.
I.e., not like this:
tokio::time::timeout(Duration::from_secs(30), tokio::io::copy(...))

because, if the download is a little slow, or the disk is a little slow, but is making progress, we'd still give up after 30 seconds, waste all that work, and likely retry the download shortly after, because something clearly needs this layer file.
IDK if there is a NoActivityPipe type that we could interpose here.

see my PR answer
WDYM by NoActivityPipe ?


Fix potential deadlock on sequential ControllerInstallation deletion and creation

/area quality
/kind bug
This PR adapts the ControllerInstallation contoller in gardenlet to wait until the ControllerInstallation namespace is deleted on ControllerInstallation deletion to prevent potential deadlock on immediate subsequent creation of ControllerInstallation with the same name. For more details see #4694.
Part of #4694
Release note:

Potential deadlock in gardenlet on sequential ControllerInstallation deletion and creation is now fixed.

/rebase


Adding HRES model support

include ecmwfapi as dependency
document how to get the model set up
add a reader for HRES

What model fields?
https://www.ecmwf.int/en/forecasts/datasets/set-i
We would be looking for the:

model level analysis (preference)
or the pressure level analysis (likely the easiest as we have done pressure level before).

What is the model name?
https://www.ecmwf.int/en/forecasts/access-forecasts/ecmwf-web-api
One would be asking for the operational stream of data too
How to construct the download command that you need for the MARS ecwmwf API?
You can click view MARS request to see what the API command would be for the given selection:

For the model level option: https://apps.ecmwf.int/archive-catalogue/?axis_date=2020-08-10&axis_time=00:00:00&axis_levelist=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137&axis_param=129,152,133,130&stream=oper&levtype=ml&expver=1&month=aug&year=2020&type=an&class=od

For the pressure level option: https://apps.ecmwf.int/archive-catalogue/?axis_date=2020-08-01&axis_time=12:00:00&axis_levelist=1,2,3,5,7,10,20,30,50,70,100,150,200,250,300,400,500,600,700,800,850,900,925,950,1000&axis_param=129.128,157.128,133.128,130.128&stream=oper&levtype=pl&expver=1&month=aug&year=2020&type=an&class=od

has been added under #133 #135


Also return "Used" diskspace from df -k

Hello,
Currently, diskspace returns the Total and Available disk space. One would think that we can guess the Used diskspace by doing: Total - Available. However, this is not accurate, probably for the following reason: https://askubuntu.com/questions/249387/df-h-used-space-avail-free-space-is-less-than-the-total-size-of-home#249415
Example:
$ df -k .
Filesystem 1024-blocks      Used Available Capacity  iused    ifree %iused  Mounted on
/dev/disk1   243924992 117961984 125707008    49% 29554494 31426752   48%   /

Used = 117961984
Total - Available = 118217984

Would that be  good idea to also return the Used diskspace?
Thanks

I also think this would be a good idea and should be super easy to implement.

Yeah It seems like a good idea.
Looks like https://github.com/keverw/drivespace will need to be updated for Windows probably too as that's what's being used on Windows. I'm not currently actively working on anything that uses diskspace.js currently

I'll try and submit a pull request

Sounds good. It looks like in the C# application for windows maybe doing TOTALSPACE,FREESPACE,STATUS to TOTALSPACE,FREESPACE,STATUS,USEDSPACE would work so not any breaking changes. I would prefer to compile drivespace.exe myself however because I don't know you, and for security reasons I don't really want random people submitting compiled code.

Thanks everyone. It is now using what's reported by the system on Linux! Windows it just calculates it.
Version 2.0.0 has been pushed to the NPM! Now it's using a result object, so it's bumped up a major version as breaking changes.


pythonPackages.webargs: init at 6.1.0

Motivation for this change
I added the webargs and webtest-aiohttp Python packages. Also, removed some unused dependencies from marshmallow (otherwise the webargs test would fail).
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@jonringer thanks for all the suggestions! I applied them all and rebased the branch.

@cript0nauta still interested in this? sorry it got backburnered

Rebased, upgraded to webargs 8 and fixed suggestions.

Please add pythonImportsChecks.

Done

I forgot to mention that the last time but please squash the commits into one per package.

Sure, done!


frontend signing refactoring

Revert "Revert "Package removed gen tailwind""
Revert "Revert "Tailwind new classes generate""
Revert "Revert "New response block add""
Revert "Revert "Transformers package add""
Revert "Revert "Validation type integration""
Revert "Revert "Record-in-record syntax rework""

Please merge https://github.com/Unisay/purescript-messenger/pull/2 before merging this one


Force liveQuery() to re-query?

I am using Dexie as a browser-side data cache. Once the user signs in and is authenticated, the cache is refreshed from the server with any updates. I'm trying to use liveQuery() to notify the app both when real changes are made (works perfectly) and when the update from the server is received (works inconsistently). The problem in the latter case is that if the update from the server has no effect (i.e., the data are unchanged by the refresh), then liveQuery() sometimes fires, and sometimes doesn't. This is perfectly reasonable, since nothing actually changed, but it's thwarting my attempt to use liveQuery() to let the user know that they're fully up to date.
I can use Dexie.on.storagemutated to track this, but that seems to be a rather heavy-handed approach. I wonder if there is some way to tell liveQuery() to re-query even if it thinks it shouldn't have to?
The alternative to this is to go back to my Old Way (tm) of doing this, which is to send a message upon the actual receipt of data from the server, but if I do that I may as well not use liveQuery() at all, which seems kind of a shame.

Is there any way you could update the GUI when you're done downloading the data? Let's say you do a fetch() to download the data from server and then a dexie transaction with some bulk put operation? When that transaction is done, could you there trigger a signal to the GUI to update it about the download-done state? I might miss the problem point but need for me that would be a more natural way to provide user feedback from the successful download than liveQuery in this case?

Yes, that's exactly what I meant by, "send a message upon the actual receipt of data from the server."
My point is that if I could coerce liveQuery() to do this, then I could use it for everything. But I'd rather not use two different mechanisms for what are effectively the same category of notifications (at least as far as this app is concerned). Therefore, if liveQuery() won't work for this, then I may as well "manually" send messages for all of these notifications, to avoid the complexity of having two separate but sort of equal notification mechanisms.
Alternatively, I think I might have a go at implementing a subscribable notification mechanism on top of Dexie.on.storagemutated that works kind of like liveQuery() but includes the additional notifications that I'm looking for.

I see what you're after and I've heard the same requirement from another customer. What I'm thinking though is that liveQuery is only a monitor of what is in the database. It seems you want to reflect the current sync state, which is rather a state. Another option would be for the download function to update a state-table containing properties of the download/sync state, such as a time-stamp for the last successful download. Then you could query that state-table with a liveQuery and reflect it in GUI. Maybe a successful download less than X minutes ago is regarded as being up-to-date.

You're right. And since I'm already using state machines liberally all around the app, it's undoubtedly best to treat things that way.
I put together a small XState machine that I can plug in to wherever it's needed. It's set up to listen to a "data changed" message from liveQuery() and a "data fetched" message from the worker that handles data coming from the server.


Fix build dependencies for the local dockerfile

Signed-off-by: Lorenzo Fontana<EMAIL_ADDRESS>Co-Authored-By: Leonardo Di Donato<EMAIL_ADDRESS>What type of PR is this?
/kind bug
What this PR does / why we need it:
Debian unstable recently changed the dependency tree, we now need to include specific packages in the local dockerfile.
Which issue(s) this PR fixes:
Fixes #781
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: fntlnz
If they are not already assigned, you can assign the PR to them by writing /assign @fntlnz in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 2067788f888b6a81b2aaf98a2d3fd691979502e3

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leodido]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Aggregate public keys and signatures without jumping the C/Java boundary so often

Summary
We could probably significant reduce the cost of signature verification by adding some native code to aggregate public keys.
Explanation
Currently our code for aggregating public keys looks like this:
    for (BlstPublicKey publicKey : publicKeys) {
      sum.add(publicKey.ecPoint);
    }

Each iteration of this is a separate JNI call to the Blst library, the cost of which probably dominates the cost of the relatively lightweight add() method.
We should

Profile this to see if it really is an issue. My gut feel is that there is a good speedup available here.
If so, add an external C library wrapper for Blst or fork of Blst that provides a method to aggregate a list of public keys, thus avoiding the calling overhead.

There is a similar issue for signatures, but for a number of reasons it's probably not so significant: we don't aggregate signatures as often; the cost of addition (aggregation) of signatures is greater; and the signature aggregation does an expensive group check, unlike the public key aggregation. So the JNI overhead would be relatively lower. But if we're adding native code for public keys, we could also do it for signatures for completeness.

A quick and dirty update on testing this. It turns out that SWIG is a monster, so coding up the full version of this is complex. For a simple feasibility study I made two versions of point addition:
    P1* add(const P1_Affine &a)
    {   blst_p1_add_or_double_affine(&point, &point, a); return this;   }
    P1* add2(const P1_Affine &a, const P1_Affine &b)
    {   blst_p1_add_or_double_affine(&point, &point, a); blst_p1_add_or_double_affine(&point, &point, b); return this;   }

Given an even number of points the second will have half as many JNI calls as the first. Running with ten million points I get the following timings:

add: 7.5s
add2: 7.2 s

Thus, 5m JNI calls takes 0.3s, for a per-call cost of 0.06 microseconds, and 10m adds without the calling overhead takes 6.9s, for a per-add cost of 0.69 microseconds.
In summary, we could likely get around an 8% speed up in public key aggregation by eliminating the calling overhead. This is borderline worth doing. A worst-case verification of a block with 64 full attestations would need around 20,000 of these point additions which would currently take around 0.015s. We could shave just over a millisecond off this by eliminating the calling overhead.
The method that adds multiple points at once is already available in Blst and is exposed via some language interfaces, just not Java. In principle it's easy to expose it, except that SWIG is giving me a headache, and we'd have to maintain a branch of Blst or push the change back upstream.
Leaving this for now, but may come back to it some time.

I did some additional tests implementing various version of add, including a dynamic add accepting an array.
The dynamic one seems not paying off due to additional array handling.
I focused then on:
add2loop: 0.0019 ms
add2: 0.0017 ms - gain: 11.764707%

add4loop: 0.0036 ms
add4: 0.0031 ms - gain: 16.129026%

add8loop: 0.0071 ms
add8: 0.006 ms - gain: 18.333334%

add16loop: 0.0142 ms
add16: 0.0118 ms - gain: 20.33898%

add32loop: 0.0282 ms
add32: 0.0233 ms - gain: 21.030048%

add64loop: 0.0563 ms
add64: 0.0464 ms - gain: 21.336206%

add128loop: 0.1123 ms
add128: 0.0922 ms - gain: 21.80043%

** block simulation (360 * 69)
add: 22.0 ms
agg add: 18.0 ms - gain: 22.222221%

Seem the benefits reaches the top on add32. No additional benefits with more parameters.
At time of writing, after profiling a node for 10 min:

We can gain 20% on the P1.add.
So I think the added complexity seems not paid back by the performance boost.
giving up.


ODFE 1.8.1 Release based on ES 7.7.1

ODFE 1.8.1 Release based on ES 7.7.1

Required for the security fixes in 7.7.1.

Action Items:

Make version bumps in preparation for 1.8.1 (PR #266)
Update docker/KNN with the new processes (PR #265)
More

Hello, sorry, but this version will not be release?
Thanks

Hi,
we are impatiently waiting for this release in order to update our cluster (KNN-delivery-problem) in order to use the new kibana apis.
If this will not be released (as 1.9.0 is on the way?) - are there any information when a release will be available which contains the KNN-fix?
Regards Michael

@NicolasPSQ @WennySoft As of now, we have proceed to work on 1.9.0 ODFE release with 7.8.0 ES.
As of the KNN fix, if you are talking about this, it will be included in upcoming 1.9.0 release.
Thanks.

Hi @peterzhuamazon ,
thanks for your work and for reply.
the new release 1.9.0 will include support for 7.7.1 or at this point is better to upgrade my elasticstack to 7.8.0 version?
Thanks.

Hi @NicolasPSQ as of now we are not working on ES 7.7.1 support.
If you need the security patch (CVE-2020-7015) for Kibana since 7.7.1+, you can choose to try out ODFE 1.9.0 once it comes out, since 7.8.0 will have it.
Once we release ODFE 1.9.0 you will be able to check the release notes for changes and new features, and decide whether you need them for your env to upgrade.

ODFE 1.9.0 with ES 7.8.0 release now
https://github.com/opendistro-for-elasticsearch/opendistro-build/issues/274


Refactor ChainManager.CleanBranchesAsync(Chain, Hash, long)

I've selected ChainManager.CleanBranchesAsync(Chain, Hash, long) for refactoring, which is a unit of 74 lines of code. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Short Units of Code guideline rating! 👍
Here's the gist of this guideline:

Definition 📖
Limit the length of code units to 15 lines of code.
Why❓
Small units are easier to analyse, test and reuse.
How 🔧
When writing new units, don't let them grow above 15 lines of code. When a unit grows beyond this, split it in smaller units of no longer than 15 lines.

You can find more info about this guideline in Building Maintainable Software. 📖

ℹ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the 🔲  next to them. The risk profile below the candidates signals (✅) when it's enough! 🏁

Good luck and happy coding! :shipit: :sparkles: :100:

Fixed.


How does it work

examples Demo how does is work， Please give me some advice ，thank you

Please be more specific. You can check the code of the demo in the examples folder of the repository.

请更具体。您可以在存储库的示例文件夹中查看演示的代码。

The demo code did not run successfully

请更具体。您可以在存储库的示例文件夹中查看演示的代码。

Running this example directly reports an error. Thank you for your advice on how to run it.

@wizVR-zhangjun you need to serve those files from a local http server, it will not work if you simply open index.html by double-clicking. Check this page, hopefully it helps.

@wizVR-zhangjun你需要从本地 http 服务器提供这些文件，如果你只是index.html双击打开它是行不通的。检查此页面，希望它有所帮助。

@wizVR-zhangjun you need to serve those files from a local http server, it will not work if you simply open index.html by double-clicking. Check this page, hopefully it helps.

@ccoreilly  I built an HTTPS service using Tomcat

Teacher, what's the problem

@wizVR-zhangjun you need to serve those files from a local http server, it will not work if you simply open index.html by double-clicking. Check this page, hopefully it helps.

I don't know what caused this error， Please advise

It is hard to know with the information you provided but the example expects to be at the root of the server. Select the modern-vanilla folder as the one that should be served by tomcat.

And you need a vosk model named model.tar.gz at the same path (next to index.html). You can get them from the official vosk models page.

And you need a vosk model named model.tar.gz at the same path (next to index.html). You can get them from the official vosk models page.

Thank you for your help. According to your suggestion, I can successfully run the example here. Thank you again for your enthusiastic help

And you need a vosk model named model.tar.gz at the same path (next to index.html). You can get them from the official vosk models page.

I chose a Chinese model, but how does it recognize English? Can you help me out


Allow Distribution Output for one-step prediction in GPVAR/DeepVAR

Currently, the default output for one-step prediction in GPVAR and DeepVAR is SampleForecast. We can extract the parameters for the Gaussian Process while training, but not while prediction. This is designed to address the multi-step inference problem.
It would be nice if some functions can be provided for one-step forecast only to either output a distribution on the target(the GP is on the transformed variable, rather than on the target directly) or to extract the parameters for GP only. If that's too hard, an alternative might be to provide some functions to extract GP parameters from samples for each step.

I think we actually can use functions from sklearn to extract covariance matrix from samples. (And do it in better ways, using shrinkage, etc. )
The Covariance Matrix of samples from a multi-variate normal is actually an unbiased estimation, unlike variance to a uni-variate Normal distribution? Interesting.


Add basic HTTP client

Multiple pieces to this:

added JSON processing
connected lws to Iggy
added CMake code to download Iggy binaries for E2E testing
additional improvements for code linting (lizard, flawfinder, cppcheck)
removed workaround for vcpkg feature issue

Several pieces of the above still in progress, so in draft.
#25

coverage: 83.673% (-0.6%) from 84.247%
when pulling 7b9edc8d365093e66e1c80ae802e80e0897db171 on 25-add-basic-https-client
into 9f0c2afa3a06b355c9bad3a77d9f21bbc127478c on main.


Feed Rinse to filter RSS

Hi, I would like to suggest Feed Rinse for the filtering section: http://feedrinse.com/index-old.php
Old but good :)

Thanks for the recommendation. Should've added it indeed.


Inconsistencies among TCP/IP Endpoints

Only comm::TcpServer has method isClientConnected()

Resolved by PR#14


Support current libraries and add Flash Attention varlen support

This PR adds support for current versions of PyTorch, Composer, Flash Attention, etc. And applies a consistent Ruff formatting to the codebase.
The primary changes are in f2394d57d6ec5028e558f4ae51d8df5b1560c3ca.
The PR removes padding/unpadding thrashing by using flash_attn_varlen_qkvpacked_func. The Triton attention function has been removed as it is incompatible current version of Triton.
This PR doesn't modify MosaicBERT, so the following tasks still need to be done:

Switch from low-precision layernorm to RMSNorm
Implement SwiGLU
Swap out ALiBi in favour of RoPE

I also added an optional Conda env for reproducible environments.

LGTM. Thank you for doing the linting heavy lifting too, the repo's in a much nicer shape to build upon now 😄


MeasureImageIntensity not measuring whole image intensity

All plate 1 and plate 2 pipelines along with extracting single cell features will need to be rerun.
The NF1_analysis.cppipe file contains a mistake where the MeasureImageIntensity is measuring the intensity within objects, which I need in the beginning due to misinterpretation of what needed to be measured.
This is an easy fix and will need to be done to make sure these whole image features are included.

This has been corrected for seen in #42 (this isn't where the change was made, but this has been fixed).


#39 - added accordion for security settings.

Can you check if removing the white line below the header is possible, or make it transparent? Rest all looks good

I assume its because white border color is hardcoded in the package. We can download the package locally into /packages folder and make this transparent

Yes, we can edit the code inside the library if we are referencing it locally, just like we are using flutter_quill inside a packages folder. Anyways, this looks good, I'll raise a separate issue for the other change.
Thanks for contributing!


host/ble_l2cap_coc: fix possible race condition in L2CAP COC

Two functions: ble_l2cap_coc_continue_tx and ble_l2cap_coc_recv_ready can be reached from other task than host, for example separate thread running in application, by calling ble_l2cap_recv_ready or ble_l2cap_send. Because pointer to chan passed into  these functions may be outdated (connection is being terminated by host) this will lead to either:

triggering BLE_HS_DBG_ASSERT(conn != NULL) in ble_hs_conn_find_assert
dereferencing NULL pointer to conn, after ble_hs_conn_find_assert returns NULL (case with disabled BLE_HS_DEBUG) These two cases shall not cause assert, and should be prepared for chan not existing anymore. Now, BLE_HS_ENOTCONN is returned if connection no longer exists.

Rest of functions that use ble_hs_conn_find_assert are reachable from host and should indeed cause assert to be triggered, or have conn already checked, as described in 8ec1b8d BLE Host - Check conn state once before proc.


Bug: Unable to start lualine

Self Checks

[x] I'm using the latest lualine and neovim nightly.
[X] I didn't find the issue in exsisting issues or prs.

How to reproduce the problem
Start neovim after updating the following error message is encountered:
E15: Invalid expression: v:lua.require'lualine'.statusline()

Actual behaviour
lualine does not start.
Expected behaviour
lualine starts without an error.
Aditional information
Reverting to commit 0018643 starts lualine without the error message. Every commit after that starts with the error.
Minimal config to reproduce the issue

Config
local lualine = require('lualine').setup {}

I'm using the latest lualine and neovim nightly.

I'm sure that's not the case ☹. Update to latest nightly / neovim master and it the problem persists please let me know 🙂

just to be sure please provide output of nvim --version

I'm having the same issue
NVIM v0.5.0-dev+1115-gc1fbc2ddf

I just updated neovim on both my linux and macos machines and cannot reproduce this error
NVIM v0.5.0-dev+1260-ga6504ec33

NVIM v0.5.0-dev+1115-gc1fbc2ddf

That build is from 26, Feb please upgrade to latest nightly

Upgraded to the NVIM v0.5.0-dev+1259-gfe808f02f and it works perfectly :+1:

Last night brew told me my neovim --head was up to date. Today it tells me there's a new version. With this new version the issue is no longer occurs.


Add blockquote element with class for pullquotes

Running phpunit causes the test for this to fail, indicating html output that has not been updated with the new <blockquote> element. However inspection of the output file shows the <blockquote> to be in place. Perhaps I'm missing something?

See: https://github.com/nlisgo/elife-ingest-xsl/commit/80aba7b7bdd05db0e840d59ca716911e71e7d4ce

Addressing feedback with this pull request. Good spot: https://github.com/elifesciences/elife-ingest-xsl/pull/98


Make script python3 friendly

@grundprinzip , Hi! Are you still working on this module? If yes, I will start to work on new PRs:

Custom options
Custom messages
Verbose mode

If no, I will invent wheel... :)

Thanks for your work!


for v0.5: replace symbol with Symbol

I am assuming that Compat will do the right thing with the v0.5 deprecated 'symbol' when using v0.4.
It is here if you want it.

0.3 is still supported and tested so you need @compat and also bump the required Compat version to 0.7.15.

@yuyichao I see that Compat.jl has
if ...
elseif VERSION < v"0.5.0-dev+3831"
    Base.Symbol(args...) = symbol(args...)
end

After bumping the version in REQUIRE, if I have
using Compat
import Compat.Symbol

do I still  need @compat?  if so, @compat

apologies for the doubled github idents (my mistake).

Ref https://github.com/JuliaLang/IJulia.jl/pull/422/files#diff-e0f08d4b7ebb398c4fce97f4edb8fb9bL36 .
See also the Compat usage https://github.com/JuliaLang/Compat.jl#usage and the doc for symbol deprecation in Compat https://github.com/JuliaLang/Compat.jl#renamed-functions
Please quote all code, especially macro names.

And yes, you always need @compat for 0.3 support of calling Symbol and no you shouldn't import it (Symbol) from Compat.

@yuyichao Thank you for the help.


Social Media Icons and Navbar Links

Describe the bug
Social Media Icon in the website are images, it will be better if you use fonts-awesome (fa) for social links and icons for better view.
Expected behavior
The icons should align with each other.
Screenshots
(similarly for footer section)

Desktop (please complete the following information):

OS: macOs
Browser: chrome

Additional context
Navbar links don't have proper styling due to which they are not visible properly.

Hello project admin ! I found bugs in the navbar. The links are not visible enough and the overall navbar needs styling . Since I would like to contribute to this project , I request you to assign it to me.

@pulkitpathak99 kindly review this issue.


Allowing Methods to be set or unset in ModelHooks

Summary
Expanding PR #945 to include support in ModelHooks to unset and set Methods.
This can be useful for defining class inheritance properly for the IDE.
Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist

[x] Existing tests have been adapted and/or new tests have been added
[ ] Add a CHANGELOG.md entry
[x] Update the README.md
[x] Code style has been fixed via composer fix-style

Added in some tests

Released https://github.com/barryvdh/laravel-ide-helper/releases/tag/v2.10.0


Spirit Guard Udyr missing effects

The level of his abilities affect how the skin changes his appearance in different forms, but stays in default model. Thank you for the hard work developing this. Any input is greatly appreciated, a yes or a no. Have a nice day/night.

Read before you open an issue with broken skins #1


Update Web development resources

I added Frontend development resource to web development resources
🛠 Fixes issue #
📇 Changes proposed
✅ Check List (Mark all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[ ] This PR contains changes in the documentation
[x] This PR contains changes in the Code of the project
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

@all-contributors please add @iqrafirdose as a contributor of maintenance


FIX: Test regressions with current core

not ok 2 Chrome 116.0 - [undefined ms] - Global error: Uncaught TypeError: this.send is not a function at http://localhost:7357/assets/plugins/discourse-codebytes-plugin.js, line 222

@janzenisaac can you take a look? The failure was showing up in internal test runs. (The plugin is still using the legacy modal structure, though.)


Strengthen documentation around app links

Our documentation around app links needs to be clarified. Questions that the documentation should answer:

Are there any expectations that links should always be TLS protected? (https)
Do links to SMART apps need any other metadata or identifying information?
Are links absolute URLs?
Should EHRs open links in a new window? embedded frame? etc.
Do we support custom URL schemes? (eg, native links like myapp://)

Hey Kevin, All,
An additional question - if a cds-service is granted an oauth access_token during the initial request, and the service then returns a link to a SMART on FHIR application, should the EHR append the standard iss and launch parameters to the app url?
That is, are the cds-service and the app assumed to be the same system? Thinking it through, I think that they should not be the same and would perhaps even have different scopes to the FHIR server. If this makes sense, it would be nice to clarify this - the EHR should launch the returned app url with standard SMART GET params.
Isaac

Some thoughts:

app links should definitely be absolute urls. The app and service shouldn't be required to be the same system.
How EHRs open apps is dependent upon user workflow and should be left to the EHR to configure.
Definitely we should support customer URL schemes, this is the primary way that cds-hooks (and SMART on FHIR) work on mobile, right?

Isaac

An additional question - if a cds-service is granted an oauth access_token during the initial request, and the service then returns a link to a SMART on FHIR application, should the EHR append the standard iss and launch parameters to the app url?
That is, are the cds-service and the app assumed to be the same system? Thinking it through, I think that they should not be the same and would perhaps even have different scopes to the FHIR server. If this makes sense, it would be nice to clarify this - the EHR should launch the returned app url with standard SMART GET params.

Agreed. The OAuth access token definitely should not be reused between a CDS Service as a SMART app. While we haven't finalized our security plans yet (see #7), we're working towards a model where CDS Services use the SMART Backend Services model (B2B) whereas SMART apps do not.

app links should definitely be absolute urls. The app and service shouldn't be required to be the same system.

👍

How EHRs open apps is dependent upon user workflow and should be left to the EHR to configure.

👍

Definitely we should support customer URL schemes, this is the primary way that cds-hooks (and SMART on FHIR) work on mobile, right?

I'm pretty sure we should support custom URL schemes, too. I just want to actually implement this to work through any potential issues that may crop up. One of my questions is how does a CDS Service know to return, say, a native app link (myapp://) when running on a native platform (desktop, iOS, Android) vs their web (https://) app link? One way the CDS Service could do this today is by simply having a service endpoint that is only used in a native context. However, I can also see us communicating the environment on each CDS Service request.
Right now I'm personally fine leaving this as undefined until we can get some actual prototypes that want to launch a native app.

Test Zulip integration...

Originally I was thinking that SMART app links didn't have to be any special type of link in the CDS card. This is because the EHR has a known registry/whitelist of SMART app launch URLs. Thus, by comparing every CDS card link to this registry, if it was found to be contained within, the EHR could modify the link to add the SMART iss and launch parameters.
However, I have the following concerns with this approach:

It assumes the EHR has a registry/whitelist of known SMART app launch URLs

While this is true of the EHR I'm intimately familiar with (Cerner), I don't know that this will hold true for all EHRs. Maintaining such a registry/whitelist is not necessary and in the case of Cerner, is done for business reasons (not due to technical or security reasons).
Additionally, in the not too distant future I can see where it may not be possible to maintain such a registry/whitelist for certain use cases (like for instance patient's bringing their own SMART app). While our use case of CDS Hooks has been focused on the practitioners in the EHR, I would not be surprised to see us venture into other venues like patients in their personal EHR or patient portal.

It requires the EHR to re-write the card link

Only the EHR knows the appropriate values for the iss and launch parameters during a SMART app launch. As such, a CDS service can never supply a link to a SMART app that is absolute. Instead, the link must be made 'correct' by the EHR re-writing the link to add the appropriate parameters.

Based on this, I would like to define a first-class SMART app link within a CDS card. So, either an explicit SMART app launch URL field or some additional attribute on a link indicating that this is a SMART app. The former option is more explicit/clear at the cost of API verbosity where the latter (achieved through something like a type attribute on a link) is terse, but perhaps unnecessarily open-ended.
Right now I'm leaning towards that latter option of including a type attribute on each link (this is in addition the existing label and url attributes) with a value of smart. Non SMART app links could have a type of absolute.
I'd appreciate any thoughts from others on this.

I like the option 2 to add the type attribute on each link to specify smart or absolute. This option adds for future extensibility for other types of apps also.

Right now I'm leaning towards that latter option of including a type attribute on each link (this is in addition the existing label and url attributes) with a value of smart. Non SMART app links could have a type of absolute.

After offline conversation with @isaacvetter (Epic), @kalyaniyerra (Premier), the RxREVU team (Peregrin, Sean, Joel), and Elsevier (Alex DeJong), we decided to proceed with this proposal. This new type field will be required for each link returned in a card.
When the type is smart, the EHR will be responsible for appending valid and appropriate launch and iss parameters to the URL.

I'd appreciate it if another set of eyes could review my proposed documentation changes here: https://github.com/cds-hooks/docs/pull/16

Can we have a recommendedTarget key? Then, the cds tool can recommend opening the link in an iframe modal or a new tab.

Hey @jcward10, I'm not sure that the cds tool always knows what the possible targets are for a given EHR. The EHR can be, at least, a desktop, web or mobile app. In two of these three scenario's, an iframe or new tab may not be possible.

@isaacvetter I can see scenarios in which a hook might behave differently depending on the User agent.  For example, a hook might not have enough space to work properly on a mobile browser and thus might suggest that the user should use a desktop web browser to complete their task instead.  I suppose that's why @jcward10's suggestion is just a recommendation.

We have a similar card-generation capability in house (non-fhir), and in it we have a few fields for rendering the information to a client (we support  mobile, web, and sms).  One is Markdown compatible, One is 140 characters of text, one is HTML (we call it the 'div' field which always is a ).  The renderer can then pluck from the card the rendering it is capable of.  More work to store, more data to pass - but solved the conundrum for us.

Can we have a recommendedTarget key? Then, the cds tool can recommend opening the link in an iframe modal or a new tab.

@jcward10 and I had an offline conversation where I explained my thoughts on this but I want to also document them here. To cut to the chase, I agree with @isaacvetter in that the CDS service isn't the best entity to recommend a target. Even though this would be an optional recommendation, it has the high probability to be a crummy recommendation in which case I don't see a need to add this in the spec.
The target of the link is based upon the platform and capabilities of the EHR. Eg: mobile native app vs desktop native app vs pure browser. In the case of the Cerner EHR (of which I'm very familiar), we could launch a link (specifically a SMART app) in the following ways:

A new browser window
Within the current browser window
Navigating the user to a different section of the workflow in which the SMART app has already been configured, outside the confines of the CDS card

In each of these scenarios, the EHR knows best how to open the link and I would ignore any recommendation provided by the CDS service.
I've seen demos/prototypes of embedded SMART apps in other EHRs and each opened them in a variety of ways (new windows, new iframes opened in a slide over panel, etc).
For all of these reasons, I don't think we should add a new recommendedTarget field

I just merged #16 which resolves this issue. Note - this is a new breaking change to the API.
If we want to continue the discussion on the sidebar conversation here around link targets we should open a new issue.

Re-opening this issue. I realized that PR #16 addressed a few aspects of the questions I wanted to answer when I originally logged this issue.

Are there any expectations that links should always be TLS protected? (https)

I plan on updating the documentation to state that TLS protected endpoints are strongly recommended, but not required with absolute links. smart links must be TLS protected as the SMART project requires this.

Do links to SMART apps need any other metadata or identifying information?

Answered this with the new smart type field on links.

Are links absolute URLs?

Answered this with the new absolute type field on links.

Should EHRs open links in a new window? embedded frame? etc.

I plan on putting my thoughts above on this topic into the documentation.

Do we support custom URL schemes? (eg, native links like myapp://)

Right now I want to be silent on this until we actually prototype something out. I think this would work with what we have today (this would be an absolute link).

The other requirement to highlight here, I think, is letting an app finish and return control back to the EHR — in our test harness for example we use this capability to link to a hypertension management tool where a user can select a drug, and then return to the EHR and have the UI updated with their choice.
Right now we do this using a redirect URL: the app's job is to redirect to that URL if/when the user has finished working with the app (e.g. made a final decision); the EHR gets to host whatever content it needs at this URL (e.g. execute a JS function to communicate back with the EHR host window, or execute a server-side process to mark the session as complete).

Another thing that's unclear in the documentation to me is about this redirect url - is the hookInstance supplied back to the EHR, so the EHR knows which decision is complete?

Ah. Once control returns to the EHR, the EHR re-invokes the notification using the same hookId, and it's at that point that the external service returns a user's "decisions". So as currently specified, the external service needs to retain this state (id + decision) long enough to support the return loop.

The other way is - I'm not finding anything saying otherwise in the spec - is that the redirect URL supplied by the EHR to begin with would have this hookInstance within it as a parameter, so when the CDS pings it, it would know which is completed.
I guess I'm looking to see what current implementations, if any, are doing in this regard?

So far, I think the only implementation is our test harness. In the current implementation: the redirect URL is a static URL hosted by the test harness; it's just a page whose job is basically "find my window.opener and notify them that i'm done; then close me". But that's an implementation detail...
It would be possible for the main EHR frame to keep track of which apps it has launched in which child windows (e.g. by generating unique redirect URLs, or tracking metadata about its window objects in JS, or some other mechanism), to prevent re-triggering all services. But that's technically an optimization; it should also be safe to re-trigger all hooks any time a user returns from an app.
It's certainly an "open design issue" to determine what's implementable within real-world EHRs, and this is one of the trickier workflow steps to pull off.

Thanks, I suppose I was just looking for someone to say that's an implementation detail as the spec is unclear on this part. Appreciated!

@jmandel - Sorry for coming in late on this:

The other requirement to highlight here, I think, is letting an app finish and return control back to the EHR...
...Right now we do this using a redirect URL: the app's job is to redirect to that URL if/when the user has finished working with the app...

To be clear, the discussion on this issue prior to Feb 21 been focused around links -- both absolute and SMART app links. We weren't discussing the decision workflow. I mention this because I did not see the redirect field being used just anytime a user follows a link in a card and wants to come back to the EHR. I saw redirect existing purely for the decision workflow.
If redirect is to be called when the user closes any link they follow on a card, how is the EHR supposed to know not to re-trigger decision support (since no decisions were made)?
Also, redirect would only need to be called if the link were capable of even following the redirect. I'm guessing in nearly every absolute link case, we cannot follow the redirect (since those likely aren't apps). Additionally, my assumption here is that EHRs aren't going to want to change navigation to a link in a card. Rather, I'm assuming that EHRs will likely want to open the link in a new window or component/tab within the EHR itself.
@jmandel - Did you think we were using redirect when a user is done visiting any link on a card or did some wires get crossed here?

If redirect is to be called when the user closes any link they follow on a card, how is the EHR supposed to know not to re-trigger decision support (since no decisions were made)?

Under the current model, the EHR always re-triggers any time a site or app explicitly "returns control" via the redirect. That's part of handling a "return" operation. Of course, we could add on a parameter (&refetch=yes-please, or whatever) to save the extra work.

I'm assuming that EHRs will likely want to open the link in a new window or component/tab within the EHR itself.

Sure, this is up to the EHR to decide. But in the event that the EHR opens a new window and doesn't receive "return", the EHR is basically saying "You don't get to make decisions". That's okay...

@jmandel - Did you think we were using redirect when a user is done visiting any link on a card or did some wires get crossed here?

I think redriect can apply any time a user clicks a link on a card. Now, there could always be additional (out of band, from the CDS Hooks perspective) ways to "finish with an app" (e.g. the EHR might also display a big "X" next to the app view, or might just open it in a new window that's totally disconnected from the user session). But as an in-band way of "returning", the redirect works equally well for SMART apps and other linkable services.

So I went back through and re-read our documentation on redirect. I totally missed that it is intended to be used to return control back to the EHR after following any link. I always thought it was just for the decision workflow. 😛
I'll log a new issue around redirect and we can move the discussion there.


Add Diagrams to Concepts & CRDs section of the Package Managment Section

The docs at Concepts and CRDs contain a lot of details and it is hard to grasp how the CRDs are related to each other. Enhance the docs on this page by adding a diagram that summarizes the relationship between the various CRDs with annotations on the diagram to provide context. Such a diagram can make the concepts much easier to understand for a new user.

keeping it fresh.


[10.x] @return Blade directive

Useful to stop the current template rendering, for example, instead of this:
@if($form['success'])

@lang('The form was submitted successfully')

@else
    <form>
        ...
    </form>
@endif

We can do this:
@if($form['success'])

@lang('The form was submitted successfully')

    @return
@endif

<form>
    ...
</form>

I don't think is a useful directive.
You can add this directive to own app.

@royduin tbh, this complicates things from a templating engine perspective imo. I don't think there should be a concept of early returns in Blade files.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

If somebody wants it: https://github.com/rapidez/blade-directives


Consider adding arcp to divf when lowering tosa.reciprocal

Request description
When lowering tosa.reciprocal we generate during tosa-to-linalg:
  ^bb0(%in: f32, %out: f32):
    %cst = arith.constant 1.000000e+00 : f32
    %2 = arith.divf %cst, %in : f32
    linalg.yield %2 : f32

Assuming the tosa's specification is okay with using actual reciprocal instructions, at this point, we completely lost the information that this divf can be transformed into a reciprocal.
I don't know what's the situation in mlir with fast math flags, but if we support the same ones as in LLVM, we should be able to tag this divf with arcp (Allow Reciprocal see https://llvm.org/docs/LangRef.html#fast-math-flags); again assuming the tosa's spec allows that.
Reproducer:
func.func @main(%arg0: tensor<1x384xf32>) -> tensor<1x384xf32> {
  %res = "tosa.reciprocal"(%arg0) : (tensor<1x384xf32>) -> tensor<1x384xf32>
  return %res : tensor<1x384xf32>
}

And the command line:
iree-opt --iree-tosa-input-transformation-pipeline  input.mlir

CC @silvasean @dcaballe @rsuderman
What component(s) does this issue relate to?
tosa-to-linalg

@kuhar FYI this is peripherally related to the numeric work you've been doing.
This bug needs to be filed on LLVM repo as it isn't IREE specific.

This bug needs to be filed on LLVM repo as it isn't IREE specific.

Ah right, for some reason I didn't realize that tosa-to-linalg was part of the LLVM repo.
Filed again against LLVM at https://github.com/llvm/llvm-project/issues/59512.


PHP Unit tests

Are there any plans to add unit tests for the php code in the module? I believe this would add more guarantee of the modules stable working and increase quality of the codebase.

There are plans for a proper CI setup with static/unit/integration tests


Getting "No repository.url found in " + process.cwd() + "/repository(.url)"; error when trying to create release.

Steps -

run npm install github-release-from-changelog -g
then run github-release-from-changelog [--filename CHANGELOG.md]

Issue -
[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4
/usr/local/lib/node_modules/github-release-from-changelog/github-release-from-changelog.js:85
throw "No repository.url found in " + process.cwd() + "/repository(.url)";
^
No repository.url found in /Users/test/Documents/dir/project/repository(.url)

this package should not be installed globally
command should be run near a valid package.json that have a repository url

Can you share more detail about your usage?

Thanks @MoOx , It works after adding repo url to package.json.

Do you consider the error message wasn't clear enough and that would need to be improved?

M pretty much new to package.json that might be the reason.  Is there a way I can pass repository url as a flag? something like  github-release-from-changelog [--filename CHANGELOG.md] --$Repo_url ?

Not with current code. If you want to try to send a PR to add this change, I am not opposed to that (but more with --repository=$url).


Add support for flan-t5-base in reproduce.sh

It isn't possible to select flan-t5-base when wanting to run reproduce.sh. There is an extra comma in the selection array in reproduce.sh and a missing item in the selection array in runner.py

Thank you @awesomealex1 !!


Existing user error in sign up not handled correctly in 02-custom-login seed

Environment Information
Browser: Google Chrome v58.0.3029.96 (64-bit)
Sample: https://github.com/auth0-samples/auth0-ios-objc-sample/tree/master/02-Custom-Login
Xcode: 8.2.1
Description
When trying to sign up with an existing user, the "This user already exists" error is not handled properly. Instead of showing a pop-up and asking the user to re-write the e-mail, the app hangs and an exception is showed in Xcode.
Screenshot

This was fixed.


IBM-Swift/Kitura#528 changes for 06-06 swift snapshot migration

IBM-Swift/Kitura#528 changes for 06-06 swift snapshot migration

will merge into develop.


Document Forgery cords are invalid

I've tried to load and reload the IPL of the Document Forgery multiple times and teleport to where it is, but every single time I did so it just teleported me straight into water, and I can't seem to find it.

X: 1171.48
Y: -3196.42
Z: -39.01


BUG: read_csv throws UnicodeDecodeError with unicode aliases

[x] closes #13549
[x] tests added / passed
[x] passes git diff upstream/master | flake8 --diff
[x] whatsnew entry

-read_csv with engine=c throws error when encoding=UTF_16 (anything other than utf-16)
-improved nosetests and moved to in pandas/io/tests/common.py
-passes pep8radius upstream/master --diff and  git diff upstream/master | flake8 --diff
-put what's new entry in 0.19.0 in accordance with milestone posted on issue

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

Merging [#13571][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master     #13571   diff @@
==========================================
  Files           138        138
  Lines         51126      51129     +3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          43122      43125     +3
  Misses         8004       8004
  Partials          0          0

Powered by Codecov. Last updated by [d38ee27...78d46d6][cc-compare]
[cc-base-branch]: https://codecov.io/gh/pydata/pandas/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/pydata/pandas/compare/d38ee272f3060cb884f21f9f7d212efc5f7656a8...78d46d66bb97cd4973d2db87b23468775c152ca6
[cc-pull]: https://codecov.io/gh/pydata/pandas/pull/13571?src=pr

@nateGeorge Can you rebase this?
@gfyoung @jreback further comments?

LGTM

Ok, I think it's good now.  I was having trouble with git --rebase so I did a git merge instead.

@nateGeorge you picked some unneeded changes in v0.19.0.
Normally, rebasing like:
git fetch upstream
git rebase upstream/master
git push -f origin fix/read_csv-utf-aliases

should work fine. What didn't work?

Hmm, I was following this guide, which said to do:
git fetch upstream
git merge-base fix/read_csv-utf-aliases upstream/master

which gives a hash for the common base node of my branch and the master, then
git rebase -i ${HASH}

using that hash.  This gave me the error:
error: could not apply ${some commit}

Then I looked at the file it couldn't apply some commit to (I think v0.19.0.txt), and it had dozens of merge conflicts.  It seemed like I would have to go look up each commit to see which part of the merge to use.  I fixed one file, and then did git rebase --continue, and the same error came up again on another file, and I think on the same file again.  The main culprit was the whatsnew/v0.19.0.txt file.
So I guess next time I should just do
git fetch upstream
git rebase upstream/master
git push -f origin fix/read_csv-utf-aliases

and forget the whole hash thing.

You will still have to clean up the commits now (many unrelated here, and the diff is also not fully correct)

Yes.  I think I'll get to it tomorrow, it looks like a giant mess now :boom:

@nateGeorge It seems it still didn't work well. I would do the following to fix it:
git checkout master
git checkout -b temp   # create a temporary branch to fix things
git merge --squash fix/read_csv-utf-aliases  ## squashes all commits of that branch that are ahead of master down into one
git checkout master
git branch -m temp fix/read_csv-utf-aliases   ## rename to orignal branch

But possibly you will have to reset the last few commits, because now there is no diff anymore.

What I just did was delete everything locally and replace with the current upstream/master from a zip.  I couldn't figure out another way to do it for over an hour.  Thanks for the tip, maybe I'll use it in the future.  I'm working on replacing what I had in there now.

I think it should be ready now.  I tested the test again (still haven't figured out an easy way to do that) and it passed.

@nateGeorge There are still a lot of commits here. If you use the approach I outlined above (https://github.com/pydata/pandas/pull/13571#issuecomment-240993602), I think that should work.
I can also clean it up when merging if you want.

Ok, I'll try what you advised and see what happens.

Hmm well it wasn't letting me overwrite the branch so I deleted it and re-created it with git branch -m temp fix/read_csv-utf-aliases.  Do I have to open a new PR now?

Normally not, as long as the branch you want to push has eventually the same name (after renaming), you can just push and the PR will be updated.
However, if you close the PR and afterwards push, github does not allow to reopen. So see if you can reopen and then push, otherwise open a new PR.

The 'reopen and comment' button is greyed out and says 'The fix/read_csv-utf-aliases branch was force-pushed or recreated.'  Start a new PR I guess?

yep

Alright, reopened as #14060


What about other use cases for Export?

The Export page only mentions exporting to Excel, which is geared toward exporting a single entity's data. In order to export all my data, this would take a very long time, one entity at a time. Is this the only supported use case of the Export to Excel? I see there are multiple options: dynamic data, pivot table, etc. But each is still geared toward exporting one entity at a time to Excel or one view at a time. I also found the Export to data lake, which requires a subscription to Azure. The use case I wish for is to export multiple Entities at a time to .csv or Excel. If I can't find it, I would like to know that it is supported before I build custom code to do it.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1212c066-ed82-56fc-8092-e7bdd324eece
Version Independent ID: 35ac4ee8-24a5-ce46-982c-82367f811b73
Content: Import and export data (Dynamics 365 Customer Engagement (on-premises))
Content Source: ce/customerengagement/on-premises/basics/import-export-data.md
Service: crm-online
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@coletrumbo-ss
Sorry for the delayed response. I hope you've got your question answered. If not, please see if you can get your question answered here:
https://powerusers.microsoft.com/t5/Power-Apps-Community/ct-p/PowerApps1
Or create a support request:
https://powerapps.microsoft.com/support/


Refactor the deign smells for better code quality

Describe what this PR does / why we need it:
This pull request addresses identified design smells in the codebase and implements refactoring techniques to enhance the maintainability, modularity, and reusability of the code. Specifically, the changes improve code structure by extracting and encapsulating logic, thereby reducing duplication and improving overall code quality.
Does this pull request fix one issue?
NONE
Describe how you did it:
Pull-Up Method: Moved shared functionalities from dependent classes to a higher-level class. This ensures the functionality is reusable and avoids redundant code duplication. Other classes now simply call the centralized methods.
Extract Method: Isolated specific retry logic from the original class and shifted it into a dedicated class. This approach simplifies the original class by abstracting reusable functionalities into separate methods, making the code more modular and easier to maintain.
Describe how to verify it:

Compiled it to check there is no formatting issues, and to check the build status.
Verified the changes by running all existing test cases to ensure no functionality is broken.

Special notes for reviews
This code refactor aims to enhance readability, maintainability, and modularity without altering the core logic. Feedback on the clarity of these changes and their alignment with best practices is highly appreciated.
Additionally, these modifications align with project standards and may serve as a basis for further improvements. Any suggestions for optimizing the variable naming, refactored functions, or memory handling logic would be particularly valuable.

This code refactor aims to enhance readability, maintainability, and modularity without altering the core logic.

I think some changes have made the logic different than before.


native menus on Linux

I am trying to figure out where Brackets determines Linux cannot handle native menus. I have traced some stuff in utils/Global.js but I cannot find where it determines this.

try
var indexPath = "file://" + path.resolve(__dirname, "..", "src", "index.html") + "#hasNativeMenus=true";

in app/index.js

didn't work.

I changed it to "?hasNativeMenus=true" and it worked.
Is this the actual way to do it, though? The Windows version doesn't use that switch, does it?
Anyway, closing this for now. We can pursue a different fix later, I suppose.

Yeah, we should look into the variables normally set by Brackets-Shell. I'll do that tomorrow (hopefully).

leave it open until it's fixed ;)


Handle Non-Zero Error Codes in FMEA update_all() Method

Handle non-zero error codes in FMEA update_all() method
Expected Behavior
When one or more nodes in the FMEA data model tree fails to update properly, the user should be informed (via dialog). Additionally, details regarding which node(s) failed to update should be written to the debug log.
Actual Behavior
RTK simple prints, for example, 'FIXME: Handle non-zero error codes in rtk.analyses.fmea.Model.ModeDataModel.update_all().' to the terminal. This print statement is simply a placeholder and useless to the end user.
Steps to Reproduce the Problem

Launch RTK.
Open a Program database.
Select the Function or Hardware tab in the Module Book.
Select the FMEA analysis in the Work Book.
Press the 'Save All' button in the Module Book.

The top node in all data model trees does not contain a data object, so the update() method will return a non-zero error code.
This behavior occurs in all FMEA data models; Mode, Mechanism, Cause, Control, Action, and FMEA.
Proposed Solution (optional)

Create a requirement/specification for the update_all() method to handle non-zero error codes from the update() method. This requirement will cover the update_all() method in all RTK Modules.
Create a test to verify the requirement is implemented properly.
Ignore the top node in the update_all() method.
Create a descriptive error message to, ultimately, pass to the data controller. This error message will be written to the debug log for later inspection. Since the update() method that is called for each node in the update_all() method returns an error code and message, the update_all() method will need unique error code and message variables. The error code variable must retain a non-zero value after one update error. The error message variable must be appended to for each node that raises a non-zero error code in the update() method.
Have the FMEA Work View raise a Warning dialog informing the user one or more FMEA nodes failed to update properly and to check the debug log for more details.

Operating Environment (not required for REQUIREMENTS errors)

The AttributeError also needs handling in the update_all() method.  Refer to the HazOps module for reference on the AttributeError.

Errors are handled by the RTKDataController.do_handle_results() method.  New error messages were created for each error case.
FIxed in commit 5d345c883c2aa496c923cdea3725d2c6f07e925c


🚀 Feature: Select field to send to APM or possibility to obfuscate

Which component is this feature for?
Anthropic Instrumentation
🔖 Feature description
Sometimes, some fields, like the prompt or results (completion), which are reported thru openllmetry, may contains confidentials values would need not to be reported or maybe obfuscated (replaced by **** ?).
🎤 Why is this feature needed ?
Some customers may want to observe there genAI apps but don't want confidential data at the APM level, which may appears in the prompt or the result.
✌ How do you aim to achieve this?
give the possibility to omit or obfuscate a field, maybe through env vars?
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
Yes I am willing to submit a PR!

Thanks @gauthiersiri! We actually have an option to disable content tracing. Did you had something else in mind?

Hi Nirga, yes we actually just saw that a few min ago :D
But it seems to hide only the prompt, not the answer, or maybe we missed something?

Both

@gauthiersiri does it resolve your issue?


Example of a ReactiveFormsGenerator on ViewModel

I have this form class (generated by ReactiveFormsGenerator) called ReactiveProductForm,
can you please provide an example where ReactiveProductForm is placed on ViewModel and being called on View?
I already check the docs, particulary the
add_dynamic_controls_sample.dart
but it only shows generic reactive form :(
It would be very helpful if you can provide an example, Thanks!

Thanks for noticing my issue @vasilich6107, I'll try to provide a full code as soon as possible, my project very messy right now, apologies


Update CMIP6_source_id.json

Before submitting your pull request be sure that:

You haven't deleted any existing information
You haven't eliminated unnecessary blank lines or spaces during your work.
That makes our reviewing work harder and it could introduce unnecessary
conflicts with other pull requests.

Note: You can safely remove this text before submitting your work.

Dear Dr. Durack,
About one and a half month ago, I thought I submitted changes in source_id, it seems to fail.
I'm very sorry.
As a trial, I have submitted changes of MIROC6 on 22, July.
Would you confirm this change?
If it is good, I will continue to submit source_id.json where  information on MIROC-ES2H, MIROC-ES2L, NICAM16-7S, NICAM16-8S, NICAM16-9D-L78 and NICAM16-9S are added.
best regards,
Hiroaki Tatebe

@tatebeJAMSTEC no problem. It's generally easier for me if you can just respond to the open issue https://github.com/WCRP-CMIP/CMIP6_CVs/issues/229 with all the required amendments - I can then pull all these changes together in a single pull request and merge them for all contributing models in one step.


Update ACR UploadBlob method to upload a blob in chunks

The current implementation of ContainerRegistryBlobClient.UploadBlob() tries to upload an artifact layer in a single chunk, and if the layer size is large, that means the client can run out of memory or a request can fail if the transport can't send that large of a stream.
This PR reimplements UploadBlob() to upload the layer in chunks.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Containers.ContainerRegistry

public partial class ContainerRegistryBlobClient

This is also a perfect client candidate for perf testing for the SDK.

Refers to: sdk/containerregistry/Azure.Containers.ContainerRegistry/api/Azure.Containers.ContainerRegistry.netstandard2.0.cs:230 in 2cda954. [](commit_id = 2cda95409a38db24b99885c5526ac9720953ea7b, deletion_comment = False)

The current implementation of ContainerRegistryBlobClient.UploadBlob() tries to upload an artifact layer in a single chunk, and if the layer size is large, that means the client can run out of memory or a request can fail if the transport can't send that large of a stream.

From looking at the previous implementation (before this PR), it doesn't look like we were buffering the stream into a memory stream. Do we know where the Out of Memory was occurring? Was it happening in the Transport? If HttpClient is setting the Transfer-Encoding header to chunked then I don't think we should see out of memory issues. Do we have a test session record for a large upload of a non-seekable stream that we can look at?
I can imagine we would hit the NetworkTimeout of 100s though without chunking ourselves, but this is configurable by users.

From looking at the previous implementation (before this PR), it doesn't look like we were buffering the stream into a memory stream. Do we know where the Out of Memory was occurring? Was it happening in the Transport?

Yeah, great question.  I reached out to the service team asking for a specific repro last week and waiting to get the exact exception.
Can you point me to more information about not buffering the stream?  Is this something we've typically done in other libraries for large files?

From looking at the previous implementation (before this PR), it doesn't look like we were buffering the stream into a memory stream. Do we know where the Out of Memory was occurring? Was it happening in the Transport?

Yeah, great question. I reached out to the service team asking for a specific repro last week and waiting to get the exact exception.
Can you point me to more information about not buffering the stream? Is this something we've typically done in other libraries for large files?

Ingestion is going to use an ArrayPool (which is better for large amounts of data): https://learn.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1?view=net-6.0. Maybe that would work here as well? :)

Can you point me to more information about not buffering the stream? Is this something we've typically done in other libraries for large files?

By buffering the stream, I mean reading the whole stream into a memory stream. I could see how this could cause OOM issues. But we weren't doing this in the previous implementation, so I was curious where the memory issue was actually occurring. I would imagine it is probably in the transport layer if the transport ends up attempting to send a single request.

This is also a perfect client candidate for perf testing for the SDK.

@pallavit, tracking with https://github.com/Azure/azure-sdk-for-net/issues/32415

By buffering the stream, I mean reading the whole stream into a memory stream. I could see how this could cause OOM issues. But we weren't doing this in the previous implementation, so I was curious where the memory issue was actually occurring. I would imagine it is probably in the transport layer if the transport ends up attempting to send a single request.

I still haven't heard back from the service team on this, but looking at the information they've given us, it looks like the OOM issue they were experience was on download of a large blob.  The only thing I've been able to repro on upload is the service closing the connection, presumably because we're sending too much data/data too slowly:
----> System.Net.Http.HttpRequestException : Error while copying content to a stream.
----> System.IO.IOException : Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host..
----> System.Net.Sockets.SocketException : An existing connection was forcibly closed by the remote host.
Uploading in smaller chunks does mitigate this.
I'll update the PR description to more accurately reflect the issue as well - thanks, @JoshLove-msft!

Ingestion is going to use an ArrayPool (which is better for large amounts of data): https://learn.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1?view=net-6.0. Maybe that would work here as well? :)

@nisha-bhatia, I plan to re-work the implementation to possibly use ArrayPool when I implement chunked/parallel download.  Thanks again for the suggestion!


UI Fixes

A Bunch of small fixes for things noted in the demo dry-run
•Removed the number of changed files from the badge in the top bar, and added cloud icons as <Icon> component instances.
•Changed the icons in the GitHub pane from svgs to also be instances of our <Icon> component
•Made the changed files badge color less prominent.
•Edited the copy of the buttons to say "Pull Remote" and "Push Local"
•Fixed the project title color to work in both dark and light modes.
•Added a note: "Any unsaved files will be saved for you." above the commish button so it’s clear your files will be saved contextually to it
• Added a little margin for legibility

• Updated the inspector section border colors to use the colorTheme, less jarring color in dark mode

I'm gonna fix the conflicts and then merge


Can I display detailed Javascript ERROR messages?

Whenever WKWebView encounters a Javascript error, I only get "Script error" in the XCode console. This makes debugging very slow and difficult... Is there a way I could display detailed error messages?
Now I use this code:
window.onerror = function (msg, url, lineNo, columnNo, error) {
  console.log('JavaScript ERROR: ['+msg+'] in '+url+' at line '+lineNo+' column '+columnNo);
  console.log('ERROR: '+JSON.stringify(error));
  return false;
}

which results in this:

JavaScript ERROR: [Script error.] in at line 0 column 0
ERROR: null

These are CORS errors and is obfuscated by design (frustrating, I know). There is no way to see the error in the client.
If you're trying to contact a remote server, you may see something useful in the server web server logs. Chances are you're missing an appropriate Access-Control header.
If you're trying to use XHR to fetch a local resource* (like a file:// resource, common with angular apps that uses angular templates), then you need a third-party plugin such as cordova-plugin-wkwebview-file-xhr which works around CORS issues by using the native layer http client and omitting the origin header altogether. This plugin only works for using local XHR requests to the filesystem.
*It would be better to use the cordova-plugin-file to read files from the local  filesystem if possible, but in some situations that can difficult to do.

I just include a local javascript file from the www directory (no path needed). So there's no way I can display Javascript errors then? :-/

You shouldn't be seeing this on a local js file. Only XHR requests to the file:// protocol (because WKWebView treats it as cross-origin) or trying to load a resource from a webserver that doesn't have CORS configured.

Yeah, that's odd... I get this [Script error.] even if I run a buggy javascript code in my index.html inside a <script> </script> tag. No other hint what or where the problematic code could be... very frustrating. Anyway, I'll look for a solution in some forums, maybe I'll be lucky. :-)

You can try attaching the crossorigin attribute on the script tag, it may at least give you some more information.
From MDN:

When an error occurs in a script, loaded from a different origin, the details of the error are not reported to prevent leaking information (see bug 363897). Instead the error reported is simply "Script error." This behavior can be overriden in some browsers using the crossorigin attribute on

Since this isn't really a bug, I'll be closing this ticket, but if you have any other questions, feel free to ask in our slack.


Misspelling

A minor issue:  the graphics on this page at top that is linked to this URL has a misspelling:
https://docs.microsoft.com/en-us/azure/azure-monitor/app/media/app-insights-overview/01-scheme.png
At bottom right corner is a green box labeled "Continous Export".  It should be "Continuous Export".

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0ffd2efe-e2a3-b002-c46c-089e5b0af9c0
Version Independent ID: 1f365f2a-cf2a-a192-d4b5-c9e76f1af6a2
Content: What is Azure Application Insights?
Content Source: articles/azure-monitor/app/app-insights-overview.md
Service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@lmemmott Thank you for catching this and sharing with us. Will correct the document and update the status accordingly.

@mrbullwinkle  Thank you for helping fix the image.
@lmemmott Thanks again for brining this to our notice, internal PR has been raised to correct the image with right spelling and it should be live by today end of day. Will go ahead and close the thread for now, if you have any other feedback please tag us in your reply and will be happy to take the conversation forward. Thank you.

Wow! I’m impressed with the quick fix!


Fix:Typo External Knowledge API Docs

The external knowledge api doc have some errors.
1.it should be "retrieval_setting" not "retrival_setting" of the request body.
2. the type of response's records should be array.
3. the type of response's metadata should be object.
Fixes #312

Hi @Howe829,
thanks for the contribution! The api spec still has an issue, just changing the type object to array is not enough. See https://github.com/langgenius/dify-docs/pull/320
You can test it here: https://editor.swagger.io/

Hi @Howe829,
thanks for the contribution! The api spec still has an issue, just changing the type object to array is not enough. See #320
You can test it here: https://editor.swagger.io/

Hi @perzeuss , I am wondering why we need to add the 'items'? I think the response structure like below is enough.

Hi @Howe829,
thanks for the contribution! The api spec still has an issue, just changing the type object to array is not enough. See #320
You can test it here: https://editor.swagger.io/

Hi @perzeuss , I am wondering why we need to add the 'items'? I think the response structure like below is enough.

What you see in the screenshot is just an example response. But the problem is that the schema is invalid, not the example. The schema must define the response type as an array whose elements are of type object.

Hi @Howe829,
thanks for the contribution! The api spec still has an issue, just changing the type object to array is not enough. See #320
You can test it here: https://editor.swagger.io/

Hi @perzeuss , I am wondering why we need to add the 'items'? I think the response structure like below is enough.

What you see in the screenshot is just an example response. But the problem is that the schema is invalid, not the example. The schema must define the response type as an array whose elements are of type object.

I think in this pr I've changed the type of records to be "array" not 'object'.

Hi @Howe829,
thanks for the contribution! The api spec still has an issue, just changing the type object to array is not enough. See #320
You can test it here: https://editor.swagger.io/

Hi @perzeuss , I am wondering why we need to add the 'items'? I think the response structure like below is enough.

What you see in the screenshot is just an example response. But the problem is that the schema is invalid, not the example. The schema must define the response type as an array whose elements are of type object.

I think this pr has changed the records type to be 'array'.Could you please comment the changes if there's any problem.

Hi, thanks for the suggestions! The documentation will be updated soon.

Updated: https://docs.dify.ai/guides/knowledge-base/external-knowledge-api-documentation