A sample code to highlight one major advantage of TagUI-Python

Thanks to @kensoh in highlighting the major differences between TagUI and TagUI-Python in Issue #8.
In the reply, Ken mentioned that "TagUI for Python only has a subset of TagUI's features." I have been wondering why then do people want to switch to TagUI-Python when TagUI has more features, and TagUI-Python actually runs on top of TagUI (which means that there's an additional layer of TagUI between TagUI-Python and the website).
Decided to convert some of my TagUI scripts into TagUI-Python so that I can have some real comparisons between the two.
After one week of testing TagUI-Python, I must say that I was truly surprised and amazed by TagUI-Python!
First, TagUI-Python can do almost everything that TagUI can do.  Conversion is very simple and straightforward - just a change of the syntax.  The flow and xpath remains exactly the same, as can be seen in the following sample code.
Second, TagUI-Python is written as a native python package and run as a pure Python script. This means that you can leverage any standard Python packages out there, such as pandas used in the sample code below to save the data as a csv file.
Third, using TagUI-Python, you can now leverage on Python's native data structure (such as lists and classes), and also modules/packages to organize libraries of functions.
So below is a sample code that reads the title and url of a list of books from goodreads.com (total 18 books in that page).
Sample Code 1 - in TagUI
//goodreads.gui
//190706

https://www.goodreads.com/list/show/17347.Books_that_ll_help_you_deliver_stunning_presentations

read //h1[contains(@class, "h1")] to list_title
echo "list_title = " + list_title

num_books = count('//td/a//span[@itemprop="name"]')
echo "num_books = " + num_books

csv_header = '"Sno", "Title", "URL"\r\n'
dump csv_header to book_list.csv

for (n=1; n<=num_books; n++)
{
	read (//td/a//span[@itemprop="name"])['+n+'] to book
	echo "book = " + book

	read (//td/a/@href)['+n+'] to url2
	echo "url2 = " + url2

	record = '"' + n + '","' + book + '","' + url2 + '"'
    write record to book_list.csv
}

Sample Code 2 - in TagUI-Python
In comparison, the following is the same robot re-written using TagUI-Python
from pandas import DataFrame
import tagui as t
t.init()

t.url('https://www.goodreads.com/list/show/17347.Books_that_ll_help_you_deliver_stunning_presentations')

list_title = t.read('//h1[contains(@class, "h1")]')
print("list_title = " + list_title)

num_books = t.count('//td/a//span[@itemprop="name"]')
print("num_books = ", num_books)

books = [''] * num_books
url = [''] * num_books
sno = [''] * num_books
for n in range(1, num_books+1):
	sno[n-1] = n

	books[n-1] = t.read(f'(//td/a//span[@itemprop="name"])[{n}]/..')
	print(n, "book = "+books[n-1])

	url[n-1] = t.read(f'(//td/a/@href)[{n}]')
	print("   url = "+url[n-1])

Books_Info = {'Sno':sno, 'Title': books, 'URL': url}
df = DataFrame(Books_Info, columns=['Sno','Title', 'URL'])
export_csv = df.to_csv ('book_list1.csv', index = None)

Note the use of pandas to save data to .csv file.  With TagUI-Python, you can now leverage on all the standard python packages out there, including those machine learning libraries including Numpy, Scikit-learn, TensorFlow, Keras, etc.!  This will be one of the major reason for moving to TagUI-Python if you're working on machine learning or intelligent RPA project.

As TagUI-Python is running within a native Python script, you can re-organize the code with functions as follows:
###Script 3 - using functions
from pandas import DataFrame
import tagui as t
t.init()

def read_list_title():
	list_title = t.read('//h1[contains(@class, "h1")]')
	print("list_title = " + list_title)

def read_element(selector):
	t.hover(selector)
	val = t.read(selector)
	return val

def read_book_list():
	num_books = t.count('//td/a//span[@itemprop="name"]')
	print("num_books = ", num_books)
	sno = [''] * num_books
	books = [''] * num_books
	url = [''] * num_books

	print('rpa_lib::read_book_list', num_books)
	print('rpa_lib::books', books)
	print('rpa_lib::url', url)
	for n in range(1, num_books+1):
		sno[n-1] = n

		books[n-1] = read_element(f'(//td/a//span[@itemprop="name"])[{n}]/..')
		print(n, "book = "+books[n-1])

		url[n-1] = read_element('(//td/a/@href)[{}]'.format(n))
		print("   url = "+url[n-1])

	print("books", books)
	print("url", url)
	Books_Info = {'Sno':sno,
		'Title': books,
		'URL': url
	}
	save_to_csv(Books_Info, 'book_list2.csv')

def save_to_csv(data, csv_file):
	df = DataFrame(data, columns=['Sno','Title', 'URL'])
	export_csv = df.to_csv (csv_file, index = None)

# main program starts here
t.url('https://www.goodreads.com/list/show/17347.Books_that_ll_help_you_deliver_stunning_presentations')
read_list_title()
read_book_list()

You can also choose to put all those functions into a separate file and load them as a Python module.
This, I think, will be another main reason to move over to TagUI-Python.  In TagUI, the only way you can re-use the code is to put them into a separate file and load them using the tagui command.  However, each file can contain only one 'function'.  There's no way you can put multiple functions into one file.  This makes re-use and maintenance of TagUI scripts quite challenging.
With TagUI-Python, you can now maintain libraries of functions across multiple modules!
Sample Code 4a - main file
from pandas import DataFrame
import rpa_lib as rpa

import tagui as t
t.init()

t.url('https://www.goodreads.com/list/show/17347.Books_that_ll_help_you_deliver_stunning_presentations')
read_list_title()
rpa.read_book_list()

Sample Code 4a - save this as rpa_lib.py
import tagui as t
from pandas import DataFrame

def read_list_title():
	list_title = t.read('//h1[contains(@class, "h1")]')
	print("list_title = " + list_title)

def read_element(selector):
	t.hover(selector)
	val = t.read(selector)
	return val

def read_book_list():
	num_books = t.count('//td/a//span[@itemprop="name"]')
	print("num_books = ", num_books)
	sno = [''] * num_books
	books = [''] * num_books
	url = [''] * num_books

	print('rpa_lib::read_book_list', num_books)
	print('rpa_lib::books', books)
	print('rpa_lib::url', url)
	for n in range(1, num_books+1):
		sno[n-1] = n

		books[n-1] = read_element(f'(//td/a//span[@itemprop="name"])[{n}]/..')
		print(n, "book = "+books[n-1])

		url[n-1] = read_element('(//td/a/@href)[{}]'.format(n))
		print("   url = "+url[n-1])

	print("books", books)
	print("url", url)
	Books_Info = {'Sno':sno,
		'Title': books,
		'URL': url
	}
	save_to_csv(Books_Info, 'book_list3.csv')

def save_to_csv(data, csv_file):
	df = DataFrame(data, columns=['Sno','Title', 'URL'])
	export_csv = df.to_csv (csv_file, index = None)
	print (df)

Another feature that might interest some of you is that with TagUI-Python you can now write the script using full OOP (object-oriented programming), as illustrated in the sample code below.
The OOP together with inheritance is an effective way in reducing code duplication and allows one to better manage code re-use.
Sample Code 5a - main file
import tagui as t

import class_RPA
from class_RPA import *

t.init()

t.url('https://www.goodreads.com/list/show/17347.Books_that_ll_help_you_deliver_stunning_presentations')

goodreads = GoodReads()
goodreads.read_list_title()
goodreads.read_book_list()

Sample Code 5b - save this as class_RPA.py
import tagui as t
from pandas import DataFrame

class RPA:

	def read_element(self, selector):
		t.hover(selector)
		val = t.read(selector)
		return val

	def save_to_csv(self, data, csv_file):
		df = DataFrame(data, columns=['Sno','Title', 'URL'])
		export_csv = df.to_csv (csv_file, index = None)
		print (df)

class GoodReads(RPA):

	def read_list_title(self):
		list_title = t.read('//h1[contains(@class, "h1")]')
		print("list_title = " + list_title)

	def read_book_list(self):
		num_books = t.count('//td/a//span[@itemprop="name"]')
		print("num_books = ", num_books)
		sno = [''] * num_books
		books = [''] * num_books
		url = [''] * num_books

		print('rpa_lib::read_book_list', num_books)
		print('rpa_lib::books', books)
		print('rpa_lib::url', url)
		for n in range(1, num_books+1):
			sno[n-1] = n

			#books[n-1] = t.read(f'(//td/a//span[@itemprop="name"])[{n}]/..')
			books[n-1] = self.read_element(f'(//td/a//span[@itemprop="name"])[{n}]/..')
			print(n, "book = "+books[n-1])

			#url[n-1] = t.read(f'(//td/a/@href)[{n}]')
			url[n-1] = self.read_element('(//td/a/@href)[{}]'.format(n))
			print("   url = "+url[n-1])

		print("books", books)
		print("url", url)
		Books_Info = {'Sno':sno,
			'Title': books,
			'URL': url
		}
		self.save_to_csv(Books_Info, 'book_list4.csv')

Wow CK, thank you so much for your generous sharing! Yes you've covered the major strategic advantages of TagUI for Python vs TagUI. By bringing the capabilities of TagUI directly into the Python ecosystem in the programming language that Python users are already familiar with, it unlocks value creation very quickly. This is because there is little learning curve to get things done.
There are also major advantages of TagUI for Python over a number of Python packages for digital automation. Some of them can only automate webapps, some can only automate keyboard + mouse. But this tool can do all, plus ability to automate using computer vision and extract info using OCR, all within one seamless API - https://github.com/tebelorg/TagUI-Python#use-cases
I've not prepared a table for comparison on the readme because I don't think the time is ripe to accelerate distribution of this project yet. It is better to grow organically to solve fundamental issues such as #14 #18 before user base expands quickly and a large mass of users having a negative first experience with the package. So far the pace is good, estimated 5k downloads in < 1 month.
Looking forward to listen to feedback from users and address more fundamental roadblocks! With the goal of encouraging porting over the project to other programming languages by other developers.

PS - keep issue open for now for sharing with other users 👍


ignored warnings for unexpected entries to stop filling up log files

This fixes issue #4 from filling up log files in home-assistant with warnings of Unexpected entries.

Used recommended syntax for the PR.


The graphic format does not take effect

I'm not good at English, so I'll just post the code
In the method getSldPointSymbolizerFromIconSymbolizer

The code here does not generate a image/** tag, so configuring style in geoserver fails.
I don't know if this situation is a problem

Thanks for the info. Could you create a Pull Request with a failing test, so that we have a reproducible example?


SDK location not found after upgrading to Flutter 2.0

Error comes after upgrading the flutter version from 1.22.6 to 2.0.3. Using newest release of flutter_secure_storage.
A problem occurred configuring root project 'flutter_secure_storage'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

Flutter doctor -v
[√] Flutter (Channel stable, 2.0.3, on Microsoft Windows [Version 10.0.19041.867], locale de-CH)
    • Flutter version 2.0.3 at C:\flutter
    • Framework revision 4d7946a68d (13 days ago), 2021-03-18 17:24:33 -0700
    • Engine revision 3459eb2436
    • Dart version 2.12.2

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at C:\Users\LauroBoeni\AppData\Local\Android\Sdk
    • Platform android-30, build-tools 30.0.1
    • ANDROID_SDK_ROOT = C:\Users\LauroBoeni\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code, 64-bit edition (version 1.54.3)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.20.0

[√] Connected device (3 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 89.0.4389.90
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 89.0.774.63

• No issues found!

The package worked flawlessly before upgrading the flutter version.

Might be unrelated but  I am getting the same error after adding the google_mobile_ads plugin in the pubspec.yaml file.

Hey, I solved this problem by upgrading my gradle version to 3.5.4, it was previously 3.5.0.
This can be done in the file android/app/src/build.gradle under the buildscript/dependencies object.
Example:
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.4'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

}
I found the solution in the stackoverflow post:
https://stackoverflow.com/questions/61086708/flutter-sdk-location-not-found-define-location-with-sdk-dir-in-the-local-prope


New Dreamer V3 manuscript

Hi!
Sharing slight change in  Dreamer V3 according to their updated(2024/04/17) manuscript
https://arxiv.org/pdf/2301.04104
Also their codes are updated few hours ago
https://github.com/danijar/dreamerv3
It includes change in the optimizer (LaProp), experiments with larger num envs, etc
Just wanted to let you know! Thanks!

Closing this issue since received ACK

I'll re-open it so that we can track progress and use this issue to discuss about all the changes


[BUG] Not able to create event hub with compaction using azure-resourcemanager-eventhubs

Describe the bug:
Customer is trying to use com.azure.resourcemanager.eventhubs.models.EventHubs
https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/resourcemanager/azure-resourcemanager-eventhubs
trying to create a event hub with compaction enabled.
To Reproduce
Steps to reproduce the behavior:
we are not able to create a event hub with compaction enabled using the code samples
Code Snippet
This is code snippet to create EventHub from code
val arm = getArm(deployment.cluster)
if ( deployment.cluster.clusterCarrier.location == Location.EASTUS2 ) {
arm.eventHubs()
.define(deployment.deploymentTopicName)
.withExistingNamespace(
deployment.cluster.resourceGroup,
getNamespace(deployment.cluster.bootstrapServer)
)
.withExistingStorageAccountForCapturedData(
arm.storageAccounts().getById(EnvironmentHelper.mapToEvhCapture[deployment.cluster.environment])!!,
"desp"
)
.withDataCaptureEnabled()
.withDataCaptureSkipEmptyArchives(true)
.withDataCaptureFileNameFormat(DATA_CAPTURE_FORMAT)
.withPartitionCount(deployment.configuration.partitions.toLong())
                .withRetentionPeriodInDays(deployment.configuration.messageRetentionDays.toLong())
                .create()

Expected behavior
Able to create a event hub with compaction enabled
Screenshots.
Setup (please complete the following information):

OS: [e.g. iOS] WIndows
IDE: [e.g. IntelliJ] InteliJ
Library/Libraries:
https://search.maven.org/artifact/com.azure.resourcemanager/azure-resourcemanager-eventhubs/2.28.0/jar
https://learn.microsoft.com/en-us/java/api/com.azure.resourcemanager.eventhubs.models.eventhubs?view=azure-java-stable
https://learn.microsoft.com/en-us/java/api/com.azure.resourcemanager.azureresourcemanager?view=azure-java-stable
Java version: [e.g. 8]  Java 8
App Server/Environment: [e.g. Tomcat, WildFly, Azure Function, Apache Spark, Databricks, IDE plugin or anything special]
Frameworks: [e.g. Spring Boot, Micronaut, Quarkus, etc]

If you suspect a dependency version mismatch (e.g. you see NoClassDefFoundError, NoSuchMethodError or similar), please check out Troubleshoot dependency version conflict article first. If it doesn't provide solution for the problem, please provide:

verbose dependency tree (mvn dependency:tree -Dverbose)
exception message, full stack trace, and any available logs

Additional context
Customer want to use arm event hubs and he is not able to create a event hub with compaction
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ ] Bug Description Added
[ ] Repro Steps Added
[ ] Setup information Added

There was a service change https://github.com/Azure/azure-rest-api-specs/pull/24056/files
Before new SDK get released, please use CleanupPolicyRetentionDescription.fromString("Compact").


Inline list

Hi I would like to add inline list feature in this framework. It is just very simple add on that is useful for menu or other things. Below is the example from my branch

If you make a pull request from your branch to the develop branch then we should be able to see your less code and hopefully get it merged into the project

Could be closed now?

Yes


[BEAM-840] Some minor changes and fixes for sorter module.

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[x] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[x] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[x] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[x] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Includes:

Limit max memory for ExternalSorter and BufferedExternalSorter to 2047 MB to prevent int overflow within Hadoop's sorting library
Fix int overflow for large memory values in InMemorySorter
Add note about estimated disk use to README.MD
Fix to make Hadoop's sorting library put all temp files under the specified directory
Have Hadoop clean up the temp directory on exit
Stop shading hadoop dependencies. Some context:

The existing shading is broken (modules that depend on this one cannot use it successfully).
Hadoop's use of reflection in several instances makes shading the dependency "in a good way" nearly impossible. It requires a couple of rather brittle hacks, and, for clients that depend on certain conflicting versions of hadoop these hacks can mean it doesn't meet its intended goal of preventing conflicts anyway.
From what I can tell, there's no good way to shade this to make it universally usable, so leaving it unshaded seems like a reasonable default.
Without shading Hadoop, this module can be successfully used from Beam's wordcount example (which actually does have pre-existing hadoop dependencies already).

Should have remembered to run with -Prelease...
Fixed FindBugs warning by converting almost every int in InMemorySorter to a long. Cleaner that way anyway.

Jenkins test failures are related to WordCount, possibly caused by this change: https://github.com/apache/incubator-beam/pull/1315/ or other linked changes

R: @davorbonaci

Hmmm...haven't touched this branch in a while and I managed to do something horrible w.r.t. merging, so please ignore until I clean this up...

Fixed up my branch, should be good to look at now


TargetServer requires user input to start

Presently TargetServer emits:
This system provides more than one IP Address to advertise.

[0] <IP_ADDRESS>
[1] fe80:0:0:0:6676:baff:fe92:27c6%wlan0
[2] <IP_ADDRESS>
[3] 0:0:0:0:0:0:0:1%lo
[4] <IP_ADDRESS>

and requires user input to proceed.  Instead it should read this value from the config file.

you're right. Unfortunately I have to admin that this project is here for legacy only. I left the disy-group and have no ressourcen to maintain this project actively.
I will leave this issue open until I or someone else finds time to fix it.
Thanks for the other PullRequests. I really appreciate that:)

IP Address can be specified in start code like
import org.jscsi.target.Configuration;
import org.jscsi.target.TargetServer;

var config = Configuration.create (new File ("jscsi-target.xsd"), new File ("jscsi-target.xml"), "<IP_ADDRESS>");
new TargetServer (config).call();

Besides the way of passing target address as Configuration class constructor parameter mentioned above,
here is a pull request #45 which loads target address setting from XML file.
No user input required anymore.


Updated dependencies

Just updated project dependencies: removed zend framework components
and cleared the testsuite section in phpunit configuration file.

A new inspection was created.

A new inspection was created.

The inspection completed: 3 new issues


Log windows popup

Please add an option do prevent the LOG window to pop up when encoding a file. This is annoying when you do batch processing of many files.
Thank you

Some things are already implemented but because of the code in this area was changed recently there night be issues. I need to know which build you were using and under which circumstances did it pop up.
Was the window normal or maximized or was it minimized and if it was minimized was in the taskbar or in the tray?

I am using the latest release. I mean the LOG screen which shows you how far the encoding has come. Every new file let it pop up in batch processing of many files

Should be fixed in the next built, thanks for the report.

Awesome. thank you

I found out that when you minimize the LOG screen. Then it works. Sorry

Yes but not 100% reliably, even then it shortly pops up the first time after you minimize it.

ok, yes that is true. Would be great if there was button on the Log screen, where you can choose., or something like that.

You mean to choose where to minimize, tray or taskbar?

Build is online now.
https://forum.videohelp.com/threads/369913-StaxRip-Encoder-GUI/page6#post2490759

Awesome. I will test today

Please note that I'll be uploading a new built in a few minutes.

Ok, then I will wait


cache: conditionally disable the install cache, unset by default

For some reason it sometimes loses files. It's not clear where the error
is, so let's disable for now.
Fixes #61

Alternatively we could check if all files are there at some point to pin down where the error happens.

I think this PR is ok as a temporal solution. The logic is not removed, but just conditionally disabled.
Anyway, I believe it might be worth reporting this to GitHub. Maybe we can enhance our logic to track down when is it happening. But they might be able to detect it in their infrastructure too.

I can't really rule out that the problem isn't on our side, even though I don't know what it could be.

Is the error consistent? I mean, is it fixed by restarting a job?

I haven't restarted the same job, but followup commits failed as well I think.

The above two jobs show it perfectly (ctrl+f the cache IDs in them). Either it didn't save the files properly, or didn't restore it properly, or any of our commands after the restore removed it (but in this case there was no update, so this should in theory be a noop)


Find password (PEM) from Letsencrypt (SSL)

Hello, I have a question.
I have linked the WSS socket with a Lets Encrypt certificate, but I randomly enter a password (PEM).
This works, but the server often does not accept WSS client connections.
There will be no excaption or anything printed.
I've tested the public ECHO server times always takes the connection, only the server is not always (sometimes not even after many attempts).
The Client is running under javascript on web.
What can I do...
Thank you for the cool project, works fine in itself! :)

Hello @SossenSystems,
I do not get what you mean when you say you have to enter a password.
I am running a production server with a let's encrypt certificate without any problems.
What do you mean by not accepting connections?
Is this issue present in any client or only in a specific one (e.g. firefox)?
Best regards,
marci4

Hey @marci4,
I apologize with the statement of the certificate, that has already been done. Since you have done everything right, good work!
My problem is that Firefox has problems connecting to the wss server, unfortunately I have to reload the page sometimes, sometimes even rebooting the server to connect the client to the server. I have often tested it with the public wss echo server which connects perfectly every time, so my guess is that the server often rejects connections.
I thank you for the feedback again :-)

Hey @SossenSystems,
I was just wondering since I use the same exact code for production why it would not work for you ;)
Yeah there is a known issue that the current SSL implementation does not work well with firefox (and on buggy android version).
This however will be fixed (one day I hope...) by #717
Best regards,
marci4

Hello @SossenSystems,
is this issue solved for you?
If so, please close this issue!
Best regards,
marci4

Hi @marci4,
the problem persists only with Firefox, funny enough the problem is only with the server like that :(
Best regards
Michael

Hello @SossenSystems,
you would make me very happy if you got the time and fix this issue with a PR.
Best regards,
marci4

Closing this issue since it is a duplicate and the question is answered.
Duplicate of #717
Best regards,
Marcel


remove public access modifier in RegisterControllertest and Changed the visibility of this constructor to "protected" in GenericCrudService.java.

Removed the public access modifier in RegisterControllertest at mentioned places and Changed the visibility of this constructor to "protected" in GenericCrudService.java. Please let me know if there are any changes.
Close #81
Close #66

Hi @SwethaTamatam ! Thanks for your contribution. I see you committed both changes into one PR. This is fine for now as both tasks were small, but for a better workflow it's always better to open a separate PR for each issues. Nonetheless, the PR looks good and this will be merged soon 🎉

@all-contributors add @SwethaTamatam for code

Hi @SwethaTamatam ! Thanks for your contribution. I see you committed both changes into one PR. This is fine for now as both tasks were small, but for a better workflow it's always better to open a separate PR for each issues. Nonetheless, the PR looks good and this will be merged soon 🎉

Thank you @mepox for giving me the chance to contribute. I will make sure next time I wont do multiple commits into one PR.

@SwethaTamatam Of course, I am sure there will be more issues up for grabs in the near future 😅 Thanks again 👍


nz-list-empty is always shown at the bottom of a nz-list

Reproduction link
https://stackblitz.com/edit/angular-vrt1mc
Steps to reproduce

Create a nz-list with items and nz-list-empty
Scroll to the bottom of the list
See the nz-list-empty displayed even when items are present.

You can also just look at the v9.1.1 nz-list documentation as the bug is present in those examples as well, I actually forked my stackblitz minimal reproduction from the documentation.
What is expected?
The nz-list-empty only displays when no data is present.
What is actually happening?
The nz-list-empty always displays at the bottom of the list, even when data is present.

Environment
Info

ng-zorro-antd
9.1.1

Browser
Chrome Version 81.0.4044.138 (Official Build) (64-bit)

As I mentioned earlier, you can see it happening in the v9.1.1 documentation.
https://ng.ant.design/components/list/en

I got the same problem

I was going crazy trying to fix this, glad to know its a bug in the new verison ;)


[Feature Request] Controller delegation

It would be useful to be able to delegate control of a DID to another DID. (full control over the DID doc + keys)

So allow specification of the top-level controller property.

As a sample, this would allow the simple parent-child use-case where a parent holds control over a child’s DID but the child can still hold control over its authentication etc keys. In case the child loses access to their keys, the parent can rotate them.
This is different from:

Parent holding the private key associated with the child's MASTER_KEY - delegation should point to a DID to allow a separate rotation of keys on the parent's side.
This is also different from capabilityDelegation as that is not for DID control.

This might also be useful in some specific IoT scenarios.

this is also an interesting one, and we had reviewed this in the past.
I remember this first conversation. If I am not mistaken, the conclusion at the time from conversations in DIF (Decentralized Identity Foundation) was that, beyond what the spec allows syntactically, for interoperability reasons, it was recommended to have did.id == did.controller and for each verification method respect did.verificationMethod[i].controller == did.controller. I cannot find a written reference :/, so I welcome to be corrected is this was/is wrong. Furthermore, the spec may have changed since last time I reviewed this topic, so I welcome news on this too.
At a quick glance, I can see this issue and this other one to clarify semantics about the controllers properties. It may be good to see that settle. We can of course, discuss here use cases and thoughts that we could bring to those W3C issues.
On this line, I unfortunately didn't understand this sentence:

Parent holding the private key associated with the child's MASTER_KEY - delegation should point to a DID to allow a separate rotation of keys on the parent's side.

could you elaborate a bit more? I didn't follow the part of "delegation should point to a DID to allow a separate rotation of keys on the parent's side."
Once again, thank you for opening issues and exchanging thoughts!

Hmm, did.verificationMethod[i].controller == did.controller perhaps but I'm not so sure on did.id == did.controller. did.id is the identifier itself of the DID subject, and did.controller is the controller of the DID document.
DID subject and DID controller aren't the same, but they can be (and often are). I would say each DID (so did.id) has a MASTER_KEY (though the spec seems to allow for multiple, 1-of-n signature, not sure if that's intended), and that MASTER_KEY allows you to control any DID where did.controller = <did.id of controller with MASTER_KEY>.
This would allow you to delegate control of a DID document, and doesn't involve anything to do with the verificationMethods which is most of the discussion in those linked issues.

could you elaborate a bit more? I didn't follow the part of "delegation should point to a DID to allow a separate rotation of keys on the parent's side."
Here I meant that we are using did.controller in a DID document of the child, to point to the parent's DID. A worse alternative is to keep the spec as it is today, and the parent just happens to hold the MASTER_KEY of the child - this is kind of delegation, but not at the DID level but rather the key level.

You could very simply get n-of-n or 1-of-n multi-sig by allowing an array for did.controller, for example like cheqd do (they are n-of-n multi-sig). This is still in line with the did:core spec.
I need to review the issues you linked (and others that I can find) in more detail when I have the time though, as I might be missing something! :)

apologies for the delay here too

DID subject and DID controller aren't the same, but they can be (and often are). I would say each DID (so did.id) has a MASTER_KEY (though the spec seems to allow for multiple, 1-of-n signature, not sure if that's intended), and that MASTER_KEY allows you to control any DID where did.controller = <did.id of controller with MASTER_KEY>.
This would allow you to delegate control of a DID document, and doesn't involve anything to do with the verificationMethods which is most of the discussion in those linked issues.

so, if I understood correctly, the logic you are describing is:
The keys allowed to update a DID A, are the MASTER_KEYs of the DID in the A.controller field, correct? (and possibly A MASTER_KEYs too)
And, the difference you refer to is mostly at the point of displaying the delegation at the DID document, compared to just having the control without announcement (using the private key of the MASTER_KEY of the DID A)

A worse alternative is to keep the spec as it is today, and the parent just happens to hold the MASTER_KEY of the child - this is kind of delegation, but not at the DID level but rather the key level. That allows the parent to update their MASTER_KEY irrespective of the child's DID document - so a parent of 6 children could use their 1 MASTER_KEY to control 6 DIDs (+their own) instead of holding 6 or 7 MASTER_KEYs.

I should point that for the 7 DIDs (the parent's and the 6 children'), you could still use a single key by using the same key material in all the DIDs. Nothing forbids a key to be present in multiple DID documents.
Even though W3C mentions this type of behaviors, it is not that common to see in DID method implementations. The rules to control a DID are defined by each method, and the proposed logic may restrict some methods. For example, Sidetree.based DID methods, or KERI they tend to use key commitments, and not keys. And commitments are used only once in the system (not per DID), making a controller-like feature hard to implement (and I think Sidetree doesn't implement it).
Let me know if I understood the difference of using the key vs using controller field, what I am missing is a use case where the difference is needed.
I could also point out some issues:

At first glance, it damages a bit privacy by adding correlation between DIDs
More importantly, this "controller"'s semantics would create transitive relations that cannot easily be avoided. If A controls B, and B controls C, then A can add a MASTER_KEY to B's document and update C. In contrast, if A controls a private key of a MASTER_KEY in B's DID document, and B does the same with a MASTER_KEY in C's DID document, then A has no control over C unless B or C do something to allow it explicitly.
The above type of logic would be even more complex with lists of controllers

A priori, I think the topic needs further refinement before updating the spec.
Do you think we should keep this issue open @iFergal? or should I close this and we can re-open it in the future if the topic gets new points?
As always, thank you for the comments and my apologies for the delay

I am closing the issue to keep a clean view of active ones
Feel free to re-open if needed


Improves bot communication and logs

Description
Adds colored and nicely formatted logs. Fixes some issues with usage of the logging module. Improves bot communication and adds a @user reference to most responses to avoid confusion in busy channels.
Checklist

[x] Add tests for these changes
[ ] Test coverage is not decreased
[ ] Entire test suite passes

Codecov Report

Merging #90 into master will increase coverage by 0.02%.
The diff coverage is 98.52%.

@@            Coverage Diff             @@
##           master      #90      +/-   ##
==========================================
+ Coverage   96.94%   96.96%   +0.02%
==========================================
  Files          21       21
  Lines        1212     1221       +9
  Branches      191      191
==========================================
+ Hits         1175     1184       +9
  Misses         21       21
  Partials       16       16

Impacted Files
Coverage Δ

src/spellbot/__init__.py
95.08% <98.48%> (+0.04%)
:arrow_up:

src/spellbot/data.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Force formatter for non-standard file extensions

Hey,
I am working on a JavaScript OSA (applescript) project. Those files typically have an jxa file extension. Unfortunately, I cannot get Prettier to auto-format those files on save. Since prettier identifies files based on extensions only?

Thus, I installed the prettier CLI. However, there is no flag to format a file and force syntax onto it. Right now, I am running, manually:
mv test.jxa test.js && prettier --write test.js && mv test.js test.jxa

Is there already a clever way to do this?

Basically if Prettier can't infer a parser for a given file it will ignore it, but you can specify a parser manually with the --parser flag, e.g. --parser meriyah.
If that file is part of a larger project that needs formatting I'd recommend setting that configuration once in .prettierrc instead.

Awesome! Thanks. Not sure why this is missing in the docs: https://prettier.io/docs/en/cli.html?


[Fix] jhu_data.map(variable="Infected") does not show values of many countries

Summary
jhu_data.map(variable="Infected") does not show values of many countries as follows.
Codes
import covsirphy as cs
loader = cs.DataLoader()
jhu_data = loader.jhu()
jhu_data.map(variable="Infected", filename="global_map.jpg")

Outputs

Environment

CovsirPhy version: 2.20.0
Python version: 3.9.5
Installation: poetry
System: WSL (Ubuntu)

With #780,


Update ooni-pipeline-architecture

In this branch I am going to update the architecture documentation for the current and future ooni pipeline.

Where would a good place be for architecture proposals? Would that be something that should be consolidated to IRC, or made open for discussion on ooni-dev?

@TylerJFisher it depends at what stage the proposal is at. If it's in the form of "I have these ideas and would like to know what you think" then you could probably post it to ooni-dev or you could even suggest in a document as a pull request to this repo.
I am still finishing spec-ing out the current design and was going to then drop some notes on what I would like to see improved in the next version.

I am going to proceed in merging this.


Debug mode to listen/test keybinds

Hi!
First time user here, I just installed aerospace, copied the basic confic as in docs and reloaded it and some of the bindings are not working for me.
None of the move node to workspace or change focus work for me. They do work when i run the command in the terminal so its about detecting the keybind. Is there any debug mode that could "listen" to keybinds and just print in the terminal what is recognized from aerospace? This way i can more easily debug what's going on.
Also, is there any posible numerical indicator to what workspace are you on right now? Would be nice to have an icon on the topbar with it, didnt find anything on docs.
Ty

Please check that there is no other software running that may intercept this shortcut (e.g. skhd, karabiner)

Is there any debug mode that could "listen" to keybinds and just print in the terminal what is recognized from aerospace? This way i can more easily debug what's going on.

alt-1 = 'exec-and-forget touch > ~/triggered'

Also, is there any posible numerical indicator to what workspace are you on right now? Would be nice to have an icon on the topbar with it, didnt find anything on docs.

Please read the docs. It's mentioned in https://nikitabobko.github.io/AeroSpace/guide#emulation-of-virtual-workspaces

AeroSpace shows the name of currently active workspace in its tray icon (top right corner), to give users a visual feedback on what workspace is currently active.


rdcache not cleared while using MLE,MAP estimation

I was using MLE, MAP estimation with :reversediff backend and rdcache
The following is the MWE
using Turing,Distributions, Random
using ReverseDiff, Memoization, Optim
println("loaded modules")
Turing.setadbackend(:reversediff)
Turing.setrdcache(true)

@model function mwe(x)
    n = length(x)
    sigma ~ filldist(Uniform(0.5,1.5), n)
    TT = eltype(sigma)
    u ~ arraydist(truncated.(Normal.(0, sigma), TT(-4), TT(4)))
    x ~ MvNormal(u,1)
end

# generate some fake data
a = rand(2000)
model = mwe(a)

niter = 10
println("starting estimation.....")
for i in 1:niter
    optimize(model, MLE())
    # Turing.emptyrdcache()
    println("estimation done for $(i)")
end
wait()

I could see a significant rise in ram usage of my system per iteration (> 0.5GB)
I'm not sure if this is expected behavior. I have done serial sampling with rdcache enabled and I didn't notice any growth per every iteration.
An easy fix for RAM increase is to clear the rdcache every time using Turing.emptyrdcache

@mohamed82008 @devmotion

Hmm I think we can empty the cache automatically after sampling.

It would be interesting to understand why this is happening, it is definitely not intended.

Fixed by https://github.com/TuringLang/Turing.jl/pull/1877


[Working on Emulator BlueStacks / LDplayer]

Hello, thank you again for this wonderful software you have produced, I love it.
I'm frustrated because I can't use the text with emojis on Emulator like BlueStacks or LDPlayer (it'w working on Nox idk why)
I tried to use the sensitive application mode. When I do that the text is replaced but the emojis are transformed into "????"
I let you see for yourself :

Unfortunately, there is not much I can do from the Beeftext side. Sensitive application mode works by typing keys one-by-one, and it will not work with emojis.


[doom-base] Add web-mode support for json-keys and context

This small commit targeting doom-base makes sure that all web-mode json-keys and json-context will be styled as strings (following the design guideline used by Visual Studio Code).

Makes sense to me. Thanks!


Uniquely tag each chare array broadcast to enable true unique delivery

Original issue: https://charm.cs.illinois.edu/redmine/issues/250

It is trivially possible to make array broadcasts arrive in different orders at different PEs, at least on machine layers that don't guarantee in-order delivery. (test code to be attached). There are a plethora of ways that this can result in some array elements receiving a different set of broadcasts than others, mostly involving migration of some sort, but some involve dynamic insertion instead.
As we (Sanjay, Ram, Jonathan, Phil) decided, the immediate fix for this is to put a global sequence number on every broadcast message, and use that sequence number instead of the current locally-incremented bcastNo to buffer and deliver array broadcast messages.
The deeper fix for broadcasts and insertions involves keeping a Lamport clock for every such event, and only doing deliveries when there is a suitable happens-before relationship between the message and the potential recipient. That should be a separate issue (in addition to #49), since it requires further analysis and design, and is not required to address the non-insertion case.

Original date: 2013-07-23 05:32:20

I'm not thrilled with the resolution from a design perspective, since it means array broadcasts are now buffered in two different ways and places, depending on whether they're early (the runtime message queue) or not (CkArrayBroadcast::oldBcasts). There's also the attendant delocalization of CkArrayBroadcaster::bcastNo.
From an operational perspective, though, the only clear criticism I can offer is that this can prevent a PE from going idle. Given how rare out-of-order array broadcasts should be, that's pretty slim. That would pose issues for letting power usage drop, converse conditions (CcdPROCESSOR_BEGIN_IDLE), and potentially using QD to detect other bugs arising from unordered message delivery. I'm not sure those issues, even taken together, are worth redoing the solution.

Original author: Jonathan Lifflander
Original date: 2013-07-23 05:34:24

The explicit buffer is easy to implement, I started with this actually, but it seemed to be an overdesign considering this was a rare case.

Original date: 2013-07-23 05:58:24

The usual issue with overdesign is that it makes later work on affected components more difficult. I feel like the explicit buffer design is easier on maintainers than the re-enqueue design. Either design could be commented (and the current one definitely warrants one on the if in CkArray::recvBroadcast), but the explicit buffer also admits naming things to make their purpose clear; e.g. a buffer named outOfOrderBcasts has a very clear purpose.

Original author: Jonathan Lifflander
Original date: 2013-07-23 07:00:22

Done with explicit buffer.

Original author: Jonathan Lifflander
Original date: 2013-07-23 07:01:06

Still needs some testing when these are really unordered
`todo: test with Ram's randomized queue

Original date: 2013-07-23 07:39:50

Prior to work on this issue, CkArray had no knowledge of broadcast numbering and per-element delivery-couting on the receive/delivery side at all - that was handled 100% within CkArrayBroadcaster. If you take a look back in the history, the decision to insulate CkArray from managing that state was intentional, and I think that was wise.
My take is that CkArrayBroadcaster::bcastNo should not have been made public, and CkArrayBroadcaster::outOfOrderBcasts should not be public either. As it stands, CkArray::recvBroadcast now implicitly depends on the increment of bcastNo from before the call to CkArrayBroadcaster::incoming() to after it.
Please make CkArrayBroadcaster do its job, rather than splitting it up between that and CkArray.
The condition in the top if and the body of the else could actually be folded into incoming(). The later check for the next message having already arrived can be a simple if (msg = broadcaster->getNextMsg()) recvBroadcast(msg);
If you don't mind, I'll have a go at refactoring this, and you can tell me what you think.

Original author: Jonathan Lifflander
Original date: 2013-07-23 07:44:15

Sure, if you want to go ahead. I am willing to do that refactoring also.  I realized the logical separation that was there, but I'm not sure if there is a good reason for less cohesion between the two. In fact, merging the "broadcaster" code into CkArray might be a sensible approach.

Original date: 2013-08-28 18:52:29

Lowering priority since this is not affecting applications currently, and the relevant races won't happen in normal usage.
% Done lowered due to recognition that the simple sequencing solution got reverted due to its fundamental conflict with with the message logging FT code.

Original date: 2014-01-07 23:49:46

The hang in tests/charm++/sdag/migration under randomized queuing (#259) results from this weakness of the array broadcast system. On a simple net-linux-x86_64 build, that test run on 2 PEs frequently hangs with the 2 broadcasts it performs being stamped in opposite orders on each PE.

Original author: Jonathan Lifflander
Original date: 2015-02-19 18:32:12

Working on this.

Original author: Laxmikant "Sanjay" Kale
Original date: 2015-09-17 20:25:08

After this bug is fixed, add a test to nightly build (megatest?) to check it continues to work.

Original author: Nikhil Jain
Original date: 2015-09-22 17:12:49

Jonathan - this bug was discussed in the last core. Is there a reasonable solution you now of?

Original date: 2015-09-22 20:12:30

Postponed because it's not affecting existing applications.

Original date: 2016-09-28 18:47:21

Reassess this issue.


Report Python version number.

I requested this feature in Sentry support and @mitsuhiko asked me to report it here. It seems very weird to me that the Python Sentry client reports the version numbers of packages but not the version number of Python itself. Surely this is important information when debugging errors, and is probably fairly simple to add?

@fletom The reason is simple, it's easy to mess with the packages versions but not so much with the Python.
This being said this does make sense.

Sweet, thanks!


Already downloaded it like 3 times with different links and commands, now its not working, check screenshot

if i run the command that should install it:

@alexl22 As I can see, you are using WSL on Windows. Am I correct?

@enty8080  yes i am, but i just ran the same commands today to try and download it and strangely it worked, thank you for answering me tho. I no longer need asistance


add high contrast border color to editor actions

fixes #68940

Seems to work nicely.
There is a bit of a glitch when breadcrumbs are enabled:

//cc @jrieken I wonder if breadcrumbs should just get their own border separator in high contrast theme?


Nora Setup 3.0.0 for Windows won't start

what it says on the tin. no error code or popup or anything, it just doesn't start. i tried running as administrator, still didn't start. i tried downloading the source code, still doesn't start. fyi i am tech illiterate. please help.

Follow this steps: https://support.microsoft.com/en-us/windows/change-your-app-recommendation-settings-in-windows-f21b5c60-e996-4ee4-c2cf-b4a90c0bef9b

Follow this steps: https://support.microsoft.com/en-us/windows/change-your-app-recommendation-settings-in-windows-f21b5c60-e996-4ee4-c2cf-b4a90c0bef9b

i already have it set to "anywhere"

i already have it set to "anywhere"

Post a screen recording and screenshot of the process. Because this seems like an issue with your system and device, not the nora setup file.

i already have it set to "anywhere"

Post a screen recording and screenshot of the process. Because this seems like an issue with your system and device, not the nora setup file.

it was! i added it to my microsoft defender exclusions list and it finally worked properly. can't believe i forgot about checking that until now.

Nice. You can close the issue now.


Use fabric-test operator to stand up and manage a fabric network

This is a manual activity to determine what is required to make use of fabric-test operator, specifically

[x] create a network and input spec
[x] ensure that the client can work with this network
[x] ensure that the chaos engine can work with this network
[x] test the network to ensure it behaves as expected with the client and chaos engine (eg no failure scenarios should work because endorsement policy is correct)

pr to fabric-test now submitted


EJS suggestion not auto closing HTML Tags

please complete the following information:

OS version: Win 10 Home x64
Editor: vs Code
Editor version: 1.55.2 (user setup)
Programming language: HTML in .ejs File
TabNine extension version: 3.4.2
Engine version (could be located within Tabnine Hub): 3.3.108-40

Issue Details:
When coding in an .ejs File in HTML Language, it will give some suggestion for HTML Tags.
If these are selected it writes the Open Tag, but the Close Tag is not written.
Other from that issue, it's a great tool. Thank you for developing :)
Sorry for bad English, hopefully you understand what I mean.
~Jonas

In very rare cases it will actually add the Tag to the end of the line.


Move diagrams from AP repo to runbooks

ON HOLD: working out a plan with Rich and Soumaya on how to best store service area and individual service diagrams.

From https://github.com/ministryofjustice/analytical-platform/tree/main/source/documentation/diagrams
To https://github.com/ministryofjustice/find-moj-data-runbooks
Link to the new whole service area diagrams when they're ready (from 5th Sep workshop)

Done: https://runbooks.find-moj-data.service.justice.gov.uk/documentation/diagrams/index.html


Help Django determine inbound request security

Overview
Set SECURE_PROXY_SSL_HEADER to use the AWS ALB HTTP_X_FORWARDED_PROTO header to determine whether the inbound HTTP request occurred via HTTPS.
Connects https://github.com/open-apparel-registry/open-apparel-registry/issues/354
Demo

Notes
See: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#http-headers
Testing Instructions

Ensure this change set is on staging
Navigate to https://staging.openapparel.org/api/docs/#!/facilities/facilities_count
Click Try it out!
Ensure the API call returns a legitimate response

Yep, we're safe on both of the last two bullets. Both CloudFront and ALB will remove the X-Forwarded-Proto header (HTTP_X_FORWARDED_PROTO is what Django request.META converts it to).


RELEASE: 0.3.4

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

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

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
171

Relevant Lines:
285

💛  - Coveralls


node-adapter is trying to prerender by default

Describe the bug
I'm in the process of migrating a Sapper application to SvelteKit using the adapter-node. The app works fine in development mode (svelte-kit dev) but throws some errors when running svelte-kit build.
The error is app specific but I could narrow it down to the getSession hook being called during build, and apparently this is related to prerendering. I added console.log(``## getSession: ${event.url}``); to the hook and they started showing up on the console when building like this:
## getSession: http://sveltekit-prerender/
## getSession: http://sveltekit-prerender/
## getSession: http://sveltekit-prerender/products
## getSession: http://sveltekit-prerender/products

Looking at the docs, prerendering seems to be an opt-in thing, but off by default (I'm not using adapter-static), so not sure why this is happening. It's also not the default for Sapper builds.
I tried adding export const prerender = false; to every route, but that didn't do anything. What did work though, is adding this to svelte.config.js:
prerender: {
   enabled: false,
},

This seems to turn off prerendering completely, but what happens if at some point I do want to prerender some specific route? At least for now this is a good workaround for me, although it should be the default behavior if not turned on for a route.
Reproduction
This is reproducible almost out the box.

Create a new app: npm init svelte@next repro-prerender
Add adapter-node to it
Either remove or change to false any current prerender=true
Add a getSession hook which just logs to console
Run npm run build and see the prerender msgs in the console

Here's a repo that follows these steps: https://github.com/pablote/repro-prerender
Logs
➜  repro-prerender git:(master) npm run build

><EMAIL_ADDRESS>build
> svelte-kit build

vite v2.8.4 building for production...
✓ 34 modules transformed.
.svelte-kit/output/client/_app/assets/svelte-logo-87df40b8.svg                           1.85 KiB
.svelte-kit/output/client/_app/assets/fira-mono-cyrillic-ext-400-normal-3df7909e.woff2   15.40 KiB
.svelte-kit/output/client/_app/assets/fira-mono-cyrillic-400-normal-c7d433fd.woff2       8.89 KiB
.svelte-kit/output/client/_app/assets/fira-mono-greek-ext-400-normal-9e2fe623.woff2      7.33 KiB
.svelte-kit/output/client/_app/assets/fira-mono-greek-400-normal-a8be01ce.woff2          10.27 KiB
.svelte-kit/output/client/_app/assets/fira-mono-latin-ext-400-normal-6bfabd30.woff2      11.10 KiB
.svelte-kit/output/client/_app/assets/fira-mono-latin-400-normal-e43b3538.woff2          15.90 KiB
.svelte-kit/output/client/_app/assets/fira-mono-all-400-normal-1e3b098c.woff             75.55 KiB
.svelte-kit/output/client/_app/manifest.json                                             2.51 KiB
.svelte-kit/output/client/_app/error.svelte-6f6d00da.js                                  1.56 KiB / gzip: 0.75 KiB
.svelte-kit/output/client/_app/pages/__layout.svelte-1fdcf5b9.js                         4.76 KiB / gzip: 1.86 KiB
.svelte-kit/output/client/_app/pages/about.svelte-94a7b21f.js                            2.38 KiB / gzip: 1.09 KiB
.svelte-kit/output/client/_app/chunks/singletons-a6a7384f.js                             0.05 KiB / gzip: 0.07 KiB
.svelte-kit/output/client/_app/pages/index.svelte-06026833.js                            4.08 KiB / gzip: 1.69 KiB
.svelte-kit/output/client/_app/assets/pages/about.svelte-bf4528fa.css                    0.11 KiB / gzip: 0.10 KiB
.svelte-kit/output/client/_app/pages/todos/index.svelte-0cc5f931.js                      5.91 KiB / gzip: 2.40 KiB
.svelte-kit/output/client/_app/assets/pages/index.svelte-1d45bd0c.css                    1.40 KiB / gzip: 0.50 KiB
.svelte-kit/output/client/_app/assets/pages/__layout.svelte-15681802.css                 4.96 KiB / gzip: 1.55 KiB
.svelte-kit/output/client/_app/assets/pages/todos/index.svelte-784042c1.css              3.70 KiB / gzip: 1.04 KiB
.svelte-kit/output/client/_app/start-8bba0135.js                                         24.21 KiB / gzip: 8.25 KiB
.svelte-kit/output/client/_app/chunks/vendor-ee294e9e.js                                 14.16 KiB / gzip: 6.04 KiB
vite v2.8.4 building SSR bundle for production...
✓ 36 modules transformed.
.svelte-kit/output/server/manifest.json                         2.15 KiB
.svelte-kit/output/server/index.js                              64.50 KiB
.svelte-kit/output/server/entries/endpoints/todos/index.ts.js   1.33 KiB
.svelte-kit/output/server/entries/pages/__layout.svelte.js      4.60 KiB
.svelte-kit/output/server/entries/pages/error.svelte.js         0.72 KiB
.svelte-kit/output/server/entries/pages/index.svelte.js         8.07 KiB
.svelte-kit/output/server/entries/pages/about.svelte.js         1.30 KiB
.svelte-kit/output/server/entries/pages/todos/index.svelte.js   5.84 KiB
.svelte-kit/output/server/chunks/index-ee9fdf1a.js              4.24 KiB

Run npm run preview to preview your production build locally.

> Using @sveltejs/adapter-node
## getSession: http://sveltekit-prerender/
## getSession: http://sveltekit-prerender/about
## getSession: http://sveltekit-prerender/todos
  ✔ done
➜  repro-prerender git:(master)

System Info
System:
    OS: Linux 5.13 Ubuntu 21.10 21.10 (Impish Indri)
    CPU: (16) x64 AMD Ryzen 9 5900HX with Radeon Graphics
    Memory: 2.18 GB / 15.04 GB
    Container: Yes
    Shell: 5.8 - /usr/bin/zsh
  Binaries:
    Node: 16.8.0 - /usr/local/bin/node
    npm: 7.21.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 98.0.4758.102
    Firefox: 97.0.1
  npmPackages:
    @sveltejs/adapter-auto: ^1.0.0-next.17 => 1.0.0-next.17
    @sveltejs/adapter-node: ^1.0.0-next.69 => 1.0.0-next.69
    @sveltejs/kit: next => 1.0.0-next.281
    svelte: ^3.46.0 => 3.46.4

Severity
annoyance
Additional Information
No response

Prerendering works by crawling your site. If you want to just prerender specific pages you can use prerender.entries and prerender.crawl: false https://kit.svelte.dev/docs/configuration#prerender


Dungeon placement not working

Dungeon placement stopped working today. It loads the battlefield and doesn't do anything until the battle is ready.

Patched.


Fix grammar error in getRootProps error message

This PR fixes grammar in otherwise bit weird error message, a bit much applying and using there (I think...) 😊

Whoops, snappies need to be updated so GH flow kinda fails there, will do asap.


Change Back-slashes to slashes, for unix compatibility

Maths.h, Camera.cpp, Components.h, LightComponent.h, MeshComponent.h, Entity.h, ImGuiHelper.h
Changed backslashes to slashes, for unix-compatibility
Here's something cherry-picked from the Linux-port branch which tends to conflict with main.
In Unix-like systems, backslashes are only escape symbols, forward slashes are part of the path.
I don't think MSVC cares, since a lot of the newer code does seem to use forward slashes.

Thank you,
I think that was due to visual studio suggesting those include. I will keep that in mind. Thanks!


Don't Merge! PR real time test for webhook case

Docs Build status updates of commit 8a0debe:
:clock10: Pending: waiting for processors (28 builds ahead of you)
:warning: Docs Build is busy, currently there are 28 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 8a0debe:
:clock10: Full build: the average full build time is 5 min(s) 55 sec(s), this is based on the last 735 build(s) for this repository.

Docs Build status updates of commit 8a0debe:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/testing.md
:bulb:Suggestion
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)
Details

docs-ref-conceptual/testing.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results. NOTE: This Suggestion will be elevated to a Warning on 9/1/2019.
[Suggestion] Missing attribute: title. Add a title string to show in search engine results. NOTE: This Suggestion will be elevated to a Warning on 9/1/2019.
[Suggestion] Missing attribute: title. Add a title string to show in search engine results. NOTE: This Suggestion will be elevated to a Warning on 9/1/2019.

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


ccruntime e2e test nightly - unstable

ccruntime e2e test nightly jobs are pretty unstable, latest 5 out of 9 failed.
They aren't failing due same reason. For example:
DEBUG: Pod: cc-operator-controller-manager-ccbbcfdf7-vtk82, Container: kube-rbac-proxy, Restart count: 0
DEBUG: Pod: manager, Container: 3, Restart count:
DEBUG: Pod: cc-operator-daemon-install-2v5xd, Container: cc-runtime-install-pod, Restart count: 0
DEBUG: Pod: cc-operator-pre-install-daemon-hpgqq, Container: cc-runtime-pre-install-pod, Restart count: 0
INFO: No new restarts in 3x21s, proceeding...
INFO: Run tests
INFO: Running operator tests for kata-clh
1..2
Error: The action has timed out.

In another job:
~/actions-runner/_work/operator/operator/install/pre-install-payload
ccruntime.confidentialcontainers.org/ccruntime-sample created
No resources found
No resources found
No resources found
No resources found
No resources found
No resources found
No resources found
No resources found
No resources found
No resources found
ERROR: runtimeclass kata-qemu is not up
INFO: Uninstall the operator
ccruntime.confidentialcontainers.org "ccruntime-sample" deleted
ERROR: there are labels left behind
{"beta.kubernetes.io/arch":"amd64","beta.kubernetes.io/os":"linux","cc-preinstall/done":"true","kubernetes.io/arch":"amd64","kubernetes.io/hostname":"garm-rolg2ncd0m","kubernetes.io/os":"linux","node-role.kubernetes.io/control-plane":"","node.kubernetes.io/exclude-from-external-load-balancers":"","node.kubernetes.io/worker":""}INFO: Shutdown the cluster

I managed to reproduce the ERROR: there are labels left behind while running:
kcli create vm -i ubuntu2204 -P memory=8G -P numcpus=4 -P disks=[50] e2e
kcli ssh e2e
git clone --depth=1 https://github.com/confidential-containers/operator
cd operator/tests/e2e
export PATH="$PATH:/usr/local/bin"
ansible-playbook -i localhost, -c local --tags untagged ansible/main.yml
sudo -E PATH="$PATH" bash -c './cluster/up.sh'
export KUBECONFIG=/etc/kubernetes/admin.conf

followed by a loop:
export "PATH=$PATH:/usr/local/bin"
export KUBECONFIG=/etc/kubernetes/admin.conf

UP=0
TEST=0
DOWN=0

I=0
while :; do
    echo "---< START ITERATION $I: $(date) >--" | tee -a job.log; SECONDS=0
    sudo -E PATH="$PATH" timeout 25m bash -c './operator.sh' || { date; exit -1; }
    UP="$SECONDS"; SECONDS=0; echo "UP    $(date) ($UP)" | tee -a job.log
    sudo -E PATH="$PATH" timeout 25m bash -c ./tests_runner.sh -r kata-qemu || { date; exit -2; }
    TEST="$SECONDS"; SECONDS=0; echo "TESTS $(date) ($TEST)" | tee -a job.log
    sudo -E PATH="$PATH" timeout 25m bash -c './operator.sh uninstall' || { date; exit -3; }
    DOWN="$SECONDS"; SECONDS=0; echo "DOWN  $(date) ($TEST)" | tee -a job.log
    echo -e "---< END ITERATION $I: $(date) ($UP\t$TEST\t$DOWN)\t[$((UP+TEST+DOWN))] >---" | tee -a job.log
    ((I+=1))
done

Which resulted in the left-behind labels. Interesting is that the operator stayed installed and the cc-operator-pre-install-daemon container, which might indicate the first grep (around line 171) finished before it started. Just an assumption at this point, I'm adding some debugs and will re-try that.


Add an option to remove reflect-metadata polyfills from prod bundle

Bug Report or Feature Request (mark with an x)
- [x] feature request

Versions.
@angular/cli: 1.0.3
node: 6.9.5
os: darwin x64
@angular/animations: 4.2.0-beta.1
@angular/common: 4.2.0-beta.1
@angular/compiler: 4.2.0-beta.1
@angular/core: 4.2.0-beta.1
@angular/forms: 4.2.0-beta.1
@angular/http: 4.2.0-beta.1
@angular/material: 2.0.0-beta.4
@angular/platform-browser: 4.2.0-beta.1
@angular/platform-browser-dynamic: 4.2.0-beta.1
@angular/platform-server: 4.2.0-beta.1
@angular/router: 4.2.0-beta.1
@angular/service-worker: 1.0.0-beta.13
@angular/cli: 1.0.3
@angular/compiler-cli: 4.2.0-beta.1

Desired functionality.
reflect-metadata is a sizible chunk of code that slows down the critical path in production mode. It's only needed in the JIT (dev) mode (however we want to drop the need for in from core as well).
Currently there is no way to include the polyfill only for dev bundles. I tried using environment.ts but that gets loaded too late after the reflect api is already used by the app code.
It would be great to have a way to either strip the polyfill or have an alternative entry path for production polyfills.

I ended up implementing this via the following hack:
diff --git a/aio/src/environments/environment.ts b/aio/src/environments/environment.ts
index 69c1f7c8bd2..165a718f559 100644
--- a/aio/src/environments/environment.ts
+++ b/aio/src/environments/environment.ts
@@ -3,6 +3,15 @@
 // `ng build --env=prod` then `environment.prod.ts` will be used instead.
 // The list of which env maps to which file can be found in `angular-cli.json`.

+
+// Reflect.metadata polyfill is only needed in the JIT/dev mode.
+//
+// In order to load these polyfills early enough (before app code), polyfill.ts imports this file to
+// to change the order in the final bundle.
+import 'core-js/es6/reflect';
+import 'core-js/es7/reflect';
+
+
 export const environment = {
   gaId: 'UA-8594346-26', // Staging site
   production: false
diff --git a/aio/src/polyfills.ts b/aio/src/polyfills.ts
index 53bdaf1b864..1e6698d2160 100644
--- a/aio/src/polyfills.ts
+++ b/aio/src/polyfills.ts
@@ -40,9 +40,8 @@
 // import 'web-animations-js';  // Run `npm install --save web-animations-js`.

-/** Evergreen browsers require these. **/
-import 'core-js/es6/reflect';
-import 'core-js/es7/reflect';
+/** HACK: force import of environment.ts/environment.prod.ts to load env specific polyfills */
+import './environments/environment';

 /** ALL Firefox browsers require the following to support `@angular/animation`. **/

works fine, but it's uglify and not obvious that this is what you should do to get rid of the polyfills.

While the solution above works pretty well, be aware that polyfills might end up twice in your bundles - one time in the polyfills bundle, and the second time in the vendor bundle (because environment is part of vendor).
I've discovered this using the webpack-bundle-analyzer, and fixed it by setting the polyfills attribute in the .angular-cli.json file to an empty string (meaning that, consequently, no polyfills bundle will be emitted now).

Instead of doing this via different files, I'm wondering if this could also be achieved using Webpack ...

this has been implemented in v7

Hooray! :)


Add copyright notices to conftests

Also fixed a lint error not sure how that got there??

Also fixed a lint error not sure how that got there??

Relevant issue: https://github.com/quantumlib/Cirq/issues/3716


Time Tracking: GitHub Issues or time tracking tool in Teams; custom field to log hours

Develop documentation for GitHub Issues on how to log hours - if there is a custom field in GitHub or a GitHub integration to a user-friendly time tracking program (a browser extension?), use this to log hours.

Option? https://clockify.me/github-time-tracking

An excellent option! Works great and I see there are webhook options for collecting the hours somewhere where these can get reported. Huge thanks @jimmcgaw, this will be greatly helpful for documenting time spent and for the documentation on this that we should add.


Docs: Why Fuel

After the section on the FuelVM is up, I'll add links to this page to direct the reader to that section for additional reading on the topics.

docs for FuelVM PR is up at #18

done, thank you @adlerjohn


Added italic tags (Text)

Also changed bold to Text and italic to Text because thats how github does it (I just think that'd be more familiar for users).


Provide hex output for Debug impl of HRESULT and NTSTATUS

This should now be consistent with most documented HRESULT and NTSTATUS values.
Fixes #1588

Blocked on #1591


Slider range is hidden but taking up space in css.

Hello,
I have an issue that for some reason, the range of the slider is hidden but taking up space. I'd like to remove that box since I am using angular x-editable to modify the floor and ceiling values of the range. I am using a collapsible div, but I have done a refresh of the slider during the toggle. Can you help?
Steps to reproduce

Create range slider
Put inside of a collapsible div using Bootstrap 3
Hide limit labels

Expected behaviour
The span that is styled with "opacity: 0; left: -34.618px" should not have any content (it should not say 8-36). The span should be empty. I have other sliders that are not hidden in collapsible divs that have this span as an empty span.
Actual behaviour
The span takes up space so that I can no longer click the blue 8.
I started writing a JSFiddle, but you can't see the problem in the fiddle :/. I have other range sliders not in a collapsible div that are fine.

When you start moving a slider value, does the incorrectly positioned span is move to its normal position?

OK I could reproduce your bug in this fiddle: http://jsfiddle.net/ddfkL3ok/ When the slider is small, the hidden label is over the button..

It should be fixed by 5.0.1 release. ;)

Thanks!
On Fri, Jul 1, 2016 at 2:20 AM, Valentin Hervieu<EMAIL_ADDRESS>wrote:

Closed #362
https://github.com/angular-slider/angularjs-slider/issues/362.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular-slider/angularjs-slider/issues/362#event-710098615,
or mute the thread
https://github.com/notifications/unsubscribe/ABnE1hkpIi4kHMjE7lxfxTpcXv1u3bdVks5qRLGjgaJpZM4JCoXg
.

Thank you! Such a quick fix!

For some reason, I can't seem to get access through CDN or npm. Does it just take time for the new release to be registered?

My bad: I forgot to publish it. Now it should be OK.


[BUG] Embeds broken/unreadable

Client Mod
Powercord
Description of bug
Half of the embed is grey.
Steps to reproduce
View an embed
Suspected cause
Discord update
Screenshots

This issue is unique

[X] I have searched the issue tracker and did not find an issue describing my bug.

lmao

Fixed in 727fef9.


inlinegas rnd.h error

1.got the inline head file
python3 syswhispers.py --functions test,test -l inlinegas -o syscalls
2.include the file
syscallsinline.rnd.x64.h
3.complie
x86_64-w64-mingw32-gcc -w -o test.x64.o -c testc -DRANDSYSCALL -masm=intel
when i compile，i got this error
syscalls.h:260:9: error: missing terminating " character
260 | asm(".intel_syntax noprefix
|         ^~~~~~~~~~~~~~~~~~~~~~~
syscalls.h:261:5: error: expected string literal before '.' token
261 |     .global WhisperMain
|     ^
syscalls.h:287:5: error: missing terminating " character

@xenoscr A new line and double quote is missing for each instruction. I'd update the Python code, but think you're the best person to fix at the moment.

I do apologize, I will take a look at this soon @odzhan.


fix(redis): add non set namespace support

Please check if the PR fulfills these requirements

[x] Followed the Contributing guidelines.
[ ] Tests for the changes have been added (for bug fixes/features) with 100% code coverage.
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Fixes namespaces not being respected when useRedisSets is false
NOTES

Happy to add tests if this is needed, some pointers on how/where to do so would be appreciated
Should we first check that this.namespace is defined before using the function? I do not see this being done anywhere else.

@ComfortablyCoding - thanks and we will deploy this in the next two to three weeks.

Thanks!

Hello @jaredwray, hope all is well.
It seems the changes from this PR were added in 2.8.1 but removed in 2.8.2+. They are still present in GitHub but are missing in the actual code release see https://unpkg.com/browse/<EMAIL_ADDRESS>Is there any chance we can get a new release with these changes present?

Thanks!


Bump version to 1.7.0

Should we merge this one after #176 and #178  ?

Should we merge this one after #176 and #178 ?

Should we merge this one after #176 and #178 ?

Ideally also wait for the Github Actions to run the Release Drafter actions before merging it.

@aalaesar now we can merge. I cannot since I created the PR.


add button to open editor log folder

always need it few times a year.. (and inside unity you can only open editor.log directly, not view the prev.log)

added to https://github.com/unitycoder/UnityLauncher/releases/tag/1.0.91


[FEAT]: Custom base urls for OpenAI Voice & Speech

What would you like to see?
The new voice and speech support is great, but the OpenAI provider only supports the official OpenAI servers.  OpenedAI-Speech and LocalAI both support these speech APIs locally, so not allowing custom API URLs is an unnecessary limitation here.

This is what is covered by #1453


Maintenance status vs. other projects

Hey Ben,
Hope you're doing well at GitHub!
Wanted to drop a quick note and ask if this repo is still maintained in light of other tools also existing. I like the plist nature of yours compared to other options like apply-user-defaults which is provided as part of the zero-sh project. In the event that you choose to archive this repo, do you know of other equivalents which could be added to the README prior to retirement?
Since there haven't been commits to this recently (and I can only guess how busy you must be) I figured I'd ask.
Let's catch up sometime!
Thanks,
+Jonathan

I don't personally have a use for it any more. If someone would like to adopt the project, great, if not, I'll likely archive it to indicate it current maintenance state.


Allows package binaries to be passed to job runner

I've recently started using Twitter's Pants Build System to produce binaries for
my pipelines for ease of deployment. This is incompatible with how the streaming
jobs work, but luckily the pre-compiled binary already contains everything I
need to run my streaming jobs.
This allows a package_binary to be specified in a streaming job task, which then
gets used in place of both mrrunner.py and packages.tar. To use this, I just
updated my runner script to act like mrrunner.py when the first argument passed
is map, reduce, or combiner by adding the following lines at its start.
if len(sys.argv) > 1 and sys.argv[1] in ('map', 'reduce', 'combiner'):
    return luigi.mrrunner.main(sys.argv)

This also has the benefit of removing my need to maintain an extensive
extra_modules list because they're already included in my pre-built pex file.

is it possible/easy to add a test for this?

Probably. I'll add some tomorrow.
On Wed, Feb 24, 2016 at 7:01 PM, Erik Bernhardsson<EMAIL_ADDRESS>
wrote:

is it possible/easy to add a test for this?
—
Reply to this email directly or view it on GitHub
https://github.com/spotify/luigi/pull/1565#issuecomment-188578841.

ok would be nice but don't do it if it's nontrivial

Added a couple test cases, caught a nasty bug that broke the original functionality. The minicluster tests caught it too, but I rarely run those on my laptop.

great that you caught a nasty bug! :tada:

Updated to not pass arguments, in accordance with how we're now handling tracking url callbacks. This should be good to merge now.

Thanks! :)


Analytics listenerconfigurations error after WUM update in APIM Analytics 2.6.0

Description:
while trying to use store queries or to view the Analytics tab in the Store or the Publisher the below error is thrown.
Unable to find property 'keyStorePass' on class: org.wso2.transport.http.netty.config.ListenerConfiguration
netty-transports.yml file's configuration change that should be done in order to overcome this
Affected Product Version:
2.6.0
OS, DB, other environment details and versions:
MacOS Mojave 10.14.3
Steps to reproduce:
Start the dashboard and try visiting the url

This issue was introduced via wum update and has been resolved with latest updates.


Pie chart and table mobile viewport issues

@safesurfer fixed above issue in PR#90
We still have issue with the chart on toggling the slider which @ashwinkumar6 is working on it.

Charts are looks fine and made table horizontally scrollable in mobile view. But when we collapse slider, it disturbs the dropdowns a bit (similar to the issue #1049). @ashwinkumar6 is working on this along with #1049 . So I'm moving this to Done.


ubuntu 18 dm_control.viewer error

I have installed dm_control in ubuntu 18.04, but I can't use viewer, other parts seem ok
  File "/home/adol/anaconda3/lib/python3.6/site-packages/dm_control/viewer/gui/__init__.py", line 35, in ErrorRenderWindow     'Cannot create a window because no windowing system could be imported') ImportError: Cannot create a window because no windowing system could be imported
I have installed current nvidia driver, and other dependency (sudo apt install libglfw3 libglew2.0 libgl1-mesa-glx libosmesa6)

I have a successful installation on ubuntu 16.04, on ubuntu 18.04, there is a bug in glew or linux, you can fix it by appending  "fs.inotify.max_user_watches=32768" to /etc/sysctl.d/99-sysctl.conf, the default is smaller than ten thousands

@adol001  Thanks, is it OK to show your /etc/sysctl.d/99-sysctl.conf file? Did you just add that line at the  bottom?

@adol001 Thanks, is it OK to show your /etc/sysctl.d/99-sysctl.conf file? Did you just add that line at the bottom?

I am adol001, yes

@adol001 Thanks, is it OK to show your /etc/sysctl.d/99-sysctl.conf file? Did you just add that line at the bottom?

I am adol001, yes, just add that line.


Hide trashed and spammy comments from knowledge base

After putting comments on helpdesk articles in the trash or marking them as spam they still show up.

@azul could you let me know how to reproduce this bug, I have tried it on my dev and it works fine, thanks

This is actually how it is designed.  You can make the objectionable Post object inactive or edit it, but it is not possible to remove the Topic thread.


fix: secondary navbar overflow (#9891)

Fixes Issue
closes #9891

Changes proposed

Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

Screenshots
Screenshot_20231225_155413
Note to reviewers
I corrected the issue by setting a custom 900px breakpoint specifically for tablets, as the mobile view is intended for smaller screens and not for large screens(1024px).

Could anyone provide a review on my pull request, please?

Sorry for the delay, reviewing it now

@ankittankal why did you request a review, I gave one a few hours ago and there are no new changes or comments?

@ankittankal why did you request a review, I gave a review and feedback a few hours ago and there are no new changes or comments?

I appreciate your initial review and feedback. Apologies for the accidental re-review request; it was unintentional. I'll ensure to avoid any confusion in the future.

hey Eddie, first point is already what happens, git, theme and profile icon are hide in smaller screen.
and the second point is what I have done in new changes, I introduced a screen because the next breakpoint after sm is md  which would be too soon to start hiding icons.

I introduced a screen because the next breakpoint after sm is md which would be too soon to start hiding icons.

I am keen to keep things simple and this will have a knock on effect for other pages. To keep things simple for now I think we should stick to the original break points and make other decisions accordingly - I don't see hiding things earlier as a problem if there is no space


Upgrade the keys in Keys to the macros in Def

This would reduce verbosity and enforce the code-name/runtime-name invariant.

Most of them won't translate because the macro doesn't allow for the key rank to be defined, and Keys does define ranks for them.

Or we can add a method to change the rank.

Fixed in https://github.com/sbt/sbt/pull/3367.


Expand data empty after login

I'm login using this const authData = await pb.collection('users').authWithPassword(username, password); but when i console.log(authData) or i see pocketbase_auth in localstorage expand data is empty. If i call directly using url i got the expand data. How to fix this?
Thank you
Note : i don't rules in collection

If you want to expand relations with the auth call, you have to pass the expand query parameter, similar as in the other regular getList/getOne requests:
// note the empty body is for extra body params (this will most likely change in the near future)
await pb.collection('users').authWithPassword(username, password, {}, {
    expand: "yourRelField"
})

If that's not what you are trying to do, please file a Q&A discussion with more details.

Thank you @ganigeorgiev

   const authData = await pb.collection("users")       .authWithPassword<PBUserRecord>(user, password, {         expand: "roles"      });``
auth data does not have expand in it? Why is that so?
 {     record: {       avatar: '',       collectionId: '_pb_users_auth_',       collectionName: 'users',       created: '2024-04-29 10:19:26.535Z',       dashboard_options: null,       email<EMAIL_ADDRESS>      emailVisibility: false,       favorite: 'mg7jso5gfhqiftc',       id: '0v90hlpe1v77iq1',       name: 'Salman Hanif',       password_changed: true,       phoneNumber: '12345',       roles: [ 'lepwlniod7sk8t8' ],       type: 'admin',       updated: '2024-08-01 12:12:19.922Z',       username: 'salman.hanif',       verified: true     },     token:        'my token'   }


[PROPOSAL] anytime() frequency for the Command Scheduler

I'd like to propose two additional functions for Illuminate\Console\Scheduling\ManagesFrequencies:
/**
 * Schedule the command at a random time.
 *
 * @return $this
 */
public function anytime()
{
    return $this->at(random_int(0, 23) . ':' . random_int(0, 59));
}

/**
 * Schedule the command at a random time between two times.
 *
 * @param  string  $startTime
 * @param  string  $endTime
 * @return $this
 */
public function anytimeBetween($startTime, $endTime)
{
    $startSegments = explode(':', $startTime);
    $endSegments = explode(':', $endTime);

    $startHour = (int) $startSegments[0];
    $startMinutes = (int) ($startSegments[1] ?? 0);

    $endHour = (int) $endSegments[0];
    $endMinutes = (int) ($endSegments[1] ?? 59);

    return $this->at(random_int($startHour, $endHour) . ':' . random_int($startMinutes, $endMinutes));
}

This way I should be able to schedule commands using for example:
$schedule->command('foo:bar')
    ->daily()
    ->anytime();

$schedule->command('foo:bar')
    ->weekdays()
    ->anytimeBetween('9:00', '17:00');

I would also probably recommend to rename the already existing function between() to onlyBetween() as it cannot be used to schedule a job but instead can be used to make sure a command is executed (or not) within a time frame. I find the current name misleading. It's more of a security/limitation measure than actually scheduling something. A command can be scheduled at '23:00' but if between('9:00', '17:00') is used it will never be called.
What do you think? Did I miss something?

I dont think this would actually work. (the chance that your job wouldnt end up running at all would be pretty high)
my understanding of how the scheduler works is every minute you call the command, which then check what jobs are scheduled to run now, and runs those.
if the time is random you are relying on the random time being current time for the job to run

Randomly executing jobs is never a smart idea.
If you really need that feature, use randomes within your task to decide whether to run it or not.

Hi there,
Welcome to Laravel and we are glad to have you as part of the community. Unfortunately this GitHub area is not for ideas, suggestions etc. This is only for issues/bugs with the framework code itself.
I will be closing your ticket here. You are able to open a ticket at https://github.com/laravel/ideas
Alternatively you are able to open a PR using the Contributions guidelines: https://laravel.com/docs/5.7/contributions#which-branch
I will add as someone who does alot of deep work within the scheduler, that the idea of a random schedule wont work, because as @rs-sliske said - it would "randomly" reallocate the job each time the scheduler runs.
It would make more sense just to define a time such as "09:27" and be in control.
Thanks in advance.

@rs-sliske is spot on I think. I forgot the scheduler was executed within one cron job and wasn't really writing entries in a crontab file. Like @mfn pointed, I think I will have to either:

push jobs onto the queue at 9:00am but randomly delay it throughout the day using Delayed Dispatching, hoping I can delay up to 8 hrs with redis/database drivers.
maintain some kind of internal randomised schedule for each job

@laurencei thanks but I think I was just being silly and I don't need to raise anything on laravel/ideas.


flex-row--stretch specifies justify-content

flex-row--stretch specifies justify-content which makes it override the spacing classes due to its position in the file.
AIUI, justify-content should not be required for align-items: stretch to work, so I think it this may be fixed by just deleting justify-content from the shrink helper, unless there's a reason it's necessary, in which case, just reordering would allow the spacing classes to take precedence.

Thanks for filling the issue. I'll take a look today see if I can find a fix. 👍

Fixed, justify-content removed

Awesome, thank you for the rapid turn-around.


training_utils.train() -> training_utils.Trainer

It would be nice to have a Trainer class to run deep inverse experiments, rather than just a train() function, and have modular methods inside for each train step. This is so that for custom experiments (e.g. with new datasets or physics that require different processing) one can simply override the appropriate train step instead of reimplementing the whole training/visualisation pipeline.
One example use-case is that I am currently training a GAN and have overridden Trainer.backward_pass to allow simultaneous updating of 2 optimisers, while reusing all the same training code from deepinv.
In this PR I have

Moved all the training logic such that train(...) is now Trainer(...).train()
Separated the training code into modules such as epoch_eval() and backward_pass()
Left training_utils.test() as is
Added img_interval as argument for controlling frequency of plotting "Test images"

Note that Trainer uses @dataclass to avoid a very lengthy constructor.
Happy to rename methods or reshuffle. Thanks!
Checks to be done before submitting your PR

[ ] python3 -m pytest tests/ runs successfully.
[ ] black . runs successfully.
[ ] make html runs successfully (in the docs/ directory).
[ ] Updated docstrings related to the changes (as applicable).
[ ] Added an entry to the CHANGELOG.rst.

Hi Andrew,
The idea looks quite interesting - the train function is indeed getting out of control in terms of complexity.
Could you please add a small usage example in the comments to illustrate the new usage?
Thanks!

Thanks @tachella ! Trainer can be used in the same way as the original function:
trainer = Trainer(
    model=model,
    train_dataloader=train_dataloader,
    epochs=epochs,
    losses=losses,
    eval_dataloader=test_dataloader,
    scheduler=scheduler,
    physics=physics,
    optimizer=optimizer,
    device=device,
    D=D,
)

trainer.train()

This allows us to for example write custom Trainers without reimplementing all training logic. For example to implement GAN training only requires the following:
class GANTrainer(Trainer):
    """Overrides Trainer with custom backward pass.
    """
    optimizer: GANOptimizer = None # Custom optimizer that wraps optimizers for both G and D
    D: Module = None # Discriminator network

    def backward_pass(self, g, x, y, x_net):
        """Overrides Trainer.backward_pass
        """
        # Train G
        loss_g = self.losses[0](x=x, x_net=x_net, y=y, physics=self.physics[g], model=self.model, D=self.D)

        loss_g.backward(retain_graph=True)

        self.check_clip_grad()

        self.optimizer.G.step()

        # Train D
        self.optimizer.D.zero_grad()

        loss_d = self.losses[1](x=x, x_net=x_net, y=y, physics=self.physics[g], model=self.model, D=self.D)

        loss_d.backward()

        self.optimizer.D.step()

if __name__ == "__main__":
    trainer = GANTrainer(
        model=model,
        train_dataloader=train_dataloader,
        epochs=epochs,
        losses=losses,
        eval_dataloader=test_dataloader,
        scheduler=scheduler,
        physics=physics,
        optimizer=optimizer,
        device=device,
        D=D,
    )

    trainer.train()

I realise there's a lot of docstrings/typing etc. to do, but wanted to see what you guys thought before committing to it all!

Thanks for the demo!
I really like the idea tbh  - it provides a much cleaner way of editing the training without copy-pasting all of the code.
Would you be okay a minimally working example (ie passing tests)?
I know we would have to update many example files and some tests, but we are happy to give you a hand with those if necessary.

@eliottbourrigan @matthieutrs @tachella any progress on this PR?

Thanks for all your feedbacks!
The current implementation allows to do something like this to override the Trainer class (for example if you have a denoiser instead of a backbone image restoration algorithm).
To do so without re-writing the training loop (and hence also the validation loop) I've introduced a sef.forward_pass method. What do you think?
from deepinv.training_utils import Trainer

class MyTrainer(Trainer):
    def __init__(self, *args, **kwargs):
        super(MyTrainer, self).__init__(*args, **kwargs)

    def get_samples_online(self, iterators, g):
        r"""
        Get the samples for the online measurements.

        In this setting, a new sample is generated at each iteration by calling the physics operator.
        This function returns a dictionary containing necessary data for the model inference. It needs to contain
        the measurement, the ground truth, and the current physics operator, but can also contain additional data.

        :param list iterators: List of dataloader iterators.
        :param int g: Current dataloader index.
        :returns: a dictionary containing at least: the ground truth, the measurement, and the current physics operator.
        """
        x, _ = next(
            iterators[g]
        )  # In this case the dataloader outputs also a class label
        x = x.to(self.device)
        physics_cur = self.physics[g]

        y, sigma = physics_cur(x)

        return x, y, physics_cur, sigma

    def model_inference(self, y, physics_cur, sigma):
        r"""
        Perform the model inference.

        It returns the network reconstruction given the samples.

        :param torch.Tensor y: Measurement.
        :param deepinv.physics.Physics physics_cur: Current physics operator.
        :returns: The network reconstruction.
        """
        y = y.to(self.device)
        x_net = self.model(y, sigma)
        return x_net

    def forward_pass(self, iterator, g):
        r"""
        Perform the forward pass.

        It returns the ground truth, the measurement, the current physics operator, and the network reconstruction.
        """
        x, y, physics_cur, sigma = self.get_samples(iterator, g)

        y = y.to(self.device)

        # Run the forward model
        x_net = self.model_inference(y=y, physics_cur=physics_cur, sigma=sigma)

        return x, y, physics_cur, x_net

Thanks for all your feedbacks!
The current implementation allows to do something like this to override the Trainer class (for example if you have a denoiser instead of a backbone image restoration algorithm). To do so without re-writing the training loop (and hence also the validation loop) I've introduced a sef.forward_pass method. What do you think?
from deepinv.training_utils import Trainer

class MyTrainer(Trainer):
    def __init__(self, *args, **kwargs):
        super(MyTrainer, self).__init__(*args, **kwargs)

    def get_samples_online(self, iterators, g):
        r"""
        Get the samples for the online measurements.

        In this setting, a new sample is generated at each iteration by calling the physics operator.
        This function returns a dictionary containing necessary data for the model inference. It needs to contain
        the measurement, the ground truth, and the current physics operator, but can also contain additional data.

        :param list iterators: List of dataloader iterators.
        :param int g: Current dataloader index.
        :returns: a dictionary containing at least: the ground truth, the measurement, and the current physics operator.
        """
        x, _ = next(
            iterators[g]
        )  # In this case the dataloader outputs also a class label
        x = x.to(self.device)
        physics_cur = self.physics[g]

        y, sigma = physics_cur(x)

        return x, y, physics_cur, sigma

    def model_inference(self, y, physics_cur, sigma):
        r"""
        Perform the model inference.

        It returns the network reconstruction given the samples.

        :param torch.Tensor y: Measurement.
        :param deepinv.physics.Physics physics_cur: Current physics operator.
        :returns: The network reconstruction.
        """
        y = y.to(self.device)
        x_net = self.model(y, sigma)
        return x_net

    def forward_pass(self, iterator, g):
        r"""
        Perform the forward pass.

        It returns the ground truth, the measurement, the current physics operator, and the network reconstruction.
        """
        x, y, physics_cur, sigma = self.get_samples(iterator, g)

        y = y.to(self.device)

        # Run the forward model
        x_net = self.model_inference(y=y, physics_cur=physics_cur, sigma=sigma)

        return x, y, physics_cur, x_net

@matthieutrs I like it, I think we'll need a few notebook examples of different ways to implement custom Trainers as it could seem daunting for novices, e.g. training a denoiser, a GAN, custom eval metric... happy to help

This PR has been moved to Last Trainer #181.


Process wouldn't exit when using Ctrl+z for cancelling

Describe the bug
When using go run plugins/xxx/xxx.go  during plugin development, we can use Ctrl+z to cancel the running task gracefully.
However, this also put the process into sleep mode, it won't exit until fg command was issued
To Reproduce
Steps to reproduce the behavior:

Run go run plugins/xxx/xxx.go to launch plugin tasks
Press Ctrl + z
Run htop or ps aux | grep go
See error

Expected behavior
Process exists with out calling fg
Screenshots

It is good way that to use the ctrl+z and bg cambo.


ci(jenkins): deploy to AppVeyor when master branch

What
Release to the AppVeyor when build in the master branch.
No more appveyor based
Why
To remove the dependency with the appveyor.
Tests
See here
An example of a dry-run with some echos!

echo dotnet nuget push "C:\Users\jenkins\workspace\gent-dotnet_ecs-dotnet-mbp_PR-53\src\go.elastic.co\apm\ecs-dotnet\build\output\Elastic.Apm.NLog.1.5.0-ci20200228T170655.nupkg" -k "********" -s "********"

echo dotnet nuget push "C:\Users\jenkins\workspace\gent-dotnet_ecs-dotnet-mbp_PR-53\src\go.elastic.co\apm\ecs-dotnet\build\output\Elastic.Apm.SerilogEnricher.1.5.0-ci20200228T170655.nupkg" -k "********" -s "********"

echo dotnet nuget push "C:\Users\jenkins\workspace\gent-dotnet_ecs-dotnet-mbp_PR-53\src\go.elastic.co\apm\ecs-dotnet\build\output\Elastic.CommonSchema.1.5.0-ci20200228T170655.nupkg" -k "********" -s "********"

echo dotnet nuget push "C:\Users\jenkins\workspace\gent-dotnet_ecs-dotnet-mbp_PR-53\src\go.elastic.co\apm\ecs-dotnet\build\output\Elastic.CommonSchema.BenchmarkDotNetExporter.1.5.0-ci20200228T170655.nupkg" -k "********" -s "********"

echo dotnet nuget push "C:\Users\jenkins\workspace\gent-dotnet_ecs-dotnet-mbp_PR-53\src\go.elastic.co\apm\ecs-dotnet\build\output\Elastic.CommonSchema.NLog.1.5.0-ci20200228T170655.nupkg" -k "********" -s "********"

echo dotnet nuget push "C:\Users\jenkins\workspace\gent-dotnet_ecs-dotnet-mbp_PR-53\src\go.elastic.co\apm\ecs-dotnet\build\output\Elastic.CommonSchema.Serilog.1.5.0-ci20200228T170655.nupkg" -k "********" -s "********"

Artefacts are also stored in Jenkins - see here

@v1v which feed is this publishing into?
It should go into https://ci.appveyor.com/nuget/ecs-dotnet (can supply an API key for).
The retention on these are limited so best not to share with apm-dotnet-agent


Add assign/unassign tests

Pull Request Test Coverage Report for Build 764

0 of 2 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+4.2%) to 86.256%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/logic/commands/contacts/UnassignCommand.java
0
1
0.0%

src/main/java/seedu/address/logic/commands/tasks/UnassignCommand.java
0
1
0.0%

Totals

Change from base Build 762:
4.2%

Covered Lines:
2410

Relevant Lines:
2794

💛  - Coveralls


Removed " from filenames

I think that quotes in filenames are no intended in this situation.
Feel free to reject this PR, if you are not interested :sweat_smile:

I'd like to fix the CI, but it seems that it's compeltely unrelated to my changes:
Failed to compile.
6:22:35 PM:
6:22:35 PM: Module not found: Error: Can't resolve 'dns' in '/opt/build/repo/packages/sdk-demo/node_modules/@hop-protocol/sdk/dist/src'

FYI.

@GollyTicker thanks for fixing the typo!


Add a failing test for #65.

See #65.
I haven't figured out the exact cause of the problem, but a fix for #65 should make this fixture pass.
I've deployed to @sindresorhus's repo, so anyone should be able to just checkout add-ignores-test-fixture if they want to take a crack at solving the problem.

5010bd7 is probably worthwhile on it's own.

:+1: