already initialized constant RSpec::Support::Mutex

Not sure why others are NOT reporting this, but I am getting:
/Users/tj/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support/reentrant_mutex.rb:46: warning: already initialized constant RSpec::Support::Mutex
/Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support/reentrant_mutex.rb:46: warning: previous definition of Mutex was here

I am using rspec/mocks which both core and mocks attempt to load the reentrant_mutex.rb support.
My gemfile contains:
  gem 'rspec-core',  github: 'rspec/rspec-core'
  gem 'rspec-rails', github: 'rspec/rspec-rails'

  gem 'rspec-mocks', github: 'rspec/rspec-mocks'
  gem 'rspec-support', github: 'rspec/rspec-support'

The indicated target lines are:
    if defined? ::Mutex
      # On 1.9 and up, this is in core, so we just use the real one
      Mutex = ::Mutex
    else # For 1.8.7
      # :nocov:
      RSpec::Support.require_rspec_support "mutex"
      #

When I alter to
    if defined? ::Mutex
      # On 1.9 and up, this is in core, so we just use the real one
      Mutex ||= ::Mutex
    else # For 1.8.7
      # :nocov:
      RSpec::Support.require_rspec_support "mutex"
      #

The attempt to redefine is no longer the case and that appears to solve the problem. Not sure I understand why this is not something all are experiencing.

This is an issue caused by your environment, if you look at the two lines closely you'll see you have two copies of rspec-support (both at the same version) in different locations. Normally when you hit a require if the file name is the same it'll return true and continue onwards, in this case you're getting a double require of the file due to the differing file names and encountering this redefinition error. No one else has reported it yet because they likely don't have the environment to trigger it.
My top of the head suggestion is to add gem 'rspec-expectations', github: 'rspec/rspec-expectations' to your Gemfile, as you can't generally mix and match git and other dependency based versions of rspec (and in this case rspec-rails will have brought in expectations for you).
Meanwhile we'll have a ponder to see if theres a way we can prevent this. (I don't consider adding ||= a fix really, it's defensive programming and shouldn't be necessary).

Thanks for the quick reply. I had not noticed them coming from different locations.
I already do has rspec-expectations specified as you suggest in my Gemfile. So I need to spec ALL of them as from github I suspect. So I will head that direction and see where it leads.

It turns out those 2 copies are the same copy - the directories on my gemset which is the default are symlinked. So there is only really one.
It gets more complicated I think (and I am noob at this). The stack trace for the first assignment of the constant is:
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support/reentrant_mutex.rb:2:in `<module:RSpec>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support/reentrant_mutex.rb:1:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `block in require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240:in `load_dependency'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274:in `require'
	from /Users/tj/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bundler/gems/rspec-core-93e5001b5ae6/lib/rspec/core/memoized_helpers.rb:1:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-core-93e5001b5ae6/lib/rspec/core.rb:8:in `require_relative'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-core-93e5001b5ae6/lib/rspec/core.rb:8:in `block in <top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:19:in `call'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:19:in `block in define_optimized_require_for_rspec'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-core-93e5001b5ae6/lib/rspec/core.rb:37:in `block in <top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-core-93e5001b5ae6/lib/rspec/core.rb:37:in `each'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-core-93e5001b5ae6/lib/rspec/core.rb:37:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:85:in `require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:85:in `rescue in block in require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:68:in `block in require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:61:in `each'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:61:in `require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler.rb:134:in `require'
	from /Users/tj/projects/AOT/aotv2/config/application.rb:7:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:141:in `require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:141:in `require_application_and_environment!'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:67:in `console'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands.rb:17:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'

And the second assignment (the one that elicits the error) is
from /Users/tj/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support/reentrant_mutex.rb:2:in `<module:RSpec>'
	from /Users/tj/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support/reentrant_mutex.rb:1:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:28:in `require_relative'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:28:in `block in <module:Support>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:19:in `call'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:19:in `block in define_optimized_require_for_rspec'
	from /Users/tj/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bundler/gems/rspec-mocks-abb875d2cc10/lib/rspec/mocks/space.rb:1:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-mocks-abb875d2cc10/lib/rspec/mocks.rb:6:in `require_relative'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-mocks-abb875d2cc10/lib/rspec/mocks.rb:6:in `block in <top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:19:in `call'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-support-838e6aab14cd/lib/rspec/support.rb:19:in `block in define_optimized_require_for_rspec'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-mocks-abb875d2cc10/lib/rspec/mocks.rb:26:in `block in <top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-mocks-abb875d2cc10/lib/rspec/mocks.rb:26:in `each'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/bundler/gems/rspec-mocks-abb875d2cc10/lib/rspec/mocks.rb:26:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:85:in `require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:85:in `rescue in block in require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:68:in `block in require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:61:in `each'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler/runtime.rb:61:in `require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/bundler-1.8.2/lib/bundler.rb:134:in `require'
	from /Users/tj/projects/AOT/aotv2/config/application.rb:7:in `<top (required)>'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:141:in `require'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:141:in `require_application_and_environment!'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:67:in `console'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
	from /Users/tj/.rvm/gems/ruby-2.2.0@global/gems/railties-4.2.4/lib/rails/commands.rb:17:in `<top (required)>'
	from bin/rails:4:in `require'
	from bin/rails:4:in `<main>'

In the second you can see a reference from
 /Users/tj/.rvm/rubies/ruby-2.2.0/lib/ruby/gems/2.2.0/bundler/gems/rspec-mocks-abb875d2cc10/lib/rspec/mocks/space.rb:1

which directly requires the specific reentrant_mutex.rb using a different approach. So it still looks to me like this is a case where there are two paths that lead to requiring the same module.
Thoughts?

I am not disputing that using ||= is a protective measure, but if multiple modules require this code directly, is that not a useful measure?

No because the require should only be evaluated once, so the bug lies elsewhere.

Can you put together a reproducible example?

So I realized what's going on.  The bug is that the file is loaded twice, and the warning is simply a symptom of the bug.  Switching to ||= would have silenced the fact that we had this bug and it's far better to not load the file twice.
I think I have a working solution for that in rspec/rspec-core#2082.  Do you mind updating your Gemfile to use that commit and let us know if it fixes the problem?

@myronmarston Sure - I just returned to try and make a reproducible "simple example". I will not be able to do this until morning Pacific Time tomorrow, but I appreciate the support. I was thinking it could be a bug in require_relative vs. require since they both are being used. Will report on my success/failure in AM.

That appears to have resolved it after using master branch on both rspec-support and rspec-core (to make them in sync).
Thanks very much.


add: test whether generated SQL is enabled to execute in H2

Codecov Report
Attention: 42 lines in your changes are missing coverage. Please review.

Comparison is base (9b3398b) 68.78% compared to head (2583759) 69.25%.
Report is 2 commits behind head on main.

Files
Patch %
Lines

src/main/scala/Main.scala
0.00%
42 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
+ Coverage   68.78%   69.25%   +0.46%
==========================================
  Files          19       19
  Lines         346      348       +2
  Branches       39       40       +1
==========================================
+ Hits          238      241       +3
+ Misses        108      107       -1

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


Class generics constrains is not used in class functions

TypeScript Version:  2.1.1
Code
This generates an error:
interface IDerived {
    text: string
}

class Base<T>{
    protected internal: T
    protected setData(data: Partial<T>) {
        this.internal = Object.assign({}, this.internal, data)
    }
}

class Derived<T extends IDerived> extends Base<T> {
    public getText() {
        return this.internal.text //this is OK
    }

    public setText(text: string) {
        this.setData({ text }) //this gives Argument of type '{ text: string; }' is not assignable to parameter of type 'Partial<T>'.
    }
}

This also generates an error:
class Derived<T extends IDerived> {
    private internal: T

    private setData(data:T) {
        this.internal = Object.assign({}, this.internal, data)
    }

    public getText() {
        return this.internal.text
    }

    public setText(text: string) {
        this.setData({ text }) //Argument of type '{ text: string; }' is not assignable to parameter of type 'T'.
    }
}

In the second example, if I change the setData signature to setData<T extends IDerived>(data:T) there is no error.
Expected behavior:
No Error
Actual behavior:
Error

T is a generic type argument. it has to be at least IDerived but it can be more specific. consider:
interface IDerived {
    text: string | number;
}

class Derived<T extends IDerived> extends Base<T> {
    public setText(text: string) {
        // IDerived.text can be string | number
        this.setData({ text })
    }
}

new Derived<{ text: number }>(); // but number also fits the constraint

Well it's strange that you can substitute with more specific as it seems to violate the Liskov Substitution Principle. T extends IDerived so you should be able to use T where ever you use IDerived. It means that, when using IDerived from @mhegazy example,  you should always be able to set the text property to string or number.
This should always be correct (and it compiles as it should):
interface IDerived {
    text: string | number;
}

function foo<T extends IDerived>(t: T): T {
    if (someCondition) {
        t.text += "a";
    } else {
        t.text += 3;
    }
    return t;
}

But this also compile and I believe it shouldn't
var a = foo<{ text: number }>({ text: 5 });

Because the type of a is {text:number}. But if someCondition = true, then a.text is "5a" - a string. The actual return type is {text: string | number} as depending on the value of text and someCondition it can be a string or a number.
Also your explanation doesn't explain how in my second example when  we change the setData signature to setData(data:T) there is no error.


CUDA: Add support for passing tuples and namedtuples to kernels

Fixes #4405.
This adds support for tuples as per @heyer2's suggestion, and namedtuples with @atait's suggestion. Tests for passing each, and an empty tuple are added.
This passes tests for me locally with the hardware target and cudasim.

This could probably do with some extra testing - e.g. passing tuples of tuples, tuples of arrays.

This could probably do with some extra testing - e.g. passing tuples of tuples, tuples of arrays.

Adding a few spot check cases with these would be a good idea I think.

This could probably do with some extra testing - e.g. passing tuples of tuples, tuples of arrays.

Adding a few spot check cases with these would be a good idea I think.

Now added!

Would this work on numba.roc as well?

Would this work on numba.roc as well?

I'm afraid not, CUDA and ROCm have different compilers.

Buildfarm ID: numba_smoketest_cuda_139.

Buildfarm ID: numba_smoketest_cuda_139.

Passed.


schedulers: fix cache item in hot peer cache and add more test

Signed-off-by: lhy1024<EMAIL_ADDRESS>
What problem does this PR solve?
Fix #2468
What is changed and how it works?
Prepare the cache item in advance
Check List
Tests

Unit test

Release note

No release note

/rebuild

/rebuild

Could you add a test?

Codecov Report

Merging #2463 into master will decrease coverage by 0.08%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #2463      +/-   ##
==========================================
- Coverage   77.10%   77.01%   -0.09%
==========================================
  Files         204      204
  Lines       22022    22024       +2
==========================================
- Hits        16979    16961      -18
- Misses       3752     3768      +16
- Partials     1291     1295       +4

Impacted Files
Coverage Δ

server/statistics/hot_peer_cache.go
92.44% <100.00%> (+0.08%)
:arrow_up:

server/schedulers/shuffle_hot_region.go
63.47% <0.00%> (-11.31%)
:arrow_down:

pkg/etcdutil/etcdutil.go
78.26% <0.00%> (-4.35%)
:arrow_down:

server/schedulers/random_merge.go
61.19% <0.00%> (-2.99%)
:arrow_down:

server/member/leader.go
71.98% <0.00%> (-1.56%)
:arrow_down:

server/grpc_service.go
58.99% <0.00%> (-1.17%)
:arrow_down:

pkg/btree/btree.go
86.84% <0.00%> (-0.81%)
:arrow_down:

server/server.go
77.06% <0.00%> (-0.79%)
:arrow_down:

server/schedule/operator_controller.go
81.00% <0.00%> (+0.16%)
:arrow_up:

server/handler.go
51.61% <0.00%> (+0.43%)
:arrow_up:

... and 4 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 4e8b16d...2130d65. Read the comment docs.

PTAL @rleungx @nolouch

cc @lhy1024

PTAL @rleungx

/merge


import from gir

This is what's generated with gir. All tests pass.

This actually includes a fair bit of custom inserted code. Pretty much everything related to ArgumentList, and then some...
I've included those bits in the gir PR, for now. See https://github.com/vhdirk/gir/tree/subclass/tests/subclass/gio-subclass. There it is also more inline with the de-facto default repo structure.

This actually includes a fair bit of custom inserted code. Pretty much everything related to ArgumentList, and then some...
I've included those bits in the gir PR, for now. See https://github.com/vhdirk/gir/tree/subclass/tests/subclass/gio-subclass. There it is also more inline with the de-facto default repo structure.

It would seem better to have this all included in this repository, so that the autogenerated code can be regenerated easily whenever something is changing in the code generator

This looks awesome :)

From now on, generating these bindings should be relatively easy :)

Is this good enough to merge? Then I can rebase the gaction branch

Probably, I'll try to go over it during the weekend but generally it seems great :)

Looks good to go to me. Is there some kind of Gir.toml file for configuring which vfuncs to ignore, which to take from elsewhere, for overriding other things? Like for all the other modes of gir. If so, please add that to the repository too. Otherwise there should probably be one: for white-listing what to generate and for all kinds of overrides :)
Anyway, apart from that please merge

Yes. There is a gir.toml. It currently resides in the gir PR. I'll add it here too. Any preferred location?

Root of the repository, Gir_Gio.toml

There it is. It does contain a (now) invalid path to the gir files...

Looks fine. Maybe just add the required gir-files into a subdirectory here, like in gstreamer-rs. But good to go then, please merge :)

What about using submodules like in https://github.com/gtk-rs/gio?files=1

Me too, but I dislike making copies even more :). And I have yet to find a decent alternative to submodules (and don't get me started on git subtrees :) ). Until there is one, submodules'll have to do.

Thanks a lot, especially for your patience to get the autogeneration that far :)

No problem. Though I am now officially fed up with the generator :)
I actually need gtkapplicationwindow. Seeing how much layers I had to go through was the motivation to work on gir.
Final note though: how would you override interface vfuncs when subclassing, for instance, application?

You would implement the interface in your subclass. If the parent class also implements the interface then this overrides the parent implementation IIRC.
That's what you mean?

Yes. Going to try it out tomorrow.

This was breaking gtk-subclass: https://travis-ci.org/sdroege/gtk-subclass/jobs/396052127#L789-L798
Using the correct macro name (box_gio_application_impl) gives
error[E0277]: the trait bound `std::boxed::Box<application::GtkApplicationImpl<application::Application> + 'static>: application::GtkApplicationImpl<application::Application>` is not satisfied
  --> gtk-subclass/src/application.rs:95:13
   |
