The operation requires a selected developer portal team

Xcode version: 8.2.1
Mac OS: 10.11.6
xcov version: xcov 0.12.5
$ xcodebuild -workspace Vodka.xcworkspace -scheme Vodka -destination 'platform=iOS Simulator,name=iPhone 6 Plus' -configuration Debug -derivedDataPath 'build' test
.....
Executed 2 tests, with 0 failures (0 unexpected) in 411.383 (411.388) seconds
** TEST SUCCEEDED **
$ xcov -w Vodka.xcworkspace -s Vodka --configuration Debug -o xcov_output
[11:42:58]: $ xcodebuild -list -workspace Vodka.xcworkspace -configuration Debug
[11:42:59]: Skipping file blacklisting as no ignore file was found at path ./.xcovignore
+-----------------------------+-------------------+
|             Summary for xcov 0.12.5             |
+-----------------------------+-------------------+
| workspace                   | Vodka.xcworkspace |
| scheme                      | Vodka             |
| configuration               | Debug             |
| output_directory            | xcov_output       |
| html_report                 | true              |
| markdown_report             | false             |
| json_report                 | false             |
| minimum_coverage_percentage | 0                 |
| ignore_file_path            | ./.xcovignore     |
| include_test_targets        | false             |
| skip_slack                  | false             |
+-----------------------------+-------------------+
[11:42:59]: $ xcodebuild clean -showBuildSettings -workspace Vodka.xcworkspace -scheme Vodka -configuration Debug
2016-12-27 11:43:01.010 xcodebuild[17247:761697] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-11758/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/Capabilities/Xcode3TargetCapabilitiesContext.m:292
Details:  Failed to expand identifiers "{(
"group.com.beastbikes.ios"
)}": Error Domain=IDECapabilitiesErrorDomain Code=1 "The operation requires a selected developer portal team." UserInfo={NSLocalizedDescription=The operation requires a selected developer portal team., NSLocalizedRecoverySuggestion=}
Object:   <Xcode3TargetCapabilitiesContext: 0x7f9d8dc7f6a0>
Method:   -_appIDFeatureStateIncludingEntitlements:
Thread:   <NSThread: 0x7f9d8a50f020>{number = 1, name = main}
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
2016-12-27 11:43:01.014 xcodebuild[17247:761697] [MT] DVTAssertions: Warning in /Library/Caches/com.apple.xbs/Sources/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-11758/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/Capabilities/Xcode3TargetCapabilitiesContext.m:292
Details:  Failed to expand identifiers "{(
"group.com.beastbikes.ios"
)}": Error Domain=IDECapabilitiesErrorDomain Code=1 "The operation requires a selected developer portal team." UserInfo={NSLocalizedDescription=The operation requires a selected developer portal team., NSLocalizedRecoverySuggestion=}
Object:   <Xcode3TargetCapabilitiesContext: 0x7f9d8dc7f6a0>
Method:   -_appIDFeatureStateIncludingEntitlements:
Thread:   <NSThread: 0x7f9d8a50f020>{number = 1, name = main}
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.
[11:43:01]: Unable to find any .xccoverage file.
[11:43:01]: Make sure you have enabled 'Gather code coverage' setting on your scheme settings.
[11:43:01]: Alternatively you can provide the full path to your .xccoverage file.
Looking for related GitHub issues on fastlane/fastlane...
Found no similar issues. To create a new issue, please visit:
https://github.com/fastlane/fastlane/issues/new
Run fastlane env to append the fastlane environment to your issue

@Hellengo Actually, xcodebuild is the one requiring a selected Developer Portal. xcov doesn't need it directly.
In this case, it seems like xcov couldn't find .xccoverage file because of the custom DerivedData path.
Please try to run xcov again specifying the DerivedData path.
Like so:
xcov -w Vodka.xcworkspace -s Vodka --configuration Debug -o xcov_output --derived_data_path 'build'

Also, to make sure .xccoverage file is generated you can run the tests with -enableCodeCoverage YES appended to xcodebuild command:
xcodebuild -workspace Vodka.xcworkspace -scheme Vodka -destination 'platform=iOS Simulator,name=iPhone 6 Plus' -configuration Debug -derivedDataPath 'build' -enableCodeCoverage YES test

@Hellengo Have you figured this out?

thx，yes it's succeeded. but the report has some questions, like this

but really result like this

@Hellengo Can you please share with us xcov's output and .xcovignore file (if there is one)?


elasticsearch and db container continuously stopping one after another for Magento 2 setup (exited with code 137)

Hi
I have set up M2 with warden on my Mac.
call_db_1 exited with code 137
call_elasticsearch_1 exited with code 137

Magento is running on 2.4.0.

This only happens when the crons are set to run using the below command.
bin/magento cron:install
The site works fine when crons are disabled.

@VivekShingala, why do you need to run the cron jobs on the local machine? :)

Hi @ihor-sviziev
I had to run it because it only worked when I run it using n98 command but the new crontab I set is never get scheduled using the crons. any idea? I also tried creating a custom group but cron is not scheduled.
n98-magerun2.phar sys:cron:run cancelorder_cancel

@VivekShingala, I woule recommend you installing some UI for the cron jobs, it would be more informative why it's not running. There might be some failure, or different cron schedule, etc.

Thanks @ihor-sviziev, I will check it

If I recall correctly, exit code 137 from docker frequently means it was sig killed with an OOM error. If that's the case, you'd likely see an OOMKilled true in the state section of docker inspect call_db_1. Should this be the case, either do as @ihor-sviziev suggested and manually run the cron jobs, alternatively you'll need to give Docker Desktop more memory in preferences or find other unrelated containers to shutdown (if you have multiple environments running, for example)


Fixed github/editor tests to close tempFile handle

Since the handle wasn't being closed before the Editor.Edit() function ran, os.Remove() would fail since there's still a handle open for the file. By closing the handle earlier we fix this test.

Looks like this was fixed with https://github.com/github/hub/commit/4941e644df5b0aa839d66ed79316252f0d34dd6e


Set check overlapping residue as an option

Sometimes, residue numbering of multiple chains starts at 1 in a same .gro file.
Checking the overlap of residues between multiple graphs (molecules) in not pertinent in this case, as the verification procedure is based on residue ids.
This PR sets the overlapping verification as optional.

@pierrepo I can't merge this review, I have a conflict

ok, I'm handling it.

@KarinDuong this should be ok now


[main] Fix Serverless Workflow VSCode Extension not saving SVG files on Windows

@tomasdavidorg This fix was merged in 0.21.0, so you can try 0.20.0 if you want to reproduce.

Thanks @paulovmr, I was able to reproduce it on 0.20.0. 🙂


How to return a string from numi.addFunction()?

How do I return a string from numi.addFunction()?
numi.addFunction({ "id": "fooFunc", "phrases": "fooFunc" }, function(values) {
...
  return { "string": "some string" };
};

@rmangino no way ATM. Think should be fixed with next update.

Great - thank you.

@rmangino will close on completeness :)

hm.. no dice? wanted to implement base64encode and base64 decode, would be very useful


Support HTTPS in playback server

Describe the feature
Related: #2547

Please check bug #3206

Please check and repair bug #3206


Fix wrong references of document

