"Run All Failed" button disappears when in a multiroot workspace

Extension version: 2019.3.5917-rc
Using pytest

Bug

Weird thing is that when I closed the first folder and added it again (as the second one), it worked normally

Not happening anymore.


Upgrade to intervention/image 3

This PR will drop support for PHP 7.4 and 8.0, but will allow installation of intervention/image v3. Because there will be breaking changes I propose this for Glide v3.
Refs #288.
Closes #377, #378, closes #379.

Brief interim report

Encoding can no longer be implemented as a manipulator, so I have moved the function to Api::run().
interlace() and progressive jpeg are not supported anymore

Todo:

orientate() was removed, but could be replaced by code from @konnng-dev
rectangle() must be replaced with drawRectangle()

So, this is the current situation:

[ ] Encoding: @konnng-dev has found a solution to keep Encoding implemented as a manipulator, see https://github.com/Art4/glide/pull/1
[ ] interlace() and progressive jpeg: @konnng-dev has ported this functions into the Encode manipulator, see https://github.com/Art4/glide/pull/1
[ ] orientate(): @konnng-dev has implemented this functions into the Orientation manipulator, see https://github.com/Art4/glide/pull/1
[x] rectangle(): has been replaced with drawRectangle(), but needs more checks and bug fixes

I will finish these points and fix the tests and psalm errors to finalize this first PR.
Todo for separate PRs:

[ ] Check if I ported the size() feature correctly to scale()
[ ] more checks and bug fixes for border=shrink and expand

Since this useful helper was removed from the official intervention v3, I wonder what we could do for this refactor to make sure it will behave as the previous version. Specially w/ fit parameter https://glide.thephpleague.com/1.0/api/size/#fit-fit

We could also consider changing Glide's API/options as per changes to Image, if trying to retain existing options is too problematic.

For e.g. I quite like the new "cover", "contain" naming in Image as they corelate to similar behavior in CSS.

I'm nearly done with fixing all tests, but are struggling with Mockery on this last test.
See https://github.com/Art4/glide/actions/runs/7656671526/job/20865541487
Code: https://github.com/thephpleague/glide/blob/66ad315c190fd583e2b97206d9e87f6d056b9fac/src/Manipulators/Border.php#L141-L154
Tests: https://github.com/thephpleague/glide/blob/66ad315c190fd583e2b97206d9e87f6d056b9fac/tests/Manipulators/BorderTest.php#L92-L106
Error: 1) League\Glide\Manipulators\BorderTest::testRunOverlay Mockery\Exception\InvalidCountException: Method width(<Any Arguments>) from Mockery_1_IteratorAggregate_Intervention_Image_Interfaces_ImageInterface should be called  exactly 1 times but called 0 times.
Could someone help me why the provided closure is not called?

@Art4 Since the drawRectangle() which uses the closure is mocked the closure would never actually be used/run.

@Art4 I just have one objection with the current strategy to encode the image.
It seems the Encode Manipulator was commented out from ServerFactory::getManipulators() and moved to Api::run. I can see the reason why it was made.
But I still think that the Encode Manipulator is still vital for this and my suggestion is to keep that, unless @ADmad  has a different opinion.
I managed to fix the Encoded Manipulator on my branch and I was able to test it on production properly after the changes I did here https://github.com/Art4/glide/pull/2. Would you mind to check it again?

@konnng-dev Yes we should keep the encode manipulator since you have managed to fix it.

It seems the Encode Manipulator was commented out from ServerFactory::getManipulators() and moved to Api::run. I can see the reason why it was made.

Good catch. I've uncommented this, so Encode Manipulator is used again.

But I still think that the Encode Manipulator is still vital for this and my suggestion is to keep that, unless @ADmad has a different opinion.
I managed to fix the Encoded Manipulator on my branch and I was able to test it on production properly after the changes I did here Art4#2. Would you mind to check it again?

I would recommend to create a separate PR in this main repo about this issue, instead in my private repo, to keep the version history and discussions in this repo.

I still have to do a more thorough review of the PR but I am going to merge it so that @konnng-dev can submit his changes on top.
Thanks guys for all your work. Please start trying out the 3.x branch as due to the nature of this lib passing tests are no guarantee that the images generated are what we expect 😄.


improvement: exclude star from state_machine_all_states/1 to avoid inclusion in add_attribute builder

Star was being included as part of the add_attribute builder causing some compilation issues with absinthe
== Compilation error in file lib/coinbits/resources/schema.ex ==
** (Absinthe.Schema.Error) Compilation failed:
---------------------------------------

Enum value name "*" has invalid characters.

Name does not match possible ~r/^[_A-Za-z][_0-9A-Za-z]*$/ regex.

> Names in GraphQL are limited to this ASCII subset of possible characters to
> support interoperation with as many other systems as possible.

Contributor checklist

[X] Bug fixes include regression tests
[X] Features include unit/acceptance tests

🚀 Thank you for your contribution! 🚀


Fix endpoint for appliance backup upload

Description
The endpoint for Backup.upload() method is changed from /rest/backups to /rest/backups/archive
Issues Resolved
#21
Check List

[ ] New functionality includes testing.

[x] All tests pass for Python 2.7+ & 3.4+($ tox).

[ ] New functionality has been documented in the README if applicable.

[ ] New functionality has been thoroughly documented in the examples (please include helpful comments).
[ ] New endpoints supported are updated in the endpoints-support.md file.

[ ] Changes are documented in the CHANGELOG.

the backup.py file is using ResourceClient as base class whereas as in new oneview-python SDK, we have refactored most of the the resource files to use Resource as base class.
So please refactor this resource file and modify the unit tests accordingly. Also modify example file using https://github.com/HewlettPackard/oneview-python/blob/master/CHANGELOG.md#breaking
It should import from Resource class. Please refer to latest code changes: https://github.com/HewlettPackard/oneview-python/blob/master/CHANGELOG.md#major-changes

Thanks @VenkateshRavula . At present, I wouldn't be able to heavy lift this change. I'll go ahead and close this PR and leave the issue in open state.


Question on loading the fine-tuned model

Hi team,
Thanks again for the previous answer! I ran the code torch.save(best_model.state_dict(), save_dir / "best_model.pt") and save the fine-tuned model, I wonder how to load the local model and continue the analysis? Do I still need the args.json and vocab.json file from the original model like those in whole_human ?

Hi @shenyeyouyi , did you find the solution to it? I noticed you closed the issue. You may follow standard PyTorch apis to load the model. I can provide you with more details if you still need

Thanks! I have solved the question, the output model in Tutorial_Perturbation can be used in Tutorial_Attention_GRN, and I guess the plot of top 20 prediction in Tutorial_Perturbation  is an evaluation of the fine-tuned model.


Update gulp-minify-css dependency

Minified css is different due to small things like 400ms being compressed to .4s.
Fixes #27

Thanks @M-Zuber!


Upgrade docusaurus, fix hideableSidebar

