Invert quadrature loops

Invert the quadrature loop in the assembly methods of linear and bilinear forms.
To deactivate the loop inversion we just set the flag here to False https://github.com/pyccel/psydac/blob/1b4787f1eab756b976cf6e8627e75a0c29767f12/psydac/api/ast/fem.py#L473
The loop inversion is not automatic we do it only in the case where we have a Spline or Nurbs mapping or where the analytical mapping is not Affine.

Add lhs property to ComputeLogicalBasis and delete prefix property from:

BasisAtom
IteratorBase
LogicalBasisValue
Loop

Delete initialisation code from _visit_EvalField and _visit_EvalMapping and move it to the constructor of the classes
EvalField and EvalMapping

when looping over the quadrature points first, the vector assembly algorithm in 1d looks like this
def assemble_vector(test_basis, spans, global_x1, p, ne, nq, g_vec):

    p     :'degree of the basis functions'
    ne    : 'number of elements'
    nq    : 'number of quadrature points'
    g_vec : 'global vector'
    lvec  : 'element vector'

    local_x1 = zeros_like(global_x1[0,:])
    l_vec    = zeros((p+1,), dtype='float64')

   # element loop
    for ie in range(ne):
        local_x1[:] = global_x1[ie,:]
        span        = spans[ie]
        l_vec_v[:]  = 0.0

        # quadrature loop
        for iq in range(0, nq, 1):
            x1 = local_x1[iq]

            # basis function loop
            for ib in range(0, 1 + p, 1):
                v = test_basis[ie,ib,0,iq]
                l_vec[ib] += -4*pi**2*v*sin(2*pi*x1)

        g_vec_v[span - p:1 + p + span] += l_vec[:]

Thanks for this PR, @saidctb!
I see that you have made many changes to the Psydac AST, which has the useful side effect of simplifying the parser considerably.
In order to properly review this PR we need a bit more information. First you should provide some pseudo-code which shows how the loops are arranged in the two cases. Next you should add a list of changes to the PR description. I look forward to this!

done

Thanks for this PR, @saidctb!
I see that you have made many changes to the Psydac AST, which has the useful side effect of simplifying the parser considerably.
In order to properly review this PR we need a bit more information. First you should provide some pseudo-code which shows how the loops are arranged in the two cases. Next you should add a list of changes to the PR description. I look forward to this!

done

Thanks!
I think that we can use stack arrays for the variables local_x1 and l_vec. This should be beneficial when the local problem size is small (e.g. for strong-scaling).

Thanks for this PR, @saidctb!
I see that you have made many changes to the Psydac AST, which has the useful side effect of simplifying the parser considerably.
In order to properly review this PR we need a bit more information. First you should provide some pseudo-code which shows how the loops are arranged in the two cases. Next you should add a list of changes to the PR description. I look forward to this!

done

Thanks!
I think that we can use stack arrays for the variables local_x1 and l_vec. This should be beneficial when the local problem size is small (e.g. for strong-scaling).

I tried that before but I didn't get any performance from using them

By reading the PR description it sounds like the loop inversion is always applied. But this is not what I understand from the code changes. Can you please explain when the loop in version is actually used (and why) in the PR description?

By reading the PR description it sounds like the loop inversion is always applied. But this is not what I understand from the code changes. Can you please explain when the loop inversion is actually used (and why) in the PR description?

Yes, the loop inversion is not automatic, we do it only in the case where we have a Spline or Nurbs mapping or when the analytical mapping is not Affine, these are the cases where the loop inversion gives better performance.
It would be interesting to do a complexity analysis using Sympy and depending on the different cases we determine if we should invert the loops or not.


Can introduce new or delete existing metrics

Resolves https://github.com/jumaffre/cimetrics/issues/31.

/azp run

Value doesn’t display?

Value doesn’t display?

Doesn't look like we display the value when reference = branch? (e.g. CPU Usage)

That’s probably not a good idea when introducing new metrics. I think it possibly made sense when « there’s no change », but that’s probably rare and even so, I think it’s outweighed by the new metrics case.

I can look at this separately.

I'll merge this as is then!


Pechakucha

[ ] Week 1
Move in
TD first meeting
First day of classes
spotted a deer
Fire alarm went off
[ ] Week 2
Mental health EDC class
study lounge
Manhunt
x
x
[ ] Week 3
pool day

you can click the 3 dots to edit this list so you can make the rest a checklist too.
this is a great start and close to having your full 20 slides mapped out.


fix: response_transform in issue-cards.mdx

Description

Testing required outside of automated testing?

[ ] Not Applicable

Screenshots (if appropriate):

[ ] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.57.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Cannot update versioned API with scopes

Description:
When 2 versions of the same API exists with the same set of scopes, the second API cannot be updated. Following console error will be logged.
[2018-03-13 19:06:43,003] ERROR - APIProviderHostObject Scope list is already assigned by another API

Suggested Labels:
Bug
Affected Product Version:
APIM 1.9.0
OS, DB, other environment details and versions:
Steps to reproduce:

Add API with scopes.
Create a copy of the API and save it as a new version.
Edit the second API and try to update.
An error will be displayed.

Already fixed in latest 2.2.x branch


Add clarification about commands arguments

This tweaks a comment to make clear that when the number of arguments is big, using an array results in better performances.
Correct me if I'm wrong.

Actually they should have similar performance since ioredis passes arguments to the flatten method of Lodash without checking whether they are arrays: https://github.com/luin/ioredis/blob/master/lib/command.js#L48

Yes, but using an array of arguments will "remove" this loop.

Sounds interesting. I wrote a tests for it: https://gist.github.com/luin/d06770c736866e0571d0. The result shows the former form is little faster. It looks like _.flatten would be faster if the arguments are all plain strings/numbers: https://github.com/lodash/lodash/blob/3.10.0/lodash.src.js#L2122

That's indeed interesting, I would have never expected that.
Feel free to close this.

Here is my own test case which confirms my original assumption.
The difference is quite noticeable:
macbook:bench luigi$ node index.js
without copy loop x 50,886 ops/sec ±0.64% (96 runs sampled)
with copy loop x 33,855 ops/sec ±0.38% (95 runs sampled)
Fastest is without copy loop

I ran your test case and got the similar result as yours. I though there may be too few arguments in my previous test case, so I updated it but the results between the two forms are still slight. Don't know why.

I don't know either, but it doesn't matter, I doubt that someone will ever use an amount of arguments that will make a difference.

It could be that array wasnt optimized (diff types of values, not all strings for instance) or some other similar case

On 03 Aug 2015, at 09:56, Luigi Pinca<EMAIL_ADDRESS>wrote:
I don't know either, but it doesn't matter, I doubt that someone will ever use an amount of arguments that will make a difference.
—
Reply to this email directly or view it on GitHub.


Delete statics page and their translation keys

We should remove these pages: donors help team about and all related translation keys. We will do a separated static website for these pages.

Done in #1447


Read-Search-Ask links broken all over the place

Challenge Name

any algorithm challenge, eg. Roman Numeral Converter
Issue Description

Remember to use Read-Search-Ask if you get stuck. Try to pair program. Write your own code.

Read-Search-Ask points to a Wiki page, and it looks like your Wiki does not exist anymore. Thus, users are sent to your GitHub page without any help.

