FigShare support for 3.8.x

This adds support for the FigShare Oauth2.
The FigShareClient is based (extends) a modified GenericOAuth20Client. The necessary modification on GenericOAuth20Client is a second constructor that accept providers for Api20, ProfileDefinition, ProfileCreator and Logout url instances.

in FigShareApi20 we need to override createAccessTokenRequest in order to add these two parameters.

@Override
protected OAuthRequest createAccessTokenRequest(String code) {
   final OAuthRequest request = super.createAccessTokenRequest(code);
   request.addParameter(OAuthConstants.CLIENT_ID, getApiKey());
   request.addParameter(OAuthConstants.CLIENT_SECRET, getApiSecret());
   return request;
}

In FigShareProfileCreator we need to override signRequest in order to add the access token.

@Override
protected void signRequest(OAuth20Service service, OAuth2AccessToken accessToken, OAuthRequest request) {
  super.signRequest(service, accessToken, request);
  request.addParameter(OAuthConstants.ACCESS_TOKEN, accessToken.getAccessToken());
}

If you believe that GenericOAuth20Client is not the right starting point let me know.
This pull request seems to contain some merge commits and some commits that are already merged. I am not a git expert (yet). Maybe I need to rebase?

I disagree with the approach. All OAuth v2.0 clients inherit from the OAuth20Client base class and not from the GenericOAuth20Client. Can you try things this way? Thanks

I will give it a try.
Any suggestions on from which child of OAuth20Client should I copy from (as
a starting point) given the minimal implementation requirements of FigShare
as can been seen by this pull request?
Vassilis
On Fri, Sep 6, 2019 at 8:52 AM LELEU Jérôme<EMAIL_ADDRESS>wrote:

I disagree with the approach. All OAuth v2.0 clients inherit from the
OAuth20Client base class and not from the GenericOAuth20Client. Can you
try things this way? Thanks
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pac4j/pac4j/pull/1382?email_source=notifications&email_token=AA7BCOB5COPRVS3NOEZZLN3QIHV2HA5CNFSM4ITVEGRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6BZ6ZI#issuecomment-528719717,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7BCOCAGLDKZSDPTRDMFZDQIHV2HANCNFSM4ITVEGRA
.

--
Vassilis Virvilis

I would take a look at the FacebookClient as a very complete client implementation.

I think FigShare needs only a minimum implementation. I started from GenericOAuth20Client and trimmed everything not required.
What do you think about this one?

I forgot to revert this one. Now it should be ok.

I don't think I am using secondary attributes. I am not sure what they are
exactly. Should I delete them?
I will prepare the same pull request for 4.
Thank you for the review and guidance.
Vassilis
On Wed, Sep 11, 2019, 08:57 LELEU Jérôme<EMAIL_ADDRESS>wrote:

@leleuj approved this pull request.
It's good for the merge. Can you issue the same PR for the master branch?
Thanks
In pac4j-oauth/src/main/java/org/pac4j/oauth/client/FigShareClient.java
https://github.com/pac4j/pac4j/pull/1382#discussion_r323069512:

+package org.pac4j.oauth.client;

