Unify Attrs and AttrsOwned

Currently, there exist the borrowing Attrs and the owning AttrsOwned, which only differ in their usage of Family vs FamilyOwned. In theory, this allows passing Attrs without having to allocate. In practice, we have the following situation:

FontSystem::get_font_matches wants to prevent an allocation in the most-common case that a cached match already exists, but it can't (see https://github.com/pop-os/cosmic-text/blob/1bc198fd6306923e797dcf022439faf44c343af0/src/font/system/std.rs#L130 ), because we cannot implement Borrow<Attrs> for AttrsOwned.
We need to store AttrsOwned in AttrsList, so it is almost impossible to not have an Attrs turn into an AttrsOwned somewhere down the line.

This PR removes the old Attrs, renames AttrsOwned to Attrs and adds an AttrsBuilder, which has the same helper methods as the old Attrs. This PR also includes several changes to prevent allocations in many cases:

FamilyOwned uses a Cow<'static, str> instead of String, allowing the use of string literals without allocating.
AttrsBuilder::family takes an impl Into<FamilyOwned>, which is only implemented for FamilyOwned or Family<'static>, so users need to explicity use FamilyOwned::new if they want to use a non static Family.
Attrs implements AsRef<Attrs> and From<&Attrs>, allowing methods that might need to store the Attrs to accept both values and references of Attrs, while at the same time preventing an extra allocation when a value is passed.
As a side effect of Attrs now not being Copy, users have to explicitly use clone, which makes potential allocations more obvious.

This PR also changes FontSystem::get_font_matches to take an impl AsRef<Attrs> + Into<Attrs> parameter, which it only clones if (a) the passed argument is a reference and (b) the cache does not contain an equivalent Attrs. So this change leads to probably less allocations overall.

This now has conflicts after merging #97

The conflicts are resolved, but the CI fails right now, caused by duplicate syn dependency, unrelated to my changes.

FWIW point 1 can probably be addressed via using hashbrown with HashMap::entry_ref + Equivalent.


What to remove an option

Hi Team,
From the Company Communicator (Autors) App we want to remvoe below option:
"Send in chat to everyone"
Could you provide the steps to do so?

Hi @salviroshan89 ,
Thanks for raising the query. Our support scope is very limited to official version of CC. Any procedure to remove or to add a feature on top of official version will be considered as customization. We won't be able assist much here. Please let us know if you are having issues w.r.t standard version.

The thing is we dont want Authors to accidently send a mass message using Send in Chat to everyone option, so if you could provide a way to block this option then that would be much appreciated.

Hi @salviroshan89 ,
Currently, we don't have enable disable feature for respective sending options.
This has been added to our backlog list and will be planning to implement it in future releases post the discussion with our internal team.


Ignore empty patches when calculating stats (fixes #654)

Can you add a test?

Thanks, @mcuadros
Sorry haven't managed get time to add a test.


Replace cURL with PSR-7 and PSR-18 implementation

This PR implements the suggested features from #6.

@shochdoerfer thanks for the review, I'll address the feedback this week.

Bump =)
Let me know if there is anything that I oversaw or did wrong.

@DanielRuf applied some refactorings. Ready not to be merged.

Depends, we could log it, but then we need an additional dependency. For me it's fine to ignore it.

@DanielRuf applied some refactorings. Ready not to be merged.

Awesome =) :+1: Do you mean "now"?

Sure ;)


Accessing the request object

I'm using next-iron-session on a project that uses dynamic routes, and I'd like to be able to dynamically set the cookie name based on the route being accessed.
Can I access the request object in the withIronSession function? That way I could grab the req.headers.host property.

Hey @josiahwiebe. I just published a brand new version of iron-session, see here: https://github.com/vvo/iron-session/releases/tag/v6.0.0
About your question, for now it's now feasible but we could easily add it and it would also solve other issues maybe. For example we could allow cookieName to be a method that would be called right before the cookie is serialized/unserialized and you would have to pass your options there.
You would also access the req/res object inside it.
It would look like this:
withIronSessionApiRoute(function (req, res) {

}, {
  password: "...",
  cookieName: function(req, res) {
    return `cookieName${req.somethingComputed}`
  }
})

Let me know what you think. I would also appreciate you having a look on how to implement that. You can clone the repository, add a test and see how it goes. Thanks!

Thanks @vvo! I updated right away, was fairly seamless. Thanks for the release!
I'll take a look at creating a PR on that soon. I figured out an alternate solution for now, but still wouldn't mind solving it. I don't have a tonne of TS experience so it will be a good exercise!

Hey @josiahwiebe you could start duplicating this test here: https://github.com/vvo/iron-session/blob/bd98c524d9aefaf6d5a87d4836e4adcbcb4c121d/src/index.test.ts#L83-L113
Don't bother too much about TypeScript for now, you can put // @ts-ignore vvo will fix in front of any line that fails for you
And:

duplicate the test and add change test( to test.only(
pass different defaultOptions with a cookieName being a function
fiddle around this line: const seal = cookie.split(";")[0].split("=")[1]; to get the cookieName being sent on the header (right now it strips down everything to get only the cookie value)
run npx jest to see the test failing

Once you have a failing test you can try implementing it.
Or if you're not a fan of TDD you can try to update the example/next.js and pass a cookieName of a function. To develop locally you will have to run npm link inside the root of the project and then npm link iron-session inside the root of the example/next.js.
This feels very complex I agree I need to add instructions on how to contribute :)

It's possible to do something like this to be able to dynamically set the cookie max-age?
Would be handy to set the max-age based of the "remember me" flag from the login form to create a session or a persistent session cookie.

@ricardotx Yes we could use the same technique for maxAge computation (allow passing a function for cookieOptions)

@vvo it would be great! Thank you.

Any update on the maxCookieAge being able to change dynamically?

hello I don’t understand how to dynamically add maxing. for example the client will check the remember me box and send the value in the body (true, false). I use typescript and it makes me an error when I try to add a function to maxage and even I can not access the body of the request. If anyone has an example code! Thank you

iron-session v8 solves this since you have to get the session yourself, 👍


[Question] Why use an iframe in feed preview?

The feed preview consist out of a header and an iframe with the actual feed content. Because of the iframe this content can’t be user styled (e.g. make the item_title smaller) and I have to use the tab key several times or click into the iframe before I can scroll it with my keyboard.
What’s the reasoning behind the extra iframe for the feed contents? Are there security reasons? Is it a necessity for parsing the feed? I’d personally prefer to have only one page for the feed preview not a page inside a page. It’d make the content more accessible for me.

The sandboxed iframe is there for security reasons, it’s the only way to ensure no script that might potentially be contained in a feed gets executed. I agree it’s not ideal for styling though or accessibility though.
We might be able to mitigate this by putting extra accessibility attributes and with a custom css feature however.

Thank you very much! You are doing great work and I’m glad I still can use dynamic bookmarks for RSS feeds in Firefox.


Add makefile for easy linting, testing and formatting of code

Add a makefile with targets to conveniently lint, format and test the code.

I would like to work on this issue, please assign this to me @aaronalphonso

Hi @nkilm, thanks for your interest! I'd really like #41 to be completed before the Makefile (so that the newly added tools can be included in the makefile lint target as well). Let me know if you'd like to pick that up instead, or if not you could pick this up once someone else completes that.

@aaronalphonso Alright, I'll work on #41 too.


[Doc][Kafka] Add kafka kerberos config document

Search before asking

[X] I had searched in the feature and found no similar feature requirement.

Description
Add kafka kerberos config document.
Usage Scenario
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I am willing to submit a PR!


Create a toggle to switch between celsius and fahrenheit.

To Create a toggle to switch between celsius and fahrenheit.

Already referenced in issue #8


Testing needs to be done

Please think of appropriate ways to test the software / frontend

Tests were excecuted on the frontend side. Further tests might be necessary after changing the database backend.


add helm v3 package support

use helm v3  to package k8s deploy scripts

https://github.com/helm/helm/releases
https://helm.sh/docs/

[x] reservation-client
[ ] reservation-server


Rails 5 / Rspec 3.5.0 -- setting request headers?

Hi,
I had a spec working under Rails 4 / Rspec 3.4.4 that looked like this:
it 'does something with the referrer' do
  allow(request).to receive(:referrer).and_return('aol.com')
  expect(Foo).to receive(:bar).with('aol.com')
  get :endpoint
end

After upgrading, it looks like request.referrer is not stubbed correctly and request.referrer in the controller returns nil.
I tried rewriting like so:
get :endpoint, { params: {} }, headers: { 'HTTP_REFERER' => 'aol.com' }

But I wasn't able to get that header, or actually any header passed through to the controller.
Any suggestions?

Setting the header in request.env works -- is that the recommended way to accomplish this?

Try: get :endpoint, params:  {}, headers: { 'HTTP_REFERER' => 'aol.com' }
`

@ledbettj
Thanks for the issue. We need a little more detail to be able to reproduce this.
Could you please provide us with a rails app that we can clone that demonstrates the issue. Specifically it'd be great if

you could rails new an application and commit
make all the changes necessary to reproduce the issue and commit

then, provide us with a description of how to clone your application and reproduce the issue.
Thanks :)

I've pushed a basic example here.
ApplicationController#index simply renders the HTTP referrer as JSON.  The specs for this action try to set the referrer in several ways; only the last -- setting request.env -- works.
git clone https://github.com/ledbettj/rspec-repro.git repro
cd repro
bundle
bundle exec rake spec

Output:
Failures:

  1) ApplicationController when stubbing referrer sets the referrer correctly
     Failure/Error: expect(body['from']).to eq(aol)

       expected: "aol.com"
            got: nil

       (compared using ==)
     # ./spec/controllers/application_controller_spec.rb:11:in `block (3 levels) in <top (required)>'

  2) ApplicationController when passing referrer as a hash sets the referrer correctly
     Failure/Error: expect(body['from']).to eq(aol)

       expected: "aol.com"
            got: nil

       (compared using ==)
     # ./spec/controllers/application_controller_spec.rb:18:in `block (3 levels) in <top (required)>'

  3) ApplicationController when passing in two hashes sets the referrer correctly
     Failure/Error: expect(body['from']).to eq(aol)

       expected: "aol.com"
            got: nil

       (compared using ==)
     # ./spec/controllers/application_controller_spec.rb:25:in `block (3 levels) in <top (required)>'