I fix wrong references using nitpicky mode of Sphinx.
Enable nitpicky mode is suggested (#657), but it is a bit difficult to fix all warnings.
Therefore, I first write PR about fixing easy errors.

jenkins, test this please.


Ret 2792 new

Before creating a pull request make sure that:

[ ] commit messages are meaningful and follow good commit message guidelines
[ ] README and other documentation has been updated / added (if needed)
[ ] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link (if applicable)
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Could you please try adding some unit tests around this?

added


⚠ Bofrost.es has degraded performance

In 7af9822, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1870 ms

Resolved: Bofrost.es performance has improved in 05feaa6.


Sprite sheet animation not running in SpriteAnimationWidget

Hi everyone, this engine is amazing. Just hitting a small problem with the SpriteAnimationWidget. Any help would be massively appreciated.
Current bug behaviour
The animation only displays the first frame of a spritesheet that is loaded from cache.
Expected behaviour
The animation should play through the sequence
Steps to reproduce
import 'package:flame/sprite.dart';
import 'package:flame/widgets.dart';
import 'package:flutter/material.dart';
import 'package:flame/flame.dart';

class EntityCard extends StatefulWidget {
  final Map<dynamic,dynamic> entity;
  const EntityCard(this.entity, {Key? key}) : super(key: key);

  @override
  State<StatefulWidget> createState() {
    return EntityCardState();
  }
}

class EntityCardState extends State<EntityCard> {

  @override
  Widget build(BuildContext context) {

    var image = Flame.images.fromCache('entity_backgrounds/aura_9_color_1_strip42.png');
    final spritesheet = SpriteSheet.fromColumnsAndRows(
      image: image,
      columns: 42,
      rows: 1
    );
    final animation = spritesheet.createAnimation(
        stepTime: 0.1,
        row: 0,
        loop: true,
        from: 0,
        to: 42
    );

    return Stack(
      alignment: Alignment.center,
      children: [
        Container(
          color: Colors.black26,
          width:1581,
          height: 562,
          child: SpriteAnimationWidget(
            playing: true,
            anchor: Anchor.center, animation: animation,
          ),
        )
      ],
    );
  }
}

Flutter doctor output
Flutter doctor is all green
More environment information

Flame version: 1.4
Platform affected: tested on linux, web

It seems to work here: https://examples.flame-engine.org/#/Widgets_Sprite Animation Widget
Have you tested your SpriteAnimation in a normal SpriteAnimationComponent?

Thanks for the reply. If i use that code from the sample it comes up blank. The SpriteAnimationWidget.asset() doesnt work for me and i have to use SpriteAnimationWidget() which only loads the first frame. Will try with the SpriteAnimationComponent thanks.

What does your spritesheet look like?


version 0,.26 showing error

i have just upgraded to 0.26 react-native but showing error.Can u help me on this

I think, update to 0.26-wip could help for now

how to do that can u suggest?

npm i<EMAIL_ADDRESS>

@gmchaturvedi1
In General  ...super expression must be either null.. means that one ore more of your external dependencies are using legacy React import due to breaking changes in RN0.26

Agree with @rturk this is usually because a dependency does import Foo from 'react-native', and then extends Foo.Component, which no longer exists since RN 0.26.
Also things may have stabilized since two days ago, so give the upgrade another try.


terminate pipeline when action drop is encountered

i have a case with eni deny action, but i see BMv2 goes through all the stages irrespective , why is not exiting and dropping the packet right there. dash_ingress.eni_lookup_stage.deny
[20:01:38.109] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.accept -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline271 -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.direction_lookup_stage.set_inbound_direction -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.110] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is eni_lookup31_0 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is eni_lookup31_1 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.eni_lookup_stage.deny -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is eni_lookup36 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline287 -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.deny -
[20:01:38.111] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline296 -
[20:01:38.112] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is do_tunnel_decap -
[20:01:38.113] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline305 -
[20:01:38.114] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline315 -
[20:01:38.115] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline324 -
[20:01:38.115] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.set_eni_attrs - 0,0,0,1,0,dd010000,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
[20:01:38.117] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline337 -
[20:01:38.117] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act -
[20:01:38.117] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is ha91 -
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.set_acl_group_attrs - 0,
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline352 -
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_3 -
[20:01:38.118] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is push_vxlan_tunnel_u0 -
[20:01:38.120] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_inbound37 -
[20:01:38.120] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.120] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_4 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is routing_action_nat46l27 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_5 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is routing_action_nat64l23 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is act_6 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is routing_action_static_encap34 -
[20:01:38.121] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_pipeline363 -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is metering_update83 -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is NoAction -
[20:01:38.122] [bmv2] [D] [thread 25] [27604.0] [cxt 0] Action entry is dash_ingress.drop_action -

Reason: Once we add the flow in the pipeline, then FastPath.  If we have resimulation, the flow becomes invalid and needs to transit pipeline again.  Get rid of the flow.  Next packet will not hit a flow, transit pipeline, hit ACL, etc...  this is needed to carry the drop decision all through the pipeline.

checking in @r12f

hi @r12f - do we need some help here to change the job function to move the Stage to the Pre-Action Stage?


[Windows 11] What's next after bundle the IDE into an executable?

I bundled the IDE into an executable using the instruction https://github.com/voideditor/void/blob/main/CONTRIBUTING.md#bundling.
Where can I find the executable file for the IDE other than the bat file under the script folder?

my stupid mistake, compiled the wrong version.


HAWQ-1628. Fix a bug in build in cassert mode

HAWQ-1628.Fix a bug in build in cassert mode

Thanks for the fix. Please make sure the merge commit is not included before push into master.
I will verify the failed tests in my environment again, will let you know when they are passed.

+1

@oushu1wangziming1 Actually from my CI, I can see the HAWQ init start to fail since commit:
author
oushu1wangziming1
author_date
2018-07-17 15:43:36 +0800
branch
master
commit
1c189fc12bf357bed36a4ef85d973a49eb26cd28
message
Add hdfs protocol for pluggable storage framework
Error log:
20180816:07:37:01:001674 hawqinit.sh:a93cd333-6367-4afe-6511-95bfc5a84af8:gpadmin-[INFO]:-Loading hawq_toolkit...
[FATAL]:-Failed to create the hawq_toolkit schema in template1.
20180816:07:37:01:001433 hawq_init:a93cd333-6367-4afe-6511-95bfc5a84af8:gpadmin-[INFO]:-20180816:07:37:01:001674 hawqinit.sh:a93cd333-6367-4afe-6511-95bfc5a84af8:gpadmin-[INFO]:-Loading hawq_toolkit...
[FATAL]:-Failed to create the hawq_toolkit schema in template1.
20180816:07:37:01:001433 hawq_init:a93cd333-6367-4afe-6511-95bfc5a84af8:gpadmin-[WARNING]:-psql:/tmp/_gp_toolkit_tmp_20180816_073701:323: ERROR:  cannot recognize full formatter option list
20180816:07:37:01:001433 hawq_init:a93cd333-6367-4afe-6511-95bfc5a84af8:gpadmin-[ERROR]:-Master init failed, exit


Spevacus: Watch happyfestivals.com

Spevacus requests the watch of the watch_keyword happyfestivals\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

happyfestivals\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Mast in Charcoal HQ


Update user-access.md

https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/4524
Removed it because I think this tool is not free anymore:
https://www.jijitechnologies.com/office365-admin.aspx

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@LolaJacobsen PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Function Proxy returns 502 when HTTP function returns StreamContent

Investigative information
Please provide the following:

Timestamp: 2017-07-12T06:17:46.561
Invocation ID: 9ea94f4e-116b-4584-84d9-30f78f43eab8
Region: Australia East

Repro steps
Function proxy and function to dynamically return resized image. Basically to sit behind a CDN but only resize images to sizes that are requested. Example request might be https://my-function/images/my-image.jpeg?width=100

Proxy setup with route template {*path} for GET request
Backend URL as https://my-function/api/function-name?path={path}&width={request.querystring.width}
Function code as C# Http Trigger as follows with a Nuget dependency on "ImageResizer"

#r "Microsoft.WindowsAzure.Storage"

using System.Net;
using System.IO;
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Storage;
using ImageResizer;
using System.Net.Http.Headers;

public static CloudStorageAccount storageAccount = CloudStorageAccount.Parse("storage-connection-string");

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
    var blobClient = storageAccount.CreateCloudBlobClient();

    var query = req.GetQueryNameValuePairs();
    string filePath = query
        .FirstOrDefault(q => string.Compare(q.Key, "path", true) == 0)
        .Value;

    log.Info(string.Join(", ", query.Select(q => q.Key)));
    log.Info(string.Join(", ", query.Select(q => q.Value)));

    var pathComponents = filePath.Split('/');
    var containerName = pathComponents[0];
    var blobPath = string.Join("/", pathComponents.Skip(1));

    log.Info($"Requesting {blobPath} in container {containerName}");

    var container = blobClient.GetContainerReference(containerName);

    var blockBlob = container.GetBlockBlobReference(blobPath);

    if (!(await blockBlob.ExistsAsync()))
    {
        log.Error("Blob doesn't exist");
        return new HttpResponseMessage(HttpStatusCode.NotFound);
    }

    using (var memoryStream = new MemoryStream())
    {
        var resizeSettings = new Instructions();
        if (int.TryParse(query.FirstOrDefault(q => string.Compare(q.Key, "width", true) == 0).Value, out var width))
        {
            resizeSettings.Width = width;
        }

        var imageBuilder = ImageResizer.ImageBuilder.Current;
        var readStream = await blockBlob.OpenReadAsync();
        var job = new ImageJob(readStream, memoryStream, resizeSettings);
        job.Build();

        // Move stream to zero so response can read from start
        memoryStream.Seek(0, SeekOrigin.Begin);

        log.Info("Returning blob content stream " + blockBlob.Properties.ContentType);

        var response = new HttpResponseMessage(HttpStatusCode.OK);
        response.Content = new StreamContent(memoryStream);
        response.Content.Headers.ContentType = new MediaTypeHeaderValue(blockBlob.Properties.ContentType);
        return response;
    }
}

If I write the stream to a file locally, the resized image is as expected so the resize step into the MemoryStream seems to be working as expected.
Expected behavior
Resized image should be returned from the HTTP resposne
Actual behavior
The page shows "502 - Web server received an invalid response while acting as a gateway or proxy server."
n.b. if I just do
var response = new HttpResponseMessage(HttpStatusCode.OK);
return response;

without adding the content and content type, the page shows 200. It's only if I add the StreamContent that I get the 502 error.
Known workarounds
None yet
Related information
Provide any related information

Programming language used: C#
Bindings used: Http Trigger & Proxies

@damienpontifex Did you ever find a workaround for this?

I do not think it's a good idea to dispose of the memory stream.


Fix labelprefix not working properly with latest changes in biblatex

This fixes a regression caused by https://github.com/plk/biblatex/commit/6338b39d3a2bea5cfc1047dcaecc3dec1e5bccfa and https://github.com/plk/biblatex/commit/1f4803806162bc87f10690269e9bbb1554b9061d in the biblatex package, which since Oct 2018 uses MD5 hashes to encode label prefixes.
Before this change, any bib entries included in a bibtabular would show up as [EA57D51A5...1],
since the reference context created does not use the \blx@refcontext@labelprefix@real command
that returns the regular, unhashed labelprefix.
MWE:
\documentclass{article}

\usepackage[style=numeric,defernumbers=true]{biblatex}
\usepackage{biblatex-ext-tabular}

\addbibresource{test.bib}

% Quickly define a tabular style
\defbibtabular{bibtabular}{
	\begin{tabular}
		{|l|p{8cm}|}
		\hline
		Author & Reference \\
		\hline
	}
	{\end{tabular}}
{\anchorlang{\usebibmacro{tabular:sortname}} &\driver{\usebibmacro{tabular:omitsortname}} \\ \hline}