+import org.pac4j.core.redirect.RedirectAction;
+
+import org.pac4j.oauth.profile.figshare.FigShareProfile;
+import org.pac4j.oauth.profile.figshare.FigShareProfileCreator;
+import org.pac4j.oauth.profile.figshare.FigShareProfileDefinition;
+import org.pac4j.scribe.builder.api.FigShareApi20;
+
+/**

This class is the OAuth client to authenticate users in FigShare (using OAuth 2.0 protocol).

It returns a {@link com.biovista.org.pac4j.oauth.profile.figshare.FigShareProfile}.

More information at https://docs.figshare.com/old_docs/oauth/

@author Vassilis Virivilis

@since 3.8

Sorry fo the change version, but the 3.8.0 has been released. The next
version will be the 3.9.0.
In
pac4j-oauth/src/main/java/org/pac4j/oauth/profile/figshare/FigShareProfileDefinition.java
https://github.com/pac4j/pac4j/pull/1382#discussion_r323069808:

public String getProfileUrl(OAuth2AccessToken accessToken, OAuth20Configuration configuration) {

   return "https://api.figshare.com/v2/account";

}

@Override
public FigShareProfile extractUserProfile(final String body) {

   final FigShareProfile profile = newProfile();

   final JsonNode json = JsonHelper.getFirstNode(body);

   if (json != null) {

       if (getProfileId() != null) {

           profile.setId(ProfileHelper.sanitizeIdentifier(profile, JsonHelper.getElement(json, getProfileId())));

       }

       for (final String attribute : getPrimaryAttributes()) {

           convertAndAdd(profile, PROFILE_ATTRIBUTE, attribute, JsonHelper.getElement(json, attribute));

       }

       for (final String attribute : getSecondaryAttributes()) {

You don't have defined secondary attributes, do you? ->
https://github.com/pac4j/pac4j/pull/1382/files#diff-cacc8a71e4c5a4fe69b0016e9309420dR26
In pac4j-oauth/src/main/java/org/pac4j/oauth/client/FigShareClient.java
https://github.com/pac4j/pac4j/pull/1382#discussion_r323070034:

+package org.pac4j.oauth.client;

+import org.pac4j.core.redirect.RedirectAction;
+
+import org.pac4j.oauth.profile.figshare.FigShareProfile;
+import org.pac4j.oauth.profile.figshare.FigShareProfileCreator;
+import org.pac4j.oauth.profile.figshare.FigShareProfileDefinition;
+import org.pac4j.scribe.builder.api.FigShareApi20;
+
+/**

This class is the OAuth client to authenticate users in FigShare (using OAuth 2.0 protocol).

It returns a {@link com.biovista.org.pac4j.oauth.profile.figshare.FigShareProfile}.

More information at https://docs.figshare.com/old_docs/oauth/

@author Vassilis Virivilis

@since 3.8

Forget about the version, I'll release a version 3.8.1.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pac4j/pac4j/pull/1382?email_source=notifications&email_token=AA7BCOAY3TGJC7HMRDNH62TQJCCGDA5CNFSM4ITVEGRKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCEKKXFQ#pullrequestreview-286567318,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7BCOC6N5MKGJ473TS5QNLQJCCGDANCNFSM4ITVEGRA
.

You don't use secondary attributes, you would need some secondary method call in addition to the primary one. You can remove them.

ok will do for both branches
On Thu, Sep 12, 2019 at 9:09 AM LELEU Jérôme<EMAIL_ADDRESS>wrote:

You don't use secondary attributes, you would need some secondary method
call in addition to the primary one. You can remove them.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pac4j/pac4j/pull/1382?email_source=notifications&email_token=AA7BCOCSLZSWEAXZRPN3P5TQJHMLNA5CNFSM4ITVEGRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6QYT3I#issuecomment-530680301,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA7BCOFSTY2S6HVS3ZOW62LQJHMLNANCNFSM4ITVEGRA
.

--
Vassilis Virvilis


Pipeline deploy to Prod and Test

Describe the Task
Use example in Lucy-web

Worked correctly in Test.  The prod environment is the exactly same (the only manual intervention needed is to create the secrets, which I have done), so there should be no issues running it there.
Any failures in either environment are almost certainly resource related, though the recent replica changes I made to reduce the number of pods in test and prod should fix that.

Worked correctly in Test.  The prod environment is the exactly same (the only manual intervention needed is to create the secrets, which I have done), so there should be no issues running it there.
Any failures in either environment are almost certainly resource related, though the recent replica changes I made to reduce the number of pods in test and prod should fix that.


Add ItemStack#getName()

Add a way to get the name of an ItemStack.
I know there is a way to get the name of an ItemType, but what if I want to get name of "Dark oak wood planks", using the itemtype.getName() I would get "Oak wood planks".

There's DisplayNameData, is that what you're looking for?
stack.getData(DisplayNameData.class)

No, this is for when there's no display name.

That are only custom names right?

Right. DisplayNameData is only for custom names.

Do you need that info as a String as a Text as a serializable type reference?
In case you need it as a Text:
Are you trying to achieve something like this?
(itemtype.getTranslation())
That is part of my PR for Texts.format(Text, Object...)
Which adds an interface TextRepresentable that adds a toText() method. (To ItemStacks for example)

Still is getItem().getTranslation() used, which means it is the name of the item TYPE.
Which means when I am holding dark oak wood planks, it still returns "Oak Wood Planks".

I'll add that along with my Texts.format(...) PR. https://github.com/SpongePowered/SpongeAPI/pull/779
ItemStack is Translateable:
https://github.com/SpongePowered/SpongeAPI/pull/779/files#diff-4c2479ff4e36671c9caf62d8c72b0c6aR42
Implementation:
https://github.com/SpongePowered/SpongeCommon/pull/108/files#diff-c9d7cd27f2737b8ce29169fd34062682R119
Looks like this when obfuscated:
return new SpongeTranslation(func_77973_b().func_77667_c((ItemStack)this) + ".name");

This is fixed now. PR #779 has been merged.
ItemStack.getTranslation()


verify is not a function

I'm testing out the new feature and i'm getting an error:
MultiroleModal-Contact.vue?eb29:3547 Uncaught (in promise) TypeError: this.$validator.verify is not a function
at VueComponent._callee$ (eval at 306 (0.3f0ca7881e1c75d294c3.hot-update.js:7), :1177:32)
at tryCatch (eval at  (app.js:3339), :65:40)
at Generator.invoke [as _invoke] (eval at  (app.js:3339), :303:22)
at Generator.prototype.(anonymous function) [as next] (eval at  (https://<IP_ADDRESS>:8018/app.js:3339:1), :117:21)
at step (eval at  (app.js:2822), :17:30)
at eval (eval at  (app.js:2822), :35:14)
at new Promise ()
at new F (eval at  (app.js:816), :35:28)
at VueComponent.eval (eval at  (app.js:2822), :14:12)
at VueComponent.keyMonitor (eval at 306 (0.3f0ca7881e1c75d294c3.hot-update.js:7), :1750:17)
i'm using your code exactly as you showed in your demo.
			```
                            import { Validator } from 'vee-validate';
			const v = new Validator()
			const { valid, errors } = await v.verify('test', 'max:3')
			// const { valid, errors } = await this.$validator.verify('test', 'max:3');
			// the valid prop indicates the result of validation.
			console.log(valid); // false
			// The `errors` is an array of error strings.
			console.log(errors); // ["The {field} field may not be greater than 3 characters."]

My apologies my code was not updating by NPM it was using my previous version of the page somehow. It works beautifully!!!!


Sankey Filtering

Sankey chart shows 96 out of 103 user actions, but the actions currently filtered out doesn't list the 7 (103-96) actions.

refactored calculation for "actionsShown". Between X and Y should now match and correct actions shown in popup.
Note: this does not currently safely handle repeated action names across apps, e.g. "Loading page /" across 5 apps.


HIVE-28286: Add filtering support for get_table_metas (Naveen Gangam)

What changes were proposed in this pull request?
Currently the filterTableMetas() method in the HiveMetastoreAuthorizer is a no-op. It returns the full set of tables that are passed into it. This prevents any filtering that is to be done.
This PR adds logic to be able to filter out the ones that the user does not have access to.
Why are the changes needed?
To enhance security in HMS.
Does this PR introduce any user-facing change?
No
Is the change a dependency upgrade?
No
How was this patch tested?
Tested manually in a Ranger enabled environment.

@jfsii Could you review this change please?


Changed references from python or python3 to py for Windows in docs

for windows.
On Windows, Python is not installed on the system path by default.  For this reason, Python for Windows has the Python launcher, invoked as "py" on the command line, and "py -m" to use the script as an imported module. Also, the script to activate the virtual enviroment in Windows for both venv and virtualenv is <name_of_virtualenv>\Scripts\activate.bat
This will make tutorial work correctly whether or not the python interpreter is on the path.
PR Checklist:

[x] All new features have been tested
[x] All new features have been documented
[x] I have read the CONTRIBUTING.md file
[x] I will abide by the code of conduct

Closing this to revert some changes.


Master to Live 4/15/2019

Docs Build status updates of commit 53a5341:
:warning: Validation status: warnings

File
Status
Preview URL
Details

mixed-reality-docs/mrtk-porting-guide.md
:warning:Warning
View
Details

mixed-reality-docs/advanced-performance-recommendations.md
:white_check_mark:Succeeded

mixed-reality-docs/ensure-optimal-user-experience.md
:white_check_mark:Succeeded

mixed-reality-docs/images/HoloLens2_Icon.jpg
:white_check_mark:Succeeded
View

mixed-reality-docs/mrtk-porting-guide.md

[Warning] Author author:grbury cannot be recognized in GitHub.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Less panic

Per https://github.com/googlefonts/fontations/pull/391#pullrequestreview-1420973645, I'm not comfortable with the amount of panic in some parts of write-fonts.

I think part of what is going on here is a misunderstanding of parts of that function? In particular there are lots of uses of expect, but here I'm using expect to express the invariants under which the function is called.
Maybe it would be easiest if I go through the code in question, and explain why I'm doing various panicky-looking things, and why it's okay?
pub(crate) fn serialize(&self) -> Vec<u8> {
    fn write_offset(at: &mut [u8], len: OffsetLen, resolved: u32) {
        let at = &mut at[..len as u8 as usize];
        match len {
            OffsetLen::Offset16 => at.copy_from_slice(
                u16::try_from(resolved)
                    .expect("offset overflow should be checked before now")
                    .to_be_bytes()
                    .as_slice(),
            ),
            OffsetLen::Offset24 => at.copy_from_slice(
                Uint24::checked_new(resolved)
                    .expect("offset overflow should be checked before now")
                    .to_be_bytes()
                    .as_slice(),
            ),

these 'expect' statements are merely stating the invariant that serialize should not be called if overflows have occurred, and that this has been checked before now. If this is not true, it means a major bug has been introduced, and a crash is appropriate; this is not recoverable, and should never happen during normal use.
            OffsetLen::Offset32 => at.copy_from_slice(resolved.to_be_bytes().as_slice()),
        }
    }

    assert!(
        !self.order.is_empty(),
        "graph must be sorted before serialization"
    );

Ditto: this assert checks an invariant; it should always be true during normal operation.
    let mut offsets = HashMap::new();
    let mut out = Vec::new();
    let mut off = 0;

    // first pass: write out bytes, record positions of offsets
    for id in &self.order {
        let node = self.objects.get(id).unwrap();

it is an invariant that each ObjectId referenced in the graph corresponds to an object in that graph.
        offsets.insert(*id, off);
        off += node.bytes.len() as u32;
        out.extend_from_slice(&node.bytes);
    }

    // second pass: write offsets
    let mut table_head = 0;
    for id in &self.order {
        let node = self.objects.get(id).unwrap();
        for offset in &node.offsets {
            let abs_off = *offsets
                .get(&offset.object)
                .expect("all offsets visited in first pass");

this cannot panic because we iterated all objects in the first pass, and added them to the offsets map
            let rel_off = abs_off - (table_head + offset.adjustment);
            let buffer_pos = table_head + offset.pos;
            let write_over = out.get_mut(buffer_pos as usize..).unwrap();

this unwrap is safe because offset.pos refers to a byte position relative to the containing table, and as out is a concatenation of the bytes in all tables, and table_head is the position in out of the start of this particular table, then offset.pos + table_head must be in bounds for out.
            write_offset(write_over, offset.len, rel_off);
        }
        table_head += node.bytes.len() as u32;
    }
    out
}

And so ultimately, despite the presence of various unwraps and unchecked indexing operations in this particular function, there is nothing that should ever actually panic in use.
It's important to remember that this is not public API; it is only called as part of the overall compilation process (currently the dump_table free fn) and so before it is called we have already checked our various invariants and returned errors where appropriate (such as when we cannot find an appropriate table packing)
In any case, excuse the length of this response, but I felt this issue suggested a fundamental misunderstanding of what was going on in the code in question.

I understand that the intent is it's safe, and in abstract I"m ok with unwrap where we can convince ourselves it's definitely going to succeed. That said, this specific use feels dangerous. We've got a bunch of unwrap and expect in some reasonably thorny code. It's very easy to imagine a small logic error here leading to a server crashing instead of just failing some requests, or some future coder making a change that someone who isn't you approves, and now we can get into a state we shouldn't and kaboom.
Perhaps this is the key point I'm not sure I agree with: a major bug has been introduced, and a crash is appropriate - I don't want the crash in a server and I might put write-fonts on a server. A panic here when it turns out some font hits a bug can take me from "omg, that release fails some% of traffic" to "omg, we have a query of death" (https://sre.google/sre-book/addressing-cascading-failures/#process-death).
So, how can we code it to not be so? Can we leverage ? instead of unwrap, have a Result for "omg, the thing that wasn't supposed to happen actually did"? Can we somehow lean on the type system more?

I'm not sure I follow why it is impossible to have a bug such that for some tables the graph packs incorrectly and serialize fails but not for all?
Maybe a succesful pack could return something that encapsulates the panicky access that is passed to serialize, and we document in painstaking detail there why it's definitely impossible to have a bug that makes it fail?

if you encounter a condition that indicates a flaw in the application logic, you should terminate the process

I vigorously dispute that termination is always appropriate; a library can't be sure of that.
More directly, we cannot approach fontations in this way because then we wouldn't want to ship to servers or end-user devices.

we only call serialize if packing is successful.

Maybe that should be explict? E.g. you either pass in something you get from pack to call serialize or serialize it called upon, and consumes, the success result of a pack? That is, what about encapsulating it and making it impossible to call serialize w/o a successful pack.

of course it is possible to write bugs

I agree!

it would be trivial to replace all this panicking with code that fails silently

Why would it need to be silent? Just tell the caller you failed? - Result strikes me as resolving both concerns: it's not process fatal and it can be logged, tracked, or even taken as a signal to abort by a higher level that has greater context wrt what is desirable.


adding IAM Role support

Adding gantree code for IAM role and also ENV backward compatibility support

@beso323  Can you please review this PR ? Unable assign to you using Assignee option.

@beso323  Can you please review this new set of files ?
I have added travelling ruby branch code + wrapper script fix + iam role fix

great, lgtm, merging.


Use EF Design APIs to get DbContext instance from user code.

Instead of trying to host user's app to get the DbContext, while scaffolding, let EF run its magic.
Fixes #339
cc @mlorbetske, @bricelam

:up: :date: to use DbContextOperations instead of StartupInvoker

LGTM, but we should close on whether Scaffolding should use internal APIs or if we need to add a public API on our side.

:shipit:

The API doesn't seem to be working on net45x projects.
It throws an error
No parameterless constructor was found on 'CarContext'. Either add a parameterless constructor to 'CarContext' or add an implementation of 'IDbContextFactory<CarContext>' in the same assembly as 'CarContext'. StackTrace:
   at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.<>c__DisplayClass12_3.<FindContextTypes>b__13()
   at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func`1 factory)
   at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(String contextType)

@bricelam Any ideas?

Figured out the problem. When the DbContextOperations api tries to configure services, it ends up calling
services.AddMvc(), which tries to load the assembly.
Matching the name of the assembly to the one on disk for net451 fixes the issue.


BIGINT response issue after upgrading from 0.8.0

Howdy! We are trying to upgrade from 0.8.0 to 0.9.1 and are trying to figure out how to deal with a breaking change that popped up. We are doing some pretty simple queries on parquet files, and for columns of type BIGINT we are seeing an "n" appended to each value where is wasn't previously. So, response from a simple db.all("SELECT * FROM read_parquet('.../someFile.parquet')", (err: any, rows: TableData) => { ... }) results in the rows being:
0.8.X
[     { col1: 1, col2: 2, col3: 4 },     { col1: 2, col2: 5, col3: 15 },     { col1: 3, col2: 9, col3: 81 }   ]
0.9.1
[     { col1: 1n, col2: 2n, col3: 4n },     { col1: 2n, col2: 5n, col3: 15n},     { col1: 3n, col2: 9n, col3: 81n }   ]
I don't see anything listed in the migration guide that would indicate a change resulting in this behavior, is it a known thing? Also just tested with other types and INTEGER/HUGEINT actually work as expected, so for now we can swap to HUGEINT...just figured I should bring it up.

Actually getting the same behavior as a result of "read_csv_auto" with integer values, so that will be a blocker for us I suppose.

Cross-posted in the main repo with the repro steps as well: https://github.com/duckdb/duckdb/issues/9586

Resolved in main repo


Adds support for regex in URI templates

To be more precise, it allows them not to fail. There's no verification
of the regular expression against the value that is passed.
This allows one to use regular expressions in URI templates for other
clients of the API.
I added a test with regex to validate the PR.

Thanks for accepting the PR. Any idea about next release ? ;)

+1 for the next release :-)

Any news about next release?

will cut a release today or tomorrow as time permits.

Thanks for the answer ;)

@rsertelon FYI: 2.0.3 is released but the change log and release announcement are pending.

Thanks ;)


Stop generating random postal codes so that county lookup works

Summary
Work done as part of B-18798 and upcoming work as part of B-18799 will require valid zip codes so that county lookups can be completed.
The use of fake.postcode() was generating random zip codes that are invalid, which would cause the county lookup to fail when trying to patch the service member.

Zip code is for Dickinson county

Zip code is for Dickinson county

It is - any issue with that one?


Make tests parallel.

On my local machine the tests improved from 99s to 50s.
I currently used a batch approach to add t.Parallel. Not all packages had significant benefit, but tried to replace as many to have t.Parallel used consistently.
There are places where I didn't replace, because they require some more effort to replace.
All commits are individually reviewable - or if the non-significant improvements aren't necessary for packages, then we can remove those commits.

Note, I just realized that I edited some generated code, will fix in a bit.

Comparison of test runtime: https://gist.github.com/egonelbre/720ee94004ef37d9926627c6e4fed02d

Looks like there's a new failure that is sporadic in mat/TestDenseMul. I'll look in to it.

@kortschak after reviewing a bit, this suggests to me that some other test either modifies the testMatrices. Such flakiness could also happen with rand giving values that the code doesn't know how to handle, however, in this case it doesn't look like rand is used in TestDenseMul.

Yes, those were my suspicions too. The makeRandOf case should be fixed.

With https://gist.github.com/egonelbre/aeec9f26c7d8e62ce64eebc78d543c29 and go test -count 100 -failfast . it fails quite fast for me.

I've sent #1291 to address this.

BTW It would be good to have a look at one of those failing cases, just to make sure we're not papering over something.

For example trying to debug the it further it's getting:
    list_test.go:1313: Answer mismatch non-zero receiver: *mat.Dense.Mul(*mat.Dense, *mat.SymDense), sizes: struct { ar int; ac int; br int; bc int }{ar:2, ac:2, br:2, bc:2}, atrans true, btrans false
        A=
            ⎡ 0.5591351826376594  0.32575892467275946⎤
            ⎣0.29137243197115714   0.2868964560092573⎦
        B=
            ⎡0.018567058293321392    0.3077178510998605⎤
            ⎣  0.3077178510998605   0.20718225824279746⎦
        neverZero before=
            ⎡0.9172763622957576  0.5563345111752376⎤
            ⎣0.9573264232865906  0.7287975046717311⎦
        Want=
            ⎡0.11062333180678319  0.23954734653203624⎤
            ⎣0.09369308986080961   0.1491003542737581⎦
        neverZero=
            ⎡0.11062333180678319  0.23954734653203624⎤
            ⎣                NaN   0.1491003542737581⎦
FAIL

It's not clear to me what is happening here, replicating that in a standalone does the correct thing.
https://play.golang.org/p/vAvxlLs33Kd

@kortschak yeah, it's super weird. Could some test be corrupting stacks? Alternatively, is this a compiler bug? I cannot explain where the NaN comes from.

Btw, are you able to reproduce locally?

I will take a look tomorrow.

OK, I had a quick look and I can reproduce it. I can also stop it by inactivating the workspace pool for *Dense; so something is contaminating that. I will look into it further tomorrow.

OK. It looks like its contamination of the pool, probably with the NaN and that the gonum implementation of Dsymm is incorrectly handling the case when the beta parameter is zero. This can be shown by changing the false to true in the two calls to getWorkspace in the *SymDense case of type switch in the Mul method with the changes you have above. Obviously this is not the correct fix  since it does double work.
I'll have a look at Dsymm later today.


Solvable synthesis

Added a new action for synthesizing solvable loops by replacing the defective variables with a fresh variable (if possible). The returned output is a list of solvable programs.
How to Test:
python polar.py benchmarks/defective/non-lin-markov-1.prob --synth_solv 2
python polar.py benchmarks/defective/squares.prob --synth_solv 1
The parameter passed to --synth_solv is the degree of the invariant (combination) used for the search.
You may add also add the simultaneous assignment, n = n + 1, m + 2  to squares.prob.

Fixed bugs with effective variables.
Input 1:
while true:
    x = x + 1
    y = y + x
    z = z**2
end

Output 1:
while true:
    _t4 = 1 + x
    _t5 = 1 + x + y
    x = _t4
    y = _t5
end

Sample 2:

while true:
s = Bernoulli(1/2)
if s == 0:
x, y = x + xy, (1/3)x + (2/3)y + (xy)
else:
x, y = x + y + (2/3)xy, 2y + (2/3)(x*y)
end
z = z**2
m = m + 1
n = m + 2
end
Output 2:

while true:
_t16 = 1/2
_s15 = (13/18)*_s15
_t17 = 1 + m
_t18 = 3 + m
s = _t16
m = _t17
n = _t18
end


Implement parallel argsort

Hello @AlexanderKalistratov! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/functions/sort.py:

Line 65:33: E128 continuation line under-indented for visual indent
Line 338:96: W292 no newline at end of file


Increment podspec version to 0.11.0

HanekeSwift should release a new version to CocoaPods, so that users with the README.md-recommended pod 'HanekeSwift' line in their Podfile will see the latest Swift 3 changes.
As I commented on #379, the following steps are necessary to release a new version to CocoaPods:

[ ] Update s.version to 0.11.0 in HanekeSwift.podspec and validate by running pod lib lint

Merging this PR will complete this step

[ ] Create a tag 0.11.0 on GitHub

Any maintainer of this GitHub repo, like @dcharbonnier, can complete this step once this PR is merged

[ ] Publish to CocoaPods by running pod trunk push HanekeSwift.podspec

Only @hpique can complete this final step
Alternatively, @hpique can register another contributor with CocoaPods, and that new contributor can complete this final step

Completing these three steps will satisfy #397.

Could somebody please accept this pull request?? Thank youuu
@hpique

7 +1's and a comment (now two), we really need this :)
Swift 3 was officially released in September 2016, lagging this far behind is really annoying. Please merge this MR.

Use the github source for your cocoapod. Cocoapod won't be released, nobody has access to it.

Specifying the github source directly will suffice for Podfile's but does not solve problems with .podspec's. For us this will mean we need to switch to another library or write one ourselves/fork.
Is there some way to get ownership of the Cocoapods spec back?

@dcharbonnier You can claim a pod through this form: https://trunk.cocoapods.org/claims/new

So, @dcharbonnier is the implication of your post that @hpique is no longer available and thus there is no one to complete the final step above?


OLS4 feedback

Looks good! Thanks for all you do. Just two very small requests, if possible:

In OLS3, we could bookmark, eg, EFO ontology results only (https://www.ebi.ac.uk/ols/search?q=&submit1=1&ontology=efo). It doesn't seem to be possible with OLS4?

When searching the homepage for a term (https://www.ebi.ac.uk/ols4/), pressing enter takes you to the next page okay. But when searching from the subsequent page (eg. https://www.ebi.ac.uk/ols4/search/apnea?exactMatch=false&includeObsoleteEntities=false&isDefiningOntology=true) and pressing enter, the suggested terms box remains until you click off it:

Thanks! these are both bugs :)

We now support q, ontology and type path parameters in search. Please do note that type and ontology can only accept one value at a time.

They should support multiple values to be compatible with OLS3. Will open separate issue

Cool. It is easily testable since the search parameters are directly passed to the API.


Access policy has to be on managed identity directly, Azure AD group not working!

I noticed that a key vault reference works just fine if the managed identity of the function app has been used in setting the access policy directly. If I put the managed identity within a Azure AD group and use it in the access policy, it just doesn't work. I even gave the group Key vault contributor rights on the resource group in which the key vault resides.
I don't want every app's managed identity in the access policy list. A group makes it more convenient.
Why isn't this working, it makes no sense?

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

ID: 7feaa3d0-7233-a3cb-cb9b-a9a55b1f0d7a
Version Independent ID: f41f9d51-52f8-1f45-1043-1344a3b74458
Content: Use Key Vault references - Azure App Service
Content Source: articles/app-service/app-service-key-vault-references.md
Service: app-service
GitHub Login: @mattchenderson
Microsoft Alias: mahender

@upmygit Thanks for the feedback! We are currently investigating and will update you shortly.

@upmygit Thanks for asking question! To elaborate on this managed identities tend to cache tokens and that sometimes causes a delay in the policies and group memberships taking effect.
A restart of the resource might be helpful. Also, ensure that your managed identity is not part of too many groups (upper limit of ~200).

Well now, Azure AD group does work but it takes a long long time for it to work.
Only the next day I saw the check turned green. I did no measurements but it must have been at least a few hours. This makes it almost useless since settings change, and it should work within a few seconds.
Is this normal?

@upmygit Thanks for reply. To clarify on this when assigning the identity to the group manually, it shouldn't take time but when using dynamic group, where specifying some query like name starts with 'A' then that account should be added to group, and that takes time.
You may refer to for more details: https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/groups-create-rule

No, it is a normal Azure AD group, not a dynamic group. It takes many hours for it to work in conjunction with key references. Assigning access to the key vault directly with the managed identity works very fast, so why is it so darn slow when the identity is in a group. It shouldn't take such a long time.

@upmygit Thanks for the clarification. Could you please send an email to AzCommunity[at]Microsoft[dot]com referencing this issue, we would like to work closer with you on this matter.

Did you every find a solution for this, we have the same problem.

Nope. I just wrote a powershell script to make direct assignments for function app managed identities. I need access policies to work within seconds, I can't wait for AAD slowness.

We have this same issue repeatedly and causes delays when getting new services created.

App service is created
System managed principal is assigned
Principal is added to AAD group that has an access policy with KV
Application can access KV sometime many hours later (often the next day), or sometimes after an app service restart several hours after being assigned to the AAD group

We are also experiencing issues due to this. Our environments are deployed via automation. But this is causing additional work-arounds.

I also just ran into this completely unexpectedly. For me it seems to be at least 8 hours before Key Vault applies any update to Managed Identities in AAD Groups for Azure Functions. Even removing and re-adding the group to the Vault Access Policy has no effect.

After 12 hours still does not work. This feature is useless. I will try with user assigned managed identity. I can assign it to many resources so it should be enough to

The should be because Managed Identity will be cached the token around 24 hours in back-end service, it will get the cached one until it's expired (https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity?tabs=portal%2Chttp#configure-target-resource)

You could give a quick check by using MSI-Validator (https://techcommunity.microsoft.com/t5/apps-on-azure-blog/managed-identity-for-azure-app-services/ba-p/1711597) to get the token back.
Then used the https://jwt.io/ to decode the token and see the expiration date and group information in the token:


TSP: Stream a Tokenized HLS input

I've got an HLS input which has a Token in order to play it
This works great with VLC and FFMPEG
But when I try to use TSP -I hls
Then it gives: Error: hls: invalid HLS playlist, does not start with #EXTM3U
Which I believe it's simply not taking the Token HLS URL
Is there anyway to make this work like with ffmpeg and vlc ?

The hls input plugin is a rudimentary gateway between the HLS and TS worlds. It does not perform any HLS encryption or authentication. It works only on clear and open streams. It also only works on TS content, not fragmented MP4.

From doing a "dump" using ffmpeg, it seems like the source is a TS
Are there any details I can give you (other then the stream, as it's private, can't put it on public) to assist?

Are there any details I can give you (other then the stream, as it's private, can't put it on public) to assist?

Please provide the complete tsp command with debug output. The command should be something like:
tsp --debug -I hls ... -O drop

I did the command like you wrote, here is the result (minus the source name, i can't distribute it)

tsp --debug -I hls https:// -O drop
tsp: Debug: debug level set to 1

Debug: debug level set to 1
tsp: Debug: trying to load C:\Actus\Bin\tsplugin_hls.dll
tsp: Debug: symbol tspNewProcessor not found in C:\Actus\Bin\tsplugin_hls.dll
tsp: Debug: trying to load C:\Actus\Bin\tsplugin_drop.dll
tsp: Debug: symbol tspNewInput not found in C:\Actus\Bin\tsplugin_drop.dll
tsp: Debug: symbol tspNewProcessor not found in C:\Actus\Bin\tsplugin_drop.dll
tsp: Debug: realtime: yes, using --max-input-packets 1,000 --max-flushed-packets 1,000
Debug: hls: debug level set to 1
Debug: drop: debug level set to 1
Debug: tsp: buffer size: 89,240 TS packets, 16,777,120 bytes
Debug: hls: downloading https://
Debug: hls: HTTP header: HTTP/1.1 200 OK
Debug: hls: HTTP header: Server: Apache
Debug: hls: HTTP header: ETag: "6937b01271a16ff0041e298c8e7b6960:1559113297"
Debug: hls: HTTP header: Last-Modified: Wed, 29 May 2019 07:01:37 GMT
Debug: hls: HTTP header: Accept-Ranges: bytes
Debug: hls: HTTP header: Content-Length: 2077
Debug: hls: announced content size: 2077 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: Set-Cookie: hdnea=exp=1559210655~acl=%2f*~hmac=748a4e32e47ea4eebac08163bb72f07baa2de93bf732675b895ad7f165ce5e72; path=/; domain=fncgohls-i.akamaihd.net;
Debug: hls: HTTP header: Set-Cookie: alid=93WaRySEs7fXndmlShU7nw==; path=/hls/live/263399/FNCGOHLSv2/; domain=fncgohls-i.akamaihd.net
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
hls: downloaded *~hmac=d36f0c1417d15f68746c95c852fcaf958060fdd6e905b5b3cfe91a850f9a93ca, master playlist, static, 8 media playlists
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_0_2564000.m3u8, 1280x720, 3,321,588 b/s, @60 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_0_2564000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_0_2564000.m3u8, 1280x720, 3,321,588 b/s, @60 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_0_2564000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_1_1264000.m3u8, 768x432, 1,682,678 b/s, @30 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_1_1264000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_1_1264000.m3u8, 768x432, 1,682,678 b/s, @30 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_1_1264000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_2_664000.m3u8, 768x432, 906,120 b/s, @30 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_2_664000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_2_664000.m3u8, 768x432, 906,120 b/s, @30 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_2_664000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_3_364000.m3u8, 256x144, 508,358 b/s, @30 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_3_364000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
hls: selected playlist: https://<....>Fox_News_v2_VIDEO_3_364000.m3u8, 256x144, 508,358 b/s, @30 fps
Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_3_364000.m3u8
Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
Debug: hls: HTTP header: Server: AkamaiGHost
Debug: hls: HTTP header: Mime-Version: 1.0
Debug: hls: HTTP header: Content-Length: 175
Debug: hls: announced content size: 175 bytes
Debug: hls: HTTP header: Expires: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Cache-Control: max-age=0, no-cache, no-store
Debug: hls: HTTP header: Pragma: no-cache
Debug: hls: HTTP header: Date: Wed, 29 May 2019 10:04:16 GMT
Debug: hls: HTTP header: Connection: keep-alive
Debug: hls: HTTP header: X-Object-Too-Old: false
Debug: hls: HTTP header: Access-Control-Allow-Headers: origin,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Expose-Headers: Server,range,hdntl,hdnts
Debug: hls: HTTP header: Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Debug: hls: HTTP header: Access-Control-Allow-Origin: *
Debug: hls: HTTP header: Content-Type: application/x-mpegURL
Debug: hls: MIME type: application/x-mpegurl
Error: hls: invalid HLS playlist, does not start with #EXTM3U
Error: hls: no more media playlist to try, giving up
Debug: Report logging thread terminated

* Debug: hls: HTTP header: Content-Type: application/x-mpegURL
* Debug: hls: MIME type: application/x-mpegurl
* hls: downloaded *~hmac=d36f0c1417d15f68746c95c852fcaf958060fdd6e905b5b3cfe91a850f9a93ca, master playlist, static, 8 media playlists
* hls: selected playlist: https://<....>Fox_News_v2_VIDEO_0_2564000.m3u8, 1280x720, 3,321,588 b/s, @60 fps
* Debug: hls: downloading https://<....>Fox_News_v2_VIDEO_0_2564000.m3u8
* Debug: hls: HTTP header: HTTP/1.1 403 Forbidden
* Debug: hls: HTTP header: Server: AkamaiGHost
....
* Error: hls: no more media playlist to try, giving up
* Debug: Report logging thread terminated

The akamai server returned a master playlist with 8 media playlists, typically with different bitrates and resolutions. The hls plugin tries them all, one by one, and they all fail with status 403 Forbidden.
The master playlist is returned with 2 cookies. These cookies are currently not sent with the subsequent requests for media playlists. This may be the cause for the access denial. But, even with the cookies, I do not know if this would allow the TS download in case of token encryption.
I can make the modification but I need to test on the actual stream.

I can give you the actual URL, as long as it's not publicized here. (can I private message?)
Note that both VLC and FFMPEG are opening the URL without any problem.
I think the 403 Forbidden is occurring, as TSP is not inserting the Token for the HLS

Thanks for the link. It seems that there is only a cookie-based authentication but no encryption.
I added the transmission of the cookies from the master playlist to media playlists and to media segments. It now works. Propagating the cookies was sufficient to perform authentication.

Oh! That was quick! Thank you!
So is there a new build or his dll that I can get ?
On Wed, May 29, 2019, 19:49 Thierry Lelegard<EMAIL_ADDRESS>wrote:

Thanks for the link. It seems that there is only a cookie-based
authentication but no encryption.
I added the transmission of the cookies from the master playlist to media
playlists and to media segments. It now works. Propagating the cookies was
sufficient to perform authentication.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tsduck/tsduck/issues/309?email_source=notifications&email_token=AMGHXU4KU572Z4AP5ZISEKTPX2XY7A5CNFSM4HQJLL4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWP6NUI#issuecomment-497018577,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMGHXUZWBIHKWJBQU6AJEZDPX2XY7ANCNFSM4HQJLL4A
.

So is there a new build or his dll that I can get ?

No. Only official releases have published binaries. The next one will be published somewhere in June.
To get the latest updates, you need to build TSDuck yourself as explained here. This is easy. Many users rebuild TSDuck routinely.

I'm not a developer or anything like that
Never build a project and I don't have the tools.
Is there any chance you can just send me the fixed file you have? June is
just around the corner anyway :)
On Wed, May 29, 2019, 22:53 Thierry Lelegard<EMAIL_ADDRESS>wrote:

So is there a new build or his dll that I can get ?
No. Only official releases have published binaries. The next one will be
published somewhere in June.
To get the latest updates, you need to build TSDuck yourself as explained
here https://tsduck.io/doxy/building.html. This is easy. Many users
rebuild TSDuck routinely.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tsduck/tsduck/issues/309?email_source=notifications&email_token=AMGHXU65OGBSTR7G6SVUNR3PX3NKHA5CNFSM4HQJLL4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWQOVQQ#issuecomment-497085122,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMGHXU6JR5MZIM3VIFF7QEDPX3NKHANCNFSM4HQJLL4A
.

OK, I pushed some fresh binaries here: https://tsduck.io/download/prerelease/
From the debug traces you posted, I assume you are working on Windows.

Thank you ever so much for the help! much appreciated! :)


should we validate cohorts at each step?

@nmercadeb @catalamarti I think we did discuss this before and decided not to validate the cohort at each step to be more performant, but maybe we should think about this again. Below for example I can pass dates out of observation, but maybe the default should be to validate and error? I suppose in the example below, we have the choice whether this should be no error (like now), cause an error (which would happen if we passed cohort validation internally), or the record should be dropped.
library(CohortConstructor)
cdm <- mockCohortConstructor(tables = list(
"cohort" = dplyr::tibble(
  cohort_definition_id = 1,
  subject_id = c(1, 2, 3, 4),
  cohort_start_date = as.Date(c("2000-06-03", "2000-01-01", "2015-01-15", "2000-12-09")),
  cohort_end_date = as.Date(c("2001-09-01", "2001-01-12", "2015-02-15", "2002-12-09")),
  date_1 = as.Date(c("2001-08-01", "1900-01-01", "2015-01-15", "2002-12-09")),
  date_2 = as.Date(c("2001-08-01", NA, "2015-02-14", "2002-12-09"))
)
))
cdm$cohort <- cdm$cohort |>
  entryAtFirstDate(dateColumns = c("date_1", "date_2"))

cdm$cohort |>
  omopgenerics::checkCohortRequirements()
#> Error:
#> ! 1 observation outside observation period.

Created on 2024-06-03 with reprex v2.1.0

only use in functions that modify cohort start and end


Routing Issue

I have setup everything and solve some issue on the way, but now I'm stuck with this error.
[26-Dec-2023 11:07:56 Europe/Berlin] PHP Fatal error:  Uncaught Plinth\Exception\PlinthException: You can only define 1 default route in /var/www/xxxxx/public_html/vendor/plinth/plinth/src/Plinth/Routing/Router.php:57
Stack trace:
#0 /var/www/xxxxx/public_html/vendor/plinth/plinth/src/Plinth/Main.php(394): Plinth\Routing\Router->loadRoutes()
#1 /var/www/xxxxx/public_html/vendor/plinth/plinth/src/Plinth/Main.php(363): Plinth\Main->handleRouter()
#2 /var/www/xxxxx/public_html/vendor/plinth/plinth/src/Plinth/Main.php(410): Plinth\Main->executeHandlers()
#3 /var/www/xxxxx/public_html/public/index.php(11): Plinth\Main->handleRequest()
#4 {main}
  thrown in /var/www/xxxxx/public_html/vendor/plinth/plinth/src/Plinth/Routing/Router.php on line 57

and when I disable a route in the app config, I just ending in a Hello World Page.

Same for me. After debugging i'm stuck on "Hello World". I thing AngularJS is not loading

I wanted to learn how to use Plinth but it's his own undocumented mini php framework 😅
https://github.com/Warsaalk/Plinth

Hi :)
The composer file still contained an older version of Plinth.
I've now update that version, which shouldn't overwrite the affected files anymore.
Commit e8f1acf335ab3abd23f1cfc53f26262fdfdaac0b fixes it.
Just delete the whole directory on your computer and clone the repository again.
Plinth development stopped a while ago, the plans for documentation were on the roadmap.
I also used it in project in my job but we switched to NodeJS so there was no need anymore for it.
Best regards,
Klaas


pdf theme issues with footer and background images in prepress mode (1.5.3 to 1.6.0)

For some unknown reason I experience issues with the pdf output when generating a prepress pdf.
I have alternating layouts (recto/verso).
The output is fine when I don't use prepress.
Issues:

pdf gradle plugin 1.6.0
font-color is grey on empty page after each chapter (set in theme after each level 2 heading)
background images are not set on each page

pdf gradle plugin 1.5.3 and 1.5.4
font-color is grey on empty page after each chapter (set in theme after each level 2 heading)

I use gradle version 7.0
I assume this is a bug?
I can't use the prepress output with these issues, can it be fixed?

Update: reason for the background images (svg) with plugin version 1.6.0 appears to be related to the svg library
Already noticed that this library is brittle or at least that svg's created with Inkscape are not garanteed to be displayed properly.
Previously I noticed this with object references in the xml and opacities.

Sample of a very simple svg which is correctly put in the background in prepress mode with pdf plugin versions 1.5.3 and 4, but not with version 1.6.0.
`
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="3440"
inkscape:window-height="1377"
id="namedview17"
showgrid="false"
inkscape:zoom="15.327233"
inkscape:cx="8.4490136"
inkscape:cy="1119.9347"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
units="mm"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
width="216mm" />rdf:RDF<cc:Work
rdf:about="">dc:formatimage/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF>

`

so I'll downgrade to 1.5.4 but still would like a fix for honoring the font-color on the empty page after a chapter in prepress mode:
footer:   height: 47   sectlevels: 1   margin: 0   verso:     left:       font-color: #E71939       content: '*{page-number}* | *{chapter-title}*'     right:       font-color: #E71939       content: '© {docyear} Infuze'   recto:     left:       font-color: #41415c       content: '© {docyear} Infuze'     right:       font-color: #41415c       content: '*{chapter-title}* | *{page-number}*'

I can confirm that this issue is resolve in 1.6.2. The provided SVG no longer impacts the rendering of the text.
I'm not sure I understand why you are using a background image for this purpose. It seems to be applying a background color to the footer. The PDF theme can already do that for you, and will add it only on pages where the footer is rendered.

Already noticed that this library is brittle or at least that svg's created with Inkscape are not garanteed to be displayed properly.

The SVG library is very accurate to the SVG 1.1 specification, and the author works very hard on it. Please don't toss around accusations. When you save SVGs from Inkscape, you should create an optimized SVG so it does not have non-compliant information in it. That will ensure that you get the result you expect in the future.


SplineCurve.getCoefsFromKnots() → Spline.fit() ← Do you agree??

No, this one is really converting knots to control points - I wouldn't call it "fit" because fitting is the process of getting the spline parameters (either the control points or the knots) from the data to be interpolated

I have spent some more time thinking about the naming of this function and I think the cleanest would be to drop it completely and just use class attributes and the property decorator.
From the user's perspective this would work as follows:
The coeffs attribute would have standard getter and setter behaviour:

spline.coeffs = coeffs can be used to set the coefficients explicitly.
coeffs = spline.coeffs returns the current coefficients.

The knots are behaving the same way from the user perspective but internally modify the coefficients:

spline.knots = knots will update the coefficients to match the knots provided. The knots are not internally stored. This would replace getCoefsFromKnots().
knots = spline.knots will return the knots based on the coefficients of the spline object. Internally this would be implemented as spline.eval(np.arange(M)).

Below are some pros and cons I see for this approach:
Pros:

This approach ensures that the spline object's integrity is preserved at all times, i.e. it is not possible to set conflicting information for the knots and coefficients.
It is easy to update a spline's coefficients, e.g. for active contours.
It makes it explicit that we are setting a class attribute, while getCoefsFromKnots suggest that we are returning a class attribute.
It is short to write.

Cons:

It is not explicitly clear that setting the knots attribute also changes the coeffs attribute.

Do you agree @vuhlmann and @edwardando?

I'm pretty convinced this is convenient, for my use but Virginie's input is super precious here!

I implemented this in 5427c96, but kept the functions getCoefsFromKnots and getKnotsFromCoefs for now.

This is an excellent solution!
I don't think we need something explicit in the code indicating that setting the knots attribute also changes the coeffs attribute - we only need documentation making it clear that these two sets of parameters are in 1-to-1 correspondence (I know, this is my homework)

I removed the remaining getCoefsFromKnots  and getKnotsFromCoefs in cc2effb67e876a7e678267b2abf3c7a986e25266 and will close this issue since we have converged on a solution.


Error on import on MacOS with new release

Ever since the recent release, one of our CI pipeline fails with this error:
ImportError while importing test module '/Users/runner/work/polars/polars/py-polars/tests/unit/io/test_delta.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/unit/io/test_delta.py:10: in <module>
    from deltalake import DeltaTable
../.venv/lib/python3.12/site-packages/deltalake/__init__.py:1: in <module>
    from ._internal import __version__ as __version__
E   ImportError: dlopen(/Users/runner/work/polars/polars/.venv/lib/python3.12/site-packages/deltalake/_internal.abi3.so, 0x0002): symbol not found in flat namespace '_PyPyBaseObject_Type'

Link to the job (which runs on macos-13):
https://github.com/pola-rs/polars/actions/runs/9407528634/job/25914397270
This can be reproduced locally on a Mac with M-series processor:
from deltalake import DeltaTable

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/.../tmp/venv/lib/python3.11/site-packages/deltalake/__init__.py", line 1, in <module>
    from ._internal import __version__ as __version__
ImportError: dlopen(/Users/.../tmp/venv/lib/python3.11/site-packages/deltalake/_internal.abi3.so, 0x0002): symbol not found in flat namespace '_PyPyBaseObject_Type'

By recent release, I assume you're having trouble with deltalake 0.18.0?

@rtyler this fails for me on macOS Sonoma with deltalake version 0.18.0 but works with 0.17.4.

This might be the same issue: https://github.com/PyO3/pyo3/discussions/3376

By recent release, I assume you're having trouble with deltalake 0.18.0?

Yes - apologies for being unclear. 0.17.4 works correctly.

I'm temporarily solving this by installing with pip install --no-binary :all: deltalake==0.18.0 --no-cache

I can confirm the issue on a Macbook M1
Steps to reproduce
python3.11 -m venv venv
source venv/bin/activate
pip install deltalake
echo "import deltalake" > run.py
python run.py
Traceback (most recent call last):
  File "/Users/sewalter/tmp/deltalake1.8/run.py", line 1, in <module>
    from deltalake import DeltaTable
  File "/Users/sewalter/tmp/deltalake1.8/venv/lib/python3.11/site-packages/deltalake/__init__.py", line 1, in <module>
    from ._internal import __version__ as __version__
ImportError: dlopen(/Users/sewalter/tmp/deltalake1.8/venv/lib/python3.11/site-packages/deltalake/_internal.abi3.so, 0x0002): symbol not found in flat namespace '_PyPyBaseObject_Type'

Can someone try v0.18.1 please?

Seems to work fine! See the step "Installing Python dependencies" in this workflow:
https://github.com/pola-rs/polars/actions/runs/9486777587/job/26141912223?pr=16906

@stinodego great! Thanks for checking


Media query refactor

A few high-level thoughts:

This is great, and I'm excited to see it.
We should perhap take this opportunity to add comments to some of these media queries talking about the intent (what problem it solves) to make these easier to understand and modify in the future.  At least in places where you end up understanding it clearly as part of deciding how to adjust these.
We should still support very narrow widths, since that can happen when embedding Zulip in another app (or just having a small window a user popped out), even if it's a rare use case.  So I'd prefer to not delete that CSS if it does improve Zulip in those width ranges.   We'll eventually use those if/when we add features around that case.
While you're playing with this, it's worth opening follow-up issues for details you notice that aren't great in mobile web and tagging them with the "mobile web" label.
It'd be great if you can comment in commit messages on any investigation into the choices of these breakpoints; for some widgets they may be coupled to the size of something else, that may also need CSS tweaks, and it'd be nice to know if you've done that sort of investigation.  git log -S775px can be an effective way to find when these were introduced.
Longer-term, we may want to move some media CSS to be more inline with the component it configures using SCSS nesting.

Opened #16680 following your suggestion. Closing this in favour of it.


How to make checkbox and radio objects appear?

I am having an issue getting my checkbox (and surely radio) objects to appear.  My construct is as follows, is something missing?
...
  {
    key: 'married',
    type: 'list',
    templateOptions: {
      label: 'Married'
      inputType: 'checkbox',
      options: ['married'],
    }
  }

So close! options should be outside of templateOptions
...
  {
    key: 'married',
    type: 'list',
    options: ['married'],
    templateOptions: {
      label: 'Married'
      inputType: 'checkbox',
    }
  }

Well I knew it was something simple :-)

Wait a second... While I have you :-)
When the checkbox is displayed, it uses the options as the checkbox label instead of the templateOptions.label property

I store the value in the database as married but want it to display as Married
And, further down the line, this project will need to be in Spanish (frontend) but actual values, etc. will be stored in english

And, I presume that a radio object will be even more important?
Yup, as expected ... The storage values are accurate, but display values need to be different

Yup, you can pass either an array of string values to options or an array of objects with a value and label property. templateOptions.label is for the actual field label. E.g. you may have something like this:
...
{
   key: 'married',
   type: 'list',
   options: [
      { label: 'Casado', value: 'married' },
      { label: 'Solo', value: 'single' }
   ],
   templateOptions: {
      label: 'Casado?',
      inputType: 'radio'
   }
}

Perfect :-)
One last question, and then I am off the races completing this form.   How does one go about adding additional attributes.
I need to apply some additional classes for each item AND need to supply id and name properties.  Are these just extra templateOptions

I see there is an item for id how about name?  And I found the property for classes  I guess I could just add name to the attrs property

Yup sure are, you can use atts, classes, and id. The info for how to use each is in the vue formly bootstrap docs section in the readme

https://github.com/formly-js/vue-formly-bootstrap#template-options

classes takes an object with the class name and then true/false values. This is so that you can toggle the class as per Vue docs. The atts object takes a name/value key pair. Id is just a string

Hi @matt-sanders ,
I think templateOptions.label is missing from the list field
as @mikeerickson  commented on Mar 7
<template>
  <div class="checkbox formly-list" :id="to.id" :class="[to.wrapperClasses, {'has-error has-danger': hasError}]">

    <label v-for="option in field.options" :class="to.labelClasses">
      <input v-if="!to.inputType || to.inputType == 'checkbox'" type="checkbox" v-model="model[field.key]" :value="option.value || option" @blur="onBlur" @focus="onFocus" @click="onClick" @change="onChange" @keyup="onKeyup" @keydown="onKeydown" v-formly-atts="to.atts" :class="to.classes">
      <input v-if="to.inputType == 'radio'" type="radio" v-model="model[field.key]" :value="option.value || option" @blur="onBlur" @focus="onFocus" @click="onClick" @change="onChange" @keyup="onKeyup" @keydown="onKeydown" v-formly-atts="to.atts" :class="to.classes">
      {{option.label || option}}
    </label>
    <error-display :form="form" :field="field.key"></error-display>
  </div>
</template>

<script>
 import baseField from './baseField';
 export default {
     mixins: [baseField],
     created: function(){
         //set the default value to be an array if it's a checkbox
         let type = this.to.inputType;
         if ( (!type || type == 'checkbox') && this.model[ this.field.key ] == '') this.$set(this.model, this.field.key, []);
     }
 }
</script>

@rodrigoAbril You're right, it looks pretty simple, I'll see if I can get this pushed soon.

@rodrigoAbril just pushed version 2.2.7 which includes this label.


Use file name of test script as 'classname' in JUnit XML report

Hi,
What do you think of using script file names as class names in JUnit xml report? I think it helps readability of the results for example in Jenkins report.
-Mikko-

Thanks for this PR? definitely a neat idea. I'll work out the small cyclic dependency issue and merge the feature soon, stay tuned :)

Ok, thanks!


[SPARK-6361][SQL] support adding a column with metadata in DF

This is used by ML pipelines to embed ML attributes in columns created by ML transformers/estimators. @marmbrus

Test build #29048 has started for   PR 5151 at commit bb30de3.

This patch merges cleanly.

Test build #29048 has finished for   PR 5151 at commit bb30de3.

This patch passes all tests.

This patch merges cleanly.

This patch adds the following public classes (experimental):

case class Alias(child: Expression, name: String)(

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/29048/
Test PASSed.

Thanks!  Merged to master.


How to get this project up and running ?

I cloned the repo
I generate a token via hex.com - they call it key. Is this key's value go into token config-parameter ?

How to get private.pem file ?

Do we need to make change anywhere except dev.exs file ?
Currently we get the following on localhost:8080 when we run the project.
To install this repo run

mix hex.repo add urepo http://localhost:8080/repo --public-key <(curl http://localhost:8080/public.pem) --auth-key <auth-key>

What would the value of <auth-key> ? Is it same as token generated via hex.pm site ?

About 2. - you do not need the Hex API key at all. It is completely separate repo.
About 3. - use Urepo.CLI.genkeys/0 which is available from the release as urepo genkeys command. Then you need to point to generated files from configuration.
About token - it is value defined in the configuration file, and it is used to validate access to API. It is not used for fetching packages from the repository.

About 2. - you do not need the Hex API key at all. It is completely separate repo.
About 3. - use Urepo.CLI.genkeys/0 which is available from the release as urepo genkeys command. Then you need to point to generated files from configuration.
About token - it is value defined in the configuration file, and it is used to validate access to API. It is not used for fetching packages from the repository.

Thanks a lot @hauleth
Let me try it and I'll keep you updated about the progress.

Thanks a lot @hauleth
Let me try it and I'll keep you updated about the progress.


Fix "main" JS entry

With this fix, the consuming project can simply
  import ... from "kubevirt-web-ui-components"

indested of
  import ... from "kubevirt-web-ui-components/dist/js"

Pull Request Test Coverage Report for Build 185

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.921%

Totals

Change from base Build 233:
0.0%

Covered Lines:
292

Relevant Lines:
470

💛  - Coveralls


Add support for FNEG (scalar)

Test for FNEGDr:
; Function Attrs: strictfp
define double @_ZN11xalanc_1_1013DoubleSupport8negativeEd(double %theDouble) #0 {
entry:
  %fneg = fneg double %theDouble
  ret double %fneg
}

attributes #0 = { strictfp }

FNEGSr already supported. Half-precision type not supported.

27c27c02cb4e88591da22eb51e16ae73023ddedf


PATCH 0026-Fix-spurrious-json-diff-for-redrive_policy.patch

Tracking context on upstream patch 0026-Fix-spurrious-json-diff-for-redrive_policy.patch here.

Adds DiffSuppressFunc, this can change update/replace behavior


0n home page the cards text not visible

issue: the cards text are not visible
screenshot

@Killedarswarup sure go ahead

Make sure to join the discord server for further communication
Don't forget to star the repository
Complete the task in next 2 days and kindly mention your issue # in your pr like:
Closes #IssueNumber

Note: the level of the issue may change based on the quality of the PR code

Its been more than two weeks and no pull request was made so we are closing this issue.
and one more thing the GSSOC Extd Program is ended, so we are closing this issue.


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

need some changes


Document Display Order in the Dendron Tree View

Describe the bug
In the Dendron Tree View, documents are displayed in order of creation, not by the document title or by the content of the frontmatter. This is especially noticeable for journal notes. If a set of journal notes are created out of chronological order, they will show up in the Dendron Tree View in the order of their creation, rather then ordered by date. Amending the "created" field in the frontmatter has no effect.
To Reproduce
Steps to reproduce the behavior:

Create a journal note.
Create a second journal note for an earlier date.
The second note will be displayed below the first note, despite that it is for an earlier date in time.

Expected behavior
That documents be displayed in the Dendron Tree View ordered by either the document title or the content of the frontmatter, not by date of creation. If this is the intended behavior, that there be an option to sort the content of the Dendron Tree View.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Browser: NA
Version: Dendron 0.22.0

Additional context
I apologize if this has already been addressed in an earlier issue. However, after going through the Dendron documentation and the issues already on GitHub, I was unable to find a solution. Any suggestions would be appreciated. Thank you.

I think a setting for the sort order would be preferable.
I personaly would like to have my notes sorted alphabetical.
But journal notes in a way that the journal entry for the newest day is displayed first.
Which is opinionated others may want to have the inverse from what I want so I think a setting would be the best choice.

I think a setting for the sort order would be preferable.
I personaly would like to have my notes sorted alphabetical.
But journal notes in a way that the journal entry for the newest day is displayed first.
Which is opinionated others may want to have the inverse from what I want so I think a setting would be the best choice.

Thanks for the issue and you're the first one to bring it up so we're good. Formally including this in our backlog

Thanks for the issue and you're the first one to bring it up so we're good. Formally including this in our backlog

Many note-taking apps allow for manual sorting of notes/containers and often don't have functionality for auto-sorting. I would prefer my notes auto-sorted by metadata title with an option to manually adjust their positions if needed. There could be an additional metadata property (sort-title for example) to override the actual title for sorting purposes, like when sorting books or movies, so all books that start with "the" don't get grouped together.

an update on the tree view. we're planning on creating a dedicated dendron panel using a custom webview to accommodate custom ordering as well as additional functionality (eg. drag and drop assets). this will most likely be an end of april to may item but in the meanwhile, we're going to create an index command to help people create index notes. See #603 for more details and please let me know if you have any suggestions :)

hmm, I haven't noticed journals sorting by creation, but I have seen all-numeric entries sorting alphabetically

the other thing I could see making perfect sense is to use the nav_order field in front matter, if it exists
so it could either be a setting, or it could be nav_order for notes that have them, otherwise numeric if applicable, otherwise alpha
if you go the setting route, it could get wonky depending on where the setting goes... e.g. would there be a default in VSCode settings (or dendron.yml)? could you override it with a setting in the parent note's front matter?
or is my developer propeller-hat trying to turn a small problem with a simple solution into something much more complicated than it needs to be?

Small update to this issue, as it has gotten bumped today:
I recently did a bit of experimenting with Dendron that did not pan out, and it was easier just to replace my vault with an earlier backup.
Upon reopening my Dendron workspace, I found the Tree View was now sorted alphanumerically, with the exception that existing hierarchical notes were placed above the non-existent notes (the placeholders marked with +). This was the first time I had replaced my vault in such a fashion, so I can not determine whether this is new behavior.
My takeaway, is that I now have no idea how Dendron chooses to organize the hierarchy in the Tree View. It seems to use alphanumeric ... except for when it chooses not to.
Not sure how helpful this is to include, but this is how my user experience with the Tree View has gone.

Thanks for the update. The tree view is alphanumeric by default by the
recent caching updates means that updated notes can appear out of order in
the tree view because of how that's being initialized. we have a fix coming
for this!
On Wed, May 5, 2021 at 7:18 PM micharris42 @.***> wrote:

Small update to this issue, as it has gotten bumped today:
I recently did a bit of experimenting with Dendron that did not pan out,
and it was easier just to replace my vault with an earlier backup.
Upon reopening my Dendron workspace, I found the Tree View was now sorted
alphanumerically, with the exception that existing hierarchical notes were
placed above the non-existent notes (the placeholders marked with +). This
was the first time I had replaced my vault in such a fashion, so I can not
determine whether this is new behavior.
My takeaway, is that I now have no idea how Dendron chooses to organize
the hierarchy in the Tree View. It seems to use alphanumeric ... except for
when it chooses not to.
Not sure how helpful this is to include, but this is how my user
experience with the Tree View has gone.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dendronhq/dendron/issues/440#issuecomment-833175029,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADD52LTYMT5EYBGFCXNCC3TMH37FANCNFSM4VRQA72A
.

Is there any update on the sort order topic? For me the treeview still shows a random unsorted order and I really look forward to finding my notes in the treeview. As it is now it seems somewhat useless (at least for my workflow).

Hey @Bassmann can you let us know if this is still an issue for you? If so, do you have a screenshot of what the out of order tree view looks like?

I think it was still the same issue last time I checked. I'll check next week once I'm back at my laptop
Am 22. September 2021 16:19:00 MESZ schrieb Kevin Lin @.***>:

Hey @Bassmann can you let us know if this is still an issue for you? If so, do you have a screenshot of what the out of order tree view looks like?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dendronhq/dendron/issues/440#issuecomment-924976877

Hi team. As I'm checking now, nav_order affects the publishing order but not the index in tree view. Is this intended behavior? It would make sense for me to use nav_order in tree view index as well!

Hi. I believe this issue has been fixed with the latest Dendron, the tree now follows alphanumeric order. Please let us know if you still experience this issue, otherwise it will close in a few days.

For my needs it works indeed already quite some time. Sorry for not responding


missing word in Chapter6/esql/console-enrich-policy-api

In Chapter6/esql/console-enrich-policy-api,
you currently have the following which creates a no index found matching insee-codes.
PUT _enrich/policy/rennes-data-enrich {   "match": {     "indices": [       "insee-codes"     ],     "match_field": "insee",     "enrich_fields": [       "code_postal",       "nom_de_la_commune"     ]   } }
I used:
PUT _enrich/policy/rennes-data-enrich {   "match": {     "indices": [       "enrich-insee-codes"     ],     "match_field": "insee",     "enrich_fields": [       "code_postal",       "nom_de_la_commune"     ]   } }
to fix the issue. I believe using the wild card will also work

thanks, it's fixed in the snippets


Added method to report the Dropwizard Build version

Problem:
Logging Application Build Version during StartUp #3313
Solution:
Retrieved by reading Implementation-Version property from Manifest file
Result:
Applications needing the Dropwizard can retrieve it directly

@ctasada Thank you for your contribution!
I'm not 100% convinced that adding this 2 line implementation to Dropwizard makes sense.
We'd have to maintain it for the foreseeable future and not every Dropwizard application is being deployed in a JAR.
@dropwizard/committers Any opinions on this?

@joschi Even if it's deployed as a WAR this approach should still work. If it's deployed as a fat-jar then it will fail. In that case we need to go for a more complex approach were a property is added on build time to a resource file.
I'm fine taking that other approach if there's consensus

I'm not convinced that this change should be in the core project as the information people usually want to log on startup is very specific to each project.
Maybe you want to log the commit and the branch from which the application was built and a unique identifier to the build in your CI. Maybe you want to log the Maven GAV coordinates.


About score of the similarity

hi,
It looks like the score is not normalized, how to distinguish between larger and lower scores

Hi noah003,
The similarity score is normalized, please see L167 of patchnetvlad/models/local_matcher.py.
The normalization function ensures that all patch sizes are weighted according to the patch weights configuration and not biased in any other way.
Please let me know if this answers your query.


[RootIdentity] .metadata is never created

put() is never called, which is the only method that seems to call save() to generate the .metadata file. Not sure how the java implementation achieves this, waiting for feedback from Jingyu.

Not a bug, just a test mistake. Fixed.


Alewis/refactor routes

More intermediate refactors as we move toward multiroute support.

Move Route struct into settings/target
Make the routes key in Target a Vec rather than a HashMap
add a 'routes' method to Target, which will handle both route setting and routes setting, asserting that only one can be specified in the wrangler.toml, and generalizing them to a Vec

TODO:

memoize/cache calls to get all routes; I would like to only refresh these on 10020 errors when we try to create a route, rather than every time we try to upload a specific route
add tests (this PR)

sob. all my tests are borked. cloudflare-rs should be published sometime today i think


Send digest-auth challenge for wrong Authorization header

This should resolve the issue in #415. We had a regression around when we send digest-auth challenges with #366 and later #392. This will now verify what kind of 'Authorization' header we received and send a challenge if the value isn't digest xxxxxxxxxx.

Alright, this is rebased onto master and tests are passing now.

Thanks! Is this deployed immediately or not yet?


Feat: Code enhancements

Hi
This PR to add some code enhancements for Hotel Reservation System project
Thanks

I’m updating the code of the project only

Okay I will stop enhancing


Run dartfmt on save configuration option

Provide the user the configuration option to run dartfmt on save.

It seems I can't trigger auto format. I'm using Atom 1.9.9 with "Format files on save" checkbox selected.


Add mattermost support

Mattermost domains are of form mattermost.web.*.ch, so the extension should be extended to support host wildcards

Dropping this


e2e testing for chainquery

With the recent upgrade to SQLBoiler V3, I have found some issues. These issues would have been critical and are around the SQLBoiler upgrade. below is what we need to be able to always test:

[x] We need chainquery to work with lbrycrd testnet
[x] We need to be able to supply lbrycrd with claims
[ ] We need to be able to validate the correct of claimtrie actions in chainquery. ie - When I enter a claim all the values are as expected. When I update, overtake etc it shows in chainquery correctly.
[x] This should just be run in travis.
[x] @Leopere I think our travis jobs should just use docker so we can do this effectively. Thoughts?
[ ] Common api actions should be validated with the tests as well.
[ ] Additional items to include are: Failed claims, reorg example, ( will add more as I think of them here ).

I think that a good chunk of this could be done easily with Docker if not
the whole thing, the Chainquery build container could be next after our
work last night.
On Thu, Dec 27, 2018 at 9:54 AM Mark<EMAIL_ADDRESS>wrote:

With the recent upgrade to SQLBoiler V3, I have found some issues. These
issues would have been critical and are around the SQLBoiler upgrade. below
is what we need to be able to always test:

We need chainquery to work with lbrycrd testnet
We need to be able to supply lbrycrd with claims
We need to be able to validate the correct of claimtrie actions in
chainquery. ie - When I enter a claim all the values are as expected. When
I update, overtake etc it shows in chainquery correctly.
This should just be run in travis.
@Leopere https://github.com/Leopere I think our travis jobs should
just use docker so we can do this effectively. Thoughts?
Common api actions should be validated with the tests as well.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lbryio/chainquery/issues/77, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABBNVv6PyT8uz7OTPh6IEl4_b_FuuUB3ks5u9N8ogaJpZM4Zi3F-
.

closing for now. The additional ones are nice to haves and will add more as needed.


Change reconciler logic to replace kubernetes resources instead of patching them

Change reconciler logic to replace kubernetes resources instead of patching them
See also: https://github.com/kyma-incubator/reconciler/issues/330

/test all

/test pre-main-reconciler-integration-k3d

/test all


Popup.mapXXX and Mapcontroller.move

Hi guys. If popup snap on map and popup ontap runs mapcontroller.move function, after that I cannot move anywhere on map. Did you ever face this problem?

Hi @berkayoruc, no I haven't had this problem. If you give a minimal example that demonstrates the issues I can have a look.

You can see the code https://github.com/berkayoruc/ibbsosyaltesislerclone/blob/8307eaab8ca27adc22f4dd60e440193dd0b1d500/lib/widgets/marker_future.dart#L75.


Fix tooltip content being cut off at some display scales

When getting the minimum size for a tooltip, we get the value as a Vector2.  Window::set_size() takes a Vector2i, so this size was getting truncated.  At certain display scales, this could be enough to cut off part of the tooltip.  Updated to call Vector2::ceil() to round up before calling Window::set_size()
Fixes #91958

Please update the title and commit message with a clearer description that says what it fixes instead of the change

Thanks!

Cherry-picked for 4.3.1.


does not have permission to call the Discover method

Describe the problem
Error HTTP/500: Internal Server Error.
The<EMAIL_ADDRESS>user does not have permission to call the Discover method.
Technical Details:
RootActivityId: 901c4140-b38a-4cf6-ba72-6d75a4bbe90d
Date (UTC): 2/5/2023 3:07:13 PM
Bravo version
1.0.1 (1.0.8381.30060)
Tabular model
Power BI Desktop, import mode
Power BI
Power BI Version: 2.112.1161.0 64-bit (December 2022)
Steps to reproduce the behavior
Opening Bravo from PowerBI Desktop where model is connected to database in PowerBI model in my workspace on cloud.
Error HTTP/500: Internal Server Error.
The<EMAIL_ADDRESS>user does not have permission to call the Discover method.
Technical Details:
RootActivityId: 901c4140-b38a-4cf6-ba72-6d75a4bbe90d
Date (UTC): 2/5/2023 3:07:13 PM
Trace Id: 00-641d62ef1a58486fde5900d4a5ea62d5-e3c4fe5c3bfb193a-00
Version: 1.0.1 (1.0.8381.30060)
Additional context
No response
Screenshots
No response
Anything else ?
Trace Id: 00-641d62ef1a58486fde5900d4a5ea62d5-e3c4fe5c3bfb193a-00

Hi @johnbartlett19, is the model configured to use a live connection to Analysis Services or does it use the import mode? The error message appears to indicate that the account used to connect to the gateway does not have the required administrative permissions to call the discovery method.

Model is configured to use a live connection to the published PowerBI in my
workspace.  It is my workspace so I would think I have all the permissions
I need.
Is there an issue that I don't have a Premium PowerBI service and thus it
is not allowed?
Thanks.
On Mon, Feb 6, 2023 at 4:09 AM Alberto Spelta @.***>
wrote:

Hi @johnbartlett19 https://github.com/johnbartlett19, is the model
configured to use a live connection to Analysis Services or does it use the
import mode? The error message appears to indicate that the account used to
connect to the gateway does not have the required administrative
permissions to call the discovery method.
—
Reply to this email directly, view it on GitHub
https://github.com/sql-bi/Bravo/issues/592#issuecomment-1418743774, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFCKC4XLGS2JMGOHZ24CE3WWC5UFANCNFSM6AAAAAAUR2MQVY
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
John Bartlett
+1-207-449-0310

This is a strange error, what I expect is that Bravo will be able to connect even if a PBI Premium plan is not available.
It would be helpful if you could share this information from your dataset (those highlighted in green in the box below).
You can access this information by clicking the "Connect to Power BI service" option after enabling detailed diagnostics in the options panel.
Thanks!

My results don't look like yours.  A bit of further info.  Connecting to a
DB in My Workspace seems to work, whereas connecting to a second workspace
I have created, in trial mode with Microsoft, is the one that creates the
errors.  The screen says I still have 25 days left in my trial.
Here are the details I get.
{"name":"[HOST]
UnhandledException","objects":["System.ArgumentNullException: Value cannot
be null. (Parameter 'uriString')\r\n
at System.Uri..ctor(String uriString)\r\n
at
Sqlbi.Bravo.Infrastructure.Services.PowerBI.PBICloudService.GetWorkspacesAsync(CancellationToken
cancellationToken) in
D:\a\1\s\src\Infrastructure\Services\PowerBI\PBICloudService.cs:line
108\r\n
at
Sqlbi.Bravo.Infrastructure.Services.PowerBI.PBICloudService.GetDatasetsAsync(CancellationToken
cancellationToken) in
D:\a\1\s\src\Infrastructure\Services\PowerBI\PBICloudService.cs:line
86\r\n
at
Sqlbi.Bravo.Services.AnalyzeModelService.GetDatasetsAsync(CancellationToken
cancellationToken) in
D:\a\1\s\src\Services\AnalyzeModelService.cs:line 93\r\n
at
Sqlbi.Bravo.Controllers.AnalyzeModelController.GetDatasets(CancellationToken
cancellationToken) in
D:\a\1\s\src\Controllers\AnalyzeModelController.cs:line 101\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper
mapper, ObjectMethodExecutor executor, Object controller, Object[]
arguments)\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker
invoker, ValueTask`1 actionResultValueTask)\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker
invoker, Task lastTask, State next, Scope scope, Object state, Boolean
isCompleted)\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed
context)\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State&
next, Scope& scope, Object& state, Boolean& isCompleted)\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n
--- End of stack trace from previous location ---\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|20_0(ResourceInvoker
invoker, Task lastTask, State next, Scope scope, Object state, Boolean
isCompleted)\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker
invoker)\r\n
at
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker
invoker)\r\n
at
Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint
endpoint, Task requestTask, ILogger logger)\r\n
at
Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate
next, HttpContext context, AuthorizationPolicy policy,
PolicyAuthorizationResult authorizeResult)\r\n
at
Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext
context)\r\n
at
Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext
context)\r\n
at
Hellang.Middleware.ProblemDetails.ProblemDetailsMiddleware.Invoke(HttpContext
context)"],"time":1675721711901}
There is an api/GetModelFromDataset call a couple before this one that
looks like it is providing all relevant information about what I am tring
to connec to.  It has my name as owner (but not my email).
That one  is followed by this error:
Error HTTP/500: Internal Server Error.
The @.***' user does not have permission to call
the Discover method.
Technical Details:
RootActivityId: 4c10fb7d-d5ac-49af-a353-7ad3c236b7f7
Date (UTC): 2/6/2023 10:34:50 PM
Trace Id: 00-118ba79a6c40dd0b1edc4da24eb449e3-ec7cc0fc7175cb8e-00
Version: 1.0.1 (1.0.8381.30060)
{"name":"Error HTTP/500: Internal Server Error.",
"objects":[{
"Code":"HTTP/500",
"Message":"Internal Server Error.",
"TraceId":"00-118ba79a6c40dd0b1edc4da24eb449e3-ec7cc0fc7175cb8e-00",
"Details":"The '"my_correct_email_address"' user does not have
permission to call the Discover method.\r\n
\r\n
Technical Details:\r\n
RootActivityId: 4c10fb7d-d5ac-49af-a353-7ad3c236b7f7\r\n
Date (UTC): 2/6/2023 10:34:50 PM\r\n"}],
"time":1675722891330}
On Mon, Feb 6, 2023 at 3:46 PM Alberto Spelta @.***>
wrote:

This is a strange error, what I expect is that Bravo will be able to
connect even if a PBI Premium plan is not available.
It would be helpful if you could share this information from your dataset
(those highlighted in green in the box below).
You can access this information by clicking the "Connect to Power BI
service" option after enabling detailed diagnostics in the options panel.
Thanks!
[image: image]
https://user-images.githubusercontent.com/1957788/217080199-d7dd8ebd-e702-4162-9dc9-bf29e152d8c4.png
—
Reply to this email directly, view it on GitHub
https://github.com/sql-bi/Bravo/issues/592#issuecomment-1419727044, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABFCKCZBO5WSQYJ6A5IRCMTWWFPLHANCNFSM6AAAAAAUR2MQVY
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
John Bartlett
+1-207-449-0310

From what I understand, when on Trial mode, a dataset  seems to behave differently than in Pro-licensed mode.
Apparently, the workspace appears to be hosted in a premium capacity SKU despite the active license being "Pro".
This is a bug, Bravo does not handle this scenario properly. Meanwhile, you should be able to workaround this by switch the trial license mode from "Pro" to "Premium per user", as shown in the following image

Closing as fixed (see https://github.com/sql-bi/Bravo/issues/633#issuecomment-1511095297)


[Storage] Reenable Share Enabled Protocol & Share Squash Root unit tests

This feature is not reviewing in central Canada, which is our live test region.  I am marking the tests as [PlaybackOnly] for now.

Hi @seanmcc-msft, we deeply appreciate your input into this project. Regrettably, this issue has remained inactive for over 2 years, leading us to the decision to close it. We've implemented this policy to maintain the relevance of our issue queue and facilitate easier navigation for new contributors. If you still believe this topic requires attention, please feel free to create a new issue, referencing this one. Thank you for your understanding and ongoing support.


Charm shouldn "block" if apply-changes action is configured

Currently, the charm will always enter "blocking" if it's configured to have changes applied via actions (instead of auto-applying via config-changed), i.e. action-managed-update=True. This is independent of any actual changes to the config pending.
IMHO "blocking" status should be reserved for error conditions or problems, but in this case the charm is within it's normal operating conditions.
Also see https://discourse.juju.is/t/charm-unit-status-and-their-meanings/1168

Imported from Launchpad using lp2gh.

date created: 2020-04-09T14:25:05Z

owner: peter-sabaini

assignee: None

the launchpad url

(by afreiberger)
My feeling is that "Blocked" means "operator intervention required".
This is congruent with charms blocking waiting for relations (which have to be operator specified to start hitting relation-joined hooks) and vault unseal/init status.