TeamCity integration

This pull request contains the TeamCity integration as posted here http://groups.google.com/group/psake-dev/browse_thread/thread/d69eac6a38a5308e
(It also contains the 4.2 version bump from other pull request)
Please let me know if any problems.
Regards,
Damian Hickey
twitter.com/randompunter
gplus.to/damianh

Closing this pull request, as a more general solution should be prepared (using TaskSetup and TaskTeardown for example) and proposed to psake-contrib

Ok, will look into that.


Oauth2 Failed - Multiple Providers

Attempting to login using Oauth2 provider that previously worked, it now provides the error
Login failed; caused by Error: Authentication failed, Cannot supply multiple client credentials. Use one of the following: credentials in the Authorization header, credentials in the post body, or a client_assertion in the post body.
Expected Behavior
Authorization modal to open and redirect appropriately after login
Current Behavior
Opens authorization modal, closes immediately, and then displays error above
Possible Solution
I believe this addition caused the error.
https://github.com/backstage/backstage/blob/master/plugins/auth-backend/src/providers/oauth2/provider.ts#L88

should be fixed by #8303 8397

Closing as should have been shipped today. Re-open if still having problems :)


Mistake in README example

Hello,
In the documentation from the README you give an example (in General Guide for Using section) :
"CREATE table (id INTEGER PRIMARY KEY, data TEXT);"

Should be
"CREATE TABLE table (id INTEGER PRIMARY KEY, data TEXT);"

Also in the section An Array of SQL Statement Objects, a " is missing at the end of the SQL instruction


Dockerfile: Avoid keeping npm in RAM

By running node directly, we save some RAM. In my case npm consumes 300MB and does nothing, just waits for the node process to exit.
On small VPSes 300MB is a lot!

Agree pid 1 is not an issue - I guess nobody miss Ctrl^C in their container. But the link you provided mentions another extremely important thing (especially security). A good practice is not to run the container program as root user.
So I created an issue https://github.com/louislam/uptime-kuma/issues/418


Add Warning in Contract Lists

Perhaps we could add warnings in the contract lists page: https://playground.grid.tf/#/contractslist
Users could easily delete a contract that is linked to their workloads.
Some contracts are add-on to the main contract.
So for example, a user deploy a full vm. In the full VM page, we see only one contract. But in the contractslist, the full VM has different contracts tied to the main contract.
We could either explain clearly which contracts are "linked" one another. Or write that to delete a contract, it is better to go to the main workload page (in this example, it would be full VM). Or simply warn users that those contracts in contracts lists are tied to one another thus it would be wise to be careful when deleting such files.

Verified, Devnet f86490f.
warning was add in the contract list, advising user to delete the deployment from its solution page

Test case:
https://app.testlodge.com/a/26076/projects/40893/suites/227225?expand_section=397796#case_3958871


delete confirmation

Hi, is there a way to ask for a confirmation on delete row ?

I don't have plans to implement this but PRs are open if you can come up with a nice way of handling this.  Thanks!


PEP8 and pylint fixes to examples/soma_radius_fit.

Current coverage is 100.00%

Merging #87 into master will not affect coverage as of 250e2fe

@@            master     #87   diff @@
======================================
  Files           29      29
  Stmts          952     952
  Branches         0       0
  Methods
======================================
  Hit            952     952
  Partial          0       0
  Missed           0       0

Review entire Coverage Diff as of 250e2fe

Powered by Codecov. Updated on successful CI builds.

@lidakanari This fixes all but the following error:

W: 66, 4: Unused variable 'params' (unused-variable)

Thanks for looking into this. I will try to look into this asap.
If I have time by the end of the day.


Geo/Helio

It would be nice to have a options to choose heliocentric and geocentric

Hi there, unfortunately I lack the necessity and time to implement different coordinate systems.. Regards!

Presently it run's in Helio centric ? Can we convert somehow in geocentric


Include count by type in output

As a security analyst reviewing open source Go libraries used across an enterprise, it would be helpful to to augment the current output:
GoKart found N potentially vulnerable functions

with the number of Command Injection, Path Traversal & SSRF found.
Currently, I have to grep for it and would like to further automate the process.

Much respect to our newly certified GoKart Mechanic @praetorian-thendrickson for this improvement.


Add Macau University of Science and Technology

macau university of science and technology applications
student email domain:student.must.edu.mo
website :https://www.must.edu.mo/en
Bachelor of Science.pdf

Wikipedia introduction:https://en.wikipedia.org/wiki/Macau_University_of_Science_and_Technology

Macau university of science and technology
Macau university of science and technology
web address:https://www.must.edu.mo/en
computer science proof:https://www.must.edu.mo/en/fie/structure
student email domain name:student.must.edu.mo
official email domain:must.edu.mo


fix(typeahead): Update css for typeahead dropdown

Update css for typeahead dropdown

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@SMahil what is the Search button for? Is searching allowed for Areas and Iterations now?

@mindreeper2420 Need to ask Micheal. He added funtionality

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@nimishamukherjee changes are done. Please confirm

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io

@SMahil snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1731-fabric8-planner.int.rdu2c.fabric8.io


update puppeteer version to 5.2.1

Its latest version supported in browserless: https://hub.docker.com/r/browserless/chrome/tags?page=1&name=puppeteer-5
We checked this on multiple sites. All works fine.  New chrome versions have reduced CPU consumption.

Hello @xtrime-ru,
Thank you for your help with the upgrade! It's something @nesk and I got on the radar too! We are working on PuPHPeteer on te side :)
To allow accessing and identifying the resources on the PHP-side it would be good to add the respective resources-classes to PuPHPeteer. For this we need:

Check the release notes for Puppeteer of newly introduced APIs / functionality and create a list
Add the relevant classes.

Is this something you think you could help with @xtrime-ru? Of course, we are happy to help along the way and support as needed - don't hesitate to ask questions!
Cheers,
Peter

Hi! We using this wrapper to work with your lib: https://github.com/zoonru/php-puppeteer/tree/master/src/PhpPupeeteer
Probably we need to migrate features from it to your package.
This is what we changed in it on php side to migrate to 5.2 : https://github.com/aktuba/php-puppeteer/compare/master...zoonru:master
I already checked release notes in puppeteer, and there is no significant changes from 1.x version to 5.2. In 5.3 waitFor is deprecated in favour of waitForSelector, waitForTimeout and few other specific methods.
Currently we use this in production with 0 issues.

