Update migration for report.participants and report.lastActorEmail

Details

Now that the back-end is no longer sending email-based data to report.lastActorEmail and report.participants, we update the migration to remove any email-based data that is found. We aren't removing entire reports from onyx, just the email-based data that is found for these two keys for now.
Fixed Issues

$ https://github.com/Expensify/App/issues/21454
Tests

The automated tests should mostly cover this since it's an Onyx migration. However you can also test the various cases manually by:

In the JS console do Onyx.set('report_123', {lastActorEmail: 'hi', lastActorAccountID: 1000});
Check report_123 in application storage and make sure you see what you set
Refresh the page
Make sure that report_123 is now just {lastActorAccountID: 1000}
In the JS console do Onyx.set('report_123', {lastActorAccountID: 'hi'});
Check report_123 in application storage and make sure you see what you set
Refresh the page
Make sure that report_123 is now an empty object
Do a similar test with report.participants

[ ] Verify that no errors appear in the JS console

Offline tests

Same tests work online or offline.
QA Steps

There is nothing in particular to QA for this PR as there are no user-facing changes. Regular regression testing that the app is working as normal should be enough.

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

In step 5 you meant lastActorEmail

Reviewer Checklist

[X] I have verified the author checklist is complete (all boxes are checked off).
[X] I verified the correct issue is linked in the ### Fixed Issues section above
[X] I verified testing steps are clear and they cover the changes made in this PR

[X] I verified the steps for local testing are in the Tests section
[X] I verified the steps for Staging and/or Production testing are in the QA steps section
[X] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[X] I checked that screenshots or videos are included for tests on all platforms
[X] I included screenshots or videos for tests on all platforms
[X] I verified tests pass on all platforms & I tested again on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[X] I verified proper code patterns were followed (see Reviewing the code)

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I verified that this PR follows the guidelines as stated in the Review Guidelines
[X] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[X] If a new CSS style is added I verified that:

[X] A similar style doesn't already exist
[X] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@marcochavezf @jasperhuangg @Beamanator if one of y'all is apple to review today that'd be great! It should be pretty straightforward.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/marcochavezf in version: 1.3.78-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.78-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/marcochavezf in version: 1.3.79-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.79-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.79-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.79-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


fix: highlight active item in recent post list

Motivation
Fixes #5563
Because we use restructureRules option in clean-css, active item in a latest blog posts block on blog pages is not highlighted.
This bug is not reproduced on Docusaurus site because we have similar CSS selectors with the same declaration (color: var(--ifm-color-primary)), so we haven't noticed it.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Preview.
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

Thanks
Hope that this restructure optimization won't cause other problems like this


Issues with documentation

Fixing a few small issues with documentation

Fix Package README link
Fix incorrect parameter name

Not sure if you've used something @KozelAnatoliy to generate the schema/readme or if they're done manually? Lemme know, I can edit the PR directly. Cheers for the work so far 😉!

Thank you, will take a look soon!


fix useHttpsCallable causing infinite re-rendering

Since current implementation does not wrap callCallable in useCallback it creates new instance of it on every render. If you use it in useEffect and add it as dependency it will keep running infinitely. In addition for some reason hook is wrapped in useMemo which does absolutely nothing. This PR fixes those two issues and simplifies code little bit.

@pzmudzinski thank you for the submission and apologies it's taken a while to get this merged. I'll do some testing and get this included in an upcoming release.


Install multi-threaded composer plugin

It will make the composer update step significantly faster
https://github.com/hirak/prestissimo

This was for composer 1 - the readme says it's not needed for composer 2.


RBAC does not apply to actions used transitively

Currently, the RBAC on actions is only checked at the API level when a user requests to execute an action.  Since actions can compose other actions a user could inadvertently execute an action that they may not be authorized to for direct execution via the API.  Ideally, all action executions should be checked for permissions before executing the action regardless of how they get executed, directly or as a task in another action.

Based on actual testing of actions composing other actions, this issue is now resolved.  We have established that all action executions via the API are indeed checked for RBAC regardless.  As such, I am closing this issue.

Thanks for confirming and closing this.


Does not work with the passthrough option of Gulp 4

var gulp = require('gulp');
var concat = require('gulp-concat');

gulp.task(function foo() {
  return gulp.src('src/*.css', {
    passthrough: true,
  })
    .pipe(concat('styles.css'))
    .pipe(gulp.dest('dist/'))
  ;
});

styles.css is never written.
It does work with gulp-continuous-concat.

Is this still a problem? That option has had some work done to it

This is also broken for me on 2.6.0 when using gulp-filter: https://github.com/sindresorhus/gulp-filter/issues/56

tried it - does not work with gulp 4, still no solution?

@Alecto 	That error isn't coming from this plugin.

@Alecto like contra said - please read your error messages, which explicitly states your issue:

File not found with singular glob: D:/webProjects/motobratva/my/alecto/my/styles/all/template/highslide/highslide-full.min.js (if this was purposeful, use allowEmpty option)


Clicking Enter button

[Enter steps to reproduce:]

...
...

Atom: 1.35.1 x64
Electron: 2.0.18
OS: Microsoft Windows 10 Pro
Thrown From: Atom Core
Stack Trace
Uncaught Error: The specified module could not be found.
\?\C:\Users\Adam.Jakubowicz\AppData\Local\atom\app-1.35.1\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
At ELECTRON_ASAR.js:166

Error: The specified module could not be found.
\\?\C:\Users\Adam.Jakubowicz\AppData\Local\atom\app-1.35.1\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:166:20)
    at Object.Module._extensions..node (module.js:671:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:180:18)
    at Module.load (module.js:561:32)
    at tryModuleLoad (module.js:504:12)
    at Function.Module._load (module.js:496:3)
    at Module.require (/app.asar/static/index.js:47:45)
    at require (internal/module.js:11:18)
    at customRequire (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:1:666612)
    at get_KeyboardLayoutManager (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:14:3064744)
    at get_manager (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:14:3064824)
    at Object.getCurrentKeyboardLayout (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:14:3064950)
    at e.keystrokeForKeyboardEvent (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:14:992405)
    at KeymapManager.t.exports.KeymapManager.keystrokeForKeyboardEvent (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:11:1210078)
    at KeymapManager.t.exports.KeymapManager.handleKeyboardEvent (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:11:1208063)
    at WindowEventHandler.handleDocumentKeyEvent (~/AppData/Local/atom/app-1.35.1/resources/app/static/<embedded>:11:285196)

Commands

Non-Core Packages
atom-live-server 2.3.0
autoclose-html 0.23.0
busy-signal 1.4.3
file-icons 2.1.27
highlight-selected 0.14.0
intentions 1.1.5
language-vue 0.23.1
linter 2.0.0
linter-eslint 8.4.1
linter-ui-default 1.7.1
pigments 0.40.2

Thanks for contributing!
We noticed that this looks like a duplicate of #14461 so you can subscribe there for updates if you'd like.  Also, if you have an anti-virus program running you can try temporarily disabling it and then reinstall Atom to see if that helps.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Disabling Stellar on Mobile Devices

So I'm trying to a figure out the best way to disable Stellar for mobile devices, or even disable certain Stellar elements.
I know there is a tutorial on how to get stellar to work on a webkit based mobile device, however there are some performance issues coming up, and it looks like disabling it all-together is the best way to go.
I'm looking at using a UA String Regex like this one: www.detectmobilebrowsers.com
Alternatively, does anyone know what I might be able to check for using Modernizr?
Thinking forward, perhaps there needs to be a function to disable stellar.js on elements from scrolling. Either set directly on the HTML object or, perhaps a hook that can be initialized from a function or if statement.
Thanks!

I would be really interested on some feature that allow to disable Stellar.js, specially when the window is resized to a small resolution.