Finished in 0.04602 seconds (files took 2.82 seconds to load)
4 examples, 3 failures

Let me know if anything else would help.

request.env did not work for me. Any update on this?

@richddr looks like nobody from the RSpec core team has had a chance to look at this yet. If you really need a fix to this, you're more than welcome to use the reproduction case above as a starting point for debugging and see if you can fix the problem :)

Update: For my API only app I managed to get around it using by controller.request.headers instead of request.env
controller.request.headers['X-Secret-Header'] = my_secret_header

I worked around this like so. Maybe it helps you, too. Not the prettiest solution but effective.
  let(:headers) { some: "header" }
  # ...
  request.headers.merge! headers
  post :endpoint, params: params

I tried to fix this issue but don't see anything wrong with the way it currently is. (I don't know if this is a regression)
Just to explain as to why this is happening.
Regarding the stubbed method. If you take a look at ActionController::TestCase::Behaviour you will notice that all HTTP methods (get, post, delete, ...) get funneled into the process method. The process method builds a new TestRequest object with the request.env object from your test. That's why stubbed methods won't work.
Regarding the remaining two options - passing the headers as params. This also won't work. If you take a look at the above-mentioned class you can notice that only the session, flash, method, body, xhr params get processed and all others are ignored.
This leaves you with the option to edit request.env direcly or through request.headers as @sebastian-julius outlined.

Sorry, forgot to post an update here. I also ended up working around it the same as @sebastian-julius did.

You cannot stub request because it is recreated in this line of actionpack/lib/action_controller/test_case.rb:
  @request = TestRequest.new scrub_env!(@request.env), @request.session, @controller.class

So, the request seen in the controller action is another instance of the request accessible/modified in the spec, and neither all the env part are kept.

This cost me a lot of time tonight. Thanks to @sebastian-julius for the workaround.
I expected this to work:
get :create, headers: { Key: "SomeKey" }

Ended up doing this, per @sebastian-julius's workaround:
headers = { :Key => @api_key.token }
request.headers.merge! headers
get :create

For me the issue is that req.headers['CustomHeader'] is nil while req.env['CustomHeader'] contains required value. For production environment it's the other way around with Rails 5.0 and rspec 3.5.0.
Am i missing something?

I faced this issue today and I dug a little. It seems that for request specs, rspec-rails correctly leads us to ActionDispatch::IntegrationTest::Behavior as seen here: https://github.com/rspec/rspec-rails/blob/ace2f2b922a7e5f79bfa8f667a87b1ef5342425e/lib/rspec/rails/example/request_example_group.rb#L15
But for controller tests, it leads us to the old and now deprecated ActionController::TestCase::Behavior, as seen here: https://github.com/rspec/rspec-rails/blob/ace2f2b922a7e5f79bfa8f667a87b1ef5342425e/lib/rspec/rails/example/controller_example_group.rb#L13
ActionDispatch::IntegrationTest has support for extracting the header key and setting headers normally works, but breaks in ActionController::TestCase and hence it works in request specs, but not in controller specs.
I think this is a bug and the core team should take a look at it.

Nothing of the above mentioned fixes worked for me. Ended up with:
before do
  allow_any_instance_of(ActionController::TestRequest).to receive(:referer) do
    '/imprint'
  end
end

As for @JonRowe 's example, you cannot set the headers explicitly in the request as we can in the method's signature in 5.0 and 5.1.

@jfragoulis This method delegates to Rails, it supports the same parameter format as your version of Rails.

Here's a bit of context regarding why this issue isn't getting much attention: request specs are preferred over controller specs
This recommendation like the one near the top will work in a request spec:
get '/endpoint', params: {}, headers: { 'HTTP_REFERER' => 'aol.com' }

Everyone seems to have found the way to do it. In request specs you can pass the headers as an argument, in controller specs you need to set the headers directly on the request object.
Should this be marked as closed then?

Does the request object get reset between requests?
It seems odd if you want to do two concurrent requests, one with a header and one without.  In between them you have modify the request params.
get :show, id: 1, headers: { 'Authenticated token' }
response.code.should be 200

get :show, id:1
response.code.should be 401

@KevinColemanInc between requests no, and why should they? It resets for each test, and each test should have one request.

The only thing that worked for me. (rails: 5.1.4 & rspec-rails 3.7.2)
before(:all) do
    header 'Authorization', "Bearer <token>"
    get '/my/endpoint'
end

I ended up here trying to figure out how to mock the request.domain ... since doubles are not allowed in global RSpec context, I just brute forced it by overriding the method on TestRequest like this:
ActionController::TestRequest.class_eval do
  def domain
    "example.com"
  end
end

@andreymakovenko yup, it works in request specs.

why so many downvotes on @andreymakovenko reply?

@ArielAleksandrus this issue is about controller specs not request specs.

for example:
request.headers.merge!(valid_headers)
post :create, params: { order: order.attributes }

Dependant on what your type: :api triggers here, will depend on how you send headers

Sorry, my bad, I'm using controller type now, but the main issue was something else, unrelated do Rspec. Everything works now! Thanks!

Rails 5.2 this works for me
post path, params: params.to_s.to_json, headers: headers

Before you post your solution please make sure that you understand the difference between request specs and controller specs. This issue is about controller specs.
Reading all the replies here is really frustrating.

@fnmendez works well, I recommend to check in controller if simple "puts" is the values are right placed; I spend 5 hours thinking that the solution not works, but, I was not the right values in models (fixtures)

get '/foobar.json', {}, { 'HTTP_SESSION_ID' => 'XXXX', .... }
Using this works for controller/feature specs. The only thing you have to make sure is that the headers are on the second position of the args. That's why the empty hash.
Since they get utilized here https://github.com/rails/rails/blob/e2fcb2b4aec69e10a01cebfe51bbd280ce6d5a93/actionpack/lib/action_controller/test_case.rb#L602
As @pawandubey its the different module request and controller specs are using.
Unfortunatly when you use the snippet like top one rubocop will complain because
of Rails/HttpPositionalArguments: Use keyword arguments instead of positional arguments for http call
This also a topic over at rubocop-hq/rubocop#5888. But it seems stall.

For HTTP_REFERER use symbol and not string !
post "/api/v1/kpulse", params: params, headers: { HTTP_REFERER: 'kpulse.fr'  }

This solution worked for me too
https://robert-reiz.com/2013/08/09/http_referer-for-rspec-is-missing/

Using Rails 5.2 and RSpec 3.8 and I'm struggling with this too. No matter what I try, the request submitted to the controller doesn't have the headers I set. I'm testing my base API controller's inherited token verification. It has a before_action that reads the token from the header and verifies it before continuing. The before_action triggers but the headers available are blank (save for the default security headers configured in Rails). My app is not a Rails API app but it has API-only controllers.
The base API controller looks something like this:
module Api
  module V1
    class ApiController < ActionController::API

      before_action :read_token_from_header

      pirvate

      def read_token_from_header
        if response.headers['Authorization'].present?
          # Read the token and if it's not valid -> return head :unauthorized
        end

        true
      end
    end
  end
end

The spec is shown below.
require 'rails_helper'

RSpec.describe Api::V1::ApiController, type: :controller do
  controller(Api::V1::ApiController) do
    def index
      head :ok
    end
  end

  let(:token_signed_with_fake_key) { ... }

  describe 'token signature verification for any action' do
    context 'for a token that was signed with an invalid secret key' do
      it 'returns 401 Unauthorized' do
        request.set_header('Authorization', "Bearer #{token_signed_with_fake_key}")
        get :index
        expect(response.code).to eq '401'
      end
    end
  end
end

I'm at a complete loss. @MiguelCorti my situation sounds exactly like yours. Do you remember how you solved this?

For Rails 5.2.3 and Rspec 3.8
Just used the request.headers.merge!(valid_headers)
let(:valid_attributes) {
    {to_wallet: "wallet", value: 100.00}
}

let(:valid_headers) { { HTTP_USERTOKEN: "Token12345678"} }

it "creates a new Transaction" do
        request.headers.merge!(valid_headers) # This line right here!!!
        expect {
          post :create, params: {transaction: valid_attributes}
        }.to change(Transaction, :count).by(1)
end

Hello from 2019!
Just want to confirm I came here trying to set headers on a controller test and that @sebastian-julius ' approach (though I slightly modified it) worked great for me! Thank you! :)

This works for me on rspec 3.8.0
it 'return 200' do
  auth = 'Basic ' + Base64.strict_encode64('username:password')
  params = { foo: 'bar' }

  header('Authorization', auth)

  get '/baz', params

  expect(last_response.status).to eq 200
end

For me the issue is that req.headers['CustomHeader'] is nil while req.env['CustomHeader'] contains required value. For production environment it's the other way around with Rails 5.0 and rspec 3.5.0.
Am i missing something?

Same! It was request.headers['myHeader'] was missing. Man that took me hours.

Are there any volunteers to update the doc and add feature test similar to the cookie one?

This works for me on rspec 3.8.0
it 'return 200' do
  auth = 'Basic ' + Base64.strict_encode64('username:password')
  params = { foo: 'bar' }

  header('Authorization', auth)

  get '/baz', params

  expect(last_response.status).to eq 200
end

Did'nt work

This might work - on rspec-rails 3.8 works
request.env['HTTP_REFERER'] = 'aol.com'


Detects as Trojan

The release when extracted and scanned, virustotal detects it as Trojan, can someone have a look?

This is a false positive with AutoHotkey executables. There isn't much I can do then maybe make a complete rewrite in a different language. There is so much about this out there:
https://www.google.com/search?q=autohotkey+false+positive