95 | unsafe impl GtkApplicationClassExt<Application> for ApplicationClass {}
   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `application::GtkApplicationImpl<application::Application>` is not implemented for `std::boxed::Box<application::GtkApplicationImpl<application::Application> + 'static>`

Didn't look closer yet :)

See https://github.com/sdroege/gtk-subclass/pull/6. I have it fixed there.


NetCore project doesn't reference when used in sample app

not sure why but the namespace ZulipNetCore doesn't include any classes. They all seem to be inaccessible due to their protection level. However all classes and constructors are public.
Therefore until this is fixed I need the other Project ZulipClient to build the class library and test it in the SampleApp

I know why this is now working sending a fix.

thanks @cPhost
even though your PR didn't work you pointed me in the right direction. fixed with e477b26


Quartz.Net

Hi, are there any plans to create a version based around Quartz.Net? If not, would it be possible and/or acceptable for someone to create a version based around Quartz.Net?
Originally posted: 2015-02-05T08:03:18

I've played some with Quartz.Net and so I am curious how you are considering bringing the two libraries together. The primary difference is that this library uses the Windows Task Scheduler engine and Quartz.Net uses its own. They effectively have the same constructs (TaskService == IScheduler, Task + Action(s) == IJob, Trigger == ITrigger, System Events == IJobListeners). Both libraries support a fluent syntax (e.g. ts.Execute("notepad.exe").Every(2).Days().Starting("12/25/2013 7:00pm").AsTask("Test"); ), though implemented slightly different. Both libraries support triggering on schedules and from a Cron statement.
So given that whole diatribe, what functions of one are you wanting to work with the other?
Originally posted: 2015-02-05T09:32:07

Hi, thanks for replying. I haven't really looked at the code in great detail but as the wrapper utilises similar artifacts (Jobs, Tasks, Schedules etc.) to Quartz, I wondered if it would be possible to refactor the code to replace Task Scheduler with Quartz.Net? The only driver behind this would be as an alternative to the dependency of using Task Scheduler. Don't know if it would be feasible though.
Originally posted: 2015-02-06T04:18:23

Thanks for the idea. I'll collaborate with the authors of Quartz.Net to see what could be done.
Originally posted: 2015-02-07T16:26:41

After a deeper review of the code and a few days of trying to refactor it to work with another scheduler engine, I've decided to abandon the effort. The pure amount of change I believe will introduce so many potential defects that I'm afraid it would be a step back for the project as a whole.
Originally posted: 2015-02-21T12:56:48

Hi, thanks for letting me know that. I guess it would require something to be designed from the ground up, maybe if I get the time I could look into it. Appreciate the feedback though, cheers

Originally posted: 2015-02-22T14:47:18


Update setup-gap to use envoy (gap v2)

should we test it first?

For sure. Tested it in a private repo. Sending the results to you.


requestType: 'auto' detects the right sending method

There are available request type methods such as jsonp and others. My question is, why I should not have ability to specify requestType: 'auto', so that keen-js would choose the best way for delivering an event from particular users runtime.
Chrome, FF and Opera provide experimental way for delivering analytics such as navigator.sendBeacon. Check out the spec for more details about the method. The main purpose of sendBeacon is provide an efficient way for sending analytics especially for mobile devices over cellular data networks. The same makes sense for Desktop browsers too, in case of deferred sending after resolving application's XHR connections.
The requestType: 'auto' logic would switch to (xhr|sendBeacon)|(jsonp|image) method during initialization process.

@Zatvobor thanks for the suggestion! We're doing a little capability-checking now to make sure the best method is used, but I have to admit it's pretty opaque right now. XHR over SSL requires several preflight handshakes before the data is actually sent, so we use JSON-P by default for single events, unless the the URL exceeds a given limit for the browser or our own service. In that case, if XHR is possible we'll use that instead and POST the payload. Multiple event calls use XHR by default, as that API resource only supports POST requests anyway.
navigator.sendBeacon looks very interesting and may be worth checking out, but I'm not sure we could roll something like that into a general release just yet.


Test print on/off switch icons

Description
This fixes #issueNumber.

How to test the feature:

[ ]
[ ]

Checklist - did you ...

Test your changes with

[ ] REACT_APP_COUNTRY=rbd yarn start
[ ] REACT_APP_COUNTRY=cambodia yarn start
[ ] REACT_APP_COUNTRY=mozambique yarn start
[ ] Add / update necessary tests?
[ ] Add / update outdated documentation?

Screenshot/video of feature:
See admin area mask

