v5.3.10410.3657 does not work on macOS Mojave

same here on macOS 10.13.6 (High Sierra)

Friendly ping @chapati @gingervik

Please, update your mac os

@gingervik I saw "Return ability to run Beam Wallet on old versions of Operation Systems" in the v5.3.10410.3657 release notes -- but it seems this was not meant to apply to macOS Mojave?  Was there some discussion of dropping support?
There are good reasons for staying with this version of macOS as newer versions break compatibility with many apps including Adobe Creative Suite.

@gingervik - I saw the same as Jonathan and share kind of similar issues upgrading.
I know Apple makes it difficult to build applications for not cutting edge OS versions by intend, but apps should not require them if there is no specific reason (absolutely needed GUI libaries or whatever).
But to accomplish this one needs to build on an older Mac OS system, there are some "compatibility" switches but as it seems they don't work as intended.
The "old OS versions" statement was maybe meant for Linux (where it works) and/or Win* (no idea)?


Updates react to 15.6.0 and adds prop-types dependency

thanks for the PR! I will check and accept it

Thanks


Raster.intersection does not raise error if rasters in different projection

Currently, Raster.intersection is not implemented when the input rasters have a different projection and it does not raise an error when that occurs.
https://github.com/GlacioHack/geoutils/blob/96c432c4018a239b8ace1fc7442b0fa75a7b5130/geoutils/georaster/raster.py#L1669
See #272 for a quick fix.

Closed via #307


Cleanup APIs to configure polyfills

Following up on https://github.com/liveblocks/liveblocks/pull/284#discussion_r887637545, and we want to make this part of 0.17.

@vinodsantharam @GuillaumeSalles Also updated the docs in this PR: https://github.com/liveblocks/liveblocks.io/commit/02635efb5ee53300350cd1c199128ce9259e6ad5


Application name in header component

It's a business requirement to have "Application Name" in the header component. This new request will reduce the space under the header which was previously occupied by application name.
Add Labels
Add any applicable labels like related components, services, team or project reporting this new feature... etc

Hi @ppurumala,
As alex is saying, currently there is not a constraint regarding the content of the header.
Yo can pass the content as a a prop. There are multiple examples in the documentation site.
https://developer.dxc.com/tools/react/3/#/components/header

We are trying this solution in our application.


RSpec 4 plan

It's been in the air and mostly in sparse @JonRowe's comments (1, 2). This is an attempt to gather the ideas and start the discussion.
pre-4.0:

[x] fix internal deprecation matchers https://github.com/rspec/rspec-support/issues/451
[ ] add deprecations for what we end up removing in 4.0