Nowadays detecting a mobile browser is quite complicated . Using different sorts of detecting codes will not work in all the scenarios . Better use a media resolution detection with jQuery window resize function ( < 767px )
refer to : http://stackoverflow.com/questions/3514784/what-is-the-best-way-to-detect-a-mobile-device-in-jquery

@websirnik Awesome snippet! :+1:

It's Help Me Alot, I tink You Should Try this.
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ? true : false;
if(!isMobile) {
$(window).stellar()
}


Error while running html code

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:49:23.350Z)
OS Version: Windows_NT ia32 6.3.9600
Extensions:

Extension
Author
Version

view-in-browser
qinjia
0.0.5

Error specification -
Running the contributed command:'extension.viewInBrowser' failed.

@LeoKrool - it looks like this issue is being caused by the view-in-browser extension rather than VS Code itself, so I'm going to go ahead and close this issue, but I suggest chiming in on this related thread: https://github.com/hellopao/view-in-browser/issues/1
Lmk if you think otherwise, and we'll be happy to reopen. Happy coding!


update packages

:x: Build TheIdServer 7.4.7-fix-dependencies1-0222 failed (commit https://github.com/Aguafrommars/TheIdServer/commit/4861aa2215 by @invalid-email-address)

:white_check_mark: Build TheIdServer 7.4.7-fix-dependencies1-0223 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/127f5af660 by @aguacongas)

:white_check_mark: Build TheIdServer 7.4.7-fix-dependencies1-0224 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/c9c4d7d9af by @invalid-email-address)


Add missing parent::configure() call

Q
A

Type
bug

BC Break
yes/no

Fixed issues
doctrine/DoctrineMongoDBBundle#639

Summary
see issue details

@theyough thank you for the PR? Would you mind targeting the 1.3.x branch as we need to fix this but in the lowest supported branch?

@malarzm , sorry i was a bit in rush, yesterday.i will do. Thank you

@malarzm it appears from what i see, that this bug beginning from branch 2.X

@theyough the call is missing in 1.3.x as well: https://github.com/doctrine/mongodb-odm/blob/1.3.x/lib/Doctrine/ODM/MongoDB/Tools/Console/Command/Schema/ShardCommand.php#L29

Yes but there is no parent::configure() method
On Mon, Jun 22, 2020, 12:54 Maciej Malarz<EMAIL_ADDRESS>wrote:

@theyough https://github.com/theyough the call is missing in 1.3.x as
well:
https://github.com/doctrine/mongodb-odm/blob/1.3.x/lib/Doctrine/ODM/MongoDB/Tools/Console/Command/Schema/ShardCommand.php#L29
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/doctrine/mongodb-odm/pull/2202#issuecomment-647442086,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABWH65DYO75RISTUL3NWT4LRX4Z5BANCNFSM4OD53KUA
.

Ah sorry, my bad!


Refactoring HttpClient usage (unit test only)

This PR extracts the shared HTTP Client-related code out of DirectRequestTest and HttpFilterTest and places it into a new HttpClientUtil class. It also updates the HttpClient creation code to use the 4.3+ builder pattern instead of the deprecated DefaultHttpClient class.
This is a minor, test-only refactoring, so I'll merge this later this week if nobody has any objections. I've got a much larger ServerGroup refactoring that I want to add some tests for, and I want to make use of this refactoring to keep the tests cleaner.

Hi Jason,
thank you very much for extracting a HTTP client class. I will reuse it
in future tests.
I've noticed, you've removed this line ending comments:
     proxyServer = DefaultHttpProxyServer.bootstrap()//
             .withPort(0)//
             .withFiltersSource(filtersSource)//
             .start();

The intention here was to make it possible to auto format (with the
rules in Eclipse) with one line per method call. What's your method to
auto format source code?
I always try to reformat my modifications only, by marking the lines, to
avoid mixing issued modifications with automated modifications. But, I
use organize imports.
It would be great to have automated formatting included with the Maven
build. It should be accepted by everybody and it must be independent of
the IDE. Do you have any suggestions?
At the moment it looks like Java style with spaces only. Adam likes 80
chars per line, but you prefer unlimited(?) line width. Lets define a
compromise like 120. I'll use everything, but constantly.
Regards Frank
Am 01.09.2015 um 03:46 schrieb Jason Hoetger:

This PR extracts the shared HTTP Client-related code out of
DirectRequestTest and HttpFilterTest and places it into a new
HttpClientUtil class. It also updates the HttpClient creation code to
use the 4.3+ builder pattern instead of the deprecated DefaultHttpClient
class.
This is a minor, test-only refactoring, so I'll merge this later this
week if nobody has any objections. I've got a much larger ServerGroup
refactoring that I want to add some tests for, and I want to make use of
this refactoring to keep the tests cleaner.

    You can view, comment on, or merge this pull request online at:

https://github.com/adamfisk/LittleProxy/pull/237
    Commit Summary

Extracted Apache HTTP Client-building code into new HttpClientUtil
and upgraded to 4.3+ HTTP client builder-style configuration.
File Changes

M src/test/java/org/littleshoot/proxy/DirectRequestTest.java
https://github.com/adamfisk/LittleProxy/pull/237/files#diff-0 (70)

M src/test/java/org/littleshoot/proxy/HttpFilterTest.java
https://github.com/adamfisk/LittleProxy/pull/237/files#diff-1 (77)

A src/test/java/org/littleshoot/proxy/test/HttpClientUtil.java
https://github.com/adamfisk/LittleProxy/pull/237/files#diff-2 (97)
Patch Links:

https://github.com/adamfisk/LittleProxy/pull/237.patch

https://github.com/adamfisk/LittleProxy/pull/237.diff

—
Reply to this email directly or view it on GitHub
https://github.com/adamfisk/LittleProxy/pull/237.

The intention here was to make it possible to auto format (with the rules in Eclipse) with one line per method call. What's your method to auto format source code?

I don't use Eclipse much, but I recall there is a formatting option to do this. That would probably be a better option than modifying the code to force formatting for specific IDEs.

It would be great to have automated formatting included with the Maven build. It should be accepted by everybody and it must be independent of the IDE. Do you have any suggestions? At the moment it looks like Java style with spaces only. Adam likes 80 chars per line, but you prefer unlimited(?) line width. Lets define a compromise like 120. I'll use everything, but constantly.

Sure, 120 sounds good to me. It would be great to have an editorconfig file or something similar that users of Eclipse and IntelliJ can both import. I'm wary of automated code formatters, partially because I think we need some flexibility (an occasional 121st character is probably fine).


Fix: Add missing import to ServiceProviderInterface

This PR

[x] asserts that the ServiceProviderInterface extends the ContainerAwareInterface :trollface:
[x] fixes the build by adding a missing import

PRs are not currently being accepted against this branch. The test suite along with the new functionality will be pushed tomorrow and left open for 2 weeks for discussion and tweaks around version 2.

@philipobenito
Nice!


llext: fix llext_find_sym() not to return a "const" value

Returned values are copies, so trying to "const" return values cannot have any effect.
Fixes the following compiler warning:
llext.h:165: warning: type qualifiers ignored on function return type

Fixes commit 41e0a4a37141 ("llext: Linkable loadable extensions")

Makes sense to me

"Pro" tip: look at build logs more often?

"Pro" tip: look at build logs more often?

I never saw that warning, perhaps you saw it specifically with xt-clang? Believe me when I say I built and ran these things many many times. Anyways the change looks fine, thank you.

I never saw that warning, perhaps you saw it specifically with xt-clang?

I think it's only with our older gcc-based toolchain. But I just got the Zephyr SDK 0.16.5-1 to print it thanks to -DEXTRA_CFLAGS=-Wignored-qualifiers. So it looks like gcc dropped it from -Wall?
Too many people complained? :-)


Foundation CSS Framework

I know swalkinshaw said in a previous issue thread that you were not interested in adding another CSS framework, but after a discussion I was involved with in the Foundation repo they had asked that I submit a pull request.
I figured I would submit the request and if you change your mind you would at least have it available if you wanted.
Thanks!
p.s.  Roots is great, and thank you guys for all of your hard work.

since you went ahead and took care of the hard part and getting it all put together i'll pull this in after reviewing it, thank you! :)
(as @swalkinshaw said we are gonna be figuring out a way to include frameworks differently, but in the meantime i'm sure others will find your roots+foundation implementation helpful)

instead of all the new files in /js/libs/ could you move those to /js/foundation/?
/js/libs/ should just be used for common script libraries rather than those types of script files

I updated my pull request with the requested changes

thank you!


[region-isolation] Propagate global actor-ness of functions/closures.

 Specifically:

I made it so that we treat function_refs that are from an actor isolated
function as actor isolated instead of sendable.

I made it so that autoclosures which return global actor isolated functions
are treated as producing a global actor isolated function.

I made it so that we properly handle SILGen code patterns produced by
Sendable GlobalActor isolated things.

rdar://125452372
rdar://121954871
rdar://121955895
rdar://122692698

@swift-ci smoke test

Forgot to include the Input file for the test... :doh:

@swift-ci smoke test


Wrong timestamp created by automation for new releases

Right now dynatrace-service version 0.18.0 shows up with this on our integrations page https://keptn.sh/docs/integrations

Looking at the yaml file, the date is wrong (note: today is the 10th):
https://github.com/keptn-sandbox/artifacthub/blob/0e831264e1d4ba6aa37a5e1875f7e679d9713352/dynatrace/0.18.0/artifacthub-pkg.yml#L8
https://github.com/keptn-sandbox/artifacthub/blob/0e831264e1d4ba6aa37a5e1875f7e679d9713352/dynatrace/0.18.0/artifacthub-pkg.yml#L4

There is an error with the DATETIME_FORMAT
https://github.com/keptn-sandbox/artifacthub/blob/0e831264e1d4ba6aa37a5e1875f7e679d9713352/utils.py#L6
it should be DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%SZ' instead.


Total size in GB to dashboard

Dashboard should probably show total size of all farmers.

@boshevski Can you draft up the HTML for this?


Rename ChannelConfigOptions -> AudioNodeOptions

Fixes #474

Except my comment, looks good to me (I'm surprised we didn't catch this one earlier)


[Enhancement] - Add "auto replenish" options in blueprint menu for drones/ships in PLS/ILS

With patch <IP_ADDRESS>33 the ILS/PLS/distributor have an "arrow" option to "auto-replenish" bots/drone/ships so when placed, they auto load bots/drones/ships into the station.  Could we have an option to configure this from within the saved blueprint (similar to the ability to change other ILS configurations ores or recipes in machines from within the blueprint editor.

ya like if i copy a PLS with 10 drones in it, i'd like it to put 10 in the next one.


chart: fix the conditions of Rancher deployed Windows Cluster

Pervious commit will make the taint-toleration and system-managed-components-node-selector empty in the generated longhorn.yaml if windowsCluster is disabled. It will override the two fields fields with empty values mistakenly during upgrade.
Longhorn 4246
Signed-off-by: Derek Su<EMAIL_ADDRESS>

Pervious commit will make the taint-toleration and system-managed-components-node-selector empty in the generated longhorn.yaml if windowsCluster is disabled. It will override the two fields fields with empty values mistakenly during upgrade.
Longhorn 4246
Signed-off-by: Derek Su<EMAIL_ADDRESS>
Thanks @derekbit !

@cchien816 This means when testing the test case, we also need to check whether the opposite case works as usual or not.
cc @longhorn/qa

issue

Updated. Thank you.

@derekbit Please help backport this to 1.3.1 and 1.2.5. Thanks.


fix: backport race condition fix to v1

Why
When testing file encryption a race condition came up where two objects are encrypted in quick succession.
This was fixed in the v2 sdk but not backported to the v1 sdk.
How
Backported the fix to the v1 sdk
Also had to bump the version of node in the workflow because the semantic release bot was refusing to run with node < 18

:tada: This PR is included in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


perRead --requireFlags and --ignoreFlags not working properly

Hi Devon, thanks for developing and maintaining this amazing tool!
I'm playing around with the perRead subcommand, and found out that the --requireFlags and --ignoreFlags do not work as I intended (I expected it to produce the same results as samtools -f / -F). Here's my code:
MethylDackel perRead -@ 2 -q 2 -p 20 --requireFlags 3 --ignoreFlags 3852 ${REF_GENOME} ${IN_FILE} > ${OUT_DIR}/${OUT_FILE}
However, reads with unexpected flags such as 113 and 177 were in the output. If I use samtools view -f3 -F3852, these flags do not show up.
At the moment my work around is to first filter the bam files with samtools and write to disk, then run MethylDackel on those files, since I cannot find a way to pipe stdin to the software.
I'm using version 0.5.2 and htslib-1.11.0

Ah, found the problem. For everything else I have a standard filtering function that gets called. For perRead I used a simplified version of that and only checked if ANY of the flags in the requireFlags were present. I'll fix that in version 0.5.3.


add infinite loop detection

the sprig editor will throw an error if

there are more than 2000 iterations in a loop AND
the loop takes > 1.5s to complete

addresses #1091
add environment variables to Vercel deployment

[ ] PUBLIC_MAX_ITERATIONS
[ ] PUBLIC_MAX_LOOP_TIME_MS

Please answer a few questions for me:

Is this performant? (will it slow down the execution of games?)  How do you know?
What is the UX when an infinite loop is detected?
Is this more likely to flag as inf loop when your computer is under load?
Where do we intend on documenting this watchdog behavior such that people are not surprised when encountering this?

Separately (I won't demand this), it would be nice to have a few unit tests here proving it works.

I have tested these changes with a few games in the gallery and there was no noticeable slow down.
This will show up as an error in the editor (see original comment)
I'm not sure
This will be added directly in the toolkit page in the editor

Can you also ensure that debugger statements continue to work w/ this?

debugger statements still work

Oh, My Goodness! it's so nice to see you again! How's Anne doing? I
have seen her since she was three!
My doctor has recently said you haven't eaten enough turnips lately. Do you
know if this is true? I really miss you and we need to catch up soon. do
you still have my number? oh, it's okay if you don't I'll just send it to
you. my number is<PHONE_NUMBER>. oh ad I heard that your mother was
arrested could you tell me what happened? something about an adult diaper
chase at Walmart? anyway please get back to me soon and maybe we could do
lunch. Love You Lots.
On Thu, Feb 1, 2024 at 8:01 AM Josias Aurel @.***>
wrote:

Can you also ensure that debugger statements continue to work w/ this?
debugger statements still work
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/1413#issuecomment-1921277583, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BDLIQWXO6ANGNFNKFE6LRP3YROG3RAVCNFSM6AAAAABCPJIL5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRRGI3TONJYGM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Not possible to select rows in the Variable Explorer when using Spyder 6

Not sure where to put feature request so using "Issues". Will move if there is a better place.
Been Spyder user and contributor since version 4.
Trying Spyder 6.0.0 and like the ability to spin up kernels for different venv/conda environments. 👍
Regarding variable explorer, seems like there are much more options and cleaner UI to modify object in place and view options.
However, in previous version 5.5.X, I was able to

Select on objects that I would like to remove to declutter through the variable explorer

Is it possible on the new version 6.0.0. Is there plan to add this "back" or add new feature for this?
Thanks,

Hey @jyk4100, thanks for reporting. You said:

Select on objects that I would like to remove to declutter through the variable explorer

Do you mean that in Spyder 6 it's not possible to select several objects in the Variable Explorer and remove them at once?

In the meantime, here is the workaround I found so far: use right click on the desired row and then click somewhere else to get rid of the appearing right-click menu. This will select the desired row. Then, pressing delete will suppress this object. You can also use directly the 'remove' option in the right-click menu when it appears.
It seems, however, that there is no way to select (and thus suppress) several desired rows all at once. And this is more a real issue, I think.

I think that it would be better to have a single click to select objects and a double click to edit an object instead of a single click to edit.


BloWriter not loaded during generate Core ML model files

Follow by the README.md steps, when generating CoreML model using below command line
python -m python_coreml_stable_diffusion.torch2coreml --convert-unet --convert-text-encoder --convert-vae-decoder --convert-safety-checker --model-version=runwayml/stable-diffusion-v1-5 -o /Users/otto/Documents/pyt/convert_outcome
but an error raised: BloWriter not loaded

Hi @hsing0527, could you please share your macOS version and Python version?

Hi @atiorh
here is the info
Python: 3.11.2
macOS: 13.3 (22E252)

mis-read the minimum environment requirements on md file, problem solved by re-config the env to python 3.8

Great!


GHC 7.10.2 was released a few days ago

Yes, I know that the build will fail with the error below. But that's the whole point of CI.
Math/NumberTheory/Moduli.hs:246:11:
    Not in scope: type constructor or class ‘Word64’
    Perhaps you meant ‘Word’ (imported from Prelude)

Hmm.. The travis build succeeds? This is surprising.
On my system it fails to build on 7.10.2 (via cabal and via stack LTS-3.0) with
Math/NumberTheory/Moduli.hs:246:11:
    Not in scope: type constructor or class ‘Word64’
    Perhaps you meant ‘Word’ (imported from Prelude)

I will create a pull request to fix this shortly...

Travis build succeeds, because it is 64bit. And the only usage of Word64 in Math.NumberTheory.Moduli is guarded by #if WORD_SIZE_IN_BITS == 32. Let us continue this discussion in #10.
Sorry, I have already updated .travis.yml to use GHC 7.10.3.


feat: Library test

Closes #25

#26  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite


chore: refactor generate crud code

Pull Request Template
Use this template to quickly create a well written pull request. Delete all quotes before creating the pull request.

Description

Please include a summary of the changes and which issue has been fixed. Please also include relevant motivation
and context. List any dependencies that are required for this change.

Fixes # (issue)

if no issue exists, please create an issue and ask the maintainers about this first

Type of change

Please delete options that are not relevant.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce.
Please also list any relevant details for your test configuration.

Test A
Test B

Checklist:

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

Test coverage results :test_tube:
:green_circle: Total coverage has increased
// Code coverage diff between base branch:release and head branch: refactor/gen-crud

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
55.21 (0.09)
37.16 (0.12)
34.03 (0.01)
55.74 (0.1)

:sparkles: :new:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/BaseForm.tsx
26.27
3.39
0
28.97

:sparkles: :new:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/constants.ts
75
100
0
75

:sparkles: :new:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/index.tsx
83.33
100
0
83.33

:sparkles: :new:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/pluginForm/GoogleSheetForm.tsx
28.42
14.43
0
31.76

:sparkles: :new:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/pluginForm/S3Form.tsx
66.67
100
0
66.67

:sparkles: :new:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/pluginForm/SQLForm.tsx
37.29
33.33
0
41.51

:green_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.94 (0.23)
41.67 (0.84)
36.21 (0)
56.99 (0.25)

:x:
app/client/src/pages/Editor/GeneratePage/components/constants.ts
83.33
100
0
83.33

:x:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/GeneratePageForm.tsx
18.18
10.47
0
20.29

:x:
app/client/src/pages/Editor/GeneratePage/components/GeneratePageForm/GoogleSheetForm.tsx
28.42
14.43
0
31.76

:x:
app/client/src/selectors/pageListSelectors.tsx
60
100
0
75

Closing this till i continue further on it.


Added metric server and resources to petsite

Issue #, if available:
Description of changes:
Added Metric server as a default config when the cluster comes up and resources to the petsite pod
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Metric server and deployment resources for PetSite added to the deployment.


Resolves: Add security and versioning dependency alerts

add dependabot.yml which automatically enables Dependabot's dependency versioning scanner and dependency update PRs bot by declaring dependency ecosystems and sources in the project. For dependency security vulnerabilities scanner and vulnerable dependency update PRs bot, enable "Dependabot alerts" and "Dependabot security updates"

Resolves #121633

Thanks @szlatkow. We already have Dependabot alerts and PRs working for us.

Hi @joaomoreno,
We're sorry, we know the project already has Dependabot usage. However, it is still using the legacy approach and this PR was targeting the modern, native approach for configuring Dependabot.


[MINOR][DOCS] Added Missing back slashes

What changes were proposed in this pull request?
When studying spark many users just copy examples on the documentation and paste on their terminals
and because of that the missing backlashes lead them run into some shell errors.
The added backslashes avoid that problem for spark users with that behavior.
How was this patch tested?
I generated the documentation locally using jekyll and checked the generated pages

Can one of the admins verify this patch?

Jenkins, this is ok to test.
LGTM

merged into master


network: take into account good known peers when thinking of GetAddr

They will be returned to pool when disconnected anyway. On a smaller network this can make a difference because there are not a lot of addresses in the pool usually.

Let me check one thing.

OK, good to go.


Improve testing

This PR improves the testing flow by creating TOML files in ./circuits using TS and running nargo prove from TS to generate proofs

change are already in master


[RFC] Create Accents based on user input

Describe the changes you have made to improve this project
The ThemeManager has a got a new function that takes a userdefined color and creates a new Accent from it. The Accent will be created for all base themes, so you can switch to light and dark as usual.
Please let me know, what you think about this :-)
You can test it in the demo app under accents-menu.
Unit test
I don't know how to do, but if anybody can give me a hint i will do.
Additional context

Closed Issues

I already ported the generator tool to .net core 3.0 on my machine, but i had to add a dependency to newtonsoft.json as there was, at that point in time, no json serializer available in .net core 3.0 itself.
Preview 5 added a serializer to System.Text.Json.
I will update my local branch to use that for .net core and the old javascript json serializer for .net 4.5.
After i have done that i could move all files/classes to a single generator file.
Why don't you want to add another dependency to MahApps.Metro?
I could try to share the code from the generator repository with ControlzEx, but i don't think that's a good idea.

Thinking further about this it seems wiser to add the generator to ControlzEx somehow as adding the generator as a new dependency to MahApps.Metro would also require the same dependency in Fluent.Ribbon in the future.

Thinking further about this it seems wiser to add the generator to ControlzEx somehow as adding the generator as a new dependency to MahApps.Metro would also require the same dependency in Fluent.Ribbon in the future.

That was my thought, too.

Great idea to make this PR public for other projects by moving it to ControlzEx. Maybe it can be used for the MaterialDesign, too.
@batzen : For now i will stop working on this PR, because i think it would be the same work twice. :heavy_check_mark: If I can support anyway, please contact me.
@punker76 : Can you set this PR on hold or close it or move it to ControlzEx?

I close this PR because we have this feature now thanks to @batzen


API Token instead of CA key

I know this has been asked and answer before.  Is there still plans to support the use of API Token instead of CA Key.   Thank you.

No plans to support it until there is support for it in the Cloudflare API.

Is this being tracked anywhere? Would love to subscribe to an issue to get notified when this is fixed

Im not aware of a public place to track this, nor do I know when or if the team reponsible will implement this.


Locking 2D nodes doesn't lock them

Godot version:
3.1 b293dd3
OS/device including version:
Windows 10 64bit
Issue description:
Locked 2D nodes can still be moved and rotated as if they weren't locked at all. This only affects 2D nodes, locking still works in 3D.

cc @groud :)

Can you confirm this happens only when moving with the arrow keys ?
The bug is only reproducible by moving with the arrow keys and rotating.

When in select mode alt+drag will move the locked node and control+drag will rotate it. The locked node can also be moved and rotated while in move mode or rotate mode.


Returning null from IUserIdentity.Validate causes HttpException

Using Nancy.Authentication.Basic + this.RequiresAuthentication(); in module constructor.
Not returning null in IUserIdentity.Validate method causes the request processing to stop. Should a unauthenticated identity be returned, and use claims verification?
The request body incomplete error completely threw me off because I was verifying that the Content-Length header was sent by the client.
Excerpt from Response Stream:
[System.Web.HttpException]: The request body is incomplete.
at System.Web.HttpRequest.MakeInputStream () [0x00000] in :0
at System.Web.HttpRequest.get_InputStream () [0x00000] in :0
at System.Web.HttpRequestWrapper.get_InputStream () [0x00000] in :0
at Nancy.Hosting.Aspnet.NancyHandler.CreateNancyRequest (System.Web.HttpContextBase context) [0x00000] in :0
at Nancy.Hosting.Aspnet.NancyHandler.ProcessRequest (System.Web.HttpContextBase context) [0x00000] in :0
at Nancy.Hosting.Aspnet.NancyHttpRequestHandler.ProcessRequest (System.Web.HttpContext context) [0x00000] in :0
at System.Web.HttpApplication+c__Iterator6.MoveNext () [0x00000] in :0
at System.Web.HttpApplication.Tick () [0x00000] in :0
Server:
Nancy 0.18 on Mac Mono 3.2.1 xsp4 on localhost 8080
Client:
iOS Simulator 6.0 Xamarin.iOS <IP_ADDRESS> + RestSharp Component 104.1.0

IUserIdentity is being deprecated for our v2.x release in favor of ClaimsPrincipal from .NET 4.5


Create lightweight architecture diagram

The goal is to create a lightweight architecture diagram for Caltrans showing only the pieces that happen after data leaves their network.
Having something this week (by 4/5) is a nice to have, otherwise by end of next week (4/12) if OK.

Thanks @melanie-logan . I am adding this to the Caltrans Fact Sheet doc. Closing this issue as completed.

Link to this editable version is [HERE] (https://lucid.app/lucidchart/invitations/accept/inv_eed60222-c274-4c48-80bd-f2088afc5fbf)


[occm] Multi region support

/kind feature
I am noticed that openstack-client supports multi-region config.  https://github.com/gophercloud/utils/blob/master/openstack/clientconfig/testing/clouds.yaml#L160-L171
What do you think to add the multi-region support in one OCCM, based on the config-file, after #1900 ?
If the config file has a regions tree, OCCM checks it at boot time and will watch the nodes in those regions.

Yep. You are right. I forgot about LB.
I spoke about node/node-lifecycle only.
For LB, it can be done by service annotation property...
So, we can introduce it in steps.
Unfortunately, I do not have regional openstack with LB. It will be hard to test.

If the node uninitialized, we need to check all regions to fine the node.
If node has providerId, we can get the region name from it.
and if i right, we need to have go-client connection for each region.

If the node uninitialized, we need to check all regions to fine the node. If node has providerId, we can get the region name from it.
and if i right, we need to have go-client connection for each region.

Correct! One compute ServiceClient per region basically. We're not completely done with our implementation, it's still in PoC mode, but so far everything looks good. We made sure to implement the k8s.io/cloud-provider InstancesV2 interface which is slimmer and don't require as many queries against the underlying cloud APIs compared to the Instances interface.
As a side note: I know that there's a todo on implementing the V2 interface in the OCCM, which I think we could help out with!

/remove-lifecycle stale

/remove-lifecycle rotten

/remove-lifecycle stale

/remove-lifecycle stale

What about this feature ? This would clearly be needed in our use case where we have 3 Openstack standalone clusters and want to have kubernetes clusters stretched on top of them. This can be done but things get complicated since CCM can't handle more than 1 Openstack API endpoint and thus, this makes everything related to storage or LBs a hell.
Is this somewhere in the pipe or maybe there are some alternatives ? Any help would be gladly appreciated.

I don't think CPO was designed with that use case in mind and it might need a lot of work to get right. Happy to help with advice and reviews if you have some development resources to throw at this.
Interestingly - what's the use case to stretch K8s like that?

What about this feature ? This would clearly be needed in our use case where we have 3 Openstack standalone clusters and want to have kubernetes clusters stretched on top of them. This can be done but things get complicated since CCM can't handle more than 1 Openstack API endpoint and thus, this makes everything related to storage or LBs a hell.
Is this somewhere in the pipe or maybe there are some alternatives ? Any help would be gladly appreciated.

I don't think CPO was designed with that use case in mind and it might need a lot of work to get right. Happy to help with advice and reviews if you have some development resources to throw at this.
Interestingly - what's the use case to stretch K8s like that?

In our case, the use cae is to have multi-AZ kubernetes clusters on top of multiple standalone Openstack clusters.
Basically, have one k8s cluster stretched on 3 different Openstack tenants, each in a standalone Openstack cluster.
Our k8s strategy is to have multiple k8s cluster for better ressource and security segmentation with a high level of automation.
Our Openstack clusters have routed networks but they are not streteched clusters themselves and they have their own dedicated storage that is not replicated to the other ones.
The idea behind that is that, since Openstack is the base supporting every k8s cluster we have, we rather secure Openstack operations by not stretching the Openstack itself (and instead, have multiple standalone clusters) so that failure (would it be hardware or security issue or even a simple human error) would impact only one AZ at a time and since our k8s clusters are stretched on top of these Openstack clusters, loosing an AZ would have nearly zero impact on the application layer.
However, I see there are PRs for this and we already try to help the best we can in this way so fingers crossed !
/remove-lifecycle rotten

Thank you for your feedback.
I did research, and made the lab based on proxmox-vm. CCM/CSI work fine. One pvc-template resource works well on different AZ too, https://github.com/sergelogvinov/proxmox-csi-plugin
I steal believe that I will repeat the same idea in this project. But only for CCM/CSI.
I do not have LB in my openstack setup. And many loadbalancers/ingress-controllers do not work with GEO (region/zonal) balancing knowledge (serve traffic only in one zone/region).
make a vote 👍 please. it helps to contributors to understand how important this feature.


get magnet link files

how can i get the list of files inside a magnet link?

not sure that I right, but you need download torrent file and parse it


Fix out-of-boundary bug when lineWidth is big

drawRect throws error when lineWidth>1 and a pixel coordinate of the rectangle is out of the image boundary. e.g., the following code could not succeed
image = require 'image'
bg = torch.ByteTensor(3, 100, 100):fill(3)
img = image.drawRect(bg, 0, 80, 50, 99, {color={255, 0, 255}, lineWidth=5})
image.save('test.png', img)

which throws error:
/scratch0/torch/install/share/lua/5.1/image/init.lua:2172: bad argument #2 to 'drawRect' (out of range at /tmp/luarocks_torch-scm-1-3526/torch7/lib/TH/generic/THTensor.c:759)
stack traceback:
	[C]: at 0x7f9ca8b008e0
	[C]: in function 'drawRect'
	/scratch0/torch/install/share/lua/5.1/image/init.lua:2172: in function 'drawRect'
	/scratch0/image/test.lua:3: in main chunk

After this fix, the same code could generate rectangles on top of the image with ignored pixels on the line and out of the image boundary.

thanks for correctly figuring out the boundary conditions.


[Enhancement] Add included items rules

Hi,
I think it could be great if we had the ability to add a specific folder to search.
Example : I'm using webpack with resolve module to the folder src, this gave me ability to avoid relative path and use absolute path from src.
What do you think ? Unfortunatly, I don't know TS so I'm unable to make a PR sorry 😔

Basically to have the possibility to set the root folder when the path starts with / ?

Starting with 1.3.0 you should be apple to this by using custom mappings
    "path-autocomplete.pathMappings": {
        "/": "${workspace}/src"
    }


[Design] - Manager Job Management

Status

[ ] Being Researched
[ ] Prototyping and Testing
[ ] Data Story
[ ] Ready For Dev

Design Goal
Please explain the primary goals of this design work.
Page for each individual Job Process. With an overview of where the process is at. What are the next steps, and links to view each individual section within the job process.
Research
Please list/link to all research performed for or referenced in this design work. This can include research you've done in the past. Include research relevant to insights from team members as well. Don't be afraid to ask for references or documents! This section should also incorporate data collected from user testing.

Research Link 01
etc.

Assumptions
Please list all assumptions made during your design work. This should include behavioural assumptions made by the team that have no direct research references.

Assumption 01
etc.

Important Notes / Copy
This is a space to include important notes for other team members, including things like key copy, questions that need to be asked at a later date, etc.
Wireframes / Images

Final Data Story
Use this section to summarize where we started, and how and why we got to the approved design. This section must be complete before the issue can be handed off to development.

Closing as this has been merged with issue #1763


Template field missing in helmchart CRDs

I tried using the templating for ValsSecret when I noticed that my CRDs which was installed with helm hasn't been updated. And after looking at the chart in this repo it seems that the CRD might not have been regenerated after templating was added. Would it be possible to regenerate the CRD for the helmchart, as I would very much like to try out the new templating feature.

To test it, you can manually edit the CustomResourceDefinition (valssecrets.digitalis.io)
add
template:
    additionalProperties:
      type: string
    type: object

to spec.versions[v1].schema.openAPIV3Schema.properties.spec.properties


Data capture - add support for the 'text' field type to render multiline text input

Is your feature request related to a problem? Please describe.
It's always frustrating when I need to verify a long line of text that has been written such as an address, in a single line text entry field. It means I have to scroll horizontally to verify that what I entered is correct.
Describe the solution you'd like
I would prefer if there was a multi line text entry field so I can verify the field at a glance without scrolling.
Describe alternatives you've considered
I've tried to use the 'text' type as specified in the FHIR documentation but this renders the same single line field.
Additional context
When using this form builder, it renders the 'string' and 'text' types differently as shown below.

However, when using the SDK, the 'string' and 'text' types are both rendered as single line fields as shown below.

Would you like to work on the issue?
I don't know who can look into this but I would appreciate if someone looked into this as soon as possible.

@KhumboLihonga so sorry for the delay.
The behaviour of the multiline text field itself should allow multi-line. If you start typing and create new lines, the widget should expand automatically to allow multi-line.
The only thing that gave you the impression that the widget was single line was the fact that it initially only has one line so it looks the same as the single line widget.
I've sent out a PR to change the initial look. #1517

@jingtang10 no worries. I think when I wrote this issue the single line wasn't expanding. But with the new releases, I noticed the expansion which is great as we have some sections where the user will have to potentially type a lot of text.
I think the PR will make this functionality a lot more obvious so I'll keep an eye out on it, thanks.


[INLONG-1587][Sort] Fix compile error

Fixes #1587
Motivation
When compile under JDK11, it will build failed. And the latest Intellij IDEA internal is jdk11.
[ERROR] Failed to execute goal on project sort-core: Could not resolve dependencies for project org.apache.inlong:sort-core:jar:0.11.0-incubating-SNAPSHOT: Could not find artifact jdk.tools:jdk.tools:jar:1.7 at specified path /work/JAVA_WORK/jdk/jdk/../lib/tools.jar -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]

Modifications
Exclude hbase dependency.
Verifying this change

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

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Codecov Report

Merging #1588 (6a8b809) into master (385b2a9) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1588      +/-   ##
============================================
- Coverage     12.19%   12.19%   -0.01%
+ Complexity     1049     1048       -1
============================================
  Files           392      392
  Lines         32755    32755
  Branches       5159     5159
============================================
- Hits           3995     3994       -1
  Misses        27995    27995
- Partials        765      766       +1

Impacted Files
Coverage Δ

.../producer/qltystats/DefaultBrokerRcvQltyStats.java
45.31% <0.00%> (-0.40%)
:arrow_down:

Continue to review full report at Codecov.

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

LGTM

@leo65535 great job.
it's better to use another branch for PR, leo65535:master is not a good choice.

Thanks you all.


Adds grpc-based thread-local support

It looks like this branch continues from dinooliva/thread-local, but I think the merge will still work.


brig rerun to reuse or renew the script in the target build

Hi @technosophos and @adamreese,
Can you let me write my thoughts on brig rerun and help shaping supported use-cases of the command, suggest an additional option to it? :)
TL;DR; I'd like to add brig rerun --renew-script.

