Headers are case-insensitive — don't let Content-Type be overridden if written in an unusual case

According to RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1", paragraph 4.2, "Message Headers" http headers are case insensitive.
This became a problem for us as we use node-XMLHttpRequest in conjunction with Fetch API and this change: https://github.com/github/fetch/issues/45 caused.

[Also sorry for not updating the tests… i couldn't get them to run for me :/…  and I'm sorry for the complexity of the solution… there's probably a simpler way…]

:+1:

Useful pull request!


devices not ignored

I've added many device strings to the ignore list, but they appear to still be included in the devices passed to homekit.  This is causing an issue where I'm passing more than 100 devices.  Is this a known issue?  I also can't seem to find the DEBUG output for isy-js (even after setting the flag to true).
Here's a snipped from config.json
            {
                    "nameContains": "Kitchen:B:Deck"
            }

And snippet from output of homebridge command:
[isy-js] Initializing platform accessory 'Kitchen:B:Deck'...
Any help would be appreciated,
Thanks!

Hi @hmatos-rogers --
The issue with your entry above is it only contains the nameContains element. You also need a lastAddressDigit and an address field to be specified as empty strings. Without specifying all three fields the line will be ignored as invalid.
So the entry should be:
{
"nameContains": "Kitchen:B:Deck",
"lastAddressDigit": "",
"address": ""
}
That should resolve your issue.
For future reference, turning on debugging is specified by setting the debugLoggingEnabled field to true. So for example, add this line to the isy-js config section:
"debugLoggingEnabled": true,
Here's an example config:
 "platforms": [
    {
        "platform": "isy-js",
        "name": "isy-js",
        "host": "<IP_ADDRESS>",
        "username": "admin",
        "password": "password",
        "elkEnabled": true,
        "useHttps": false,
        "debugLoggingEnabled": true,
        "includeAllScenes": false,
        "includedScenes": [
            "27346"
        ],
        "ignoreDevices": [
            { "nameContains": "ApplianceLinc", "lastAddressDigit": "", "address": ""},
            { "nameContains": "Bedroom.Side Gate", "lastAddressDigit": "", "address": ""},
            { "nameContains": "Remote", "lastAddressDigit": "", "address": "" },
            { "nameContains": "Keypad", "lastAddressDigit": "2", "address": "" },
        ]
    }
 ]

Thank you very much - the issue is fixed.

On Feb 5, 2016, at 10:20 PM, rodtoll<EMAIL_ADDRESS>wrote:
Hi @hmatos-rogers https://github.com/hmatos-rogers --
The issue with your entry above is it only contains the nameContains element. You also need a lastAddressDigit and an address field to be specified as empty strings. Without specifying all three fields the line will be ignored as invalid.
So the entry should be:
{
"nameContains": "Kitchen:B:Deck",
"lastAddressDigit": "",
"address": ""
}
That should resolve your issue.
For future reference, turning on debugging is specified by setting the debugLoggingEnabled field to true. So for example, add this line to the isy-js config section:
"debugLoggingEnabled": true,
Here's an example config:
"platforms": [
{
"platform": "isy-js",
"name": "isy-js",
"host": "<IP_ADDRESS>",
"username": "admin",
"password": "password",
"elkEnabled": true,
"useHttps": false,
"debugLoggingEnabled": true,
"includeAllScenes": false,
"includedScenes": [
"27346"
],
"ignoreDevices": [
{ "nameContains": "ApplianceLinc", "lastAddressDigit": "", "address": ""},
{ "nameContains": "Bedroom.Side Gate", "lastAddressDigit": "", "address": ""},
{ "nameContains": "Remote", "lastAddressDigit": "", "address": "" },
{ "nameContains": "Keypad", "lastAddressDigit": "2", "address": "" },
]
}
]
—
Reply to this email directly or view it on GitHub https://github.com/rodtoll/homebridge-isy-js/issues/12#issuecomment-180664960.

No problem. Enjoy the software.


Reduce IFeatureCollection surface area.

#339
@muratg @lodejard @ardalis @davidfowl

Does this break other repos?

Just the servers, and those should be easy to fix.

Updated to lazy initialize the feature storage. In the average case we'll only be reading from the default/fallback, not making changes.

Re: https://github.com/aspnet/KestrelHttpServer/commit/f681599e4807f1332e760c1aebfd0c32b3ee1037

Re: https://github.com/aspnet/WebListener/commit/161fdbb4b6f476a58e178b07eec96af574cfa642

@Eilon to review, but we don't want to check in the break until we get Helios building again.

:shipit: from me. If you wanted to avoid breaking changes you could probably keep the .Add method at first, check this change in, then update Kestrel and WebListener to use the indexer, and finally remove the .Add method. But I don't care much either way.

@Eilon it doesn't matter if I break Helios now, Andrew checked in a breaking change to ILibraryManager on Friday so the old Helios assemblies won't run anymore.

@Tratcher thanks, I'm fine either way.

https://github.com/aspnet/Helios/commit/1ee51e137becb7e3ae03d98b568fec0862657d52

FYI: Updated WebListener to use the same style static feature collection as Helios: https://github.com/aspnet/WebListener/commit/e69cb5c911b8dfaef217d0912fade5b510ccd816


Fix SharedString Event and Submit Order to Avoid Reentrancy

This change primarily addresses a problem in sequence where the event for a change is triggered before the op for the change is submitted. This is a problem as if an application does reentrancy, specifically creates more changes in the event for a change, it will lead to the subsequent changes, made is the event, to be submitted before the original change. This can result in document corruption.
We fix this issue by explicitly submitting before we fire the event. Since we now submit on all events, it is also necessary to not submit in some cases, specifically where there are stashed ops, as these may have already been submitted.
Lastly, this change deprecates grouped ops, which also have reentrancy concerns, specifically that if a change is made during the application of a group op, that change cannot be correctly applied, as the group op only has a single sequence number so there is no way to identify at which sub-op the new change should be made after. Remote client will end up processing the new change after the group op is complete, which is not when the new change was generated, and can lead to eventual consistency issues.

related to #16810


Rethink if I really need a rectangular grid in room generation

of perhaps a BSP partition and a graph of adjacency would be enough, as in the following post. The rethinking would ideally materialize as a re-implementation. This is hard, but at least self-contained, because the rest of the engine doesn't know how the level map was obtained, except for knowing which tiles are room entrances, for debug and extra hints to the player (and possibly AI in the future).
https://www.reddit.com/r/gamedev/comments/dx95df/cave_generation_using_bsp_and_cellular_automaton/

Or, a related question: do I really want to decide the size or rooms and then create a room, or rather create a room and find a place for it on the map? Given that I have small maps, probably I need the method that packs rooms most densely. The flexibility of resizing rooms is probably best for that, so partitioning the level first (but not as a grid) seems to be best.

I'm kinda running into this issue since it looks like all the current maps are created via the grid method. I was originally planning on using cellular automata but I'm not sure that's supported here. Perhaps we should abstract this one level higher, and offer a way to generate the base level via a function which returns the tiles/places? We could still keep the current "CaveKind" for generator-based grids in my mind, or even just add a new function to that data type for this generator idea.
Just spit-balling, feel free to update if there's a better/easier method.

It depends on what exactly you need: a different map partitioning or different building of places inside map partition cells. Or, the hardest, if you want the former to be partially determined by the latter and still keep all the constraints of aligned stairs, distance between stairs, connectivity of stairs, of level border wall, proportion of walkable to non-walkable tiles, etc. Or, the most invasive change: if you'd like to drop the constraints sometimes and have dungeon sections with different sets of constraints.
We could relatively easily generate a map partition (e.g., the current method resulting in a grid) and then use cellular automata to populate it, operating on the level of partition cells (so the output of an automaton would assignment of place kinds, not tile kinds) and/or running inside some or all of the cells.
We could also relatively easily change the method for generating the partition (this issue it about that), while keeping all the constraints.
Yet another relatively easy option is to get the stairs from level above, generate partition globally, use the partition to place the stairs down and then forget the partition and fill the remaining space with cellular automata. The major difficulty is to have the automata respect the global constraints and. e.g., connect all the stairs. But I'm sure there are known methods for that, e.g., starting one automaton per stairs, stopping automatons when close enough and then using wave function collapse to meld the paths they generated into connected graph. Or just fixing up brutally any violated constrain or re-generating until constraints met randomly.

And regarding your original questions, it depends on whether you'd like to use LambdaHack as a library or modify it. Given your ambitious ideas, I'd say modifying it would be much easier (otherwise, you'd need to copy-paste most of Server/StartM.hs and Server/LoopM.hs, until we have a system in place that make swapping their components easier.
And if you are modifying, the easiest would be to add an extra filed to CaveKind which says if it's FillGridBased or FillCellurarAutomata and any other extra fields as needed, depending on what exactly is your plan. Most of the other fields would or could still apply. E.g., the grid parameters would be translatable to automate parametrs controlling how often and how large and how varied open spaces are generated (whether eventually filled with scaled prefabs or not, which could be controlled by another option).

To put it in yet another way: you can define the cave as one big place and add a cellular method of to the (1-element) list of methods of place generation or you can define a cave that has no rooms and extend the (2-element with many extra parameters) list of methods of filling space between places. Optionally generate only stair places. e.g., the tiny ones. These are harder than starting from scratch, but you get a lot of stuff for free later on by integrating with what's already there.

I like your idea here of having different fill algorithms for grid pieces. It could even be cool if this could be abstracted further outside the engine, so the implementation can define its own algorithm completely. It would be good not to be constrained to grid-based algorithms, but this would be a great step.

Yes, we can think of making dungeon generation code an argument of loopSer, passed to gameReset. Or go full-hog and specify all major building blocks of the engine in RuleKind as functions and whenever they are needed, they would be looked up in content. For large scale functions that are rarely called (just as dungeon generation, called just once per game), this is free. Only for small functions that are called in a loop (e.g., a function that would either allow 8-way or 4-way movement), this is costly, because calling unknown functions is costly. Worth opening an issue.
We can also divide the current dungeon generation functions further to make it easier to reuse them in the custom functions for a specific game. Also worth an ticket.


[builder] enable sphinx, jupyter-book ready output

It would be nice to include an option to have a ready to run project in the _build/myst output enabled via the conf.py to target sphinx and jupyter-book

[ ] pass through static assets
[ ] target sphinx with addition of conf.py, source, Makefile and add myst-parser extension
[ ] target jupyter-book with config.yml, source
[ ] setup a configuration parser to pass through sensible configuration variables that may be set in the conf.py for jupyter-book targets

Setting up as a sphinx project will just need to write conf.py from self.builder.config and adding myst-parser to the extensions list.

for sphinx option:

[ ] copy Makefile and read SOURCE =  setting to put source files in the correct location. This will bring in any custom configuration from the project Makefile.
[ ] parse conf.py and add myst_parser to the list of extensions.

Sphinx options is being worked on by #34


Use 'atomScreen' for the variable name

Even though it's not screen's fault, it's super easy in the DevTools to write screen = require('screen'), then wonder why it doesn't work (because window.screen is reserved by the DOM). This makes people who just type in the example more likely to get it right.

:+1:


https://reticulum.network/start_pl.html

pip install rns
not exist
rmsd

The correct command is rnsd.


Angular Material doesn't give clear information about mat-form-field must contain a MatFormFieldControl

Angular Material doesn't give clear information about where in the HTML the problem is, instead I got message: "mat-form-field must contain a MatFormFieldControl".
This is uncomfortable because I have component with a 70+ material components, including many inputs, select, datepicker, autocomplete, and I not sure where in  my code I don't have matInput for example.
The code I got from my client and in the component, I have 4000+ lines of code and the problem is the message not say where I missing this attribute.
So this is very frustrating. please consider making a change with this.
I suggest something like "input( 30:2) missing matInput" when I wrap inside mat-form-field (and so').

I suggest something like "input( 30:2) missing matInput" when I wrap inside mat-form-field (and so').
Our code is only executed during runtime so we don't have access to your source code. Closing the issue since we can't do much more about this, aside from the error that we're already throwing.


New controller and routing system ignores global request interceptors

Whenever I annotate my action method with more then 1 route annotation for example @GET("") and @PUT("") only the first one defined is actualy enabled and executed.

I tried to create some basic type of interceptors for example one annotation @JustAtest that is placed on my controller class and a second one annotation @Required that is placed on an action method.
When I annotade my controller class with @JustAtest and some of my action method with @Required only the @Required annotation is executed. Both of them should be executed right ?

My application based filters are not executed anymore after using controllers.
In my Application I have defined this filter:

		// auth user before filter
		ALL("/.*", new RouteHandler<RouteContext>() {

			@Override
			public void handle(RouteContext routeContext) {
				log.error("WHY IT DOES NOT GET HERE");
			}
		});

Bug 3) has been fixed. At least it seems so.
Anyways I think there needs to be a better handling of interceptors.
Whenever I annotate my Controller class with an interceptor and some action method as well both of them should be executed. First should be executed action interceptors, then all class interceptors and base class interceptors.
Thank you

I tried to create some basic type of interceptors for example one annotation @JustAtest that is placed on my controller class and a second one annotation @Required that is placed on an action method.
When I annotade my controller class with @JustAtest and some of my action method with @Required only the @Required annotation is executed. Both of them should be executed right ?

I think that current implementation works well with your scenario. When a controller method is invoked the interceptors on method are executed and AFTER them the interceptors on class are executed.
Your interceptors are not executed because probably you forgot to call routeContext.next() method in Interceptor route handler.
Example:
import ro.pippo.controller.Interceptor;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@Interceptor(LoggingHandler.class)
public @interface Logging {
}

import ro.pippo.core.route.RouteContext;
import ro.pippo.core.route.RouteHandler;

public class LoggingHandler implements RouteHandler {

    @Override
    public void handle(RouteContext routeContext) {
        System.out.println("LoggingHandler.handle");
        routeContext.next(); // <<< IMPORTANT
    }

}

All interceptors are added in a chain and you can specify in the route handler of the interceptor if you want to call next interceptor or not (according the business logic from interceptor).

Yes sorry I know I forgot to announce it here :)
Anyways please is it possible to get newly developed route attributes either from a controller's action or filter ?
I can get list of routes using findRoutes or searchRoutes but it gets list of routes. I would like to get a specified 1 route that translated a request to a specified action method.

@dunsunik
I think that #347 resolves your request.

Whenever I annotate my action method with more then 1 route annotation for example @GET("") and @PUT("") only the first one defined is actualy enabled and executed.

For now it's not possible but you have this workaround (use a common method for post and get methods):
class MyController extends Controller {

   @GET
   myGetMethod(...) {
       commonMethod(...);
   }

   @PUT
   myPutMethod(...) {
       commonMethod(...);
   }

   commonMethod(...) {
       // your business
   }

}

Yes that's how I do it now.
On Sun, Jan 29, 2017 at 1:29 PM, Decebal Suiu<EMAIL_ADDRESS>wrote:

Whenever I annotate my action method with more then 1 route annotation for
example @GET https://github.com/GET("") and @PUT
https://github.com/PUT("") only the first one defined is actualy
enabled and executed.
For now it's not possible but you have this workaround (use a common
method for post and get methods):
class MyController extends Controller {
@GET
myGetMethod(...) {
commonMethod(...);
}
@PUT
myPutMethod(...) {
commonMethod(...);
}
commonMethod(...) {
// your business
}
}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/decebals/pippo/issues/345#issuecomment-275910776, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AD9XB9yRkHAnuKoi4zrLDFA5qg8Vn5UBks5rXIYegaJpZM4Lt9To
.

Hey,
I have tested new method getRoute() that I call in my Authentication interceptor handler.
It returns a route but sadly attributes are no present on a route or better say do not contain my previously set key.
I set an attribute using a transformer (during an application startup). If I print attributes from within that transformer a set attribute is there. But it's not the case when gettting it from my authentication interceptor handler.
Any clue ?
Thank you

When I print attributes from a controller's action method they there and a previously set key is there as well.
So there seems to be a problem that attributes are not accessible from within interceptor handler.

Can you share the code from your transformer (or only the part that create the returned value)?

public class ActivationNotRequiredTransformer implements RouteTransformer {

	@Override
	public Route transform(Route route) {
		Method method = route.getAttribute("__controllerMethod");
		if (method == null) {
			// it's not a controller route; do nothing
			return route;
		}

		if (method.isAnnotationPresent(ActivationNotRequired.class)) {
			System.out.println("not require activation annot");
			// ActivationNotRequired named = method.getAnnotation(ActivationNotRequired.class);
			route.bind("activationNotRequired", true);
		}

		return route;
	}

}

Thanks. I found a possible bug at this line. When I create the virtual route for interceptor I doesn't pass the attributes from controller route and probably your espectation is to have  these attributes.
Probably it's a better solution to have a single attribute  __controllerRoute in interceptor that returns the controller route.

Well it might be. But still do you think that you need to have to different
routes when practically there just a one ?
I mean logically it would make a sense to return a very same route as you
get from a controller or better route that is filled with same attributes.
On Sun, Jan 29, 2017 at 11:29 PM, Decebal Suiu<EMAIL_ADDRESS>wrote:

Thanks. I found a possible bug at this
https://github.com/decebals/pippo/blob/master/pippo-controller-parent/pippo-controller/src/main/java/ro/pippo/controller/ControllerRouteHandler.java#L344
line. When I create the virtual route for interceptor I doesn't pass the
attributes from controller route and probably your espectation is to have
these attributes.
Probably it's a better solution to have a single attribute
__controllerRoute in interceptor that returns the controller route.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/decebals/pippo/issues/345#issuecomment-275951603, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AD9XB8ikHfmrWuaXJt5e5iHC5XLNc0RCks5rXRKygaJpZM4Lt9To
.

@dunsunik
Commit 84ea840 added controller route attributes to interceptor.

@dunsunik I don't know if the interceptor is not enough in your case (without the route transformer). For example you can retrieve in interceptor route handler the controller method (via routeContext.getRoute().getAttribute("__controllerMethod")) and check if ActivationNotRequired annotation is present or not.

Hey,
No it's ok.

Thank you
On Mon, Jan 30, 2017 at 8:34 PM, Decebal Suiu<EMAIL_ADDRESS>wrote:

@dunsunik https://github.com/dunsunik I don't know if the interceptor
is not enough in your case (without the route transformer). For example you
can retrieve in interceptor route handler the controller method (via
routeContext.getRoute().getAttribute("__controllerMethod")) and check if
ActivationNotRequired annotation is present or not.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/decebals/pippo/issues/345#issuecomment-276165749, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AD9XB4I86-GJbrfl4S6sgEEiZO0Yyne8ks5rXjsqgaJpZM4Lt9To
.


Update SBCDepositContract.sol

This PR improves the for loops and enhances the code readability.
First let's talk about the loops improvement: Current for loops are kind of using more gas than required, thus it be better to use unchecked block which will save some gas. It be better to take a look at this for a good reference.
Next, comes up the code readability thing. It will be better understood if we visit the SBCDepositContractFile.sol. Here, the code color got changed in between (probably some glitch within the github). Anyways, changing words like doesn't to doesnt do helps.
Thanks @dapplion

Thanks but there's no interest currently for micro optimizations.
I also suspect this PR is written by a bot and not according to our needs as a project

Ok..That's your decision whether to add these optimizations or not. Do appreciate any decision from your side.
But This PR wasn't written by a bot tbh

Ok..That's your decision whether to add these optimizations or not. Do appreciate any decision from your side.
But This PR wasn't written by a bot tbh

In that case, sorry! there has been a lot of spam PRs in related repos for suspected future airdrops

That's ok..I understand


Layers: vkFreeMemory with resources still bound is treated as an error

This should not be an error.
Provided the resources are not in flight, it is valid to free the memory before destroying the resources -- just that they may not later be touched in any way other than being destroyed.

@tobine fixed this recently.


add string typecheck for spliton options

Please check if the PR fulfills these requirements

[ ] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes/features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the current behavior? (You can also link to an open issue here)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Please Include Screenshots or Videos of the intended change:

Can you please add a proper explanation of what this change is trying to accomplish and why?


No module named 'setuptools.build_meta'

ModuleNotFoundError: No module named 'setuptools.build_meta'
i get this error trying to run it locally..could anyone help me please?

who cant run locally here we have amazing app : https://github.com/Stability-AI/StableCascade/issues/125


remove some lines of code

Doesnt include all the effects and flash vomit shouldn't be one word.
I'll probably add this in next release if that ever happens or just update pr :trollface:


Added GitHub Actions, fixed PHP 8.4 deprecation

@erusev I've successfully gotten the CI tests to pass across PHP versions 7.1 - 8.4.  Should be ready for review.

@erusev FYI this is ready for review

@erusev could you please, release a new tag with this fix?


Link to GPG signing keys not working

Describe the bug
the Github okd site contains a link to a list of public keys used for signing.
This link resolves to a search page / 404 - Not found.

Brian, could you take a look? https://github.com/openshift-cs/okd.io/commit/328b93615002d4f55e920d53c4652bcb0d086eb6 is the commit we added these

This is covered in the documentation : https://www.okd.io/installation/#getting-started.  Probably need to remove this from the README.md in the old repo.  Point the users to the okd.io site


Adapter crashing: Cannot read properties of null (reading 'end')

Describe the bug
Adapter terminating with error "Cannot read properties of null (reading 'end')"
Screenshots & Logfiles

host.homebridge
2022-06-16 22:04:49.559
warn
Do not restart adapter system.adapter.luxtronik2.0 because restart loop detected

host.homebridge
2022-06-16 22:04:49.559
info
Restart adapter system.adapter.luxtronik2.0 because enabled

host.homebridge
2022-06-16 22:04:49.557
error
instance system.adapter.luxtronik2.0 terminated with code 6 (UNCAUGHT_EXCEPTION)

luxtronik2.0
2022-06-16 22:04:48.965
warn
Terminated (UNCAUGHT_EXCEPTION): Without reason

luxtronik2.0
2022-06-16 22:04:48.963
info
terminating

luxtronik2.0
2022-06-16 22:04:48.955
error
Cannot read properties of null (reading 'end')

luxtronik2.0
2022-06-16 22:04:48.953
error
TypeError: Cannot read properties of null (reading 'end') at Luxtronik._nextJob (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:444:21) at processTicksAndRejections (node:internal/process/task_queues:78:11)

luxtronik2.0
2022-06-16 22:04:48.951
error
uncaught exception: Cannot read properties of null (reading 'end')

luxtronik2.0
2022-06-16 22:04:48.945
error
Cannot read properties of null (reading 'end')

luxtronik2.0
2022-06-16 22:04:48.943
error
TypeError: Cannot read properties of null (reading 'end') at Luxtronik._nextJob (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:444:21) at processTicksAndRejections (node:internal/process/task_queues:78:11)

luxtronik2.0
2022-06-16 22:04:48.941
error
uncaught exception: Cannot read properties of null (reading 'end')

luxtronik2.0
2022-06-16 22:04:48.932
error
Luxtronik read error, will retry later: Error: Missing element at luxtronik response to 3005

Versions:

Adapter version: 0.4.2
JS-Controller version: 5.7.0
Novelan/Luxtronik Firmware: 3.87

same here:

2022-09-14 16:09:54.981 - error: host.iobroker Caught by controller[0]: TypeError: Cannot read property 'end' of null
--
2022-09-14 16:09:54.982 - error: host.iobroker Caught by controller[0]: at Luxtronik._nextJob (/opt/iobroker/node_modules/luxtronik2/luxtronik.js:431:21)
2022-09-14 16:09:54.983 - error: host.iobroker Caught by controller[0]: at processTicksAndRejections (internal/process/task_queues.js:77:11)
2022-09-14 16:09:54.983 - error: host.iobroker Caught by controller[1]: SentryError: HTTP Error (403)
2022-09-14 16:09:54.983 - error: host.iobroker Caught by controller[1]: at new SentryError (/opt/iobroker/node_modules/@iobroker/plugin-sentry/node_modules/@sentry/src/error.ts:9:5)
2022-09-14 16:09:54.983 - error: host.iobroker Caught by controller[1]: at ClientRequest. (/opt/iobroker/node_modules/@iobroker/plugin-sentry/node_modules/@sentry/src/transports/base/index.ts:254:22)
2022-09-14 16:09:54.984 - error: host.iobroker Caught by controller[1]: at Object.onceWrapper (events.js:520:26)
2022-09-14 16:09:54.984 - error: host.iobroker Caught by controller[1]: at ClientRequest.emit (events.js:400:28)
2022-09-14 16:09:54.984 - error: host.iobroker Caught by controller[1]: at ClientRequest.emit (domain.js:475:12)
2022-09-14 16:09:54.984 - error: host.iobroker Caught by controller[1]: at HTTPParser.parserOnIncomingClient (_http_client.js:647:27)
2022-09-14 16:09:54.984 - error: host.iobroker Caught by controller[1]: at HTTPParser.parserOnHeadersComplete (_http_common.js:127:17)
2022-09-14 16:09:54.985 - error: host.iobroker Caught by controller[1]: at TLSSocket.socketOnData (_http_client.js:515:22)
2022-09-14 16:09:54.985 - error: host.iobroker Caught by controller[1]: at TLSSocket.emit (events.js:400:28)
2022-09-14 16:09:54.985 - error: host.iobroker Caught by controller[1]: at TLSSocket.emit (domain.js:475:12)
2022-09-14 16:09:54.985 - error: host.iobroker instance system.adapter.luxtronik2.0 terminated with code 6 (UNCAUGHT_EXCEPTION)

Versions:

Adapter version: 0.4.2
JS-Controller version: 4.0.23
Luxtronik Firmware:  V3.85.7 (r6978)


chore: Update README for multiple networks changes

Update README for this issue: #74

Quick link to view in browser: https://github.com/NethermindEth/blockifier-tester/tree/pwhite/networks_readme


updated evernote (6.8_453748)

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Somehow a second change has been added to this PR.

Yeah, don't know why this is happening. Also on some other PRs.


Polynomial addition in C

Fixes #6121

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
Polynomial addition in C
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#6121

@ankitaggarwal23 , @siddharth25pandey  kindly review the PR


alwaysDark style for PaymentSheet not functional in Android apps - system theme always applied

Describe the bug
When trying to force dark theme using style='alwaysDark' in initPaymentSheet, Payment Sheet in Android apps do not actually always use dark theme. Instead, they end up getting the system light vs dark theme applied, you can toggle it via system settings to see it switch.
To Reproduce
Steps to reproduce the behavior:

Run the example app included in this repository. Note that PaymentsUICompleteScreen and PaymentsUICustomScreen both include style='alwaysDark'.
In the example app, go to Accept a Payment > Prebuilt UI (either version). Press the button (top on custom/multi-step).
Notice on Android that the PaymentSheet theme matches the system theme, alwaysDark is not honoured. iOS PaymentSheet adheres to provided theme.

Expected behavior
Android PaymentSheet should always be dark when style='alwaysDark' is set.
Screenshots
In all examples, style='alwaysDark' is set.
Android with light system theme

Android with dark system theme

iOS

Smartphone (please complete the following information):

Device: Pixel 4 AVD
OS: Android 10
Browser N/A
Version SDK 29 on virtual device per RN instructions

Additional context
Add any other context about the problem here.

@brendanm-stripe This is not something that the android currently supports, but we do have it in our backlog.  I will post an update when we have it complete.

Ah, excellent, thanks! Looking forward to that :)

