v0.2.0: Update npm package to support current steam package

Fixes #3.
Also has the following new features:

Bot now auto-accepts friend requests,
Bot replies in private,
Bot sends in public or in private, depending where summoned.

Thanks for the effort, looks very good to me and I'm happy someone took the time to update it :+1:
The only thing that holds me back from merging are the changes in package.json, I don't think the urls should still be pointing to the fork :)

Done :)

Hmm there is still some error with the getProfileUrl function.
I think the request library is not used properly.
[Fri Oct 14 2016 09:24:44 GMT+0000 (UTC)] ERROR TypeError: request(...).call is not a function
  at SteamBot.getProfileUrl (/hubot/node_modules/hubot-steam/src/steam.coffee:101:11, <js>:184:12)
  at SteamBot.getProfileUrl (/hubot/node_modules/hubot-steam/src/steam.coffee:1:1, <js>:3:61)
  at SteamBot.gotGroupMessage (/hubot/node_modules/hubot-steam/src/steam.coffee:67:7, <js>:96:21)
  at SteamFriends.<anonymous> (/hubot/node_modules/hubot-steam/src/steam.coffee:1:1, <js>:3:61)
  at emitMany (events.js:108:13)
  at SteamFriends.emit (events.js:182:7)
  at SteamFriends.handlers.(anonymous function) (/hubot/node_modules/steam/lib/handlers/friends/index.js:334:8)
  at SteamFriends.<anonymous> (/hubot/node_modules/steam/lib/handlers/friends/index.js:21:28)
  at emitThree (events.js:102:20)
  at SteamClient.emit (events.js:175:7)
  at SteamClient._netMsgReceived (/hubot/node_modules/steam/lib/steam_client.js:172:10)
  at SteamClient.handlers.(anonymous function) (/hubot/node_modules/steam/lib/steam_client.js:259:10)
  at SteamClient._netMsgReceived (/hubot/node_modules/steam/lib/steam_client.js:157:26)
  at emitOne (events.js:77:13)
  at Connection.emit (events.js:169:7)
  at Connection._readPacket (/hubot/node_modules/steam/lib/connection.js:50:8)
  at emitNone (events.js:67:13)
  at Connection.emit (events.js:166:7)
  at emitReadable_ (_stream_readable.js:411:10)
  at emitReadable (_stream_readable.js:405:7)
  at readableAddChunk (_stream_readable.js:157:11)
  at Connection.Readable.push (_stream_readable.js:110:10)
  at TCP.onread (net.js:523:20)

Maybe someone more familiar with it can take a look?

Thanks :)
Ah yeah that part is pretty ugly, I just started to use js back then :grin: But I will take a look at it

I manually merged your changes and also fixed the problem you mentioned above. It's all on the next branch.
There was one change I reverted since it did not work for me in line 81 and 85 I use envelope.user.id instead of envelope.user.room, otherwise the bot would not respond at all. Do you know / remember the reason for this change?

Well, when joining the bot to a groupchat, it would respond to the group
chat room. As expected.
When talking to the bot directly it should indead send a reply to the user
not, to the room.
I saw some use of room 'priv' but I am not actually sure that that is
working ...
For my use case it was working as expected with envelop.user.room. though.
Met vriendelijke groeten,
Andy Airey
On 15 October 2016 at 17:25, Martin Wagner<EMAIL_ADDRESS>wrote:

I manually merged your changes and also fixed the problem you mentioned
above. It's all on the next
https://github.com/Mawalu/hubot-steam/tree/next branch.
There was one change I reverted since it did not work for me in line 81
https://github.com/Mawalu/hubot-steam/blob/next/src/steam.coffee#L81
and 85
https://github.com/Mawalu/hubot-steam/blob/next/src/steam.coffee#L85 I
use envelope.user.id instead of envelope.user.room, otherwise the bot
would not respond at all. Do you know / remember the reason for this change?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Mawalu/hubot-steam/pull/5#issuecomment-253990792, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHSjvkN_K3YLz1YPSPL3I_f1FxGdcLcNks5q0PBcgaJpZM4KVQBQ
.

Ah now I understand.
As you said priv ist used as room for private messages. If I'm right, changing that line to:
user = id: source, name: steamurl, room: source

should solve the problem.
I currently don't have access to my dev box so you can try if this works or I will report once I'm back.

Yes, that is probably it :)


Add support for dev CLI flag.

The dev flag starts the Replicator agent in development mode. This
runs the Replicator agent with a configuration which is ideal for
development or local testing.
The configuration will still accept overrides from params passed
via CLI flags.
Closes #45

lgtm


Add support for downloading Python from https://www.python.org/ftp/python

I would like to request support for downloading Python from https://www.python.org/ftp/python/.
As someone who has been using pyenv, I think this feature would be extremely helpful for those who are migrating to uv.
Reference
https://docs.astral.sh/uv/configuration/environment/#uv_python_install_mirror

I believe those Python versions are just the source code, not built distributions?

Some more context in https://github.com/astral-sh/uv/issues/4270

Yeah we don't plan to support building Python from source like that right now.


Change log level from error to warning (RAISE_ON_ERROR setting)

Fixes #8
Please take a look @edorofeev

LGTM!

LGTM!


[SR-11894] Diagnose when a @_cdecl name collides with an existing symbol

Previous ID
SR-11894

Radar
rdar://problem/57624932

Original Reporter
@CodaFi

Type
Bug

Additional Detail from JIRA

Votes
0

Component/s

Labels
Bug

Assignee
None

Priority
Medium

md5: 5e2e5f2ec9fcc22ec497103570dd7d9c

Issue Description:
On an asserts compiler, the following code crashes in function type lowering
fileprivate struct PrintMe {}

@_cdecl("main")
func main() {
  print(String(describing: PrintMe.self))
  print(String(reflecting: PrintMe.self))
}