Ideally, I'd expect brig rerun to have two flavors: brig rerun --reuse-script or brig rerun --renew-script.
The former is intended to retry a job that failed due to transient errors like network. We don't necessarily use the latest script at the time of the retry in this case. But using the latest on retry would also be acceptable.
The latter is to retry a job that failed permanently due to bugs in a script. I believe that you want to consume the same event(e.g. a github deployment event) with a new script w/ bug fixes in this case, hence --renew-script to use the latest script.
What do we actually have today? After #467, brig rerun seems to work like the former as long as the build contained a script. And it works like the latter if the build misses the script. So, it seems like missing the latter use-case. We have no way to retry a pipeline on a exact same event but with a latest script with fixes.
So, how about adding the brig rerun --renew-script one, to retry the failed build with emptying the script contained it? Then, brigade could use the latest script rather than the one contained in the failed build. To be extra clear, the latest script would be just populated from one of available sources according to #467.

Yeah, I agree with the intent of this. For consistency, would it be easier for users if we added a flag to explicitly override thescript, and called this flag -f, --file like it is in brig run? Or maybe we could just make -f the short flag for --renew-script?
I think that for the case where the script is fetched out of the repo, in most cases, the same exact version will be checked out if the SHA was set in the original event. But you are right that if only a ref was set, we currently cannot guarantee an identical rerun.

