Update tsi api version. Resolves #31

Updated TSIClient to use TSI api version 2020-07-31.
@srudaa Could you check whether your programs run with this api version?

Ill probably add an optional constructor argument to choose the api version, which defaults to this new version 2020-07-31.


Trying to open files not there

I keep getting the following errors
Error: ENOENT: no such file or directory, open '/home/brian/Documents/GitHub/x/home/tux/src/0.src'
at async open (node:internal/fs/promises:638:25)
at async Object.readFile (node:internal/fs/promises:1266:14)
at async K_.fetchTextDocument (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:326:38355)
at async K_.getTextDocument (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:326:38643)
at async F_.open (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:326:26979)
at async r (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:326:25237)
at async zo.getImports (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:326:25341)
at async gb (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:110:361661)
at async mb.buildTypeMap (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:110:363918)
at async mb.lookupTypeInfo (/home/brian/.vscode/extensions/ayecue.greybel-vs-2.4.11/node_modules/greybel-languageserver/index.js:110:364003) {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/home/brian/Documents/GitHub/x/home/tux/src/0.src'
}
for files/folders no longer there

about every 3-5 minutes I get this

I just did this for now

Interesting. I tried replicating it by deleting a file that got imported into another file. But it seems to work fine for me. Anyway looking at the language server code I can see that there is the possibility of it crashing if files don't exist. I've added a fix and updated the extension to use the latest version. The issue should not occur in the future anymore.
The log Error: ENOENT: no such file or directory may still occur in the future though. But it should be only visible in the developer console.

I just did this for now

This won't have any influence on those error popups you showed. This silencing of error popups is only for the error thrown by the interpreter if there are mistakes in the code or that sort.
Anyway I hope this will fix the issue for you as well. In case it reoccurs post 2.4.12 feel free to reopen the ticket. Also thanks for reporting.

@linuxgruven FYI I made another fix which should fix the actual issue you had yesterday. It was caused when there was invalid syntax at some point.


[core] No way to open a screen that matches display size automatically

Please, before submitting a new issue verify and check:

[x ] I tested it on latest raylib version from master branch
[x ] I checked there is no similar issue already reported
[x ] My code has no errors or misuse of raylib

Issue description
I can't figure out a way to open a screen that exactly matches the display size other than hard coding it.
Environment
Pi Zero
Issue Screenshot
Code Example
InitWindow(GetMonitorWidth(0), GetMonitorHeight(0), "1 to 1 mapping");

@alanbork Sorry, not sure if I understand the issue...
GetMonitorWidth(0) and GetMonitorHeight(0) require a previously initialized Window to work.
In any case if you use InitWindow(0, 0, "title"), it should use monitor display size automatically.

That doesn't work either, though it would be the optimal way to provide the desired outcome.
This code:  InitWindow(0, 0, "raylib [core] example - generate random values");
The result:
INFO: Initializing raylib 3.0
INFO: DISPLAY: Upscaling required: Screen size (0x0) smaller than display size (1920x1200)
WARNING: DISPLAY: Failed to attach EGL rendering context to EGL surface
INFO: TIMER: Target time per frame: 16.667 milliseconds
INFO: TEXTURE: [ID 0] Unloaded default texture data from VRAM (GPU)
INFO: Window closed successfully

try opening a nominal sized window, say 1024x768 or similar (something you know will work)
Then you can get the monitor size and call
SetWindowSize
You will need to allow space for tool bars and the window decoration (which using xlib is doable but a pain...) no idea how you'd get the info from windows or macos
What I tend to do for fullscreen mode is to render to a texture at half HD 1280x720 and then scale that to whatever resolution fullscreen happens to be (usually looks fine on a HD screen laptop right next to my face!)  see the example core_window_letterbox

@alanbork Actually using the maximum display size when InitWindow(0, 0, "title") is the default behaviour on desktop.
It seems an issue with Raspberry Pi code... are you running it without X11 (PLATFORM_RPI)?

Ok, just reviewed it on commit https://github.com/raysan5/raylib/commit/d419602c99480a69aa3eef0b074bc15f2aa6e413. Please, @alanbork could you test it?

Works like a charm now, thanks!
InitWindow(0, 0, "title")
NFO: Initializing raylib 3.0
INFO: DISPLAY: Device initialized successfully
INFO:     > Display size: 1920 x 1200
INFO:     > Render size:  1920 x 1200
INFO:     > Screen size:  1920 x 1200
INFO:     > Viewport offsets: 0, 0
INFO: GL: OpenGL device information:
INFO:     > Vendor:   Broadcom
INFO:     > Renderer: VideoCore IV HW
INFO:     > Version:  OpenGL ES 2.0
INFO:     > GLSL:     OpenGL ES GLSL ES 1.00

I am working with a very high resolution screen, but my users have a much lower resolution. I would like us all to use a screen which fills the same proportion of the screen. Is it possible to open a window which is say half the width and height of the screen/monitor?

I am working with a very high resolution screen, but my users have a much lower resolution. I would like us all to use a screen which fills the same proportion of the screen. Is it possible to open a window which is say half the width and height of the screen/monitor?
you can do InitWindow(0, 0, "title") then SetWindowSize(GetMonitorWidth(GetCurrentMonitor())/2, GetMonitorHeight(GetCurrentMonitor())/2);

Not sure if currently there is any other way to do it in Raylib since GetMonitorWidth and GetMonitorHeight only work after calling InitWindow


Move CharacterClass API into RegexBuilder

This makes the existing CharacterClass model API internal to _StringProcessing, and creates a new (4th?) CharacterClass type in the RegexBuilder module. With this change, the CharacterClass APIs will only be available when that module's imported.

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test


Getting to work with Forms

First thanks for this sample it was very helpful and one of the few working samples I could find with Spring Boot and OAuth2.  Is there a way to get this to work alongside Spring Form authentication?
.formLogin().loginPage("/login").permitAll().and().logout().permitAll().and()
Getting the following error:
An Authentication object was not found in the SecurityContext

Thanks for the feedback! I built this because I had run into the same issue. I wanted a basic sample app that integrated all these features. Regarding Spring Forms, that's out of scope for my goals with this app, but @rwinch may be able to provide some guidance.

@kibbled If you can provide a more concrete example of what you have and what you are looking for I can certainly see if I can help.

Basically this added to the working sample from this repo:

@Configuration
@EnableWebSecurity
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
    	http
    		.authorizeRequests().antMatchers("/app/**", "/css/**", "/img/**", "/js/**", "/bower_components/**").permitAll().and()
			.formLogin().loginPage("/login").permitAll().and()
			.logout().permitAll().and()

			// Require Authentication for the rest
			.authorizeRequests().anyRequest().fullyAuthenticated();//.and()
    	http.httpBasic();
    	http.csrf().disable();
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("admin").password("0nion5").roles("USER", "ADMIN");
    }
}

I'm facing the same problem. Currently working on a website that has a fully working WebSecurityConfig like @kibbled with

I think the issue is if two HttpSecurity configuartions are for the same path then the last one wins, otherwise if they are configured for different endpoints they work fine

@Configuration
@EnableResourceServer
protected static class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {

	@Override
	public void configure(ResourceServerSecurityConfigurer resources) {
		// @formatter:off
		resources
			.resourceId(RESOURCE_ID);
		// @formatter:on
	}

	@Override
	public void configure(HttpSecurity http) throws Exception {
		// @formatter:off
		 http
			.requestMatchers()
			.antMatchers("/resources/**","/greeting")
			.and()
			.authorizeRequests()
			.antMatchers("/resources").access("#oauth2.hasScope('read') or hasRole('ROLE_USER')")
			.antMatchers("/greeting").access("#oauth2.hasScope('read')");
 		}

}

and
@Configuration
@EnableWebSecurity
@EnableWebMvcSecurity
 public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

@Autowired
private CustomUserDetailsService userDetailsService;

@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
	auth.userDetailsService(userDetailsService);

}

@Override
@Bean
@Qualifier("authenticationManagerBean")
public AuthenticationManager authenticationManagerBean() throws Exception {
	return super.authenticationManagerBean();
}

@Order(1)
@Override
protected void configure(HttpSecurity http) throws Exception {
	// @formatter:off
	http
	  .authorizeRequests()
	   .antMatchers("/**").access("hasRole('ROLE_ADMIN')")
	   .antMatchers(HttpMethod.POST, "/user")
	   .permitAll()
	   .and()
	   .csrf().disable().formLogin();

}

}
works as desired, it added to the spring-rest-service-oauth from this git

Hi @mariubog,
thanks for your reply! I'll give it a try later today. You can add java after the ``` when you wrap your code.

```java
   // code for coloring
```
```html
   // code for coloring
```
```js
   // code for coloring
```
```css
   // code for coloring
```
// etc.

