Amplify Console fails NextJS frontend build

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

App Id
dci1bi90vbg3r
AWS Region
us-east-1
Amplify Hosting feature
Frontend builds
Describe the bug
'FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory\n' +
                                  ' 1: 0xb06730 node::Abort() [node]\n' +
                                  ' 2: 0xa1b6d0  [node]\n' +
                                  ' 3: 0xce1e60 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]\n' +
                                  ' 4: 0xce2207 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]\n' +
                                  ' 5: 0xe99875  [node]\n' +
                                  ' 6: 0xe9a356  [node]\n' +
                                  ' 7: 0xea887e  [node]\n' +
                                  ' 8: 0xea92c0 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]\n' +
                                  ' 9: 0xeac23e v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]\n' +
                                  '10: 0xe6fc63 v8::internal::Factory::NewContextInternal(v8::internal::Handle<v8::internal::Map>, int, int, v8::internal::AllocationType) [node]\n' +
                                  '11: 0xe70650 v8::internal::Factory::NewBlockContext(v8::internal::Handle<v8::internal::Context>, v8::internal::Handle<v8::internal::ScopeInfo>) [node]\n' +
                                  '12: 0x1202a2a v8::internal::Runtime_PushBlockContext(int, unsigned long*, v8::internal::Isolate*) [node]\n' +
                                  '13: 0x15da159  [node]',
                                  failed: true,
                                  timedOut: false,
                                  isCanceled: false,
                                  killed: false