in most cases, the same exact version will be checked out if the SHA was set in the original event

Thanks for clarifying that. I somehow missed it in my original statement!
So, I now believe that my concern is mostly addressed by just adding -f --file to brig rerun. I'd prefer --file for the longer variant because it follows the same flag that exists in brig run.

Resolved by #588.
I meant to tackle this myself, but thanksfully, @technosophos picked it up 🙏


Add link to this repo on the website

Feature Request
Is your feature request related to a problem? Please describe:
Not really a problem, but anyone who visits the site doesn't know it's open source and it would be nice if there was a link to this GitHub repo.
Describe the solution you'd like
Add a GitHub logo which links to this repo.
Additional context

The logo could be towards the right of the language selector.

Good idea :) maybe in the footer too!


Add permissions for inventory documents

I would like to ask you (in behalf of my colleague) to add the permissions to edit the posted inventory documents tables:
table 5852 "Invt. Receipt Header"
table 5853 "Invt. Receipt Line"
table 5854 "Invt. Shipment Header"
table 5855 "Invt. Shipment Line"

Sorry, I have not read my emails yet. You have already done it supposedly :-)


All items are rendered at once

It should render only a page or two. In may case all my items gets rendered in chunks from the first rendering.

this is the viewport. only 7 items are visible. If you look at the scroll, you'll see that all the items are present.

        <ReactList
            type          = {'simple'}
            threshold     = {300}
            pageSize      = {20}
            length        = {items.length}
            itemRenderer  = { (index, key) => items[index] }
            itemsRenderer = { (items, ref) =>  <MyComponent myRef={ref} items={items} /> }
          />

