Library borrowed items - use cases

We have collected feedback from our institutions providing library data for borrowed items.  For our use case with learning analytics we have determined it not appropriate to capture the individual content title and identifiers.  As we cannot link the content to the students course we are unable to filter out content that might have been borrowed for personal use.  We are instead pursuing engagement with reading lists, for library and other content based activities, as these are intrinsically linked to modules/courses.
We don't want to change the existing recipe as it has use cases outside of learning analytics however for our purposes we will not collect ITEM_ID, ITEM_NAME and OCLC_NUMBER from institutions.  As such we need to determine what is best placed in the object.id and object.name fields as these are required for xAPI validation.
Does anyone have a view on this?
Secondly do we need to capture field requirements somewhere which are specific to our implementations?  That might have be something we host somewhere else.

I need to think about this, but would the current template still work?
The activity id is constructed like so: HOMEPAGE/library/ITEM_ID",
as it is, the without the activity id it would just be  HOMEPAGE/library
so, is it suffucent for the activity to be something from that library, keeping the type:  as http://xapi.jisc.ac.uk/library/resource
From Brian Miller::

For instance, if we want to be able to track attendance at a conference, it may be sufficient to create an activity for the conference as a whole. But, if we want to know the most popular speaker at a conference, we will need to have at least session granularity to our data

I haven't had long to think about it, but I see the ITEM_ID as being the granuarity we may or may not have.
Not sure I get this second question:

Secondly do we need to capture field requirements somewhere which are specific to our implementations? That might have be something we host somewhere else.

Yes I think the current template should stay in place but we will have to omit certain fields from our collection and processing.
I take the point on the activity id.  I think will this just need to be library/resource as you say.
On the second question, what I am asking is do we document this within the repository here or somewhere else?  For example, as a note in the input definitions:

For Jisc's Learning Analytics implementation the following fields are not required ...

OK, so these specs are being used internally in Jisc for different things? And this is leading to a situation where some collected fields are required for Jisc LA, but not for other implementations?
Thinking out loud a bit here:
I guess I've always thought as statement templates/common structures/vocab being gospel spec, but the input definitions and template being written to support Jisc LA operations (but what I've thought hasn't mattered, because they go hand in hand).
So, the different implementations mean that the spec won't change (because object.id is still required) but the 'support files' would (because different projects require different inputs)?
I guess it depends, we already brought the input definitions in to this repository from another, the reasoning was that it was easier to manage. If there are just a few notes to put in then it might be best just doing what you sugguest. On the other hand, if there are going to be lots of implementations with different requirements then it might be best to move the 'support files' out of the spec and have different repositories for different implemenations.

No, they are only being used for LA right now but I am trying to think to the future.  I guess at that point different services might need their own repository of recipes and that is where the input and differences would be captured rather than "polluting" this space.
As such if we accept that the input definitions are there for Jisc LA only then they should be changed to reflect what I have outlined above.

from call

make it clear what is and what isn't required by LA in the input definitions
revist activtiy id, we think we are fine, but check

I said I would spend some time with this on the call, revisiting I am not happy with this statement and would like to talk it through.
I have some questions/comments:

Firstly, Is this statement currently in use, inparticular I'm wondering if the http://xapi.jisc.ac.uk/library/resource iri is used? This was minted before the consistancy guidelines and should be http://xapi.jisc.ac.uk/activity/resource. I think the term library is confusing in the iri because we are using it here to say 'this activity type belongs to library recipes', but we are working away from that older structure of iris.  Furthermore, We don't actually seem to have a definition for the http://xapi.jisc.ac.uk/library/resource activity type in the Vocab, which isn't helpful. The question of what is the activity type needs sorting out.

What was sugguested on the call was that we just don't need to worry about not having an item id, as the activity id would just become HOMEPAGE/library instead of HOMEPAGE/library/ITEMID. In that case the activity id identifies the resource borrowed from, rather than an individual resource. But, then the activity type would need to identify if it was a resource collection or a resource?

The Natural language example of a typical borrowed statement Statement: "The student, John Smith, borrowed the book 'Introduction to Java' (OCLC number<PHONE_NUMBER>) from the university library at 13:05 on 18 November 2018.", which is not what we are describing if we don't have an item id

I guess what I am saying is that a recipe for "Library borrowed items" becomes difficult when we don't know the items, without the ID it becomes "borrowed from".  So, is what I was sugguesting (that without an item id we are just saying we are borrowing from a collection of resource) too much of a stretch for one statement?
Would like thoughts on this one @arc12 @alanepaull

It might be worth noting that Talis reading lists are being explored and, whilst you cannot link a particular borrowed item to the 'students course' you will be able to say that an item from the students reading list has been borrowed.
This extends further to copyright cleared articles (scanned or provided by Cilip DCS) which Talis also ties to the module.

We are using this activity type:
http://xapi.jisc.ac.uk/library/resource
Happy to use the new form when we amend the data we have.
Not sure on the second point but I think it's enough to say the are borrowing a resource (rather than from a collection).
Natural language should be updated to reflect these changes.
I'm not sure a new statement is necessary, we just need to get this right from the perspective of 'borrowed resource from library' without being specific as to the resource.  I am happy with the statement as it is an just exclude the data points that we will no longer capture.

As a result of discussions @ds10 and I had earlier today, I think we may be looking at 2 subtly different use cases, and therefore 2 different statement templates here. One is 'student borrowed item x from library y', where the primary activity is the student borrowing a specific item, and the library is in the context. The other is 'student borrowed something from library y', where the primary activity is borrowing from the library and the item is itself is unknown and / or not directly of interest.
Natural language versions might be these (drawn from the current template):
First: "The student, John Smith, borrowed the book 'Introduction to Java' (OCLC number<PHONE_NUMBER>) from the university library at 13:05 on 18 November 2018."
Second: "The student, John Smith, borrowed something from the university library at 13:05 on 18 November 2018."
These natural language versions suggest 2 conceptually different statements, one with a verb "borrowed" and an object of the specific item, and the other with a verb "borrowed_from" and an object of the library.
The 2 different statements might look like this:
First, from the current statement template:
{
	"actor": {
		"objectType": "Agent",
		"name": "John Smith",
		"account": {
			"name": "jsmith20",
			"homePage": "http://library.universityofjisc.ac.uk/"
		}
	},
	"verb": {
		"id": "http://activitystrea.ms/schema/1.0/borrowed",
		"display": {
			"en": "borrowed"
		}
	},
	"object": {
		"objectType": "Activity",
		"id": "http://library.universityofjisc.ac.uk/13579",
		"definition": {
			"type": "http://xapi.jisc.ac.uk/library/resource",
			"name": { "en":
				"Introduction to Java"
			}
		},
		"extensions": {
			"http://xapi.jisc.ac.uk/subType": "http://id.tincanapi.com/activitytype/book",
			"http://oclc.com/number": "1234567890",
			"http://xapi.jisc.ac.uk/subject_area": "Computing"
      		}
	},
	"timestamp": "2018-11-18T13:05:51.484Z",
	"context": {
		"platform" :"WorldShare",
		"extensions": {
			"http://xapi.jisc.ac.uk/version": "1.1",
			"http://xapi.jisc.ac.uk/recipeCat": "Library",
			"http://xapi.jisc.ac.uk/borrowing_site": "Main Library"
		}
	}
}

Second, new-minted:
{
	"actor": {
		"objectType": "Agent",
		"name": "John Smith",
		"account": {
			"name": "jsmith20",
			"homePage": "http://library.universityofjisc.ac.uk/"
		}
	},
	"verb": {
		"id": "http://xapi.jisc.ac.uk/borrowed_from",
		"display": {
			"en": "borrowed from"
		}
	},
	"object": {
		"objectType": "Activity",
		"id": "http://library.universityofjisc.ac.uk/mainLibrary",
		"definition": {
			"type": "http://xapi.jisc.ac.uk/borrowing_site",
			"name": { "en":
				"Main Library"
			}
		},
	},
	"timestamp": "2018-11-18T13:05:51.484Z",
	"context": {
		"platform" :"WorldShare",
		"extensions": {
			"http://xapi.jisc.ac.uk/version": "1.1",
			"http://xapi.jisc.ac.uk/recipeCat": "Library"
		}
	}
}

What do we think? Is there any difficulty with having 2 statement templates? It may be that for the learning analytics service, only the 'borrowed_from' would be used, at least for now, as it has proven difficult to get the details of real items borrowed.
We would like to get the views particularly of @arc12, as well as those already involved in this discussion.

:-) I was just thinking of responding when I saw you had "@'ed" me
This is an interesting question. I think it boils down to asking what the best/conventional/... pattern is for making xAPI statements where the "object" is a class, or an abstract thing. [I think we should be careful overloading these terms with the meanings which OO-thinking has created]
Adam borrowed War and Peace from Buxton Library
Adam borrowed a book from Buxton Library
Adam borrowed something from Buxton Library
Adam borrowed War and Peace from a public library
At first glance, it feels inelegant to use a separate statement template for these. On the other hand, it feels horrible to mix up real object identifiers with object type identifiers in object.id
I'd like to suggest a way of using the 2nd example with an added decoration for the identify of the book, to deal with the use case of the first example.... but I cant!
Its not like we can just omit "object", can we? object is required, I think. So we cant say something like "Adam spontaneously combusted" in xAPI.
So... it looks like 2 templates.

I agree with it looking like 2 templates, I can see scenarios where it looks like a user borrowed a library while another user was in it
For discussion I've added the new template to 1.1.1 and linked from the readme page.
Md page
definitions
template

On the call today;

Gareths example is checked against current borrowed
/resource to be added to the end of the uri
no id identifies a resource collection, but not physical location
Remove borrowed from
mint http://xapi.jisc.ac.uk/library/resource

in 1.1.1

item id no longer required
/resource added to iri

This is the template that I am now looking at:
`{
"version": "1.0.0",
"actor": {
"objectType": "Agent",
"account": {
"name": "USERNAME",
"homePage": "HOMEPAGE"
}
},
"verb": {
"id": "http://activitystrea.ms/schema/1.0/borrowed",
"display": {
"en": "borrowed"
}
},
"object": {
"objectType": "Activity",
"id": "HOMEPAGE/library/resource",
"definition": {
"type": "http://xapi.jisc.ac.uk/library/resource",
"name": {
"en": "resource"
},
"extensions": {
"http://xapi.jisc.ac.uk/subType": "ITEM_SUBTYPE",
"http://xapi.jisc.ac.uk/subject_area": "SUBJECT_AREA"
}
}
},
"timestamp": "**TIMESTAMP**",

"context": {
	"platform": "**PLATFORM**",
	"extensions": {
		"http://xapi.jisc.ac.uk/statementCat": "Library",
		"http://xapi.jisc.ac.uk/borrowing_site": "**BORROWING_SITE**",
		"http://xapi.jisc.ac.uk/version": "1.1.1"
	}
}

}`
Does that match expectations?

that is more or less what is in the 1.1.1 brach except in the object:

	"object": {
		"objectType": "Activity",
		"id": "**HOMEPAGE**/resource/**ITEM_ID**",
		"definition": {
			"type": "http://xapi.jisc.ac.uk/library/resource",
			"name": {
				"en": "**ITEM_NAME**"
			},
		    	"extensions": {
			    	"http://xapi.jisc.ac.uk/subType": "**ITEM_SUBTYPE**",
					"http://xapi.jisc.ac.uk/subject_area": "**SUBJECT_AREA**",
					"http://oclc.com/number": "**OCLC_NUMBER**"
		    	}
		}
	},