Hello @ericboucher i've made some changes to the mock ups reflecting our discussion, let me know what you think: https://www.figma.com/file/5GX8jVxBCfLrcfkTniRvFi/WFP-Prism?type=design&node-id=662-1746&mode=design&t=DGJq3SynEk3BTwUx-4; https://www.figma.com/file/5GX8jVxBCfLrcfkTniRvFi/WFP-Prism?type=design&node-id=665-2648&mode=design&t=DGJq3SynEk3BTwUx-4

Closing for now. @wadhwamatic please open an issue with a link to the new designs

Closing for now. @wadhwamatic please open an issue with a link to the new designs

@ericboucher - https://github.com/WFP-VAM/prism-app/issues/1241


-enablecustom not loading .lo files

If you use -enablecustom flag, it works fine, but it not loading .lo files to the game. Those files are compiled scripts. I tried to replace one mode with another to make two same modes. I renamed everything correctly, but game don't even trying to load my new .lo files and using old ones.
Steps to reproduce the behavior:

Go to 'custom\scripts\mod' and create for example folder 'z_scenario_side'.
Put in this folder, mode files from folder 'hide' and rename them into mod_z_scenario_side.lo and ui_z_scenario_side.lo.
Launch the game mode and it will start Z Crush Side instead of Hide'n'Seek without attempting to load new files.

Windows 7 (64 bit)

.lo is not checked by IsFileEncrypted function, just encrypt them back with https://github.com/GEEKiDoS/CSO2Crypto

.lo is not checked by IsFileEncrypted function, just encrypt them back with https://github.com/GEEKiDoS/CSO2Crypto

Thank you for the tip. You program didn't work for me but I used uncso2 instead and it works fine. Screenshot of error if you interested: http://wohlnet.ru/sentfile/dgsada4e.png

.lo is not checked by IsFileEncrypted function, just encrypt them back with https://github.com/GEEKiDoS/CSO2Crypto

Thank you for the tip. You program didn't work for me but I used uncso2 instead and it works fine. Screenshot of error if you interested: http://wohlnet.ru/sentfile/dgsada4e.png

Forget to let user input path in that program.


Update Roslyn package version in support doc

A new Roslyn 4.3.x package was released and the old package was unlisted. See https://www.nuget.org/packages/Microsoft.CodeAnalysis.Common/4.3.1

Learn Build status updates of commit 1b5579d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/extensibility/roslyn-version-support.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 1b5579d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/extensibility/roslyn-version-support.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

#sign-off


Incorrect serialisation for nested elements in HTML

Hi Team, I'm so grateful for this excellent solution that you have made! It will be a beneficial solution for many people and engineers! However, I've noticed an issue with sterilizing nested elements in HTML.
Example

Our Services And More

the result should look like the browser render

but it looks

It seems the sterilizer needs to go deep to get all the elements!

Thanks @NourIM ! On the case...

Hey @NourIM , I have added recursion to the function that parses out text marks such as em, i, and strong.
Added a test for the specific example that you gave.
Could you take a look and see if it is the Slate output you are expecting?
https://github.com/thompsonsj/slate-serializers/blob/0831b75337329afcea77313ef5445d9d8c80d045/__tests__/serializers/htmlToSlate/index.spec.ts#L411-L467
This change is released in version 0.0.27.

@thompsonsj Sorry for the late reply, I confirm the updates fixed the issue! thank you very much :)
one more question, does the demo work with the latest version? cause it doesn't seems so!


Bump version to include new-disp fix

v0.0.5 has been released. There was some other maintenance that was needed.


Recognize .nessus file names by @pburkholder

Re-opening a PR, see #4397
fyi @pburkholder

double checked dev this time :D @madchap !


Refund & Reject Buttons Shown for Processing Contributions

Describe the bug
It seems that the refund button is shown for some processing contributions with the alignment being off as well as could be seen from this link; https://opencollective.com/veloblaster/projects/colocation-mundo-b/transactions?collectiveType=projects&searchTerm=731723
To Reproduce
Steps to reproduce the behavior:

Go to a collective which has processing transactions
Go to the Transactions section and filter by the contribution id

Expected behavior
For processing transactions the refund and reject buttons should not be shown
Screenshots

cc @hdiniz


Ionic v4: Tabs - tabbbarPlacement="top" renders tabs above the page header

Bug Report
Ionic Info
Run ionic info from a terminal/cmd prompt and paste the output below.
cli packages: (/usr/local/lib/node_modules)

   @ionic/cli-utils  : 2.0.0-rc.6
   ionic (Ionic CLI) : 4.0.0-rc.6

local packages:

   @angular-devkit/core       : 0.6.8
   @angular-devkit/schematics : 0.6.8
   @angular/cli               : 6.0.8
   @ionic/schematics-angular  : 1.0.0-rc.6
   Ionic Framework            : @ionic/angular 4.0.0-alpha.7

System:

   NodeJS : v8.11.1
   npm    : 6.1.0
   OS     : macOS High Sierra

Describe the Bug
When using <ion-tabs tabbarPlacement="top">, the tabs are rendered above the page header and toolbar:

Steps to Reproduce
Steps to reproduce the behavior:

Create a<EMAIL_ADDRESS>project with the CLI, select the tabs starter: ionic start tabs-placement tabs --type angular
Open src/app/pages/tabs/tabs.page.html
Add tabbarPlacement="top" to the <ion-tabs>
Run in the browser with npm run start

Related Code
<ion-tabs tabbarPlacement="top">
  <ion-tab label="Home" icon="home" href="/tabs/(home:home)">
    <ion-router-outlet name="home"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="About" icon="information-circle" href="/tabs/(about:about)">
    <ion-router-outlet name="about"></ion-router-outlet>
  </ion-tab>
  <ion-tab label="Contact" icon="contacts" href="/tabs/(contact:contact)">
    <ion-router-outlet name="contact"></ion-router-outlet>
  </ion-tab>
</ion-tabs>

Expected Behavior
Tabs should be placed at the top of the screen, below the pages <ion-header>.
Additional Context
List any other information that is relevant to your issue. Stack traces, related issues, suggestions on how to fix, Stack Overflow links, forum links, screenshots, OS if applicable, etc.

Hi, im having the same issue in Ionic v4 beta 2. Did you find a solution for this?

Any Updates on this ?

Same issue here with "@ionic/angular": "4.0.0-beta.13"

Thank you for the issue! Because each tab contains its content, it isn't possible to place the ion-tab-bar underneath the header at the top, unless it is projected inside of each tab or specified in each header. Our Tab Bar (ion-tab-bar) component is the equivalent to the following in ios/md:

Material Design Bottom Navigation: https://material.io/design/components/bottom-navigation.html
iOS Tab Bar: https://developer.apple.com/design/human-interface-guidelines/ios/bars/tab-bars/

Because the spec for both of these supports the placement only at the bottom, we will not be adding the placement top back to our tabs at this time.
Instead, if you are looking for a component to place at the top of the page under the header, our Segment (ion-segment) component has recently been updated to the equivalent of the following:

Material Design Tabs: https://material.io/design/components/tabs.html
iOS Segmented Control: https://developer.apple.com/design/human-interface-guidelines/ios/controls/segmented-controls/

With the latest release we have given full control over the ion-tab-bar element. This means that if it is absolutely desired to place it at the top, you can still put the ion-tab-bar in each content, like the following:
<ion-tab tab="tab-three">

  <ion-header>
    <ion-toolbar>
      <ion-title>Tab Three</ion-title>
    </ion-toolbar>

    <ion-tab-bar>
      <ion-tab-button tab="star-tab">
        <ion-icon name="star"></ion-icon>
      </ion-tab-button>

      <ion-tab-button tab="globe-tab">
        <ion-icon name="globe"></ion-icon>
      </ion-tab-button>

      <ion-tab-button tab="facebook-tab">
        <ion-icon name="logo-facebook"></ion-icon>
      </ion-tab-button>
    </ion-tab-bar>

  </ion-header>

  <ion-content padding>
    Tab Three
  </ion-content>

</ion-tab>

Please let me know if you have any questions. Thanks!

Thanks @brandyscarney!
Makes sense not to support it anymore if it’s not supported on iOS and Android neither.
But since it was supported in Ionic 3 (I used it in the Savelist PWA it would nice to have it documented in the breaking changes.
Thanks!
Rodrigo

Hello guys, can you help me to solve this problems
1- How to put tabs on top  (but below the menu toolbar) without use material design?
2- please i have an ionic 4 project  how to use material design with my existing project?
3- what is the best way to design an app in ionic 4?


Update scalatest to 3.0.7

Updates org.scalatest:scalatest from 3.0.6 to 3.0.7.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [{ groupId = "org.scalatest", artifactId = "scalatest" }]

Codecov Report

Merging #36 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #36   +/-   ##
=======================================
  Coverage   93.75%   93.75%
=======================================
  Files           1        1
  Lines          16       16
=======================================
  Hits           15       15
  Misses          1        1

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 a82c010...1ead34d. Read the comment docs.


Give permissions to kwhetstone

@kwhetstone is listed as a maintainer of the plugin, but doesn't have release permissions for the plugin.
jenkins-ci.org account: kwhetstone
Plugin link: jenkinsci/parameterized-trigger-plugin
Commit permissions: merged PR99 into the project
Note: I'm having issues logging into Artifactory with my Jenkins account.  I don't know if this is a recent issue or if there's something with my account.
Review /cc @svanoort

@daniel-beck approved up for merge :)

Note: I'm having issues logging into Artifactory with my Jenkins account. I don't know if this is a recent issue or if there's something with my account.

That's just JFrog's reverse proxy acting up. jenkinsci.artifactoryonline.com works but has a terrible URL.


How to set dof=6 in moveit group