how does electron does it then? I know it only works when electron app is actually running, but that also should be okay, right? Maybe a different version just for that? My company doesn't let me run Qonsole because of this 🙁

Electron interferes with qonsole? can you install autohotkey? maybe you can run it from source?

No, I mean electron also adds hot key kind of thing, except electron app should be running in order to use the hot key.

Electron runs on top of Node.js to handle any system functions, hotkeys, etc.
Qonsole runs on top of AutoHotkey...

got it, there's nothing we can do about this.


RxHR should be "default" export of package

Is there a reason why .RxHR isn't he default export for this package?
If it were, then one would just have to do:
import RxHR from '@akanass/rx-http-request'
rather than...
import { RxHR } from '@akanass/rx-http-request'

Because if you do default export and use commonjs require, you must do :
require('@akanass/rx-http-request').default
So not good to use like this.


zinit fails to load / light-load any plugins on Termux

After bisecting, this commit is the culprit:
commit f6145dff242c5684f7abea2c26b3c9f184eaa85b
Author: SG<EMAIL_ADDRESS>Date:   Wed Jan 29 14:20:37 2020 +0100

    zinit: Use zselect for a more predictable sleep time

 1 file changed, 4 insertions(+), 3 deletions(-)

Since all the modules are static, some (like zsh/zselect) not enabled in Termux's zsh distribution. I've opened an issue at termux/termux-packages#4939 to address this and opened this [NOT-OUR-BUG] issue here in case anyone else wants to know what is happening. I will close when upstream is resolved.

That sucks :-/
It means half of p10k doesn't work on Termux and no one told me.

I've reverted the commit. Can reapply when Termux enables the module.

I dug into it and made a PR.

The PR is merged and the update made its way to my phone. @psprint You can revert and close this.

Are you a single person?

I'm a math grad student with a light course load this semester.

Must be very light indeed. Good for us! Thanks for taking care of this.

Ok, I've reverted the original commit back. Thanks!

Turns out that I've had to revert the patch again. This time it's not about zselect, but about triggering the zle-F-handler run:

With the revert:exec {ANFD}< <(LANG=C command sleep 0.0002; builtin print run;)

Without the revert:exec {ANFD}< /dev/null

Pressing keyboard keys was greatly lowering the effects of the bug. @romkatv  I saw that you use the …</dev/null method, maybe it's worth reconsidering.

@romkatv I saw that you use the …</dev/null method, maybe it's worth reconsidering.

Thanks for the heads up. Can you describe the bug without referring to zinit? Can you provide a self-contained code snippet that demonstrates it?

