[Bug] MissingPluginException upon process restoration (Android only)

Describe what happened
We are running into the following issue with our Android app: Upon upgrading to version 2.1.0, we began noticing MissingPluginExceptions being thrown whenever the app process is restored after being terminated by the system. We noticed in that release that a couple class instances were migrated to being singletons. We suspect that this may be playing a role in the issue, but have not yet dug deep enough to verify that this is the case.
When the issue occurs, logs look something like:
[E]  mobile_unhandled_error: GlobalErrorHandler.handleError called  ERROR: MissingPluginException(No implementation found for method removeAttribute on channel datadog_sdk_flutter.logs)
2024-01-19 17:05:29.603  9516-9646  flutter                 com.betterment                       I  #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:308:7)
2024-01-19 17:05:29.603  9516-9646  flutter                 com.betterment                       I  <asynchronous suspension>
2024-01-19 17:05:29.604  9516-9646  flutter                 com.betterment                       I  [D]  SentryService.recordError  ERROR: MissingPluginException(No implementation found for method removeAttribute on channel datadog_sdk_flutter.logs)
2024-01-19 17:05:29.618  9516-9646  flutter                 com.betterment                       I  #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:308:7)
2024-01-19 17:05:29.618  9516-9646  flutter                 com.betterment                       I  <asynchronous suspension>
2024-01-19 17:05:29.659  9516-9646  flutter                 com.betterment                       I  [E]  mobile_unhandled_error: GlobalErrorHandler.handleError called  ERROR: MissingPluginException(No implementation found for method addAttribute on channel datadog_sdk_flutter.logs)
2024-01-19 17:05:29.660  9516-9646  flutter                 com.betterment                       I  #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:308:7)
2024-01-19 17:05:29.660  9516-9646  flutter                 com.betterment                       I  <asynchronous suspension>
2024-01-19 17:05:29.660  9516-9646  flutter                 com.betterment                       I  [D]  SentryService.recordError  ERROR: MissingPluginException(No implementation found for method addAttribute on channel datadog_sdk_flutter.logs)
2024-01-19 17:05:29.661  9516-9646  flutter                 com.betterment                       I  #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:308:7)
2024-01-19 17:05:29.661  9516-9646  flutter                 com.betterment                       I  <asynchronous suspension>

Basically, any method send over the MethodChannel will throw this, including log itself. It's notable that all of our setup logic (where we configure the DatadogSDK) is broken due to this.
It also may be worth noting that our app is a hybrid app, meaning there are a few features that remain in native.
Steps to reproduce the issue:

Enable developer options
Install/side-load the application on an Android device
Set background process limit to No background processes in Developer Options
Run adb logcat | grep flutter to see device logs (we'll want it via adb because backgrounding the app will force the system to kill it and you'll lose logs provided via the Flutter tooling)
Background the app and wait for the system to kill it (Flutter tooling will print Lost connection to device)
Foreground the application and invoke Datadog methods
MissingPluginExceptions occur

Describe what you expected:
The DatadogSDK should be usable after process restoration.
Additional context

Dart/Flutter version:

Flutter 3.10.7 • channel unknown • unknown source
Framework • revision e285328a69 (5 months ago) • 2023-08-17 17:55:17 -0700
Engine • revision 077a732ef4
Tools • Dart 3.0.7 • DevTools 2.23.1

Android/iOS OS version: Android 14
Device Model: Pixel 7/Pro
Datadog SDK version: 2.1.x+
Versions of any other relevant dependencies:

We will continue to look into why this might be happening, but wanted to open an issue first in case root cause was obvious to you.

Hi @btrautmann, thanks for reporting!
I'll start taking a look into this ASAP.
You said you're using Flutter in a hybrid app - are you initializing the native Datadog SDK in Android then using attachToExisting, or are you only initializing Datadog from Flutter?
I'm going to try as well, but can you reproduce the issue in our hybrid example?
Lastly, can you send me your code that initializes Datadog (either in Android or Flutter) and how you're creating your FlutterActivity or Fragment?

are you initializing the native Datadog SDK in Android then using attachToExisting, or are you only initializing Datadog from Flutter?

We are only initializing it in Flutter. The native side sends logs TO Flutter via a MethodChannel (totally unrelated to Datadog) and Flutter pipes them over to Datadog. We hold these logs in a queue until Flutter signals to native that it's set up and ready to receive them. We do it this way so that once we are done with our native migration we can just sever the connection between Flutter & Native and not need to do any other refactoring of Flutter code.

can you reproduce the issue in our hybrid example

I will give this a shot today! Thanks for pointing me to it.

Lastly, can you send me your code that initializes Datadog (either in Android or Flutter) and how you're creating your FlutterActivity or Fragment?

Initializing Datadog
Note: I've redacted a few more "sensitive" things.
final datadogConfiguration = DdSdkConfiguration(
  firstPartyHosts: [<redacted>],
  clientToken: <redacted>,
  serviceName: '<redacted>',
  env: config.environment.name,
  trackingConsent: TrackingConsent.granted,
  site: <redacted>,
  rumConfiguration: _enableRealUserMonitoring
      ? RumConfiguration(
          applicationId: _applicationId,
          reportFlutterPerformance: true,
          sessionSamplingRate: 100.0,
          tracingSamplingRate: 100.0,
        )
      : null,
);

if (_enableRealUserMonitoring) datadogConfiguration.enableHttpTracking();

await _datadogSdk.initialize(datadogConfiguration);

if (_enableRealUserMonitoring) {
  _datadogSdk.rum
    ?..addAttribute('device_id', deviceId)
    ..addAttribute('app_session_id', sessionId)
    ..addAttribute('app_version', config.version.toString())
    ..addAttribute('build_number', config.buildNumber)
    ..addAttribute('audience', config.audience.name)
    ..addAttribute('platform', platform.name);
}

_logger = _datadogSdk.createLogger(
  LoggingConfiguration(
    loggerName: <redacted>,
    sendLogsToDatadog: config.enableRemoteLogging,
    datadogReportingThreshold: Log.logLevel.toDatadogVerbosity(),
    sendNetworkInfo: true,
  ),
)
  ..addAttribute('device_id', deviceId)
  ..addAttribute('app_session_id', sessionId)
  ..addAttribute('app_version', config.version.toString())
  ..addAttribute('build_number', config.buildNumber)
  ..addAttribute('audience', config.audience.name)
  ..addAttribute(
    'platform',
    platform == SupportedPlatform.ios ? 'ios' : 'android',
  );

This code is invoked in our main.dart file.
FlutterActivity
Our Flutter Activity extends FlutterFragmentActivity and is the entrypoint activity for our application. The only mildly interesting thing about our implementation is that we override configureFlutterEngine as follows:
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
  super.configureFlutterEngine(flutterEngine)
  FlutterManager.init(this, flutterEngine)
}

The FlutterManager is not interesting, it just invokes a start method on a bunch of services we have that maintain MethodChannels. One of these is the logging service I mentioned earlier, and once that start is called, it flushes the queue of logs native wants to send to Flutter to be piped to Datadog.