Hi,
I have a rx150 and I'm testing with the python interface (using a fake robot for start)
roslaunch interbotix_moveit_interface moveit_interface.launch robot_name:=rx150 use_fake:=true use_python_interface:=true dof:=6
The default dof value is 5 and with it, the program runs fine
# ok - runs without a problem
roslaunch interbotix_moveit_interface moveit_interface.launch robot_name:=rx150 use_fake:=true use_python_interface:=true

The rx150 has 6 dof, so I run it like so:
# NOT ok - on the fake robot
roslaunch interbotix_moveit_interface moveit_interface.launch robot_name:=rx150 use_fake:=true use_python_interface:=true dof:=6

# NOT ok - on the actual robot
roslaunch interbotix_moveit_interface moveit_interface.launch robot_name:=rx150 use_actual:=true use_python_interface:=true dof:=6

I get an error of "list assignment index out of range"
for joint_goal because moveit group (via get_current_joint_values()) returns a list of 5 states
How can I set the dof in moveit group to 6?
# The error
('joint_goal', [0.0, 0.0, 0.0, 0.0, 0.0])
Traceback (most recent call last):
  File "/home/avnerm/interbotix_ws/src/interbotix_ros_arms/interbotix_examples/interbotix_moveit_interface/scripts/moveit_python_interface", line 642, in <module>
    main()
  File "/home/avnerm/interbotix_ws/src/interbotix_ros_arms/interbotix_examples/interbotix_moveit_interface/scripts/moveit_python_interface", line 598, in main
    step1(tutorial)
  File "/home/avnerm/interbotix_ws/src/interbotix_ros_arms/interbotix_examples/interbotix_moveit_interface/scripts/moveit_python_interface", line 430, in step1
    joint_goal[5] = pi/3
IndexError: list assignment index out of range

Hi avnermosh,
The rx150 robot actually only has 5dof. In other words, it only has 5 joints capable of manipulating the arm. The gripper motor is not considered part of the arm since it cannot be used to orient the end-effector - just to open and close it.
The only arms in the packages that currently have 6 dof are the 'wx250s' and 'vx300s' ('s' is for six). We do not sell them yet but they should be in our online store in the next few months. If you set the 'dof' launch file argument to '6' when using these arms, you should not see any errors.

Hi @avnermosh,
Did my comment clear up your issue? If so, I'd appreciate it if you closed it. Otherwise, let me know if there is anything else I can help you with.

It did. Thanks for your help.
Avner
On Sat., Jan. 4, 2020, 18:36 Solomon Wiznitzer<EMAIL_ADDRESS>wrote:

Hi @avnermosh https://github.com/avnermosh,
Did my comment clear up your issue? If so, I'd appreciate it if you closed
it. Otherwise, let me know if there is anything else I can help you with.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Interbotix/interbotix_ros_arms/issues/4?email_source=notifications&email_token=AGHSLAT4A2OA6BQ4MJRR5UTQ4FBTBA5CNFSM4KADVMO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIDE34I#issuecomment-570838513,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGHSLAQ63C6TYM3BUZCPR7DQ4FBTBANCNFSM4KADVMOQ
.

problem was resolved


Query field arguments

Pull Request type

[ ] Bugfix
[x] Feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Other (please describe):

