how to disable eslint lint unsaved file

This file is created by https://github.com/tjx666/vscode-adobe-extension-devtools/blob/master/src/photoshop/descriptorInfoEditor.ts#L15
I find eslint lint this file but doesn't use the eslint config in my project root

That's really weird, the file type is jsonc which ESLint shouldn't even be trying to lint at all...
Could you please share the contents of your .eslintrc file?

However from the included picture it does make sense that the .eslintrc file with the arrow isn't being used for that JSON file, since that JSON file isn't a child in the folder structure. Try running npx eslint --print-config filename, where filename is the path to that JSON file.

Try running npx eslint --print-config filename, where filename is the path to that JSON file.

That file doesn't exists on desk, it is a untittle file but renamed.
check here: https://github.com/tjx666/vscode-adobe-extension-devtools/blob/master/src/photoshop/descriptorInfoEditor.ts#L15

Actually, you currently can't disable eslint validation for an untitled file if the file type is configurated to be validated. If an untitled file is validated, it is validated in the context of the workspace folder.

Why on earth isn't this an option from the beginning?!
Are we supposed to use a different editor to store our copy-pasted snippets? Or is there some other feature I don't know about to store random copy pasted crap into that is not autolinted without any option to turn linting off?
It would not be as annoying if only it waited until we saved or if the auto-guessing of file-type didn't so aggressively guess filetype despite what I'm pasted only vaguely looking like valid js.. (I've even gotten eslint errors on css snippets and paragraphs of texts pasted into a new empty file just because of one random camelCase word made it stupidly assume it was Javascript somehow...)


Unable to select and copy text

Hello,
I am unable to select part of a PDF document.  Please find the download link:
http://www.files.com/set/53d7b88365ba0
Environment:
PDF.js - 1.0.68
Browser: Chrome (latest) and Firefox version 30
I have checked with the latest version of PDF.js (1.0.277) and beta version (1.0.473) and the problem persists.  Here is the screen shot showing the problem:

The DIV positions when seen in Chrome's browser inspector, shows there is an overlap in the positions of the generated DIVs.
This issue is affecting copy/paste of the text from the PDF file as well.
Thanks.

Closing as fixed in the latest development version.


[FEATURE] Email Address Regular Expression

Description:

A regular expression is an object that describes a pattern of characters. Regular expressions are used to perform pattern-matching and "search-and-replace" functions on text.

Can you suggest some regular expression that we can use in our application ? @MarOuanEElHiTaRY

done, shared via drive


Multiple images being retrieved from streetview api for a single year

Problem: Either duplicate images or multiple months in a single year are being downloaded and making the DB relations messy

Fixed via #26


Operations go missing before broadcasting

Hello
First off, thank you for this excellent gem. I'm running 4.3.0, and developing on OSX with Ruby 2.7.1 and Rails 6 master.
I believe I've found a concurrency problem in the CableReady::Channels singleton.
My app will occasionally enqueue 1000s of Sidekiq jobs in a very short period of time, each of which will generate a small number of morph operations and then broadcast them. A rather small percentage of these jobs will consistently fail inside cable_ready, be re-queued, and later succeed once the queue has shrunk.
The error is:
NoMethodError (undefined method `broadcast' for nil:NilClass):
cable_ready-4.3.0/lib/cable_ready/channels.rb:56:in `block (2 levels) in broadcast'

And occurs on here:
https://github.com/hopsoft/cable_ready/blob/master/lib/cable_ready/channels.rb#L56
channels.each { |channel| @channels[channel.identifier].broadcast(clear) }

From what I can see with some debug statements is the @channels instance var is an empty hash on line 56, despite having to have had keys/values on line 52 to select on line 54.
Unfortunately I'm not very familiar with this kind of problem, so not sure if there's anything I can do to mitigate it from my application code. I'm currently working around it by forcing Sidekiq to have a concurrency of 1, but I'm not sure how performant that would be in production.
My job class for reference:
class BroadcastJob < ActiveJob::Base
  queue_as :default
  sidekiq_options retry: 5
  include CableReady::Broadcaster

  def perform(object)
    cable_ready["subscription-#{object.subscription_id}"].morph(
      selector: "#object_#{object.id}",
      html: renderer.render(partial: "subscriptions/row", locals: { object: object })
    )

    cable_ready["month-#{object.month_id}"].morph(
      selector: "#object_#{object.id}",
      html: renderer.render(partial: "months/row", locals: { object: object })
    )

    cable_ready.broadcast
  end

  private

  def renderer
    @renderer ||= ApplicationController.renderer.new(https: true)
  end
end

Many thanks for any assistance you can provide!

On further consideration, I imagine the "missing" operations may have still been broadcast, just by a different process to the one that added it to @channels. Though perhaps it's just as possible that the except! on line 57 could cause actual loss if another process added an operation in the meantime.

Hey Barry,
Yikes concurrency issues can be hard to track down. However, there's a good chance that you're running into a known Sidekiq issue. Did you know know that sk officially might run each operation more than once?
This means that if you're using the same queue for broadcasts as you fo for other tasks - maybe you shouldn't? - you have to make sure that your jobs are idempotent.
That means that you could have a status flag on a table, or you could create a key in Redis. Either way, if your job is idempotent, your problem should be moot via superior engineering - surely the most satisfying way to solve any problem.

Hello, thank you for your reply. The job I described above is idempotent, and I don't mind rendering the object more than once. And yes, I'm aware that Sidekiq runs multiple threads by default, and will retry jobs on failure. However my understanding is that having separate queues is a matter of defining priority, not a solution for concurrency issues.
The problem I'm reporting is that code in the gem is attempting to call a method on a nil reference. I'm not sure you've responded to that (my apologies if I've missed something), so should I take that to mean you don't feel it's a cable_ready problem? Do I need deal with the concurrency issue in the application code because the gem is not thread-safe? It doesn't feel right to rescue/ignore `NoMethodError, but the alternative is a lot of noise in my exception tracker even if everything works out fine in the end.
Also, to my understanding it would also be possible to define an operation and have it broadcast prematurely if another thread happens to call cable_ready.broadcast at the right time, even in a completely different context?
I've had some luck in my test case by wrapping all the cable_ready code in a mutex, but I'd have to share this mutex across my entire app to cover all the instances of cable_ready, as any one of them could unexpectedly clear the @channels hash and cause an exception elsewhere. This doesn't feel right either.
As I say, I'm not particularly experienced in concurrency issues (yet!), so please do. tell me if I've got the wrong end of the stick, but the simple solution seems to just be a nil check in the gem before cable_ready calls broadcast in its channels loop on line 56. If it is nil, then some other thread has got there first and has already broadcast the operation, no problem.
What do you think?

Thanks for clarifying. No need to jump to conclusions about what I'm "trying" to say, much less decide. We get a lot of requests for help from people who insist that they've covered the basics, but then they haven't - so you can appreciate that I have to ask questions about what you've tried.
I agree that it does seem as though two jobs are both attempting to operate on the same channels[identifier] object, and it is generating uncomfortable side effects.
Putting a & character before .broadcast would likely fix your logging in the short term, but ultimately I suspect that the contents of the broadcast and broadcast_to methods are going to need to be wrapped in a Mutex.
If you're already set up to do the work, could you try swapping out the broadcast method with this:
def broadcast(*identifiers, clear: true)
  mutex = Mutex.new
  mutex.synchronize do
    @channels.values
      .reject { |channel| identifiers.any? && identifiers.exclude?(channel.identifier) }
      .select { |channel| channel.identifier.is_a?(String) }
      .tap do |channels|
        channels.each { |channel| @channels[channel.identifier].broadcast(clear) }
        channels.each { |channel| @channels.except!(channel.identifier) if clear }
      end
  end
end

then re-run your test scenario and tell me if you're still seeing the issue?

Hello, moving the mutex into the broadcast methods has resolved the problems I was seeing. I had to use a shared mutex to get it to work. I've submitted a PR with the changes.


Update CF Java Client and Spring CredHub dependencies.

CFJC 3.14 allows for the remove of some custom polling on service updates.

Codecov Report

Merging #179 into master will decrease coverage by 0.09%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             master     #179     +/-   ##
===========================================
- Coverage     86.34%   86.24%   -0.1%
+ Complexity      666      662      -4
===========================================
  Files            80       80
  Lines          2072     2057     -15
  Branches        107      107
===========================================
- Hits           1789     1774     -15
  Misses          210      210
  Partials         73       73

Impacted Files
Coverage Δ
Complexity Δ

...deployer/cloudfoundry/CloudFoundryAppDeployer.java
79.78% <ø> (-1.03%)
55 <0> (-4)

Continue to review full report at Codecov.

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


Remove enable_grad statements

There are a couple of places where the gradients are enabled
https://github.com/mortonjt/garfunkel/blob/master/deepblast/alignment.py#L72
https://github.com/mortonjt/garfunkel/blob/master/deepblast/alignment.py#L84
These statements may not be needed (and may confound the validation step).  We probably should remove these statements.

After looking into this more carefully, it looks like we need these statements in order to evaluate the needleman-wunsch algorithm.


#Pragma Conference 17

Is it possible to add a conference that it's over? #Pragma Conference 2017.

Ciao @darthpelo Pragma Conference 2017 was already listed ( https://github.com/amobconf/awesome-mobile-conferences/blob/master/contents.json ) but the readme generator was skipping that.
Btw I managed to tweak the generator creating a new section Past where all the finished conference are listed automatically.
Thank you for your suggestion!


[Event Change] CU444 "Purchase-Post Prepayments" - procedure UpdatePurchaseDocument()

------------------ Change IntegrationEvent Attribute ----------------------
IncludeSender : true, GlobalVarAccess : true
-------------------------------------------------------------------------------

[IntegrationEvent(TRUE, TRUE)]
local procedure OnBeforeModifyOnPurchaseLine(var PurchLine: Record "Purchase Line")
begin
end;

GlobalVarAccess was deprecated in 16.x, there is concept of protected var instead. You can list here the global vars that have to be protected and accessible from extensions.
Please put the code surrounding the place, where you expect a new event call, as a text not as a screenshot.
It helps us finding the right place quickly if you put enough code to identify the unique place.


libreoffice 4.4.1

Bump, and license update. The license document inside the DMG says it is MPLv2:

This product is made available subject to the terms of the Mozilla Public License, v. 2.0. A copy of the MPL Version 2 license can be found below.

Looks good, thanks! :+1:


Fixed purify config to support del for trix editor

Changed the config/purify.php file to allow saving  tags from trix editor.

Thanks!
Just added tests.


Java Enum valueOfLabel parameter has to explicitly casted to String

Describe the bug
Related to #3584
Introduced in #3585
Sorry my MR introduced the bug
For
input SearchUser {
  sort: ResultSort
}

enum ResultSort {
  ASC
  DESC
}

Generated java is
public SearchUserInput(Map<String, Object> args) {
  if (args != null) {
    if (args.get("sort") instanceof ResultSort) {
      this._sort = (ResultSort) args.get("sort");
     } else {
       this._sort = ResultSort.valueOfLabel(args.get("sort"));
    }
 }
}

However, args.get("sort") is of type Object while parameter of ResultSort.valueOfLabel is String.


Sprockets::FileNotFound: couldn't find file 'jquery' with type 'application/javascript'
Checked in these paths:
/opt/postal/app/app/assets/config
/opt/postal/app/app/assets/fonts
/opt/postal/app/app/assets/images
/opt/postal/app/app/assets/javascripts
/opt/postal/app/app/assets/stylesheets
/opt/postal/app/vendor/assets/javascripts
/opt/postal/app/vendor/assets/stylesheets
/opt/postal/vendor/bundle/ruby/2.3.0/gems/turbolinks-source-5.0.0/lib/assets/javascripts
/opt/postal/app/app/assets/javascripts/application/application.coffee:1
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/resolve.rb:65:in resolve!' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:399:in resolve'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:207:in process_require_directive' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:180:in block in process_directives'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:178:in each' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:178:in process_directives'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:83:in _call' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:68:in call'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in call_processor' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in block in call_processors'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in reverse_each' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in call_processors'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:134:in load_from_unloaded' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in block in load'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in fetch_asset_from_dependency_cache' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in load'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in block in initialize' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in load'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:23:in block in call' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/utils.rb:200:in dfs'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:24:in call' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in call_processor'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in block in call_processors' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in reverse_each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in call_processors' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:134:in load_from_unloaded'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in block in load' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in fetch_asset_from_dependency_cache'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in load' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in block in initialize'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in load' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/base.rb:66:in find_asset'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/base.rb:73:in find_all_linked_assets' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:142:in block in find'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:114:in block (2 levels) in logical_paths' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:228:in block in stat_tree'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:212:in block in stat_directory' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in stat_directory' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:227:in stat_tree'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:231:in block in stat_tree' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:212:in block in stat_directory'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in each' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in stat_directory'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:227:in stat_tree' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:105:in each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:105:in block in logical_paths' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:104:in each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:104:in logical_paths' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:140:in find'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:185:in compile' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:68:in block (3 levels) in define'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/rake/sprocketstask.rb:147:in with_logger' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-rails-3.2.0/lib/sprockets/rails/task.rb:67:in block (2 levels) in define'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/rake-11.3.0/exe/rake:27:in <top (required)>' /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:74:in load'
/opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:74:in kernel_load' /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/cli/exec.rb:27:in run'
/opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/cli.rb:362:in exec' /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/cli.rb:22:in dispatch' /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/cli.rb:13:in start' /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/exe/bundle:30:in block in <top (required)>'
/opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/lib/bundler/friendly_errors.rb:121:in with_friendly_errors' /opt/rh/rh-ruby23/root/usr/local/share/gems/gems/bundler-1.15.4/exe/bundle:22:in <top (required)>'
/bin/bundle:23:in load' /bin/bundle:23:in '
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Thanks

I'm confused, why are you running postal initialize?

the error occurs in a fresh installation in centos 7.

Ah well at the minute Postal is only supported for Ubuntu 16.04. Please study https://github.com/atech/postal/wiki/Quick-Install for more details.
You might be able to get it working but you'll have to change the setup script to use yum etc and I don't think we'll be able to support you much.

I have postal running smoothly on centos 7. I just had to install an older version, and then upgrade to the latest - it works. It seems to be more a ruby environment issue than postal problem itself. It would be nice to helping contributing with quick-install for centos 7 when I found out why this happened.

It might be that some of the ruby packages are older in the default Centos repository or something along those lines.
I wouldn't be surprised if the age of packages would be an issue for your Centos experience, if you're able to figure out an install script, it may be that you can include an extra repository to match the Ubuntu versions of things.
Good luck!

Hi there,
I've also the same issue on Ubuntu 16.04 within "postal upgrade":

/opt/postal/app# postal upgrade
Compiling Assets
rake aborted!
Sprockets::FileNotFound: couldn't find file 'jquery' with type 'application/javascript'
Checked in these paths:
/opt/postal/app/app/assets/config
/opt/postal/app/app/assets/fonts
/opt/postal/app/app/assets/images
/opt/postal/app/app/assets/javascripts
/opt/postal/app/app/assets/stylesheets
/opt/postal/app/vendor/assets/javascripts
/opt/postal/app/vendor/assets/stylesheets
/opt/postal/vendor/bundle/ruby/2.3.0/gems/jquery-ui-rails-4.2.1/app/assets/images
/opt/postal/vendor/bundle/ruby/2.3.0/gems/jquery-ui-rails-4.2.1/app/assets/javascripts
/opt/postal/vendor/bundle/ruby/2.3.0/gems/jquery-ui-rails-4.2.1/app/assets/stylesheets
/opt/postal/vendor/bundle/ruby/2.3.0/gems/turbolinks-source-5.0.3/lib/assets/javascripts
/opt/postal/vendor/bundle/ruby/2.3.0/gems/rails-ujs-0.1.0/dist
/opt/postal/app/app/assets/javascripts/application/application.coffee:1
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/resolve.rb:65:in resolve!' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:399:in resolve'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:207:in process_require_directive' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:180:in block in process_directives'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:178:in each' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:178:in process_directives'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:83:in _call' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/directive_processor.rb:68:in call'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in call_processor' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in block in call_processors'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in reverse_each' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in call_processors'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:134:in load_from_unloaded' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in block in load'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in fetch_asset_from_dependency_cache' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in load'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in block in initialize' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in load'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:23:in block in call' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/utils.rb:200:in dfs'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:24:in call' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in call_processor'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in block in call_processors' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in reverse_each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in call_processors' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:134:in load_from_unloaded'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in block in load' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in fetch_asset_from_dependency_cache'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in load' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in block in initialize'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in load' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/base.rb:66:in find_asset'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/base.rb:73:in find_all_linked_assets' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:142:in block in find'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:114:in block (2 levels) in logical_paths' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:228:in block in stat_tree'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:212:in block in stat_directory' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in stat_directory' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:227:in stat_tree'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:231:in block in stat_tree' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:212:in block in stat_directory'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in each' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:209:in stat_directory'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:227:in stat_tree' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:105:in each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:105:in block in logical_paths' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:104:in each'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:104:in logical_paths' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:140:in find'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/sprockets/manifest.rb:185:in compile' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/task.rb:68:in block (3 levels) in define'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-3.7.1/lib/rake/sprocketstask.rb:147:in with_logger' /opt/postal/vendor/bundle/ruby/2.3.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/task.rb:67:in block (2 levels) in define'
/opt/postal/vendor/bundle/ruby/2.3.0/gems/rake-12.1.0/exe/rake:27:in <top (required)>' /var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/cli/exec.rb:75:in load'
/var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/cli/exec.rb:75:in kernel_load' /var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/cli/exec.rb:28:in run'
/var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/cli.rb:424:in exec' /var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in run'
/var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in invoke_command' /var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/vendor/thor/lib/thor.rb:387:in dispatch'
/var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/cli.rb:27:in dispatch' /var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in start'
/var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/cli.rb:18:in start' /var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/exe/bundle:30:in block in <top (required)>'
/var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/lib/bundler/friendly_errors.rb:122:in with_friendly_errors' /var/lib/gems/2.3.0/gems/bundler-1.16.0.pre.2/exe/bundle:22:in <top (required)>'
/usr/local/bin/bundle:22:in load' /usr/local/bin/bundle:22:in '
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

Many thanks for any help.
Best regards
Reto

Do you know when you last successfully updated Postal or when you installed it if you haven't ever updated?

Hi @willpower232
The issue occured after a postal upgrade.
Before it never happened (I've done a few updates in the past).
Best regards
Reto

Without knowing roughly when you updated before yesterday it will be difficult to replicate. Probably better someone who knows ruby better hop in at this point.

I had the same problem. At the moment I solved it by modifying Gemfile:
-group :development, :assets do
-  gem 'sass-rails', '~> 5.0'
-  gem 'uglifier', '>= 1.3.0'
-  gem 'coffee-rails', '~> 4.2'
-  gem 'jquery-rails'
-end
+gem 'coffee-rails', '~> 4.2'
+gem 'jquery-rails'
+gem 'uglifier', '>= 1.3.0'
+gem 'sass-rails', '~> 5.0'

With that change, I could upgrade postal to the last development version (which I need because of  #268).

@afanjul as above, you need to modify the gemfile to remove the specific group markers so that the four gems are always installed then you can re-run postal upgrade

OK! it sounds a bit akward (to remove the compiling group) but it works like a charm!!! So based that I'm o a perfectly supported Ubuntu 16.04, with a postal server that was running. I think this should be considered as a bug, and correct it, isn't it?
I don't know ruby so I can't figure out what is the reason behind this...   sorry

I'm not show the environment is toggled but it looks like the production environment should have precompiled assets so doesn't need the extra gems. It might be that a more recent commit accidentally set production mode all the time so upgraders have a bad time


Segmentation fault  setting DISPLAY for ssh X11Forwarding

Trying to run opengraphiti remotely and display on my mac:
Hostname per ssh -X:
Tims-MacBook-Air-2:ssh Tim$ ssh -X  -f<EMAIL_ADDRESS>"echo $HOSTNAME"
<EMAIL_ADDRESS>password:  xxxxxx
Tims-MacBook-Air-2:ssh Tim$ Tims-MacBook-Air-2.local

Running this, results in Segmentation fault
Tims-MacBook-Air-2:ssh Tim$ ssh -X  -f<EMAIL_ADDRESS>"export DISPLAY=Tims-MacBook-Air-2.local:10.0;/usr/local/dataviz/graphiti/graphiti dashboard"
<EMAIL_ADDRESS>password:
Tims-MacBook-Air-2:ssh Tim$ bash: line 1:  6911 Segmentation fault    /usr/local/dataviz/graphiti/graphiti dashboard

linode.secretsite.com sshd_config:
hawk600:~# cd /etc/ssh
hawk600:/etc/ssh# grep ^X11 sshd_config
X11Forwarding yes
X11DisplayOffset 10

This has been fixed.  The issue was unrelated to opengraphiti.


Unpin and upgrade to numpy>=2.0

ruff check . --select NPY201 detected the following on xtrack, xdeps, nothing on xobjects
ducktrack/be_beamfields/propagate_sigma_matrix.py:10:16: NPY201 [*] `np.float_` will be removed in NumPy 2.0. Use `numpy.float64` instead.
xdeps/optimize/jacobian.py:36:33: NPY201 [*] `np.float_` will be removed in NumPy 2.0. Use `numpy.float64` instead.

For the new string we could use this:
with np.printoptions(legacy="1.25"):

instead of this workaround https://github.com/xsuite/xdeps/commit/10766f66f099e44df05829d10ff945d4c7e1f1bc


Ensure PRs against crowbar-ha/ceph are tested properly

Why is vxlan required for HA testing?  Would be nice if you explained that in the commit message.

Gate failed with timeout, have forced a rebuild.

@aspiers Its just so that PR's are tested the same way like non-PR runs would be.

+1

+1 but can't merge since the branch is out of date. Thanks github :-/

+1


onboarding/profile

you have to give information in onboarding, but there is no way to change/edit this

still in progress and will be done later in the profile user story


Feat setup domian entities

Check your naming conventions, they are not consistent

Also, separate the aggregates by folders

Also, separate the aggregates by folders

Fixed


[<IP_ADDRESS>] Cannot leave the Residence

In the quest "Path to Glory" the party are gifted the Residence. I can enter it, but cannot exit it again. I think this is due to the blue teleporter thing being 2x2. I have 6 in my party and obviously they cannot fit in the 4 squares of the exit grid.

Please read https://www.reddit.com/r/CrownOfTheMagister/comments/zyrb34/unfinished_business_6_player_issues/

Works perfectly. Thanks


How to upload a json file?

I want to upload a json file to ES, but there is no description in the documentation.
Who can tell me how to upload the json file？
The document is not very complete. Who can perfect it?

Hey @Eric-L90 thanks for your interest in Conveyor and sorry that everything is still a little rough around the edges. We're continually working to improve the functionality and documentation of this project and several others we're working on.
We actually haven't created a data source for JSON files yet, but would be happy to work with you to create one. Can you share the JSON file you're trying to upload or can you tell me some things about it?

Is the top level structure an object or an array?
How big is the file?
Is it just a single file or are you trying to upload multiple files at once?


script must prefer newer versions of packages

IMHO, I encountered an error in the script:
I use ubuntu 18.04 with pre-installed curl package. Using curl I download the current version of the agent.
When I run this script, curl package is deleted because in its current version, it depends on libcurl4 package, however, the script prefers to install libcurl3, which leads to the removal  of libcurl4 and curl packages as well. as a result, if I need use curl later,I will need to reinstall it, which in my opinion is incorrect.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: zverev-iv sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


No pivot alias when using paginate on a chained query in L5

Auth::user()->conversations()->paginate(20)

Queries like the one above are not using a pivot alias when using paginate (works fine with get() and also paginate() in Laravel 4).
When used in conjunction with ->with(), it uses the conversation_user pivot table ids to eager load instead of the conversations id.
So a query like this below is selecting the messages by the id of pivot table instead of the conversation id
Auth::user()->conversations()
            ->with(array('messages' => function($query) {
                $query->orderBy('created_at', 'desc');
             }))
             ->paginate(20);

When using get() my queries are as
select * from `users` where `users`.`id` = '3' limit 1
select `conversations`.*, `conversation_user`.`user_id` as `pivot_user_id`, `conversation_user`.`conversation_id` as `pivot_conversation_id` from `conversations` inner join `conversation_user` on `conversations`.`id` = `conversation_user`.`conversation_id` where `conversation_user`.`user_id` = '3'
select * from `messages` where `messages`.`conversation_id` in ('1', '2', '3', '4', '5', '6', '7', '8') order by `created_at` desc

Which use the correct ids of ('1', '2', '3', '4', '5', '6', '7', '8')
When using paginate() in Laravel 5 they are as
select * from `users` where `users`.`id` = '3' limit 1
select count(*) as aggregate from `conversations` inner join `conversation_user` on `conversations`.`id` = `conversation_user`.`conversation_id` where `conversation_user`.`user_id` = '3'
select * from `conversations` inner join `conversation_user` on `conversations`.`id` = `conversation_user`.`conversation_id` where `conversation_user`.`user_id` = '3' limit 20 offset 0
select * from `messages` where `messages`.`conversation_id` in ('1', '3', '5', '7', '9', '11', '13', '15') order by `created_at` desc

Which use the user_conversation pivot table ids of ('1', '3', '5', '7', '9', '11', '13', '15')

I just tried to get past it by using withPivot() to select everything but the ids of the pivot table, but it is not having any effect when using paginate() like the alias problem above. withPivot() works fine when I use get() instead of paginate() though.
In my model I have written
public function conversations() {
        return $this->belongsToMany('App\Conversation')->withPivot(['user_id', 'conversation_id', 'is_deleted', 'is_unread']);
}

Using paginate() gives me this query which doesn't alias the pivot table or even select my pivot columns I asked for.
select * from `conversations` inner join `conversation_user` on `conversations`.`id` = `conversation_user`.`conversation_id` where `conversation_user`.`user_id` = '3' limit 20 offset 0

Using get() gives me the alias and the columns I asked for.
select `conversations`.*, `conversation_user`.`user_id` as `pivot_user_id`, `conversation_user`.`conversation_id` as `pivot_conversation_id`, `conversation_user`.`is_deleted` as `pivot_is_deleted`, `conversation_user`.`is_unread` as `pivot_is_unread` from `conversations` inner join `conversation_user` on `conversations`.`id` = `conversation_user`.`conversation_id` where `conversation_user`.`user_id` = '3'

I've got the same issue. But I've just described it a bit differently in #7404

Sorry I didn't see that you had written about this previously, or I would have added to yours.

Could you comment on the original please to keep this in one place.


included an optional ticket in changePassword function to allow for c…

This is the nhost-js SDK changes to enable changing password for users that are not logged in but have a valid password reset ticket. See backend hasura-auth PR here: hasura-auth #186
I believe this should work, I struggled a little as I haven't used the machines that you use to create the request that goes into the backend (looks very impressive, nice work by the way). Have a look and let me know if this would work !

Hey @Svarto, sorry for not responding to this PR earlier.
Your work on this feature is highly appreciated. We'll review it soon.

@szilarddoro @elitan just checking back here, the backend hasura-auth PR got released in 0.10.0. Is there a timeline for this to also be released?

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@635d82b). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #679   +/-   ##
=======================================
  Coverage        ?   93.44%
=======================================
  Files           ?       42
  Lines           ?     6437
  Branches        ?      377
=======================================
  Hits            ?     6015
  Misses          ?      422
  Partials        ?        0

Continue to review full report at Codecov.

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


Basic minor improvements

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (c0e055b) to head (185af5a).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #46   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           65        65
  Lines         2984      2984
=========================================
  Hits          2984      2984

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Multiple checks for keys in check_sourcable function

There are multiple checks for certain keys in the check_sourcable
function
which can be made by iterating through various dictionaries rather than
calling the
keys() function on the dictionaries. Here we update the checks for keys
directly
against the dictionaries.
Fixes: #1042
Signed-off-by: sayantani11<EMAIL_ADDRESS>

Thanks for the PR @sayantani11. One small nit - can you fix the line spacing on your commit? There's some odd new lines in there and it should all be one paragraph. For an example see how it's formatted in my comment here.

Thanks!


Fixing whitespaces and tailing spaces

Fixing whitespaces and tailing spaces. Minor stuff, not important

Something went wrong while merging master into pull request. Will close this one, open a fresh one.


error: 'ping_option' does not name a type

Hello, I am trying to ping devices on my lan. I am using a Wemos D1R2 and platformio. With the las release of ESPping I got the following error con compile:
\libdeps\d1_mini\ESPping\src/ESPping.h:63:12: error: 'ping_option' does not name a type
63 |     static ping_option _options;
|            ^~~~~~~~~~~
*** [.pio\build\d1_mini\src\Ping.ino.cpp.o] Error 1

Hi,
release 1.0.2 compile with arduino ide 2.0 and wemos d1 r2 & mini ( esp8266 hardware package 3.1.2 )
ping_option is from esp8266 hardware package : witch release have you  install in platformio ?

Hello, I am also facing same issue. I have installed<EMAIL_ADDRESS>from platformio.

compiling well with arduino ide
ping_option is defined in ping.h,,  libraries from esp8266 sdk

I am trying from platformio , maybe there is a problem with platformio or this library is not compatible with platformio

I have save problem on platfotrmio<EMAIL_ADDRESS>In file included from src\main.cpp:13:
.pio\libdeps\esp8266\ESPping\src/ESPping.h:63:5: error: 'ping_option' does not name a type
63 |     ping_option _options;

I have the same problem on platformio while compiling for ESP8266 related hardware. I tried for NodeMCU.
It compiles flawlessly for ESP32 related hardware. I tried for S2 Mini.
NOTE: Problem does not exist in Ardruino IDE. It is only in PlatformIO.

Solved the issue. The reason compilation failed for ESP8266 related hardware was because "ping.h" was not being taken from the ESP8266 SDK library. It was always taking the "ping.h" in the src folder which had definitions only for ESP32.
Rename the "ping.h" in the src folder to ping32.h and change the #include references accordingly. Then it works. Checked it in PlatformIO both for S2 mini and NodeMCU.
NOTE: I haven't checked it in Arduino IDE.
@dvarrel You might have to rename the file or any other better way.

fine, i've renamed ping.h to ping32.h. no change in arduino IDE. is  it ok with platformio ?

Checked for S2 mini and NodeMCU hardware. It works.
NOTE: Had to use https://github.com/dvarrel/ESPping @ ^1.0.3 as the propagation of the update was taking time.
@dvarrel Thank you


Redundant typeof check

Redundant typeof check in jest-cli/src/cli/index.ts in readResultsAndExit
https://github.com/MLH-Fellowship/jest/blob/a35b9cc686e542064d6622dd1886c13a509465f5/packages/jest-cli/src/cli/index.ts#L121
Not a major issue, feedback required

@kunal-kushwaha Yeah, it does seem to be a redundant check here. We can include this fix too, in the main PR #6
// Here testFailureExitCode has type as number
const code = !result || result.success ? 0 : globalConfig.testFailureExitCode;

// ✗✗ The typeof code === 'number' check looks redundant to me, as explained above ✗✗
if (typeof code === 'number' && code !== 0) { ... }


Handling Null Object during model binding [AspNetCore / MVC5 / WebApi]

Hi,
I have an API and when request comes to my controller, I want to call Validate function. However, I firstly have to check if the request object is null or not. Otherwise, ArgumentNullException occurs. I created my concrete validator against this situation like below.
public class ConcreteValidator : AbstractValidator<DummyClass>
{
    public ConcreteValidator()
    {
        ...
    }

    public override ValidationResult Validate(ValidationContext<OrderClass> context)
    {
        if (context.InstanceToValidate == null)
            return new ValidationResult(new List<ValidationFailure>{new ValidationFailure("Dummy", "Instance should not be null")});
        return base.Validate(context);
    }

    public override Task<ValidationResult> ValidateAsync(ValidationContext<OrderClass> context, CancellationToken cancellation = new CancellationToken())
    {
        if (context.InstanceToValidate == null)
            return Task.FromResult(new ValidationResult(new List<ValidationFailure>{new ValidationFailure("Dummy", "Instance should not be null") }));
        return base.ValidateAsync(context, cancellation);
    }
}

In situations that I accept null objects as valid, I create my derived/concrete validator classes like below.
public class ConcreteValidator : AbstractValidator<DummyClass>
{
    public ConcreteValidator()
    {
        ...
    }

    public override ValidationResult Validate(ValidationContext<OrderClass> context)
    {
        if (context.InstanceToValidate == null)
            return new ValidationResult();
        return base.Validate(context);
    }

    public override Task<ValidationResult> ValidateAsync(ValidationContext<OrderClass> context, CancellationToken cancellation = new CancellationToken())
    {
        if (context.InstanceToValidate == null)
            return Task.FromResult(new ValidationResult());
        return base.ValidateAsync(context, cancellation);
    }
}

My question is that: Is there any good solution to do null check and other validation checks in the same validation class. Would you give me some advice on how to achieve this without overriding Validate and ValidateAsync methods.
A possible solution may be adding pre- and post- pipes in AbstractValidator.
My basic idea is:
public virtual ValidationResult Validate(ValidationContext<T> context) {
    context.Guard("Cannot pass null to Validate.", nameof(context));
    ValidationResult shortcut = PreValidation(context.InstanceToValidate);
    if(shortcut != null)
        return shortcut;
    EnsureInstanceNotNull(context.InstanceToValidate);
    var failures = NestedValidators.SelectMany(x => x.Validate(context));
    return new ValidationResult(failures);
}

/// <summary>
/// PreValidation operation is executed. If return null as result, Validate will be executed.
/// If return ValidationResult object as result, Validate operation return immediatly this result.
/// </summary>
/// <returns>A ValidationResult object. Default method return null.</returns>
protected virtual ValidationResult PreValidation(object instanceToValidate) => Noop();

private ValidationResult Noop() {
	return null;
}

In this case, people can use PreValidation method with different scenarios such as null instance assumed valid
protected override ValidationResult PreValidation(object instanceToValidate) {
	ValidationResult shortcut = null;
	if (instanceToValidate == null)
		shortcut = new ValidationResult();
	return shortcut;
}

or scenarios such as null instance not valid. In this case, exception does not occur, but validationResult.IsValid returns false.
protected override ValidationResult PreValidation(object instanceToValidate) {
    ValidationResult shortcut = null;
	if (instanceToValidate == null)
		shortcut = new ValidationResult(new[] {new ValidationFailure("MyClassName may be used", "MyClass should be supplied")});
	return shortcut;
}

At the moment your approach is the best way to do this.
FluentValidation does already have Pre/Post validate hooks when working with MVC/WebApi through the IValidatorInterceptor interface which you can implement on your validator, but this doesn't currently support doing what you want.
I like your idea though, so I'll extend IValidatorInterceptor to handle this for the next release.
I'm currently thinking that you could just return null from BeforeMvcValidation
public class MyValdiator : AbstractValidator<Person>, IValidatorInterceptor {
  public MyValidator() {
     // ... rules
   }

  public ValidationContext BeforeMvcValidation(HttpActionContext cc, ValidationContext context) {
    if (context.InstanceToValidate == null) {
      return null;
    }

    return context;
  }
}

This would then cause validation to be skipped entirely.
Would that work for you?

I came up with another solution that I have found inspired by your method. This might be more useful because it would work for all project types.
I think, FluentValidation package should contain IValidatorInterceptor interface, because 'Interceptor' is not used in web applications only.
Let's imagine that:
- There is `IValidatorInterceptor` interface and it has two methods: bool BeforeValidation(ValidationContext context, ValidationResult validationResult)` and ` void AfterValidation(ValidationContext context, ValidationResult validationResult)`
- `AbstractValidator` has a property such as `protected IValidatiorInterceptor validatiorInterceptor`.
- `AbstractValidator`'s `Validate` method is changed like below:

  public virtual ValidationResult Validate(ValidationContext<T> context) {

    validationResult result = new ValidationResult();

    if(validatorInterceptor != null)
    {
        bool continue = validatorInterceptor.BeforeValidation(context, result);
        if(!continue)
            return result;
    }

	context.Guard("Cannot pass null to Validate.", nameof(context));
	EnsureInstanceNotNull(context.InstanceToValidate);
	var failures = NestedValidators.SelectMany(x => x.Validate(context));
    result.Errors.AddRange(failures);

    if(validatorInterceptor != null) {
        validatorInterceptor.AfterValidation(context, result);
    }

	return result;
}

In this solution, user can configure everything in validator class. When user calls Validate, both interceptor and Rules (IValidator) run.
Sample usage:
public class MyValidator : AbstractValidator<DummyClass>
{
    Public MyValidator()
    {
        validatorInterceptor = new NullInstanceInterceptor();
        ....
    }
}

public class NullObjectInterceptor : IValidatorInterceptor {
	public bool BeforeValidation(ValidationContext context, ValidationResult validationResult) {
		bool next = true;

		if (context.InstanceToValidate == null) {
			validationResult.Errors.Add(new ValidationFailure("Object", "Instance should not be null"));
			next = false;
		}

		return next;
	}

	public void AfterValidation(ValidationContext context, ValidationResult validationResult) {
	}
}

If we put IValidatorInterceptor in 'FluentValidation` package, it can be used for console applications, windows services etc.
We can imagine a scenario such as:
- There is an appliation that uses message queue
- When message is published by producer, consumer's method invoke with `Message` object. `Message` is a general class
- There is "T MessageContent' property in `Message`
- It can be checked if the object is null or not by using 'IValidatiorInterceptor' class in 'TValidator' class

Windows Services and Console Appliations does not contains AspNetCore.Mvc package. Hence, current IValidatiorInterceptor interfaces not useful in this case. Therefore, it might be useful to put ValidatiorInterceptor interface in FluentValidation package

ValidatorInterceptor has a hard dependency on the MVC HttpContext, so it isn't something that can go into the core FluentValidation package unfortunately. We'd need a separate interface for that (or to go with the pre/post validate methods)

Current IValidationInterceptor and my IValidationInterceptor is not the same :). I use wrong definition, it is my bad. I will edit my answer.

Thanks, I’ve had a think about this further and I think I actually prefer the Pre method rather than the interface, so let’s go with that. A PR would be great if you have time!

Let’s call the method PreValidate.
It should accept a ValidationContext<T> as a single parameter.
It should be called from both Validtate and ValidateAsync
appropriate tests should be included

Implemented for the 7.6.104 release.

I've pushed out 7.6.104 with this change and updated the documentation: https://fluentvalidation.net/start.html#using-prevalidate

Hi Jeremy,
When I look at the source code the documentation seems right. However, you stated that null check was going to be moved before prevalidation at #810. Did you change your mind about that change?

The null check for the context happens before the call to PreValidate, but the null check for the model has to happen after (otherwise it won't work for the scenario you wanted this for where the model is null 😄 )

Yes I aware about that. In that case I have to override EnsureInstanceNotNull.
I think I misunderstood your state.
Thanks

@AdemCatamak @JeremySkinner Please help me.
I am trying to delegate null-checking operation on the instance to FV as well.
Without explicit calls either from Controller or Validate method. I  tried every possible combination of overriding and inherting, EnsureInstanceNotNull, IValidatorInterceptor, respectively.
Please let me know if this is this even possible?
[HttpPost, AllowAnonymous]
public IActionResult Post([FromBody] AuthenticationTicket authTicket)
{
       if (authTicket == null) throw new ArgumentNullException("authTicket", "Invalid authentication ticket provided.");
....
}

I want to get rid of the explict check above from the controller side, but no luck.

Hi @hcc1187 please open a separate issue detailing what you're trying to achieve rather than using this closed issue. Thanks.


[DOCFIX]Update the docs/en/Configuring-Alluxio-with-Swift.md of the chinese version

https://alluxio.atlassian.net/browse/ALLUXIO-3028
update docs/en/Configuring-Alluxio-with-Swift.md of the chinese by the change in https://github.com/Alluxio/alluxio/compare/Alluxio:5569e02...Alluxio:eef0c29

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16995/
Test PASSed.


add wait for ROSA api address ready

Signed-off-by: hchenxa<EMAIL_ADDRESS>we found sometimes the API url was null after the cluster provision success:
time="2022-08-20T18:27:25Z" level=info msg="Waiting up to 40m0s (until 7:07PM) for the cluster at https://api.clc-rosa-43.w8f6.p1.openshiftapps.com:6443/ to initialize..."
time="2022-08-20T18:27:25Z" level=debug msg="Still waiting for the cluster to initialize: Working towards 4.11.0: 773 of 802 done (96% complete)"
time="2022-08-20T18:29:51Z" level=debug msg="Still waiting for the cluster to initialize: Working towards 4.11.0: 773 of 802 done (96% complete)"
time="2022-08-20T18:30:07Z" level=debug msg="Still waiting for the cluster to initialize: Some cluster operators are still updating: authentication, console, insights, kube-apiserver"
time="2022-08-20T18:30:52Z" level=debug msg="Still waiting for the cluster to initialize: Working towards 4.11.0: 796 of 802 done (99% complete)"
INFO: Cluster 'clc-rosa-43' is now ready
Creating an admin user on clc-rosa-43.
ROSA cluster named clc-rosa-43 provisioned successfully.
Console URL:
API URL:
Username: cluster-admin
Password: *****
Full Password and username can be found in /home/centos/workspace/qe-acm-automation-poc/create_rosa_cluster/rosa/clc-rosa-43.json
To destroy this cluster run './destroy.sh /home/centos/workspace/qe-acm-automation-poc/create_rosa_cluster/rosa/clc-rosa-43.json'
+ tar -zx
+ curl -L https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
 20 50.1M   20 10.0M    0     0  30.9M      0  0:00:01 --:--:--  0:00:01 30.8M
100 50.1M  100 50.1M    0     0  45.0M      0  0:00:01  0:00:01 --:--:-- 45.0M
+ cp oc /usr/local/bin/
+ touch clc-rosa-43-rosa.kubeconfig
+ set +e
++ seq 1 300
+ for i in `seq 1 300`
++ cat clc-rosa-43.json
++ jq -r .USERNAME
++ cat clc-rosa-43.json
++ jq -r .PASSWORD
++ jq -r .API_URL
++ cat clc-rosa-43.json
+ KUBECONFIG=./clc-rosa-43-rosa.kubeconfig
+ oc login --insecure-skip-tls-verify -u cluster-admin -p BBvYn-t8FMi-ERBYC-SMVNh
error: A server URL must be specified

so, I was trying to add a wait here to wait the API address appear in the cluster info.

/assign @gurnben

@gurnben , could u help to review?


CI/CD Imported Scans doesn't deduplicate findings with APIv2

Bug description
When importing Trivy scans through the APIv2, the findings aren't deduplicated, even with "deduplication on engagement" and system deduplication on.
Steps to reproduce
Import scans using the APIv2
Expected behavior
Duplicates findings gets marked as such.
Deployment method (select with an X)

[ X ] Kubernetes
[ ] Docker
[ ] setup.bash / legacy-setup.bash

Environment information

DefectDojo version :  v. 1.5.4

If you enable dedupe on engagement it will only deduplicate findings within that engagement. Can you provide deduplicationlogger (DEBUG) logs?


No data after 2018?

It is a design or a current limitation?

Dear @wpzdm
Thank you for your interest and suggestions for csmetrics.org!
We plan to update the system this year to include data up to 2020, and we will also consider adding the suggested conferences.

Thank you! Excited to hear the updates!


[suggestion] An example for unifying the elements format

I hope to use same format for all elements to make things simpler.  I hope/suggest that the following format rules are valid for all julia element functions.  Special element functions may have other format rules.

The argument [xxx] will always be the HTML content no matter its position in ele().
E.g. , Julia ele("aa", "bb", [xxx], cc="dd") => HTML <ele aa bb cc="dd" >xxx</ele>

There is only one argument  [xxx]  allowed in julia element function.
E.g., Julia ele("aa",  [xxx], [yyy],cc="dd") is NOT allowed !.

If there is no argument  [xxx],  the first string argument in julia element function will be the HTML content.
E.g., ele("aa", bb="dd", "cc")  => HTML <ele bb="dd" cc >aa</ele>

argument :xx will be the HTML attribute v-model="xx"
E.g., ele(:xx, bb="dd", "cc") => HTML <ele v-model="xx bb="dd">cc</ele>

argument xx=:yy will be the HTML attribute :xx="yy"
E.g., ele(xx=:yy, bb="dd", "cc") => HTML <ele bb="dd" :xx="yy">cc</ele>

other vue/custom attribute can be introduced by macro/string
E.g.,  julia  btn("button",(@vclick "x=!x"),[]) => HTML <template><q-btn @click=\"x=!x\" label=\"button\"></q-btn></template>
where, when click button the julia bool variable x will be changed to !x

Lot's of things have change since then.

most of the quasar components are added including docstrings
non-supported quasar components can be added by quasar(), e.g. quasar(:badge, color = "primary", "mytext")
parse_vue_html() to translate html code into the respective Julia code. (Fails only in some rare cases, which can easily be corrected). You can even test whether the Julia code reproduces proper html by using test_vue_parsing().

If you are ok with this answer, please close the issue.


The placeholder extension shouldn't be active for readonly mode

Maybe you could leave this to be optional somehow, because there are cases I need to switch between readonly and edit mode and have the placeholder always showing.

@panayotisk Agree

this is fixed in<EMAIL_ADDRESS>the placeholder isn't visible for read-only anymore. you can set showOnlyWhenEditable to false to always enable the placeholder extension.


Attribute have already defined

I used Gradle to import calligraphy, but It seems conflict with actionbar sherlock I used in the project.Could you tell me how to solve the conflict. This conflict only happens when I using the 2.1.0.

I only have time to support the v7 AppCompat and Toolbar. If you find out what the cause is, feel free to send a PR, otherwise closing.


CSS

CSS
User Story
As a bootcamp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

something went wrong the first time around but tried it a second time and I'm hopeful the CSS code will be visible.


HADOOP-17665

Handle properly missing SSL key/trust store configurations when monitoring file changes in HttpServer2.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 52s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+0 :ok:
mvndep
16m 10s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
20m 12s

trunk passed

+1 :green_heart:
compile
20m 46s

trunk passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
18m 11s

trunk passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
checkstyle
3m 52s

trunk passed

+1 :green_heart:
mvnsite
6m 24s

trunk passed

+1 :green_heart:
javadoc
3m 43s

trunk passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
4m  0s

trunk passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
spotbugs
13m 51s

trunk passed

+1 :green_heart:
shadedclient
24m 49s

branch has no errors when building and testing our client artifacts.

-0 :warning:
patch
25m 10s

Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 27s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
5m 20s

the patch passed

+1 :green_heart:
compile
20m 11s

the patch passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
20m 11s

the patch passed

+1 :green_heart:
compile
18m  8s

the patch passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
javac
18m  8s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
3m 38s
/results-checkstyle-root.txt
root: The patch generated 11 new + 67 unchanged - 4 fixed = 78 total (was 71)

+1 :green_heart:
mvnsite
6m 17s

the patch passed

+1 :green_heart:
xml
0m  2s

The patch has no ill-formed XML file.

+1 :green_heart:
javadoc
3m 40s

the patch passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
3m 59s

the patch passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
spotbugs
14m  7s

the patch passed

+1 :green_heart:
shadedclient
25m  2s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
17m 25s

hadoop-common in the patch passed.

-1 :x:
unit
236m 52s
/patch-unit-hadoop-yarn-project_hadoop-yarn.txt
hadoop-yarn in the patch passed.

+1 :green_heart:
asflicense
1m  4s

The patch does not generate ASF License warnings.

470m 40s

Reason
Tests

Failed junit tests
hadoop.yarn.server.resourcemanager.reservation.TestCapacityOverTimePolicy

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2979/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2979

JIRA Issue
HADOOP-17665

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell xml

uname
Linux b26f651e28a5 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / d174a5888a946cd6a18147f7df0002c47801fd97

Default Java
Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2979/1/testReport/

Max. process+thread count
1281 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn U: .

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2979/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 50s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+0 :ok:
mvndep
14m 29s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
20m 25s

trunk passed

+1 :green_heart:
compile
21m  0s

trunk passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
compile
18m  0s

trunk passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
checkstyle
3m 46s

trunk passed

+1 :green_heart:
mvnsite
6m 19s

trunk passed

+1 :green_heart:
javadoc
3m 44s

trunk passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
3m 58s

trunk passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
spotbugs
13m 50s

trunk passed

+1 :green_heart:
shadedclient
24m 55s

branch has no errors when building and testing our client artifacts.

-0 :warning:
patch
25m 17s

Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 25s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
5m 21s

the patch passed

+1 :green_heart:
compile
20m 13s

the patch passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javac
20m 13s

the patch passed

+1 :green_heart:
compile
18m  8s

the patch passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
javac
18m  8s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

-0 :warning:
checkstyle
3m 42s
/results-checkstyle-root.txt
root: The patch generated 11 new + 57 unchanged - 14 fixed = 68 total (was 71)

+1 :green_heart:
mvnsite
6m 15s

the patch passed

+1 :green_heart:
xml
0m  1s

The patch has no ill-formed XML file.

+1 :green_heart:
javadoc
3m 42s

the patch passed with JDK Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04

+1 :green_heart:
javadoc
4m  4s

the patch passed with JDK Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

+1 :green_heart:
spotbugs
14m  4s

the patch passed

+1 :green_heart:
shadedclient
25m  5s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
16m 52s

hadoop-common in the patch passed.

+1 :green_heart:
unit
236m 29s

hadoop-yarn in the patch passed.

+1 :green_heart:
asflicense
1m  3s

The patch does not generate ASF License warnings.

468m 22s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2979/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2979

JIRA Issue
HADOOP-17665

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell xml

uname
Linux c39b1446cfbe 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 131ee368cefa613ed840ef9355424117b6d86a78

Default Java
Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.10+9-Ubuntu-0ubuntu1.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_282-8u282-b08-0ubuntu1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2979/2/testReport/

Max. process+thread count
3152 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common hadoop-yarn-project/hadoop-yarn U: .

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-2979/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.


[PIO-26] Integrate Apache RAT for license checking

This is great! Thanks @chanlee514 !

I'm not sure if license check is the reason for the delay. As you can see here (https://travis-ci.org/apache/incubator-predictionio/builds/153982829) there's is little difference in execution time for unit testing. In my case running license check locally is almost instant.


fix: propagate bad status back in stacktrace.

Without it rest_request->AddHeader(... and other operations terminate the program without any error message.
@jsrinnn

This change is

/gcbrun


simplify and comment the code that adds / removes outlet content

__setOutletContent -> __addAppearingContent
__removePendingContent -> __removeAppearingContent
__removeOldOutletContent -> __removeDisappearingContent
__removeOutletContent -> removeDomNodes
this.__oldContent -> this.__disappearingContent
this.__newContent -> this.__appearingContent

This change is

Reviewed 2 of 2 files at r1.
Review status: :shipit: complete! all files reviewed, all discussions resolved

Comments from Reviewable


[mui/system] theme - typescript module augmentation

Steps to reproduce
Link to live example: (required)
https://codesandbox.io/p/devbox/6tvy25
Steps:

created theme.ts and theme.d.ts
adjusted @mui/system module

Current behavior
getting error from my Main component
'theme.typography' is of type 'unknown'.ts(18046)
Expected behavior
typography to be regognized
Context
creating my own theme using only @mui/system
Your environment

npx @mui/envinfo
  System:
    OS: Linux 5.15 Ubuntu 22.04.3 LTS 22.04.3 LTS (Jammy Jellyfish)
  Binaries:
    Node: 20.17.0 - ~/.nvm/versions/node/v20.17.0/bin/node
    npm: 10.8.2 - ~/.nvm/versions/node/v20.17.0/bin/npm
    pnpm: Not Found
  Browsers:
    Chrome
  npmPackages:
    @emotion/react: ^11.13.3 => 11.13.3
    @emotion/styled: ^11.13.0 => 11.13.0
    @mui/material-nextjs: ^6.1.0 => 6.1.0
    @mui/private-theming:  6.1.0
    @mui/styled-engine:  6.1.0
    @mui/system: ^6.1.0 => 6.1.0
    @mui/types:  7.2.16
    @mui/utils:  6.1.0
    @types/react: ^18 => 18.3.7
    react: ^18 => 18.3.1
    react-dom: ^18 => 18.3.1
    typescript: ^5 => 5.6.2

Search keywords: typescript module augmentation mui/system

@yonatan0 Can you check the permission of the CodeSandbox? I could not open it.

@yonatan0 Can you check the permission of the CodeSandbox? I could not open it.

My bad, please try now 🙏

The problem is that with module augmentation you can only extend the interface, but you can't change its defined properties' types. Maybe instead of defining these props as unknown we can omit them. I am not sure what would be the best approach in this case. @Janpot do you have any suggestion?

Would it make sense to declare an empty Typography interface in @mui/system and use it as the type of the typography property? On could then augment this interface instead.

That makes sense too, we could do it for the other properties that have the unknown type. @yonatan0 would you like to create a PR for this? All changes should be contained in this file: https://github.com/mui/material-ui/blob/master/packages/mui-system/src/createTheme/createTheme.d.ts

That makes sense too, we could do it for the other properties that have the unknown type. @yonatan0 would you like to create a PR for this? All changes should be contained in this file: https://github.com/mui/material-ui/blob/master/packages/mui-system/src/createTheme/createTheme.d.ts

I've created PR. Hopefully i understood you correctly :)

This was fixed in https://github.com/mui/material-ui/pull/43873. I am closing the issue. Thanks for the fix @yonatan0. Note you can use the "Fixes https://github.com/mui/material-ui/issues/43855" for automatically closing the issue.


User's should not be able to edit other users thread comments

Description
Currently, a user associated with a document can edit any comments within that document. For example, contributor 1 leaves a comment, then contributor 2 can edit that comment.  The comment thread notes that the comment was edited, but it does show the original comment. This is an undesirable feature.  Only the originator of the comment should be able to edit it.
Tasks:

[ ] Remove the ability of users to edit other user's comments.
[ ] If possible, keep the ability of a user to edit their own comment.

Acceptance Criteria

[ ] Comment thread updated so that a user can only edit their own comments.
[ ] The update is thoroughly tested and working as expected.

@wrynearson @deborahUAH

Hi @bwbaker1, we looked into this ticket. Right now, only the owner of a comment (i.e., the person who wrote it) and curators can edit comments. This ticket says that two contributors can edit each other's comments. Could you confirm that this is the behavior you saw?
Here's what I tested 🎥 :
https://user-images.githubusercontent.com/25919630/228146239-664dd9ce-1f75-4cc9-ab14-66db34536c37.mov
The way it is coded makes us think that this is the desired functionality. Could you and @deborahUAH please let us know if it's not the desired behavior?
cc @thenav56

@wrynearson I do not recall any discussion regarding comment editing (could have happened before I became involved with APT? - I can try to find out).  To me - the only reason I think the curator should be able to edit an authors comment is if it is inappropriate in some way.  But even then, I don't think it is right for the curator to do that.    I suggest that no one should be able to change another user's comment.  Can you think of any reason to do so?

@deborahUAH the rationale I heard from previous APT team members was that the curator role is like an administrator, which would let them manage the platform. The reason you said seems like the only reason I can think of. In this scenario (if someone leaves an inappropriate comment), what would your preferred action be?
We can change the ability for curators to edit comments quite easily

@thenav56 could you go ahead and change the permissions so that curators cannot edit other people's threads / comments?

@wrynearson I tested this and it is working correctly.  I am only able to edit my own comments. This is ready for production.

Merged to production with https://github.com/NASA-IMPACT/nasa-apt-frontend/pull/462


[FEA] Add tests for aggregates with no. of grouping ids > 32

Is your feature request related to a problem? Please describe.
https://github.com/apache/spark/commit/71c73d58f6 fixes issues when grouping ids > 32, we should at least test this out if we don't.

We seem to have inherited the fixes with no changes to the plugin code. Running with spark.rapids.sql.exec.CollectLimitExec=true, spark.rapids.sql.explain=ALL, and spark.rapids.sql.incompatibleOps.enabled=true in addition to standard configurations:
scala> sql(s"select grouping_id(), sum(v) from test_$numCols group by grouping sets ((${cols.mkString(",")}), (${cols.init.mkString(",")}))").show(10, false)
21/01/25 16:16:07 WARN GpuOverrides:
*Exec <CollectLimitExec> could run on GPU
  *Partitioning <SinglePartition$> could run on GPU
  *Exec <HashAggregateExec> could run on GPU
    *Expression <AggregateExpression> sum(cast(v#197 as bigint)) could run on GPU
      *Expression <Sum> sum(cast(v#197 as bigint)) could run on GPU
        *Expression <Cast> cast(v#197 as bigint) could run on GPU
    *Expression <Alias> cast(spark_grouping_id#233L as string) AS grouping_id()#271 could run on GPU
      *Expression <Cast> cast(spark_grouping_id#233L as string) could run on GPU
    *Expression <Alias> cast(sum(cast(v#197 as bigint))#198L as string) AS sum(v)#272 could run on GPU
      *Expression <Cast> cast(sum(cast(v#197 as bigint))#198L as string) could run on GPU
    *Exec <ShuffleExchangeExec> could run on GPU
      *Partitioning <HashPartitioning> could run on GPU
      *Exec <HashAggregateExec> could run on GPU
        *Expression <AggregateExpression> partial_sum(cast(v#197 as bigint)) could run on GPU
          *Expression <Sum> sum(cast(v#197 as bigint)) could run on GPU
            *Expression <Cast> cast(v#197 as bigint) could run on GPU
        *Exec <ExpandExec> could run on GPU
          *Exec <FileSourceScanExec> could run on GPU

+-------------+------+
|grouping_id()|sum(v)|
+-------------+------+
|0            |3     |
|1            |3     |
+-------------+------+

This matches the linked issue's expected behavior, closing the issue.

We seem to have inherited the fixes with no changes to the plugin code. Running with spark.rapids.sql.exec.CollectLimitExec=true, spark.rapids.sql.explain=ALL, and spark.rapids.sql.incompatibleOps.enabled=true in addition to standard configurations:
scala> sql(s"select grouping_id(), sum(v) from test_$numCols group by grouping sets ((${cols.mkString(",")}), (${cols.init.mkString(",")}))").show(10, false)
21/01/25 16:16:07 WARN GpuOverrides:
*Exec <CollectLimitExec> could run on GPU
  *Partitioning <SinglePartition$> could run on GPU
  *Exec <HashAggregateExec> could run on GPU
    *Expression <AggregateExpression> sum(cast(v#197 as bigint)) could run on GPU
      *Expression <Sum> sum(cast(v#197 as bigint)) could run on GPU
        *Expression <Cast> cast(v#197 as bigint) could run on GPU
    *Expression <Alias> cast(spark_grouping_id#233L as string) AS grouping_id()#271 could run on GPU
      *Expression <Cast> cast(spark_grouping_id#233L as string) could run on GPU
    *Expression <Alias> cast(sum(cast(v#197 as bigint))#198L as string) AS sum(v)#272 could run on GPU
      *Expression <Cast> cast(sum(cast(v#197 as bigint))#198L as string) could run on GPU
    *Exec <ShuffleExchangeExec> could run on GPU
      *Partitioning <HashPartitioning> could run on GPU
      *Exec <HashAggregateExec> could run on GPU
        *Expression <AggregateExpression> partial_sum(cast(v#197 as bigint)) could run on GPU
          *Expression <Sum> sum(cast(v#197 as bigint)) could run on GPU
            *Expression <Cast> cast(v#197 as bigint) could run on GPU
        *Exec <ExpandExec> could run on GPU
          *Exec <FileSourceScanExec> could run on GPU

+-------------+------+
|grouping_id()|sum(v)|
+-------------+------+
|0            |3     |
|1            |3     |
+-------------+------+

This matches the linked issue's expected behavior, closing the issue.


Update no-title-attribute-counter.md

Making the guidance around SVG and  using title element for labelling more clear.
I need to double check if the aria-labelledby and role="img technique is still relevant so this is PENDING!
cc: @owenniblock

Stale! Closing for now.


Is there a quick way to download the whole board with lists, maps and custom fields?

Hello!
Is it possible in any way to download the board and all its contents, with archive cards a small number of requests? If you ask for everything individually, then it's very slow and we get to limit the number of requests. We need to download the contents of the board once a month.
Thanks!

I had #233 open for a while.  While the calls listed in that issue are made, only one call is used to download all of the data.  It has extensively customized query parameters that I'm just not set up to generate.
For now, you can play around with the batch call on TrelloProcessor.  You'd have to pass in the board, its Lists property, and its Cards property.  However, I haven't tested a scenario where an entity and its members are all batched together.
If that doesn't work, I'm open to the idea of a special board.DeepRefresh() extension method that adds all of the required parameters since this is likely a common scenario.

For now, you can play around with the batch call on TrelloProcessor. You'd have to pass in the board, its Lists property, and its Cards property. However, I haven't tested a scenario where an entity and its members are all batched together.

Lists and Cards property of board contains 0 items and if I put it in TrelloProcessor.Refresh nothing happens.

Ah, yes.  I did a cursory check and saw IRefreshable.  Sorry.  Brain fart.  I'll play around with some ideas you might try in the current state.

Okay.  It looks like the relational stuff I did in #222 has a small issue.  In trying to ensure the full list was downloaded on a card, I ensure list is included in a query parameter, which means that it's not included in the collection of fields to download when a card is included in other requests (like boards and lists).  Because the list isn't downloaded, the relational functionality won't work.  I'll have to fix this.
Once I have that done, you should be able to do something like this:
TrelloConfiguration.EnableConsistencyProcessing = true;
Board.DownloadedFields |= Board.Fields.Cards;
var board = _factory.Board(TrelloIds.BoardId);
await board.Refresh(false, ct);

That should populate all of the downloaded cards into their respective List.Cards collections.  I'll be sure to have a test around it as well.

I have made some changes on branch bug/244-relationships-not-full-relational to incorporate more query parameters into the request so that the above code downloads as much as possible.
I'm going to continue working on this to fill out other requests as the API allows.  You can probably expect an update in a few days.  I'll post back to this issue when I publish it.

I'll be pushing v3.3.0 soon to resolve this.


fix(13): change finset.induction to Lean text

Closes #186

Note that this does leave the proof as sorry. I'm not sure if you want that.

merged by


Fatal error: Uncaught TypeError:

I have configured the config.php file as instructed. However I'm getting the error of: Fatal error: Uncaught TypeError: Argument 1 passed to League\OAuth2\Client\Token\AccessToken::__construct() must be of the type array, null given, called in /sites/dev.example.com/files/yahoo/oauth-yahoofantasysports/examples/index.php on line 35 and defined in /sites/dev.example.com/files/yahoo/oauth-yahoofantasysports/vendor/league/oauth2-client/src/Token/AccessToken.php:60 Stack trace: #0 /sites/dev.example.com/files/yahoo/oauth-yahoofantasysports/examples/index.php(35): League\OAuth2\Client\Token\AccessToken->__construct(NULL) #1 {main} thrown in /sites/dev.example.com/files/yahoo/oauth-yahoofantasysports/vendor/league/oauth2-client/src/Token/AccessToken.php on line 60
Here's what my config file looks like:
$consumer = array(
    'clientId'      => 'my-client-id-here',
    'clientSecret'  => 'my-client-secret-here',
    'redirectUri'   => 'oob'
);

// The token should be a JSON Stringified AccessToken object
return array(
    'consumer'  => $consumer,
    'token' => ''
);

My question is, do I need to put something in the "token" field or is my config ok as shown? If I need to key in the token, where would I find this?
And yes, I've inserted my correct clientId and clientSecret.

So after I removed the token parameter from the return array, I was able to get the page to populate with the "Continue to login" link: https://api.login.yahoo.com/oauth2/request_auth?state=11b5ebe715a8dcda075d8d941fb11502&scope=fspt-w&response_type=code&approval_prompt=auto&redirect_uri=oob&client_id=dj0yJmk9QTFwOWZkVE02ZkIwJnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTQ3
However, when I click on the link, it just sends me to an error page on Yahoo that says

Uh oh
Looks like something went wrong.
Please try again later.

I'm using oob for the redirectUri but I've also tried using the actual uri that page is hosted as well as a couple of other things with no luck. Any chance that the link is not correct?

No that's the right link. That is a Yahoo error you're connecting to the right url but something in the Yahoo flow is failing.
In your Yahoo developer console do you have a call back domain? You need a valid domain in there even if using oob in the client. If you use a call back url in the client then it has to match exactly the entry in the Yahoo developer app config.

I believe that the domain is not editable. So you'll need to create a new app with new codes to try it.

I actually figured it out.
The scope was set to scope=fspt-w and in my app I had only asked for read access so I changed the scope to scope=fspt-r per the documentation here: https://developer.yahoo.com/oauth2/guide/yahoo_scopes/#scope-identifiers=


TESTING numpy~=1.21

https://numpy.org/neps/nep-0029-deprecation_policy.html recommends we get rid of numpy~1.20  support by Jan 31, 2023

Oh, just saw https://github.com/quantumlib/Cirq/pull/5856

Moving branch to my local machine.


Doubled informative message in verbose mode

When running bundle install --verbose, the informational message about the state of the Gemfile, lockfile, and expected resolutions is doubled.
Here's an example of how to reproduce the issue:
$ dbundle init
fatal: Not a git repository (or any of the parent directories): .git
Writing new gems.rb to /Users/andre/src/bundler/testcases/new/gems.rb

$ dbundle add rake
fatal: Not a git repository (or any of the parent directories): .git
Fetching gem metadata from https://rubygems.org/.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Fetching gem metadata from https://rubygems.org/.
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...

$ dbundle install --verbose
fatal: Not a git repository (or any of the parent directories): .git
Running `bundle install --verbose` with bundler 2.0.0.dev
Found no changes, using resolution from the lockfile
Found no changes, using resolution from the lockfile
Using rake 12.1.0
0:  rake (12.1.0) from /Users/andre/src/bundler/testcases/new/.bundle/ruby/2.4.0/specifications/rake-12.1.0.gemspec
Using bundler 2.0.0.dev
0:  bundler (2.0.0.dev) from /Users/andre/src/bundler/bundler/lib/bundler/source
Bundle complete! 1 Gemfile dependency, 2 gems now installed.
Bundled gems are installed into `./.bundle`

The line Found no changes, using resolution from the lockfile is printed twice, when it only needs to be printed once.

Fixed by #6098.


[prefer-stateless-function] should check if component has ES7 decorator

ES7 decorators only work with classes and not with functions. If a decorator is present [react/prefer-stateless-function] should not be recommended.

Decorators are not ES7, and part of the proposal absolutely might be that they work with function declarations. They also certainly work with concise object methods as well.

Related https://github.com/yannickcr/eslint-plugin-react/issues/491#issuecomment-196749779

@ljharb thats great and all, but the current proposal is with classes, and until that has been agreed upon and or implemented this is still a false positive.

@thewillhuang "and properties". https://github.com/wycats/javascript-decorators#object-literal-method-declaration - it is NOT a bug, it is an essential part of the proposal.

ah i see, missed that part completely

Decorators remain stage 2, and have changed 3-4 times since this was filed.
However, we do support them via the TS eslint parser.
Additionally, the likely state of the proposal will exclude functions, so we should use the presence of a class decorator as an indication that the component should not be a stateless function.

fixed in https://github.com/jsx-eslint/eslint-plugin-react/pull/1086


add proper defaults

@fabiennepimenta can u help a little bit? @menor will do things with your computer.

small


Test

Signed-off-by: sunwp<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] Code compiles correctly.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Codecov Report

Merging #1129 (538977e) into main (7687985) will increase coverage by 0.02%.
The diff coverage is 84.61%.

:exclamation: Current head 538977e differs from pull request most recent head 298c3fc. Consider uploading reports for the commit 298c3fc to get more accurate results

@@            Coverage Diff             @@
##             main    #1129      +/-   ##
==========================================
+ Coverage   45.77%   45.80%   +0.02%
==========================================
  Files         130      130
  Lines       10027    10038      +11
==========================================
+ Hits         4590     4598       +8
- Misses       4915     4917       +2
- Partials      522      523       +1

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
45.80% <84.61%> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cdn/supervisor/cdn/metadata_manager.go
78.72% <81.81%> (+0.41%)
:arrow_up:

cdn/supervisor/cdn/cache_detector.go
51.18% <100.00%> (ø)

cdn/supervisor/cdn/cache_writer.go
80.46% <100.00%> (ø)

client/daemon/peer/piece_broker.go
85.18% <0.00%> (-3.71%)
:arrow_down:


Contact section #208

Fixed responsiveness for the contact section
Created textArea reusable component
Used TextInput, TextArea and Button components in the contact form
Made some changes for better responsive in textInput
Changed file names to small letter cases
The images for desktop and mobile on the bottom have 2px empty space and it is not good, the designer needs to fix this
Deleted some code in the globals/boilerplate added from @Mikivitkovski  for auto field input, because it makes problems for the textInput

General reponsiveness issues as shown on the images.

Also fix validation problems.
Most critical is that it throws an error when you type space after entering first Name

@edichoska I fixed image responsiveness and form validation for full name (max 100 characters, accept Latin, Cyrillic characters, and space between first and last name and other things for check validations), email (I found the best practice for email validation and used that, but it also, in the end, can accept different characters I didn't see how to solve this), and message (min 100 characters, Latin and Cyrillic characters).

Thank you @kire21 for fixing the validation. Much better now.
I would shorten the requirement for the textarea to 20?
Maybe someone just wants to ask a short question. They should be able to do that.
Also the email, now we can enter something like<EMAIL_ADDRESS>and it goes through
The image on mobile devices looks cut of from the sides.

@edichoska I fixed image responsiveness and form validation for full name (max 100 characters, accept Latin, Cyrillic characters, and space between first and last name and other things for check validations), email (I found the best practice for email validation and used that, but it also, in the end, can accept different characters I didn't see how to solve this), and message (min 100 characters, Latin and Cyrillic characters).

Thank you @kire21 for fixing the validation. Much better now. I would shorten the requirement for the textarea to 20? Maybe someone just wants to ask a short question. They should be able to do that. Also the email, now we can enter something like<EMAIL_ADDRESS>and it goes through
The image on mobile devices looks cut of from the sides.

@edichoska I am done with the changes...

Error messages should be using error text color

* Error messages should be using error text color
* Придружи ни се button should lead to our discord(you can find the link in the Footer social media section)

If I use the error text color (red) for error messages, it is unreadable with very bad contrast... also the font-size is 12px, and many people have problems with their eyesight.

* Error messages should be using error text color
* Придружи ни се button should lead to our discord(you can find the link in the Footer social media section)

If I use the error text color (red) for error messages, it is unreadable with very bad contrast... also the font-size is 12px, and many people have problems with their eyesight.

Or our audience will be only young people with sharp vision. :D

* Error messages should be using error text color
* Придружи ни се button should lead to our discord(you can find the link in the Footer social media section)

If I use the error text color (red) for error messages, it is unreadable with very bad contrast... also the font-size is 12px, and many people have problems with their eyesight.

Or our audience will be only young people with sharp vision. :D

12-13-14px for error messages is pretty standard.
I have communicated with the design team about the error color not having enough contrast with the dark background.
Lets just add it now so we can merge this. And when they are done we will change the color in colors.scss

@edichoska I am done.


Please also add your adapter to the stable repository once ready

Your adapter is already in ioBroker latest repository available to be used by testwilling users. In order to make your adapter also available for the wide user base which uses the stable repository you should also add your adapter to the stable repository. Please see instructions at https://github.com/ioBroker/ioBroker.repositories#requirements-for-adapter-to-get-added-to-the-stable-repository
Thank you for your support.

see https://github.com/iobroker-community-adapters/ioBroker.sma-em/issues/18

see https://github.com/iobroker-community-adapters/ioBroker.sma-em/issues/18


feat: backup domain

Description
Additional .org domain as a backup for the .com
Resolves #176
How Has This Been Tested?
N/a
Due Diligence

[ ] Breaking change
[ ] Requires a documentation update
[ ] Requires a e2e/integration test update

bad tree


OADP-1511: Add owner reference to cloud storage BSLs.

Fixes #938/OADP-1511. Leaving as draft until I can also check VSLs.

Do you think you can unit test this?
Something like https://github.com/openshift/oadp-operator/blob/master/controllers/bsl_test.go#L47

Do you think you can unit test this?
Something like https://github.com/openshift/oadp-operator/blob/master/controllers/bsl_test.go#L47

Sure, I added ownership tests for BSLs and VSLs by request. It's all working as far as I can see.

/cherry-pick oadp-1.2


image.png%22 404 (Not Found) in Chrome

Hi there,
First of all, a very big thank you for this plugin!
The plugin is working very nice but my console is throwing weird messages:
> GET http://localhost:9000/%22http://localhost:9000/images/campaign/aw1617/preloader-image.png%22 404 (Not Found) --- preloader-image.png%22:1
> GET http://localhost:9000/%22http://localhost:9000/bower_components/photoswipe/dist/default-skin/default-skin.png%22 404 (Not Found) --- default-skin.png%22:1

Surprisingly those images come from CSS as background images.
I have checked that deactivating the plugin those error do not appear.
It only appears in Chrome. I have tested in latest versions of Safari and Firefox.
Chrome Version 52.0.2743.116 (64-bit) Mac OS X
The project is a Yeoman webapp (using browser-sync, gulp, bower, sass, etc)
Thanks

Seems like something goes wrong in decoding the urls. Will take a look if I find the time.

I have the same issue on Firefox 51. I could find the error.

The same issue since the first time I use this awesome plugin last year, always with css background images... fortunately images work despite the error message but it would be nice to solve it.