It'll be worse with the snippet (lack of time; I'll try later today), however, the bug (or maybe zle -F behavior) appears to be: triggering the zle -F handler via redirection to /dev/null and not via an output printed to the file descriptor seems to trigger the `-F`` handler more slowly or not triggering it at all.

Cannot reproduce from this description:
function schedule() {
  emulate -L zsh
  local -i fd
  exec {fd}</dev/null
  zle -F $fd resume
}

function resume() {
  emulate -L zsh
  zle -F $1
  exec {1}>&-
  (( ++count ))
  local -F seconds='EPOCHREALTIME - start_time'
  if (( seconds < 3 )); then
    schedule
  else
    zle -I
    local -i count_per_second='count / seconds'
    typeset -p count seconds count_per_second
    unset count start_time
  fi
}

() {
  emulate -L zsh
  zmodload zsh/datetime
  schedule
  typeset -gi count=0
  typeset -gF start_time=EPOCHREALTIME
}

Output:
typeset -g -i count=57624
typeset -F seconds=3.0000338554
typeset -i count_per_second=19207

While the code is running for 3 seconds, keyboard input is not blocked.
Since you have code that doesn't behave the way you expect, and you know that code better than anyone else, you are in the best position to reduce it. Your guess that zle -F has a bug might be true, or it might be false. The only way to find out is to understand why the code behaves the way it does.


will node-sdl add bindings for the timer functions?

SPECTRE mitigations have really neutered high performance timers in v8/node.  It could be really great to have access to the high precision timer related calls from sdl, like SDL_GetTicks64, SDL_GetPerformanceCounter, etc.

@mreinstein AFAIK the spectre mitigations in v8 don't apply to nodejs timers, which are based on libuv. Have you noticed a degradation when using process.hrtime.bigint()?

Ahh I hadn't considered process.hrtime good point!
I was considering only v8's performance.now() which was originally a high resolution timer  but has had jitter and lower resolution intentionally added.
I guess maybe there's a question of API ergonomics related to working with a bigint vs having things expressed in ticks (SDL's functions are relative to the start of SDL and are smaller values) but that's minor; at least I know of a way to get high precision time for my simulation dt.
thanks for your time! ❤


state the project is unmaintained and link to fork

This project is no longer maintained, but there is an actively maintained fork.  That would be useful information to put in the README

Which fork is actively maintained?

Does the forked project intend to start merging pull requests from Toby's project? My PR has been waiting almost exactly a year.

I don't know if the fork has reviewed the pulls here.  The fork is called "scorched" and can be found at https://github.com/lugensa/scorched
You could try raising an issue, or a fresh pull request there.


1.1.0 minor version bump

Minor version bump to release changes in this PR - https://github.com/dollarshaveclub/ember-router-scroll/pull/183

@yowainwright could we please get this merged and released ASAP? It's been about a month since the PR was opened fixing the issues. If @snewcomer or myself could get permissions to release things, we could handle this for you, so you do not have to do it.

@snewcomer Waiting for it too. :)


imports config is not consistent between page and server

Environment

Operating System: Darwin
Node Version:     v18.16.0
Nuxt Version:     3.11.0
CLI Version:      3.10.1
Nitro Version:    2.9.4
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools, nitro, imports
Runtime Modules:  -
Build Modules:    -

Reproduction
https://github.com/eunjae-lee/auto-import-test
https://github.com/nuxt/nuxt/assets/499898/dae82440-acc8-4120-8e29-56f5754cb88a
Describe the bug
I put a folder into imports.dirs config, but on the server endpoints, the type is not being inferred. If I move it over to nitro.imports.dirs, the type is being inferred on the server, but the page breaks.
Additional context
No response
Logs
No response

The reason is that Nitro + the Vue part of your app are separate contexts. They therefore deliberately have different auto-imports. If you have a file which exports 'safe' utilities that can both be used in server routes and in the Vue part of your app, you can add the directory to both imports.dir and nitro.imports.dirs.
It's not a bug but I realise it's a bit confusing. Maybe we can improve the docs here?

@danielroe thanks for the clarification. It makes sense that there are separate configurations. And yeah, it would be nice to have it clearer on the docs :)
FYI, I referred to these two pages:

https://nuxt.com/docs/guide/concepts/auto-imports
https://nuxt.com/docs/guide/directory-structure/composables


Implement markers

@Jpadilla1  I try to integrate this smart native chart lib but failed, I ever post issue here and feeling excited that you bring it to react native.
I asked developer who say the BallonMaker be implemented in ChartMarker.swift, it's not the part of ios-charts lib, hope this important component will come soon here.
thanks for your time:)
regards.

I did a interesting progress on it.
@L-Jovi Is your problem on stackoverflow related to BalloonMarker directly?
I think support BallonMarker at this stage would be a good way to started, I tried to work with RadarMarkerView as well, but it a different design from BalloonMarker, they started it on a [new marker protocol.] (https://github.com/danielgindi/Charts/commit/2f0097553e0ad4b7fe1c810d373fd9115b2294d4) probably for the next version, which i didn't had a chance to try with this react-native-ios-charts.
So i basically took the BalloonMarker from this commit and added the textColor property and instantiated it on CharViewBaseExtension.swift, and add some javascript props.
const config = {
      drawMarkers: true,
      marker: {
        markerColor: 'red',
        markerTextColor: 'black',
        markerFontName: 'SomeFont'
        markerFontSize: 14,
      },
}

@Jpadilla1 Any thoughts and feedbacks before i can pull request?

Hi @cesardeazevedo that looks awesome!!! Would love a pull request :)

Cool, i'll send soon.

@cesardeazevedo  cool!


FR: Configurable, selectable profile next to Request button

Is your feature request related to a problem? Please describe.
It's possible to have multiple profiles in Sonarr and Radarr that are not decided on based on any automate-able criteria. For example, you might keep most content in 1080p, but would like to request a particular movie in 4K, however there is no pattern that could enable a filter to do this for you.
In cases like this, the user is forced to leave Petio and set up the content manually in the relevant *arr
Describe the solution you'd like
A decent solution in my mind would be:

Formalise the configurable "Server, Path, Profile, Tag, Type" settings used in Filters into its own "Profile" concept (as an added benefit, these could also be re-usable across multiple filters)
Have a default profile for TV and Movies
Have an optional user permission that allows the user to manually pick the profile for a request
For users that have this permission, show a drop down next to the Request button that lists all profile for that type of media

This allows for the existing "1 click request" simplicity for users that want it, but allows more hand curation for users that need that.
Describe alternatives you've considered
This could just be a dropdown of "Quality Profiles" directly from the respective *arr, but some setups also depend on tags. This Petio "Profile" idea can bundle all these fields together to keep the requesting flow as simple as possible.
Additional context
I did a very basic mock up of what I had in my head:

Thanks so much for your work! Brilliant tool.

+1

We want to keep the frontend as simple as possible, so this is why we have profiles and filters that are set by the admins. This is not something that we will be implementing in the frontend.
We can however provide more backend control over how qualities are selected.


Refactor: let Nvim be the session wrapper and move script_host.py here

Refactor the API implemention to not use SessionFilter. I don't see any point of sticking in filters "between" Session and Nvim,  Nvim could simply be the wrapper around session, and we don't need the Session object to be arbitrarily configurable. Legacy vim.eval behavior is better expressed as a subclass, so that vim.api.eval always can give the new, consistent behavior.
Also some experiments of using descriptors to make API wrapping less verbose. Though we need a solution for documentation, I wonder if one could just set __doc__ on a descriptor object (not the descriptor class) and have it work.
Sorry for lumping neovim/neovim#3349 into the same PR, but as this change needs a version synchronization, both changes should be in the same release anyway.

removed the descrptor tests for now to keep it somewhat focused.

:+1:

With this change nvim.session is unexported. Upgrade as follows:
nvim.session.next_message -> nvim.next_message
nvim.session.run -> nvim.run_loop
nvim.session.stop -> nvim.stop_loop
nvim.session.request -> nvim.request (or nvim.api.method )


Revise report formats

We should revisit what reporting formats we have available.
Our current TextReporter and TextReporterQuiet don't have much configuration, since they existed prior to the introduction of the TestEZ CLI. We should be able to introduce a new configuration interface utilizing the CLI and a new top-level API (#66) for configuring reporting.
I think we should have at least these report formats:

Text, with configurable verbosity
JSON, for use with custom CI systems
TeamCity. We might be able to drop this format as we switch to GitHub Actions.
A standard format, like TAP?

We should have a summarised text reporter like https://github.com/sunfit/jest-summary-reporter


Add ability to retrieve more than just username

Version:
$ chef --version
Chef Development Kit Version: 3.2.30
chef-client version: 14.4.56
delivery version: master (6862f27aba89109a9630f0b6c6798efec56b4efe)
berks version: 7.0.6
kitchen version: 1.23.2
inspec version: 2.2.70

Environment:
We run these on chef sysadmin workstations (Mac and Windows) and from an AWS ECS Fargate container for nightly tasks.
Scenario:
As a system administrator and also with a group of system administrators, it would be very helpful to be able to query the chef server for all users on the system along with certain details about their accounts, such as email address. This plugin allows us to query for this today, but the process is cumbersome and involves making multiple trips back to the chef server API.
Steps to Reproduce:

Run knife opc user list to get the entire list of chef users
In a loop, get the user data for each user:

for user in `knife opc user list`; do
  knife opc user show $user -Fj
done

The rest of this would be some parsing of the return values to get the username and email addresses.
Expected Result:
I'd like to make just one API call that returns to me all of the data that I need -- complete user info for every user. Something like knife opc user show -a -Fj.
Actual Result:
Today, I have to make multiple trips back to the API in order to get the data that I need. For our company, this takes a very long time. To get around this, I've concocted a direct sql query to bypass the API, but this is not future proof if the db schema changes. This also puts other undue requirements accessing the data, because our database has certain rules around inbound access (RDS postgres and AWS security group rules). It's not easily done from a sysadmin's workstation without modifying the security group rules.

Do we want a single API endpoint on the infra server that returns all users, or would it be enough for knife opc user show -a -Fj to make a call for the list of users, then individual calls for all the users, and present that as combined output?

@btm What I imagined was one endpoint that returned all the detailed data about a user, not just their username.


Fix PR previews to support capitalized branches

This addresses the broken PR preview site in #692. Explanation from Slack:

Looks like it's breaking because of the capitalized "README" in the branch name. The site is getting uploaded to S3 with the caps. But Cloudfront strips away the caps upon request. Hence, breakage. Cloudfront can't find the correct folder in S3. The messy part is that Cloudfront isn't wrong. Non-IDN domain names are case-insensitive. This means we'll need to rewrite some parts of this set-up to remove the caps from the S3 folder and the PR subdomain.

I'm putting this PR against main at this time; I don't want to lose track of this fix despite code freeze on our current release. We can move this to target another branch when we're ready to release it, if needed.

Noted


Add pyspark files in the offline park

I wrote pyspark version files based on your code.
Because of the difference between scala and python writing, I can't reproduce your code completely,such as Embedding park's generateUserEmb function.Hope you can give some suggestions.
I tested it in my own environment and my spark version is 2.4.0.

Cool, it's really an excellent work. only one comment here. since it's a pure python code for pyspark. it's hard to maintain and compile if we mix the python code with other java/scala code. So my suggestion is create a new sub project like TFRecModel and maintain the pyspark code. the name of the sub project can be RecPySpark, or any other good name you can think up.


How to use it in Java  ?

@M0D1xD Hello, as far as I know, kotlin have great interop with java. This library isn't an exception.


Any chance to have an IPM?

It'd be great to install as an addon to IRIS

Hi @evshvarov
It's a really great idea, I will try to add it on ipm soon


Apply SnakeCaseContractResolver on deserializing pages

This model used in the tests
public class TeamMembersHeadline
{
    public Team_Members[] team_members { get; set; }
    public string homepage_headline { get; set; }
}

should read
public class TeamMembersHeadline
{
    public TeamMembers[] team_members { get; set; }
    public string HomepageHeadline { get; set; }
}

with the default csharp naming convention.
Fix to be performed in RetrievePageAsync<T>. If you're afraid of breaking changes, a different method or overload could be created or, at the very least a RetrievePageJsonAsync. Even if you do implement RetrievePageJsonAsync, I strongly recommend adding one of the other options as a built-in way to deserialize without having to use weird naming or attributes.

Thanks @criteo-contractor-1 - we will review

@criteo-contractor-1 please let us know your thoughts on: https://github.com/ButterCMS/buttercms-csharp/pull/22

@criteo-contractor-1 following up on this


Can u upload the codes and datasets,please?

You can find the code here. https://github.com/syxu828/Graph2Seq-0.1.

我还是暂时用IBM那个repo来回复比较好一点。你觉得呢？
https://github.com/IBM/Graph2Seq
Yours sincerely,
Lingfei (Teddy) Wu
Research Staff Member, AI Foundations Labs - Reasoning
IBM Research AI
IBM T. J. Watson Research Center, Yorktown Heights, NY 10598
Phone: +1<PHONE_NUMBER>
Email<EMAIL_ADDRESS><EMAIL_ADDRESS>On Mon, Nov 19, 2018 at 11:52 AM syxu828<EMAIL_ADDRESS>wrote:

You can find the code here. https://github.com/syxu828/Graph2Seq-0.1.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/IBM/SQL-to-Text/issues/2#issuecomment-439963045, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AMWHNd6LnE3aLpptuue1dnbj0HK6E-Kgks5uwuHcgaJpZM4YfJhI
.

Dear Chali,
I have updated the repo. You shall find the main codes now.
Yours sincerely,
Lingfei (Teddy) Wu
Research Staff Member, AI Foundations Labs - Reasoning
IBM Research AI
IBM T. J. Watson Research Center, Yorktown Heights, NY 10598
Phone: +1<PHONE_NUMBER>
Email<EMAIL_ADDRESS><EMAIL_ADDRESS>On Thu, Nov 15, 2018 at 1:11 AM chali<EMAIL_ADDRESS>wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/IBM/SQL-to-Text/issues/2, or mute the thread
https://github.com/notifications/unsubscribe-auth/AMWHNQG-EpNojA5H1MzaAaWsi8tDTrhYks5uvQWFgaJpZM4YfJhI
.

Thanks,you are a superman ~


HTTP LS-to-LS - Support Multiple Outputs / High Availability / Loadbalancing

This new logstash to logstash implementation needs to ability to be able to support multiple outputs. This is not only to provide High Availability, but also to be able to increase throughput and so on.
== Lumberjack Support
The current LS-to-LS with Lumberjack HA mechanism is to support multiple outputs in a Primary/Secondary modes, where Logstash will send data to one of the outputs, and if the communication fails, it will send data to the other available outputs. As such, it does not provide Loadbalancing.
== HTTP Input/Output
These plugins don't support HA nor load balancing, and the frequent use case is that users will use a load balancing in between.
== Proposed Solution
The proposed solution is to support multiple outputs in a Round Robin Loadbalacing method, and such, we would support HA and scalability.
== Other Considerations
We could consider adding multiple modes of operation, that supports the following:

Loadbalancing - as described above.
Primary/Secondaries - as Lumberjack output works today.

Alternate solution would be to use the HttpClient mixin directly in the Logstash output, which would require absorbing the request-encoding logic into this plugin.
The mixin does not constrain managed connections to a single downstream host, so we could build the URL just-in-time to send payloads through a single shared client.
The biggest "gotcha" applies in any case: a downstream input that is either down or experiencing back-pressure can significantly impact an upstream that has other available downstreams. We tackle this in the Elasticsearch output by selecting the least-concurrently-used downstream for each request, and by evicting downstreams when we encounter connection errors.
The following pseudo-code could provide a reasonable template for a smart-enough round-robin:
# Quack interface for use in the Router
DownstreamInfo = Struct.new(:host, :port)

class Router
  include MonitorMixin

  ##
  # Creates a new Router with the provided downstream_infos
  # that ignores errors older than the cooloff period
  # @param downstream_infos [Enumerable<DownstreamInfo>]: a list of downstream hosts
  #                                                       to include in routing
  # @param cooloff [Integer]: The cooloff period in seconds in which downstreams with
  #                           recent errors are deprioritized (default: 60)
  def initialize(downstream_infos, cooloff: 60)
    @hostinfos = downstream_infos.map do |downstream_info|
      DownstreamState.new(downstream_info)
    end
  end

  ##
  # Yields the block with a host/port pair, prioritizing
  # hosts that are less concurrently-used and which have
  # not errored recently.
  # @yieldparam host [String]
  # @yieldparam port [Integer]
  def route(&block)
    selected = synchronize { pick_one.tap(&:increment) }

    yield(selected.host, selected.port)
  rescue
    synchronize { selected.mark_error }
    raise
  ensure
    synchronize { selected.decrement }
  end

  private

  def pick_one
    threshold = Time.now.to_i - cooloff
    @hostinfos.sort_by do |hostinfo|
      [
        [hostinfo.last_error, threshold].max,
        hostinfo.concurrent
      ]
    end.first
  end

  class DownstreamState
    def initialize(hostinfo)
      @host = hostinfo.host
      @port = hostinfo.port

      @concurrent = 0
      @last_error = 0
    end
    attr_reader :host
    attr_reader :port
    attr_reader :concurrent
    attr_reader :last_error

    def increment
      @concurrent += 1
    end

    def decrement
      @concurrent -= 1
    end

    def mark_error
      @last_error = Time.now.to_i
    end
  end
  private_constant :DownstreamState
end

Interface-wise, I would favor allowing the output to accept either (host+port) XOR (a list of host:port entries to hosts):
output {
  logstash {
    host => "single.host"
    port => 1234
  }
}

output {
  logstash {
    hosts => [
      "single.host:1234",
      "another.host:1234"
    ]
  }
}

Filed https://github.com/logstash-plugins/logstash-integration-logstash/issues/12 to track as a separate issue.


bug: Misalignment of "Sign in with Google" Button and Login Button

Issue Template
Description
The "Sign in with Google" button and the login button do not seem to be visually aligned properly on the horizontal axis, leading to an inconsistent user interface.
Steps to Reproduce

Press the login button in the home page navbar.
Then, Coming to the login page, Observe the "Sign in with Google" button and the login button.

Expected Behavior

Both the "Sign in with Google" button and the login button should be horizontally aligned for a cleaner and more cohesive appearance.

Actual Behavior

The button and button appear visually misaligned, disrupting the flow of the login interface

Screenshots

Additional Context
The Google sign in feels more towards up than the login button.

@yashmandi, Assign this to me.

thanks for raising an issue, but currently it is not required ;)


TV Channels

Error registering Categories / Genre and Channels and Streams in Live TV Channels submenu. Link creation does not work. Could anyone help with this problem?

Hello @TrevorPi
To resolve the issue set the MySQL mode to 'NO_ENGINE_SUBSTITUTION'
After setting the mysql mode reload the url and you will be able to create channels and categories
Regards


Method "isLeaf" should return true on no childs

Actually the method does not return expected result. It should return true if no sub-categories found.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/PT-7776.
Please use this issue to track the state of your pull request.

This is also addressed in #10

thanks @t2oh4e ! I didn't see that :+1:
I think we could close this one, ok @giginos ?

Ok.


Replace all (S "") with EmptyS

I've added a constructor (EmptyS) to Sentence to replace S "" wherever it appears.
Please update your examples.

gamephys does not have instances of S ""
GlassBR, SWHS, and DocumentLanguage have all occurrences of it.

This does not come up in my example

Fixed SWHS as of 3c6454a

Fixed SWHS as of dfe534a

Not present in PCM.

Updated GlassBR as of cf697ea.

I'm assuming this is now fixed and we can close this issue.

Indeed. It appears all the examples are fixed and I cannot find it anywhere else.


How to use TestConsole for testing CLI prompts workflows?

Hello,
I am working on a CLI tool and would like to test the workflow of it.
After some trial and error, and by looking at the source code of this project I was able to find the TestConsole class.
It allowed me to write code like that:
open Spectre.Console.Testing
open Spectre.Console

[<Test>]
let ``Prompt.commitType works`` () =
    let console = new TestConsole()
    console.Profile.Capabilities.Interactive <- true

    AnsiConsole.Console <- console

    console.Input.PushKey(ConsoleKey.DownArrow)
    console.Input.PushKey(ConsoleKey.Enter)

    let selectedCommitType = Prompt.commitType CommitParserConfig.Default

    Expect.equal
        selectedCommitType
        CommitParserConfig.Default.Types[1]

[<Test>]
let test () =
    let console = new TestConsole()
    console.Profile.Capabilities.Interactive <- true

    AnsiConsole.Console <- console

    console.Input.PushKey(ConsoleKey.DownArrow)
    console.Input.PushKey(ConsoleKey.Enter)
    console.Input.PushTextWithEnter("an amazing feature")

    let selectedCommitType = Prompt.commitType CommitParserConfig.Default
    let shortMessage = Prompt.shortMessage ()

    printfn "%A" selectedCommitType
    printfn "%A" shortMessage

I am not sure if using AnsiConsole.Console <- console is the correct way of doing it? I am asking because I didn't see something similar in spectre.console repository.
I am also wondering if I should not revert AnsiConsole.Console to its original value after the test?

You should test using the TestConsole, and not use AnsiConsole.Console at all.

Also, your control should accept an instance of IAnsiConsole, not working with AnsiConsole directly.

Oh I see, I didn't think about it this way.
So you mean that I should convert:

let shortMessage () =
    AnsiConsole.Clear()

    TextPrompt<string>("Short message:") |> AnsiConsole.Prompt

to
let shortMessage (console :IAnsiConsole) =
    console.Clear()

    TextPrompt<string>("Short message:") |> console.Prompt

and then pass either AnsiConsole.Console or new TestConsole()
Thank you


Legal Access All = Yes displayed when there's no such tag

Here's a cycleway without any access tags:

When looking at the tags for the same cycleway in iD, it says "Legal Access - All - Yes" instead of "not set" (sorry for Russian, didn't find a way to change the language):

This is the reason why mappers won't set legal access tags on cycleways, leading to them never being considered for walking routes (this is how I discovered the bug).
cc @bhousel @Zverik

This is what the cycleway access tag box looks like in English.
Is the issue that those strings aren't being faithfully translated, maybe by someone who wants to push the "legal access" issue #2762?
We don't currently use the phrase Legal Access in English.

@bhousel why does it say "General - yes"? It looks like it implies that everyone is allowed on the path (especially in the Russian translation which looks "For all") so no need to set specific access e.g. foot.w

It could probably be better.  That field supplies the value for the generic access=* tag, and might be read as "default access".  Except that really the defaults depend on the kind of highway and regional convention.  The greyed out values are be the implied access values, as best that iD can figure them out.
More about access=* from osm wiki:

Use the access=* key to describe a general access restriction that applies to all transport modes.

That might be where the "general" word came from?

Note, that, for example, adding access=yes to highway=footway changes default restrictions (which usually are foot=yes and vehicle=no for highway=footway) to yes, highway=footway + access=yes means "road, which is open for all pedestrians and vehicles".

iD doesn't actually do this in the UI.  If you add an explicit access=yes to a footway, we don't switch the implied motor_vehicle=no over to an implied motor_vehicle=yes.  I think we had an issue for this last year, and my gut tells me what iD does is more expected and what the wiki says is wrong.

what the wiki says is wrong

Where wiki may be wrong?

Where wiki may be wrong?

Does adding access=permissive to a sidewalk really mean you can drive on it with a car?
Common sense says no, but the part of wiki I quoted above says yes.  I'm inclined to just remove the general access tag completely if we all agree that the meaning of this tag really is to clobber over every other kind of implied access tag.

Note that access=yes/permissive is either pointless or resulting in really strange results - but access=private/no makes perfect sense in many cases.

Oh I think I understand.  We should really show "Unknown" not "yes" for the "General" box.  Is that it?

It would encourage people to set "access=yes" everywhere, with all problematic consequences. I think that "not set" would be slightly better - but it still too encouraging to set something.
Maybe rename "general" to "everything" with "not set" for ways without set "access" tag? But it still not great.

Maybe I could display this field only if it already has a value.  Then we are not encouraging users to put a value into it - they'd need to use the raw tag editor for that.
I agree with renaming "General" to "Everything", so that people understand what the field really implies.

Using "access" for completely closed ways is perfectly OK (and better than [foot=no, vehicle=no, horse=no, (...)]).
Maybe rename "General" to "Everything", hide if not set and add button that would add no/private. I wonder though about naming it - "mark as generally inaccessible"?
The main goals IMHO are

discourage slapping "access=yes" on everything
do not discourage using "access=no" or roads closed completely, with some exceptions ("access=no, emergency=yes" tagging is perfectly fine)
show access=no/yes properly
avoid problem described by reporter
show other values of access properly (some are clear mistakes like access=designated, some are valid access=customers - http://taginfo.openstreetmap.org/keys/access#values )

do not discourage using "access=no" or roads closed completely, with some exceptions ("access=no, emergency=yes" tagging is perfectly fine)

I usually see these tagged as access=emergency and nothing else.
But ok, I think I have some ideas on how to improve these.

Here's what I have changed, they are little improvements but I think they help:

The `access