What does this PR fix/introduce?
upgrade docusaurus :package.lock.
Fix incompatibility in config file; hideableSidebar is moved.
Checklist
(Delete any that aren't relevant)

[ x] I ran the docs locally using yarn install and yarn run start.
[x ] All links (internal and external) have been verified.
[x ] All technical procedures have been tested (if you want help with this, mention it in Reviewers).

Reviewers
@andrzej-casper

@andrzej-casper Removed node update and related changes


[gym] Issues found after uploading build to iTunes Connect with legacy build api

New Issue Checklist

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

Issue Description
I uploaded build to iTunes Connect with legacy build api.
I got the email below from iTunes Connect.
Note using legacy build api with Xcode 8 GM:

Does not work with Swift 2.3 at least (I didn't try with Swift 3.0 projects).
Does not work with WatchKit Target.

It works without legacy build api.
Full Email from iTunes Connect

Dear developer,
We have discovered one or more issues with your recent delivery for "Player! - Enjoy Live Games". To process your delivery, the following issues must be corrected:
Invalid WatchKit Support - The expected app is missing from the app’s root location, such as ${expectedLocation}.
Invalid WatchKit Support - The WatchKitSupport2 folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
Once these issues have been corrected, you can then redeliver the corrected binary.
Regards,
The App Store team

Complete output when running fastlane, including the stack trace and command used
$ bundle exec fastlane beta

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
  desc "Submit a new Beta Build to Apple TestFlight"
  lane :beta do |options|
    match(type: "appstore", app_identifier: "#{APP_IDENTIFIER}", readonly: true)
    match(type: "appstore", app_identifier: "#{APP_IDENTIFIER}.NotificationService", readonly: true)
    match(type: "appstore", app_identifier: "#{APP_IDENTIFIER}.watchkitapp", readonly: true)
    match(type: "appstore", app_identifier: "#{APP_IDENTIFIER}.watchkitapp.watchkitextension", readonly: true)

    gym(
      workspace: WORKSPACE,
      scheme: SCHEME,
      toolchain: "com.apple.dt.toolchain.Swift_2_3",
      configuration: "Release",
      use_legacy_build_api: true
    )

    pilot(
      skip_submission: true,
      skip_waiting_for_build_processing: true
    )

    slack(
      message: "#{read_version} will be pre-released soon!"
    )
  end

Environment
fastlane version (run fastlane -v):
fastlane 1.104.0 72119273bda23dacc8b07abe67b407c9c48fd36b
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
Yes
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
No on CI.

@nafu Hope you are doing well! Thanks for submitting this. Do you think we need to update our error messaging around this? Do you think you'd be interested in submitting a PR? Thanks!

@TKBurner
Thanks for the comment.

Do you think we need to update our error messaging around this?

Yes. It's not good for fastlane users that they notice this kind of errors after uploading builds iTunes Connect.
If builds with legacy build api aren't accepted totally on iTunes Connect, failing the build make sense.

Do you think you'd be interested in submitting a PR?

Sure.

@nafu Awesome! I really appreciate it 👍 Hope you have a great day!

Not yet, but I think this is ignorable because Xcode 8.2 is the last release that will support Swift 2.3.
I'm gonna close this, thanks.

I'm still having this issue, is there not a workaround? I cannot build without the 'use_legacy_build_api' flag but I need watchkit support.

@brandonroeder Please don't use the legacy build API. If it doesn't work, please submit a new issue so we can help you resolve it 👍

@KrauseFx Will do!

I've been running to a similar issue through my email.... Everything builds fine and uploads fine. Until I get the following email message from Apple saying:
Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.
$ /usr/bin/xcodebuild -version
Xcode 8.2.1
Build version 8C1002

$ swift --version
Apple Swift version 3.0.2 (swiftlang-800.0.63 clang-8<IP_ADDRESS>)
Target: x86_64-apple-macosx10.9

Fastlane Env
🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.12.1

Ruby
2.2.4

Bundler?
false

Git
git version 2.10.1 (Apple Git-78)

Installation Source
/usr/local/lib/fastlane_lib/bundle/bin/fastlane

Host
Mac OS X 10.12.1 (16B2555)

Ruby Lib Dir
/usr/local/lib/fastlane_lib/bundle/lib

OpenSSL Version
OpenSSL 1.0.2g  1 Mar 2016

Is contained
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.2.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE
en_US.UTF-8
✅

fastlane files:
`./fastlane/Fastfile`
fastlane_version "2.3.0"

default_platform :ios

platform :ios do

  ############################## PRE ##############################

  before_all do

    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
    increment_build_number
    cocoapods

  end

  ######################### PUBLIC LANES ##########################

  desc "Runs all the tests"
  lane :test do
    scan
  end

  desc "Publish to TestFlight"
  private_lane :publish_testflight do
    # Generate a changelog with GIT since the last successful build in Jenkins
    changelog = sh("git log --graph --pretty=format:'%h -%d %s <%an>' --abbrev-commit #{ENV['GIT_PREVIOUS_SUCCESSFUL_COMMIT'] || 'HEAD^^^^^'}..HEAD")

    testflight(
      skip_waiting_for_build_processing: true,
      changelog: "Trying Testflight...",
    )

    # Send the app to Testflight
    pilot(
      changelog: "#{changelog.to_s}"
    )
  end

  desc "Publish to Crashlytics Beta"
  private_lane :publish_crashlytics do |values|

    emails = values[:test_email] ? values[:test_email]<EMAIL_ADDRESS># You can list more emails here
    groups = values[:test_email] ? nil : nil # You can define groups on the web and reference them here

    crashlytics(api_token: 'b20ca92d606bfcecb208cdf41ff30a6ff18d21fa',
             build_secret: '2599baab467c4e6650dd7bc8edb5c0f081b2b57b7ae45bb5cb6fa926765819cd',
                   emails: emails,
                   groups: groups,
                    notes: 'Distributed with fastlane. Export Method: ad-hoc... with match adhoc', # Check out the changelog_from_git_commits action
            notifications: true) # Should this distribution notify your testers via email?

  end

  desc "Publish to HockeyApp"
  private_lane :publish_hockeyapp do
    hockey(api_token: "497a19ad245e44dca899ee157adc0ee0")
  end

  desc "Publish to Appstore"
  private_lane :publish_appstore do |values|
    deliver(force: true)
  end

  lane :build do
    gym(scheme: "fastLaneFun2", workspace:"fastLaneFun2.xcworkspace",export_method:"adhoc") # Build your app - more options available
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do |values|
    match(type: "adhoc") # more information: https://codesigning.guide
    gym(
      clean: true,
      scheme: "fastLaneFun2",
      workspace: "fastLaneFun2.xcworkspace",
      export_method: "ad-hoc",
      configuration: "Release",
      use_legacy_build_api: true,
      # tool_chain: "3.0.2"
    ) # Build your app - more options available

    pilot(
      skip_submission: true,
      skip_waiting_for_build_processing: true,
      changelog: "Trying Testflight...",
      # skip_submissio: true,
    )

    # testflight(
    #   skip_waiting_for_build_processing: true,
    #   changelog: "Trying Testflight...")
    # )

    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

  desc "Deploy a new version to the App Store"
  lane :release do
    # match(type: "appstore")
    # snapshot
    gym(scheme: "fastLaneFun2") # Build your app - more options available
    deliver(force: true)
    # frameit
  end

  # You can define as many lanes as you want

  after_all do |lane|
    # This block is called, only if the executed lane was successful

    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end

# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://docs.fastlane.tools/actions

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer

`./fastlane/Appfile`
app_identifier "com.fastLaneFun2" # The bundle identifier of your app
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "64P9F2VDC8"  # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

fastlane
2.3.0
🚫 Update availaible

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

slack-notifier
1.5.1

i18n
0.7.0

json
1.8.1

thread_safe
0.3.5

tzinfo
1.2.2

minitest
5.4.3

activesupport
<IP_ADDRESS>

CFPropertyList
2.3.4

claide
1.0.1

colored
1.2

nanaimo
0.2.3

xcodeproj
1.4.2

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

unicode-display_width
1.1.2

terminal-table
1.7.3

plist
3.2.0

public_suffix
2.0.4

addressable
2.5.0

multipart-post
2.0.0

word_wrap
1.0.0

babosa
1.0.2

highline
1.7.8

commander
4.4.2

excon
0.54.0

faraday
0.10.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161129

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.0.1

gh_inspector
1.0.2

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.20

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.0

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.1.1

bundler
1.13.6

faraday_middleware
0.10.1

generated on: 2016-12-31

Fastfile

  before_all do

    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
    increment_build_number
    cocoapods

  end

desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do |values|
    match(type: "adhoc") # more information: https://codesigning.guide
    gym(
      clean: true,
      scheme: "fastLaneFun2",
      workspace: "fastLaneFun2.xcworkspace",
      export_method: "ad-hoc",
      configuration: "Release",
      use_legacy_build_api: true, ### Setting this to true is what made the error go away....
      # tool_chain: "3.0.2"
    ) # Build your app - more options available

    pilot(
      skip_submission: true,
      skip_waiting_for_build_processing: true,
      changelog: "Trying Testflight...",
      # skip_submissio: true,
    )

    # testflight(
    #   skip_waiting_for_build_processing: true,
    #   changelog: "Trying Testflight...")
    # )

    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

Was wondering if use_legacy_build_api: true, is supposed to be used this way.... Thanks!


Add kubectl client auth plugins

What issue type does this pull request address?
/kind enhancement
What is this pull request for? Which issues does it resolve?
Adds support for the different kubectl auth-provider plugins (for example OIDC). Without the plugins devspace fails with the following error during deployments (and other operations that require kubernetes access):
[fatal]  Unable to create new kubectl client: new client: No Auth Provider found for name "XXX"
This PR fixes this problem, as suggested by https://github.com/kubernetes/kops/pull/5513
Does this pull request has user-facing changes?
No
Does this pull request add new dependencies?
Yes, should be visible in the diff.
What else do we need to know?
The actual code change is only the added import in pkg/devspace/kubectl/client.go.

@FabianKramm done :slightly_smiling_face:


Add zstd as a built-in compression algorithm

Hello! I've been silently watching ASDF for a while now, in our search for a potential scientific data packaging format other than HDF5. I'm very impressed and convinced that ASDF is the one.
While looking into compression, I discovered zstd, and think it would be worthy to add it as a built-in compression algorithm, to complement lz4. zstd is the clear successor to lz4, written by the same author. The two are similar in their very high decompression speed, but zstd compresses faster at a given compression ratio, or compresses better at a given compression speed. Decompression speed is constant regardless of compression level.
In my own informal tests on a ~1GB 3D uint16 array, I find zstd at level 5 compresses in ~ 13 s and decompresses in ~ 3 s, with a compression ratio of 2.5. The closest I can get with lz4 is at "hi" compression level 9, which takes ~ 90 s to compress and ~ 2.5 s to decompress, with a compression ratio of 1.9. This is on a 7 year old i7-6600U laptop with 16 GB of RAM.
I know there have been a couple of mentions of zstd here in the issues/PRs, especially as a BOSC plugin. I tried setting it up as a plugin, but got stuck pretty quickly, and found it easier to simply add it as a built-in. The code is very analogous to the existing lz4, zlib and bz2 code. I also added a unit test, which seems to run successfully on my system (some other tests fail, esp YAML-related, but I think I may be missing some configuration settings or packages).
Please let me know how I can improve this. It would be great to see this state of the art compression algorithm built into ASDF!

@braingram I think I was just a bit naive about how much boilerplate would be required, and quickly lost patience :) But now that I see it implemented, it doesn't look so complicated.
Is there some criteria for deciding whether a compression algorithm should be an extension vs. built-in? Should lz4 perhaps be removed as a built-in and implemented as an extension instead?
Coincidentally, I noticed that the lz4 code was unnecessarily complex. The lz4 Python package now makes it very easy to compress data and decompress streamed data, but in the frame format instead of block format. This seems to speed up decompression noticeably, but unfortunately the two formats are incompatible. I've opened up #1571 as a place to consider this.

@mspacek Thanks for the quick reply and all the work you've put into this. I wrote a lot below in part to help collect my own thoughts.

@braingram I think I was just a bit naive about how much boilerplate would be required, and quickly lost patience :) But now that I see it implemented, it doesn't look so complicated.

Perhaps having an example extension that provides a custom Compressor would be helpful? I haven't quite thought this through but it might be possible to have an asdf-compressors package which provides zstd (and the lz4 frame you mentioned, maybe even roll in the blosc compression from 'abacusutils'). It should be possible to set up the package in a way where the algorithms are all optional to allow users to select which ones they want to support (pip install asdf-compressors[zstd] to just install the zstandard compressor). Hopefully it could be flexible enough to be useful but still simple enough to serve as an example for writing a custom Compressor.

Is there some criteria for deciding whether a compression algorithm should be an extension vs. built-in? Should lz4 perhaps be removed as a built-in and implemented as an extension instead?

There is no criteria that I'm aware of.
The standard only refers to zlib and bzp2: https://asdf-standard.readthedocs.io/en/1.0.3/file_layout.html#compression and I'm inclined to not add more compression algorithms to the core asdf library (to limit the dependencies and complexity) as long as the new algorithms can be supported by the extension system (if not than I'd prefer updating the extension system). I expect that this puts developers in a situation where it's easiest to include the custom Compressor in their larger tool (like with abacusutils) making the extension less useful for other users.
I don't believe compression is widely used (the largest ASDF user, STScI does not use any compression, which puts it lower on my list of priorities) and there are definite concerns about compression and 'archivablity' (as described in the ASDF paper). These concerns are more relaxed for extensions whereas files produced using only the asdf core should be as archival as possible.

