[Snapshot on Travis CI] UI Testing tests fail on empty screens

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
Our project has a very weird issue with snapshot just now. The failed UI tests are run on (still) empty screens which currently do nothing (and don't have anything runnable inside them). Snapshot runs fine on my local (OSX) machine but they fail on Travis CI. The tests fail on the Blog and Chat screen with fastlane/snapshot error: UI Testing Failure - Failed to get screenshot within 15s. The rest of the screens (which are actively being updated/refreshed on launch) are being screenshotted (is that even a word?) fine!
So the blog and chat screen fail on TravisCI but the tests succeed on my local machine.
Complete output when running fastlane, including the stack trace and command used
Fastlane action run: crashlytics
$ ./fastlane/travis.sh
[12:10:02]: -----------------------------
[12:10:02]: --- Step: update_fastlane ---
[12:10:02]: -----------------------------
[12:10:02]: Looking for updates for cert, credentials_manager, deliver, fastlane, fastlane_core, frameit, gym, match, pem, pilot, produce, scan, screengrab, sigh, snapshot, spaceship, supply...
[12:10:17]: Updating cert from 1.4.0 to 1.4.1 ... 🚀
[12:10:21]: Finished updating cert
[12:10:22]: Updating credentials_manager from 0.15.0 to 0.16.0 ... 🚀
[12:10:24]: Finished updating credentials_manager
[12:10:25]: Updating deliver from 1.11.1 to 1.11.2 ... 🚀
[12:10:39]: Finished updating deliver
[12:10:40]: Updating fastlane from 1.81.0 to 1.85.0 ... 🚀
[12:11:27]: Finished updating fastlane
[12:11:28]: Updating fastlane_core from 0.41.2 to 0.43.1 ... 🚀
[12:11:28]: Finished updating fastlane_core
[12:11:29]: Updating frameit from 2.5.1 to 2.6.1 ... 🚀
[12:11:29]: Finished updating frameit
[12:11:30]: Updating match from 0.4.0 to 0.5.0 ... 🚀
[12:11:30]: Finished updating match
[12:11:30]: Updating pilot from 1.5.0 to 1.5.1 ... 🚀
[12:11:35]: Finished updating pilot
[12:11:36]: Updating produce from 1.1.1 to 1.1.2 ... 🚀
[12:11:40]: Finished updating produce
[12:11:41]: Updating scan from 0.5.2 to 0.6.0 ... 🚀
[12:11:45]: Finished updating scan
[12:11:45]: Updating sigh from 1.6.1 to 1.7.0 ... 🚀
[12:11:45]: Finished updating sigh
[12:11:46]: Updating spaceship from 0.26.0 to 0.26.2 ... 🚀
[12:11:46]: Finished updating spaceship
[12:11:46]: Cleaning up old versions...
[12:11:46]: fastlane.tools successfully updated! I will now restart myself... 😴
[12:12:53]: -----------------------------
[12:12:53]: --- Step: update_fastlane ---
[12:12:53]: -----------------------------
[12:12:53]: -------------------------------------------------
[12:12:53]: --- Step: Verifying required fastlane version ---
[12:12:53]: -------------------------------------------------
[12:12:53]: fastlane version valid
[12:12:53]: ------------------------------
[12:12:53]: --- Step: default_platform ---
[12:12:53]: ------------------------------
[12:12:53]: Driving the lane 'ios crashlytics' 🚀
[12:12:53]: --------------------------------------------------------------
[12:12:53]: --- Step: git config --global user.name "WWDCScholars-bot" ---
[12:12:53]: --------------------------------------------------------------
[12:12:53]: $ git config --global user.name "WWDCScholars-bot"
[12:12:53]: -----------------------------------------------------------------------
[12:12:53]: --- Step: git config --global user.email<EMAIL_ADDRESS>---
[12:12:53]: -----------------------------------------------------------------------
[12:12:53]: $ git config --global user.email<EMAIL_ADDRESS>[12:12:53]: ------------------------------------
[12:12:53]: --- Step: increment_build_number ---
[12:12:53]: ------------------------------------
[12:12:53]: $ cd /Users/travis/build/WWDCScholars/WWDCScholars-iOS && agvtool next-version -all && cd -
[12:13:05]: ▸ Setting version of project WWDCScholars to:
[12:13:05]: ▸ 80.
[12:13:05]: ▸ Also setting CFBundleVersion key (assuming it exists)
[12:13:05]: ▸ Updating CFBundleVersion in Info.plist(s)...
[12:13:05]: ▸ Updated CFBundleVersion in "WWDCScholars.xcodeproj/../WWDCScholars/Info.plist" to 80
[12:13:05]: ▸ Updated CFBundleVersion in "WWDCScholars.xcodeproj/../WWDCScholarsTests/Info.plist" to 80
[12:13:05]: ▸ Updated CFBundleVersion in "WWDCScholars.xcodeproj/../WWDCScholarsUITests/Info.plist" to 80
[12:13:05]: ▸ /Users/travis/build/WWDCScholars/WWDCScholars-iOS
[12:13:05]: -------------------
[12:13:05]: --- Step: match ---
[12:13:05]: -------------------
+-----------------------+----------------------------------------------+
|                       Summary for match 0.5.0                        |
+-----------------------+----------------------------------------------+
| git_url               | git@github.com:WWDCScholars/certificates.git |
| type                  | appstore                                     |
| readonly              | true                                         |
| app_identifier        | com.wwdcscholars.WWDC-Scholars-2015          |
| username              | **************                      |
| keychain_name         | login.keychain                               |
| team_id               | **************                                   |
| verbose               | false                                        |
| force                 | false                                        |
| shallow_clone         | false                                        |
| force_for_new_devices | false                                        |
| skip_docs             | false                                        |
+-----------------------+----------------------------------------------+
[12:13:13]: Cloning remote git repo...
[12:13:14]: 🔓  Successfully decrypted certificates repo
[12:13:14]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1062  100  1062    0     0    677      0  0:00:01  0:00:01 --:--:--   677
[12:13:16]: There are no local code signing identities found. You can run `security find-identity -v -p codesigning` to get this output. This Stack Overflow thread has more information: http://stackoverflow.com/q/35390072/774. (Check in Keychain Access for an expired WWDR certificate: http://stackoverflow.com/a/35409835/774 has more info.)
[12:13:17]: Installing provisioning profile...
+----------------------+---------------------------------------------------+
|                      Installed Provisioning Profile                      |
+----------------------+---------------------------------------------------+
| App Identifier       | com.wwdcscholars.WWDC-Scholars-2015               |
| Type                 | appstore                                          |
| UUID                 | d4a82455-a2e0-4d58-bd0a-**************              |
| Environment Variable | sigh_com.wwdcscholars.WWDC-Scholars-2015_appstore |
+----------------------+---------------------------------------------------+
[12:13:17]: All required keys, certificates and provisioning profiles are installed 🙌
[12:13:17]: 🔒  Successfully encrypted certificates repo
[12:13:17]: Setting Provisioning Profile type to 'app-store'
[12:13:17]: -----------------
[12:13:17]: --- Step: gym ---
[12:13:17]: -----------------
[12:13:19]: xcrun xcodebuild -list -project './WWDCScholars.xcodeproj'
+----------------------+--------------------------+
|              Summary for gym 1.6.2              |
+----------------------+--------------------------+
| scheme               | WWDCScholars             |
| silent               | true                     |
| export_method        | app-store                |
| project              | ./WWDCScholars.xcodeproj |
| destination          | generic/platform=iOS     |
| output_name          | WWDCScholars             |
| clean                | false                    |
| output_directory     | .                        |
| use_legacy_build_api | false                    |
| buildlog_path        | ~/Library/Logs/gym       |
+----------------------+--------------------------+
[12:13:26]: ▸ Building WWDCScholars/WWDCScholars [Release]
[12:13:26]: ▸ Check Dependencies
[12:13:27]: ▸ Copying Info.plist
[12:13:29]: ▸ Compiling Timeline.swift
<omitted (only our build files with warnings, nothing interesting for this issue)>
[12:19:07]: ▸ Touching WWDCScholars.app
[12:19:41]: ▸ Signing /Users/travis/Library/Developer/Xcode/DerivedData/WWDCScholars-gysvehsarrpykobhslyskdirssri/Build/Intermediates/ArchiveIntermediates/WWDCScholars/InstallationBuildProductsLocation/Applications/WWDCScholars.app
[12:19:44]: ▸ Touching WWDCScholars.app.dSYM
[12:19:49]: ▸ Archive Succeeded
[12:19:50]: Successfully stored the archive. You can find it in the Xcode Organizer.
[12:21:28]: Successfully exported and compressed dSYM file
[12:21:28]: Successfully exported and signed the ipa file:
[12:21:28]: /Users/travis/build/WWDCScholars/WWDCScholars-iOS/WWDCScholars.ipa
[12:21:28]: ------------------
[12:21:28]: --- Step: scan ---
[12:21:28]: ------------------
[12:21:29]: xcrun xcodebuild -list -project './WWDCScholars.xcodeproj'
+-----------------------+--------------------------+
|              Summary for scan 0.6.0              |
+-----------------------+--------------------------+
| scheme                | WWDCScholars             |
| clean                 | false                    |
| code_coverage         | false                    |
| skip_build            | true                     |
| device                | iPhone 6 (9.3)           |
| skip_slack            | false                    |
| slack_only_on_failure | true                     |
| project               | ./WWDCScholars.xcodeproj |
| output_directory      | ./fastlane/test_output   |
| output_types          | html,junit               |
| buildlog_path         | ~/Library/Logs/scan      |
| open_report           | false                    |
+-----------------------+--------------------------+
[12:21:33]: Automatically switched to Travis formatter
[12:21:33]: $ set -o pipefail && env NSUnbufferedIO=YES xcodebuild -scheme 'WWDCScholars' -project './WWDCScholars.xcodeproj' -destination 'platform=iOS Simulator,id=C2DFA409-9034-4F2B-984F-DE52EBE6FFEE' test | tee '/Users/travis/Library/Logs/scan/WWDCScholars-WWDCScholars.log' | xcpretty -f `xcpretty-travis-formatter`
[12:21:33]: ▸ Loading...
[12:21:37]: ▸ 2016-05-05 12:21:37.116 xcodebuild[2268:7521]  IDETestOperationsObserverDebug: Writing diagnostic log for test session to:
[12:21:37]: ▸ /Users/travis/Library/Developer/Xcode/DerivedData/WWDCScholars-gysvehsarrpykobhslyskdirssri/Logs/Test/16899C72-E9D7-4EB7-B89C-56375A410EE6/Session-2016-05-05_12:21:37-nZbixm.log
[12:21:37]: ▸ 2016-05-05 12:21:37.115 xcodebuild[2268:7506] [MT] IDETestOperationsObserverDebug: (CE2651C5-8E8C-4F28-A70E-8FCE824795A7) Beginning test session CE2651C5-8E8C-4F28-A70E-8FCE824795A7 with Xcode 7D175 on target <DVTiPhoneSimulator: 0x7fe9fa65da70> {
[12:21:37]: ▸ SimDevice: SimDevice : iPhone 6 (C2DFA409-9034-4F2B-984F-DE52EBE6FFEE) : state={ Shutdown } deviceType={ SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPhone-6 } runtime={ SimRuntime : 9.3 (13E230) - com.apple.CoreSimulator.SimRuntime.iOS-9-3 }
[12:21:37]: ▸ } (9.3 (13E230))
[12:21:37]: ▸ 2016-05-05 12:21:37.169 xcodebuild[2268:7512]  IDETestOperationsObserverDebug: Writing diagnostic log for test session to:
[12:21:37]: ▸ /Users/travis/Library/Developer/Xcode/DerivedData/WWDCScholars-gysvehsarrpykobhslyskdirssri/Logs/Test/16899C72-E9D7-4EB7-B89C-56375A410EE6/Session-2016-05-05_12:21:37-QaiSsE.log
[12:21:37]: ▸ 2016-05-05 12:21:37.170 xcodebuild[2268:7506] [MT] IDETestOperationsObserverDebug: (9349E795-32D1-4B27-A724-1D32A3F35F85) Beginning test session 9349E795-32D1-4B27-A724-1D32A3F35F85 with Xcode 7D175 on target <DVTiPhoneSimulator: 0x7fe9fa65da70> {
[12:21:37]: ▸ SimDevice: SimDevice : iPhone 6 (C2DFA409-9034-4F2B-984F-DE52EBE6FFEE) : state={ Shutdown } deviceType={ SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPhone-6 } runtime={ SimRuntime : 9.3 (13E230) - com.apple.CoreSimulator.SimRuntime.iOS-9-3 }
[12:21:37]: ▸ } (9.3 (13E230))
[12:21:37]: ▸ Building WWDCScholars/WWDCScholars [Debug]
[12:21:37]: ▸ Check Dependencies
[12:21:39]: ▸ Copying Info.plist
<omitted (only our build files with warnings, nothing interesting for this issue)>
[12:23:25]: ▸ Running script 'Run Script'
[12:23:26]: Running Tests: ▸ Touching WWDCScholars.app
[12:23:26]: ▸ Building WWDCScholars/WWDCScholarsTests [Debug]
[12:23:26]: ▸ Check Dependencies
[12:23:26]: ▸ Processing Info.plist
[12:23:27]: ▸ Compiling WWDCEnum.swift
[12:23:30]: ▸ Compiling Gender.swift
[12:23:31]: ▸ Compiling Location.swift
[12:23:31]: ▸ Compiling SwiftyJSON.swift
[12:23:32]: ▸ Compiling StringUtils.swift
[12:23:33]: ▸ Compiling ScholarAPITests.swift
[12:23:33]: ▸ Compiling StringUtilTests.swift
[12:23:33]: ▸ Compiling ScholarTests.swift
[12:23:34]: ▸ Compiling WWDCScholarsTests.swift
[12:23:34]: ▸ Linking WWDCScholarsTests
[12:23:35]: Running Tests: ▸ Touching WWDCScholarsTests.xctest
[12:23:35]: ▸ Building WWDCScholars/WWDCScholarsUITests [Debug]
[12:23:35]: ▸ Check Dependencies
[12:23:35]: ▸ Processing Info.plist
[12:23:35]: ▸ Preprocessing /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Agents/XCTRunner.app/Info.plist
[12:23:35]: ▸ Compiling WWDCScholarsUITests.swift
[12:23:35]: ▸ Compiling SnapshotHelper.swift
[12:23:36]: ▸ Linking WWDCScholarsUITests
[12:23:37]: Running Tests: ▸ Touching WWDCScholarsUITests.xctest
[12:23:49]: ▸ All tests
[12:23:49]: ▸ Test Suite WWDCScholarsTests.xctest started
[12:23:49]: ▸ ScholarAPITests
[12:23:51]: ▸ ✓ testALoadScholars (1.977 seconds)
[12:23:51]: ▸ ✓ testBHasScholars (0.001 seconds)
[12:23:51]: ▸ ✓ testCShowScholars (0.000 seconds)
[12:23:51]: ▸ ScholarTests
[12:23:51]: ▸ ✓ testADatabaseEmpty (0.076 seconds)
[12:23:51]: ▸ ✓ testBScholarModel (0.031 seconds)
[12:23:51]: ▸ ✓ testCScholarArray (0.003 seconds)
[12:23:51]: ▸ ✓ testCScholarFromDB (0.003 seconds)
[12:23:51]: ▸ StringUtilTests
[12:23:51]: ▸ ✓ testFacebookLinkInvalid (0.013 seconds)
[12:23:51]: ▸ ✓ testFacebookLinkValid (0.003 seconds)
[12:23:51]: ▸ ✓ testGitHubLinkInvalid (0.003 seconds)
[12:23:51]: ▸ ✓ testGitHubLinkValid (0.003 seconds)
[12:23:51]: ▸ ✓ testTwitterLinkInvalid (0.003 seconds)
[12:23:51]: ▸ ✓ testTwitterLinkValid (0.001 seconds)
[12:23:51]: ▸ WWDCScholarsTests
[12:23:51]: ▸ ✓ testExample (0.000 seconds)
[12:23:51]: ▸ ◷ testPerformanceExample measured (0.000 seconds)
[12:23:51]: ▸ ✓ testPerformanceExample (1.161 seconds)
[12:23:51]: ▸
[12:23:51]: ▸ 	 Executed 15 tests, with 0 failures (0 unexpected) in 3.278 (3.301) seconds
[12:23:51]: ▸
[12:24:02]: ▸ All tests
[12:24:02]: ▸ Test Suite WWDCScholarsUITests.xctest started
[12:24:02]: ▸ WWDCScholarsUITests
[12:24:43]: ▸ ✓ testBlogScreen (41.353 seconds)
[12:25:23]: ▸ ✓ testChatScreen (39.668 seconds)
[12:26:11]: ▸ ✓ testCreditsScreen (48.296 seconds)
[12:26:58]: ▸ ✓ testLoginScreen (46.620 seconds)
[12:27:47]: ▸ ✓ testMapScreen (48.556 seconds)
[12:28:32]: ▸ ✗ testScholarsDetailScreen, UI Testing Failure - Failed to get screenshot within 15s
[12:29:12]: ▸ ✗ testScholarsOverviewScreen, UI Testing Failure - Failed to get screenshot within 15s
[12:29:12]: ▸
[12:29:12]: ▸ WWDCScholarsUITests.WWDCScholarsUITests
[12:29:12]: ▸ testScholarsDetailScreen, UI Testing Failure - Failed to get screenshot within 15s
[12:29:12]: ▸ /Users/travis/build/WWDCScholars/WWDCScholars-iOS/WWDCScholarsUITests/WWDCScholarsUITests.swift:39
[12:29:13]: ▸ ```
[12:29:13]: ▸         let app = XCUIApplication()
[12:29:13]: ▸         app.otherElements.containingType(.Button, identifier:"wwdcScholarsTabIcon").childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).elementBoundByIndex(3).childrenMatchingType(.CollectionView).element.tap()
[12:29:13]: ▸
[12:29:13]: ▸   ```
[12:29:13]: ▸ testScholarsOverviewScreen, UI Testing Failure - Failed to get screenshot within 15s
[12:29:13]: ▸ /Users/travis/build/WWDCScholars/WWDCScholars-iOS/WWDCScholarsUITests/WWDCScholarsUITests.swift:68
[12:29:13]: ▸ ```
[12:29:13]: ▸         let app = XCUIApplication()
[12:29:13]: ▸         app.tabBars.buttons["Scholars"].tap()
[12:29:13]: ▸         app.collectionViews.staticTexts["2016"].swipeRight()
[12:29:13]: ▸   ```
[12:29:13]: ▸ 	 Executed 7 tests, with 2 failures (0 unexpected) in 310.304 (310.316) seconds
[12:29:13]: ▸
[12:29:13]: ▸ Failing tests:
[12:29:13]: ▸ -[WWDCScholarsUITests testScholarsDetailScreen()]
[12:29:13]: ▸ -[WWDCScholarsUITests testScholarsOverviewScreen()]
[12:29:13]: ▸ ** TEST FAILED **

(full build log on: https://travis-ci.org/WWDCScholars/WWDCScholars-iOS/builds/128036809)
Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
update_fastlane

fastlane_version "1.81.0"

default_platform :ios

platform :ios do
  before_all do
    sh('git config --global user.name "WWDCScholars-bot"')
    sh('git config --global user.email<EMAIL_ADDRESS>    increment_build_number

  end

  desc "Runs all the tests"
  lane :test do
    gym(scheme: "WWDCScholars", silent: true)
    # scan
  end

  lane :screenshot do
    snapshot(skip_open_summary: true, devices: ["iPhone 6"])
  end

  desc "Deploy a new bleeding-edge version to Crashlytics beta"
  lane :crashlytics do
    match(git_url: "git@github.com:WWDCScholars/certificates.git", type: "appstore", readonly: true)
    gym(scheme: "WWDCScholars", silent: true)
    scan
    snapshot(skip_open_summary: true, devices: ["iPhone 6"])
    # crashlytics
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :testflight do
    match(git_url: "git@github.com:WWDCScholars/certificates.git", type: "appstore", readonly: true)
    gym(scheme: "WWDCScholars", silent: true)
    scan
    pilot
  end

  desc "Deploy a new version to the App Store"
  lane :appstore do
    match(git_url: "git@github.com:WWDCScholars/certificates.git", type: "appstore", readonly: true)
    snapshot
    gym(scheme: "WWDCScholars", silent: true) # Build your app - more options available
    scan
    deliver(force: true)
  end

  after_all do |lane|
    version     = get_version_number(xcodeproj: "WWDCScholars.xcodeproj")
    build       = get_build_number(xcodeproj: "WWDCScholars.xcodeproj")

    slack(
      message: "Successfully deployed version *#{version}* (#{build})! :tim: :tada:"
    )

    commit_version_bump(
      message: "Version #{version}, Build #{build}\n[ci skip]"
    )

    sh('git pull --rebase')

    push_to_git_remote(remote: "git@github.com:WWDCScholars/WWDCScholars-iOS.git", remote_branch: ENV["TRAVIS_BRANCH"], force: true)
  end

  error do |lane, exception|
    slack(
      message: "Build failed! :sad-steve: " + exception.message,
      success: false
    )
  end
end

Snapfile:
devices([
  "iPad Pro",
  "iPad Retina",
  "iPhone 6",
  "iPhone 6 Plus",
  "iPhone 5",
  "iPhone 4s"
])

languages([
  "en-US"
])

output_directory "./screenshots"

number_of_retries 2

reinstall_app true

clear_previous_screenshots true

Environment
Build is run on Travis CI
fastlane version (run fastlane -v): fastlane 1.85.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)? No
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)? Yes, rvm (TravisCI default)

Hi @matthijs2704! Great to hear from you. I wanted to see if you can run the command:
set -o pipefail && env NSUnbufferedIO=YES xcodebuild -scheme 'WWDCScholars' -project './WWDCScholars.xcodeproj' -destination 'platform=iOS Simulator,id=C2DFA409-9034-4F2B-984F-DE52EBE6FFEE' test | tee '/Users/travis/Library/Logs/scan/WWDCScholars-WWDCScholars.log' | xcpretty -f xcpretty-travis-formatter
This will help determine if it's an issue with the way Scan is set up or if it's a project issue. Thanks so much for working with me!

@matthijs2704 Have you had time to take a look at this? I'll close this issue for now due to inactivity, however feel free to re-open whenever you've had time 👍


Added a MonadIO-based subscribe' function

#1

Happy to merge this, but can we use a different postfix than '. It's used in the lib for strict / lazy versions of different functions. I'm not sure if there's some prior art we can copy. What about subscribeM or something like that?

Sure, good idea. I've renamed subscribe' to subscribeM. I'm not sure if there's another convention for this.


Use colored output

Introduction
We add some emojis to lychees output but to easily separate failures from mere status updates we could add some color.
How to contribute
Add the colored crate as a project dependency and adjust the println! statement accordingly. Errors should be red and successes green.
Feel free to experiment with other crates or outputs.

This is done and merged to master now. 🥳


New languages

Feature Request
Can we add new languages? For example translating the strings manually (I can add two languages)

I would write to Niantic that "I translated your app, please include it"
I would make a file based on the output's locale files

@feralheart If your translations would get accepted & released by Niantic, this repository would automatically adapt it, because these translations would be an asset of the Pokemon GO app then, which gets automatically consumed by this repository.
But to be honest, I doubt Niantic will accept any translations from strangers.
So I won't accept a language PR, except it is already implemented in Pokemon Go.

I sent them an e-mail but I didn't got any response yet :sweat_smile:


Enable-JAzRole: The requestor xxxxxxxxxxxxxxxxxxxxxx does not have permissions for this request. Please use $filter=asTarget() to filter on the requestor's assignments.

Hi there,
First of all, thanks for making this! It's real handy. It works fine for AAD roles, but I'm having trouble getting this to work for Azure resources roles.
I have 2 roles on Azure resources, one is Owner on the TenantRoot management group and the other one is a Storage Blob Data Reader on a specific resource. Neither of which are able to be activated. Here's the error I'm getting:
Enable-JAzRole: The requestor xxxxxxxxxxxxxxxxxxxxxxxxxxxx does not have permissions for this request. Please use $filter=asTarget() to filter on the requestor's assignments.
I'm not sure what permissions I'm missing here.

Closing due to duplicate issue and I've found my solution.
https://github.com/JustinGrote/JAz.PIM/issues/10#issuecomment-1752005317


Reinstate maintainers from emeritus to active

This PR reinstates Rabi Panda, and Abbas Hussain as maintainers of the opensearch repository after inadvertant removal in https://github.com/opensearch-project/OpenSearch/commit/0f651b8664ea80c993e93d47170b33fcef0d8d73 and  https://github.com/opensearch-project/OpenSearch/commit/62157b93d297f30a922c462a74310c7578ee4537, respectively. The removing maintainers process specifies maintainers are removed as follows:
Existing maintainers can choose to leave the project at any time, with or without reason, by making a pull request to move themselves to the "Emeritus" section of MAINTAINERS.md, and asking an [members of the admin team](https://github.com/opensearch-project/.github/blob/main/ADMINS.md) to remove their permissions.

I had reached to both these folks and none of these changes was unilateral. Please revert this PR.

In this PR we forgot to add these folks to CODEOWNERS. This gets flagged by some hand-run script I run weekly. Opened https://github.com/opensearch-project/OpenSearch/pull/9173, please fix @nknize.


regal: 0.28.0 -> 0.29.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/StyraInc/regal/releases.
meta.description for regal is: Linter and language server for Rego
meta.homepage for regal is: https://github.com/StyraInc/regal
meta.changelog for regal is: https://github.com/StyraInc/regal/releases/tag/v0.29.2
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.29.2 with grep in /nix/store/09mrm028cdm4d8lk7bg3wqqskzzbxxvp-regal

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

regal

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/09mrm028cdm4d8lk7bg3wqqskzzbxxvp-regal \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A regal https://github.com/r-ryantm/nixpkgs/archive/be27f0361a484afb7f1bbebe11cf0d708f4716a2.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/be27f0361a484afb7f1bbebe11cf0d708f4716a2#regal

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/09mrm028cdm4d8lk7bg3wqqskzzbxxvp-regal
ls -la /nix/store/09mrm028cdm4d8lk7bg3wqqskzzbxxvp-regal/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 1 package built:

regal

Maintainer pings
cc @rinx for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@NixOS/nixpkgs-merge-bot merge

@NixOS/nixpkgs-merge-bot merge


Test type shouldn't be limited to valid scan types

**Note: DefectDojo is now on Python3 and Django 2.2. Please submit your pull requests to the 'python3_dev' branch as the 'dev' branch is only for bug fixes. Any PR's submitted to the 'dev' branch should also be converted to Python3 and submited to the 'python3_dev' branch.
When submitting a pull request, please make sure you have completed the following checklist:

[x] Your code is flake8 compliant
[x] If this is a new feature and not a bug fix, you've included the proper documentation in the ReadTheDocs documentation folder. https://github.com/DefectDojo/Documentation/tree/master/docs or provide feature documentation in the PR.
[x] Model changes must include the necessary migrations in the dojo/dd_migrations folder.
[x] Add applicable tests to the unit tests.

From my point of view, it is a bug. e.g. It could be desirable to use the "Generic Findings Import" to import findings of an tool without specific parser (as SonarQube nowadays). This restriction is enforced in api v2... Although it's not enforced in api v1.

@aaronweaver any thoughts?

@devGregA sounds reasonable

rekicked travis CI will merge after.


This project is dead?

That sucks

Previous update happened in February of not even this year
The protocol is very outdated and no longer compatible with any client

KEEP THIS PROJECT HERE

Why dont you make a fork to continue developing it

And I wonder if anybody has a old agario clone with this protocol. Then again you would have to get it to run on the different client.

Unfortunately I don't have time to continue this project, hence my terrible response time to your thread. Sorry :(


Reorder handlers

I believe ansible runs handlers in the order they're defined in the handlers/main.yml, and the systemd reload should happen before the consul restart.

Any feedback?

Is there a reason to reorder them?

The way it is now systemd will reload consul and THEN update the config, so your config isn't applied.

It is my understanding that handlers are not run in order but are triggered by tasks. See the handler section here: http://docs.ansible.com/ansible/playbooks_intro.html
Someone correct me if I'm wrong.

Indeed, from that page: Notify handlers are always run in the same order they are defined, not in the order listed in the notify-statement.
So, your playbook runs, collecting handlers along the way. Then, at the end, it fires all the collected notifications in the order they were defined.

Switched to #149.


Document how to delete (or hibernate, or nuke...) unused accounts

Describe the Issue
The CPF has been made aware of the SEA costs. In this context, reducing the number of unused workload accounts is a good approach to reducing cost with zero operational impact.
At this moment it is not clear if the account can be fully deleted or simply hibernated. This ticket assumes deletion is possible.
The goal is to clearly document all the necessary steps that and operator have to follow to delete an account. The target audience are coops, just onboarded or uncaffeinated staff...
Additional Context
QA has to create at least two accounts per LZ as part of the regression test. These accounts, once created can be almost immediately deleted. The delete account procedure will became part of the test case as cleaning up routine.
Acceptance Criteria

A document detailing the steps necessary to delete an account
Store the document in a folder accessible to the CPF team (usually in Teams)
Interface with QA so a reference to the document can be added to the appropriated test cases

.
.
.
.
.
.
.
.
.
.
.
Extra Template Info
Definition of Ready
These set of conditions will need to be met in order to bring a ticket into the sprint and start work. Protects the team from unclear requirements.
Issues (Task/Story/Spike) aligned to an EPIC and linked appropriately.
Assigned to the appropriate CPF MEMBER (and is not left blank in ZenHub) at the start of sprint (1st day of the sprint)
Acceptance has been defined for the issue and has been reviewed with CPF team and approved by the necessary approver.
Has been sized and estimated by the delivery team.
Detailed breakdown of the steps required to complete the story in the additional context
Any additional specifications have been documented, reviewed with CPF and approved by the necessary approver.
Acceptance Criteria
A set of pre-defined requirement that need to be met in order to mark the user story as “done”.
It should be testable with no room for interpretation
It should be either “pass” or “fail”
It should be clear enough for business stake holders to understand
As part of the user story, it should be written from the user perspective
A well written acceptance criteria is great for

managing expectations
defining scope
reducing ambiguity
establishing testing criteria for QA
Given (Pre-condition)
When (Action)
Then (Outcome)

Definition of Done
These set of conditions are met for work to be considered as complete on an issue.
All acceptance criteria(s) have been validated.
All the necessary documentation for the issue has been uploaded to Teams.
Functionality has been tested when applicable.
Functionality has been demonstrated to the relevant stakeholders (where applicable).
Story has been scheduled for a Sprint Demo/community update and impacted teams invited to the Demo.
Stories accepted by PO and documented for potential sharing with impacted users.

Documented = Captured in Community Update (CU) deck
Release notes = aspirational goal of providing a bulleted list of features and changes that our users can touch. Was going to store them in our Cloud Pathfinder repo. Can also display to users in the CU

Closed because this ticket has been superseded by #2225


Use type when defining a deprecated attribute

Problem
Since we do not want to introspect a class at class load time.
we are not able to derive a column type at load time.
Before
We pass a block for the attribute type to allow us to derive the type at runtime.
After
Now that we no longer use the delayed introspection, but just define it.
We loose the nice auto introspection aspect.
Why change?
This feature was used with virtual delegation. Due to race conditions/deadlocks,
we removed it from delegations, so the delayed introspection was only used for deprecation.
I would like to use the rails attributes api for virtual_attributes.
That does not support delayed type definition.
Removing this feature makes a transition to more standard rails easier.

We are defining the sql type in all places except here.
I'd like to get rid of this introspection since it feels similar to the race condition we saw before. (Since this introspection is of the current class, this will not be a problem. But I'd like to avoid it none the less)

/cc @bdunne I think you are the one who added the original code for deprecated attributes.
Or maybe we worked on it together to fix something from someone else?
Anyway, wanted to keep you in the loop and let you weigh in if you thought this was adding too much burden on future developers.
Auto defining the type was pretty slick, but the deadlock issue we had for virtual delegates basically removed the thunder for the primary use case of passing a block to detect the type at runtime (90% of the use case)
I will probably never change over to using rails attributes api, but it is a pipe dream from draper and maybe we'll get there some day.

@miq-bot cross_repo_test /all
I'm having second thoughts.
While I don't think it is necessary, it looks like this feature may be supported by attributes api (when it is used on active record models -- which is our use case)

ok,
When we used delayed attribute type lookup before, it sometimes caused a deadlock loading the other class.
This only uses the current class, so it won't cause the same race condition.
But once bitten/twice shy.
So I vote we push this forward.

update:

rebased to bring up to date
status:
This is not strictly necessary, but I still want to move forward with this. I feel more comfortable if we pass the type when defining virtual attributes.

cross-repo test is still red - I'm good with this PR, but I think I want to see cross-repo green first.

Looks like 3 failures... 1 in kubernetes provider that is solved by your other PR, 1 in cic which i think is a recurring failures, and 1 one in scvmm provider.  Not sure about the last one.

@jrafanie scvmm has been archived. Newer versions of miq_bot do not test that repo. It must have come up

update:

rebased to master

pretty sure this is still green

@Fryguy If we feel duplicating the type is not dry then lets just drop this PR.
I feel a little more comfortable declaring the type since we do for all other virtual attributes.
But not declaring the :type for the 3 deprecated attributes is not the end of the world.

Not against duplicating the type, I just lost track of this PR (asking with many others 😬)


source-drupal: Issue with 'path' field

Description
I'm having 2 (related?) issues with the 'path' field/property when using @gridsome/source-drupal.
Firstly, if I try to perform a GraphQL query that returns the path, I get an error. Secondly, if there is more than one node created for a content type, only the first is indexed - there is an error indexing the second.
I have a brand new Drupal 8 install (8.8.5), in which I have created a content type (Event). I've enabled the JSON:API module and have created an Event node.
I started a new gridsome project using the default starter, and then added + configured the Drupal source. Using the playground, I can see that it is working (http://localhost:8080/___explore), and can do a query for allDrupalNodeEvent.
First issue: If I try to add the 'path' to the fields in a query, I get the following error:
{
  "errors": [
    {
      "message": "String cannot represent value: { alias: \"/path-alias\", pid: 1, langcode: \"en\" }",
      "stringified": "String cannot represent value: { alias: \"/path-alias\", pid: 1, langcode: \"en\" }\n\nGraphQL request:6:9\n5 |         title\n6 |         path\n  |         ^\n7 |       }"
    }
  ]
}

Second issue: If I add a second Event node to the Drupal site, it fails to add the second node to the index when running gridsome develop:
DrupalNodeEvent > Failed to add node: Duplicate key for property path: [object Object]

A while ago Drupal made aliases into revisionable entities, I suspect it's something to do with that change? https://www.drupal.org/node/3013865
Steps to reproduce
Create new Drupal 8.8 site. Enable JSON:API module, create content.
Create new gridsome project with default starter, add & configure Drupal source.
Expected result
The path field should work & all nodes should be indexed.
Actual result
See above.
Environment
System:
    OS: macOS Mojave 10.14.4
    CPU: (4) x64 Intel(R) Core(TM) i7-7660U CPU @ 2.50GHz
  Binaries:
    Node: 10.15.3 - ~/.nvm/versions/node/v10.15.3/bin/node
    Yarn: 1.16.0 - /usr/local/bin/yarn
    npm: 6.4.1 - ~/.nvm/versions/node/v10.15.3/bin/npm
  Browsers:
    Chrome: 81.0.4044.138
    Firefox: 75.0
    Safari: 12.1
  npmPackages:
    @gridsome/source-drupal: ^0.4.1 => 0.4.1
    gridsome: ^0.7.0 => 0.7.14
  npmGlobalPackages:
    @gridsome/cli: 0.3.2

Any pointers on this? I'm new to gridsome so don't know where to start to try & help fix.
Cheers!

I ran into this same problem. I'm not sure the cause. I suspect it has something to do with Node->Path being an Object whereas the path fields elsewhere is a String.
You can workaround this problem by renaming the path key in your response structure. You can do this with Drupal's JSON:API Extras https://www.drupal.org/project/jsonapi_extras or with hooks.


Update for SPV_KHR_vulkan_memory_model, and grammar changes for SPIR-V 1.3 Rev 4

Support SPV_KHR_vulkan_memory_model rev2
Support collapsed into one commit:
- Asm/Dis support for SPV_KHR_vulkan_memory_model
- Add Vulkan mem model image operands to switch
- Add TODO for source/validate_image.cpp
- val: Image operands NonPrivateTexelKHR, VolatileTexelKHR have no operands
  This is required for memory model tests to pass SPIR-V validation.
- Round trip tests: Test new flags on OpCopyMemory*

Update Dim capabilities
Corresponds to grammar changes for SPIR-V 1.3 Rev4.

Fixed formatting


modal: Fix flex-direction property for modal__content.

The flex-direction property for modal__content should be set to column as we want to display the elements.
This does not affect most of the modals since they do not have multiple direct child elements that are visible at
same time and the data-simplebar attribute already sets the "flex-direction: column" property to the elements
where it is used.
But in the email address visibility modal on user registration page, there are multiple direct child elements for the "modal__content" element and we need to set "flex-direction: column" property for them to work correctly.
We also change the width of select element in the modal to "fit-content" to avoid it taking the whole width even
when not required.

Fixes:  https://chat.zulip.org/#narrow/stream/9-issues/topic/address.20privacy.20during.20registration

Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

We can also probably added data-simplebar attribute to modal__content element for the email address visibility modal as well, but we do not use simplebar scrollbar for the registration page currenlty, so have not added it now.
Another solution could have been to add a parent div around the elements of modal, so that there is only one child element for modal__content element. But flex-direction: column fix feels to be more logical solution as we want the elements to be spread out in column and not in a row.

Also, there are a couple of modals in which we do not have data-simplebar property like the login modal and api key modal. I am not sure whether we require it in those modals. Probably we can add to show horizontal scrollbars for narrow screens.

Merged, thanks @sahil839!
I think generally we want to work towards modals having consistent styling -- it's just simpler to think about that way. I think it's very unlikely that those few modals are different for an intentional reason, so I'd be tempted to just make them also have data-simplebar if that's part of our general design for 90% of modals and doing so doesn't obviously cause problems.


[feat]: add twitter share button

PULL REQUEST TEMPLATE
**My PR closes #13 **
👨💻 What did you do ?
-Added a share to twitter(X) button
-Fixed Whatsapp share button
Note to reviewers

📷 Screenshots

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title and description of the PR is clear and explains the approach.
[x] I have read the contribution guideline properly and following the criteria.

you should not fixed the whatsapp button.
now resolve the conflict.

Never ever do anything more than whatever you assigned to do.
not in any repository.
i understand you wanted to make the UI more better.
but everything has a process,
someone else has fixed the sharebutton for whatsapp,
according to contribution rules, your pull request should be close.
if you do  not know how to resolve the issue,
just copy your code somewhere, whatever you have changed.
you just sync the fork repo, and git pull in vscode.
then paste your needed code in where you want.

I just saw the pr where someone else has fixed the whatsapp share button, i'll get all the things fixed

I saw the pr fixing whatsapp share after my pr, which the other person made just before my pr, i'll get all the things fixed

yes, but he raised an issue about the whatsapp share problem,
then solved it.


make.bash: confusing error if GOROOT contains a test-only package

$ cd ~/goroot/src
$ git sync a034f31
$ cat test/a_test.go
package test_test
import "testing"
func Test(t *testing.T) {}
$ go test ./test
./ok    test    0.012s
$ ./make.bash
Building Go cmd/dist using ~/go1.6.
Building Go toolchain1 using ~/go1.6.

Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/amd64.
go tool dist: unexpected stale targets reported by ~/goroot/pkg/tool/linux_amd64/go_bootstrap list -gcflags="" -ldflags="" for [std cmd]:
        STALE test: build ID mismatch

I think the error is trying to tell me that go build ./test would fail, but it took me a while to figure that out:
$ go build ./test
go build test: no non-test Go files in ~/goroot/src/test

In your transcript did you mean to 'cd ~/goroot/src' ?
Otherwise I'm very confused.

Yes, sorry about that. Updated.

Duplicate of #27097. (Confirmed that my pending fix makes this go away.)


:pencil2: Use gender neutral in comment

Hi!
I was going through the source code and found a comment referring to the user as 'he'. To make it gender-neutral, I changed it to 'they'. We can even remove the comment if its unnecessary.
Thank you.

Thanks for this!


Refactor connection methods and improve encapsulation

Make several fields private, deprecate old methods, and replace them with new ones to enhance code clarity and maintainability. Reorganize command handling for better structure.
The biggest changes here:

instance.getConfig and instance.getContent deprecated in favor of IBMi#getConfig and IBMi#getContent
instantiate.ts has been refactored to have almost all command definitions moved into their own folders to declutter.
Changed DebugConfiguration to make use of a constructor instance of using instance.getConnection
Instance now has a connect method which handles the callback timeout

Todo:

[x] Move all connection logic from /Users/barry/Repos/vscode-ibmi/src/webviews/login/index.ts to separate UI and backend logic.
[x] Stop using instance.setConnection in IBMi#connect.
[x] Instead of login.ts creating a new instance of IBMi, create call instance.connect(...) which manages the new connection

I am not looking for a code review. Reviewers, please just focus on ensuring the UI/UX experience is not different.

All but one test case (the tab one as always) is passing. Seems like UX is not hindered by this change. I did additional user testing on:

Cancelling during the connect process ✅
Timeout during the connect process ✅

@SanjulaGanepola Items 1, 2 and 3 have been fixed. Please have another go while I run the test cases again.

@SanjulaGanepola I looked at number 4 but I am not able to recreate. Do you have more detailed steps I could try?

1/2/3 - Good now
4 - The issue is reproducible if you are able to get it to set the working directory to either a path that does not exists or if you set it to a path to a file. To get it to be a path that does not exist, use the IBM i: Change Working Directory from the command palette and enter some wrong path. It sets it even though it fails (first screen cap below). To get it to be a path to a file, click on a stream file in the IFS Browser and click Change Working Directory on the view/title of the IFS Browser which gives a similar error (second screen cap below). In both cases, then using the IFS Browser to expand folders and do other stuff is broken because the working directory is invalid.

5 - Open a source member. Breadcrumb navigation when clicking on a library or object seems to be broken. Seems to work fine in the IFS.
6 - NL string issue when using IBM i: Search Source File from the command palette:

@SanjulaGanepola checked 5 and 6. Same issues on master, so I wouldn't consider them as part of this PR.

Regarding 4, it's the same issue on master - and I think this has been an issue for sometime.

Your right, all of them are indeed on master 😅. In that case, I didn't find any UI issues with this PR.

@SanjulaGanepola
A newer, smaller PR will be opened. This is a mess.


oh-my-zsh.sh:35: parse error near `elif'

After update I have this error:
$ zsh
~/.oh-my-zsh/oh-my-zsh.sh:35: parse error near `elif'

How can I resolve this?

me too...

@huang5556019 this is an error of the sublime plugin. See #4411 for the solution


JBPM-5233: Data source management

- Adds the data source managment modules to the kie-bom
- Adds some dependencies required by the data source management modules to the kie-parent

@manstis @csadilek
Hello Mike, Christian,
This is the data sources management PR related to droolsjbpm-build-boostrap. Would you mind take a look.
Thanks!!
Walter.

@csadilek properties added.

@wmedvede could you please also create PRs for IP BOM? It's fine to have them temporarily here, but longer we need to make sure they end-up in IP BOM and then we could remove the from here.

+1


Send RSM element when there are no replies

For item replies if there were no results then the RSM element wasn't being generated and sent. This fixes that problem. @mrflix will be happy.

Coverage decreased (-0.04%) to 76.59% when pulling 8462627acbf24d4a28ac8c33e141bc2092a52bda on lloydwatkin:rsm-replies into b7bf8f12601d747f58ec5038cda84ac38dde9713 on buddycloud:master.


some minor fixes

Do not show the description header if there is no description of an election
The serverOffset has to be initialized with 0 assuming that the servers time is equal with the clients time. This fixes the projector clock bug, that when the projector is loaded the clock shows 01:00 until the first autoupdate comes in.
Many users of OpenSlides find the caption '100%' in the pdf control irritating. Most users don't get, that this is a button but an indicator for the zoom. If one zooms in, it stays at 100% and he thinks that this is a bug. For that reason I changed the '100%' to the full screen icon also used by images.

Ok, successfully tested. Merge...


[Feature sheet] Show imported feature properties

@kdyson FYI

@coreyleamon We spoke earlier today. Following your suggestion to add an option the overflow menu and to show feature properties in a dialog instead of inline in the feature sheet.
See also #793.


chore: bdd-sbrp-import-1582903374 to 0.0.1

chore: Promote bdd-sbrp-import-1582903374 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Implement the ability to register AENS name

closes #465
Depends on: https://github.com/aeternity/aepp-sdk-js/pull/523
Relates issues:
https://github.com/aeternity/aepp-middleware/issues/95
https://github.com/aeternity/aepp-middleware/issues/92


Issue syncing using Vercel Blob

When running "npx next-video sync," I get this message:
An unknown error occurred MuxError: The MUX_TOKEN_ID environment variable is missing or empty; either provide it, or instantiate the Mux client with a tokenId option, like new Mux({ tokenId: 'my tokenId' }).
Even though my next.config.js is:
const { withNextVideo } = require('next-video/process');

/** @type {import('next').NextConfig} */
const nextConfig = {};

module.exports = withNextVideo(nextConfig, {
  provider: 'vercel-blob',
});

Additionally, I had to downgrade from Next.js 14.0.3 to 14.0.1 for it to run. Also, when running "npx next-video init", I get this message: "Failed to load next.config.js."

thanks for the feedback!
are you on the latest version v0.9.1?
the Next.js downgrading is related to a bug on the Next.js side.
see here https://github.com/muxinc/next-video/issues/109#issuecomment-1836679432

are you still seeing any issues with the latest version?
we can't reproduce this so closing for now. let us know!

I just went through a setup from scratch. https://codesandbox.io/p/devbox/next-video-vercel-blob-h3n69k
could it be that the video json file in the /videos folder still has the provider set to mux.
it could happen if you first imported a video without having set the provider in next.config.js
change that to vercel-blob, set the BLOB_READ_WRITE_TOKEN of Vercel and then npx next-video sync should work


Not Really An Issue - Just A Question

To create an IOCA image from the snippet, how does a person get the *.dat data from an existing TIF file?  I tried JAI but the raw raster looks way too big.  Curious how you did it. thanks!

So a couple of thoughts here:

see #20
Using ImageMagick you can convert to CMYK (if not done already) and separate and uncompress the planes:

convert input.tif -colorspace CMYK -separate separate_CMYK_%d.dat

JAI should be able to do the same
uncompressed (printable) image data indeed is big
you may use e.g. LZW to compress the data before embedding (use the appropriate ImageEncodingCOMPRID flag to indicate which compression you used).
although it might be big the snippet should work (it will split the data in 30kB chunks)

#20

Awesome, you rock!  Thanks for the reply, cannot wait to try it.

I was able to separate the TIF using imagemagick, which was awesome.  However, I couldn't add these properly to the  AFP file, the output was garbled.
I tried using ImageEncodingCOMPRID.CONST_TIFFLZW_VALUE and uncompressed with no luck.  Uncompressed was like color static, TIFFLZW was a solid color (black or white, I cannot remember).
Feeling stuck!  Willing to trade beer or coffee for help ;-)

Ok I‘ll go for the beer then :) Let me see if I find some time over the weekend to look at this. In the meantime:

Did you get the snippet working successfully?
If so, I believe there is the source png somewhere in the repository that I used to create the separate planes using ImageMagick. If you use the command above on that source png is the outcome still working with the snippet? So that we verify the command actually does produce the right type of data.
I would try working with uncompressed data first. And then maybe try jpeg next as this is immediately useable in the IOCA. JPEG might be ok for pictures ...

Beer it is!  But you will have to buy it, too expensive to ship!  LMK how i can say 'thanks' with paypal or patreon or something, much appreciated!.
The snippet works perfect with your.dat files, just not mine.  I will hunt down that png and give it a shot.
The input has to be CMYK tiffs for this project, but its a good idea to try other formats and taste a little success.
Thanks!

Ok I‘ll go for the beer then :) Let me see if I find some time over the weekend to look at this. In the meantime:

Did you get the snippet working successfully?
If so, I believe there is the source png somewhere in the repository that I used to create the separate planes using ImageMagick. If you use the command above on that source png is the outcome still working with the snippet? So that we verify the command actually does produce the right type of data.
I would try working with uncompressed data first. And then maybe try jpeg next as this is immediately useable in the IOCA. JPEG might be ok for pictures ...

Good stuff!
I tried the png in the repository with the command above, it generates 4 .dat files, good!
However, the.dat files are far different than the ones in the repository.   The ones in the repo are very raw and uncompressed looking, the freshly generated ones are just PNG files one per separation.
So I am thinking I need to tell IM to generate something else.  I ran identify -list and got a huge list of formats, and even tried a few like CMYK, but no dice.