\begin{document}

 % Start a reference context where every citation has to be prefixed by 'A'
\begin{refcontext}[labelprefix=A]
	\cite{Knuth1984} % should show [A1]
	\printbibtabular
\end{refcontext}

\end{document}

And a proposed workaround using \patchcmd to perform the change without editing the source file of the library:
\makeatletter
\patchcmd%
	\extblxtab@printbibtabular% % Patch the internal \printbibtabular command
	{{\blx@refcontext@labelprefix}}% % Find the label prefix in the \blx@xml@dlist@refcontext call
	{{\ifdef{\blx@refcontext@labelprefix@real}{\blx@refcontext@labelprefix@real}{\blx@refcontext@labelprefix}}}% % Replace it with the actual, non-MD5 label prefix (if this functionality has been implemented)
	{}{}
\makeatother

Ah, that's annoying.
Thank you very much for reporting this issue and providing a fix as well. I shall have a closer look later. On first glance I'm not too happy about having to use \ifdef at that point, but I can't think of a better solution at the moment.

Thanks for the prompt response!
Just for some context, the \ifdef (or I'm guessing any similar command would do) takes care of \blx@refcontext@labelprefix@real not existing between August and October 2018 in biblatex. Perhaps making an auxiliary definition somewhere outside would work better.

This should hopefully be fixed in https://github.com/moewew/biblatex-ext/commit/e90704a19fcd2373155549e8a6938fece3e80001.
The fix for the issue is just the change https://github.com/moewew/biblatex-ext/commit/e90704a19fcd2373155549e8a6938fece3e80001#diff-7f495f11a90fe29c592d0cd8ef1740f8R103 to
https://github.com/moewew/biblatex-ext/blob/e90704a19fcd2373155549e8a6938fece3e80001/biblatex-ext-tabular.sty#L103
Backwards compatibility with previous biblatex versions is retained with
https://github.com/moewew/biblatex-ext/blob/e90704a19fcd2373155549e8a6938fece3e80001/biblatex-ext-tabular.sty#L67-L69
(instead of \ifdef) right when the labelprefix is used. This is essentially the idea of creating the auxiliary definition outside that you mentioned.

As a general point, it should be noted that \printbibtabular needs to use some pretty internal stuff, so at some point it might simply not be viable support older biblatex versions if the code should keep in sync with newer biblatex versions. For now it should work if biblatex is not too old, but stuff is only really tested with the current release. There is now https://github.com/moewew/biblatex-ext/commit/94a26d43c3951f43b1413469671d37e472d44a6d that warns if biblatex is older than the recommended version (similar to what the styles already do).

Thank you for this! (I think this PR can be closed now - also, just in case, I made sure that the changes work on my system too)

Version 0.8e with the fix has been sent off to CTAN a few minutes ago. It will hopefully be available in TeX live and MikTeX in a few days.
Thank you for reporting this issue and taking time to test the fix. I'm closing this PR, but if anything else comes up, please open a new issue.


Update to eth-tester 0.1.0-beta.39

According to the changelog this sets the default VM rules to Constantinople

eth-tester 0.1.0-beta.39 causes some version inconsistency https://github.com/raiden-network/raiden-contracts/pull/876#issuecomment-484396973 .  The next step: somehow figure out the versions, or wait for the 0.1.0 release.

web3 package up to 4.9.2 has version conflicts with the new eth-tester.  web3 from 5.0.0a1 has a circular dependency web3 => ethpm => web3.

But I don't care about the circular dependency.  So filing a PR: https://github.com/raiden-network/raiden-contracts/pull/891

I'll wait till web3>=5.0.0 is available (maybe beta is good enough).


Update the logo

I have seen a beautiful logo but the XMPP logo has been updated last year, can you update it too?
https://github.com/ortuman/jackal/blob/master/doc/gopher.png
Source: https://commons.wikimedia.org/wiki/File:XMPP_logo.svg

Sorry, but I don't see any clear difference between the current logo and the one included in the README.md file

@ortuman there was an issue in the XMPP Logo where the "arms" were being rendered in the wrong order. In your logo the orange color of the right arm renders over the left, even though in general the left arm is over the right. This has been fixed in the version of the logo on the XSFs site.

Good point @SamWhited! I'll fix it asap. Thx!

Fixed.

@ortuman: Can you update the logo a new time?
There were 2 changes in the XMPP logo, please look here:

https://commons.wikimedia.org/wiki/File:XMPP_logo.svg

Old version, there was a problem: https://i.ibb.co/vcqmc8b/xmpp-logo-xsf-test.png


fix SEI KB article

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: __________________________________
Jira/GitHub Issue numbers (if any): ______________________________
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66b452654a01a292255e2f81--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://66b4bba1f15f30075caac79a--harness-developer.netlify.app


TypeError: i.a is not a constructor

Hello,
Your v2-table is really awesome! But I am getting an error while trying to use it in a single html page design, could you please provide me some suggestions? This is what I did:

Vue.use(V2Table);
[Vue warn]: Error in nextTick: "TypeError: i.a is not a constructor"
found in
--->  at src/components/table.vue

Best,

which version you used?

Excellent Catch! My bad I did not noticed that, thank you very much for your help!
Best,


Add android specific orientation

As react-native-orientation seems to be unmaintained we're pulling through this from this fork

Ignore, pr'd the wrong repo


INT(4) Datatype via ODataModel v2 breaks XML-parsing when returning data

OpenUI5 version: 1.44
Browser/version (+device/version): Firefox 56, Chrome 63, ...
Any other tested browsers/devices(OK/FAIL):
URL (minimal example if possible):
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:
SAP:

Create data-element based on built-in data-type INT4
Use this element in a structure
use this structure (import it) in the SEGW transaction
Data-Element is mapped to EDM-Coretype EDM.Int32
publish the entity on the gateway

UI5:

Update /  Create an Entity which includes the element.
If it keeps its initial value, its postet/put back without semicolons, otherwise its enclosed with "
If it's enclosed, the Gateway will fail to transform the element back into the Edm.Int32 type and returning:

{"error":{"code":"CX_SXML_PARSE_ERROR/001560AA0E081DEB8CA398CC1690D406","message":{"lang":"de","value":"Fehler beim Parsen eines XML-Streams."},"innererror":{"application":{"component_id":"...","service_namespace":"/SAP/","service_id":"Z_..._SRV","service_version":"0001"},"transactionid":"4A7499F0EC220000E0059A663BEF705A","timestamp":"20171013074057.3317160","Error_Resolution":{"SAP_Transaction":"Run transaction /IWFND/ERROR_LOG on SAP Gateway hub system and search for entries with the timestamp above for more details","SAP_Note":"See SAP Note 1797736 for error analysis (https://service.sap.com/sap/support/notes/1797736)"},"errordetails":[]}}}

What is the expected result?
Either UI5 returns the value without encapsulation; or the Gateway knows how to transform the Value back to an EDM.Int32.
At least a hint to "which element killed the parser" in the error log would be nice.
What happens instead?
Gateway dies with generic error message, leaving it up the the developer to find out what went wrong.
At least the position of the problematic character is given, but as the request is generated by UI5, the only solution is to move the underlying structure to another data-type.
Other Information:
Works:
..."IAmount":12, ...

Breaks: (but thats what UI5 generates under the given circumstances)
..."IAmount":"12", ...

Which OData model do you use? I assume this is V2?

yes. V2 OData Model on a V2 OData Service.

@ThomasChadzelek
I am logging the question for internal discussion via ticket #1770512644.
@dmnk Updates will be posted here as well.

@dmnk Can you please create an incident with more details about the data structure and post the ID of the ticket here?
It will be easier to exchange information. At the end we will update this GitHub issue for anyone interested.
Thanks

@stephania87 the incident got the ID<PHONE_NUMBER>00005107292017
Thanks for keeping me updated

To summarize the solution provided by my colleagues:
If the field is used in a binding to a property of a control, add type  "sap.ui.model.odata.type.Int32" to the binding, as the conversion is not done automatically with the v2 oData model.


Health Bar Position

Describe your problem here.
I want to move the health bar, similar position to the fight or flight health bar position. Anyone know how to do this? Thanks.
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Nope

Search issues before making one #9738

Search issues before making one #9738

Thank you, and yes, i did search issues, at the time i didn't see that one.


Pagination cleanup

@jeffbaumes Fixes #117 and #118

Works as expected - not seeing search count overflow and bottom controls look good - LGTM.


fix the issue of #772 (Can't acquire memory from spark Memory Manager)

What changes were proposed in this pull request?
The init method should be synchronized and the OapRuntime object is created only when the rt is null to make sure the OapRuntime object be created only one time.
How was this patch tested?
pass the unit test of OapRuntimeSuite

@LuciferYang @carsonwang @gczsjdy please help review again, thanks.

Thanks @JkSelf . Merging..

@carsonwang  does the v0.4 need this patch also ?

@LuciferYang Yes, I have pushed to branch-0.4

@gczsjdy thx~


Higher-level image classifier saliency generator interface

I just want to clean up those LGTM/SonarCloud remarks, and then I'll be good to go

@brianhhu Something that I didn't really touch on here is interface naming clarity. It's still seems to me that the names GenerateImageClassifierBlackboxSaliency and ImageClassifierSaliencyMapGenerator are two similar such that, if I didn't help write the interfaces, I would not know which does which. I think the "lower-level" interface (ImageClassifierSaliencyMapGenerator) would make more sense to rename.
How does GenerateClassifierConfidenceSaliency sounds? The idea being that this interface deals solely in input confidences that are already computed. I will take alternative suggestions.

I also missed adding the impl to the plugin export list, so I'll fix that as well

I also missed adding the impl to the plugin export list, so I'll fix that as well

Fixed.

How does GenerateClassifierConfidenceSaliency sounds? The idea being that this interface deals solely in input confidences that are already computed. I will take alternative suggestions.

Yeah, I agree the current naming scheme might be confusing. Don't we have a related card on the board this sprint for guidelines on interface/implementation naming? If we go with the GenerateClassifierConfidenceSaliency pattern, what would be the equivalent for the renamed similarity and detection interfaces?

Somewhat related thought, maybe we should change the new interface from GenerateImageClassifierBlackboxSaliency to GenerateImageClassifierSaliency? This would also require changing the blackbox input parameter to classifier? This opens the door to at least the possibility of non-black box based saliency methods (which are probably out of scope for our current project, but hopefully implementable by others).

Don't we have a related card on the board this sprint for guidelines on interface/implementation naming?

Yes we do. I was thinking that the renaming of the now-ambiguously-named class would pertain more to this PR, but I can just as easilly slide that change into the branch that provides that documentation + surrounding changes.

Somewhat related thought, maybe we should change the new interface from GenerateImageClassifierBlackboxSaliency to GenerateImageClassifierSaliency? This would also require changing the blackbox input parameter to classifier? This opens the door to at least the possibility of non-black box based saliency methods (which are probably out of scope for our current project, but hopefully implementable by others).

I'm a little wary about compounding white- and black-box methods into the same interface. At this level, doing that would cause this interface to be too general: classifier would basically become a void* outside of the basic API the interface exposes. White box methods are going to require something much more specific than the ClassifyImage interface to operate in a stable manner. When supporting white-box methods, the input type ought to formally provide the intrinsic properties that the white-box method(s) require, e.g. the pytorch network module and/or specific layers.

We discussed this offline, and I think our general conclusion was for keeping GenerateImageClassifierBlackboxSaliency for the high-level interface and something like GenerateClassifierConfidenceSaliency for the low-level interface.

@Purg and I discussed this offline, and I think our general conclusion was for keeping GenerateImageClassifierBlackboxSaliency for the high-level interface and something like GenerateClassifierConfidenceSaliency for the low-level interface.

I will use that name change in the upcoming PR that adds interface/class naming rules to the CONTRIBUTING.md as well as updates to the appropriate existing interfaces/classes to follow the rule.


Preserve S3 metadata/headers

In my tests, it seems like the S3 metadata, which S3 serves as HTTP headers, is lost. This is a big thing, esp. if one have carefully assigned Cache-Control values to very static content such as CSS etc.

Cache files are served at https://github.com/alexandres/poormanscdn/blob/master/cache.go#L169 by Http.ServeContent. It is possible to set headers on ResponseWriter before calling Http.ServeContent.
We would have to store the headers in the database under a different namespace.
Should all metadata be stored and returned when serving cached files?

Should all metadata be stored and returned when serving cached files?

I can do some investigating, but I don't see how you can filter it. Also, I realize that I Gzip all my content, and without the Content-Encoding header, it is not working.

I can create a suggested PR for this.

I can do some investigating, but I don't see how you can filter it.

We'll have to cherry pick the headers that we want to preserve. Perhaps a PreserveHeaders config option where you specify which headers from S3 should be saved along with the file.

I can create a suggested PR for this.

That would be great. For the database bit, I would recommend adding a prefix to the keys in  the database.*File methods. Then store the metadata using a different prefix for the same path by either

create new methods database.*Metadata to store the headers, get, and delete the headers.

or

accept the headers as an extra parameter in database.PutFile and make sure to delete them in database.DeleteFile, and return them in a new method database.GetMetadata.

Since headers are small, it seems reasonable to store them as is (couple of lines) and cherry-pick them at runtime in a single pass.
Another thing to consider is that when the server starts it reads the entire cache directory and adds files to the database if they are not already there. With metadata, this would have to change to delete file if they are not in the database.

I would prefer that you were a little less specific in your requirements -- this is open source and open source should be fun and interesting; coding by colours is not fun and interesting. I have 15+ years worth of developers experience. I suggest you wait with your comments until you see a PR.

Sorry @bep. I am a little new to this whole process. I've been trying to whiteboard solutions with you to make it easier to contribute, but I might be overdoing it. I will see if I there any resources on open source etiquette so I don't step on anyone's toes.

Yes, it can be a hard balance. As to this issue; I starting implementing it, but looking at the cache logic, I think I will just create a simpler "static site proxy" that better suits my use case. I guess you still need to fix this header issue for your main use case.

I didn't quite understand the gzip encoding problem. poormanscdn should read the gzip response from S3 and write an uncompressed version to disk. It will then serve a non-gzipped cached version. It should be easy to add gzip support for cached files (something like https://github.com/shurcooL/httpgzip/blob/master/gzip.go ).
I've never had to use Cache-Control either so this hasn't been an issue for me. Go's http.ServeContent uses the file's modified times to set the Last-Modified header so as to support browser caching but I can see how for static sites you could generate immutable files and benefit from Cache-Control for better caching.
Did you run into issues with the implementation?

Both header passthrough and gzip support added in https://github.com/alexandres/poormanscdn/commit/75421a1cf900a285a8a27edf5faf013c14a6fc74


DCP RFC #2

I'll leave comments inline.
I used RFC #1 as the diff base... feel free to compare against master, obviously!

As before, there are some hacked-up godocs available at https://godoc.org/gopkg.in/opentracing/api-golang.v2/opentracing ...

So, I think once we've resolved the serialization and TraceContext interface-vs-struct issue, this is arguably ready to merge as a V0.1 thing. Agreed?

Agreed, looks good for 0.1. We can also start tracking individual issues and have debates there instead of in the middle of the code.

Alright... I did a bunch of minor cleanup stuff, and also made a few slightly-more-interesting changes:

I collapsed TraceContext (which had been a struct) and TraceContextID (which had been an interface) into a single TraceContext interface. The downside is that implementations will need to do the redundant work of figuring out what to do with "trace tags", but that might be an upside, too: maybe they're too expensive for some users, and this makes it easy to drop them while still using the rest of opentracing
I made marshaling and unmarshaling their own interfaces and took that functionality out of TraceContext proper
I split the process-identification parts of ProcessRecorder into their own interface, than embedded that in the (renamed) Recorder

I think this is good to go as v0.1. We can then get another language going (python? js? open to suggestions) and go from there.
Thanks, all!
Ben

I think I'll just merge this... if anyone (@yurishkuro or otherwise) has additional comments or concerns, I am 100% happy to revisit this code. Onwards...


lab is Slow

Hi,
I use git bash prompt as my prompt and today I gave it a try to alias lab as git and immediately I've noticed a major slow down every time I hit return. I also have hub installed and I've also tryed aliasing hub as git and didn't experienced the same issue.
I used brew to install both lab and hub.

@luisdavim This isn't lost on me, and needs to be addressed, I'll try to look into it before the next release. In the meantime there are a few things you can try which should help.

Upgrade to the latest version of lab (may have improvements depending on your current version)

Use unaliased git in your git_prompt functions (generally recommended). Mine look like this:

git_branch()
{
	if ! $(which git) rev-parse --git-dir > /dev/null 2>&1; then
		return 0
	fi

	echo $($(which git) branch 2>/dev/null| sed -n '/^\*/s/^\* //p')
}

git_prompt ()
{
	if ! $(which git) rev-parse --git-dir > /dev/null 2>&1; then
		return 0
	fi

	echo "($(git_branch))"
}
# export all these for subshells
export -f git_prompt
export PS1="\u@\h:\w \[\033[m\]\$(git_prompt)\n\$ "

Use git aliases instead of aliasing lab to git
https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases
This is the long term vision for lab, and I intend to make it the the sole way of aliasing with lab come 1.0

@luisdavim is this still an issue?

I'm going with "this is no longer a problem" :).  Please reopen if this is still an issue.

Yeah, I believe we've addressed various slowdown cases resulting from aliasing at this point.


ECDSA Wallet DKG initial implementation

Depends on: https://github.com/keep-network/keep-core/pull/2773
Refs https://github.com/keep-network/keep-core/issues/2758

Before we go too deep, do you think it makes sense to focus on contracts + tests in this PR and leave the deployment scripts for a separate PR?

@nkuba What do you think about changing the structure of contracts a bit to something like this:
import "./libraries/Wallets.sol";
import<EMAIL_ADDRESS>
contract WalletManager is CloneFactory {
	registerOperator() external;
	updateOperatorStatus() external;

	submitDkgResult(DKG.Result calldata dkgResult) external;
	approveDkgResult(DKG.Result calldata dkgResult) external;
	challengeDkgResult(DKG.Result calldata dkgResult) external;

	createNewWallet() external {
		wallets.addWallet()
	};
}

---------------------------------

library Wallets {

	struct Data {
		wallets[]
	}

	struct Wallet {
		(...)
	}

	addWallet(Wallet wallet) internal {
		wallets.push(wallet)
	}

	(... other wallets functions)
}

The above structure is similar to what we have in random beacon. I think WalletFactory does too much for being a factory and its name suggests that it creates new wallets which is fine but also does a bunch of other things.

@nkuba What do you think about changing the structure of contracts a bit to something like this:
import "./libraries/Wallets.sol";
import<EMAIL_ADDRESS>
contract WalletManager is CloneFactory {
	registerOperator() external;
	updateOperatorStatus() external;

	submitDkgResult(DKG.Result calldata dkgResult) external;
	approveDkgResult(DKG.Result calldata dkgResult) external;
	challengeDkgResult(DKG.Result calldata dkgResult) external;

	createNewWallet() external {
		wallets.addWallet()
	};
}

---------------------------------

library Wallets {

	struct Data {
		wallets[]
	}

	struct Wallet {
		(...)
	}

	addWallet(Wallet wallet) internal {
                Wallet wallet = Wallet(clonedWalletAddress)
		wallets.push(wallet)
	}

	(... other wallets functions)
}

The above structure is similar to what we have in random beacon. I think WalletFactory does too much for being a factory and its name suggests that it creates new wallets which is fine but also does a bunch of other things.

WalletFactory handles the creation of a new Wallet instance all the way through the DKG up to the Wallet activation on DKG result approval. IMHO it makes sense to implement it in WalletFactory contract.
What I imagine we add in the future is a WalletManager contract that will handle the wallets' lifecycle, so requesting WalletFactory for a new wallet creation, wallet selection and other state changes for the wallet e.g. wallet termination.

The current gas costs:
·-------------------------------------------|---------------------------|-------------|-----------------------------·
|            Solc version: 0.8.9            ·  Optimizer enabled: true  ·  Runs: 200  ·  Block limit: 30000000 gas  │
············································|···························|·············|······························
|  Methods                                                                                │
··················|·························|·············|·············|·············|·············|················
|  Contract       ·  Method                 ·  Min        ·  Max        ·  Avg        ·  # calls    ·  eur (avg)    │
··················|·························|·············|·············|·············|·············|················
|  StakingStub    ·  increaseAuthorization  ·      44858  ·      44870  ·      44869  ·         67  ·            -  │
··················|·························|·············|·············|·············|·············|················
|  WalletFactory  ·  approveDkgResult       ·     197524  ·     205585  ·     199820  ·         15  ·            -  │
··················|·························|·············|·············|·············|·············|················
|  WalletFactory  ·  challengeDkgResult     ·     194180  ·     215640  ·     198472  ·          5  ·            -  │
··················|·························|·············|·············|·············|·············|················
|  WalletFactory  ·  registerOperator       ·     205948  ·     342687  ·     210639  ·         67  ·            -  │
··················|·························|·············|·············|·············|·············|················
|  WalletFactory  ·  requestNewWallet       ·          -  ·          -  ·      84630  ·          9  ·            -  │
··················|·························|·············|·············|·············|·············|················
|  WalletFactory  ·  submitDkgResult        ·     453308  ·     573356  ·     492522  ·         46  ·            -  │
·-----------------|-------------------------|-------------|-------------|-------------|-------------|---------------·

Before we go too deep, do you think it makes sense to focus on contracts + tests in this PR and leave the deployment scripts for a separate PR?

Deployment scripts are required for the tests, as we use fixtures based on the deployed contracts.

|  WalletFactory  ·  submitDkgResult        ·     453308  ·     573356  ·     492522  ·         46  ·            -  │

I know it's still early but after the changes from #2768, shouldn't the cost be around 306979  ·     479157  ·     394890 ? What makes this difference?

|  WalletFactory  ·  submitDkgResult        ·     453308  ·     573356  ·     492522  ·         46  ·            -  │

I know it's still early but after the changes from #2768, shouldn't the cost be around 306979 · 479157 · 394890 ? What makes this difference?

Here is submitDkgResult gas costs breakdown:
dkg.submitResult                = 272110
+ createClone                   = 313313
+ wallets.push                  = 357616
+ wallet.init+hashGroupMembers  = 440060
+ emit WalletCreated            = 455295

Probably nitpicking, but in a lot of tests we don't start a context description with context("when something happens") but just context("something"). When running all the tests it reads:
something
 it should revert

but in BDD the proper way is:
when something happens
 it should revert

Here's the source

Current gas usages:
·----------------------------------------------|---------------------------|-------------|-----------------------------·
|             Solc version: 0.8.9              ·  Optimizer enabled: true  ·  Runs: 200  ·  Block limit: 30000000 gas  │
···············································|···························|·············|······························
|  Methods                                                                                │
·····················|·························|·············|·············|·············|···············|··············
|  Contract          ·  Method                 ·  Min        ·  Max        ·  Avg        ·  # calls      ·  eur (avg)  │
·····················|·························|·············|·············|·············|···············|··············
|  CloneFactoryStub  ·  createClone            ·          -  ·          -  ·      64548  ·            1  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  StakingStub       ·  increaseAuthorization  ·      44858  ·      44870  ·      44869  ·           67  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  Wallet            ·  activate               ·          -  ·          -  ·      48137  ·            2  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  Wallet            ·  init                   ·          -  ·          -  ·      93465  ·            7  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  Wallet            ·  sign                   ·          -  ·          -  ·      27742  ·            2  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  WalletFactory     ·  approveDkgResult       ·     194645  ·     202706  ·     196912  ·           16  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  WalletFactory     ·  challengeDkgResult     ·     392052  ·    1714665  ·    1475685  ·           17  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  WalletFactory     ·  notifyDkgTimeout       ·          -  ·          -  ·      46552  ·            1  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  WalletFactory     ·  registerOperator       ·     205948  ·     342687  ·     210639  ·           67  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  WalletFactory     ·  requestNewWallet       ·          -  ·          -  ·      84652  ·           13  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  WalletFactory     ·  submitDkgResult        ·     431276  ·     553290  ·     471859  ·           95  ·          -  │
·····················|·························|·············|·············|·············|···············|··············
|  Deployments                                 ·                                         ·  % of limit   ·             │
···············································|·············|·············|·············|···············|··············
|  CloneFactoryStub                            ·          -  ·          -  ·     135786  ·        0.5 %  ·          -  │
·----------------------------------------------|-------------|-------------|-------------|---------------|-------------·

Closing in favor of https://github.com/keep-network/keep-core/pull/2792.


Access Denied when using S3 and assume role

I'm facing Access Denied error when using remote_state S3. This is how it's declared in the root terragrunt.hcl:
remote_state {
  backend = "s3"
  config  = {
    bucket   = "BUCKET NAME"
    region   = "us-east-1"
    profile  = "my profile"
    role_arn = "arn:aws:iam::ACCOUNT_NUMBER:role/my role"
    key      = "dev/terraform.tfstate"
  }
}

In terraform module that is included:
terraform {
  backend "s3" {}
}

When I'm running it with terragrunt plan-all I'm getting following logs:
...
Initializing remote state for the s3 backend
[terragrunt] 2019/10/18 18:28:07 Encountered the following errors:
AccessDenied: Access Denied

If I move remote state configuration to tf file and run the same command everything works fine.
Versions:
kromol@kromol-i7:~$ terraform -v
Terraform v0.12.10
kromol@kromol-i7:~$ terragrunt -v
terragrunt version v0.20.4

Am I missing something?
Thanks

So what is failing is terragrunt's routine for setting up the S3 bucket, and terragrunt doesn't use the role_arn parameter set on the remote state config for it's authentication.
To assume a role with terragrunt, you will need to use the terragrunt configuration parameters: https://github.com/gruntwork-io/terragrunt#configuring-terragrunt-to-assume-an-iam-role

I've just found a solution. The problem is that terragrunt requires more permissions than terraform.
From terraform docs:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::mybucket"
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::mybucket/path/to/my/key"
    }
  ]
}