Coincidentally, I noticed that the lz4 code was unnecessarily complex. The lz4 Python package now makes it very easy to compress data and decompress streamed data, but in the frame format instead of block format. This seems to speed up decompression noticeably, but unfortunately the two formats are incompatible. I've opened up #1571 as a place to consider this.

Thanks for pointing that out and opening the other PR!
If it sounds good to you. I propose that we plan to have zstd and lz4 frame in extensions (perhaps in an asdf-compressors package). Are these algorithms something you expect to need in the near term?

@braingram Indeed, I think an example extension including all the boilerplate files would be very useful. I wasn't sure if one already existed, and I didn't look very hard. I only looked at asdf/extension/_compressor.py and naively assumed that all I needed to do was copy and rename and edit it.
An asdf-compressors package definitely sounds good!
Given that only zlib and bz2 are part of the core standard, for clarity it would be nice if lz4 wasn't in the core library. Would it be feasible to move the current lz4 (block format) into an extension? My naive thoughts on backward compatibility make me think that wouldn't be a problem. For the next major release, the move to an extension could be pointed out as a kind of API change, and the docs could be changed from "for lz4 support, please install the lz4 package" to something like "please install the full asdf-compressors package, or just asdf-compressors[lz4]". Or am I missing something?
I think it might also be quite useful to stress in the docs just how fast lz4 and zstd are, especially at decompression, compared to zlib and bz2. The difference is striking enough that it changes the equation for users deciding whether or not to compress at all.
That said, I'm also not completely convinced that compression is the way to go for our own uses. Certainly it adds an extra step when manually interpreting array data in an .asdf file, such as with a hex editor. On the other hand for ridiculously compressible data, it's a shame to not compress losslessly. For zstd, I've checked that the compressed data are indeed readable using the zstd CLI. I haven't tested it myself, but according to the docs, the lz4 CLI can only handle the frame format, and not the block format: https://github.com/lz4/lz4/blob/dev/doc/lz4_manual.html . That makes the existing lz4 block format rather less archivable in my opinion.
Is there some process in ASDF that could deprecate writing the lz4 block format, and default to the frame format instead? I suppose for backward compatibility, the lz4 label would unfortunately have to remain as-is, representing the block format, and a new label (lz4f?) would have to be created for the lz4 frame format?
I don't need zstd or lz4-frame quite yet, perhaps in the medium term though, so there's no huge rush for an asdf-compressors package. But it would be great to get it going fairly soon. I'm happy to help, but I'll need some guidance.

Thank you for the valuable and insightful discussion and implementation @mspacek @braingram
I can see the compression topic becoming more and more relevant at some point in the future as well.

Is there some process in ASDF that could deprecate writing the lz4 block format, and default to the frame format instead? I suppose for backward compatibility, the lz4 label would unfortunately have to remain as-is, representing the block format, and a new label (lz4f?) would have to be created for the lz4 frame format?