Looks like it's now well diagnosed thanks to https://github.com/apple/swift/pull/36627
check.swift:4:6: error: multiple definitions of symbol 'main'
func main() {
     ^


Update release-notes.md

Adding release notes for 1.0.1 release

@arunguru-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#Sign-Off

#sign-off

@SQLSourabh: I'm sorry - only the author of this article, @VasiyaKrishnan, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off

#sign-off

#sign-off

@arunguru-msft: I'm sorry - only the author of this article, @VasiyaKrishnan, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Error when trying to do a check using Github integration

We only get an
Unexpected error. › Reference: f7c3f6ca-1359-4d23-9a15-b2b81faf3e0a
Out of the check. Without the --github flag the check passes.

Although you appear to have the correct authorization credentials, the XYZ organization has an IP allow list enabled, and your IP address is not permitted to access this resource.

XYZ means a Hive organization or a Github organization in this context? I guess a Github one - but i want to confirm

Your organization

Thanks

Btw @kamilkisiela  is there any chance Hive could provide access to error logs in the UI

Here's what I mean: https://github.com/kamilkisiela/graphql-hive/pull/4270
From now on (once we deploy it), you will see a proper error message.

@kamilkisiela how can i get the IP for the allowlist?

<IP_ADDRESS>


connect-web npm not found

Describe the bug
Our project is using https://www.npmjs.com/package/@bufbuild/connect-web but it gives 404 not found! Where did the package go?
To Reproduce
If you encountered an error message, please copy and paste it verbatim.
If the bug is specific to an RPC or payload, please provide a reduced
example.
Environment (please complete the following information):

@bufbuild/connect-web version: (for example, 0.1.0)
@bufbuild/connect-node version: (for example, 0.1.0)
Frontend framework and version: (for example<EMAIL_ADDRESS>Node.js version: (for example, 18.0.0)
Browser and version: (for example, Google Chrome 103.0.5060.134)

If your problem is specific to bundling, please also provide the following information:

Bundler and version: (for example<EMAIL_ADDRESS>Bundler plugins and version: (for example<EMAIL_ADDRESS>Bundler configuration file:

Additional context
Add any other context about the problem here.

Same issue here. @bufbuild/connect seems to be unavailable at this moment.

It seems like it is back. What was the problem? NPM is announcing an incident in their services. Is this because of that?

@pmzi
Apparently yes.
(From: https://status.npmjs.org/incidents/drj38qn6qm59?u=f4sjg6kgnfjh)

This incident affects: www.npmjs.com website, Package installation, and Package publishing.


pubsub: published messages with more than 5000 characters truncated

From @emilyplusplus on November 30, 2017 4:15
Environment details

OS: macOS High Sierra
Node.js version: 8.1.3
npm version:5.5.1
google-cloud-node version: 0.15.0

Steps to reproduce

require @google-cloud/pubsub
authenticate properly
publish message to existing topic and message with > 5000 characters will be truncated as if their is a character limit of 5K

Copied from original issue: GoogleCloudPlatform/google-cloud-node#2760

From @emilyplusplus on November 30, 2017 16:49
@callmehiphop Glad to hear it should be an easy fix and glad to bring it to your attention. Out of curiosity do you know where I might want to look in source to identify problem (just a hunch on where problem may lie?) so that I might look on my own and see if I can identify a temporary fix?

From @callmehiphop on November 30, 2017 18:2
There's actually a gRPC flag we need to set to allow a larger message size. By default it only allows payloads to be 4MB (I think).

From @callmehiphop on November 30, 2017 15:14
Thanks for reporting @emilyplusplus, this should be a quickfix, but PubSub is currently in a code freeze. Hopefully we can address it soon.

From @emilyplusplus on November 30, 2017 19:46
@callmehiphop ok. i tried upping the constant you linked to to 40000001 but didnt' see any change. Additionally 5000 characters should be well under 4MB so i doubt its the message size that's at fault. seems to be more of a hard character limit or something of that sort. But thanks so much for your timely response. I will continue seeing what I can find

@emilyplusplus I've tested this against the latest master code (we did some refactoring) and I believe this should be resolved as of 0.16.0, if things aren't resolved on your end please let us know!


extension to support multiple selection

actionsheet is good radio-like component, I add a little codes to extend it which can be also  checkbox-like.The changes as follows:

add a 'ng-class' :If the button clicked, it can change the style which is customized.
deliver buttons to function 'done' .

Thanks!


refactor(build): removing Java8 dependency in order to Java11

Building the project required the installation of Java 8 also,  removing Java8 dependency in order to Java11
Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

The java 8 in these modules is to support our Spark plugin which still supports Spark 2.x (which requires these modules to be compiled with jdk8). As we look to eventually deprecate Spark 2.x support we'll update our jdk at that time. Additionally we'd likely want to move to jdk17 to allow upgrading to a Spring 6.x version and remove these per module toolchain statements entirely for a consistent configuration in the top-level gradle file.

Thank you for the contribution! We would take a slightly different approach and look to deprecate Spark 2.x support and migrate to jdk17 on the next major release. For those reasons I am closing this PR.


osmcontroller.addmarker function not working in ios

In android this function works well but in ios the markers don't show. in general the .addMarker function is not working in ios
 try {
    Future.microtask(() async {
        await widget.mapController!.removeLastRoad();
        GeoPoint pointA = appData.initPosition;

        GeoPoint pointB = appData.dropOffLatLng!;

        await widget.mapController!.addMarker(
            pointB,
            markerIcon: MarkerIcon(
                iconWidget: SvgPicture.asset(
                    "assets/pick_up.svg",
                    height: 80,
                ),
            ),
        );

        await widget.mapController!.addMarker(pointA,
            markerIcon: MarkerIcon(
                iconWidget: SvgPicture.asset(
                    "assets/pick_up.svg",
                    height: 80,
                ),
            ));

        RoadInfo roadInformation =
            await widget.mapController!.drawRoad(
                pointA,
                pointB,
                roadOption: RoadOption(
                    roadWidth: 10,
                    roadColor: Colors.purple,
                    showMarkerOfPOI: true,
                ),
            );
        my_loc_controller.forward();
        my_loc_controller.repeat();
        appData.showMapMainScreen();

        appData.showMapPriceDistance(
            roadInformation.distance!);
    }, );

IOS

ANDROID
photo sharing services reviews
Even the defaultMarker and directionArrowMarker in OSMFlutter widget wont show in IOS
  markerOption: MarkerOption(
        defaultMarker: MarkerIcon(
          iconWidget: Image.asset(
            "images/images/gps.png",
            width: 54.w,
            height: 32.h,
          ),
        ),
      ),

      userLocationMarker: UserLocationMaker(
        directionArrowMarker: MarkerIcon(
          iconWidget: Image.asset(
            "images/images/gps.png",
            width: 54.w,
            height: 32.h,
          ),
        ),

i will check that

yes flutter_osm_plugin: ^0.42.0

try to add keep keepInitialGeoPoints : false

oh! works

I noticed one more thing directionArrowMarker and  defaultMarker is only visible when i set trackMyPosition: true, in ios but in android it works without it, The issue is the map will always center if I do that in ios where as in android it is fine
OSMFlutter(
      //isPicker: true,
      key: _mapKey,
      controller: osmController!,
      initZoom: 18,
      minZoomLevel: 8,
      maxZoomLevel: 18,
      stepZoom: 1.0,
      trackMyPosition: true,
      roadConfiguration: RoadConfiguration(
        startIcon: MarkerIcon(
          iconWidget: Icon(
            Icons.location_on,
            color: Colors.red,
          ),
          //Lottie.asset("my_location.json"),
        ),
        endIcon: MarkerIcon(
          iconWidget: Icon(Icons.pin_drop),
          //iconWidget: Lottie.asset("my_location.json"),
        ),
        roadColor: Colors.yellowAccent,
      ),
      markerOption: MarkerOption(
        defaultMarker: MarkerIcon(
          iconWidget: Image.asset(
            "images/images/gps.png",
            width: 54.w,
            height: 32.h,
          ),
        ),
      ),

      userLocationMarker: UserLocationMaker(
        directionArrowMarker: MarkerIcon(
          iconWidget: Image.asset(
            "images/images/gps.png",
            width: 54.w,
            height: 32.h,
          ),
        ),
        personMarker: MarkerIcon(
          iconWidget: Image.asset(
            "images/images/gps.png",
            width: 54.w,
            height: 32.h,
          ),
        ),
      ),
    );

i will fix that since in ios we made track and marker manually not like in android

but directionArrow will be visible when controller.enableTracking called or also direction not visible

did you face the issue on simulator or real device ?

Real device

ios version is +16?

Ios 15 +

thnx because also in the simulator i hade the issue of arrow/person marker but in my iphone is running on 14.6 it working fine
so i need to find the issue why the icon not visible

I have a device on lower ios version, will check on it and get back to you.

technically i found the issue i will fix it
the fix will be in 0.50.0 i will do my best to published soon

I will remove that parameter and provide another api to clear markers


Update Cosign and sigstore/sigstore deps

Summary

Release Note

Documentation

nvm, thought I needed to update both at the same time. looks like a docker vuln report that is blocking this


ci: rename ci and add codecov

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Cannot get local importMap to work

Hi,
In my webpack config, I'm specifying a local import map in order to recreate the imports as set by my root app:
   importMap: {       imports: {         "react"<EMAIL_ADDRESS>        "react-dom"<EMAIL_ADDRESS>     }     },
and I can see them in the resultant webpack config if I debug, but they just aren't appearing in the import map as rendered locally. I'm having to add them in via the local UI to get it to work.

Realised the config I was messing around with used singleSpaDefaults(), which sets up an instance of StandaloneSingleSpaPlugin which was overriding my settings, however passing in via standaloneOptions fixed it.


Navbar dropdown menu on safari not right aligned

I followed the code from http://materializecss.com/navbar.html#navbar-dropdown . Unfortunately on safari, it doesn't get aligned to the right as you can see in the following screenshot:

However, on chrome it does works like it should. Any idea's?
What's really strange is that if my icons are not loaded, it is aligned. So this may be related.

The problem lies in the fact I was self hosting the font files (I needed it to work offline to).
I used this css file:
`@font-face {
font-family: 'Material Icons';
font-style: normal;
font-weight: 400;
src: url(fonts/MaterialIcons-Regular.eot); /* For IE6-8 /
src: local('Material Icons'),
local('MaterialIcons-Regular'),
url(fonts/MaterialIcons-Regular.woff2) format('woff2'),
local('Material Icons'), local('MaterialIcons-Regular'), url(2fcrYFNaTjcS6g4U3t-Y5RV6cRhDpPC5P4GCEJpqGoc.woff) format('woff'),
url(fonts/MaterialIcons-Regular.ttf) format('truetype');
}
.material-icons {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px;  / Preferred icon size */
display: inline-block;
line-height: 1;
text-transform: none;
letter-spacing: normal;
word-wrap: normal;
white-space: nowrap;
direction: ltr;
/* Support for all WebKit browsers. /
-webkit-font-smoothing: antialiased;
/ Support for Safari and Chrome. */
text-rendering: optimizeLegibility;
/* Support for Firefox. */
-moz-osx-font-smoothing: grayscale;
/* Support for IE. */
font-feature-settings: 'liga';
}
`
I manually downloaded "woff" font from google and placed it in my server (same folder as the css file from the code above).
To download it, go to: https://fonts.gstatic.com/s/materialicons/v12/2fcrYFNaTjcS6g4U3t-Y5RV6cRhDpPC5P4GCEJpqGoc.woff
The other files can be found here: https://github.com/google/material-design-icons/tree/master/iconfont


attack_params such as verbose and batch_size not passed in Universal Perturbation.

https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/46b66e66ab95172fd8ed316feb75e5ff70627668/art/attacks/evasion/universal_perturbation.py#L177
For e.g. DeepFool still uses batch_size=1 and verbose=True if UniversalPerturbation(verbose=False, batch_size=512) is used. Could also be the reason for performance degradation when not used directly.

Hi @adityagupta1089 Thank you very much for using ART! Would you be able to share an example code showing how to reproduce your observation?

I think I might have confused the API, seems like the params for the top-level function UniversalPerturbation (batch_size, verbose) are different from the sub-attacker (DeepFool: batch_size, verbose).
Depends if this is an intended use case or if keeping the batch_size and verbosity for both makes more sense.
Feel free to close this if former.

@adityagupta1089 Thank you for the updates!


[AIRFLOW-1516] Fix error handling getting fernet

Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-1516

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

There were unhandled cases for exceptions when importing fernet in
airflow/models.py. This seems to be a remanent of a previous refactor,
replacing logic that would depend on the definition of a global variable
for Fernet if it was imported correctly.
Generally catching all exceptions from get_fernet function, given that
other functions are already handling it that way and the only
error handling case here is to not use encryption.
Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
This change does not affect any the desired logic on failure condition, ultimately avoiding use of encryption if we can't encrypt.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

@saguziel @aoen @bolkedebruin

Seems sketchy, especially since we aren't logging the exception

We could log the error, but usually the handling through the code is the same - fallback to non encrypted values when fernet fails to load.

Codecov Report

Merging #2527 into master will increase coverage by 0.02%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #2527      +/-   ##
==========================================
+ Coverage   70.16%   70.18%   +0.02%
==========================================
  Files         150      150
  Lines       11573    11573
==========================================
+ Hits         8120     8123       +3
+ Misses       3453     3450       -3

Impacted Files
Coverage Δ

airflow/models.py
87.41% <0%> (ø)
:arrow_up:

airflow/jobs.py
77.95% <0%> (+0.27%)
:arrow_up:

Continue to review full report at Codecov.

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

lgtm


Update build.sh echo -e

Update build.sh echo -e
Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

PR#12456
On Aug 13, 2023 02:47, "github-actions[bot]" @.***>
wrote:
This PR is stale because it has been open 60 days with no activity. Remove
stale label or comment or this will be closed in 7 days.
—
Reply to this email directly, view it on GitHub
https://github.com/MystenLabs/sui/pull/12456#issuecomment-1676182226, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A66IW443KIEZX332VJ2XNEDXVAW4DANCNFSM6AAAAAAZEFHHNQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Fix command to re-generate the static bundle in Examples

Updated the commands provided in the comments to re-generate the static bundle in the Movies and UIExplorer examples, making them match the URL used in sourceURL while in dev mode.

Updated to resolve a merge conflict, since the corresponding command in the Movies example was updated separately.

Looks good!

@facebook-github-bot shipit


GTID not found properly (5.7) and some graceful-master-takeover issues

Hi,
I am testing orchestrator with 5.7.17, Master and two slaves. Have moved one of the slaves to change the topology like A-B-C and then executed orchestrator -c graceful-master-takeover -alias myclusteralias
The issues found are:

GTID appears as disabled in the master, the web interface shows the button to enable it, when obviously it is enabled in all the replication chain (GTID_MODE=ON). Slaves are showed with GTID enabled.
This issue causes that the takeover doesn't use GTID (I guess)
Instance B was in read-only before the takeover, after the takeover, the read-only is not disabled, is this a feature or something that should I add  via hooks? Should be nice to have a parameter to end the process in the status that you prefer, depending on the takeover reasons/conditions.
Also, for any reason the role change old-master-> new slave doesn't work. It executes a CHANGE MASTER but apparently the replication username  in the old master is empty, failing the change master operation (orchestrator user has SELECT ON mysql.slave_master_info in the cluster).
Finally, should be nice to add a feature to force to refactor the topology when you have one master and several slaves below. It requires moving slaves below the new elected master, just before the master-takeover. The process will take a bit longer, moving the slaves, and waiting until they are ready.

Thanks for this amazing tool!
Regards,
Eduardo

GTID appears as disabled in the master, the web interface shows the button to enable it, when obviously it is enabled in all the replication chain (GTID_MODE=ON)

Can you please issue:
select @@global.gtid_mode, @@global.gtid_purged

on your master?

This issue causes that the takeover doesn't use GTID (I guess)

That makes sense. We need to solve the GTID recognition problem.

Instance B was in read-only before the takeover, after the takeover, the read-only is not disabled, is this a feature or something that should I add via hooks? Should be nice to have a parameter to end the process in the status that you prefer, depending on the takeover reasons/conditions.

By default orchestrator does not RESET SLAVE ALL and does not SET GLOBAL read_only=0. To do both, set ApplyMySQLPromotionAfterMasterFailover: true
I apologize for the inconvenient name. I'll be working to minimize the number of configuration params.

Also, for any reason the role change old-master-> new slave doesn't work. It executes a CHANGE MASTER but apparently the replication username in the old master is empty, failing the change master operation (orchestrator user has SELECT ON mysql.slave_master_info in the cluster).

As per https://github.com/github/orchestrator/pull/57:

What's missing in this story is the MASTER_USER and MASTER_PASSWORD, which are likely to not exist, because the old master was like not having replication info.
So that leads to the case where even after positioning, the old master cant truly replicate from the promoted master. Nonetheless, it is placed in the correct position to assume replication once credential settings are applied.

The problem is orchestrator doesn't have the username & password of your replication user.

Finally, should be nice to add a feature to force to refactor the topology when you have one master and several slaves below. It requires moving slaves below the new elected master, just before the master-takeover. The process will take a bit longer, moving the slaves, and waiting until they are ready.

This can be easily scripted on the user's side. I really think that in the event of planned takeover the user should choose the identity of the new master. If orchestrator were to choose the identity -- fine, but no promises held that everything would work. Perhaps your setup is such where the promoted server would not be the one you'd expect.
You may find such statement confusing. Your own setup may be simple enough, but there are various setups that are not as simple to deal with: servers with no log-slave-updates (can happen with 5.7 GTID), a mixture of 5.6 and 5.7 etc.
Some servers may not be able to grab the VIP the current master has. Or are in an unreliable physical location. Please understand orchestrator has "seen it all" and much of its behavior is crafted by experiencing non-trivial scenarios.
To this end, when things go bad, orchestrator is very smart in making the best of a situation. But at planned failovers, it would very much like you to set up your topology in a way that makes sense to you and will guarantee survival of all servers you care about.

GTID data from the master:

mysql>  select @@global.gtid_mode, @@global.gtid_purged\G
*************************** 1. row ***************************
@@global.gtid_mode: ON
@@global.gtid_purged: 17255cd9-b2f6-11e6-b59d-005056946d8b:1-15546,
604d9088-a5c6-11e6-8f72-005056945836:1-8796013,
9cb4118b-a5c6-11e6-96c0-005056945189:1-37645
1 row in set (0.00 sec)

There are so many options that didn't see that. Will check it, thanks!

About username/password issue, orchestrator can read username/password from the new master just before the take over, and use them with the old master demote. Otherwise, some kind of warning about "no credentials found" or something else should be useful.

You are right about planned thing, is just that reading the documentation I read that orchestrator could require several steps to finish in the target state. This would be that scenario, and the only requirement could be that you specify the new master rather than let orchestrator to select it. As you said, can be done at user's side :-)

GTID

looking into!

About username/password issue, orchestrator can read username/password from the new master just before the take over

It cannot. You cannot reveal the password by SHOW SLAVE STATUS. There is a potential solution (utilized by orchestrator) in the event you use system tables for master-info.

is just that reading the documentation I read that orchestrator could require several steps to finish in the target state

More than anything, I'd appreciate help with documentation!

@shlomi-noach: slave username and password information are available via mysql.slave_master_info:
root@somehost [mysql]> select Host, Port,  User_name, User_password from slave_master_info;
+-----------------------+------+-----------+---------------+
| Host                  | Port | User_name | User_password |
+-----------------------+------+-----------+---------------+
| somehost.mydomain.com | 3306 | some_user | some_password |
+-----------------------+------+-----------+---------------+
1 row in set (0.00 sec)

So in theory you could try these credentials. However, depending on existing grants this may or many not work as expected as the grant may be for 'some_user'@'%' (any address<EMAIL_ADDRESS>(specific address) or any combination between, some of which may work and others  may not.
It may be worth having an option to try or check the configuration but specific site configs may vary.
For what it's worth for planned topology changes (of the master) I don't use orchestrator but custom scripts. This gives a bit more control and reduces downtime, but orchestrator is nearly always used manually both before and afterwards to arrange the topology as needed to minimise the impact of the master changeover.  I guess I could use orchestrator and most of what's described here is what I do already but I have more freedom to check stuff both before and afterwards which makes me feel more comfortable. Maybe I need to look again at how well orchestrator handles this task as it simplifies things if the amount of software used is reduced.

That's right, orchestrator user has select permissions on slave_master_info and the information is there, just need to read it and use it. If you expect that orchestrator executes this task cleanly, the user should ensure that replication user has permissions in all the nodes involved.

Reading credentials from slave_master_info is already implemented for make-co-master so should be easy to apply to graceful-takeover
https://github.com/github/orchestrator/blob/55cedffe8da1163df6d6d2374207cae97ae375fe/go/inst/instance_topology.go#L900-L911

Hello, just wanted to report the same issue with GTID based replication (Percona 5.7.16) not being recognized on a simple master - 4 slaves topology.
On the master :
+--------------------+----------------------+
| @@global.gtid_mode | @@global.gtid_purged |
+--------------------+----------------------+
| ON                 |                      |
+--------------------+----------------------+
1 row in set (0.00 sec)

@fuyar thank you!

no problem @shlomi-noach :)
Seems like Orchestrator was finally able to detect GTIDs on the 4 slaves  (I rechecked this morning while doing nothing previously).
oracle_gtid: 0  still for the master in the 'database_instance' table but yeah as the master is not a slave of anyone it should be ok I suppose ?

but yeah as the master is not a slave of anyone it should be ok I suppose ?

That's the very bug; because the master is not identified as gtid-enabled, orchestrator doesn't run a gtid-based failover.

OK, have taken a closer look into GTID recoveries:

The fact the master does not show as oracle_gtid in database_instance, or that it shows as GTID based replication: false is irrelevant to the failover mechanism.
The failover looks at the set of replicas and determines that they're using GTIDs ; GTID-based failover takes place when there's at least one GTID replica, and when all valid replicas (valid == responsive) are GTID. In other words, if a single valid replica is not a GTID based replica, then failover is not GTID based. This shouldn't happen in reality, but added as a safety mechanism in the unlikelihood that GTID->non-GID replication is made possible in the far far future.

@ecortestws my last comment suggests that:

This issue causes that the takeover doesn't use GTID (I guess)

is wrong. Are you able to show that the recovery was not based on GTID? I do mean it's a completely valid assumption on your side, but I believe is incorrect. The logs actually specify the type of recovery. Look for:
topology_recovery: RecoverDeadMaster: masterRecoveryType=...

I realize that was 15 days ago and you may not have the logs at this time.

Hi @shlomi-noach:
from the logs:
2017-02-14 08:15:34 DEBUG topology_recovery: RecoverDeadMaster: masterRecoveryType=MasterRecoveryPseudoGTID

@ecortestws thank you. Then, indeed, orchestrator didn't recognize this to be a GTID recovery.

Applying replication-credentials on demoted master is addressed by https://github.com/github/orchestrator/pull/93

Hi @shlomi-noach,
any progress on GTID issue?
Thanks
Eduardo

@ecortestws Perfect timing. I am setting up an environment for this now.

@ecortestws can you confirm your servers are Percona Server? If so, this is identified in https://github.com/github/orchestrator/issues/96 and solved via https://github.com/github/orchestrator/pull/98 (no release yet)
My current GTID testing environment is happily identifying GTID topologies.
https://github.com/github/orchestrator/pull/106 makes the web interface recognize a GTID master as "using GTID" -- but this is a visualization matter only; recoveries are using a lower level logic.

@ecortestws can you test https://github.com/github/orchestrator/releases/tag/v2.1.0 ?

@shlomi-noach my servers are Oracle MySQL. Will try the new release and let you know.

@shlomi-noach I have tested it but it didn't work as expected.
orchestrator -version
2.1.0
05241ab2608de7ed5dd66a363690a33db36e9954

2017-02-14 08:15:34 DEBUG topology_recovery: RecoverDeadMaster: masterRecoveryType=MasterRecoveryPseudoGTID
2017-02-14 08:15:35 INFO ChangeMasterTo: Changed master on <IP_ADDRESS>:3306 to: <IP_ADDRESS>:3306, bin-log.000256:80539410. GTID: false <IP_ADDRESS>:3306

The web interface now shows GTID enabled in the master.

@ecortestws thank you. Are you again looking at a A-B-C chain with graceful-master-takeover?
I'll run some more checks and may come back with more questions.

@shlomi-noach yes, the same approach, the same topology. Moved C from A to B  before the takeover, and verified that the replication chain was healthy. I have all the logs, let me know if you need anything else.  I understand that #93 hasn't been merged yet, so the issue with the credentials after the takeover is expected. Thanks.

#93 is now merged

@ecortestws I'm happy if you can share the logs. If they contain sensitive data, can you please share them with me via email? My address is<EMAIL_ADDRESS>

OK I'm able to reproduce this.
The reason this happens: the auto_position is not set by default, and orchestrator uses that to recognize GTID replication. I'm looking into improving this.

@ecortestws can you please confirm https://github.com/github/orchestrator/releases/tag/v2.1.1-BETA works for you?
Make sure that the replicas are on auto_position=1, as this is a requirement for a GTID-based recovery.

@shlomi-noach it worked, but the replication was not started in the demoted master. Is it a expected behavior? The credentials were in place, and after execute  "START SLAVE" in the old master it started syncing  with the new master.

@ecortestws This is expected behavior. I see advantages and reasons for both starting and not starting replication automatically; "not starting" is on the safer side.


[3.5][Feature] Added Clone operation

Fixes #28
Adds Clone operation with two actions: clone() and bulkClone(). To enable it, one only needs to:
$this->crud->allowAccess('clone');

// and maybe, if you have bulk actions:
$this->crud->addButton('bottom', 'bulk_clone', 'view', 'crud::buttons.bulk_clone', 'beginning');

IMPORTANT: The clone operation does NOT duplicate related entries. So n-n relationships will be unaffected. However, this also means that n-n relationships are ignored. So when you clone an entry, the new entry:

will NOT have the same 1-1 relationships
will have the same 1-n relationships
will NOT have the same n-1 relationships
will NOT have the same n-n relationships

This might be somewhat counterintuitive for end users - though it should make perfect sense for us developers. Hence, the Clone operation is NOT enabled by default.
Todo:

[ ] add Clone operation to the documentation

Merged into the 3.5 release - check it out here https://github.com/Laravel-Backpack/CRUD/pull/1647


Golang support

Is there any work already done or stated to support Go? I think I can't spot any, even on other branches.

Yes, a client API along the lines of the client APIs in JavaScript and Java (which is essentially a glorified gRPC client). Sorry for the really poor description on this issue.

Cool—having support for Go would be awesome!
Go Support means being able to implement CloudState entities in Go, in the
same fashion as the JS support and Java support.
You can wire the TCK to test against the reference implementation of the
proxy. See the application.conf in the TCK for inspiration.
We can help guiding you on how to hook things up. The best start is to look
at either the JS and/or Java support.
Cheers,
V
Cheers,
√

Thanks for the pointer and offer to help. I like the motivation for the project and would love to see a Go Client – API for it. Let me get a grasp on it by reading the README and existing client API... if I can be helpful I'd be happy to do so.

Sounds great. Thank you.

So after reading the README, some parts a few times, as well as code, I come back to your offer to guidance. I bluntly and with my own words re-phrase what I have the impression of the implementation. Coming from JAVA/JVM/Go space mainly I confess not to understand too much about Scala code.  Cloudstate Procotol gRPC definitions together with IR semantics are the solely interface a foreign client API.
A client API implementation is like an SPI implementing gRPC services (technically). So here the API implementation enables entities to get called and treated by the IR semantics of being CRDTs, EventSourced or a Function(?). The Sidecar (in the reference implementation Akka based) beside the CloudState protocol does not know much about a client, gets opaque gRPC domain definitions through discovery and calls the clients "code".
Entity IDs, beside that the entity behaves according to the protocol, are the most concrete property the Akka Sidecar knows about them through its type.
Persistence is done by the Akka Sidecar and transparent for the client. At most the client has a small context it holds and persists domain objects, like to implement snapshots.
What happens on a "Client API" is completely separated from the Akka Sidecar, so if I see "akka imports" in CloudStateRunner.scala there are no shortcuts to any Akka "stuff" and it might be used for convenience (Having the JS API surely prooves that I think).
Am I off the rails or is that kind of accurate (I'm sure I miss a lot oft stuff) what the "API Client" can be characterised of or what it sees from its perspective?

@marcellanz In broad strokes—yes. The user's code interfaces with the proxy via the CloudState gRPC protocol, so for every language "implementation" a gRPC server will be running in that process, the proxy will connect to it via the CloudState protocol, and the only interactions via the proxy and the user code's process will be over gRPC. This means that any programming language which can have a gRPC server is a possible candidate to use CloudState.
the java-support and the node-support libraries exist to remove the need for every user to implement the CloudState protocol themselves, and to provide a language-appropriate end-user API for the users to write their stateful entities in. This also means that there can be any number of end-user APIs for every language, it just happens that me and James are more fluent in Akka to base the java-support implementation on that.
There are so many benefits to this approach—since the proxy does all the data access, we can keep track of DB-metrics completely isolated from user code metrics (think latencies and such).
Since the proxy is given the gRPC protocol for the user's service, it can seamlessly proxy it, and not only that, we can generate HTTP+JSON endpoints for all those gRPC endpoints. The proxy also exposes the users gRPC protocol via gRPC Server Reflection, so all tooling which understands that can use it (think ServerReflection2OpenAPI, or grpc_cli).

Thank you.

Today I made some progress with a go-support API client with which I'm quite happy for a first stint and a few hours. Having one of the TCK tests green and the EntityDiscoveryManager happy with the EntitySpec it gets back from the go client with the shopping-chart example, including dependency protos.
Its raw and needs lot more work, but I closed some circles and I got into all things I did not knew before. Going forward, I think I'll make all the TCK tests happy and then refactor it into an idiomatic go library.
But for now, its good how it is and I like how things came together.

(CloudStateProxy is satisfied first time with what he gets from Discovery from the "other side")

That's great news. Thanks for the update.

That’s very cool news, Marcel!
Let us know how it goes, and if you need any input from us. 😊
Cheers,
√

I have the second bullet green on the TCK but I'm pretty sure that the TCK is too kind with the current implementation as it is not complete for sure. I'm currently going down to implement the EventSourced service.
The points where I could get some help are regarding how to build the project (properly).
I honestly don't know how to build the project properly I think from a "sbt" point of view.
Either I did something wrong, but I:

don't have a proxy/core/target/scala-2.12/akka-proxy.jar that is needed kind of by the TCK an there the cloudstate-tck.combinations proxy configuration in the application.conf. I currently start io.cloudstate.proxy.CloudStateProxyMain manually in IntelliJ and let the proxy by the TCK just not start.
to get io.cloudstate.samples.shoppingcart.Main started from the project/module java-shopping-cart, I had to add for a) the tck and b) java-shopping-cart module to cloudstate-java-support as dependencies, otherwise without a) as an example EventSourcedImpl would not find anything by import io.cloudstate.protocol and without b) nothing by import com.example.shoppingcart.

I think I understand dependencies in general but with sbt I'm a bit lost :-D
I imported the project in IntelliJ like in the screenshot shown below. I build with IntelliJ and also tried on the CLI or with "sbt shell" by:

sbt compile
sbt package

Hi Marcel,
you manually add an Akka + Go configuration here:
https://github.com/cloudstateio/cloudstate/blob/master/tck/src/it/resources/application.conf
And then you run from the command line, in the cloudstate project root
directory:
sbt it:test
(stands for integration test)

sbt it:test

@viktorklang, that worked, thanks.

@marcellanz You're most welcome! I'll make sure that the documentation gets improved in that regard.

Cool—having support for Go would be awesome! Go Support means being able to implement CloudState entities in Go, in the same fashion as the JS support and Java support. You can wire the TCK to test against the reference implementation of the proxy. See the application.conf in the TCK for inspiration. We can help guiding you on how to hook things up. The best start is to look at either the JS and/or Java support.
…
-- Cheers, √

This is going to be so 🆒

@akramtexas I can only agree! ^^

This evening was pretty productive. After two longer code reading sessions with the implementation of EventSourcedImpl and its friends I got into how things have to work I think and then after having GetCart implemented for the first time and running with the TCK, most of the rest of the shopping cart example went quicker and I had some fun.
Accordingly to the TCK, the implemetation lacks proper handling of events through EventSourcedReply and I don't yet support snaphots.
The implementation for now is completely in PoC quality and I have to find out how the API might look like from a "API client" user perspective. Then having proper build integration into the project and some documentation will be next. And then the CRDT (new for me) and the function protocol., and I'm sure I missed some stuff.

(TCK nearly completely green)

( the flow of TCK."verify that items can be added to, and removed from, a shopping cart" )

Great to hear that you're making progress. The failed assertion is making
sure that it gets the correct number of expected events back.
Let me see how I can improve the TCK output to better guide the implementor
in the right direction. :)

Go has an opinionated behaviour when it comes to maps iteration order.
Since Go 1.0, iterating maps has an unpredictable and random order when it comes to iterating maps and, depending on the implementation of stuff, the following can happen

The TCK here expects the order of a shopping carts LineItems to be predictable, which isn't for this implementation.
Go being opinionated in this brought some eyebrows up sometimes, even if defined in the Spec:
The iteration order over maps is not specified and is not guaranteed to be the same from one iteration to the next.
But I find it refreshing that it forces now the question if the TCK should respect that from an implementation @viktorklang

@marcellanz That's a great question! In this case, isn't it the iteration order of a sequence though?

Good morning Marcel
I was planning to start from scratch with this task a week ago, but I've seen that you've been advancing a lot of work. If you're happy with sharing with me your code I can have a look at it and start contributing there.
Regarding to your last input, I think it might be helpful to solve this problem if you used channels (https://tour.golang.org/concurrency/2) to guarantee the messaging order?

But I find it refreshing that it forces now the question if the TCK should respect that from an implementation @viktorklang

Oh yes, Go has raised some eyebrows for sure 😉
Here's some thinking you may find helpful in solving the ordering (aka sequencing) problem at hand when working with Go maps:

The Go language designers noticed that people were relying on the fact that keys were normally stored in the order they were added in, so they randomized the order in which the keys are iterated over. Thus, if you want to output keys in the order they were added in, you need to keep track of which value is in which position in the order yourself like so:

import "sort"

var m map[int]string
var keys []int
for k := range m {
    keys = append(keys, k)
}
sort.Ints(keys)
for _, k := range keys {
    fmt.Println("Key:", k, "Value:", m[k])
}

More details here at an excellent article online: A Surprising Feature of Golang that Colored Me Impressed
Good luck 🍀

Also please check out: go-maps-in-action 🗺

I was planning to start from scratch with this task a week ago, but I've seen that you've been advancing a lot of work. If you're happy with sharing with me your code I can have a look at it and start contributing there.

Hi @ArturoTarinVillaescusa. Sure, I'll be happy to share. I currently work to get the current TCK 100% passed and having a proposal for the client API. I'm not comfortable to share the state of code I have at the moment, but with the progress I made the last few days I'm pretty sure I can propose a first version of the go api client with which we can move on sometimes this week or the end of it.
There is plenty of stuff to do and I'm sure and looking forward to any contributions to it :-) Next steps will be CRDTs and the function protocol I think or anything the community is thinking of.

Regarding to your last input, I think it might be helpful to solve this problem if you used channels (https://tour.golang.org/concurrency/2) to guarantee the messaging order?

The order of the shopping cart items that get back by issuing the ShoppingCart#GetCart command during development of the shopping cart example was backed by a map[string]LineItems where the key of the map was the product_id. I then simply replied by ranging over the values of the map. This had the effect of getting random order of the line items which was affected by Go's random iteration order as I stated in my comment above. I changed that now to be in lines with the TCKs expectations.
I'm not quite sure if I understand how channels would assure the order of the lines items added to the cart but I'm happy to discuss and hear what your idea was to do that.

Good morning gentlemen 🌞: @marcellanz, @viktorklang, @ArturoTarinVillaescusa
@marcellanz - I like a lot two of your observations in particular, both spot on 🎯

Here's some thinking—followed by a snippet containing a workaround—which you may find helpful in solving the ordering (aka sequencing) problem at hand when working with Go maps:

The Go language designers noticed that people were relying on the fact that keys were normally stored in the order they were added in, so they randomized the order in which the keys are iterated over. Thus, if you want to output keys in the order they were added in, you need to keep track of which value is in which position in the order yourself like so:

import "sort"

var m map[int]string
var keys []int
for k := range m {
    keys = append(keys, k)
}
sort.Ints(keys)
for _, k := range keys {
    fmt.Println("Key:", k, "Value:", m[k])
}

Good evening @akramtexas. Thanks for the pointers about maps in Go. I was fast implementing the cart using a map and not something like java.util.LinkedHashMap that is used by the java-shopping-cart and then told by the TCK to be wrong. I think its valid to expect the order in the cart to be the same as the line items got into it. I fixed that and now the TCK is happy with that.
Regarding your proposed code, which I captured into a Go Playground snipped:
https://play.golang.org/p/PvD5hEsk3Vf
I think that snipped does not ensure the order properly. The keys get sorted, but that sorting clears a, as an example, the order of something like 3,1,2,4 into 1,2,3,4. How was the snipped to retain the order? Looking forward to your ideas. Best Regards, Marcel

This travis build https://travis-ci.com/marcellanz/cloudstate/jobs/232175160
captures my efforts of the weekend to get a 100% pass on the TCK and build integration into the existing travis CI build job.
My goal for the next week is now to have a proposal for the Go Client API by somewhere the end of the week based on this implementation. I also plan to write some documentation similar to existing or planned API documentation of the other language implementations.
I'm looking forward to discussions and future work to get a full implementation of the Go Client API.

(first CloudState TCK 100% pass on travis-ci.org)

@marcellanz Wow! Congratulations—the feeling when the TCK passes is a great one, for sure! ^^

thanks, it felt great :-)
Sent with GitHawk

Let me know when you want/need to create a PR! 😊
Cheers,
√

@viktorklang I will. Give me a bit more time to make it "right"…

@marcellanz Absolutely! :)

@viktorklang I think I will PR this today. I have some tasks left but documented them.

Very cool @marcellanz! Please add //TODO //FIXME on everything which you know that might represent edge-cases or otherwise, this makes it easier for others to spot things which may not be optimal yet.
Also, if you have time, it's really great to have a bit of rationale w.r.t. the end-user API, if there are any opportunities for improvements or otherwise. :)
Thanks for spending your time and efforts on this important feature!

Very cool @marcellanz! Please add //TODO //FIXME on everything which you know that might represent edge-cases or otherwise, this makes it easier for others to spot things which may not be optimal yet.

I will do and already had on a number of places. I'll go through it again and mark where appropriate.

Also, if you have time, it's really great to have a bit of rationale w.r.t. the end-user API, if there are any opportunities for improvements or otherwise. :)

I started the usual documents under cloudstate/docs/.../user/lang/go. I'll finish it and update the PR with an explaining gettingstarted.md and similar eventsourced.md as the Java one.

@marcellanz

I will do and already had on a number of places. I'll go through it again and mark where appropriate.

Perfect, thank you!

I started the usual documents under cloudstate/docs/.../user/lang/go. I'll finish it and update the PR with an explaining gettingstarted.md and similar eventsourced.md as the Java one.

Nice!

@marcellanz  ...

@viktorklang The PR branch has now documentation for go support.

Check here for future/current progress of Go Support in CloudState: https://github.com/cloudstateio/go-support


Toast popup is not displayed when using sheet on ipad.

The default popup is displayed, so it may be that the toast exists further down than the ipad's sheet display area.
Xcode 13.2.1
iPadOS 15.2

Hey @sheat-git, tried launching on iPad, seems to work alright. Used the same setup. Could you please provide more details about your problem?

This happens only in the view in the .sheet.
You can reproduce it by rewriting ExampleApp.swift as follows.
import SwiftUI

@main
struct ExampleApp: App {
    var body: some Scene {
        WindowGroup {
            ShowSheetView()
        }
    }
}

struct ShowSheetView: View {
    @State private var showSheet = false
    var body: some View {
        Button("show sheet") {
            showSheet = true
        }
        .sheet(isPresented: $showSheet) {
            ContentView()
        }
    }
}

Hey @sheat-git, I added the ability to display popups on top of each other and on top of sheets also. Now you can chain popups - they will use their presenting view's dimensions for their position calculations - not the whole screen like they used to. If anything doesn't work right, please do share your examples with me. Hope that helps, have a wonderful day!

thank you sooo much!!


Reolink RLC-811a video feed not working (timeout)

Describe the bug
When adding a Reolink RLC-811a I get all entities, all seems to work, though for the camera feed itself, I see the thumbnail when I add the camera to an entities card, but when I click on it to see the actual feed I just get a white screen, no video is loading.
To Reproduce
Try playing a live video feed, nothing is loading
Expected behavior
Video feed should play
Screenshots

Environment:
Please provide useful information about your environment, like:

Home Assistant version 2022.5.1
Reolink camera model RLC-811a
Camera firmware number latest

Other stuff:
Running HA in a docker container

Hi, I'm having the exact same issue with a RLC-820A that I just installed. My RLC-4205MP that it replaced worked properly before that. Diving into the logs produced this.

2022-05-09 15:32:33 ERROR (MainThread) [custom_components.reolink_dev.base] Host <IP_ADDRESS> error renewing the Reolink subscription
2022-05-09 15:32:48 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response
2022-05-09 15:32:48 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.front] Error from stream worker: Error opening stream (ERRORTYPE_104, Connection reset by peer) rtmp://:@ss
2022-05-09 15:33:11 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Front-Right for reolink_dev
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 474, in async_unload
result = await component.async_unload_entry(hass, self)
File "/config/custom_components/reolink_dev/init.py", line 182, in async_unload_entry
hass.data[DOMAIN].pop(base.push_manager)
KeyError: 'push_manager-ec71dba882f8'
2022-05-09 15:33:29 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Front-Right for reolink_dev
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 474, in async_unload
result = await component.async_unload_entry(hass, self)
File "/config/custom_components/reolink_dev/init.py", line 182, in async_unload_entry
hass.data[DOMAIN].pop(base.push_manager)
KeyError: 'push_manager-ec71dba882f8'
2022-05-09 15:34:07 ERROR (MainThread) [custom_components.reolink_dev.base] Host <IP_ADDRESS> subscription failed to its webhook, base object state will be set to NotAvailable
2022-05-09 15:34:07 ERROR (MainThread) [custom_components.reolink_dev.base] Host <IP_ADDRESS> error renewing the Reolink subscription
2022-05-09 15:34:25 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response
2022-05-09 15:34:25 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.front] Error from stream worker: Error opening stream (EOF, End of file) rtmp://:@ss
2022-05-09 15:34:35 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response
2022-05-09 15:34:35 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.front] Error from stream worker: Error opening stream (ERRORTYPE_104, Connection reset by peer) rtmp://:@ss
2022-05-09 15:34:48 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response
2022-05-09 15:34:48 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.front] Error from stream worker: Error opening stream (EOF, End of file) rtmp://:@ss
2022-05-09 15:34:55 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response
2022-05-09 15:34:55 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.front] Error from stream worker: Error opening stream (ERRORTYPE_104, Connection reset by peer) rtmp://:@ss
2022-05-09 15:35:07 ERROR (MainThread) [custom_components.reolink_dev.base] Host <IP_ADDRESS> error renewing the Reolink subscription
2022-05-09 15:35:22 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response
2022-05-09 15:35:22 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.front] Error from stream worker: Error opening stream (EOF, End of file) rtmp://:@ss
2022-05-09 15:35:25 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response
2022-05-09 15:35:25 ERROR (stream_worker) [homeassistant.components.stream.stream.camera.front] Error from stream worker: Error opening stream (ERRORTYPE_104, Connection reset by peer) rtmp://:@ss
2022-05-09 15:36:05 ERROR (stream_worker) [libav.rtmp] Cannot read RTMP handshake response