The reason I have kept ITEM_ID", and ITEM_NAME" is because I thought removing them would be a breaking change and would move it to 1.2? We could change them to option/depricate them in 1.1.1 and remove them from templates?
I haven't removed the library visited template yet, but I think we decided it was only in the dev branch and could be removed when we were happy?

It is not a breaking change for us, so happy for this to be released with 1.1.1.

Just to clarify, I'll make it optional and depricated, and remove it from the templates.
It will be removed in 1.2?

Sorry David I'm confused.. make what deprecated?
The ITEM_NAME and OCLC_NUMBER should be optional but we need to be clear with our LA customers that they should not be sent with any extract.  Ideally I would like it removed from the spec altogether, in 1.1.

Right sorry, wasn't clear.
ITEM_NAME and OCLC are already optional in 1.1.
I think the only change for 1.1.1 is to make ITEM_ID optional (currently it is required).
I was under the impression that anything related to the item (ITEM_NAME, OCLC and ITEM_ID etc) was to be removed. This would be breaking and would have to go in 1.2? Which means deprecated in 1.1.1?

Yes it should be optional and ultimately removed.  Why not remove it with 1.1 though?  We already set up to manage the change so not "breaking" for us.

1.1 was released in October: https://github.com/jiscdev/xapi/releases/tag/v1.1 so we would be changing the current release. So, I guess as the spec people (it is breaking in the spec) we can't really advise you go ahead and do anything other than hotfixes/documentation fixes to that version.
The only changes in 1.1.1 are the new faculty accessed statements and to make item_id optional, so I would rather make those changes in 1.1.1 and then release that version/merge that into master. Target setting would then be pushed back again to 1.1.2.

yes that's fine - I'm getting mixed up between version numbers.


Performance improvements

Add doc with guidelines for performance improvements.

Axe of improvements:

Custom PropertyAccess with lightweight logic
Custom Serializer to ignore normalization of scalar values

IMO specialized property accessor such as a GetSetMethodPropertyAccessor can be contributed upstream to Symfony.
They can help to improve performance in a lot of other contexts when the project is under control (e.g. always have accessor methods). cc @webmozart


add rule (rrd) API route without http method

Nor in the filename nor in the code

I don't get this one

It is about Nuxt (Nitro)
https://nuxt.com/docs/guide/directory-structure/server#matching-http-method
The file names should contain the http method for example users.post.ts or if not then users.ts should check what http method was used. if (event.node.req.method != 'POST')


Can't customize crawl request header user-agent.

I have a sort of odd situation with a WP site that needs to have certain content exported and certain content not.  The way it's setup there are custom WP function calls to apply a different theme, menu, etc depending on the user role.
Previous versions (2.2) of WP2Static used the wp_get_remote function to crawl the site.  This function set the curl request User-Agent to 'WordPress/5.1.1; https://example.com' for example.  In testing I noticed that the latest version sets the header to different hard coded string.
The result of this is that WP doesn't apply the different theme we'd like to use for our static export.  There are multiple ways implement this, but I'll create a pull request of the option I added to configure the User-Agent in the curl request.
Please let me know if you have any questions, or if there's any other information I can provide.

On further investigation I found the user-agent header check in the site theme that determines what styles and layout to apply.  I can simply adjust that code instead of changing the plugin.
So unless there is a demand for custom user-agents please feel free to deny the pull request.
Thanks for your time!

Thanks @asommer70 - good option to have, will get this in for version 7 soon

@asommer70 - added in https://github.com/WP2Static/wp2static/commit/236e0abb22b8580773ed6d06db780c4d41b3fcdc


Fire pixel if Etag store is out od sync with disconnect me or easylist

Task/Issue URL: https://app.asana.com/0/856498667320406/1128480535457420
Tech Design URL:
CC:
Description:
Test for possible bug related to etag store being out od sync with disconnect me or easylist.
Steps to test this PR:
Regular scenario:

Run the app.
Make sure that pixel is not fired when initially downloading the content blocker data, nor after restart.

Broken store scenario:

Tweak the code so disconnect me is not stored.
Run the app to populate etag.
Restart the app -> pixel should fire.

Internal references:
Software Engineering Expectations
Technical Design Template

Thanks!


Different amount show when try to swap NUSD to USDT

I try to swap NUSD to USDT. it show 10 NUSD to 28.0573 USDT but when i try to swap it. The amount USDT i got only 10.64USDT
what happen with this?

Predicted price for stableswap pools have estimates in JS, so this should no longer be an issue

discord username : milakunis


[dashboard] improve flash messaging

When saving a slice and adding it to a dashboard, we use Flask's flash() method which is then showned by the template at the top of the page.

It'd be nice use the notify scheme instead somehow and to reduce the message to a single message.
Maybe the flash messages should be put as a payload for the frontend to pickup or along with the bootstrap data, and then the frontend can use notify to display them.

Can i work on this ?

Sure yes. That's what the starter_task label is for


Error connecting to sesman: <IP_ADDRESS>:3350 / Dynamic Virtual Channel version 1 is not supported

I use
server side

debian 11
xorgxrdp   1:0.2.12-1
xrdp   <IP_ADDRESS>-1
status of sesman:

# systemctl status xrdp-sesman.service
● xrdp-sesman.service - xrdp session manager
     Loaded: loaded (/lib/systemd/system/xrdp-sesman.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-03-09 22:33:28 UTC; 5min ago
       Docs: man:xrdp-sesman(8)
             man:sesman.ini(5)
    Process: 984 ExecStart=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS (code=exited, status=0/SUCCES>
   Main PID: 985 (xrdp-sesman)
      Tasks: 1 (limit: 38539)
     Memory: 1.2M
        CPU: 7ms
     CGroup: /system.slice/xrdp-sesman.service
             └─985 /usr/sbin/xrdp-sesman

Mar 09 22:33:28 ns330287 systemd[1]: Starting xrdp session manager...
Mar 09 22:33:28 ns330287 xrdp-sesman[985]: [INFO ] starting xrdp-sesman with pid 985
Mar 09 22:33:28 ns330287 systemd[1]: Started xrdp session manager.

status of xrdp:

# systemctl status xrdp.service | cat
● xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-03-09 22:40:31 UTC; 1min 1s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
    Process: 1134 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
    Process: 1142 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 1143 (xrdp)
      Tasks: 2 (limit: 38539)
     Memory: 9.4M
        CPU: 79ms
     CGroup: /system.slice/xrdp.service
             ├─1143 /usr/sbin/xrdp
             └─1157 /usr/sbin/xrdp

Mar 09 22:40:53 ns330287 xrdp[1157]: [INFO ] TLS connection established from ::ffff:<IP_ADDRESS> port 52556: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
Mar 09 22:40:53 ns330287 xrdp[1157]: [INFO ] xrdp_caps_process_pointer: client supports new(color) cursor
Mar 09 22:40:53 ns330287 xrdp[1157]: [WARN ] Received [MS-RDPBCGR] TS_CONFIRM_ACTIVE_PDU - TS_CAPS_SET capabilitySetType = 27 is unknown - Ignored
Mar 09 22:40:53 ns330287 xrdp[1157]: [INFO ] Loading keymap file /etc/xrdp/km-0000040c.ini
Mar 09 22:40:53 ns330287 xrdp[1157]: [WARN ] local keymap file for 0x0000040c found and doesn't match built in keymap, using local keymap file
Mar 09 22:40:53 ns330287 xrdp[1157]: [INFO ] connecting to sesman on <IP_ADDRESS>:3350
Mar 09 22:41:08 ns330287 xrdp[1157]: [ERROR] xrdp_wm_log_msg: Error connecting to sesman on <IP_ADDRESS>:3350
Mar 09 22:41:09 ns330287 xrdp[1157]: [INFO ] Error connecting to sesman on <IP_ADDRESS>:3350
Mar 09 22:41:09 ns330287 xrdp[1157]: [ERROR] Dynamic Virtual Channel version 1 is not supported
Mar 09 22:41:09 ns330287 xrdp[1157]: [ERROR] xrdp_rdp_recv: xrdp_channel_process failed

If I run telnet <IP_ADDRESS>  3350, I can bind the port.
sesman config:
grep -Ev '^(;|#|^$)' /etc/xrdp/sesman.ini
[Globals]
ListenAddress=<IP_ADDRESS>
ListenPort=3350
EnableUserWindowManager=true
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
ReconnectScript=reconnectwm.sh
[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
AlwaysGroupCheck=false
RestrictOutboundClipboard=none
RestrictInboundClipboard=none
[Sessions]
X11DisplayOffset=10
MaxSessions=50
KillDisconnected=false
DisconnectedTimeLimit=0
IdleTimeLimit=0
Policy=Default
[Logging]
LogFile=xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=true
xrdp-sesman.log
[LoggingPerLogger]
[Xorg]
param=/usr/lib/xorg/Xorg
param=-config
param=xrdp/xorg.conf
param=-noreset
param=-nolisten
param=tcp
param=-logfile
param=.xorgxrdp.%s.log
[Xvnc]
param=Xvnc
param=-bs
param=-nolisten
param=tcp
param=-localhost
param=-dpi
param=96
[Chansrv]
FuseMountName=thinclient_drives
FileUmask=077
[ChansrvLogging]
LogLevel=INFO
EnableSyslog=true
[ChansrvLoggingPerLogger]
[SessionVariables]
PULSE_SCRIPT=/etc/xrdp/pulse/default.pa

ss output:
# ss -lnp '( sport = 3350 )'
Netid    State     Recv-Q    Send-Q            Local Address:Port         Peer Address:Port    Process
tcp      LISTEN    0         2            [::ffff:<IP_ADDRESS>]:3350                    *:*        users:(("xrdp-sesman",pid=1133,fd=11))
mptcp    LISTEN    0         2            [::ffff:<IP_ADDRESS>]:3350                    *:*        users:(("xrdp-sesman",pid=1133,fd=11))

xrdp -v
# xrdp -v
xrdp <IP_ADDRESS>
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-ipv6
      --enable-jpeg
      --enable-fuse
      --enable-rfxcodec
      --enable-opus
      --enable-painter
      --enable-vsock
      --build=x86_64-linux-gnu
      --prefix=/usr
      --includedir=${prefix}/include
      --mandir=${prefix}/share/man
      --infodir=${prefix}/share/info
      --sysconfdir=/etc
      --localstatedir=/var
      --disable-silent-rules
      --libdir=${prefix}/lib/x86_64-linux-gnu
      --libexecdir=${prefix}/lib/x86_64-linux-gnu
      --disable-maintainer-mode
      --disable-dependency-tracking
      --with-socketdir=/run/xrdp/sockdir
      build_alias=x86_64-linux-gnu
      CFLAGS=-g -O2 -ffile-prefix-map=/build/xrdp-QTF2mN/xrdp-<IP_ADDRESS>=. -fstack-protector-strong -Wformat -Werror=format-security
      LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed
      CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
      PKG_CONFIG_PATH=/build/xrdp-QTF2mN/xrdp-<IP_ADDRESS>/pkgconfig

  Compiled with OpenSSL 3.0.8 7 Feb 2023

Client side (don't think it's the issue there)

linuxMint21

rdesktop 1.9.0-2build1 amd64

command
rdesktop -u   -p '' -f -k fr -5 -K -r clipboard:PRIMARYCLIPBOARD

Don't know what to do

The message comes about when the two sides are trying to negotiate dynamic channel capabilities.
This is documented in [MS-RDPEDYC] section 1.7
We only support versions 2 and 3, but the spec suggests this isn't compliant so it looks like a drop-off on our part.
As to what to do as a workaround, have you tried xfreerdp?

Try adding +gyph-cache to the command (see also #1266). Sorry - forgot about that one.

Same things. Still sesman error

verified ipv6 stack, in sysctl.conf was disabled. Commented
edited listening IP to <IP_ADDRESS> in sesman.conf
rebooted (just in case, to start from a sane base)

Then, ran server side:
# systemctl restart xrdp xrdp-sesman.service
# systemctl status xrdp xrdp-sesman.service | cat
● xrdp.service - xrdp daemon
     Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-03-13 22:27:06 UTC; 3s ago
       Docs: man:xrdp(8)
             man:xrdp.ini(5)
    Process: 7859 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS)
    Process: 7867 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 7868 (xrdp)
      Tasks: 1 (limit: 38539)
     Memory: 1.9M
        CPU: 21ms
     CGroup: /system.slice/xrdp.service
             └─7868 /usr/sbin/xrdp

Mar 13 22:27:05 ns330287 xrdp[7867]: (7867)(140465436798208)[INFO ] address [<IP_ADDRESS>] port [3389] mode 1
Mar 13 22:27:05 ns330287 xrdp[7867]: (7867)(140465436798208)[INFO ] listening to port 3389 on <IP_ADDRESS>
Mar 13 22:27:05 ns330287 xrdp[7867]: (7867)(140465436798208)[INFO ] xrdp_listen_pp done
Mar 13 22:27:05 ns330287 xrdp[7867]: (7867)(140465436798208)[DEBUG] Closed socket 7 (AF_INET6 :: port 3389)
Mar 13 22:27:05 ns330287 systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: Operation not permitted
Mar 13 22:27:06 ns330287 systemd[1]: Started xrdp daemon.
Mar 13 22:27:07 ns330287 xrdp[7868]: (7868)(140465436798208)[INFO ] starting xrdp with pid 7868
Mar 13 22:27:07 ns330287 xrdp[7868]: (7868)(140465436798208)[INFO ] address [<IP_ADDRESS>] port [3389] mode 1
Mar 13 22:27:07 ns330287 xrdp[7868]: (7868)(140465436798208)[INFO ] listening to port 3389 on <IP_ADDRESS>
Mar 13 22:27:07 ns330287 xrdp[7868]: (7868)(140465436798208)[INFO ] xrdp_listen_pp done

● xrdp-sesman.service - xrdp session manager
     Loaded: loaded (/lib/systemd/system/xrdp-sesman.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-03-13 22:27:05 UTC; 4s ago
       Docs: man:xrdp-sesman(8)
             man:sesman.ini(5)
    Process: 7857 ExecStart=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS (code=exited, status=0/SUCCESS)
   Main PID: 7858 (xrdp-sesman)
      Tasks: 1 (limit: 38539)
     Memory: 1020.0K
        CPU: 6ms
     CGroup: /system.slice/xrdp-sesman.service
             └─7858 /usr/sbin/xrdp-sesman

Mar 13 22:27:05 ns330287 systemd[1]: Starting xrdp session manager...
Mar 13 22:27:05 ns330287 xrdp-sesman[7857]: (7857)(140042332260160)[DEBUG] libscp initialized
Mar 13 22:27:05 ns330287 xrdp-sesman[7857]: (7857)(140042332260160)[DEBUG] Testing if xrdp-sesman can listen on <IP_ADDRESS> port 3350.
Mar 13 22:27:05 ns330287 xrdp-sesman[7857]: (7857)(140042332260160)[DEBUG] Closed socket 5 (AF_INET6 :: port 3350)
Mar 13 22:27:05 ns330287 xrdp-sesman[7858]: (7858)(140042332260160)[INFO ] starting xrdp-sesman with pid 7858
Mar 13 22:27:05 ns330287 systemd[1]: Started xrdp session manager.
Mar 13 22:27:05 ns330287 xrdp-sesman[7858]: (7858)(140042332260160)[INFO ] listening to port 3350 on <IP_ADDRESS>

# :>/var/log/xrdp-sesman.log; :>/var/log/xrdp.log; LANG=C date; tail -f /var/log/xrdp.log /var/log/xrdp-sesman.log
Mon Mar 13 22:27:25 UTC 2023
==> /var/log/xrdp.log <==

==> /var/log/xrdp-sesman.log <==

==> /var/log/xrdp.log <==
[20230313-22:27:29] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<MY CLIENT IP> port 54722
[20230313-22:27:29] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<MY SERVER IP> port 3389)
[20230313-22:27:29] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20230313-22:27:29] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20230313-22:27:30] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20230313-22:27:30] [DEBUG] TLSv1.3 enabled
[20230313-22:27:30] [DEBUG] TLSv1.2 enabled
[20230313-22:27:30] [DEBUG] Security layer: requested 3, selected 1
[20230313-22:27:30] [INFO ] connected client computer name: ultrabook
[20230313-22:27:30] [INFO ] adding channel item name rdpdr chan_id 1004 flags 0xc0800000
[20230313-22:27:30] [INFO ] adding channel item name rdpsnd chan_id 1005 flags 0xc0000000
[20230313-22:27:30] [INFO ] adding channel item name cliprdr chan_id 1006 flags 0xc0a00000
[20230313-22:27:30] [INFO ] adding channel item name drdynvc chan_id 1007 flags 0xc0800000
[20230313-22:27:33] [INFO ] TLS connection established from ::ffff:<MY CLIENT IP> port 54722: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384
[20230313-22:27:34] [DEBUG] xrdp_00001ef0_wm_login_mode_event_00000001
[20230313-22:27:34] [INFO ] Loading keymap file /etc/xrdp/km-00000409.ini
[20230313-22:27:34] [WARN ] local keymap file for 0x00000409 found and doesn't match built in keymap, using local keymap file
[20230313-22:27:34] [DEBUG] xrdp_wm_log_msg: connecting to sesman ip <IP_ADDRESS> port 3350