Hello @skyler-stripe,
We are creating an application that has a dark theme only throughout the app and it's not changeable so to match the payment sheet with our app's theme we require this force dark mode feature, It's working fine with iOS but with Android, it's not working

Thanks for the responses!
We're looking into customization changes and will keep dark mode toggling in mind. In the mean time, it does seem possible that forcing dark mode at an application level is a solution for those that want to match. According to this you can put this line in your launcher activity's onCreate and force darkmode.
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);

I'm hoping that is a good solution/bandaid while we work on more sophisticated customization.

You can check color scheme and set cardStyle={{backgroundColor: Appearance.getColorScheme() == 'dark' ? '#000000':'#ffffff'}}as per light or dark theme.


ci: Change Java distribution adopt->temurin

https://github.com/actions/setup-java#supported-distributions says:

NOTE: Adopt OpenJDK got moved to Eclipse Temurin and won't be updated anymore. It is highly recommended to migrate workflows from adopt to temurin to keep receiving software and security updates. See more details in the Good-bye AdoptOpenJDK post.)

This PR changes GitHub Actions to use temurin instead of adopt as highly recommended above.

@barbeau Please take a moment to fill out this short survey. Thank you!
This is an automated message, feel free to ignore.

Thanks! This file is actually synced to this file: https://github.com/googlemaps/.github/blob/master/sync-files/android/.github/workflows/test.yml
Can you PR the change on that file instead? It should propagate across all Android repos in the googlemaps org.