Environment:

HA: 2022.5.3
Camera: Reolink RLC-820A
Camera firmware: v<IP_ADDRESS>6_22041501

I got the low res substream working, but only using webrtc and local lan IP. I would really like to be able to access the sub or main stream while "away" as weell. I have a foscam which can do this without problems so it's not a config issue (NAT, routing etc).

I got the low res substream working, but only using webrtc and local lan IP. I would really like to be able to access the sub or main stream while "away" as weell. I have a foscam which can do this without problems so it's not a config issue (NAT, routing etc).

What steps did you take to get that working? I tried the simple streaming integration as well as the ONVIF integration and neither worked.

Alright, I figured out a way but it involves decreasing the resolution of the camera. If you don't go full 4K, the resolution below (2560x1440) will provide a H264 stream and not H265. This will then display in home assistant properly.

Could you explain what you did? Settings etc? Are you using the Reolink integration?

I'm having the same issue with my RLC-811A too.
Apparantly the main stream isn't supported when using RTMP. Source: Reddit.
No matter which protocol or stream I configure, whenever I open the stream (by clicking the card) it always tries to open the RTMP main URL which obviously doesn't work.

Could you explain what you did? Settings etc? Are you using the Reolink integration?

Within the reolink app, set your stream's resolution to 2560x1440. This will also set your stream to h264. Then, in home assistant's reolink integration, you should be able to add your camera. I could only add it via http.