This confused me too but I think it's a duplicate of #29. If you look at the third example here, you can see node recycling in action.

I'm having this exact same issue and I don't think it is the expected behavior.
My understanding is that the "simple" type is used for incremental rendering used in combination of length, pageSize and threshold properties while scrolling down.
Recycling is indeed nice to have performance-wise but that's another topic. Rendering the whole list on first render simply defeats the purpose of using ReactList vs a simple map(). I believe something is unclear in the documentation.

In my case it actually works as intended when the list is not initially hidden or on second render if the list was hidden.
It seems the height is not properly calculated at first and it continuously triggers the threshold. This might have to do with CSS in JS.

Just ran into this issue (all 1000+ items rendering at once). The solution for me was my container didn't have a height specified. Once I added a max-height, the items rendered correctly.


removed manual reference summary pages

The GitHub files being removed in this PR are out-of-date.  These files have been replaced by ...

An accurate reference TOC grouped by Azure service
The A-Z reference list
The A-Z conceptual article list

The above 3 items do not require continual line-over-line manual updates.


Fixes issue with response validation

This patch disables response validation via the HTTP handler by default in coordination with the Task processor.

Current coverage is 28.63%

Merging #24 into master will not affect coverage as of a3d100c

@@            master     #24   diff @@
======================================
  Files           12      12
  Stmts          695     695
  Branches        15      15
  Methods          0       0
======================================
  Hit            199     199
  Partial         15      15
  Missed         481     481

Review entire Coverage Diff as of a3d100c

Powered by Codecov. Updated on successful CI builds.


allow users to supply a State type to NodeGroupProps

I've had a go at making INodeGroupProps have better types.
The Config object really does not offer much type safety so I've gave the user the option of supplying their own type which I think works better.  If they don't provide a type then it defaults to Config
import * as React from "react";
import {
  Config,
} from 'kapellmeister';
import { GetInterpolator } from '..'

export type AddArrayLike<T> = unknown extends T ? Config | Config[] : {
  [P in keyof T]: T[P] | T[P][]
}

export interface INodeGroupProps<T = unknown, State = unknown> {
  data: T[];
  keyAccessor: (data: T, index: number) => string | number;
  interpolation?: GetInterpolator;
  start: (data: T, index: number) =>  unknown extends State ? Config : State;
  enter?: (data: T, index: number) => AddArrayLike<State>;
  update?: (data: T, index: number) => AddArrayLike<State>;
  leave?: (data: T, index: number) => AddArrayLike<State>;
  children: (nodes: T & { key: string | number, data: T, state: unknown extends State ? Config : State }[]) => React.ReactElement<any>;
}

export declare class INodeGroup<T = unknown, State = unknown> extends React.Component<INodeGroupProps<T, State>> { }

export default INodeGroup

I've made use of conditional types which requires typescript 3+ so this is something to keep in mind.
I've created this playground that you can have a play with.
Let me know what you think and I'll have a look at Animate next.

This is great.  I think the TS 3 requirement is ok.  Looks like it's been out awhile.  Not sure, but seems like there's another type that's needed in here.  The state is always an object with string and number "leaves".  Maybe we're mixing the "state" and "config" type?
State*
{
  opacity: 0.1,
  x: 200,
  y: 100,
  color: '#dadada'
}

or
{
  attr1: 100,
  attr2: 200,
  attr3: '#ddaabb',
  namespace1: {
    attr1: 100,
    attr2: 200
  }
}

Config
The "config" object has the timing and events keys and takes arrays and functions:
{
  attr1: [100],
  attr3: '#ddaabb',
  namespace1: {
    attr1: [300],
    attr2: customTween
  },
  timing: { duration: 300, delay: 100 }
}

I'm not sure we're capturing that, but I don't use Typescript that much and some of this syntax is beyond me.

@sghall so the state, is the thing that will be animated, cx, top, bottom etc.
The config object is timing or a function.
We return an object from each lifecycle event which is a combination of state and Config?
I think the problem is that by trying to be all things to every permutation we end up with something that is basically any because it is so over specified, e.g.
export interface Config {
  [key: string]:
    | number[]
    | string[]
    | number
    | string
    | CustomInterpolator
    | NameSpace
    | Timing
  events?: Eventable
}

You generally try and narrow the type in typescript or you make use of generics to let the user define their own type.
I would really appreciate some good examples if you could?  Pointing out what is state and what is config.
That would help.

I see what you're saying about trying to over specifying.  Right.  I think the biggest thing here is letting the user provide their own types.  That will allow them to have meaningful type safety.  I'm going to merge this.

Having thought about what you said, another simpler way would be to have another type parameter for Config and State:
export type AddArrayLike<T> = {
  [P in keyof T]: T[P] | T[P][]
}

export interface INodeGroupProps<T = unknown[], TConfig extends Config = {}, State = {}> {
  data: T[];
  keyAccessor: (data: T, index: number) => string | number;
  interpolation?: GetInterpolator;
  start: (data: T, index: number) =>  State & Config;
  enter?: (data: T, index: number) => Config & AddArrayLike<State>;
  update?: (data: T, index: number) => Config & AddArrayLike<State>;
  leave?: (data: T, index: number) => Config & AddArrayLike<State>;
  children: (nodes: T & { key: string | number, data: T, state: State }[]) => React.ReactElement<any>;
}

export declare class INodeGroup<T = unknown[], TConfig extends Config = {}, State = {}> extends React.Component<INodeGroupProps<T, TConfig, State>> { }

This works for my use case which is below but you will know much, much, much more about the wide range of configurations that exist.
I think this is better and it works for my use case:
export interface NodesState {
  top: number;
  left: number;
  opacity: number;
}

export const NodesOpacityHorizontal: React.FC<NodesProps> = ({ nodes }) => {
  return (
    <NodeGroup<HierarchyPointNode<StructureItem>, {opacity: number}, NodesState>
      data={nodes}
      keyAccessor={(d) => d.data.id}
      start={(node) => {
        let left: number;
        let top: number;

        if (!node.parent) {
          left = node.y / 2 - NodeHeight;
          top = node.x - NodeHeight;
        } else {
          left = node.parent.y / 2;
          top = node.parent.x;
        }

        return {
          top,
          left,
          opacity: 0
        };
      }}
      enter={(node) => positionNodes(node, nodes)}
      update={(node) => positionNodes(node, nodes)}
      leave={(node) => {
        let left: number;
        let top: number;

        const collapsedParent = findCollapsedParent(node.parent) as HierarchyPointNode<StructureItem>;

        if (!collapsedParent.parent) {
          left = collapsedParent.y / 2;
          top = collapsedParent.x - NodeHeight;
        } else {
          left = collapsedParent.parent.y / 2;
          top = collapsedParent.parent.x - NodeHeight;
        }

        return {
          top: [top],
          left: [left],
          opacity: [0]
        };
      }}
    >
      {(nodes) => (
        <Group>
          {nodes.map(({ key, data: node, state }, index) => {
            return (
              <Group top={state.top} left={state.left} key={key} opacity={state.opacity} className={`node__${index}`}>
                <Node node={node} clickHandler={(e: any) => e} key={key} />
              </Group>
            );
          })}
        </Group>
      )}
    </NodeGroup>
  );
};

Yes.  Exactly what I was thinking.  I think this makes much more sense but I really appreciate the help on this. so I didn't want to push too hard. Since I merged this, you could add that to the Animate PR.  Awesome.

Will do!


install golang up to 1.10 and set ENV to 1.10

install and use golang 1.10 when building docker image