The changes look great to me. That would certainly solve the original issue.

Thanks @mourner, just merged it in.


move test reinit to mocha's after hooks

Closes https://github.com/getodk/central-backend/issues/499

by doing it this way aren't you now repaving the database after every test? only some tests use reinit.

It'd be pretty cool if we could get testServiceFullTrx() and testContainerFullTrx() to automatically clean up after the test has finished (succeeded, failed, or timed out). I think it'd be easy to forget to call reinitAfter(). What do you think about an approach that uses a flag? Something like:
let reinitAfter = false;
afterEach(function() {
  if (reinitAfter) {
    this.timeout(5000);
    reinitAfter = false;
    return initialize();
  }
});

// ...

const testServiceFullTrx = (test) => {
  reinitAfter = true;
  return () => test(augment(request(service(baseContainer))), baseContainer);
};

@matthew-white maybe the most ergonomic would be to create a wrapper function which, given a test function, will wrap it with:
describe('...', () => {
  before(appropriateSetup);
  after(appropriateTearDown);
  it('...', () => ...test code...);
});

Alternative implementation at https://github.com/getodk/central-backend/pull/557

@matthew-white PR with your suggestion of automatic cleanup at https://github.com/getodk/central-backend/pull/558.

Closing now that #558 is merged!


WARNING: unable to set language: HTTP Error 429: Too Many Requests

~$ youtube-dl -i -f mp4 -o "%(title)s.%(ext)s" https://www.youtube.com/watch?v=yZ70Rf0gcHs
[youtube] Setting language
WARNING: unable to set language: HTTP Error 429: Too Many Requests
[youtube] yZ70Rf0gcHs: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 429: Too Many Requests; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
Can Help Me?

If you can't watch the video on a browser from the same computer, youtube-dl can't download it. See this FAQ entry


Mark stickies

Stickied threads should be easier identifiable. This probably can't be solved with CSS changes only currently as it doesn't seem like stickied threads are identified as such currently.
An addon should somehow identify and mark stickied threads so userstyles can properly style them, and also add some additional default styling to make them stand out more out of the box.