Looks like the convert command was wrong ... my apologies for that. This should work:
convert img_800x480_3x8bit_RGB_color_bars_CMYKWRGB.png -colorspace cmyk -separate img_800x480_3x8bit_RGB_color_bars_CMYKWRGB_%d.gray

As for the compression this ought to work as well:
convert img_800x480_3x8bit_RGB_color_bars_CMYKWRGB.png -colorspace cmyk -separate img_800x480_3x8bit_RGB_color_bars_CMYKWRGB_%d.jpeg

If you want to go for lzw you'd need some additional processing as IOCA does not expect the tiff header to be present which you would get when exporting tiff using imagemagick. To remove the header should be doable though as tiff is well documented.
Regarding the beer - I'll collect the debt when I am in Portland :)


⚠ SceneTime has degraded performance

In a20147c, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1046 ms

Resolved: SceneTime performance has improved in 517e833 after 6 minutes.


fix single-quote escapes

Wow that was a quick merge! Sorry: when I recopied the code back into my text editor to match your formatting I nuked some important escape characters. You'll want these back in there.

Already re-added them. 😄
Currently trying to get Travis to start the test suite successfully.


Locks and garage report proper status on startup, but report the wrong status "Unlocking..." after ~1 min

Info:
OS: Raspbian GNU/Linux Buster (10) (Ready made image)
Homebridge Version: v1.1.6
Node.js Version: v14.15.0
Npm Version: v6.14.8
homebridge-node-alarm-dot-com Version:  v1.6.5
Alarm.com Company: CPI Security

Console Errors:
[08/11/2020, 18:24:53] [Security System] Updating light Garage Door (97124791-1201), state=1, prev=0
[08/11/2020, 18:24:53] [Security System] TypeError: Cannot read property 'getCharacteristic' of undefined
    at ADCPlatform.statLightState (/usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:793:9)
    at /usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:299:20
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:294:27
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:265:22
    at processTicksAndRejections (internal/process/task_queues.js:93:5)```

Problem:

After I set up the plugin, all three of my door locks (Front Door, Back Door and Garage Door), and my garage door (overhead door) show up in the Home app.  I can operate them from the app.  About a minute in I get errors like above and all of the accessories start going into an "unlocking" state.  Additionally, the Garage door shows as open.  If I restart the server it goes back to normal but goes bad after a minute.
The state change mentioned in the logs above never happened, I did not open or close the garage.
the getCharactoristic was just included to show the errors around this.  I think this is just related to the fact that I don't have any switches on my system, but I could be wrong.
I have gone through removing cache (with homebridge stopped), uninstalling and reinstalling the plugin, ignoring certain devices but to no avail.

Searched issues and I did not immediately find one that was identical to this.  Wondering if I could get an assist on this in your spare time.  My coding skills outside of Python are poor, so not exactly sure where to look.  Any help would be appreciated.

Hi,  Your issue looks similar to closed issue #47 which I believe was caused by an incorrect setup on the alarm.com/installer side? I believe in that case the garage door was setup as an door lock?   In your case plugin seems to have your garage door as light which is causing the TypeError.    Did you read through the thread on #47?

Hi,  Your issue looks similar to closed issue #47 which I believe was caused by an incorrect setup on the alarm.com/installer side? I believe in that case the garage door was setup as an door lock?   In your case plugin seems to have your garage door as light which is causing the TypeError.    Did you read through the thread on #47?

I did look through this. In my case even the regular door locks report in the logs with the word light. I just posted the one to show the error.
I guess I am at a loss as to what to do at this point. Is it suggested to call them and have them "fix" my config?

Looking at the data in The ADC cache file it appears that they shifted everything up one. Sensor class has proper dictionaries, lights should have none but has my locks, locks should have my locks but had my garage overhead door, garage should have my overhead door but has nothing. Awaiting a call back from their tech support to work through rectifying this. I just hope I get someone who understands the back end. I will report back what they had to do in hopes this will also help someone else who's provider messed things up.

Hmm. Perhaps try seeing how Paul in the previous issue was able to resolve with his provider/installer. As Mike mentioned, the only way to resolve this would be to rewrite the parser which is beyond my ability and time constraints these days.
I am curious if you had this plugin working correctly before the garage door implementation or are new to it and this was the initial behavior?

Background.  I am new to this project and have not run the previous code without the garage doors.  I will attempt that now to see if things start working.
I have tried to work through CPI and the partner tech support at Alarm.com.  Both of them went over my data and said everything was in the proper place on their side.  I explained what was happening and they could not cooperate what I saw.
I am attaching my zipped up ADC-SystemStates.json.  From it you can see that everything appears to be shifted up one:
Locks are in Lights
Garages are in Locks
And the Garages section is empty.
I wonder if:
https://www.alarm.com/web/api/devices/lights/ returns locks
https://www.alarm.com/web/api/devices/locks/ returns garages
https://www.alarm.com/web/api/devices/garageDoors/ returns nothing []
Would you happen to have an easy way with curl or something else to hit these urls so I can test them and see what they are returning?  I am not very familiar with the language that was used in this project so it would take me a long while to break down how that works so I could test.
In the mean time I will reach out to the other user to see if they resolved this through their provider.  Thank you for your time!
ADC-SystemStates.json.zip

I started to trace out te calls with wrapapi and all of my lock calls come in with https://www.alarm.com/web/api/devices/locks/  and garageDoor calls come in with https://www.alarm.com/web/api/devices/garageDoors/ so at this point I am really not sure where the issue lies.

Update: I locally modified the code for homebridge-node-alarm-dot-com as well as the module code in node-alarm-dot-com and was able to fix this issue for CPI.  Based on the opinion and permission these repo owners, I can fork this into a different project variant for CPI security.

William,
Would you be able to push your code to a fork for me to review? As far as I know, no partner should have a layout different in such a way where it’s not comparable entirely.
Chase Lau
Please excuse any grammatical errors as this was sent from my iPhone.

On Nov 14, 2020, at 8:59 PM, William Clark<EMAIL_ADDRESS>wrote:

Update: I locally modified the code for homebridge-node-alarm-dot-com as well as the module code in node-alarm-dot-com and was able to fix this issue for CPI. Based on the opinion and permission these repo owners, I can fork this into a different project variant for CPI security.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

William,
Would you be able to push your code to a fork for me to review? As far as I know, no partner should have a layout different in such a way where it’s not comparable entirely.
Chase Lau

I will commit those changes to a fork this morning. The issue I found is that the code for both the plug-in and associated module expects data to return in the following order:

Partitions
Sensors
Lights
Locks
Garages

CPI (var of Alarm.com) presents data in this order:

Partitions
Sensors
Locks
Garages
Lights

The temp fix was to reorder those. A more permanent fix would be to detect the order of major devices and work accordingly. This would actually fix this for all of the other people whose Alarm.com vars present data out of order.

Please see my forks as requested:
node-alarm-dot-com
https://github.com/majorgearhead/node-alarm-dot-com/commit/4ea852c9a6dfa7a029151d60f8ad8b2a9e6044e1#diff-e727e4bdf3657fd1d798edcd6b099d6e092f8573cba266154583a746bba0f346
homebridge-node-alarm-dot-com
https://github.com/majorgearhead/homebridge-node-alarm-dot-com/commit/def5e64a13fb6854f9d92cb2d5707313bcbd541c#diff-e727e4bdf3657fd1d798edcd6b099d6e092f8573cba266154583a746bba0f346

This is very interesting.  I'm wondering if the order has to do with the order they were added to ADC? I believe but I can't be certain that the original order was the order we added the different device types to our system.

I'm hoping to have some more time to look at this today, but right away I notice homebridge-node-alarm-dot-com/index.ts (I'm working in the typescript branch) line 161:
let realDeviceType = deviceType.split('/')[1];
This is one of the only places where the system object is referred to by index. Perhaps somehow you having a different order is causing trouble here? In the alarm.com tech portal I only see objects having IDs for Z-Wave, so I'm not sure why another provider would have a different order. This seems to me like a oddity with alarm.com themselves.
I also remember a while back there was a code issue with lights and locks being switched. Sounds dumb, but make sure you're not running out of date code anywhere.

I haven't been using this plugin for the past few months, but I've uninstalled and re-added it to my setup. I'm having similar problems (garage says it's open, but it's not really, and the constant doors "unlocking"). I'm running homebridge-node-alarm-dot-com v1.6.5 and my alarm.com company is Brinks. I'm running this on a HOOBS box (HOOBS Core v3.2.10).

After updating Node.JS to version 14.15.1 yesterday is when the Garage Door began to display as opened though it’s not. I have noticed the “door unlocked” notifications prior to that Node.JS update but it was infrequent for me so didn’t think much of it.
On Nov 19, 2020, 5:20 AM -0500, wesbro<EMAIL_ADDRESS>wrote:

I haven't been using this plugin for the past few months, but I've uninstalled and re-added it to my setup. I'm having similar problems (garage says it's open, but it's not really, and the constant doors "unlocking"). I'm running homebridge-node-alarm-dot-com v1.6.5 and my alarm.com company is Brinks. I'm running this on a HOOBS box (HOOBS Core v3.2.10).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I'm hoping to have some more time to look at this today, but right away I notice homebridge-node-alarm-dot-com/index.ts (I'm working in the typescript branch) line 161:
let realDeviceType = deviceType.split('/')[1];
This is one of the only places where the system object is referred to by index. Perhaps somehow you having a different order is causing trouble here? In the alarm.com tech portal I only see objects having IDs for Z-Wave, so I'm not sure why another provider would have a different order. This seems to me like a oddity with alarm.com themselves.
I also remember a while back there was a code issue with lights and locks being switched. Sounds dumb, but make sure you're not running out of date code anywhere.

I am running the very latest code.  That let realDeviceTypes looks like it deals with the actual device types that are passed.  At issue is that CPI and other VAR's seem to be passing groups of these in an order different from what this code expects.  Like I said before, was able to fix this issue by just doing the reorder found in my fork above.  This looks like it could be a solution for others who have complained of the same thing like garage-door reporting open when it is closed.
The real solution would be to refactor to not expect a static order, but dynamic based on the deviceType.
For now I am happily running my fork of the code and it has worked perfectly since making the change.

I'm still very confused by that's going on here. The only thing I can think of is that because the system state is returned into an array, if you're missing one of those device types, that's where the shift could happen? I'm thinking about changing some of the primitives into objects and seeing if not using indexing will fix the problem.

@majorgearhead There have been some changes to how we retrieve objects, which have been merged since this issue was opened. Could you tell me if you're still experiencing this issue when running the latest version of the plugin?

@majorgearhead There have been some changes to how we retrieve objects, which have been merged since this issue was opened. Could you tell me if you're still experiencing this issue when running the latest version of the plugin?

The problem is not fixed and still gives the same error messages.  I am now restoring from backup to back back to my working config.  The issue has always been with the hardcoding of accessory order.  Accessories need to be dynamically pulled in based on what they are not perceived order they will come in.

Unfortunately, I did not have a viable backup, and even installing the old plugin will pull in the new module which breaks with this error.  I am dead in the water now until I find a way to hack things up to get this working.
    at getPartitionState (/usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:1291:32)
    at ADCPlatform.statPartitionState (/usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:435:19)
    at /usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:273:20
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:268:31
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/homebridge-node-alarm-dot-com/index.js:265:22
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)```