This is the permissions needed, but it does not work with terragrunt. I've found another thread on terragrunt forum with similar problem, and solution suggested there works. This is the correct permissions for terragrunt:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
                "s3:ListBucket",
                "s3:GetBucketVersioning",
                "s3:CreateBucket"
            ],
      "Resource": "arn:aws:s3:::mybucket"
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:PutObject"],
      "Resource": "arn:aws:s3:::mybucket/path/to/my/key"
    }
  ]
}

I will re-check docs one more time and will open PR to adjust docs if it's missing there.

Got it. Yup that makes sense, since Terragrunt needs to be able to create the S3 bucket if it does not exist to initialize the state. Glad you got it resolved and will be very happy to review a PR that improves the docs! 🍻

In this case bucket exists, so probably s3:GetBucketVersioning was missing

I can confirm that migrating from Terraform to Terragrunt, I had to add the following permissions:

s3:GetBucketVersioning on the S3 bucket holding the state
dynamodb:DescribeTable on the DynaboDB table for locking

I also have isues with the remote_state S3 Bucket. The bucket was already created via terragrunt. I had to swtich now from a setup with Profiles to use role_arn instead and I run into the same issue with finding the credentials
terragrunt init
ERRO[0005] Error finding AWS credentials (did you set the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables?): NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors


401 Unauthorized

I am receiving a 401 Unauthorized error when trying to upload. I double checked for correct applicationId, accessKey, and secretKey.
On top of that, I cannot seem to handle this error directly using this plugin. I added .on('error', () => gulpUtil.log('I have an error')), but did not see the message printed.

Closing because I couldn't possibly provide the context of this issue now.


What should be the string format for rational numbers?

This library includes an ERational class for arbitrary-precision rational numbers, but doesn't include a way to create an ERational from a string like the other classes EInteger, EDecimal, and EFloat.  This is because I'm not sure what format to accept for strings representing rational numbers.  Here is a possible idea:
["("] [-] Number "/" [-] Number [")"]

Note that parentheses appear here because Ruby, at least, writes rational number strings this way.  How do other languages and popular libraries parse rational number strings?  Would it be good to use a string format that combines all of those formats?

Repeating this issue.

This library includes an ERational class for arbitrary-precision rational numbers, but doesn't include a way to create an ERational from a string like the other classes EInteger, EDecimal, and EFloat. This is because I'm not sure what format to accept for strings representing rational numbers. Here is a possible idea:

["("] [-] Number "/" [-] Number [")"]

Note that parentheses appear here because Ruby, at least, writes rational number strings this way. How do other languages and popular libraries parse rational number strings? Would it be good to use a string format that combines all of those formats?