```'FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory\n' +
                                  ' 1: 0xb06730 node::Abort() [node]\n' +
                                  ' 2: 0xa1b6d0  [node]\n' +
                                  ' 3: 0xce1e60 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]\n' +
                                  ' 4: 0xce2207 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]\n' +
                                  ' 5: 0xe99875  [node]\n' +
                                  ' 6: 0xe9a356  [node]\n' +
                                  ' 7: 0xea887e  [node]\n' +
                                  ' 8: 0xea92c0 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]\n' +
                                  ' 9: 0xeac23e v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]\n' +
                                  '10: 0xe6fc63 v8::internal::Factory::NewContextInternal(v8::internal::Handle<v8::internal::Map>, int, int, v8::internal::AllocationType) [node]\n' +
                                  '11: 0xe70650 v8::internal::Factory::NewBlockContext(v8::internal::Handle<v8::internal::Context>, v8::internal::Handle<v8::internal::ScopeInfo>) [node]\n' +
                                  '12: 0x1202a2a v8::internal::Runtime_PushBlockContext(int, unsigned long*, v8::internal::Isolate*) [node]\n' +
                                  '13: 0x15da159  [node]',
                                  failed: true,
                                  timedOut: false,
                                  isCanceled: false,
                                  killed: false

### Expected behavior

Build should not fail.

### Reproduction steps

Go to amplify console and click redeploy this version

### Build Settings

_No response_

### Log output

<details>

'FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory\n' +
' 1: 0xb06730 node::Abort() [node]\n' +
' 2: 0xa1b6d0  [node]\n' +
' 3: 0xce1e60 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]\n' +
' 4: 0xce2207 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]\n' +
' 5: 0xe99875  [node]\n' +
' 6: 0xe9a356  [node]\n' +
' 7: 0xea887e  [node]\n' +
' 8: 0xea92c0 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]\n' +
' 9: 0xeac23e v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]\n' +
'10: 0xe6fc63 v8::internal::Factory::NewContextInternal(v8::internal::Handlev8::internal::Map, int, int, v8::internal::AllocationType) [node]\n' +
'11: 0xe70650 v8::internal::Factory::NewBlockContext(v8::internal::Handlev8::internal::Context, v8::internal::Handlev8::internal::ScopeInfo) [node]\n' +
'12: 0x1202a2a v8::internal::Runtime_PushBlockContext(int, unsigned long*, v8::internal::Isolate*) [node]\n' +
'13: 0x15da159  [node]',
failed: true,
timedOut: false,
isCanceled: false,
killed: false

</details>

### Additional information

_No response_

Hi, Have you tried to set NODE_OPTIONS environment variable to --max_old_space_size=4096 as mentioned below? Thanks
https://github.com/aws-amplify/amplify-hosting/issues/890#issuecomment-663760571

Yes, I increased till 8192 and still no luck
On Fri, Nov 18, 2022 at 12:24 PM Victor Ding @.***>
wrote:

Hi, Have you tried to set NODE_OPTIONS environment variable to
--max_old_space_size=4096 as mentioned below? Thanks
#890 (comment)
https://github.com/aws-amplify/amplify-hosting/issues/890#issuecomment-663760571
—
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-hosting/issues/3117#issuecomment-1319618568,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE6NVOUM2OAWR4ZKJHDUDWTWI4R3TANCNFSM6AAAAAASEE33SY
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Regards,
Sayu Sekhar.
--
Disclaimer: This email message including any attachments is
confidential, and may be privileged and proprietary to Agiliad. If you are
not the intended recipient, please notify us immediately by replying to
this message and destroy all copies of this message including any
attachments. You are NOT authorized to read, print, retain, copy,
disseminate, distribute, or use this message or any part thereof. Thank
you.

The app was working fine till yesterday. Not sure what has broken the build.
On Fri, Nov 18, 2022 at 12:24 PM Victor Ding @.***>
wrote:

Hi, Have you tried to set NODE_OPTIONS environment variable to
--max_old_space_size=4096 as mentioned below? Thanks
#890 (comment)
https://github.com/aws-amplify/amplify-hosting/issues/890#issuecomment-663760571
—
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-hosting/issues/3117#issuecomment-1319618568,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE6NVOUM2OAWR4ZKJHDUDWTWI4R3TANCNFSM6AAAAAASEE33SY
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Regards,
Sayu Sekhar.
--
Disclaimer: This email message including any attachments is
confidential, and may be privileged and proprietary to Agiliad. If you are
not the intended recipient, please notify us immediately by replying to
this message and destroy all copies of this message including any
attachments. You are NOT authorized to read, print, retain, copy,
disseminate, distribute, or use this message or any part thereof. Thank
you.

Hi @sayu-agiliad following up on this issue. I took a look at the app id you shared and see that your branches have had successful builds in the last few days.
Are you still facing this error?

No we are not
Thanks
On Wed, 24 May 2023 at 10:34 PM Dan Kiuna @.***> wrote:

Hi @sayu-agiliad https://github.com/sayu-agiliad following up on this
issue. I took a look at the app id you shared and see that your branches
have had successful builds in the last few days.
Are you still facing this error?
—
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-hosting/issues/3117#issuecomment-1561615532,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE6NVOUVE5ICU673SCDFSNTXHY5SDANCNFSM6AAAAAASEE33SY
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Regards,
Sayu Sekhar.
--
Disclaimer: This email message including any attachments is
confidential, and may be privileged and proprietary to Agiliad. If you are
not the intended recipient, please notify us immediately by replying to
this message and destroy all copies of this message including any
attachments. You are NOT authorized to read, print, retain, copy,
disseminate, distribute, or use this message or any part thereof. Thank
you.


keep  BUNDLER_VERSION in sync with Gemfile.lock

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

The version in master Gemfile.lock is 1.17.3,
maybe forgot to update here.

cc @sjackman @woodruffw

LGTM! Thanks for the catch.

The reason 1.17.2 was picked is because that matches what is bundled with Ruby 2.6.3.
I'm not sure where 1.17.3 came from in the first place.

@Bo98 It was bumped (possibly unintentionally, then?) in https://github.com/Homebrew/brew/commit/170b38892a4e15cf2fadfd173814954a53c97fb4.

Hmm, the blame says here: https://github.com/Homebrew/brew/commit/170b38892a4e15cf2fadfd173814954a53c97fb4.
Thoughts, @MikeMcQuaid? I figure it isn't too big of a deal to leave this merged, since it's a patch bump. If we do revert it, we should probably go ahead and hand-tweak the Gemfile.lock too (which also shouldn't be a problem, because patch bump).

Intentionally bumped. Reverting that and this in https://github.com/Homebrew/brew/pull/8276


Preserve status of wazuh-indexer on upgrade

Description
Update wazuh-indexer pre, and post installation scripts to preserve the previous service status, maintaining consistency with the rest of Wazuh central components packages.
Related Issues
Resolves #487

Check List

[ ] Functionality includes testing.
[ ] API changes companion pull request created, if applicable.
[ ] Public documentation issue/PR created, if applicable.

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.

Testing evidence
Upgrade .deb package validation

Upgrade with service running

Service is running before upgradesystemctl status wazuh-indexer

Upgrade wazuh-indexerdpkg -i wazuh-indexer.deb

Service is running after upgradesystemctl status wazuh-indexer

Upgrade with service stopped

Service is stopped before upgradesystemctl status wazuh-indexer

Upgrade wazuh-indexer

Service is stopped after upgradesystemctl status wazuh-indexer

Upgrade .rpm package validation

Upgrade with service running

Service is running before upgradesystemctl status wazuh-indexer

Upgrade wazuh-indexerrpm -i wazuh-indexer.rpm --force

Service is running after upgrade

Upgrade with service stopped

Service is stopped before upgradesystemctl status wazuh-indexer

Upgrade wazuh-indexerrpm -i wazuh-indexer.rpm --force

Service is stopped after upgradesystemctl status wazuh-indexer

Analysis systemd-tmpfiles implementation
The tool is already used in our distribution scripts, anyway the implementation for our .restart temp is not that straightforward.
Currently systemd-tmpfiles is used in the postinst stage for every scenario (install|upgrade) which is inconvenient since we need to create the .restart file only in the cases where the service is running before the upgrade, detecting and defining it in the preinst step.
Possible implementation:
We could update the preinst script to declare into the wazuh-indexer.conf the creation of the .restart file on the required cases with something like
if command -v systemctl >/dev/null && systemctl is-active wazuh-indexer.service >/dev/null; then
    echo "Stop existing wazuh-indexer.service"
    systemctl --no-reload stop wazuh-indexer.service
    echo "f    /tmp/wazuh-indexer.restart   0750 wazuh-indexer wazuh-indexer - -" >> /usr/lib/sysctl.d/wazuh-indexer.conf

Anyway we must keep the manual removal of the file after the service restart, contemplating the scenario where the user does not power off the system between upgrades.

By manual removal I refer to this if statement
if [ -f %{tmp_dir}/wazuh-indexer.restart ]; then
    rm -f %{tmp_dir}/wazuh-indexer.restart

Conclusion
The implementation of the tool won't help us simplifying the code nor making it clearer for the reader.


tests: add test for unseen http midstream traffic - v4

Previous PR: https://github.com/OISF/suricata-verify/pull/926
Updates from last PR:

remove suricata.yaml
replace $HOME_NET and $EXTERNAL_NET variables from rules

Related to bug https://redmine.openinfosecfoundation.org/issues/5437
Suricata fix by @catenacyber  https://github.com/OISF/suricata/pull/8320

Suricata PR was merged

Replaced by https://github.com/OISF/suricata-verify/pull/1148


Remove /now route prefix

Would break existing links, needs some consideration

Alternatively, perhaps you could also create a "/previous" prefix version of the site which would show the last scrobbled song, rather than the current one (or blank if scrobbling has stopped).


Enable autocorrection for Layout/LineContinuationLeadingSpace

Autocorrect was implemented in https://github.com/rubocop/rubocop/pull/11091.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Install Wildfly on IBM Cloud

Installing Wildfly on IBM Cloud
This document will describe how to install Wildfly on IBM Cloud using Kubernetes services.
Contents

Introduction
Provision Kubernetes Cluster
Deploy IBM Cloud Block-Storage Plugin
Deploy Wildfly
Verifying the Wildfly Installation

Introduction
To complete this tutorial, you should have an IBM Cloud account, if you do not have one, please register/signup here.
For installing Wildfly, we have used the Kubernetes cluster, and used the IBM Cloud Block-Storage plugin for our persistent volume. Upon the completion of this tutorial, you would have the Wildfly up and running on the Kubernetes cluster.

Provision the Kubernetes cluster, if you have already setup one, skip to step 2.
Deploy the IBM Cloud Block-Storage Plugin to the created cluster, if you have already done this, skip to step 3.
Deploy the Wildfly.

Provision Kubernetes Cluster

Click on the Catalog button on top center. Open Catalog.

In search catalog box, search for Kubernetes Service and click on it.

You are now at Create Kubernetes Cluster page, there you have the two plans to create the Kubernetes cluster, either using free plan or standard plan.

Option1- Using Free Plan:

Select Pricing Plan as “Free”.
Click on Create.
Wait a few minutes, and then your Cloud would be ready.

Note: Please be careful when choosing free cluster, as your pods could be stuck at pending state due to insufficient compute and memory resources, if you face such kind of issue please increase your resource by creating them choosing the standard plan.

Option2- Using Standard Plan:

Select Pricing Plan as “Standard”

Select your Kubernetes Version as latest available or desired one by application. In our example we have set it to be '1.18.14'.

Select Infrastructure as “Classic”

Leave Resource Group to “Default”

Select Geography as “Asia” or your desired one.

Select Availability as “Single Zone”.

This option allows you to create the resources in either single or multi availability zones. Multi availability zone provides you the option to create the resources in more than one availability zones so in case of catastrophe, it could sustain the disaster and continues to work.

Select Worker Zone as Chennai 01.

In Worker Pool, input your desired number of nodes as “2”

Leave the Encrypt Local Disk option to “On”

Select Master Service Endpoint to “Both private and public endpoints”

Give your cluster-name as “Wildfly-Cluster”

Provide tags to your cluster and click on Create.

Wait a few minutes, and then your Cloud would be ready.

Deploy IBM Cloud Block-Storage Plugin

Click on the Catalog button on top center.
In search catalog box, search for IBM Cloud Block Storage Plug-In and click on it
Select your cluster as "Wildfly-Cluster"
Provide Target Namespace as “wildfly-storage”, leave name and resource group to default values.
Click on Install

Deploy Wildfly

Again go to the Catalog and search for Wildfly.

Provide the details as below.

Target: IBM Kubernetes Service

Method: Helm chart

Kubernetes cluster: Wildfly-Cluster(jp-tok)

Target namespace: wildfly

Workspace: wildfly-01-13-2021

Resource group: Default

Click on Additional Parameters with Default Values, you can set the deployment values or use the default ones, we have used the default ones in this example.

Click on Install.

Verifying the Wildfly Installation

Go to the Resources List in the Left Navigation Menu and click on Kubernetes and then Clusters

Click on your created Wildfly-Cluster.

A screen would come up for your created cluster, click on Actions, and then Web Terminal

A warning will appear asking you to install the Web Terminal, click on Install.

When the terminal is installed, click on the action button again and click on web terminal and type the following command in below command window. It will show you the workspaces of your cluster, you can see Wildfly active.

     $ kubectl get ns

   $ kubectl get pod –n Namespace –o wide

     $ kubectl get service –n Namespace

Browse to the IP address listed in screenshot to open Wildfly console in browser.

The installation is done. Enjoy!

Hello, arifnafees. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

Hello, arifnafees. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

Hello, arifnafees. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

ok-to-test

Hello, arifnafees. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

ok-to-test


[SPARK-39008][BUILD] Change ASF as a single author in Spark distribution

What changes were proposed in this pull request?
This PR proposes to have a single author as ASF for Apache Spark project since the project is being maintained under this organization.
For pom.xml, I referred to Hadoop https://github.com/apache/hadoop/blob/56cfd6061770872ce35cf815544b0c0f49613209/pom.xml#L76-L79
Why are the changes needed?
We mention several original developers in authors in pom.xml or R/pkg/DESRIPTION while the project is being maintained under ASF organization.
In addition, seems like these people (at least Matei) here get arbitrary spam emails.
Does this PR introduce any user-facing change?
Yes, the authors in the distributions will remain as ASF alone in Apache Spark distributions.
How was this patch tested?
No, existing build and CRAN check should validate it.

WDYT @mengxr @shivaram @felixcheung ?
FWIW I am already briefly synced with @matei on this.

BTW, PySpark seems fine (https://github.com/apache/spark/blob/master/python/setup.py#L205-L206)

Merged to master and branch-3.3.

late to the party (I had a different github for work, so not really seeing anything in this account)
since I'm the old man here, just for context:
note that CRAN publishing will email that address to wait for acknowledgement. if the community ever wants to publish to CRAN again (not sure if we ever would), dev@ will get spam.
also, CRAN requires this email as a person, not a group. at least years ago that was why it was individuals, not<EMAIL_ADDRESS>


Create nl_nl.json

Dutch translations added

Thank you!

It ain't much, but It's honest work

Hey @Raymonzut, I am currently relicensing Golden Hopper to a more suitable license. I would like your permission to relicense your contributions to Golden Hopper under MIT. Thank you.

Hello @MrCrayfish, I decline the request of permission to relicense these contributions to fall under the MIT license, to ensure contributions towards this project and derived works are shared.
Currently if someone creates their own version based on this project, and does not distribute it, they can do whatever they want. However, I think it is beneficial for distributed versions to be shared as openly as this project; that derived projects also share their changes to the community, which is why I favor the original license.
I appreciate that you take the time to reach out to contributors, thanks for asking.

@Raymonzut Thanks for the quick reply. I respect your decision and appreciate your contributions, this however means your translations will no longer be available in future releases.

@MrCrayfish Likewise, then these translations shall be removed upon relicencing, I understand your decision.


feat: interpret queries flanked by slashes as regex

Description
Enables regex when searching by flanking slashes around queries, e.g. /(haskell|conda)/.

Again, I understand the premise and see the value it adds, however is it what upstream scoop does?

Same as #24 then


update version during release

Proposed change
Update version of the integration visible on the portainer integrtion page
Type of change

[x] Bugfix
[x] New feature
[ ] Code quality improvements to existing code or addition of tests
[ ] Documentation

Additional information
The version is taken from the tag during the release process.

v0.0.1 -> 0.0.1
0.0.2 -> 0.0.2
whatever -> whatever

Checklist

[x] The code change is tested and works locally.
[ ] The code has been formatted using Black.
[ ] Tests have been added to verify that the new code works.
[ ] Documentation added/updated if required.

thanks, this is quite helpful


Add ChatCraftAttachment

Starting to work on allowing arbitrary file attachments.  I need to spend more time on this, but wanted to post what I have so far.

Fixes #426

I implemented inlining of files instead.


Upgrade sbt-scalafix from 0.10.4 to 0.12.1

About this PR
📦 Updates ch.epfl.scala:sbt-scalafix from 0.10.4 to 0.12.1
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.epfl.scala", artifactId = "sbt-scalafix" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "ch.epfl.scala", artifactId = "sbt-scalafix" }
}]

labels: sbt-plugin-update, early-semver-major, semver-spec-minor, commit-count:1

Superseded by #157.


Qa

Coverage decreased (-0.3%) to 82.891% when pulling 1c519bc431624b0a3a70ea5ff403e7eb57c02d60 on qa into 05b8038fea0514b46cbc3f75d82ca64267476b61 on master.


bau: remove action mailer

We won't be sending any e-mails so let's remove actionmailer from the app.

LGTM


Update Travis CI.

Coverage remained the same at 80.0% when pulling df570a3653d88f26ca7107d7f2c64c95bf18ff71 on kevina/travisci into ee3f912d7676d976b878fddc04a02be66a2da5ee on master.

Coverage remained the same at 80.0% when pulling c3f65efd20d14baf9818ef0f9237daa39afa9648 on kevina/travisci into ee3f912d7676d976b878fddc04a02be66a2da5ee on master.

Not entirely sure how that test failed... Travis looks a bit drunk.


Different groups for provision and consolidate?

Description
I'm running some pods with heavy gpu loads and some pods with moderate cpu loads. I'd like to configure a nodepool such that it will conservatively spawn gpu nodes to satisfy any gpu load requirements for the gpu pods.
Once gpu nodes have been allocated, I'd like their spare cpu to be consolidated into with my cpu pods. I'd further like to be sure that if the gpus are unallocated that the cpu workloads get consolidated off of the gpu node.
Is this something karpenter can support? I'm currently just using node affinities to make sure that gpu pods and gpu nodes are separate from the rest of my karpenter setup.

You could try setting up two nodepools, both with consolidation enabled. You could have your CPU pods be compatible to both NodePools, and set up a non-gpu and a gpu nodePool, with the gpu nodepool having a lower weight. Your GPU pods should be only compatible with the GPU NodePool.
This way, CPU pods by themselves would only create your CPU-optimized instances. If you create a GPU pod, it'd only be compatible with the GPU NodePool, creating a new instance. If any new CPU pods came up later, since it's compatible with the GPU NodePool, it would likely be able to schedule on the GPU NodePool. Hope this helps.


Remove export! macro from azure-functions-codegen.

Steps to reproduce

cargo func new-app repro && cd repro
cargo func new http -n repro.
Edit src/functions/repro.rs and introduce invalid syntax that would cause a parse error.
cargo build.

Expected  behavior
Expected useful diagnostics from rustc to help identify the problem.
Actual behavior
The compiler emits the error but can't correlate it to the actual source because of the code generation from the export! macro.
For example:
error: expected one of `!` or `::`, found `#`
 --> src\functions\mod.rs:5:1
  |