I hacked things up to get it working again.  I had to do exactly what I did before, moving lights stanzas after garages wherever they both appeared in:
/usr/local/lib/node_modules/homebridge-node-alarm-dot-com/dist/index.js
/usr/local/lib/node_modules/homebridge-node-alarm-dot-com/node_modules/node-alarm-dot-com/dist/index.js
diff's to follow shortly...

Hi @majorgearhead. Version 1.8.0 has been released with code that should fix the issue with devices getting mixed up. I know it's been a while, but if you're still around, could you test and close this issue if it's no longer present? Thank you!

I sure can. I have a little other work to do tonight but would be happy to test and report back. Thanks for making the change.

This did fix the issue I reported.  All doors and windows now show up properly without me having to make modifications to the code.
Thank you!


Docs.MS CI Updates for Azure.Messaging.EventGrid

CI Update for release of Azure.Messaging.EventGrid

Docs Build status updates of commit 4e2f303:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

bundlepackages/azure-dotnet-preview.csv
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 556457a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

bundlepackages/azure-dotnet-preview.csv
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Coalesce If nodes with the same key.

It's quite easy to produce chains of If of the same key using switch. The dot output is not very nice in this case. It should be possible to coalesce those ifs together again in the graph (and encode the then/else choices in the edges).

It tooks me 3 hours instead of one, but it's done.