Can you PR the change on that file instead? It should propagate across all Android repos in the googlemaps org

No problem! Done in https://github.com/googlemaps/.github/pull/53.


Unit Test Failure - Host

Host Test Failure with args below ->
./uniqueFunctionalities_host 0 9

Usage: ./uniqueFunctionalities_host <u8 = 0 / f16 = 1 / f32 = 2 / u8->f16 = 3 / u8->f32 = 4 / i8 = 5 / u8->i8 = 6> <case number = 0:12>

ip_bitDepth = 0
zsh: segmentation fault  ./uniqueFunctionalities_host 0 9

@r-abishek can we close this issue with PR #205 ?


X server is not being forwarded

I just started having this issue, I don't have any idea what might have caused it. When I run my application in X11docker the application is not able to connect to an X server. I have docker/x11 pulled and this was working as recently as yesterday. I'm trying to figure out what might cause this. Here is the output:
$ x11docker --user=RETAIN -it -- --volume=(pwd)/src:/home/quartus/src:Z quartus:latest ./start
x11docker WARNING: User rich is member of group docker.
  That allows unprivileged processes on host to gain root privileges.

x11docker note: Option --network=none is set to disable network access.
  If you need network and internet access, set option -I, --network.

x11docker WARNING: Found custom DOCKER_RUN_OPTIONS.
  x11docker will add them to 'docker run' command without
  a serious check for validity or security. Found options:
   --volume=/home/rich/src:/home/quartus/src:Z

quartus: cannot connect to X server

Nevermind the -it disables the x server forwarding. My bad. Closing this issue.

If you use -i without -t the X server will run.


Analyzer: DynamicData should be valid

Summary
Title: DynamicData should be valid
Category: Usage
Description:
Default severity: Warning
Please refer to MSTEST0003: Test methods should have valid layout.
Non exhaustive list of constraints:

public (except if discover internals)
static
member should match kind declared on the attribute (property or method)
member should exist
member return type should be valid (IEnumerable<object[]> or IEnumerable<(Value)Tuple<...>>)
if member is property it should be gettable
if member is method, it should not have parameters

AB#1950780

Would be perfect if this could compare the count and type of parameters when IEnumerable is used.