Is there any other way of getting the stream to work without downgrading the resolution?

I just came across the same problem, I just installed a reolink 811a and my live stream doesn't work with 4k res, im assuming because of h265.
For now I guess i'll just keep full res in the reolink app and using webrtc
rtsp://user:pass@ip:554/h264Preview_01_sub displays fine in a lower res without me having to change the res in the reolink app, not ideal but for my purposes will be fine until someone comes up with another solution hopefully

Is there any other way of getting the stream to work without downgrading the resolution?

I couldn't find one. I agree, downgrading the resolution is a fix but not a solution. I bought a 4K camera to use it and it pretty frustrating that I can't.

For now I guess i'll just keep full res in the reolink app and using webrtc

I was unable to get the webrtc integration working in my home assistant instance. I installed it through HACS without errors but it just never showed up when I tried adding it in HA...


False Positive on apache-jsp

False positive on library apache-jsp - reported as cpe:2.3:a:apache:tomcat:9.0.29:*:*:*:*:*:*:*, cpe:2.3:a:apache_software_foundation:tomcat:9.0.29:*:*:*:*:*:*:*
Maven GAV:
            <dependency>
                <groupId>org.mortbay.jasper</groupId>
                <artifactId>apache-jsp</artifactId>
                <version>9.0.29</version>
            </dependency>