option to use processes

ProcessPoolExecutor option in ragged_array (Discussed in #180).

There is some limitation with the Processes. The function can not be defined in the same scope.
For example this would not work:
def local_mean(x):
   return np.mean(x)

apply_ragged(local_mean, ds.lon.values, ds.rowsize.values, use_threads=False)

but if the function is defined in another module, you can use processes.
apply_ragged(np.mean, ds.lon.values, ds.rowsize.values, use_threads=False)

By default, I guess we can leave threads, but I think it's a good option to have for I/O bound tasks.

I haven't tested it just yet, but it should be possible to pass a dask.distributed.Client() to apply_ragged instead and use it as an executor.

I'd like to follow but I am not. Could you summarize this PR in non technical terms? And provide an example with the GDP as an example?

process: use a defined memory space
threads: run inside one process, so they share the memory

Because of this and some design decisions of Python, only one thread is executed at a time. So threads can be helpful in some cases, where for example when there is a lot of waiting involved (reading from files, request from website, etc.). When each thread must perform intensive CPU calculations, this is not efficient and will most likely be longer than running on a single thread.
So on the other hand, processes have a larger overhead, so they require more time to create, but they are efficient to perform parallel calculations. Problem is that we don't have functions that take a LONG time so the results are not that interesting.
But for example with position_from_velocity:
u, v = apply_ragged(
    position_from_velocity,
    [ds.ve, ds.vn, ds.time],
    ds.rowsize,
    0,
    0,
    coord_system="cartesian",
    integration_scheme="centered",
    use_threads=False,
)

you can see that it working in parallel on my computer.

So with the PR apply_ragged uses Processes. And before it used only Threads, is this correct? Still don't get it but I trust you it is better!

This PR adds a parameter (use_threads: bool = True) that you can set to True/False to use either threads or processes.

Maybe @milancurcic can explain it better; sorry for the poor explanation.

Thanks for this PR. It seems like a straightforward change.
Rather than having a use_threads: bool = True, what do you think about having the user pass the executor that they want to use? The argument for this is that use_threads = False means that we won't use threads, but it does not imply that we will use processes instead. So I suggest:
def apply_ragged(
    func: callable,
    arrays: list[np.ndarray],
    rowsize: list[int],
    *args: tuple,
    executor: Executor = ThreaPoolExecutor,
    max_workers: int = None,
    **kwargs: dict,
) -> Union[tuple[np.ndarray], np.ndarray]:

Then, if we find an executor that works as a drop-in replacement, perhaps from Dask or somewhere else, then the user can already use it as is rather than ask us to change the function.
@selipot I'll take some time to review and test this, please don't rush to merge this in the middle of the meeting.

It isn't my style to rush anything 😝

Actually much better. And yes, the dask executor should work that way easily.

It might actually be better to pass directly: Executor = ThreaPoolExecutor(max_workers=None). That way, we can also pass a dask.Client(), which follows the same API and can perform client.submit().

Let me know what you think @milancurcic.

We need concrete example in the doc or in clouddrift-example with the GDP datasets for this. I for example don;t know how to get started with this.


reinstall: don't build bottles unnecessarily.

Apply the same changes from #6066.
Also apply the same logics from brew upgrade to preserve
installed_as_dependency/installed_on_request settings
when reinstalling formulae.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Thanks again @xu-cheng!


Port to embedded-hal 1.0.0-rc.1

This updates the rppal to embedded-hal 1.0.0-rc.1.
That is currently the latest released version. (This version is also implemented by esp-idf-hal. Which is good for portability of drivers between rppal and esp)
I tested SPI and I2C communication with rppal on a Raspi 2 with an adxl345 device.
Note:
embedded-hal now suggests to implement the embedded-io traits for uart.
See https://docs.rs/embedded-hal/1.0.0-rc.1/embedded_hal/index.html#serialuart-traits
This is not done with this PR, yet. That can be done later, if required.

Thanks for this PR! I don't do a lot with embedded-hal myself, so I appreciate these PRs. Looking forward to the 1.0.0 release!


[bug]: invoke.py script runs while using PyTorch compiled for CPU, but not with PyTorch compiled with CUDA enabled

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
4GB
What happened?
I manually install Invoke AI using pip. The requirements for my system [Windows with an NVIDA (CUDA) GPU] include the PyTorch package compiled with CUDA enabled, i.e. torch==1.12.1+cu116. The requirements are installed successfully, and all subsequent steps are followed without issue.
While launching the invoke.py script, during initialization, I run into this message:
** model stable-diffusion-1.5 could not be loaded: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 4.00 GiB total capacity; 3.39 GiB already allocated; 0 bytes free; 3.45 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

The issue is similar to many on here raised by people using CUDA enabled 4GB GPU's - GTX 1650 or comparable - especially to issue #1208 . In that case the user is able to start invoke.py and the issue arises while attempting to generate images, with me the issue arises upon initialization. That is the only difference. The response to that issue is that a 4GB VRAM isn't sufficient. But here's the peculiar thing:
On my first attempt at setting up Invoke AI, I ran into issue #1409 , where PyTorch wasn't being installed during installation of requirements from requirements.txt. I had to preinstall PyTorch before I installed the other requirements. Here, I made a mistake. Instead of installing the PyTorch version that had been compiled with CUDA enabled as @addianto had mentioned here, I installed torch==1.12.1, the CPU version of PyTorch. The funny thing is, Invoke AI worked, despite me being on a system with only 8GB RAM.
I could generate images, but with each iteration taking ~10s, the entire process took over 500s. While looking for ways to speed up the process, I noticed that the 'device_type' is mentioned as 'cpu' during initialization, which is when I noticed my mistake of installing the wrong version of PyTorch. I created a fresh install with care taken to install the appropriate version of PyTorch hoping to speed up the process, but alas, I am unable to even load to script despite the additional benefit of having a CUDA enabled 4GB GPU.
I'd imagine that if the process can run without taking advantage of the GPU, it should be faster when provided the additional horsepower. But not only is it not faster, but the script doesn't load. I'm not sure why that is the case.
Also, AFAIK there are no other processes that are making use of the GPU. I have attached a screenshot for reference. I am not too experienced with the things that happen under the hood, so apologies if I have not provided sufficient/accurate information. If required, I will provide any additional information that may be needed.
The environment is similar to @jdries3 's from issue #1208, except that I did a pip install with Python 3.10.8.
Screenshots
These are the results of the nvidia-smi command run while Invoke AI generates images in another PowerShell process:

Additional context
No response
Contact Details
No response

Hi, sorry for the late response.
What GPU do you have? Some, like the 1650, do not support fp16 operations (which reduce the VRAM needed) and are forced to run at full fp32. I wonder if that is the issue.

What GPU do you have? Some, like the 1650, do not support fp16 operations (which reduce the VRAM needed) and are forced to run at full fp32. I wonder if that is the issue.

Hi. Yes, my GPU is a GTX 1650. I had tried to run the script earlier with fp16, and the script loaded fine and generated images. But the output were just blank black images. So yes, I am having to run of full fp32.
But the issue that I have is mainly that I'm able to load the script without issue and also generate images if I install the torch package for CPU instead of the one compiled for CUDA 11.6. In that case, while I run invoke.py to generate images there is 0% usage of GPU, yet I am able to generate images. Each iteration takes close to 10s for a single output, which means that each image generation takes ~500s. But I'm at least able to get the script to work. I'm wondering... if it is possible to generate images without taking advantage of the GPU, then with the addition of that processing capacity the generation needs to happen faster, right..?

@wpramos Fp32 needs more VRAM, but at 4GB you won't be able to load the models and/or generate images - so fp32 won't work. But fp16 also does not work on your card. So unfortunately, with the GTX 1650, your only option is to use CPU.
It's possible that other projects (e.g. Automatic1111) have memory optimizations that will help - have you tried that implementation?
Hopefully in the future we can introduce additional VRAM optimizations but we aren't quite there yet, sorry.

@psychedelicious Is it possible to reduce VRAM consumption by installing xformers as part of InvokeAI's installation process?

@addianto

@psychedelicious Is it possible to reduce VRAM consumption by installing xformers as part of InvokeAI's installation process?

I don't think we have really looked into it just yet. I believe it is CUDA only, while we try to support all systems. Of course we are aware of it and want to provide it for CUDA users though.

@psychedelicious Going by what you've said, it is expected behavior that the script is able to run on only CPU. I didn't realize that. I thought this is some odd behavior that the script is able to run and generate images without utilizing the GPU. If that's so, then I guess this isn't an issue at all.
Thank you for your response. Yeah, I've given basujindal's optimized script a go and I have been able to run that with GPU. I do hope optimizations come the way of Invoke AI too. I like the CLI environment offered here without the need to load the model multiple times.


It's not deleting anymore messages when there is a lot more

everytime I try to delete messages it says Ended because API returned an empty page how do i fix this

i'm having the same issue only just recently, it was working fine before today (dec 14th 2020)

i noticed the discord channel link now has an additional set of numbers added to the original link, i dont know if thats relevant to this issue, but it's the only difference i could spot.

Okay i think i figured out a way to fix it, scroll up the last message it stopped at and just copy the message ID then paste that for the range and it'll start working again, at least for my case.

This is happening with me, I deleted 2k of 4k messages and the log posted below:
"Ended because API returned an empty page"

Im also getting the same exact results, any way of fixing this or do we have to manually go back to deleting everything very slowly?

Im also getting the same exact results, any way of fixing this or do we have to manually go back to deleting everything very slowly?

scroll up to the last message it stopped deleting at, copy the message ID and paste it in the before range and then hit start.


Semi circle progress

How to show a semi-circle instead of a full circle?

This library only allows 0-100% in a circle shape.
If you want to mimic a semi-circle you can disable the background, add 50% to have half circle completed and then change the startingAngle to position the "semi-circle". If you want a 0-100% logic in a semi-circle shape you'll have to map the values from [0-100] into a range of [0-50].


add coinbase wallet-adapter

Summary
This PR adds a wallet adapter for Coinbase Wallet.  Solana is supported in Coinbase Wallet browser extension v.2.20 and higher.
Testing

Ensure you have Coinbase Wallet browser extension v.2.20 or higher installed
Enable Experiment Mode from advanced settings. Go to Settings > Advanced Settings > Developer Mode
Add CoinbaseWalletAdapter to your dapps supported wallets in WalletProvider
Interact with the dapp using Coinbase Wallet

I also want to note, that while the medium-term goal is to move away from requiring adapters for every wallet, I want to respect the time you took to create this adapter, and review it now.
Once a new standard is introduced, let's work together to migrate away from dependency on using an adapter.

Published! https://twitter.com/jordaaash/status/1541927694786600961

@brianchitester is currently possible to choose the Solana network in the Coinbase wallet? I've just installed following your instructions, I can connect but I can not choose the Solana network and make any transaction. Thanks!

@brianchitester sure, here down below the available networks.
|---|---|---|---|
|
||||
There is no way to work on Solana Devnet?

@brianchitester Hi 👋 , I am wondering when the Solana network is available. I cannot find the option from the extension

@mayoyml I was testing the wallet too and the only way to have solana working is transferring money to the wallet (at least on mainnet). But you are right, it is pretty strange that Solana is not visible there yet. Even there is no change to add DevNet or TestNet for development purpose.
@brianchitester any updates regarding this? Thanks!

@silvestrevivo @mayoyml Dev/testnet is not yet available in the extension but the team is working on it for future release. I will keep you posted. For mainnet you may need to enable experiment mode under advanced settings depending on your extension version. Thank you for your patience as we roll out full Solana support.

@brianchitester Thanks for the reply! Cannot wait to support the Solana feature!

@brianchitester thanks for the reply!!!


TODO

Required features

[ ] Create the user table and initial an admin user
[ ] RESTful API

[x] /api/v1/posts
[ ] /api/v1/users
[ ] /api/v1/settings

[x] Markdown(showdown)
[ ] Post editor
[ ] Basic site options(maybe stored in a ini/yml/conf/json file?)
[ ] The user can login via a web page(e.g. /admin), and logout or reset password
[ ] CRUD blog posts with Markdown
[ ] RSS and ATOM feeds.
[ ] Comments, maybe DISQUS?
[ ] Share to SNS button

Optional

[ ] Invite or add users
[ ] Login with GitHub/Twitter/Facebook OAuth
[ ] Travis CI
[ ] Heroku install button
[ ] docker image
[ ] Replace watchdog(Python) with watchman(C)

Build Command

[ ] Check commands used in Makefile existed (http://stackoverflow.com/a/13249595/3164091)
[ ] initdb for different platforms

这个项目十分的有意义，但是我刚学习Swift。可能帮不到什么忙，不过我想先自己研究研究看看。 :]


ballerina: init at 2201.1.0

Description of changes

Ballerina is a programming language specialized for developing network services and data integration.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 181319 run on x86_64-linux 1

1 package built:

ballerina


Shredding an Image

Shredding an image before deleting it, to make recovery impossible. This is requied when we flush the original image after encryption.

https://askubuntu.com/questions/94626/what-is-the-best-file-shredder-to-remove-files-from-my-system
http://extundelete.sourceforge.net/