Thanks! I definitely missed these cases here but I described them in the global analyzers ticket.

@engyebrahim As discussed, postponing to milestone 3.4

I also have a issue with DynamicData in vscode test explorer. same cause here?

@Evangelink

Moved the above issue to a separate one. This is a work item to create the analyzer, not an issue report.


Fixed issue with onProxyClosed not always called in multiplexing scenari...

Fixes #152 in commit ID b16708c3075025efd2ace23ff1207502704df5ab

Joey to investigate lock removal and optimize for CopyOnWriteArrayList convenience methods

@mrapitis Can you give me a quick step-by-step on how you were testing this? Or what scenario made the adverse effects take place?

From a single app, create two proxy instances with different app names / app id's.  After the apps have registered, ignition cycle the tdk.  A concurrent modification exception will sometimes occur before the 2nd app has a chance to notify the app with an onProxyClosed message.

Ok I've tested my thoughts and they work.

Remove SESSION_LOCK as it's no longer needed with CopyOnWriteArrayList. Only one write operation can occur at a time by default.

https://github.com/smartdevicelink/sdl_android/blob/b16708c3075025efd2ace23ff1207502704df5ab/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java#L310

Can change to just:
		listenerList.addIfAbsent(registerListener);

If you have any questions, let me know.


Extending BoxProps not working via file augmentation

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
Link to live example:
https://codesandbox.io/s/bold-mountain-37kuuy
Steps:

Extending via types.d.ts

Current behavior 😯
Couldn't extend BoxProps via file augmentation
Expected behavior 🤔
Able extend BoxProps via file augmentation
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
 System:
    OS: Windows 10 10.0.22623
  Binaries:
    Node: 16.19.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.19 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 8.19.3 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: Not Found
    Edge: Spartan (44.22621.870.0), Chromium (110.0.1587.46)
  npmPackages:
    @emotion/react: 11.10.5 => 11.10.5
    @emotion/styled: 11.10.5 => 11.10.5
    @mui/base:  5.0.0-alpha.117
    @mui/core-downloads-tracker:  5.11.8
    @mui/icons-material: ^5.11.0 => 5.11.0
    @mui/material: ^5.9.1 => 5.11.8
    @mui/private-theming:  5.11.7
    @mui/styled-engine:  5.11.8
    @mui/system:  5.11.8
    @mui/types:  7.2.3
    @mui/utils:  5.11.7
    @types/react: 18.0.25 => 18.0.25
    react: 18.2.0 => 18.2.0
    react-dom: 18.2.0 => 18.2.0
    styled-components:  5.3.6
    typescript: ~4.8.2 => 4.8.4

I suggest to just creating a new component as you'd like.
If you need help, please explain in more detail what you want to achieve or why you need to extend the Box types.


Support for travis-ci.com

Travis-CI is switching to a new domain travis-ci.com, this commit adds support for this domain with a CLI option.

Coverage remained the same at 100.0% when pulling 2cbfd0c2fc418fe2e392b7771871b1239c42c9e9 on dexpota:master into 9fe8c1aae0841589a2076b8d09794b7191d0685d on badges:master.


Check String Anagram

💥 Proposal
Example of Anagram words:-

listen - silent

Have you read the Contributing Guidelines on Pull Requests?
(yes.)

/assign

Respected mentors, Kindly allow me to work on this issue in Java.


Issues with debugging with Node.js since "June 2019 (version 1.36)"

VSCode (Insiders) Version: 1.36
OS Version: Windows 10 Pro (version 1903)
Steps to Reproduce:

Create a launch configuration, in a Node.js project, with the default "Node.js: Launch Program". I use TypeScript, so I have it run with a preLaunchTask that builds my code before it runs.
Run the newly generated "Launch Program" configuration, if you have a preLaunchTask then that will run and afterward the session will shut down.

This is what happens to me: https://gyazo.com/df81268eecdbd09afeebab25fa3b60ca
In the GIF I have the toolbar in the top right corner, you can see it disappear before the program has a chance to run, nor does the Debug Console output anything.
Does this issue occur when all extensions are disabled?: Yes

I think I'm having the same issue: Debug sessions don't start with NodeJS. In my case I do not have a preLaunchTask, and instead use ts-node/register:
		{
			"type": "node",
			"request": "launch",
			"name": "restore (master)",
			"program": "${workspaceFolder}/scripts/restore.ts",
			"runtimeExecutable": "node",
			"runtimeArgs": [
				"-r", "ts-node/register",
				"--inspect-brk", "9229"
			],
			"port": 9229,
			"env": {
				"TS_NODE_FILES": "true",
				"LOG4JS_CONFIG": "${workspaceRoot}/scripts/log4js.json",
			},
			"args": [
                            // stripped
			],
			"cwd": "${workspaceFolder}",
			"smartStep": false
		},

I tried both with explicitly adding --inspect-brk/port and without, no change.
I am not sure where to look for output really, everything is just "silent".

@Luaqs does it make a difference if you comment out the "preLaunchConfig" (after having built your project at least once manually)?

I know there were some issues with tasking not being found @alexr00 would know more.

It looks like @ankon is having the issue without any prelaunchTask. I'm not aware of any problems with any existing problems with tasks not being found. It sounds like the task is found and run, but that it is run out of order with the debug.

I'm not sure that @ankon 's issue is related at all.

Based on the gif from @Luaqs the debug toolbar does show. I second this question:

@Luaqs does it make a difference if you comment out the "preLaunchConfig" (after having built your project at least once manually)?

Debugging is broken in Insiders. We are investigating.

For me; no it does not make a difference with or without the preLaunchTask. Either way it stops before running.

And what version of VS Code are you using? You said Insiders above.
Do you see that problem in Stable too?

I have not tried Stable, allow me to do that.

I am not having the problem in Stable.

Ok. Good.
We know that debugging is broken in Insiders and we will wait with further investigation until the next Insiders...


Lags in Remote Node field

Bug description
In the Settings screen when entering the remote node address into the field - it lags. The same issue is seen when deleting the input from the end using backspace.
See the zipped video attached.
Steps:
Pre-conditions: A UI wallet is set up and running on a local node.

Open the Settings screen.
Switch to remote node.
Start entering the remote node address.

Current behaviour
The input lags.
Expected behaviour
There's no lag in the input.
Platform and build

Windows
10 x64
4771, masternet

Screenshot and zipped video

Video: lag.zip

Please check now. If it appears again provide exact text you type.

checked


Kuraakhileshml

"Hi, I am  kura akhilesh, a contributor to OpenForce 2022. I would like to work on this issue. I would be making a PR as soon as I am done with resolving the issue. Thank you"

The issue is not defining place so that it should be placeholder
Please review it and mark it as approved

This is exactly the kind of spam that I am rejecting from OpenForce. I will automatically close this kind of thing.


Add use_cudnn mode

This is a PR that fixes a part of #2048. It introduces chainer.config.use_cudnn boolean configuration. When it is True, all functions that support cuDNN use it if possible, and otherwise it uses our own implementations. It replaces the use_cudnn argument of many functions so that these APIs are made simpler.

Some methods such as softmax function are slower than our implementation when an array is not contiguous. Do we need to make a method to control behavior more precisely?

One explicit way to do it is just switching the mode around the softmax function, like
with chainer.using_config('use_cudnn', False):
    y = F.softmax(x)

But I feel it is bothersome a bit. Another option is to provide another value for use_cudnn (say, use_cudnn = 'fastest') so that the implementation of each function chooses the best implementation for each function (of course it does not guarantee that the choice is always correct in terms of the actual performance, though).

How about using options 'always', 'auto', 'never'?

That sounds good. I will use it.

@unnonouno I turned the flag into a three-way option (always, auto, never). Would you check it?

@unnonouno I merged the latest _v2 and fixed tests, flake8, and documents.


support for _compartment within criteria-based AccessPolicy  (GraphQL)

Hi medplum team,  we've been using a hybrid approach with both REST and GraphQL queries across our application. As we attempted to roll out new CarePlan resources with sub-referenced Goals, we discovered that our criteria-based access policy logic was not fully supported, as it is while using Medplum's standard REST queries.
When using our standard criteria-based AccessPolicy utilizing the _compartment param, the AccessPolicy is applied, as expected, on the top level resource within a GraphQL query, but when attempting to include a referenced resource within the query, the AccessPolicy logic fails. Testing other "advanced" search params, it appears that some (e.g. _lastUpdated and _id) are supported in this scenario, whereas others (e.g. _filter) are not.
For added context, here's an example snippet from the AccessPolicy:
    {
      "resourceType": "Goal",
      "criteria": "Goal?_compartment=Organization/%organization"
    },

When querying a CarePlan using an _include reference for the Goal resources contained within the CarePlan (via REST)  the criteria-based policy is applied correctly. However, when attempting the same query via GraphQL (using resource...on Goal ... etc) , the same Goals are not returned. Changing the AccessPolicy for Goal (without changing the GraphQL query) to use _id instead of _compartment within the criteria seems to work , as expected. Our assumption is that _compartment is one the "advanced search parameters" that are not supported in this scenario.
As we've relied heavily on compartment-based access policies, any differential support for this within the GraphQL implementation is not ideal, so any workaround or proposed solutions would be much appreciated.
Per Reshma (Discord):

At a high level, there are performance considerations for these type of request patterns.  If you wouldn't mind filing an issue with the Access policy and graphql query in question we can look into the impact.

Happy to share some example GraphQL queries, if it would be helpful, and thanks in advance!

Hi @andrewdilling
You are correct that the criteria has some limitations.  There is some documentation on this topic here: https://www.medplum.com/docs/access/access-policies#criteria-based-access-control
_include and _revinclude are not supported.
_compartment should have worked though...  I just ran some tests with your example of Goal?_compartment= and it worked as expected.  Can you describe your test setup more?  I assume you're setting the compartment via meta.account?  Can you share the full access policy? (anonymized as necessary)

Hi @codyebberson, thanks for looking into this. The issue I shared doesn't seem to be related to how an AccessPolicy that uses _compartment (within a criteria-based definiton) is applied generally. As mentioned, it works properly and as expected in all REST queries and basic GraphQL queries. However, it fails when referencing a nested resource (based on reference) within a GraphQL query specifically.
I've attached example resources and an example GraphQL query to demostrate the behavior we're seeing. The Goal resource referenced within the CarePlan query is not included in the response even though the user's criteria-based AccessPolicy enables access to it. Also, as soon as I remove the criteria from the Goal resource included in the AccessPolicy, the query returns the goal resource as expected via the same GraphQL query.
Let me know if you need any more information to help look into this.
medplum_issue_4183.txt

