CI/CD piplines of reconciler and CLI have to send Slack notifications in case of failures

Description
The CI/CD pipelines used for developing and testing reconciler and CLi should send a Slack message to a Jellyfish-owned channel (e.g. #kyma-reconciliation or a new create channel) whenever they fail.
Following pipelines should report failures actively:
Reconciler:

Reconciler E2E: nightly-main-reconciler-e2e
Reconciler Upgrade: periodic-main-kyma-incubator-reconciler-kyma1-kyma2-upgrade
Reconciler Upgrade CLI:

CLI:

CLI Publish unstable (with latest reconciler lib): nightly-main-reconciler-publish-unstable-cli
CLI Publish stable: ...
kyma-upgrade-gardener-kyma-to-kyma2
kyma-upgrade-gardener-kyma2-to-main
kyma-upgrade-k3d-kyma-to-kyma2
kyma-upgrade-k3d-kyma2-to-main

Reasons
Get notified in case of pipeline interruptions / instability.
Attachments

@suleymanakbas91 : please review the list above and feel free to extend it with other critical jobs

The failure notifications are being sent to the jellyfish-notifications channel.


uploading a stemcell issue.

Hi,
Not sure why I am getting the below exception while uploading the stemcell . I am able to upload the release.
bosh -e bosh-director-test upload-stemcell bosh-stemcell-3586.25-vsphere-esxi-ubuntu-trusty-go_agent.tgz
Error: Relative paths are not allowed in this context. The following must be be switched to use absolute paths: 'dns_recursor_ip'
Thanks

This can happen if your cloud-config is using ((dns_recursor_ip)) to pull variables from CredHub or your config server. In a deployment context, dns_recursor_ip becomes prefixed with a deployment-specific path; but for cloud-config, we ask that you be explicit about the variable path since it is not relative. So, instead, you probably want to refer to your cloud-config variables as ((/dns_recursor_ip)), with the starting /.

The bosh director is already deployed . uploading the stemcell is creating below exception,
Error: Unknown CPI error 'Unknown' with message 'getaddrinfo: Name or service not known (hostname:443)' in 'create_stemcell' CPI method
Task 13 | 18:05:15 | Error: Unknown CPI error 'Unknown' with message 'getaddrinfo: Name or service not known (hostname:443)' in 'create_stemcell' CPI method

It sounds like the error has changed? Can we close this in favor of the other issue you created?

yes

Closing comment above.


CI Improve pre-commit setup and run it on the CI

This:

tune black correctly
use isort to sort import canonically
add a GitHub workflow to run format checks

Potentially we could have a single workflow with two jobs (one for those checks and another for the CI). What do you think?

Potentially we could have a single workflow with two jobs (one for those checks and another for the CI). What do you think?

No strong opinion. I like having 2 different lines in the status summary of the PR on github.

No strong opinion. I like having 2 different lines in the status summary of the PR on github.

Good to know, and so do I, hence the current setup.

/opt/venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py:262: UserWarning: Unknown distribution option: 'extra_require'

Hum...
error: invalid command 'bdist_wheel'

is the wheel package needed as an explicit dependency?

Hum, there is something inconsistent with the setup of the CI on main.

Cool initiative very needed, thank you, LGTM when it's green, would be a plus to have black correctly ignores the signature blocks in the kernels .
The current issue seems to come from the file pyproject.toml .

I've looked a bit more into the pyproject.toml format and I think that your use of [build-system] is misguided, its use is closer to setup_requires than install_requires. If we want to configure the dependency tree of the package in this file the relevant config blocks are dependencies/optional-dependencies.
Also we should not have several sources for the dependencies, it's either setup.py, setup.cfg or pyproject.toml. From the look of it, nowadays the motion is going towards pyproject.toml so let's use that exclusively if we can.

Regarding the current workflow file, why pass --no-build-isolation to pip rather than using the default ? one issue was that if not using build isolation pip expects some dependencies (like wheels, apparently bdist_wheels are a must have nowadays) to be pre-installed. So we can either explicitly install wheel manually or accept build isolation, since we install only a single package it doesn't make much of a difference. (also, maybe adding wheels as a setup_requires would work)

I'll add an additional commit that moves all the setup information to the pyproject,toml

Regarding the current workflow file, why pass --no-build-isolation to pip rather than using the default ?

Habits from local development. This is indeed not needed here.

So I've pushed more things into the pyproject.toml.
Honestly I think it's OK to have configuration spread into setup.py, pyproject.toml and setup.cfg, Some of those configs seems to still have some specs that are not shared with others.
What is not OK would have to be a same config repeated in different places (and worse, with different values).
Python packaging being what it is.

Since this is a pure python project (no compiled dependencies) we could probably put everything in pyproject.toml with the flit packager I think. But this looks already like a net improvement. Let's merge since CI is green.


drawdraging issue fixed

when you drag the line before connected , the end of the line will not follow with your mouse cursor properly

Hey huge thanks for fixing this issue, it was annoying for sure and now it solved!


lib/index.js not available on install

As proposed by the babel-plugin-generator, there is a prepublish npm task that build the lib/index.js main file in this npm package.
As this file is generated it is also listed in the .gitignore file.
Unfortunately, it looks like the published packages doesn't contain this built file once installed. My only guess at the moment is that it is probably related to the fact it is "git ignored".
TODO:

Get why it looks to be not working
Fix it, at worst by getting this generated file out of the .gitignore filter
Post an issue on the generator-babel-plugin repository, and potentially a pull request if a nice solution is found

Looks like I was right to suspect gitignore: https://github.com/npm/npm/issues/4778

Ok the


Make the test suite crash with an error message if port 8081 is busy

To avoid confusion like we had last night!

Related issue: As the number of library files increases they take a longer time to load which can lead the tests to run before the server is up. We can get around this by increasing the threadDelay (in line 20 of TestMain.hs) but it would be better if we can make sure the tests don't start until the server is running.

Yes, starting with some kind of handshake (with a timeout in case the
server really doesn't start) would be good.
/P
Den 8 nov. 2017 10:56 skrev "solrun"<EMAIL_ADDRESS>
Related issue: As the number of library files increases they take a longer
time to load which can lead the tests to run before the server is up. We
can get around this by increasing the threadDelay (in line 20 of
TestMain.hs) but it would be better if we can make sure the tests don't
start until the server is running.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GRACeFUL-project/GRACe/issues/27#issuecomment-342767508,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAodY4gHG8NAPUMFbGDCe89nxFS4blbqks5s0XrfgaJpZM4QI8H6
.


[Docs] README.md file should show information about project, maintainers, build and usage

@vladbailescu is there something missing still from the README that you're looking for?

Closing this issue, as the README includes there requested items.  Feel free to re-open if further updates are required.


Added check for invalid CA group targeting

@Cloud-Architekt I added a few comments - About the exclusion of Windows PowerShell -> Do you think there will be such a big performance impact when we query 50 group using the regular non parallel for each?
Other than that the test worked like a charm (y)

Awesome work Thomas. Thanks!
The .ps1 was in the wrong folder, I moved it to /public and also added an .md file with the messaging.
Also renamed cmdlet to align with others and updated description


YouTube JS player (?) issue

Here is the output from trying to download a YouTube video, using the Linux Mint 17 latest version of youtube-dl.  Can't upgrade to the latest version on your website and will file an issue on that next.
tm@tm-K55A:~$ youtube-dl -f 18 https://www.youtube.com/watch?v=q0xEfdK-D1c --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-f', '18', 'https://www.youtube.com/watch?v=q0xEfdK-D1c', '--verbose']
[debug] Encodings: locale 'UTF-8', fs 'UTF-8', out 'UTF-8', pref: 'UTF-8'
[debug] youtube-dl version 2014.02.17
[debug] Python version 2.7.6 - Linux-3.13.0-24-generic-x86_64-with-LinuxMint-17-qiana
[debug] Proxy map: {}
[youtube] Setting language
[youtube] q0xEfdK-D1c: Downloading webpage
[youtube] q0xEfdK-D1c: Downloading video info webpage
[youtube] q0xEfdK-D1c: Extracting video information
[youtube] q0xEfdK-D1c: Encrypted signatures detected.
[youtube] encrypted signature length 85 (44.40), itag 22, html5 player new-en_US-vflCeB3p5/html5player-new
[youtube] q0xEfdK-D1c: Downloading js player new
WARNING: Automatic signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 957, in _decrypt_signature
video_id, player_url, len(s)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 356, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 424, in _parse_sig_js
u'Initial JS player signature function name')
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 356, in _search_regex
raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
WARNING: Warning: Falling back to static signature algorithm
[youtube] encrypted signature length 85 (44.40), itag 43, html5 player new-en_US-vflCeB3p5/html5player-new
[youtube] q0xEfdK-D1c: Downloading js player new
WARNING: Automatic signature extraction failed: Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 957, in _decrypt_signature
video_id, player_url, len(s)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 356, in _extract_signature_function
res = self._parse_sig_js(code)
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 424, in _parse_sig_js
u'Initial JS player signature function name')
File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/common.py", line 356, in _search_regex
raise RegexNotFoundError(u'Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract Initial JS player signature function name; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.

You are using an outdated version of youtube-dl. Read our FAQ if you have troubles updating.


Datum and redeemer insertion order

Ensure datum and redeemer order is maintained when building a transaction.

FYI this is #86 . I'm not sure about using LinkedHashMap vs a Vec since LinkedHashMap has led to some issues in the past. @rooooooooob can you sign off on this if this is okay?

Yeah, I think the issues with LinkedHashMap were:

issues preserving encodings
requires manual conversion to canonical form
requires manual to/from json implementations

It should fix the preserving encodings though, not cause it. That's why we've been using it in places. BTreeMap didn't since it just orders lexicographically. (which may or may not be canonical order everywhere, since canonical order is canonical order of the serialized bytes but should be fine for most simple keys).
If this covers the root reason why the fork changed it I'm fine with this change, although the minor nit would be those clones are unnecessary afaik. A full replacement to LinkedHashMap to maintain order in PlutusMap should happen anyway after the regeneration. I thought we had already changed it, but it looks like I just stored the original bytes of the entire datum instead to cover all encoding issues in Emurgo/cardano-serialization-lib#317

Cool I'll change the clones


Global filter caching in same query

I have following line in my db context constructer
this.Filter<IMustHaveTenant>(q => q.Where(a => a.TenantId == tenantId));
in first query tenantId =1
in second query tenantId=2
But when I look at the sql profiler I saw it always send tenantId=1 to sql server.
So I changed to my constructer like following line to handle this for now.
QueryFilterManager.ClearQueryCache(this);
this.Filter<IMustHaveTenant>(q => q.Where(a => a.TenantId == tenantId));
I use Z.EntityFramework.Plus.EF6 v.1.8.21
is there any advice about this?

Hello @kemalbirinci ,
Unfortunately, this is a limitation of our library (https://entityframework-plus.net/query-filter#limitations in the section "Context Filter").
There is 3 alternatives you can use:

Query DbSetFilter: Doesn't have this limitation but cannot filter included entities or lazy loading.
Entity Framework - Dynamic Filters
Entity Framework Classic: This library is an EF6 fork (so it replace EF6) with performance improvement and new features. The Query Filter in this library doesn't have the issue.

Let me know if that answer correctly to your question.
Best Regards,
Jonathan

Hello @JonathanMagnan

"Entity Framework Classic" is not correct for me. I use third party package that has dependency on the EntityFramework (Microsoft.AspNet.Identity.EntityFramework)

I tried "Entity Framework - Dynamic Filters". It is working very well.  Page load decrased %50. There is no same issue as you said.

Thank you very much


vk::StructureType issue on NVIDIA driver version 545.84

Updating to NVIDIA driver version 545.84 leads to the following error and subsequent crash:
VUID-VkWriteDescriptorSet-pNext-pNext(ERROR / SPEC): msgNum:<PHONE_NUMBER> - Validation Error: [ VUID-VkWriteDescriptorSet-pNext-pNext ] | MessageID = 0x44688fe4 | vkUpdateDescriptorSets: pDescriptorWrites[4].pNext chain includes a structure with unknown VkStructureType (758); Allowed structures are [VkWriteDescriptorSetAccelerationStructureKHR, VkWriteDescriptorSetAccelerationStructureNV, VkWriteDescriptorSetInlineUniformBlock].
However vk::StructureType does not include the required [VkWriteDescriptorSetAccelerationStructureKHR, VkWriteDescriptorSetAccelerationStructureNV, VkWriteDescriptorSetInlineUniformBlock] types.

@rfurlan are you perhaps pushing an object to a pNext chain (using .push_next() or setting .p_next directly) that is subsequently going out of scope, and calling .build() on the VkWriteDescriptorSet to loose lifetime/borrow information? 758 isn't a valid value: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkStructureType.html
We will fix that in the next breaking release, making it much harder to loose lifetime information (and in turn have dangling pointers) by removing .build(). Perhaps you can investigate and/or share the code snippet that is calling into this?

Irrespective of that the structures mentioned in the list are all available in the latest release. Note that the sType constants describing these structures use UPPER_SNAKE_CASE: https://docs.rs/ash/latest/ash/vk/struct.StructureType.html.
https://docs.rs/ash/latest/ash/vk/struct.WriteDescriptorSetAccelerationStructureKHR.html
https://docs.rs/ash/latest/ash/vk/struct.WriteDescriptorSetAccelerationStructureNV.html
https://docs.rs/ash/latest/ash/vk/struct.WriteDescriptorSetInlineUniformBlock.html
(If you look at impl TaggedStructure here it denotes the relevant vk::StructureType value)

@MarijnS95 you are absolutely correct, that is what is happening. I got away with it on a previous rustc nightly, now it is time to address it


Flutter web http requests getting blocked by Ad block programs

I'm currently experiencing what I consider a severe flutter web bug, http requests are getting blocked by some Ad Block programs.
I bet that many reports of "XmlHttpRequest Error" are not caused by cors and yes by Ad blocks.
I'm only experiencing this problem in the release version.
I built a sample project to test the errors:
import 'package:flutter/material.dart';

import 'package:http/http.dart' as http;

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        home: Scaffold(body: HomePage()));
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  TextEditingController controller = TextEditingController(text: 'https://api.ipify.org');
  String response = 'Response test';
  bool loading = false;
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          if(loading) CircularProgressIndicator(),
          Container(width: 500, child: TextField(controller: controller,)),
          Container(height: 20,),
          RaisedButton(
            child: Text('Test'),
            onPressed: () => request(),
          ),
          Container(height: 20,),
          Text(response),
        ],
      ),
    );
  }

  Future<void> request() async {
    String requestResponse;
    setState(() {
      loading = true;
    });
    try {
      var response = await http.get(controller.text);
      requestResponse = response.body;
    } catch (e, stackTrace) {
      requestResponse = 'Exception: \n' + e.toString() + '\n\nStackTrace: \n' + stackTrace.toString();
    }

    setState(() {
      response = requestResponse;
      loading = false;
    });
  }
}