5 | / azure_functions::export! {
6 | |     repro
7 | | }
  | |_^

This error is completely uninformative.
Given that src/functions/mod.rs is "under the control" of cargo func new, I think we should eliminate the export! macro and instead have explicit mod declarations and the FUNCTIONS array.
The export! macro really only exists to make cargo func new an easier implementation at a time when it was trying to "preserve" any modifications to mod.rs.

See the examples directory for how to convert src/functions/mod.rs and main.rs.


nyc-config-typescript and decorators

Considering a simple TS file like src/main.ts
function Foo(constructorFunction: Function) {
  console.log('Foo decorator')
}

@Foo
class Main {
  constructor() {
    console.log('Running')
  }
}

new Main();

then trying to instrument it by running:
yarn nyc instrument --compact=false src instrumented

with the following configuration:
"nyc": {
  "extends": "@istanbuljs/nyc-config-typescript",
  "all": true
}

then the result file instrumented/main.ts is not instrumented.
If we comment the @Foo decorator, then the file is instrumented again.
function Foo(constructorFunction: Function) {
  console.log('Foo decorator')
}

// @Foo
class Main {
  constructor() {
    console.log('Running')
  }
}

new Main();

result instrumented/main.ts:
// ...
function Foo(constructorFunction: Function) {
  cov_1eomntdplb.f[0]++;
  cov_1eomntdplb.s[0]++;
  console.log('Foo decorator');
} // @Foo

class Main {
  constructor() {
    cov_1eomntdplb.f[1]++;
    cov_1eomntdplb.s[1]++;
    console.log('Running');
  }
}

cov_1eomntdplb.s[2]++;
new Main();

Am I missing something or is there an issue with decorators?

@wyp0011 any interest in submitting a patch that adds docs to the README.md with your example?

hey All, @wyp0011 i have tried the first option that you suggested. That does instrument the .ts files with decorators but it does not work properly. It is giving the issue export is moved before decorators which gives error for compiling
Can anyone please help me with this.

same issue

I would like to confirm this is still an issue. I ran into this while trying to instrument angular component files. I was able to get them to instrument properly with @wyp0011 suggestion. This can be easily reproduce by running npx nyc instrument src/ instrumented from angular project. You will see the instrumented folder is created. But only the typescript files without decorators are properly instrumented.


Virtio network interfaces failed to be bound back to the driver

Description of problem
In case of physical network interface, the driver would be virtio_net if using a vm as the host (nested virtualized). After the teardown of container, kata tried to bind interfaces back to virtio_net, but there was no path of /sys/bus/pci/drivers/virtio_net/ (actually it should be /sys/bus/virtio/drivers/virtio_net/). There are two ways fixing that:

Whenever using a virtio_ driver, we try to use  /sys/bus/pci/drivers/virtio-pci/{bind, unbind} to manipulate interfaces and drivers
Whenever using a virtio_ driver, we try to replace bus type from pci to virtio, that is, /sys/bus/virtio/drivers/virtio_net/{bind, unbind}

cc @sboeuf @amshinde  @mcastelino @egernst

@linxiulei Yes, our assumption here was the device was a PCI device here. I can take a look at this. Is there a plugin I can use to test this end to end?

@amshinde  any progress? thanks

@linxiulei This fell off my radar, sorry for the delay. I think have a fix that should solve your issue : https://github.com/kata-containers/runtime/pull/851
I did test out binding and unbinding a virtio-net device in a VM with the above patch.
In case of virtio-net devices, turns out the device driver should be virtio-pci and not virtio-net.
Can you build using the above fix and let me know if it works out for you.

@amshinde it worked, cheers

@linxiulei Great, glad that worked. We had mainly tested with PCI devices in the past, so I am curious about your use-case for using virtio devices with vfio. Do you mind sharing some details about your usage?

@amshinde Sure, my use-case is pretty simple, in which I used Alibaba Cloud ECS virtual machine and setup k8s/kata-runtime within, therefore a cni plugin working with Alibaba Cloud ECS virtual network interface was deployed. As a result, a virtual network interface was set into network namespace when a pod was created and kata-runtime would consider it as a passthrough-able interface, unfortunnately I ran into this bug.

thanks @linxiulei
cc @mcastelino @egernst


fix: improve button

Description
This PR improves the button sizing and adds transparency to the plus button.
Screenshots

Please tag it under hacktoberfest.

we are changing the whole structure so this contribution is spam


feat/cli test

Small updates to support the stacks cli and the build pipelines

/azp run

/azp run


Homebrew cask missing SHA-1

~ brew cask install fastlane
Warning: Cask 'fastlane' does not have a sha256 checksum defined and was not installed.
This means you have the "--require-sha" option set, perhaps in your HOMEBREW_CASK_OPTS.

If you have the --require-sha option* set in your HOMEBREW_CASK_OPTS, the installation via Homebrew fails.
*) recommended by https://devhub.io/repos/drduh-OS-X-Security-and-Privacy-Guide

No way to include the output of fastlane env before installing fastlane—right, bot? ;)

Interesting, I didn't realize this was an option, but makes total sense.  I need to read up on how casks are made, we'll take a look at this.

Right now we don't update our cask for every release. Including the sha for each release would mean we'd need to add that into the release workflow. I don't think it's a ton of work, but I do wonder how the caskroom maintainers would deal with our frequent releases. They'd be getting so many pull requests from us I'd worry that our cask would start to lag behind our releases.