From Maven central.

So this is a complicated one.  The Tomcat Jasper was repackaged and it is unclear that if a vulnerability were to be found in Jasper if the CPE would be against Tomcat or the repacked apache-jsp. If we look historically we find things like https://nvd.nist.gov/vuln/detail/CVE-2011-1318
In this case, I would recommend creating a local suppression rule for this using the HTML. At this time I'm don't believe a suppression rule should be added to the core project.


Feature request: view urls on current line or select lines

Hi, thanks to this plugin first. I use it a lot.
there are many times, my cursor is on a line with url.
And I want to open it.
please support view urls on current line or select lines.

The first one would work for me.
I feel I missed something and need to read your doc again.

Great to hear! Feel free to reopen if you have anymore issues or suggestions!


What are the dependency of this project? What's the version of transformers?

See https://github.com/locuslab/wanda/blob/main/INSTALL.md


Parse URLs for CLI Argument --peers

CLI argument --peers takes socket addresses, which are IPv4 or IPv6 addresses (with optional ports). Add URLs.
$ neptune-core --peers www.github.com:9798
error: invalid value 'www.github.com:9798' for '--peers <PEERS>': invalid socket address syntax

For more information, try '--help'.

to be pedantic:  I think you mean "support domain names".    I don't see any advantage to supporting full url syntax, but yes we should lookup ip from hostname.