May I suggest adding this as a possible point to review or discuss for ASDF standard 2.0? (cref https://github.com/asdf-format/asdf-standard/issues/248)

@CagtayFabry Thanks for linking that issue. I'll give it a read through.
@mspacek I like the idea of deprecating writing the lz4 block format (and tag) and moving it to asdf-compressors (as it's already an optional dependency). I will take another look through some key downstream packages to see if any of them will be impacted.
Given this PR and https://github.com/asdf-format/asdf/pull/1571 adding lz4 frame and zstd compression should be possible with the existing extension system (a skim through the https://github.com/asdf-format/asdf-standard/issues/248 suggests that other algorithms might require changes).
I opened an issue to discuss moving lz4 to a separate package (asdf-compressors) where we could also add ztd support. https://github.com/asdf-format/asdf/issues/1574

Thanks again for opening it @mspacek and please take a look at https://github.com/asdf-format/asdf-compression which adds zstd compression support via an asdf extensions. I'm closing this PR as the support in asdf-compression should hopefully address this need (once it is released on pypi).


[100 SigmaUSD] Newtypes for epoch id/counter, datapoint, height

Motivation
To not confuse them in function parameters with each other and with other integer values.
Implementation details
Use the newtypes in the relevant structs, function parameters, etc.
Underneath, epoch id/counter should be u32, datapoint - i64, height - u32.

@SethDusek I'm not sure a builder pattern will be a better fit here. It shines when some of the parameters are optional, which is not our case (we need all of them anyway). In terms of checking the parameter types, it does help the human eye by providing a kind of "parameter names" to catch on. But nothing beats a compiler error in preventing from passing an epoch id instead of height. :)

The bounty is sent. Thank you!


Allow to change foreground color or SVG image

Version: 0.6.0
Setting foreground color for an SVG image should make it look like a shadow with that color (replace all non-transparent color of SVG image with that)

note that currently there's no way in the FMX popup to remove the color (the editbox at its top right doesn't get focus, closes the popup [a more general FMX popup issue regarding not accepting focus])


Strange error message on 0.16 alpha 3

Starting from Elm Architecture Tutorial Example No. 7 and using the code bellow in Main.elm

import Effects exposing (Never)
import RandomGifList exposing (init, update, view)
import RandomGif exposing (Action(NewGif))
import StartApp
import Task
import Html

app : StartApp.App RandomGifList.Model
app =
  StartApp.start
    { init = init
    , update = update
    , view = view
    , inputs = []
    }

main : Signal Html.Html
main =
  app.html

detect value  =
    case value of
        NewGif _ ->  Debug.log "Bingo" value
        _ -> Debug.log "Some Other Task" value

port tasks : Signal (Task.Task Never ())
port tasks = Signal.map (\t -> Task.map detect t) app.tasks

I get the following error message in Sublime Text 3:

What's the weird part exactly? The ESC[33m stuff? Or the actual content?
If it is the escape characters, that's something going wrong with the Sublime Text  extension. They are not handling ANSI escape characters properly.

Yes, the ESC[33m part looked weird.
But since this is more likely to be a Sublime Text issue, I'll just close the issue here.

Okay, cool. It probably makes sense to move the report to the repo that is in charge of this extension. It'd be lame to have improvements like this and have them look all weird in sublime!


rename the variable for resource validation webhook

/lint
/hold
while reviewing https://github.com/knative/pkg/pull/653
this is to fix the breaking change in the PR above to https://github.com/knative/pkg

/lgtm
/approve
/ok-to-test
/hold cancel
THANKS!

Rebase?

@nimakaviani  wanna rebased this PR ?

ah sorry. looks like it fell through. rebasing now.

looking at the PR, I believe the change has already been addressed in ba93eb620ea64107bf7cddc7583e9c6c81881c59
I am going to close this PR.


I found these 2 extensions for textX in vs code. Woud it be helpful for me to write abt them in docs?

Those are the tools developed by @danixeee, @danielkupco and @starcev as a part of their master thesis.
The tools are hosted at textx-tools organization but the plan is to move all those tools to textX organization during the planed transition for their better visibility.
I suggest to contribute docs to those projects directly as they are separate projects and would generally need tutorials and docs cleanup.
Maybe it is best to wait for the transition to complete as we will have a better picture what should go where.

Copy that!


Google sigin in :: gives error code 8 and 12501 many times.

I have added services.json and i provided sha1 key and tested on samsung s3 phone, still it gives me error code 8 when i do result.getStatus().getStatusCode() and result.getStatus().getStatusMessage() is null on Nexus 5 running marshmallows.

@niteshgoel are you saying that you only see this issue on the Nexus 5, or you see it on both the Nexus and the Samsung Galaxy S3 devices?

Only on Nexus 5 and on one of my system only. hey i have already attached my code in another question (showing bar on login.)

What is the version of Google Play Services on each device?  Did you install Google Play Services manually via apkmirror or similar?
Code 8 is CommonStatusCodes.INTERNAL_ERROR so it's hard to diagnose when it is device specific.

How to get the Google play service version on device. On Studio it is 8.3.
no i have not install Google Play Services manually.

You can go to Settings > Apps > Google Play Services to get the version.

Google Play Services version on s3  and and nexus 5 is : 8.4.89

I have same problem, it's working very well on my note 2 (Android 4.4.4), but always get INTERNAL_ERROR on my Note 5 (Android 5.0.2)

Same thing happens here. It gives me error code 8 on Moto G only, the code works on other devices.

@niteshgoel a few questions so we can debug this:

@samtstern : answers

Which adb log you are talking about.The one which I have attached in another question was from s3.
Yes.
I can not tell you the name. How i can test on a users phone about "Auto-sync data" from my code.
After this i am getting 12501 error code from (googleSignInResult.getStatus().getStatusCode()) in handleSignInResult(GoogleSignInResult result) function.

NOTE : Now I have tested on few more devices with different account and I am getting the same error. Please help me asap as I need to launch my application And with this bug i can not.

@samtstern please tell me if we can have a live conversation to debug this.

@niteshgoel have you ever gotten a successful sign in on this device?  Also could you provide a full adb bugreport for a situation where you get the 12501 response?  Email it to<EMAIL_ADDRESS>and we will analyze it.

@samtstern: I have mailed you all the details.

For all who are getting this error, make sure you have registered ALL of your signing keystores in the developers.google.com/mobile/add flow.  Failing to register one of your keystores (such as your production keystore) will result in INTERNAL_ERROR if you ask for the default GoogleSignInOptions configuration.

@samtstern : Yes there was one keystore missing but From another keystore which was already added,  it is working on one device but not on nexus5 as i am building from the same machine.

@niteshgoel Could you double check the version on Nexus 5?
There's an easy way for you to tell whether it's registered correctly. Change your GoogleSignInOptions to be:
GoogleSignInOptions gso =
new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.requestScopes(Scopes.DRIVE_APPFOLDER)
.build();
If your version isn't registered correctly (package name + sha1 key), you will see one row saying  "Unregistered Android application" on consent dialog. See attached screenshot.

@samtstern FYI;
I just build & run the sample code of yours, and it's working very well without getting INTERNAL_ERROR @ device:

Samsung S4 (Android Jelly Bean 4.2.2)
Samsung Note 2 (Android Kit Kat 4.4.2)
Samsung Mega 5.8 (Android Jelly Bean 4.2.2)

but get INTERNAL_ERROR @ device:

Samsung Note 5 (Android 5.1.1)
Samsung J7 (Android 5.1.1)
Xiaomi Mi4i (MIUI 7.1 Android 5.0.2)

GoogleSignInOptions gso = new GoogleSignInOptions.Builder()
.requestEmail()
.build();
There is no error when i using this code, but I only can get the email data. I think I already registered ALL of my signing keystores. Thanks.

@1step are you running the exact same APK on each device? Can you try diagnosing possible registration errors by using the method @isaisachen suggested?

https://drive.google.com/file/d/0B3sKMOzQgrmwUXdnNFV5U0NEbWc/view?usp=sharing
That is a link to an APK I just built from source, signed with my own debug keystore.  The SignIn and SignInWithDrive activities should work.
Please load that APK onto your devices (adb install -r -d) and then test.  If you still get an error then we can continue to debug.  If you do not get an error with my APK, then it is almost certain that your keystores are not properly registered.

@samtstern ok, your it's working very well. but i still don't understand, why my keystore doesn't work with android os >= 5. let me check it again. Thanks again mate.

@1step Any chance you have multiple key stores? If you unzip your built-out apk, in META\INF folder, you can find a CERT.DSA (or CERT.RSA) file, run below command to find out the exact SHA1 of the cert you used to sign your apk:
keytool -printcert -file

@samtstern @isaisachen : Hi again, As you mention previously ... I have added all the key story properly.Though the issue was resolved on many devices except one but I ignored it that time and put my application on play store. However, I have added google analytics. And I can tell you that I have received 3 unique events of  error code: 8 and one unique event of error code: 12501 within one day around 100 installs. Please guide me what to do next.

the count is now 12.
error code 8 : 5
error code 12501 :7

@niteshgoel 12501 is SIGN_IN_CANCELLED and probably because your user clicked away from the account chooser.
8 is INTERNAL_ERROR and not expected here. Two questions:

Is your app only published in Google Play store? (e.g. not through Amazon app store etc)
Could you share your latest code w/ Analytics logging? I saw signOut/revoke code in your attached source code (in another thread like you mentioned). These are not necessary for the sign-in process and I just want to make sure the errors don't come from those calls (even though it's not expected to have INTERNAL_ERROR for those calls either).

Yes, my app published only in Google play store.
I have added signout/revoke code because on activity stop I am revoking the access as I do not need it any longer.PFA the code.
GPlusUtilNew.java.zip

Revoking access is not a lightweight operation and shouldn't be done on
every Activity stop.  You should only do it when the user explicitly asks
to sign out and revoke access.
On Mon, Feb 8, 2016, 10:22 PM niteshgoel<EMAIL_ADDRESS>wrote:

Yes, my app published only in Google play store.
I have added signout/revoke code because on activity stop I am revoking
the access as I do not need it any longer.PFA the code.
GPlusUtilNew.java.zip
https://github.com/googlesamples/google-services/files/122662/GPlusUtilNew.java.zip
—
Reply to this email directly or view it on GitHub
https://github.com/googlesamples/google-services/issues/144#issuecomment-181727705
.

this is todays screenshot. Got 2 times errorcode:8

@niteshgoel it has been a while since there has been an update in this thread, I am going to close the issue as I am doing some cleanup.  If you are still having trouble with this issue feel free to re-open.

I to all
I have the same problem and i can´t understand what happen with my project. My app work verry nice with android <5 but with androdid >5.Do not work. My key are registery and my apk have the key correcty.

public class SignInActivity extends AppCompatActivity implements
GoogleApiClient.OnConnectionFailedListener,
View.OnClickListener {
private static final String TAG = "SignInActivity";
private static final int RC_SIGN_IN = 9001;

private GoogleApiClient mGoogleApiClient;
private TextView mStatusTextView;
private ProgressDialog mProgressDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(activity_main_signin);

    // Views
    mStatusTextView = (TextView) findViewById(R.id.status);

    // Button listeners
    findViewById(R.id.sign_in_button).setOnClickListener(this);
    findViewById(R.id.sign_out_button).setOnClickListener(this);
    findViewById(R.id.disconnect_button).setOnClickListener(this);

    // [START configure_signin]
    // Configure sign-in to request the user's ID, email address, and basic
    // profile. ID and basic profile are included in DEFAULT_SIGN_IN.
    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
           /* .requestScopes(new Scope(Scopes.EMAIL))*/
            .requestIdToken("199774985284-ok51195p6vik9579hr9rmde1jkhfmo1s.apps.googleusercontent.com")
            .requestScopes(new Scope(Scopes.DRIVE_APPFOLDER))
            .requestEmail()

             /*.requestEmail()
              .requestScopes(new Scope(Scopes.EMAIL))
              .requestScopes(new Scope(Scopes.DRIVE_APPFOLDER))*/
            .build();

    Log.d(TAG,"GSO STARTUP"+ gso.toString());
    // [END configure_signin]

    // [START build_client]
    // Build a GoogleApiClient with access to the Google Sign-In API and the
    // options specified by gso.
    // ATTENTION: This "addApi(AppIndex.API)"was auto-generated to implement the App Indexing API.
    // See https://g.co/AppIndexing/AndroidStudio for more information.
    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .addApi(AppIndex.API).build();
    // [END build_client]
    Log.d(TAG, "GSO "+ gso.getAccount() + " "+ mGoogleApiClient.isConnecting());

    // [START customize_button]
    // Customize sign-in button. The sign-in button can be displayed in
    // multiple sizes and color schemes. It can also be contextually
    // rendered based on the requested scopes. For example. a red button may
    // be displayed when Google+ scopes are requested, but a white button
    // may be displayed when only basic profile is requested. Try adding the
    // Scopes.PLUS_LOGIN scope to the GoogleSignInOptions to see the
    // difference.
    SignInButton signInButton = (SignInButton) findViewById(R.id.sign_in_button);
    signInButton.setSize(SignInButton.SIZE_STANDARD);
    signInButton.setScopes(gso.getScopeArray());
    // [END customize_button]
}

@Override
public void onStart() {
    super.onStart();// ATTENTION: This was auto-generated to implement the App Indexing API.

// See https://g.co/AppIndexing/AndroidStudio for more information.
mGoogleApiClient.connect();
    OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient);
    if (opr.isDone()) {
        // If the user's cached credentials are valid, the OptionalPendingResult will be "done"
        // and the GoogleSignInResult will be available instantly.
        Log.d(TAG, "Got cached sign-in");
        GoogleSignInResult result = opr.get();
        handleSignInResult(result);
    } else {
        // If the user has not previously signed in on this device or the sign-in has expired,
        // this asynchronous branch will attempt to sign in the user silently.  Cross-device
        // single sign-on will occur in this branch.
        showProgressDialog();
        opr.setResultCallback(new ResultCallback<GoogleSignInResult>() {
            @Override
            public void onResult(GoogleSignInResult googleSignInResult) {
                hideProgressDialog();
                handleSignInResult(googleSignInResult);
            }
        });
    }
    // ATTENTION: This was auto-generated to implement the App Indexing API.
    // See https://g.co/AppIndexing/AndroidStudio for more information.
    AppIndex.AppIndexApi.start(mGoogleApiClient, getIndexApiAction());
}

// [START onActivityResult]
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.d(TAG, "Requestcode "+ requestCode + " resultcode="+ resultCode + " data="+ data.getBundleExtra("Email"));
    // Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        handleSignInResult(result);
    }
}
// [END onActivityResult]

// [START handleSignInResult]
private void handleSignInResult(GoogleSignInResult result) {
    Log.d(TAG, "handleSignInResult:" + result.getStatus().getStatusCode());
    if (result.isSuccess()) {
        // Signed in successfully, show authenticated UI.
        GoogleSignInAccount acct = result.getSignInAccount();
        String email = (String) acct.getEmail();
        String[] part= email.split("@");
        if( part[1].equals("mydomain")){

            // If the user is valid
            Intent logado = new Intent(this,RecursosBVActivity.class);
            logado.putExtra("user",part[0]);
            logado.putExtra("token",acct.getIdToken());
            startActivity(logado);
            updateUI(true);

        }else{
              signOut();
            updateUI(false);
        }
    } else {
        // Signed out, show unauthenticated UI.
        signOut();
        updateUI(false);
    }
}
// [END handleSignInResult]

// [START signIn]
private void signIn() {
    Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
    startActivityForResult(signInIntent, RC_SIGN_IN);
}
// [END signIn]

// [START signOut]
private void signOut() {
    Auth.GoogleSignInApi.signOut(mGoogleApiClient).setResultCallback(
            new ResultCallback<Status>() {
                @Override
                public void onResult(Status status) {
                    // [START_EXCLUDE]
                    updateUI(false);
                    // [END_EXCLUDE]
                }
            });
}
// [END signOut]

// [START revokeAccess]
private void revokeAccess() {
    Auth.GoogleSignInApi.revokeAccess(mGoogleApiClient).setResultCallback(
            new ResultCallback<Status>() {
                @Override
                public void onResult(Status status) {
                    // [START_EXCLUDE]
                    updateUI(false);
                    // [END_EXCLUDE]
                }
            });
}
// [END revokeAccess]

@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
    // An unresolvable error has occurred and Google APIs (including Sign-In) will not
    // be available.
    Log.d(TAG, "onConnectionFailed:" + connectionResult);
}

private void showProgressDialog() {
    if (mProgressDialog == null) {
        mProgressDialog = new ProgressDialog(this);
        mProgressDialog.setMessage(getString(R.string.loading));
        mProgressDialog.setIndeterminate(true);
    }

    mProgressDialog.show();
}

private void hideProgressDialog() {
    if (mProgressDialog != null && mProgressDialog.isShowing()) {
        mProgressDialog.hide();
    }
}

private void updateUI(boolean signedIn) {
    if (signedIn) {
        findViewById(R.id.sign_in_button).setVisibility(View.GONE);
        findViewById(R.id.sign_out_and_disconnect).setVisibility(View.VISIBLE);
    } else {
        mStatusTextView.setText(R.string.signed_out);

        findViewById(R.id.sign_in_button).setVisibility(View.VISIBLE);
        findViewById(R.id.sign_out_and_disconnect).setVisibility(View.GONE);
    }
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.sign_in_button:
            signIn();
            break;
        case R.id.sign_out_button:
            signOut();
            break;
        case R.id.disconnect_button:
            revokeAccess();
            break;
    }
}

/**
 * ATTENTION: This was auto-generated to implement the App Indexing API.
 * See https://g.co/AppIndexing/AndroidStudio for more information.
 */
public Action getIndexApiAction() {
    Thing object = new Thing.Builder()
            .setName("SignIn Page") // TODO: Define a title for the content shown.
            // TODO: Make sure this auto-generated URL is correct.
            .setUrl(Uri.parse("http://[ENTER-YOUR-URL-HERE]"))
            .build();
    return new Action.Builder(Action.TYPE_VIEW)
            .setObject(object)
            .setActionStatus(Action.STATUS_TYPE_COMPLETED)
            .build();
}

@Override
public void onStop() {
    super.onStop();

    // ATTENTION: This was auto-generated to implement the App Indexing API.
    // See https://g.co/AppIndexing/AndroidStudio for more information.
    AppIndex.AppIndexApi.end(mGoogleApiClient, getIndexApiAction());
    mGoogleApiClient.disconnect();
}

}

Please some one help me.

@samtstern samtstern The issue is still there and it is keep on getting worst. Here is the latest report from google analytics from last month.

I am not able to reopen this issue. Please do so.

@niteshgoel 12501 is SIGN_IN_CANCELLED. If user gives up sign-in with Google, e.g. click away or cancelling the consent dialog, you will get 12501. You can try yourself. So it's not a issue if you have 12501 logged?

@scostira  "My app work very nice with android <5 but with androdid =>5.Do not work" - From log? Or you can repro? What version of Google Play services SDK are you using?

@isaisachen I understand about 12501 but what about error code 8?

@niteshgoel 8 is INTERNAL_ERROR. One case we should have returned a more precise error that we didn't is: if Play Store / Google Play services is not available (or too old version), you could still get a sign-in intent, but the sign-in intent would fail (onActivityResult code path) and you would get INTERNAL_ERROR.
Based on another Github discussion, you did get some Xiaomi users. Do you distribute your app outside of Google Play?

I am experiencing the same error with my App. It's available throught play store only and some of my users get this error:
Result content = Error code: 8 - Error message: null - Resolution: null
As you can see the image from my Crashlytics report, this error has happened 94 times for the past 90 days. I already placed a message directing the user to use Facebook Login when the error occurs but not all of the are willing to do so.

This problem happens with devices from various brands but not allways. A outdated playservices could be the source of all this this?
@samtstern and @isaisachen  Could you reopen the issue?

So I have seen issues with business/gsuite/sso accounts.
e.g. I sign in with my personal account into my app it works perfectly. I sign in with my corporate gsuite account and it throws 12501. I am guessing if I used web client id/android client id from the api console that was created by my company it would work.
I am going to talk to the account administrator to work out this out and maybe contact Google support if we can't figure out the permissions.

Well, code=8 is INTERNAL_ERROR, so this is little tough to figure things out but I'll look into it.

Anybody made any progress on this? I followed the exact google sign in tutorial here but I keep getting status code 8 error.

I get error 8 (INTERNAL_ERROR) the first time I add a Google Account. If I try again, it works. Where could I look for more details?

Good day. I ran into a similar problem and spent 1.5 days solving it.
Tips to help you:

First check valid the package name and fingerprint SHA1.
If your application did not pass verification and was not released, then make sure that the user to be authorized is in the list of testers (this can be checked in APIs & Service -> OAuth consent sreen -> Test users)
3 *) There is a suspicion that all letters in the package name in android studio should be lowercase.

In my case, it helped to create a new project, transfer old files to it, and create a new OAuth Client IDs.


Can't change existing permission without removing it first

hey,
if I have a permission set to true and want to change it to false I need to remove the permission first and then add it again as false value.

same problem with prefix/suffix but harder to remove since it don't show & char

@dracnis you can remove all prefix/suffix with a specific priority.

@Slind14 almost sure you can't the command is :
/lpb group default meta removeprefix   [server] [world]
where prefix must be writted

You can enter "null" instead of a prefix string.

What we use and works fine:
/perm user <player> meta removeprefix <priority> null

If this is the case, I think the command should be changed to make the prefix string optional, rather than require null.

I've made the prefix/suffix string optional in the remove commands.
Regarding the main issue topic however, I'm not so sure on this. I know it's an ease-of-use thing, but the core internals of the plugin are designed with this behaviour.
"some.permission=true" is #almostEqual to "some.permission=false". The #setPermission and #hasPermission methods and commands follow this design.


Possible library improuvements

Hello, while @JSMonk was away this spring i created my fork of this library. Here it is https://github.com/AlexXanderGrib/monads-io
And here some good ideas you can grab from it:
1. Use inheritance
class EitherConstructor<L, R>
  implements AsyncMonad<R>, Alternative<R>, Container<R> { ... }

class Right<L, R> extends EitherConstructor<L, R> {
  get [Symbol.toStringTag](): "Right" { ... }
  get name(): "Either" { ... }
  get type(): EitherType.Right { ... }
  getRight(): R { ... }
  getLeft(): undefined { ... }

  private constructor(public readonly right: R) {
    super();
    Object.freeze(this);
  }
}

class Left<L, R> extends EitherConstructor<L, R> {
   ...
   get type(): EitherType.Left { ... }
}

It's simpler. Types can now be defined as:
type Either<L, R> = Left<L, R> | Right<L, R>
type Maybe<T> = Just<T> | None<T>; // <T> may be obsolete, cause of T = never by default

It's more efficient. Now left and right are different on class level, so difference is expressed through prototype without specific property, so overhead is minimal

2. Make None a singleton
Continuing with classes, it is possible to create one and only one None for all program
class None<T = unknown> extends MaybeConstructor<T> implements SerializedNone {
  static readonly instance = new None<never>();
  static create<T>(): None<T> {
    return None.instance;
  }

  get [Symbol.toStringTag]() {
    return "None";
  }
}

3. Create rust-like iterator helpers
export function* iterator<T>(
  callback: () => Maybe<T>
): Generator<T, void, void> {
  let result: Maybe<T>;

  while ((result = callback()).isJust()) {
    yield result.unwrap();
  }
}

export async function* asyncIterator<T>(
  callback: () => MaybePromiseLike<Maybe<MaybePromiseLike<T>>>
): AsyncGenerator<T, void, void> {
  let result: Maybe<MaybePromiseLike<T>>;

  while ((result = await callback()).isJust()) {
    yield await result.unwrap();
  }
}

export function* filterMap<T, X>(
  iterable: Iterable<T>,
  filterMap: (value: T, index: number) => Maybe<X>
): Generator<X, void, void> {
  let index = 0;
  for (const value of iterable) {
    const processed = filterMap(value, index++);

    if (processed.isJust()) {
      yield processed.unwrap();
    }
  }
}

4. Add await method for async monads
export interface AsyncMonad<A> extends Monad<A> {
  await<A>(this: AsyncMonad<MaybePromiseLike<A>>): Promise<AsyncMonad<A>>;
}

5. Add zip method
Can be used to refactor .apply()
class EitherConstructor {
  zip<A, B>(either: Either<A, B>): Either<L | A, [R, B]> {
    return this.chain((value) => either.map((right) => [value, right]));
  }
}

Hi @AlexXanderGrib.
Thank you for the proposal, it looks great.
I want to know a little bit more about the use cases of each bullet because it's hard to understand, why people should have an iterator for Maybe or Either.
Could you describe a few use cases inside each paragraph?

Hello @JSMonk, haven't used @sweet-monads/iterator, all proposed iterator features implemented there


Usage is unclear, the PATCH URL in example differs from the template

Hi,
I am trying to use the info given on the page to upload the PerTenant app to SaaS tenant, but I am confused:
In beginning, the URL is described as
PATCH /microsoft/automation/{apiVersion}/companies({companyId})/extensionUpload(0)/content
In the exmaple, the URL is
PATCH https://api.businesscentral.dynamics.com/v1.0/api/microsoft/automation/beta/companies({companyId})//
Why in first there is "extensionUpload(0)/content" part and in example there is just "//"? What should be there in reality? When I use the URL from the example and even from the beginning, I am getting "RequestDataInvalid" error.
Second unclear thing is the description of "If-Match" attribute - "eTag provided does not match the current tag " - what is the eTag and what is the current tag? Where I can see them? I am totally not knowing about what the doc is talking...
Thanks

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 74b671a8-fd85-72cb-cc6f-ef5cfb9ca6bd
Version Independent ID: c320f922-3786-7842-94a3-261df0d8d314
Content: Patch extensionUpload - Business Central
Content Source: dev-itpro/administration/dynamics-microsoft-automation-extensionupload-patch.md
Service: dynamics365-business-central
GitHub Login: @henrikwh
Microsoft Alias: solsen

Ok, regarding the If-Match:
Example is "If-Match:-"
When I use "If-Match:" I am not getting the "RequestDataInvalid" anymore, but "The request entity's media type 'application/octet-stream' is not supported for this resource.".
WHy the example is using not supported type? What is acceptable type?

Ok, next labouring leads me that when I use url ending with /extensionUpload(0)/cont the application/octet-stream is accepted... can you fix the example?

@kine did you ever get this to work?
I've been struggling with this error every single time I've tried:
"error": {
"code": "Request_EntityChanged",
"message": "Another user has already changed the record."
}

@RasmusTidselbak Yes, it works for v13 tenant using https://api.businesscentral.dynamics.com/v1.0/{{TenantID}}/api/microsoft/automation/beta/companies({{CompanyID}})/extensionUpload(0)/content
and
headers: Content-type=application/octet-stream and If-Match=* (and Authorization=Bearer xxxxx). Body is the app file content.

This is embarrassing, I've been struggling with this for months, because I added the eTag in the If-Match header. All this time I just had to use * instead.
Thank yo so much :)

Yes, because each time you "contact" the API, new temporary record is generated, thus having different eTag... PATCH and GET will work with different instance...

Thanks for your feedback, both. The example in the topic was misleading and this is now fixed with the next refresh. Thanks!