==> /var/log/xrdp-sesman.log <==
[20230313-22:27:34] [INFO ] A connection received from ::1 port 42000

==> /var/log/xrdp.log <==
[20230313-22:27:34] [INFO ] xrdp_wm_log_msg: sesman connect ok
[20230313-22:27:34] [DEBUG] xrdp_wm_log_msg: sending login info to session manager, please wait...
[20230313-22:27:34] [DEBUG] return value from xrdp_mm_connect 0

==> /var/log/xrdp-sesman.log <==
[20230313-22:27:34] [INFO ] ++ created session (access granted): username <USERNAME>, ip ::ffff:<MY CLIENT IP>:54722 - socket: 12
[20230313-22:27:34] [INFO ] starting Xorg session...
[20230313-22:27:34] [DEBUG] Closed socket 9 (AF_INET6 :: port 5910)
[20230313-22:27:34] [DEBUG] Closed socket 9 (AF_INET6 :: port 6010)
[20230313-22:27:34] [DEBUG] Closed socket 9 (AF_INET6 :: port 6210)
[20230313-22:27:34] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20230313-22:27:34] [INFO ] calling auth_start_session from pid 7929

==> /var/log/xrdp.log <==
[20230313-22:27:34] [INFO ] xrdp_wm_log_msg: login successful for display 10
[20230313-22:27:34] [DEBUG] xrdp_wm_log_msg: started connecting

==> /var/log/xrdp-sesman.log <==
[20230313-22:27:34] [DEBUG] Closed socket 7 (AF_INET6 :: port 3350)
[20230313-22:27:34] [DEBUG] Closed socket 8 (AF_INET6 ::1 port 3350)
[20230313-22:27:34] [INFO ] /usr/lib/xorg/Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log

==> /var/log/xrdp.log <==
[20230313-22:27:35] [INFO ] lib_mod_log_peer: xrdp_pid=7920 connected to X11rdp_pid=7931 X11rdp_uid=1000 X11rdp_gid=1000 client_ip=::ffff:<MY CLIENT IP> client_port=54722
[20230313-22:27:35] [DEBUG] xrdp_wm_log_msg: connected ok

==> /var/log/xrdp-sesman.log <==
[20230313-22:27:35] [CORE ] waiting for window manager (pid 7930) to exit
[20230313-22:27:35] [CORE ] window manager (pid 7930) did exit, cleaning up session
[20230313-22:27:35] [INFO ] calling auth_stop_session and auth_end from pid 7929
[20230313-22:27:35] [DEBUG] cleanup_sockets:
[20230313-22:27:35] [DEBUG] cleanup_sockets: deleting /run/xrdp/sockdir/xrdpapi_10
[20230313-22:27:35] [INFO ] ++ terminated session:  username <USERNAME>, display :10.0, session_pid 7929, ip ::ffff:<MY CLIENT IP>:54722 - socket: 12

==> /var/log/xrdp.log <==
[20230313-22:27:39] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20230313-22:27:39] [DEBUG] Closed socket 20 (AF_UNIX)
[20230313-22:27:43] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20230313-22:27:43] [DEBUG] Closed socket 20 (AF_UNIX)
[20230313-22:27:47] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20230313-22:27:47] [DEBUG] Closed socket 20 (AF_UNIX)
[20230313-22:27:51] [ERROR] xrdp_mm_connect_chansrv: connect failed trying again...
[20230313-22:27:51] [ERROR] xrdp_mm_connect_chansrv: error in trans_connect chan
[20230313-22:27:51] [DEBUG] Closed socket 18 (AF_INET6 ::1 port 42000)
[20230313-22:27:51] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<MY SERVER IP> port 3389)
[20230313-22:27:51] [DEBUG] xrdp_mm_module_cleanup
[20230313-22:27:51] [DEBUG] Closed socket 19 (AF_UNIX)
[20230313-22:27:51] [DEBUG] Closed socket 20 (AF_UNIX)
[20230313-22:27:54] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:<IP_ADDRESS> port 61809
[20230313-22:27:54] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<MY SERVER IP> port 3389)
[20230313-22:27:54] [DEBUG] Closed socket 11 (AF_INET6 :: port 3389)
[20230313-22:27:54] [INFO ] Using default X.509 certificate: /etc/xrdp/cert.pem
[20230313-22:27:54] [INFO ] Using default X.509 key file: /etc/xrdp/key.pem
[20230313-22:27:54] [DEBUG] TLSv1.3 enabled
[20230313-22:27:54] [DEBUG] TLSv1.2 enabled
[20230313-22:27:54] [DEBUG] Security layer: requested 3, selected 1
[20230313-22:27:54] [DEBUG] Closed socket 12 (AF_INET6 ::ffff:<MY SERVER IP> port 3389)

and 2 seconds after, client side:
xfreerdp +glyph-cache +clipboard /relax-order-checks /u:<user> /v:<hostname> /p:<password> /size:1920x1080

If I run xfreerdp without password, I have X  prompt, sesman seems to be OK, then I got a black screen.
In Xorg user log, I get:
grep -F '(EE)' /home/debian/.xorgxrdp.10.log
[  3356.416] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted

Ran chmod 777 on /dev/dri/card0, restarted the xfreerdp client command, but failed with:
[05:38:57:199] [689993:689994] [INFO][com.freerdp.core] - ERRINFO_LOGOFF_BY_USER (0x0000000C):The disconnection was initiated by the user logging off their session on the server.
[05:38:57:199] [689993:689994] [ERROR][com.freerdp.core] - rdp_set_error_info:freerdp_set_last_error_ex ERRINFO_LOGOFF_BY_USER [0x0001000C]