["("] [-] Number "/" [-] Number [")"]

This would be good but also spaces should be allowed between these 7 components. The built-in types allow spaces before and after the number, whereas the current ERational.FromString does not. This should be changed.


Solver does not wrap -pi to pi

https://github.com/SleipnirGroup/UntitledWaypointEditor/assets/32416547/89d0c121-a245-4871-9d6c-f4601fb88b5c

As a workaround, the problem setup could modify the waypoint headings to take the shortest route between waypoints.


Feature/Question: Migrate Request/Uri classes to PSR-7

I've been extensively testing Artax for five minutes and I have an opinion.
Looking in the code, I see that Artax uses it's own Request class. While the Response in Artax does not look PSR-7able (real word), the Request/Uri appears to duplicate functionality available in PSR-7 libraries.
I would suggest that a future version of Artax dump it's own hand-rolled version of the Request in favour of something like using the guzzlehttp\psr7 library, as it's not core to how Artax works, and not something that in reality Artax should care about or focus on.
Thoughts?

Duplicate of #101.
We could use Uri, but just pulling in PSR-7 for that doesn't make sense to me, as people will expect PSR-7 then, not just its Uri interface.

I read #101 prior to posting and thought it that was more about the Response. In the case of Request and Uri, as these are setup pieces for Artax, I think they might be a better fit.
Actually looking at how the Response is generated, what was a major headache in implementing the PSR-7 ResponseInterface? I'm not clear from an extensive two minute readthrough what would be the major blocker.

How is the request different from the response? Both extend the MessageInterface which contains the problematic getBody() that requires a StreamInterface implementation.
There's no headache. StreamInterface requires getContents() to return the remaining body directly as return value, which is just not possible without either blocking or fully buffering the response body.

I'm not quite sure I follow on this. Certainly, the anonymous class I get back has a getBody() method, and I think we could have getContents() as a blocking action at that point (you have explicitly asked for the entirety of the contents by calling it, so this probably means that you must block.
As to the difference between Request/URI and Response, the former two are more like value objects for setup as opposed to being particularly useful for data transfer. That is, whether an Artax Request, a PSR-7 Request, or an array, you could move around the values necessary to either configure an app or a client. The same is not strictly true for a Response, because they are either the expected return of your application (Web framework's job being at one level to populate a Response) or they are populated with unknown data from an external source.

Nothing I/O related should ever block in an asynchronous world. If you want the complete body, just call a method that returns a promise that resolves with the buffered contents once available. Same applies to the request bodies, which can also be streamed depending on the use case. If the remote is slow and doesn't clear its receive buffer fast enough, Artax will automatically throttle the request body streaming as well, because its own write buffer will become full at some point.

OK, now I follow the problem. That does make implementing every part of PSR-7 for Response tricky.
Returning to Request and Uri, however, these are used by Artax as strongly typed configuration payloads. I can't really see a problem with accepting them (the argument parameter IIRC is called $uriOrRequest, and then interrogated for type. I would say people coming across amphp are probably not the sort to get confused by Requests, but that's possibly my own bias.
There seems like a couple of options:

Do nothing. Bask in your glory. Relax with a stern yet paternal face as you watch people using your cool library. The world remains good.
Accept in PSR-7 Uris or Requests as arguments, extract what you need from them, use your own Request internally. So, an effective bridge/data normalizer.
Have your Request implement PSR-7 directly.
Find a library you like that is small and has a Request object implementation you like. Grin in victory as you never have to write another test for a Request get method.

Oh, we could indeed probably accept them, additionally. It's basically just providing an adapter within the Client. We can't change the signature of Client as that's a BC break, but we could probably change the signature of DefaultClient and make it accept those.
On the other hand, that's not something a Client should really care about. I think I'll reduce the signature to only accepting Request in v4 to have proper type declarations available. I also plan to remove a lot of functionality from the client and pack that into middlewares, as that makes it way easier to extend and maintain.


Update ino/filters.py

Neutralize colorization
did not display good colors in my terminal

This is a fork of ino that is not kept up to date. You should open pull requests against the upstream repo :)


Add RBAC to POST Route Add Destination

Is there a related GitHub Issue?

resolves #585
What is this change about?

#585

Implements repo level RBAC w/ user client for GetRoute and AddDestination
Updates SpaceDeveloper ClusterRole to add "patch" routes permission

Co-authored-by: Andrew Wittrock<EMAIL_ADDRESS>Co-authored-by: Julian Hjortshoj<EMAIL_ADDRESS>Does this PR introduce a breaking change?

No
Acceptance Steps

See issue.
Tag your pair, your PM, and/or team

@julian-hj @Birdrock @gcapizzi @kieron-dev
Things to remember

@gcapizzi and @kieron-dev When writing the e2e tests for this we found a RBAC problem related to CFDomains. In order to list or get them, the user needs to have a rolebinding in the root namespace that grants those abilities. We did a minimal effort fix in the latest commit, but the UX isn't great. Operators will have to manually create role bindings for every user in the root namespace.
How do you think we should solve this? One option would be to change the Add Role endpoint so that it implicitly creates the root namespace role binding when adding the org user role. We could also add a new role called cf user. I'm sure there are other ways as well, and I'd love your input. That work is large enough that I think we should write follow up stories instead of rolling it in here.

@gcapizzi and @kieron-dev When writing the e2e tests for this we found a RBAC problem related to CFDomains. In order to list or get them, the user needs to have a rolebinding in the root namespace that grants those abilities. We did a minimal effort fix in the latest commit, but the UX isn't great. Operators will have to manually create role bindings for every user in the root namespace.
How do you think we should solve this? One option would be to change the Add Role endpoint so that it implicitly creates the root namespace role binding when adding the org user role. We could also add a new role called cf user. I'm sure there are other ways as well, and I'd love your input. That work is large enough that I think we should write follow up stories instead of rolling it in here.

@matt-royal - we've added some ideas to your thread on cf-k8s-dev: https://cloudfoundry.slack.com/archives/C0297673ASK/p1645779601613699

@kieron-dev When merging my changes with your upstream changes, I realized that we'd solved the Domain permission issue differently. My pairs and I had added a new role to the deployment whereas you'd just created a temporary one in the test e2e test where it was needed. Since we depended on the new ClusterRole in the api integration tests, I decided to remove your smaller hack and lean into using the ClusterRole. We can pull it out once we've solved this problem properly. I'm also happy to change this again once it's merged, but I've been in rebase/merge hell with this commit so for now I'm just going to merge it.


Call to undefined method Illuminate\Database\Query\Builder::isHidden()

BadMethodCallException in Builder.php line 2071: Call to undefined method Illuminate\Database\Query\Builder::isHidden()
I do not understand what generate this error (it is when I add one of my model)

Can you post your model code? Without that, it's hard to tell, but it looks like your model isn't extending Monarkee\Bumble\Models\BumbleModel

My bad... sorry

Glad you got it sorted!


fix: timer tree invariant was broken

The expired timer node must be expunged before calling @prune, otherwise the same Id ends up twice in the tree. This would break @cancelTimer's invariant.
The fix moves the expunging before the call to @prune, thus the pruned tree will not contain the expired Id any more.

@crusso re-introducing the bug would reverse the output according https://github.com/dfinity/motoko/pull/3695/commits/2aa30f3e5cf459936d1feb6eeb574c387eaf7776


Google Play Services Plugins

While it's true that the vast majority of Google Play Services is closed source, there are a small number of Gradle plugins related to Play Services that Google has open-sourced, including the oss-versions-plugin and a couple others.  Might be worth making a small note about this in the Google Play Services section at the bottom.
https://github.com/google/play-services-plugins

Ah, cool! Want to open up a PR?


Manage organisation page for system admins

Testing instructions
After login for system admins - they should be redirected to manage organisations page instead of dashboards page

When i am logged in as a system admin and it is letting me access create disruptions, /view-all-disruptions and /dashboard

done in the other PR from branch feat/Disruption-242_add_org

Closing as this PR is merged with another PR


struggling to understand rules like to:

Hi Felix,
I'm sorry but I am really struggling to understand the mechanics of Rules.
I am trying to catch only those tweets: to:myhandle
*I don't think I need any word to listen for as to is standalone.
I have a working command that listenes for a given string but when I change the rule from whenHears to whenTo (method below) so I only get tweets that are to a given handle ( using @myhandle at very start of the tweet ) the "to:myhandle" rule doesn't catch any tweets.
Should to: work as follows?...
public function whenTo(string | array $twitterUserIds, callable $whenTo): self
    {
        $this->rule->to($twitterUserIds);
        $this->onTweet = $whenTo;

        return $this;
    }