@Kwpolska Thanks for the issue, VarCI got excited because it picked up on some keywords in your post that could indicate a code help request.
We need to change this link (which links to a wiki that isn't there anymore) to the forum with this link
Many thanks and Happy Coding! :+1:

I'll work on this.

@BerkeleyTrue this is weird the master branch has the links updated:
https://github.com/FreeCodeCamp/FreeCodeCamp/blob/master/seed/challenges/01-front-end-development-certification/basic-bonfires.json#L275
But the challenge in production doesn't reflect the same:
https://www.freecodecamp.com/challenges/title-case-a-sentence
Could you have a look?

I bugs that are fixed in staging are still reoccurring in production. Is it possible to have a partial release for the seed?

Speaking about broken links, I'd also like to add that the link  mentioned in the "Recovering Unresponsive Code" section in the forum, now just redirects to the FCC repo.
Not sure if this is already a known issue.

@Manish-Giri thanks for confirming

Quick note - I have temporarily turned the GitHub wiki back on until we can update these.
Depending on how long it will be before we push staging to production, it may not be worth the effort of tracking these down and updating them, since they are already fixed on staging, as @Bouncey and @raisedadead pointed out.

What should our next step be in this?
Can this be closed as it is fixed in staging and currently also working in production?

nope we are keeping this blocked for releasing staging. keeping the issue open until then.

This should be resolved. I've completely switched off the GitHub wiki.

This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a temporary error. The following address(es) deferred:
<EMAIL_ADDRESS>Domain funtasticlabs.com has exceeded the max emails per hour (120/100 (120%)) allowed.  Message will be reattempted later
------- This is a copy of the message, including all the headers. ------
Received: from mailin-01.elitehosts.com ([<IP_ADDRESS>]:60354 helo=offsite.elitehosts.com)
by neo.internetwebserver.net with esmtp (Exim 4.87)
(envelope-from<EMAIL_ADDRESS>id 1dnx7E-0004ef-KA
for<EMAIL_ADDRESS>Fri, 01 Sep 2017 21:20:52 -0400
Received: from github-smtp2-ext1.iad.github.net ([<IP_ADDRESS>]:46189 helo=github-smtp2a-ext-cp1-prd.iad.github.net)
by offsite.elitehosts.com with esmtp (Exim 4.69)
(envelope-from<EMAIL_ADDRESS>id 1dnx6x-00024L-3E
for<EMAIL_ADDRESS>Fri, 01 Sep 2017 21:20:35 -0400
Date: Fri, 01 Sep 2017 18:20:29 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com;
s=pf2014; t=1504315229;
bh=ujOOAEAYbeDGGHZnJsb+GUlzK9Iwh2BMXmjJ/ngHPfY=;
h=From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID:
List-Archive:List-Post:List-Unsubscribe:From;
b=KpUED3TeNb0XnRvrxGPbuq2jnRlO2gfWiE0MRtF/F2sGi+/qukN1w07cZRoe/DUui
AT+XwZ0R78n+gj7swBgL5+v0LBQfHg5zAwZ8e5wmyW1vi9Bn2WZb7VuQAVWSYxo8z0
FYlIQvJhlThBCexazST8Cqs7pHQ7MXqrjIF/0PMw=
From: Quincy Larson<EMAIL_ADDRESS>Reply-To: freeCodeCamp/freeCodeCamp<EMAIL_ADDRESS>To: freeCodeCamp/freeCodeCamp<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>In-Reply-To<EMAIL_ADDRESS>References<EMAIL_ADDRESS>Subject: Re: [freeCodeCamp/freeCodeCamp] Read-Search-Ask links broken all over
the place (#11465)
Mime-Version: 1.0
Content-Type: multipart/alternative;
boundary="--==_mimepart_59aa075db06ce_793e3fda6c3d7c381554d7";
charset=UTF-8
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: QuincyLarson
X-GitHub-Recipient: manzilo
X-GitHub-Reason: subscribed
List-ID: freeCodeCamp/freeCodeCamp <freeCodeCamp.freeCodeCamp.github.com>
List-Archive: https://github.com/freeCodeCamp/freeCodeCamp
List-Post<EMAIL_ADDRESS>List-Unsubscribe<EMAIL_ADDRESS>https://github.com/notifications/unsubscribe/AL1KCrEqctrpJ9LxB_8il2SWAneHCFeQks5seK1dgaJpZM4KkdvR
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address<EMAIL_ADDRESS>X-MAILIN-01-MailScanner-Information: Please contact the ISP for more information
X-MAILIN-01-MailScanner-ID: 1dnx6x-00024L-3E
X-MAILIN-01-MailScanner: Found to be clean
X-MAILIN-01-MailScanner-SpamCheck: not spam, SpamAssassin (not cached,
score=-1.695, required 10, AWL 0.16, BAYES_00 -1.90,
HTML_IMAGE_ONLY_20 1.55, HTML_MESSAGE 0.00, KHOP_THREADED -1.50,
SPF_PASS -0.00, URIBL_BLOCKED 0.00)
X-MailScanner-From<EMAIL_ADDRESS>X-Spam-Status: No
----==_mimepart_59aa075db06ce_793e3fda6c3d7c381554d7
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
This should be resolved. I've completely switched off the GitHub wiki.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/freeCodeCamp/freeCodeCamp/issues/11465#issuecomment-326712838
----==_mimepart_59aa075db06ce_793e3fda6c3d7c381554d7
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
This should be resolved. I've completely switched off the GitHub wiki.
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or mute the thread.

{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/freeCodeCamp/freeCodeCamp","title":"freeCodeCamp/freeCodeCamp","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/freeCodeCamp/freeCodeCamp"}},"updates":{"snippets":[{"icon":"PERSON","message":"@QuincyLarson in #11465: This should be resolved. I've completely switched off the GitHub wiki."}],"action":{"name":"View Issue","url":"https://github.com/freeCodeCamp/freeCodeCamp/issues/11465#issuecomment-326712838"}}}
----==_mimepart_59aa075db06ce_793e3fda6c3d7c381554d7--


clean up use of mm_model_by_ply

The same pattern applies, with minor modifications, to all descendants of metab_model and other uses of mm_model_by_ply. Here's the formatting I'll use:
#the metab_model function has args:
#' @inheritParams metab_model_prototype
#' @inheritParams mm_is_valid_day
#' @inheritParams model_specific_fun
metab_model <- function(
  data, data_daily, info, day_start=xx, day_end=xx, # inheritParams metab_model_prototype
  tests=c('full_day', 'even_timesteps', 'complete_data'), # inheritParams mm_is_valid_day
  model-specific args # inheritParams model_specific_fun
) {
  ...
  metab_model("metab_xxx", ...
    args=list(day_start=day_start, day_end=day_end, tests=tests, model-specific args) ...)
  ...
}

#it calls mm_model_by_ply with:
mm_model_by_ply(
  model_fun, data=data, data_daily=data_daily, # for mm_model_by_ply
  day_start=day_start, day_end=day_end, # for mm_model_by_ply and mm_is_valid_day
  tests=tests, # for mm_is_valid_day
  model-specific args # for model_specific_fun
)

#the model_fun function has args:
#' @inheritParams mm_model_by_ply_prototype
#' @inheritParams mm_is_valid_day
#' @inheritParams model_specific_fun
model_fun <- function(
  data_ply, data_daily_ply, day_start=xx, day_end=xx, local_date, # inheritParams mm_model_by_ply_prototype
  tests=c('full_day', 'even_timesteps', 'complete_data'), # inheritParams mm_is_valid_day
  model-specific args # inheritParams model_specific_fun
) {
  ...
  model_specific_fun(model-specific args)
  ...
}

This all gets simplified when mm_is_valid_day is not called and the first function is not a model constructor.
#the multi-day function has args:
#' @inheritParams model_specific_fun
metab_model <- function(
  data, data_daily, info, day_start=xx, day_end=xx, # inheritParams metab_model_prototype
  tests=c('full_day', 'even_timesteps', 'complete_data'), # inheritParams mm_is_valid_day
  model-specific args # inheritParams model_specific_fun
) {
  ...
  metab_model("metab_xxx", ...
    args=list(day_start=day_start, day_end=day_end, tests=tests, model-specific args) ...)
  ...
}

#it calls mm_model_by_ply with:
mm_model_by_ply(
  model_fun, data=data, data_daily=data_daily, # for mm_model_by_ply
  day_start=day_start, day_end=day_end, # for mm_model_by_ply
  model-specific args # for model_specific_fun
)

#the model_fun function has args:
#' @inheritParams mm_model_by_ply_prototype
#' @inheritParams model_specific_fun
model_fun <- function(
  data_ply, data_daily_ply, day_start=xx, day_end=xx, local_date, # inheritParams mm_model_by_ply_prototype
  model-specific args # inheritParams model_specific_fun
) {
  ...
  model_specific_fun(model-specific args)
  ...
}

functions to which this applies:

[x] metab_mle, mle_1ply, mm_is_valid_day+negloglik_1ply
[x] metab_bayes, bayes_1ply, mm_is_valid_day+runjags_bayes
[x] metab_night, nightreg_1ply, mm_is_valid_day+NA
[x] predict_DO.metab_model, mm_predict_1ply, NA
[ ] metab_night_predict_1ply
[ ] mm_filter_valid_days, filter_fun, mm_is_valid_day+NA


Line chart is out of the chart area

I have an XYPlot with xDomain={[0, 5]}. The data and part of the code is here:
const data = [
  {x: 0, y: 1},
  {x: 1, y: 2},
  {x: 3, y: 9},
  {x: 6, y: 3},
]
<XYPlot height={300} width= {400} xDomain={[0, 5]} yDomain={[0, 10]}>

I want the line stops at x=5. Anything beyond 5 should be hidden. But as shown in the screenshot, the line sticks out a little beyond x=5. Any help would be appreciated.

Hey @topvis,
This behavior is caused by having margins (in the case of your code snippet, the default ones)! To address simply drop in a Border component!  Unfortunately, i think the borders accidentally got trimmed from the docs page, ill push up a fix.

Just updated the docs, http://uber.github.io/react-vis/#/documentation/api-reference/borders all should be in working order now. marking as resolved, feel free to re-open or continue discussion under the close as necessary

@mcnuttandrew thanks for the solution. With Border component, I can its color to be the same as the background so the border can cover the small portion of the line that sticks out of the range. It works but does need some extra codes.
I wonder why not make it default that only the lines within the xDomain and yDomain are visible?

I wonder why not make it default that only the lines within the xDomain and yDomain are visible?

The answer basically comes down to wanting to guarantee all rendered svg appears correctly. Eg, if a mark is right on the edge of the domain the whole circle should be visible (if it is within the bounds)

@mcnuttandrew it makes sense for rendering things like Makers. But it doesn't look perfect if Line goes beyond the domain range. This is probably very subjective opinion.


⚠ ClamAV has degraded performance

In 47a7f01, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 56 ms

Resolved: ClamAV performance has improved in c895ca0.


[WIP] NixOS Modules: Aurora Scheduler and Thermos Executor

Any updates? :)

Waiting for https://github.com/NixOS/nixpkgs/commit/415407bd9328f9685d5abe5f0ff841af42dec017 to be available in nixos-unstable as I can't build the Aurora pakage right now due to https://github.com/NixOS/nixpkgs/issues/8431.

@rushmorem looks like the issue you're referencing has been long fixed.

Yes @joachifm, it has. Unfortunately, I couldn't continue working on this due to other commitments.

Please reopen if you continue working on this.


signature reader does not return error when it fails

Hi! I've found that the SignatureReader never fails when calling the Method function. It is returning nil when it should return the error. There are a couple of cases like this:
https://github.com/tdakkota/win32metadata/blob/8566457222bac8227c58d57026eb2e87cfb68bde/types/signature.go#L238
https://github.com/tdakkota/win32metadata/blob/8566457222bac8227c58d57026eb2e87cfb68bde/types/signature.go#L247
The method I'm reading is the Invoke method from the TypedEventHandler delegate: https://docs.microsoft.com/en-us/uwp/api/windows.foundation.typedeventhandler-2?view=winrt-22621

I've fixed it in #41. Feel free to re-open if the problem still exists.


Leaflet div map into index.html?

Leaflet need a div map to be able to render the map inside it.
is there a way to avoid to put this into index.html

and put it into index.coffee or mymap.coffee ?

nop


Dependency overrides try to read from 'ib' directory instead of 'lib' directory.

Given a pubspec like:
dependencies:
    polymer: "0.12.0-dev"
transformers:

polymer:
    entry_points: web/test.html
dependency_overrides:
  polymer:
    path: "/my/special/polymer/"

When doing pub serve I get errors like:
[RewriteImport]:
FileSystemException: Cannot open file, path = '/my/special/polymer/ib/init.dart' (OS Error: No such file or directory, errno = 2)

This issue has been moved to dart-lang/pub#1070.


allow to disable link detection

fixes https://github.com/VeliovGroup/flow-router/issues/52

[ ] decide on option name
[x] mention in readme or docs
[ ] a test?

@dr-dimitru can you take a look again?

@dr-dimitru ok, added your suggestions

@dr-dimitru i usually use prettier. prettier probably would not have done this one liner ;-) i turned it off, but lint-fix was still active and did this formatting with my local rules (which is more or less eslint-airbnb) ;-)

@macrozone we try to follow meteor's code style guidelines

Going to test on my end and publish later tonight

@dr-dimitru could you already publish or need further testing?

Need few more minutes, and will be published

Published as v3.5.1


Hudson Rock Cybercrime Intelligence Free Integration

Consider adding Hudson Rock's complimentary data to receive additional intelligence about a username, domain, or email address that was compromised in global Infostealer attacks.
Username sample: https://cavalier.hudsonrock.com/api/json/v2/osint-tools/search-by-username?username=testadmin
Email sample<EMAIL_ADDRESS>Domain sample: https://cavalier.hudsonrock.com/api/json/v2/osint-tools/search-by-domain?domain=tesla.com
Free API key and full documentation is available here: https://cavalier.hudsonrock.com/docs
Thank you.

Thank you very much for your recommendation. We are currently rebuilding Scavenger OSINT GUI to officially rename it to Odinova and to make the application overall better than Ominis-Osint 😉. We plan to give the gui outstanding powers and we are confident your recommendations will aid us in the rebuild of this amazing tool.

You are welcome. We recently integrated our free data with similar projects and hopefully, it will be useful for your community too.

Cavaliers Private API
Can I have the private version please 🙏
I would like to work on a project that automates some or all of the usage capabilities of the api. I intend to include a input api key option to ensure those with private access can find use out of the project.

Unfortunately, for public open-source projects, we provide only free preview API access/web-based tools.

I intended to use it for private osint tasks not public ik

All well


[MIDDLEWARE] middleware executed many times

Hi there, I'm using flask-graphql in a project and got into a question/issue I don't have many clues. I'm using middlewares; this is the minimum example:
from flask import Flask, request
from flask_graphql import GraphQLView
from graphene import Field, ObjectType, Schema, String, relay

class Hello(ObjectType):
    message = String()

class Query(ObjectType):
    hello = Field(Hello)

    def resolve_hello(self, info):
        return Hello(message="Hi there")

class DummyMiddleware(object):
    def resolve(self, next, root, info, **kwargs):
        print("DummyMiddleware")
        return next(root, info, **kwargs)

dummy_middleware = DummyMiddleware()
schema = Schema(query=Query)

app = Flask(__name__)
app.add_url_rule('/graphql', view_func=GraphQLView.as_view('graphql',
                                                      schema=schema,
                                                      graphiql=True,
                                                      middleware=[dummy_middleware]))

if __name__ == "__main__":
    app.run(host='<IP_ADDRESS>', threaded=True)

(The problem happens no matter the version; the problem also happens when launching the wsgi app with gunicorn).
If I query "hello()", the "DummyMiddleware" will appear twice. If I query a list of elements, the middleware is executed lots of time, twice per element it seems.
For a query this is just a problem of performance, but in a Logout() mutation what happens is:

1st time - the authenticated request is valid, so "logout()" deletes the token
2nd time - the authenticated request is not valid (because the token has been deleted), so it returns an error

Is there anything wrong in my approach to middlewares? I'm not sure which part is responsible (flask, graphql, my configuration...). Any hint would be appreciated.

I have the same issue, but no solution. I did notice however, that the middleware gets called with different inputs. If you try something like this, you'll see what I mean (careful, this creates a LOT of output):
def testMiddleware(next, root, info, *args, **kwargs):
    p = next(root, info, *args, **kwargs)
    def r(x):
        print(type(x), x)
        return x
    return p.then(lambda x: r(x))

Any suggestions are welcome!

Thanks! We'll check it.

It appears to be expected behavior. The Django debug middleware is using it to gather all the promises and summarize them: https://github.com/graphql-python/graphene-django/blob/dc561c68c49d1a91637503f765857d819c36769a/graphene_django/debug/middleware.py
However, I think it's still nice to have some kind of work-around.

Did anyone find a workaround on this? Because I want to log only the root query, not the whole fields many times.

I made a workaround for logout only, not for the query-per-field; the solution was:
class Logout(relay.ClientIDMutation):
    class Input:
        pass

    data = Boolean()

    @classmethod
    def mutate_and_get_payload(cls, root, info, **input):
        try:
            # Workaround for https://github.com/graphql-python/flask-graphql/issues/53
            token = info.context['request'].headers.get('Authorization')
            user = auth_service.get_authorized_user_via_token(token)
            if not user:
                raise GenericError('API_ERRORS.BAD_CREDENTIALS')
            auth_service.logout(token)
        except GenericError as e:
            return Promise.reject(GraphQLError(e.message))

        return Logout(data=True)

You can check if root variable is null
class LoggingMiddleware(object):
    def resolve(self, next, root, info, **kwargs):
          if root is None:
              #This will only be called once for a request
              print(info.operation.name.value)

async function demoMiddleware(resolve, root, args, context, info) {
	console.count('abcd')
	let data = resolve(root, args, context, info)
	return data
}

I am also facing the same issue right now
Weird behaviour is when I call my query from graphql-playground it is calling middleware 11 times and when I call my query from React-Apollo client it gets called 5 times.

Running into the same issue with graphene-django. Only want to execute middleware resolve funcitons once on request, not for every response field.

Hi, Do you have some news about this topic?
Thanks

Hi, Do you have some news about this topic?
Thanks

Hi @diegopaladini, for now to run that logic just one time in a middleware I'm doing the same as @maciejzukowski beacause the default graphql behaviour is to run that middelware logic for each resolver that is being called but in my case i don't need it
class LoggingMiddleware(object):
    def resolve(self, next, root, info, **kwargs):
          if root is None:
              #This will only be called once for a request
              print(info.operation.name.value)

For those that are using this solution for authentication of requests  - I think a better approach is to not have security in the middleware but instead use decorators on the resolvers themselves.

I have the same problem and the middleware will run for time for any request and in two of them root is not None

i have the same problem but i use a external service to auth and and a get a spam because launch 10 request 1 per second

You can check if root variable is null
class LoggingMiddleware(object):
    def resolve(self, next, root, info, **kwargs):
          if root is None:
              #This will only be called once for a request
              print(info.operation.name.value)

is a good solution but @graphql-python have to solution

Hi! Currently facing the same challenge. It is very cumbersome to implement authorization since I have a complex schema and GraphQL middleware executes so many times. I need to execute JWT verification, which sends requests to Azure AD endpoints to get certificates, which is overwhelming the server and it becomes unresponsive :(
I had to implement the authorization in the middleware of FastAPI, but this is not ideal either - since now when my user is not authorized and hits graphql endpoint, he only gets back 'Internal Server Error'..
Anyone though about a different workaround? Using a decorator with resolvers is not neat either since I want to authorize every single request, i.e. introspection queries.

Same problem, I am using graphne and django for my graphql server. I have my external server where I just need to pass the jwt. So I am using the middleware system. it seems that the middleware always gets called multiple times. The root None solution works. But still this function is executing multiple times which I don't need,
My middleware code
`from django.conf import settings
from graphql_jwt.middleware import JSONWebTokenMiddleware
from .helpers.user import get_user
class CustomJWTMiddleware(JSONWebTokenMiddleware):
def resolve(self, next, root, info, **kwargs):
if root is None:
print(root)
# Get the JWT token from the request headers
jwt_token = info.context.META.get('HTTP_AUTHORIZATION')
# If there is no JWT token, call the next middleware
if not jwt_token:
return next(root, info, **kwargs)
        # Send the JWT token to your Node.js server for verification

        try:

            user = get_user(jwt_token)
            info.context.user =user
        except Exception as e:
            print(e)
            raise Exception(e)
    print("middleware calling")
    return next(root, info, **kwargs) `


Allow Monday as start of week

The current listing seem to be Sun-Sat, would be nice to support Mon-Sun.

:+1:

+1

:+1: I'd also like to see this.


Remove badges from README.md

:tada: This PR is included in version 4.1.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Update an old link for Sandcastle

New link can be change like http://go.microsoft.com/fwlink/?LinkId=124061
Title
On the title describe
what you've fixed (or created) with this Pull Request (PR).
Summary
Insert a short (one or two sentence) summary here.
Fixes #Issue_Number

Note: The "Fixes #nnn" syntax in the PR description causes
GitHub to automatically close the issue when this PR is merged.
Remove that line if you don't have issues associated with this
PR. Click on the Guidelines for Contributing link above for details.

Details
Explain your changes, and why you made them. If that
information is already available in the issue referenced
above, just referencing the issue is preferred to copying
the text.
This may not be necessary depending on the scope of the PR
changes. For example, "fix typo in introduction.md" is
sufficient to describe that PR.
Suggested Reviewers
If you know who should review this, use '@' to request a review.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


No operator data on new players

When attempting to get player data from someone who's new, it returns server error 500.
Here's what gets logged:
TypeError: Cannot convert undefined or null to object
    at Function.entries (<anonymous>)
    at /home/node/app/src/http/ubi-r6-stats.ts:529:74
    at Generator.next (<anonymous>)
    at fulfilled (/home/node/app/src/http/ubi-r6-stats.ts:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
Error: No operator data.
    at /home/node/app/src/http/ubi-r6-stats.ts:168:19
    at Array.forEach (<anonymous>)
    at /home/node/app/src/http/ubi-r6-stats.ts:158:19
    at Generator.next (<anonymous>)
    at fulfilled (/home/node/app/src/http/ubi-r6-stats.ts:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Thanks. This is a known issue of Ubisoft's and I don't think they're planning to do anything about it. Basically, sometimes the lifetime or operators data will be blank for certain players, often "new" ones.
If you're interested in contributing, go ahead and make a fork of the repo and add a handler for that error in both the lifetime and operators request functions--in a manner that just displays null as the value for operators and lifetime in the final response object.


Wrong language

English words such as Got it, next, prev in the French intro page. Language choice is French instead of Francais.

fixed


Implement Table Indexable interface

Depends on: https://github.com/src-d/go-mysql-server/issues/169

Proposal
To implement Indexable interface for those indexable tables we can just have:
type indexableTable struct {
	Table
	iter RowRepoIter
        buildIter IterWithSelectorsFunc
	...
}

func (i *indexableTable) IndexKeyValueIter(colNames []string) (sql.IndexKeyValueIter, error) { ... }
func (i *indexableTable) WithProjectFiltersAndIndex(columns, filters []sql.Expression, index sql.IndexValueIter) (sql.RowIter, error) { ... }

Then, to make a table indexable is only necessary return in its own constructor as an instance of this struct, e.g:
func newBlobsTable() sql.Table {
	return &indexableTable{
		Table: new(blobsTable),
		iter:  &blobIter{readContent: true},
                ...
	}
}

To address this solution we must change a couple of interfaces and refactor some code:

RowRepoIter interface need get two more methods:

type RowRepoIter interface {
	NewIterator(*Repository) (RowRepoIter, error)
	new -> CurrentRepository() (repoID, error)
	new ->LastHash() (string, error)
	Next() (sql.Row, error)
	Close() error
}

So we can get the repository it's being iterated and the hash of the last object this iterator returned. These values are necessary to build the sql.IndexKeyValueIter slices that its method Next() returns. This slices will be [valCol1, valCol2, ..., indexValue], where indexValue will be a struct containing the repoID and hash.
type indexValue struct {
	ID   string
	Hash string
}

In this way, the only changes in the current tables should be add this two new methods to the specific implementation of each table iterator.

Add a method GetByID(id string) *Repository to the RepositoryPool, so we can get any repo from the pool. To do this, we can refactor some code from the GetPos method.

Create a type IterWithSelectorsFunc, which basically will be the anonymous functions that right now are being given to the rowIterWithSelectors functions in the WithProjectAndFilters method in each table implementation.

We have to refactor rowIterWithSelectors too, taking the first part of this function which will return the specific iterator implementation from the table as RowRepoIter.
iterWithSelectors(...) (RepoRowIter, error) { ... }

rowIterWithSelectors(...) sql.RowIter {
rowRepoIter, err := iterWithSelectors(...)
...
}

We are interested in this iterator because we can use it to iter on specific repos calling rowrepoIter.NewIterator(repo), something necessary to implement the WithProjectFiltersAndIndex method.

Make WithProjectFiltersAndIndex(columns, filters []sql.Expression, index sql.IndexValueIter) (sql.RowIter, error) accept other parameter ctx sql.Context to be able to  retrieve the pool repository.

With this changes, we can implement the two Indexable interface methods as a general case for any table.
For the IndexKeyValueIter(colNames []string) (sql.IndexKeyValueIter, error) method, we would have a specific implementation of the sql.IndexKeyValueIter:
type indexKVIter struct {
	RowRepoIter
	colIndexes []int
}

...
func (i *indexKVIter) Next() ([]interface{}, error) {
...
	repo, err := i.RowRepoIter.CurrentRepository()
	if err != nil {
		return nil, err
	}

	hash, err := i.RowRepoIter.LastHash()
	if err != nil {
		return nil, err
	}

	idxValue := &indexValue{repo.ID, hash}
...
}
...

For the WithProjectFiltersAndIndex() method, we can rely on the specific iterators implementations as WithProjectAndFilters does in a more general way through the commented changes.
func (i *indexableTable) WithProjectFiltersAndIndex(ctx sql.Context, columns, filters []sql.Expression, index sql.IndexValueIter) (sql.RowIter, error) {
	s, ok := ctx.Session.(*Session)
	if !ok || s == nil {
		return nil, ErrInvalidGitbaseSession.New(ctx.Session)
	}

...
	iter := &indexIter{
		idxValueIter: index,
		pool:         s.Pool,
		columns: columns,
		filters: filters,
		schema: i.Table.Schema(),
	}
...
	if len(filters) == 0 {
		return iter, nil
	}

	return plan.NewFilterIter(ctx, expression.JoinAnd(filters...), iter), nil
}

type indexIter struct {
	repoID string
	iter RowRepoIter
	currIter RowRepoIter

	pool         *RepositoryPool
	idxValueIter sql.IndexValueIter
	columns      []sql.Expression
	filters      []sql.Expression
	schema       sql.Schema
}

func (i *indexIter) Next() (sql.Row, error) {
	if iter == nil {
		iter, err := iterWithSelectors(...)
		...
	}

	v, err := idxValueIter.Next()
	// ...

	repo := pool.GetByID(value.ID)
	// ...

	currIter.NewIterator(repo)
	//...

	currIter.Next()
	// ...

}

func (i *indexIter) Close() error {
 // ...
}

The context thing in WithProjectFiltersAndIndex is added here, but it's not merged yet: https://github.com/src-d/go-mysql-server/pull/185
Other than that, at first glance, it looks good.

Sounds good.


Vicon markers

does your version publish the transform of the labeled markers like the ros 1 version?

Hi, the node publishes TF2 and geometry_msgs/msg/PoseStamped for each defined object.

Okay, but what of for the markers themselves?

This feature is now implemented.

Great!


mediators clean up + toml updates

 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.


Plugin Doesn't Work in Obsidian Version 1.6.7

When attempting to import an article, a prompt states the a file with no title was created. It doesn't appear to exist anywhere in the vault. When attempting to import any other article it says the article already exists (which it doesn't). Haven't been able to import anything.

I give it a look. If you press "CTRL + SHIFT + i" and look in the console. Do you see any errors that comes from the plugin?

Closing the issue, since I can't reproduce and due to staleness.


[EventRequest] Page 9249 "Analysis by Dimensions Matrix".NextRec

Please add new event
local procedure NextRec(DimOption: Option "G/L Account",Period,"Business Unit","Dimension 1","Dimension 2","Dimension 3","Dimension 4","Cash Flow Account","Cash Flow Forecast"; var DimCodeBuf: Record "Dimension Code Buffer"; Steps: Integer): Integer
//-------------------------------OnNextRecOnCaseElse:BEGIN
var
    Result: Integer;
//-------------------------------OnNextRecOnCaseElse:END
begin
    case DimOption of
        DimOption::"G/L Account",
      DimOption::"Cash Flow Account",
      DimOption::"Business Unit",
      DimOption::"Cash Flow Forecast",
      DimOption::"Dimension 1",
      DimOption::"Dimension 2",
      DimOption::"Dimension 3",
      DimOption::"Dimension 4":
            exit(DimCodeBuf.Next(Steps));
        DimOption::Period:
            exit(NextPeriod(DimCodeBuf, Steps));
      //-------------------------------OnNextRecOnCaseElse:BEGIN
      else begin
          OnNextRecOnCaseElse(DimOption, Steps, DimCodeBuf,Result)
          exit(Result);
      end;
      //-------------------------------OnNextRecOnCaseElse:END
    end;
end;

[IntegrationEvent(true, false)]
local procedure OnNextRecOnCaseElse(DimOption: Option; Steps: Integer; var TheDimCodeBuf: Record "Dimension Code Buffer"; var Result: Integer);
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Cached Passwords expire after 4 hours.

I have users running Ubuntu Laptops and they are on and off the domain.  It appears that their cached credentials expire after 4 hours off the domain.  This could be a configuration issue.  The MachinePasswordLifespan is set at the default of 30 days.  Is there another setting that needs to be adjusted or is this a bigger issue?

Have a look at increasing the config option CacheEntryExpiry. The default is 14400 which is 4 hours.

@rbest-bt, thanks, but it seems we cannot increase this beyond 24hrs or set it to indefinite(set value to -1) like in Windows?
seconds = 3600 * hours.
# /opt/pbis/bin/config CacheEntryExpiry 86400

# /opt/pbis/bin/config CacheEntryExpiry 86401
Error: Value not in accepted range

I am not sure about Windows, just taking a guess as I could not find anything conclusive, seems like Windows users can use their AD credentials even when disconnected from the Domain Controller for prolonged periods.

Offline logins will still work with the expired cache. All this means is that it will try and refresh the cache after that period once it comes back online. 24 hours is the limit as you would not want to go much longer without checking with AD for changes.
Much like windows, you would limit the time they can be offline with the account password expiry policy or the machine password lifespan(30 days).

For how long will the offline logins be possible?
How can i check or set this behaviour on client side or in the AD?

@semidark I was able to login past 24hrs. I think we did not change much, its been some months now, leave it with the defaults and it should work ok.

@mzs114 Thanks for the quick answer. But we have very technical interested End-users 👾. Linux Administrator and Software Developers . I will be asked this question and would like to be able to answer it if possible.
@rbest-bt Could you enlighten me how long the a login is Possible and how to configure this on the Client?


refactor(*): use babel-jest instead of ts-jest

Please describe the changes this PR makes and why it should be merged:
Status

[x] Code changes have been tested against the Discord API, or there are no code changes

Semantic versioning classification:

[ ] This PR changes the library's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[x] This PR only includes non-code changes, like changes to documentation, README, etc.

Not that I particularly mind, but why babel-jest instead of ts-jest? One of the main differences is that babel-jest doesn't actually do type checking when transpiling like TypeScript does, this is listed as one of the main differences in the ts-jest documentation: https://kulshekhar.github.io/ts-jest/user/babel7-or-ts#no-type-checking
The very short version of things is that Babel just removes the : types from TypeScript and doesn't really transpile the code. Of course it does a little more, in particular also in preset-env but you get the picture I hope.

Yes, I am very aware of that, and that is very much so intended. It is also one of the reasons why ts-jest is so slow. A repo of this size needs any increase in tests / time we can get.

Gotcha


Fix channel OnClose and OnError event handlers

Hello, @acupofjose if you can review this please.
What kind of change does this PR introduce?
Bug fix
What is the current behavior?
Please correct me if I'm wrong I'm still figuring it out

We are returning a SocketStateChangedEventArgs I think we should return a ChannelStateChangedEventArgs since the channel state that changed not the Socket
In the client there is two methods HandleSocketClosed and HandleSocketError that trigger foreach subscription the OnClose or OnError event I think we can close only one channel or an error can occure only on one channel

What is the new behavior?

Returning ChannelStateChangedEventArgs instead of SocketStateChangedEventArgs
Trigger OnClose event if the client unsubscribe to this channel

Thank you.

Totally agree on ChannelStateChangedEventArgs - high quality PR as always @elrhomariyounes, thank you.


Presentation API 2.0 support for ranges and table of contents display

I have written an algorithm using recursion that takes a collection of ranges, in any order, and displays them from largest collection to smallest in a 'table of contents' style display so that there are no repeats and the proper parent-child relationship is maintained throughout.  I had to do this for one of the projects that SLU has taken on.  The canvases contained within the ranges display with all of their annotations. I planned on showing it at the Monday, 5/4 IIIF event.
In conjunction with this piece, I am working on a "re-ordering" interface so that ranges can be removed from or included in other ranges in a 'drag-and-drop' style, but this will not be prepared in time for the event.

http://<IP_ADDRESS>/brokenBooks/getManifest.html
--There's a sneak peek.  The code I have on my local machine is already improved.  The things that are out of order are so on purpose to I can work on my re-ordering interface.  Things will make much more sense when I demo.

Here is some more data provided by Sean Martin with the Vatican. The relevant code is in a recursive method in the toc module. I'll have a look at how it can be adapted to handle 2.0 manifests better than currently, but it looks like there may be other issues besides. Paste follows:
The issue with display and navigation of table of contents with Mirador 2
Preamble
The web site video at https://www.youtube.com/watch?v=9b1ReCZh9-E   has at around time 1:00
mins a good looking table of contents (TOC) with indents - see attached screen shot below:
I have located the Harvard manifest and been able to reproduce the table of contents (TOC) with a
similar user experience. The indents can be controlled to collapse and expand, and also one can
navigate by clicking on an entry. So far so good …
However I have tried but failed to reproduce a similar behaviour with a TOC for one of the Vatican
manuscripts.
Rob has confirmed that Mirador has so far implemented version 1.0 of the IIIF spec regarding ranges,
but has not yet implemented version 2.0. The structure of these versions is different: version 1.0 is
essentially bottom-up and version 2.0 is top-down.
Background and timing
The Vatican pilot project funded by Mellon will conclude at the end of June. It comprises ten
manuscripts which will be viewed by Vatican staff. Most of them have rich structural information,
hence a good TOC presentation and navigation will be important. There is thus a timing issue about
when the issue might be resolved - in essence the sooner the better.
It will be desirable for us to have a working version by mid May, so that we can conduct testing, and
then make a release with the set of ten manuscripts by the end of May.
Summary of the Issue
I have experimented to find under which conditions I am able to get a good looking TOC and under
what conditions I am not. Here is a summary of what I have found:
I have two similar test cases, TOC1 and TOC2, and both comprise five canvases each with one image.
The canvases are numbered 0 to 4.
The ranges in the first test case, TOC1, are:
Range label Start canvas End canvas
Canvases 1 - 4 1 4
Canvas 2 2 2
Canvases 3 & 4 3 4
The ranges in the second test case, TOC2, are:
Range label Start canvas End canvas
Canvases 2 - 4 2 4
Canvas 2 2 2
Canvases 3 & 4 3 4
The difference is highlighted: TOC1 has a range with canvases 1-4 and TOC2 has a range with
canvases 2 – 4. TOC2 omits canvas 1 from the range.
TOC1 “works” - here is a screen shot:
Each line can be selected and the main display jumps to the corresponding canvas. The triangle to
the left of the label canvases 1-4 can be clicked and the display collapses resulting in the following
screen shot:
Clicking again on the triangle expands the list back to the earlier screen shot.
However, the corresponding display with TOC2 is below, but clicking on the triangle to the left of the
label canvases 2-4 does not result in the display changing to reveal the lower subsections :
The two manifests are available at:
http://www.appliediiif.org.uk/manifests/TOC1.json
http://www.appliediiif.org.uk/manifests/TOC2.json
A “diff” of the two manifests results in several changes that relate solely from the change in name
from TOC1 to TOC2, but the significant change is the difference in the list of canvases for the range
(a) canvases 1 – 4 and (b) canvases 2 – 4, as follows:
165,168c165,167
<                 "http://www.appliediiif.org.uk/nullservice/TOC1/canvas/canvas1.json",
<                 "http://www.appliediiif.org.uk/nullservice/TOC1/canvas/canvas2.json",
<                 "http://www.appliediiif.org.uk/nullservice/TOC1/canvas/canvas3.json",
<                 "http://www.appliediiif.org.uk/nullservice/TOC1/canvas/canvas4.json"

            "http://www.appliediiif.org.uk/nullservice/TOC2/canvas/canvas2.json",

            "http://www.appliediiif.org.uk/nullservice/TOC2/canvas/canvas3.json",

            "http://www.appliediiif.org.uk/nullservice/TOC2/canvas/canvas4.json"

One line referring to canvas1 is missing in the latter.
Way forward and a potential dilemma
It’s plausible that the resolution of the issue is fairly straight forward, but it would be with version
1.0 of the range definition. This capability would then be superseded when Mirador migrates to
version 2.0 of the range definition. In essence there may be a dilemma or choice about which way to
go forward: fixing the issue on version 1.0 or updating to version 2.0.
For the Vatican project we need early resolution of the issue – either a fix with version 1.0 or an
implementation of 2.0. We can produce range information to version 2.0, but this has not been
tested as there is no software to consume it.
Sean Martin
24 April 2015

It would be great to have some help on this because it has no UI changes or design needed.

I have tested these in Mirador and discovered that advancing the pages will re-render the table of contents so that it displays correctly. However some of its behaviours are strange, for instance going back to the first canvas (which is not represented in TOC2 ranges)

From Paola Manoni from the Biblioteca Apostolica Vaticana:
The expectation for TOC is to have a similar display and navigation as provided, e.g.
http://digi.vatlib.it/view/MSS_Barb.gr.126
or
http://digi.vatlib.it/view/MSS_Barb.gr.87
(list of contents)
If you compare the same TOC in Mirador:
http://iiifpilot1.vps.vatlib.it:8080/live/miradorbarb.gr.126.htm#e54eb2cb-abc0-4b85-8df8-cf970f3fd7bc
and
http://iiifpilot1.vps.vatlib.it:8080/live/miradorbarb.gr.87.htm#d54fa6a8-b71a-407d-b0f7-7afbf723533a

you display the information in a different indentation (e.g. Barb.gr.87: 'Legatura' is not at the same level as 'Ir Schema ontologicum aristotelicum'
and '13r-35v Aristoteles: Categoriae' or '35v-48v Aristoteles: De interpretationes' are not the displayed as lower level of '13r-287v Aristotelis opera cum scholiis.'
and
'49r-92r + f. 17 inter ff. 89-90 iure hodie reposito lib. I' is not the lower level of  '49r-120v Aristoteles: Analytica priora'). The three level of indentation are not provided.
Links are not provided and if you scroll the images the display of TOC is:

The line:  "Table of contents"  is not just a text but it's a link
The font-size is too large.

@thehabes, when you get a chance, could I have a look at your 2.0 Ranges parser?

Sure.  Broken Books is not on GitHub and I am not suppose to put it there,
so I will have to dig the code and put it on a text file to share it with
you.
If you want to pull it out of the page, go to
http://<IP_ADDRESS>/brokenBooks/getManifest.html.  There will be an
included file called bb.js.  All of the parsing is done in one function
called organizeRanges() which you can pull out of the code there if you
would like.  I am doing some work on it so I will give you the most updated
code Saturday (5/16) if you would rather wait.
On Thu, May 14, 2015 at 4:35 PM, aeschylus<EMAIL_ADDRESS>wrote:

@thehabes https://github.com/thehabes, when you get a chance, could I
have a look at your 2.0 Ranges parser?
—
Reply to this email directly or view it on GitHub
https://github.com/IIIF/mirador/issues/527#issuecomment-102177225.

--
Bryan J. Haberberger
Web Developer-Center for Digital Humanities
Saint Louis University
314-977-4254
"You can say there is no good and no evil, but the fact remains the most
existentially 'good' thing one form of matter can have on another is to aid
in its advancement."

Greetings.
Again about the the bug -  I was trying to browse TOC of Pal.lat.50 and clic on some of the items in list: links are not working but if you scroll the digital object (right or left) and you clic again  it seems working but in that case selections are not consistent because the link goes to the previous image.
e.g.
http://iiifpilot1.vps.vatlib.it:8080/live/miradorPal.lat.50.htm
if you clic on "116r-124v: Capitulare evangeliorum"
[the range is from image  'Pal.lat.50_0241_fa_0116r' to image 'Pal.lat.50_0258_fa_0124v']
but Mirador selects the previous one: folio 115 v [image 'Pal.lat.50_0240_fa_0115v']
Thanks for your work in fixing the bug and thanks for this post (I have a concern for the pilot presentaion of our project in june...).
Paola Manoni, Vatican Library
22 May 2015

@azaroth42 will create 2.0 version of Richardson 7 manifest using manifest factory as fixture.

Expected this would be trivial ... it revealed a bug in the factory that I'm tracking down :(

Bug fixed. Richardson 7 in 2.0 is:
http://dlss-dev-azaroth.stanford.edu/prezi/r7_20.json
Have a look and make sure it's what you were expecting though!

duplicate of #94, closing


added 30 array questions

This repo has some issue so please make a request on my other repo https://github.com/ravi-singh-100/DSA-Hacktober2022 .


lib: insert child on new node keydown

Fixes #275
This one is kinda tricky. The ticket says the issue is with pasting into a new node. Here's what I did in my testing:

Copy a node
Open (zoom command) an existing node with no children
Hit Command + K (pick-command command)

The last step fails.
Reason:
Opening a node with no children shows a panel with a NewNode as the body. The NewNode doesn't exist in the workspace yet. The actual node isn't created until a character is entered (oninput). Pressing Command + K doesn't count as oninput, so when the pick-command action is run, it sees that there's no node in context, and as a backup, it tries to set the context to the current path head. After zoom though, the path head isn't on the screen any more, so it crashes since the input control it's expecting isn't on screen.
Proposal:
This PR just creates the node (runs insert-child) any time a key is pressed (onkeydown), not just when an actual character is entered (oninput). Now, as soon as the user tries to Command + K, the actual node will be created, then they can actually paste.
I'm not sure this is how you actually want things to work though, so let me know what you think @progrium @taramk

Simple, elegant. Let's try it!


multi-region: conditional bootstrap

This adds control to enable a bootstrap node on the remote region

have to see how it comes into play with ansible

have to see how it comes into play with ansible

@bernadinm is this currently a requirement for multi-region?

Yes, it is. Without this, the module wont be able to know if another module is currently in control or maintaining the other resource that was provided, but it still needs to share the ip address with the agents.

🤔 well in general dcos-install-bootstrap-remote-exec/nullwill not be used anymore...


[FEATURE] Tab completion for the shell

Feature Description
For analyst/user experience it would be good to include tab completion in the shell, this would work for keywords such as select, etc but ultimately would include object context (e.e services in a provider, resources in a service, projected fields in a resource)

Hey Jeffrey, I would love to work on this!


🐛 [OFFICIAL] Generated Issue: ObjectNotFound

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
The API has returned an error:
Typesense\Exceptions\ObjectNotFound
Status code: 0
Message: Could not find a field named `aired.from` in the schema for sorting.
Trace: /var/www/jikan-rest/vendor/typesense/typesense-php/src/ApiCall.php on line 348
Expected Behavior
The API should have returned a successful response with data.
Steps To Reproduce
Http Request: `GET /v4/anime?sfw&q=naruto&order_by=start_date&sort=desc&max_score=10&page=1&limit=24
Environment
- OS: Windows 10
- Browser: Edge

Anything else?
request url : https://api.jikan.moe/v4/anime?sfw&q=naruto&order_by=start_date&sort=desc&max_score=10&page=1&limit=24
requested from ajax call with fetch

Resolved


Memory leak when gzip encoded response body is modified

Hi,
In normal flow when response body is not gzip encoded we create data buffer only once(for modified body). However when response body is encoded we first create a data buffer to modify decoded body and then another one where we put gzip encoded modified body. As the result of that substitution first buffer is not released. This is the fix to solve this issue.
To reproduce the issue you can just create a simple rest endpoint which returns gzip compressed body and run gateway agains it with netty leak detection on paranoid level.

I ran into this issue as well and created a minimal project to easily reproduce it using two docker containers. The memory leak seems to be fixed with the proposed fix from @korektur as I cannot reproduce it with the fix applied.
Link to project to reproduce issue: https://github.com/fkjellberg/scg-oom

@spencergibb can you review this please?


upgrade pydantic

Upgrade pydantic to 2.5.2 and update syntax (types, function names and input variables)

Have also converted this to a draft PR as you suggested was what you wanted in your issue!

So I added None as the default values to some types which then allowed most tests to pass. Am I over simplifying that or does that make sense? @maxkahan
I ran into an 2 issues though causing 3 tests to fail:

Seems .dict() or .model_dump on a BaseModel of Pydantic no longer serializes nested objects. See Migration Warning above the title and using SerializeAsAny doesn't work for HttpUrl. So right now i get the type error: TypeError: Object of type Url is not JSON serializable

"from" seems to be removed from a few expected json values (connect related). I assume this is a breaking change even though the value in from appears in the base class as well as inside the nested class, so I'll have to figure out why adding the default None value causes this.

I'm still looking into this but if you have any thoughts, please let me know.

Hi @dlewis2017 thanks for working on this!
For your comments,:
Re. comment 1. iirc when I was looking at this, I was happy to move from using a specific HttpUrl type to a str type in the short term.
Re. comment 2. The line in the issue you raised can be fixed like this:
from_: str = Field(default=None, serialization_alias='from', pattern=r'^[1-9]\d{6,14}$')
that worked for me when I was playing with this implementation, you just have to then add the flag by_alias=True to the model_dump field iirc.
Whilst you've been working on this, another contributor has submitted #291 which looks like it's a little further along. Perhaps adding to that PR could be a way to work more efficiently? There are some changes needed that I detailed there.
Thanks again for your consistent enthusiasm on this issue! 🙂

Hi @dlewis2017 I received another community PR as mentioned above (#291), which got sorted today so I've just released v3.13.0 which adds support for Pydantic v2. I'll close this PR now, but I appreciate your enthusiasm and please feel free to contribute further in future 🙂

Perfect, that works, thanks for keeping me updated! @maxkahan


update 1.8.1

Dacite 1.8.1 Update
Jira Ticket
Upstream
Dependencies
Changes

Updated version number and sha256
Updated pinnings on dependencies
Additional information in about section

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_1bx6j4ea4m/clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: /tmp/abs_1bx6j4ea4m/clone/recipe/meta.yaml:45: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_1bx6j4ea4m/clone/recipe/meta.yaml:45: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_7acohnl0pb/clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
Errors were found

Ah just one thing for the next time: please use the ticket number (e.g. PKG-2283) in the name of the branch or in the title of the PR to enable the Jira's tracking for this PR!

Ah just one thing for the next time: please use the ticket number (e.g. PKG-2283) in the name of the branch or in the title of the PR to enable the Jira's tracking for this PR!

Thanks for letting me know this! This makes sense. Jira seems to be tracking it fine, but this is a good precaution will do!


Specify dialect

Some pool options require a dialect to be set when creating the pool. This ensure a default dialect is set.

@edevil could you update your version to resolve conflicts?

@lcd1232 done

Django only uses psycopg2 for postgres backend database so it must be set default to psycopg2 dialect, no other.


call stuck at "call connecting" [custom ROM]

reported by @eric:arquilla.net
https://github.com/matrix-org/riot-android-rageshakes/issues/436

GLSurfaceView mCallView is initialised but GLSurfaceView.GLThread is not initialised.

https://github.com/matrix-org/riot-android-rageshakes/issues/466

https://github.com/matrix-org/riot-android-rageshakes/issues/465

https://github.com/matrix-org/riot-android-rageshakes/issues/464

After I've configured TURN for Synapse the first test calls via Riot.im on Android worked just fine.
Now every connection (to F-Droid version or PlayStore version, via mobile data connection or WLAN connection) stuck at Call connecting... after accepting an incoming call.


Tooltips

first and foremost for this great jQuery plugin
You have on your page a demo with tooltips, but if I enter in the first option-tag a titel attribute as well, I'll get this titel in the selcet field after a browser relod. It would be ver nice if you could fix it:

Option element must not have a title attribute.


Bug: Scrolling in the conflicts dialog changes the chosen option

Description
The dialog that opens when pasting items that already exist, has a bug. When there are a few items that already exist, scrolling the list will change some of the settings for rename/overwrite/omit.
https://github.com/files-community/Files/assets/65828559/d0e6587e-c52c-45c5-91d5-c1996ffe0ab2
Steps To Reproduce

Copy a number of folders and paste in a different location
Have a number of items with the same name
select a choice from the drop-down
scroll the list

Requirements
Setting should stay
Files Version
<IP_ADDRESS>
Windows Version
10.0.22621.2715
Log File
debug.log
On YouTube
https://youtu.be/cGhFSx9YVLA

Thanks for the report, can you upload the video to GitHub as well?

Looks like I can! (thought it would be too big)


Added swedish language file

Q
A

Bug fix?
[No ]

New feature?
[New language added ]

New sample?
[ ]

Related issues?
none

What's in this Pull Request?
Added a swedish language file.

Thank you very much @amortsell!


Visualization of the result

Hi, I already run the evaluation code and it works. But I wonder if there is any way to visualize the result of 6D pose estimation. Or which pickle file is the reslt 6D pose of the input. It would help a lots if you can provide more details! Thank you!
What I mean is how to get the result like this in the paper?

You can use the Omni6DPose tool we provided (https://jiyao06.github.io/Omni6DPose/cutoop).


After upgrade from 1.25 to 1.26 and 1.27 emmet doesn't  work well CSS

Issue Type: Bug
Hello, I have problem with emmet. When i write CSS code and click TAB to confirm code and i want to change declared value i dont have tips.
Example:
position: relative; If i want to change to absolute i have to delete and move right and then left to show TIPS.
VS Code version: Code 1.27.1 (5944e81f3c46a3938a82c701f96d7a59b074cfdc, 2018-09-06T09:14:32.385Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz (4 x 3100)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
8.00GB (1.64GB free)

Process Argv
/Applications/Visual Studio Code.app/Contents/MacOS/Electron -psn_0_233529

Screen Reader
no

VM
0%

Extensions (10)

Extension
Author (truncated)
Version

html-snippets
abu
0.2.1

path-intellisense
chr
1.4.2

bracket-pair-colorizer
Coe
1.0.59

vscode-npm-script
eg2
0.3.5

prettier-vscode
esb
1.6.1

auto-rename-tag
for
0.0.15

code-runner
for
0.9.4

color-highlight
nau
2.3.0

LiveServer
rit
5.1.1

vscode-icons
rob
7.26.0

(1 theme extensions excluded)

Emmet in css is used to provide abbreviations that expand to a property - value pair.
In your example, position: relative is already a property - value pair
After deleting "relative", you are expecting emmet to suggest "absolute" which is not what emmet does. There is no abbreviation to expand at this point.
Auto-completion/tips for the value is provided by the css extension. So if you have position:  and hit Ctrl+Space to trigger auto-completion , then you will get all applicable values for the "position" property.

position: relative; If i want to change to absolute i have to delete and move right and then left to show TIPS.

I tried this, and I am not able to the get the tips even after following your steps. Can you provide more detailed steps?

Emmet adds a snippet. When still in snippet mode, we disabled auto-completions in 1.26.
You can either press escape key to escape the snippet mode and then press a, you will get the auto-completions back.
Or add the setting "editor.suggest.snippetsPreventQuickSuggestions" : false.

"editor.suggest.snippetsPreventQuickSuggestions" : false.
Thank's, It's work well now.
👍


Works on Options Pages ?

Hello,
Is this works on custom options pages ?
I just downloaded it, and works perfect on posts & pages edit, but I can't make it work on custom options pages.
I used this snippet from CMB2 to declare my optionPage : https://github.com/WebDevStudios/CMB2-Snippet-Library/blob/master/options-and-settings-pages/theme-options-cmb.php
The fields are well displayed on tabs, but they are not saved in options

Hello.
We have added support for the "options page"
Enable "settings page" you must add the string 'object_type' => 'options-page', in your theme-option-cmd.php file.
Example
`
$box_options = array(
	'id'         => $this->metabox_id,
	'hookup'     => false,
	'cmb_styles' => false,
	'object_type' => 'options-page',
	'show_on'    => array(
		// These are important, don't remove
		'key'   => 'options-page',
		'value' => array( $this->key, )
	),
);
$cmb = new_cmb2_box( $box_options );
`

Thanks, it works well :-)


[MODEXPW-549] Improve bursar migration fallback logic

Jira MODEXPW-549
Purpose
As part of investigating this bug, I found some cases where it was possible for improper validation to cause a NullPointerException during application of a LengthControl. This provides an additional check to prevent these edge cases.

Not sure what these Sonar issues are — none of them are from my commits.


Closes #16

Verified by @klieret

To properly link this to #16, you need to mention it in the body of the pull request message, for example like this:
closes #16


添加单页多行内容插入

添加单页面多条内容插入的情况，_crawler返回 111,[...]
[...]中为[{'url': str, 'title': str, 'author': str, 'publish_time': str, 'content': str, 'abstract': str, 'images': [str]}]

 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.

和UP讨论之后，可能我的应用会偏向虚拟货币和股票一类，和该项目的初衷有所背离，不适合并入master。

依然欢迎就Dashboard部分的升级，单独提交PR
look forward to it


scoop install broken?

First Run:
scoop install fd
Installing 'fd' (10.1.0) [64bit] from 'main' bucket
fd-v10.1.0-x86_64-pc-windows-msvc.zip (1.2 MB) [======================] 100%
Checking hash of fd-v10.1.0-x86_64-pc-windows-msvc.zip ... ok.
Extracting fd-v10.1.0-x86_64-pc-windows-msvc.zip ... done.
Linking D:\scoop-portable\apps\fd\current => D:\scoop-portable\apps\fd\10.1.0
New-Item: D:\scoop-portable\apps\scoop\current\lib\install.ps1:1174
Line |
1174 |          New-Item -Path $source -ItemType Junction -Value $target
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Incorrect function.
Creating shim for 'fd'.
Get-Command: D:\scoop-portable\apps\scoop\current\lib\install.ps1:783
Line |
 783 |              $bin = (Get-Command $target).Source
     |                      ~~~~~~~~~~~~~~~~~~~
     | The term 'fd.exe' is not recognized as a name of a cmdlet, function,
     | script file, or executable program. Check the spelling of the name, or
     | if a path was included, verify that the path is correct and try again.
Can't shim 'fd.exe': File doesn't exist.

Second Run:
scoop install fd
WARN  Purging previous failed installation of fd.
ERROR 'fd' isn't installed correctly.
Removing older version (10.1.0).
'fd' was uninstalled.
Installing 'fd' (10.1.0) [64bit] from 'main' bucket
Loading fd-v10.1.0-x86_64-pc-windows-msvc.zip from cache
Checking hash of fd-v10.1.0-x86_64-pc-windows-msvc.zip ... ok.
Extracting fd-v10.1.0-x86_64-pc-windows-msvc.zip ... done.
Linking D:\scoop-portable\apps\fd\current => D:\scoop-portable\apps\fd\10.1.0
New-Item: D:\scoop-portable\apps\scoop\current\lib\install.ps1:1174
Line |
1174 |          New-Item -Path $source -ItemType Junction -Value $target
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Incorrect function.
Creating shim for 'fd'.
Adding D:\scoop-portable\shims to your path.
Copy-Item: D:\scoop-portable\apps\scoop\current\lib\manifest.ps1:82
Line |
  82 |          Copy-Item (manifest_path $app $bucket) "$dir\manifest.json"
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot find drive. A drive with the name 'File not found - D' does not exist.
MethodInvocationException: D:\scoop-portable\apps\scoop\current\lib\manifest.ps1:95
Line |
  95 |      [System.IO.File]::WriteAllLines("$dir\install.json", $file_conten …
     |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Exception calling "WriteAllLines" with "2" argument(s): "The filename, directory name, or volume label syntax is incorrect. :
     | 'D:\scoop-portable\File not found - D:\scoop-portable\apps\fd\current D:\scoop-portable\apps\fd\current\install.json'"
'fd' (10.1.0) was installed successfully!

After second run, fd works, but what are these errors?
Also, I already have scoop installed in my system, I had to remove the scoop shims from path, why not we can temporarily delete scoop shims from path and install scoop-portable, then again add back system scoop shims to the path, instead of saying scoop is already present in path.

Happens for another app too, but this time it installs after single run, maybe because the only change is now that I have added my system scoop shims back to path variable, before when I had removed the scoop shims path from path variable, after second run too, fd wasn't installing, and now when system's scoop path is added back, things are installing but with these errors.
> scoop install sd
Installing 'sd' (1.0.0) [64bit] from 'main' bucket
sd-v1.0.0-x86_64-pc-windows-msvc.zip (884.8 KB) [===========================================================================] 100%
Checking hash of sd-v1.0.0-x86_64-pc-windows-msvc.zip ... ok.
Extracting sd-v1.0.0-x86_64-pc-windows-msvc.zip ... done.
Linking D:\scoop-portable\apps\sd\current => D:\scoop-portable\apps\sd\1.0.0
New-Item: D:\scoop-portable\apps\scoop\current\lib\install.ps1:1174
Line |
1174 |          New-Item -Path $source -ItemType Junction -Value $target
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Incorrect function.
Creating shim for 'sd'.
Copy-Item: D:\scoop-portable\apps\scoop\current\lib\manifest.ps1:82
Line |
  82 |          Copy-Item (manifest_path $app $bucket) "$dir\manifest.json"
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot find drive. A drive with the name 'File not found - D' does not exist.
MethodInvocationException: D:\scoop-portable\apps\scoop\current\lib\manifest.ps1:95
Line |
  95 |      [System.IO.File]::WriteAllLines("$dir\install.json", $file_conten …
     |      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Exception calling "WriteAllLines" with "2" argument(s): "The filename, directory name, or volume label syntax is incorrect. :
     | 'D:\scoop-portable\File not found - D:\scoop-portable\apps\sd\current D:\scoop-portable\apps\sd\current\install.json'"
'sd' (1.0.0) was installed successfully!

> where sd
D:\scoop-portable\shims\sd.exe
C:\Users\nitin\scoop\shims\sd.exe

When I removed system's scoop from path variable, it is not installing at all and keeps giving this same error:
> scoop install sed
WARN  Purging previous failed installation of sed.
ERROR 'sed' isn't installed correctly.
Removing older version (4.9).
'sed' was uninstalled.
Installing 'sed' (4.9) [64bit] from 'main' bucket
Loading sed-4.9-x64.exe from cache
Checking hash of sed-4.9-x64.exe ... ok.
Linking D:\scoop-portable\apps\sed\current => D:\scoop-portable\apps\sed\4.9
New-Item: D:\scoop-portable\apps\scoop\current\lib\install.ps1:1174
Line |
1174 |          New-Item -Path $source -ItemType Junction -Value $target
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Incorrect function.
Creating shim for 'sed'.
Get-Command: D:\scoop-portable\apps\scoop\current\lib\install.ps1:783
Line |
 783 |              $bin = (Get-Command $target).Source
     |                      ~~~~~~~~~~~~~~~~~~~
     | The term 'sed.exe' is not recognized as a name of a cmdlet, function, script file, or executable program.
     | Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Can't shim 'sed.exe': File doesn't exist.

After second run, fd works, but what are these errors?

This was because, I added system's scoop back to path, but without it, it keeps failing like above.

Also, does scoop-portable fixes its path in the path environment variable when the drive letter changes in case of external drives?

The idea of scoop-portable is not to rely on persisted environment variables but when you run scoop-portable.cmd the env vars are setup ad-hoc for the current command window. when you execute move the installation to another directory or drive scoop-portable will detect it and adjust all the internal symlinks accordingly.

What about install errors? How to fix them?

TBH, no idea, I cannot reproduce it.


MinCSS option actually controls inline javascript minification

Think this is due  to line 42 of Compressor.php
$minjs = $this->mincss;

Thanks @adrianw ! Problem fixed in last release!


[ARD:mediathek] Unable to extract media id

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've checked that all provided URLs are alive and playable in a browser
(the URL is alive as of now, but it might be taken down at some point)
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones
(there were multiple similar issues for other URLs, but these are marked as fixed, while the currently encountered error is still there)

Verbose log
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://www.ardmediathek.de/video/tom-sawyer/24-wie-tom-ein-rudel-woelfe-baendigte/kika/MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh?isChildContent']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Git HEAD: 86e3cf5e5
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-78-generic-x86_64-with-glibc2.35 - OpenSSL 3.0.2 15 Mar 2022 - glibc 2.35
[debug] exe versions: ffmpeg 4.4.2, ffprobe 4.4.2, phantomjs ., rtmpdump 2.4
[debug] Proxy map: {'no': 'localhost,<IP_ADDRESS>/8,::1'}
[debug] Using fake IP <IP_ADDRESS> (DE) as X-Forwarded-For.
[ARD:mediathek] MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh: Downloading webpage
ERROR: Unable to extract media id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/tmp/youtube-dl/youtube_dl/YoutubeDL.py", line 859, in wrapper
return func(self, *args, **kwargs)
File "/tmp/youtube-dl/youtube_dl/YoutubeDL.py", line 955, in __extract_info
ie_result = ie.extract(url)
File "/tmp/youtube-dl/youtube_dl/extractor/common.py", line 565, in extract
ie_result = self._real_extract(url)
File "/tmp/youtube-dl/youtube_dl/extractor/ard.py", line 235, in _real_extract
video_id = self._search_regex(
File "/tmp/youtube-dl/youtube_dl/extractor/common.py", line 1045, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract media id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Description
The video URL https://www.ardmediathek.de/video/tom-sawyer/24-wie-tom-ein-rudel-woelfe-baendigte/kika/MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh?isChildContent (and other ones from https://www.ardmediathek.de/sendung/tom-sawyer/Y3JpZDovL2hyLW9ubGluZS8zODIyMDEwNA?isChildContent as far as already tried) don't work, while they are perfectly playable e.g. from a Firefox browser. This hinders playback from CLI players like mpv.
Any hints on how to investigate this further are appreciated.

Working in master: try the nightly build (#30839):
python -m youtube_dl -v -F 'https://www.ardmediathek.de/video/tom-sawyer/24-wie-tom-ein-rudel-woelfe-baendigte/kika/MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh?isChildContent'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://www.ardmediathek.de/video/tom-sawyer/24-wie-tom-ein-rudel-woelfe-baendigte/kika/MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh?isChildContent']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Git HEAD: 86e3cf5e5
[debug] Python 2.7.15 (CPython i686 32bit) - Linux-6.1.0-11-686-pae-i686-with-debian-12.1 - OpenSSL 1.1.1a  20 Nov 2018 - glibc 2.1.3
[debug] exe versions: none
[debug] Proxy map: {}
[debug] Using fake IP <IP_ADDRESS> (DE) as X-Forwarded-For.
[ARDBetaMediathek] MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh: Downloading webpage
[ARDBetaMediathek] MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh: Downloading m3u8 information
[info] Available formats for MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh:
format code  extension  resolution note
SD           mp4        640x360    [de] 1200k
SD_480p      mp4        960x540    [de] 1600k
HD_Ready     mp4        1280x720   [de] 3200k
Full_HD      mp4        1920x1080  [de] 5000k
hls-418      mp4        480x270    [de]  418k , avc1.4d401e, 50.0fps, mp4a.40.2
hls-593      mp4        640x360    [de]  593k , avc1.4d401f, 50.0fps, mp4a.40.2
hls-928      mp4        960x540    [de]  928k , avc1.4d401f, 50.0fps, mp4a.40.2
hls-1400     mp4        1280x720   [de] 1400k , avc1.640020, 50.0fps, mp4a.40.2
hls-2171     mp4        1920x1080  [de] 2171k , avc1.64002a, 50.0fps, mp4a.40.2 (best)
$

@dirkf The error occurs on master. And I notice your log shows the same git commit hash. Any idea what could lead to a differing behaviour here? It seems that your setup calls ARDBetaMediathek instead of ARD:mediathek.

When I use the release from https://github.com/ytdl-org/ytdl-nightly/releases/tag/2023.08.07, the outcome differs only marginally:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://www.ardmediathek.de/video/tom-sawyer/24-wie-tom-ein-rudel-woelfe-baendigte/kika/MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh?isChildContent']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2023.08.07 [86e3cf5e5]
[debug] ** This version was built from the latest master code at https://github.com/ytdl-org/youtube-dl.
[debug] ** For support, visit the main site.
[debug] Python 2.7.18 (CPython x86_64 64bit) - Linux-5.15.0-78-generic-x86_64-with-Ubuntu-22.04-jammy - OpenSSL 3.0.2 15 Mar 2022 - glibc 2.35
[debug] exe versions: ffmpeg 4.4.2, ffprobe 4.4.2, phantomjs ., rtmpdump 2.4
[debug] Proxy map: {'no': 'localhost,<IP_ADDRESS>/8,::1'}
[debug] Using fake IP <IP_ADDRESS> (DE) as X-Forwarded-For.
[ARD:mediathek] MDdkMjc0ZmYtOWJkNi00ZTg0LTlkMDUtMzAzYzI3YjRlOGZh: Downloading webpage
ERROR: Unable to extract media id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "youtube_dl/YoutubeDL.py", line 863, in wrapper
    return func(self, *args, **kwargs)
  File "youtube_dl/YoutubeDL.py", line 959, in __extract_info
    ie_result = ie.extract(url)
  File "youtube_dl/extractor/common.py", line 565, in extract
    ie_result = self._real_extract(url)
  File "youtube_dl/extractor/ard.py", line 236, in _real_extract
    r'/play/(?:config|media)/(\d+)', webpage, 'media id')
  File "youtube_dl/extractor/common.py", line 1045, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract media id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Absolutely. I forgot that I brought a dev version of the ARD extractor on holiday with me! Sorry to confuse things, but at least it shows that the new version solves the issue. The changes are pretty extensive, so it's not practical to post a diff.

Great to hear. Happy to test in case the changes become available in some branch.


adding sysmacros include to compile with ubuntu 20.04

adding sysmacros include to compile with ubuntu 20.04

We're using a really old version of librealsense, it could make sense to look at their master (or dev) to see how things are done and cherry-pick or copy-paste to save some time.

Closing this PR and re-opening with tech/build-for-ubuntu20 branch name


Unable to open CupertinoSwipeBox in LazyList

In a long list where all the elements are wrapped in CupertinoSwipeBox, flipping to the bottom when trying to open in any direction, the box closes automatically
Item code:
item(key = "key") {
    val boxState = rememberCupertinoSwipeBoxState()
    CupertinoSwipeBox(
            modifier = Modifier.fillMaxWidth(),
            state = boxState,
            items = {
                when {
                    boxState.dismissDirection.isTowardsStart -> { ... }
                    else -> Unit
                }
           }
    ) { ... }
}

If you remove the binding on dismissDirection in items, everything works fine
boxState.dismissDirection.isTowardsStart

Why is this happening yet I don't understand

Thanks, i'll take a look


Document additional system ranges

From Slack:

Jesse: In our architecture docs, we talk about ranges for system data and user data: https://www.cockroachlabs.com/docs/stable/architecture/distribution-layer.html#monolithic-sorted-map-structure. For system data, we focus on meta ranges  used to locate user data. I've gathered that another system-level range that's important is the node-liveness range. Are there other system-level ranges that are potentially important to explain to users?

Ben: depends on what you mean by "system", which we use in multiple ways and tends to be ambiguous. The other big ranges containing non-table data are the timeseries ranges. they're less critical than meta and liveness, but still fairly important

Jesse: OK, so meta, node liveness, and time series are the important "system" ranges. Don't node liveness and timeseries ranges also map to internal tables of some sort?

Ben: not currently. we may add virtual tables for them in the future

Tobias: liveness will be exposed shortly, indirectly, via gossip_liveness, but it’s unclear whether we want to advertise that. timeseries is a much more delicate one because.. it’s really big, so it needs to be efficiently queryable, which is not something true for our virtual tables so far

We provide a bit more detail on these now: https://www.cockroachlabs.com/docs/stable/configure-replication-zones.html#create-a-replication-zone-for-a-system-range.

We have closed this issue because it is more than 3 years
old. If this issue is still relevant, please add a comment and reopen
the issue. Thank you for your contribution to CockroachDB docs!


Property not found (standard XCode Master-Detail template)

Repro:

Create standard Master-Detail template on XCode
Import and compile

Compilation errors:
property 'displayModeButtonItem' not found on object of type 'UISplitViewController *'
property 'isCollapsed' not found on object of type 'UISplitViewController *'
property 'displayModeButtonItem' not found on object of type 'UISplitViewController *'
property 'leftItemsSupplementBackButton' not found on object of type 'UINavigationItem *'
Code: https://onedrive.live.com/redir?resid=733E3FFAB634EC2C!888061&authkey=!AHiKy04U_4xAFGk&ithint=folder%2C

Supporting UINavigationItem is in our backlog, and we will investigate supporting UISplitViewController but this one seems less used.


Remove unused "dirtyStuff" from test suite

Discovered while looking at #851.

On hold until someone figures out #851.


bug(DATEPICKER): MomentAdapter wrong parsing value from text-input

Reproduction
https://stackblitz.com/angular/yjpeopmmgdgg?file=src%2Fapp%2Fdatepicker-formats-example.ts
It also reproduces in doc https://material.angular.io/components/datepicker/examples
Steps to reproduce:

Try to paste to input 02/02/20 or 02.02.19

Expected Behavior
After formatting get "February 2, 2020"
Actual Behavior
After formatting get "January 2, 2002"
Environment

Angular: 10.0.0
CDK/Material: 10.0.0
Browser(s): Chrome
Operating System macOS

@izmaylovdev-ume if the following works for you can you please close the issue? Thanks
export const MY_FORMATS = {
  parse: {
    dateInput: 'L',
  },
  display: {
    dateInput: 'LL',
    monthYearLabel: 'MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'MMMM YYYY',
  },
};

Works, thank you. But you there are still bug in official sample.


[RHDM-721] (master) Add JDG indexing support to OpenShift HA Authoring in RHDM

[RHDM-721] (master) Add JDG indexing support to OpenShift HA Authoring in RHDM
https://issues.jboss.org/browse/RHDM-721
Signed-off-by: David Ward<EMAIL_ADDRESS>Thanks for submitting your Pull Request!
Please make sure your PR meets the following requirements:

[ ] Pull Request title is properly formatted: [RHDM-XYZ] Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket
[ ] Attached commits represent units of work and are properly formatted
[ ] You have read and agreed to the Developer Certificate of Origin (DCO) (see CONTRIBUTING.md)
[ ] Every commit contains Signed-off-by: Your Name<EMAIL_ADDRESS>- use git commit -s

Labeled "on hold" until after QE approval.

Merging so others can start testing on the master branch with this functionality, which is required for 7.4.0.GA.


Remove deceptive indentation

Signed-off-by: Chip Bilbrey<EMAIL_ADDRESS>

@netsweng FYI

Thanks, folks. Hopefully this means less svosbld emails to us.


Add [[Phishing]] #malicious GDI7VR…QD66NJ

Address: GDI7VRHBUVRWRDAFR2UU2VRPJ6HWX4MDQD62D5QTKZCCHBGKR6QD66NJ
Tags: malicious
Title: [Phishing]
Requested by @c0x41lch0x41

Address used to disperse funds from phishing attack. Original addresses are GDLUDZY2M5AB3XQNADDHK43ZFXIJUECOLF2Y2AMKGISYBZHGAQ5EW7QT and GD3EF272CQAA4QJPOGT7RJOVDVRPWVG42TTNHKAAXMRVZBOYI3EJDFHH

@C0x41lch0x41
Please continue discussion on original posting on similar types of problems. Please supply any supporting information about these most likely fradulent accounts and activities. Facts need to be supplied to enable flagging a fradulent address.
https://github.com/stellar-expert/public-directory/issues/202


Observing parse error when MWDI is trying to get CC for cache

Fixes #736

Added a default mapping for control-construct that set manufacture-date field as a string to fix an issue with some equipment that set a not valid data in this field


Update README.md : How to init project with this repo?

https://github.com/lecaoquochung/docker-centos/pull/4


Please Add to NPM

Please add your directive to npm this way it can easily be used with things like browserify.

Here ya go: https://www.npmjs.com/package/angular-images-loaded
I don't really know if this will work with Browserify out of the box, I don't use it :blush:. Would appreciate any help/testing you can do.

Yah let me know when you update the repo so i can take a look at your package.json.

Just did :+1:

I would do an npm i angular imagesloaded --save that way it will include the dependencies needed for your lib.
Great work BTW and thanks for the directive.

Sweet, thanks.
I'm gonna close this - let me know if anything else is needed for Browserify to work.


run spring boot with kscript

I tried running
#!/usr/bin/env kscript

@file:DependsOn("org.springframework.boot:spring-boot-starter:2.0.4.RELEASE")

package my.package

import DependsOn
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.SpringApplication

@SpringBootApplication
class DummyApp

SpringApplication.run(DummyApp::class.java, *args)

it starts but fails with
ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.
	at org.springframework.util.Assert.notEmpty(Assert.java:450)

A comparable groovy/@Grab script with the same setup works, so I wonder if this is something that can/will never work with kscript due to design or is just a missing feature that can be achieved ...  somehow
I know that running complex spring boot apps with kscript seems to be out of scope, but I have quite a experimental microservices that require minimal coding and would benefit from a scripting approach ...

I actually love the use-case.
It's not working for me either. It's because we don't use spring's custom packaging method.
The problem seems to center around the missing META-INF/spring.factories. However, even if I patch the jar created by kscript internally to include the file, it fails with the same error.
So to progress here, we'd need to find  a way to provide META-INF/spring.factories via classpath. It seems partially documented under https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-auto-configuration.html#boot-features-developing-auto-configuration
In particular is says

Auto-configuration classes can be bundled in external jars and still be picked-up by Spring Boot.

So if we could find a way to run a spring-app without their deployment-scheme by providing an extra-jar that adds the missing META-INF/spring.factories the classpath, we could configure kscript to run it accordingly.

glad you like the idea ... unfortunately, I haven't looked that deep into how kscript is working (just was glad that it IS working :-), so I won't be much help until I do ... but I can do research and testing if required.
I found this https://stackoverflow.com/questions/38792031/springboot-making-jar-files-no-auto-configuration-classes-found-in-meta-inf quite useful ... but it more or less resembles what you already found.

I'd highly appreciate any help/research on this subject. I had stumbled over the same thread, but there was little practical advice about how to run a spring-boot app without jar-packaging.

Do you think the thin-profile could be a way to go? It seems to support dynamic loading of dependencies: https://www.baeldung.com/spring-boot-thin-jar

I'm not so sure. Whenever a custom build-file is required (e.g. doing something like apply plugin: 'org.springframework.boot') than we will struggle doing this in kscript, since we can (and do not really want to) can not mess with the build beyond classpath and compiler settings.
I personally find it an odd design choice by the spring people to force users to use a custom build-plugin.

It seems to work correctly in v4.2.1:
#!/usr/bin/env kscript

@file:DependsOn("org.springframework.boot:spring-boot-starter:2.0.4.RELEASE")

package my.pckg

import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.SpringApplication

@SpringBootApplication
open class DummyApp

SpringApplication.run(DummyApp::class.java, *args)

In an initial example, the package name was incorrect - package is a reserved word.
The latest version of Spring Boot does not work as it was compiled with a newer Java version, and in kscript, we are missing the way to provide a script compilation target. Anyway, the initial problem was resolved.


Invalid credentials / 401

Hi, thank you very much for your project.
I used some parts in a private system (with iobroker) to get the glucose data of my son. Since yesterday evening, I cannot login any more. It seems to be a 401 response ("Request failed with status code 401"), I've already created another user to watch, but still the same. The login method is (nearly) identical to yours.
I just want to know, if the error/problem is on my side, or did Abbott changed anything? As I am using an iPhone with LibreLinkUp (where both accounts are working without any problems) I cannot watch the (encrypted) network traffic.

hi @marcograwunder, I have not noticed any problems yet. The LibreLink Up servers were in maintenance mode a few times over the last couple of days. Have you checked again if it works now?

Thank you for your reply. Then I will need to check, if there is an error in my still not working code.


Precedence not explained before usage

https://plfa.github.io/Relations/
"We set the precedence of ≤ at level 4, so it binds less tightly than + at level 6 "
Levels of precedence are not explained before use. Binding is not explained, although a bit intuitive.  The use of 'infix' to talk about association is quite loose.

Precedence is explained in chapter Naturals, section Precedence.

Indeed, I overlooked that section. I'm still missing an overview of precedence levels, is that available? Or, as a user, how can I discover the precedence of an operator?


capabilities works fine on the emulator, kills the rest of the page on a real watch

The capabilities property seems to work fine on the emulator (from Cloudpebble), but when I run it on my watch the rest of the configuration page is lost after that field.  This happens with several different apps, but a much simpler app with an identical config file works fine.
Basalt watch, firmware 4.02, iOS app 4.1
I'll investigate further and add more details if I can.

Please post your config.json and custom function.
On Sep 16, 2016 4:47 AM, "PeterSumm"<EMAIL_ADDRESS>wrote:

The capabilities property seems to work fine on the emulator (from
Cloudpebble), but when I run it on my watch the rest of the configuration
page is lost after that field.
Basalt watch, firmware 4.02, iOS app 4.1
A much simpler app with an identical config file works fine.
I'll investigate further and add more details if I can.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pebble/clay/issues/139, or mute the thread
https://github.com/notifications/unsubscribe-auth/ADX8K7clLZ_Np7MJrRP8X4U9ZaF24wVyks5qqoHigaJpZM4J-23c
.

This is the source code for the project if that helps (it's open source).
The problem statements in config.js have been commented out.
moon_health_location_and_weather_watch (10).zip

You are initializing clay inside of a ready event (line 539). This will not work. Clay needs that event internally to obtain the capabilities.

Yep, that fixed it.  Sorry, I thought I'd tried that.
Thanks for your help.