Flutter doctor -v
[√] Flutter (Channel beta, 1.22.0, on Microsoft Windows [VersiÃ³n 10.0.18363.1082], locale es-ES)
    • Flutter version 1.22.0 at C:\flutter
    • Framework revision d408d302e2 (8 days ago), 2020-09-29 11:49:17 -0700
    • Engine revision 5babba6c4d
    • Dart version 2.10.0

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\F-Laptop\AppData\Local\Android\sdk
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] IntelliJ IDEA Ultimate Edition (version 2019.3)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361

[√] VS Code, 64-bit edition (version 1.42.1)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.8.1

[√] Connected device (4 available)
    • M2003J15SC (mobile) • 1996586a0403 • android-arm64  • Android 10 (API 29)
    • Web Server (web)    • web-server   • web-javascript • Flutter Tools
    • Chrome (web)        • chrome       • web-javascript • Google Chrome 85.0.4183.121
    • Edge (web)          • edge         • web-javascript • Microsoft Edge 85.0.564.68

• No issues found!

Most of the people surfing the internet are currently using AdBlock programs thats why I consider that as a severe bug.
Tested on the following ad blocks:
-uBlock Origin(v1.30.0): XMLHttpRequest error.
-uBlocker(v2.0.8): Works fine.
-AdBlock Plus(v3.9.5): XMLHttpRequest error.
-AdBlock(v4.22.1): Works fine.

Hi @franarolas
This belongs to https://github.com/dart-lang/http/issues, I see you've already filed the issue there https://github.com/dart-lang/http/issues/481
Closing, as this isn't an issue with Flutter itself.
If you disagree, please write in the comments,
providing your flutter doctor -v, your flutter run -v,  your pubspec.yaml
a minimal reproducible code sample that does not use 3rd party plugins,
and I will reopen it.
Thank you


HDDS-3070. NPE when stop recon server while recon server was not real…

What changes were proposed in this pull request?
Add additional empty check when stop recon server.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-3070
How was this patch tested?
Rerun the maven unit test.

Thank You @linyiqun for the contribution and @avijayanhwx for the review.

Thanks @bharatviswa504  and @avijayanhwx !


Support for Echo Glow lights