Also check if comments or posts can be stickied, if so try to point them out too.

Stickies can be easily identified. Just do a GET request for all qualifying posts with the ld-json accept header, there will be a property to check if it's stickied or not.

They have a aria-label="Pinned" apparently, so only the styling is necessary.

Stickies can be targetted with CSS and a mod to group them together has already been created, so I'm closing this one.


Package and publish to the test PyPI

Lets publish to https://test.pypi.org/. See, PyPA's PyPUG: Using TestPyPI
Resources:

What Are Python Wheels and Why Should You Care? Deepdive-ish. The parts about platform wheels, where compiling binary C/C++ extension is not relevant for this project at this time.
PyPA's PyPUG: Packaging Your Project

PyPA = Python Packaging Authority
PyPUG = Python Packaging User Guide

Blocked by #7


Cannot reproduce your result

Hi, thanks for your great work.
I have trained your code for several times, but the best result of CAM is 55.05, which is lower than your reported result (56.0). I haven't changed any code in this repo. Can you provide some insights?

Sorry for the late response. Since we successively reproduced our results on several different machines,
I personally recommend you to change the seed (torch,numpy and etc).


[CameraX-Camera2Api] App crashes on preview

After opening the camera, a black preview is visible and the application is closed.
I get a lot of crashes from Firebase-Crashlytics
Android v: 7, 9, 10
Devices: Redmi Note 5 Pro, Galaxy S8, Nexus 4 (Emulator)
Library:
/* CameraX */
val cameraxVersion = "1.0.0-beta04"
implementation("androidx.camera:camera-core:$cameraxVersion")
implementation("androidx.camera:camera-camera2:$cameraxVersion")
implementation("androidx.camera:camera-lifecycle:$cameraxVersion")
// CameraX View class
implementation("androidx.camera:camera-view:1.0.0-alpha13")

Error log:
Fatal Exception: java.lang.NoSuchMethodError: No virtual method setUseCaseActive(Landroidx/camera/core/UseCase;)V in class Landroidx/camera/core/impl/UseCaseAttachState; or its super classes (declaration of 'androidx.camera.core.impl.UseCaseAttachState' appears in /data/app/com.myapp.some.domain-1/base.apk)
       at androidx.camera.camera2.internal.Camera2CameraImpl.lambda$onUseCaseActive$4$Camera2CameraImpl(Camera2CameraImpl.java:557)
       at androidx.camera.camera2.internal.-$$Lambda$Camera2CameraImpl$yjqZb_jyZ_DzssP2QQvZFrqJco4.run(lambda)
       at androidx.camera.core.impl.utils.executor.SequentialExecutor$QueueWorker.workOnQueue(SequentialExecutor.java:230)
       at androidx.camera.core.impl.utils.executor.SequentialExecutor$QueueWorker.run(SequentialExecutor.java:172)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:761)

This looks like it might be because you missed adding support for java 8 features in the project? Make sure you're adding this in your gradle file.
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

Btw, the CameraX versions you're using don't match. The beta04 version of core/camera2/lifecycle should be used with the alpha11 version of camera-view. Even better, you can update to the latest versions (beta07 of camera2/lifecycle and alpha14 of view).

Btw, the CameraX versions you're using don't match. The beta04 version of core/camera2/lifecycle should be used with the alpha11 version of camera-view. Even better, you can update to the latest versions (beta07 of camera2/lifecycle and alpha14 of view).
I suspect the problem was version mismatch. I have already updated the dependencies to the latest version while waiting for the results.

From your comments I'm gathering that the issue is now resolved, please reopen if that's not the case.


Godmode

Hey,
I using latest version unturned server. But i haved problem with God mode.  Players and NPCs can kill me. How can I solve this?
Thank

Rocket's old built-in godmode works by healing the player after damage is dealt, so greater than 100 damage still kills the user. If proving problematic there might be a custom godmode plugin somewhere, or otherwise I would recommend updating to OpenMod.

Try it: https://github.com/foreverfunface/UnturnedFullGodMode/releases/tag/v3.0
Its last '/god' modification for RocketMod
Reduce damage, disable bleeding, disable broken legs
All just if god or vanish is active


Test/CI subscription quotas are monitored

As a product manager,
I want to be notified when our test subscription is at or near Azure quota limits
so I can take action before it affects CI

Acceptance Criteria

Key Azure quota limits are continuously monitored and when above thresholds, are reported to the ACS Engine product team
There is a dashboard to see current quotas

I would like to use a preexisting solution already in place at Microsoft/ACS.
TBD:

what metrics to monitor? MaxStorageAccountsCountPerSubscriptionExceeded, etc.?

What's the full list of quotas we should monitor? MaxStorageAccountsCountPerSubscriptionExceeded for starters. cc @dmitsh @colemickens @amanohar

Dmitry kicked off an email to ARM folks. Will update story once we know more.

Implemented via ActivityLog Monitors

@dmitsh can you elaborate on the monitoring solution as you understand it? Specifically looking to understand:

What metrics will be monitored
What is the user interface/dashboard to see them
What kind of notifications can we configure (Slack, email, etc.)

Feel free to discuss offline if better.


Merging with Master on 07/24/2022

Duplicate, to delete

To update this Branched Master with Master as of 07/25/22


Setup Swagger documentation

This PR fixes #24 by setting up swagger documentation for the endpoints and includes the documentation for google login.

@tosintubi pls clean up this PR as explained in the comments before I can do a review.


Activating Open Collective

This pull request adds backers and sponsors from your Open Collective https://opencollective.com/fabio ❤
It adds two badges at the top to show the latest number of backers and sponsors. It also adds placeholders so that the avatar/logo of new backers/sponsors can automatically be shown without having to update your README.md. [more info]. See how it looks on this repo.
You can also add a "Donate" button to your website and automatically show your backers and sponsors there with our widgets. Have a look here: https://opencollective.com/widgets
P.S: As with any pull request, feel free to comment or suggest changes. The only thing "required" are the placeholders on the README because we believe it's important to acknowledge the people in your community that are contributing (financially or with code!).
Thank you for your great contribution to the open source community. You are awesome! 🙌
And welcome to the open collective community! 😊
Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other open source sustainers!

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

Thanks a  lot for putting in the work. I'll merge that.


adding pt-br translation

start title with "luci-app-ddns:" so everybody knows where the pull belongs to
you must sign your work https://github.com/openwrt/luci/blob/master/CONTRIBUTING.md
Please increase PKG_RELEASE in Makefile to reflect changes

I'll create a new pull request with the requirements satisfied. Sorry for bothering and not noticing the policy before.


json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

I am trying to pre-train the model but it is giving me the error. The error message indicates that there was an issue with decoding JSON data, most probably with the input string. I will share the error message below:
Loading model
Traceback (most recent call last):
File "/home/kamran-rehman/anaconda3/envs/lily/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/kamran-rehman/anaconda3/envs/lily/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/kamran-rehman/anaconda3/envs/lily/data/YouTube-VLN/pretrain.py", line 176, in
main()
File "/home/kamran-rehman/anaconda3/envs/lily/data/YouTube-VLN/pretrain.py", line 54, in main
config = BERT_CONFIG_FACTORY[args.model_name].from_json_file(args.config_file)
File "/home/kamran-rehman/anaconda3/envs/lily/data/YouTube-VLN/vilbert/vilbert.py", line 182, in from_json_file
params = json.load(fid)
File "/home/kamran-rehman/anaconda3/envs/lily/lib/python3.6/json/init.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/home/kamran-rehman/anaconda3/envs/lily/lib/python3.6/json/init.py", line 354, in loads
return _default_decoder.decode(s)
File "/home/kamran-rehman/anaconda3/envs/lily/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/home/kamran-rehman/anaconda3/envs/lily/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

It seems that this issue has been solved by #5. Glad to see that. :)


Indicate if an entry is syncing with GitHub Apps

Is your feature request related to a problem? Please describe.
It's sometimes hard to tell if the Dockstore App has been enabled for a repo. If it's a personal org or you're an admin, it's easy enough, but if you're a member of an organization, you have to ask the admin to look. And even for a personal repo, it would probably be easier to see it right on Dockstore, rather than having to go into GitHub, log-in with your MFA device, etc.
Describe the solution you'd like
The UI should indicate whether the Dockstore app is enabled on per entry basis. Probably only in the My Workflows/My Tools page, i.e., don't make that info public.
Describe alternatives you've considered
Leave it, document it better.
Additional context
See https://ucsc-cgl.atlassian.net/browse/SEAB-5204, which sparked this thought.
Implementation thoughts

Get the info from the GitHub API, although at a skim, I don't know if that's possible. It would be preferred.
We get notified when the app is installed, removed, etc. We could start tracking that in our DB, and then we could calculate whether a repo should have the App installed or not.

See above mentioned SEAB-5204, where we're apparently not tracking everything.
They'll be a problem with apps installed/removed in the past. We can go through the logs to generate something, but it will be incomplete, e.g., when logging a repo being removed, we don't log it.

┆Issue is synchronized with this Jira Story
┆Issue Number: DOCK-2312
┆Sprint: Backlog
┆Issue Type: Story

Amused, there's an app here that files an issue when de-installed https://github.com/MicrosoftDocs/CSIDev-Public/issues/462


Added link to event page

As asked in https://github.com/fiatjaf/nostr-gateway/issues/16

It does put the event outside of the middle of this box line for some reasons i don't understand why...

Ok this is way better, thank you for the hint.


Error example chat.php

Hello, I am trying to make the API work and I am not successful. After several failed attempts, I tried to run the chat example directly, replacing the cookie with the corresponding one, and it gives me the same error. Which is the following:
“Warning: Undefined array key “conversationSignature” in /home/martinge/vendor/maximerenou/bing-ai/src/Chat/Conversation.php on line 43
Type “q” to quit >
Fatal error: Uncaught Error: Undefined constant “STDIN” in /home/martinge/holapy.com.ar/test.php:24 Stack trace: #0 {main} thrown in /home/martinge/holapy.com.ar/test.php on line 24”
Does anyone know how to solve it or have a working example, so I can work from there? Since I am not able to make it work.
Thank you.