Minor refactoring on UILabel test and constructor default param.

Checklist

[ ] New Extension
[x] New Test
[ ] Changed more than one extension, but all changes are related
[ ] Trivial change (doesn't require changelog)

          1 Error

:no_entry_sign:
Making non-trivial change requires changelog entry! Please, set trivial change or add entry to changelog.

          3 Messages

:book:
Executed 200 tests, with 0 failures (0 unexpected) in 9.342 (9.563) seconds

:book:
Executed 185 tests, with 0 failures (0 unexpected) in 10.326 (10.479) seconds

:book:
Executed 122 tests, with 0 failures (0 unexpected) in 4.259 (4.328) seconds

  Generated by :no_entry_sign: Danger


[BugFix]Update auto infer bucket num for cloudnative table, same with olap table

Fixes #issue
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:disappointed: fail : 1 / 2 (50.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/CatalogUtils.java
1
2
50.00%
[309]

@Mergifyio backport branch-3.1


Adding variables to give users a way to set a custom hork time

Horking time will vary on the user. Each boss will have their own hork timer.

Should be added on line12 of barbarian.py

include your own configurations?

Sorry new to this. What does that mean? I changed 3 files one of them being the new param to include the new vars.

Sorry new to this. What does that mean? I changed 3 files one of them being the new param to include the new vars.

you can add your own configuration into the custom.ini

Closing due to lack of activity, feel free to merge master and will revisit if needed


Implement toString() for ManagedExecutor and ThreadContext.

Add toString() impls to ME and TC.
When there is a CDI injection point, an information about what's stored under NamedInstance qualifier is added as well.
Spec says we should include fully qualified name of IP as well, but that information seems redundant. I have raised a question on Gitter and if need be will address that separately.

Updated so that the injection point name corresponds with the MP config name syntax.


Fix error due to mismatching dtype

I've started a smoke test on w64.  1 passes so far.

Passed win64 smoke test.  Going to merge as soon as Travis CI signs off.


Proposal: hash iterators

This proposal concerns iteration over key-value pairs of a hash in JavaScript.
_.eachHash
Works like _.each but reverses the order of first two arguments passed to iterator: [key, val] instead of [val, key].
Rationale: key, value is the natural order for iterating over hash entries. The following is a common js pattern:
function set(key, value) {
  if(_.isString(key)) {
    // set the value
  } else {
    // allow multiple values to be set.
    _.eachHash(key, set);
  }
}

'Hash' versions of all underscore's collection functions could be based on _.eachHash and return a hash whenever an array is returned.
_.mapHash
Works like _.map but returns an object. Iterator returns a [key, value] pair:
_.mapHash = function(obj, iterator, context) {
    var r = {}; _.eachHash(obj, function(key, val) {
      var pair = iterator.call(context, key, val, obj);
      r[pair[0]] = pair[1];
    });
    return r;
  };

// Example: Convert all keys in a hash to lowercase.
function toLowerCaseHash (obj) {
  return _.mapHash(obj, function(key, val) {
    return [key.toLowerCase(), val];
  });
}

_.filterHash
Works like _.filter, but returns a hash.
etc...
Let me know if I'm smoking hash.

Sounds like a massive expansion / duplication in Underscore's API, with perhaps little benefit? What do you get from _.eachHash that _.each doesn't give you, apart from a more convenient key,value ordering?

Jeremy, I'm suggesting a little more than key,value ordering:

treat a hash as an array of key-values pairs: [[key1, val1], [key2, val2], ..., [keyN, valN]]
Have "hash comprehension" that can build a hash, not just an array: _.mapHash returns a hash.

For example, here's how one could imagine _.mapHash:

Hash is converted to array of key-value pairs (conceptually, perhaps not literally).
Iterator is called with key-value deconstructed into first two arguments. idx becomes 3rd argument.
Iterator returns key-value pair.
Array of key-value pairs is converted back to a hash which is returned.

Here's a sample implementation using _.each. Notice the idx variable.
_.mapHash = function(obj, iterator, context) {
  var r = {}, idx=0; _.each(obj, function(val, key) {
    var pair = iterator.call(context, key, val, idx++, obj);
    r[pair[0]] = pair[1];
  });
  return r;
};

Cheers.


custom cache folder

hello , would be nice define a custom location for the .fusebox folder.
https://fuse-box.org/docs/development/configuration#cache
Good job, by the way, I just started with fuse box, i love it!

Hi there is in fact,please check Configuration.ts

Not sure what you mean by Configuration.ts

@pungggi
https://github.com/fuse-box/fuse-box/blob/7b7a76b14f47bee0da56d804327e2697ad2e2c4c/src/Config.ts#L14
FUSEBOX_TEMP_FOLDER=.some node fuse.js


Remove extra_requires and use install_requires

Hey @ethier, it seems that your fork is out of date because these changes have already been made on Master (ref: https://github.com/crsmithdev/arrow/blob/master/setup.py#L26).


BoxDDP used extended initializer lists, feature of c++11

In GitLab by @cmastalli on Oct 7, 2019, 16:40
For more details see:
/devel/crocoddyl/include/crocoddyl/core/solvers/box-qp.hpp: In function ‘crocoddyl::BoxQPSolution crocoddyl::BoxQP(const MatrixXd&, const VectorXd&, const VectorXd&, const VectorXd&, const VectorXd&, double, int, double, double)’:
/devel/crocoddyl/include/crocoddyl/core/solvers/box-qp.hpp:48:12: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
     return {Hff_inv, x_init, free_idx, clamped_idx};
            ^
/devel/crocoddyl/include/crocoddyl/core/solvers/box-qp.hpp:66:14: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
       return {Hff_inv, x, free_idx, clamped_idx};
              ^
/devel/crocoddyl/include/crocoddyl/core/solvers/box-qp.hpp:141:10: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11
   return {Hff_inv, x, free_idx, clamped_idx};

@wxmerkt -- could you handle this?

In GitLab by @wxmerkt on Oct 7, 2019, 16:42
Yes, will do and issue a PR. I didn't see this in the build server

In GitLab by @wxmerkt on Oct 7, 2019, 17:11
mentioned in merge request !243

In GitLab by @cmastalli on Oct 7, 2019, 17:49
closed


Steps to make tota11y more screen-reader friendly and keyboard-accessible

This PR adds several features to make tota11y more keyboard and screen-reader friendly, notably:

Adding keyboard toggling to the list of plugins (and a focus indicator)
Adding screen reader text to the toolbar expand button, close buttons in the info panel, and "scroll to error" buttons in the info panel entries
When activating a plugin, focus is directed to the newly-created info panel
Menu aria roles on the list of plugins

I am still struggling to make annotations screen reader friendly, as they are located near the errors to sighted users, but for screen readers there is no strong connection. I am thinking that the "Scroll to error" button can be repurposed to focus the violating element.
@rileyjshaw || @MichelleTodd - would you mind reviewing the code in this diff? a11y-wise, I'll keep exploring more options, but this is definitely a step in the right direction.

(Sorry that I haven't gotten to this yet - I can check it out by the end of the week if that's okay?)

Yeah no huge rush here.  Mainly moving handlebars -> JSX (maybe that should be its own diff)

all of this looks good to me! thank you for splitting your code up into such small & well-defined commits! :D

Woohooooooo jsx!!
Just took a peek at this, looks cool :)


New config for MultiQC.

Should trim off _R1 and _R2 from sample names, meaning that we get one row per sample in the general stats table.
Also added a comment at the top of the report saying that it came from the NGI-RNAseq pipeline, with a link to the docs.

NB: Not tested with Nextflow
NB: May break when used with funk account, which has an alias for multiqc with a -c config file. Not sure what happens when you use -c twice.

Added the --fastqc parameter to the trim_galore process. Should fix the bug where it's looking for FastQC output.

Rewrote Travis file so that it actually tests the correct repo.


Added the roaming data prototype.

Let me know if you want it shifted to another location.

Quality pull request, can't wait for the sequel.


Feature request: Introduce context-aware escaping

templ currently uses simple escaping rules, described below:
{% templ Example() %}

  {%= "will be escaped using templ.Escape, which is fine" %}

<div style={%= "will be escaped using templ.Escape, which isn't CSS-aware" %}

{%= "will be escaped using templ.Escape, which is fine" %}

<a href={%= "will be escaped using templ.Escape, which isn't hyperlink-aware" %}

{% endtempl %}

This approach is safe when the content being applied to the onClick / on* / style,  attributes and script / style element contents are from trusted sources, but if not, they could become attack vectors.
In most cases, developers won't be adding hyperlinks, or populating onClick elements from user-controlled content, but since it's a potential attack vector, it's probably worth making developers explicitly state the safety, despite the extra developer hassle.
templ's element type should be aware of href, on* and style attributes and the contents of script and style tags, and automatically apply context-aware escaping improve the security posture of templ.
In cases where developers need to use content (css, scripts, hyperlinks) from data that's under their control (i.e. not potentially under an attacker's control), they'll need to state that the content is "safe".
Language changes
Option 1 - New string expression operator
This could be done by adding a new context unaware string expression operator that only uses the templ.Escape function, rather than context-aware escaping. The syntax could be:

{%!=
{%= safe

Option 2 - Force a function call to safehtml
Make the CSS, onClick etc. take appropriate types from https://github.com/google/safehtml and force users to use safehtml.StyleFromConstant method calls.
I think this would be irritating, because it's such a long function call.
Option 3 - Wrap the function call to safehtml
Similar, to above, but create a github.com/a-h/templ/safe package and shorten the calls:

{%= safe.Style("background-color: red") %}
{%= safe.Script("alert('hello')") %}

Decision
I don't like adding new templ expressions unless really required, so while I like option 1 (particularly the {%!=  operator), I think option 3 is the way to go, because it's very clear what's going on even if you've never seen templ before, and there's not many places where developers will actually need to do this (onClick handlers, contents of


feat: support for server lambda_http::Request

Motivation and Context
This PR replaces: https://github.com/awslabs/smithy-rs/pull/1338
Adds support for accepting lambda_http::Request.
Testing
Pokemon Service is updated with a lambda_http run example.
Checklist

[x] I have updated CHANGELOG.next.toml if I made changes to the smithy-rs codegen or runtime crates
[x] I have updated CHANGELOG.next.toml if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Sorry it took me so long to take a look at this, I was on holiday.

I'm currently taking a week off too, I'll get to this on Monday. Thanks!

👋 Back dusting this off and see if I can finish the last leg

https://github.com/awslabs/smithy-rs/issues/1364 is unrelated to this change. What this change does is to allow smithy-rs to take in lambda_http:Requests as input, by adding a converter from Lambda's body error type into a smithy-rs RequestRejection. This will get returned when we fail to buffer non-streaming requests as bytes. You might want to update the PR description / commit message to better reflect the intent of this patch.

I probably had the wrong thing to paste here; I believe I intended to link to this comment: https://github.com/awslabs/smithy-rs/pull/1338#issuecomment-1117643522 which had a comment about a workaround to #1364. Sorry for the confusion.

You'll also need to copy over the stage stripping part from the request URI path. Do you want to tackle this in a separate PR?

I'd like to get this all done in this PR, so I'll update accordingly,
Thanks for the feedback!

In your Lambdas, how are you handling usage of the Lambda context in your operation handlers? It's useful for X-Ray integration, logging a request ID etc.
Our users currently have to retrieve it out of the lambda_http::Request and insert it into the HTTP extensions with their state. It's not a great UX. I was wondering if you had any ideas to make it better.

New information

You'll also need to copy over the stage stripping part from the request URI path. Do you want to tackle this in a separate PR?

I had to do some research yesterday since stage stripping wasn't giving me the expected result. It turns out that as implemented in https://github.com/awslabs/smithy-rs/pull/1338 we were not stripping anything.
let raw_path = request.raw_http_path()
/// raw_path = "" (empty)

The routing worked at a specific version (sha: https://github.com/eduardomourar/smithy-rs/commit/e05b302b058e21cc4d2f4d4acd63b3dd6b734972) because of how the server initializes RequestSpec regexes.
Example:
uri_path_regex: /orders/123/shipments$

It's subtle but it lacks the start of line assert ^ which is present in current versions of smithy-rs. That old regex will match a path like this /prod/orders/123/shipments and more relevant for me it will match a versioned path like this /prod/2022-01-01/orders/123/shipments.
The new regexes look like this:
uri_path_regex: ^/orders/123/shipments$

After stage stripping it will still not match the versioned path that I have /2022-01-01/orders/123/shipments.
I'm not sure what to do about stripping /2022-01-01 if any of this sparks a thought for anyone reading please let me know.

I'm not sure what to do about stripping /2022-01-01 if any of this sparks a thought for anyone reading please let me know.

Stepped back a bit and I believe this is a "userland" concern, customers (like me/us) can strip this out in a layer.

@david-perez

In your Lambdas, how are you handling usage of the Lambda context in your operation handlers? It's useful for X-Ray integration, logging a request ID etc.

Our users currently have to retrieve it out of the lambda_http::Request and insert it into the HTTP extensions with their state. It's not a great UX. I was wondering if you had any ideas to make it better.

I've asked a team member about this; I don't think we do anything with the Lambda context yet. I wasn't involved with our X-Ray integration, but I know we have one, and it works.
Here's what I know we have made an ext trait like this one
pub trait RequestExt {
    fn account_id(&self) -> Option<&str>;
    fn request_id(&self) -> Option<&str>;
}

And Request<T> implements RequestExt.

@david-perez thanks for the review, will work through it today. How are other users dealing with having versioning in their path?

Is the version an API Gateway stage? If so, they are stripping it using a similar function than convert_event from this PR, applying it as middleware. The Smithy model does not include the stage in the URI, since it's deployed to multiple stages.

Maybe this is related, for things like extensions on Request, we've made a RequestExt trait like this:

At what point in the request lifecycle do you get to use the account_id and request_id methods? Do you thread those strings to the operation handler functions? If yes, how?

At what point in the request lifecycle do you get to use the account_id and request_id methods? Do you thread those strings to the operation handler functions? If yes, how?

Oh right, no, we don't have those in our operation handlers; sorry to mislead, they are only available in middlewares (layers/services)

@david-perez I made a new set of changes (and rebased) to get the two jobs that were failing to pass

https://github.com/awslabs/smithy-rs/runs/7903857949?check_suite_focus=true
https://github.com/awslabs/smithy-rs/runs/7903858148?check_suite_focus=true

@hugobast Thanks for your contribution.

Changes were made in order to avoid doing a body conversion from a lambda_http::Body to a hyper::Body it's unfortunate that we would have to do a body conversion here anyway for ByteStream?

We will try to address this, perhaps via #1125, so that convert_event does not have to make the body type conversion.


speech time

how can I increase the speech time of recognition?

Not sure how native API are supporting that, currently it's not supported so we get the defaults


fix: return type for year and month transform should be int

Seems to be changed together with date transform by mistake in #479

cc @sdd @Xuanwo @Fokko

Let's get this in, thanks @xxchan for fixing this, and thanks @sdd for the review 🙌


Adding unit tests for stream buffer and message buffer

Description

Added CMock unit tests for stream buffer and message buffer
Coverage  - 100% line, branch and functional coverage
Update kernel submodule pointer to latest main to get the fix for stream buffer failing test.

Test Steps
Run only stream buffer tests:
make stream_buffer
Run only message buffer tests:
make message_buffer
Run whole suite with coverage:
make
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

You're missing coverage of some of the assert cases. Check the report at this link: https://github.com/FreeRTOS/FreeRTOS/suites/2346659470/artifacts/49575098, which is generated with the make lcovhtml target.


response or reply with block message?

I discovered from slack api that can be using rich messaging called "block".
https://api.slack.com/messaging/composing/layouts
I tried to send using send_webapi(), but it fails.
Is there a way to send it?
msg={
  "channel": "C1H9RESGL",
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "Danny Torrence left the following review for your property:"
      }
    },
    {
      "type": "section",
      "block_id": "section567",
      "text": {
        "type": "mrkdwn",
        "text": "<https://google.com|Overlook Hotel> \n :star: \n Doors had too many axe holes, guest in room 237 was far too rowdy, whole place felt stuck in the 1920s."
      },
      "accessory": {
        "type": "image",
        "image_url": "https://is5-ssl.mzstatic.com/image/thumb/Purple3/v4/d3/72/5c/d3725c8f-c642-5d69-1904-aa36e4297885/source/256x256bb.jpg",
        "alt_text": "Haunted hotel image"
      }
    },
    {
      "type": "section",
      "block_id": "section789",
      "fields": [
        {
          "type": "mrkdwn",
          "text": "*Average Rating*\n1.0"
        }
      ]
    }
  ]
}

message.send_webapi('',json.dumps(msg)) # fails with slacker.Error: no_text
message.send_webapi('test',json.dumps(msg)) # I only get 'test' text in reply.

@lins05 i would like to work on this as Slacker now supports blocks https://github.com/os/slacker/pull/161


feat: add stateless progressbar implementation

add stateless progressbar implementation

Code generally looks great! Just left two comments.

Is there a PR for the tests for this component?

#374

Also we should rename progressbar folder to progress-bar

Also we should rename progressbar folder to progress-bar

renamed in #374


Add new sponsor: Data Wow

What happened

Add new entry in sponsros.yml
Fix logo image for JetBrains

Insight
The logos are fit onto 3 lines as having JetBrains logo on another line looks nicer due to its non-rectangular ratio.
Proof Of Work

Small Screen
Large Screen

JB looks a bit too big compared to other silver esp on mobile?

@matthewmayer I know but the logo ratio is really different so it is either that or it will be tiny If you look closely the orb/lightning streak is bg but the brand name is small 😅


[12.x] Replace facade and global function calls with DI in middleware constructors

When I was looking into various middlewares within the codebase, I noticed some inconsistent patterns in the usage of facades, global functions and constructor-injected dependencies. Considering the latter to be the neatest and (in the long run) most flexible way of using dependencies, with the added bonus of better static/IDE help, I created this PR to make middlewares more consistently use this pattern.
Given this adds the abort method to the Application contract (as it is called by the global abort function and thus should be there if I'm right) and moreover add/alters various middleware class constructors, this is a technical breaking change and thus targeted at master.
Some parts may be considered non-breaking and could be applied to 11.x, but given that benefits are mostly limited to readability and are not changes in behavior, I think backporting parts is probably not preferable.

My license plate is literally FACADE 😅

My license plate is literally FACADE 😅

Yeah that's a fair stance too. Would the reverse operation, i.e. replacing the constructors in middlewares currently having one with facade/global calls be a potential improvement then?


Embedded dns does not return compressed results.

Continuation of #20037. The embedded DNS server does not compress dns responses. This causes issues for many apps, including docker itself (via the dind image) and any other go applications using the net go library.
A test image is available which can reproduce the issue:
$ docker run clinta/go-dns-test
[Tested at 2016-02-08 21:24:13 UTC <IP_ADDRESS> sent EDNS buffer size 4096 <IP_ADDRESS> DNS reply size limit is at least 4090]%

$ docker run --net=test clinta/go-dns-test
lookup rs.dns-oarc.net on <IP_ADDRESS>:53: no such host
[]%

@mavenugo, I'm not running in AWS. This is all a bare metal deployment. I think reproducing it depends on your upstream resolver. It appears that google's public servers, <IP_ADDRESS> and <IP_ADDRESS> do not return large dns records. DNSmasq may not by default either, I am still testing that. A recursive bind server will.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

@clinta thanks. as per https://github.com/miekg/dns/issues/216#issuecomment-109296342 the fix is https://github.com/miekg/dns/commit/44df3654ff46313f076ed463023f513064d4f0f5. We have to test it out and provide feedback before we can vendor-in the fix.

If you do a dig +bufsize=4096 rs.dns-oarc.net txt and get back a message that's less than 512 bytes, then you can be sure your upstream resolver is ignoring your edns options and sending back truncated responses.
You can do a $ dig +trace +bufsize=4096 rs.dns-oarc.net txt to see what the size of the pacekt should be, 4090 bytes.

yes. I could see the truncated responses when using the <IP_ADDRESS> as the DNS server and with +trace, I can see the size as 4090 bytes.
Do you think having the compression properly done is the best solution for this problem ? What if the compressed data is > 512 bytes ? Should the client be robust enough to handle such responses ? (switch to TCP, etc.) ?

Since RFC 1035 states "all programs are required to understand arriving messages that
contain pointers." it should be safe to enable compression all the time. However I think the best option would be for Docker to always return the response as it is received from the upstream resolver, compressed if the data from upstream is compressed, not compressed if it's not.
Responses larger than 512 bytes are only allowed if edns is supported. So long as Docker's resolver passes the edns flag as it was received from the container, everything should work fine in terms of responses that are larger than 512 bytes compressed.
If the application does not support edns, like Go's net dns library, it will not set the edns flag in it's request. So long as Docker's resolver passes that request and does not modify the flag, the upstream resolver will know that it can not send back more than 512 bytes. Whether it sends the response compressed or not is up to the resolver, but it cannot exceed 512 bytes on the wire.
If the full response, even compressed, is larger than 512 bytes, the upstream server will know that it must truncate the response to 512 byes on the wire because there was no edns flag in the request indicating a larger supported size. Docker's should pass on this response as received, especially making sure to preserve the TC flag which indicates to the requesting application that the DNS response was truncated. The application may choose to retry the query over TCP, or it may use the truncated response. But this logic is all up to the application. Docker's DNS resolver should not make any assumptions on behalf of the client application. If Docker's DNS resolver receives a retry via TCP from the app, it should pass it on to the upstream resolver via TCP.
If the application does support edns and indicates that it can support a larger response (for example dig +bufsize=4096, then if Docker's should pass that flag as it is received, the upstream resolver will know that it can send a response up to that size, to compress the response or not is up to the resolver, so long as the final message is under the required size when it hits the wire. And so long as Docker passes back the response as it is received it will be within the maximum size supported by the requesting application.

@mavenugo you are welcome to copy the Weave DNS code. It is short, deals with all the problems identified by @clinta (truncation, compression, edns), and has been in production use for months.

@rade thanks for the pointer. @sanimej is working on to fix this in https://github.com/docker/libnetwork/blob/master/resolver.go#L230. If you wish to contribute, pls do.
Since most of the DNS implementation uses miekg/dns, it would have been better to contribute such fixes upstream so that everyone benefits. Since it is already resolved in "compression" branch, we can work upstream to get that in. Also consul took a different approach of compressing all the dns messages : https://github.com/hashicorp/consul/commit/08b7313d81c30f1f8ad481c2663941f93cd20479


Feature/SK-1081 | inferGlobalModel and predict

Added two functions

predict - user-defined function that takes the model path and output path as parameters. The user implements the logic of loading the model from file, performing inference and saving the output to a json file (using saveMetricsToFile).
inferGlobalModel - downloads model, saves it to file, runs predict from above, loads calculated metrics from file, sends output to server (currently using sendModelValidation, which will be called something else later), deletes model and inference output from disk.

sendModelValidation now also takes the boolean parameter isInference which should determine a field in the gRPC message. This function's name should also be changed since it is used for both validation and inference outputs.

Added sendModelInference, similar to sendModelValidation but sends a ModelInference message to the combiner.

Fixed conflicts with 'main'
Added unimplemented setter methods for controllerConfig
Replace downloadModel + saveModelToFile with new downloadModelToFile in validateGlobalModel and predictGlobalModel


cannot use comment with field in one line

Describe the bug
As for now, thriftgo only support head comment for field struct service, but we want to use trailing comment for field. because the heading comment for field will make the line of file grow 2x.
To Reproduce
namespace go platform
struct PingReq {
    1: string message // filed comment1
}

struct PongResp {
    // field comment2
    1: string message
}

service Platform {
    PongResp Ping(PingReq req)(api.get='/ping')
}

use hertz to genCode
hz new -idl=idl.thrift

Expected behavior
PingRep.Message should have a trailing comment.
Screenshots
If applicable, add screenshots to help explain your problem.
Kitex version:
Please provide the version of Kitex you are using.
Environment:
The output of go env.
Additional context
Add any other context about the problem here.

ok，we will support this later.


[WIP] User interface

Check user input and change to have only torch functions with batch dimension.
WIP. More details see issues #89 and #99
To Do:

[x] more tests
[x] docstrings
[ ] Readme
[ ] Examples
[x] rebase

Shouldn't this be a PR on PR #103?

I suggest to move the Readme and documentation files for users to a separate PR. Do you agree?

I suggest to move the Readme, the detailed documentation files for users, and the examples to a separate PR. Do you agree?

I agree, and that is the time to make the graphical diagram about the input I was talking about.


Custom mapping types confuse Doctrine identifying schema changes

As told in the title, I've created two custom mapping types.
Now, each time I run the schema validation, Doctrine thinks the field that use those custom types have to be updated.
I've described the problem in full details on StackOverflow.
I don't know if this is a fault of mine or a Doctrine's one, so I'm writing this issue.
Thank you.

This solved the problem.
Simply by adding this function:
    /**
     * {@inheritdoc}
     */
    public function requiresSQLCommentHint(AbstractPlatform $platform)
    {
        return !parent::requiresSQLCommentHint($platform);
    }

Sufficient:
    /**
     * {@inheritdoc}
     */
    public function requiresSQLCommentHint(AbstractPlatform $platform)
    {
        return true;
    }

@Ocramius , yes, sufficient... But the editor told me I were not calling the parent method and I don't like alerts. The result is the same.

That's a false positive - don't blindly trust the editor.
On 8 Oct 2016 1:16 p.m., "Adamo Crespi"<EMAIL_ADDRESS>wrote:

@Ocramius https://github.com/Ocramius , yes, sufficient... But the
editor told me I were not calling the parent method and I don't like
alerts. The result is the same.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/doctrine/doctrine2/issues/6077#issuecomment-252419087,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJakCb8L63Qfj2OrnS0jFD2TbynuAkoks5qx3uOgaJpZM4KRN8z
.

Eh eh, yes, I know, but anyway it alerts me and have, as told, I don't like alerts. So, if I can"solve" them, I do, so I know what really has to have attention reserved...


Helpful Validation

Attempting to provide more helpful debugging/error messages when ISOFIT is missing extra dependencies.
The validate functions have added two parameters: debug and error. These are callables for where to route messages to. By default they route to print which is used by the isofit build command as there's no logging. However, these change to logging.debug and logging.error when called from the new path function, which is used during an isofit pipeline execution (ie. apply_oe or Isofit().run())
This ensures these messages get written to a log file if one exists as well as reduces the verbosity if the logging level is above debug, while maintaining verbosity for the isofit build command.
Closes #466

Nice update! Thanks, @jammont.

Example log:
Verifying path for ISOFIT data: /Users/jamesmo/projects/isofit/dev/test/data
Error: Data path does not exist, please download it via `isofit download data`
The following path does not exist, please verify your installation environment: /Users/jamesmo/projects/isofit/dev/test/data/earth_sun_distance.txt


the symbol × can not be translated correctly.

You can test it.

÷has the same problem.

Fixing the issue related to the special characters.

I'm going to mark this issue as duplicate of #14 that is an exact duplicate.


Whisper message is wrong

When printing a whisper chat message from some player to the client (via the message fn), it prints:
You whisper to {player}: {message}
It should be:
{player} whispers to you: {message}
For a minimal code example that displays this, just use the example from the README:
//...

#[derive(Default, Clone, Component)]
pub struct State {}

async fn handle(bot: Client, event: Event, state: State) -> anyhow::Result<()> {
    match event {
        Event::Chat(m) => {
            println!("{}", m.message().to_ansi());
        }
        _ => {}
    }

    Ok(())
}

Looked into it a bit more and it seems the language string for en_us is correct:
azalea-language/src/en_us.json L2594:
  "commands.message.display.incoming": "%s whispers to you: %s",
  "commands.message.display.outgoing": "You whisper to %s: %s",

The message fn itself is also correctly calls chat_translation_key which maps the chat types correctly:
azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs#L129
//...
ChatType::MsgCommandIncoming => "commands.message.display.incoming"
ChatType::MsgCommandOutgoing => "commands.message.display.outgoing",
//...

The only thing I can think of is either:

The Id numbers for the different chat numbers is wrong:

See azalea-protocol/src/packets/game/clientbound_player_chat_packet.rs#L56
pub enum ChatType {
    Chat = 0,
    SayCommand = 1,
    MsgCommandIncoming = 2,
    MsgCommandOutgoing = 3,
    TeamMsgCommandIncoming = 4,
    TeamMsgCommandOutgoing = 5,
    EmoteCommand = 6,
}

I couldn't find a source to verify that these numbers are correct.

The vanilla Minecraft 1.21.1 client sends the wrong chat type. That must mean the client interprets the message type incorrectly as well, since it displays "{player} whispers to you: {message}" just fine.

I was updating for 1.21.4 and I noticed that yeah, apparently at some point the ChatType IDs were changed so they're all shifted by 1, and 0 is impossible. I'm probably not going to bother fixing it for the current version, but the fix will be merged when the next Minecraft version is released (which is probably gonna be in a couple weeks).


Export as Block don't works

Hello,
I've, at last, succeeded to install ant make it running (see the comments in previous closed issue...
But now, I'm a little in concern with the result.
I was wanted DXF blocks and it looks that not working as expected:

on this picture, I've selected the "blue highlighted face" and ask to export in 2D.
opened in Autocad I get only 2 circles, and no "Block"...
DO I miss something ?
on the other hand, is ther any option to untick the "create offset" by default ? or at least put 0.00 as default value ?
Many Thanks

Hey wow man thanks for all the feedback.  I actually looked into this and there was a problem with the way I was doing the naming of the blocks and layers.  I just updated it if you want to get the latest.

Hi,
I've downloaded the latest version, and it looks the same.
The dxf opened in Autocad don't show any block information.
The Object looks to be a polyline
@.***D71F01.2001B490]
Cordialement / Best Regards
Jean-Michel LE GOFF | Responsable Recherches Numériques | Louis Vuitton Malletier | 2, Rue du Pont-Neuf, 75001 Paris, France | Phone: +33 155803048 | Mobile : +33 664405492 | Email address:  @.***
De : Patrick Rainsberry @.>
Envoyé : samedi 20 mars 2021 01:35
À : tapnair/Export2D @.>
Cc : Jean-Michel LE GOFF @.>; Author @.>
Objet : Re: [tapnair/Export2D] Export as Block don't works (#3)

WARNING: This is an external email. Shall you have any doubt, report any suspicious e-mail by clicking on the "Report suspicious e-mail" button in Outlook.

Hey wow man thanks for all the feedback. I actually looked into this and there was a problem with the way I was doing the naming of the blocks and layers. I just updated it if you want to get the latest.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/tapnair/Export2D/issues/3*issuecomment-803207631__;Iw!!Lt0KOR8!DtcPuMCa8DhR1Oiwxgb944as_rUF3VQLCx0LI0-QLjQ2bfndBMimHirNvj-ZUZVDlXJE1bFQfOAaaQ$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/AICVIRXAUFSXHIWCMIEURGLTEPUTBANCNFSM4ZPBHPKQ__;!!Lt0KOR8!DtcPuMCa8DhR1Oiwxgb944as_rUF3VQLCx0LI0-QLjQ2bfndBMimHirNvj-ZUZVDlXJE1bGCkabPQg$.


proposed documentation for Reporting

@marciafolio Have you had a chance to look at this PR for reporting documentation? I'd love to see it go live, even if there are changes we need to make afterward.

@marciafolio All planned edits are now complete!


output quality

I tested your model on a new dataset and scaled the images to the size of the RUGD dataset's images. The quality of the output results was very poor.

Can you try to finetune the model on this dataset with its original resolution? The segmentation may not work well if the camera angle and height are different.

Can you try to finetune the model on this dataset with its original resolution? The segmentation may not work well if the camera angle and height are different.

Thanks and I would give it a shot later.


protocol error: incomplete envelope: context canceled

Hi! Codeium was working fine until latest updates. I haven't seen this error reported here yet. Is kinda annoying.
Thank you.
Neovim nightly
Arch linux
Codeium latest
Plenary latest
completion request failed
completion request failed
[codeium] [ERROR 18:48:15] /home/.../.local/share/nvim/lazy/codeium.nvim/lua/codeium/notify.lua:14: completion request failed:  {
[codeium]   code = 0,
[codeium]   out = '{"code":"invalid_argument","message":"protocol error: incomplete envelope: context canceled"}',
[codeium]   response = {
[codeium]     body = '{"code":"invalid_argument","message":"protocol error: incomplete envelope: context canceled"}',
[codeium]     exit = 0,
[codeium]     headers = { "Accept-Encoding: gzip", "Content-Type: application/json", "Vary: Origin", "Date: Thu, 30 Nov 2023 17:48:15 GMT", "Content-Length: 93", "", "" },
[codeium]     status = 400
[codeium]   },
[codeium]   status = 400
[codeium] }
[codeium] [WARN  18:48:16] /home/.../.local/share/nvim/lazy/codeium.nvim/lua/codeium/api.lua:275: failed to cancel in-flight request {
[codeium]   code = 0,
[codeium]   out = '{"code":"unknown","message":"no session state for apiKey <...>, sessionId "}',
[codeium]   response = {
[codeium]     body = '{"code":"unknown","message":"no session state for apiKey <...>, sessionId "}',
[codeium]     exit = 0,
[codeium]     headers = { "Accept-Encoding: gzip", "Content-Type: application/json", "Vary: Origin", "Date: Thu, 30 Nov 2023 17:48:16 GMT", "Content-Length: 107", "", "" },
[codeium]     status = 500
[codeium]   },
[codeium]   status = 500
[codeium] }

Thanks for the report, we are looking into it.

https://github.com/connectrpc/connect-go/issues/645

Thanks, I believe this would help to solve the issue on all languages (it happens to me on lua and javascript) not just go. 👍👍

Same error

Any option to disable/ignore this message? It's really annoying and keeps popping up when you typing.

Happens really frequently for me recently across different languages. Errors also getting throw with bad internet. I had to turn off the extension for now since I don't want to use noice in order to filter the error messages.


Dask type checking

With the most recent updates to numpy, the computed dask objects have a different numpy type. I have made the type checking in the automated tests more generic to allow for a range of numpy types in the computed object. This should be compatible across a wide range of Python and numpy versions while still being a correct test.

This PR still needs review, but is a safe change and is needed to restore test compliance so that others can test their changes. I will re-open the issue and ensure a review occurs before the next release.

Thanks @tennlee, this seems reasonable. Can you explain why these changes are only needed for some of the dask tests, but not all?

Great, thanks for checking through it. I only fixes test cases which were failing. I imagine the only tests that were affected are the ones which are calculating a single number, whereas many of the tests are creating arrays which are then still array types.

Okay that makes sense. I can see that the ones that didn't need changing preserve a dim in the calculation


Ad-Hoc Queries Stalling Out After 5 minutes or so.

What version of fleet are you using (fleet version --full)?
{
version: "2.0.0-rc2",
branch: "master",
revision: "c4f2850e38a611a44189adf80e433bf38046e387",
go_version: "go1.10.2",
build_date: "2018-06-18T19:21:18Z",
build_user: "zwass"
}

What operating system are you using?
Docker running on CentOs 7
What did you do?
I executed a query from the GUI against "All hosts"
What did you expect to see?
I expected to see results coming back from the ~3800 online hosts
What did you see instead?
Results came back from hosts for about the first 5 minutes, and even after leaving the query to run for another 30 minutes no new additional hosts reported back.
Results after 5 minutes:

Results after 30 minutes:

Current number is 3791 online hosts Screenshot of the home page showing that number:

Note the ~350 offline hosts are expected. My org uses a 'kill and fill' method, and the majority of those hosts are in fact legitimately killed.
I executed a similar query through fleetctl command line to see if there's a similar issue through that method. This time it gave me more hosts than I actually have online.
time ./fleetctl query --query 'SELECT name, path, pid FROM processes WHERE on_disk = 0;' --labels='CentOS Linux' | tee results.json
....
⠒  171% responded (187% online) | 7069/4124 targeted hosts (7069/3777 online) {"host":"sjcbrwrsvc208-prod.tlcinternal.com","rows":[]}
⠲  171% responded (187% online) | 7070/4124 targeted hosts (7070/3777 online) {"host":"sjcadm202-prod.tlcinternal.com","rows":[]}
{"host":"","rows":[]}
⠦  171% responded (187% online) | 7071/4124 targeted hosts (7071/3777 online) ^C
real	10m14.030s
user	0m2.642s
sys	0m1.367s

And I re-ran the same query in the GUI after getting more than my total number of hosts back from fleetctl, now it as well shows more than my total online number of hosts.

@zwass at the time, it appeared to be 20 or so. The systems seems to have stabilized now, so no more "incoming hosts" and the ad-hoc queries seem to have stabilized now as well. I can't reproduce the issue anymore.
Perhaps I just hit a strange edge case with these "incoming hosts" throwing off the queries?

When hosts are stuck in that "Incoming Host" state, it means they successfully enrolled, but somehow aren't responding properly to distributed queries. So correlation makes a lot of sense but I don't think there's any implication of causation.
I'm going to close this issue for now, but please comment again if you continue having issues.


Version bumps

@beckermarc @vmikhailenko Hi colleagues, I have also enabled branch protection for the postgres branch with the same settings as for the main branch. I hope that's ok for you.


Restrict JSON-RPC request/notification params to objects and arrays

According to both the JSON-RPC 2.0 specification and the Language Server Protocol specification, the params field in all JSON-RPC requests and notifications must be either:

by-position: params MUST be an Array, containing the values in the Server expected order.
by-name: params MUST be an Object, with member names that match the Server expected parameter names. The absence of expected names MAY result in an error being generated. The names MUST match exactly, including case, to the method's expected parameters.

At the time of writing, tower-lsp's Request type does not reject messages with params fields that are not either object-like or array-like. This was done to accommodate the telemetry/event notification which, until recently, erroneously mandated a params type of object | number | boolean | string. Thankfully, this was corrected in the spec: https://github.com/microsoft/language-server-protocol/issues/1686
We already restrict users from emitting non-object and non-array telemetry/event payloads in client.rs, so there's no additional work necessary on that front.
https://github.com/ebkalderon/tower-lsp/blob/e96d8ca822e63218dab8bae8825a7f8a4537fea0/src/service/client.rs#L203-L211
However, we should still update the Request type and LspServiceBuilder::custom_method() to reject params values that are not serializable/deserializable to and from objects/arrays in order to fully comply.

I've opened https://github.com/gluon-lang/lsp-types/pull/259 to correct this at the lsp-types level.

This issue was previously touched on in PR #379. Most of the code in improve-jsonrpc-deserialization that hasn't yet been integrated into mainline covers a big portion of this work already.


Fixed invalid frameworks path when compiling swift template

Resolves #310

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

  Generated by :no_entry_sign: Danger


Setup docs

Codecov Report

Merging #15 (90a7a36) into main (0c784f4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #15   +/-   ##
=======================================
  Coverage   70.66%   70.66%
=======================================
  Files           4        4
  Lines          75       75
  Branches       22       22
=======================================
  Hits           53       53
  Misses          9        9
  Partials       13       13

Continue to review full report at Codecov.

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


Memory leak using gif?

I am using cachedimage withint listview datatemplate as below and when I profile, I am seeing cycles for
LoadingPlaceholder  using as gif as shown below? Does it mean that when we use gifs we have memory leak?
    <ffimageloading:CachedImage 	Aspect="AspectFit" WidthRequest="48" HeightRequest="48"    BackgroundColor="Transparent" Margin="5"
                                        LoadingPlaceholder = "loading.gif" DownsampleToViewSize="True"
                            CacheType="Disk" CacheDuration="30"  TransparencyEnabled = "false"   InputTransparent="True" ErrorPlaceholder="{Binding errorimageurl}"
                                              Source="{Binding imageurl}"
                            />

@EmilAlipiev Yes, good catch, I made a new implementation for gif delay. Thanks!

@daniel-luberda  thank you for your response. I am wondering something, i didnt check myself in details maybe you can give me quicker answer.
If I am using LoadingPlaceholder within the listview, those loading images are first displayed until actual image is displayed. what happens to those LoadingPlaceholder image after that? are they still hold in the memory or they are disposed immediately after the Source image is displayed?

Yes, loading placeholders are also cached, they're purged if not used (as any other image) when cache limit is reached.

@daniel-luberda Do you think if it can be possible to purge it directly after the actual image is displayed in order to keep the memory usage lower?  btw, please let me know if you make new nuget update with this fix, i will profile again. thank you

Yes, it's possible, just call ImageService.Instance.InvalidateCacheEntryAsync for your placeholder in CachedImage.Success callback.
It's released now.

@daniel-luberda  android library has support.exif dependency. if I may ask what is it for? is it something related?

@daniel-luberda  this update doenst seem to be working for me at all. gifs are runinng all the time, actual image is not displayed until i scroll the in the listview up and down. other problem using fastrenderers:true, i am gettin timeout. using fastrenrers=False i get exception below.
12-16 01:39:02.444 E/mono-rt (10137): [ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object.referenceTable GDEF length=814 1
referenceTable GSUB length=11364 1
referenceTable GPOS length=47302 1

Are you sure you have the same package version in every project?

yes i have all 2.3.1 and all my other packages are also up to date. I have just updated support.exif latest version, I think your nuget update has older version as reference? any problem updating this library?

@daniel-luberda ok I fixed the error by deleting bin and obj folder under the PCL project. I usually delete bin, obj folders of Android project but this time was somehow required PCL as well.
Using fastrenderers:true without   LoadingPlaceholder="loading.gif"  is awesome. images are loaded super fast from disk. Thanks for that. but when I use  LoadingPlaceholder as gif, gif is displayed all the time. Sometimes even, gif is displayed, actual image appears very fast and again gif is displayed. If  I scroll up and down to disappear image and appear on the screen again, gif disappears and actual image is displayed

Hi @EmilAlipiev

android library has support.exif dependency. if I may ask what is it for?

Up to this day, only reading exif orientation from local files was possible. With this we're able to read EXIF from every source, including url - just the same as iOS platform does (unified behaviour).

Using fastrenderers:true without LoadingPlaceholder="loading.gif" is awesome. images are loaded super fast from disk. Thanks for that. but when I use LoadingPlaceholder as gif, gif is displayed all the time. Sometimes even, gif is displayed, actual image appears very fast and again gif is displayed. If I scroll up and down to disappear image and appear on the screen again, gif disappears and actual image is displayed

Thank you ❤ After reviewing some code, I think I know the possible cause for that. Let me see if I could fix it.

Try 2.3.2-pre. Is it better?

@daniel-luberda yes, it works perfect. i tested with connection, slow connection, without connection all cases passed. only i found a small problem with the ErrorPlaceholder. If I have image inside grid without fix height weight using Aspect="AspectFit", Image is fitting fine inside grid but when no connection, ErrorPlaceholder doesnt fit, it appears very small.

Ok i see that you changed the default behavior in this release. using             FFImageLoading.Forms.CachedImage.FixedOnMeasureBehavior = false; fixed the size problem

@daniel-luberda  I found an issue here. If I cache the image with above xaml on disk and i set my phone on plane mode, restart the app, cached image is appearing shortly in the listview but then it starts showing loading.gif  all the time. So this is otherway around, previous one was under wifi connection using cachetype memory.

I found an issue here. If I cache the image with above xaml on disk and i set my phone on plane mode, restart the app, cached image is appearing shortly in the listview but then it starts showing loading.gif all the time. So this is otherway around, previous one was under wifi connection using cachetype memory.

I don't understand. Could you explan what is the issue in details? Thanks.


remove extra closing div in layout

https://github.com/dynamic/SilverStripe-Locator-Module/blob/1.1/templates/Layout/Locator.ss#L16

closed via #75


Drag URL into debugview to tail it

This could be a .lnk file or a text containing a link.

duplicate of #215