@Minger I was able to dial it into 1.10.3


Version with Scalaz

I think we should version this library with Scalaz.
e.g. if you're using Scalaz 7.3, then you pull in interop-scalaz 7.3.
We can use the micro version for backward-compatible updates within a Scalaz version.
Thoughts?

As agreed in ZIO/Core gitter, we'll proceed with vA.B.C.D versioning scheme, A.B.C coming representing semantic version of a library, and D enumerating the patch made in interop.


3 gateways stopped working

I apologize for posting this here but to be honest it seams like the most appropriate place to do so.
I just had 3 gateways stop working out the blue. Not sure if amazon / blink pushed a new firmware update but here goes:
On reboot (we had a power outage), they refused to connect to my wireless network (AP). I checked my logs on the APs there is NO auth request from their mac addresses.
When I tried to do the reset button + change wifi via the app, the app finds my AP no problem but when the gateway goes to connect it ends up on "red light".
I will add, my 2.4ghz network is very vanilla. Nothing special. On top of that I even tried connecting to a mobile hotspot from an android device. Same issue.
I'll finish with this:
I am 100% sure this is not my network. I am fairly well versed in general networking as well as wifi, all of my APs are OpenWRT based and I have about a decade of use using OpenWRT etc.
Last but not lease I'll add that I had 3 gateways because in the past (before blinkpy) I used IFTTT so thats how I seperated my network into exterior / interior etc.  One more time, 100% sure its not my network :)
Anyone else experience the same?
...a real shame. I have about 10 of these cameras!

Ok!
Small update, I know I just posted but I am in the middle of doing this as we speak:
I was able to get one to come back to life by doing the following:
Hold down the reset button, plug in power. Red light will start flashing. I am guessing this rolls back the firmware to the original shipped (?).
At this point I was able to get it to connect to my wifi.
The app updated the firmware at the end of the add to account.
I tried unplug + plug and it reconnected.

Update, I just brought another one back to life using the same process.

Ill close this with the hope that if someone experiences the same it will help them out.
Looks like reset while plugging in power does a more full reset vs just resetting the wifi network by pressing reset while powered up.


API compat

Closes https://github.com/pangeo-data/pangeo/issues/713

@martindurant any insight on the CI failures? I've never used vcr before.

Yep, you need to rerecord a load of them, as shown in the dev documentation, supplying several env-vars. I could do it... eventually.

Ouch... that's painful. I can re-run them.
Question though, it has export GCSFS_GOOGLE_TOKEN=~/.config/gcloud/application_default_credentials.json. Do I really want to use my application_default_credentials.json? I thought that was private to a given project.

There is logic in the testing setup to replace sensitive data with generic strings, so that nothing inappropriate ends up in the recording yaml files.

        Args:
            response_body (str): The decoded response data.

        Raises:
            google.auth.exceptions.RefreshError
        """
        try:
            error_data = json.loads(response_body)
            error_details = '{}: {}'.format(
                error_data['error'],
                error_data.get('error_description'))
        # If no details could be extracted, use the response data.
        except (KeyError, ValueError):
            error_details = response_body

        raise exceptions.RefreshError(
>           error_details, response_body)
E       google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', '{\n  "error": "invalid_grant",\n  "error_description": "Bad Request"\n}')

../../Envs/dask-dev/lib/python3.7/site-packages/google/oauth2/_client.py:61: RefreshError
-------------------------------------------------------------------------------- Captured log call ---------------------------------------------------------------------------------
ERROR    gcsfs.core:core.py:466 _call out of retries on exception: ('invalid_grant: Bad Request', '{\n  "error": "invalid_grant",\n  "error_description": "Bad Request"\n}')
Traceback (most recent call last):
  File "/Users/taugspurger/sandbox/gcsfs/gcsfs/core.py", line 461, in _call
    params=kwargs, json=json, headers=headers, data=data, timeout=self.requests_timeout)
  File "/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/google/auth/transport/requests.py", line 205, in request
    self._auth_request, method, url, request_headers)
  File "/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/google/auth/credentials.py", line 122, in before_request
    self.refresh(request)
  File "/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/google/oauth2/credentials.py", line 136, in refresh
    self._client_secret))
  File "/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/google/oauth2/_client.py", line 237, in refresh_grant
    response_data = _token_endpoint_request(request, token_uri, body)
  File "/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/google/oauth2/_client.py", line 111, in _token_endpoint_request
    _handle_error_response(response_body)
  File "/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/google/oauth2/_client.py", line 61, in _handle_error_response
    error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', '{\n  "error": "invalid_grant",\n  "error_description": "Bad Request"\n}')
================================================================================= warnings summary =================================================================================
/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/_collections.py:1
/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/_collections.py:1
  /Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/_collections.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
    from collections import Mapping, MutableMapping

/Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/boto/plugin.py:40
  /Users/taugspurger/Envs/dask-dev/lib/python3.7/site-packages/boto/plugin.py:40: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    import imp

-- Docs: https://docs.pytest.org/en/latest/warnings.html
================================================================= 1 failed, 1 skipped, 3 warnings in 37.46 seconds =================================================================


Doesn't work for duo's own protocol

I think this works for Duo if Duo is set to use TOTP/HOTP, but Duo has it's own internal protocol, for which this doesn't work.

From what I remember, Duo supports TOTP, HOTP, and a separate dialog with buttons that pops up in response to a server-side notification. Is that what you're referring to? If so, I don't see a way to export that functionality into a format usable by any other app.

Duo works with the server side push, but even if the device is offline (or you don't have google play services), the Duo app can generate codes. You can tap on the entry to generate codes. That seems to be a different protocol. Tapping on it each time generates a new code. So it doesn't seem to be time based.

Thanks. This works. andotp doesn't support HOTP, so I couldn't import it in andotp, but I was able to use freeotp and google authenticator to validate. The behavior is slightly different from Duo in that in Duo, tapping always generates a new code, whereas with freeotp/google authenticator, the code still takes some time (about 5 seconds) to refresh. It still works though. Other minor issue that I noticed is that the qr code generator opens the html page as a text file in the browser. I had to save it as html and reopen to see the codes.

@pgera Thanks, fixed. AndOTP support for HOTP (https://github.com/andOTP/andOTP/issues/5) should be ready eventually.

Noticed another issue. I read out the duo tokens, and added them to google auth. Then I ran the script again. It looks like the script reads the same hotp tokens from google auth as totp tokens. It ends up creating duplicate entries, the totp one being the wrong one.


Writing asynchronous job

Is there an event which let us know when a job finishes so that we can execute another job?

Watch the logs, but most of the jobs are continuous.  I have a different version.  Email me for a different version.


Remove Message.renew! method

@roschaefer: I just stumbled over the Message#reneve! method, which I think we added in order to make use of new features in a backwards compatible way.
However, I think we decided we won’t do that (i.e. upgrade old message records when we add new features like support for voice messages). Also, I think the method hasn’t been updated when we added new features, so it’ll likely not work.
Can we just remove that method, in order to keep the codebase tidy and reduce legacy code?

I'm OK with that. After all, we could re-implement the method as soon as we need it. Just don't remove data :slightly_smiling_face:


Add test branches

It is 100% code coverage now.

@dol23asuka  I resolved the merge conflict for us, but when you make changes, you need to first pull from the master branch by running
git pull origin master
If you could do that next time, I would really appreciate it!


Dropdown for Categories

User stories
As a owner of an Item I want to have a Dropdown/ Popup in the editpage for selecting Categories in order to know which categories already exist. If I want to create a new Category, there should be a Button for creating a new one
UI Mockup

Acceptance Criteria

[ ] I can type in the category field and the displayed categories will adapt (matching first letters)
[ ] I can add multiple categories
[ ] I can add new Categories if none match
[ ]

got replaced by #206