You've now got xrdp talking to sesman. That does indeed seem to be #1805.
 Can you set the machine up with a stable configuration, report exactly what is happening, and then we can work on it a step at a time.

#To get it to work:
I use
server side

debian 11
xorgxrdp   1:0.2.12-1
xrdp  0.9.12-1.1

sesman.ini:
# grep '^Listen' /etc/xrdp/sesman.ini
ListenAddress=<IP_ADDRESS>
ListenPort=3350

xrdp.ini only to localhost:
port=tcp://.:3389

ss:
# ss -lnp '( sport = 3350 )'
Netid     State      Recv-Q     Send-Q         Local Address:Port         Peer Address:Port    Process
tcp       LISTEN     0          2                      [::1]:3350                 [::]:*        users:(("xrdp-sesman",pid=37773,fd=7))
mptcp     LISTEN     0          2                      [::1]:3350                 [::]:*        users:(("xrdp-sesman",pid=37773,fd=7))

xrdp -v:
# xrdp -v
xrdp 0.9.12
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2018 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-ipv6
      --enable-jpeg
      --enable-fuse
      --enable-rfxcodec
      --enable-opus
      --enable-painter
      --enable-vsock
      --build=x86_64-linux-gnu
      --prefix=/usr
      --includedir=${prefix}/include
      --mandir=${prefix}/share/man
      --infodir=${prefix}/share/info
      --sysconfdir=/etc
      --localstatedir=/var
      --disable-silent-rules
      --libdir=${prefix}/lib/x86_64-linux-gnu
      --libexecdir=${prefix}/lib/x86_64-linux-gnu
      --disable-maintainer-mode
      --disable-dependency-tracking
      --with-socketdir=/run/xrdp/sockdir
      build_alias=x86_64-linux-gnu
      CFLAGS=-g -O2 -fdebug-prefix-map=/build/xrdp-ftEFny/xrdp-0.9.12=. -fstack-protector-strong -Wformat -Werror=format-security
      LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed
      CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
      PKG_CONFIG_PATH=/build/xrdp-ftEFny/xrdp-0.9.12/pkgconfig

  Compiled with OpenSSL 1.1.1n  15 Mar 2022

Client side:

run a ssh tunnel to avoid exposure of server port 3389
LinuxMint 21
freerdp2-x11 2.6.1+dfsg1-3ubuntu2.3
command:

xfreerdp +glyph-cache +clipboard /relax-order-checks /u:<USERNAME> /p:'<PASSWD>' /v:localhost /size:1920x1080

Xorg log from user:
[   229.821] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted

This is just a warning I guess
$ groups
noderig video render ssl-cert xrdp tsusers

The group `video` is mandatory here.

load drm module early:

cat /etc/modules-load.d/xrdp.conf
drm

at the end of `/etc/xrdp/startwm.sh` according to https://wiki.archlinux.org/title/Xrdp#Black_screen:

#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
. ~username/.xrdpinitrc

`~username/.xrdpinitrc`:

exec startxfce4

Issue solved.

Conclusion, Need to patch  `/etc/xrdp/startwm.sh` to get it works.

Super.
The video group addition may well be fixed for you when neutrinolabs/xorgxrdp#241 makes it into a build. On the other hand you could look at some of the workarounds in that PR.
Also, to run XFCE4, look at either:-

sudo update-alternatives --query x-session-manager is probably set to GNOME. You can set this to xfce4. See this comment
ln -s $(which startxfce4) ~/.xsession may well also work for you.

The first is system-wide and the second is specific to a user.

I confirm it works creating ~/.xsession and back to original XRDP conf.


typo

Hi @anavinahar, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Anavi Nahar). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@anavinahar : Thanks for your contribution to the Azure documentation! The author, @jimdial, has been notified to review your proposed change.

#sign-off


Change detection: Iso cluster Step

Unable to completet the Register step without previous steps added to tasks.  A link file needs to be previously created with directions.

This is an optional field - It works for me without creating the link file. I think the link file is for images that are very separated from each other, which our images aren't.

Yes, the tool works for me.  I think directions would have helped so that the user would know that it is an optional step.  I looked into what the tool does and it puts a temp geotransformation on the input image.  The image is resampled in the process.  Because the two images used are already so closely aligned, I would (as the user) rather skip this step rather than have the image resampled.


Fix: Anonymize uploaded files

Hi,
Currently, when we upload a file (for example to illustrate a resource), the name of the created resource keeps the name of the local file. This may cause some unwanted behaviours:

Privacy issues: If the user who uploaded the named it with personal information in the filename, these are kept on the server
Duplication issues: If a file is uploaded more than one time, its name is currently duplicated, with a number added after its extension (ex: https://data.virtual-assembly.org/files/logo_av1.png1) which can confuse users, screen readers, robots, etc.

I propose in this PR to replace local file names by an UUID generated name (keeping the file extension) [commit 49dd8373b94b606356b3ebf015d99299674c3fb8]
I also typed the modified file in Typescript. Due to dependencies I started to type data-provider config object, this could surely be improved to be more restrictive, but as a first typing pass I think it's ok. I changed the attribute noImplicitAny to true in the Typescript config, to prevent from files with unknown variables types to be validated [commit e943c37795d33a4a08cd7e5d73efbce14410d9e8]

My bad, I missed the point that file name could be computed in LDP service if the slug was not sent!
It's working well without the extension, but I think it's better with. For users who want to download a uploaded image for example, it's more user-friendly if the extension is already set.
I propose in this commit fd3964274b3f8b116f9f937b27c68c7a4a70e034 that we only send the file extension to the LDP service, which compute the correct slug with uuid if extension is found in headers.

I'm a bit unconfortable with adding new HTTP headers since, with SemApps, we try to stay as close as possible to standards and I'm not aware of an existing header for suggesting file extensions (the Slug  header is in the LDP specs). The only custom header we handle for now is JsonLdContext` and it going to be thoroughly documented.
If keeping the extension seems important to you (and that was my question), then maybe your original solution was more appropriate to keep up with the standards.
Another solution could be to guess the extension from the MIME type that is always sent along with binaries. There are packages for that. It won't work with unknown MIME type, but then we could just do without extension ? What do you think ?
I'm sorry to make you rewrite your code for such precious core contributions. It could be interesting to see how we could improve our processes. The best practice would probably be to first post issues, and to do a PR only when they are approved.

I'm a bit unconfortable with adding new HTTP headers since, with SemApps, we try to stay as close as possible to standards and I'm not aware of an existing header for suggesting file extensions (the Slug header is in the LDP specs). The only custom header we handle for now is JsonLdContext and it going to be thoroughly documented.

It's ok, I didn't know Slug header was in some standards (I'm kind of a newbie in this domain, and not so aware of all standards sry), but totally ok to stay as close as possible to standards.

If keeping the extension seems important to you (and that was my question), then maybe your original solution was more appropriate to keep up with the standards ?

I agreed with you on the addition of a new lib in frontend package which could be annoying, so I prefer your latest proposition.

Another solution could be to guess the extension from the MIME type that is always sent along with binaries. There is a package for that (used by 26M Github repositories !). It won't work with unknown MIME type, but then we could just do without extension ? What do you think ?

I amended my commit 820bf842d905315ee2da922e61e6dc8a39c9bd40 with that solution and it's working well too :)

I'm sorry to make you rewrite your code for such precious core contributions. It could be interesting to see how we could improve our processes. The best practice would probably be to first post issues, and to do a PR only when they are approved.

No problem. I haven't all these issues in mind when I did this (small) change. For bigger changes it could be best to first post an issue. Event if sometimes it's easier and faster to work on a minimal implemented solution to see all implicated changes I think.


KongClusterPlugin section should describe how to configure global plugin

Currently, "Configure a global plugin" lives under "Using KongPlugin resource" section(https://docs.konghq.com/kubernetes-ingress-controller/1.2.x/guides/using-kongplugin-resource/#configure-a-global-plugin), but it's actually telling
about usage about KongClusterPlugin resource.
It can be moved to and "Using KongClusterPlugin resource" section,
and a link to the new place will appear in the old section.
From https://github.com/Kong/kong/issues/6984

Looks like the "Using KongPlugin resource" section in https://docs.konghq.com/kubernetes-ingress-controller/1.2.x/guides/using-kongplugin-resource/#configure-a-global-plugin doesn't actually add any info that the specific KongClusterPlugin topic doesn't have. It does have better lead-in and descriptive text, so we can make use of that, but you're right - this doesn't belong here and is mostly confusing.


Improve the Lifetime message documentation

Make the specification of what Lifetime message is used for as clear and precise as possible.
Fixes #250.

Skipping release notes, I think they are not necessary for such a small documentation change.

Enabling auto-merge.


A brief introduction to the power of naming conventions.

Could possibly be expanded but https://github.com/mhkeller/javascript-tips/commit/f4bd891ec602b2438f08ed88aef190b72b0dbbc9


Virtctl doesnt provide any output on successful start/stop vm

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug
/kind enhancement

What happened:
virtctl start/stop has no output on success
What you expected to happen:
i would expect to get some output, such as 'vm X successfully started/stopped'
How to reproduce it (as minimally and precisely as possible):
virtctl start/stop vm_name
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
v0.7.0-alpha.2-dirty (notice 'dirty', expect another issue :))
Kubernetes version (use kubectl version):
VM or VMI specifications:
Cloud provider or hardware configuration:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

that would require to wait on the result, where the current behaviour is basically "Request to start/stop the VM sent successfully"?

im ok with the current behavior, but would appreciate some output, your suggestion of 'request to...' is good enough for me

Note to developer:
The commands to start and stop a VM (essentially launch or kill a VirtualMachineInstance) is actually a wrapper around the kubectl patch command. The command in question occurs around line 113 of pkg/virtctl/vm/vm.go:
        _, err := virtClient.VirtualMachine(namespace).Patch(vm.Name, types.MergePatchType, []byte(bodyStr))

The current implementation returns an error from the Run function, but does not otherwise indicate success.
One possible approach would be to simply add a log message (found in pkg/log/log.go), or to simply use "fmt.Printf".
A more elaborate stretch goal would be to honor the original request and block/not return until the VirtualMachineInstance is started or stopped. This would require periodic polling. Something along the lines of:
import utilwait "k8s.io/apimachinery/pkg/util/wait"

func checkVM(virtClient kubecli.KubevirtClient) bool {
    ....
}

err := utilwait.PollImmediate(retryInterval, retryLimit, checkVM(vlrtClient, vmName)
if err != nil {
    return fmt.ErrorF("timed out waiting for VM: %v", err)
}

Please note, the code above is not complete, it's simply meant to put you on the right track.
HINT: Assuming we started a VirtualMachine named 'vm-cirros', the VirtualMachineInstance of interest would have a label: kubevirt.io/vm: vm-cirros.
pkg/virt-controller/watch/vmi.go has a function called filterMatchingPods which is very close to what we need here (except it's looking for pods):
selector, err := v1.LabelSelectorAsSelector(&v1.LabelSelector{MatchLabels: map[string]string{virtv1.DomainLabel: vmi.Name, virtv1.AppLabel: "virt-launcher"}})

@stu-gott I would like to give a try if no one else

Users coming from OSP and OCP users will not expect a synchronous wait on this kind of operation ( cloud instance or container respectively). Should a synchronous wait for success be an additional flag the use passes ?

The simplest thing is just like #1292, put a message like the request xxx is sent successfully, the message can be improved a little bit like adding "please check the VM status by blabla...".
I vote for  "wait for results" and filtering some message from virt-handler pod like:
Virtual machine AAA is scheduled to node BBB.

If it's using an image, check image existence:
Image is not existed...
Pulling image kubevirt/fedora-cloud-registry-disk-demo
VM is ready to start
VM is running

I think @BradfordNichols might have a point here. Perhaps we should make non-blocking the default, and add something like a --watch flag to the command to invoke an interactive status update along the lines of what @gouyang articulated.

@stu-gott could you have a look at the suggested PR on https://github.com/kubevirt/kubevirt/pull/1307 which added the option to block till the action (start/stop) is completed ?

I think that it is expected that everything is asynchronous in k8s. When I do
kubectl.sh scale -n kube-system deployment/kube-dns --replicas=3
deployment.extensions "kube-dns" scaled

it also only does a patch. It is not waiting until all three instances are created. I would want us to follow with our message style here. So virtualmachine "myvm" started instead of something like start request for virtualmachine "myvm" issued.


Calculate inputs count from arg types instead of names

Arg names are not available in release mode so input count was always 0. Using arg types returns correct number of inputs.
Fixes #22231

Thanks!


Adds Configuration as sub-module excluding shrinkwrap dependency to chameleon

Short description of what this resolves:
Added isSupported() method to check chameleon is supported for given target.
Changes proposed in this pull request:

Divided chameleon in core & configuration sub-module.
Added isSupported() method for Target class.

Fixes: #

LGTM. Also I have seen that the module names have already changed so for me we are ready to merge and release a new version.

LGTM, great job @dipak-pawar


How to force compile template on change data?

I use data from json files in templates. And I need a force restart Pug task on change it json. But Pug not compile because the template files did not change.

Use 'gulp.watch' to watch you json file.

@ddawnbb Watch is not problem. Problem in force compile unchanged Pug files.

@verbart could you put the code you used for your gulp build and the code in your pug files so we can understand your problem better and find a solution?

@jaireina https://github.com/verbart/verbart.github.io/blob/master/gulpfile.js#L89

@verbart thanks for the link.
It seems like your issue is not related to pug, it is related to the require function of node that you're using and the fact that it caches all the requests done through it. Because of this cache, you never see your site updated.
You can circumvent this by using the fs module to read your JSON file instead of using require. I did a couple of tests and this worked:
const fs = require('fs'); . . . //in your views task, pass the parsed json file to your template through the works variable .pipe(pug({       data: {         works: JSON.parse(fs.readFileSync('./src/data/works.json', 'utf8'))       }     }))
This issue can be closed.

Yep, that ^


internal/gamepaddb: generate respective controller dbs for each platform

What issue is this addressing?
Closes #2936
What type of issue is this addressing?
feature
What this PR does | solves
Replace singular embedded controller database file with separate generated files for each supported platform. The controller database file is some ~500KB, so this change should reduce the overall binary size per platform.
Manual validation was performed to ensure that gen_dbs.go#splitControllerDb outputs the same controllers per platform as listed in the text file. I didn't see an easy way to bake this into an automated test without rewriting the file parsing logic but I am happy to take another stab at it if preferred. In the interest of keeping the surface impact of this change small I did not modify any of the existing code in gamepaddb.go that intakes and parses the controller database.

Got it. For point 2, there is a go generate tag right above the main function. I can move it higher in the file for visibility if that helps.

For point 2, there is a go generate tag right above the main function.

Unfortunately this is not called by go generate as this file is marked as ignored.
Thanks!

Ah I see. I've made those changes!

Thanks, I'll take a look tomorrow!

I've made the requested changes. I've been writing too much rust, snake case keeps sneaking through 😅

Done!

Done!

FYI: I committed a change that I missed in this PR review https://github.com/hajimehoshi/ebiten/commit/24238e16af65be8f5813fda2fa4f1c6a5e62d905
Thank you for your great work, @kungfukennyg!

Sweet, thanks!


Feature Request: promote kopilot to a validating webhook which as a validation webhook

LIke the title said, maybe kopilot could be deployed as a validating webhook, any kubernetes resources, like CRDs, submitted will need to be validated, reviewed or audited.

This might be a good idea, but I suspect  neither ChatGPT nor any other AI services are mature enough. I think product like Open Policy Agent is a better choice in this case.

Sure. It's good enought to be a kubectl plugin now.


[HUDI-1014] Adding Upgrade and downgrade infra for smooth transitioning from list based rollback to marker based rollback

What is the purpose of the pull request

This pull request adds upgrade/downgrade infra for smooth transition from list based rollback to marker based rollback*

A new property called hoodie.table.version is added to hoodie.properties file as part of this. Whenever hoodie is launched with newer table version i.e 1(or moving from pre 0.6.0 to 0.6.0), an upgrade step will be executed automatically to adhere to marker based rollback.*

This automatic upgrade step will happen just once per dataset as the hoodie.table.version will be updated in property file after upgrade is completed once*

Similarly, a command line tool for Downgrading is added if incase some user wants to downgrade hoodie from table version 1 to 0 or move from hoodie 0.6.0 to pre 0.6.0*

Brief change log

Added UpgradeDowngradeUtil to assist in upgrading or downgrading hoodie table
Added Interfaces for upgrade and downgrade and concrete implementations for upgrading from 0 to 1 and downgrading from 1 to 0.
Made some changes to ListingBasedRollbackHelper to expose just rollback stats w/o performing actual rollback, which will be consumed by Upgrade infra

Verify this pull request
This change added tests and can be verified as follows:

Added TestUpgradeDowngradeUtil to verify the change.

Committer checklist

[x] Has a corresponding JIRA in PR title & commit

[x] Commit message is descriptive of the change

[x] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@n3nash @vinothchandar : you folks can review the patch.

@nsivabalan  can you squash and rebase against master? Also please add the great description you have on the PR body into the commit message itself.

@nsivabalan I rebased this against master

sure. I was planning to do it this mrng. anyways. LMK if you want me to fix the commit msg or you gonna take care of it as well.

@nsivabalan I already did that as well. Will review and push some changes to this PR

Local test
vmacs:HUDIDATA vs$ cat /tmp/hudi_trips_cow/.hoodie/hoodie.properties
#Properties saved on Sun Aug 09 01:02:02 PDT 2020
#Sun Aug 09 01:02:02 PDT 2020
hoodie.table.name=hudi_trips_cow
hoodie.archivelog.folder=archived
hoodie.table.type=COPY_ON_WRITE
hoodie.timeline.layout.version=1
vmacs:HUDIDATA vs$ cat /tmp/hudi_trips_cow/.hoodie/hoodie.properties
#Properties saved on Sun Aug 09 01:04:53 PDT 2020
#Sun Aug 09 01:04:53 PDT 2020
hoodie.table.name=hudi_trips_cow
hoodie.archivelog.folder=archived
hoodie.table.type=COPY_ON_WRITE
hoodie.table.version=1
hoodie.timeline.layout.version=1

vmacs:HUDIDATA vs$ ls -R  /tmp/hudi_trips_cow/.hoodie/
20200809010202.commit<PHONE_NUMBER>0452.commit.requested  archived
20200809010202.commit.requested<PHONE_NUMBER>0452.inflight          hoodie.properties
20200809010202.inflight<PHONE_NUMBER>0453.rollback
20200809010452.commit<PHONE_NUMBER>0453.rollback.inflight

New tables have version written now
vmacs:HUDIDATA vs$ cat  /tmp/hudi_trips_cow_new/.hoodie/hoodie.properties
#Properties saved on Sun Aug 09 01:08:18 PDT 2020
#Sun Aug 09 01:08:18 PDT 2020
hoodie.table.name=hudi_trips_cow
hoodie.archivelog.folder=archived
hoodie.table.type=COPY_ON_WRITE
hoodie.table.version=1
hoodie.timeline.layout.version=1
vmacs:HUDIDATA vs$

@nsivabalan updated the PR with changes.
See UpgradeDowngrade.java for the new protocol. I added code to actually write the table version into hoodie.properties for new tables. Other than that, its mostly code cleanup.

@nsivabalan the concerns you raised around the tests . Are these tests in current form not testing anything? is that what you are pointing out?

  // set hoodie.table.version to 0 in hoodie.properties file
    metaClient.getTableConfig().setTableVersion(HoodieTableVersion.ZERO);

    if (induceResiduesFromPrevUpgrade) {
      createResidualFile();
    }

    // should re-create marker files for 2nd commit since its pending. If there was any residues, no upgrade steps should happen except for updating the hoodie.table.version
    UpgradeDowngrade.run(metaClient, HoodieTableVersion.ONE, cfg, jsc, null);

@nsivabalan this won't be a no-op for sure IMO. setTableVersion() no longer persists the version to dfs. just in memory. but for upgrade it does not matter, since default is ZERO.

Pushed some fixes to tests. I think the tests should be testing. lmk if you think otherwise.
lets iterate quickly and get this in. :)


Creating README.md.

Thank you, @nadimm-rahman , for the feedback. I have updated top section accordingly.
@carlacummins, any comments?


feat(release): create Docker hub binaries when tagging

Motivation
We'd like to have binaries published in Docker Hub for easier pulling, as people is more used to use the pull <org>/<image>:<tag> approach when pulling Docker images, instead of long URLs which could also change.
Designs
Publish binaries to Docker Hub when we're making a new release.
Solution

Create a new workflow for binary releases
Just build this binaries when a tag is created
This binaries are meant to be push to Docker Hub
We just want tags starting with v to start a release

Fixes #1963
Review
We might want to be more strict with which tags to release to Docker Hub.
Reviewer Checklist

[ ] Code implements Specs and Designs
[ ] Tests for Expected Behavior

Follow Up Work
Update https://github.com/ZcashFoundation/zebra/pull/4917 with this information (?)

Seems like this needs further testing as this condition is not working as expected . I'm pulling it back to draft in the meanwhile as I have to find a better way to make this work as expected https://github.com/ZcashFoundation/zebra/pull/5138/files#diff-5b40193e09025fd041de92d38c976d0b469e3ee85bef45a71d05d8b5078b1ee8R111

There were a bunch of edge cases, but this is finally ready!


Fix #502 - crash on exit if no BLE adaptor found on Windows

if init() fails we don't want to try and clear up on exit because _usbDevice will be undefined.

Thanks @gfwilliams!


Negative edge triggered FFs not supported in Yosys?

Not an issue, just a question:
We have a negative edge triggered FF in our verilog design that we wish to retain. However, when trying to write FIRRTL in Yosys, the error reads:  ERROR: Negative edge clock on FF bp_be_pipe_mem_00.$procdff$253411
Also found out that FIRRTL doesn't support negative edge triggered FFs. Would the cause of the error be that? If so, could we expect any way to address this error -- like being able to infer such negedge FFs as posedge FFs clocked by a T/2 phase shifted clock or something? Or if there's any better way to do this, please let me know.
Discussion on that here: https://github.com/chipsalliance/firrtl/issues/695
A simple test case and yosys script:
module test(clk, a, b, out);
  input clk, a, b;
  output out;
  reg t;
  always @(posedge clk)
    t <= a;
  always @(negedge clk)
    out <= t & b;
endmodule

read_verilog test.v
proc
write_firrtl test.fir

TIA

Also found out that FIRRTL doesn't support negative edge triggered FFs. Would the cause of the error be that? If so, could we expect any way to address this error -- like being able to infer such negedge FFs as posedge FFs clocked by a T/2 phase shifted clock or something?

This is what the dfflegalize pass is for; in this case techmap; dfflegalize -cell $_DFF_P_ x is enough to insert a NOT gate on the clock input to turn it into a supported positive-edge clocked flop.
However, this then runs into the problem that write_firrtl chokes on the $_DFF_P_ cell as unsupported. Implementing support for that seems like just extending https://github.com/YosysHQ/yosys/blob/master/backends/firrtl/firrtl.cc#L899-L915 to work for that cell type.

Thanks, dfflegalize works until write_firrtl just like you detailed.
From what I saw, $dff is more general -- has a field to specify edgedness; $DFF_P is explicitly posedge triggered. So, if we are sure of not using any negedge triggers in our design, then (for now; will see about fixing later) modifying the firrtl.cc file you linked to accept either $dff or $DFF_P should work, right? Do you see anything off here?

Yosys has a lot of flop types, so it's not a complete solution, but it
would solve the problem here.
On Wed, 20 Oct 2021, 03:45 anoop, @.***> wrote:

Thanks, dfflegalize works until write_firrtl just like you detailed.
From what I saw, $dff is more general -- has a field to specify edgedness;
$DFF_P is explicitly posedge triggered. So, if we are sure of not using
any negedge triggers in our design, then (for now; will see about fixing
later) modifying the firrtl.cc file you linked to accept either $dff or $
DFF_P should work, right? Do you see anything off here?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/YosysHQ/yosys/issues/3049#issuecomment-947271600, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AALPDW54WG5C7764WAEU6OTUHYUMXANCNFSM5GFVQP5A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I'm running into the issue as well. I feel like I'm not wrong for thinking that not supporting any type of FF is insane. I haven't been able to find any work around or solution and FF are fundamental primitive.

Yosys does support negedge triggered FFs. The title of this issue is inaccurate: it's not an omission in Yosys but in FIRRTL.
FIRRTL is not developed any more so I'm going to close this issue.


[Bug][UI Next][V1.0.0-Alpha] The status field of the task instance page does not support Chinese.

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened

What you expected to happen
The status field of the task instance page does not support Chinese.
How to reproduce
Support chinese.
Anything else
No response
Version
dev
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I will fix it.


Location switch bug fix

Came across this random bug where the location change wouldn't stick in Chrome... the fix ended up being to clear the session before adding to it.

 If youre not, then it still fails to let you switch. The right session var is setup, but on page reload it resets back. Any guidance gratefully received!

Ok, want to ask before I commit changes...
https://github.com/tastyigniter/TastyIgniter/blob/5bcbeed4dabf39c2f14aab97dffe376409508168/app/admin/classes/Location.php#L111
Should this not be
return !$this->getAuth()->locations()->contains(function ($model) use ($id) {
            return $model->location_id === $id;
        });

https://github.com/tastyigniter/TastyIgniter/blob/5bcbeed4dabf39c2f14aab97dffe376409508168/app/admin/classes/Location.php#L62
Should this not be isEmpty()
Feels like the functions do the reverse of what their name suggests?

Hmm actually, thats not right either.
I think this:
https://github.com/tastyigniter/TastyIgniter/blob/5bcbeed4dabf39c2f14aab97dffe376409508168/app/admin/classes/Location.php#L32
needs to become:
if ((!$id AND $this->hasRestriction()) OR !$this->hasAccess($id))

Yea the last one works but then breaks as hasLocationAccess expects a model, so maybe rename isNotAttachedToAuth to isAttachedToAuth and add
if ($this->getAuth()->isSuperUser())
     return TRUE;

so we end up with if ((!$id AND $this->hasRestriction()) OR !$this->isAttachedToAuth($id))
the changes to the Menu widgets won't be needed.

Yep thats perfect. Updated.


nullsafety

Hi @nitehogg
I would appreciate your review.

Let me get familiar with the null safety feature, then I'll take a look. Hopefully within the next 24 hours.

I noticed a problem: The null safety work should be on a branch which you publish as its own release. The older version should remain on the main branch for now.
At the moment, the main branch is only null-safe, breaking other mainstream packages that depend on it.

I noticed a problem: The null safety work should be on a branch which you publish as its own release. The older version should remain on the main branch for now.
At the moment, the main branch is only null-safe, breaking other mainstream packages that depend on it.


tab "Default custom query" is availible for admin user only

I enable module "Default Custom Query" in project settings.
But tab "Default custom query" is availible for admin user only. But plugin works right.
Redmine version                3.3.1.stable
Ruby version                   2.2.3-p173 (2015-08-18) [x86_64-linux]
Rails version                  <IP_ADDRESS>

Pardon, the problem is solved by roles settings.


What is Icon in action

Action require Icon, What is the type of icon? Is it image URL or Image class of react-native I tried both but didn't work.

check wiki https://github.com/lazaronixon/react-native-turbolinks/wiki/Icons


Create a Bootstrap theme for v6

In order to test @maurohmartinez 's tutorial on how to create new themes in Backpack v6, it'd be interesting to create a new theme with plain Bootstrap styles - like the ones in the examples here - https://getbootstrap.com/docs/5.3/examples/
The point being that we could use this basic theme:

either as the ultimate fallback to other themes (Tabler, CoreUIv4)
OR as a starting point for any new themes

Please don't go overboard @promatik 😀 The point for this isn't to change theme file structure, but to review the tutorial and our whole theming architecture and process. We could (or maybe should) change file structure, I know... but that's a whole separate thing.
Our goal with the tutorial: anybody to be able to create a new Backpack theme... in under 5 hours.

Here the steps to do it!

Update:

we now have better steps to do it in https://backpackforlaravel.com/docs/6.x/add-ons-tutorial-how-to-create-a-theme
I've create a Bootstrap theme, just to test the process; here's the zip for it - theme-bootstrap.zip

And you know what... I kind of like it:

It's very minimalistic. Of course, it needs quite a bit of polish in terms of looks. Needs someone to spice it up with extra CSS. THEN we can actually use this theme - we can recommend people use this as the fallback theme instead of CoreUIv4, because it's the simplest.

Can't continue working on this right now though... we have a v6 to launch TO.DAY! 🎉💪
We'll continue next week, after launch.


Add apidiff tool.

This tool will generate a report in JSON format describing changes to
public surface area between two specified commits.  It can work on
individual packages or a set of packages under a specified directory.
Please see the help for details on usage of the tool.
Thanks you for your contribution to the Azure-SDK-for-Go! We will triage and review it as quickly as we can.
As part of your submission, please make sure that you can make the following assertions:

[ ] I'm not making changes to Auto-Generated files which will just get erased next time there's a release.

If that's what you want to do, consider making a contribution here: https://github.com/Azure/autorest.go

[ ] I've tested my changes, adding unit tests where applicable.
[ ] I've added Apache 2.0 Headers to the top of any new source files.
[ ] I'm submitting this PR to the dev branch, or I'm fixing a bug that warrants its own release and I'm targeting the master branch.
[ ] If I'm targeting the master branch, I've also added a note to CHANGELOG.md.
[ ] I've mentioned any relevant open issues in this PR, making clear the context for the contribution.

Fixes https://github.com/Azure/azure-sdk-for-go/issues/1061.

Can one of the admins verify this patch?


Update api-schema-builder

Support OpenApi formats by default - Closes #88 and closes #70
Accept JSON Schema in constructor - Closes #80
Update types

Coverage remained the same at 99.145% when pulling eb306608263853aaa5e88ebe92ef3f1d970b7267 on update-deps into 1fcb4248d26693da82f6d07c523f92dfc8ec25e3 on master.

Coverage remained the same at 99.145% when pulling eb306608263853aaa5e88ebe92ef3f1d970b7267 on update-deps into 1fcb4248d26693da82f6d07c523f92dfc8ec25e3 on master.


jackett: 0.17.598 -> 0.17.606

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Jackett/Jackett/releases.
meta.description for jackett is: "API Support for your favorite torrent trackers"
meta.homepage for jackett is: "https://github.com/Jackett/Jackett/"
meta.changelog for jackett is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.17.606 with grep in /nix/store/wdslhfq8cj9fnkz05w0a416c2zjniwx8-jackett-0.17.606

directory tree listing: https://gist.github.com/252a158c50f4f8d2c0165eccb27be51d

du listing: https://gist.github.com/eb6dd95122cde2154283574aca6dbe22

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
jackett

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wdslhfq8cj9fnkz05w0a416c2zjniwx8-jackett-0.17.606 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A jackett https://github.com/r-ryantm/nixpkgs/archive/3b6fe1d600fa6de9aa9f5a030304c00d73c32c86.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wdslhfq8cj9fnkz05w0a416c2zjniwx8-jackett-0.17.606
ls -la /nix/store/wdslhfq8cj9fnkz05w0a416c2zjniwx8-jackett-0.17.606/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

jackett

Maintainer pings
cc @edwtjo @nyanloutre @purcell for testing.

Result of nixpkgs-review pr 114921 at 3b6fe1d6 run on aarch64-linux 1

1 package built:

jackett

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/servers/jackett/default.nix:14:3:
   |
14 |   installPhase = ''
   |   ^


[Rector] Re-run InlineIfToExplicitIfRector on Latest Rector 0.11.36

With improved InlineIfToExplicitIfRector to allow any expr in right expr.
Skipped for constant definition on app/Config and system/Test/bootstrap.php like:
defined('SHOW_DEBUG_BACKTRACE') || define('SHOW_DEBUG_BACKTRACE', true);

Checklist:

[x] Securely signed commits

tests error seems unrelated.

It is strange, test somewhat only error on this branch:
➜  CodeIgniter4 git:(update-rector-inline-if) git clean -xfd app/ && vendor/bin/phpunit tests/system/Commands/ConfigurableSortImportsTest.php
PHPUnit 9.5.6 by Sebastian Bergmann and contributors.

Runtime:       PHP 8.0.8 with Xdebug 3.0.4
Configuration: /Users/samsonasik/www/CodeIgniter4/phpunit.xml.dist

FF.                                                                 3 / 3 (100%)

Time: 00:01.010, Memory: 38.00 MB

There were 2 failures:

1) CodeIgniter\Commands\ConfigurableSortImportsTest::testPublishLanguageWithoutOptions
Failed asserting that two strings are not identical.

/Users/samsonasik/www/CodeIgniter4/tests/system/Commands/ConfigurableSortImportsTest.php:37

2) CodeIgniter\Commands\ConfigurableSortImportsTest::testEnabledSortImportsWillDisruptLanguageFilePublish
Failed asserting that two strings are not identical.

/Users/samsonasik/www/CodeIgniter4/tests/system/Commands/ConfigurableSortImportsTest.php:50

FAILURES!
Tests: 3, Assertions: 9, Failures: 2.

Generating code coverage report in Clover XML format ... done [00:01.898]

oh, cs fixed seems cause it.

All green 🎉


Failed to create stack

Hi Expert,
My DR plan is:

do snapshot in us-west-1 region, us-west-1 is source.
copy snapshot to us-west-2 region. us-west-2 is destination

Because this is DR plan, I would like to put snapshot tool to different region instead of us-west-1. I supposed we cannot use us-west-1 any more when something happened, that's mean I cannot use S3 in us-west-1.
so I created a S3 in us-west-2 for us-west-1. But I failed to create stack in us-west-1.
Here is my mapping:
"Mappings": {
"Buckets": {
"us-east-1": {
"Bucket": "snapshots-tool-aurora-us-east-1"
},
"us-west-1": {
"Bucket": "xxxx-db-dr-tools"
},
"us-west-2": {
"Bucket": "snapshots-tool-aurora-us-west-2"
},
"us-east-2": {
"Bucket": "snapshots-tool-aurora-us-east-2"
},
"ap-southeast-2": {
"Bucket": "snapshots-tool-aurora-ap-southeast-2"
},
"ap-northeast-1": {
"Bucket": "snapshots-tool-aurora-ap-northeast-1"
},
"eu-west-1": {
"Bucket": "snapshots-tool-aurora-eu-west-1"
},
"eu-west-2": {
"Bucket": "snapshots-tool-aurora-eu-west-2-real"
},
"eu-central-1": {
"Bucket": "snapshots-tool-aurora-eu-central-1"
}
}
},
Here is error information:
10:28:07 UTC-0700	ROLLBACK_IN_PROGRESS	AWS::CloudFormation::Stack	snapshot-stack-ben	The following resource(s) failed to create: [lambdaTakeSnapshotsAurora, lambdaDeleteOldSnapshotsAurora]. . Rollback requested by user.
10:28:06 UTC-0700	CREATE_FAILED	AWS::Lambda::Function	lambdaTakeSnapshotsAurora	Resource creation cancelled
10:28:06 UTC-0700	CREATE_FAILED	AWS::Lambda::Function	lambdaDeleteOldSnapshotsAurora	Error occurred while GetObject. S3 Error Code: PermanentRedirect. S3 Error Message: The bucket is in this region: us-west-2. Please use this region to retry the request (Service: AWSLambda; Status Code: 400; Error Code: InvalidParameterValueException; Request ID: dc5c1ed1-c343-11e8-a7e0-adf5d5e6a444)
Ben

I think the assumption is not correct, because if something happened in us-west-1, I don't need to get any snapshot from us-west-1.


twister: Allow to find single tests by scenario name

This commit expands the --test/-s option. Now it allows to use both a canonical name (with path,
e.g. -s zephyr/samples/hello_world/sample.basic.helloworld) as before but also by just a scenario name(without the path,
eg. -s sample.basic.helloworld)
Signed-off-by: Maciej Perkowski<EMAIL_ADDRESS>

IMO it is more convenient to just use scenario name instead of the canonical name.

Looping in @asemjonovs and @tristan-google. I think we wanted to have west test which would call twister without having to know where zephyr/scripts/twister is relative to the CWD. Our custom command would inject -T for the west project root so by default we're not just using Zephyr's tests. So the thinking for us was:
$ west test -s <relative>/<path>/<to>/<test>/<test.name>
  # Runs the specified test using a relative path
$ west test -T <relative>/<path/<to>/<test>
  # Runs all the tests in the directory as specified by <relative>/<path/<to>/<test>/testcase.yaml

I agree it would be most intuitive if -s worked off true relative or absolute filesystem paths, with a specific test case scenario from the testcase.yaml at that location appended. The current test name/path format expected by -s feels too implicitly derived and arbitrary in the way it combines the "external" keyword and portions of a file path (which in our case appears to be relative to the closest common ancestor of twister's CWD and ZEPHY_BASE?) I actually couldn't figure out the correct string to pass in to -s for our out-of-tree setup until I inserted some print statements in add_testsuites() to see what the filter string was being compared against.


[bug] GM Screen cells remain blank

On macOS 10.15.7, Firefox 83.0 (64bit). Foundry 0.7.8, D&D5 1.1.1, GMScreen 1.0.0.
GMScreen cell remains blank despite me selecting an entity (whether it be an actor, item, rollable table or journal entry) from the dropdown. Refreshing the GMScreen deselects my choice (and changes nothing in the cell).
Am I doing anything wrong (or not doing something I should)?

Thanks for the report @xurxodiz, I admit I haven't tested on OSX or Firefox.
Can you try Dragging an entity into a cell?
Also, do me a favor and pop open the console to see if there's any errors getting logged.

Ok, it's a Firefox thing. Same setup but on Chrome 89.0.4343.0 (x86_64) works fine. Here's the error when dropping or selecting an entity into a cell:
Uncaught (in promise) TypeError: gridElement.css(...).match(...) is null
    getGridElementsPosition https://foundry.bazarinfinito.net/modules/gm-screen/module/helpers.js:16
    _onDrop https://foundry.bazarinfinito.net/modules/gm-screen/module/classes/GmScreenApplication.js:133
    callback https://foundry.bazarinfinito.net/scripts/foundry.js:13495
    _handleDrop https://foundry.bazarinfinito.net/scripts/foundry.js:13546
    bind https://foundry.bazarinfinito.net/scripts/foundry.js:13480
    activateListeners https://foundry.bazarinfinito.net/scripts/foundry.js:4741
    activateListeners https://foundry.bazarinfinito.net/scripts/foundry.js:4741
    activateListeners https://foundry.bazarinfinito.net/modules/gm-screen/module/classes/GmScreenApplication.js:58
    _render https://foundry.bazarinfinito.net/scripts/foundry.js:4537
    render https://foundry.bazarinfinito.net/scripts/foundry.js:4479
    <anonymous> https://foundry.bazarinfinito.net/modules/gm-screen/foundryvtt-gmScreen.js:40
    _call https://foundry.bazarinfinito.net/scripts/foundry.js:2496
    callAll https://foundry.bazarinfinito.net/scripts/foundry.js:2456
    setupGame https://foundry.bazarinfinito.net/scripts/foundry.js:6565
    _initializeGameView https://foundry.bazarinfinito.net/scripts/foundry.js:7314
    initialize https://foundry.bazarinfinito.net/scripts/foundry.js:6476
    async* https://foundry.bazarinfinito.net/scripts/foundry.js:7444
    async* https://foundry.bazarinfinito.net/scripts/foundry.js:7442
helpers.js:16:47
    _onDrop https://foundry.bazarinfinito.net/modules/gm-screen/module/classes/GmScreenApplication.js:134
    _onDrop self-hosted:1161
    callback https://foundry.bazarinfinito.net/scripts/foundry.js:13495
    _handleDrop https://foundry.bazarinfinito.net/scripts/foundry.js:13546
    _handleDrop self-hosted:1161
    (Asíncrono: EventHandlerNonNull)
    bind https://foundry.bazarinfinito.net/scripts/foundry.js:13480
    activateListeners https://foundry.bazarinfinito.net/scripts/foundry.js:4741
    forEach self-hosted:206
    activateListeners https://foundry.bazarinfinito.net/scripts/foundry.js:4741
    activateListeners https://foundry.bazarinfinito.net/modules/gm-screen/module/classes/GmScreenApplication.js:58
    _render https://foundry.bazarinfinito.net/scripts/foundry.js:4537
    AsyncFunctionNext self-hosted:674
    (Asíncrono: async)
    render https://foundry.bazarinfinito.net/scripts/foundry.js:4479
    <anonymous> https://foundry.bazarinfinito.net/modules/gm-screen/foundryvtt-gmScreen.js:40
    _call https://foundry.bazarinfinito.net/scripts/foundry.js:2496
    callAll https://foundry.bazarinfinito.net/scripts/foundry.js:2456
    setupGame https://foundry.bazarinfinito.net/scripts/foundry.js:6565
    InterpretGeneratorResume self-hosted:1468
    AsyncFunctionNext self-hosted:674
    (Asíncrono: async)
    _initializeGameView https://foundry.bazarinfinito.net/scripts/foundry.js:7314
    initialize https://foundry.bazarinfinito.net/scripts/foundry.js:6476
    InterpretGeneratorResume self-hosted:1468
    AsyncFunctionNext self-hosted:674
    (Asíncrono: async)
    <anonymous> https://foundry.bazarinfinito.net/scripts/foundry.js:7444
    AsyncFunctionNext self-hosted:674
    (Asíncrono: async)
    <anonymous> https://foundry.bazarinfinito.net/scripts/foundry.js:7442

Once added to the grid through Chrome, though, opening the game on Firefox displays them just fine.

Same thing in firefox:
Uncaught (in promise) TypeError: gridElement.css(...).match(...) is null
    getGridElementsPosition 	http://  .com:30000/modules/gm-screen/module/helpers.js:16
    _onDrop 					http://  .com:30000/modules/gm-screen/module/classes/GmScreenApplication.js:133
    callback 					http://  .com:30000/scripts/foundry.js:13495
    _handleDrop 				http://  .com:30000/scripts/foundry.js:13546

Thanks for the detailed reports @srecko and @xurxodiz, I'll take a look asap.


Disallow entering frequencies 630-840MHz

BK chipset has some gap in supported frequencies. If I remember it is 630-840MHz. It should not be possible to enter that range of frequencies into VFO

that is correct

Seems to do be 630MHz to 757MHz'ish
I'll put a block on that range so the user can't set it there.

The datasheet says 18~660 and 840~1300, but it stops at 630MHz, restarts around ~757MHz, very insensitive but then that's to be expected.

"World wide band: 18 MHz ~ 660 MHz, 840 MHz ~1300 MHz" - Datasheet
https://prkele.prk.tky.fi/~ftg/files/datasheets/BK4819_Datasheet_V1.01.pdf

can't enter above 999.999 anyway

can't enter above 999.999 anyway

Is that a UI limitation?

yes

can't enter above 999.999 anyway

yes you can, you have to use up and down to enter the frq after 999.9999

oh yeah lol
never knew that !

take it up to 1300. let me know what happens ;)

oh yeah lol
never knew that !

Even I am still learning lol

Can we shrink the frequency text on the UI and increase the variable size to allow for >1GHz input?

Can we shrink the frequency text on the UI and increase the variable size to allow for >1GHz input?

Something I was thinking too... Differnt text sizes(like Fagci's)  and even different fonts

I'll let you design the slightly smaller font ;)  .. I did the small font but your turn for the bigger font

fonts take up a lot of flash bytes

I'll let you design the slightly smaller font ;) .. I did the small font but your turn for the bigger font

I prefer smaller text...makes tthings seem less crowded etc

you ever notice that your FW is never rebooted by k5prog_wn after flashing?

I haven't reviewed but there might not be any sub-1GHz checks in the code, it might just be that it places the first digit entered using the keypad in the _00.0000 place (100s of MHz)

you ever notice that your FW is never rebooted by k5prog_wn after flashing?

yes. I keep meaning to look into that

you ever notice that your FW is never rebooted by k5prog_wn after flashing?

It reboots when I use the linux executable of k5prog

I've been distracted by getting the AM fix 100% for past how ever days, and fixing the odd bug

IT checks now, it will no longer allow less than 18MHz or between 630 to 757, I need to stop the user using the up/down buttons to bypass direct freq entry

OK, I've uploaded new firmware that stops user going into the 630 to 757MHz range.

you ever notice that your FW is never rebooted by k5prog_wn after flashing?

I think I got it now. It should reboot the radio OK - let me know if it don't

Now when I put 650.000MHz into VFO then frequency is changed onto 630.000MHz. If I know 630 is forbidden also. When I use arrows then maximum frequency is 629,99375 (below 630 as we see)

you ever notice that your FW is never rebooted by k5prog_wn after flashing?

I think I got it now. It should reboot the radio OK - let me know if it don't

It does...

Now when I put 650.000MHz into VFO then frequency is changed onto 630.000MHz. It is almost right behaviour. If I know 630 is forbidden also on BK. When I use arrows then maximum frequency is 629,99375 (below 630 as we see).
I see also that upper limit is set on 760MHz. Is it right? Wer talked about 757MHz at the beginning

Yes I was lazy last night and decided not to check the current frequency step value to choose the correct frequency to limit/actually use (instead of 630 or 629,99375).
I'll do that today, was a busy day yesterday.

But yes, 630 is the chip won't do, so I need to just subtract the current frequency step value from 630 and limit it to there. I also chose 760MHz rather than 757, just to round it up a bit, Makes no odds really cuz the radio is as deaf as a stone there.

OK, think I got it right now. Just uploaded.

Upper limit is 757 or 760 ?

I've gone for 840MHz as per datasheet, but I found the PLL starts to lock around 757MHz'ish

Ticket can be closed because the fix works as expected


Allow plotting into an existing axis

Currently the plotting functions create a new Matplotlib figure and axis and return these to the caller.  It would be good if they were able to plot into existing axes, perhaps by passing ax (and perhaps fig may be needed) as optional keyword arguments.

Addressed in #152


0-1 Knapsack

Implemented the 0-1 knapsack problem.

[x] Read the contribution guidelines
[x] Added unit tests (or unit tests have already been added)
[x] Updated the Contents

Closes #188

Thanks for making those changes. Going to leave this up to @faheel to review and merge.

@heisenberg-2505 While we're waiting for Faheel's review, would you like to update the Contents?

Can you review my pull request?

@heisenberg-2505 Thank you for contributing! :+1:


Update README.md

Thanks!

I've added an abstract ... does this sound OK?
https://github.com/gammapy/2015-MPIK-Workshop/blob/gh-pages/talks/analysis-cube/README.md


<EMAIL_ADDRESS>errors when installing with<EMAIL_ADDRESS>

💥 Regression Report
Node Version: 6.9.1
NPM Version: 6.13.4
Installing Jest with these versions produces the error:
Traceback (most recent call last):   File "/opt/rh/rh-nodejs6/root/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 47, in <module>     import gyp   File "/opt/rh/rh-nodejs6/root/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 11, in <module>     import argparse ImportError: No module named argparse
Last working version
Worked up to version: 24.9.0
Stopped working in version: 25.0.0
To Reproduce
Steps to reproduce the behavior:

Node Version: 6.9.1
NPM Version: 6.13.4
Install<EMAIL_ADDRESS>
Expected behavior
It shouldn't produce that error.
Link to repl or repo (highly encouraged)
Please provide either a repl.it demo or a minimal repository on GitHub.
Issues without a reproduction link are likely to stall.
Run npx envinfo --preset jest
Paste the results here:

v25 has dropped support for node 6 - you'll need to use node 8, 10, 12 or 13


Revert "Initial work on formatting headers"

Reverts rust-lang/rustfmt#5847
There are still some pending discussions about how formatting should be handled in the presence of headers https://github.com/rust-lang/rustfmt/pull/5847#issuecomment-1994663746. @calebcartwright please let us know when t-style has made a determination on this 🙏🏼.
cc: @fee1-dead

Perhaps we should make this version gated instead of just removing it, so we can keep developing it?

Perhaps we should make this version gated instead of just removing it, so we can keep developing it?

I'd considered this as well, but I'd rather not introduce churn. Instead of reverting if you'd be up for instead preserving the original header span contents (so as to not drop comments) and/or handle the non-pending case of block style comments that fit then I'd be okay with that too

please let us know when t-style has made a determination on this

for clarity, this isn't something t-style is going to specify. generally speaking dealing with these comment scenarios is something we're going to need to determine how to handle ourselves. it's just that I think we need to actually discuss and design how we want to do this as a first step

Go ahead with the revert. I will try to find time to restore it later with the functionality you described :)


Corrected mistakes in about page

Raising a PR again. Merge it / change the code and commit yourself :wink:

:+1:


[CI][macOS] Pin LLVM version and install lld

Pinned LLVM to v19; cannot do the same for LLD though.
This allows us to revert #4827.

@antiagainst Can you make this PR ready first? It's currently still a draft

@antiagainst Can you make this PR ready first? It's currently still a draft

Done.


PR: Create new MainMenu plugin

Description of Changes

[x] Wrote at least one-line docstrings (for any new functions)
[x] Added unit test(s) covering the changes (if testable)

This PR implements

A new MainMenu plugin in charge of managing the application menu bar, menus, and menu sections.
Plugins that need to add menus or add items (Actions or submenus) to the main application menu bar will require this plugin.
The API of menus now lives in this plugin instead of the global spyder.api since the plugin is in charge of those specifics.

Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @goanpeca

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

In the file spyder/plugins/mainmenu/plugin.py:

Line 31:30: E261 at least two spaces before inline comment
Line 63:29: W291 trailing whitespace
Line 69:29: W291 trailing whitespace
Line 75:33: W291 trailing whitespace
Line 81:30: W291 trailing whitespace
Line 89:29: W291 trailing whitespace
Line 141:28: W291 trailing whitespace

/show binder

This one is ready for review @ccordoba12.

This one is ready for review and has not received feedback since August 15 @ccordoba12

Pinging @ccordoba12 just in case


Create game author class

Hi @cherelemma , hi @IsmailChangezi
I'm reaching out to request your review of the implementations I added to this PR.
features added

[ ] I created an Author class in an author.rb file with an association with the Item class and the following properties:
- first_name
-  last_name
- items (an array of instances of the Item class)
[ ] I created a Game class in a game.rb file with multiplayer  and last_played_at properties.

Requirements
I implemented these features by following these of requirements:

issue: Create Game Class and Author class
UML class diagram: Catalogue of my things

STATUS: APPROVED ✔ ✔
Hi @Tshobohwa ,
✔ All tasks are present and properly assigned
Your project is complete! There is nothing else to say other than... it's time to go ahead with the project :shipit: Congratulations! 🎉
Cheers, and Happy coding!👏👏👏
Feel free to leave any questions or comments in the Issue thread if something is not 100% clear. And please, remember to tag me in your question so I can receive the notification.

Thank you for your feedback @cherelemma


[Feat] [Core] Implement scoped SpidCieOptions

Allow SpidCieOptions to change its values dynamically on a per-RP basis

see this if helps
https://github.com/italia/spid-cie-oidc-django/blob/dev/spid_cie_oidc/relying_party/settings.py#L65
here how to select dynamically a profile for a given authorization request
https://github.com/italia/spid-cie-oidc-django/blob/dev/docs/technical_specifications/RELYING_PARTY.md#authorization


Fixes re-rendering with different props

Without creating a new object out of props.source, react native may raise an error like:
You attempted to set the key mediaOptions with the value [] on an object that is meant to be immutable and has been frozen.
However, I suggest to move all the source setup code to componentDidMount and componentWillReceiveProps.

Thanks for you suggest.


Add configuration data/secrets to the application

Hello @dalbhanj can you add some context to this issue?

This issue was created a while ago (~2 years). Closing this issue for now.


parent chromatin-mediated maintenance of transcription (GO:0048096)

chromatin-mediated maintenance of transcription (GO:0048096)
should be a descendent of
chromatin organization?
@colinlog @pgaudet

Done in #22012


duplicated http logs on 1.3.0 when not using NylasClient.Builder

Version 1.3.0 introduced NylasClient.Builder to allow more control over custom http client configuration, but retained other NylasClient constructors for backward compatibility.  However, when those other constructors are used, the SDK logs all HTTP requests and responses twice.  This will be addressed in the next release.  In the mean time, a workaround is to switch to use the NylasClient.Builder for constructing the NylasClient.

Fixed in 1.4.0


Internal: Replace Node 5 by Node 6 on CI

Blocked by :

[x] https://github.com/appveyor/ci/issues/770
[x] https://github.com/tschaub/mock-fs/issues/106

Another blocker
https://github.com/tschaub/mock-fs/issues/106

If you upgrade to<EMAIL_ADDRESS>you should be able to polish this off.

Now it's seems that linked webpack is causing the issue (the error comes from the fact that 2 webpacks deps are used, if my memory is correct, that why we use symlink, due to the fact that our test are run in a subfolder, and not a parent folder, like in real life).

Yeah. I know. I suppose because of the way node 6 resolve dependencies.


vagrant NFS timeout using mode => 'bridge'

Since upgrading to  libvirt-1.2.17-13.el7_2.4.x86_64 / vagrant 1.8.1
from libvirt-1.2.8-16.el7_1.4.x86_64 / vagrant 1.7.2
$ sudo vagrant --version
Vagrant 1.8.1
$ sudo vagrant plugin list
vagrant-libvirt (0.0.33)
vagrant-share (1.1.5, system)
vagrant up node1 --debug
When ran this  works with the NAT interface,  The failures start when it trys to use the other interface that doesnt work.
timeout on NFS
#<Vagrant::Errors::LinuxNFSMountFailed: The following SSH command responded with a non-zero exit status
LIBVIRT CONSOLE VIEW :
When I investigated what was happening I found that the type of interface that was created inside libvirt provides a warning.
Network source : Direct 'br1'
Source mode: Bridge
Yellow Triangle : In most configurations, macvtop does not work for host to guest network communication

Vagrantfile : extract of the line that matters
config.vm.define.vm.network :public_network, :
auto_config => 'false', :mode => 'bridge',
:dev => servers["public_dev"], :ip => servers["public_ip"], :netmask => servers["public_mask"]
ISSUE is that this :mode => 'bridge' no longer gives a working NIC for vagrant.
Problem seems be that this defines the XML as this
/etc/libvirt/qemu/node1.xml
<interface type='direct'>
  <mac address='XXXXXXXXXXXXXXX'/>
  <source dev='br1' mode='bridge'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</interface>

One solution :
Network Source : change this "Bridge br1: Host device eno1"
<interface type='bridge'>
  <mac address='XXXXXXXXXXXXXXX'/>
  <source bridge='br1'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</interface>

In the Vagrantfile change the following :mode => 'bridge' to :type => 'bridge'
config.vm.define.vm.network :public_network, :
auto_config => 'false', :type => 'bridge', :dev => servers["public_dev"],
:ip => servers["public_ip"], :netmask => servers["public_mask"]
This resolves the network issue, I posted this here as it caused me a great deal of reading to find a solution.

I agree this may not be trivial, but this is documented here and under Security Note here.
It is worth considering doing some sanity checks when the NFS shared folder code is rewritten under #572  and #544.
If you want to improve the documentation please send a PR for the README :+1:


Log not showing any detail after line 29 "Start tracking"

Typically, I'm getting details here...

Same for me, I can't receive the benefit of this program anymore

If you haven't updated your opcode config for 6.08 check out issue https://github.com/Soreepeong/XivAlexander/issues/331


Fix starttls_integration_test flakiness on Windows

Commit Message:
Fix starttls_integration_test flakiness on Windows by removing a race condition.
Additional Description:
On Windows, the starttls_integration_test can time out right before switching to TLS in the SwitchToTlsFromClient test case.  The test case sends a "switch" message to the receiver, waits for the receiver to read the message and drain the queue (who then starts up the switch to TLS), creates a signal to wait for a "usetls" message (payload_reader_->set_data_to_wait_for), then blocks until it receives back "usetls".  On Windows, the sender may block on the queue drain longer than usual, particularly until after the receiver has already sent back the "usetls" message.  This can result in the sender's payload_reader thread reading the "usetls" message before it has a chance to create the signal, ultimately leaving the sender blocking on a signal that already occurred.
This PR gets rid of the queue drain wait loop and sets the signal before sending the "switch" message, ensuring the correct order of operations.  Removing the loop has no effect in terms of verifying correctness, as the sender can't receive the "usetls" message if the receiver didn't drain the queue.
Risk Level: Low
Testing: Ran starttls_integration_test 2000 times on Windows.
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

cc @envoyproxy/windows-dev