This is all changes from release notes:
v1.19.0
class: FileChooser (ea28ccc)
page.waitForFileChooser() (ea28ccc)
v1.20.0
New APIs: element.evaluate, element.evaluateHandle, element.select, jsHandle.evaluate, jsHandle.evaluateHandle
v2.0
New APIs:
page.emulateTimezone(timezoneId)
page.emulateMediaType(type) (superseding the old page.emulateMedia(type) API)
page.emulateMediaFeatures(features)
API changes
New API: page.emulateTimezone(timezoneId) (#4949)
New API: page.emulateMediaType(type) (#5012)
Deprecated API: page.emulateMedia(type) is now obsolete. Use page.emulateMediaType(type) instead. (#5012)
New API: page.emulateMediaFeatures(features) (#5012)
v3.0
Node.js v8.x.x is no longer supported. (#5136)
v3.0.4
Puppeteer should install and run just fine on Node.js v14.1.0 and beyond.
v3.2
page.emulateVisionDeficiency
v5.0
Removal of page.emulateMedia (#6084) This method was deprecated and is now removed from Puppeteer. Swap to page.emulateMediaType which behaves identically.
v5.1
The new Mouse#wheel API: https://github.com/puppeteer/puppeteer/blob/main/docs/api.md#mousewheeloptions
v5.3
New API: page.waitForTimeout and subsequently, frame.waitForTimeout (#6268)
Deprecated API: page.waitFor and frame.waitFor
v5.3.1
New API: page.emulateIdleState(...) (#6410)

Hey @xtrime-ru
Thank you for looking up the API changes - looks like it's a manageable list.
@nesk and myself are working on improving the test base atm (in preparation for the Puppeteer upgrade). @nesk, which of these APIs would you test for?
Regarding the PHP Puppeteer fork: It looks like there aren't any larger changes made from zoonru:master back to php-puppeteer:master. But how is it looking back to PuPHPeteer? Unfortunately the git history isn't there anymore.
Cheers,
Peter

Seems like upgrading to the latest version of Puppeteer comes with minimal risks, which is some great news! Thank you @xtrime-ru for your feedback on the upgrade.
@spekulatius Let's take a week to think about missing tests we could do before merging this PR. If we have nothing, let's just merge and hope we will add new tests in the future.
@xtrime-ru Could you rebase your commit and avoid using a specific version in the package.json file? I think we can use ~5.0.0, which will allow the users to use the version they want.
Meanwhile, I will work on the failing tests.

Hey @nesk
just started looking into more tests. Opened #115 in this regards - avoiding any issues which probably won't matter anymore. Regarding tests, yes, if we don't have anything more ready soon let's merge it.
Cheers,
Peter

Regarding the PHP Puppeteer fork: It looks like there aren't any larger changes made from zoonru:master back to php-puppeteer:master. But how is it looking back to PuPHPeteer? Unfortunately the git history isn't there anymore.

As i mentioned https://github.com/zoonru/php-puppeteer not fork, its library which requires puphpeteer via composer, then extends its classes to add phpDocs for IDE's and add some trivial actions. I think its possible to migrate some of this to puphpeteer.

Regarding the PHP Puppeteer fork: It looks like there aren't any larger changes made from zoonru:master back to php-puppeteer:master. But how is it looking back to PuPHPeteer? Unfortunately the git history isn't there anymore.

As i mentioned https://github.com/zoonru/php-puppeteer not fork, its library which requires puphpeteer via composer, then extends its classes to add phpDocs for IDE's and add some trivial actions. I think its possible to migrate some of this to puphpeteer.

Ah sorry, I missed that part. Definitely worthy to look what could be migrated. There is also some work done on this in the 2.0 branch.

@xtrime-ru Could you rebase your commit and avoid using a specific version in the package.json file? I think we can use ~5.0.0, which will allow the users to use the version they want.

@nesk Will do it later today, after i fixate usage of 5.2.1 in our dependencies.

Meanwhile, I will work on the failing tests.

Please see this fix in our wrapper lib: https://github.com/aktuba/php-puppeteer/compare/master...zoonru:master#diff-46706d551abfe74b676cb6ab7ebd7fdca8b6a5c466d91a981693c7e1c9e71100R27
I think you will need to do something similar in rialto-php/puphpeteer

@xtrime-ru Could you rebase your commit and avoid using a specific version in the package.json file? I think we can use ~5.0.0, which will allow the users to use the version they want.

@nesk Will do it later today, after i fixate usage of 5.2.1 in our dependencies.

@xtrime-ru Actually, I meant ~5.3.0 instead of ~5.0.0, sorry.

Also, could you target the 2.0.0 branch please?

@xtrime-ru Actually, I meant ~5.3.0 instead of ~5.0.0, sorry.
Done. Hope i can set puppeteer back to 5.2.1 in our project, since its latest version supported by browserless docker image.

Also, could you target the 2.0.0 branch please?
Done.

@xtrime-ru Actually, I meant ~5.3.0 instead of ~5.0.0, sorry.

@nesk Currently i ended up with ^5.0.0, so we can use 5.2.1 in our projects without issues.

I pushed mots of our internal updates. Including binding HttpRequest to Request class. Now this branch is IDE friendly :)
Only thing left - is custom Page methods: https://github.com/zoonru/php-puppeteer/blob/master/src/PhpPupeeteer/Resources/Page.php
But useful thing from there can be added later in separate PR.

But you really should push them in multiple other PRs, so we can review them properly

@nesk
I agree that this should be moved in separate PRs. I will try to do it on next weekend. But i will be very grateful, if you can review this "as is" and merge, so i don`t need to move commits :)
Changes in separate commits:

Most of code is just typeHints for IDE. So it should be easy to review.

I've fixed the tests, improved some parts of the code and manually merged the code in the branch. Thank you for your contribution @xtrime-ru.

@nesk Glad to hear that.
May i ask why you choose to use ~5.4.1 instead of ^5.0.0 ?
If there is no requirements in other libs, then they both install latest version. But in our project we need exactly 5.2.1, so npm will install two versions of puppeteer and latest chrome (not the one we need).

@xtrime-ru The issue with the ^5.0.0 version constraint, is this part of the code:
https://github.com/rialto-php/puphpeteer/blob/83c906e3073616fe41aee62f96c4d96012d31fca/src/PuppeteerConnectionDelegate.js#L61-L77
Puppeteer doesn't provide any public API to check the class of an object and, in this regard, doesn't provide any garanty that the class names will follow semver. To avoid any breaking issues, I prefer to add a constraint on the minor version instead of the major. And I also prefer to choose the latest version if possible.
If you still want to use a specific version of Puppeteer (I understand you have your own requirements), you can take a look at NPM shrinkwrap to override the dependencies.

@nesk Thanks for link to shrinkwrap! Probably, this is good alternative for using own fork :)
You mean, you can't check if HTTPRequest, HTTPResponse and WebWorker classes exists? But they were renamed in 3.3: https://github.com/puppeteer/puppeteer/releases/tag/v3.3.0 , so your code should work with any 5.x version.

Yes, the code should work, but what if the 5.5 version changes some names again? It already happened once in the past, so I prefer to avoid any issues.
One day we will provide the ability to support all Puppeteer versions, but for moment what have to stick to only a few versions.

Good point. But how about >=3.3 <=5.4 or something similar?
PS. Found this handy semver checker: https://semver.npmjs.com

Because this is something I want to handle in #23, I feel like we should be careful with this, so I don't want to rush things. The latest version of Puppeteer will be just fine for the majority, and if some users really want a specific Puppeteer version, then they can use shrinkwrap. 😉


RFC: E2E test for GlusterFS

Based on my NFS test in PR #6755.  It has the same problems as the  NFS test - it needs "random" container which exports a file over GlusterFS. Based on Fedora, ~400MB.
I'd really like to see some policy about these test containers...

Let's continue in PR #7435. I think I addressed all the comments there.


Leading of sidenotes is too great

With the smaller typeface, the line-spacing should also be less than that of the main text.

I tweaked the line height in https://github.com/daveliepmann/tufte-css/commit/6aca33a664100669372e7bab0fbff8ad9c42160a — further details or a PR would be appreciated.

I'd try 1.4. It's a bit tighter, but I think it still looks good.
The only nit-pick I have then is that the baselines of the sidenote and the main text aren't aligned with one another (both blocks are top-aligned). I'm afraid I don't know enough of CSS to know how to fix this, though. Perhaps there's a zero-width character that we can prepend to the sidenote that is the same size as the body text to force the baseline lower?

^ i was just about to post an issue about this. The baseline of the first line of the sidenote needs to be aligned with the baseline of the sentence it's being pulled from. Great work though, this stylesheet is awesome!

For clarification, I appled:
.sidenote, .marginnote { line-height: 1.4; padding-top: 0.4rem; }

…which eyeballs about right to me. I checked alignment briefly using Xscope, but haven't tested exhaustively.

Per Edward Tufte, sidenote line-height is now 1.3. You were right!


enhancesupport olap table partition column is null

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run performance

run buildall

run buildall


BEEFY: Simplify hashing for pallet-beefy-mmr

Right now pallet-beefy-mmr Declares a new Hasher trait and a new Keccak256 struct which implements it. I was wondering if this is needed.
I was thinking of 2 possible simplifications:

Instead of defining a new struct we could reuse the Keccak256 struct that's already present in sp_runtime, doing something like:

#[cfg(feature = "keccak")]
mod keccak256 {
	pub use sp_runtime::traits::Keccak256;

	/// Keccak256 hasher implementation.
	impl super::Hasher for Keccak256 {
		fn hash(data: &[u8]) -> super::Hash {
			Self::hash(data).into()
		}
	}
}

Or we could do even something more generic:
	impl<T> super::Hasher for T
		where T: sp_runtime::traits::Hash,
		<T as sp_runtime::traits::Hash>::Output: Into<super::Hash> {
		fn hash(data: &[u8]) -> super::Hash {
			Self::hash(data).into()
		}
	}

Could we go one step further and remove the Hasher trait completely and use sp_runtime::traits::Hash instead ? And maybe in the end we could also remove this.

@acatangiu WDYT ? If this issue makes sense I would be happy to implement it.

No 1 sounds good to me, for no.2 it'd be better to see an RFC/PR 👍

Implemented in #12393


Add GuildMemberAdd

Add GuildMemberAdd
https://discordapp.com/developers/docs/resources/guild#add-guild-member

Build fixed.


add identity cognito

Merging from the review here:
https://github.com/wellcometrust/catalogue/pull/255/files


[Security] Where can I report a security issue of this project?

Which version are you using?
N/A
Is the latest version affected?

[x] Yes
[ ] No

Which library are you using?

[ ] Vanilla JS (tsparticles)
[ ] React (react-tsparticles)
[ ] Vue.js 2.x (particles.vue)
[ ] Vue.js 3.x (particles.vue3)
[ ] Angular (ng-particles)
[ ] Svelte (svelte-particles)
[ ] Preact (preact-particles)
[ ] Inferno (inferno-particles)
[ ] jQuery (jquery-particles)

Question
It looks like SECURITY.md doesn't contain any valid contact information.
Since I found a potential security issue, I want to test/report it.
Where can I send a message privately?

Hi @Ry0taK,
You can use Slack or you can contact me by mail

Hi @matteobruni,
Okay, I joined the Slack!


Add python solution for 1155. Number of Dice Rolls With Target Sum

Hi,
I would like to add python solution for 1155. Number of Dice Rolls With Target Sum.
Pls assign this issue to me for Hacktoberfest.
Thanks!

sure


Exceptions galore

This PR covers a few different things, but all in the family of error handling. I'm outfitting pshtt to run on any site -- turns out websites on the internet have weird behaviors.
Some of the error handling here is more specific than others --- for the specific error handling, I provide domains.
This addition of error handling gives signals to the user where there was an unknown exception --- while some debugging statements are provided, debugging will still need to be done with other tools.

Add exception handling to almost any place where the program relies on external programs. This includes sslyze, requests, etc. This does not include the preloading or any string parsing, variable grabbing, etc.
Add an "unknown_error" field to endpoints so that one can figure out exactly which endpoint had an unknown exception. Add "Unknown Error" at the top level so that it's easy to flag.
Add debug messaging for the unknown exceptions.
Add specific OpenSSL error handling in basic_check. This catches an OpenSSL error with whoohoo.co.uk
Add specific error handling in hsts_check. This catches errors with mominoun.com.

Happy to discuss any of these decisions in more detail.

Forgot to add @eric-zeng and @adrifelt. Please take a look!

I added a few commits to this PR (thanks for enabling the option!) to address my nit comments, and to rename the field from unknownerror to unknown_error.
My additions:

https://github.com/dhs-ncats/pshtt/pull/82/commits/7e41f013a8d4f3a9a2f99ae3b38b8c9227e48f05
https://github.com/dhs-ncats/pshtt/pull/82/commits/524586b90782c44ff68b068de8e83050caf71580
https://github.com/dhs-ncats/pshtt/pull/82/commits/e1cdfe6e9462d7d5d9ef462a287772c08bd40d8b

Giving @eric-zeng and @adrifelt a day or so to ring in if they have any review comments, but this is now a :+1: from me and good to merge.

Exceptional! One slightly confusing git thing, and maybe it doesn't matter, but looks like commits 2c33255 to 5b644e1 made it into this patch but were already merged in a previous merge request.

Exceptional!

:+1: Merging!

One slightly confusing git thing, and maybe it doesn't matter, but looks like commits 2c33255 to 5b644e1 made it into this patch but were already merged in a previous merge request.

Yeah, that's expected. Both PRs were open simultaneously, branched from the same point in master -- so after I merged in the other one, we caught this branch up to date so that we were reviewing the code in the context of the new master.


variable is get_script() no longer works

Godot 3.2.2 beta 3
I migrated a game to Godot 3.2 and this broke:
func get_target_portal():
	var target_node = get_node(target_portal)
	assert(target_node != null)
	assert(target_node != self)
	assert(target_node is get_script()) # This line now fails
	return target_node

"is" test: the right operand isn't a type (neither a native type nor a script)

Apparently doing a is get_script() no longer works as it used to. It also doesn't work if I use load. I am also unable to use preload (which works in other cases) because it would be a cyclic reference.
Did I miss something about GDScript changes that could have broken this since 3.0.6 or is it a bug?

Can you check if it works in Godot 3.1-3.1.2 and 3.2-3.2.1?

It works in Godot 3.2.1.

CC @ThakeeNathees @vnen

It's not a regression, it always been a bug try print(node is get_script()) this will fail on previous versions too, but assert(node is get_script()) doesn't showed a parser error because the assert node arguments weren't reduced until bd081df51918a00f408845955d00dcbce2cea7a8 (try assert(bla_bla) on previous versions and they doesn't show anything on the editor).
and it has been fixed after 867d073b98344b848c96012418912a7e72841a31 by changing the return type of Object::get_script changed from RefPtr to Variant. @akien-mga maybe this could be backported to v3.2 ?

and it has been fixed after 867d073 by changing the return type of Object::get_script changed from RefPtr to Variant. @akien-mga maybe this could be backported to v3.2 ?

I doubt it, that's way too low level and it breaks compatibility.

Created a specific fix for this. Now get_script() return value is considered to be a valid type (the main class in the file).


$templatecache.get returns undefined

I'm using webpack in conjunction with oclazyload. Although I see that the html template is properly processed when running webpack, when I load the bundle file using oclazyload and execute $templatecache.get('filename.html'), it returns undefined.

Could be because configuration phase has already passed. I'll take a look.

@atgillette The problem is that the template is loaded into $templatcache using a run block.
Luckily ocLazyLoad has a work around rerun: true. Described:
https://oclazyload.readme.io/v1.0/docs/oclazyload-service
https://github.com/ocombe/ocLazyLoad/issues/89
Could you give it a shot and tell me how it goes?

Thanks for getting back to me.  Unfortunately, still no luck.
As an experiment, I tried requiring the html file in the main webpack bundle that is used for bootstrapping the app:
require('./mytemplate.html');
On:
.run(['$templateCache', function ($templateCache) {
console.log('$templateCache', $templateCache.info());
}])
outputs to:
$templateCache Object {id: "templates", size: 0}
So it looks like even though the template is embedded in the bundle, but is not executing as part of the bootstrapping process.
Here's what the ngtemplate code portion looks like in the bundle:
function(module,exports,webpack_require){module.exports="var path = 'myTemplate.html'; window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, "Test Test") }]); module.exports = path;"}

When I console log the result for require('./mytemplate.html'), this is what I got:
" var path = 'myTemplate.html'; window.angular.module('ng').run(['$templateCache', function(c) { c.put(path, "Test Test") }]); module.exports = path; "

Thats strange. Could you share your webpack.conf? Or better yet, do you have a sample project with oclazyload setup?

I think the problem was that I was using this in conjunction with html-loader.
I'm no longer using either, instead opting to go with raw-loader for my project.
Thanks for responding.

@atgillette I've been using ngtemplate-loader with html-loader with no issues.
Do you mind just pasting in your webpack.config.js so I can check for any bugs?
Cheers!

var webpackConfig = {
	entry: './src/index.js',
	output: {
		filename: 'bundle.js',
	},
	module: {
		loaders: [
  		// if you're going to do both ng-cache and normal html loading, comment out the two loaders
  		// and explicitly write the loader type yourself, e.g. require('html!./blah.html') or require('ng-cache!./blah.html')
  		{ test: /\.css$/, loader: 'style!css'},
  		{ test: /\.scss$/, loader: 'style-loader!css-loader!autoprefixer-loader!sass-loader'},
  		{ test: /\.png$/, loader: 'url-loader?limit=100000&mimetype=image/png'},
  		{ test: /\.jpg$/, loader: 'file-loader'},
      { test: /\.html$/, loader: 'html-loader' },
      { test: /\.html$/, loader: 'ngtemplate?relativeTo=' + (path.resolve(__dirname, './src')) + '/!html'}
		]
	},
	plugins: [
		new webpack.optimize.DedupePlugin(),
		// new webpack.ProvidePlugin({
		// 	_: 'lodash',
		// }),
		// uncomment for production. comment out during dev
		new webpack.optimize.UglifyJsPlugin({
			mangle: true
		})
	],
  externals: {
    // require("angular") is external and available
    //  on the global var angular
    'angular': 'angular'
  }
};

Thanks, looks like the problem is that you have two html loaders defined:
{ test: /\.html$/, loader: 'html-loader' },
{ test: /\.html$/, loader: 'ngtemplate?relativeTo=' + (path.resolve(__dirname, './src')) + '/!html'}

When what you really want is just:
{ test: /\.html$/, loader: 'ngtemplate?relativeTo=' + (path.resolve(__dirname, './src')) + '/!html'}

The way it works with that one line, is that HTML files will first be passed to the html-loader (!html) before being passed to ngtemplate-loader for more processing. ngtemplate-loader returns a snippet of JS to be included.
With the two tests that you have setup, the same thing as above happens, but then the JS returned by the ngtemplate-loader is passed again to the html-loader, which interprets the JS as HTML and converts it into a string like you're seeing.

It seems the use of window.angular causes havoc with OSX, I've worked out. If you're using this with ExtractTextPlugin, the use of window shows up as undefined. I would suggest using this instead of window so it works with all environments.

^I am also getting this issue.

In fact this also happens on ubuntu

this happens on windows as well

@wakurth can you send me you webpack.config please

Yes, I'm getting this too. And it's definitely a timing issue. Adding the extra require 'template/x.html' does seem to warm up the template cache.

I am also running into this problem. I can send my webpack.config if it would be helpful.


Exclude params and cons from the derivation based on annotations

I should have opened an issue about this originally instead of discussing it immediately in a proposed implementation (https://github.com/softwaremill/magnolia/pull/270) so I wanted to move it here now to restart discussion.
The problem
The real-world example for the requested feature came up while trying to migrate the semi-auto derived binary codecs in https://github.com/vigoo/desert/ from shapeless to magnolia. It supports marking case class fields and sealed trait constructors as transient. These transient subtrees of a data type may have types for which there is no implicit binary codec available and it cannot be automatically derived either. Even though the transient annotations can be observed from magnolia's combine/dispatch methods, as the derivation engine does not know about these application-specific exclusion rules it tries to gather typeclass instances for these members too, and fails.
An example for using these transient annotations is when serializing Akka-typed messages for remoting but using a subset of the message type for local-only communication, transferring non-serializable references (for example an akka stream or some local resources).
In the original PR I proposed a solution and then we discussed some alternatives. I did not check yet how the feature could be implemented in the new Scala 3 version.
It would be nice to support directly this with annotations because that way desert could be moved to Magnolia without changing its users code but maybe some breaking changes there are still better than maintaining a hand-written shapeless and a scala3 macro version in parallel ;)
What do you think?

Hi Magnolia folks. Have there been any thoughts on this? I'm working for a company that would like to adopt Desert to do long-term serialization (hence the need for schema migration) but the presence of Shapeless is a non-starter because of compile-time issues. Could this issue be solved in magnolia on a lower level?

I don't think there has been any developments around this, but we're open to discussion and contributions :) I guess the main question is what would happen when calling caseClass.param.typeclass for a transient field? An exception would be thrown?

I think that's reasonable. Just like calling .get on a None or aFailure.

Ok, well I don't see a reason not to support such transient fields. We just have to come up with a good name (@deriveTransient?) and implement :)

@adamw so you suggest to have a built-in @deriveTransient (or whatever) annotation for this. I think that would work and probably the simplest approach.
Two things come to my mind:

It should work both on fields and constructors
In desert transient fields have a default value for deserialization so I was using two different annotations: https://github.com/vigoo/desert/blob/master/desert-core/src/main/scala/io/github/vigoo/desert/transient.scala If there is a general purpose transient annotation in magnolia then the library could have a @default(value) annotation and then for transient fields it would require these two annotations. Only drawback is that verifying that both exists would move to the derivation while with a single annotation it forces the user to immediately fill it with the value. On the other hand this default value parameter is too specific for my library (or the domain of serialization at least) so probably shouldn't be Magnolia's concern.

But the default would have to be per-typeclass, so I don't think it applies here.
A downside of an annotation is that it requires modifying the case class (derivation source), but then there's no other easy way of providing additional derivation metadata.

I would suggest something more general again 😄 https://github.com/softwaremill/magnolia/pull/279#issuecomment-766475143

@joroKr21 I like that :) Even better, maybe we could simply parametrise the derivation macro with a code that would decide, if a field should be ignored or not (and possibly provide a default value)? That way you could use annotations (which could be one of the implementations of the parameter provided by default), but also implement other, e.g. name-based strategies. The code in question would be evaluated at compile-time of course.

I think that could work in Scala 3 where we have more options (by passing inline parameters and such) but not so much in Scala 2 where we can only pass additional type parameters to the macro.

I was thinking about Scala 3. I think the design is more or less sealed and "done" for Scala 2.

Ah I was thinking about both Scala 2 and 3, because I think @deusaquilus 's use case is for Scala 2 for now.
@adamw thinking about the macro to decide if a field should be ignored or not - doesn't this lead us to an alternative where simply the typeclass provided for the derivation is lazy? That way the transient field support would be to simply check the annotations (or name etc) and does not access the derived typeclass at all. I'm not sure how hard would that be to implement though.

Is lazy-derivation at compile-time possible? How do you do it?

No I was just thinking it through better and realized that would not be possible. (At least I don't see how)

Would @deriveTransient still be possibility for Scala 2? I think annotations are fine so long as they are simple and scarce. Coming from the DB world I have many, many scars from horrible things like @NamedQuery(<20 lines of code here>) but I don't think we need to religiously prohibit annotations based on those things.

I think the discussion is not really about whether to use annotations or not, but rather how configurable this behavior is. And probably also about which version (Scala 3 or both 2 and 3) we can implement it.
I would be happy if we can release it for both versions (and happy to help implementing it) and would allow at least the level of configuration I suggested above, but also like the even more general configuration idea of @joroKr21 :) Not completely clear though where those configuration types would be defined. An inner type defined in the derivation object found by name?

I agree that a more configurable design is very desirable for Scala 3 but it would be nice to have at least something for Scala 2. Perhaps we could worry about things like configurability and selective typeclass exclusion in Scala 3 but just have a bare-minimum implementation in Scala 2 that just does a single-field exclusion (i.e. for all derivations).
So we could do @deriveTransient for Scala 2 and for Scala 3 that would just be a overridable default of some sort.

I think the discussion is not really about whether to use annotations or not, but rather how configurable this behavior is. And probably also about which version (Scala 3 or both 2 and 3) we can implement it.

Yes, that's right - we would still need to mark the field in question in some way (in Scala 2 I can only think of annotations as feasible). The question is what should that annotation be? Something provided by Magnolia? Or should the library authors define their own. The configuration approach enables the latter. E.g. default only makes sense when mostly when deserializing something. Maybe for another typeclass there are different arguments needed to that annotation.

Not completely clear though where those configuration types would be defined. An inner type defined in the derivation object found by name?

That would be up to the library author. It just has to be passed as a type parameter to the macro. In Scala 2.13 it could be even a refined type directly there (because we access to singleton types). That would also work in Scala 3 but we could come up with something better there.

I think the configuration approach is really elegant, it would give different authors the ability to define custom annotations for their derivations resolving many potential separation-of-concerns issues. My question is, what is the effort level that this would involve? Is it worth doing something this nice for Scala 2?

...maybe in Scala 2 we can just do a one simple annotation and in Scala 3 have it be configurable:
  // In Scala 3...
  object CsvConfig extends Magnolia.Config {
    type Proxy = Csv.type
    type Ignore = transient // (default: deriveTransient)
    final val readOnly = true
    final val minFields = 0
    final val maxFields = -1
    final val minCases = 0
    final val maxCases = -1
  }

It does seem these are two separate issues/tasks really :) If anybody is up to implementing it, I think we can go with the config as @joroKr21 suggested for Scala2. For Scala3 I think I would prefer just passing some function which would decide whether to ignore / provide default or not (without mandating that annotations are involved, custom or not), as that's more flexible.
I'm away until 1st September but in case you'd have a PR @wojciechUrbanski or @mbore might step in, review, merge & release.

Wait a minute, how is it possible to read value-level elements e.g. final val minFields = 0 from CsvConfig inside of the macro? You can get those things as Tree elements from the TypeTag.tpe but you can't get their values, at least not from there...

If it was a literal type e.g. type minFields = 0 that should be possible. There's maybe one other way you could do it but that involves multiple compilation units.

Anyway, implementing this thing seems like a pretty big task for a fairly small feature that we need.
In the least you would need to:

Create genWith which I'm guessing would be an overloaded version of gen. This would probably involve some refactors.
Grab the necessary fields from CsvConfig. Resolve the minFields etc... into actual values (as a mentioned before, these probably need to be literal-types), and then pass them into a configuration-holder of some sort.
Pass this configuration-holder all the places that need it and...
Implement the derivation-exclusion annotation functionality and pass the configuration for which annotation to check into there.

Is there any chance we could do something simpler just to unblock desert/serialization stuff?
(I apologize for sounding like an impatient goon in advance...)

Wait a minute, how is it possible to read value-level elements e.g. final val minFields = 0 from CsvConfig inside of the macro?

That makes it a constant with a literal type (for Scala 2.12's sake - on Scala 2.13 you could just say genWith[Config { val minFields: 0 }, Foo] - yes it's a bit restrictive to use only literal types and type members.

Is there any chance we could do something simpler just to unblock desert/serialization stuff?
(I apologize for sounding like an impatient goon in advance...)

I don't think it's that difficult to implement but my OSS involvement hasn't been great in the summer months 😄 - as the season closes to an end I will probably find more time again. If I give it a go it would be the configurable version. But that doesn't stop somebody else from implementing the simpler version. It could then become a default if we make it configurable later.

Whoa, that actually works 😲 :
  object Foo {
    final val minFields = 0
  }
  val v: 0 = Foo.minFields

Pardon my ignorance...

Still WIP but looks promising
https://github.com/softwaremill/magnolia/pull/353


Torrent not loading

Please help, why SampleClient can not download my torrent file, what could be the reason?

If you have a recent build then it was probably https://github.com/mono/monotorrent/commit/b777dcb229f8e1ee424742cfe42ffedefb5c5206

If the latest revision resolves the problem you were having (the regression from a few commits ago) then please close the issue. Otherwise do share as much information as you can to help me figure out what's going wrong. Thanks

If you're still getting issue that are not resolved by using a newer build, please reopen this. Based on the timing of your report the problem is most likely the short-lived regression which was addressed already. Thanks !

Hello. Sorry for such a long answer, because I was away on business. Unfortunately your advice didn’t help me and yes, I am using the latest library build.


Open Camera method crashes when no Camera

Some devices do not have a camera activity that would handle the intent here:
https://github.com/Ink/filepicker-android/blob/master/filepicker-library/src/io/filepicker/FilePicker.java#L523
Using a try catch with a ActivityNotFoundException would be nicer then having filepicker crash.

Thanks for the catch, I've fixed in in 3.8.3.


AuthorityDiscovery republish

Republish addresses:

(?) when kademlia record expires.
when listening addresses change (e.g. NAT).
(SessionKeys: babe/grandpa/parachain/...) when session keys change.

Create timer to republish our address (in case it was changed e.g. under NAT)

Relevant issue: https://github.com/paritytech/polkadot-sdk/issues/3673


Forward opentelemetry-operations-collector submodule to current head

Description
Forward opentelemetry-operations-collector submodule to current head
Related issue
Breaking changes in opentelemetry-operations-collector are blocking https://github.com/GoogleCloudPlatform/ops-agent/pull/943
How has this been tested?

Checklist:

Unit tests

[ ] Unit tests do not apply.
[ ] Unit tests have been added/modified and passed for this PR.

Integration tests

[ ] Integration tests do not apply.
[ ] Integration tests have been added/modified and passed for this PR.

Documentation

[ ] This PR introduces no user visible changes.
[ ] This PR introduces user visible changes and the corresponding documentation change has been made.

Minor version bump

[ ] This PR introduces no new features.
[ ] This PR introduces new features, and there is a separate PR to bump the minor version since the last release already.
[ ] This PR bumps the version.

Above are affected 3rd party apps. As @martijnvans pointed out, the culprit seem this https://github.com/open-telemetry/opentelemetry-collector-contrib/pull/14680. Replacing the terms might fix the issue. Could you try that? Thanks!

 Above are affected 3rd party apps. As @martijnvans pointed out, the culprit seem this open-telemetry/opentelemetry-collector-contrib#14680. Replacing the terms might fix the issue. Could you try that? Thanks!

Hm, yeah. Trying a change suggested by @LujieDuan


Set up DREDD for automated testing of the API

Issue will be closed once Dredd is tested with the current master branch.

Completed with merging of PR #33 .


[tools] fusesoc negate flag

In an attempt to work around #4144, i attempt to add the following to otbn.core
  files_rtl_top:
    depend:
      - lowrisc:ip:tlul
      - lowrisc:prim:all
      - lowrisc:prim:assert
      - lowrisc:prim:util
      - lowrisc:prim:ram_1p_adv
      - lowrisc:ip:otbn_pkg
      - !tool_ascentlint ? (lowrisc:dv:otbn_model)
    files:
      - rtl/otbn_reg_pkg.sv
      - rtl/otbn_reg_top.sv
      - rtl/otbn.sv
    file_type: systemVerilogSource

However, the fusesoc flow almost immediately dies.
After some debugging, the flow is dying here.
It seems the yaml reader does not like the presence of an ! in front.  I get the following error
WARNING: Parse error. Ignoring file hw/ip/otbn/otbn.core: mapping keys are not allowed in this context

I can work around this by changing the negating to something like (!), and then changing the corresponding expression evaluation.
It's not really clear to me what the right fix is, so I'm filing this issue here first. If what I observed is real, then this issue should probably be propagated to the fusesoc repository.

@msfschaffner
@arnonsha
since they are both interested in using the negate flag.  The negate flag would also be useful in the templating discussion to further simplify.

The problem is in YAML parsing, try out "!tool_ascentlint ? (lowrisc:dv:otbn_model)" (with the quotation marks) instead.

ah sounds good, i didn't think about trying that.

In general, I'd recommend using quotation marks whenever there are special characters in the string. The actual rules are tricky to remember (https://www.yaml.info/learn/quote.html). I'm currently redoing a lot of fusesoc docs and had already added this recommendation there, we probably don't need anything special for OpenTitan.

thank you Phil!
I'll close this issue.
On Wed, Nov 11, 2020 at 11:47 AM Philipp Wagner<EMAIL_ADDRESS>wrote:

In general, I'd recommend using quotation marks whenever there are special
characters in the string. The actual rules are tricky to remember (
https://www.yaml.info/learn/quote.html). I'm currently redoing a lot of
fusesoc docs and had already added this recommendation there, we probably
don't need anything special for OpenTitan.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/4145#issuecomment-725625245,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSVGZADVPL2M3TCVNODSPLS5RANCNFSM4TRMWAZA
.

no we typically end up doing something like...
"nuvoton_cores ? nuvoton:systems:ast"
"!nuvoston_cores ? lowrisc:systems:ast"
so it's just broken into two lines.. but the negative condition can be used
in that way.
On Fri, Dec 11, 2020 at 4:40 AM arnonsha<EMAIL_ADDRESS>wrote:

@imphil https://github.com/imphil
Does fusesoc also supports if then else syntax ? Something like:
files_rtl_top:
depend:

"nuvoton_cores ? nuvoton:systems:ast : lowrisc:systems:ast"

@tjaychen https://github.com/tjaychen
If it this is not supported then we still need 2 core files, don't we ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/4145#issuecomment-743170700,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSSW2YF3K7YRVP4ZMLLSUIHNHANCNFSM4TRMWAZA
.


Question - What does onDidChangeCursorPosition in abstract-provider do?

Hello
I was wondering about a certain part of the code in abstract-provider:
editor.onDidChangeCursorPosition (event) =>
    # return # Temporary

    if @isHovering == false
        return
    markerProperties =
        containsBufferPosition: event.newBufferPosition
    markers = event.cursor.editor.findMarkers markerProperties
    for key,marker of markers
        for allKey,allMarker of @allMarkers[editor.getLongTitle()]
            if marker.id == allMarker.id
                @gotoFromWord(event.cursor.editor, marker.getProperties().term)
                break

What is this code supposed to be doing? This does not seem to influence alt-click at all, so I presume it has something to do with the keyboard version of goto. I've also noticed that sometimes when I move my cursor this code decides it's a good idea to try and navigate to a class while I never used the appropriate keyboard shortcut.
I don't really dare to touch it since it's purpose it not entirely clear, help would be appreciated ;-) @Peekmo @CWDN

It's to get the click event for the markers.
It's not with the other click event because that uses the clicked elements text to work out what goto to use and as the markers don't have any content it couldn't be done that way. Also doing it this way means we can use the markers properties to get the click element data.

Ah, I see now, it handles alt-clicking class names inside comment blocks. Now it makes sense, thanks for your explanation, this ticket can be closed ;-). I added a comment on top of it in pull request #116.

Thank you for your explanations :)


404s with parameter type path

Hi y'all,
we have just upgraded from sanic==20.3.0 to sanic==21.9.1 with sanic-routing==0.7.1.
Our test suite now shows 404s and 405s where we didn't expect them.
We run into this with Python 3.7, 3.8 and 3.9 on Windows and Ubuntu.
Minimal Example
from sanic import Sanic
from sanic.response import text

app = Sanic("MyHelloWorldApp")

@app.get("/conversation/<conversation_id:path>/story")
async def story(request, conversation_id):
    return text("story")

@app.put("/conversation/<conversation_id:path>/tracker/events")
async def put_events(request, conversation_id):
    return text("put events")

@app.post("/conversation/<conversation_id:path>/tracker/events")
async def post_events(request, conversation_id):
    return text("post events")

How to reproduce
If you do a curl http://<IP_ADDRESS>:8000/conversation/dasda-dasd/story, this will result in a 404 (instead of the expected "story") If you comment out put_events or post_events it works fine.
I believe this is somewhat related to https://github.com/sanic-org/sanic/issues/2130
Appreciate any help as this is currently blocking us to upgrade 🙌🏻

It seems this was introduced in 0.7.1. Can't reproduce with 0.7.0

I see the problem. You are indeed correct this is a :bug:
I do not think it will be a difficult fix, but I am also not entirely sure of a good workaround yet. I will try to get an 0.7.2 out this weekend.
Thank you for providing the simple, easy to reproduce test case. This makes it very simple for me to narrow down the issue.

Thanks for jumping so quickly on this! This is really great community support! 🙌🏻

Thank you for providing the simple, easy to reproduce test case.

haha 😆 I'm often on the other side at Rasa so I know the pain of a maintainer 😄

As way of explanation of what is happening... this is a portion of the generated router with my own annotations:
    # This section only appears RIGHT BEFORE a grouped set of routes.
    # In this case, since the same route has a POST and PUT, it helps direct to the correct one
    if method in frozenset({'PUT'}):
        route_idx = 0
    elif method in frozenset({'POST'}):
        route_idx = 1
    else:
        raise NoMethod

    # Matching for "/conversation/<conversation_id:path>/tracker/events"
    match = router.matchers[0].match(path)
    if match:
        basket['__params__'] = match.groupdict()
        return router.regex_routes[('conversation', '<__dynamic__:path>', 'tracker', 'events')][route_idx], basket

    # Matching for "/conversation/<conversation_id:path>/story"
    match = router.matchers[1].match(path)
    if match:
        basket['__params__'] = match.groupdict()
        return router.regex_routes[('conversation', '<__dynamic__:path>', 'story')][0], basket
    raise NotFound

So, the solution is probably to move the method checking inside the match conditional.

haha laughing I'm often on the other side at Rasa so I know the pain of a maintainer smile

Nice to finally "meet" you

Here's the diff of the fix. If you have a chance to make the PR. If not, I can get to it later tonight.
diff --git a/sanic_routing/router.py b/sanic_routing/router.py
index 8e964d6..210927d 100644
--- a/sanic_routing/router.py
+++ b/sanic_routing/router.py
@@ -424,9 +424,10 @@ class BaseRouter(ABC):
             )
             route_idx: t.Union[str, int] = 0

+            holder = []
             if len(group.routes) > 1:
                 route_idx = "route_idx"
-                Node._inject_method_check(src, 1, group)
+                Node._inject_method_check(holder, 2, group)

             src.extend(
                 [
@@ -438,6 +439,7 @@ class BaseRouter(ABC):
                         1,
                     ),
                     Line("if match:", 1),
+                    *holder,
                     Line("basket['__params__'] = match.groupdict()", 2),
                     Line(
                         (

You're my hero! I'll try it out!

Sweet - it works. I'll create a PR - just need to write a test

Released: https://pypi.org/project/sanic-routing/0.7.2/

Thank you so much! This was really outstanding community support! 🙌🏻 Keep up the great work! 🚀

It helps that it was a simple fix :laughing:


Gett subject relation null

$logs = Activity::with(['subject','causer'])->get();
dd($logs);
i run that query getting causer but not subject
#attributes: array:12 [▼
"id" => 5
"log_name" => "default"
"description" => "created"
"subject_type" => "App\PartnerProduct"
"event" => "created"
"subject_id" => 7341
"causer_type" => "App\User"
"causer_id" => 2
"properties" => "
{"attributes": {"id": 7341, "status": 1, "parent_id": 7322, "created_at": "2024-05-17T07:05:00.000000Z", "deleted_at": null, "updated_at": "2024-05-17T07:05:00.
▶
"
"batch_uuid" => null
"created_at" => "2024-05-17 17:05:00"
"updated_at" => "2024-05-17 17:05:00"
]
#original: array:12 [▶]
#changes: []
#casts: array:1 [▶]
#classCastCache: []
#attributeCastCache: []
#dates: []
#dateFormat: null
#appends: []
#dispatchesEvents: []
#observables: []
#relations: array:2 [▼
"subject" => null
"causer" =>
App

User {#3862 ▶}
]
#touches: []
+timestamps: true
#hidden: []
#visible: []
#fillable: []
#guarded: ?
+guarded: []
}
]
#escapeWhenCastingToString: false

@BilalSadiqDev Could you provide a PR with a failing unit test to ? All of the tests are currently passing. Thanks! :+1:

Closing due to inactivity. Please reopen an issue if you're still running into the same problem! Thank you :+1:


[MRG] lag features

Hi @Morgan-Sell
I think we are done with this class. I modified the code a bit here and there. Re-organized the tests. Added some new tests. And also finished the documentation. I also removed some files that we had duplicated.
I re-organized the files of docs for other transformers, because now we have so many that the index was messy. You don't need to look at those files. I tagged your name in the file that I would appreciate if you could read, and let me know if it is clear and also fix any typo or grammar mistake that I may have made.
If you could have a look at the final state of the LagFeatures class and tests, and the doc file that I tagged you with below, and are happy with all those changes, could you please merge, and then in the main repo ask @KishManani for a final review?
PS: I know you are busy, so if you don't have time, don't worry, please merge and we take it from there  :)

Hi @solegalli,
I left one minor comment. I believe the revision simplifies the text. Let me know if you would like to change the text. Otherwise, I can merge the PR.

Thank you @Morgan-Sell
If you could merge, I will discuss the sentence change with Kishan in the main repo. I borrowed his words, i think it is forecasting jargon. Thanks a lot!!!


fastlane init can't handle Cordova projects

Feature Request
Motivation Behind Feature
The "new" fastlane init flow is not as good for Cordova projects as the old one. With the old one, you could just run fastlane init in the project folder and supply the path to the iOS or Android project in platforms/... manually.
Now fastlane init recognizes the iOS or Android project in the subfolder, and makes you cd to that folder. If it wouldn't find that project in the subfolder, it would just let you create a fastlane folder where you are.
Feature Description
Looking for config.xml and platforms (+ plugins, + www) should be a quite good indicator for a Cordova project. Then somehow do the init flow for all platforms that are available at the time of init.
Alternatives or Workarounds
None, or: create fastlane folder manually.

(New fastlane init was added here: https://github.com/fastlane/fastlane/pull/11386/files)


Refactoring for PyUSB backend

I did some refactoring while playing with PyOCD. Most of the refactoring is just making the code more pythonic (removing some redundant things).
Some problematic value-checking is fixed as well. Namely in some cases is is used for checking of values. This might work now but since is does identity checking rather than value checking, some bugs might slip into the code.

Can you provide better commit messages ? If you can, squash those 2 into one and provide there a descriptive message , like you did above?
For example, without looking at how endpoints are implemented for interface, we could get the change from the commit message why those 10 lines were changed to :
ep_in, ep_out = interface.endpoints()

Thanks

Ok, I made a new pull request here

Thanks, closing this one.
You could use rebase or soft reset, then force push, this PR would get updated.


Analyzer crashed

Analyzer Feedback from IntelliJ
Version information

IDEA IU-173.4548.28
2.0.0-dev.40.0
IU-173.4548.28, JRE 1.8.0_152-release-1024-b11x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.13.3 unknown, screens 3440x1440, 1080x1920  Retina

Exception
Please append the contents of:
file:///private/var/folders/bn/dtrksvvs32j6004mk6r0dcdw007b7h/T/report.txt
Dart analysis server, SDK version 2.0.0-dev.40.0, server version 1.20.0, error: Analysis failed: /Users/matanl/git/angular/angular_compiler/test/emitter/injector_test.dart
RangeError (byteOffset): Invalid value: Not in range 0..1860, inclusive:<PHONE_NUMBER>
#0      _ByteDataView.getUint32 (dart:typed_data-patch/dart:typed_data/typed_data_patch.dart:4278)
#1      BufferContext._getUint32 (package:front_end/src/base/flat_buffers.dart:72)
#2      StringReader.read (package:front_end/src/base/flat_buffers.dart:663)
#3      _FbGenericList.[] (package:front_end/src/base/flat_buffers.dart:826)
#4      Object

You can try rm ~/.dartServer/.analysis-driver/*, if you were using a buggy version before it could have corrupted your cache


400 Error to hosted WordPress

I am receiving 400 error on all mentions to our site and for the life of me can't see what is blocking it.
Setup: Self-hosted WordPress with IndieWeb and Webmention plugins installed. Brid.gy user: https://brid.gy/twitter/wpcoventry
Any help appreciated.
Example response:

<IP_ADDRESS> - - [24/Jun/2019:14:06:50 -0700] "POST /_ah/queue/propagate HTTP/1.1" 200 84 "https://brid.gy/retry" "AppEngine-Google; (+http://code.google.com/appengine)"
2019-06-24 21:06:48.544765 D Params: NestedMultiDict([('response_key', u'aglzfmJy...')])
2019-06-24 21:06:48.880929 I Source: wpcoventry (Twitter) wpcoventry, https://brid.gy/twitter/wpcoventry
2019-06-24 21:06:48.881170 I Created by this poll: https://brid.gy/log?start_time=1561405789&key=aglzfmJyaWQtZ3lyFwsSB1R3aXR0ZXIiCndwY292ZW50cnkM
2019-06-24 21:06:48.887216 I Starting Response repost tag:twitter.com,2013:1130602248432693248 https://twitter.com/nbatch_/status/1130602248432693248
2019-06-24 21:06:48.906887 I Webmention from https://brid-gy.appspot.com/repost/twitter/wpcoventry/1130602001379876867/1130602248432693248 to https://www.wpcoventry.co.uk/2019/05/wordcamp-bristol-2019/
2019-06-24 21:06:48.917979 I Sending...
2019-06-24 21:06:50.327659 I Giving up this target. {'body': u'\x13Y\x00\x00\x04"o\ufffd\ufffd.\x7f\x10\ufffd/Ihfc\ufffd\ufffdy\ufffdq\u0281C\x16\ufffdY[\x1a\ufffd\x01\ufffd\ufffd!\x0b\ufffdv\ufffd\ufffd\ufffd\ufffd\x17c\ufffd\ufffd=\ufffdV\x14S0\x12\ufffd\ufffd\ufffd$\x17\ufffd\u013d\ufffd\ufffdl\ufffd7\u030f=\ufffd\ufffds\x1d\ufffd!\ufffd\x0f', 'code': '...', 'request': u'POST https://www.wpcoventry.co.uk/wp-json/webmention/1.0/endpoint (with source=https://brid-gy.appspot.com/repost/twitter/wpcoventry/1130602001379876867/1130602248432693248, target=https://www.wpcoventry.co.uk/2019/05/wordcamp-bristol-2019/)', 'http_status': 400}

hi @BatchHeader, sorry for the trouble! looks like that post has pingbacks (or comments) disabled, which includes webmentions:
$ curl https://www.wpcoventry.co.uk/wp-json/webmention/1.0/endpoint -d source=https://brid-gy.appspot.com/repost/twitter/wpcoventry/1130602001379876867/1130602248432693248 -d target=https://www.wpcoventry.co.uk/2019/05/wordcamp-bristol-2019/
{"code":"pings_closed","message":"Pings are disabled for this post","data":{"status":400}}

try enabling them, either on that post or site wide in Settings => Discussion ? cc @dshanske for more debugging.

@snarfed Thanks for that. Rookie mistake. Enabled them but older posts were still set manually. Have now amended and all working as expected. 👍

I have a proposal to disable the global setting on the theory that installing the plugin means you want webmentions


Aligning Connection#setTransactionIsolationLevel Behavior with r2dbc-spi Specification

Issue
The current implementation of Connection#setTransactionIsolationLevel does not align with its specification. According to the specification(), this method should configure the isolation level for the connection, and the specified isolation level should apply to all subsequent transactions. However, the current behavior applies the isolation level only to the next transaction.
Proposal
Aligning the behavior of Connection#setTransactionIsolationLevel with its specification. The implementation should be adjusted so that the configured isolation level persists for all subsequent transactions until explicitly changed.
Action Items

Modify the implementation of Connection#setTransactionIsolationLevel to align with the specification.
Verify and update the transaction isolation behavior in the entire project to ensure consistency and adherence to the proposed changes.

Refs

r2dbc-spi specification: https://github.com/r2dbc/r2dbc-spi/blob/160cd2743f8ce8551618abcd96fa1d7ee37f8f38/r2dbc-spi/src/main/java/io/r2dbc/spi/Connection.java#L221C12-L221C12
mysql-dev doc: https://dev.mysql.com/doc/refman/8.0/en/set-transaction.html#set-transaction-scope

I'm willing to contribute this enhancement.
/assign

I'm willing to contribute this enhancement.
/assign

Thanks!

#202 resolved this issue


Support for requirements*.txt files

Describe the feature you are requesting
The menu item "Install from requirements.txt" should be dynamically generated and filled with all "requirements*.txt" files in the project folder.
Reasons for requesting this feature
PTVS only supports the normal requirements.txt at the moment. Many projects are using two or more requirement.txt files. Normally one for the release (requirements.txt) and another one for developement ( e.g. requirements_dev.txt) which also contains the libraries for tests/building docs/... . When setting up the v/env through visual studio you can't fully use it, because of the missing packages from the requirements_dev.txt.
Describe alternatives you've considered

Using GUI

renaming requirements.txt to requirements.back
requirements_dev.txt to requirements.txt
click on "install from requirements.txt"
revert the rename

Using CLI

pip install -r requirements_dev.txt

Thanks! I agree, and we should also make the command work in workspace aka Open Folder mode.


Programatic refresh of empty FlatList on iOS does not show indicator

New Version
0.66.3
Old Version
0.64.2
Build Target(s)
iOS
Output of react-native info
System:
OS: macOS 11.6
CPU: (8) x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
Memory: 25.39 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.2.0 - /usr/local/bin/node
Yarn: Not Found
npm: 7.13.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
Android SDK:
API Levels: 28, 29, 30
Build Tools: 28.0.3, 29.0.0, 29.0.2, 29.0.3, 30.0.2, 30.0.3, 31.0.0
System Images: android-29 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom_64, android-30 | Google APIs Intel x86 Atom, android-30 | Google APIs Intel x86 Atom_64
Android NDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.87<IP_ADDRESS>42882
Xcode: 12.5/12E262 - /usr/bin/xcodebuild
Languages:
Java: 15.0.2 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: ^17.0.2 => 17.0.2
react-native: 0.66.3 => 0.66.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Issue and Reproduction Steps
Flatlist refresh indicator does not show when programatically refreshing if there are no elements currently in the list on iOS.
It shows the indicator if you 'pull to refresh', are on android, or have items in your flatlist.
While it's refreshing, if you scroll at all you can see that the indicator is in fact present, but not visible.
I saw this issue which is similar, but manually applying these commits didn't help.
PR #27397

@upngo is your problem solved? From which version did you start to have this bug? I am checking which commit introduced this bug, since after updating from 63.3 to 67.3 I am also seeing this bug. This might fix it.
https://github.com/facebook/react-native/pull/32607

@janicduplessis can you please help on this.

I updated from 0.64.2 to 0.66.3 and the problem presented


Tests for create URLs with multiple domain rules

Tests for https://github.com/yiisoft/yii2/issues/7948#issuecomment-259396539

Thank you!


Release nodejs-translate v2.1.0

This pull request was generated using releasetool.

Release is at https://github.com/googleapis/nodejs-translate/releases/tag/v2.1.0


"Leave thread" when it's one you created is confusing

Not common in centralized architectures,  "what happens, is it deleted". We should just clarify the first time perhaps

Do we currently have a way to tell if a thread is one you've joined versus one you've created?

Turns out no, we don't really distinguish between a thread a client has created versus one they've joined. Based on a discussion with @sanderpick, one proposal here would be to show a popup or overlay of some kind the first time someone leaves a thread, with something along the lines of:
"Sorry to see you go. If you this is a thread you created, it will continue to exist after you've left. That means, you can come back any time you like!" or similar.

should be better now


Typo fix

Just removing an extra letter that should not be there.

The same type exists in the filename.

I'm open to renaming the file as well--it has SEO implications for commands.dev, but it's better to rename earlier than later imo


Wrong initial keyboard focus in interactive rebase

GitLens Version: 11.4.1
Git Version: 2.32.0
VSCode Version: 1.56.2
OS Version: Archlinux

Steps to Reproduce:

Open an interactive rebase, e.g. via the command palette, "GitLens: Git Rebase...", selecting a branch/commit and interactive rebase.
Press e in an attempt to mark the first commit as "edit"
Notice how the keybindings don't work because the keyboard focus is in some weird place - you'll either need to click the first commit before using the shortcuts; or press the tab key twice.

Can you please verify this fix in tomorrow's GitLens insiders edition?
You can install the GitLens insiders edition from here. Be sure to disable/uninstall the stable version of GitLens first.

Thanks for the quick fix! :heart: I built from sources and can confirm it's working now.
A semi-related question: Given that the bindings for that view seem to be hardcoded, would you consider adding j/k and Shift-J/Shift-K as alternative bindings for Up/Down and Shift-Up/Shift-Down, for people like me who used vim too much and can't go back? :smile: Happy to open a PR if so.


Migrated JUNIT 3 to JUNIT 4

These are the tests for Prolog inside Java
Now system is using JUNIT 4 and the very old test file has been integrated and removed.
The integration of the standalone tests (which are all JUNIT 4 anyways) will be handled separately as the tests need to be cleanly organized in "topics" (lists, variables, solutions, etc)
This PR addresses issue #40

Thanks.  Merged using squash merge.   Will update web page for dependencies.

Could this be related? https://swi-prolog.discourse.group/t/java-jpl-cmake-test-errors/2177/3

mmm ops! Yes could be yes. hamcrest-core may indeed be related to the new JUNIT4.
Thanks for passing that post in the forum.
(Will check this tomorrow. I was working a lot today in the Rationals, it is almost done, I am doing check and seems to all work well!)

Thanks!   Do you follow the forum?

Not really... I will follow this one though but best if you direct it to here; just cannot promise I can keep up with that! :-)
I am also re-structuring the whole organization of the test package for JPL, much cleaner now using TesSuites and all in JUNIT. There was a LOT of old code.
Should I re-open this issue?

I'll forward stuff I think is for you :)

Should I re-open this issue?

No.  Please start a new PR.  Otherwise I have to do difficult things to make git happy again.

Sorry sorry I meant re-open issue #40, not this PR.

:smile: I don't care about issues being reopened or not, as long as I can figure out what is going on.


help: merged into nixpkgs

Please explain the issue you're experiencing (with as much detail as possible):
Thank you for fast tool. My pr has been merged. The package will be available in nixpkgs soon.
https://github.com/NixOS/nixpkgs/pull/234458

Hello @name-snrl, thanks you for that!
I am not sure how to interpret this issue: is it a question?

No, I just wanted to say thank you.

Oh ok, nice! Many thanks to you :D
what does you PR in the Nix package actually imply?

nixpkgs is repo, that contains all packages of nix package manager. My PR just add ltrs to nixpkgs. All packages in nixpkgs are built with hydra and then made available as a binary cache.
Soon it will be possible to install ltrs with nix profile nixpkgs#languagetool-rust

good to know, thanks!


cli: fix diff command filepath handling on windows

Fixes #6762 ._.

Doesn't fail anymore! here is an example of the output I see:
$ C:\Users\work\git\backstage\node_modules\.bin\backstage-cli plugin:diff
Making sure .eslintrc.js exists
Skipping tsconfig.json
Checking package.json
Skipping README.md
Making sure dev\index.tsx exists
Making sure src\plugin.test.ts exists
Making sure src\plugin.ts exists
Skipping src\routes.ts
Making sure src\index.ts exists
Making sure src\setupTests.ts exists
Skipping src\components\ExampleComponent\ExampleComponent.test.tsx
Skipping src\components\ExampleComponent\ExampleComponent.tsx
Skipping src\components\ExampleComponent\index.ts
Skipping src\components\ExampleFetchComponent\ExampleFetchComponent.test.tsx
Skipping src\components\ExampleFetchComponent\index.ts
Skipping src\components\ExampleFetchComponent\ExampleFetchComponent.tsx
Done in 1.22s.


map doesn't update on second region search

Searching a region provides a nifty result.  Example:  "W6/CT".  A second search for another region, say "W6/SS" updates the table but the displayed map isn't updated.

Not urgent.

Fixed – thanks!


Bug report: I cant assign some bones whenever i have them all named and in the hiearchy properly.

Each time i have it all rigged. when i atleast have like the left bones assigned It wont let me assign the right bones.

I dont know what to do to fix this and i assume its a bug.

For the purposes of our research, could you please attach screenshots of all current bone assignments and the structure of all bones?


Preload HSTS

https://deno.land is sending an HSTS header indicating that it should be preloaded for HTTPS in browsers:
https://hstspreload.org/?domain=deno.land

If this is intended, it would be good to submit the form there!
(If this is not intended, I suggest removing the header as soon as possible, because anyone can submit the form.)

@lucacasonato This issue should be resolved quickly, as both the submission for adding and removing can take months for most users to receive.

We serve without the preload attribute in strict-transport-security header now.


Raise ApplicationEvent.PreSendRequestHeaders when writing starts

Fixes #514

This is stacked against #509 since it requires the ability to disable buffering to test it.


Error when starting the base project

Hey,
I'm trying to run the base project following the tutorial on : https://bestofreactjs.com/repo/ethereum-boilerplate-ethereum-nft-marketplace-template-react-miscellaneous
But I get the following error:
TypeScript error in /home/XXXXX/Documents/ethereum-nft-marketplace-template/src/views/Admin/Module/Adder/components/ModuleSelector.tsx(70,37):
Type '{ position: "bottom"; text: string; children: ReactNode[]; }' is not assignable to type 'IntrinsicAttributes & TooltipProps & { children?: ReactNode; }'.
  Property 'text' does not exist on type 'IntrinsicAttributes & TooltipProps & { children?: ReactNode; }'.  TS2322

    68 |                                 <Tooltip
    69 |                                     position={"bottom"}
  > 70 |                                     text={"Coming Soon 👀"}
       |                                     ^
    71 |                                     children={printCard(module)}
    72 |                                 />
    73 |                             ) }

Thanks in advance for the help :)

Hey this repo its not official and not yet supported


Add New Relic to list of available exporters.

Add New Relic exporter to list of exporters in the README.
https://github.com/newrelic/newrelic-opencensus-exporter-go

@googlebot I signed it!


Failed to acquire token silently. Call method AcquireToken

Downloaded zip of project and followed the readme directions.  When I run the app, I'm able to log into it via Azure AD just fine and see my email address at the top, but as soon as I click on any of the buttons in the page (Calendar, Email, etc) I get an error:
Failed to acquire token silently. Call method AcquireToken
Including StackTrace:
Microsoft.IdentityModel.Clients.ActiveDirectory.AdalSilentTokenAcquisitionException: Failed to acquire token silently. Call method AcquireToken at O365_APIs_Start_ASPNET_MVC.Controllers.CalendarController.d__4.MoveNext() in C:\Users\xxxxxx\Downloads\O365-ASPNETMVC-Start-master\O365-APIs-Start-ASPNET-MVC\Controllers\CalendarController.cs:line 69 --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.b__36(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.b__32(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End() at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.b__1c() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)

Can you confirm that all of the permissions were set for the application?

Yes I have confirmed the permissions have been set, see attached.

Did you get the consent screen when you logged in? Did the signed-in user have access to those resources? I notice that when I'm signed into manage.windowsazure.com with my @Hotmail address, I'm getting the consent screen using my @Hotmail account instead of my O365 account.

This sample is single tenant. Did you leave the default value of single-tenant?
I just ran through the instructions again and it worked as expected.

I did not get a consent screen when I logged in and I made sure to sign in with my O365 account email.  I'm not sure if a permission on our O365 is missing but when I go the Sandbox API site:  https://apisandbox.msdn.microsoft.com/
And try to login I was originally getting an error that said "Does not have access to consent".  We tried to make some O365 permission changes and now I get an error that says:  "Calling principal cannot consent due to lack of permissions."   Are we missing a permission or setting somewhere that could be causing this as well as an issue when trying to run this code example?

I was able to reproduce the issue when I ran Fiddler when I tried to access the files, mail, or calendar resources. The sample had an issue with Fiddler being a MITM, and I got the error. Then I turn Fiddler off.  Then the sample is in a state where it needs to acquire the token (again). If I go to http://localhost:27592/Account/RefreshSession, it get backs to the expected state.
Does navigating to http://localhost:27592/Account/RefreshSession resolve make the sample work for you? Make sure Fiddler is off.
Nonetheless, there is an issue in this sample in the authentication part of it.

I do not yet have Fiddler installed on this test machine.
When I go to /Account/RefreshSession I see it quickly jump to login.microsoft..... and then back to the app, but when I again click on any of the buttons for files, mail, calendar I get the same AdalException error.

Strange. There is something going on here that I don't understand and I can't reproduce. Do you experience the same issue if you use this sample: https://github.com/OfficeDev/O365-WebApp-MultiTenant

@mosoccer Can you try going into packages.config and change Microsoft.Owin to version 3.0.1? Rebuild and run the project. Make sure the nuget package updates.
Does that make a difference?

Same exception with Owin 3.0.1.
Also same error with the MultiTenant Example:
Message: "Failed to acquire token silently. Call method AcquireToken"
Source: "Microsoft.IdentityModel.Clients.ActiveDirectory"

I pulled up the project again today to play with and dig into and magically it's working now.  I haven't changed anything in the project since the last time I tried it and we haven't changed any settings on our O365 side.  Aware of anything changing service side?

I spoke too soon, Contacts still gives same error as before but Calendar, Email and Files all work as expected.

I'm unaware of any changes/fixes in the service that may have made it work. I do find it odd that the Contacts doesn't work but the Calendar and Email APIs do work. I can only suggest checking that the token has the Contacts.Write scope (or checking the registration on Azure).

I was unable to repro the issue. Please reopen this issue if you can provide new information about the problem.

i have a similar problem about ADAL EXCEPTION
however i selected in "connected services" all permissions

i can log in inside my application no problem but when i want to access to my Calendar ,Contacts,Email and My Files i have adal exception
I have this error :
AdalException
This exception is thrown when either you have a stale O365 access token that can cause authentication errors, or you attempted to access a resource that you don't have permissions to access.

My application is active in my Office 365 account:

Someone can help me i don't know if  i must configure anything in my Office 365 Admin or If i must associate my account Office 365 to my Azure AD ?

Have you followed the instructions for associating your Azure subscription with your Office 365 account?

I've got the same issue but Only when I try with a AD FS Tenant.
The same code works on a non-federate tenant but it's failed when a try with a Federate Tenant.
Any help?


cmd/asm: update where NOFRAME is valid

The current comment for NOFRAME in runtime/textflag.h says:
// TODO(mwhudson): only implemented for ppc64x at present.

It's been implemented for lots (all?) architectures since.
Check our coverage and update (delete) this comment.
@mwhudson @zhangfannie

Yeah, I think it is implemented in nearly all architectures. If I remember correctly, @aclements did that.

CL https://go-review.googlesource.com/c/go/+/92039 and the stack.

Oh yay, glad that got done!


Loading files from GridFS is very CPU intense

I am consuming the enumeratee returned from gridfs.find(...) with the following iteratee:
Iteratee.consumeArray[Byte]
This consuming is burning my cpu... Is there any way to retrieve the file as a whole? If not, there really needs to be one.

@cchantep Did you find a way to fix it?

This issue has been created in 2013. If reproduced with the latest 0.11.0 driver a new ticket can be created for this version. There is no plan to check it in previous releases for now. Best regards.


ISPN-6004 Refactor expiration to remove ExpirationInterceptor

EntryFactoryImpl doesn't cause expiration on writes
ExpirationInterceptor can be removed

https://issues.jboss.org/browse/ISPN-6004

Integrated, thanks Will!


Added support for xc7z020clg400-1 and added an openocd config file for pynq-z1

Added generation of the xc7z020clg400-1, which is required for using the pynq-z1 board.  Also, created a working openocd configuration for the pynq-z1.

@andrewb1999 - Could you also add this to our openocd conda packages?

https://github.com/litex-hub/litex-conda-prog/tree/master/prog/openocd
https://github.com/SymbiFlow/conda-packages/tree/master/openocd

Would be good to try and get it upstream into openocd -- http://openocd.org/doc/doxygen/html/patchguide.html


Whitelabel backend api

Fixes #508

@Schedulaar would be nice if you could review this. The data loaders are now not used directly anymore for the findByIds graphql queries. If I understood you correct they are still used under the hood though since they are registered in the registry, right?
I think there is no way to supply a project to the data loaders to do the selecting there, right? The only other way I could think of was to first select the ids of all stores/regions matching the project and then do another query using the data loaders to fetch the actual other columns.

Sooo I think the main issue is, that there is no clear location, where we would fail if an id that is requested in a graphql query does not exist in the DB. Error handling was not really handled explicitly in the backend for this case (yet :) ).
I think in such a case, your changes break the dataloaders in a very weird way as it expects outputs[i] corresponds to inputs[i]. I think as a general rule, we might employ: "DataLoaders and Repository Functions of type findByIds return a List of nullables (where output[i]=null means there was no element with id input[i]). GraphQL Services that use DataLoaders or Repository functions of type findByIds check if there is a null element in the list (and give an appropriate error to the API user)"

Hmm I see, didn't think of that. Thanks for your opinion :)

Hence: I would suggest reverting all changes to the dataloaders, the sortByKey and the repository.findByIds functions. For the adjusted graphql requests (with the argument project), I would suggest creating new functions in the repositories (.findAllByProject(project) and .findByIdsInProject(ids, project)) and handle null values as described above.

I agree with reverting all dataloaders, sortByKey and findByIds. However, I don't think we should have endpoints available not taking a project as param. There is no usecase where we want to query for regions or stores of multiple projects and it will perhaps be missed that there are multiple projects in the future. Also, this leads to old eak bayern app installations (which do not use the new endpoints) receiving regions and stores of other projects once we add regions/stores for other projects.

One other question: Should I add a flag to the dummy regions to prevent them from being delivered to the apps in the region endpoints? AFAICS the regions endpoints are only used for card identification/registration though which is not enabled in the apps yet, right?

I think that is not important right now. We can just do it later if its a problem for us.

Sorry for rebasing

Please avoid force pushing after a review has been done :see_no_evil:

Please avoid force pushing after a review has been done see_no_evil

yes, thats why I apologized :)

Please avoid force pushing after a review has been done see_no_evil

yes, thats why I apologized :)

sorry did not see it :D

Although it is Okay to break the API for production, I would think it makes sense to have the create+verify cards endpoints adjusted in the backend and frontend asap. Otherwise, there's a lot of broken code in the repo.

I think we can only do this once we have started with whitelabeling the frontend and administration and have access to the project id.


Invalid type for path "maba_webpack.bin.dev_server.executable.0". Expected scalar, but got array.

Hi, thanks for this bundle! :smile:, I'm really looking forward to trying it in my app but I'm getting this error when I try to run the devserver with a custom configuration (I need it to run on port 8081):
[Symfony\Component\Config\Definition\Exception\InvalidTypeException]
  Invalid type for path "maba_webpack.bin.dev_server.executable.0". Expected scalar, but got array.

My config is:
maba_webpack:
    config:
        path: '%kernel.root_dir%/config/webpack.config.js'
        parameters:
            public_path: 'http://<IP_ADDRESS>:8081/compiled/'
    bin:
        dev_server:
            executable:
                - node
                - node_modules/webpack-dev-server/bin/webpack-dev-server.js
            arguments:
                - --port 8081

I can seem to find out what I'm doing wrong here. Any ideas?

It was fixed with #9. Also see #3 and #4 as this will be the case for you, too:

---port and 8081 in separate lines
You also need --host <IP_ADDRESS> as dev-server will not receive connection from other hosts if this will not be provided (only by localhost)

Just to note - you do not need to provide executable at all if defaults are ok for you. You could overwrite just the arguments part if needed.


Could not tune channel

I was able to configure and run xteve with the m3u8 playlist and xmltv epg I use in Kodi IPTV simple client and Android Perfect Player.
I can see the mapped channels, epg grid etc. in Plex Live TV, but when trying to run any channel I get playback error: Could not tune channel. Please check your tuner or antenna.
The xteve log shows just 2019-08-04 17:40:56 [xTeVe] Plex stream:, which to me seems no stream is passed through.
Am I missing something with the config and what would be the troubleshooting steps? Note that the source playlist and epg do work in the IPTV players.
Update: I also see Device not found in Plex setting for Live TV. When I delete and add the DVR again the running xTeVe is found, but as soon as its configuration in plex is finished, status goes back to Device not found.

Which version of xTeVe do you use?

I have actually tried with both 1.4.4 and 2.0.0 and there is no difference in the described behavior.
Thanks for the link regarding troubleshooting - went though it, but actually do not see a match with my particular case. Any advice would be however more than welcome.

Have you ever tried to open the xteve.m3u with VLC?

Tried a second ago with a failure:
access error: HTTP connection failure
http error: cannot connect to <IP_ADDRESS>:34400
Nevertheless, from a browser xteve.m3u returns, it seems, valid playlist containing links in the format http://<IP_ADDRESS>:34400/stream/092bd32c256af36169ec6cfde5e96c45
This though is not playable - could it be something related to how the xteve proxy redirects to the source?

Depends on how you configured xTeVe.
Buffer off: The real streaming URL is passed to the client via HTTP Redirect 302.  xTeVe is then no longer involved.
Buffer on: xTeVe loads the video stream and forwards the stream to Plex unchanged.

Sorry for my slow response, I would like to reopen the issue as I made some tests and can provide an update.
Your comment about the buffering was very useful. I indeed need an HTTP redirect to url as provided in the input M3U playlist. Nevertheless, something goes wrong.
Below is the remote playlist I configured in XTEVE web interface:

Whilst the playlist is successfully processed when configuring, this is what I receive in xteve.m3u:

Note that all channel entries are with the same url - this is where I believe the issue comes from...
A get request to this url returns 404 and logs an error in console / log

the file urls.json (config folder) stores all information about the stream.
The link consists of an ID and the original URL, if your provider changes the streaming URL, the link in the xteve.m3u will also change.
Your IPTV client must periodically update the xteve.m3u file
Example:
xteve.m3u streaming url: http://localhost/stream/3d013578a2ab43eb192131ba8e659856
urls.json
"3d013578a2ab43eb192131ba8e659856": {
    "channelNumber": "1000",
    "name": "Bunny HD 1",
    "playlistID": "M0TZTM8OU7Q9I65O4YK5",
    "url": "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4",
    "urlID": "3d013578a2ab43eb192131ba8e659856"
  }

After a change of the provider streaming URL
xteve.m3u streaming url: http://localhost/stream/09e2e6f13f8d216f8f8eadac22c94d7f
urls.json
"09e2e6f13f8d216f8f8eadac22c94d7f": {
    "channelNumber": "1000",
    "name": "Bunny HD 1",
    "playlistID": "M0TZTM8OU7Q9I65O4YK5",
    "url": "http://clips.vorwaerts-gmbh.de/big_buck_bunny_new.mp4",
    "urlID": "09e2e6f13f8d216f8f8eadac22c94d7f"
  },

There is only one channel in the urls.json for me and its url value is empty. Same after clearing up the config folder & restart.
I am using my own proxy between the provider and my iptv clients - it takes care for login, refresh of links etc. and provides the playlist that is on the first screenshot above. Still the url for each channel is unique, but for any reason from xteve's  the urls back to the proxy are not there.

I suspect a proxy removes the parameters from the URL. If the parameters were removed, the URL is always the same (http://<IP_ADDRESS>:8080/plylist.m3u8)
I copied that without a proxy:
Provider m3u:
#EXTM3U
#EXTINF:-1 CUID="1000" tvg-id="" tvg-name="" tvg-logo="https://vignette.wikia.nocookie.net/logopedia/images/d/d5/ESPN2.svg/revision/latest?cb=20180427153715" group-title="Buffer 1",Bunny HD 1
http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?ch=1000

#EXTINF:-1 CUID="1001" tvg-id="" tvg-name="" tvg-logo="" group-title="Buffer",Bunny HD 2
http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?ch=1001

xteve.m3u:
#EXTM3U url-tvg="http://<IP_ADDRESS>:34400/xmltv/xteve.xml" x-tvg-url="http://<IP_ADDRESS>:34400/xmltv/xteve.xml"
#EXTINF:0 channelID="x-ID.0" tvg-chno="1000" tvg-name="Bunny HD 1" tvg-id="1000" tvg-logo="" group-title="Buffer 1",Bunny HD 1
http://<IP_ADDRESS>:34400/stream/a113f84f24e5a64439a2efbecd927cf6
#EXTINF:0 channelID="x-ID.1" tvg-chno="1001" tvg-name="Bunny HD 2" tvg-id="1001" tvg-logo="" group-title="Buffer",Bunny HD 2
http://<IP_ADDRESS>:34400/stream/0fbe47abffc1ea84f2f9797e3492b9a8

urls.json
{
  "0fbe47abffc1ea84f2f9797e3492b9a8": {
    "channelNumber": "1001",
    "name": "Bunny HD 2",
    "playlistID": "MU2THY9BKPIY9SSA7UEQ",
    "url": "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?ch=1001",
    "urlID": "0fbe47abffc1ea84f2f9797e3492b9a8"
  },
  "a113f84f24e5a64439a2efbecd927cf6": {
    "channelNumber": "1000",
    "name": "Bunny HD 1",
    "playlistID": "MU2THY9BKPIY9SSA7UEQ",
    "url": "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4?ch=1000",
    "urlID": "a113f84f24e5a64439a2efbecd927cf6"
  }
}

This could be a possible reason. Interestingly, in your example the parameter was handled correctly?
I can modify the way my proxy generates its playlist and use unique urls with uids instead of parameters.
As long as from xteve / plex, I then receive a redirect to this url, my proxy will handle the rest generating the provider url.

xTeVe does not change the URL, in the log on the screenshot you can see the original streaming URL, which is the same as in the provider M3U

What in your view could be then the reason that the channel urls are empty in xteve.m3u and not the ones from playlist e.g. http://<IP_ADDRESS>:8080/playlist.m3u8?ch=100183 and so on (ch parameter value differs for each channel)?
When generating its xteve.m3u, does xTeVe just parse the provider playlist, or is making e.g. web requests to each of the channel urls in it? If it is a simple parsing I would expect to see in urls.json multiple entries.
The other thing I observe is that in your sample provider m3u there is CUID, which is not present in my playlist. Is this expected /used in xTeVe m3u generation?

The streaming URI is empty on your screenshot, because there is no ID for this stream in the urls.json file. Only if the ID exists, then the streaming URL can be found.
In order for each client to request the streaming URL from xTeVe, there must be a URL in xteve.m3u that links to xTeVe. in the urls.json file are only the URLs of the active channels (mapping = green)
CUID is a unique ID for this stream, but not every provider supports this feature. If such an ID exists, it will be used to identify the stream. Fallback is the channel name.
Problem with the names is, should the name change, it is a new channel for xTeVe and gets a new channel number.
But if the stream has an ID, the name can change without losing the mapping in xTeVe. Of course, the ID should never change

Thanks for the quick responses!
So, I provide as input to xTeVe the remote m3u as on screenshot below link.
Then upon starting the xteve binary, the xteve.m3u is generated and later the urls.json based on the mappings within plex.
Though, as you can see on the earlier screenshots, the url for all channels in xteve.m3u is same and the urls.json contains one entry and no stream url ( although all channels are mapped in plex).
Would adding CUIDs in my input playlist solve this, or something additional is needed?
https://user-images.githubusercontent.com/34111833/63201810-21b2e180-c087-11e9-9c03-960834940a21.jpeg

The CUID will not solve your problem. Test your configuration without proxy. I can not imagine that xTeVe causes the problem.

I cannot skip the proxy unfortunately as my provider does not deliver m3u.
I created the proxy in order to automate the web authentication, scrape the links and generate the playlist. It is working in well in Kodi Simple IPTV, VLC, etc. Still, I can extend / change the proxy functionality when needed.
If you think there is nothing that can be done from xTeVe side, you can close the issue.

I added a method to my proxy to generate m3u playlist with the channel urls directly from the IPTV provider (instead of links pointing to the proxy itself). These links expire after certain period, but for the testing this is not issue.
Tried with that m3u in xTeVe, but still same result: xteve.m3u for all channels has the same url (same UID after <xteve’s http address>/stream/), which returns 404. Buffering is off, so I would expect a redirect to the provider url but it does not work. There is in my view something related to how xTeVe processes the input m3u and channel links. I am more than happy to support any further troubleshooting, but need your help :)

The playlist is below - highlighted one of the provider urls. See it is on its own also pointing to an m3u list...

If you have a test list, I can look at it.

Happy to share and thanks being ready to have a look.  I would like to send the file per email although stream links would expire. If you do not want to share your address here, can you drop me one at ananchev at gmail.

Send me that via Discord

Was solved. The problem was invalid URLs in the provider M3U.