Duplicate of #15


Material showSearch doesn't allow paste until a character has been entered

Steps to Reproduce

Reproducible in the flutter example app.  Found under Material -> Search

call showSearch without passing a string or passing an empty string
long press on the search TextField (nothing happens)

It does work if you have a character in the TextField.
Logs

flutter doctor -v
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.6 18G84, locale en-US)
• Flutter version 1.7.8+hotfix.4 at /Users/aaronelson/Library/flutter
• Framework revision 20e59316b8 (4 weeks ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/aaronelson/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.2.1, Build version 10E1001
• CocoaPods version 1.7.5
[✓] iOS tools - develop for iOS devices
• ios-deploy 1.9.4
[✓] Android Studio (version 3.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 33.3.1
• Dart plugin version 182.5215
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
[✓] VS Code (version 1.36.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.3.0
[✓] Connected device (1 available)
• iPhone Xs • E543A3F2-0514-4A7F-9C4D-EC62AB9DDD8E • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)
• No issues found!

this works correctly in v1.9.1+hotfix.2


delayed_job breaks unsaved/deleted AR object YAML serialization using psych

rails 3.2.13
delayed_job 4.0.0
Seems delayed_job breaks all YAML serialization for all unsaved ActiveRecord objects. Even those objects that have not been designated as part of a delayed job. I am serializing objects as part of an event log I have developed. I have logic that will serialize a blank (new) object or deleted object for reference that is broken by delayed_job.
Portion of delayed_job extension causing issues:
        case object.tag
        when /^!ruby\/ActiveRecord:(.+)$/
          klass = resolve_class($1)
          payload = Hash[*object.children.map { |c| accept c }]
          id = payload["attributes"][klass.primary_key]
          begin
            klass.unscoped.find(id)
          rescue ActiveRecord::RecordNotFound
            raise Delayed::DeserializationError
          end

Same crap dealing with masking ActiveRecord::RecordNotFound exception. Main difference between my issue and others I have seen reported on this same problem for last 2 years is I am not trying to delay a job on an unsaved object. My unsaved object issue is completely outside the scope of delayed_job yet delayed_job's extensions still break the required functionality. Aside from broken functionality, these extensions also cause major performance issues. An application that serializes hundreds or thousands (if not hundreds of thousands) of objects will be crippled if they install delayed_job and start being forced to query the database for every object as a normal part of serialization logic.

I'm currently upgrading a very old rails 3 app and I ran into this issue with serialize no longer working on rails models after upgrading to DJ 4.1.  This was occuring for me for saved records outside of any DJ workflow.
I used the patch from @lifeBCE https://github.com/collectiveidea/delayed_job/issues/587#issuecomment-32522318 and all worked well again. I'm unsure why @albus522 said this shouldn't be an issue any more, but, it did bite me.


Remove math from hermit-sys

Related:

https://github.com/hermitcore/rusty-hermit/pull/406
https://github.com/rust-lang/rust/pull/107970

bors r=stlankes


Implement setIpkg LSP command; Add config option to run the LSP server configured with a specified ipkg file

OMG, it looks like the files have been tabulated with actual \t rather than spaces


Reduce memory use

This pull request is split across three commits with each reducing wasteful memory allocations.

The first replaces the use of *bytes.Buffer with either *bytes.Reader or *strings.Reader as both structs are substantially smaller in size,
The second reduces the bufio.Reader buffer size to 16-bytes, from 4096, in newGatewayTimeoutResponse, and
The third reduces the bufio.Reader buffer size to at most the size of the response in CachedResponse.

It's likely that further memory use reductions are possible, these are just the three that stood out to me.

Friendly ping @gregjones.

The first commit (using *{bytes,strings}.Reader instead of *bytes.Buffer) looks good to me. It simplifies code and performs better.
Second and third commits have an inconsistency. Inside CachedResponse, n := b.Len() is used as the size parameter of bufio.NewReaderSize call when it's small. But inside newGatewayTimeoutResponse, it's know the entire response is exactly 32 bytes in size, yet bufio.NewReaderSize is called with a size of 0 (instead of 32). Can you help me understand why that is? I'm not very familiar with semantics of bufio.Reader and its size parameter yet, so it's a harder for me to review this thoroughly.

@shurcooL I tried to document my rationale in the commit messages.
The second one:

Reduce bufio.Reader buffering in newGatewayTimeoutResponse
bufio.NewReader uses a default buffer size of 4KiB
which is allocated up front. The entire response is
only 32-bytes in size, and thus the allocation is
entirely wasteful. By calling bufio.NewReaderSize
with a requested size of 0, we instead get the
minimum buffering size of 16-bytes. This is far less
wasteful and reduces memory allocations.

The third one:

Cap bufio.Reader buffer size in CachedResponse
bufio.NewReader uses a default buffer size of 4KiB which is allocated
up front. As the size of the response is known ahead of time, limiting
the size of the buffer will reduce wasteful memory allocations.
It would be more efficient to eliminate buffering entirely, as the data
is already in memory, but there is no clear way to achieve this and
it's not clear that a lower buffer size would succeed in all cases.

Basically the zero size in newGatewayTimeoutResponse is used to mean the bufio minReadBufferSize because I could prove that http.ReadResponse works correctly with the minimum buffering for this response. (From memory I did a reflect.DeepEqual between before and after).
My reasoning for not using the minimum buffering again CachedResponse was simply an abundance of caution. I tried to follow all the code in http.ReadResponse and prove that nothing would fail with shorter buffering, but I couldn't quite be sure. There's no Golang documentation that I can see that states what an always safe minimum buffer size is.


[spaceship] increase timeout for web session connect api to 1200

Motivation and Context
Prevent some timeouts?
Description
Another way to hopefully prevent some timeouts along with the retry

@joshdholtz
When uploading screenshot with deliver, there was timeout issue occurred. Due to this extra empty screenshot is uploaded to store. Can you say how to increase the timeout value? below is the log.
INFO [2020-07-21 07:54:42.12]: Uploading 8 screenshots for language en-US
INFO [2020-07-21 07:54:42.20]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-CardDetails.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:54:48.71]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-MerchantsAlert.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:54:53.89]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-MerchantsControl.png'...
Timeout received! Retrying after 3 seconds (remaining: 4)...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:57:02.53]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-SpendLimitControl.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:57:07.20]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-CardDetails.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:57:12.88]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-MerchantsAlert.png'...
Timeout received! Retrying after 3 seconds (remaining: 4)...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:59:19.30]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-MerchantsControl.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:59:24.24]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-SpendLimitControl.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 07:59:29.04]: Successfully uploaded screenshots to App Store Connect
Below is the empty file shows in the appstore.

@joshdholtz
There was timeout error occurred at the time of uptate placeholder of screenshot by the function Spaceship::ConnectAPI.post_app_screenshot in app_screenshot.rb. After that it retry again and another placeholder created and file is uploaded. Due to this empty placeholder is showing in the appstore. Can you please check this?

@Thangaraj-M Can you try setting ENV["SPACESHIP_TIMEOUT"] = 1500 and let me know if you see any different behavior? It looks like the file uploader code is still using 300 as the default where the rest of the Connect API is using 1200. If that works for you and I can change that default.
Thanks!

@joshdholtz  I will try with increase the timeout.

@joshdholtz I tried again with increase the spaceship timeout value with 1500. But still Timeout error occurred. below is the log.
It looks the timeout occurred in the placeholder update API. The timeout occurred within 2 minutes.
INFO [2020-07-21 20:00:38.90]: Uploading 8 screenshots for language en-US
INFO [2020-07-21 20:00:38.91]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-CardDetails.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:00:44.30]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-MerchantsAlert.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:00:48.79]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-MerchantsControl.png'...
Timeout received! Retrying after 3 seconds (remaining: 4)...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:03:02.41]: Uploading 'fastlane/output/screenshots/en-US/iPhone 7 Plus-SpendLimitControl.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:03:05.75]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-CardDetails.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:03:10.60]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-MerchantsAlert.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:03:14.40]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-MerchantsControl.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:03:18.75]: Uploading 'fastlane/output/screenshots/en-US/iPhone XS Max-SpendLimitControl.png'...
Uploading file (part 1)...
Uploading complete!
INFO [2020-07-21 20:03:23.18]: Successfully uploaded screenshots to App Store Connect

@joshdholtz The timeout issue occurred at the time of distributing build also. So the whats new value is not updated. below is the log. Here within 2 minutes 5 times retry happened.
INFO [2020-07-21 06:53:51.14]: Successfully finished processing the build 3.10.1 - 13 for IOS
INFO [2020-07-21 06:55:48.16]: Successfully set the changelog for build
INFO [2020-07-21 06:55:49.22]: Distributing new build to testers: 3.10.1 - 13
Timeout received! Retrying after 3 seconds (remaining: 4)...
Timeout received! Retrying after 3 seconds (remaining: 3)...
Timeout received! Retrying after 3 seconds (remaining: 2)...
Timeout received! Retrying after 3 seconds (remaining: 1)...
Timeout received! Retrying after 3 seconds (remaining: 0)...
call_with_defaults Exception is... Server error got 500
Logger: Upload to testflight lane completed 2020-07-21 06:57:54.928

@joshdholtz It looks the timeout value is not taken from SPACESHIP_TIMEOUT variable. Could you please say what is wrong?

@Thangaraj-M Can you give this PR a try? https://github.com/fastlane/fastlane/pull/16912

@joshdholtz  I will try this and update the result.

@joshdholtz I updated from the branch and checked again. There was timeout occurred at the time distributing build. Not sure it running from the latest updated branch or the old one. Is there any way to check the build running from new branch or existing one? In the summary it showing 2.152.0 only.
deliver 2.152.0 Summary

@Thangaraj-M The contents of your Gemfile.lock should show the fastlane as being remote and should have the URL in there. Also, can we move this conversation into the PR? 😇