My startListening() method...
public function startListening(Sets $sets = null): void
    {
        // Delete old rules
        Rule::deleteBulk(...Rule::all());
        $this->rule->save();

        foreach ($this->stream->filteredTweets($sets) as $tweet) {
            if (is_null($tweet)) {
                continue;
            }

            call_user_func($this->onTweet, $tweet);
        }
    }

I call it from my command...
 TwitterStreamingApi::publicStream()
            ->whenTo($handle, function (array $tweet) {
                // log $tweet here;
            })
            ->startListening($sets);

would anyome have any pointers on helping me understand this part please?

Hey!
to: matches any Tweet that is in reply to a particular user.
from: matches any Tweet from a specific user.
So you probably want to use from instead of to

No, I need to: for this project. It’s a bot to process member requests.
I haven’t managed to get to: working and so currently use whenHeres(myHandle,…) and check for myHandle == in_reply_to_user_id but this seems like more work for my listener than letting the api only serve those with ‘to:’
*if I understand correctly that to: will tell Twitter to only serve those tweets where @myHandle is the first word of any tweet (an implicit reply)
Regards,
Jayenne
On 17 Sep 2021, at 11:05, Félix Dorn @.***> wrote:

Hey!
to: matches any Tweet that is in reply to a particular user.
from: matches any Tweet from a specific user.
So you probably want to use from instead of to
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fredwebcreation%2Ftwitter-stream-api%2Fissues%2F8%23issuecomment-921673918&data=04|01||c993ea731b864438626008d979c29e9c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637674699057633556|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=4ke8SCqLcEEO4Y3HntBvsBIFN8DUa0JQ%2Bi0w9h74LOg%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAB2SL46PK7KFPIHZJJ7COODUCMHE7ANCNFSM5ECD46OQ&data=04|01||c993ea731b864438626008d979c29e9c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637674699057643554|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=tK8O28OYA6PNpacSJIuwcChFNRFov%2FF%2FFRPFAFvWuz4%3D&reserved=0.


Minified sources in esmock package

It's not a feature request (yet), but only question - why?
From my understanding, JS ecosystem provides the greatest debugging ability - everything is script, and you can easily inspect / modify installed packages without IDA. And browser-like minification totally breaks it.
Package download size? No - packages published as archives with good text compression out of the box.
Package disk usage? May be, but cute readme with ascii art already takes 4k )
Performance? Perhaps, but in the most real-world scenarios it's only premature optimization (which is may be much more evil than real performance problems, you know). Especially for small, one-time loaded scripts like Node loaders.

Fortunately, I can just copy source code directly from github )

Mostly, I think its cool to have a really small package size --inspired by these packages emphasizing smallness,

https://github.com/ai/nanoid
https://github.com/nanostores/nanostores
https://github.com/usmanyunusov/nano-staged
https://github.com/lukeed/uvu/

Fortunately, I can just copy source code directly from github )

That's the recommended way. I don't believe many people need to do debug esmock and am confident in esmock so enjoy the smaller package size that comes with minification.
The README uses big ascii art, but is still smaller than READMEs used by similar packages :)

If you don't believe that people will be changing something in node_modules / .yarn/unplugged, why do you place readme inside tarball? )

npm automatically includes README in the package,
the README is needed to show something to people visiting the npm page https://www.npmjs.com/package/esmock
the inspiration packages listed above come with READMEs
the README and even the ascii art are important

closing this, feel free to re-open or discuss as you may prefer


It is immposible to use this package anymore without libevent

Because of fixing https://github.com/vibe-d/vibe.d/issues/2155 it is now immposible to use this package anymore without libevent.
I have to manualy edit ~/.dub/packages/mysql-native-2.3.0/mysql-native/dub.json and remove:
"subConfigurations": {
		"vibe-d:core": "libevent"
	},

to make it works again

If you look at:
https://dub.pm/package-format-sdl.html#build-settings
to a subConfiguration part desvription it says:

Locks a dependency (first argument) to a specific configuration (second argument); see also the configurations section - this setting does not support the platform attribute

https://github.com/mysql-d/mysql-native/commit/ec851956e579bab8d00b1ae89a5344a2babce2e3

Seems like this issue is getting more and more presence:

#201
<EMAIL_ADDRESS>

Maybe this could be fixed in DUB. Is there a reason why subConfigurations does not support platform attributes?

On October 10, 2019 6:37:12 AM EDT, itkfm<EMAIL_ADDRESS>wrote:

Maybe this could be fixed in DUB. Is there a reason why
subConfigurations does not support platform attributes?

That workaround doesn't appear to be needed anymore anyway. I'm removing the offending line.

Correction: The workaround does appear to still be needed on OSX after all (even with the latest vide-core), but it clearly causes too much trouble on other platforms so I'm still removing it anyway.
I think what I'm going to do is declare official OSX support to be phobos-sockets-only, not vibe, until vibe-core gets its out-of-the-box OSX support sorted out and working (Turns out, even vibe-core itself isn't even officially/successfully tested on OSX yet: https://github.com/vibe-d/vibe-core/pull/183 ).

Now fixed. The munged osx "fix" has been removed in master.


Draft: bug: Rules not validated correctly

Somehow the rules are not getting correctly validated when having a variable determine the when: status:
test-job:
  stage: build
  script:
    - echo "$TEST!"
  rules:
    - if: $TEST == "true"
      when: on_success
    - if: $TEST != "true"
      when: manual

@alexander-matthiesen Have you tested this with latest master?

@firecow I have written two tests to show the issue. Maybe you can check them. They should be up to date with the latest master.

🤟

I don't see the bug here. Can you elaborate, please?

/rebase

https://github.com/firecow/gitlab-ci-local/pull/711/commits/040b8f023bbf0dd323e95c9dfe6cfacecc1734de
This commit suggest you are seeing ghosts :smile:


Angular2-Apollo Authorization Auth Guard - Expired Login

There is an sample for authorization (sign request with authorization header) on the docs.
However it is a little bit unclear to me, how to watch request for failed authorization,missing rights or login and handle accordingly?

Missing login --> redirect to login route and retry afterwards
Missing rights --> show error eg. through toast notification

Is there any best practise for this?
Is there a best practise for throwing auth errors with GraphQL Server?
How to handle in angular 2? How can I catch errors returned from graphql on an network interface level eg. for redirecting to login screen.

Basically, it's not fully apollo-specific question. Imagine the same situation with Http service.
I don't think you can achieve it without overwriting Angular2Apollo service (the same for Http). As far as I know there's no interceptor even in Http service.
It means you have to "catch" all the requests.
You could extend Angular2Apollo class and add this "interceptor" to catch (RxJS operator) then every request that has an error could be manipulated by this interceptor.
With AngularJS it works the same, you $provide new factory which is close to what I said.
And you cannot use, I don't know which method but let's say router.navigateByUrl() inside middleware of ApolloClient because it's outside Angular's Dependency Injection but please correct me if I'm wrong or if there is another solution :slightly_smiling_face:

You can take a look here:
https://github.com/angular/angular/issues/2684#issuecomment-195751854

@kamilkisiela I'm not sure if this is the best way to go about it, but I have implemented error catching/401 error handling by extending the Angular2Apollo class as follows:
import {Injectable} from '@angular/core';
import {Router} from '@angular/router';
import {Angular2Apollo, ApolloQueryObservable} from 'angular2-apollo';
import {ApolloClient, ApolloQueryResult, createNetworkInterface} from 'apollo-client';

import {Auth} from './auth.service';

/**
 * MyAppApolloFactoryLoader
 */
export function MyAppApolloFactoryLoader(auth: Auth, router: Router) {
  return new MyAppApollo(auth, router);
}

/**
 * setup apollo graphql client
 */
const networkInterface = createNetworkInterface({
  uri: '/graphql'
});

networkInterface.use([{
  /**
   * applyMiddleware
   *
   * Add auth token to GraphQL requests.
   */
  applyMiddleware(req, next) {
    req.options.headers = {
      authorization: 'Bearer: ' + localStorage.getItem('access_token') || null
    };
    next();
  }
}]);

networkInterface.useAfter([{
  /**
   * applyAfterware
   *
   * Handle response error codes.
   */
  applyAfterware(res, next) {
    if (res.response.status === 401) {
      throw new Error('Unauthorized');
    }
    if (res.response.status === 500) {
      throw new Error('Server Error');
    }
    next();
  }
}]);

const client = new ApolloClient({
  networkInterface
});

@Injectable()
export class MyAppApollo extends Angular2Apollo {

  constructor(private auth: Auth,
    private router: Router) {
    super(client);
  }

  /**
   * watchQuery
   *
   * Extends Angular2Apollo watchQuery methods and catches
   * 401 errors.
   *
   */
  watchQuery(options: any): ApolloQueryObservable<ApolloQueryResult> {
    let subscription = super.watchQuery(options);
    subscription
      .subscribe(
        () => {},
        err => this.errorHandler(err)
      );
    return subscription;
  }

  /**
   * errorHandler
   *
   * Handles errors thrown
   *
   * @param {Error} err
   * @return {void}
   */
  errorHandler(err: Error): void {
    if (err.toString().indexOf('Unauthorized') !== -1) {
      this.auth.logout(this.router.url);
    }
  }

}

Note that in order to catch 401 errors properly, I had to detect them in Apollo Client afterware and then throw them again. I had to do this, as I could not get access to the HTTP response body in the normal error handler.
Is this the kind of thing you were thinking of in the above comment? I would welcome any feedback