Shift the homepage add-on box shadow a bit

The box shadow is currently evenly spaced around the "hovercard". But that's not how shadows work and for some reason it bothered me today. I toned it down a bit, perhaps it looks better?

> Before

> After

It does indeed look MUCH better! Thanks!
r+

Shiny :sparkles:


Make it easy to subscribe to a stream from a narrowed view

Situation: I click a link like #narrow/stream/A/topic/some.20topic to a topic in a stream A to which I am not subscribed.
What happens: I'm presented with the topic, and an informative but non-actionable note that I'm not subscribed to the stream. There is no obvious way to subscribe if I want to.
What I think should happen: there should be some obvious way to subscribe if I want to.

Yeah this would be a great improvement; I think it should be a good intro project if anyone's interested.

@kamalmarhubi FYI we just merged a fix for this!


⚠ Bofrost.de has degraded performance

In 5e92a12, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1249 ms

Resolved: Bofrost.de performance has improved in c460244 after 6 minutes.


I'm getting strange line wrapping behaviour. (screenshot provided).

It seems that the lines are attempting to make themselves "too long" by one character, triggering vim's soft linewrapping, which looks awful for manpages.
Here's what it looks like (vman at the top, vim on the left, man on the right).
Is there a solution to this?
(Thanks for the beautiful program, by the way!

I see this too sometimes. I haven't been able to pin down exactly when it happens. I'll keep a more keen eye out for it and report back if I can make any progress.

Ah, cool; thanks!

@jez Hey dude! I think I've found a workaround. I noticed that it was consistently wrapped by only a few characters, and decided to see what would happen if I executed set nonumber, and everything looked fine afterwards. So then, I modified line 32 of plugin/superman.vim to read setlocal nonumber, and it consistently displays manpages correctly.
My guess is that man is sourcing the terminal width without considering vim's loss of width from the number bar.
I think I actually prefer it this way, actually; it's more minimal, and I can still find my way around with the search and percentage indicator.
Thanks again for the great plugin!

Oh, yeah if that workaround is fine for you, more power to you!
I'm probably going to keep this issue open anyways, because I'm not willing to give up line numbers.

LINE NUMBERS ARE FOR THE WEAK. EMBRACE MINIMALISM!
:P


Several ocean.py modules don't have have test files

TODO for this issue: make sure that there is a test file for each module.
Note: this is a sub-issue of the epic in #149. The epic gives a more thorough description / context.

@trentmc I reviewed the existing files.
In order to have full 1:1 correspondence to the modules, we need to create:

ocean_lib/assets/test/test_asset.py
ocean_lib/assets/test/test_asset_resolver.py
ocean_lib/assets/test/test_utils.py
ocean_lib/data_provider/test/test_exceptions.py
ocean_lib/data_store/test/test_auth_tokens.py
ocean_lib/models/test/test_metadata.py
ocean_lib/models/test/test_order.py
ocean_lib/ocean/test/test_ocean_compute.py

However, the test coverage is fine since the code lines are covered in combined/integration flows (since they depend on one another). Let me know how to proceed. This is the last issue of the testing epic, but I believe it's lower priority right now. Your call :)

I think it's important to have both unit tests and system tests. The system tests almost certainly don't cover corner cases. And I bet we'll uncover some issues in these as we do them. BTW recently I wrote 50% of the tests for "test_utils.py".

Since we created #284 we should close this issue.


[28] feat: restoration aims (section 3) form (basic ui only), simple routing, some reusable components

Description
Created reusable component for form title, submit button, and checkbox group. Implemented simple questions for section 3 (restoration aims).
Added a fake site component fo the home screen, with links to the project details and restoration aims forms which are separate pages.
This is UI only. There are separate tickets for populating data from the api into the form, and submitting form values to the api
Closes #28
Type of change
Please delete options that are not relevant.

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

Instructions
Explain what someone needs to do in order to test the functionality of the changes.
How Has This Been Tested?
manually. Got to home page, click on fake site link, click on project details, click on restoration aims. In restoration aims, select and unselect checkboxes and console out the data.
Checklist:

[ ] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Closing this. Its kinda stale given the work on #51 . Unfortunately that one witll be a bigger PR, but I think thats better than sorting through very stale code that doesnt really exist anymore


Add navya to whitelist

Related Issue

Description

How Has This Been Tested?

Screenshots (if appropriate):

Checklist:

[ ] My code follows the code style of this project. (see the style guide)
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] Coveralls reported increased code coverage, and full coverage for all the code I added / changed (or I have a good reason that I explained above for why this is not the case)