Hi @andrewdilling - Thanks for sending the repro case, extremely helpful.
I was able to get everything working with 2 small changes:

CarePlan needs to be added to the AccessPolicy - you may already have this and snipped it out for the example
The Goal criteria should not include the Organization/ prefix - the variable replacement for type Reference will include that

So, specifically, this line:
      "criteria": "Goal?_compartment=Organization/%organization"

Should be like this:
      "criteria": "Goal?_compartment=%organization"

After that, your query worked as expected for me.
Example query:
{
  CarePlanList {
    id
    status
    activity {
      detail {
        goal {
          reference
          display
          resource {
            ... on Goal {
              id
            }
          }
        }
      }
    }
  }
}

Example response:
{
  "data": {
    "CarePlanList": [
      {
        "id": "ad282c3c-a24e-4a78-84be-f22a7d2c7660",
        "status": "active",
        "activity": [
          {
            "detail": {
              "goal": [
                {
                  "reference": "Goal/1a8d3718-de61-4d80-bc85-0f38edc7e5b9",
                  "display": null,
                  "resource": {
                    "id": "1a8d3718-de61-4d80-bc85-0f38edc7e5b9"
                  }
                }
              ]
            }
          }
        ]
      }
    ]
  }
}

@codyebberson, thanks for testing this and identifying what should have been an obvious mistep in our AccessPolicy setup (the redundent "/Organization" in the resulting parameterized criteria string, that is). I just went through an updated all of our resources to remove this portion of the criteria string and it appears to be working as expected, both in REST and GraphQL scenarios.
In theory, I would have expected all of our resources to fail based on the criteria evaluation of "_compartment=Organization/Organization/[ORG_ID]" prior to this change. I suppose there's a logical reason why the redundancy in the criteria string does not cause an error when the resource is queried directly (either in REST or GraphQL), and only uniquely applied within a nested reference inside a GraphQL query? Obviously, up to you to determine if that's the intended behavior, but either way, at the point, I believe this resolution unblocks us.
Thanks again for your assistance, much appreciated!


Master

Description

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (refactoring and improving code)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

Additional context

How has this been tested

[ ] I have run bash ./tools/test (at the root of the project) locally and passed
[ ] I have tested this feature in the browser

sorry for wrong action which I do pull request for this repository


chore(ci): switched on push for testing purposes.

Signed-off-by: Federico Di Pierro<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind documentation

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area crawler

/area ci

/area utils

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 4f8ec90e6955a2eeca1a75b67257b0aae587e2dc

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, maxgio92
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,maxgio92]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Add avif-pixbuf-loader for all images as well, and qt-heif-image-plugin for Kinoite

Describe the package
Following up on #252 #254 #255 :

avif-pixbuf-loader this is what I recall is needed for AVIF support.
qt-heif-image-plugin this is I recall part of the dependency needed for HEIF support on KDE apps.

Information on the package
Name         : avif-pixbuf-loader
Version      : 0.11.1
Release      : 7.fc38
Architecture : i686
Size         : 17 k
Source       : libavif-0.11.1-7.fc38.src.rpm
Repository   : fedora
Summary      : AVIF image loader for GTK+ applications
URL          : https://github.com/AOMediaCodec/libavif
License      : BSD-2-Clause
Description  : Avif-pixbuf-loader contains a plugin to load AVIF images in GTK+ applications.

Name         : avif-pixbuf-loader
Version      : 0.11.1
Release      : 7.fc38
Architecture : x86_64
Size         : 16 k
Source       : libavif-0.11.1-7.fc38.src.rpm
Repository   : fedora
Summary      : AVIF image loader for GTK+ applications
URL          : https://github.com/AOMediaCodec/libavif
License      : BSD-2-Clause
Description  : Avif-pixbuf-loader contains a plugin to load AVIF images in GTK+ applications.

Name         : qt-heif-image-plugin
Version      : 0.3.3
Release      : 7.fc37
Architecture : x86_64
Size         : 28 k
Source       : qt-heif-image-plugin-0.3.3-7.fc37.src.rpm
Repository   : rpmfusion-free
Summary      : Qt plugin for HEIF images
URL          : https://github.com/jakar/qt-heif-image-plugin
License      : LGPLv3
Description  : Qt plugin for HEIF images.

Image
All Images

AVIF-pixbuf-loader is not needed at all for AVIF format support (tested).
All editions, including Gnome, KDE, Lxqt, Cinnamon, MATE & XFCE support those out of the box.
So I don't agree with including avif-pixbuf-loader into main ISO.
Qt-heif-image-plugin doesn't make KDE display HEIF file formats still, because of kimageformats in Fedora is not built with KIMAGEFORMATS_HEIF build option.
It needs to be tested with libheif-freeworld, libheif-tools, heif-pixbuf-loader & Qt-heif-image-plugin removed.
If KIMAGEFORMATS_HEIF build option works in supporting HEIF, than remove libheif-freeworld, libheif-tools, heif-pixbuf-loader & Qt-heif-image-plugin from Kinoite edition.
If otherwise, add those packages gradually, until satisfying result is achieved.


New-CsGroupPolicyAssignment - Not applying anything

Is New-CsGroupPolicyAssignment released to early or is it me that is missing any steps.
I just cannot get New-CsGroupPolicyAssignment to work.
I have a security group "Group1" and I want the members of that group to have a TeamsAppSetupPolicy "Policy1" applied.
I am creating the policyassignment using the New-CsGroupPolicyAssignment
New-CsGroupPolicyAssignment -GroupId [groupid] -PolicyType TeamsAppSetupPolicy -PolicyName "Policy1" -Rank 1
And I believe I have given it the benefit of the doubt and waited 2 days, but still nothing applies.
I can see the registration with
Get-CsGroupPolicyAssignment -PolicyType TeamsAppSetupPolicy
It pops up just fine. But using the Get-CsUserPolicyAssignment nothing ever gets applied to the users in that perticular group.
Is it a bug or is it me that is doing something wrong?
Documentation, that I try to follow:
https://docs.microsoft.com/en-us/microsoftteams/assign-policies#assign-a-policy-to-a-group
Best regards
Edit: Don't know if it is relevant, but it's an edu tenant

I have similar issues , also in a EDU tenant, were by a policy assignment we set back in July to our main staff groups  has stopped working. It was working without issues until late 2nd Nov or 3rd of Nov and now the a group assigned policy simply does not apply anymore. We have it assigned to 2 groups and both have stopped working without any changes being made to the configuration or related services that might effect it.
It certainly looks like something has changed in the last week that has broken this.

Hello @mrzyko how are you?
I tested the cmdlet and had no issues to assign a policy to a group.
As here we are limited to documentation fixes, I suggest open a support ticket, they will be able to help you with your specific scenario.
Thanks

@get-itips Thank you very much for the contribution and sharing this explanation. @mrzyko Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


upgrade kamboja 0.0.1-43

Coverage remained the same at 100.0% when pulling b16f8869a9653db29a5755996a33f17571610a87 on ktutnik:master into 35b5025a02019314b9efdf8c51ddf2b36d8e423c on kambojajs:master.


Cleanup Edit with GitHub

Now using a table layout. While having the link inside of the header worked well in the browser, the search API would put "Edit in GitHub" as part of the title -_-
Instead of putting the link inside of every section like Props, put it on the page header. This makes it less repetetitive and also works on API pages where the link was absent before
Remove "Run this example" link as there's a giant Run this example sidebar already.

@facebook-github-bot shipit

@facebook-github-bot shipit


Stop reading current NPC dialgoue box when dialogue box is advanced or closed

It would be great if TextToTalk would cancel reading the previous dialogue box when advancing to the next dialogue, and also when a text box is closed when you're done talking to an NPC. video example, clicking text box closed once I've finished reading it, it continues, and when a new textbox opens it has to wait for the previous voice to finish: https://streamable.com/saeger
Similarly, when toggling TextToTalk to disabled, it would be a nice addition to clear the TTS queue and cancel the current TTS! example : when disabling TTS, the voice continues https://streamable.com/8d72l1
It can be annoying when skipping through a bunch of unimportant text from a NPC, that the text drones on in the background which needs to be waited through, or manually cancelled.
(Also side note: Thank you so much for adding the Dialogue box reading! It's been making the the non-voiced cutscenes and it's accompanied missions so much easier to follow, and they feel more important! Thanks for making such a great plugin!)

Any news on this possible feature? I've introduced my friend to this game and this plugin, but they like to rush ahead on some text boxes and has run into this issue as well!
Cheers!

I'll be working through the other issues (including this) over the next few days, my dev availability only really reopened a few days ago. Please look forward to it™.

While I think there is value in stopping the TTS when dialogue is advanced or closed, I also would prefer to keep the option to queue up TTS for those times when I do want to collect side quests rapidly and then listen to the dialogue while I travel.

Ah well I know a few people who have been really looking forward to this feature, so maybe it could be turned on with a toggle, so you could still use it your way.

In the XLDev Addon Inspector it is possible to see if the dialogue box is visible or not visible, so it should be possible to detect if the dialogue box is closed.
If the dialogue box is detected as closed (Not visible) it should stop playing the current dialogue TTS.
Best use case for this is if you've read faster than the TTS and want to skip to the next dialogue box, random NPCs, or long system messages.
And as Ryan said it would be ideal for it to be togglable in the config!
Feel free to reach out for clarification!

Implemented, will release in the current PR.


Animation does not work for the bottom cells.

Hello! There was a problem when using ViewAnimator and UIRefreshControl, that is, if for the first time the animation works as it should, then the second time after the data is reloaded with UIRefreshControl, the bottom three cells appear without animation. Of course, I understand that this is due to the fact that these cells are not visibleCells (at the start of the animation, 12 cells are visible, after the animation 15), but how to solve this problem?
Please see the video https://monosnap.com/file/CNs9V8EKIWbOsuLzXcybqfMRDb5jYp
Specifications

Version: 11.1.1
Platform: iOS

Update:  At the moment I made a hack that I increase the CollectionView height to a value that helps to animate the lower row of cells, but there may be options to do it better.

@alexanderkhitev did you came up with a more complete solution? I'll be looking into this next.