Reporting back on the hybrid example/sample app:
Some notes: We had to bump the compileSdkVersion and minSdk of the android module at flutter_module/.android/app/build.gradle. After doing so, we had duplicate class issues that were resolved by adding a dependency on the Kotlin bom (implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0")) in the same file.
After doing the above and getting a successful build, we saw this log in the console which feels like it indicates that things may not be behaving as expected? Note that I added my own logs to the relevant MethodChannels to see what methods were being triggered.
I/System.out( 9182): BRANDON: Received methodCall setSdkVerbosity while Datadog#isInitialized false
I/System.out( 9182): BRANDON: Received methodCall attachToExisting while Datadog#isInitialized false
E/DatadogFlutter( 9182): 🔥 attachToExisting was called, but no existing instance of the Datadog SDK exists. Make sure to initialize the Native Datadog SDK before calling attachToExisting.
I/flutter ( 9182): [Datadog 🐶🔥 ] Failed to attach to an existing native instance of the Datadog SDK.

Thanks for checking. The example is meant to be built from the android directory in Android Studio. I should probably remove the .androiddirectory from theflutter_module`
I've tested with our hybrid example, but wasn't able to reproduce, but we initialize Datadog in the native layer in that example, then use attachToExisting. It also appears to not retain previous state. I will reverse the initialization and see if I can reproduce.
The only way I could see this happening at first glance is that for some reason Flutter is not calling onAttachedToEngine for our plugin, which is what sets up the method channels. But I don't know why that would work on initial app launch and not after a background termination.
I'll try to keep looking, but if you can supply a more minimal reproduction that would be a huge help.

Hi @btrautmann,
I've modified our hybrid example in this branch to be more similar to the setup you describe, but I can't reproduce the issue still. As with the other example, open the android directory in Android Studio and run from there.
It appears that onAttachedToEngine gets called as part of the super.configureFlutterEngine call, which also calls 'main'. Weirdly, I couldn't get method channel calls to work from configureFlutterEngine but by putting the Datadog initialization in main I was still able to get everything connected properly, even after the system terminated the application.
Is there anything about the configuration of the FragmentActivity that maybe could be contributing?.

@fuzzybinary thanks for looking into this for us, we really do appreciate it.
After toying with the sample app, which like you mentioned, did not reproduce, we dug further and realized that we had some legacy code on the native side that would check to see if the app had been restored (new process id) and forcibly start a new FlutterFragmentActivity over the Activity that the system was in the process of attempting to restore. We believe this process (creating a new Activity which, due to its Intent flags would force the one being restored to be finished) was leading to lifecycle overlap and potentially borking plugin registration. Likely (though I haven't really confirmed this) Datadog is the first plugin we're interacting with on startup and so was just a red herring. It is interesting though that it was only seen when upgrading Datadog to the version that used a singleton. That may actually be a contributing factor, but given our inability to reproduce on your hybrid project my gut is telling me the funky thing we're doing on our end is the actual root cause.
We have a fix on our end and if it doesn't end up resolving the issue we'll dig deeper and re-open if we believe it to be a Datadog issue. Thanks again for your help and I hope we weren't too much of an inconvenience!

Sorry I couldn't help more and hopefully you can get to the bottom of it!
Sorry the singleton change broke things.  There's some oddities in the way Flutter handles plugins that necessitated the change, but I'm actively thinking about how I can restructure so that the Singleton nature of the the native SDKs don't get in the way of the non-singleton nature of Plugins (especially in hybrid scenarios). Not sure when I'll be able to perform that refactor though.


[Wrangler] Update v1 tutorials to v2

the following tutorials need updating to work with wrangler v2+:

https://developers.cloudflare.com/workers/tutorials/github-sms-notifications-using-twilio/: this tutorial assumes type="webpack" with polyfills for the built-in node:crypto module and Buffer global
https://developers.cloudflare.com/workers/tutorials/localize-a-website/: uses https://github.com/cloudflare/worker-sites-template which is a Wrangler 1 template using type="webpack"
https://developers.cloudflare.com/workers/tutorials/hello-world-rust/: points to https://github.com/cloudflare/rustwasm-worker-template/, which has been updated to use workers-rs, but the tutorial is still assuming type="rust" (i.e. worker/worker.js doesn't exist anymore)
https://developers.cloudflare.com/workers/tutorials/build-a-slackbot/: references https://github.com/cloudflare/worker-template-router which uses type="webpack"
https://developers.cloudflare.com/workers/tutorials/build-a-jamstack-app/: wrangler init now puts index.js in a src directory
https://developers.cloudflare.com/workers/tutorials/build-a-qr-code-generator/: wrangler init now puts index.js in a src directory, and this uses type="webpack"
https://developers.cloudflare.com/workers/tutorials/query-postgres-from-workers-using-database-connectors/: https://github.com/cloudflare/worker-template-postgres is using the deprecated build.upload.main configuration
https://developers.cloudflare.com/workers/tutorials/store-data-with-fauna/: https://github.com/fauna-labs/fauna-workers/blob/master/wrangler.toml contains the redundant type="javascript", and the tutorial references (but doesn't actually use type="webpack")
https://developers.cloudflare.com/workers/tutorials/workers-kv-from-rust/: points to updated https://github.com/cloudflare/rustwasm-worker-template/ template using workers-rs, but contains references to type="rust" worker/worker.js file in tutorial
https://developers.cloudflare.com/workers/tutorials/handle-form-submissions-with-airtable/: includes redundant type="javascript", and assumes outdated wrangler init output structure
https://developers.cloudflare.com/workers/tutorials/postgres/: uses type="webpack"

Originally posted by @mrbbot in https://github.com/cloudflare/cloudflare-docs/issues/6925#issuecomment-1419254725

I can take a look into this @lrapoport-cf and update the tutorials.

Yes

Closing out #14406 will address bullet 1 as well.

Very belated, but we're closing this out as all tutorials as updated.
🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆


Test configuration does not work for Angular 1 typescript

Hello,
I created a project with Angular1, Typescript, webpack and SCSS.
I ran npm install and typings install.
When I run gulp test, I have the following errors :
[17:27:13] Loading /Users/pierrebaron/Sites/generator-fountain-webapp/gulp_tasks/misc.js
[17:27:13] Loading /Users/pierrebaron/Sites/generator-fountain-webapp/gulp_tasks/browsersync.js
[17:27:13] Loading /Users/pierrebaron/Sites/generator-fountain-webapp/gulp_tasks/karma.js
[17:27:13] Loading /Users/pierrebaron/Sites/generator-fountain-webapp/gulp_tasks/webpack.js
[17:27:14] Loading /Users/pierrebaron/Sites/generator-fountain-webapp/gulp_tasks/partials.js
[17:27:14] Using gulpfile ~/Sites/generator-fountain-webapp/gulpfile.js
[17:27:14] Starting 'test'...
[17:27:14] Starting 'karma:single-run'...
24 05 2016 17:27:14.600:WARN [preprocess]: Can not load "webpack"!
  Error: Passed 'options' object don't look like a valid webpack configuration
    at webpack (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/webpack/lib/webpack.js:19:10)
    at new Plugin (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/karma-webpack/index.js:50:17)
    at invoke (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:75:15)
    at Array.instantiate (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:59:20)
    at get (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:48:43)
    at /Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:71:14
    at Array.map (native)
    at Array.invoke (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:70:31)
    at get (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:48:43)
    at instantiatePreprocessor (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/karma/lib/preprocessor.js:52:20)
    at Array.forEach (native)
    at /Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/karma/lib/preprocessor.js:68:21
    at Array.forEach (native)
    at createPreprocessor (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/karma/lib/preprocessor.js:67:12)
    at Array.invoke (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:75:15)
    at get (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:48:43)
    at /Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:71:14
    at Array.map (native)
    at invoke (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/di/lib/injector.js:70:31)
    at Server.start (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/karma/lib/server.js:102:18)
    at karmaSingleRun (/Users/pierrebaron/Sites/generator-fountain-webapp/gulp_tasks/karma.js:18:15)
    at taskWrapper (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/undertaker/lib/set-task.js:13:15)
24 05 2016 17:27:14.660:WARN [karma]: Port 9876 in use
24 05 2016 17:27:14.661:INFO [karma]: Karma v0.13.22 server started at http://localhost:9877/
24 05 2016 17:27:14.664:INFO [launcher]: Starting browser PhantomJS
24 05 2016 17:27:15.421:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#6l6bqkbkFEd49AIRAAAA with id 42625276
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: require
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/index.spec.js:3

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/app/footer.html.js:1

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/app/header.html.js:1

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/app/main.html.js:1

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/app/techs/tech.html.js:1

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/app/techs/techs.html.js:1

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/app/title.html.js:1

PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  ReferenceError: Can't find variable: angular
  at /Users/pierrebaron/Sites/generator-fountain-webapp/src/index.html.js:1

[17:27:15] 'karma:single-run' errored after 1.18 s
[17:27:15] Error: Failed 1 tests.
    at /Users/pierrebaron/Sites/generator-fountain-webapp/gulp_tasks/karma.js:11:22
    at removeAllListeners (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/karma/lib/server.js:336:7)
    at Server.<anonymous> (/Users/pierrebaron/Sites/generator-fountain-webapp/node_modules/karma/lib/server.js:347:9)
    at Server.g (events.js:260:16)
    at emitNone (events.js:72:20)
    at Server.emit (events.js:166:7)
    at emitCloseNT (net.js:1521:8)
    at nextTickCallbackWith1Arg (node.js:431:9)
    at process._tickDomainCallback (node.js:394:17)
[17:27:15] 'test' errored after 1.18 s

Can you check with the last 0.5 version ?

It works indeed with 0.5 version. I now have to understand why it is not working with ngForward. Thanks !

Hey @Swiip,
Would you mind pointing what were the changes to fix this? I already have a project with this issue and it's not possible to generate again over it. So I think I'll have to manually fix it.
Cheers!

Hi, actually I don't know. At the time this issue was created, the issue was already fixed...
You could generate another project and then copy/paste your src/ in the new project.

@micaelmbagira Sorry for the delay...  I actually have it fixed in the project already and can't remember how, but since it's already fixed here, then it's ok... Thanks!


"Command+," open preference

Description
Most of Apps in Mac OS support "Command+," open Preferences, like Chrome, Spotify, Telegram etc. It's expected Electronic Wechat has the same behavior.
Specifications

Version of Electron (run $ electron --version): v1.4.7
OS: Mac OS
Stack trace from the error message (if any)

<Stack trace here>

Nice idea


pip cant install decouple

on python3 jsmon.py:

on pip install decouple:

how to fix this?

First of all, you're using python3 so you should be using pip3.
To install the missing package try:

pip3 install python-decouple

FYI on windows you dont have to write pip3 explicitly. Moreover I didnt have python2 installed. It seems to be fixed now somehow, so cheers.


⚠ Bofrost.lu has degraded performance

In 43f8bb0, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1387 ms

Resolved: Bofrost.lu performance has improved in c064694 after 8 minutes.


CParser: prevent crash when parsing

if the trimmed token length is zero, charAt() explodes
this is likely a bad macro, but CParser should not crash regardless


Close the window when the user clicks outside

All apps on the menu bar (including native ones, like the wifi or bluetooth icon) close whenever you click outside of their area. This should be the case as well, instead of needing to click the icon again to close. The first time I used it I was a little confused as to why the windows wasn't closing whenever I clicked away.

I second this.

Although I DO see a use for having it stay open sometimes. Sometimes I like to keep it open to look at the stats while I go to different websites.
Maybe an option to lock it open for some cases? All other times, it hides like the above comment?

Yeah, that's what I had in mind. There is already a settings section, so maybe we could have an option to toggle it on or off.

Fixed on version 1.2.0


Store the original test, check and subresult outcome in results

Pull Request Checklist

[x] implement the feature
[x] write the documentation
[x] update the specification
[x] mention the version
[x] include a release note

/packit test

btw, in results.py
        # Extend existing note or set a new one
        if self.note:
            self.note += f', original result: {self.result.value}'
        elif self.note is None:
            self.note = f'original result: {self.result.value}'

shouldn't it be self.original_result.value?

btw, in results.py
        # Extend existing note or set a new one
        if self.note:
            self.note += f', original result: {self.result.value}'
        elif self.note is None:
            self.note = f'original result: {self.result.value}'

shouldn't it be self.original_result.value?

At this moment, self.result and self.original_result should be the same value, I'm looking at code and self.result is modified a few lines later.

Red tests are irrelevant failures, merging.


added talib module to deps

I'm getting an error that talib is not found when turning on tradingAdvisor

When I changed node to v4.. I got an error that node modules talib and sqlite3 were not installed...


fqdn: Add a nil check for security id lookup

The security id lookup could return nil if the cache
isn't initialized during endpoints restore time,
resulting in a crash.
Signed-off-by: Aditi Ghag<EMAIL_ADDRESS>Fixes: #13881

test-me-please

Hit an infrastructure related issue in the istio test - https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Kernel/3685/

test-me-please

All the tests passed except K8s-1.18-Kernel-4.19. Hit an infrastructure related issue in the istio test - https://jenkins.cilium.io/job/Cilium-PR-Ginkgo-Tests-Kernel/3685/

Minor fix in the latest commit -

git diff for latest commit
```
diff --git a/daemon/cmd/fqdn.go b/daemon/cmd/fqdn.go
index 47997da49..6af327618 100644
--- a/daemon/cmd/fqdn.go
+++ b/daemon/cmd/fqdn.go
@@ -475,8 +475,7 @@ func (d *Daemon) notifyOnDNSMsg(lookupTime time.Time, ep *endpoint.Endpoint, epI
Identity: uint64(serverSecID.ID.Uint32()),
Port:     uint16(serverPort),
}

                          secID := d.identityAllocator.LookupIdentityByID(d.ctx, serverSecID.ID)

                          if secID != nil {

                          if secID := d.identityAllocator.LookupIdentityByID(d.ctx, serverSecID.ID); secID != nil {
                                  lr.LogRecord.DestinationEndpoint.Labels = secID.Labels.GetModel()
                                  lr.LogRecord.DestinationEndpoint.LabelsSHA256 = secID.GetLabelsSHA256()
                          }

</details>

Docker ratelimiting on CI :(

Given that the overall CI was green earlier except one flake, the change is simple, and the smoke tests are all green, I don't think we need to re-kick the rest of CI and gamble with dockerhub. I'm OK to merge as-is.


OpenCollective-formality

> ## User story
As , I can <what?> so that <why?>
Best solution for this problem
What does the ideal solution look like?
MVP
What will be built as an MVP? (Please refer to our wiki for what's acceptable as an MVP.)
Metrics
What metrics will be used to measure impact?
Documentation
The goal of the documentation should be to make it easier for others to do this

BucksBitties

AUTHENTICATE
Html Source Files
XML Source Files
ACTION-SERVERLESS
DOCS.HACKERONE.COM
EOSIO-EXPLORER
Build and Release Folders
Other files and folders
Executables
*.swf
*.air
*.ipa
*.apk
Project files, i.e. .project, .actionScriptProperties and .flexProperties
should NOT be excluded as they contain compiler settings and other important
information for Eclipse / Flash Builder.
FROM node:10-slim
LABEL version="1.0.0"
BigGuy573/invest86.git.io
LABEL repository="https://github.com/bigguy573/action-serverless"
LABEL homepage="https://github.com/bigguy573/action-serverless"
LABEL repository="https://github.com/BigGuy573/action-serverless"
LABEL homepage="https://github.com/BigGuy573/action-serverless"
add-code-of-conduct-1
LABEL maintainer="Aaron Panchal<EMAIL_ADDRESS>LABEL "com.github.actions.name"="GitHub Action for Serverless Framework"
LABEL "com.github.actions.description"="Wraps the Serverless CLI"
LABEL "com.github.actions.icon"="zap"
LABEL "com.github.actions.color"="gray-dark"
Install serverless globally
MIT License
Copyright (c) 2021 Michael Glenn
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
GitHub Action for Serverless
This Action wraps the Serverless Framework CLI to enable common commands. See their documentation for usage and provider selection.
Usage
You'll first have to have a Serverless project as outlined in Serverless's Getting Started.  Suppose your provider of choice were Amazon AWS. A workflow could look as follows to install dependencies, and deploy to a Lambda function.
Note: We're first using the NPM Action to install project dependencies, then running serverless deploy via the action.
workflow "Deploy via Serverless" {
  on = "push"
  resolves = ["deploy"]
}

action "install" {
  uses = "actions/npm@master"
  args = "install"
}

action "deploy" {
  needs = ["install"]
BigGuy573/invest86.git.io
  uses = "bigguy573/action-serverless@master"
=======
  uses = "BigGuy573/action-serverless@master"
add-code-of-conduct-1
  args = "deploy"
  secrets = [
    "AWS_ACCESS_KEY_ID",
    "AWS_SECRET_ACCESS_KEY",
  ]
}

Secrets
Depending on the Serverless provider chosen, you'll need to supply appropriate credentials.  The above example illustrates a typical AWS scenario, but Serverless supports other cloud providers.
Typically, with any cloud provider, their particular authentication environment params are Required.
Environment Variables

SERVICE_ROOT - Optional.  To specify a particular subdirectory of your project that contains the Serverless service (the directory with the serverless.yml file) you can specify a SERVICE_ROOT.  This action will cd into that directory then execute commands.  The default root is . (project root).

Example
To navigate and deploy two services (in this example "Users" and "Admins") in different subdirectories:
action "Deploy Users Service" {
BigGuy573/invest86.git.io
  uses = "bigguy573/action-serverless@master"

  uses = "BigGuy573/action-serverless@master"
add-code-of-conduct-1
  args = "deploy"
  env = {
    SERVICE_ROOT = "users_service"
  }
  secrets = [
    "AWS_ACCESS_KEY_ID",
    "AWS_SECRET_ACCESS_KEY",
  ]
}

action "Deploy Admin Service" {
BigGuy573/invest86.git.io
  uses = "bigguy573/action-serverless@master"

  uses = "BigGuy573/action-serverless@master"
add-code-of-conduct-1
  args = "deploy"
  env = {
    SERVICE_ROOT = "admin_service"
  }
  secrets = [
    "AWS_ACCESS_KEY_ID",
    "AWS_SECRET_ACCESS_KEY",
  ]
}

#!/bin/sh
set -e
ROOT=${SERVICE_ROOT:-.}
cd $ROOT
serverless $*
docs/changelog/2020/images/jan_2020_bounty_visibility.png

title: "January 2020"
path: "/changelog/2020/january"
date: "2020-01"
Control Visibility of Bounty Earnings
Hackers can now control whether they want their earnings to be visible on Hacktivity and their profile. Go to your profile's Settings > Account Preferences to manage your bounty visibility.
bounty visibility settings on account preferences
Linking Phabricator Tickets
Programs using the Phabricator integration can now link their Phabricator tickets to their reports on HackerOne.

title: "HackerOne Platform Accessibility Conformance Report Revised Section 508 Edition"
path: "/accessibility/vpat.html"
id: "accessibility/vpat"
bookIndexFor: "accessibility"
VPAT® Version 2.3 (Revised) – April 2019
Name of Product/Version: HackerOne Bug Bounty & Vulnerability Disclosure Platform ("HackerOne Platform")
Product Description: The HackerOne Platform is a platform for an improved security coordination process. Security teams use HackerOne to implement their vulnerability disclosure policy and host bug bounty programs. The platform will communicate the procedures of how to discover and report security vulnerabilities in accordance with industry best practices.
Last Updated: September 26, 2019
Evaluation Methods Used: Accessibility testing consisted of but was not limited to: automated testing, extensive manual testing, general product knowledge, etc.
Applicable Standards/Guidelines: See below.
This report covers the degree of conformance for the following accessibility standard/guidelines:

Standard/Guideline
Included in Report

Web Content Accessibility Guidelines 2.0
Level A (Yes)Level AA (Yes)Level AAA (No)

Revised Section 508 standards published January 18, 2017 and corrected January 22, 2018
(Yes)

Terms
The terms used in the Conformance Level information are defined as follows:

Supports: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
Partially Supports: Some functionality of the product does not meet the criterion.
Does Not Support: The majority of product functionality does not meet the criterion.
Not Applicable: The criterion is not relevant to the product.
Not Evaluated: The product has not been evaluated against the criterion. This can be used only in WCAG 2.0 Level AAA.

WCAG 2.0 Report
Tables 1 and 2 also document conformance with:

Chapter 5 – 501.1 Scope, 504.2 Content Creation or Editing
Chapter 6 – 602.3 Electronic Support Documentation

Note: When reporting on conformance with the WCAG 2.0 Success Criteria, they are scoped for full pages, complete processes, and accessibility-supported ways of using technology as documented in the WCAG 2.0 Conformance Requirements.
Table 1: Success Criteria, Level A

Criteria
Conformance Level
Remarks and Explanations

1.1.1 Non-text Content (Level A) Also applies to: Revised Section 508 501 (Web)(Software)504.2 (Authoring Tool)602.3 (Support Docs)
Web: Supports
Web: The HackerOne Platform has no known accessibility issues. Non-text content provides discernible/accessible labels and name markup.

1.2.1 Audio-only and Video-only (Prerecorded) (Level A) Also applies to: Revised Section 508 501 (Web)(Software)504.2 (Authoring Tool)602.3 (Support Docs)
Web: Not Applicable
Web: There is no content to which success criterion applies. Audio and video media are not used.

1.2.2 Captions (Prerecorded) (Level A) Also applies to:Revised Section 508 501 (Web)(Software)504.2 (Authoring Tool)602.3 (Support Docs)
Web: Not Applicable
Web: The HackerOne Platform has no prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such.

1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: There is no content to which success criterion applies. Audio and video media are not used.

1.3.1 Info and Relationships (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Semantic mark-up (e.g. landmarks, headings, labels) are provided.

1.3.2 Meaningful Sequence (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Pages follow a logical reading sequence.

1.3.3 Sensory Characteristics (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Descriptive mark-up (e.g. button text, tool-tips, alt tags) are provided.

1.4.1 Use of Color (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: The HackerOne Platform does not use color anywhere as the sole indicator of functionality.

1.4.2 Audio Control (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: There is no content to which success criterion applies. Audio media is not used.

2.1.1 Keyboard (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Partially Supports
Web: Most forms support keyboard shortcuts though some functionality requires a pointer.

2.1.2 No Keyboard Trap (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. User focus can be moved away from any component using keyboard tab keys.

2.2.1 Timing Adjustable (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Partially supports
Web: There are some newer features within the pentest component that require a user to submit content within a time limit. This is not adjustable by the user.

2.2.2 Pause, Stop, Hide (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Pages do not have any moving, blinking, scrolling, or auto-updating information.

2.3.1 Three Flashes or Below Threshold (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Pages do not include any flashing elements. Thank goodness we're out of the 90s!

2.4.1 Bypass Blocks (Level A) Also applies to: Revised Section 508 501 (Web)(Software) – Does not apply to non-web software 504.2 (Authoring Tool) 602.3 (Support Docs) – Does not apply to non-web docs
Web: Supports
Web: The HackerOne Platform does not have any repetitive content where a skip or bypass functionality would be necessary.

2.4.2 Page Titled (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Pages are labeled with descriptive titles.

2.4.3 Focus Order (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Page elements follow a logical focus order.

2.4.4 Link Purpose (In Context) (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Page links are labeled with descriptive text.

3.1.1 Language of Page (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Page markup indicates English for default language.

3.2.1 On Focus (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Context does not change on page element focus.

3.2.2 On Input (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Page context does not change on user input.

3.3.1 Error Identification (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. When applicable, form pages provide error condition messaging text.

3.3.2 Labels or Instructions (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. When applicable, web form pages provide self-describing labels and/or instructional text.

4.1.1 Parsing (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features.

4.1.2 Name, Role, Value (Level A) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Partially Supports
Web: Name and value attributes on elements in most cases is discernible; role is sometimes absent.

Table 2: Success Criteria, Level AA

Criteria
Conformance Level
Remarks and Explanations

1.2.4 Captions (Live) (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Not Applicable
Web: There is no content to which success criterion applies. Live audio content is not used.

1.2.5 Audio Description (Prerecorded) (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Not Applicable
Web: There is no content to which success criterion applies. Prerecorded video content is not used.

1.4.3 Contrast (Minimum) (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Contrast minimums are supported.

1.4.4 Resize Text (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Partially Supports
Web: No known accessibility issues. 200% zoom factor is supported and on most pages looks proper.

1.4.5 Images of Text (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues.

2.4.5 Multiple Ways (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) – Does not apply to non-web software 504.2 (Authoring Tool) 602.3 (Support Docs) – Does not apply to non-web docs
Web: Partially Supports
Web: In most cases there is more than one route to any given page.

2.4.6 Headings and Labels (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Descriptive heading and label markup is provided.

2.4.7 Focus Visible (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Focus indicator is natively provided via major browser software vendors.

3.1.2 Language of Parts (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. Page markup indicates English for default language.

3.2.3 Consistent Navigation (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) – Does not apply to non-web software 504.2 (Authoring Tool) 602.3 (Support Docs) – Does not apply to non-web docs
Web: Supports
Web: No known accessibility issues. Consistent page-to-page navigation is provided via our top nav.

3.2.4 Consistent Identification (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) – Does not apply to non-web software 504.2 (Authoring Tool) 602.3 (Support Docs) – Does not apply to non-web docs
Web: Supports
Web: No known accessibility issues. Consistent identification applied to components across pages.

3.3.3 Error Suggestion (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: No known accessibility issues. When applicable, form pages provide error suggestion text.

3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) Also applies to: Revised Section 508 501 (Web)(Software) 504.2 (Authoring Tool) 602.3 (Support Docs)
Web: Supports
Web: These actions are either checked or confirmed.

Table 3: Success Criteria, Level AAA
Notes: Section removed as Section 508 Does not apply
Revised Section 508 Report
Notes:
Chapter 3: Functional Performance Criteria (FPC)
Notes:

Criteria
Conformance Level
Remarks and Explanations

302.1 Without Vision
Supports
Accessible mark-up utilized for screen readers.

302.2 With Limited Vision
Supports
Accessible mark-up utilized for screen readers.

302.3 Without Perception of Color
Supports
No input depends on perception of color.

302.4 Without Hearing
Supports
No dependency on sound.

302.5 With Limited Hearing
Supports
No dependency on sound.

302.6 Without Speech
Supports
No dependency on sound.

302.7 With Limited Manipulation
Supports
No place to input speech.

302.8 With Limited Reach and Strength
Supports
Screen reader support, mouse, and keyboard only operation are provided.

302.9 With Limited Language, Cognitive, and Learning Abilities
Supports
Simple design, ease of use in mind.

Chapter 4: Hardware
Notes: Section removed.  Not applicable.  The HackerOne Platform is a web-only application.
Chapter 5: Software
Notes: Section removed.  Not applicable.  The HackerOne Platform is a web-only application.
Chapter 6: Support Documentation and Services
Notes: Section removed.  Not applicable.  The HackerOne Platform is a web-only application.

title: "Asset"
path: "/glossary/asset"
Attack surfaces that hackers can hack on. There are different types such as: CIDR, Domain, Source code, Executable, Hardware/loT, iOS: .ipa.
A collection of assets creates a scope.

title: "Bounty Table"
path: "/glossary/bounty-table"
A bounty table illustrates how much an organization is willing to pay for various bugs, helps set expectations for hackers, and gives the bug bounty team a guideline to ensure fair and consistent reward amounts.

title: "Bounty"
path: "/glossary/bounty"
A financial reward offered in exchange for a valid vulnerability report.

title: "Bug Bounty Program"
path: "/glossary/bug-bounty-program"
A bug bounty offers monetary incentives for vulnerabilities and invites submissions from hackers.

title: "Common Response"
path: "/glossary/common-response"
A saved response or template that can be applied repeatedly to reports.

title: "CVSS"
path: "/glossary/cvss"
Common Vulnerability Scoring System (CVSS) is the framework HackerOne utilizes to assign a severity rating to a vulnerability.

title: "CWE"
path: "/glossary/cwe"
Common Weakness Enumeration (CWE) is the framework HackerOne utilizes to assign a weakness to a vulnerability.

title: "Directory"
path: "/glossary/directory"
The HackerOne directory is a community-curated resource for contacting an organization regarding a security vulnerability.

title: "Hacker"
path: "/glossary/hacker"
Someone who’s able to find vulnerabilities in information-related systems. One who enjoys the intellectual challenge of creatively overcoming limitations (Jargon File 4.4.7).

title: "Hacktivity"
path: "/glossary/hacktivity"
Hacktivity is the public community feed that showcases hacker activity on HackerOne.

title: "Impact"
path: "/glossary/impact"
Average reputation gained per bounty.

title: "Integration"
path: "/glossary/integration"
External applications being connected and functioning in HackerOne.

title: "ISO 29147"
path: "/glossary/iso-29147"
An international standard describing vulnerability coordination.

title: "ISO 30111"
path: "/glossary/iso-30111"
An international standard describing vulnerability handling processes.

title: "Report"
path: "/glossary/report"
A submission from a hacker that describes a potential security vulnerability.

title: "Reputation"
path: "/glossary/reputation"
Reputation measures how likely a hacker’s finding is to be immediately relevant and actionable.

title: "Scope"
path: "/glossary/scope"
A collection of assets that hackers are to hack on. It’s the structured data that represents the attack surface that’s included or explicitly excluded in an organization’s vulnerability disclosure or bug bounty program.

title: "Signal"
path: "/glossary/signal"
Average reputation gained per report.

title: "Vulnerability Disclosure"
path: "/glossary/vulnerability-disclosure"
The process by which an organization receives and disseminates information about vulnerabilities in their products or online services.
ISO 29147 definition: Process through which vendors and vulnerability finders may work cooperatively in finding solutions that reduce the risks associated with a vulnerability. It encompasses actions such as reporting, coordinating, and publishing information about a vulnerability and its resolution.

title: "Vulnerability"
path: "/glossary/vulnerability"
Weakness of software, hardware, or online service that can be exploited.
Basic example:
Upload the artifact application.zip and deploy your environment.
script:

pipe: atlassian/aws-elasticbeanstalk-deploy:0.6.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: 'us-east-1'
APPLICATION_NAME: 'my-app-name'
ENVIRONMENT_NAME: 'production'
ZIP_FILE: 'application.zip'
Advanced example:
Upload the artifact application.zip and create a version deploy-$BITBUCKET_BUILD_NUMBER-multiple in Elastic Beanstalk.

pipe: atlassian/aws-elasticbeanstalk-deploy:0.6.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
APPLICATION_NAME: 'application-test'
COMMAND: 'upload-only'
ZIP_FILE: 'application.zip'
S3_BUCKET: 'application-test-bucket'
VERSION_LABEL: 'deploy-$BITBUCKET_BUILD_NUMBER-multiple'
Deploy your version deploy-$BITBUCKET_BUILD_NUMBER-multiple into the environment production and wait until the deployment is completed to see the status.

pipe: atlassian/aws-elasticbeanstalk-deploy:0.6.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
APPLICATION_NAME: 'application-test'
COMMAND: 'deploy-only'
VERSION_LABEL: 'deploy-$BITBUCKET_BUILD_NUMBER-multiple'
ENVIRONMENT_NAME: 'production'
WAIT: 'true'
Deploy multicontainer Docker environment as an AWS Elastic Beanstalk application to AWS Cloud and wait until the deployment is completed to see the status. You can find the complete source code for the sample multicontainer app by following this link example-aws-elasticbeanstalk-deploy-docker-multicontainer repository.

step:
name: Build docker-multicontainer-v2 App
script:

zip -r docker-multicontainer-v2.zip cron.yaml Dockerrun.aws.json .ebextensions php-app proxy
artifacts:
docker-multicontainer-v2.zip

step:
name: Deploy to AWS EBS
caches:
- pip
script:

pipe: atlassian/aws-elasticbeanstalk-deploy:0.6.0
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: 'us-east-1'
APPLICATION_NAME: 'test-ebs-multi-docker'
ENVIRONMENT_NAME: 'TestEbsMultiDocker-env'
ZIP_FILE: 'docker-multicontainer-v2.zip'
WAIT: 'true'
       Apache License
                 Version 2.0, January 2004
              http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!)  The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [2021] [Michael Glen @BigGuy573]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

An IAM user is configured with sufficient permissions to perform a deployment to your application and upload artifacts to the S3 bucket.
You have configured the Elastic Beanstalk application and environment.
An S3 bucket has been set up to which deployment artifacts will be copied. Use name ${APPLICATION_NAME}-elasticbeanstalk-deployment to automatically use it.
bucksbitties
Support
If you'd like help with this pipe, or you have an issue or feature request, let us know on Community.
If you're reporting an issue, please include:
the version of the pipe
relevant logs and error messages
steps to reproduce
Basic usage
Variable	Usage
AWS_ACCESS_KEY_ID ()	AWS access key.
AWS_SECRET_ACCESS_KEY ()	AWS secret key.
AWS_DEFAULT_REGION ()	The AWS region code (us-east-1, us-west-2, etc.) of the region containing the AWS resource(s). For more information, see Regions and Endpoints in the Amazon Web Services General Reference.
APPLICATION_NAME ()	The name of the Elastic Beanstalk application.
ENVIRONMENT_NAME ()	Environment name.
ZIP_FILE ()	The application source bundle to deploy (zip, jar, war).
S3_BUCKET	Bucket name used by Elastic Beanstalk to store artifacts. Default: ${APPLICATION_NAME}-elasticbeanstalk-deployment.
VERSION_LABEL	Version label for the new application revision. Default: ${APPLICATION_NAME}-${BITBUCKET_BUILD_NUMBER}-${BITBUCKET_COMMIT:0:8}.
DESCRIPTION	Description for the new application revision. Default: a URL pointing to the pipeline result page.
WAIT	Wait for deployment to complete. Default: false.
WAIT_INTERVAL	Time to wait between polling for deployment to complete (in seconds). Default: 10.
COMMAND	Command to be executed during the deployment. Valid options are all, upload-only, deploy-only. Default: all.
DEBUG	Turn on extra debug information. Default: false.
(*) = required variable.
Advanced usage
If COMMAND is set to upload-only
Variable	Usage
AWS_ACCESS_KEY_ID ()	AWS access key.
AWS_SECRET_ACCESS_KEY ()	AWS secret key.
AWS_DEFAULT_REGION ()	The AWS region code (us-east-1, us-west-2, etc.) of the region containing the AWS resource(s). For more information, see Regions and Endpoints in the Amazon Web Services General Reference.
APPLICATION_NAME ()	The name of the Elastic Beanstalk application.
COMMAND ()	Command to be used. Use upload-only here.
ZIP_FILE ()	The application source bundle to deploy (zip, jar, war).
S3_BUCKET	Bucket name used by Elastic Beanstalk to store artifacts. Default: ${APPLICATION_NAME}-elasticbeanstalk-deployment}.
VERSION_LABEL	Version label for the new application revision. Default: ${ENVIRONMENT_NAME}_${BITBUCKET_COMMIT:0:8}_YYYY-mm-dd_HHMMSS).
DESCRIPTION	Description for the new application revision. Default: "".
DEBUG	Turn on extra debug information. Default: false.
If COMMAND is set to deploy-only
Variable	Usage
AWS_ACCESS_KEY_ID ()	AWS access key.
AWS_SECRET_ACCESS_KEY ()	AWS secret key.
AWS_DEFAULT_REGION ()	The AWS region code (us-east-1, us-west-2, etc.) of the region containing the AWS resource(s). For more information, see Regions and Endpoints in the Amazon Web Services General Reference.
APPLICATION_NAME ()	The name of the Elastic Beanstalk application.
COMMAND ()	Command to be used. Use deploy-only here.
ENVIRONMENT_NAME ()	Environment name.
VERSION_LABEL	Version label for the new application revision. Default: ${ENVIRONMENT_NAME}_${BITBUCKET_COMMIT:0:8}_YYYY-mm-dd_HHMMSS).
WAIT	Wait for deployment to complete. Default: false.
WAIT_INTERVAL	Time to wait between polling for deployment to complete (in seconds). Default: 10.
DEBUG	Turn on extra debug information. Default: false.
git clone<EMAIL_ADDRESS>

pipe: atlassian/aws-elasticbeanstalk-deploy:0.6.0
variables:
AWS_ACCESS_KEY_ID: ''
AWS_SECRET_ACCESS_KEY: ''
AWS_DEFAULT_REGION: ''
APPLICATION_NAME: ''
ENVIRONMENT_NAME: ''
ZIP_FILE: ''
S3_BUCKET: '' # Optional.
VERSION_LABEL: '' # Optional.
DESCRIPTION: '' # Optional.
WAIT: '' # Optional.
WAIT_INTERVAL: '' # Optional.
COMMAND: '' # Optional.
DEBUG: '' # Optional.
This pipe deploys a new version of an application to an Elastic Beanstalk environment associated with the application.

With Elastic Beanstalk, you can quickly deploy and manage applications in the AWS Cloud without worrying about the infrastructure that runs those applications. Elastic Beanstalk reduces management complexity without restricting choice or control. You simply upload your application, and Elastic Beanstalk automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring.
For advanced use cases and best practices, we recommend build once and deploy many approach. So, if you have multiple environments we recommend using the COMMAND variable to separate your CI/CD workflow into different operations / pipes:
COMMAND: 'upload-only': It will upload the artifact and release a version in Elastic Beanstalk.
COMMAND: 'deploy-only': It will deploy the specified version to the desired environment(s)

This ticket is closed due to guidelines not followed.
All tickets should follow the guidelines as mentioned in:

The Code of Conduct.

Submission guidelines as mentioned in our README file.


I get “Error! Instance verification timed out (3m)” when deploying

When I’m trying to deploy a Node app to bru1 I get this error. I have previously done a number of successful deployments, and I have no idea why I get this error. There is nothing in the logs or output that suggests what is wrong.
I have tried now --no-verify as well, but no luck. It’s frustrating not being able to deploy my app – and I really don’t want to switch provider. Any idea what might cause this?

I can add that it works one in a few times. The only change I did was to change indentation of some code.

More debugging information would be helpful when hitting this issue, as well as some reassurance from the Now.js team that this is not an issue with the core software.

I get instance verification timed out frequently, but 99% of the time there is a specific error that caused the timeout. My biggest issue is that things tend to work seamlessly locally but I've been having a lot of problems making a successful deployment. https://github.com/zeit/now-cloud/issues/67

We are not observing that timeouts are correlated with errors, for us maybe ~90% of the time a client timeout means the deployment succeeded.

Thank you so much for the effort you have put into this issue! 😊
However, since we completely re-worked the entire codebase of Now CLI and this issue does not apply to the new code anymore, I'm closing it now.
You can read more about our biggest release yet here: https://zeit.co/blog/now-2

I have been having this issue for sometime as well deploying with gitlab-ci. It is a nuisance having to retry the deployments each time to get a pass. Like @kevinburke said, ~90% of the time it deploys fine but it still fails the CI runner. I have noticed this seems to only occur consistently with my two express based deployments, one express and one graphql-yoga.
Closing this issue also concerns me that other v1 issues will not get attention because most of my deployments are Docker based and not compatible with v2 yet.


Can jsonschema2pojo use json schemas generated by jsonix-schema-compiler?

Using a Json-schema that gets generated by jsonix-schema-compiler looks to not produce any POJOs.
An example schema, from the jsonix-schema-compiler project:
PurchaseOrder.jsonschema
Using this schema directly on the online tool produces no output.
Is there something in the jsonix-produced structure that needs to be changed in order for jsonschema2pojo to understand it?
Thanks

While experimenting with various things, I have seen that adding this line after the "id" line, does seem to produce a single POJO -> PurchaseOrderType.
"$ref": "#/definitions/PurchaseOrderType",
This is promising, but is there a way to get jsonschema2pojo to generate all types?
I.e. Items.Item, Items & USAddress (as well as PurchaseOrderType)

The problem here is that this schema makes extensive use of allOf and anyOf, and we don't support these (#392). The semantics of these are very difficult to map faithfully to Java.

I see.
If I remove all the allOf constraints, will this help? I.e. have these references only implied.
Eg. from:
"allOf":[{ "$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/string" }],
to just:
"$ref":"http://www.jsonix.org/jsonschemas/w3c/2001/XMLSchema.jsonschema#/definitions/string"
Also, in the PurchaseOrder.jsonschema schema example, the anyOf constraints appear at "top-level". I'm not 100% sure how they help in this example, but could they get "merged" in a way that jsonschema2pojo can process it?
From the original XSD it looks that these could have been modelled as "properties"... (??)

I have manually done all the changes I had suggested in order to test what will happen. The online tool now generates the 2 "merged" properties. But...   ...the types of the fields are just Object. No mapping to the #definitions types... Any ideas?
PurchaseOrder_no-constraints.jsonschema.txt


glossary: Make objects explicitly unordered and forbid duplicate names

Pin down our JSON definition to a particular RFC (which we can explicitly bump if neccessary), instead of referencing the floating JSON homepage.
Explicitly make objects unordered and forbid duplicate names to avoid relying on unportable behavior.  RFC 7159 is a bit more relaxed:

The names within an object SHOULD be unique.

but warns:

An object whose names are all unique is interoperable in the sense
that all software implementations receiving that object will agree
on the name-value mappings.  When the names within an object are not
unique, the behavior of software that receives such an object is
unpredictable.  Many implementations report the last name/value pair
only.  Other implementations report an error or fail to parse the
object, and some implementations report all of the name/value pairs,
including duplicates.

The RFC also warns about order portability:

JSON parsing libraries have been observed to differ as to whether or
not they make the ordering of object members visible to calling
software.  Implementations whose behavior does not depend on member
ordering will be interoperable in the sense that they will not be
affected by these differences.

And has some (informative?) language about entries being unordered:

An object is an unordered collection of zero or more name/value pairs…

LGTM

LGTM


Update tabview demo code to be valid xaml

Fixes #2173
@stmoy FYI

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

@Karl-Bridge-Microsoft - Do you want to review the update or is the PR ready to merge? Thanks.

#sign-off


Milestone 2: Implemented the CRUD methods

I have done the following to reach this milestone:

[ ] Removed hardcoded items in the tasks array
[ ] Implemented the functions for adding and removing an element from the list
[ ] Added an Editing function
[ ] Set the completed property of the List to be toggled to true or false based on whether the taks is completed
[ ] Dynamically update the index when a task is added or removed

Hi @prg-04 your dashboard has been updated and you can now request another code review once you are done implementing the changes requested by  @frank1738 .
Apologies for any inconvenience caused.


⚠ ClamAV has degraded performance

In b5f2fe4, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 440 ms

Resolved: ClamAV performance has improved in 75dfd28.


Interest calculations

Create a function which calculate the interest and maybe we should make it 16%...

Hey @yrncollo, I can do this..

#34  -> Added this feature


Test failure: MaxRequestBodySize_AppCanLowerLimit

This issue was made automatically. If there is a problem contact ryanbrandenburg.
This test failed with the following error:
Assert.Equal() Failure
Expected: GOAWAY
Actual:   RST_STREAM

Other tests within that build may have failed with a similar message, but they are not listed here. Check the link above for more info.
This test failed on release/2.2.
CC @muratg

This comment was made automatically. If there is a problem contact ryanbrandenburg.
Please use this workflow to address this flaky test issue, including checking applicable checkboxes and filling in the applicable "TODO" entries:

Is this actually a flaky test?

No, this is a regular test failure, fix the test/product (TODO: Link to commit/PR)
Yes, proceed below...

Is this test failure caused by product code flakiness? (Either this product, or another product this test depends on.)

[ ] File a bug against the product (TODO: Link to other bug)
Is it possible to change the test to avoid the flakiness?

Yes? Go to the "Change the test!" section.
No?

[ ] Disable the test (TODO: Link to PR/commit)
[ ] Wait for other bug to be resolved
[ ] Wait for us to get build that has the fix
[ ] Re-enable our test (TODO: Link to PR/commit)
[ ] Close this bug

Is it that the test itself is flaky? This includes external transient problems (e.g. remote server problems, file system race condition, etc.)

Is there is a way to change our test to avoid this flakiness?

Yes? Change the test!

[ ] Change the test to avoid the flakiness, for example by using a different test strategy, or by adding retries w/ timeouts (TODO: Link to PR/commit)
[ ] Run the test 100 times locally as a sanity check.
[ ] Close this bug

No?

Is there any logging or extra information that we could add to make this more diagnosable when it happens again?

Yes?

[ ] Add the logging (TODO: Link to PR/commit)

No?

[ ] Delete the test because flaky tests are not useful (TODO: Link to PR/commit)

@halter73 @Tratcher @JunTaoLuo MaxBodyRequestSize limit?

@Tratcher it looks like the RST was triggered by the new stream draining logic. It looks like there's a race in the test between HttpProtocol.ProcessRequests completing and the connection aborting.


Escape delimiter in parameter pattern

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
-

Good catch. Thanks!


deal with global and object variable CS errors

FILE: ...WordPressURLDetector/src/DetectCategoryPagination.php
----------------------------------------------------------------------
FOUND 3 ERRORS AFFECTING 2 LINES
----------------------------------------------------------------------
 31 | ERROR | Variable "wp_rewrite" is not in valid camel caps
    |       | format
    |       | (Squiz.NamingConventions.ValidVariableName.NotCamelCaps)
 41 | ERROR | Variable "wp_rewrite" is not in valid camel caps
    |       | format
    |       | (Squiz.NamingConventions.ValidVariableName.NotCamelCaps)
 41 | ERROR | Member variable "pagination_base" is not in valid camel
    |       | caps format
    |       | (Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps)
----------------------------------------------------------------------

Jó napot, @szepeviktor! Is there a simple way via phpcs.xml to exclude certain vars for these sniffs, like we can do with WordPress.NamingConventions.ValidVariableName?

"WordPress application"

What an upgrade! 🤣

So naming it wpRewrite is impossible?

I see, it is a global...
// phpcs:ignore Squiz.NamingConventions.ValidVariableName.NotCamelCaps
... $wp_rewrite ...

Yeah, starting to feel like solution is to just avoid that at all costs and grab pagination base by other means... Close?

WordPress uses a global variable instead of a DI container.

Looks like get_option( 'rewrite_rules' ) may be more useful way to determine some URL structures for this repo... I should be OK for now, thanks for coming to rescue again! I'm just doing first pass at this repo adjusting for Codesniffer, then will get to PHPStan and friends next and cry for help when I get stuck :D

more work to do in design, but CS issue cleared


a version specific crates.io badge

:clipboard: Description
Like the existing "latest" crates.io badge but with a version parameter.
:link: Data
Same as existing crates.io badge.
:microphone: Motivation
Badges embedded in READMEs are not able to reflect the observed version when viewed on an older crate version's page on crates.io.

I understand the situation you are describing, but I'm not really sure why that's problematic/what the value is in your ask, nor how you are requesting that be addressed.
The point of the referenced dynamic version badge is largely to convey the latest version published for that package that can in turn be linked to the registry page. That always holds true, as the latest version badge is simply a url-embedded svg with a value that's calculated by querying the crates.io API (not user/browser context specific). Regardless of the crate version you're looking at, the readme and the contents of that file (including embedded image urls) are static and based on the contents of that readme file at the time the crate was published.
Our svgs have no awareness of the context in which they are used/embedded/etc., so there's no way we can provide an svg that dynamically changes its values based on what version of a crate each user happens to be reviewing in their web browser at that point in time.
I guess if you really wanted your readme badge version to match the crate version when viewed on the crates.io registry, you could instead use our static badge feature and ensure that you update the badge url value in your readme as part of every publish, e.g.
http://img.shields.io/badge/crates.io-v0.9.0-orange

http://img.shields.io/badge/crates.io-v0.10.0-orange

However, it's still unclear to me why you'd want to have that behavior especially in the context of the actual registry where the packages can be consumed by your users. If I'm browsing an older version of a crate on crates.io, I feel like crates.io already provides a lot of information that tells me which version of that crate I'm viewing. I'd also suggest that having a latest-published version badge at the top of the readme provides more useful information when looking at an old crate version, since that information isn't as prevalent (have to scroll down and look at the version listings on the right)

Very good points, the static badge idea has come to mind since opening. In thinking about it, the value add is very little; only that having mismatched badges on a README page is weird and that the crates.io badge itself doesn't actually convey it represents the latest available version as context for older READMEs.
I think the jury is out for best practice of badges on these archived pages given the lack of injectable context (without some official support from crates.io). Thanks for your reply and feel free to close.

Sure! Happy to help. I'll close the issue but also wanted to add that this situation isn't unique to crates.io and the same behavior is experienced with the npmjs registry, pypi, etc.
Ultimately I think it's a matter of what folks assume the badge means. Perhaps changing the label up a bit could help if you really want an extra visual indicator that the badge reflects the latest version of the crate vs the version docs you happen to be browsing, for example
https://img.shields.io/crates/v/serde?label=latest

Ahh modifiers apply to pre-built badges, of course. I think this solution is most elegant.


How do I overwrite the controller

How can I overwrite the controller?
please reply asap its important
I want to create a controller and add the following to it:
before_filter :auth_user
thanks.

Because this is a Rack based plugin, it does not go through the same process as your rails app.
That said you can configure some authentication through the rails routing engine (routes.rb).
This is an example that I use with Devise:
    authenticate :user, lambda { |u| u.roles.include?('admin') } do
      mount Kibana::Sinatra::Web => '/kibana', :trailing_slash => true
    end

See: https://github.com/plataformatec/devise/wiki/How-To:-Define-resource-actions-that-require-authentication-using-routes.rb

thanks


core[patch]: add pydantic to sys_info

Taking over

Perhaps let's do this instead: https://github.com/langchain-ai/langchain/pull/25076


[Feature]: To provide invitation emails with a branding.

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
We would be interested in the possibility to brand the invitation emails as well.
Why should this be worked on?
In order to achieve higher acceptance in the business environment

@UMinky  - What is the user flow you're expecting here? Do you want to be able to embed HTML (or) do you want to be able to edit the text of the email?
We will include the brand colors and logo in the upcoming notification emails (HTML - The Appsmith colors and logo will be updated with custom branding). Let me know if that works for you (or) are you looking for something different?

Got it, Thanks Udo. We'll discuss this internally and update the ticket with progress.

@UMinky this is fixed in our latest release. Give it a try and let us know if you still need more customization. Right now the brand colors and logo that you configured will show up in the emails


dataset

Hello,
Interesting work.  How can I download the emotion.csv in order to run the test?  I try git clone but failed.
Thanks

Try zip downloading the repository.

Hello,
Interesting work. How can I download the emotion.csv in order to run the test? I try git clone but failed.
Thanks

Try zip downloading the repository.

Hello,
Interesting work. How can I download the emotion.csv in order to run the test? I try git clone but failed.
Thanks

Try zip downloading the repository.

hi i did zip but when i open emotion.csv it only shows git lfs sha ....

Hello,
Interesting work. How can I download the emotion.csv in order to run the test? I try git clone but failed.
Thanks

Try zip downloading the repository.

hi i did zip but when i open emotion.csv it only shows git lfs sha ....

Try this. I found it on StackOverflow:
At first:
git config --global core.compression 0
then, clone just a part of your repo:
git clone --depth 1 <repo_URI>
and now "the rest"
git fetch --unshallow
but here is the trick.: When you have a big repo sometimes you must perform that step multiple times. So... again,
git fetch --unshallow
and so on.
Try multiple times. Probably you will see, that each time you perform 'unshallow' you get more and more objects before the error.
And at the end, just to be sure.
git pull --all

sorry not work.. anyway thanks for your help.  I may try other similar projects with dataset to train.
Thanks again!

Would be great if you could share this dataset with me.
email:-<EMAIL_ADDRESS>Thanks.


[SchemaRegistry] add json format

Adding JSON format to list of supported Schema Formats.
TODO:

[ ] update tests to run for both Avro + JSON (with parametrize?)
[ ] check if we want to add Custom to this release
[ ] confirm enum value: "Json" vs. "JSON"?
[ ] confirm: JSON request content-type == JSON response content-type?

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-schemaregistry

The receiving logic seems to be in line with what the service team shared so far but I am not sure which content type is used in PUT requests. I am looking at the recordings and it seems like they're all sending avro schemas?

@deyaaeldeen - yeah, so far, I've only re-recorded Avro tests. I'll be recording JSON tests with the resources created in the test-resources.json file, whenever it's valid to create a JSON SR group that way. Haven't had any luck creating a JSON SR group that way yet :(. I've just tested the changes locally with the sample files using the connection info that Eric provided.

/azp run python - eventhub - tests


Unable to run android samples with Android Studio 4.0.1

Describe the bug
When I open the 'android' subdirectory with android studio ( it is recognyzed by the System) and try the gltf-viewer example project I get the following compilation error:
C:\Users\geier\Desktop\LRZ\filament\android\filament-utils-android\CMakeLists.txt : C/C++ fullRelease|x86_64 : CMake Error: CMake can not determine linker language for target: gltfio-jni
Affected Modules: filament-utils-android, gltfio-android

Desktop (please complete the following information):
Windows 10, Android Studio 4.0.1,

When I open the triangle example I get the following error message:
Could not find C:\Users\geier\Desktop\LRZ\filament\out\release\filament\bin\matc.exe. Ensure Filament has been built/installed before building this app.
When I run the build.sh script as described here
https://github.com/google/filament/tree/main/android/samples
I do not get any error messages but the script seems to terminate without doing anything.
Is building filament on windows for android even supported ?

I just found the Readme here:
https://github.com/google/filament/blob/main/android/Windows.md
It would be great if it was possible to build filament from Android studio without installing VSC usw.
Closing this issue since yes, it seems to be supported. But the Steps required to get there are a little bit too much for me right now.


For a 0.15.10 release

#462 #468 #463
To do:

[ ] Resolve https://github.com/JuliaAI/MLJScikitLearnInterface.jl/issues/42
[x] Need this merged and released: https://github.com/OutlierDetectionJL/OutlierDetectionNetworks.jl/pull/7 (otherwise can't get lates BetaML release to load concurrently with OutlierDetectionNetworks)

Codecov Report

Merging #469 (74750f5) into master (831b117) will increase coverage by 1.41%.
The diff coverage is 14.60%.

@@            Coverage Diff             @@
##           master     #469      +/-   ##
==========================================
+ Coverage   75.42%   76.84%   +1.41%
==========================================
  Files          12       16       +4
  Lines        1050     1097      +47
==========================================
+ Hits          792      843      +51
+ Misses        258      254       -4

Impacted Files
Coverage Δ

src/MLJModels.jl
100.00% <ø> (ø)

src/registry/src/activate_registry_project.jl
0.00% <0.00%> (ø)

src/registry/src/check_registry.jl
0.00% <0.00%> (ø)

src/registry/src/update.jl
0.00% <0.00%> (ø)

src/registry/test/info_dict.jl
92.00% <ø> (ø)

src/loading.jl
67.94% <77.77%> (+5.59%)
:arrow_up:

src/builtins/Transformers.jl
96.24% <100.00%> (ø)

src/init.jl
100.00% <100.00%> (ø)

src/registry/src/Registry.jl
100.00% <100.00%> (+100.00%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Needs resolution of: https://github.com/JuliaAI/MLJScikitLearnInterface.jl/issues/42

@OkonSamuel Can you please add your hack to .github/workflows/check_registry.yml to (hopefully) resolve the fail here?

@OkonSamuel Can you please add your hack to .github/workflows/check_registry.yml to (hopefully) resolve the fail here?

I worked on it in https://github.com/JuliaAI/MLJModels.jl/pull/470, but the check_registry.yml still fails due to MissingImputator and GMMClusterer


A bug with the environment's coloring persists.

When a environment is enabled and further disabled, changing the color property while keeping the environments disabled indeed updates the color for every atom, although a ghost of the previous environment's coloring remains on top of the current coloring. If the environment is then re-enabled and further re-disabled by the user, the "ghost" will disappear. But, changing the color property again will result in the same problem.
I tried to fix this issue today but I can't understand where the problem comes from. I need help @Luthaf
Although, I found another bug wwhere the color bar appeared when selecting a coloring per element again and fixed it!

I also noticed this problem, but have no clear idea how to fix it

The issue was that we did not remove the GLModel from 3Dmol renderer when switching off the environments highlighting. It was not caught previously because both models had the same color anyway. This should be fixed by #322


Brunch postinstall failure

Hi,
I'm installing brunch on Ubuntu 14.04 and I get the following output:
$ npm install brunch
npm WARN optional dep failed, continuing<EMAIL_ADDRESS>-
><EMAIL_ADDRESS>postinstall /cath/homes2/zcapamu/webserver/cath-chopping-viewer/node_modules/brunch
> node -e "require('fs').readdir('lib',function(e){e&&require('child_process').exec('npm run prepublish')})"

npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR<EMAIL_ADDRESS>postinstall: `node -e "require('fs').readdir('lib',function(e){e&&require('child_process').exec('npm run prepublish')})"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is most likely a problem with the brunch package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node -e "require('fs').readdir('lib',function(e){e&&require('child_process').exec('npm run prepublish')})"
npm ERR! You can get their info via:
npm ERR!     npm owner ls brunch
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.16.0-28-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "brunch"
npm ERR! cwd /cath/homes2/zcapamu/webserver/cath-chopping-viewer
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /cath/homes2/zcapamu/webserver/cath-chopping-viewer/npm-debug.log
npm ERR! not ok code 0

I get the same output with:

sudo npm install brunch
logging in as root and trying npm install brunch
npm install https://github.com/brunch/brunch/tarball/master
all of the above with the -g flag

It seems the errors happen soon after the postinstall script starts running.
The npm-debug.log is too large to post on here so here it is from the postinstall onwards:
9470 info install<EMAIL_ADDRESS>9471 info postinstall<EMAIL_ADDRESS>9472 verbose unsafe-perm in lifecycle true
9473 info<EMAIL_ADDRESS>Failed to exec postinstall script
9474 verbose node_modules/brunch unbuild
9475 warn This failure might be due to the use of legacy binary "node"
9476 warn For further explanations, please read
/usr/share/doc/nodejs/README.Debian
9477 info preuninstall<EMAIL_ADDRESS>9478 info uninstall<EMAIL_ADDRESS>9479 verbose true,/cath/homes2/zcapamu/webserver/cath-chopping-viewer/node_modules,/cath/homes2/zcapamu/webserver/cath-chopping-viewer/node_modules unbuild<EMAIL_ADDRESS>9480 verbose /cath/homes2/zcapamu/webserver/cath-chopping-viewer/node_modules/.bin,[object Object] binRoot
9481 info postuninstall<EMAIL_ADDRESS>9482 error<EMAIL_ADDRESS>postinstall: `node -e "require('fs').readdir('lib',function(e){e&&require('child_process').exec('npm run prepublish')})"`
9482 error Exit status 1
9483 error Failed at the<EMAIL_ADDRESS>postinstall script.
9483 error This is most likely a problem with the brunch package,
9483 error not with npm itself.
9483 error Tell the author that this fails on your system:
9483 error     node -e "require('fs').readdir('lib',function(e){e&&require('child_process').exec('npm run prepublish')})"
9483 error You can get their info via:
9483 error     npm owner ls brunch
9483 error There is likely additional logging output above.
9484 error System Linux 3.16.0-28-generic
9485 error command "/usr/bin/nodejs" "/usr/bin/npm" "install" "brunch"
9486 error cwd /cath/homes2/zcapamu/webserver/cath-chopping-viewer
9487 error node -v v0.10.25
9488 error npm -v 1.4.21
9489 error code ELIFECYCLE
9490 verbose exit [ 1, true ]

Just for clarification: this issue is not closed. I mistakenly closed it 3 days ago.

How did you install node on this machine? It appears to be complaining that you have no node binary available in your PATH.
What happens when you run that node -e script manually?

I installed nodejs using apt-get. Running the node -e script manually doesn't do anything, or gives undefined variable errors.
I was trying to install another npm package which wasn't working, and one of the suggestions was to remove node using apt-get and create a symlink from /usr/bin/nodejs to /usr/bin/node, after which the install worked fine.
The error I now get with trying to install Brunch is:
$ sudo npm install -g brunch
npm ERR! Error: Attempt to unlock brunch, which hasn't been locked
npm ERR!     at unlock (/usr/share/npm/lib/utils/locker.js:44:11)
npm ERR!     at cb (/usr/share/npm/lib/cache/add-local.js:30:5)
npm ERR!     at /usr/share/npm/lib/cache/add-local.js:47:20
npm ERR!     at /usr/share/npm/lib/utils/locker.js:30:7
npm ERR!     at /usr/lib/nodejs/lockfile.js:161:38
npm ERR!     at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Linux 3.16.0-28-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "brunch"
npm ERR! cwd /cath/homes2/zcapamu/webserver/cath-chopping-viewer
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! Error: EACCES, open 'npm-debug.log'
npm ERR!  { [Error: EACCES, open 'npm-debug.log'] errno: 3, code: 'EACCES', path: 'npm-debug.log' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Linux 3.16.0-28-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "brunch"
npm ERR! cwd /cath/homes2/zcapamu/webserver/cath-chopping-viewer
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! path npm-debug.log
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open 'npm-debug.log'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /cath/homes2/zcapamu/webserver/cath-chopping-viewer/npm-debug.log
npm ERR! not ok code 0

Don't use the one from apt at all, uninstall it.
Use the installer from nodejs.org

Thanks!


Unable to choose assign strategy for consumers

Hello Sometimes we want to choose a different strategy for consumers like assigning one partition per consumer.
Actual behavior
def get_consumer(self) -> Consumer:
        """
        Returns a Consumer that has been subscribed to topics.
        """

        consumer = Consumer({**self.extra_configs, **self.config})
        consumer.subscribe(self.topics)

        return consumer

Desired behavior

def get_consumer(self) -> Consumer:

    consumer = Consumer({**self.extra_configs, **self.config})
    consumer.subscribe([self.input_topic], on_assign=self.on_assign)
    return consumer

def on_assign(
    self, consumer: DeserializingConsumer, assignment: List[TopicPartition]
):
    cluster_metadata: ClusterMetadata = self.admin.list_topics()
    topic_metadata: TopicMetadata = cluster_metadata.topics[self.input_topic]
    partitions = [
        TopicPartition(topic=self.input_topic, partition=partition)
        for partition in topic_metadata.partitions
    ]

    group_assignment: Dict[str, List[TopicPartition]] = custom_assignment_strategy(
        partitions
    )

    assignment = [
        assignment
        for member_id, assignment in group_assignment.items()
        if member_id == self.client_id
    ][0]
    self.consumer.assign(assignment)

Please feel free to submit a pull request.


Discussion needed on how to best handle non ssl connections

Currently all connections default to using https. For systems that do not have https setup, a workaround of setting the host to http://<ip>:<port>/ is possible, but it seems like maybe we should have a config option and/or flag for setting the protocol. Perhaps call it protocol with the default value being https?

Great find. Importantly, the error it gives in these cases in incorrect. Our documentation would seem to indicate that they can specify a host without either the http:// or https:// at the start. When it fails to connect, it gives a message about the verify_ssl.
First thing on the agenda should be to make sure we correctly distinguish between connection errors and intentionally failing because of an insecure connection. It should be doing this, but it's not.

Is there any workaround for this problem ? or nightly build where its already patched. ?

Current workaround is to specify the http protocol in the host config, so something like
tower-cli config host http://localhost:1234/

I'm going to put forward a new proposal for this issue:
Let's say that we don't allow a hostname without http or https if the config variable verify_ssl is set to false. We could just raise an error in that case and ask the user to specify it. This would categorically avoid trying to query something that should be http with https.
It also might be one of our few options, since the SSL errors seem so darn difficult to discriminate between.

That'd certainly solve it, though I have a pedantic objection being that the terms "host" and "hostname" are misnomers then, so that might get to be confusing for folks.

I agree with that sentiment. I would like to get a PR ready in the near-term that will

force the user to provide the protocol whenever verify_ssl is false and
rename some of the terms to avoid confusion