teeny tiny errors

Fix:
1.compiler error when initDiscordFP called without config
=> deprecated warning when called without config
2.empty option in slash command will throw TypeError

=> allow creating slash command without option

This looks pretty nice! Thanks for contributing


Add Homebrew installation instructions in README.md

I just added bench to Homebrew. I would be nice to mention that on README.
I also removed the mention of pre-built binaries since it seems that releases are no longer tagged or no longer pushed to GitHub, let alone binaries.

Thanks!  I appreciate this :)


switch to the latest nightly compiler

the latest std library use random HashMap keys rust-lang/rust#107387
fix typo in the creation of OpenOption for RustyHermit rust-lang/rust#109368

bors r+

bors r+

bors retry


refactor: migrate light account to the viem style account

Pull Request Checklist

[ ] Did you add new tests and confirm existing tests pass? (yarn test)
[ ] Did you update relevant docs? (docs are found in the site folder, and guidelines for updating/adding docs can be found in the contribution guide)
[ ] Do your commits follow the Conventional Commits standard?
[ ] Does your PR title also follow the Conventional Commits standard?
[ ] If you have a breaking change, is it correctly reflected in your commit message? (e.g. feat!: breaking change)
[ ] Did you run lint (yarn lint:check) and fix any issues? (yarn lint:write)
[ ] Did you follow the contribution guidelines?

PR-Codex overview
Detailed summary

Renamed the SmartContractAccount type to OwnedSmartContractAccount in packages/accounts/src/msca/viem/msca.ts.
Updated the signTypedData method signature in various signer classes (LocalAccountSigner, MockSigner, TurnkeySigner, Web3AuthSigner, ArcanaAuthSigner, MagicSigner, PortalSigner, CapsuleSigner, FireblocksSigner, ParticleSigner, WalletClientSigner) to use the TypedDataDefinition type from viem instead of the deprecated SignTypedDataParams type.
Imported the TypedData and TypedDataDefinition types from viem in various files.
Removed the import of SignTypedDataParams from packages/core/src/signer/types.ts.
Minor code formatting changes.

The following files were skipped due to too many changes: packages/core/src/signer/wallet-client.ts, packages/accounts/src/light-account/viem/getLightAccountVersion.ts, packages/accounts/src/msca/plugins/session-key/signer.ts, packages/accounts/src/light-account/viem/actions.ts, packages/ethers/src/utils.ts, packages/signers/src/lit-protocol/signer.ts, packages/core/src/viem/account.ts, packages/accounts/src/light-account/viem/account.ts

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

depends on https://github.com/alchemyplatform/aa-sdk/pull/383

TODO: teardown the old LightAccount impl after this is approved and port over tests

gonna merge this chain all the way down to https://github.com/alchemyplatform/aa-sdk/pull/383 because honestly it'll be just as hard to review 4 prs as it will be one massive PR


Update svelte template to use Svelte 5

Summary
Svelte 5 is out and the svelte template should be updated to use the latest version.
Is your feature request related to a bug/issue?
No
Alternatives
Manually trying to update results in packing error when building:

In dev mode, the popup cannot be loaded

	"devDependencies": {
		"@sveltejs/vite-plugin-svelte": "^3.1.1",
		"@tsconfig/svelte": "^5.0.4",
		"@types/webextension-polyfill": "^0.10.7",
		"svelte": "^5.0.3",
		"svelte-check": "^3.8.6",
		"tslib": "^2.6.3",
		"typescript": "^5.3.2",
		"vite": "^5.4.9",
		"vite-plugin-web-extension": "^4.1.6",
		"webextension-polyfill": "^0.10.0"
	}

(Testing with firefox)
Additional Context
I believe I have the cors issue in dev mode even without the changes (fresh template) with svelte-ts.

Did you try to use sv migrate-5 script? With that I have no issues using Svelte 5.

Maybe I misunderstood your last point, but it looks like you want to keep the popup.ts the same as the template one? Because if that's so, then why is the reason to use svelte 5 syntax? If it's something else you mean, I apologize.
In #216 I updated the svelte-js/ts templates to match the new svelte 5 syntax.
The error before, with mount is not expoorted should be solved by running your prefered npm install command, to replace the node modules of svelte with the new ones.

You're welcome, we are all on the same journey :)


v0.2.0

[ ] merge inner code
[ ] add 'how to' docoument

I'll release v0.2.0.
( The task of v0.1.0 is already done, but I prefer not to release it. )


Adding 'Main' to bower.json

Adding 'Main' to bower.json, so distribution files can be found programatically.
https://github.com/bower/bower.json-spec#main
This allows
bower list --paths

to point to the files that should be distributed, eg.
'sir-trevor-js': [
    'bower_components/sir-trevor-js/sir-trevor.js',
    'bower_components/sir-trevor-js/sir-trevor.css',
    'bower_components/sir-trevor-js/sir-trevor-icons.css'
  ]

I'm not sure if this was actually the place to put this main entry, or if the final bower.json that appears on a bower install is generated, in which case these few lines of JSON code should be added somewhere else.
By the way, the Travis build fails because it doesn't have access to Chrome. tests pass locally.

Yes, that makes sense. Thanks for this PR.

Just a note: This didn't actually change the bower.json file that is you get when you do a
bower install sir-trevor-js

I'm not sure where (or how) that file gets created/compiled

Oh yes, that's because I didn't release a new version yet.
It should work just fine if you try to install it from HEAD though:
$  bower info sir-trevor-js#master

bower sir-trevor-js#master  not-cached git://github.com/madebymany/sir-trevor-js.git#master
bower sir-trevor-js#master     resolve git://github.com/madebymany/sir-trevor-js.git#master
bower sir-trevor-js#master    checkout master
bower sir-trevor-js#master    resolved git://github.com/madebymany/sir-trevor-js.git#e39a222d31

{
  name: 'sir-trevor-js',
  ignore: [
    '**/.*',
    'node_modules',
    'components',
    'src/!(blocks)',
    'spec',
    'examples',
    'website',
    'BrowserRunner.html'
  ],
  main: [
    'sir-trevor.js',
    'sir-trevor.css',
    'sir-trevor-icons.css'
  ],
  dependencies: {
    'es5-shim': '~v4.0.3',
    'es6-shim': '~0.21.0',
    Eventable: '~1.0.1',
    jquery: '~1.9.1'
  },
  homepage: 'https://github.com/madebymany/sir-trevor-js'
}

Thanks!

I'm just going to remind you that using master of Sir Trevor right now is risky, as we're going through big changes (moving text editor to Scribe, etc.) and the public API might change quite a lot during these changes).
We're making sure that new version of SirTrevor will work perfectly with content created in previous versions, so for production uses I'd recommend staying with previous stable release (v0.4.3)


[TikTok] Comments extraction

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm requesting a site-specific feature
[X] I've verified that I'm running yt-dlp version 2022.09.01 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
California, USA
Example URLs
https://www.tiktok.com/@ultimatemariofan101/video/7090771071787470123
Provide a description that is worded well enough to be understood
TikTok comments and replies are not downloaded even with --write-comments. Please add an extractor for TikTok comments, including replies. This issue was based on upintheairsheep’s issue. note that the new web layout is a/b tested, so comments are not guaranteed via the webpage when logged out (meaning you'll need to use the mobile api if you want to work without auth)
relevant apis:
https://api-h2.tiktokv.com/aweme/v2/comment/list/?aweme_id=7090771071787470123&cursor=0&count=20&forward_page_type=1
https://api-h2.tiktokv.com/aweme/v1/comment/list/reply/?comment_id=7092406159806546734&item_id=7090771071787470123&cursor=0&count=20&insert_ids=&top_ids=&channel_id=0
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[Documents]$ yt-dlp https://www.tiktok.com/t/ZT
Rm11wX7/ --write-comments -vU -j
[debug] Command-line config: ['https://www.tiktok.com/t/ZTRm11wX7/', '--write-comments', '-vU', '-j']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.09.01 [5d7c7d6] (pip)
[debug] Python 3.9.10+ (CPython 64bit) - macOS-16.0-iPhone14,5-arm-64bit
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg n5.0.1-4-ga5ebb3d25e (setts), ffprobe n5.0.1-4-ga5ebb3d25e, phantomjs present, rtmpdump present
[debug] Optional libraries: Cryptodome-3.15.0, certifi-2022.06.15, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Loaded 1670 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.09.01, Current version: 2022.09.01
yt-dlp is up to date (2022.09.01)
[debug] [generic] Extracting URL: https://www.tiktok.com/t/ZTRm11wX7/
[generic] ZTRm11wX7: Downloading webpage
[redirect] Following redirect to https://www.tiktok.com/@ultimatemariofan101/video/7090771071787470123?_t=8Vz5RrGS5YQ&_r=1
[TikTok] Setting up session
WARNING: [TikTok] Unable to download webpage: The read operation timed out
[debug] [TikTok] Extracting URL: https://www.tiktok.com/@ultimatemariofan101/video/7090771071787470123?_t=8Vz5RrGS5YQ&_r=1
[TikTok]<PHONE_NUMBER>787470123: Downloading video details
WARNING: [TikTok] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 1 of 5)
[TikTok]<PHONE_NUMBER>787470123: Downloading video details
WARNING: [TikTok] Expecting value: line 1 column 1 (char 0). Retrying... (attempt 2 of 5)
[TikTok]<PHONE_NUMBER>787470123: Downloading video details
WARNING: [TikTok] Expecting value: line 1 colum
n 1 (char 0). Retrying... (attempt 3 of 5)
[TikTok]<PHONE_NUMBER>787470123: Downloading video
details
WARNING: [TikTok] Expecting value: line 1 colum
n 1 (char 0). Retrying... (attempt 4 of 5)
[TikTok]<PHONE_NUMBER>787470123: Downloading video
details
WARNING: [TikTok]<PHONE_NUMBER>787470123: Failed t
o parse JSON; trying feed workaround
[TikTok]<PHONE_NUMBER>787470123: Downloading video
feed
[debug] Sort order given by extractor: quality,
codec, size, br
[debug] Formats sorted by: hasvid, ie_pref, qua
lity, vcodec, acodec, filesize, fs_approx, tbr,
vbr, abr, lang, res, fps, hdr:12(7), channels,
asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaud
io/best
[info]<PHONE_NUMBER>787470123: Downloading 1 forma
t(s): h264_540p_132235-2