Coverage remained the same at 6.258% when pulling 0ec3ce69205fc95d442766f973f78acb1be62461 on add-navya-to-whitelist into ad13a6c1a11b8015bca19520a898f83153b2f386 on master.


I am planning to add CONTRIBUTING.md to this library

Hello everyone, and thank you for creating this fantastic library. After seeing that my organization was using this fantastic library, I suggested it to many of my friends. I recently made a contribution to this library few months back. I noticed that this repo lacks a 'CONTRIBUTING.md' file. I'm taking the initiative to commit one so that future contributors will benefit if they choose to contribute to this library. I'll fill in the details based on my understanding or how I setup up this lib in my local. So, if any information is missing or I mention something incorrectly, I will require the assistance of a expert 😄 .
P.S. Special thanks to @aikoven 🚀 . I've seen that he actively responds to everyone who raises an issue or a PR in this repo 😃 .

I'm glad you liked it 🙂
Sure, I'd love to see that contribution from you!


Support basic auth

Moved new web3 from web3relay & sync to ethernode.js to simplify configuration.
switch web3.js 0.19.0 >> zsl-web3.js to support ethereum, ETC, quorum, zsl-quorum & https
update config.json to support:
-- bool : isSSL (uses https v. http)
-- bool : unsafeTLS (connect to https w/self signed certs)
-- string : username (basic auth username)
-- string : password (basic auth password)
create config.js in tools to consume config.json in one location

resolves #170
incorporates #166

I think it contains too many changes in one PR.

Closing, wrong PR branch pulled in. too many mods in one PR.


feat: add overview pages for components and styled-system

📝 Description
This PR adds an overview page for the new components and styled-system section to show a preview of what can be found in the section.
💣 Is this a breaking change (Yes/No):
No
📝 Additional Information
This PR is based on the work the following pr https://github.com/chakra-ui/chakra-ui-docs/pull/301

Hey @nikolovlazar, this is now ready imo. Only the icons might need to be refined but I actually think that the one I chose fit pretty well, except for hooks which could use something to create a distiction.

The feature branch need a fast forward as well to fix the commit count here.

This is good to go after you resolve the conflicts, @noobinthisgame 👌

@nikolovlazar have you fast forwarded the feature branch ?

Yes, I merged main into the feature branch this morning.

My bad I didn't see. The work with the feature branch that is not on my repo is new to me. I synced everything and this should now be good to go :)


Add MongoDB code in read route

Currently data is stored in a temporary variable so for persistent storage add a database(MongoDB in our case)
Do required changes in read route

I would like to work on this!

@prateek1998  have you completed this?

Hi @YashTrivedi21, I already updated the code and code is already merged.
Thanks

Cool thanks for informing.


Task.Definition.Principal.Account is null if in the UserId property of the task XML, is set in plain text, instead of SID

I need to get a task' associated principal, which is set in 'When running the task use the following user account'.
However, on some machines, the UserId in the task's XML is represented by Sid:
<Principal id="Author">
      <RunLevel>HighestAvailable</RunLevel>
      <UserId>S-1-5-21-2025382838-34760544-43243242434-1106</UserId>
      <LogonType>Password</LogonType>
</Principal>

In which case this works fine and I can retrieve the account, but on other machines the UserId is represented in plain text:
<Principal id="Author">
      <RunLevel>HighestAvailable</RunLevel>
      <UserId>Domain\User</UserId>
      <LogonType>Password</LogonType>
</Principal>

In which case Task.Definition.Principal.Account returns null

@msmilkoff: Can you tell me the parameters you are using for the TaskService constructor or if you are using TaskService.Instance? If this is using V2 of the Windows COM types, then I have no control over how the XML is read. It is done by Microsoft's underlying implementation. If this is V1 (for systems prior to Windows Vista), then I can address it as I wrote a compatible XML parser. I have never, in 15 years, seen the XML with anything except the SID, so this is very interesting to me.

This happens on Windows Server but I do not know the version unfortunately. This is how I retrieve the task:
 using (var taskService = new TaskService())
 {
     var ldapTask = taskService
            .FindAllTasks(t => t.Name.IndexOf(taskName, StringComparison.OrdinalIgnoreCase) >= 0)
            .FirstOrDefault();

      string taskOwner = ldapTask.Definition.Principal?.Account;
}

Thanks for your workaround. It helped me have an idea as to how to prevent even though this is really Microsoft's library's problem. I'll look into it and let you know what I find.

I have a build that may fix your problem. Attached is a pre-release version of the NuGet package (zipped). Let me know if this works.
TaskScheduler.2.8.16.nupkg.zip

Thanks. It may take a couple of days to properly test since it has to go to a beta user's machine.

Hi dahall
I want task names whose runs with a specific user. If in case it has SID in the "USERID" I cant retrieve the task.
I need to fetch the task.Definition.Principal corresponding to the SID. If the "USERID" is SID then if i fetched task.Definition.Principal, it should be "DomainName\UserName"
Above Package is as I tested it return "" in the task.Definition.Principal.
Kindly looking forward

@dahall My logs confirm that this build resolved the issue.
It occurs for multiple Users, all of them running Windows Server 2012 R2 Standard [6.3.9600].
Closing.

@karthimahendran Use the Account property. It will always return the username.
@msmilkoff I'm glad this fixed your problem. I'll publish 2.8.16 today with the fix.

I came across this issue when looking into an issue I have with Author not being set, as described in #659.
I just wanted to comment that every task I create with this library on Windows 7 connected to AD uses the DOMAIN\User syntax in the task principal information, which is confirmed when exporting.
This doesn't fix the registration info author being null, I'd hoped it was related.
It also doesn't fix new tasks being created with the DOMAIN\Username principal either. Though it sounds like that might be a Microsoft bug?


refactor the code with some common operators

Thanks @zzzzwj. I will take a careful look latter.

Thanks @zzzzwj. I will take a careful look latter.


HAWQ-779. PXF Fix filter test failures

More context of the unit test failures can be found here
https://issues.apache.org/jira/browse/HAWQ-779
Also fixed javadoc related errors to make it compliant to Java 8 compiler

LGTM

LGTM +1


Delete this repository now that Hyrax has wings?

Now that Hyrax has wings and the decision was to move this functionality into the hyrax gem, can we delete this repository?

Well, that wasn't what I was intended.  I fixed it now.

Decision at the end of the PSU sprint was to move this to samvera-deprecated.


Nested split layouts do not show scrollbars correctly

On our demo page https://vaadin.com/elements/-/element/vaadin-split-layout the nested layout demo does not display the top right scrollbars correctly. When minimizing the area so that vertical scrollbars would be needed, a scrollbar with 100% height is showed instead and prevents scrolling. Browser in question is latest chrome on Windows.
Edit: After it was pointed out to me, it seems to be an issue that the scrollbars for the Grid is not shown while the scrollbars for the Split Layout is, which leads me to not being able to scroll the grid without using the scroll wheel while the unnecessary layout scrollbars are shown.