[ ] implicit block syntax (https://github.com/rspec/rspec-expectations/pull/1139, https://github.com/rspec/rspec-core/pull/2800)

[ ] should (monkey and non-monkey), syntax config options

[ ] globally-exposed DSL, and its config option

[ ] operator matching (is_expected.to be is a replacement for should, not just is_expected.to)

[ ] legacy matcher support

[ ] ? AnyInstance

[ ] ? DRb

[ ] ? shared_context_metadata_behavior (discussion in https://github.com/rspec/rspec-core/issues/2832)

[ ] run_all_when_everything_filtered

4.0.0:

[x] Drop support for ~EOL~ Ruby versions 1.8.7 - 2.2 (https://github.com/rspec/rspec-core/pull/2787 https://github.com/rspec/rspec-support/pull/436 https://github.com/rspec/rspec-mocks/pull/1349 https://github.com/rspec/rspec-expectations/pull/1231)
[x] remove monkey-patching (globally exposed DSL and .should) (https://github.com/rspec/rspec-core/pull/2803 et all, all interlinked)
[ ] Remove deprecated features

[ ] implicit block syntax etc)

[ ] run_all_when_everything_filtered (https://github.com/rspec/rspec-core/pull/2845)

[ ] shared_context_metadata_behavior (https://github.com/rspec/rspec-core/pull/2834)

[ ] extensively test (our current projects, repos from https://github.com/pirj/real-world-rspec)

post-4.0

[ ] update rspec-rails/rspec-collection_matchers/rspec-its to support RSpec 4
[ ] extract monkey-patching .should to a gem
[ ] kwargs delegation
[?] update transpec to facilitate migration from 3.x to 4.x (describe - > RSpec.describe?)
[ ] Cleanup: CI scripts; update cucumber, rake; --no-document for gem; unindent/dedent -> <<~, rearrange gemfile/gemspec
[ ] figure out why rubocop passes while there are offences in lib (core, probably others too)
[ ] tighten and improve minimum_coverage

Ruby support
EOL Ruby means we support 2.5+, since 2.4 is EOL in April 2020
However, according to 2020 RoR community survey

70% use 2.5+
81% use 2.4+
89% use 2.3+
Do 2.3 and 2.4 cause any trouble? I could only find this:
        # 2.4 has improved BigDecimal formatting so we do not need
        # to provide our own.
        # https://github.com/ruby/bigdecimal/pull/42
        classes.delete(BigDecimalInspector) if RUBY_VERSION >= '2.4'

I can only think of RuboCop's TargetRubyVersion setting that has a minimum of 2.4. That means we won't be able to run rubocop on 2.3 CI build.
More on this in https://github.com/rspec/rspec/issues/25
Remove deprecated features/Introduce new defaults

[ ] shared_context_metadata_behavior
[x] monkey-patching mode
[x] should syntax (with implicit receiver only, where should can be backed by is_expected.to. extract to a gem?)
[ ] implicit block syntax (deprecated in https://github.com/rspec/rspec-expectations/pull/1139)

Consider deprecating long-hanging/obscure features

[ ] DRb runner. I only know of Spork that was using it, but its 2.0.0-rc is years old now with no signs of life

Cleanup

[ ] rspec-core: "Ruby 1.9 has a bug that can lead to infinite recursion and a"
Drafted in commits: ce2f4a0b 123e6ee7
https://github.com/rspec/rspec-core/pull/2787#pullrequestreview-540200286
RSpec::Matchers.define(:be_one) do
  match { |actual| actual == 1 }
end
RSpec.describe do
  alias_method :b, :be_one
  it { expect(1).to be_one }
end

[ ] for all repos

[ ] bump cucumber to ~> 5.2.0, cucumber-ruby (undefined method with_filtered_backtrace') + fix deprec titletoname`

1.3-2.0 don't work for me locally with a weird error: undefined method []' for nil:NilClass (NoMethodError) /Users/pirj/.rvm/gems/ruby-2.7.1@rspec-core/gems/cucumber-1.3.20/lib/cucumber/core_ext/proc.rb:17:in file_colon_line'
2.4.0 spits "undefined method `with_filtered_backtrace'"
3.2.0 - "undefined method 'ok?'"
4.1 depends on diff-lcs (< 1.4, >= 1.3, ~> 1.3), while we depend on = 1.4.4
5.2.0 Found tags option '~@wip'. '~@tag' is no longer supported, use 'not @tag' instead

[x] update diff-lcs ">= 1.4.4" (https://github.com/rspec/rspec-support/pull/477 and co)
[ ] update rake to latest
[ ] skip documentation
yes | gem update --system --no-document
yes | gem install bundler --no-document
also on sub-builds?
[ ] rearrange Gemfile/gemspec
e.g. core: simplecov, test-unit, aruba, rake
To my best knowledge, add_development_dependency only affects local bundling. I've moved it over from the Gemfile.
As far as I understand we can shuffle those dependencies between add_development_dependency and Gemfile without affecting anything.
To me, it's better to keep those gems that we directly depend on here, while reserving the Gemfile to add version constraints for third-party dependencies like ffi and those that require a conditional, e.g.
if RUBY_VERSION >= '2.4'
[ ] figure out why rubocop lib passes on core
frozen string literal - run with --only Style/FrozenStringLiteralComment, why it doesn't detect offences without --only?
lib/rspec/core/backport_random.rb excluded
[ ] <<- chomp gsub unindent dedent -> <<~

[ ] remove write_file_formatted in rspec-core

kwargs delegation

💚 https://github.com/rspec/rspec-expectations/issues/1221#issuecomment-716133588
⚠ https://github.com/rspec/rspec-expectations/issues/1241#issuecomment-743437255
https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/#a-compatible-delegation
https://eregon.me/blog/2019/11/10/the-delegation-challenge-of-ruby27.html
https://github.com/rspec/rspec-expectations/pull/1222/files#r513326762
https://github.com/rspec/rspec-core/issues/2674
https://github.com/rspec/rspec-core/pull/2716/files
https://github.com/rspec/rspec-expectations/commit/964196a39e2ba2228add4c9c3b4f8982cb433f44

The main thing I want from RSpec 4 is dropping old Ruby support. My plan is for us to release with Ruby 3, which is slated for Christmas 2020, it will make it so much easier to support if we don't have to support non keyword argument Ruby.

Removing monkey patching mode (extracting it with .should to a 3rd party gem) would be an ideal goal within that.
Extra features can be added in point releases easily so anything thats ready can be shipped in 4 but I'm not going to gate them to hold out to make it "special".

For the differ I didn't work on it that much. I am still following the work on @mcmire on https://github.com/mcmire/super_diff and I am wondering if telling to user that they can use super_diff easily or with https://github.com/rspec/rspec-expectations/pull/1096 could be a good idea. 🤔

Updated the plan:

separated tasks for pre-4.0, 4.0 and 4.x
dumped my TODO

@benoittgt @JonRowe do you think we should fix kwargs delegation in 4.0, or can do it later? 3.0-preview2 passes just fine so far. ruby-head failure is for a different reason - they've fixed something and we have pending in a spec. Can e postpone kwargs delegation?
I'll focus on pre-4.0 and 4.0 tasks then.

Extract rarely used features (any_instance...,) to gems, keep bundled

This has to be in a major version

keep bundled

This has to be in a major version

Sorry, I obviously wasn't clear. By "keep bundled" I mean that if we happen to extract rspec-any_instance_of gem from rspec-mocks, rspec-mocks's gemspec will still include rspec-any_instance_of as a runtime dependency. This way nothing changes for the users.
This dependency is removed in a major version of rspec-mocks, strictly.
Those who would prefer to continue using any_instance_of (me included) can include them in their apps' Gemfile explicitly, just like rspec-its/rspec-collection_matchers.
Do you foresee any issues with this approach?

@benoittgt @JonRowe do you think we should fix kwargs delegation in 4.0, or can do it later?

In kwargs delegation. Is this https://github.com/rspec/rspec-mocks/issues/1306 included?
If yes, I think we should look at https://github.com/rspec/rspec-mocks/issues/1306 not too late, but I am not sure this is a blocker for next release.

I've switched to the noisy 2.7.1 for everything, and have never seen this. 2.7.2 muted deprecation warnings. There are no build failures on 3.0 previews (apart from the missing warning on access to @undefined). Thoughts?

@JonRowe do you have a preference on how rspec-should (or whatever it will be called) is going to be plugged in?
I was thinking that if
RSpec.configure do |config|
  config.expect_with :rspec do |expectations|
    expectations.syntax = :should # or [:expect, :should]

is called, we make an attempt to require rspec-should, and it does the monkey patching. If require fails, we fail with a message suggesting to add rspec-should to the bundle. Is this a reasonable approach?
Should we consider syntax = :expect the default unless syntax = :should or syntax = [:expect, :should] is called, and syntax = :expect is not called?
The same applies to Mocks and its should_receive/... methods.
I can take a stab at extracting it.
One (very minor) thing is the current non-additive behaviour of syntax=. So if there are two different spec helpers in the project, one of them is using :should, another - :expect, and one of those settings would override another.
But I guess it's a known gotcha, and projects that use different syntaxes for their different parts already account for that.

@pirj take my suggestion with a grain of salt (since I'm no longer working on RSpec!) but one idea is to remove the syntax option entirely.  Instead:

the core rspec gems would always define the expect syntax (with no config option to turn it off)
rspec-should gem (or whatever it's called) would automatically add the .should syntax if loaded
Optionally, the rspec-should gem could have an option to remove the expect syntax but I'm not sure if that's necessary. (If someone doesn't like it, they can just not use it).

In general, I think it's ideal for the core rspec gems to be blissfully unaware that rspec-should even exists and keeping the config option just adds complexity, IMO.

Myron's approach is basically what I was going to recommend. If people requested it we could probably add an opt in config for rspec-should to remove expect, but it'd be essentially an include that just removes the method / forces a raise for those that really want to enforce the old style and probably a stretch goal.
I'd have one gem rspec-should containing all of the syntax, and have it detect the relevant other gems when defining things.

I want to fix the keyword argument issues with have before releasing 4.0, with Ruby 3 coming up in ... 10 days? It's an essential item for me. The problem we have is lack of specs using them.

I also want to remove the monkey patching mode in 4.0.
It's worth noting we could (to get 4.0 out quickly) remove things and maintain 3.x whilst building the extracted gems?

@JonRowe How do you feel about (as the next chance might only be in a couple of years from now) of:

Extracting AnyInstance from Mocks to a gem. Mocks README says:

It is the most complicated feature of rspec-mocks, and has historically received the most bug reports. (None of the core team actively use it, which doesn't help.)

Dropping support for DRb from Core. I only know of Spork that was using it, but its 2.0.0-rc is ~7 years old now with no signs of life.

I can take care of those two.

I'd say yes except they needs to use public APIs to be extracted, that might be difficult?

@JonRowe I'd love to get a progress bar formatter included in RSpec 4 by default (ie Fuubar) I think that with with 10 years under its belt and 18.8 million downloads, it's proven itself a useful, general formatter rather than something bespoke.
I think it would be a net positive for RSpec, especially considering the increased awareness (eg in --help) would make people aware of an option they wanted, but didn't know existed.
I'm happy to continue supporting it but I'd love to get it into RSpec proper.  The only thing it depends on is rspec-core (obviously) and my other gem ruby-progressbar (currently 12 years old) which itself has zero runtime dependencies.
Also open to opening a dedicated issue to this if you think it's warranted.

@jfelchner We are glad that Fuubar is part of the ecosystem for RSpec, and its a great example of how RSpec is extensible for such needs, but we are trying not to inflate RSpec too much, our goal is empower others to build things they want rather than offer them ourselves. (For the record 18.8 million downloads is fantastic, but its also at the time of writing around 3% of the downloads for rspec-core).

I think my point was more that, if it were a part of core, it would be used by far more people as I would argue it is a much more information-dense outputter than the current built-in versions.  But I understand where you're coming from. :)  Thanks for all the work you all do!

@jfelchner I was under the impression that we mention Fuubar in our configuration documentation, but I was wrong.
I suggest adding an Extensions (just like minitest's)[https://github.com/seattlerb/minitest/#known-extensions-] section, adding a reference to Fuubar there. https://github.com/topics/rspec is a good source of finding extensions, and I suggest you add #rspec tag on Fuubar repository as well.
No doubt Fuubar deserves better exposure.
Side note:
It's a lesser-known feature, but RSpec is configurable with .rspec-local project file, and also ~/.config/rspec/options/~/.rspec. One can add --format fuubar there. With RVM global gemset and .rvm/hooks/after_install_global hook in theory it would be possible to install fuubar, but rspec command wouldn't be able to load it, even with --require fuubar in its config,  because Bundler doesn't load gems from the global gemset automatically.

@pirj thank you so much!

@pirj just so that I don't do work you all wouldn't approve of, are you talking about adding it to this page? Or is there a README or Wiki I'm missing somewhere?

@jfelchner We hope that https://relishapp.com/rspec/rspec-core/v/3-9/docs/configuration is used to view our documentation, which is complementary to what you've linked. It is defined as Cucumber scenarios here. We are always looking to improve and extend it.

I'll make it happen.  Thanks again!

@JonRowe What should we do with include_chain_clauses_in_custom_matcher_descriptions?
[1]:

This option will default to true in RSpec 4

[2]:

It is false by default for backwards compatibility.

Is my understanding correct that we're keeping the option, just the default value for it is now true, and we don't explicitly set it to true in the project initializer?

@JonRowe What should we do with include_chain_clauses_in_custom_matcher_descriptions?
[1]:

This option will default to true in RSpec 4

[2]:

It is false by default for backwards compatibility.

Is my understanding correct that we're keeping the option, just the default value for it is now true, and we don't explicitly set it to true in the project initializer?

@JonRowe What should we do with include_chain_clauses_in_custom_matcher_descriptions?
[1]:

This option will default to true in RSpec 4

[2]:

It is false by default for backwards compatibility.

Is my understanding correct that we're keeping the option, just the default value for it is now true, and we don't explicitly set it to true in the project initializer?

You didn't ask me, but my two cents in case it's useful: I don't think there's any benefit to setting it to false.  We just added the config option to avoid what could be considered a breaking change in 3.x.  e.g. if someone had a library of matchers and had specs that asserted what the descriptions are, our change could have broken their specs--so we added the config option.  IMO the config option should go away in 4.0 and the behavior true enables should be the only behavior.
(@JonRowe may disagree).

I agree (Thank you Myron for explaining better than I could until I've had ☕  😂 )

I agree (Thank you Myron for explaining better than I could until I've had ☕  😂 )

I can only think of RuboCop's TargetRubyVersion setting that has a minimum of 2.4. That means we won't be able to run rubocop on 2.3 CI build.

You'll also be fighting against RuboCop's understanding of what's valid syntax and its check for the Ruby version being set properly in the gemspec. Not insurmountable, but it means you can't rely on RuboCop to get those right.
Another thing: Dropping support for Ruby 2.3 would allow RSpec to start using Aruba 1.0 as well as some newer version of Cucumber for its Cucumber suites.

Another thing: Dropping support for Ruby 2.3 would allow RSpec to start using Aruba 1.0 as well as some newer version of Cucumber for its Cucumber suites

I'm curious whats in Aruba that wouldn't work on Ruby 2.3? As long as you're not using the esoteric syntax operators (which theres plain ruby alternatives for) 2.3 was the start of the "2.x" period of stability and I've never seen something break on 2.3 that works on 2.4 etc.

I'm curious whats in Aruba that wouldn't work on Ruby 2.3?

Nothing, really, although by now there would probably be a few syntax issues. I basically drew the line at some point before the 1.0 release. Note that Cucumber 5.2.0, mentioned in the roadmap above, even requires Ruby 2.5.

Note that Cucumber 5.2.0, mentioned in the roadmap above, even requires Ruby 2.5.

Well that rules it out for us then. As a testing library we should support the highest amount of Rubyists we can. Dropping 30% to support 2.5+ is too many people left behind for my tastes.

Dropping 30% to support 2.5+ is too many people left behind for my tastes.

I agree in principle, but since those numbers are from a Ruby-on-Rails survey, perhaps those people are already left behind by Rails, and hence already used to using old versions of their dependencies?
Perhaps something can be done to make the cucumber scenarios run with Aruba 1.0 + Cucumber 2, 3 or 4? That would allow supporting at least down to 2.4.
I'm not fundamentally against adding support for 2.3 back for Aruba, but that does have two practical downsides:

I can't easily get Ruby 2.3 installed locally so any bugs in that particular version would be hard to fix.
Latest RuboCop doesn't support 2.3 so I'd have to downgrade that dependency.

@mvz Thanks for bringing this up. I've added Aruba update to post-4.0 plan :+1:

Latest RuboCop doesn't support 2.3 so I'd have to downgrade that dependency.

Alternately, couldn't you just choose to not install and run rubocop on your 2.3 build?

Indeed, as Myron implies thats what we do, we only install and run Rubocop on supported platforms.
Potentially controversial suggestion, we could run Cucumber only on 2.5 or higher? Its main purpose is self executing documentation, so we could run it only on the newer Rubies...

Alternately, couldn't you just choose to not install and run rubocop on your 2.3 build?

I could, but RuboCop will try to 'fix' things in a way that works with Ruby 2.4 and up. This means having to disable potentially useful cops, and more hand-holding when upgrading RuboCop dependencies. Because of this, I prefer downgrading RuboCop.
By the way, I'm now working on a pull request to bring back Ruby 2.3 support to Aruba. I've solved the problem of getting Ruby 2.3 to install locally by updating Aruba's old Dockerfile. See https://github.com/cucumber/aruba/pull/787.

I'm a big fan of implicit block syntax and believe it makes for very readable tests, while also encouraging testing against one single subject as much as possible. If it can be extracted out to a gem, that'd be great.
I was digging through this repo when helping a friend out with their issue and stumbled upon this one, so it was a slight shock to the system to know that the syntax I've been leaning on quite heavily is being deprecated.

@boardfish Deprecated in 3.99, and restricted in 4.0. Check https://github.com/rspec/rspec-expectations/pull/1285 and especially an attempt to restrict it in 3.8.5 for details and reasoning.
An example how existing matchers can be patched to work with implicit block syntax. I encourage you to create a gem that would patch RSpec built-in matchers, we'll be happy to mention it in the RSpec 4.0 announcement.
I suggest continuing the discussion in https://github.com/rspec/rspec-expectations/pull/1285.


feat: limit thread number to 1 when HDD is detected

On HDD, multi-threaded du won't provide any performance benefit over the single-threaded one. Therefore, when HDD is detected on one of the files, limit the thread number to 1.
Fixes #257

Before merging this, I need to try rewriting the dependency injections in the tests from passing functions to using a trait, like so:
pub trait Api {
    type Disk: ?Sized;
    fn get_disk_kind(&self, disk: &Self::Disk) -> DiskKind;
    fn get_mount_point(&self, disk: &Self::Disk) -> &Path;
    fn canonicalize(&self, path: &Path) -> io::Result<PathBuf>;
}

pub struct RealApi; // would implement real APIs

#[cfg(test)]
pub struct TestApi { /* ... */ } // would implement mocked APIs

Whilst I do not request you to implement this for me, you're welcomed to try if you are feeling generous enough. If you do not do it, then I will do this when I have free time.

However, while any_path_is_in_hdd() needs all three closures, path_is_in_hdd() only needs two of them

However, while any_path_is_in_hdd() needs all three closures, path_is_in_hdd() only needs two of them

It's just an internal trait, not a user-facing public trait, so we don't need to make it modular. As for code simplicity, we are not passing any closures, we are passing a single instance of TestApi or RealApi.
I feel that the names I chose are somewhat horrible though. If you have better names, feel free to use them.

v0.11.0 has been released.


How to remove security restrictions from PDF

I have a PDF file that I cannot compare to another PDF in Adobe Acrobat because it says the document has security settings which prevent comparison. I think this has to do with the properties in the image below:

I ran qpdf like: qpdf --decrypt input.pdf output.pdf
But the security settings which prevent comparison are still there.
I saw qpdf has options like --annotate , --modify which I was thinking would target the properties in the screenshot but these are only for --encrypt, not for --decrypt.
So do you know if there's a way to run qpdf that would enable me to compare this PDF to another?
Thanks

I can't think of an explanation other than operator error. Are you looking at output.pdf rather than input.pdf? There is no way that, in the command you gave, output.pdf would still have security restrictions. qpdf --decrypt definitely removes all restrictions.

@jberkenbilt I double checked and comparison doesn't work for the output.pdf. I also tried editing (I don't need this, was just testing, I only need comparison) and it says "This document has been signed and can not be edited.". Maybe it has something to do with "signing"? Is there a command for removing this?
Thanks

Yes, it's possible it could have to do with signing. qpdf still doesn't support digital signature. I think I need to make that a priority.

I'm not sure how regular encryption interacts with digital signature. I will have to read that section of the spec. If it is an issue around signing, it may not be that easy to fix. Is there any way you could send me the file? If the file is okay to share with me individually but not okay to post, I can give you my email and you can send it. If not, that's okay...I can try other ways to reproduce it. I have a commercial Adobe Acrobat license at work.

@jberkenbilt Thanks for looking into this. Unfortunately I can't share it, but you should be able to reproduce. It has been signed with Adobe Sign. At the top of the original file there's this:

Thanks

Okay, I will look at it "soon" but not imminently. It may be a few weeks before I have a chunk of time to study this.

@jberkenbilt I'm hesitant to follow the procedure as the file is sensitive and wouldn't want to leak info.
But I managed to reproduce it from scratch with a test file with my Acrobat Pro subscription (you said you had one).
Just create a new test PDF and go to Adobe Acrobat Sign (included with Acrobat Pro) and request signatures from yourself and another email address belonging to yourself. Then make sure it's signed by both. Then take the file ending with "- signed.pdf" and try to remove restrictions from it. It will not work, and in Acrobat, the resultant file will show at the top "Certification by  is invalid"
Thanks

This bash script will do the trick.
#!/bin/bash
infile="$1"
outfile="$2"
if [ "$outfile" = "" ]; then
    echo 1>&2 "Usage: $0 infile outfile"
    exit 2
fi
root="$(qpdf --json --json-key=qpdf --json-object=trailer "$infile" | jq -r '.qpdf[1].trailer.value."/Root"')"
perms="$(qpdf --json --json-key=qpdf --json-object="$root" "$infile" | jq -r '.qpdf[1]."obj:'"$root"'".value."/Perms"')"
qpdf --json --json-key=qpdf --json-object="$perms" "$infile" | jq '.qpdf[1]."obj:'"$perms"'".value = null' > /tmp/new-perms.json
qpdf --decrypt "$infile" "$outfile" --update-from-json=/tmp/new-perms.json

What's going on here is that there is a /Perms dictionary in the document catalog that needs to be removed. Using qpdf json v2 (introduced in 11.0.0), it is possible to do this from the command-line, but I can add something like --remove-permissions for what will most likely end up being 11.3.0. In the meantime, the above will work. What this does:

Find the document catalog by looking up the /Root key in the trailer
Find the permissions dictionary by looking up /Perms in the catalog
Replace /Perms with a null object, which is the same as removing it; save the resulting json to a file
Decrypt the input and also remove the permissions object.

Of course Adobe's tools no longer report the document as secured or show a signature panel, even though the contents show the history, and the restrictions are no longer present on the file.
I was not aware of (or had forgotten about) the /Perms entry in the document catalog, though it has been there since PDF 1.5. (When I originally wrote the first version of qpdf, the latest version of the standard was 1.3, but 1.5 had been released long before the first open source release. I just overlooked or forgot about it since then.)
I'll have to study this file more closely. At an initial glance, I can see two things that differ from my original assumptions:

Although the document appears to have a digital signature, it lacks a /DSS key in the document catalog. I will have to study the spec more closely.
The mechanisms used here are not deprecated. This is a different mechanism from what I had guessed by skimming over the spec.

Anyway, let me know if the above script works for you.

I should have said to run the above with the input and output file as two arguments, e.g.

save the above as /tmp/remove-perms and make it executable
/tmp/remove-perms infile.pdf outfile.pdf

This assumes Linux or Mac, and you have to have jq. Windows will be a little different. If necessary, I could either provide a C++ or Python program that does this or describe how to do it manually with a text editor.

I tried the script (on Linux). Now the document says allowed for all restrictions, and no longer has the "Certification by is invalid" at the top. However, I still can't compare or edit the document, with the same error message: "This document has been signed and can not be edited." and "These documents have security settings which prevent comparison. Please modify the security settings to allow editing and try again.".
Did this work for you with a document you signed for yourself? I'm using Adobe Acrobat Pro 2022.003.20282 in a virtual machine.
Thanks

I didn't specifically try those things. There may be more keys I need to drop. Can you give me an exact formula for seeing the problem? I do not know my way around Acrobat.

@jberkenbilt I'm not an expert in Acrobat Pro either (I just purchased it 2 weeks ago). But in my version (which should be the latest), I just click on "Edit" and get "This document has been signed and can not be edited."
Thanks

My guess is that I will be able to figure out which key to remove to just remove the signature entirely by reproducing it with the samples I made before. When I have a chance to do that, I will update the script.

The discussion above is interesting also for other users. :)

@jberkenbilt Yes, this seems to remove all restrictions allowing compare & edit. Many thanks!

Great! I'll leave this open as a reminder to consider adding an option to the CLI to do what my script does.

The --remove-restrictions flag and the API QPDF::removeSecurityRestrictions will be in 11.3.


Adding options to disable SSL

Some of us poor bastards are still using JIRA without SSL enabled. I modified the requests and threw an exception and it said it was an SSL error, even though my config explicitly stated http for the URL.
Anyway, this allows me to disable SSL, with the default being true

Indeed!  Thank you for this PR!  Could you drop a note in the README on how to use this option?

Sure thing, will get those tests fixed when I get a sec as well

Woot!  Thank you, will cut a release with this shortly.


Unable to subscribe for R2 for enterprise

Example URL(s)
https://dash.cloudflare.com/api/v4/accounts/9b4c5e4b64a462a6f82668290471d56f/bulk/subscriptions
Actual Behavior
I am attempting to subscribe to the R2 service for our enterprise account (ID: 9b4c5e4b64a462a6f82668290471d56f) on TuneIn.com. However, I am encountering a 500 Internal Server Error with the following payload:
{subscriptions: [{rate_plan: {id: "r2_ent_paygo"}, frequency: "monthly", component_values: []}]}
subscriptions
:
[{rate_plan: {id: "r2_ent_paygo"}, frequency: "monthly", component_values: []}]
0
:
{rate_plan: {id: "r2_ent_paygo"}, frequency: "monthly", component_values: []}
component_values
:
[]
frequency
:
"monthly"
rate_plan
:
{id: "r2_ent_paygo"}
id
:
"r2_ent_paygo"
I am aware of the current issues related to subscription payments as mentioned on Cloudflare's status page (https://www.cloudflarestatus.com/). Could this error be associated with those issues? If so, could you please provide an estimated timeline for resolving this problem? Is there an alternative way to access the service in the meantime?
For your reference, I have verified that the payment

data is correctly specified. Additionally, I successfully subscribed to the R2 service using my personal account<EMAIL_ADDRESS>last Friday.
I have attached all relevant screenshots for your review.
Thank you for your assistance.

Expected Behavior
be able to subscribe
Additional information
No response

Howdy @Zero-dump, apologies for re-routing you here, but you should really reach out to Cloudflare Support for this issue.
This repo tracks issues about documentation... and we really don't have much ability to update the dashboard or investigate bugs.
I'll also forward along internally, but moving forward with Support would be your best chance at getting this resolved quickly.


ExecuteAsync failing with: expecting PUT /_api/cursor/

Hi,
I'm normally a user of Foxx services, but as a C# dev, so wanted to try your library and see how I get on.
Referenced the open source a few times to work out syntaxes, but think I'm there now to being able to achieve most queries.
Firstly, I wanted to retrieve a list of strings (id's) on ExecuteAsyn but since T must be parameterless constructor type, was unable. Fortunatlely, this mapping was for document _id's so I cast to ArangoHandle.
But...whilst the ExecuteAsync works fine when limiting the query, it seems to error when the cursor is required with
code: 400
error: true,
errorMessage: expecting PUT /_api/cursor/<cursor-id>

The query generates 200k Ids which I plan to cache in the webserver on startup for fast random lookups of documents.
Can you advise on what I can do to debug this? It's very simple query
ArangoDb.Query.ExecuteAsync<ArangoHandle>("myDb", $"FOR doc IN coll FILTER doc.myAttr != null RETURN doc._id");
Thanks

just use
ArangoDb.Query.ExecuteAsync()
ArangoHandle is not for _id
its a database/transaction identifier

ok, try again with 2.2.3
primitive types weren't allowed,
still the expecting PUT /_api/cursor/ sound suspicious
wrote a test with 100k and it ran just fine


i18n(pt-BR): reference/errors

Description (required)
create i18n/pt-br/reference/errors/action-not-found-error.mdx
create i18n/pt-br/reference/errors/action-called-from-server-error.mdx
create i18n/pt-br/reference/errors/actions-returned-invalid-data-error.mdx
create i18n/pt-br/reference/errors/actions-without-server-output-error.mdx
create i18n/pt-br/reference/errors/action-query-string-invalid-error.mdx
create i18n/pt-br/reference/errors/actions-used-with-for-get-error.mdx
create i18n/pt-br/reference/errors/endpoint-did-not-return-aresponse.mdx

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

pt-br
reference/errors/action-called-from-server-error.mdx
Localization added, will be marked as complete.

pt-br
reference/errors/action-not-found-error.mdx
Localization added, will be marked as complete.

pt-br
reference/errors/action-query-string-invalid-error.mdx
Localization added, will be marked as complete.

pt-br
reference/errors/actions-returned-invalid-data-error.mdx
Localization added, will be marked as complete.

pt-br
reference/errors/actions-used-with-for-get-error.mdx
Localization added, will be marked as complete.

pt-br
reference/errors/actions-without-server-output-error.mdx
Localization added, will be marked as complete.

pt-br
reference/errors/endpoint-did-not-return-aresponse.mdx
Localization added, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


name for anchors by aboudeh87

Now, @Alex-Bond updated new version, i will close your pull
if have your change. please create new pull


lint blocking calls

This is a lint I added a while to back to deno lint, so I'm biased, thought its nice to try it  on a real project, it only caught one instance in import_map.ts, the other one is in tests so its not a big deal.
https://lint.deno.land/?q=no-sync&all=on#no-sync-fn-in-async-fn

Interesting. Let's try it cause I don't see any drawback.


Remove duplicate tags on paste

I recently ran into this and saw issue #795. It's a decent workaround, but a more permanent fix might be helpful.
It looks like when adding all of the tags from the paste, since everything is running async, the tags aren't present in the items array at the time of the duplicate check. We can get in front of this issue by removing duplicates from the split text before we try to insert duplicate values and have to check later down the road.

Coverage increased (+0.0004%) to 99.801% when pulling 2d5e7c80c826d7555c568286862e8aed85c2f1af on stehlikio:fix-paste-dups into 87d0e6b695fd53d21f73357a1d3377ab569a78d0 on mbenford:master.

Any chance this could be released? :)

+1 to have this merged in. @mbenford any plans?


InvalidTypeNameException with _update in ES 1.7

When running the update builder I get the following error status with

ES 1.7
Jest 0.1.7 ..which I read should work with ES > 1.0

update result is {"error":"InvalidTypeNameException[mapping type name [_update] can't start with '_']","status":400}```

looks like a problem with my query and perhaps a poor error from ES :-)


[PE-D][Tester A] Unable to add module manually

Got an error message when trying to add a module.
It says that there was an error fetching data from NUSmods and suggested manually adding the module.
However, there was no advice given on how to add the module manually and I am unable to continue.

Labels: type.FeatureFlaw severity.Medium
original: Edfernape/ped#2

I am unsure how the user managed to get that error utilising the cs2103 mod code since it is present in the backup files and on NUSMods, but regardless I have added more descriptive error messages to show the verbose syntax to the user.


[4.2.x] Refs #34118 -- Fixed stacklevel in complex_setting_changed on Python 3.12.

This fix is unnecessary in Django 5.0+ since e83a88566a71a2353cebc35992c110be0f8628af, because signals no longer use sync_to_async().
Check out logs.

@hramezani Thanks :+1:


Add platform to scratch

remove gaps from n64 platform logo
split PlatformIcon into its own component
platform icon in scratch toolbar
add platform name to AboutScratch

Looks good, but the ps/dummy icons are giant when you make a scratch for those


Is a relationship a "field"?

The Sparse Fieldsets section of the documentation is not clear about what constitutes a "field". Is a linked relationship a field? In the section Resource Attributes, the term "attribute" is used for any key in a resource other than the four reserved ones. Maybe "field" should be changed to "attribute"?

You may want to check out https://github.com/json-api/json-api/pull/341

I'll take a look at the changes there, thanks.

(I didn't check to see if it answers your question, but if it doesn't, raising it over there seems a good idea :) )

@jfinkels the intention is that a "field" can be either an attribute or relationship. We should either define "field" or just say "attribute or relationship".

This is has been fixed, as it now says "The value of the parameter refers to an attribute name or a relationship name."


Uncaught TypeError: Cannot set property '_leaflet_pos' of null

Leaflet 0.7.4 + standalone Mapbox.js + MarkerClusters:
Uncaught TypeError: Cannot set property '_leaflet_pos' of null
L.DomUtil.setPosition @ vendor.js:32172
L.Marker.L.Class.extend._setPos @ vendor.js:34779
(anonymous function) @ vendor.js:34681
L.Util.bind @ vendor.js:31193

Keep getting this when moving map, if there are markers on it.
FYI anonymous function is, obviously, "this._setPos(pos);" line in:
update: function () {
  if (this._icon) {
    var pos = this._map.latLngToLayerPoint(this._latlng).round();
    L.Util.requestAnimFrame(function () {
      this._setPos(pos);
    }, this);
  }

  return this;
}

Can you set up a minimal JSFiddle reproducing the issue?
Why is the issue submitted here and not, say, Leaflet.markercluster repo?

Sorry, could open on Leaflet.markercluster, of course, but it does not happen with 0.7.3. That's why I though this might be Leaflet's issue.
Try to move map, zoom in and out: http://jsfiddle.net/svsjujjv/1/

@danzel got any ideas?

OK I see, there's a race condition caused by https://github.com/Leaflet/Leaflet/commit/c759481592830f80fad59fe7b63d9e14cb406e2f. @perliedman this._icon can be unset, we should safeguard against that if we use reqAnimFrame...

Confirmed that removing reqAnimFrame fixes the issue: http://jsfiddle.net/svsjujjv/3/
Even if we add a check for this._icon, there's still a bug that the markers animate from the top left corner.
We need to find a fix that would both handle the race condition fixed by reqAnimFrame and not have the animation troubles, then release a 0.7.5 regression fix sadly.

@mourner wow, truely sorry about that.
I'm not sure I see the animation problem you're talking about though, at least not in that fiddle - or am I looking for something subtle? The markers and clusters animate pretty much as I would expect them to on Chrome 44 and Firefox 39 on Ubuntu 14.04.

@perliedman are you looking at the last fiddle? It's the fixed one. If you comment out the patched update method it bugs out for me on Chrome under OS X.

Same animation bug in FF under OS X.

@mourner yes, without the patch I get the "Uncaught TypeError: Cannot set property '_leaflet_pos' of null" and animations look terrible. With your patch, everything looks like expected. I misunderstood it as if the animation problem was something you saw after adding the fix.

The fix is just reverting your earlier race condition fix. We need to find a way to keep it while not having the bug somehow...

Ok, so I have done some panic research and found this:

No obvious way to fix the regression when using requestAnimFrame; I'm not too familiar with the internals of Markercluster, but it seems it relies on the position of the marker being updated synchronously and even some pretty nasty hacks I tried didn't seem to fix that, so it seems like a dead end
Good news (I think): the problem that requestAnimFrame attempts to fix seems to have been fixed anyway in 0.7.4: even without requestAnimFrame in the update method, the test case we used works with 0.7.4. Try this fiddle, which uses 0.7.4 with requestAnimFrame reverted: http://jsfiddle.net/nqr6m8wu/5/ (normal, working map) - and compare to this fiddle, which uses 0.7.3, obviously also without requestAnimFrame: http://jsfiddle.net/nqr6m8wu/4/ (grey map that can't be panned, zoomed, etc.)

My conclusion is that we can revert my bad fix, and it will make Markercluster work again, and #2021 will still be fixed.
It would of course be highly recommended that someone else verifies this, since it's late and I've tried a bit too many things in the last two hours to be really sure of anything.

Thanks so much for looking into this Per!
Looks like we're pretty lucky with the fix. :) I wonder what exact commit other than yours fixed the issue.

:+1:

Having a requestAnimFrame in Marker.update feels a bit gross, so reverting that sounds nice to me too.

I ran a bisect and found that this commit is the fix for the marker issue, even without requestAnimFrame: https://github.com/Leaflet/Leaflet/commit/91477588faa44e2b266d86a5a44cb98490244d39
Good work, @mourner :)

Cool! Released 0.7.5 with the fix.


Module does not load into BBEdit 12

Added plist to directory as listed for BBEdit version 12.0.2 (400046)
Nothing appears any different.

Does not load for me either BBEdit version 12.1 (410026, 64-bit).

Same here

+1, not working here. The language doesn't even appear on BBEdit settings.

For others still having this issue, it is due to an error in the plist. Search down to about line 281 and find
<string>BidirectionalIndexable/string>
correct this line to:
<string>BidirectionalIndexable</string>
and restart BBEdit. This solved the problem for me


Release 1.3.2

Docket:

Add blacklist handling for skipping requirements in pex resolver #457

this is complete cc @CMLivingston


Many things added

Add NOTICE, RAW commands. Add way to get caller host.

Closes #7

Thank you so much for your contribution! I have added some comments to your commit, please review and correct (or comment)

I belive I fixed all that problems


Fix #1045: hide internal CRDs in OLM console

This also renames the OLM package to camel-k-dev to prepare for automatic release of the manifests in nightly releases.

Release Note
Only user-relevant CRDs are now shown in the OpenShift dev console

Failing because of https://github.com/actions/virtual-environments/issues/922


mv * files from SCRATCH_DIR to RESULTS_DIR instead of cp -r, and make SCRATCH_DIR optional

Required Checklist

[X] I have read the Contributing Guide. Don't lie! 😉
[X] My PR is on a custom branch and is not named main.
[x] I have added relevant unit tests. Note: Your PR will likely not be merged without proper tests.

If you are an external contributor, you will see a comment from @buildbot-princeton. You can ignore this, as it is solely for admin purposes.
Summary of Changes
The default SCRATCH_DIR was changed to None, such that everything is done in the same directory as RESULTS_DIR unless otherwise specified. This should make the "first calculation" easier on the new user, as everything will happen "before their eyes."
Additionally, an mv * style of operation is done instead of cp -r when transferring files from SCRATCH_DIR to RESULTS_DIR, assuming the former is specified. This should speed up the process substantially.

@tomdemeyere: As described in the above summary, I modified the behavior of the I/O to address a few of your concerns. Please don't hesitate to let me know if you recommend any modifications.


Could not find :oppwa.mobile-4.5.0-release

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.

Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not find :oppwa.mobile-4.5.0-release:.
Required by:
project :app

Which version are you using?


apple_map_screenshot

how to change map type,show compass and marker in screenshot

hey please solved it these issues


nm test: Fix test_iface_admin_state_change

Change the desire state to use InterfaceType.DUMMY as unknown
interface will be removed from editing.

Coverage remained the same at 61.707% when pulling 4779d048338d4d1e6fee28558294d51425a4c7c3 on cathay4t:fix_lo into 1c0f52a562501980ed9042e77ce6647dd5ea1496 on nmstate:master.


COMP: Fixed issue #1821 by conditionalizing ITKGPUCommon_* per-OS

@dzenanz @thewtex could you review?
I've tested on macOS, but not on Windows, I'm just going on @Neumann-A comments in #1821.

I am trying it locally.

Rebasing this on #3440 works, too.


Check- self_regulation_threshold - Possible regulation threshold issue

Discussed in https://github.com/jmcollin78/versatile_thermostat/discussions/375

Originally posted by Edwintenhaaf February  8, 2024
Hi All,
Before creating an issue I want to post it here to check  if the cause is related to versatile_thermostat.
Im using thermostat_over_climate to control three toshiba ac's.
I have configured the step size to 1 degree but I get these errors in the log.
The thermostat does not accept the temperatures because it only accepts rounded degrees.
the climate entities have the correct settings/attributes
min_temp: 15
max_temp: 30
target_temp_step: 1
Does any of you know what the problem can be ?
`Logger: homeassistant.core
Source: core.py:2295
First occurred: 12:55:56 PM (16 occurrences)
Last logged: 6:32:12 PM
Error executing service: <ServiceCall climate.set_temperature (c:01HP4SJ3PG5VS7ZXG7B6EGDC0C): entity_id=['climate.woonkamer_ac'], temperature=25.2, target_temp_high=30.0, target_temp_low=15.0>
Error executing service: <ServiceCall climate.set_temperature (c:01HP4SJ3PZ3G2VNK43WYFDSHNH): entity_id=['climate.overloop_ac'], temperature=23.6, target_temp_high=30.0, target_temp_low=15.0>
Error executing service: <ServiceCall climate.set_temperature (c:01HP4SW6Z0MKQ5FDDPJ7BT9Z38): entity_id=['climate.woonkamer_ac'], temperature=24.27, target_temp_high=30.0, target_temp_low=15.0>
Error executing service: <ServiceCall climate.set_temperature (c:01HP4V9BK46E101DWECWK7JPYN): entity_id=['climate.woonkamer_ac'], temperature=23.01, target_temp_high=30.0, target_temp_low=15.0>
Error executing service: <ServiceCall climate.set_temperature (c:01HP4WDW6J7C3SPG45PF77F0GB): entity_id=['climate.overloop_ac'], temperature=23.8, target_temp_high=30.0, target_temp_low=15.0>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/core.py", line 2295, in _run_service_call_catch_exceptions
await coro_or_task
File "/usr/src/homeassistant/homeassistant/core.py", line 2316, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 892, in entity_service_call
single_response = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 962, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 835, in async_service_temperature_set
await entity.async_set_temperature(**kwargs)
File "/config/custom_components/toshiba_ac/climate.py", line 112, in async_set_temperature
await self._device.set_ac_temperature(set_temperature)
File "/usr/local/lib/python3.12/site-packages/toshiba_ac/device/init.py", line 289, in set_ac_temperature
state.ac_temperature = val
^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/toshiba_ac/device/fcu_state.py", line 393, in ac_temperature
self._ac_temperature = ToshibaAcFcuState.AcTemperature.to_raw(val)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/toshiba_ac/device/fcu_state.py", line 50, in to_raw
return temp_to_raw[temperature]
~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 23.05
`
Thanks,
Edwin

https://github.com/jmcollin78/versatile_thermostat/releases/tag/5.4.2


Issue with rds.troposphere

Hi,
Today I found out that, AWS RDS for oracle is now supporting Transport layer Security (released May 30, 2018). I was trying to use the OptionSettings parameter in the OptionGroup resource, but I was thrown an error, even though I imported  troposphere.rds
TypeError: <class 'troposphere.rds.OptionConfiguration'>: None.OptionSettings is <class 'set'>, expected [<class 'troposphere.rds.OptionSetting'>]`
My code:
resource_refs['RdsOracleOptionGroup'] = template.add_resource(     rds.OptionGroup(         'RdsOracleOptionGroup',         EngineName=config.get('Engine', 'oracle-se1'),         MajorEngineVersion=str(config.get('MajorEngineVersion', '11.2')),         OptionGroupDescription='Option group for %s' % config['project'],         OptionConfigurations=[             rds.OptionConfiguration(                 VpcSecurityGroupMemberships=[Ref(resource_refs['RdsSecGrp'])],                 OptionName='SSL',                 OptionSettings = [                  'SQLNET.SSL_VERSION',                 '1.0'             ],                 Port=2484             )         ]
Please advise me , if the troposphere library is not updated for this new feature or my usage is wrong?

Update:
I edited my code to use rds.OptionSetting, now the error clearly shows that
AttributeError: OptionSetting object does not support attribute SQLNET.SSL_VERSION
code:
OptionConfigurations=[             rds.OptionConfiguration(                 VpcSecurityGroupMemberships=[Ref(resource_refs['RdsSecGrp'])],                 OptionName='SSL',                 OptionSettings = [rds.OptionSetting(**option_setting)             ],                 Port=2484             )         ]
option_setting = {     'SQLNET.SSL_VERSION': '1.0' }

Likely you should try something like:
OptionSettings=[
    OptionSetting(Name='SQLNET.SSL_VERSION', Value='1.0'),
]


RichText place holder does not disappear when typing with japanese language

Issue Summary
while selecting the Japanese language keyboard and typing in the richtext fields, the placeholder text that tells "Write something or type '/' to insert a block" does not disappear when starting typing with the Japanese language keyboard, as it is not considered as text till the user clicks the tab to choose the accurate kanji characters
one of the solutions that I thought about it is maybe to cancel the placeholder text in all richtext fields
I can not find in the documentation anything about such detail
here I join a small video that explains the problem that I am facing
Screencast from 03-14-2023 09:59:02 AM.webm
Steps to Reproduce

open a model form containing a field with richtext
select the Japanese language keyboard
start writing the text will be up the placeholder (before selecting the kanji with tab)

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes

Technical details

Python version: 3.11.
Django version: 4.0.10.
Wagtail version: 4.2.1.
Browser version: Chrome 111.

I @oladhari, thank you for reporting this. I’ve been able to reproduce the issue, this is most likely a problem with all IME interactions with the editor – the editor’s internal state doesn’t update until the IME has been completed with tab or space or similar.
So – to fix this, we’d need to either make sure the editor’s state gets updated as soon as IME input is initiated, or make sure the placeholder stops displaying based on something else than editor state.

Can we fix this by adding a script to wagtail.admin.templates.wagtailadmin.widgets.draftail_rich_text_area.html:
{% include 'django/forms/widgets/hidden.html' %}<script>window.draftail.initEditor('#{{ widget.attrs.id|escapejs }}', {{ widget.options_json|safe }}, document.currentScript)</script>

@thibaudcolas till when it will be reported, please?


Add image export options

Add the option to export the annotated code as an image (png), either as a download or pasted into the clipboard.
.
This change should make it much easier to share annotations in a Miro board during code reading clubs.
The clipboard API doesn't allow jpeg images for some reason. I figured jpeg artifacts might be a problem with images that might be very big with very small text, so that constraint might be a good thing.
Also worth noting: Clipboard.write() is not supported yet on Firefox, so the copy button is disabled there (via a check of navigator.clipboard.write !== undefined).
Both the download and copy options use html2canvas to generate the image. There's a problem where it ignores the mix-blend-mode css rule, which is very important for annotations, so I had to use patch-package to patch that in (I used the fix suggested in this issue).
Exporting to pdf is probably very useful but it can't be done on the client side (other than printing to pdf). In order to solve this problem we'd have to do something server-side. This might be a good opportunity to combine this project and CodeReadingClibs/pdf-maker.

just one bug fix with regard to difference in ClipboardItem implementations between Chromium and WebKit and it's good to go


code duplicates

Hello,
I'm using the version 0.3.0 with the latest grunt 1.0.1 and grunt-vli 1.2.0, all installed by npm
my grunt task is the following:
fixmyjs: {
	    options: {
	      config: '.jshintrc',
	      indentpref: 'spaces'
	    },
	    test: {
	      files: [
	        {
				expand: true,
				cwd: 'static/js',
				src: ['**/*.js'],
				dest: 'static/js/',
				ext: '.js'
			}
	      ]
	    }
	  },

Sometimes (I could not find a way to replicate I get duplicated code (ie if the source file contains
var a = true;

I end up with
var a = true;
var a = true;

the tasks I'm running are in order
fixmyjs
jshint
concat
uglify

Is there a way to determine what causes this and fix this behaviour ? As now I've changed the task so  the ext is changed to
ext: '.fixed.js'
but I'd really like to fix my js files for good :)
thanks !
edited by @doowb: adding back ticks around code blocks for readability

@giulianozorzi this is probably an issue with fixmyjs. Check that repository and open an issue there if you can't solve it. This is just a grunt plugin to run fixmyjs through a grunt configuration.

yeah this is an issue for fixmyjs. closing (thanks @doowb)


ncyBreadcrumbLabel {{Substitution}} value lost after refresh

First of all, thanks a lot for this great plugin!!
I am using this with dynamic values and I encountered a possible issue. This might regard to #15 But I am not sure..
How it works now
I give the label a dynamic value, similar like the example below. When I go to a certain state (e.g. ui-sref='mystate') this is working and it shows the dynamic value it got from the controller as supposed to.
.state('mystate', {
  url: '/url',
  views: {
    "@": {
      templateUrl: 'tpl.html',
      controller: function  ( $scope,   $state,   $stateParams ) {
         $scope.title = 'mytitle';
      }
    }
  },
  data: {
    ncyBreadcrumbLabel: '{{title}}'
  }
 });

Problem
When I refresh the page or go to a direct url (e.g. somesite.com/url) to get the state. The dynamic value isn't passed to the breadcrumb label. It seems like it is only working when you are using the states via ui-sref or maybe others as well.. The value is still in the scope, but somehow the breadcrumb can't get to it and the value it once had is lost.
Possible solution
Make sure that the dynamic value is saved somewhere or it can get to the scope where the value was in so you can still use it and when you go to a state and there is a value available (e.g. !empty String) which is changed, then it should update the current value. As the states change, the scope also changes and it's possible that's the reason why it is looking in the current scope for the value. Using the $rootScope of Angular and an array of values which check with the current state where it is now. I will try to implement an example with the usage of $rootScope in the meanwhile.

I hope I answered to your interrogation.
I close the issue. The angular-translate question is tracked here.


Filename of the Start Menu Layout file

It's not exactly clear on the above guide but the StartLayout xml you choose MUST be named LayoutModification.xml otherwise it will not apply via a PPKG.

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

ID: 98a8c769-f53b-9982-715c-9a9c0e86913d
Version Independent ID: 8480b8b3-8dd7-7422-27be-f5480014d1b5
Content: Start (Windows 10)
Content Source: windows/configuration/wcd/wcd-start.md
Product: w10
GitHub Login: @jdeckerMS
Microsoft Alias: jdecker

@jbyway Thanks for the feedback, I'll adjust the language in the topic to make that clearer.


[Icon Request] Support for recoil folder

[x] I'm sure this issue is not a duplicate.

[x] I'm submitting an icon request:

Type: folder
Icon Name: recoil
Sample original Icon:
Filenames: recoil

More info:  https://recoiljs.org/

i think this issue is very good


[Release] Add delay/retry to GitHub artifact downloads in download_rc_binaries.py

Describe the enhancement requested
From https://github.com/apache/arrow-adbc/issues/271#issuecomment-1364587840
GitHub Release artifact downloads may fail with 403 if we're too aggressive. We should add a bit of delay and/or retry to avoid this.
Component(s)
Release

This is making the automated verification have issues: https://github.com/apache/arrow-adbc/actions/runs/3776184335


Strava 3.2.42/ HA 2024.11.3 - All Run Values show significantly decreased values

I'm on version 3.2.42 and I've noticed today after updating to 2023.11.3 that the ALL Run values started showing bogus data. YTD still show correct:

And data directly from Strava:

There are no error messages in logs.
Thanks

Hi @Plawasan
I have also noticed this.
I do not believe it is the integration but rather something that has changed on the Strava API.
Will look into this soon as I have a bit of time

I have confirmed this is an issue with the Strava API and raised a query with Strava Community.
Will update this issue when I know a clear path forward

The issue raised on Strava Community, no response yet
https://communityhub.strava.com/developers-api-7/athlete-v3-stats-api-all-run-totals-and-others-are-incorrect-7826

for clarity, 2023.12.3 hasnt fixed this
As you can see, my reported total running distance is a little off

total ride distance even more so

This issue has been investigated and confirmed by Strava. A Ticket has been opened to get the issue with the API values fixed.
No ETA at this point.

Response from Strava:

Thanks for following up. The team has actually just identified the issue.
The data that is exposed is the expected data - only data from activities set to Everyone visibilty. Previously there was a bug, which included cumulative data for activities with other visibility settings.
Let us know if you see anything different as you navigate.

I have responded. After making activities visibly to Everyone the counts do not correct themselves.
In addition,

The read_all scope should allow us to get the private activities to.
There are discrepancies between the different counts YTD, ALL Recent

That's a bs response.. you're not polling an API for public info, you're polling it with a token for the specific user so not exposing the private entries is just stupid. Keep fighting! :)


Add tests to simulate user actions - file upload actions

Simulate user clicks on items, and ensure certain outcomes are met.
Currently there's a test that simulates user entering 2 sentences in the text area on the main page. Assertion: there are 2 trees that are initialized on the tree page.
See palmyra functionality document for use cases.

the tests covered:
user clicks upload without uploading a file
user clicks upload with uploading a file
user clicks upload without uploading a file and a config file
user clicks upload with uploading a file and a config file
user clicks upload without uploading a file and a config file
user clicks upload with uploading a file and a config file
user clicks sentence upload without entering sentence data, config file is uploaded
user clicks sentence upload and sentence data is entered, config file is uploaded
user clicks sentence upload without entering sentence data, config file is not uploaded
user clicks sentence upload and sentence data is entered, config file is not uploaded


Solve the problem of address delivery in service discovery scenarios

What is the purpose of the change
Solve the problem of address delivery in service discovery scenarios
see #8491
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #8492 (4f8b93f) into 3.0 (08eb01b) will decrease coverage by 0.02%.
The diff coverage is 100.00%.

:exclamation: Current head 4f8b93f differs from pull request most recent head 963d4b8. Consider uploading reports for the commit 963d4b8 to get more accurate results

@@             Coverage Diff              @@
##                3.0    #8492      +/-   ##
============================================
- Coverage     62.87%   62.84%   -0.03%
+ Complexity      312      310       -2
============================================
  Files          1112     1113       +1
  Lines         46620    46661      +41
  Branches       7012     7020       +8
============================================
+ Hits          29311    29324      +13
- Misses        14050    14074      +24
- Partials       3259     3263       +4

Impacted Files
Coverage Δ

...bo/rpc/cluster/support/AbstractClusterInvoker.java
77.19% <100.00%> (+0.20%)
:arrow_up:

.../remoting/transport/netty4/NettyServerHandler.java
62.79% <0.00%> (-9.31%)
:arrow_down:

.../apache/dubbo/rpc/protocol/tri/AbstractStream.java
39.64% <0.00%> (-5.81%)
:arrow_down:

...e/dubbo/rpc/protocol/tri/AbstractServerStream.java
52.87% <0.00%> (-4.86%)
:arrow_down:

...java/org/apache/dubbo/remoting/api/Connection.java
71.56% <0.00%> (-3.69%)
:arrow_down:

...he/dubbo/remoting/transport/netty/NettyServer.java
70.17% <0.00%> (-3.51%)
:arrow_down:

...va/org/apache/dubbo/registry/RegistryNotifier.java
82.85% <0.00%> (-2.86%)
:arrow_down:

...e/dubbo/rpc/protocol/tri/AbstractClientStream.java
58.44% <0.00%> (-2.06%)
:arrow_down:

.../dubbo/remoting/transport/netty4/NettyChannel.java
64.35% <0.00%> (-1.99%)
:arrow_down:

.../src/main/java/org/apache/dubbo/rpc/RpcStatus.java
72.61% <0.00%> (-1.20%)
:arrow_down:

... and 17 more

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 08eb01b...963d4b8. Read the comment docs.


[FeatureRequest] Toggle language

Most of the examples within the docs are written in coffee script. Now, whilst I understand most of the core is also written in coffee script and is second nature to the devs, not everybody uses it.
I for one find coffee script difficult to read (function return values, assigning to this in method parameter list, if .. unless, etc...)
I suggest the feature of having all code samples displayed in such a way the user can toggle between the preferred language (coffee, es6, js).

Thanks for contributing!
We noticed that this looks basically like a duplicate of https://github.com/atom/flight-manual.atom.io/issues/36 so you can subscribe there for updates if you'd like.
Also, for future issues please use the issue template as much as possible - the information in the template is helpful for us when triaging issues.

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


[1.8-rc2] docker rmi never exits

It looks like the docker rmi command issues the right HTTP call but never exits, I have to Ctrl+C out of it.
$ docker pull postgres
$ docker rmi postgres
// Hangs
$ docker rmi postgres
Error response from daemon: No such image: postgres
Error: failed to remove images: [postgres]

# docker version
Client:
 Version:      1.8.0-rc2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   8a9d4ea
 Built:        Tue Aug  4 02:46:08 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.0-rc2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   8a9d4ea
 Built:        Tue Aug  4 02:46:08 UTC 2015
 OS/Arch:      linux/amd64

# docker info
Containers: 1644
Images: 362
Storage Driver: aufs
 Root Dir: /home/docker/data/aufs
 Backing Filesystem: extfs
 Dirs: 3660
 Dirperm1 Supported: true
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.19.0-18-generic
Operating System: Ubuntu 15.04
CPUs: 8
Total Memory: 94.41 GiB
Registry: https://index.docker.io/v1/

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Do the docker daemon logs say anything?

Sorry, I meant to include it. The only line I can see is the HTTP command to issue the request. Nothing else seems relevant.
Aug  6 11:35:04 ns3001358 docker[6101]: time="2015-08-06T11:35:04.343857471+02:00" level=info msg="DELETE /v1.20/images/postgres"

I cannot reproduce this :pensive:
Status: Downloaded newer image for postgres:latest
david@gfs-client-1:~$ sudo docker rmi postgres
Untagged: postgres:latest
Deleted: 730d1d72bda2e616f9b15436a7b5ba6812553011f878893e9b12a7698e69fbd6
Deleted: 3e840dbb54745abccb622dae20d9c9215b365d5217e31e7d8c0fb58db5d814fd
Deleted: 4df8a54cf33a12193b9e4ec9401971f5561b12f043e95ae103ae98cb38f5a0e8
Deleted: 09e02a9f8afe08f3f5f085b62d7518741293f281af08c790a5f53df4a34292bc
Deleted: 39172f8b90f2ad4e749aab8132783753aab30ee4929db64fbe4c3baaa3f9bce3
Deleted: 3fa84fbfdec93674e182ba8627cb591d0928212242e53b8bc9e176dbaf44bbfd
Deleted: c5d75e7f9094146b5abf2d8b8570d7507b5a61cf1fc3ee8af7ebd9f15979d782
Deleted: a95070c23e863178636dd312528a15d4cb4ef6bfc0c780bfe82286dffbd2b765
Deleted: 64957633c26798725f49a252b2c2f56580bd947d71a922db3f56649f614c40b2
Deleted: a814508841fada4218cc649b2778f3e664cb4fce2ad1f3ba676d506e603bcb54
Deleted: 49915906faae6c867c1645dab4de9f2e5d3c00794b05e3c8231b3262ac5f4702
Deleted: b41b53da5fbae2262df8f9cf98ea971a8ce700633b03da929c0fd6ed1c10e890
Deleted: 02fa71f1fa3875fbfa00a362387956ee0e7171c7102e9aed7111ad7934296b8b
Deleted: 0b82f508e063ac2591fd30c3adaa201d2a0054faadab5f36c7f9e13ec738bb58
Deleted: e07b5a739ed90b88feaac9324e89c019986cb223ccc46dec49da678b7d67184e
Deleted: c783ebe7a1d4d258843a8db5b3b9f8eefde18d1f138f12ad09db74ea104712ed
Deleted: 8b6b2a3b7f9ca881a2b5df025b9878ecaac765fafe317e0f19919a0d53f282e5
Deleted: 22ed955cce182557ffc5d3fda102c6d17cd8a6018d30d8d1abc16b16a6a93552
Deleted: 26a84c436db459002dccdfcd01826bdab7fba77aa39d61dda4e77ea0547657bf
Deleted: 9a61b6b1315e6b457c31a03346ab94486a2f5397f4a82219bee01eead1c34c2e
Deleted: 902b87aaaec929e80541486828959f14fa061f529ad7f37ab300d4ef9f3a0dbf
david@gfs-client-1:~$

david@gfs-client-1:~$ sudo docker info
Containers: 0
Images: 0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-53-generic
Operating System: Ubuntu 14.04.2 LTS
CPUs: 1
Total Memory: 490 MiB
Name: gfs-client-1
ID: RIFX:XFWM:5YAS:WCZP:HZCB:AMUA:DXL3:S2WP:K6LW:UNIO:OCLH:NM7X
WARNING: No swap limit support

vagrant@gfs-client-1:~$ sudo docker version
Client:
 Version:      1.8.0-rc2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   8a9d4ea
 Built:        Tue Aug  4 02:44:56 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.0-rc2
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   8a9d4ea
 Built:        Tue Aug  4 02:44:56 UTC 2015
 OS/Arch:      linux/amd64

I tried it on a clean 15.04 and it worked as expected. Going to close as can't reproduce.


New publication on blog

New publication
There are issues with incorrect appearance of deleted "wp.thingsboard.io" in some places, it has not the effect for user, but should be fixed. Cannot find the solution now, but will fix it on the next week
Link checker
The links will be checked by the build agent automatically once you create or update your PR.
You can use the following command to check the broken links locally.
docker run --rm -it --network=host --name=linkchecker ghcr.io/linkchecker/linkchecker --check-extern --no-warnings http://<IP_ADDRESS>:4000/

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Image content from ByteArray or Stream

There is no documentation about ho to send Image from ByteArray or Stream... It is possible to send by url or "text"... what is a text image ??
Thank you for this great API

Hi, OpenAI accepts images only by URL.
Content content = Content.builder()
                .type(IMAGE_URL)
                .imageUrl(ImageUrl.builder()
                        .url("http://image.url")
                        .detail(LOW)
                        .build())
                .build();

Then you can put Content into UserMessage:
UserMessage userMessage = UserMessage.builder()
                        .content(content)
                        .build();


default Polls test_about

test_about in the default Polls project fails with 301 error.
Traceback (most recent call last):
  File "C:\Users\bob\source\repos\pollsShown\app\tests.py", line 34, in test_about
    self.assertContains(response, 'About', 3, 200)
  File "C:\Users\bob\source\repos\pollsShown\env\lib\site-packages\django\test\testcases.py", line 446, in assertContains
    response, text, status_code, msg_prefix, html)
  File "C:\Users\bob\source\repos\pollsShown\env\lib\site-packages\django\test\testcases.py", line 418, in _assert_contains
    " (expected %d)" % (response.status_code, status_code)
AssertionError: 301 != 200 : Couldn't retrieve content: Response code was 301 (expected 200)

Fix is to remove trailing slash from the about url in pollsShown/urls.py
to
path('about', views.about, name='about'),

We've removed the samples project templates from the product.


Typos in docstrings and parameters

Fixed typos across files in time_evolving_mpo.
Mainly documentation, but includes renaming the parameter 'tollerance' to 'tolerance'.
No functional changes. All tests passed.

Codecov Report

Merging #17 (1dba887) into master (9f4bc00) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #17   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           24        24
  Lines         2051      2051
=========================================
  Hits          2051      2051

Impacted Files
Coverage Δ

time_evolving_mpo/config.py
100.00% <ø> (ø)

time_evolving_mpo/correlations.py
100.00% <ø> (ø)

time_evolving_mpo/exceptions.py
100.00% <ø> (ø)

time_evolving_mpo/helpers.py
100.00% <ø> (ø)

time_evolving_mpo/util.py
100.00% <ø> (ø)

time_evolving_mpo/pt_tempo.py
100.00% <100.00%> (ø)

time_evolving_mpo/tempo.py
100.00% <100.00%> (ø)

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 9f4bc00...1dba887. Read the comment docs.

It seems my spelling is to tolllerant. Thank you!


GPT4All Python Bindings out of date [move to new multiplatform bindings]

Feature request
The official gpt4all python bindings now exist in the gpt4all pip package. Langchain currently relies on the no-longer maintained pygpt4all package. Langchain should use the gpt4all python package with source found here: https://github.com/nomic-ai/gpt4all/tree/main/gpt4all-bindings/python
Motivation
The source at https://github.com/nomic-ai/gpt4all/tree/main/gpt4all-bindings/python supports multiple OS's and platforms (other bindings do not). Nomic AI will be officially maintaining these bindings.
Your contribution
I will be happy to review a pull request and ensure that future changes are PR'd upstream to langchains :)

PR #4567
Credit: @Chae4ek


Fix two serious bugs in new persistent

I found these two issues based on @efekaptan 's https://github.com/apache/skywalking/pull/4740#issuecomment-623763022 reports.

TopN Query is not working since the 8.0 storage re-implementation. FYI @kezhenxu94, another thing we don't cover in the e2e.
Metrics are not calculated for the first time, we only can get the values in update process. Easy fix but hard to find :P

Codecov Report

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

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

@ascrutae please update the demo, let's see whether everything is back to normal.


Addresses most Component Governance issues

But not all due to the fact that there are vulnerabilities in lerna, webpack and cpx, for which we have the latest versions already

need to look into why the build fails in the CI loop but not locally


Extract getting mac address to util.network

Description:
Consolidate duplicate implementations. Will probably be used in huawei_lte too in the future.
Checklist:

[ ] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Using Mac will help the 99% of the users that do not have a separate subnet for IoT. We should however only rely on it if we cannot get any other unique ID from the API.

huawei_lte is in a situation that it only offers suitable unique ids (e.g. serial number) through the api when authenticated. But the api's authenticated use has issues due to device limitations and is not necessary in a lot of cases at all, so I'm going to be making it optional. Mac address is the best replacement I can think of.

In that case we can auth to get the unique IDs, and do the rest without ?

But the majority of cases don't (need to) have auth credentials even configured. The devices can be made autodiscovered and configured without any additional information from users, and still provide a major useful subset of their functionality.
#24628 merged instead.


addfont not working

Hej,
I have searched on the web and also looked into your examples and code, but I was not able to add a custom font to the pdf. As I understand as such it should work?
What I tried:
in the css-file added:
@font-face {
font-family: 'Verdana';
src: url('verdana.ttf') format('truetype');
}
The font works on the webpage.
and in the js-file:
doc.addFont('Verdana', 'Verdana', 'normal');
doc.setFont('Verdana');
doc.text(20, 80, 'Some Verdana Text.');
but in the pdf it keeps saying "The font 'Verdana' contains a bad /BBox." and does not show it right. Acrobat takes the font "Adobe Sans MM" instead. (Tried without the css part as well.)
However it works fine with 'Arial' font, by just adding:
doc.addFont('Arial', 'Arial', 'normal');
doc.setFontType('normal');
doc.setFont('Arial');
doc.text(20, 70, 'Some Arial Text.');
Any ideas? Thanks in advance for the help and for the wonderful jsPDF package.
/Ema

Removing lines 777-797 from jspdf.js helped for me. (After that invoke make to build it.)

Hi Eusebius1902,
thank you for your answer.
Actually  https://github.com/MrRio/jsPDF/issues/509
is not related as the basic example works fine for me also locally.
The funny thing is, if I use my minimum example it displays the right font if I open the pdf in bluebeam Rev. However in acrobat reader it does take a default font.
Strange...
Any one else having the same issue?
Thanks, Ema

hi even i want to add Flama Basic to my pdf but not working with above steps help me if anyone knows or tried.

HI, I have the same issue with Verdana font -> bad bbox. Has anyone found a solution ?
Thanks, Leo

@LeoAbu-Saa you can see that PDF in browser it will not show any error,But with adobe it shows error.as the fonts are not embedded in it.

Thank you @ashakoshti1988 for your reply. Does this mean that in the browser the document is displayed correctly and with Adobe reader I can't open it without that warning ?
Thanks, Leo

@LeoAbu-Saa  yes,in browser it will display correctly but for adobe or other pdf viewer you need to embed that particular font in pdf,as with current version they have embed halvetica,times,arial,courier in it.you can see in js files.

@ashakoshti1988 In my case I have the text in finnish language.. For example something like this:
"Med avtalet säkerställer man att skogsägaren får den överenskomna servicen
avskogsvårdsföreningen."
In the browser the result is not the same:
"Med avtalet s kerst ller man att skogs garen f r den verenskomna servicen av skogsv rdsf reningen".
The 'special chars' like this one "ä" are omitted.
Should I use a different encoding ?
Thank you, Leo.

@LeoAbu-Saa It will support whetever in ascii character range.

@LeoAbu-Saa
Hi,
maybe little late and you solved already, you have to write the letters as unicode, see here:
https://en.wikipedia.org/wiki/List_of_Unicode_characters
like for if you want to write "år" (danish year) you have to write in java script '\u00E5r'
Cheers,
Emanuel

@Ema7 Thank you, I will try shortly your solution. :)

@Ema7
Hi Ema, this works fine with the default font.
As soon as I set the font to 'Verdana' it doesn't encode it properly.
This is the text: säkerställer -> s\u00E4kerst\u00E4ller
Have you succeeded to use Verdana and special chars ?
Thanks for your support.

@LeoAbu-Saa
I have tried as well.. but unfortunately can't figure out why it is not working. Seems that the font is not incorporated correctly in jsPDF.
Sorry! In case you find a solution please post here so all know! :)
Cheers,
Ema

https://github.com/sphilee/jsPDF-CustomFonts-support


Reload sysctl after enabling IP forwarding if needed.

We probably need to reload sysctl if IP forwarding is enabled by kubespray.
roles/kubernetes/preinstall/tasks/main.yml
Change from:
sysctl:
name: net.ipv4.ip_forward
value: 1
sysctl_set: yes
Change to:
name: net.ipv4.ip_forward
value: 1		     value: 1
state: present		     state: present

reload: yes

ansible_host already changed in master, please make git pull before submitting PR

Hi Atoms,
How do I make the git pull?

by doing git fetch --all before committing

I created a new pull request, can we remove this one?


Scatter plot from learned code representations

Hello Ed,
In Med2Vec, after creating the model file, you have created a 2D scatter plot using learned code representations. Is there any grouping is performed between the medical codes after creating the model file for scatter plot?
Because in High charts, the coloring is done based on some grouping.
example:
https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/scatter/
I have tried to create scatter plot after performing TSNE on embedding. It is created but there is no grouping, the colors are randomly placed. Cluster does not formed.
Can you please help me in understanding this?
Thanks,
SathickIbrahim

I showed the scatterplot of ICD9 diagnosis codes, which can be grouped by the ICD9 taxonomy (http://www.icd9data.com/2015/Volume1/default.htm).
For other codes (medication, procedure codes), you just need to find the right grouper.

Thanks Ed!

Hello Ed,
My problem statement is to predict similar diagnosis codes using med2vec.
For example, If I have 140 Medical codes, embedding dimension size is 200, hidden dimension size is 2000
I have ran your code and got .npz files and find 6 numpy.array variables W_emb, b_output, b_hidden, b_emb, W_output, W_hidden inside it.
Which one is used to predict similar codes? (W_emb or W_output)
Based on my input, the output W_emb is 140X200 and W_output is 2000X140.  Because in this issue https://github.com/mp2893/med2vec/issues/16#issuecomment-458381422 you have mentioned W_output is used to predict neighboring visits.
And also how we know the generated embeddings is respect to which diagnosis code? Where that mapping is happened between embeddings and medical codes.
Please try to clarify my doubts.
Thank You

If you want to find similar diagnosis codes, you shoul use W_emb and b_emb.
Each row of W_emb corresponds to a specific medical code (e.g. diagnosis code, medication code. etc).
Given diagnosis code A, its vector representation is relu(W_emb[row that corresponds to A] + b_emb). Given A's vector representation, calculate cosine similarity between A's vector representation and the vector representations of all other medical codes. Whatever is the closest in terms of cosine similarity is the diagnosis code similar to A.
Hope this helps.

Thanks Ed,
When I ran theano code in CPU it's working fine but consumes more time (16 hours for each epoch).
If ran it in GPU then it throws Segmentation Fault in this line (cost = f_grad_shared(x, batchD, y, mask, iVector, jVector)).
Could you please help me to solve this issue?

Unfortunately, that error seems to be caused by system-related issues, rather than the algorithm itself (unless it's the NaN error)
There is nothing much I can do unless we sit together side-by-side.
I'd suggest taking a look at whether you are using compatible versions of CUDA, Nvidia driver, and Theano. (I know these issues are difficult, but I can't think of any reason why the code would run fine on CPU but not on GPU).

Could you please tell me the versions of CUDA, Nvidia driver and Theano you have used?

It says in the README that I used Theano 0.7.
As for CUDA, IIRC, I used either 6.0 or 7.0.
As for the Nvidia driver, I really have no idea.
If you understand med2vec code, I suggest you just implement a TensorFlow version, since med2vec is not that complicated. Most work is spent on pre-processing the data, and the neural net itself is quite straightforward.

Thanks Ed,
But I have also tried TensorFlow version, it takes 16 hours for each epochs because of huge volume of data.
Could you please help me to reduce time for epochs?

That's weird. How can the job take the same amount of time (16 hours) on both CPU and GPU?

Yes Ed, I have faced some weird issues.
cost = f_grad_shared(x, batchD, mask, iVector, jVector)
This particular line takes more time Ed, after removing this line model works fine.
So could you please help me to understood weather the above line is really useful for model.
without that line model works good.

If you are using demographic information, and are using grouped codes for the softmax output label, then you are going to need that line. Otherwise, the model won't be trained at all.
Please check whether you are using the correct set of option arguments.

OK Ed, But I didn't use demographic information and also not perform grouped codes.
cost = f_grad_shared(x, batchD, mask, iVector, jVector)
I have removed this line and generated the embeddings.
The generated embeddings are quite good. I have validated it by using cosine similarity.
For example if we search for Type2Diabetes it gives commorbities as Chronic Kidney Disease.
Could you please confirm whether this approach is correct or not?

My mistake. The line you deleted is used only when you are using demographic information, but not grouped codes (see line 274 of the source code).
It's still weird, because even though you are not using demographic info, deleting that line somehow impacts the experiment.
Although I don't have any good answer, I guess it's fine as long as your experiment runs without any issue.

Hi Ed,
Where can I find the mapping between the ICD codes and the embeddings? Right now W_emb is an array of dimensions 4894*200, where 4894 are the unique ICD codes, could you please let me know where I can find the mapping between W_emb and the ICD code names?
Thanks!

If you want to find similar diagnosis codes, you shoul use W_emb and b_emb.
Each row of W_emb corresponds to a specific medical code (e.g. diagnosis code, medication code. etc).
Given diagnosis code A, its vector representation is relu(W_emb[row that corresponds to A] + b_emb). Given A's vector representation, calculate cosine similarity between A's vector representation and the vector representations of all other medical codes. Whatever is the closest in terms of cosine similarity is the diagnosis code similar to A.
Hope this helps.

Is the diagnosis code representation as ReLU(W_emb + b_emb) or ReLU(W_emb)? In the paper, it says
The code representations to be learned is denoted as a matrix Wc' = ReLU(Wc)

If you want to find similar diagnosis codes, you shoul use W_emb and b_emb.
Each row of W_emb corresponds to a specific medical code (e.g. diagnosis code, medication code. etc).
Given diagnosis code A, its vector representation is relu(W_emb[row that corresponds to A] + b_emb). Given A's vector representation, calculate cosine similarity between A's vector representation and the vector representations of all other medical codes. Whatever is the closest in terms of cosine similarity is the diagnosis code similar to A.
Hope this helps.

Is the diagnosis code representation as ReLU(W_emb + b_emb) or ReLU(W_emb)? In the paper, it says
The code representations to be learned is denoted as a matrix Wc' = ReLU(Wc)

Technically it should be ReLU(W_emb[row that corresponds to A] + b_emb.
I guess in the paper I omitted the bias term.

Technically it should be ReLU(W_emb[row that corresponds to A] + b_emb.
I guess in the paper I omitted the bias term.