Note: the duplicates rule does not apply specifically on this post. See https://github.com/yt-dlp/yt-dlp/issues/4012#issuecomment-1257250105

I’m going to re-open the issues this guy asked that weren’t furfulled but in scope of the project.

Read https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-anyone-going-to-need-the-feature

I need TikTok comments the most

Read https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-anyone-going-to-need-the-feature

Id also love Roblox audio and other sites


Create an intro

Add an intro about yourself: who are you, what is your strength, why are you here.

My name is Wilson Bravo. I am an electronics engineer and a backend developer with experience in Python and Java. I am passionate about digital drawing and learning new things about programming. I am currently deepening my knowledge of Spring. I believe I am a passionate and quick learner. I am currently looking for new challenges to help me grow professionally.


New Android App Architecture Prototype

Currently the architecture of the Android App takes can be summed up by this diagram:

It is proposed instead to shift the architecture of the app to this:

The main reasons for this are as follows:

At the moment we use a permanent foreground service to persist the entire Kolibri stack.

This causes increased battery usage, and currently is very difficult for the user to quit without force quitting
While the persistent foreground service is not yet banned by updated Android versions, the direction of travel seems to be to try to limit the use of this anti-pattern to have things running in the foreground as much as possible: https://developer.android.com/about/versions/12/behavior-changes-12#foreground-service-launch-restrictions
Most elements of the Kolibri stack do not need to run continuously when the app is not in the foreground, so we should restrict ourselves to only keeping those things open

There is current work in progress on Python for Android to allow for integration with the Android WorkManager API, this would allow us to defer asynchronous task processing to Android, this would allow us to:

Not run our worker handler and scheduler handler at all, and defer the starting of asynchronous tasks to the WorkManager API
Start activities in response to changes in network state, such as scanning the local network for other Kolibri devices when on a local network, but otherwise not bothering

In order to achieve this, the main things we need to accomplish are:

Making the Kolibri Process Bus easier to subclass/pick and choose functionality, in order to make custom app architectures easier
Simplifying the Kolibri task API to allow simple addition of hooks to that allow it to connect to the Android API
Adding additional metadata to tasks indicating if they are expected to be 'long running'

This has been implemented and launched with 0.16.0.


recipe2plan: Storage Keys should be created for create handles with IDs.

recipe2plan should only try to create storage keys for create handles that have IDs. If a recipe does not provide an ID for these handles, they will need to be created by the allocator.

handles

Keep in mind the the CreatableStorageKey() you create must use the same identifier for all handleconnections connected to the same handle, e.g.
particle One
   a: reads H

particle Two
   b: writes H

recipe R
  h: create
  One
    a: reads h
  Two
    b: writes h

Both HandleConnection objects should have CreatableStorageKey('same id'), they cannot be different.

Thanks for raising this concern, Ray. I converted your example into a test (a560f15), and right now it fails. I'll work on a fix right now!


Update durable-functions-perf-and-scale.md

Removed excess 'by' to clarify sentence.

@kashimiz : Thanks for your contribution! The author, @cgillum, has been notified to review your proposed change.

Merging typo fix.
@kashimiz Thank you.


[OP] SSD gluon-cv  model support

This PR https://github.com/dmlc/tvm/pull/1214#issuecomment-396759006 adds support for SSD model. It would provide a more convenient way to import and compile SSD model if we can also support gluon-cv SSD model. The major work is to add several operators:

[x] L2Normalization
[ ]  _contrib_box_nms
Currently we have nms operator implemented in tvm, but the interface can be a slightly different.
I'll make another PR to deal with these changes. Rewrite mms with hybrid frontend: https://github.com/dmlc/tvm/issues/1322
[x] slice_like
[x] where

This PR https://github.com/dmlc/tvm/pull/1157 implements L2Normalization.

@kevinthesun can you revisit and update the status of this issue?

close due to inactive status, please reopen with new items

slice_axis seems not supported in nnvm


15 friends list skeleton

Trello Ticket: https://trello.com/c/IXYBJ1Ll/15-friends-list-skeleton
skeleton for friends list

No merge conflict. Look good to me!


When using @ConfigurationProperties without a prefix the first letter of the property is removed

Describe the bug
Wrong naming for the property when @ConfigurationProperties has empty prefix, i.e. empty group.
To Reproduce
Define the configuration as below:
@Component
@Data
@ConfigurationProperties
public class MyConfigurationProperties {
    /**
     * Generic property
     */
    private String myProperty = "propertyValue";
}

Expected behavior
The expected behaviour is to have a property named my-property as also present in spring-configuration-metadata.json and empty group in place of "+".
{
      "name": "my-property",
      "type": "java.lang.String",
      "description": "Generic property",
      "sourceType": "com.kat.configuration.MyConfigurationProperties",
      "defaultValue": "propertyValue"
    }

Screenshots

Additional context
plugin configuration in pom.xml:
                <plugin>
		<groupId>org.rodnansol</groupId>
		<artifactId>spring-configuration-property-documenter-maven-plugin</artifactId>
		<version>0.6.0</version>
		<executions>
			<execution>
				<id>generate-adoc</id>
				<phase>process-classes</phase>
				<goals>
					<goal>generate-property-document</goal>
				</goals>
				<configuration>
					<type>ADOC</type>
					<outputFile>path-to-adoc-file</outputFile>
					<failOnError>true</failOnError>
				</configuration>
			</execution>
		</executions>
	</plugin>

It won't work with the 0.6.1 version. Let me fix that, it should be easy.

@nandorholozsnyak Thanks for the quick fix!
As I'm running into the same issue with version 0.6.1, is there a plan when you will release the fix?

Hello @Riggs333
I should have already released it, give me some time to pack the release together.

Hello @Riggs333
Sorry for the late reply, but the fix should be available in the newly released 0.7.0 version!!


Tweaks to json_to_html.py

Per @taylor13's  email
Indicate the Controlled Vocabulary (CV) of interest: experiment_id (rendering as html table)
When we get to this, three changes are the priority:
for column headings remove all "_", so that text can "wrap" and columns will be better spaced.
Order of columns should be:
experiment id
activity id
experiment
tier
sub experiment id
sub experiment
parent experiment id
required model components
additional allowed model components
start year
end year
min number yrs per sim
parent activity id
description
Can we make it possible to scroll through all rows of the table? Now, you have to keep pressing "next" to get to the next group. (At most you can scroll through 100 rows before pressing "next".) If we can scroll through all rows, then a user could also, I think, print out the table with a single "print" click.
thanks,
Karl

@taylor13 @dnadeau4 take a look at this updated format - the 100 limit is determined by an external library.
@taylor13 take a look at the attached file (remove the *.txt so you can view this in a browser) and if this suits, we can close this standing issue
CMIP6_experiment_id.html.txt

@taylor13 @dnadeau4 the attached file should solve all the requirements for this issue - so have closed
CMIP6_experiment_id.html.txt

@taylor13 take a peek above - out of inboxes..

@durack1 -- looks pretty good, but it seems that the column widths are set by the the width of the column labels at the top.  We could squeeze the information together if we removed the "_" from the header labels (as I suggested before).  Would that not be a good idea?
Also, if I want to give access to someone on the outside, do I have to send them the CMIP6_experiment_id.html.txt file, or can I point them to a link that will just display the table?
thanks,
Karl

@taylor13 this is what needs to be sent as part of the email (either the attachment or the link) that is drafted in the google doc (link in your inbox from yesterday morning)..
Regarding the formatting, we could iterate for the next couple of months on colours, shapes, languages etc.. Or we could just send it :smiley: - to me the most important thing here is the content, not the presentation, the presentation is just a way of conveying the information not a persistent format..

@taylor13 having said the above, I could also just make the tweak that you suggest.. I have some other stuff to finalize this morning so this could be added to the list..

Reopening.. as @taylor13 is not very keen on "_" characters..

@taylor13 ok so this should appease the html gods.. We can now use this file to interact with MIP co-chairs..
CMIP6_experiment_id.html.txt

@taylor13 point your browser to:
http://rawgit.com/WCRP-CMIP/CMIP6_CVs/master/src/CMIP6_experiment_id.html
and voila!

@durack1 what happened to all of the jquery tables niceness? column sorting etc...?

@doutriaux1 did you click the link above? Or for your direct pleasure:
http://rawgit.com/WCRP-CMIP/CMIP6_CVs/master/src/CMIP6_experiment_id.html

@doutriaux1 make sure to use a "http://" rather than the default "https://" in your viewing

@durack1 I clicked on your link.

@doutriaux1 try again.. the updated link above..

nope, no luck

I'm on chrome inside the lab firewall.

robust ness issue:
Refused to execute script from 'https://raw.githubusercontent.com/WCRP-CMIP/CMIP6_CVs/master/src/jquery.dataTables.js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled.
CMIP6_experiment_id.html:9 Uncaught TypeError: $(...).DataTable is not a function

@doutriaux1 "robustness" should be returned, I now get:
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.12/css/jquery.dataTables.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript" charset="utf8" src="http://rawgit.com/WCRP-CMIP/CMIP6_CVs/master/src/jquery.dataTables.js"></script>
<script>
$(document).ready( function () {
    $('#table_id').DataTable();
    } );
</script>
</head>

Wanna try on your problematic browser?


[🐛] Bug or Behavior not again inside this extension

:bug: Bug report - Description
(En mode Docker) and ACI (Azure Container Instance)
On mode CTF (Yaml or Directly by Docker Run and ENV command) if you request JuiceShop URL / Challanges
For 5 times differents again I have not Hints ou HintsURL on Json file
I put just one example. Not All Json file it's the same for all another challenges.
{
  "id": 3,
  "key": "registerAdminChallenge",
  "name": "Admin Registration",
  "category": "Improper Input Validation",
  "tags": null,
  "description": "Register as a user with administrator privileges.",
  "difficulty": 3,
  "hint": null,
  "hintUrl": null,
  "mitigationUrl": "https://cheatsheetseries.owasp.org/cheatsheets/Mass_Assignment_Cheat_Sheet.html",
  "solved": false,
  "disabledEnv": null,
  "tutorialOrder": null,
  "createdAt": "2021-09-13T17:07:58.516Z",
  "updatedAt": "2021-09-13T17:07:58.516Z"
},