NOTE: For a feature to be created it has to be doable in the Amazon app because we are basically replicating the app for HA. If you can't find it in the app, we probably can't create it here.
Is your feature request related to a problem? Please describe.
Not currently able to interact with Echo Glow lights via Home Assistant
Describe the solution you'd like
I have an Echo Glow smart light. Currently the only way to interact with it is to create a routine to set it to each state I want, then call the routine via Alexa Media. It would be ideal to be able to interact with it just like a light in Home Assistant. Control would be first priority, and feedback of current state would be second priority.
Describe alternatives you've considered
See above with control via routines.
Additional context
Relevant excerpt from api/phoenix:
            "LambdaBridge_AAA/SonarCloudService": {
              "amazonBridgeIdentifier": {
                "amazonBridgeDSN": "AAA/SonarCloudService",
                "amazonBridgeType": "LambdaBridge",
                "lambdaBridge": true,
                "amazonBridgeSource": "SONAR"
              },
              "applianceDetails": {
                "applianceDetails": {
                  "AAA_SonarCloudService_redacted": {
                    "applianceId": "AAA_SonarCloudService_redacted",
                    "endpointTypeId": "A2OV3VSK41OD7X",
                    "driverIdentity": {
                      "namespace": "AAA",
                      "identifier": "SonarCloudService"
                    },
                    "manufacturerName": "Amazon",
                    "friendlyDescription": "Amazon branded Smart Light",
                    "modelName": "",
                    "deviceType": "",
                    "version": "0",
                    "friendlyName": "First light",
                    "friendlyNameModifiedAt":<PHONE_NUMBER>068,
                    "capabilitiesModifiedAt":<PHONE_NUMBER>068,
                    "ipAddress": "",
                    "port": "",
                    "entityId": "EntityID",
                    "applianceNetworkState": {
                      "reachability": "REACHABLE",
                      "lastSeenAt":<PHONE_NUMBER>128,
                      "createdAt":<PHONE_NUMBER>068,
                      "lastSeenDiscoverySessionId": {
                        "value": "redacted"
                      }
                    },
                    "tags": {
                      "tagNameToValueSetMap": {
                        "groupIdentity": [
                          "amzn1.HomeAutomation.ApplianceGroup.redacted"
                        ]
                      }
                    },
                    "additionalApplianceDetails": {
                      "additionalApplianceDetails": {
                        "deviceType": "A2OV3VSK41OD7X",
                        "configurationVersion": "1",
                        "swVersion": "100000177",
                        "regionIdentifier": "redacted",
                        "deviceSerialNumber": "redacted"
                      }
                    },
                    "firmwareVersion": "0",
                    "actions": [],
                    "capabilities": [
                      {
                        "capabilityType": "AVSInterfaceCapability",
                        "type": "AlexaInterface",
                        "version": "3",
                        "properties": {
                          "supported": [
                            {
                              "name": "powerState"
                            }
                          ],
                          "proactivelyReported": true,
                          "retrievable": true,
                          "readOnly": false
                        },
                        "interfaceName": "Alexa.PowerController"
                      },
                      {
                        "capabilityType": "AVSInterfaceCapability",
                        "type": "AlexaInterface",
                        "version": "3",
                        "properties": {
                          "supported": [
                            {
                              "name": "toggleState"
                            }
                          ],
                          "proactivelyReported": true,
                          "retrievable": true,
                          "readOnly": false
                        },
                        "resources": {
                          "friendlyNames": [
                            {
                              "value": {
                                "text": "Tap",
                                "locale": "en-US"
                              },
                              "@type": "text"
                            },
                            {
                              "value": {
                                "text": "Tap Control",
                                "locale": "en-US"
                              },
                              "@type": "text"
                            },
                            {
                              "value": {
                                "text": "Tapping",
                                "locale": "en-US"
                              },
                              "@type": "text"
                            }
                          ]
                        },
                        "instance": "3",
                        "interfaceName": "Alexa.ToggleController"
                      },
                      {
                        "capabilityType": "AVSInterfaceCapability",
                        "type": "AlexaInterface",
                        "version": "3",
                        "properties": {
                          "supported": [
                            {
                              "name": "color"
                            }
                          ],
                          "proactivelyReported": true,
                          "retrievable": true,
                          "readOnly": false
                        },
                        "interfaceName": "Alexa.ColorController"
                      },
                      {
                        "capabilityType": "AVSInterfaceCapability",
                        "type": "AlexaInterface",
                        "version": "3",
                        "properties": {
                          "supported": [
                            {
                              "name": "brightness"
                            }
                          ],
                          "proactivelyReported": true,
                          "retrievable": true,
                          "readOnly": false
                        },
                        "interfaceName": "Alexa.BrightnessController"
                      },
                      {
                        "capabilityType": "AVSInterfaceCapability",
                        "type": "AlexaInterface",
                        "version": "3",
                        "properties": {
                          "supported": [
                            {
                              "name": "mode"
                            }
                          ],
                          "proactivelyReported": true,
                          "retrievable": true,
                          "readOnly": false
                        },
                        "configuration": {
                          "ordered": false,
                          "supportedModes": [
                            {
                              "value": "4",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Campfire",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "6",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Christmas",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "3",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Color Flow",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  },
                                  {
                                    "value": {
                                      "text": "Rainbow",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "5",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Disco",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "11",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Firetruck",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "7",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Hanukkah",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "8",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Kwanzaa",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "2",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Mood Light",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "10",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Siren",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "1",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Solid Color",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  },
                                  {
                                    "value": {
                                      "text": "Single Color",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  },
                                  {
                                    "value": {
                                      "text": "Normal",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "12",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Underwater",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            },
                            {
                              "value": "9",
                              "modeResources": {
                                "friendlyNames": [
                                  {
                                    "value": {
                                      "text": "Valentine's",
                                      "locale": "en-US"
                                    },
                                    "@type": "text"
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        "resources": {
                          "friendlyNames": [
                            {
                              "value": {
                                "text": "Mode",
                                "locale": "en-US"
                              },
                              "@type": "text"
                            }
                          ]
                        },
                        "instance": "1",
                        "interfaceName": "Alexa.ModeController"
                      },
                      {
                        "capabilityType": "AVSInterfaceCapability",
                        "type": "AlexaInterface",
                        "version": "3",
                        "properties": {
                          "supported": [
                            {
                              "name": "connectivity"
                            }
                          ],
                          "proactivelyReported": true,
                          "retrievable": true,
                          "readOnly": false
                        },
                        "interfaceName": "Alexa.EndpointHealth"
                      }
                    ],
                    "applianceTypes": [
                      "LIGHT"
                    ],
                    "isEnabled": true,
                    "aliases": [
                      {
                        "friendlyName": "Echo Glow",
                        "id": {
                          "uuid": "redacted",
                          "type": "ALIAS"
                        },
                        "enabled": true
                      }
                    ],
                    "connectedVia": "Wi-Fi",
                    "alexaDeviceIdentifierList": [
                      {
                        "dmsDeviceSerialNumber": "redacted",
                        "dmsDeviceTypeId": "A2OV3VSK41OD7X"
                      }
                    ],
                    "ipaddress": "",
                    "applianceLambdaControlled": true,
                    "applianceDriverIdentity": {
                      "namespace": "AAA",
                      "identifier": "SonarCloudService"
                    }
                  }
                }
              }
            }

Some sample sequences from api/behaviors/automations:
    "sequence": {
      "@type": "com.amazon.alexa.behaviors.model.Sequence",
      "sequenceId": "amzn1.alexa.sequence.redacted",
      "startNode": {
        "@type": "com.amazon.alexa.behaviors.model.SerialNode",
        "name": null,
        "nodesToExecute": [
          {
            "@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode",
            "type": "Alexa.SmartHome.Batch",
            "skillId": "amzn1.ask.1p.smarthome",
            "operationPayload": {
              "target": "EntityID",
              "customerId": "redacted",
              "operations": [
                {
                  "type": "turnOff"
                }
              ]
            },
            "tag": null,
            "name": null
          }
        ]
      }
    }

    "sequence": {
      "@type": "com.amazon.alexa.behaviors.model.Sequence",
      "sequenceId": "amzn1.alexa.sequence.redacted",
      "startNode": {
        "@type": "com.amazon.alexa.behaviors.model.SerialNode",
        "name": null,
        "nodesToExecute": [
          {
            "@type": "com.amazon.alexa.behaviors.model.ParallelNode",
            "name": null,
            "nodesToExecute": [
              {
                "@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode",
                "type": "Alexa.SmartHome.Batch",
                "skillId": "amzn1.ask.1p.smarthome",
                "operationPayload": {
                  "target": "EntityID",
                  "customerId": "redacted",
                  "operations": [
                    {
                      "type": "turnOn"
                    },
                    {
                      "brightness": 20,
                      "type": "setBrightness"
                    },
                    {
                      "instance": "1",
                      "mode": "1",
                      "type": "setModeValue"
                    },
                    {
                      "colorName": "salmon",
                      "type": "setColor"
                    }
                  ]
                },
                "tag": null,
                "name": null
              }
            ]
          }
        ]
      }
    },

    "sequence": {
      "@type": "com.amazon.alexa.behaviors.model.Sequence",
      "sequenceId": "amzn1.alexa.sequence.redacted",
      "startNode": {
        "@type": "com.amazon.alexa.behaviors.model.SerialNode",
        "name": null,
        "nodesToExecute": [
          {
            "@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode",
            "type": "Alexa.SmartHome.Batch",
            "skillId": "amzn1.ask.1p.smarthome",
            "operationPayload": {
              "target": "EntityID",
              "customerId": "redacted",
              "operations": [
                {
                  "type": "turnOn"
                },
                {
                  "brightness": 97,
                  "type": "setBrightness"
                },
                {
                  "instance": "1",
                  "mode": "1",
                  "type": "setModeValue"
                },
                {
                  "colorName": "green",
                  "type": "setColor"
                }
              ]
            },
            "tag": null,
            "name": null
          }
        ]
      }
    },

I turned on debugging and did not see any websocket messages when changes settings on the light from the Alexa app on my phone.

I know there hasn't been anything on this, and it isn't a high priority, but could it possibly be reopened as a future enhancement? It would be great to see someday.

I know there hasn't been anything on this, and it isn't a high priority, but could it possibly be reopened as a future enhancement? It would be great to see someday.

2nded

Good news! It actually has been implemented. It doesn't update state right away, but my echo glow is completely controllable from HA.

Good news! It actually has been implemented. It doesn't update state right away, but my echo glow is completely controllable from HA.

Oh awesome, does it also support control of rgb?

Yup!
-------- Original message --------
From: bobloadmire @.>
Date: 4/5/22 17:18 (GMT-05:00)
To: custom-components/alexa_media_player @.>
Cc: Brent Gerig @.>, Author @.>
Subject: Re: [custom-components/alexa_media_player] Support for Echo Glow lights (#680)
EXTERNAL MESSAGE: Use caution with replies, links, and attachments.
Good news! It actually has been implemented. It doesn't update state right away, but my echo glow is completely controllable from HA.
Oh awesome, does it also support control of rgb?
—
Reply to this email directly, view it on GitHubhttps://github.com/custom-components/alexa_media_player/issues/680#issuecomment-1089362842, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACAAAXPIAGVHE7ZBL4UY37TVDSUYVANCNFSM4MYE6UFA.
You are receiving this because you authored the thread.Message ID: @.***>
The information in this communication is intended solely for the individual or entity to whom it is addressed. It may contain confidential or legally privileged information. If you are not the intended recipient, any disclosure, copying, distribution or reliance on the contents of this information is strictly prohibited, and may be unlawful. If you have received this communication in error, please notify us immediately by responding to the sender of this email, and then delete it from your system. Taylor University is not liable for the inaccurate or improper transmission of the information contained in this communication or for any delay in its receipt.

awesome, sorry I just assumed since this issue was marked stale it wasn't implemented.

Yup!
…

I believe you need to check the box "Include devices connected via Echo" in the integration settings.

I believe you need to check the box "Include devices connected via Echo" in the integration settings.

This did it for me - thanks! I can toggle on/off now. I am unable to control RBG, but I believe that is expected.

Any way for this integration to set the mode? For example, if I want to set the mode to Color Flow.
I've tried mode and setModeValue, but neither seem to be recognized.


Headers not linked from glibc-dev during buildFHSUserEnv

Issue description
Headers aren't linked from e.g. /nix/store/sr4253np2gz2bpha4gn8gqlmiw604155-glibc-2.27-dev/include, so string.h and other common headers are missing from /usr/include
Steps to reproduce
Open a nix-shell with buildFHSUserEnv and glibc in targetPkgs, notice that string.h is missing from /usr/include
Technical details

system: "x86_64-linux"
host os: Linux 4.19.33, NixOS, 19.09pre175916.1fc591f9a5b (Loris)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.2
channels(root): "nixos-19.09pre175916.1fc591f9a5b"
channels(dusty): ""
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

I think this is intentional. Most Linux distros do not come with headers included by default. Perhaps we need something like "buildFHSDevEnv" or similar to handle this use case.

Maybe we should add extraOutputsToInstall like buildEnv has?

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/developing-clang-tools-within-nix-shell-how-to-wrap-the-program-within-a-nix-shell/18365/1


Create manage-products.py

A separate GUI to manage the product info. This is the counterpart of ControlDeAgua/ControlDeAgua#13.

This is now an urgent thing, since the documentation (https://controldeagua.github.io/ControlDeAgua-docs/) now refers to this application.


Adapt styling to fix broken truncation

The truncation wasn't working which lead to a broken layout on mobile devices.
I adapted the styling to fix the broken truncation and also introduced some minor improvements for the mobile view without changing your initial styling too much:

Using gaps instead of the space-y utility class: Adds a gap between the avatar and the name/handle & removes the one-sided margin on the left
Uniform padding on the sides
Actually centering avatar and follow button

Mobile view example:

Before
After

Another mobile view example:

Before
After

Desktop view is visually unchanged:

Before
After

(Currently also includes formatting changes - see https://github.com/gabipurcaru/followgraph/pull/11)

Hey @stffffn, thanks for the PR. Yes, I see the problem here. I'm not entirely sure that truncating the text is the way to go though, since the information in there should be visible. A better solution would be to split the ${handle} | ${num} followers in two lines on narrow width screens.
Can you change the PR to do that? Thanks!

Hey @stffffn, thanks for the PR. Yes, I see the problem here. I'm not entirely sure that truncating the text is the way to go though, since the information in there should be visible. A better solution would be to split the ${handle} | ${num} followers in two lines on narrow width screens.
Can you change the PR to do that? Thanks!

Sure, will do 👍
I actually thought the same but didn't want to introduce such changes unsolicited and just wanted to make the originally implemented behavior work.

I have kept the truncate utility class just for the handle to deal with very long edge cases, since I don't think that using word breaks would be a good solution.
New:

Fictional edge case:

Visually still unchanged by the changes:


Update existing wallets to the new wallet interface

@cpacia , @mg
The existing wallets in the multiwallet are brought upto speed with the new wallet interface.

Something to keep in mind Ashwin is that address.ScriptAddress() is not the same as scriptPubKey, err := txscript.PayToAddrScript(out.Address)
There are a couple places where it needs the full script not just the hash160 inside the script.

re-opening as wallet-interface branch


Fix issue with components that accept an 'as' prop

Description
Fixes #756 by using TTag instead of ElementType for the as prop. Adds tests to help with that as well.
Additional context

Before submitting the PR, please make sure you do the following:

[x] Run yarn changeset add to update the changelog, if needed
[x] Read the Contributing Guidelines
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[ ] Update docs in this repository for your change, if needed

Shopify.dev side commit for reference! https://github.com/Shopify/shopify-dev/pull/16870/commits/8825eac9bbfc6c9ecab0a1072464221425bef80d


open xls file fail

Traceback (most recent call last):
File "/home/.../.local/bin/texel", line 8, in
sys.exit(main())
File "/home/.../.local/lib/python3.6/site-packages/texel/texel.py", line 66, in main
curses.wrapper(run, sheets, args)
File "/usr/lib64/python3.6/curses/init.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
File "/home/.../.local/lib/python3.6/site-packages/texel/texel.py", line 15, in run
Styles(args.cellwidth, args.precision),
File "/home/.../.local/lib/python3.6/site-packages/texel/styles.py", line 20, in init
self.init_colors()
File "/home/.../.local/lib/python3.6/site-packages/texel/styles.py", line 37, in init_colors
curses.init_pair(6, C.LIGHT_MAGENTA, C.BLACK)
_curses.error: init_pair() returned ERR

What is your TERM?
Setting export TERM=xterm-256color might help.

good! thks


Provide an option to handle readEntity (or else) in RetryHelper

javax.ws.rs.core.Response#readEntity can fail by timeout, and developers need to retry by themselves.

From https://github.com/dmikurube/embulk-base-restclient/pull/7#pullrequestreview-17583520.

Trying this with #21.

#21 is merged. Done.


Update home page Docs link

Right now on https://api.spacexdata.com/ the docs links to https://github.com/r-spacex/SpaceX-API/blob/master/docs/home.md, however it should be README.md, or just the docs directory.

Corrected. Thanks 👍


Fog of war not resets frequently.

Foundry 0.8.7, Chrome Browser.
Here's a video showing first with Perfect Vision enabled, and then without.
https://user-images.githubusercontent.com/487715/122106860-4ab17400-cdcf-11eb-8a5e-401b2f4a95ff.mp4
Here are the scene settings:

And the Perfect Vision settings:

Thanks for the report. Fixed in v1.9.6.


[fix] Fix deadlock when closing the partitioned producer

Fixes #186
Motivation
This PR fixes the deadlock issue mentioned in https://github.com/apache/pulsar-client-cpp/issues/186
The case is that when we create a Partitioned Producer with 2 partitions.
And then we expand the topic to 3 partitions. The PP(Partitioned Producer) will create a new internal producer(Let's called it P3)
But if we close the PP before P3 starts completed. The P3.closeAsync will be called. And it will failed the creation for itself here: https://github.com/apache/pulsar-client-cpp/blob/63c424555cdb1209c82e2f844d7414c1fc399ef8/lib/ProducerImpl.cc#L938
The PP then knows the P3 has failed to create and then close PP.closeAsync again:
https://github.com/apache/pulsar-client-cpp/blob/63c424555cdb1209c82e2f844d7414c1fc399ef8/lib/PartitionedProducerImpl.cc#L164
The internal producers will be closed again can cause the deadlock here:
https://github.com/apache/pulsar-client-cpp/blob/63c424555cdb1209c82e2f844d7414c1fc399ef8/lib/ProducerImpl.cc#L718
Here is the sequence diagram for the issue:

And here is the stack trace in https://github.com/apache/pulsar-client-cpp/issues/186
    frame #6: 0x000000010c5d7672 pulsar-tests`pulsar::ProducerImpl::closeAsync(this=0x00007fb19e012c20, originalCallback=<unavailable>)>) at ProducerImpl.cc:725:10
    frame #7: 0x000000010c5768a1 pulsar-tests`pulsar::PartitionedProducerImpl::closeAsync(this=0x00007fb19ef04098, originalCallback=<unavailable>)>) at PartitionedProducerImpl.cc:287:23
    frame #8: 0x000000010c57518f pulsar-tests`pulsar::PartitionedProducerImpl::handleSinglePartitionProducerCreated(this=0x00007fb19ef04098, result=ResultAlreadyClosed, producerWeakPtr=<unavailable>, partitionIndex=2) at PartitionedProducerImpl.cc:166:13
    frame #9: 0x000000010c582c9c pulsar-tests`decltype(__f=0x0000600002699868, __a0=std::__1::shared_ptr<pulsar::PartitionedProducerImpl>::element_type @ 0x00007fb19ef04098 strong=8 weak=4, __args=0x00007ff7b4127fa4, __args=nullptr, __args=0x0000600002699888).*fp(static_cast<pulsar::Result>(fp1), static_cast<std::__1::weak_ptr<pulsar::ProducerImplBase> const&>(fp1), static_cast<unsigned int&>(fp1))) std::__1::__invoke<void (pulsar::PartitionedProducerImpl::*&)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>&, pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&, unsigned int&, void>(void (pulsar::PartitionedProducerImpl::*&)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>&, pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&, unsigned int&) at type_traits:3859:1
    frame #10: 0x000000010c582bb4 pulsar-tests`std::__1::__bind_return<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::tuple<std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, unsigned int>, std::__1::tuple<pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>, __is_valid_bind_return<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::tuple<std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, unsigned int>, std::__1::tuple<pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>>::value>::type std::__1::__apply_functor<void (__f=0x0000600002699868, __bound_args=size=4, (null)=__tuple_indices<0, 1, 2, 3> @ 0x00007ff7b4127dd8, __args=size=2)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::tuple<std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, unsigned int>, 0ul, 1ul, 2ul, 3ul, std::__1::tuple<pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>>(void (pulsar::PartitionedProducerImpl::*&)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::tuple<std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, unsigned int>&, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul>, std::__1::tuple<pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>&&) at bind.h:257:12
    frame #11: 0x000000010c582b0b pulsar-tests`std::__1::__bind_return<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::tuple<std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, unsigned int>, std::__1::tuple<pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>, __is_valid_bind_return<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::tuple<std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1>, std::__1::placeholders::__ph<2>, unsigned int>, std::__1::tuple<pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>>::value>::type std::__1::__bind<void (this=0x0000600002699868, __args=0x00007ff7b4127fa4, __args=nullptr)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>::operator()<pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>(pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&) at bind.h:292:20
    frame #12: 0x000000010c582a95 pulsar-tests`decltype(__f=0x0000600002699868, __args=0x00007ff7b4127fa4, __args=nullptr)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>&>(fp)(static_cast<pulsar::Result>(fp0), static_cast<std::__1::weak_ptr<pulsar::ProducerImplBase> const&>(fp0))) std::__1::__invoke<std::__1::__bind<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>&, pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>(std::__1::__bind<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>&, pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&) at type_traits:3918:1
    frame #13: 0x000000010c582a47 pulsar-tests`void std::__1::__invoke_void_return_wrapper<void, true>::__call<std::__1::__bind<void (__args=0x0000600002699868, __args=0x00007ff7b4127fa4, __args=nullptr)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>&, pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&>(std::__1::__bind<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>&, pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&) at invoke.h:61:9
    frame #14: 0x000000010c5829f7 pulsar-tests`std::__1::__function::__alloc_func<std::__1::__bind<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>, std::__1::allocator<std::__1::__bind<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>>, void (pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&)>::operator(this=0x0000600002699868, __arg=0x00007ff7b4127fa4, __arg=nullptr)(pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&) at function.h:178:16
    frame #15: 0x000000010c5815d6 pulsar-tests`std::__1::__function::__func<std::__1::__bind<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>, std::__1::allocator<std::__1::__bind<void (pulsar::PartitionedProducerImpl::*)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int), std::__1::shared_ptr<pulsar::PartitionedProducerImpl>, std::__1::placeholders::__ph<1> const&, std::__1::placeholders::__ph<2> const&, unsigned int&>>, void (pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&)>::operator(this=0x0000600002699860, __arg=0x00007ff7b4127fa4, __arg=nullptr)(pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&) at function.h:352:12
    frame #16: 0x000000010c5edf2f pulsar-tests`std::__1::__function::__value_func<void (pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&)>::operator(this=0x0000600003d999d0, __args=0x00007ff7b4127fa4, __args=nullptr)(pulsar::Result&&, std::__1::weak_ptr<pulsar::ProducerImplBase> const&) const at function.h:505:16
    frame #17: 0x000000010c5edbf1 pulsar-tests`std::__1::function<void (pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&)>::operator(this= Function = pulsar::PartitionedProducerImpl::handleSinglePartitionProducerCreated(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>, unsigned int) , __arg=ResultAlreadyClosed, __arg=nullptr)(pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase> const&) const at function.h:1182:12
    frame #18: 0x000000010c5d26b0 pulsar-tests`pulsar::Promise<pulsar::Result, std::__1::weak_ptr<pulsar::ProducerImplBase>>::setFailed(this=0x00007fb19e013988, result=ResultAlreadyClosed) const at Future.h:156:13
    frame #19: 0x000000010c5daece pulsar-tests`pulsar::ProducerImpl::shutdown(this=0x00007fb19e012c20) at ProducerImpl.cc:945:29
    frame #20: 0x000000010c5d7ed3 pulsar-tests`pulsar::ProducerImpl::closeAsync(this=0x00007ff7b4128670, result=ResultOk)>)::$_6::operator()(pulsar::Result) const at ProducerImpl.cc:716:13

We should not call PartitionedProudcer.closeAsync in handleSinglePartitionProducerCreated when the partitioned producer is already in the closing state.
Modifications

Skip handling single partition created when the partitioned producer is already in the closing state.

Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

This fix LGTM. But I still think the lock for ProducerImpl::handleCreateProducer introduced in https://github.com/apache/pulsar-client-cpp/pull/131 is dangerous. We should avoid acquiring the mutex in any callback, which could be called in the caller's thread and might lead to a deadlock.

Oh, this deadlock is not related to the lock in handleCreateProducer, I just found handleCreateProducer is also stuck from the thread stacks.

Although this modification avoids deadlocks, I would like to discuss some implementation details.

When P3 started failed, why need close all producers? Wouldn't it be better for other functioning producers to send messages? (Suppose P3 is temporarily unavailable due to load balancing)

Other question: When partitions are changed, we can't guarantee that the same key is sent to the same parition-topic, right? (RoundRobinMode)

topicMetadata.getNumPartitions() has changed, The result is different.
https://github.com/apache/pulsar-client-cpp/blob/872f8abaade7ecd346d3f59e2f6b3901c65ef7de/lib/RoundRobinMessageRouter.cc#L53-L57

Wouldn't it be better for other functioning producers to send messages?

I agree with you. The bahavior of the Java client is to remove the producers for all new added partitions. I think we can fix it in another PR.

Other question: When partitions are changed, we can't guarantee that the same key is sent to the same parition-topic, right? (RoundRobinMode)

Yes. It's an expected behavior of the partitions change. Messages with the same key are sent to the same partition only if the partitions does not change.

We should avoid acquiring the mutex in any callback, which could be called in the caller's thread and might lead to a deadlock.

Agree. Actually, the first solution I think for this issue is to release the lock in the callback. But it will raise another problem because it's not the root cause. So I changed the solution. But I still think that avoid locking the lock in the use callback is a better practice.

When P3 started failed, why need close all producers? Wouldn't it be better for other functioning producers to send messages? (Suppose P3 is temporarily unavailable due to load balancing)

Yes. We can fix it later. I think we should not let the newly added producer affect the existing Partitioned Producer. In other way, the auto update partitions operation should not affect the existing producer. The java client skips this error.

Other question: When partitions are changed, we can't guarantee that the same key is sent to the same parition-topic, right? (RoundRobinMode)

This is an expected behavior. I think the RoundRobinMode is mostly used as load-balancing under the topic scope. If users want to ensure the order and this requirement, they should use Key-shared subscription.

Actually, the first solution I think for this issue is to release the lock in the callback.

@RobertIndie I just wrote another solution based on this idea in my local env. But this PR is more simple and solves the deadlock directly so I prefer this PR. We can do more enhancements in future.


[vio-pipeline] Add vision velocity estimation fusion to EKF2

Purpose: Get full use of the odometry pipeline by adding linear and angular velocity fusion to EKF2.
Concerns: @priseborough maybe you want to add some details on how can this be achieved?

@mhkabir FYI.

Hi, having this issue open means that currently the odometry message does not fuse the velocity?
Also, is it possible/planned to support velocity-only vision estimate input so that velocity-only offboard control is performed?

Now that 1.9.0 is close to being released I would like to re-ask my previous question, in case situation is different. I'm trying the RC and it would seem that the velocity component from the odometry from VIO is not used. Is this supported in any other way?

Now that 1.9.0 is close to being released I would like to re-ask my previous question, in case situation is different. I'm trying the RC and it would seem that the velocity component from the odometry from VIO is not used. Is this supported in any other way?

Still open for development. If you feel you can give a contribution, I will be happy to review and bring others to take a look as well.

so that velocity-only offboard control is performed?

Note: this has nothing to do with the fact that EKF2 fuses vision velocity estimates or not. You can use velocity control by closing the loop on the offboard side (knowing the position).

Still relevant

Fixed.


Why should I only use folder icons for folders?

Can you explain this statement please?  Surely it is up to the designer what icon they wish to use for a parent node?
"If you do this, you should use a folder icon only for nodes that represent literal folders, such as the folder structure on a disk."

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

ID: d5ba995b-8bf3-407c-7b87-015d22d813f1
Version Independent ID: 52c553b6-e94d-2810-4123-8ee215b002bf
Content: Tree view - UWP app developer
Content Source: windows-apps-src/design/controls-and-patterns/tree-view.md
Product: uwp
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

Hey @kgreed , please feel free to use any suitable icon of choice for the parent node. The statement in the document is a suggestion and not a mandate, which it why it reads as such to use the folder icon only if representing 'literal folders'.App designers and developers are free to use icons that best suit the design of the apps since they know best the scenarios for the app the audience being catered to.
"You can include an icon in the tree view item data template to represent nodes. If you do this, you should use a folder icon only for nodes that represent literal folders, such as the folder structure on a disk".

I get it.  However the docs are usually technical guides not design guides
Thus I read it as
"If item is node then assert node.icon is folder icon"
Where as the meaning as you explain is more like
"If the node is a parent node, consider using a folder icon. This is a common UI convention. "
I hope this is useful feedback.

Thanks much for the feedback @kgreed ! We are working on updating the wording of the statement in question to be a suggestions versus a 'must-do' which is what it may seem to imply in the current form. The update will go live shortly.

Doc has been updated.


Turned off the timer for the educational mode

I've deleted the line that activates the timer

I've deleted the line that activates that timer

great thanks


Revert "Updated the UCP 3.1.4 release notes to include Centos 7.6 support"

Deploy preview for docsdocker ready!
Built with commit fdc80a3e799bf0c7143e52968ab701ac1f71c5f6
https://deploy-preview-8612--docsdocker.netlify.com


DOC-4271

Preview currently available here: https://nadine.preview.docs.r3.com/en/platform/corda/5.0-dev-preview-2/getting-started/fast-feedback-with-the-simulator/fast-feedback-with-the-simulator.html

@AnnaK-R3 I made a couple of changes based on your feedback. The remaining are in the code itself so I'm going to work with @ceebee-dev to get them fixed in the future.

It now looks like this will be included in the Beta Release so this will need to be reworked to be included in that content and NOT DP2.

The Java CSDE will not be available until the Beta release. The content in this PR was included in PR #769.


win32_ia32 did not work

I working on a project under Windows 10, 32bit。
It works good in koffi 2.8.11, but it not work since 2.9.0

2.8.11

2.9.0

Indeed 😅 I've published Koffi 2.9.1 to fix this!


Add support to new fallbackSelection

Take into account https://github.com/PolymerElements/iron-selector/pull/117

is available in master from now and officially released in 1.2.3


Fixes #722, adding language vue.js

Adding Vue.js in support of issue #722

Would adding Vue as an independent grammar like this allow support for the options provided to HTML?  If not I will need to amend this change.

Closing as #1136 is the same but substantially more precise.


ctrl-z should exit immediately

Expected behavior:
On Linux, I think users would expect CTRL-Z to send the SIGKILL signal while using the terminal.
Solution:
This will bypass write and warning messages displayed by CTRL-Q, immediately exiting

On Unix/Linux users expect CTRL-Z to pause  a process, not to kill it…

Yeah you're right, my bad.


cmd/compile: struct field alive too long

Program 1:
package main

import (
	"fmt"
	"runtime"
)

func main() {
	y := make([]int, 1e6)
	runtime.GC()
	var stat runtime.MemStats
	runtime.ReadMemStats(&stat)
	fmt.Println(stat.Alloc)
	fmt.Println(len(y))
}

Program 2:
package main

import (
	"fmt"
	"runtime"
)

func main() {
	type T struct {
		x int
		y *[1e6]int
	}
	t := T{x: 7, y: new([1e6]int)}
	runtime.GC()
	var stat runtime.MemStats
	runtime.ReadMemStats(&stat)
	fmt.Println(stat.Alloc)
	fmt.Println(t.x)
}

In program 1, the allocation at make is garbage collected, so program 1 prints just ~100KB of usage.
In program 2, the allocation at new is not garbage collected, so it prints ~8MB.
The allocation in program 2 should be GCd, it is no longer referenced.
For some reason the compiler is keeping all of t alive even though only one field of it is alive after GC.
Strangely, if I replace fmt.Println with println, then the allocation gets GCd.
I'm not entirely sure what is going on yet, but it looks like t is being treated as addressable.  But it is getting decomposed correctly.  Strange.
First reported here: https://groups.google.com/forum/#!topic/golang-nuts/4qmn5gw7OBQ

fmt.Println takes interface, so t.x is converted to interface, where its address is taken (passed to convT2E64). println doesn't take interface. Maybe this is the reason?

In program2, when t passed to fmt.Println(), it is treated as interface{},  as an interface, it should keep its real value and its type descriptor.

@cherrymui the address of a copy of t.x will be taken. It should has no relation to t itself.
@dong-hao in program 2, it is t.x instead of t is passed to fmt.Println.

@go101 you are right.
Consider that t.x is not a variable independent, when pass it to fmt.Println(), t should pass or keep in one piece.I have try
y := t.x
fmt.Println(y)

And the memory usage is low as program1.

@go101
Even the interface value actually holds the address of a copy of t.x, when making the interface, it is the address of t.x that is passed to convT2E64. convT2E64 makes the copy.
package p

import "fmt"

func f() {
	type T struct {
		x int
		y *[1e6]int
	}
	t := T{x: 7, y: new([1e6]int)}
	fmt.Println(t.x)
}

	0x004c 00076 (x.go:11)	LEAQ	type.int(SB), AX
	0x0053 00083 (x.go:11)	MOVQ	AX, (SP)
	0x0057 00087 (x.go:11)	LEAQ	"".t+48(SP), AX
	0x005c 00092 (x.go:11)	MOVQ	AX, 8(SP)
	0x0061 00097 (x.go:11)	PCDATA	$0, $1
	0x0061 00097 (x.go:11)	CALL	runtime.convT2E64(SB)

Maybe we can change convT2E64 to take a uint64 value instead of pointer? I'm not sure about its impact and concerns, though.

Maybe we can change convT2E64 to take a uint64 value instead of pointer?

That’s a good idea. Should be safe, because it is guaranteed to be scalar—pointer-shaped values don’t go through a convT2x call. Same probably holds for other specialized functions in runtime/iface.go, although for the multi-word ones (slice, string), it might be better to stick with an address to keep the call site small.
This would make a decent starter change for someone who wants to work on the runtime+compiler. Not trivial, but straightforward enough. Or you could just do it. :)

That would solve this particular instance, but it doesn't solve the general problem of:
type T struct {
    a A
    b B
}
t := ...
fmt.Printf(t.b) // Retains pointers in t.a

But maybe that's ok and I'm just being too critical of a live variable analysis that is necessarily going to be conservative in some situations.
type T struct {
   a A
   b [4]byte
}
t := ...
x := t.b[:] // this reference will retain pointers in t.a

The thing that I think originally tripped me up is that fmt.Println(t.x) really doesn't look like we're taking the address of t. Maybe there is some way to detect that we're building an interface from part of a larger object and force a separate allocation in that case.  I think this would only happen for stack allocations, so maybe forcing a copy of the underlying data before passing the address of it to convT2E and friends would work.

Filed #24286 for Cherry's suggestion.


Closes #816: Add maxlength to all input fields.

Description
I add a maxlength HTML attribute to all LabelTags with a set length of 10,000 characters. This should reduce the likelihood of users submitting responses so large that the form post fails.
The attribute will exist on tag types for which it doesn't make sense (like checkboxes), but this seemed the cleanest way to achieve the protection given the current layout of the code and I don't believe the superfluous attribute will have any effect.
Release notes:
Enforce max length of 10,000 characters on input fields.
Checklist
General

[x] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release >
[x] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

User visible changes

[ ] Wrote browser tests using the validateAccessibility method
[ ] Manually tested at 200% size
[ ] Manually evaluated tab order

New Features

[ ] Add new FeatureFlag env vars to server/conf/application.conf
[ ] Conditioned new functionality on a FeatureFlag
[ ] Wrote browser tests with the feature flag off and on, etc.

Issue(s) this completes
Fixes #816;

Codecov Report

Merging #3753 (00bdb69) into main (dd3b45b) will increase coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               main    #3753   +/-   ##
=========================================
  Coverage     80.54%   80.54%
- Complexity     2431     2440    +9
=========================================
  Files           295      296    +1
  Lines          9626     9655   +29
  Branches        658      660    +2
=========================================
+ Hits           7753     7777   +24
- Misses         1620     1624    +4
- Partials        253      254    +1

Impacted Files
Coverage Δ

...erver/app/services/program/ProgramServiceImpl.java
89.28% <0.00%> (-0.03%)
:arrow_down:

...ces/program/DuplicateProgramQuestionException.java

server/app/services/ProgramBlockValidation.java
80.00% <0.00%> (ø)

...vices/program/CantAddQuestionToBlockException.java
80.00% <0.00%> (ø)

...rs/admin/AdminProgramBlockQuestionsController.java
40.44% <0.00%> (+0.88%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

You want to try and add browser test that submits looooong value? Also how does it look visually when you are submitting long value?

Also how does it look visually when you are submitting long value?

If you try to type another character after reaching 10k, it just doesn't type. It's still possible for someone to inject a string larger than 10k into the dom and submit, but this prevents accidental failures.


Remove @aws-cdk/util

The @aws-cdk/util module is barely used across our codebase.
It also caused some issues related to bundled dependencies (fixes #84)
Utility functions moved to the toolkit (aws-cdk) and elsewhere,
a simple alternative implementation was used to improve readability.
Fixes #84
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license.

Me too, one less package to worry about :)


Login to platform or admin UI

hi there,
thank you for this wonderful software, I was playing with it and managed to get it running but I am having an issue login to either platform or admin.
How do I do this on the desktop UI, also the mobile apps are not working either, after mobile authentication, the otp is generated and authentication completes but cant go past authentication after the a successful otp authentication.
Please help, I would like to see how it works, how to add shops etc.
thank you.
Caleb

@James7777
Zinger UI is a web dashboard specialized for shop and platform admins to manage end-to-end core operations.
Zinger Rails is a backend application that exposes the APIs for this project. So, please follow the readme to setup and run the application in the background.

Hi,
Thanks for your reply.
Is this not active then?
https://github.com/zinger-framework/zinger-ui
https://github.com/zinger-framework/zinger-core?
I am interested in the partner, customer, admin app, the java and android kotlin versions.
I am looking to test the food delivery usecase but the rails app seems to be different, are they?
thank you again for this amazing initiative.
Caleb

Yes, zinger-core won't be active anymore & will be replaced with zinger-rails in sometime later.
Android apps are being ported to zinger-rails backend by @shrikanth7698 at the moment.


[TOPI] Add proper scheduling for dense on CUDA

@icemelon9 please review this PR that adds scheduling for dense OP on CUDA since the original scheduling was too basic to achieve reasonable performance.
The added scheduling was modified from topi/recipe/gemm/cuda_gemm_square.py to achieve high performance (6TFlop/s for 2048x2048 dense matrix after AutoTVM tuning). For small batch (<64) dense, we are still based on the original scheduling but just added a parameter (tile_k) for AutoTVM to tune (~370 GFlop/s for batch size 1 dense computation).
One reason to have separate scheduling for different batch size is that I encountered invalid CUDA kernel errors when applying the high performance scheduling to small batch. I think that may be due to invalid splits, but I am not quite sure. You are welcome to comment and suggest improvements.

@icemelon9 @vinx13 @Huyuwei could you help review this PR?

@comaniac please look into ci error

Could you also add fallback config for autotvm?

@vinx13 Seems failed a case from NNVM. Will fix it soon.
@icemelon9 Will do it tomorrow.
Thanks!

The above commit:

Fixed the failed unit test that was caused by too small shape (=1) in reduce axis.
Added fallback config for both cases.

CI error doesn't relate to this PR and it passed locally. Re-run without change.

@comaniac This is merged, thanks!


Reorder Compaction

Inserts compaction pass in between inference and promotion. This means that compaction takes @promote_static blocks of code and converts them to static<n> blocks.
Right now the "heuristic" is quite basic: it converts to static<n> for any seq block that it can compact at all (i.e., the new schedule is at least one cycle shorter than the original schedule).

Right now the "heuristic" is quite basic: it converts to static for any seq block that it can compact at all (i.e., the new schedule is at least one cycle shorter than the original schedule).

How does this impact the heuristic defined for promotion? Should we eventually define a threshold for compaction also?  Should we eventually define a threshold for compaction also? Seems like this threshold business might get out of hand soon 😅

Yeah, I think there are a few points here.

This change could increase promotion opportunities by affecting the control program that the promotion pass sees (see example here).

One thought I had, which goes hand in hand with #1874: it may be useful to define "universal promotion heuristics" that we can apply to both compaction and promotion passes.

[^1]
[^1]:  One nitty-gritty detail, that I'm mostly have here for my own reference: for the "size threshold" parameter of static promotion, we count any static control block basically as a leaf (i..e, it has the same "size'' as a group enable or an invoke would). The reason for this is, when we measure "size  threshold" as a heuristic, we really want to know "if we promote this block, how many times are we switching from the static calling convention to the dynamic calling convention?" If it is greater than threshold, then this will make up for the overhead of instantiating the fsm and wrapper logic. Because static control statements are already committed to using the static calling convention, it didn't really make sense to count their size as anything more than a group enable or an invoke. But for control programs were originally dynamic, then maybe it does make sense to count their children in the sizes.

universal promotion heuristics

I really like this idea! This can either be a compilation pipeline-level configuration that can be queried by various compiler passes or an analysis of some form. The former idea (compilation-level configuration) seems like a generally useful thing to have; many compiler passes may want to query the same oracle about how to make decisions. Centralizing this configuration somewhere would make maintaining and debugging it much easier!


Add fork of max-statements-per-line

The base ESLint max-statements-per-line rule gives false positives if
you use an expression inside the body of a one line arrow function.
For example:
myArray.forEach((x) => { y += x});

The above line will be counted as 2 statements.
Since this behavior was not desirable, I have forked the
max-statements-per-line rule and adjusted it so that it does not count the
one line arrow function in the total statements on that line.

Coverage increased (+0.9%) to 82.54% when pulling c0f82e8d390bddddeeda3930ee5f7254cf6695ca on jimjenkins5:multiple-statements-arrow into 9c92998b95a465e740c5f3ff6cf9ea0ce7dafe92 on silvermine:master.


SDWebImageRefreshCached Issue - Cache Images not refreshed

Cache Images are not loading when we switch application or app goes background to foreground..
i applied image to listview using sdwebimage with SDWebImageRefreshCached option.
- (UIImage *)image
{
UIImageView *imgV = [[UIImageView alloc]init];
[imgV sd_setImageWithURL<EMAIL_ADDRESS>placeholderImage:[UIImage<EMAIL_ADDRESS>options:SDWebImageRefreshCached];
return imgV.image;
}

All images downloaded and its displayed in listview. After we switch application the downloaded cache images not refreshed its only displayed placeholder Image but when i scroll the list view cache images displayed, again we switch application the default image displayed and cache image not refreshed its repeats..
Please kindly check it and Reply As Soon As Possible,
Prasath

So you say that when you put the app in background or switch to another app and then open you app again, all images show the placeholder image? Check the demo project to see how the tableview best works and try to replicate the problem there.

I met a similar Issue about SDWebImageRefreshCached option
After I upload a new avatar and refresh,the image is still the previous one
Right now my solution is : remove the cache before I upload
SDImageCache *cache = [SDImageCache sharedImageCache];
[cache removeImageForKey:imageUrl];
[self.imageView sd_setImageWithURL:imageUrl placeholderImage:placeholder];

@mythodeia i tried to reproduce the issue in the demo project but i can't reproduce in the tableview..
here i am using IGGridview to display images in Horizontal view with Hoodies Feature..
IGGridview - its infragistics Nuclios Component
Still i am facing the cache issue while retrieve images from cache.. instead of displaying cache images its display the default image.
when i switch off the network after downloaded all images and after switch application the images displayed, when i scroll it the default images displayed in there instead of displaying cache image.

@prasathbabu maybe you are not reusing your cells correctly. I cannot provide more assistance if we cannot debug it properly


[WIP] HAVOK

See https://de5337a9-e467-4569-8f4a-5f1c6678b48f.filesusr.com/ugd/c50953_aadbab271c3641848eef82169f2c78c8.pdf
Add prototype.
Works with the right settings. Still need to get this into an ODE system for simulation.
Tweak SINDy for this.

@ChrisRackauckas Do you think we should / could put this out as an DDE ?
Btw the zhat is actually dzhat and fits perfectly :)

It would be more numerically stable as a DDE: you could in theory have the time delayed observables as other terms in a larger ODE, but then they could in theory drift over time.

I think this can be merged this into master as an example.
I'll open an issue for the DDE conversion.
Do you think this should be handled in DataDrivenDiffEq or MTK ?

I need to add DDEs to MTK, but I should do that soon.


⚠ Bofrost.gr has degraded performance

In 0dbc11a, Bofrost.gr (https://www.bofrost.gr) experienced degraded performance:

HTTP code: 200
Response time: 1628 ms

Resolved: Bofrost.gr performance has improved in c286325.


test-branch/execute-job/quoted-authorization/afd6d837-c6f7-42d8-ad9e-fd574087b68b

PR for testing b43d3400815a827377decc6fe8927a20f49bc0c7

/canonical/self-hosted-runners/run-workflows b43d3400815a827377decc6fe8927a20f49bc0c7


Initial ArcHost Implementation

Core AbstractArcHost Implementation
** Basic state keeping for Arcs and Particle lifecycles (not robust yet)
** Particle lifecycle
** Integrate with EntityHandlerManager
** Supports Core and Android Storage mechanisms

TestingHost/TestAndroidHost

Core and Android tests refactored to share the same base tests run in different environments

E2E tests to verify state transitions
** contains minimalist test of E2E Recipe with WritePerson writing to a handle, and ReadPerson reading. On Android, these run in separate services under two different ArcHosts.

Not Implemented Yet
-- resurrection
-- crash recovery and testing
-- Allocator.stopArc
-- SQLLite Database (Persistent capability keys)

Broken: still fixing AndroidAllocatorTests which are timing out

Will wait to review until cloud build is passing

/gcbrun

/gcbrun


Change host callback from gotenberg through RouterContext / semantic configuration

done in https://github.com/sensiolabs/GotenbergBundle/pull/60


Update displaying-verification-statuses-for-all-of-your-commits.md

Why:
Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[x] A subject matter expert (SME) has reviewed the technical accuracy of the content in this PR. In most cases, the author can be the SME. Open source contributions may require a SME review from GitHub staff.
[x] The changes in this PR meet the docs fundamentals that are required for all content.
[x] All CI checks are passing.

adb shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh


"ReactWrapper#debug" API does not work, when after async function called, that includes "setState".

ReactWrapper#debug and ReactWrapper#find does not work, after calls setState from async function.
But, ReactWrapper#html is work. So, I think this behavior is bug.
I wrote sample code of this issue.
https://github.com/naoki-tomita/enzyme-test
Current behavior
ReactWrapper#debug, ReactWrapper#find does not returns updated DOM, after async function called.
But, ReactWrapper#html is returns updated DOM.
Please check my sample code.
Expected behavior
ReactWrapper#debug, ReactWrapper#find returns updated DOM correctly, after async function called too.
Your environment
API

[ ] shallow
[x] mount
[ ] render

Version

library
version

Enzyme
3.3.0

React
16.3.1

enzyme-adapter-react-16
1.1.1

jest
22.4.3

Adapter

[x] enzyme-adapter-react-16
[ ] enzyme-adapter-react-15
[ ] enzyme-adapter-react-15.4
[ ] enzyme-adapter-react-14
[ ] enzyme-adapter-react-13
[ ] enzyme-adapter-react-helper
[ ] others ( )

This is expected; you need to call wrapper.update() after this line

Awesome!!!!
Thank you @ljharb !!
The test has passed.


Add BME FRT labels

Please excuse the late response, the review of our event uploads took longer than planned.
Pull Request is looking good, thank you for your contribution!


Adding a spec file for rpm build of the python module to ease test

Suited for Mageia for the moment. Easily adaptable for Fedora e.g. by replacing the %mkrel macro by the fedora one.
It allows to install as a package and not pollute your environment.

I merged the spec file from  93b3e52, however there was a merge conflict with the "small typo" fix in 9597d7b so I haven't merged that.


Override Cache-Control header

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Is there any way to override Cache-Control header of /_next/webpack/chunks/:name' requests https://github.com/zeit/next.js/blob/canary/server/index.js#L153 . I want to add s-max-age to be more aggressively.

@ismailbaskin have you found a solution?

I guess I got this. Here's what I added to server.ts to make caching for images and custom fonts work.
      app.prepare().then(() => {
        const server = express();

        if (env.NODE_ENV === "production") {
          server.get(
            /^\/_next\/static\/(images|fonts)\//,
            (_, res, nextHandler) => {
              res.setHeader(
                "Cache-Control",
                "public, max-age=31536000, immutable",
              );
              nextHandler();
            },
          );
        }

        // ...

        handle(req, res);
     }

@kachkaev that's the correct way. We can't decide whether static files generated by external factors can be cached or not.
@ismailbaskin I'm not sure what you'd like to change with a cache-control of 365 days and immutable.

Could you maybe add a quick example somewhere, how to easily add these settings? We don't have a server.ts file as @kachkaev, so I'm a little lost on where to add this configuration, as we use a varnish cache in front of our next.js app, that should cache all our static content .. any hint appreciated

Any recommendation when exporting a next.js app? There is no server part at all. Cache control seems to be configured for 1h but I don't know how to control it, if that's even possible.

Further this discussion, is there an ability to handle(req, res) and then apply cache headers after the fact?
Ie, if a 50x, 40x, id like to "not cache", and 200, id like to cache. Obviously based on route. Or is this something that should be handled in a getInitialProps?
cc @timneutkens

You might be able to set the cache header before the call to handle(). res.setHeader('cache-control', ...).
I vaguely recall doing this but can't tell for sure.

This is not working. NextJS just seems to override the header. (I am using a custom server and calling the nextjs handler within an express route)

Trying to solve this one too, I can't seem to cache my images. I'm using next-images for my loader. @dijs were you able to find something out?

This issue has been automatically locked due to no recent activity. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.


Design the back-ref interfaces

Interfaces:

back refs attributes and ways to map
fetching

Attributes Design:
from beanie import Document, Link, BackLink

class Door(Document):
    height: int
    width: int

    house: BackLink["House"]  # Back-ref

class House(Document):
    door: Link[Door]  # Original reference

Seems useful for model ops decoupling

Hi, thank you for this feature! Could you please clarify the use of it?
Am I correct to understand that the BackLink will be populated automatically after creating the link? I am trying to create a BackLink, but there is no data in the mongo document after creation(besides name, etc). I assume, there should be some metadata like id and document type, right? Here is a simplified example of what I am trying to do:
class Resource(Document):
    id: ResourceID = Field(default_factory=ResourceID, alias="_id")
    resource_type = ""
    name: str = Field(title="Name", description="Name of the resource", min_length=3, max_length=16)
    groups: list[Link["Group"]] = []

class Workspace(Resource):
    resource_type = "workspace"

class Group(Resource):
    resource_type = "group"
    # workspace: Link[Workspace]  # I was using Link before, but decided to try BackLink
    workspace: BackLink[Workspace] = Field(original_field="groups")

# Assuming I already created a workspace
def create_group(workspace: Workspace):
    new_group = Group(name=input_data.name)
    workspace.groups.append(new_group)
    await Group.insert(new_group, link_rule=WriteRules.WRITE)
    await Workspace.save(workspace, link_rule=WriteRules.WRITE)

Hi @mike-pisman ,
No, it doesn't store any additional data in the Mongo document. I use the lookup aggregation pipeline to find documents in the collection where the links were created and check if the original_field there has the id or ids of the documents in the collection with documents that have backlinks. So everything is happening on the db layer but without additional data to be stored there.

The feature was implemented


Update odataresources.js to allow string gets

Updated the odataresources.js to allow the get method to pass through strings enclosed in single quotes.
var pattern = /^[0-9]*$/;
    if (pattern.test(data)) {
	    return this.callback("(" + data + ")" + queryString, success, error, true);
    }
        return this.callback("('" + data + "')" + queryString, success, error, true);

Hi Rykie,
Thanks for your help!
But it would even more awesome if you could write a couple of tests to show us how to use what you did. Let me know if you need any help about where to put them or how to run them!


Convert MRI definitions to use bz2 tarballs instead of gz ones

bzip2 offers more effective compression algorithm than gzip. An user can download less data.

Good idea; thanks!


refactor: migrate to alloy providers

Motivation
We want to migrate from Ethers to Alloy, which includes removing all references to Ether's Middleware trait and using Alloy equivalents (alloy-providers).
Solution
The API for providers is not final, so a temporary trait has been introduced to make migrating to the final API easier later on. Additionally, I will be removing code that is no longer needed (e.g. RuntimeClient), as well as adjusting everything that breaks downstream as a result of me changing the providers (e.g. forge script).
Todo

[x] Adjust tests
[x] Adjust docs
[x] Resolve final breakages
[x] Open up issues re: ergonomics with Alloy encountered during migration
[x] Implement WebSocket and IPC support
[x] Migrate Alchemy CU rate limiting mechanism as a Tower layer
[x] Add retries as a tower layer on the transports

Depends on https://github.com/alloy-rs/alloy/pull/20

blocked on https://github.com/alloy-rs/alloy/pull/89 to ensure that we can move Reth Inspectors to use Alloy RPC instead of Reth RPC to avoid cyclical deps / incompats

Unblocked thru https://github.com/alloy-rs/alloy/pull/89, https://github.com/alloy-rs/alloy/pull/96 & https://github.com/alloy-rs/alloy/pull/97, next step is to use the updated alloy-rpc-types to make this compile, and after, a rebase.

I've tried looking at the ICE but I don't think there's a workaround. Should we merge with the ICE present?

yep @onbjerg we can safely ignore the ICE for now—clippy won't run anyway until it's fixed.