Changes in this PR
This further moves serialization of projections to the client (away from codegen). The serialization is now prepared for projection fields that have arguments.
As an example, the following schema as input arguments on projection fields defined (see the reviews and username fields.
type Show {
    id: Int
    title: String
    releaseYear: Int
    reviews(minScore:Int, since: DateTime): [Review]
    artwork: [Image]
}

type Review {
    username(toUpperCase: Boolean): String
    starScore: Int
    submittedDate: DateTime
}

Codegen now generates a second method for each field, which takes input arguments.
  GraphQLQueryRequest graphQLQueryRequest = new GraphQLQueryRequest(ShowsGraphQLQuery.newRequest().titleFilter("").build(),
                new ShowsProjectionRoot()
                        .title()
                        .reviews(4, OffsetDateTime.now())
                        .username(true)
                        .starScore(), scalars);

The code in this PR serializes these fields correctly, optionally using scalars configured in the GraphQLQueryRequest.

Codegen change for this: https://github.com/Netflix/dgs-codegen/pull/172


how to handle the case where the GPS is turn off

I want to know if the GPS is off and display a message accordingly. In my app the Gps is not required.
I see in the console this warning: {type: "503", message: "No valid location provider is available."}
Which method sent this warning and how can I recover it?
Thanks.

Same issue

i send you my prevois message on other issue wich need same thing : https://github.com/timfpark/react-native-location/issues/124


'Unnecessary using directive' is falsely flagged when required for XML cref comments.

From @lake-fall on April 28, 2016 9:55

VSCode Version: 1.0.0
OS Version: WIndows 10 Version 1511

Steps to Reproduce:

Create a C# class.
Add an XML comment with /// <see cref="SqlCommand.Parameters" />
Add the using using System.Data.SqlClient; to the namespace.
The warning Unnecessary using directive appears.
This is in conflict to Visual Studio 2015 Community, where removing the using directive generates the warning CS1574 XML comment has cref attribute 'SqlConnection' that could not be resolved.

Copied from original issue: Microsoft/vscode#5938

From @bpasero on April 28, 2016 12:45
@lake-fall please report C# issues against the omnisharp repository.

After reading about this part in Roslyn, it seems that the issue is caused because OmniSharp does request Roslyn to fully analyze the XML documentation. It can be solved by adding
.WithXmlReferenceResolver(XmlFileResolver.Default) to the CSharpCompilationOptions and documentationMode: DocumentationMode.Diagnose to the CSharpParseOptions, but it is not clear-cut if this behavior should be on by default because it also triggers Warning 1591 Missing XML comment for publicly visible type or member (and other potential side-effects I might not be aware of). Unfortunately it looks like DocumnentationMode.Parse is not enough to solve the issue. @david-driscoll Could this be triggered by some flags in project.json / csproj?

I will be looking into this as soon as I have a bit of free time.

It's probably the analyzer doesn't "see" the reference in the xml comment, wonder if there is something roslyn can do, or if we have to parse the crefs manually.

The changes posted above by myself make Roslyn track Xml comments nicely, but it is also aggressive in triggering warnings for missing comments. I plan to track the need for Xml documentation in the project system and trigger the additional analysis on demand.

@lake-fall could you please try the code in the PR to see if it works without unexpected warnings and such on your project?


Create curiepergine.txt

@xates If your e-mail domain is actually curiepergine.gov.it, the path shoud be lib/domains/it/gov/curiepergine.txt, NOT lib/domains/curiepergine.txt. Please change your pull request, and I add the university to the repository. Thank you.

Hello @philipto, the domain of the website is curiepergine.gov.it, however the institutional domain for the email addresses is curiepergine.it that's why I added this one

@xates OK, then it has to be lib/domains/it/curiepergine.txt, NOT lib/domains/curiepergine.txt. Please change. Thank you.


[porn91] Add new extractor for 91porn.com

An extractor for 91porn.com -- A popular Chinese amateur porn site.
[WARN] 91porn.com has a limit for downloading, one ip could download 10 videos among 24h.

This one will be good.

FYI: _search_regex/_html_search_regex is more robust than re.search. Please consider using these helper functions.

Thanks for the extractor. Merged with some modifications.

Would you like to be listed in AUTHORS? If so, under what name?

@yan12125 It is honor, you can call me Peter Ding.

Thanks. Done in 4053ee9104cd7669f749a267dc2c2a1725ca188b


Added AggregateProcessor boilerplate and AggregateProcessorConfig

Signed-off-by: Taylor Gray<EMAIL_ADDRESS>Description

Add boilerplate for the AggregateProcessor class
Add AggregateProcessorConfig (without the AggregateAction plugin), and with validation

Issues Resolved
closes #838
Check List

[x] New functionality includes testing.
[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #839 (785f7ae) into main (d6b7407) will increase coverage by 0.32%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #839      +/-   ##
============================================
+ Coverage     91.73%   92.05%   +0.32%
- Complexity      646      659      +13
============================================
  Files            76       80       +4
  Lines          1924     1939      +15
  Branches        163      164       +1
============================================
+ Hits           1765     1785      +20
+ Misses          121      113       -8
- Partials         38       41       +3

Impacted Files
Coverage Δ

...com/amazon/dataprepper/pipeline/ProcessWorker.java
74.28% <0.00%> (-17.15%)
:arrow_down:

...prepper/pipeline/common/PipelineThreadFactory.java
64.28% <0.00%> (-7.15%)
:arrow_down:

...java/com/amazon/dataprepper/pipeline/Pipeline.java
88.57% <0.00%> (-4.29%)
:arrow_down:

...amazon/dataprepper/pipeline/PipelineConnector.java
96.29% <0.00%> (-3.71%)
:arrow_down:

...prepper/parser/model/DataPrepperConfiguration.java
89.47% <0.00%> (-0.78%)
:arrow_down:

...dataprepper/pipeline/server/DataPrepperServer.java
89.83% <0.00%> (-0.34%)
:arrow_down:

...ava/com/amazon/dataprepper/DataPrepperExecute.java
0.00% <0.00%> (ø)

...mazon/dataprepper/plugin/DefaultPluginFactory.java
97.56% <0.00%> (ø)

...zon/dataprepper/parser/config/DataPrepperArgs.java
90.32% <0.00%> (ø)

...mazon/dataprepper/parser/config/MetricsConfig.java
100.00% <0.00%> (ø)

... and 3 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 d6b7407...785f7ae. Read the comment docs.


Pydantic v2 compatibility and conflicting dependencies

I'm using Pydantic v2 upstream in some data pipelines, but the qdrant client itself seems to depend on Pydantic under the hood, and it's resulting in a dependency conflict in my virtual environment. Are there plans to release a version of qdrant-client with Pydantic v2 compatibility anytime soon? Thanks!
ERROR: Cannot install -r requirements.txt (line 1), pydantic~=2.0.0 and qdrant-client==1.3.1 because these package versions have conflicting dependencies.
The conflict is caused by:
    The user requested pydantic~=2.0.0
    qdrant-client 1.3.1 depends on pydantic<2.0 and >=1.8

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
    The user requested pydantic~=2.0.0
    qdrant-client 1.3.0 depends on pydantic<2.0 and >=1.8

Hi @prrao87
Yes, it is already merged and should be available soon (with the next release)

@prrao87 try qdrant-client==1.3.2

@joein It works! I also made a fix to the docs in #233 as the kwarg change from top to limit hasn't been updated there. Thanks for the quick response!


Detail page for an item without fulltext is broken

If an item doesn't have bitstreams in the original bundle, a blank page is shown.
I have reinstated an item on the public REST demo so to have a test item that can be used to work on this bug
http://dspace7.4science.it/dspace-spring-rest/api/core/items/6212604b-c778-42b3-88e4-cc3b1262ad28/bitstreams

I'm no longer able to reproduce this issue. Has it been fixed?

It seems like it. Most likely due to the angular 4 upgrade.
One thing that should still be fixed however, is that the "Files" header is still shown if there are no bitstreams


UX Ministry Views / Approve Reassessments and Disbursements

Assumptions:

Institution makes a change to study dates
Student is enrolled
Re-assessment needs to be done
Therefore Ministry user needs to approve reassessment and disbursement

[ ] Wireframe indicates how this is shown on Ministry Views Student Account
[ ] Notes section may be required for auditing phase

Duplicate ticket #862


Add chatbot models

Add chatbot built models to source control
Signed-off-by: PGobz<EMAIL_ADDRESS>

@jbobo @nadiabahrami Updates in. Please advise if it's been corrected for you.


Using browser api

Any plans to sport the standard browser API?
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API
https://github.com/mozilla/webextension-polyfill
Is it be possible to use https://auth0.com/docs/libraries/auth0-spa-js or any of the existing auth0 sdks together with browser.identity.launchWebAuthFlow, or do browser extensions require a custom implementation?

After reviewing as a team we’ve decided to deprecate this repository
in favor of focusing on more actively leveraged projects. We will be
closing all open issues and pull requests, as a result of these changes.
If you need any further help from our team you can reach out at
Community.Auth0.com -- Thank you for your contributions.


Link to user guide on how to create service accounts

What does this pull request do?
Adds a link to the user guide about ServiceAccounts to make it easier for new users to find.

@jasonBirchall I cannot merge this pull request myself. Could merge it, please?


Replaced Ancestor_prover with Root_prover in bootstrap

Delegated prove_ancestry from sync_handler to ancestor_prover
Made Proof_carrying_data its own module from Protocols
Removed some dead code in coda_main

Checklist:

[ ] Tests were added for the new behavior
[ ] All tests pass (CI will check this if you didn't)
[ ] Does this close issues? List them:

Closes #1596
Closes  #1507

I am going to implement the new abstract Merkle_list module in another module. I wrote an issue for this:
https://github.com/CodaProtocol/coda/issues/1631

Made the Merkle_list abstraction here:
https://github.com/CodaProtocol/coda/pull/1634


Fixed setReceiveWindowSize test to allow it to pass when the current …

…system does not support window scaling. Also modified the source to use Unix line endings instead of mixed.
Lines 393 to 401 are the only "actual" code modification here.

As mentioned in #38, please create two commits:

one for the line endings cleanup
one for the actual code change

Ok, so at this point I get the feeling that you don't want these commits. There seems to be an inordinate amount of hoops to jump through each time I submit something. If I must, I'll just keep all the fixes and mods to myself and go on about my merry way without helping the community; this is not what I want to do, but I'm sorry, this is getting a little crazy. My notes were specific, I got authorization about the LF and you still want more for a single file PR with just a few actual mods.

Paul, I'm sorry, but we need to keep these things clean. Crap happened when these files ended up with non-LF line endings in the repository (SVN back at the time which didn't care), and then again when it wasn't cleaned up during the migration to Git (because someone used the Google Code export button instead of Daniel Pocock's nice and clean export).
I'll clean up the line endings in all files. Then, if you still want to contribute, which I would welcome, you can work on a clean file.

Line endings done in da2194444c382b53f1b880389662a60bbb47e8fb.

Thanks for taking care of that quickly and I guess I'm just feeling some frustration although I'm sure I'd be at square one without the work you guys have done. Might I ask that you fix the line endings on turnserver too? I haven't changed any of that back yet, this morning.

I fixed the PR, here's the new one https://github.com/jitsi/ice4j/pull/40
Also for anyone else reading this, an excellent answer on SO for keeping a fork in-sync with an upstream master: http://stackoverflow.com/a/7244456/127938


Revert "resprite network configurator"

Replacing a bad looking coder sprite with another bad looking one is rude ngl

lmao

@deltanedas for clarification, we talked about your sprite change on discord and forgot to post that on the PR. I already asked in the art channel on our discord if someone could sprite a better version as I realize that the sprite I made is not pretty and I want it replaced asap.
Just not with something that looks like someone pasted part of a grenade casing into it,

yeah thats fair


执行命令 报错 flash_attn未安装, 安装后报错ImportError. 使用docker compose ,docker同样的问题

Reminder

[X] I have read the README and searched the existing issues.

System Info
OS:wsl2
cuda-12.3
最新llamafactory,docker compose
Reproduction
命令行：
llamafactory-cli train
--stage sft
--do_train True
--model_name_or_path /home/xx/.cache/modelscope/hub/ZhipuAI/glm-4-9b-chat/
--preprocessing_num_workers 16
--finetuning_type lora
--template glm4
--dataset_dir data
--dataset test
--cutoff_len 1024
--learning_rate 5e-05
--num_train_epochs 3.0
--max_samples 100000
--per_device_train_batch_size 1
--gradient_accumulation_steps 8
--lr_scheduler_type cosine
--max_grad_norm 1.0
--logging_steps 5
--save_steps 50
--warmup_steps 0
--optim adamw_torch
--packing False
--report_to none
--output_dir saves/GLM-4-9B-Chat/lora/train_2024-06-27-13-02-26
--fp16 True
--plot_loss True
--ddp_timeout 180000000
--include_num_input_tokens_seen True
--lora_rank 8
--lora_alpha 16
--lora_dropout 0
--lora_target all
命令行加或不加    --flash_attn auto
以及使用 llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
.yaml：
model
model_name_or_path: modles/ZhipuAI/glm-4-9b-chat/
method
stage: sft
do_train: true
finetuning_type: lora
lora_target: all
dataset
dataset: test
template: glm4
cutoff_len: 1024
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16
output
output_dir: saves/GLM-4-9B-Chat/lora/train_2024-06-27-13-02-26
logging_steps: 10
save_steps: 500
plot_loss: true
overwrite_output_dir: true
train
per_device_train_batch_size: 1
gradient_accumulation_steps: 8
learning_rate: 5.0e-5
num_train_epochs: 3.0
lr_scheduler_type: cosine
warmup_ratio: 0.1
fp16: true
ddp_timeout: 180000000
eval
val_size: 0.1
per_device_eval_batch_size: 1
eval_strategy: steps
eval_steps: 500
都报错如下
##################################
Traceback (most recent call last):
File "/usr/local/bin/llamafactory-cli", line 8, in
sys.exit(main())
File "/app/src/llamafactory/cli.py", line 111, in main
run_exp()
File "/app/src/llamafactory/train/tuner.py", line 50, in run_exp
run_sft(model_args, data_args, training_args, finetuning_args, generating_args, callbacks)
File "/app/src/llamafactory/train/sft/workflow.py", line 49, in run_sft
model = load_model(tokenizer, model_args, finetuning_args, training_args.do_train)
File "/app/src/llamafactory/model/loader.py", line 152, in load_model
model = AutoModelForCausalLM.from_pretrained(**init_kwargs)
File "/usr/local/lib/python3.10/dist-packages/transformers/models/auto/auto_factory.py", line 550, in from_pretrained
model_class = get_class_from_dynamic_module(
File "/usr/local/lib/python3.10/dist-packages/transformers/dynamic_module_utils.py", line 501, in get_class_from_dynamic_module
final_module = get_cached_module_file(
File "/usr/local/lib/python3.10/dist-packages/transformers/dynamic_module_utils.py", line 326, in get_cached_module_file
modules_needed = check_imports(resolved_module_file)
File "/usr/local/lib/python3.10/dist-packages/transformers/dynamic_module_utils.py", line 181, in check_imports
raise ImportError(
ImportError: This modeling file requires the following packages that were not found in your environment: flash_attn. Run pip install flash_attn
#####################################################################
安装flash_attn后报错
Traceback (most recent call last):
File "/usr/local/bin/llamafactory-cli", line 5, in
from llamafactory.cli import main
File "/app/src/llamafactory/init.py", line 17, in
from .cli import VERSION
File "/app/src/llamafactory/cli.py", line 21, in
from . import launcher
File "/app/src/llamafactory/launcher.py", line 15, in
from llamafactory.train.tuner import run_exp
File "/app/src/llamafactory/train/tuner.py", line 27, in
from ..model import load_model, load_tokenizer
File "/app/src/llamafactory/model/init.py", line 15, in
from .loader import load_config, load_model, load_tokenizer
File "/app/src/llamafactory/model/loader.py", line 28, in
from .patcher import patch_config, patch_model, patch_tokenizer, patch_valuehead_model
File "/app/src/llamafactory/model/patcher.py", line 30, in
from .model_utils.longlora import configure_longlora
File "/app/src/llamafactory/model/model_utils/longlora.py", line 25, in
from transformers.models.llama.modeling_llama import (
File "/usr/local/lib/python3.10/dist-packages/transformers/models/llama/modeling_llama.py", line 54, in
from flash_attn import flash_attn_func, flash_attn_varlen_func
File "/usr/local/lib/python3.10/dist-packages/flash_attn/init.py", line 3, in
from flash_attn.flash_attn_interface import (
File "/usr/local/lib/python3.10/dist-packages/flash_attn/flash_attn_interface.py", line 10, in
import flash_attn_2_cuda as flash_attn_cuda
ImportError: /usr/local/lib/python3.10/dist-packages/flash_attn_2_cuda.cpython-310-x86_64-linux-gnu.so: undefined symbol: _ZN3c104cuda14ExchangeDeviceEa。
Expected behavior
No response
Others
No response

INSTALL_FLASHATTN=true
https://github.com/hiyouga/LLaMA-Factory/blob/0f421055da37d7f9b3313954fd008c433b3100f5/docker/docker-cuda/docker-compose.yml#L10

INSTALL_FLASHATTN=true

docker中安装旧版flash-attn==2.5.8 解决undefined symbol: _ZN3c104cuda14ExchangeDeviceEa,新版本会报错. flash-attn对4090是必须的吗？使用上面命令行训练会出现https://github.com/hiyouga/LLaMA-Factory/issues/4441#issue-2369673699中的错误， SDPA attention是修改那个参数？

应该是 GLM 模型代码的问题，你可以试着更新一下文件：https://huggingface.co/THUDM/glm-4-9b-chat/blob/main/modeling_chatglm.py#L30-L36

INSTALL_FLASHATTN=true
https://github.com/hiyouga/LLaMA-Factory/blob/0f421055da37d7f9b3313954fd008c433b3100f5/docker/docker-cuda/docker-compose.yml#L10

试了多次，发现docker里需要torch==2.1.2 和  pip install flash-attn --no-build-isolation才能跑起来，装了后torchtext和torchvision版本不兼容了。上面提到的torch==2.3.0、flash-attn==2.5.8也不行，不知道第一次怎么成功的，是不是和docker里的cuda版本有关？后面试了下docker compose，无论怎么试都跑不了

已经修复了 e3141f5f1b435d12c71d8b1fc6ade6e69deead71

已经修复了 e3141f5

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml可以用了.但用令行加参数llamafactory-cli train  --stage sft  --do_train True还是会提示未安装 flash_attn. 尝试docker里尝试安装 flash_attn会报错
exit code: 1
╰─> [165 lines of output]
fatal: not a git repository (or any of the parent directories): .git
  torch.__version__  = 2.3.0a0+ebedce2

  /usr/local/lib/python3.10/dist-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
  !!

          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)

Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 2095, in _run_ninja_build
subprocess.run(
File "/usr/lib/python3.10/subprocess.py", line 526, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v', '-j', '4']' returned non-zero exit status 1.
  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-install-x_jhgpxb/flash-attn_2f2e7ee88bc743f1bc99623ecc04d0cc/setup.py", line 311, in <module>
      setup(
    File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-x_jhgpxb/flash-attn_2f2e7ee88bc743f1bc99623ecc04d0cc/setup.py", line 266, in run
      return super().run()
    File "/usr/local/lib/python3.10/dist-packages/wheel/bdist_wheel.py", line 368, in run
      self.run_command("build")
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build.py", line 131, in run
      self.run_command(cmd_name)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/command/build_ext.py", line 88, in run
      _build_ext.run(self)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
      self.build_extensions()
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 870, in build_extensions
      build_ext.build_extensions(self)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
      self._build_extensions_serial()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
      self.build_extension(ext)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/command/build_ext.py", line 249, in build_extension
      _build_ext.build_extension(self, ext)
    File "/usr/local/lib/python3.10/dist-packages/Cython/Distutils/build_ext.py", line 135, in build_extension
      super(build_ext, self).build_extension(ext)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
      objects = self.compiler.compile(
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 683, in unix_wrap_ninja_compile
      _write_ninja_file_and_compile_objects(
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 1773, in _write_ninja_file_and_compile_objects
      _run_ninja_build(
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 2111, in _run_ninja_build
      raise RuntimeError(message) from e
  RuntimeError: Error compiling objects for extension
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for flash-attn
Running setup.py clean for flash-attn
Failed to build flash-attn
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (flash-attn)

已经修复了 e3141f5

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml可以用了.但用令行加参数llamafactory-cli train --stage sft --do_train True也就是webui界面还是会提示未安装 flash_attn. 尝试docker里尝试安装 flash_attn会报错
exit code: 1 ╰─> [165 lines of output] fatal: not a git repository (or any of the parent directories): .git
  torch.__version__  = 2.3.0a0+ebedce2

  /usr/local/lib/python3.10/dist-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
  !!

          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)

Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 2095, in _run_ninja_build subprocess.run( File "/usr/lib/python3.10/subprocess.py", line 526, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command '['ninja', '-v', '-j', '4']' returned non-zero exit status 1.
  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-install-x_jhgpxb/flash-attn_2f2e7ee88bc743f1bc99623ecc04d0cc/setup.py", line 311, in <module>
      setup(
    File "/usr/local/lib/python3.10/dist-packages/setuptools/__init__.py", line 103, in setup
      return distutils.core.setup(**attrs)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 185, in setup
      return run_commands(dist)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
      dist.run_commands()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 969, in run_commands
      self.run_command(cmd)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-x_jhgpxb/flash-attn_2f2e7ee88bc743f1bc99623ecc04d0cc/setup.py", line 266, in run
      return super().run()
    File "/usr/local/lib/python3.10/dist-packages/wheel/bdist_wheel.py", line 368, in run
      self.run_command("build")
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build.py", line 131, in run
      self.run_command(cmd_name)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/cmd.py", line 318, in run_command
      self.distribution.run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/dist.py", line 989, in run_command
      super().run_command(command)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/dist.py", line 988, in run_command
      cmd_obj.run()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/command/build_ext.py", line 88, in run
      _build_ext.run(self)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
      self.build_extensions()
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 870, in build_extensions
      build_ext.build_extensions(self)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
      self._build_extensions_serial()
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
      self.build_extension(ext)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/command/build_ext.py", line 249, in build_extension
      _build_ext.build_extension(self, ext)
    File "/usr/local/lib/python3.10/dist-packages/Cython/Distutils/build_ext.py", line 135, in build_extension
      super(build_ext, self).build_extension(ext)
    File "/usr/local/lib/python3.10/dist-packages/setuptools/_distutils/command/build_ext.py", line 548, in build_extension
      objects = self.compiler.compile(
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 683, in unix_wrap_ninja_compile
      _write_ninja_file_and_compile_objects(
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 1773, in _write_ninja_file_and_compile_objects
      _run_ninja_build(
    File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 2111, in _run_ninja_build
      raise RuntimeError(message) from e
  RuntimeError: Error compiling objects for extension
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for flash-attn Running setup.py clean for flash-attn Failed to build flash-attn ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (flash-attn)


ACSS Support - PAD payments on React Native

After a short discussion on the Stripe's discord dev-help channel, I learned that ACSS payments are not supported on React Native.
Feature Request
Developers would like to allow their 🇨🇦 Canadian customers the option to have pre-authorized debit (PAD) payments on React Native applications. The web version already works very well 😃 but we would like it on React Native.
Solution we would like
Currently, the Stripe React Native SDK does not have the option to use the ACSS payment methods. Developers would like to be able to provide the option to their users to pay using the ACSS.
Furthermore, documentation for React Native on the pre-authorized debit documentation page would be very helpful.
Alternative/Workaround
Since the Stripe.js SDK for PAD payments works for web apps, the current workaround is to redirect users to our website, on a page which the user then completes the mandate agreement. However, this poses problems as most cases need authentication context. Passing data or auth tokens by URL query params is prone to security issues and/or is messy to work with. Also, this workaround causes a drop in the quality of UX as it's not as seamless as a built in React Native Stripe Mandate Screen.

@qjimmy thanks for registering your interest for this. ACSS debits are currently not supported on mobile. We will have to wait for our native iOS and Android SDKs to implement it before we can make it available in React Native. We'll use this issue to track it.

Anyplans to work on this from Stripe? It has been a year now.

Hi @thorsten-stripe,
Any news on this feature ? Our Canadian customers would love to have it 🙏

@charliecruzan-stripe @thorsten-stripe any news to support this on mobile app?


Possibility for different HTML report file name for each module

Following situation:
There is an app which consist of two modules:  app itself and SDK it's being built upon.
If I apply this plugin to both modules, it will 2 create assets/open_source_licenses.html files -one per module. So when I build the APK, one of the files is naturally lost.
Solution that would work in my case is to have for example automatic naming per module: like assets/open_source_licenses_sdk.html
Thanks.

Have you tried just applying this to the "app" module? You only need the license file for the end production app.

Yes, this will only include modules used by the app, not by sdk.

@appmagnetics Are you saying it does not go into your implementation project(':mylib') dependencies? I have tests for that particular situation.

@jaredsburrows
we are not using Gradle 3.x so these are the including lines:
debugCompile project(path: ':sdk', configuration: 'debug')
releaseCompile ‘co.my.sdk:mysdk-android-3.7.0@aar'

@appmagnetics That is fine. I am wondering if the plugin is not picking up project(path: ':sdk', configuration: 'debug')?

For this to work properly, you should be using releaseCompile project(path: ':sdk', configuration: 'release'). I believe it gets stuck on the AAR.

Are you still seeing this?

Sorry I cannot verify it any more since I no longer working in that company and have no access to the source code.

Closing this for now since this plugin is meant for a HTML report for 1 app.


Query doesn't update with custom stringify and parse using nested object

Version
4.0.0-alpha.13
Reproduction link
https://codesandbox.io/s/silent-architecture-htfrf
Steps to reproduce
Click "Page 1", click "Page 2".
What is expected?
After clicking "Page 2" the query should update.
What is actually happening?
The query is stuck on "Page 1"

This probably has something to do with nested query params? changing destination to { query: { users: 1 } } works as expected.

Nested objects are not checked right now. I think it will make more sense to check the string representation of the query although this means different orders will still create a new navigation

I don't think that would be bad, though I guess it could impact the "exact" route if it also check the queries. Unless maybe there could be an option where we can compare the values ourselves to decide if they differ?
I always used queries kind of in a different way where each component specifies what query parameters it cares about, validation rule for them, type, default etc.. and it triggers separate "queryChanged" callback when they do change, so in my case it would not make a difference as I'm not watching route change, but rather query change and route props if necessary, though it's also single level only so while I was experimenting with nested approach where each parameter is a custom formatted json in url and I stumbled upon this.

The active link behavior changed and queries and hashes are not taken into account anymore

@posva it still doesn't work, normalizeQuery converts { users: { page: 1 } } to [object Object] and it fails to pass in isSameRouteLocation. Though weirdly it only happens on second navigation.

I removed the normalizeQuery call when a stringifyQuery option is passed

Seems good now, thanks!


TVPType. Add support custom user tag

By the tag, TVPType can omit the fields. Which value is "-".
This feature is useful when users want to use part of fields in struct.

The code looks reasonable, but I haven't been following the TVP (sorry). I'm not seeing much docs. Can I see some docs on what struct tags are accepted. For the tag names, I might expect something like:
type X struct {
    F1 string `tvp:"-"`
    F2 string `tvp:"f2,skip"`
}

I just don't think I completly understand the intent.

@kardianos Example about behavior:
type X struct {
	F1 string `tvp:"-"` //driver skips field because 'TVPCustomTag' is 'tvp'
	F2 string `tvp:"f2,skip"`
	F3 string `tvp:"f2,skip"`
	F4 string `json:"-"`
}
mssql.TVPType{
	TVPCustomTag:  "tvp",
}

Also Documentaion
ColName MUST be a zero-length string in the TVP.
And I think driver can support only tag value "-", because others have the same behavior.

Okay, so this PR does two things: it allows setting a custom tag name with TVPCustomTag, then allows setting names or properties to these tags.
My initial reaction is just to use a standard tag name for setting field names or skipping them, rather then make the tag name customization. (You can't set the tag name for json or other packages for example). Can you explain why you want a custom tag name, rather then just choosing a tag name like "tvp"?

@kardianos I get limit when I use mssql.TVPType with protobuf.
With each generated struct I get 3 additional fields.
I mustn't remove them or add 'tvp' tag because after regeneration I lose the changes.
And I must have to create a copy of struct without 3 additional fields.
And TVPCustomTag helps me to ignore them.
Example: 3 additional fields protobuf.
	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
	XXX_unrecognized     []byte       `json:"-"`
	XXX_sizecache        int32        `json:"-"`

@NikitaDef Thank you. I now understand your situation and motivation. I'm going to read it over once more with that in mind. Thanks.

@kardianos are you going to merge it?
Or do you have another idea about this situation?

@NikitaDef Sorry, this got lost. For the time being, what if we looked at both a json and tvp tag. If json omits it, also omit it unless the tvp tag gives it a name. For instance:
type T struct {
    V1 string `json:"-" tvp:"v1"` // This would be marshaled as field v1.
    XXX string `json:"-"` // This would be ignored.
}

Maybe this would get you to where you want to go without adding yet another config option to each struct, but still being generally useful. I think the protobuf situation is a great motivation for something to be done here.

@kardianos 'tvp' is the highest priority and default tag.
For instance behavior:
//when TVPCustomTag is "json:",
type T struct {
    V1 string `json:"v1" tvp:"v1"` // This would be marshaled as field v1.
    V2 string `json:"-" tvp:"v2"` // This would be marshaled as field v2.
    V2 string `json:"v2" tvp:"-"` // This would be ignored.
    V3 string `json:"-" tvp:"-"` // This would be ignored.

    V3 string `json:"v3"` // This would be marshaled as field v3.
    V4 string `json:"-"` // This would be ignored.
}

//when TVPCustomTag is "",
type T struct {
    V1 string `json:"v1" tvp:"v1"` // This would be marshaled as field v1.
    V2 string `json:"-" tvp:"v2"` // This would be marshaled as field v2.
    V3 string `json:"v3" tvp:"-"` // This would be ignored.
    V4 string `json:"-" tvp:"-"` // This would be ignored.

    V5 string `json:"v5"` // This would be marshaled as field v5.
    V6 string `json:"-"` // This would be marshaled as field v6..
}

Do I understand correctly about behavior?

Yeah, except I'm thinking just get rid of TVPCustomTag and just look at the json flag by default, so only your top section would apply (as if TVPCustomTag is always "json". Unless you can think of a concrete situation where that would be undesirable or insufficient.

@kardianos Sorry, I misunderstood your previous comment.
I agree, I'll remove TVPCustomTag

@kardianos @denisenkom I did some changes.
Also I did changes in TVPType #458.

Current TVPType struct  #458
//TVPType is driver type, which allows supporting Table Valued Parameters (TVP) in SQL Server
type TVPType struct {
	//TVP param name, mustn't be default value
	TVPTypeName string
	//TVP Value Param must be the slice, mustn't be nil
	TVPValue interface{}
}


Added > after echo

This confused me for a while until I realized there was a >
Sauce: https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/issues/7#note_151296583

Also not that ddcci-linux, and hence this service only works upto kernel 6.1 (6.4 supported in master). I'm on 6.10 and this doesn't work. So please mention that the driver needs kernel version support.


Correcting improperly shaped SQL Token logo.

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

Please approved the updated Logo and the updated Logo URI. This is a modification of my existing token.

Manual review request #2: For some reason, my pull request deleting the square .png and replacing it with the round one did not take earlier (as seen above); accordingly, I added the request here. Please allow the new .png (Sheqel-Circle-Logo.png) to replace the old (Sheqel-Logo.png). Thank you!!


Handle expired offers acceptation

Currently on our front end, we leave space for confusion when it comes to expired offers. On image below, there is one of my NFTs after clicking on Action button, accept offer.
Proposed solution:
Let user click on the button and show red text above the table, saying Selected offer is expired and can no longer be accepted. Inspiration can be found in the way errors are handled at Create NFTs /bsx/create Maybe @roiLeo can chip in on how to handle this properly, but iirc you don't like disabling buttons + tooltips 😆.
Don't forget to test:
Every place which has option of accepting offers.

👋

Should we keep showing expired offer?
I noticed that on OpenSea they are no longer displayed

hmm, maybe not everywhere? There are two related issues:

https://github.com/kodadot/nft-gallery/issues/3401
https://github.com/kodadot/nft-gallery/issues/3583

From the context, I think we want to keep them for user to withdraw, but maybe we don't want to show them at item detail? wdyt @yangwao

Oh, I recall, when an offer is made the balance is locked until the user withdraw even when expire

Should we keep showing expired offer?

we could default show active offers.

maybe we don't want to show them at item detail?

why?

I'll unassign my self until there is a consensus reached on what's the best approach here

It's like showing "out of stock" product on a marketplace this can be confusing for the user.
But it would be nice to have a tab in my profile where I could manage all my expired offers (#3401?)

maybe we want to show activity on the given item regardless and that was @yangwao's point? Created (even if expired) offer signals some demand for the item. @yangwao wdyt, maybe just disable the "Accept" green bill button when offer is expired?
Current implementation is still resulting in user being able to click the accept button, sign transaction and get response as seen on the screenshot.

This was left on read for way too long, let's resolve this in the following way:

We are leaving expired offers to show, they are a good sign of activity around NFT
We should handle the button in a better way, I'd suggest disabled Accept with tooltip informing about the expiration of offer (please @roiLeo, take a look and let us know if there's more elegant way🧙🏻♂)

We are leaving expired offers to show, they are a good sign of activity around NFT

Aight, still don't agree with it but let's keep them

I'd suggest disabled Accept with tooltip informing about the expiration of offer

Sounds good to me, can we sort offers by expiration Date too?

Sounds good to me, can we sort offers by expiration Date too?

it seems to be working


When switching themes, switch to night theme in the evening and day theme in the morning

Currently when switch time comes it just alternates selected theme.
For example if I switch to dark theme manually ahead of schedule, when time comes for automatic switch, it switches me back to light scheme instead of just doing nothing...
Hopefully it's an easy fix.
Otherwise plugin works perfectly and is very useful.
Thank you.

Hi @DBalobanov!
Thank you for your feedback. Can you please provide information about which version do you use? Which IDE or tool?
Because, as for now - everything should work as you expected.

Hello Ignat,
It was broken when I created the issue, but it seems to be working fine now. Hopefully it was a glitch or something. Though I’m quite confident it happened few times to me before.
I’m using Rider 2019.3.1 and most recent version of your plugin.
Sorry for false alarm 😊
With best regards,
Dmitry.
From: Ignat Bavtovich<EMAIL_ADDRESS>Sent: Thursday, December 19, 2019 15:24
To: iBavtovich/day-and-night-plugin<EMAIL_ADDRESS>Cc: Dmitry Balobanov<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [iBavtovich/day-and-night-plugin] When switching themes, switch to night theme in the evening and day theme in the morning (#7)
Hi @DBalobanovhttps://github.com/DBalobanov!
Thank you for your feedback. Can you please provide information about which version do you use? Which IDE or tool?
Because, as for now - everything should work as you expected.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/iBavtovich/day-and-night-plugin/issues/7?email_source=notifications&email_token=AHC3ZQW6R2FQLXWOYYTCNE3QZPJ45A5CNFSM4JZNXGG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHK2E5I#issuecomment-567648885, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHC3ZQVKIPJSTQKGUQ63ESDQZPJ45ANCNFSM4JZNXGGQ.

No problem! In any case - thanks for feedback about plugun =)

Hello Ignat,
This morning it switched me to night scheme. I have two instances of Rider running, not sure if it is making a difference. Both switched to night scheme.
My settings:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>With best regards,
Dmitry
From: Ignat Bavtovich<EMAIL_ADDRESS>Sent: Friday, December 20, 2019 14:51
To: iBavtovich/day-and-night-plugin<EMAIL_ADDRESS>Cc: Dmitry Balobanov<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [iBavtovich/day-and-night-plugin] When switching themes, switch to night theme in the evening and day theme in the morning (#7)
No problem! In any case - thanks for feedback about plugun =)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/iBavtovich/day-and-night-plugin/issues/7?email_source=notifications&email_token=AHC3ZQWIPDOAG44Q7UAOR23QZUOY7A5CNFSM4JZNXGG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHN7WIA#issuecomment-568064800, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHC3ZQUPAWMTPKS2A3NIY5LQZUOY7ANCNFSM4JZNXGGQ.


Func Expose PlanSpecificSalesOrder C5522 Order Planning Mgt.

Can function PlanSpecificSalesOrder in C5522 Order Planning Mgt. be exposed?

Good news! The function has already been exposed and will be available in the upcoming update.


Add a root index.html

Setting the master branch to be hosted with github pages in /settings

would enable users to test the examples without cloning the directory at https://mostjs.github.io/examples/
e.g. https://johnrees.github.io/examples

Although the wikipedia example won't work when hosted because it's an insecure request. After fixing that it will fail again because of its CORS policy.

Thanks @johnrees, this is a good idea :+1:
The wikipedia request is a GET (not a POST) using jsonp.  That should work cross-origin, right?  If so, then I think we can merge this.  If it won't work for some reason, then we'll need to figure out what to do.

Ah yes, you're correct. I've tested it and it works

This is great.  Thanks again @johnrees!


E-Masjid WIKI

~~https://github.com/Dev4w4n/e-masjid.my/wiki~~
https://github.com/Dev4w4n/e-masjid.my-doc

Linked issue: https://github.com/Dev4w4n/docs.e-masjid.my/issues/20

moved to different repository

https://github.com/Dev4w4n/docs.e-masjid.my/


Allow modifying version slugs

This change allows version slugs to be modified.

This very explicitly breaks out the Version.slug (the thing in the URL, mutable) from Version.identifier (version control identifier, immutable). The explanations on the Version model are helpful.
When a version slug is changed, symlinks are rebuilt and a build is triggered. I suppose we could move the version on the filesystem but triggering a build is probably cleaner and works across the multiple filesystems we have.
The version slugs "latest" and "stable" are not editable

Fixes #4167
Screenshot

Alternatives
Another approach to this problem is to have an alias (eg. the readthedocs branch's docs could be accessed at /en/readthedocs/ or /en/rtd/). However, after considering this option, I decided that having one location is probably best. If there were multiple paths, in my opinion, one should redirect to the other (eg. /en/rtd/ -> /en/readthedocs/). Furthermore, the point of #4167 is to use the alias in favor of the actual version control branch name. I guess we could make the alias the canonical path or make that an option, but it seemed a bit like overengineering.

I like the idea. I need to check it in more details and make a proper review. Although, I want to anticipate a question: what would happen if a slug is exactly the same as another identifier?
For example, I have the branches my-branch and another-branch. I go to the another-branch Edit page and I put my-branch as slug. Is this a problem? How RTD will handle this?
With a quick look at the code, I think we don't handle that. We may need to add this check in the validator of the slug field.

Is this a problem? How RTD will handle this?

In my tests, there was a unique key on this field. However, it might be best to have a test for this.

Definitely want to be able to handle conflicting slugs. For my use case:

There is a 1.0 tag.
There is a 1.0.1 tag.
There is a 1.0-maintenance branch.
The 1.0 and 1.0.1 builds are not active.
The 1.0-maintenance build should have the "1.0" slug.

Definitely want to be able to handle conflicting slugs

I might have to rethink some of this. There is a unique key on the the project/slug pair.

I might have to rethink some of this. There is a unique key on the the project/slug pair.

Maybe this isn't a huge deal. You could always edit the tag 1.0's slug and then edit the branch 1.0-maintenance's slug to be 1.0. It's a little roundabout but I suppose it would work. It does seem to be a bit of misdirection as opposed to just naming the branch 1.0.

I made some changes based on feedback. I added a check for existing versions with the same slug and fixed the double syncing of symlinks.

New changes look good! Besides the comment about the exists, if we add some tests for the new feature, I'd say that we are ready to merge.
Also, the current tests are failing for some weird reason, I think.

I can work around unique slugs by renaming problematic ones. It shouldn't come up too often, and I think that next time I'll make the tag 2.0.0 to avoid ambiguity.
That's going to be confusing for users unless it's well documented though.

That's going to be confusing for users unless it's well documented though.

Well, it will throw an error message that should make it reasonably obvious: "There is already a version for this project with that slug"

This will also end up effectively deleting the old slug, so there should be a really big warning about this for users. I wonder if we can add a redirect automatically to the project that will fix the old URL's and turn them into the new URL's, to make this less of a bad UX.

I guess that's not the end of the world, but it definitely could be confusing for users to have the Versions not line up with the VCS elements.

It's the same when somebody has a 1.0 branch and then they create a 1.0 tag.

This will also end up effectively deleting the old slug, so there should be a really big warning about this for users. I wonder if we can add a redirect automatically to the project that will fix the old URL's and turn them into the new URL's, to make this less of a bad UX.

I don't think we can add a long term redirect because at least in the Pallets use case they plan to repurpose that. Flask for example, has a 1.0 tag but they want the version 1.0 to correspond to the 1.0-maintenance branch. Perhaps since this is a dangerous operation maybe it should be a staff-only thing. That's pretty inconvenient but it avoids people shooting themselves in the foot.

I don't think we can add a long term redirect because at least in the Pallets use case they plan to repurpose that. Flask for example, has a 1.0 tag but they want the version 1.0 to correspond to the 1.0-maintenance branch. Perhaps since this is a dangerous operation maybe it should be a staff-only thing. That's pretty inconvenient but it avoids people shooting themselves in the foot.

That is currently how it already works. We can edit slugs in the admin, but we generally don't because it's destructive if any URL's exist to the branch. I still think if we expose this to users, there's a good chance they will shoot themselves in the foot by renaming a slug that is actively used, and then 404 a bunch of links.

I originally liked the idea of the ability to have alias and modify version's slug, but it's bringing some potential problems where we should be careful.
Adding this as a "staff only" thing it doesn't worth for me. Core team could do this very easily from the Django shell. I did exactly this for the Django folks some days ago at https://github.com/rtfd/readthedocs.org/issues/4519
dversion = Version.objects.create(
  slug='2.1.x',
  active=True,
  project=django,
  identifier='origin/stable/2.1.x',
  machine=False,
  type='branch',
  privacy_level='public',
  verbose_name='2.1.x',
)

I didn't change the slug or remove a Version, I created a new one with the proper slug and the reference they need to point to.

We can do this for Pallets folk also if that's what they need.
I'd keep thinking on making this more User Friendly if we have plenty of users with this needings. Otherwise, we can help Pallets folks to onboard by creating these alias manually and keep thinking what's the best way to solve the general problem.

We can do this for Pallets folk also if that's what they need.

Well, we need to modify 2 versions because they already have a 1.0 tag. See the comment above. We can do it, but if they continue to use branches of the form 1.1-maintenance, 1.2-maintenance then every time they create a new branch, they'll need to contact us.
If we believe the best way forward is to leave modifying version slugs to staff and @davidism is happy with that then I'm happy to close this PR and move forward in that direction.

I am going to close this PR as I believe we are just going to either rename branches or edit version slugs in the admin to handle this.

Perhaps we should update this FAQ item to say you can ask us to change it? https://docs.readthedocs.io/en/latest/faq.html#how-do-i-change-my-slug-the-url-your-docs-are-served-at

@ericholscher that's a good idea, yeah.


Stream redirection in tests, either comment or code is incorrect.

Throughout 65 .tests.ps1 files in this project, there are lines such as these:
https://github.com/dsccommunity/DnsServerDsc/blob/bec927aec4e07243b52d76736bd1a989c018618f/tests/Unit/DSC_DnsServerADZone.Tests.ps1#L20-L21
Either the comment is wrong, or the code is wrong since in the code the Error stream IS being redirected to null, while the Warning stream is not.
I will be happy to submit a PR fixing either the comment or the code, if someone can tell me what the actual intention is.

The intention was that only error messages should surface to the console to minimize (remove) output when running the tests. So if any error occurred when running task noop it should show, but no other output. 🙂

Ok - I'll submit a PR to get that fixed then 🙂