0ef02e416f8b472196a969b2717d710cd547f91e adds the possibility of creating a straightforward fix for this kind of issues. We can now pass in the views we want to animate so we can get the visible views and append the cell after the last visible one doing something like:
var cells = tableView.visibleCells
// Check if the refresh control is refreshing.
if let lastCell = visibleCells.last, let nextToLastIndexPath = tableView.indexPath(for: lastCell) {
    if let nextToLastCell = tableView.cellForRow(at: nextToLastIndexPath) {
        cells.append(nextToLastCell)
    }
}

UIView.animate(views: cells, animations: [scaleAnimation])


Add multiple attr_accessor_with_history test to part5

I was just failed with autograde programme in multiple attr_accessor_with_history test.

Thanks!


Use 'vscode', Congratulations, on getting a crashed computer!!!

Every time i can only force reboot!!!

dàn dìng，yǒu huà hǎo shuō ...

Sorry for that. Can you please provide us information about the crash by following the wiki - https://github.com/microsoft/vscode/wiki/Native-Crash-Issues


Enable the hybrid solver as the new default

This replaces OSQP with the new hybrid solver from https://github.com/opencobra/optlang/pull/256 which finally gives good accuracy solutions right out of the box.
Required prior releases

[x] new release for optlang with the solver
[x] enable the hybrid solver in cobrapy
[x] new release for cobrapy

Has been merged.


Optional route parametes

Hi there,
As title, is there a way to make route parameter optional?
// matches "GET /hello/foo" and "GET /hello/bar"
// does not match GET /hello
get("/hello/:name", (request, response) -> {
    return "Hello: " + request.params(":name");
});

How can i make above to match only /hello

do you want it to both match /hello and /hello/:name?

@perwendel it should match both
Coming from php world, this is how Laravel does it thing
Adding ? should mark a param as an optional one, like:
get("/hello/:name?", (request, response) -> {
    return "Hello: " + request.params(":name");
});

And it should match both /hello and /hello/foo

Hi I tried to add the function for it in PR#1229, hope it helps


ImportError: Numba requires at least version 0.40.0 of llvmlite.

ImportError: Numba requires at least version 0.40.0 of llvmlite.
Installed version is 0.39.1.
Please update llvmlite.
The latest version of llvmlit is: 0.39.1

% pip show numba
Name: numba
Version: 0.57.0.dev0+540.g061f21a73.dirty
Summary: compiling Python code using LLVM
Home-page: https://numba.pydata.org
Author:
Author-email:
License: BSD
Location: /Users/davidlaxer/tensorflow/lib/python3.8/site-packages/numba-0.57.0.dev0+540.g061f21a73.dirty-py3.8-macosx-10.9-x86_64.egg
Requires: importlib_metadata, llvmlite, numpy, setuptools
Required-by: datashader, pynndescent, umap-learn
(tensorflow) davidlaxer@x86_64-apple-darwin13 numba % pip show llvmlite
Name: llvmlite
Version: 0.39.1
Summary: lightweight wrapper around basic LLVM functionality
Home-page: http://llvmlite.readthedocs.io
Author:
Author-email:
License: BSD
Location: /Users/davidlaxer/tensorflow/lib/python3.8/site-packages
Requires:
Required-by: numba, pynndescent

You appear to be running a dev version of Numba, so you will also need to install llvmlite from source (as I think you are using pip - if you're using conda, you can install an llvmlite nightly with conda install -c numba llvmlite).

Ok, thanks.  Will Numba ever support Metal Performance Shader ('MPS')

Ok, thanks. Will Numba ever support Metal Performance Shader ('MPS')

@dbl001 please see the discussion in #5706. Thanks.
Am going to close this as resolved. Many thanks.


[CLU] update polling_interval

This currently defaults to 30s, per the azure-core default. It should be overridden in the library to 5s per the service team.

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Core:0.18280782,Service Bus:0.17741549,azure-spring:0.050571837'


Add SDL2 project include Mouse and Keyoard Events

For this project thiers some Prerequisites
SDL2 Project
Prerequisites

Install SDL2 library.

On Windows:

Download SDL2 from SDL2 Downloads.
Extract the files and copy the include and lib folders to your project directory.
Add the SDL2 lib folder to your compiler's library path and the include folder to your compiler's include path.

On macOS:

Install SDL2 using Homebrew:brew install sdl2

Hi, @DHEERAJHARODE I am currently working on SDL2 project plz, accpect the Issue created and assign to me.


Custom method not drawing

I have this code, when i call generatePoint method, the print works, but the point isn't drawing, someone can help me pls.
import 'dart:async';

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import 'package:flame/components/mixins/tapable.dart';
import 'package:flame/game/base_game.dart';

import 'package:aimgame/main.dart';
import 'package:aimgame/src/game/components/point.dart';

class GameCanvas extends BaseGame with HasTapableComponents {
  static final Paint paint = Paint();
  Size screenSize;
  Timer timer;

  void generatePoint(String code, Offset offset) async {
    print('Point generated #$code @ $offset');

    this.add(TapableSquare()
      ..x = screenSize.width * offset.dx / 100
      ..y = screenSize.width * offset.dy / 100);

  }

  @override
  void resize(Size size) {
    screenSize = size;
    // add();
    // timer = Timer.periodic(
    //     Duration(seconds: 1),
    //     (timer) => generatePoint(
    //         '',
    //         Offset(Random().nextInt(100.toInt()).toDouble(),
    //             Random().nextInt(100.toInt()).toDouble())));

    super.resize(size);
  }

  @override
  void render(Canvas canvas) {
    // Change background color.
    Rect bgRect = Rect.fromLTWH(0, 0, screenSize.width, screenSize.height);
    Paint bgPaint = Paint();
    bgPaint.color = ColorPalette.background;
    canvas.drawRect(bgRect, bgPaint);

    super.render(canvas);
  }
}

What is the render method of the TapableSquare?

What is the render method of the TapableSquare?

class TapableSquare extends PositionComponent with Tapable {
  static final Paint _white = Paint()..color = const Color(0xFFFFFFFF);
  static final Paint _grey = Paint()..color = const Color(0xFFA5A5A5);

  bool _beenPressed = false;

  TapableSquare({double y = 100, double x = 100}) {
    width = height = 10;
    this.x = x;
    this.y = y;
  }

  @override
  void render(Canvas canvas) {
    // canvas.drawRect(toRect(), _beenPressed ? _grey : _white);
    canvas.drawCircle(Offset(this.x, this.y), 10, _white);
  }

  @override
  void onTapUp(TapUpDetails details) {
    _beenPressed = false;
    print('object');
  }

  @override
  void onTapDown(TapDownDetails details) {
    _beenPressed = true;
    print('object');
  }

  @override
  void onTapCancel() {
    _beenPressed = false;
    print('object');
  }

  @override
  bool destroy() => _beenPressed;
}

This screenSize.width * offset.dx / 100 is probably offscreen. You probably want something like x = offset.dx?

ohh I finally understood why you did that. You thought offset.dx was a percentage right? it's not, it's the absolute virtual pixel coordinates.

Yes, it's the porcentage to show in different screens

..y = screenSize.width * offset.dy / 100)

Do you really mean to calculate y based on screen width?

..y = screenSize.width * offset.dy / 100)

Do you really mean to calculate y based on screen width?

Yes, because the offset always

..y = screenSize.width * offset.dy / 100)

Do you really mean to calculate y based on screen width?

Yes, because the offset always will be between 0 and 100

I don't think so @diezep, it is the absolute value of the virtual position where the tap happened, you can just use the value directly.

..y = screenSize.width * offset.dy / 100)

Do you really mean to calculate y based on screen width?

Yes, because the offset always will be between 0 and 100

I don't think so @diezep, it is the absolute value of the virtual position where the tap happened, you can just use the value directly.

But.. The method has a variable offset as argument, i assign a value between 0 and 100, right?

I think that is not the problem, because i have a periodic timer in resize method that works

..y = screenSize.width * offset.dy / 100)

Do you really mean to calculate y based on screen width?

Yes, because the offset always will be between 0 and 100

I don't think so @diezep, it is the absolute value of the virtual position where the tap happened, you can just use the value directly.

Or may i don't understand what you mean at all


Error with electron

Bankai doesn't like this script very much:
// index.js
var ipc = require('electron').ipcRenderer

bankai start index.js

Gives the following error:
Uncaught TypeError: fs.existsSync is not a function
    at Object.<anonymous> (index.js:6)
    at Object.3.fs (index.js:11)
    at s (_prelude.js:1)
    at _prelude.js:1
    at Object.1.electron (index.js:1)
    at s (_prelude.js:1)
    at e (_prelude.js:1)
    at _prelude.js:1

DevTools reporting index.js as:
var fs = require('fs')
var path = require('path')

var pathFile = path.join(__dirname, 'path.txt')

if (fs.existsSync(pathFile)) {
  module.exports = path.join(__dirname, fs.readFileSync(pathFile, 'utf-8'))
} else {
  throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again')
}

If I however do the require in index.html it all works fine, which is why I suspect it may be bankai that causes the error?

Oh boy; yeah for now I'd recommend using bankai v8 still — and if you need access to Node APIs, try running window.require() instead of regular require(). I know @blahah has been working on this problem too; perhaps sharing notes might be useful.
Sorry I don't have a better answer for now; kinda spread thin haha.

That's okay :heart: Just wanted to leave a bug report in case someone else encounters the problem!