yes. I will reply in that PR


Fix in a check for requests compatibility import desired names

i.e. HTTPConnection, VerifiedHTTPSConnection
Closes #215

interesting, travis fails only with python3.4 and requests2.3

@yarikoptic ping

I merged #223 instead of this... If that was the wrong approach then please reopen, thanks!

whatever works! ;) thanks!


Add Ankaa-2

Adds the Ankaa-2 target, expected to be released later in Q4. The target is not currently usable.

Thank you for the contribution, Kyle! Looks like someone else also merged a similar change, so closing this one!


Write QoS specifications

As a Pillarbox team member I need to better understand how Pillarbox behaves in production.
Acceptance criteria

We have a common understanding of how we can use Snitch.
The data format we will use for QoS is documented.
Dedicated implementation stories are ready.

Tasks

[x] Discuss the matter within the team.
[ ] Document format.
[ ] Create implementation stories (create milestone if needed).

Excellent WWDC session about KPIs we can extract and how.

First draft:

See here the format for a SESSION event payload:
{
  "session_id": "1",
  "event_name": "SESSION",
  "data": {
    "device_id": "MAC / ISBN",
    "device_model": "Samsung Galaxy S24 / iPhone15,7",
    "device_type": "TV / Car / Phone / Tablet",
    "screen_width": 1280,
    "screen_height": 720,
    "os_name": "android / iOS / macOS / windows / linux ",
    "os_version": "11.23",
    "browser": "safari / chrome / firefox",
    "browser_version": "11.0",
    "player_name": "pillarbox / video.js / letterbox",
    "player_platform": "android / apple / web",
    "player_version": "2.0.1",
    "origin": "ch.srgssr.srf-meteo / www.rts.ch/info/article/1234",
    "media_id": "urn:rts:video:1234",
    "media_source": "https://il.srgssr.ch/composition/?urn=urn:rts:video:1234",
    "time_metrics": {
      "media_source": 1200,
      "asset": 1500,
      "drm": 100,
      "total": 2856
    },
    "timestamp":<PHONE_NUMBER>932
  }
}

And an example of how it can be stored in the database:

device_id
device_model
...
payload

iOS
iPhone15.7
...
{"session_id": "1", "event_name": "SESSION", "data": {"device_id": "MAC / ISBN" ... }}

See here the format for an ERROR event payload:
{
    "event_name": "ERROR",
    "session_id": "1a2b3c-xyz",
    "timestamp":<PHONE_NUMBER>932,
    "data": {
        "severity": "WARNING / FATAL",
        "name": "ERR_001",
        "message": "Not found",
        "playerPosition": 11000,
        "log": "Raw error information as returned by the player, for example stack trace"
    }
}

Some remarks:

playerPosition in milliseconds.
If the playerPosition cannot be extracted (e.g. error before playback even started) then omit.

here

Some remarks:

bitrate is the quality of the variant currently being played, in bits per second.

Sessions

On Apple platforms a player session ID is associated with an item. If we implement repeat mode then we need two items and thus we will have two session IDs as a result. If we have a single item and pause at item end we stay in the same session if we seek back, though.
On Android and the web repeat mode replays the same item and thus the session stays the same.

In the end, and from a QoS perspective, having the same media counted as two sessions or seen as a single one should not be relevant. Therefore we should keep each platform implementation as simple as possible and identify sessions in the simplest way on each.

@amtins contacted the RTS team but got no answer. Maybe we should ask the GD data governance team directly.

The mail has been sent. Moving this task to Follow while waiting for an answer.


French Grammar fix in pulls.merged_title_desc

Fixed grammar in pulls.merged_title_desc à => a

Thanks for the PR, but according to policy, I have to close this.
Quick ref: https://github.com/gogits/gogs/wiki/Contributing-Code

My bad, thanks for quick ref.
Fix is requested in Crowdin.
Keep Gogs great !

Approved, thanks!

I can wait ;).
I've added some other fixes on the fly in Crowdin.
Closed !


Minor spacing issue on reference page.

ACTUAL BEHAVIOUR
All the pages such as the download, get started, references pages should be uniform/same for the common elements (such as the sidebar). But on the reference page the sidebar is positioned slightly below as compared to other pages.
EXPECTED BEHAVIOUR
The sidebar should be placed similar to others on the reference page.
STEPS TO REPRODUCE IT
Simple step to fix it would be changing the margin property associated with the reference-page id in the main.css file
Screenshots of the issue
EXPECTED

ACTUAL

Would you like to work on the issue?
Yes i would like to make the necessary changes.

@riteshsp2000 You can go ahead and make the changes and a PR for this. Thanks.


Function libraries

Maybe like a checkbox for "share this across graphs." If you for example tick a checkbox for the function frombinary(list), then you can use the function frombinary in any graph, and it'll copy it into a folder at the top of the graph.
Ah but if it depends on another function, then both functions would have to get copied. Determining dependencies is kinda hard until I hook into the AST. So maybe it would be best to put the checkbox on entire folders.
Also issue: name conflicts. Maybe show a warning before adding the library if there's any name conflicts.
prereq: AST

Out of scope.


Split semicolon-separated sentences

MainThread - DEBUG - .. whoami exception for: "Slate Run is a tributary to the Scioto River; it flows through the Northwest corner of Upper Arlington, Ohio." ([u'Slate Run', u'Slate Run (Ohio)'])
MainThread - DEBUG - .. whoami exception for: "The X Factor is an Australian television reality music competition, based on the original UK series, to find new singing talent; the winner of which receives a Sony Music Australia recording contract and a new car." ([u'The X Factor (Australia season 4)', u'The X Factor'])
MainThread - DEBUG - .. whoami exception for: "Airedale NHS Foundation Trust is an NHS Foundation Trust based in West and North Yorkshire, England; it also serves part of East Lancashire." ([u'Airedale NHS Foundation Trust', u'Airedale NHS Foundation Trust'])

For starters, let just treat semicolon as a sentence separator. Ignore cases where a semicolon may separate complex noun phrases.


Run Bandit static analyzer on CI jobs

OSBS-7453

Signed-off-by: Athos Ribeiro<EMAIL_ADDRESS>

No RN notes added; tests related change only


Fixed range calculation for creating tables with StartRow and StartColumn

Fix for #86

I don't think this fix is complete, running:
Import-Module -Name C:\dev\ImportExcel\ImportExcel.psm1 -Verbose -Force
$raw = @"
A,B,C,Date
2,1,1,2016-03-29
5,10,1,2016-03-29
"@

$data = ConvertFrom-Csv -InputObject $raw
Remove-Item C:\temp\temp.xlsx
$data | Export-Excel -Path c:\temp\temp.xlsx -TableName One -StartRow 5 -StartColumn 8
$data | Export-Excel -Path c:\temp\temp.xlsx -TableName Two -Show

Results in a corrupt xlsx.

Closed, I decided to use http://github.com/redoz/ExtraLarge instead


context name must have more than 3 characters

why limit this feature，rename a context into less characters are more easily...

Indeed, I will recheck this feature (which was developed two years ago) and if there are no other problems, this restriction will be lifted.


app-emulation/cockpit-machines need app-emulation/qemu[+usbredir]

Currently creating a VM from cockpit fails:
error: Failed to define domain from /tmp/tmpfedkb562 error: unsupported configuration: USB redirection is not supported by this version of QEMU
Compiling qemu with usbredir USE flag fix the issue.

Fix in commit #94588e31d799aaa0586a653cb519a5d074a8e989
I always use usbredir, that's why I didn't see this error
Thanks!!


docs: updated LoaderAndLayerInterface.md

According to the spec sheet, Vulkan layers cannot modify commands/features
https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#extended-functionality

The spec language feels vague. By modify, does it mean "modify the semantics of commands", i.e. "command Foo does A with arguments X, Y, Z" without the layer, and "command Foo does B with arguments X, Y, Z" with the layer, or does it (also) mean "modify the arguments of commands", i.e. "the ICD sees command Foo with arguments X, Y, Z" without the layer, and "the ICD sees command Foo with arguments W, Y, Z" with the layer.

Perhaps modifying the specification makes more sense in this case.  This is an extreme limitation.

Yes, this limitation is too extreme for layers.  For example, it should be allowed to implement a layer that presents a different (lower) set of PhysicalDevice limits than what is supported by the actual driver in order to "emulate" a device of lower capability.
We should reject his change to the LoaderAndLayerInterface spec doc and seek a loosening/clarification of "modify" in the Vulkan spec.

As there is no further action here for this particular repository, closing this PR for now.  If anybody disagrees or comes up with some work here, please reopen.


[Identity] Make pipeline policy configurable via kwargs

In track 2 SDKs, logging_policy and http_logging_policy are configurable via kwargs passed to SubscriptionClientConfiguration.__init__:
https://github.com/Azure/azure-sdk-for-python/blob/27e4203818e227ba2604ff52dcf55ce2293c4c37/sdk/resources/azure-mgmt-resource/azure/mgmt/resource/subscriptions/v2019_11_01/_configuration.py#L57-L58
Azure Identity hard-codes HttpLoggingPolicy while creating policies, making it impossible to replace HttpLoggingPolicy with SansIOHTTPPolicy without overriding the whole policies. (I have to override the whole policies in order to replace HttpLoggingPolicy with SansIOHTTPPolicy.)
https://github.com/Azure/azure-sdk-for-python/blob/fdf11b302b20821e94eae61a2eabd8eb1d776162/sdk/identity/azure-identity/azure/identity/_internal/msal_client.py#L124-L132
Azure Identity should follow the same pattern and make individual policies configurable, especially for http_logging_policy which is required for Azure CLI to disable logs from HttpLoggingPolicy, as it is a redacted/duplicated version of NetworkTraceLoggingPolicy.
More detail

Email: Need an option to disable http_logging_policy (ARMHttpLoggingPolicy)
PR: https://github.com/Azure/azure-cli/pull/15791

Closing this because I believe you no longer require it, please reopen if I'm mistaken.