I think the proble has to do with the filter chains, when we create above two, web security configuration and oauth configuration we get three filter chains :
1First filter chain it is default filter chain only difference between other two is that it uses BasicAuthenticationFilter
this are the matchers patterns it uses
`[ OrRequestMatcher [requestMatchers=[Ant [pattern='/oauth/token'], Ant [pattern='/oauth/token_key'], Ant [pattern='/oauth/check_token']]]
2 Second filter chain is the one that is the concern I guess the difference from above is that it uses OAuth2AuthenticationProcessingFilter in place of BasicAuthenticationFilter
Now If I include .requestMatchers()                 .antMatchers("/resources/**","/greeting")
in above example these are the paterns
[ OrRequestMatcher [requestMatchers=[Ant [pattern='/resources/**'], Ant [pattern='/greeting']]]
which pretty much narrows it down
but if I dont then org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration$NotOAuthRequestMatcher object is used and it contains 5 following patterns:
key	"/oauth/authorize" (id=339)
key	"/oauth/token" (id=334)
key	"/oauth/error" (id=329)
key	"/oauth/check_token" (id=325)
key	"/oauth/confirm_access" (id=321)

the thing is that method used for checking against patterns is:
@Override
		public boolean matches(HttpServletRequest request) {
			String requestPath = getRequestPath(request);
			for (String path : mapping.getPaths()) {
				if (requestPath.startsWith(path)) {
					return false;
				}
			}
			return true;
		}

from ResourceServerConfiguration so if we are trying to acces path for example /user and obvoisly /user does not start with any of the 5 above patterns then the filter is executed.
Perhaps Dave Syer could explain it better because I am little confsed with this, and he wrote this class.
3 this is the third filter chain that is last and has obvoisly widest range
org.springframework.security.web.util.matcher.AnyRequestMatcher@1
it uses UsernamePasswordAuthenticationFilter

I think the problem has to do with the filter chains, when we create above two, web security configuration and oauth configuration we get three filter chains :
1First filter chain it is default filter chain only difference between other two is that it uses BasicAuthenticationFilter this are the matchers patterns it uses:
[ OrRequestMatcher [requestMatchers=[Ant [pattern='/oauth/token'], Ant [pattern='/oauth/token_key'], Ant [pattern='/oauth/check_token']]]
2 Second filter chain is the one that is our concern I guess, the difference from above is that it uses OAuth2AuthenticationProcessingFilter in place of BasicAuthenticationFilter
Now If I include .requestMatchers() 		                .antMatchers("/resources/**","/greeting")
in above example these are the paterns:
[ OrRequestMatcher [requestMatchers=[Ant [pattern='/resources/**'], Ant [pattern='/greeting']]]
which pretty much narrows it down
but if I dont include those lines then org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration$NotOAuthRequestMatcher object is used and it contains 5 following patterns:
 		key	"/oauth/authorize" (id=339)	 		key	"/oauth/token" (id=334)	 		key	"/oauth/error" (id=329)	 		key	"/oauth/check_token" (id=325)	 		key	"/oauth/confirm_access" (id=321)
the thing is that method used for checking against patterns is:
java 		@Override 				public boolean matches(HttpServletRequest request) { 					String requestPath = getRequestPath(request); 					for (String path : mapping.getPaths()) { 						if (requestPath.startsWith(path)) { 							return false; 						} 					} 					return true; 				}
from ResourceServerConfiguration$NotOAuthRequestMatcher so if we are trying to acces path for example /user and obvoisly /user does not start with any of the 5 above patterns then the filter is executed. I guess it is NotOAuthRequestMatcher so it is supposed to do that but it still assuers selection of the filter chain that contains OAuth2AuthenticationProcessingFilter and oauth configuration. And no other filter after that will have any chance to be activated.  In our case the third filter that  authenticates against rules in the web security configuration.
Perhaps someone could explain this behavior because I am little confsed with this
3 this is the third filter chain that is last and has obvoisly widest range
org.springframework.security.web.util.matcher.AnyRequestMatcher@1
it uses UsernamePasswordAuthenticationFilter
it is the filter that would otherwise be used if filter number 2 was not selected

Ok so it's working with your solution! I think I understand now... By using the following in the ResourceServerConfiguration extends ResourceServerConfigurerAdapter
@Override
public void configure(HttpSecurity http) throws Exception {
	// @formatter:off
	http
		.requestMatchers().antMatchers("/api/**")
	.and()
		.authorizeRequests().antMatchers("/api/**").access("#oauth2.hasScope('read') and hasRole('ROLE_USER')");
	// @formatter:on
}

I'm able to use web security and Oauth security for the path /api/**
I'm pretty sure it's because when it calls configure(HttpSecurity http) it gets the same HttpSecurity object (singleton I presume) and continues the configuration... so by adding matchers and giving them an .access("#oauth2.hasScope('read')") it doesn't override the previous web configurations that you did previously...
What I was trying before was that I reconfigured the whole think by adding in that method
.authorizeRequests().antMatchers("/api/**").authenticated()

So with this new .authenticated() it overrided my previous configuration in FormSecurityConfig extends WebSecurityConfigurerAdapter

I don think you can use both for the same path, it is the matter of the security filterchain selection so if they both use the same path it may be an issue, can you post both of your configurations?
and the HttpSecurity objects are different objects but it does not matter they are only configuration objects used to configure filter that does real job

This is my Web config
I also added an @Order(Ordered.HIGHEST_PRECEDENCE) to my web configure(HttpSecurity) method to be sure my web config will load first.
@Configuration
@EnableWebMvcSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
protected static class FormSecurityConfig extends WebSecurityConfigurerAdapter {
	// code here

	@Override
	@Order(Ordered.HIGHEST_PRECEDENCE)
	protected void configure(HttpSecurity http) throws Exception {
		// @formatter:off
		http
		.authorizeRequests().antMatchers("/paths/**","/for","/everyone","/here").permitAll()
		.and()
		.authorizeRequests().antMatchers("/paths/**","/for","/admin","/here").hasRole("ADMIN")
		.and()
		.authorizeRequests().antMatchers("/paths/**","/for","/anonymous","/here").anonymous()
		.anyRequest().authenticated()
		.and()
		.formLogin()
			.loginPage("/login")
			.loginProcessingUrl("/dologin")
			.successHandler(customAuthenticationSuccessHandler())
			.failureHandler(customAuthenticationFailureHandler())
			.authenticationDetailsSource(customAuthenticationDetailsSource())
			.permitAll()
		.and()
		.logout()
			.logoutUrl("/logout")
			.logoutSuccessHandler(customLogoutSuccessHandler())
			.deleteCookies("JSESSIONID");
		// @formatter:on
	}

	@Configuration
	@EnableResourceServer
	protected static class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {

		@Autowired
		private TokenStore tokenStore;

		@Override
		public void configure(ResourceServerSecurityConfigurer resources) {
			resources.resourceId("id_here").tokenStore(tokenStore);
		}

		@Override
		public void configure(HttpSecurity http) throws Exception {
			// @formatter:off
			http
				.requestMatchers().antMatchers("/path_for_api/**")
			.and()
				.authorizeRequests().antMatchers("/path_for_api/**").access("#oauth2.hasScope('read') and hasRole('ROLE_USER')");
			// @formatter:on
		}

	}

}

Yup it works because you have different paths

Sorry for being late to the party I have been on Holiday. It looks like you got this figured out though?

@rwinch yeah I got it working :) thanks!

@kibbled thanks for the original question! Seems like the issues have been worked through in the discussion. I'm closing this issue, but anyone feel free to submit a PR if you feel there is something useful to add to the app.


Document custom method parameter

How to configure documentation for method parameter with custom HandlerMethodArgumentResolver?
For example:
@RequestMapping(value = '/user', method = RequestMethod.GET)
def getUser(@VersionApi int version,
                   @RequestParam('id') String id){
        // ...
}

VersionApi - custom annotation that handled by my HandlerMethodArgumentResolver implementation.
Now version showed as ParameterType "body". I want show as "header".

TL;DR is that you would have to build your own plugin to do it.
Basically the only out-of-the-box annotations to augment the description in this case are @ApiParam and to be more accurate @ApiImplicitParam. Unfortunately neither of those annotations support descriptions.
So my suggestion would be to:

Create your own annotation that would look like this
@VersionApi String apiKey

NOTE: There is already an annotation in spring that is suitable for this.

Create your own ParameterBuilderPlugin
Implement the plugin as shown below

public class VersionApiReader implements ParameterBuilderPlugin {
  @Override
  public void apply(ParameterContext parameterContext) {
    ResolvedMethodParameter methodParameter =parameterContext.resolvedMethodParameter();
    Optional<VersionApi> requestParam = methodParameter.findAnnotation(VersionApi.class);
    if (requestParam.isPresent()) {
      parameterContext.parameterBuilder()
                      .parameterType("header)
                      .parameterType("id");
    }
  }

  @Override
  public boolean supports(DocumentationType documentationType) {
    return false;
  }
}

Pick a value of the order that is is applied after swagger annotations have been processed.


Add binding for MutexLock

Resolves https://github.com/godotengine/godot-proposals/issues/3486 (with a trivially different API)
Because core/os/mutex/MutexLock requires the mutex in the constructor (not supported for bindings), it couldn't be bound. But the reimplementation is trivial.
This should be cherrypickable.

See proposal for discussion - this feature might not be the best approach to solve this problem.

I would close this because this is not compatible with some languages that use GC, and also even GDScript VM itself does not necesarily unref stuff when it goes out of scope.
IMO this would be better as a GDScript feature.


PDF metadata and file explorer integration

Description of the new feature / enhancement
I would like to suggest that File Explorer need to have the feature to edit PDF file properties such as authors, year, tags etc., in order to make it possible to sort (or group) a huge collection of PDF files based on these properties.
This can be done via a pdf property handler under the File Explorer Add-ons of PowerToys.
You already have preview and thumbnails handlers.
Scenario when this would be used?
For example college students or PhD or companies will be more productive with this feature.
For example a Business can sort files based on clients or other companies. Thank you, I believe that my suggestion will be considered and planned to be executed.
Supporting information
No response

It'll be happy to see it.

If you want write a comment like this to the newer identical issue. The link is:
https://github.com/microsoft/PowerToys/issues/26867
I hope someone will try to create this!

/dup #26867


Add New Port Everpatch

New Port for { Everpatch }
Game Information

Title: { Everpatch }
URL: {https://maybell.itch.io/everpatch}

Submission Requirements
CFW Tests
Ensure your game has been tested on all major CFWs:

[x] AmberELEC
[x] ArkOS
[x] ROCKNIX
[x] muOS

Resolution Tests
Test all major resolutions:

[x] 480x320
[x] 640x480
[x] 720x720 (RGB30)
[x] Higher resolutions (e.g., 1280x720)

File Structure

Your port should have the following structure:

portname/

port.json
README.md
screenshot.jpg
cover.jpg
gameinfo.xml
Port Name.sh
portname/

Additional Resources
For an in-depth guide on creating a pull request, refer to: PortMaster Game Packaging Guide

🙂

😎


:bug: Fix: Ethers updates

Description
Bugs found when developing ethers plugin
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #932   👈

This stack of pull requests is managed by Graphite.


[5.0] Fix queries with whereIn and empty arrays

This fixes #5296 by compiling empty arrays to a simple boolean predicate.
whereIn([]) is never true, thus compiled to false, whereas whereNotIn([]) is always true.
If this should go into 4.2, let me know and I'll retarget.

:+1:

Very nice!

:+1:
WHERE 0 and WHERE 1 have the same support as WHERE 1=1 and WHERE 0=1 ? I would guess so, but I usually see the second more often.

Considering it is just a boolean, I assume every system supports it.

Can we do the where 1=1 and where 0=1 to make it a little more readable?

IMO just using 0 and 1 is more readable than 1=1 and 1=0.

Sure we could, but honestly I don't see the point. It would be kind of the same as doing if (0 == 1) in PHP.

Because it's more common to see it and is known to be supported across
platforms. Thanks.
On Mon, Jan 12, 2015 at 9:16 AM, Joost Koehoorn<EMAIL_ADDRESS>wrote:

Sure we could, but honestly I don't see the point. It would be kind of the
same as doing if (0 == 1) in PHP.
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/6979#issuecomment-69584494.

@taylorotwell Does this need to go into 4.2. I'd say it does.

Fine with me I guess.
On Mon, Jan 12, 2015 at 12:37 PM, Graham Campbell<EMAIL_ADDRESS>wrote:

@taylorotwell https://github.com/taylorotwell Does this need to go into
4.2. I'd say it does.
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/6979#issuecomment-69620394.

Ideally, we shouldn't even run the sql query :)

@vlakoff That's only true if this is the only WHERE condition. As the where() method does not know in which context it is called (e.g. followed by an orWhere call), this approach is the most general and safest.


Allow full screen

Maybe with a mod option? Need to be able to force windowed mode while testing.

Yes, please :)

Yes, please :)

Just use Oculus Mirror or SteamVR Mirror.


facebook fiber error only on facebook share

though everything is fine this error message appears on share screen even when the sharedData parameter is static and this message only appears on facebook share . Thank You

Hello! Fiber works on only server side, so I don't understand your bug description. Can you please provide screenshot? Or example of code?

hi i still cant figure out the above problem


Cant get rid of MissingClientIDException

I still cant get rid of that MissinhClientIdException.
The first request seems to be ok but then its just failing over and over.
(I know that it has to work at least once bcs I can get the initial Chatter List from the API but for the Broadcaster Online check after a timer tick for viewtime I get that exception which is weird to me

Thats the Exception chain thrown at me all the time

Omg I am so dumb.. although I dont get why I get a MissingClientIdExpeption for that but I used the channel name instead the channel id bcs it was the channel name before and I didnt look at the parameter name.. omg... I am so sorry for that dumb mistake

Its working now. But the exception was misleading.
The Id was There But i used the channel name instead of the channel id. That somehow resulted into a missingClientIdException. Dunno why

I mean i used BroadcasterOnline (channel-name) instead of BroadcasterOnline (channel-id)

Gotcha, let me look at that. That's a bad exception to throw for an invalid channel id.

Should be fixed now :) You'll get a BadRequestException now if you try to use a username where userid expected.


🐞 - Error of scroll on documentation website

Playground Link
No response
Description
Error of scroll on documentation website
I can not scroll to end of list

Angular version
No response
Taiga UI version
No response
Which browsers have you used?

[X] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[ ] macOS
[X] Windows
[ ] Linux
[ ] iOS
[ ] Android

I'm not able to reproduce. What Chrome version are you using?

Version 119.0.6045.124 (Official build), (64 bit)
Judging by DOM, block wrapper not recalculate height for block of list

I have the same version 🤔 Do you, by any chance, have some extensions enabled that might mess with CSS transitions/animations? Does this reproduce for you every time on current taiga-ui.dev when you open a subcategory, such as Utils? Or Utils specifically?

I have same situation on clear Firefox

Firefox: 119.0.1 (64-разрядный)
If I open About Firefox and click close window, this problem goes away
I can write video with this If need


Send content_id to content store and panopticon

All taggable content on GOV.UK needs a content_id. This PR adds the content_id to the data being sent to panopticon and adds a rake task to send the item to the publishing-api.
Trello: https://trello.com/c/ZqWkgsej

:+1:

(Leaving the PR open for a bit longer, in case others want to review)

Are all reviewers done (and happy) with this PR?

LGTM


fix(deps): :arrow_up: update angular monorepo to v17.0.3

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

@angular/animations
17.0.2 -> 17.0.3

@angular/common
^17.0.2 -> ^17.0.3

@angular/common
17.0.2 -> 17.0.3

@angular/compiler
17.0.2 -> 17.0.3

@angular/compiler-cli (source)
17.0.2 -> 17.0.3

@angular/elements
17.0.2 -> 17.0.3

@angular/forms
17.0.2 -> 17.0.3

@angular/language-service
17.0.2 -> 17.0.3

@angular/platform-browser
^17.0.2 -> ^17.0.3

@angular/platform-browser
17.0.2 -> 17.0.3

@angular/platform-browser-dynamic
^17.0.2 -> ^17.0.3

@angular/platform-browser-dynamic
17.0.2 -> 17.0.3

@angular/router (source)
^17.0.2 -> ^17.0.3

@angular/router (source)
17.0.2 -> 17.0.3

@angular/service-worker
17.0.2 -> 17.0.3

Release Notes

angular/angular (@angular/animations)
v17.0.3
Compare Source
animations

Commit
Type
Description

f5872c9921
fix
prevent the AsyncAnimationRenderer from calling the delegate when there is no element. (#52570)

core

Commit
Type
Description

6a1d4ed667
fix
handle non-container environment injector cases (#52774)

5de7575be8
fix
reset cached scope for components that were overridden using TestBed (#52916)

http

Commit
Type
Description

7c066a4af4
fix
Use the response content-type to set the blob type. (#52840)

migrations

Commit
Type
Description

4e200bf13b
fix
Add missing support for ngForOf (#52903)

d033540d0f
fix
Add support for bound versions of NgIfElse and NgIfThenElse (#52869)

aa2d815648
fix
Add support for removing imports post migration (#52763)

3831942771
fix
Fixes issue with multiple if elses with same template (#52863)

e1f84a31dc
fix
passed in paths will be respected in nx workspaces (#52796)

v17.0.2
Compare Source
compiler-cli

Commit
Type
Description

7a95cccf50
fix
add interpolatedSignalNotInvoked to diagnostics (#52687)

a548c0333e
fix
incorrect inferred type of for loop implicit variables (#52732)

core

Commit
Type
Description

2cea80c6e2
fix
error code in image performance warning (#52727)

b16fc2610a
fix
limit rate of markers invocations (#52742)

44c48a4835
fix
properly update collection with repeated keys in @for (#52697)

v17.0.1
Compare Source
http

Commit
Type
Description

5c6f3f8ec0
fix
Don't override the backend when using the InMemoryWebAPI (#52425)

migrations

Commit
Type
Description

70d30c28e0
fix
Add support for ng-templates with i18n attributes (#52597)

4f125c5f9a
fix
Switches to multiple passes to fix several reported bugs (#52592)

Web Frameworks: the internet frontier.
These are the voyages of the framework Angular.
Its continuing mission:
To explore strange, new technologies.
To seek out new users and new applications.
To boldly go where no web framework has gone before.
In honor of v17.0.1
                                                  ______
                                     ___.--------'------`---------.____
                               _.---'----------------------------------`---.__
                             .'___=]===========================================