@conor-mac-aoidh can you give an sample how you load this service in app.module?

@manuelfink Yes, the service is loaded in the providers. The key is to specify the dependencies:
providers: [
  {
    provide: MyAppApollo,
    useFactory: MyAppApolloFactoryLoader,
    deps: [Auth, Router]
  }
]

@conor-mac-aoidh I went the same way just also exposed

@conor-mac-aoidh I went the same way just also exposed

@manuelfink @conor-mac-aoidh  do you have an updated version of your code with the latest version? Since you both posted your solutions they don't work now (and I can't find any clear documentation on how to handle the errors anywhere)

I have not yet migrated to latest version since I have to adopt breaking changes. Posts welcome ;-)

@manuelfink I already made the changes to my ApolloService extending from Apollo, and the main changes are the following...
export const apolloClient = new ApolloClient({
  networkInterface
});

export const clients: any = {
  default: apolloClient
};

export class ApolloService extends Apollo {
  constructor(
  ) {
    super(clients);
  }
}

Notice that now you have to use a ClientMap var in the super contructor, that's the key to make all work again, and use ApolloModule.forRoot instead of old withClient.

It works great for me. Only got one question, is there a way to prevent the error from being logged to the console? I have removed all the console.log and yet it is still being printed:

So you guys using indexOf for determining if the error was a 401?
Why not creating a new error and then using instanceof?
// Error classes in services folder
class Error401 extends Error {
    status = 401;
    message = 'User is not authenticated';
}

// In the apollo interceptor
networkInterface.useAfter([{
  applyAfterware(res, next) {
    if (res.response.status === 401) {
      throw new Error401();
    }
    if (res.response.status === 500) {
      throw new Error500();
    }
    next();
  }
}]);

// In the error handler
errorHandler(err: Error) {
    if (err instanceof Error401) {
        this.auth.logout();
    } else {
        throw err;
    }
}

This approach worked very well for me following the apollo interceptor way described above in your comments.

@kadosh1000 Have you tried catching the error somewhere just like i do?

Oh my bad, seems like the apollo client catches errors and just grabs the error message out of it, damn.

I'm still having trouble figuring out how to tackle the situation where my Apollo-Client depends upon an Angular2 service middleware.
For example, my provideApollo() function cannot be injected into ApolloModule.forRoot becuase it has dependencies.
import { Injectable } from '@angular/core';
import { ApolloClient, createNetworkInterface } from 'apollo-client';
import { ApolloModule } from 'apollo-angular';
import { environment } from '../environments/environment';
import { Angular2TokenService } from 'angular2-token';
@Injectable()
export class ApolloClientProvider {
client: ApolloClient;
constructor(private angular2TokenService: Angular2TokenService) {

    this.angular2TokenService.init({
        apiBase: environment.apiBase,
        apiPath: 'api',
        signInPath: 'auth/sign_in'
    });

    const networkInterface = createNetworkInterface({ uri: `${environment.apiBase}/api/graphql` });

    networkInterface.use([{
        applyMiddleware(req, next) {
            if (!req.options.headers) {
                req.options.headers = {};  // Create the header object if needed.
            }
            Object.assign(req.options.headers, angular2TokenService.currentAuthHeaders);
            next();
        }
    }]);

    // Apollo Client Initialization
    this.client = new ApolloClient({
        networkInterface: networkInterface
    });
}

}
export function provideApollo() {
return {
provide: ApolloClient,
useFactory: (angular2TokenService: Angular2TokenService) => new ApolloClientProvider(angular2TokenService).client,
deps: [Angular2TokenService]
};
}

Since i'm not using any service to manage tokens, i don't have this kind of problem, though i'm tempted to use it since it offers a lot of nice features (specially for the Devise gem).
The only place those currentAuthHeaders exist is in the service? if not, you could work around it, but if yes idk how to, because usually you pass the client as a dependency of the .forRoot(), which is at configuration, not at runtime when the services are available.
If you find how let me know.

Actually after looking at the code the forRoot() uses, it calls a function and it uses the result as the providers of the module according to lines ApolloModule.ts#L41-L42, so in theory depending on what is there you could see if the client passed is actually provided to Angular as a service, let's take a look:
According to lines Apollo.ts#L99-L108, if you pass your service to the apollo forRoot() function, your service would already be available for the full app, however it's being aliased to another token stored in CLIENT_MAP_WRAPPER instead.
So you wouldn't be able to get the service in other places of your app unless you ask for that specific token when injecting in those (i think).
So maybe you may get a way to use the original token as an alias of the one you passed to the forRoot() thing, like a way to tell it to be a singleton no matter where it was injected, however idk how should that be done (don't have that amount of knowledge on Angular 2+), however i have seen how other modules export services and don't use  the forRoot() thing, you could base the solution on those.
The one i'm talking about is Material 2, they have services, but no matter where you insert the module, or if you use Lazy-Loading with shared modules, all services are singletons, which i suspect happens in this lines:
https://github.com/angular/material2/blob/master/src/lib/dialog/dialog-module.ts#L48-L51
https://github.com/angular/material2/blob/master/src/lib/dialog/dialog.ts#L41

Maybe i'm reading this wrong but as far as angular and apollo is concerned, you can pass the forRoot() method a function that just returns the actual client, or you could just pass an object that has the client as one of it's variables, though the exact name i'm still trying to figure out:
https://github.com/apollographql/apollo-angular/blob/master/src/types.ts#L3-L5
Oh wait i found it, you need to have in your ApolloClientProvider the client instance in the default variable according this line:
https://github.com/apollographql/apollo-angular/blob/master/src/Apollo.ts#L62
So if you put the default the instance of the ApolloClient of your constructor as well as in client (just as precaution), and you give the class to the forRoot(ApolloClientProvider) like that, then provide the Angular2TokenService to the root of the app, in theory, ApolloClientProvider should be instantiated as a service by the apollo module, so it would get the token dependency, and as good as you have the instance of your client in the provider in the property default, when the Apollo service injects your provider it will get the client naturally.
PD: IN THEORY should work, please let me know if it does, if not we should ping the staff, maybe they'll be able to clarify.

@raysuelzer Any progress?

@luchillo17  Thanks for the advice.  What I ended up doing was just grabbing the headers manually from localStorage, thus by passing the need to use Angular2Token.
export function provideApolloClient() {

  const networkInterface = createNetworkInterface({ uri: `${environment.apiBase}/api/graphql` });

  networkInterface.use([{
    applyMiddleware(req, next) {
      if (!req.options.headers) {
        req.options.headers = {};  // Create the header object if needed.
      }
      Object.assign(req.options.headers, {
        'access-token': localStorage.getItem('accessToken'),
        client: localStorage.getItem('client'),
        expiry: localStorage.getItem('expiry'),
        'token-type': localStorage.getItem('tokenType'),
        uid: localStorage.getItem('uid')
      });
      next();
    }
  }]);

  // Apollo Client Initialization
  return new ApolloClient({
    networkInterface: networkInterface
  });
}

It seems like the method you indicated might work, but at this point it's probably not worth the effort of trying to get it working since my current solution is straight forward and works fine. But, it would be great if there was some documentation on how to use another Angular service as part of the middleware.

Good news everyone. It will be possible to use any service thanks to new API that's coming up in few days!

So we don't get to know if my suggestion does work or not, that's a shame.

@kamilkisiela I'm about to update to latest, which version of apollo-client do i need, does it includes the services thing you mentioned?

@luchillo17 v1.0.0

Thanks, hopefully this services thing should allow me to finish my project (lacked a better control over errors and reactions to them).


Screen Mirroring - Could not locate Smartthings Classic APK in external directory

I'm getting the following on my Samsung S22 Ultra:
Execution failed for task ':screen_mirror:confirmRHMIResources'.
> Could not locate Smartthings Classic APK in external directory

Is there a specific APK I need to download to my phone to get this app to work?  Looked into installing https://www.apkmirror.com/apk/smartthings/smartthings-smartthings/smartthings-smartthings-2-20-1-release/#downloads but this still seems to be broken

If you want to build this app yourself, you need to add Smartthings 2.3.1 to the /externals directory of the project:
https://github.com/BimmerGestalt/IDriveConnectAddons/blob/main/external/README.md


Custom forward/next-slide button?

I have created a standalone button on the slide. How does one trigger a slide change forward?
Currently I have created a method, but it breaks the order of the slides:
const first = this.slides.shift()
this.slides = this.slides.concat(first)

:octocat:

Reference the carousel and call its handleNavigation method.
for eg:
this.$refs.carousel.handleNavigation()
note: your carousel component should have ref attribute set to 'carousel' for this example

You legend!! ⭐


Update protocols-in-tls-ssl--schannel-ssp-.md

Added Windows Server 2022 and Windows 11 support.

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


Add virtual members test

Probably brought the latest master changes as well in the first PR, this should be better.

@Szpoti can you add 6 more tests? You'll have to manipulate the transaction object by hand to create various scenarios. Don't be afraid!

Sure, but can you elaborate on your vision what/where to manipulate for testing?

Sure. Play with

input/output with the same scriptPubKey
input/output with different scriptPubKey, but on the same pubKey

Then test when WalletVirtualOutputs and ForeignVirtualOutputs share (a) scriptPubKey, (b) pubKey


Write the code for addition of two numbers

#include
using namespace std;
int main()
{
int a, b, c;
cout << "Enter two numbers to add\n";
cin >> a >> b;
c = a + b;
cout <<"Sum of entered numbers = " << c << endl;
return 0;
}