You have a mitigationUrl with information but you don't manage it inside Juice-shop-ctf.
<!-- ✍Simple steps to reproduce this bug.

Install a instance with CTF mode and go to your URL JuiceShop/Challenges
Effectively if you request the Hint and/or HintUrl free/paid it doesn't run.

### Additional Information
Peharps I do something wrong or the Mode CTF on the side JuiceShop Web kill now this informations ?
Or it's just on CTF mode Docker ? I doesn't have push more away, sorry.

Thanks.

When you run Juice Shop in CTF mode hints are turned off in Juice Shop itself. If you use such a server as source for the CTF tool to pull the data, it of course can't contain the hints.
Here's what you should do: Use a Juice Shop server in default mode to pull the data for the CTF tool, then you'll have the hints. Import that into your CTF score server of choice, and then use the Juice Shop in CTF mode for the actual event. Then you have hints only on the central score server and not in the app itself, which is in most cases the intended setup for CTFs.

Easiest is to keep the default demo instance as data source. Then you have the challenges with all needed data in the latest version.

Sorry to insist but I understood the difference between the site in non-CTF mode and in CTF mode.
But my point is that your Juice-Shop-CTF application asks the clear questions:
Insert a text hint along with each challenge?
Insert a hint URL along with each challenge?
Insert a code snippet as hint for each challenge?
With the three choices None, Free, Paid so it's basically done for CTF MODE but when JuiceShop is in this mode you tell me that the information is not there?
So what is the use of these questions ? should we as you say install another instance in non CTF mode to have all this information ?
I really have trouble understanding or I have not understood anything and it can also be ;)

The data for the CTF tool that asks all the questions is pulled from the Juice Shop app you specify in the first question. If that instance is running in a mode where no hints are returned via the API, then it doesn't matter what you pick in the later questions, because the data is simply missing.
Thats why pulling the data from a default instance like demo.owasp-juice.shop is the easiest way to success.


bug: firefox "add files" modal issue

have to refresh page to get rid of it.

I dont have this issue with the latest version in firefox. Can you give more information?

i dont think that this is an issue with the UI. I can try this with Linux later.

i see. well closing the dialog is still an issue. maybe my screen is too small and its hidden. should at least be closable with [ESC] button

I am on Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0
The modal appears when trying to copy any content (CTRL+C)

Interestingly I cannot reproduce the problem on my system anymore. Still the same browser version

I still have the same issue. I uploaded a file once using the file selector and ever since then this Add Files modal randomly appears and doesn't go away unless I refresh the page (despite me not trying to upload any files)

This issue still exists in Firefox 123.0.1. It's somewhat on and off issue. Most reproducible way I have managed to trigger this is by dealing with files in any of the chats. Then opening a new chat (doesn't need to have any file). After that you make the browser inactive, like focus another window in another monitor and that makes the overlay to appear. After that it appears each time the browser loses focus.

we just need to add a close button or close on ESC

we just need to add a close button or close on ESC

That would be nice to have, but it's kind of workaround and doesn't fix the actual issue. It's bit triggering to have a close the modal each time you want to prompt with a workflow that makes use of multiple windows. Once the problem triggers once, it won't stop happening. 🫠

This issue still exists in Firefox 123.0.1. It's somewhat on and off issue. Most reproducible way I have managed to trigger this is by dealing with files in any of the chats. Then opening a new chat (doesn't need to have any file). After that you make the browser inactive, like focus another window in another monitor and that makes the overlay to appear. After that it appears each time the browser loses focus.

Can't reproduce this behavior on Linux Debian with Firefox 115.8.0esr
What deployment type are you using?

What deployment type are you using?
I see this on docker deployment. I tested that flatpak version of Firefox has this problem as well. Have not tested the ESR, but it's rather irrelevant tbh.

Still happens but thanks for adding the option to close it with ESC.
We have two up-to-date Arch Linux setups with KDE Plasma and it only happens on one machine. I tried to reproduce this behavior and while it almost never happens on one machine, with the second PC it's rather peculiar: it only happens when (a lot of?) text is inside the clipboard (e.g. with copying a text from a word document to paste into open webui's textbox). For example, openwebui is open in Firefox:

switching to the word document (change window focus from Firefox to word processor) without copying text from the word document and switching back to Firefox and open webui, the add files modal does not appear.
switching to the word document (change window focus from Firefox to word processor) and copying text from the word document (with the content now inside the clipboard) and switching back to Firefox and open webui, the add files modal does appear.
as long as the content is inside the clipboard, switching between Firefox and other windows will make the add files modal appear when switching back to open webui.
clearing the clipboard solves the issue and as long as nothing new is added, it won't appear.

Don't know if that helps narrowing down the issue, but I thought I'd share.

it almost seems like a browser bug

Hey everyone, I am experiencing the same issue and I think I've found some more information on this. When you encounter the bug, try to clear your clipboard using the KDE Plasma tray icon. As you will notice, once you clear the clipboard, the modal bug does not appear. I doubt this is an open-webui related problem, because I am experiencing similar issues in the github web editor. Whenever I have something in my clipboard, the cursor won't show up in the editor. It's really annoying. I also have issues in WhatsApp Web, when dragging a file inside a chat. You guys will probably have similar problems. Not sure what the cause of this is, but it's definetly a strange bug.

@gibru I just read your post. Can you try and see if both machines are using wayland?

I've just tested using X11 instead of wayland and that does the trick. This seems to be a bug in wayland.

Hey everyone, I am experiencing the same issue and I think I've found some more information on this. When you encounter the bug, try to clear your clipboard using the KDE Plasma tray icon. As you will notice, once you clear the clipboard, the modal bug does not appear. I doubt this is an open-webui related problem, because I am experiencing similar issues in the github web editor. Whenever I have something in my clipboard, the cursor won't show up in the editor. It's really annoying. I also have issues in WhatsApp Web, when dragging a file inside a chat. You guys will
Update: probably have similar problems. Not sure what the cause of this is, but it's definetly a strange bug.
I've just tested using X11 instead of wayland and that does the trick. This seems to be a bug in wayland.

@Cephra
Yes, I use Wayland on both of my machines. Nice find! I've still got some other quirks with it so in a way I'm not suprised ;)

Wayland strikes again! Unless something new comes to light, I am going to close this issue as there's probably not much we can do about it.

A very hacky workaround for uBlock users: add a custom filter rule #dropzone, so the thing won't bother you.


Add support for regression

Now that we have metadata, we should be able to implement a regression module using a metadata field as the training instance label. This will require sgd to be refactored so it can be used for either classification or regression.

Done, including unit tests, as of 73848f7.


small patch cert-manager doc better experience

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #

/retest

looks like we lost https://github.com/envoyproxy/gateway/pull/1945/files during the migration to Hugo


Git, pdo and pdo_mysql are missing ?

Hello,
I do not know if I am alone in this case but this stack is not usable out of the box (tested on windows).

Impossible to do a proper composer install because of git missing on the web image.

When trying to connect to mariadb there is an error yelling that php could not find driver.

After adding git and installing pdo and pdo_mysql I was able to create my database with symfony's console. But, I still have permissions problems...
Did I do something wrong or missed something ? Or is this "normal" ?
Thanks.

Hello,
sorry for those problems you had. Could you please be more specific about how you're running the commands?
For example, the composer install should be like this:
docker-compose run symfony-docker composer --prefer-source install

There's no Git dependency for Composer as far as I know.
Regarding pdo and pdo_mysql extensions, I'll take another look, but it should probably be just a matter of adding the extensions like you said – it's weird that I would forget those.
Please let me know if you still have more issues.

Forget about Git.
However, the driver is actually missing and there is a small problem with memcached.so (its apparently missing from the folder where php-fpm read extensions or something..).
So I know that you can install pdo and pdo_mysql extensions by adding a RUN docker-php-ext-install pdo pdo_mysql  in the Dockerfile.

That's not the ideal. I'll push soon the pdo and pdo_mysql extensions configuration so that this is really out of the box.

We just need something functional and it's weird that no one has reported this before.. I really though that I did something wrong.
We wait for @mathewpeterson 's PR approval :)

It's solved.


Set up docker workflow for living v1.x.x branches

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 92.313%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
17292

Relevant Lines:
18732

💛  - Coveralls


[joy-ui][Badge] Fix typecasting issue of typography in Badge

We need additional size for Badge component and don't have corresponding body-<> level for it

[x] I have followed (at least) the PR section of the contributing guide.

Could you please create a new issue first and provide a CodeSandbox reproduction of the problem you're encountering? You can use this template for the CodeSandbox.

Since there is no response on the above comment, I am closing it.

Here is the codesandbox link https://codesandbox.io/p/sandbox/epic-kate-rlxhwy


UİF Source poblem !

I am getting an error. Can you help me?

Seems like you are compiling the N3Base library with MT (multi threaded static link) flag whereas the linker properties for UIE expects it to be a MD (multi threaded dynamic link) project.
You'll most likely need to compile the base project with either type of the flag (Dynamic link library or Static) and keep using the same for all other libraries that link towards the base.

Hello @muratoflu
some i am having a problem but i couldn't solve

Seems like you are compiling the N3Base library with MT (multi threaded static link) flag whereas the linker properties for UIE expects it to be a MD (multi threaded dynamic link) project.
You'll most likely need to compile the base project with either type of the flag (Dynamic link library or Static) and keep using the same for all other libraries that link towards the base.

is there anyone to help?
@onurcanbektas @srmeier @twostars


Examples on how to bind rust functions?

Is this an embeddable scheme?
If so is there a small example on how to bind a rust function and call it from scheme?

Bleh! Looks like just a toy implementation. :( Sorry!

Sorry @lephyrius -- yes this was just a for-fun project, and is a pretty narrow slice of functionality. It would be quite easy to extend to call rust functions, if your use case is on the simple side and you don't need much of the stdlib/types in Scheme.

Sorry @lephyrius -- yes this was just a for-fun project, and is a pretty narrow slice of functionality. It would be quite easy to extend to call rust functions, if your use case is on the simple side and you don't need much of the stdlib/types in Scheme.