,-----------------------..__/.'         >--.______        _______.---'
]====================<==||(__)        .'          `------'
`-----------------------`' ----.___--/
     /       /---'                 `/
    /_______(______________________/
    `-------------.--------------.'
                   \________|_.-'

Live long and prosper 🖖🏻

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
npm WARN cli npm v10.2.4 does not support Node.js v20.2.0. This version of npm supports the following node versions: `^18.17.0 || >=20.5.0`. You can find the latest version at https://nodejs.org/.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/core
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@angular/animations
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /tmp/renovate/cache/others/npm/_logs/2023-11-18T20_26_30_671Z-eresolve-report.txt

npm ERR!


LOG procedure and macros with max varchar

These procedures should receive arguments with the max varchar (32768) and then trim the string.
This will prevent errors if strings are bigger that 512.

Done at 93e62a0. One test was added for this.


How to set ffmpeg parameters using php-ffmpeg.

Hello Everyone,
I am using fmpeg to convert MP4 file to MP3. My requirement is to maximum compress the generated MP3 autdio file so i am using the ffmpeg command  and its working fine -
ffmpeg -i path/to/video.mp4 -ac 1 -ar 8000 path/to/audio.mp3
But my problem is how i can set the above parameters -ac is the number of channels, -ar is a sample rate in php-ffmpeg class. I am using Laravel framework. Please suggest any one.
Thanks,
Salman Ahmad

I have this problem too. You find solution?


Input with icon is not working on iOS 7.* devices

When i click on this icon:
http://i.imgur.com/yffvsXD.png
nothing happens, but on iOS 9.*everything is fine

I haven't been able to repro this using the iOS emulator. Anyone have iOS7 running?

@addyosmani everything (expansion, animation) works on real iOS 9 devices, on my own device, on all devices in office (iPhone 4/4S/5/5S/6/6S), even under Polymer 1.0:
@kotmatpockuh You have to provide a code for analysis, not screenshots, this matters a lot.

                      search

                      <input class="mdl-textfield__input" type="text" id="search-exp-category">

                        Укажите товары/категории для сравнения...

@kotmatpockuh One real reason of not working everything is a dynamically loading MDL. I managed how to use it with Polymer here

They pointed out the exact sample on our documentation site that isn't working. We don't need reproduction code at that point since we are the maintainers of it.
We need someone with IOS 7 on an actual device to test this since we don't have access to one apparently and the emulators available work fine.

@addyosmani @Garbee on emulators all is ok... but on real devices - no.

@Garbee @kotmatpockuh You have to  debug you application on Mac using Safari Web Inspector connected to your device, then if it is so obvious, why not to make some noise and to fix some bugs? Of cause, if that is a priority.
How to debug using Web Inspector on the iOS simulator

How to debug using Web Inspector on the iOS device

Noise doesn't help. Being in a capable place of taking appropriate action helps. We do not have access to physical devices with this OS version as stated previously. Therefore we are incapable of testing to verify the problem, much less verify the correct solution is implemented. Fixing bugs is absolutely a priority, however we can't fix what we can't test.
We value bug reports, however sometimes we simply don't have the ability to act upon them internally. This means it is up to community members with the right conditions to verify issues and implement fixes for them. This is one part of why open source projects work the way they do, small teams can't handle everything.

Our usual approach here is emulation, but sadly that seems to not work correctly in this case. Give that iOS7 devices are hard to come by and our small team doesn't have any, that unfrotunately means we can't investigate this issue ourselves :-/
I'd personally be more than happy to help out anyone who might have and iOS 7 device and be willing to look into this, though! Ping me on our gitter channel if that's the case, and we'll sort something out!


Convert to Jekyll and generate dynamically from JSON

This PR will replace the existing site with a Jekyll generated dynamic site, based off the _data.data.json file (I just tweaked @jayrav13's file a bit).
To run locally, follow the instructions in this branch's readme.
There are a few small merge conflicts that need to be resolved manually but looks like it shouldn't be too hard.
Also please double-check that I got everything.
Closes #11

You're doing god's work. What an insanely fast turn-around time.
Off the bat, the tabs are a bit jumbled up, maybe because the json was parsed incorrectly?
Few additions I made which will need to be implemented in the new jekyll generated site -

Days till Inauguration: 69
Correct Tuesday November 8th, 2016, to Tuesday November 9th 2016 in description.
The table structure seems to have been removed - it looks more like a list now.
From the First 100 Days, my small gist got left out, why didn't the JSON parse this? (probably because they were sprinkled with b tags)

On November 8th, Americans will be voting for this 100-day plan to restore prosperity to our economy, security to our communities, and honesty to our government. This is my pledge to you. And if we follow these steps, we will once more have a government of, by and for the people.
Trump Tracker will be following each and every policy to see they get fulfilled

Is the highlighting still working? For instance, can we still highlight each single issue with a
 or
 tag when he doesn't complete a policy or promise?  Negotiate the release of all U.S. prisoners held in Iran before taking office. (Five hostages were recently released, including Washington Post reporter Jason Rezaian; Trump has taken some credit for this.) - Very important come inauguration time.

Other than these small nuances, you've done some exemplary work. I can add you as a collaborator if you'd like.

Thanks, I'd be happy be be a collaborator.
Tab order is based on the order of the tabs array in JSON.
I didn't see a need for tables (there weren't any columns) but feel free to add it back. If it's just for the color classes we can implement that on list items.

Added!
If you are pushing this to the main repo, please add back the tables, because bootstrap adds this padding which makes it much cleaner.
The lines are important to distinguish between each policy. If we don't have separate sections there's no point in having highlights so please remember to add that in.

@VirenMohindra Because of the size of this PR I'm recommending we merge it in and apply the new fixes after. The longer this branch sits out the harder it gets.

I would still prefer to keep tables throughout the site.
Can we merge it as soon as we've implemented the site to what it looks like right now (including the search functionality and comment section (integrated through reddit)?
I'll switch off all new commits and pull requests until we've figured out how to seamlessly migrate to

Yeah let's prevent further commits to master until this is merged in. I'll do my best to get this updated with the upstream master. Still not sure I understand tables but I'll do what I can. Are you planning to add columns later?

@VirenMohindra Just pushed updates. Let me know how it looks.

all round fantastic work. how would you like to approach comments? Since we don't have permalinks to all of the Reddit links yet.

this html5 validation error is possible because of the comments. We can fix it in due time.
A table row was 3 columns wide and exceeded the column count established by the first row


feat(core): :recycle: restructure CoreTootip

restructure CoreTootip
Ref: #298
Description
Clearly describe the changes you've made in this pull request. Explain the purpose and reasoning behind the changes. Reference any relevant issues or discussions using keywords like "Fixes #<issue_number>" or "Resolves #<issue_number>".
Related Issues

Testing

Checklist

[ ] I have performed a thorough self-review of my code.
[ ] I have added or updated relevant tests for my changes.
[ ] My code follows the project's style guidelines and best practices.
[ ] I have updated the documentation if necessary.
[ ] I have added or updated relevant comments in my code.
[ ] I have resolved any merge conflicts of my branch.

Screenshots (if applicable)

Additional Notes

Reviewers

Maintainer Notes

[ ] Has this change been tested in a staging environment?
[ ] Does this change introduce any breaking changes or deprecations?

Close PR as wrong branch name


bug/jenkins 39295 expandable path icon

Description

See JENKINS-39295.

Submitter checklist

[x] Link to JIRA ticket in description, if appropriate.
[x] Change is code complete and matches issue description
[x] Appropriate unit or acceptance tests or explanation to why this change has no tests

Reviewer checklist

[ ] Run the changes and verified the change matches the issue description
[ ] Reviewed the code
[ ] Verified that the appropriate tests have been written or valid explanation given

Simple change; self merging


add fix for date and change type mapping spark date to date instead o…

change mapping from spark date->timestamp to tidb date
fix dateType which is not used

This change is

LGTM


Background playback support and missing refs.

PR on request. Missing refs and support for background playback. Yes, you can tab out and it will still play. It can be set to force stop in settings when tabbing out.
Reminder that policy covers instruments.
https://en-forum.guildwars2.com/discussion/65554/policy-macros-and-macro-use
Tabbing out is covered because:
Person A activates instrument macro and goes to 8 hour shift away from PC, leaving GW2 as the active window.
Person B activates instrument macro and tabs out of GW2.
What I am saying by above example is that the policy covers instruments up to the point you are caught not attending your account where its your fault and yours only. It does not differenciate between tabbing out or going to 8 hour shift. Truth be told if I implement this and user tabs out he/she is at a minimal risk, but that is not on our side. However, since scope of emulated keys is only GuildWars2Controls (default: 1-0) the risk isn't any higher than enabling vanilla Auto-Run and tabbing out (which I do hella often.)

Some XML files (melodies) for testing can be downloaded here.
extract to ..\Documents\Guild Wars 2\addons\blishhud\musician\*.xml
Dependencies
NAudio (On NuGet)
NAudio.Vorbis (On NuGet)

Oh right, also added prober Dispose() for the Algorithm Worker. Its thread will safely terminate if MusicPlayer is disposed. (ie. removed Thread.Abort())

This PR is so it can be tested. Expect no further PRs until practicemode and composer are ready.


gow requires to have Xcode pre-installed?

Add to instllation as requirement?
https://github.com/mitranim/gow#installation
go get -u github.com/mitranim/gow
# github.com/mitranim/gow
/usr/local/Cellar/go/1.16/libexec/pkg/tool/darwin_amd64/link: /usr/local/Cellar/go/1.16/libexec/pkg/tool/darwin_amd64/link: running strip failed: signal: abort trap
dyld: Library not loaded: @rpath/libcodedirectory.dylib
  Referenced from: /Library/Developer/CommandLineTools/usr/bin/strip
  Reason: image not found

$  ls -l /usr/local/lib/libcodedirectory.dylib
ls: /usr/local/lib/libcodedirectory.dylib: No such file or directory

Not sure if required... Both dependencies (github.com/rjeczalik/notify and golang.org/x/sys/unix) use C in Darwin builds, but MacOS should ship with the required tools installed (?). Unfortunately I'm not sufficiently familiar with C-based tools to tell what's happening here, or which dependency is causing this.
gow uses only a handful of constants from golang.org/x/sys/unix. If this is the cause, we could copy the constants to gow and remove the dependency. Perhaps, if you have spare time, you could do that and see if it builds? Apologies for offloading, but I'd have to seriously mess with my system to test this.

I have installed latest Xcode and linked dylib and gow instllation succeeded:
$ ln -s /Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libcodedirectory.dylib /usr/local/lib/libcodedirectory.dylib
$ ls -l /usr/local/lib/libcodedirectory.dylib
lrwxr-xr-x  1 aslom  staff  110 Mar 24 10:34 /usr/local/lib/libcodedirectory.dylib -> /Applications/Xcode.app/Contents//Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libcodedirectory.dylib
$  go get -u github.com/mitranim/gow
$  gow version
go version go1.16 darwin/amd64

My ask was only to document what are requirements in case somebody else runs into the same problem hopefully that helps.
I do not know anything about golang.org/x/sys/unix or how to test it :( I expect C-based tools may be complex and frustrating to get tests 😱 😨

Good to know. I might debug this properly when setting up the next machine (in months / years). For now, I'll probably try to drop one dependency as described above, and also document it as you suggested. Thanks for the notification. 🙂


Race condition in workload D?

There seems to be a race condition in workload D.
The client threads generate keys for the records to be inserted and there is a small time window between the thread generating the key and it actually inserting the record. However, as soon as the key has been generated, that key is considered to be available for other threads to read. (Because transactioninsertkeysequence.lastInt() now returns that key.) That results in the other threads potentially trying to read records that don't yet exist.

Proposed fix in pull request #364.

Not sure why it re-openned. Closing again.


Huge memory consumption

Consider the following HTML: https://code.googlesource.com/mozc/+/HEAD/src/data/dictionary_oss/dictionary05.txt
When HtmlDocument is created for it the process consumes 3Gb of memory. Is it possible to reduce this value?

Hello @aktzbn ,
We will look at it later this week to check what consume so much memory.
The table has over 150k row but that should probably not consume this amount of memory.
Best Regards,
Jonathan

Hello @aktzbn ,
Unfortunately, I don't think it's possible currently to do anything.
Your page web has 80MB of data in a Table Format.
I don't think there is a lot of things we can currently do. Even if we optimize a little bit the code, it will still need to consume some GB of memory.
Even if no fix is provided, let me know if that answer correctly to the issue.
Best Regards,
Jonathan

Hello @JonathanMagnan,
Thank you for response. I see.
1K per node is pretty big overhead. I would suggest to consider using structs instead of classes for numerous objects and remove some information that is required only (i think) on parsing stage (like line numbers, positions and so on).
Best Regards,
Boris

Hello @aktzbn ,
Yes, it's a pretty big overhead but a class must also be created for every CSS class && attributes.
Overall:

3976300 HtmlNode
3485104 HtmlAttributeCollection
3485104 Dictionary<string, HtmlAttribute>
3485104 List
2479370 Attribute
1496948 HtmlTextNode

Etc. That's a lot of stuff to keep in the memory.
There are several things that could be improved to reduce the memory.
By example, adding some options to give some hint to the parser if class & attribute should be created or only parsed as text.
Only creating dictionary && list on demand, not by default.
Here is an example of one row in the page you try to parse:

	ã²ã¨ã¤ã¼	2520	1773	7132	ã²ã¨ã¤ã¼

That's for sure something we will work and take in consideration for the version 2.x
Best Regards,
Jonathan

Have you idea when 2.x will be available? )

Hello @aktzbn ,
Unfortunately not yet ;( I do not believe it will be ready in 2017
So many projects ongoing currently.
Best Regards,
Jonathan

Has this issue been worked on?  I'm attempting to load a large Html file and I consistently get an OutOfMemoryException.
I realize the Html file is huge, but given the restrictions that I have for what I'm working on, I can't modify the file in any way but I need to parse it out to store the information in a database.  Chrome also won't load the file, so I'm really not sure if there's anything that I can do in this particular instance.
Any suggestions what I should do?
The exception information is:
Exception of type 'System.OutOfMemoryException' was thrown.    at HtmlAgilityPack.HtmlNodeCollection.System.Collections.Generic.IEnumerable<HtmlAgilityPack.HtmlNode>.GetEnumerator() in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlNodeCollection.cs:line 168    at HtmlAgilityPack.HtmlNode.SetChildNodesId(HtmlNode chilNode) in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlNode.cs:line 918    at HtmlAgilityPack.HtmlNode.AppendChild(HtmlNode newChild) in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlNode.cs:line 908    at HtmlAgilityPack.HtmlDocument.PushNodeEnd(Int32 index, Boolean close) in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlDocument.cs:line 2000    at HtmlAgilityPack.HtmlDocument.Parse() in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlDocument.cs:line 1391    at HtmlAgilityPack.HtmlDocument.Load(TextReader reader) in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlDocument.cs:line 771    at HtmlAgilityPack.HtmlDocument.Load(Stream stream) in C:\Users\Jonathan\source\repos\HtmlAgilityPack\HtmlAgilityPack.Shared\HtmlDocument.cs:line 672    at xxx.Utility.ZipUtility.GenerateParsedHtml(String Pathx, List 1 physicalHtmlFiles, String InnerZip) in C:\code\xxx\xxx\xxx\Utility\ZipUtility.cs:line 180

Hello @alnewman ,
We made improvements in some area but sometimes there is nothing we can do unless we fully re-write the library in a better way to handle this.
For example, in this case where too many nodes and attribute was existing. Currently, a node is created every time instead of being "on demand".


Capitalize My Titles Not Available in Plugins Page

I can't see a way to install this plugin via the Obsidian plugin page. Am I missing something?

Hello, validation of the plugin is still pending. Once it has the green light from the Obsidian reviewers, it should be available on the Community Plugins tab in the next release.
You can still install the plugin by hand if you don't want to wait for the official validation. For this, just go to the release page and download obsidian-capitalize-my-titles-<version>.zip. Then, open the folder of your Obsidian workspace you wish to install the plugin in. Simply unzip the plugin archive in <your-obsidian-workspace>/.obsidian/plugins. Your workspace should look like:
<your-obsidian-workspace>
  |_.obsidian
      |_plugins
          |_obsidian-capitalize-my-titles-<version>
              |_manifest.json
              |_main.js

Finally, you should be able to enable the plugin inside Obsidian in the Community Plugins tab. If it doesn't appear, make sure you're using the same workspace as the one where you unzipped the plugin.
Hope this helps, and thank you for your interest!


Explain how to install the app

Problem Description

In this repo's README.md file, under "Usage", item 1 is "Install the app", with a link to https://github.com/apps/settings

On that page, under "Usage", is the same item 1, with the same link to https://github.com/apps/settings ... clicking that link looking for directions on how to install the app just takes you to the same page you're already on.

If there is a separate page explaining how to install the app, shouldn't these links point there instead of just pointing to the same page over and over again?
What is actually happening
Links point to the same page that the link itself is on, without any details about how to "install" the app.
What is the expected behavior
Links should point to a page which explains how to "install" the app.

That's possible ... and if so, why doesn't the README.md file contain a link to THAT page? Having a link that says "Install the app", WHICH POINTS TO THE SAME PAGE, is rather pointless, no?

There is no green button that says "install" if you're not logged into a GitHub account.

In my case, I'm using Safari in "private mode", which means that the session cookies which make me "logged in" on one tab, don't carry over to new tabs. Once I logged in in the second tab I was able to see big green button, and things started to make sense.
So maybe it would make sense to add something which tells the user to log into their account if they don't see the big green button? (And included the link you provided, to a "how to install GitHub Apps in general" page, as well. That would be helpful to people like me for whom this is their first exposure to GitHub Apps.)

@jms1voalte You are not signed-in to GitHub. Once you do, the green "install" button will appear.

@foolioo Agreed. @jms1voalte you should probably not expect to be finding a tailored install flow for an extension when you're not logged in. This feels quite niche, as the vast majority of people travelling this path will be logged in.
Having said that, speaking as a passerby here, I'm sure if you felt like submitting a small change to the PR to tip off someone like yourself in the future, the future person like yourself would be appreciative ❤

Actually, just added it here, since it seems it's such a small fix that would make it clearer 🙏
https://github.com/probot/settings/pull/573


The calendar does not work with personium-core 1.7.18b

This error message is displayed in the screen.

The http acceess
GET https://test.example/test_app-personium-calendar/Engine/setAccessInfo
Statuscode: 403
Responsebody:
{"code":"PR403-AU-0002","message":{"lang":"en","value":"Necessary privilege is lacking."}}

Could you give us a bit more detailed info?
Is it failing engine script execution ?
Or the executed script failed to call Personium API?

@shimono I tested in the environment replaced with v1.7.18b that run in v1.7.17 before. So cell owner value may starts with https://. To avoid this affect, I created a new environment with v1.7.19 and did a same test. Then the result changed.
The app

✅ launched via home app.
✅ Executed Engine/start_oauth2.js. The response is 303.
✅ Redirected to Personium Authorization Endpoint(__authz). The response is 303.
✅ Redirected to execute Engine/receive_redirect.js with code. The response is 200.

✅ got  App token.
✅ got  App auth user token (called Personium token Endpoint(__token)).

✅ Got box URL with access token. (called Personium box  API (__box)).
❌ Failed to get the box resouce. (called box operation API (calendar/)).

Request
GET https://tochi.personium.example/calendar/
Authorization: Bearer AV~wSg*******xWA
Response
Status Code: 403
Body:
{code: "PR403-AU-0002", message: {lang: "en", value: "Necessary privilege is lacking."}}
code: "PR403-AU-0002"
message: {lang: "en", value: "Necessary privilege is lacking."}
lang: "en"
value: "Necessary privilege is lacking."

@shimono I attached personium-core.log. Please see it to investigate.
2019-10-23 11:34:06.224 [catalina-exec-47] [INFO ] PersoniumCoreContainerFilter [1.7.19] Started.


avoid triple enumeration of formParameters

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.09%. Comparing base (a17b464) to head (f37a9dc).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2823   +/-   ##
=======================================
  Coverage   92.09%   92.09%
=======================================
  Files          91       91
  Lines        3062     3063    +1
  Branches      526      526
=======================================
+ Hits         2820     2821    +1
  Misses        242      242

Flag
Coverage Δ

Linux
92.09% <100.00%> (+<0.01%)
:arrow_up:

Windows
?

macOS
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


User Story 6.1 : Issue 2 - Activity page should be the default page when navigating to Org Profile page

As speaking with Ruchi , when the account owner or any 'member' is viewing the org profile, the default page will be the activity page

https://user-images.githubusercontent.com/51660881/117300898-08982880-ae48-11eb-8288-d04bbe136436.mp4

if you click on View My Profile for Org, it works but if you switch from org to org , or from org to indv, the page refresh and get two values: activity and Members, please see the screenshot. in this forget to record from org to indv but it fails the same as from org to org.
https://user-images.githubusercontent.com/70918430/118059294-0ef53b80-b345-11eb-9186-b2bde051c2ae.mp4

@adorapham This doesn't seem related to this User Story. I think this should be revisited after user stories are merged

in the review Beta testing website, the activity tab and posts are not visible initially. Its visible only after clicking on the members tab and then clicking on the Activity tab.
steps to replicate
sign in as user
click the org
by default "Activity tab " to be bold and should display posts by org rather
Post is displayed by clicking member tab first and then click Activity , posts are displayed
https://user-images.githubusercontent.com/80424272/121789527-b6fc5f80-cba4-11eb-9183-aea11eadab30.mov

Issue is fixed


It is better to use images for tech stacks.

Hello @elthworth
I think using images to show your technical skills would be better.
Thank you

thank you @Renjiks


Explore gatsbyjs instead of hugo for building website?

:rocket: Feature Request
General Information

[x] :wave: I may be able to implement this feature request
[ ] :warning: This feature might incur a breaking change

Description

First of all, thank you for setting up this amazing website https://cdkworkshop.com for helping people learn about CDK. We're considering doing similar tutorials for aws-sdk-js-v3-workshop after v3 goes GA
As per your developer guide, your website is built in hugo which is written in golang. I noticed that aws-cdk itself is written in TypeScript/JavaScript. I was wondering if you'd explored something JavaScripty like GatsbyJS for building website for this workshop.

Proposed Solution
Explore something JavaScripty like GatsbyJS for building website for this workshop.
Environment
N/A
Other information
N/A

This is a good idea, unfortunately it would be a lot of effort to switch over due to the formatting requirements.
I'm going to put a pin in this to investigate later.

I'm sorry, but we won't be looking into implementing this anymore. If you'd still like to see this, please submit a new feature request with explanation for why you'd like to have this. Thanks!


Use preinstalled Yarn on Appveyor

Summary
Based on https://yarnpkg.com/lang/en/docs/install-ci/#appveyor-tab AppVeyor should have Yarn preinstalled. This should speedup the builds.
Test plan
AppVeyor green

Codecov Report

Merging #5548 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #5548   +/-   ##
=======================================
  Coverage   61.71%   61.71%
=======================================
  Files         213      213
  Lines        7149     7149
  Branches        4        4
=======================================
  Hits         4412     4412
  Misses       2736     2736
  Partials        1        1

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 133a9a1...ae96c17. Read the comment docs.


[TEXT-175] Fix regression for determining whitespace in WordUtils

Fixes a regression so that the Character.isWhitespace(char) is used instead of just the space character for the capitalize() and uncapitalize() methods in WordUtils.

@seanfabs
Thank you for your PR.
In the future, use method references like x::foo instead of code like c -> x.foo(c). Note that using (c) -> ... instead of c -> ... clutters things up ;-)

@kinow @sebbASF @chtompki
Do you have any thoughts on this method treating whitespace a certain way vs. what the rest of the class does, for example, abbreviate()?

Do you have any thoughts on this method treating whitespace a certain way vs. what the rest of the class does, for example, abbreviate()? IOW, is it OK for this PR to only change this method in this manner?

From what you described (haven't checked out the code) I'd agree it'd be best to keep things homogeneous.
However, if it is a regression in a recent release, and users from previous releases want to have the old behavior, I think it'd be fair to either fix the regression, or fix the regression & offer another method with same/different behavior. Again, haven't checked out the code (old & new), so saying this based on the comment from JIRA:

Due to the performance improvements in TEXT-98, this no longer works as originally designed:

k, then this looks good.


Deployment script is not idempotent

Following the steps to Deploy a distributed Autoscaler tool for Cloud Spanner  and forgot to enable Cloud Scheduler API beforehand.
Retried after enabling Cloud Scheduler API and it failed with the following error:
module.forwarder.google_storage_bucket.bucket_gcf_source: Creating...
╷
│ Error: googleapi: Error 409: You already own this bucket. Please select another name., conflict
│
│   with module.forwarder.google_storage_bucket.bucket_gcf_source,
│   on ../../modules/forwarder/main.tf line 40, in resource "google_storage_bucket" "bucket_gcf_source":
│   40: resource "google_storage_bucket" "bucket_gcf_source" {

This indicates that the deployment script is not idempotent.

I’ve tried to reproduce this issue using the most current instructions and following the steps described:

Ensure the Cloud Scheduler API is not enabled
Follow the directions for the distributed deployment model
Run Terraform and observe the failure in the App project
Enable the Cloud Scheduler API
Run Terraform again

Reproduction of the issue has not been possible and the second Terraform run completes successfully as shown in this Gist:
https://gist.github.com/henrybell/a5dc82d60d25851066c8037285819732
There has been a major restructuring of the repository since this issue was raised, plus updates to the versions of the Terraform provider(s) in use, and updates to the Terraform code itself. Because of this I am closing this issue – please reopen if you continue to experience the same failure.


Updated german translation

Check if this PR fulfills these requirements:

[x] My changes respect the Kodi add-on development rules
[x] I have read the CONTRIBUTING document.
[x] I made sure there wasn't another one Pull Requests opened for the same update/change
[ ] I have successfully tested my changes locally

Types of changes

[ ] New feature (non-breaking change which adds functionality)
[ ] Feature change (non-breaking change which change behaviour of an existing functionality)
[ ] Improvement (non-breaking change which improve functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

The german translation for thumb ratings is twisted, thumb up refers to thumb down and vice versa. This commit fixes it.

please check also the latest changes,
you can look at this commit as reference:
https://github.com/CastagnaIT/plugin.video.netflix/commit/68299320af81375b3368f9b48d56df91fa838048

@CastagnaIT Is it final for version 1.0?
@Moebelwagen You want to do the latest changes or should I? I don't mind if you do it, we should just coordinate.

i do not have a date for the release
to first i have to wait the inputstreamhelper 0.4.4 release, i dont know when they release,
because the current inputstreamhelper version has a critical bug that prevents this addon from working correctly
in addition i'm still running some tests for the watched status sync

I was just asking if there are more translation changes to be accepted.

No, i don't think there will be other changes

@tweimer I can have a look at it at the weekend.

Cool. There is a new version of resource.language.de_de/strings.po in the repo, so you better rebase your changes first. Then you can do it all in one PR. Take a look at the history of that file to see latest changes, the German translation must be changed accordingly. I'll review it when you're done.

good thanks

Glad to read that, thanks! Was my first PR (-:
Am 01.03.20 um 10:56 schrieb Stefano Gottardo:

Merged #489
https://github.com/CastagnaIT/plugin.video.netflix/pull/489 into master.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CastagnaIT/plugin.video.netflix/pull/489?email_source=notifications&email_token=AOS3O7ZHUL3WEETOE5Z7WWTRFIWOHA5CNFSM4K2QYMF2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOW7T6YZA#event-3085429860,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOS3O76UFGUWFVTCJ3IYYALRFIWOHANCNFSM4K2QYMFQ.


libs/libc: Breakdown LIBC_BUILD_STRING into specific string operation…

Summary
Provide a way to only customize specific string operations, such as for memcpy with the DMA capability by ROM.
Impact
Testing

If you do so, i.e per string functions, they might be more, you never know, it should be propagated to every existing target then. Or then should be something inside memcpy with another bypass flag, make a choice here: either it is a new way, a generalization either specific to only few on demand.

If you do so, i.e per string functions, they might be more, you never know, it should be propagated to every existing target then. Or then should be something inside memcpy with another bypass flag, make a choice here: either it is a new way, a generalization either specific to only few on demand. Personal opinion: looks like bad juju in that shape.

this can be fixed by let LIBC_PREVENT_STRING_[USER|KERNEL] select LIBC_PREVENT_XXX_[USER|KERNEL].

@tmedicci could you review this patch?


[FZ Editor] Hack to workaround crash

Summary of the Pull Request
What is this about:
Workaround for a crashing bug in FZ Editor.
What is include in the PR:
The workaround is a hack for an obscure crash when hiding the FZ main window before opening the layout editor.
How does someone test / validate:
The bug is very difficult to replicate, see https://github.com/microsoft/PowerToys/issues/9396 for details.
Quality Checklist

[x] Linked issue: https://github.com/microsoft/PowerToys/issues/9396
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[ ] Installer: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Docs: Added/ updated
[ ] Binaries: Any new files are added to WXS / YML

[x] No new binaries
[ ] YML for signing for new binaries
[ ] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

approved.


#36 Matrix Addition

Issue Id you have worked upon -
#36 Matrix Addition
Briefly explain your program logic -
I will take 2 inputs from the user i.e. the number of rows and the number of columns.
Based on this, the matrix input is dynamically changed and the user can give inputs on the respective position of the matrix.
Then we have the button with a function to add the matrices that run through a simple 2-loop process.
Screenshots(Attach 2 screenshots of your own input and output) -
Addition:

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

@SarthakKeshari I've made 2 PRs as mentioned.
Please do review the same and let me know if anything is left to do in these 2 issues
Thanks :)


Add architecture document

Fixes #214

There's a hackmd at https://hackmd.io/EYMwDAnMCMCsEFoDsAOApgNgQFg7aCKwATInAMwCG2saRSsGQA==# - feel free to edit that, and I can incorporate it back to here with suggestions.
If something is unclear (things probably are! I've a lot of blind spots wrt this!), feel free to also leave comments in the PR (since that's probably easier than in HackMD), and I'll try to clarify. Same if I've gotten something wrong, but you're welcome to just directly edit hackmd too :)
/cc @choldgraf @willingc @minrk @betatim

Nice @yuvipanda.
Love this:

Detect if it can handle a given repository
Build a base language environment in the docker image
Copy the contents of the repository into the docker image
Assemble a specific environment in the docker image based on repository contents
Push the built docker image to a specific docker registry (optional)
Run the build docker image as a docker container (optional)

Going to merge as is (since this is way better than anything we have). I think it will be easier for all to iterate any changes in follow up PRs.


Absence of Session Expiration

Automatic session time outs are not evident in the current application. Instead manual session time out is available via the ‘Logout’ link.
Recommendations

A web application should invalidate a session after a predefined idle time.

@YujithIsura when this is fixed, it brings up to the issue #271 where the session is expired, it gives 401 unauthorized error response from Backend API, therefore on frontend it brings the error "map is not a fucntion"

[ ] save unsubmitted work into cookies before session expire

[ ]  save unsubmitted work into cookies before session expire

this is considered as insecure. therefore will not proceed with it.

completed and tested.

frontend session out is when idle for 15 minutes.
backend session is expired on every 20 minutes. Therefore every 15 minutes new session is aquired by 'refresh token' facility from frontend.


circleci features

cache
manual trigger script
version: 2.1

like here
https://github.com/coingaming/signable/pull/2/commits/1f31f9185c81dd73d5d7da898da07602e69a0473
https://github.com/coingaming/signable/pull/2/commits/54661d764bcb37ea57114b3c1473c269699e590a

solved in https://github.com/tkachuk-labs/stack-templates/commit/77c4337036d5cfde51b49b094c79225387989ef1


added 'id' and 'content' to setOptions(), multiple id values

Short description
Added the ability to change the value of both id and content both in the region class using setOptions(), and also update the values that show up in the DOM. I have also added the ability to assign multiple ids to one region.
Resolves #
The ability to dynamically update the id and region content in the DOM after the region is created. This allows for things like dynamic CSS styling based on event triggers updating region id, or edited content based on user input. Multiple id's allow for tiered regions. An implementation, for instance, is that a region with multiple id's incorporate several different css style rules (priorities can be also used to create tiered systems)
Implementation details
For updating id's and content values, It's pretty staightforward, I added the possible values to setOptions() in regions.ts, and the necessary code to update both the region class values, but also the element attributes. One thing to mention is that content can be passed through as either a HTMLElement or a string.
For multiple id's, one can either pass through a string (id = "id1") or as a string array (id= ["id1", "id2", "id3"]). This was done with some basic modifications to the SingleRegion() Constructor and initElement.
Checklist

[ ] This PR is covered by e2e tests
[x] It introduces no breaking API changes

How to test it
//html for the sake of visualization of the changes
/*
  <html>
    <style>
      #waveforms ::part(active) {
        border-radius: 40px !important;
        background-color: rgba(194, 78, 53, 0.5) !important;
      }

      #waveforms ::part(test) {
        height: 50% !important;
        background-color: rgba(34, 159, 49, 0.5);
      }

    #waveforms ::part(inactive) {
    border-radius: 20px !important;
    }
*/

// Create an instance of WaveSurfer
var wavesurfer = WaveSurfer.create({
    container: '#waveform',
    waveColor: 'violet',
    progressColor: 'purple'
});

// Load an audio file
wavesurfer.load('path/to/audio/file');

// Create two regions
wavesurfer.on('ready', function () {
    //region with both id and content specified, will update both values
    wavesurfer.addRegion({
        start: 1,
        end: 3,
        color: 'hsla(100, 100%, 30%, 0.1)',
        id: "inactive",
        content: "inactive"
    });

    //region with neither id nor content specified, will create both values
    wavesurfer.addRegion({
        start: 5,
        end: 7,
        color: 'hsla(200, 50%, 70%, 0.4)'
    });

    //region with multiple id's specified, will update id value to string and generate content value
    wavesurfer.addRegion({
        start: 11,
        end: 13,
        color: 'hsla(200, 50%, 70%, 0.4)',
        id: ["active", "highlighted"]
    });
});

// Add event listeners for region-in and region-out
wavesurfer.on('region-in', function(region) {
    region.setOptions({ id: "active", content: "active"});
    console.log('Region in');
    console.log(region);
});

wavesurfer.on('region-out', function(region) {
    region.setOptions({ id: "inactive", content: "inactive"});
    console.log('Region out');
    console.log(region);
});

Hey @rioharper, thanks for the PR!
I've implemented some of your changes in another PR (linked above), plus some extra code that was necessary for this to work.


Something is not working Correctly?

I followed your instructions and it's not working?
If I feed it some text into notifycmd.sh for example [ ./etc/nut/notifycmd.sh "test" ] I get a notification on Telegram, like this

But when I test the UPS, by pulling power, I don't get any notification?
Here's my notifycmd.sh
#!/bin/bash

GROUP_ID=#######
BOT_TOKEN=######

NOW=$(date)
case "${NOTIFYTYPE}" in
    ONLINE|COMMOK)
        EMOJI=$'\xE2\x9C\x85' # white heavy check mark
        ;;
    ONBATT|COMMBAD|REPLBATT)
        EMOJI=$'\xE2\x9A\xA0' # warning sign
        ;;
    LOWBATT|FSD|NOCOMM|SHUTDOWN)
        EMOJI=$'\xF0\x9F\x86\x98' # squared sos
        ;;
    NOPARENT)
        EMOJI=$'\xF0\x9F\x94\x84' # anticlockwise downwards and upwards open circle arrows
        ;;
esac

EMOJI+=$'\xEF\xB8\x8F' # The emoji should be displayed with emoji presentation
MESSAGE="${EMOJI} UPS Notification%0A"
MESSAGE+="UPS Name: $UPSNAME %0ANotify type: $NOTIFYTYPE %0ANotify message: $*"

curl \
-s \
--data "parse_mode=HTML" \
--data "text=$MESSAGE" \
--data "chat_id=$GROUP_ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null

And I added the text in the /etc/nut upsmod.config as recommended, also added the correct permission to the notifycmd.sh file and added it to the Nut group.
Please help

Hi, did you also start the nut monitoring-service
systemctl enable nut-monitor.service && systemctl start nut-monitor.service


ImportError on psycopg2 when upgrading to v2.3.0

Issue type
[ ] Feature request
[x] Bug report
[ ] Documentation
Environment

Python version:  3.5.5
NetBox version: 2.3.0

Description
After pull new netbox source version 2.3.0. And running upgrade.sh i meet this error
`Applying database migrations (python3 netbox/manage.py migrate)...
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/django/db/backends/postgresql/base.py", line 21, in
import psycopg2 as Database
ImportError: No module named 'psycopg2'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "netbox/manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/lib/python3.4/site-packages/django/core/management/init.py", line 364, in execute_from_command_line
utility.execute()
File "/usr/lib/python3.4/site-packages/django/core/management/init.py", line 338, in execute
django.setup()
File "/usr/lib/python3.4/site-packages/django/init.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models()
File "/usr/lib/python3.4/site-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib64/python3.4/importlib/init.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 2254, in _gcd_import
File "", line 2237, in _find_and_load
File "", line 2226, in _find_and_load_unlocked
File "", line 1200, in _load_unlocked
File "", line 1129, in _exec
File "", line 1471, in exec_module
File "", line 321, in _call_with_frames_removed
File "/usr/lib/python3.4/site-packages/django/contrib/auth/models.py", line 4, in
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/usr/lib/python3.4/site-packages/django/contrib/auth/base_user.py", line 52, in
class AbstractBaseUser(models.Model):
File "/usr/lib/python3.4/site-packages/django/db/models/base.py", line 124, in new
new_class.add_to_class('_meta', Options(meta, app_label))
File "/usr/lib/python3.4/site-packages/django/db/models/base.py", line 325, in add_to_class
value.contribute_to_class(cls, name)
File "/usr/lib/python3.4/site-packages/django/db/models/options.py", line 214, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/usr/lib/python3.4/site-packages/django/db/init.py", line 33, in getattr
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/usr/lib/python3.4/site-packages/django/db/utils.py", line 211, in getitem
backend = load_backend(db['ENGINE'])
File "/usr/lib/python3.4/site-packages/django/db/utils.py", line 115, in load_backend
return import_module('%s.base' % backend_name)
File "/usr/lib64/python3.4/importlib/init.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/usr/lib/python3.4/site-packages/django/db/backends/postgresql/base.py", line 25, in
raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'
Collecting static files (python3 netbox/manage.py collectstatic --no-input)...
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/django/db/backends/postgresql/base.py", line 21, in
import psycopg2 as Database
ImportError: No module named 'psycopg2'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "netbox/manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/lib/python3.4/site-packages/django/core/management/init.py", line 364, in execute_from_command_line
utility.execute()
File "/usr/lib/python3.4/site-packages/django/core/management/init.py", line 338, in execute
django.setup()
File "/usr/lib/python3.4/site-packages/django/init.py", line 27, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/lib/python3.4/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models()
File "/usr/lib/python3.4/site-packages/django/apps/config.py", line 202, in import_models
self.models_module = import_module(models_module_name)
File "/usr/lib64/python3.4/importlib/init.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 2254, in _gcd_import
File "", line 2237, in _find_and_load
File "", line 2226, in _find_and_load_unlocked
File "", line 1200, in _load_unlocked
File "", line 1129, in _exec
File "", line 1471, in exec_module
File "", line 321, in _call_with_frames_removed
File "/usr/lib/python3.4/site-packages/django/contrib/auth/models.py", line 4, in
from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager
File "/usr/lib/python3.4/site-packages/django/contrib/auth/base_user.py", line 52, in
class AbstractBaseUser(models.Model):
File "/usr/lib/python3.4/site-packages/django/db/models/base.py", line 124, in new
new_class.add_to_class('_meta', Options(meta, app_label))
File "/usr/lib/python3.4/site-packages/django/db/models/base.py", line 325, in add_to_class
value.contribute_to_class(cls, name)
File "/usr/lib/python3.4/site-packages/django/db/models/options.py", line 214, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/usr/lib/python3.4/site-packages/django/db/init.py", line 33, in getattr
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/usr/lib/python3.4/site-packages/django/db/utils.py", line 211, in getitem
backend = load_backend(db['ENGINE'])
File "/usr/lib/python3.4/site-packages/django/db/utils.py", line 115, in load_backend
return import_module('%s.base' % backend_name)
File "/usr/lib64/python3.4/importlib/init.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/usr/lib/python3.4/site-packages/django/db/backends/postgresql/base.py", line 25, in
raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'`
psycopg2 already installed
Requirement already up-to-date: psycopg2-binary>=2.7.4 in /usr/lib64/python3.4/site-packages (from -r requirements.txt (line 17))

It looks like you might have a conflict between the old psycopg2 package and the new psycopg2-binary package. Try running this:
pip3 uninstall psycopg2
pip3 uninstall psycopg2-binary
pip3 install psycopg2-binary

Hello,
I Just remove psycopg2 and
psycopg2-binary already installed, but while upgrade still meet that error

@jeremystretch That worked for me, thanks.

Yes, uninstalled and pip install psycopg2-binary worked.

@anhnvme You need to run all three commands.

Seems like we have a solution for this, but please comment here if you think this needs to be re-opened.

Environment
OS: CentOS Linux release 7.3.1611 (Core)
Python version: Python 3.4.5
Goal: Upgrading Netbox
Netbox [former] : 2.2.10
Netbox [current]: 2.3.1
Description
I got it worked by performing the following in order:
pip3 uninstall psycopg2-binary
pip3 uninstall psycopg2
pip3 install psycopg2-binary

@mabazyar it's worked, thanks

After performing the following in order, it doesn't work. ENV: win10, anaconda3
C:\workspace\test_dj>pip uninstall psycopg2
Uninstalling psycopg2-2.7.5:
Would remove:
c:\tools\anaconda3\lib\site-packages\psycopg2-2.7.5.dist-info*
c:\tools\anaconda3\lib\site-packages\psycopg2*
Proceed (y/n)? y
Successfully uninstalled psycopg2-2.7.5
C:\workspace\test_dj>pip uninstall psycopg2-binary
Skipping psycopg2-binary as it is not installed.
C:\workspace\test_dj>pip install psycopg2-binary
Collecting psycopg2-binary
Downloading https://files.pythonhosted.org/packages/aa/9d/a4a6888bea2a8ed7b800da2bbcee0a636bb59a20c7c46dd4e5dfda7a5427/psycopg2_binary-2.7.7-cp37-cp37m-win_amd64.whl (998kB)
100% |████████████████████████████████| 1.0MB 190kB/s
Installing collected packages: psycopg2-binary
Successfully installed psycopg2-binary-2.7.7

@jeremystretch Thank you for the solution. The problem drove me crazy. Can you please explain the cause of the problem and how psycopg2-binary differs from psycopg2?


Feature(Planner): PaaS support improvement in DAM generator

In this PR some problems related to the DAM generation in case of PaaS deployment are addressed.
@kiuby88 can you please take a look?

Current coverage is 38.94%

Merging #271 into master will increase coverage by +2.21% as of 2cafb1c

@@            master    #271   diff @@
======================================
  Files          329     332     +3
  Stmts        12064   12634   +570
  Branches      1548    1613    +65
  Methods          0       0
======================================
+ Hit           4432    4920   +488
+ Partial        449     422    -27
- Missed        7183    7292   +109

Review entire Coverage Diff as of 2cafb1c

Powered by Codecov. Updated on successful CI builds.

@PaoloCifariello : Are there tests of node_templates to be deployed on PaaS?


Asynch next release

The previous v0.2.5 release was a bit yanked by API reconsideration, now it is fixed and perhaps it is the time to release the next version of asynch with bugfixes from the PR #124  and deprecation warnings removed in the PRs #120 and #125 .
Many thanks in advance, @long2ice .

@itssimon, please consider closing the issue #121 after testing the next release.

@long2ice , aight, let's not wait.
Also, what issues or features would you like to see resolved/implemented for the v0.2.7? Could you share your vision?

@long2ice .

@stankudrow, thanks for your work on this repository. However, pestering people with mentions in short succession is not appreciated. Please be patient, people will get to it in their own time.
Also, obviously there have been some major breaking changes recently, which warrants at least a new minor version v0.3.0. Breaking changes in patch versions are not good practice.

Fair enough, my apologies.

Only the PR #130 is left and then, if no new issues are reported, the next release is ready to go.


Discord and bug

WHats your discord, the uhc world is flat, no way to leave uhc, and the game starts for everyone

The UHC world is meant to be a self ported map, not something the plugin deals with. I have no idea what you mean by no way to leave UHC. The game is supposed to start for everyone?

Closing due to the lack of response.


Feature/bool enabled iam key creation

what

adds create_iam_access_key boolean variable to conditionally create aws_iam_access_key.
defaults to true which aligns with current expected behavior

why

We would prefer to not create access keys that are stored in terraform state

references

https://github.com/cloudposse/terraform-aws-iam-system-user/issues/44

You guys and your modules rock!

/test all

/test all

Thanks for your contribution @danpilch !


Floating point equality - revisited

This is related to #185. I know that comparing floats implementation is a delicate subject, but the current behavior can be improved.
Suppose this code (suppose no errors occurs):
    using json = nlohmann::json;
    json j1, j2;
    j1["test_double"] = 3.12345;
    j1["test_string"] = "test string";
    j1["test_array"] = (std::vector<int>){12345, 12346, 2345, 23456, 3456, 4567, 5678, 6789};
    j1["test_float"] = 3.123f;

    j2 = json::parse(j1.dump());

    json::iterator it = j1.begin();
    bool areEqual = true;

    for( ; it != j1.end(); ++it) {
        auto otherVal = j2[it.key()];
        auto thisVal = it.value();
        if(otherVal != thisVal) {
            areEqual = false;
            break;
        }
    }

When the float properties are compared, the result is false which is not what I was expecting.
                case value_t::number_float:
                    return (lhs.m_value.number_float == rhs.m_value.number_float);

this comparison translates to 3.123f as:
lhs = 3.1229999065399201
rhs = 3.122999906539917
Tested both on Ubuntu 17.04 & macOS Sierra with same results.

You store the float number 3.123f in the JSON value. Internally, floating-point numbers are stored as json::number_float_t which defaults to double. This number is serialized to 3.12299990653992 and then parsed to the double value 3.1229999065399201.
If you start with a double instead of a float, the round-tripping works.

Double is not working either:
j1["small_double"] = DBL_EPSILON; // or DBL_MIN, or even M_PI
You cannot assume that you'll have nice values. I'm not complaining about precision/accuracy/etc, but to compare them similar to this:
(fabs(left - right) < epsilon);

The problem is that such a comparison under the hood of the operator== may be really surprising.

Sorry to chime in. In my library marnav, I do also the abs(a-b)<=epsilon test for this, but not as an overload, but in a separate function template. See here.
To me, it seems a common pattern. The only problem I see from the top of my head is when operands are denormalized, inf or NAN.
The question I my opinion is, should basic_json provide such an operator, or should it return the floating point value as is and let the user deal with it, knowing that floating point comparisons come with pitfalls. Personally, I prefer the latter, hence the free function template.

It seems that the issue is related to serializing process.
    j2 = json::parse(j1.dump());
    j3 = json::parse(j1.dump());

j2 is equal with j3, but not with j1.

@mariokonrad Thanks for the hint. I'm not sure whether it would make sense to offer such a function in the library, but rather add it to the documentation of operator==.
@cburlacu Serialization is another aspect. We limit the number of digits we serialize. But even then, the conversion from float to double may be problematic.

The most important thing IMHO is that it is documented properly, i.e. the user should not need to guess.
For serialization, it might be possible to use std::numeric_limits::digits10 to represent floating point numbers. The example shown above:

this comparison translates to 3.123f as:
lhs = 3.1229999065399201
rhs = 3.122999906539917

In this case of float, numbers of digits are way above what float can represent without any loss due to rounding errors, which is 6, double is 15, long double is 18. If the numbers above are restricted to 6 digits (in case for float), they are perfectly fine.

We actually use std::numeric_limits<number_float_t>::digits10, see https://github.com/nlohmann/json/blob/develop/src/json.hpp#L6662.

Oh, sorry, missed it.
And you are completely right, conversion from float to double may introduce nasty stuff.
Though, still not sure if nlohmann/json should handle problems that come with float/double. Is it really its job? Convenient maybe...

I agree that we should not handle these issue. And I would not like the following code:
// assume some values for d1 and d2
double d1 = ...;
double d2 = ...;

// assume d1 and d2 are not equal
bool b1 = d1 == d2;

json j1 = d1;
json j2 = d2;

// assume j1 and j2 are now equal, because we only compare wrt. an epsilon
bool b2 = j1 == j2;

I agree.

Agree. I would expect that testing '==' is true <=> a manually-run recursive test of '==' is true. Anything else would be surprising to a user.
I do think there's utilitiy in having an "equivalence" test that is looser than strict equality, though.

In any case, I shall add a note to the documentation of operator==. I am not sure whether we need a special "equivalence" function for floating-point numbers in the library.

I apologize for asking a question on an old issue. I am trying to use the function suggested in the documentation: is_same. It's not clear to me where to I pass this function.
The idea is clear: I have to overload the default double operator== but I have troubles making it work. I tried:

including the is_same function in my code as written.
renaming it to operator==
Writing directly an bool operator==(json::number_float_t& lhs, json::number_float_t& rhs)
None work. Any suggestions? Thanks!

I don't think you can replace the existing behavior for the == comparison of two json values. Instead, you need to define your own comparison function like bool my_compare(const json& lhs, const json& rhs) and call this instead of operator==.

Thanks for the suggestion. Yes, this worked nicely.
https://gitlab.kitware.com/danlipsa/vtk/-/blob/cesium3dtiles/IO/Cesium3DTiles/Testing/Cxx/TestCesium3DTilesWriter.cxx#L283
I would update the documentation
https://json.nlohmann.me/features/types/number_handling/#number-comparison
as the suggestion given there is slightly different. It suggests using is_same OR
bool my_equal(const_reference lhs, const_reference rhs).  This led me to believe I could use is_same by itself. Also the parameters for my_equal are different than what you suggested here and what I ended up using.
As a whish list, it would be nice to be able to replace the equality operator for double. It would eliminate the need to write an additional jsonEqual that is probably very similar with the original except for the double equality.
Thanks again!


Sort Data Alphabetically

We still need this stalebot 🤓

Stalebot I think we still need this

Stalebot I think we still need this


The request body must contain the following parameter: 'scope'.

Hi,
I am trying to implement OAuth2 code grant flow with Microsoft as my authoriser (Azure AD) but there seems to be some kind of issue with the add-on.
I am intializing the  ClientOAuth2 as suggested in the wiki:
const oauthClient = new ClientOAuth2({
    clientId: 'XXXXXXXXXX',
    authorizationUri: "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
    redirectUri: "http://localhost:3001/spa_oauth_redirect",
    accessTokenUri: '',
    clientSecret: '',
    scopes: [ /list of scopes/],
  });

and I get the following response:
The request body must contain the following parameter: 'scope'.
I tried adding the args prop to the RequestAuthorizationCode component with the object { scope: [/list of scopes/] } as value, but again I got the same error.
Any ideas why this might be happening?
Thanks!

That's weird indeed. It seems like the underlying getToken method of client-oauth2 ignores the defined scopes and does not pass them on to the server.
We could mitigate this here, by explicitly defining the scopes as part of the body in this line ... https://github.com/Innoactive/react-oauth2-auth-code-flow/blob/f5b6995287075e2c4d678a57c2050d6f22a8957e/src/index.js#L94
... but I wonder whether there's a reason why scopes are not sent along per default in the token request of the authcode flow (but in all other flows).

Indeed, RFC 6479 does not state that scope is to be sent to the authorization server with the access token request but only in the authorization request (where it would never be sent as part of the body but always as part of the url, though).
From your description, I can't really judge whether the issue happens during the authorization request or the access token request.

If it happens during the authorization request, passing the scopes to the RequestAuthorizationCode component like
<RequestAuthorizationCode args={{scope: [/list of scopes/]}} />

should work (just like you tried) - although you are right in a way that this library here should automatically add the scopes if defined on the ClientOAuth2 instance

If the error comes as a response to the access token request, this would be some unexpected behaviour of Azure requiring the scope parameter but it could be mitigated as described above.


Tighten up the source

[ ] rewrite as much this.var1 = p.type; this.var2 = p.type; to this.load({ var1: p.typ, var2: p.type, ... }) as possible

test
test
test
cake

meh


build: use prisma schema file location flag

https://www.prisma.io/docs/concepts/components/prisma-schema#prisma-schema-file-location

Codecov Report

Merging #148 (de971b6) into main (de840ac) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #148      +/-   ##
==========================================
+ Coverage   10.07%   10.09%   +0.01%
==========================================
  Files          67       67
  Lines         883      882       -1
  Branches      317      317
==========================================
  Hits           89       89
+ Misses        792      791       -1
  Partials        2        2

Impacted Files
Coverage Δ

app/routes/dashboard/transactions/index.tsx
0.00% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update de840ac...de971b6. Read the comment docs.


Path handling according to XP 7.8 upgrades

Wanted behaviour:

It should be possible to set the proxy up so it matches on

existing content items of selected type on path <sitePath>/X - so, usually <match>type...
and a mapped "sub-path" (eg. <sitePath>/__frontend-proxy__/X) - so, usually <pattern>...

...and on both those, the proxy should send requests to <frontendUrl>/X and return the (postprocessed) response.
Existing content of non-selected types should not trigger the proxy
Other paths (non-existing content, non-mapped paths) should return a 404.
404 behavior inside the proxy:

A frontend-server-related 404 (from the frontend request that stems from not being able to find the frontend server at all), should be detected and handled by the proxy. Should probably trigger and render as an XP-side error (500).
Any other content/page-related 404 behaviour from the frontend server will usually be determined and rendered there. Parse/detect this differently from frontend-server-related 404 in the proxy. Return the frontend-rendered 404 report if any, or return an XP-side 404.

Problem:
In XP 7.7, a bug causes strange behaviour when trying to match on content types: it will also match on non-existing/non-mapped content paths in XP, and trigger the proxy when it shouldn't.
Current workaround:
The proxy has a hack added to determine if the path is either an existing content or under a selected "sub-path" without any mapping in site.xml. And returns 404 if neither of those, and parses the frontendserver-relative path (X above).
Task:
Future versions of this proxy should remove the workaround, require XP 7.8 in xpVersion in gradle.properties, and update the docs/readme here and in the guide for how to set the match and mapping in the host app's site.xml.

So, the value MAPPING_TO_THIS_PROXY is currently a "silent" controller mapping: it exploits the bug to trigger the proxy without  a <pattern> matching, and has a workaround to return 404 when the "sub-path" doesn't match MAPPING_TO_THIS_PROXY or an existing content. Used with 7.8+, this MUST be fixed, and that requires that the host app has both a content-type mapping and a pattern mapping.

The __proxy pattern should be replaced by a simple http header value, i.e. "rendermode: preview".