I'm pretty sure the extra scrollbar is an internal Grid problem. In Grid, there is the extra iframe measureobject that sets the height. It has expliciely set 100% height and implicitely set 2px wide borders, which I guess comes from browser defaults. Border width is not explicitely set for this iframe. If I add border:none on the iframe, this extra scrollbar dissappears and things work as expected.

Thanks @Peppe, nice catch, and with a fix even 😃

The live site seems to be running an old version of vaadin-grid since this issue was fixed by https://github.com/vaadin/vaadin-grid/commit/e83b607e7237907892a7e10cc7acefa819985584 back in January
The demo source claims to be using the CDN master version of grid but it actually imports vaadin-grid from this bundle: https://vaadin.com/elements-page-1.0-SNAPSHOT/all-the-things.html

This issue was moved to vaadin/elements-page#12


[General 2022 bare to minimum ]  Call to Actions

Reminders submitted to the mktg forum on Nov. 29th.

[Call to Action] 2022 Monthly Mktg-Call Stewards - Schedule needs MicroProfilers
3 vi

https://github.com/eclipse/microprofile-marketing/watchers - Become ONE!
1 v

@aeiras Is there any update needed on this ticket?  If it is no longer in progress, please close and update the minutes accordingly.  Thank you!  :)

@caitmm43,
This ticket is kept open until all months are covered by at least 1 Steward.
It is the year of each monthly Steward to talk about this ticket, during each Mktg call.  The ticket is usually added under Priority tasks as a show and tell of the Responsibilities and the latest volunteers' schedule sheet. Constant awareness is placed on this ticket task.
Questions, shoot!

Let's close it and keep it as a priority 1 in the mktg agenda instead.


Problem with $filter and name with accentuation in return

Hi,
When trying to apply $filter in a request where the name of a person has accentuation it's generated an error:
{"@context":"http://localhost:8050/odata/$metadata#persons(idperson,name)","value":[{"idperson":1138,"name":
TypeError: Flat3\Lodata\Helper\JSON::encode(): Return value must be of type string, bool returned in file C:\Projects\oData\vendor\flat3\lodata\src\Helper\JSON.php on line 33

#0 C:\Projects\oData\vendor\flat3\lodata\src\Controller\Transaction.php(1035): Flat3\Lodata\Helper\JSON::encode()
#1 C:\Projects\oData\vendor\flat3\lodata\src\Primitive.php(129): Flat3\Lodata\Controller\Transaction->sendJson()
#2 C:\Projects\oData\vendor\flat3\lodata\src\ComplexValue.php(344): Flat3\Lodata\Primitive->emitJson()
#3 C:\Projects\oData\vendor\flat3\lodata\src\EntitySet.php(221): Flat3\Lodata\ComplexValue->emitJson()
#4 C:\Projects\oData\vendor\flat3\lodata\src\EntitySet.php(281): Flat3\Lodata\EntitySet->emitJson()
#5 C:\Projects\oData\vendor\symfony\http-foundation\StreamedResponse.php(93): Flat3\Lodata\EntitySet->Flat3\Lodata\{closure}()
#6 C:\Projects\oData\vendor\flat3\lodata\src\Controller\Response.php(96): Symfony\Component\HttpFoundation\StreamedResponse->sendContent()
#7 C:\Projects\oData\vendor\flat3\lodata\src\Controller\Response.php(144): Flat3\Lodata\Controller\Response->sendContentStreamed()
#8 C:\Projects\oData\vendor\flat3\lodata\src\Helper\Symfony\Response6.php(17): Flat3\Lodata\Controller\Response->_sendContent()
#9 C:\Projects\oData\vendor\symfony\http-foundation\Response.php(373): Flat3\Lodata\Helper\Symfony\Response6->sendContent()
#10 C:\Projects\oData\public\index.php(53): Symfony\Component\HttpFoundation\Response->send()
#11 {main}

Request
http://localhost:8050/odata/persons?$select=idperson,name&top=2&filter=contains(name, 'Vitor')&skip=1
Although, if I do the request directly like http://localhost:8050/odata/persons/1138 its works without problem.
Thank you for your time !

Hi @marciotheis, I wasn't able to immediately reproduce this - could you provide an example of the accentuation in the field content that's causing the issue? Also the column type and character set in use by the database could help. Thanks!

Hi @27pchrisl, I attached an example, where it's used SQL Server 2016 or 2019 and the database colletion is Latin1_General_CI_AI or Latin1_General_CI_AS
Thank !
example.zip

Hi @marciotheis, still no luck - which PHP version are you using?
I made a change to the 5.x branch to make json_encode throw on error.
Could you composer require flat3/lodata:dev-5.x ? It will still have the issue but hopefully with a more useful error message!

Hi @27pchrisl
I did all the tests, changing the charset to UTF-8 and even removing the entry. However, in every test I got the same error.
This is my php -i
i.txt
Executing http://localhost:8050/odata/persons

I did a test in src/Drivers/EloquentEntitySet.php function query() where I commited those lines:
        $where = $this->generateWhere();
        if ($where->hasStatement()) {
            $builder->whereRaw($where->getStatement(), $where->getParameters());
        }

I get all the records, but, without errors.
Seems like something change in the model when isn't applicated the $where.

Thank you again!

Hi @27pchrisl
I did a new test, and work for me.
In src/Drivers/SQL/SQLConnection.php
        if ($dbh->getAttribute(PDO::ATTR_DRIVER_NAME) === SQLEntitySet::SQLServer) {
            $dbh->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_SYSTEM);
        }

I changed to:
        if ($dbh->getAttribute(PDO::ATTR_DRIVER_NAME) === SQLEntitySet::SQLServer) {
            $dbh->setAttribute(PDO::SQLSRV_ATTR_ENCODING, PDO::SQLSRV_ENCODING_UTF8);
        }

Even if I comment those two lines works without problems.

Could you considered change the code in SQLConnection.php ?
Thanks !

Hi @27pchrisl
I did new tests with the 5.x-dev version, and work.
Thanks!


Code error in the "Extending Thymeleaf" tutorial

I think there is a mistake in the 3.2 section.
The first code example is showing how to add a class to a tag:
if (attributeValue != null) {
    structureHandler.setAttribute("class", attributeValue + " " + newValue);

The attributeValue, though, is not the current class value but (I think) the current tag value.
The correct code should be
String currentClass = tag.getAttribute("class").getValue();
if (currentClass != null) {
    structureHandler.setAttribute("class", currentClass + " " + newValue);

I think you're right: attributeValue is the value given to the tag processor, which in the examples is the iteration expression ${tStat.count} and not the current class.
I'll apply your correction to our docs soon.  Thanks for letting us know! 👍


[Bug report]: white screen at init

Platform
Desktop
Version
2.0.0
Description
White screen when I try to initiate the wallet.
Expected behaviour
Normal first initation
Actual behaviour
White screen since the beginning
Can the issue reliably be reproduced?
No
Steps to reproduce the issue
No response
Operating System
Windows
Diagnostics
default

Developer Profile
No
Profile Type
Hardware (Ledger)
Staking
No response
Crash Status
White screen
Error Messages
No response
Error Logs
No response
Duplicate declaration

[X] I have searched the issues tracker this issue and there is none

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Make sure to install the latest VS C++ Redistributables

I am experiencing this issue.  Completely white window not resolving, every launch.  I installed the latest VS C++ Redistributables package from microsoft to no effect.

I am experiencing this issue. Completely white window not resolving, every launch. I installed the latest VS C++ Redistributables package from microsoft to no effect.

Same probleme here
W10 all updates etc

I reinstalled graphics drivers and changed my resolution and it works!!!


Updated dependencies and changed to english

English is a highly requested language for most apps, but you don't need to merge this because it would change it for yourself as well.

Thanks for your advice.  I'll put the English doc (based on your version) alongside with Chinese doc in the same readme file, so when people open the repository, they can read either Chinese or English.


Made default-content padding apply when not in "padded" section

Made default-content padding apply to sections that are not already "padded" (narrow, narrower)
Introduced this padding here https://github.com/hlxsites/sunstar-foundation/pull/56

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fixes #
Test URLs:

Original: https://www.sunstar-foundation.org/about-us/message

Before: https://main--sunstar-foundation--hlxsites.hlx.live/about-us/message

After: https://default-content-padding-sections--sunstar-foundation--hlxsites.hlx.live/about-us/message

[ ] New Blocks introduced in this PR
If yes, please provide details below

Block Name
Documentation

For e.g. cards
doc-link

[ ] New variations introduced in this PR

Variation Name
Documentation

For e.g. cards (grid)
doc-link

If there's any section I missed let me know

ok, perhaps then you can try ...

Yeah so what I'm afraid will happen is that we might add another section that has padding, and we won't update the css introduced in this PR and we'll get double padding again.
I tried to find a generic approach but couldn't come up with anything that would avoid this problem, as even if I deal with it in js somehow, I'd still need the list of "padded" sections that would require updating
Admittedly, I think we're fine with the sections we have now, I don't think we have the need for another one, so I went with your suggestion 👍


Handle COPY commands as per open-vcdiff implementation.

The COPY command can copy data from:

source only
source and target
target only.
The original implementation assumed source only.

Any movement on this?

I missed that the commits had been squashed. I'll get to looking at this again soon!