yay, glad! Closing for now as it's not really actionable — if that's ok (: Thanks for raising!


JAX NumPy array_split not throwing out of bounds error

Description
When splitting an array using:
x = jnp.array__split(array, chunks)
Then converting this back to JAX array:
x = jnp.array(x)
Let's assume the resulting shape of x.shape is [5, 100, 32, 32]. If we were to try and access an index that is out of bounds, we do not get an error:
x[5] # returns last batch rather than throw an error
Not sure if this is intended behavior or not.
What jax/jaxlib version are you using?
0.4.23 0.4.23
Which accelerator(s) are you using?
GPU
Additional system info?
1.26.2 3.11.6 (main, Oct  8 2023, 05:06:43) [GCC 13.2.0] uname_result(system='Linux', node='lambda', release='6.5.0-14-generic', version='#14-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 14 14:59:49 UTC 2023', machine='x86_64')
NVIDIA GPU info
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  Off |
|  0%   33C    P8    20W / 450W |    124MiB / 24564MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1361      G   /usr/lib/xorg/Xorg                105MiB |
|    0   N/A  N/A      1480      G   /usr/bin/gnome-shell               17MiB |
+-----------------------------------------------------------------------------+

Thanks for the report. It's not clear to me how to reproduce the issue you're seeing: I don't know what chunks is. Could you edit your question to add a minimal reproducible example, i.e. a block of code with all imports and variables defined that I could paste and execute to see the exact error you're seeing?

Looking at the question again, it seems this is expected out-of-bound indexing behavior. See https://jax.readthedocs.io/en/latest/notebooks/Common_Gotchas_in_JAX.html#out-of-bounds-indexing for a discussion. Thanks!


Rename Server type to Controller

The existing Server type do not actually “serve” requests, instead provides API to create a handler. It would be more meaningful to call it Controller.

Closed in #33


Update v

@rafasu4 does adding 369 lines and deleting 365 lines required to add these handlers?
I'll need a clear PR with only the required lines edited :)


added in-app update and not tested

This closes #57

Also, I forgot to look at one major thing. Your PR should not be from your fork's master. Please create a new branch in your fork from your fork's master and make a new PR from that to my master.


Fix continue-as-new wiring, interception, context propagation and OpenTracing integration

What was changed
Interception of  continue-as-new is fixed,  continue-as-new headers are passed to the server now instead of discarding
Test Service implementation of continue-as-new regarding headers is also fixed and brought in agreement with an actual Temporal server
Context Propagation for continue-as-new is implemented
OpenTracing span propagation for continue-as-new is implemented
How was this tested:
Unit test for OpenTracing span connectivity, propagation, and structure for a workflow containing continue-as-new.
Closes #844

@cretz yeah, we already discussed it and I actually already added Experimental to some classes before:
https://github.com/temporalio/sdk-java/blob/fd6bb90ac1f53815bf88de3563db7f6177b29a76/temporal-sdk/src/main/java/io/temporal/common/interceptors/WorkflowClientCallsInterceptor.java#L32
https://github.com/temporalio/sdk-java/blob/c802327089fe63694e1baca059a750e970d90b72/temporal-sdk/src/main/java/io/temporal/common/interceptors/WorkflowClientInterceptor.java#L29
I just probably didn't change other interceptor classes at that time and decided that I will add the @Experimental later (probably, not the best decision).

I think it is a good idea to mark them as experimental given the instability of the APIs at this point.


successOrNext is undefined

There's an error on version 0.12 of node (Tested on Ubuntu) that says that successOrNext is undefined.
I've managed to fix it, going to create a pull request in the next minutes.

Thanks for reporting. Let me see if I can reproduce.
Which version does this happen on? Have you tested the version before to determine if there is a regression?

Happened on node v0.12.0 I could easily reproduce it. With version 0.10.25 and 0.10.27 works fine.

Sorry, ambiguous question, I was asking which versions of node-openid you have tested.

No I haven't test other node-openid versions. If you can't until later on today I will do it.

Which version have you tested? 0.5.10?

Yeah 0.5.10. I used passport-openid, and I was trying to reach the steam openid service. Don't have the urls here. Are you having trouble reproducing it?

Yes. Could you try downgrading to 0.5.9 and see if you get the same behavior?

Logging in to Steam using 0.5.10 on Node 0.10 and 0.12 works fine for me (given I provide a realm, and use stateless mode (Steam does not support association)).

Sorry I wasn't available yesterday. I'll show you an example tonight that breaks and I'll downgrade as well to see if it matters.

Thing is, I'm not even sure if it's a problem with node-openid or nodejs itself.

Me neither, so a way to reproduce would be great.

Give me one hour to set something up

Kay https://github.com/DPr00f/node-openid-error
Found the problem.
node-jsx is causing the exception. Just on node 0.12, not on node 0.10.
if you comment the first line on helpers/globals.js it will work on 0.12, else, it will fail

Interesting find, thanks, I will review it.

Just pushed 0.5.11, can you test?

Well done. It works. Close the PR I've made then.

Thanks for reporting and helping out reproducing and testing!


Fix PropertyFileReader to handle CR LF line endings

The current implementation of PropertyFileReader does not parse logical lines correctly in case the physical line contains \r\n line ending characters. The backslash is read, the \r is treated as escaped, but then the \n character is read in the next loop interation and is treated as a new line. I modified an existing testcase to show this. I propose the following fix to PropertyFileReader parsing loop.

Many thanks for your contribution!
You are right, I have missed this. And your fix solves it.
Do you mind instead of modifying an existing test case to write a new test case that only tests this specific bug?
That test should include all three possible escaped line endings (\n, \r, \r\n).
Also it would be good to create an issue for this bug so we can reference it.
Then put a javadoc comment in front of your test case that mentions the issue, like:
  /**
   * This test verifies bug #4: https://github.com/hupfdule/apron/issues/4
   */

Many thanks for your contribution!
You are right, I have missed this. And your fix solves it.
Do you mind instead of modifying an existing test case to write a new test case that only tests this specific bug?
That test should include all three possible escaped line endings (\n, \r, \r\n).
Also it would be good to create an issue for this bug so we can reference it.
Then put a javadoc comment in front of your test case that mentions the issue, like:
  /**
   * This test verifies bug #4: https://github.com/hupfdule/apron/issues/4
   */

Hello @hupfdule - I'm sorry but @vladimirkroupa no longer works for us. He transferred work to colleagues and we're using the library from the forked version with fix for this issue. I can confirm, that it solves our problem between Win and Linux platforms, but I cannot deliver the test you wanted unless me or my colleagues study Apron library from ground up and this may not happen for weeks. I'd like to provide you with all necessary information, but it may take a while :(

Hello @novoj!
Do you need any help for adapting the Pull Request? I't like to include your fix.

Created issue https://github.com/hupfdule/apron/issues/11 ... and I'm going to write separate test.

@hupfdule Luckily I have day off the work and have a time to finish that. Thanks for reminder. Is everything as you expected?

As for the modules - IntelliJ Idea refuses compilation with this mesage:
/www/oss/apron/src/main/java/module-info.java
java: modules are not supported in -source 8
  (use -source 9 or higher to enable modules)

The problem is probably connected with:

After manual override to JDK 9 it got compiling.

I updated the test and reverted other changes as requested. Can you look at it again, please?

As for the modules - IntelliJ Idea refuses compilation with this mesage:
/www/oss/apron/src/main/java/module-info.java
java: modules are not supported in -source 8
  (use -source 9 or higher to enable modules)

The problem is probably connected with:

After manual override to JDK 9 it got compiling.

Well, Apron needs to be compiled with a compiler of version 9 or higher. However, the (default) target release should still be Java 8. Only the module-info.java should be compiled with Java 9+.
See this section in the pom: https://github.com/hupfdule/apron/blob/71a7d1baee94b09411f81150c66233f2f52a41f9/pom.xml#L122-L156
That allows to include the module-info in the jar, but the library is still usable with Java 8.
Unfortunately that is quite ugly. It is a lot of boilerplate for the sake of compatibility with older and newer Java versions.

Version 2.1.1 has just been released!

Thank you. As for the module-info ... I got the point, unfortunatelly IntelliJ Idea default Maven importer respects compiler.target and preselects JDK 8 as default for the Maven project. Manual intervention is needed :(


X-Authenticated-Userid header not being forwarded to upstream API

I manually provisioned an OAuth2 token (Resource Owner Password Credentials flow) for a user through a curl command as follows:
curl -k https://localhost:8443/api/oauth2/token
--data "client_id=client-id"
--data "client_secret=client-secret"
--data "authenticated_userid=user-id"
--data "provision_key=b51878bfd8644e83ce07bf8c4f07bec6"
--data "grant_type=password"
I used the returned access token by the provision above (10a2fcc8f0a34f05cf06df7ff90f7c23) to access my API. However, Kong did not include an X-Authenticated-Userid header in the forwarded request. A list of all headers received at the upstream server are shown below:
x-real-ip: <IP_ADDRESS>
x-forwarded-for: <IP_ADDRESS>
x-forwarded-proto: http
host: localhost:8090
connection: close
user-agent: curl/7.35.0
accept: /
authorization: Bearer 10a2fcc8f0a34f05cf06df7ff90f7c23
x-consumer-id: 13fa3f20-e444-4dcc-cd46-dc9930114df8
x-consumer-username: consumer
Any help would be greatly appreciated. Thanks!

@darkaeon10 I cannot replicate this bug with master. It may have been a bug in 0.4.2 that will be fixed in 0.5.0 (to be released next week). I will ping you next week to try this again.

@thefosk Alright thanks! Hooray for 0.5.0!

#476 Fixed it for the password grant, the problem is still open for the client credential workflow though

@Gingonic correct me if I am wrong:
The client_credentials flow excludes the third-party server, which means a client will be able to authenticate just by using its client_id and client_secret directly with Kong without redirecting the final user to a login page. Because there is not third party server authenticating the final user, Kong will only return the X-Consumer-Custom-ID or X-Consumer-Username that identify the client.
Because there is no third-party user logging into the web application, the X-Authenticated-Userid doesn't exist.
X-Consumer-Custom-ID or X-Consumer-Username identify the client application, or Kong consumer, making the request. X-Authenticated-Userid identifies the user that logins into the web application, which in this case doesn't exist.

Not sure about that :
4.4.  Client Credentials Grant

   The client can request an access token using only its client
   credentials (or other supported means of authentication) when the
   client is requesting access to the protected resources under its
   control, or those of another resource owner that have been previously
   arranged with the authorization server (the method of which is beyond
   the scope of this specification).

Especially

or those of another resource owner that have been previously
arranged with the authorization server (the method of which is beyond
the scope of this specification).

Meaning there still is (or at least can be) a customer hidden behind the token.

@Gingonic that is actually correct, thanks for the help. I will push a fix that will only allow to set an authenticated_userid if the correct provision_key is being set.

@thefosk  Is it possible that this is still an issue? I'm in Kong 0.5.0 and I'm not getting the headers forwarded. Not sure if I'm doing something wrong.
This what I'm doing:
$ curl -X POST  https://`docker-machine ip dev`:8443/users/oauth2/token  --data "client_id=ret-mobile-ios" --data "client_secret=c4c6f41e11294965c998379111143ba8" --data "scope=app"  --data "provision_key=a2a1ed0c2ef64868c85fa56e5770831a" --data "grant_type=password"  --data "authenticated_userid=user-id" --insecure
{"refresh_token":"d1cd390e6d6a4600c6963a41d0142e8e","token_type":"bearer","access_token":"45cee359d1384e9acee246af0cf16bfa","expires_in":7200}

and then
$ curl -X GET -H "Authorization: Bearer 45cee359d1384e9acee246af0cf16bfa" -H "test: header" -H "Cache-Control: no-cache" 'https://<IP_ADDRESS>:8443/users?test=2' --insecure

I'm not getting the headers in the server, this is all I got:
{
    "headers": {
        "X-Content-Type-Options": "nosniff",
        "X-Frame-Options": "SAMEORIGIN",
        "X-XSS-Protection": "1; mode=block"
    },
    "params": {
        "action": "status",
        "controller": "ops",
        "test": "2"
    }
}

@rafael let us know how it goes with the 0.5.1

@rafael So I just tested this with 0.5.1:

Creating the API:

$ curl -d "request_host=oauth.com&upstream_url=http://httpbin.org" <IP_ADDRESS>:8001/apis
{"upstream_url":"http:\/\/httpbin.org","id":"ddf3c3f2-f562-4022-c0ba-1a9c04647b24","name":"oauth.com","created_at":1444877763000,"request_host":"oauth.com"}

Adding the OAuth 2.0 Plugin:

$ curl -d "name=oauth2&config.scopes=profile,email&config.enable_authorization_code=false&config.enable_password_grant=true" <IP_ADDRESS>:8001/apis/oauth.com/plugins/
{"api_id":"ddf3c3f2-f562-4022-c0ba-1a9c04647b24","id":"3e2b98c8-7956-4f64-cf11-725981036a14","created_at":1444877851000,"enabled":true,"name":"oauth2","config":{"enable_authorization_code":false,"token_expiration":7200,"enable_implicit_grant":false,"scopes":["profile","email"],"provision_key":"23516763ec0c4311c39c48c34c5a661d","hide_credentials":false,"enable_password_grant":true,"enable_client_credentials":false,"mandatory_scope":false}}

Creating a Consumer:

$ curl -d "username=thefosk" <IP_ADDRESS>:8001/consumers/
{"username":"thefosk","created_at":1444877894000,"id":"1eb36d22-b95d-4270-c2d9-7999a807256c"}

Creating OAuth 2.0 credentials for the consumer:

$ curl -d "name=Test&redirect_uri=https://www.google.com/" <IP_ADDRESS>:8001/consumers/thefosk/oauth2/
{"consumer_id":"1eb36d22-b95d-4270-c2d9-7999a807256c","client_id":"9eb343fa20994be2cb0f69be8c6e9821","id":"670cf03a-4a16-4f3a-cf15-ec19dcfffdb4","name":"Test","created_at":1444877985000,"redirect_uri":"https:\/\/www.google.com\/","client_secret":"6205af554e474109c1b237f6a122b0d4"}

Requesting the access token, setting the authenticated user ID to bob:

$ curl -d "grant_type=password&username=hello&password=world&scope=email&client_id=9eb343fa20994be2cb0f69be8c6e9821&client_secret=6205af554e474109c1b237f6a122b0d4&provision_key=23516763ec0c4311c39c48c34c5a661d&authenticated_userid=bob" -H "Host: oauth.com" https://<IP_ADDRESS>:8443/oauth2/token --insecure
{"refresh_token":"6c10650e9f844f4ecfe4c858dc962bb5","token_type":"bearer","access_token":"425184289b8b484bc85abf313a5be11d","expires_in":7200}

Consuming the API with the access token:

$ curl -H "Host: oauth.com" https://<IP_ADDRESS>:8443/get?access_token=425184289b8b484bc85abf313a5be11d --insecure
{
  "args": {
    "access_token": "425184289b8b484bc85abf313a5be11d"
  },
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.43.0",
    "X-Authenticated-Scope": "email",
    "X-Authenticated-Userid": "bob",
    "X-Consumer-Id": "1eb36d22-b95d-4270-c2d9-7999a807256c",
    "X-Consumer-Username": "thefosk"
  },
  "origin": "<IP_ADDRESS>, <IP_ADDRESS>",
  "url": "https://httpbin.org/get?access_token=425184289b8b484bc85abf313a5be11d"
}

The header X-Authenticated-Userid seems to be properly set to bob.

@thefosk: Started from scratch in 0.5.1 and it's working. Thanks!

@thefosk - I am using Kong0.5.0 and trying to test the client credentials flow. I followed all the steps

registering the api
enabling the oauth2 plugin for the api and obtaining the provisioning key.
creating a consumer
registering the application and obtaining the client id and client credentials.
I am trying to get the access token as follows.

curl -i -k --insecure -X POST https://localhost:8443/oauth2/token
--data "client_id=XXXXXXXXX"
--data "client_secret=XXXXXXXXXXXXX"
--data "grant_type=client_credentials"
--data "scope=email,phone,address"
--data "provision_key=62e9bcbdb3b145aec506b6a98e2accd4"
I am getting 401 - unauthorized message as follows. Can you please tell me what is wrong with the request.
HTTP/1.1 401 Unauthorized
Date: Fri, 16 Oct 2015 14:27:48 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: kong/0.5.0
{"message":"No API Key found in headers, body or querystring"}

Found the problem. once I passed the host header as part of the request got back the access and refresh token.

@ramamoob :+1:


undefined method `filtered_parameters' for nil:NilClass

This commit 0a7a3721b4f7d481b76c43efa4e9a676833da88b  breaks my test because the view_context for the controller returns nil when request is called.
     NoMethodError:
       undefined method `filtered_parameters' for nil:NilClass

                 params: request.filtered_parameters
                                ^^^^^^^^^^^^^^^^^^^^
     # /Users/jcoyne85/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/actionpack-<IP_ADDRESS>/lib/action_controller/metal/strong_parameters.rb:1230:in `params'
     # /Users/jcoyne85/.rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/actionview-<IP_ADDRESS>/lib/action_view/helpers/controller_helper.rb:16:in `params'
     # ./app/helpers/blacklight/catalog_helper_behavior.rb:199:in `document_index_view_type'
     # ./app/helpers/blacklight/document_helper_behavior.rb:73:in `document_presenter_class'
     # ./app/helpers/blacklight/document_helper_behavior.rb:62:in `document_presenter'
     # ./spec/components/blacklight/document_component_spec.rb:18:in `block (2 levels) in <top (required)>'

You can observe this by calling
controller.view_context.params
in a component test, which results in:
eval error: undefined method `filtered_parameters' for nil:NilClass

          params: request.filtered_parameters
                         ^^^^^^^^^^^^^^^^^^^^

Sorry, this was because we were coding against the private method from rc2.  Switching to use the new method name fixes it. Thank you.


Fallback for pm_string_mapped_init

@hasumikin will this work, or will referencing FILE at all break compiling on embedded?

@kddnewton
It will break. You can not assume an embedded system has FILE.
Some embedded systems have FILE but others don't.
Letting users read the entire Ruby script (whether it's a "file" or not) is enough, I think

@hasumikin unfortunate. I was hoping to provide a fallback for posix platforms that don't have mmap. Do you think checking for either _POSIX_VERSION or _FILE_OFFSET_BITS would work?

@kddnewton
Sorry but I have no idea.
I don't think there is a robust way to know a POSIX that has no MMAP...

No worries, I'll close this until it becomes a real use-case.


Installation is failing

Problem/Motivation
The installation of the addon is failing.
Actual behavior
When installing this addon I get the error as shown below.
Github.com is resolvable however. I can also see that the addon makes the directories and downloads a .git folder and adds files in there. But after some seconds it stops and throws that error.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing...

-----------------------------------------------------------
 Hass.io Add-on: JupyterLab Lite v0.1.0

 Create documents containing live code, equations, visualizations, and explanatory text.

 From: Community Hass.io Add-ons
 By: Franck Nijhof<EMAIL_ADDRESS>-----------------------------------------------------------
 amd64 / Ubuntu 18.04.1 LTS / HA 0.84.6 / SU 141 / stable
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
Log level is set to INFO
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] 02-updates.sh: executing...

INFO: You are running the latest version of this add-on
[cont-init.d] 02-updates.sh: exited 0.
[cont-init.d] 10-requirements.sh: executing...
[cont-init.d] 10-requirements.sh: exited 0.
[cont-init.d] 11-nginx.sh: executing...
[cont-init.d] 11-nginx.sh: exited 0.
[cont-init.d] 20-notebooks-dir.sh: executing...
Cloning into '/config/notebooks/home-assistant'...
fatal: unable to access 'https://github.com/home-assistant/home-assistant-notebooks.git/': Could not resolve host: github.com
FATAL: Failed installing Home Assistant example notebooks
[cont-init.d] 20-notebooks-dir.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] 99-message.sh: executing...
-----------------------------------------------------------
                Oops! Something went wrong.

 We are so sorry, but something went terribly wrong when
 starting or running this add-on.

 Be sure to check the log above, line by line, for hints.
-----------------------------------------------------------
[cont-finish.d] 99-message.sh: exited 0.
[cont-finish.d] done.
[s6-finish] syncing disks.
[s6-finish] sending all processes the TERM signal.

I have installed the addon on two different HA instances, which are on different hardware, both on Ubuntu 18.04.
Both machine definitely have access to Internet (github.com is pingable).
I have restarted the addon multiple times, behaviour stays the same. I had to delete the notebook folder though, otherwise the addon doesn't download the files from Github.
[cont-init.d] 20-notebooks-dir.sh: executing...
fatal: cannot change to '/config/notebooks//home-assistant': No such file or directory
fatal: cannot change to '/config/notebooks/home-assistant': No such file or directory

Your machine is unable to resolve github.com.
This indicates network/dns issues in you system or network and is outside the scope of this add-on. The add-on does not do anything special in terms of network.
If you are running Pi-hole, be sure you have given your device running Hassio a static IP (NOT DHCP lease reservation, but static!) and an external DNS server.
If you are running a manual installed generic Linux version of Hass.io, be sure you are running the latest Docker version (18.09).
If you need any further assistance, please join our Discord server.

Updated the Docker version to 18.09 and after a restart all works fine.
Thanks :+1:


source of the HP suite

Can you provide a link for the source of the HP test suite HP_testsuite_version_for_evaluating_GKR.txt ?
Is it related to http://moin.delph-in.net/MatrixMrsTestSuite?

Hi,
the HP test suite can be found here: https://w3.ual.es/~nperdu/hpsuite.htm
The version used to evaluate GKR is slightly shorter because some of the phenomena of the test suite had not yet been implemented in GKR at the time of publishing of this work (and some still aren't)