Added ability to add URLs to playlist

Need to impove this one. It is not tested yet.

diff --git a/cogs/music.py b/cogs/music.py
index 98a90d4..d6b74c2 100644
--- a/cogs/music.py
+++ b/cogs/music.py
@@ -288,9 +288,9 @@ class Music(commands.Cog):
             url = f'https://www.youtube.com{self._urlslist[int(url) - 1]}'
         if not self.url_check(url):
             await ctx.send(boxed_string(
-                _('Wrong URL was given. '
-                'Correlate your URL with suppoted services domains.'
-                '\n(e.g. https://youtu.be/dQw4w9WgXcQ)')))
+                _('The provided URL is not allowed. '
+                  'Correlate your URL with supported services domains.\nExample: '
+                  r'https://youtu.be/dQw4w9WgXcQ')))
             return
         with YoutubeDL(ydl_opts) as ydl:
             info = ydl.extract_info(url)
@@ -381,9 +381,9 @@ class Music(commands.Cog):
             elif song_identifier.startswith('http'):
                 if not self.url_check(song_identifier):
                     await ctx.send(boxed_string(
-                        _('Wrong URL was given. '
-                        'Correlate your URL with suppoted services domains.'
-                        '\n(e.g. https://youtu.be/dQw4w9WgXcQ)')))
+                        _('The provided URL is not allowed. '
+                          'Correlate your URL with supported services domains.\nExample: '
+                          r'https://youtu.be/dQw4w9WgXcQ')))
                     return
                 _playlist.append(song_identifier)
                 song_info = YoutubeDL({'format': 'bestaudio'}).extract_info(song_identifier, download=False)


Test: multiple parallel connections to the same peer

Using this branch of Thali and this branch of ThaliCore.
Running ThaliTest on two devices.
Multiple Issuing multiConnect for 8A0345A5-97B2-4955-A983-4FB2A1BB75A4 fired in parallel without waiting for the previous call to complete.
# setup
# Coordinated replication action test - each device has different local db name
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'listening 55262'
[ThaliCore] BrowserManager.startListeningForAdvertisements
[ThaliCore] Browser.init(serviceType:foundPeer:lostPeer:) peer:2F2C1313-069F-499B-916D-DBD8CDDC334B
[ThaliCore] Browser.startListening
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'discoveryAdvertisingStateUpdateNonTCP: {"discoveryActive":true,"advertisingActive":false}'
[ThaliCore] AdvertiserManager.startUpdateAdvertisingAndListening(onPort:errorHandler:) Peer(uuid: "CD22DF93-C30B-4265-9119-2B50E87EE8BB", generation: 0)
[ThaliCore] Advertiser.startAdvertising with peerID:CD22DF93-C30B-4265-9119-2B50E87EE8BB
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'discoveryAdvertisingStateUpdateNonTCP: {"discoveryActive":true,"advertisingActive":true}'
2017-07-18 11:23:06.613327+0200 ThaliTest[302:48355] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
2017-07-18 11:23:06.681093+0200 ThaliTest[302:48355] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
2017-07-18 11:23:06.692721+0200 ThaliTest[302:48355] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
2017-07-18 11:23:06.702949+0200 ThaliTest[302:48363] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
2017-07-18 11:23:06.796699+0200 ThaliTest[302:48363] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
2017-07-18 11:23:06.848685+0200 ThaliTest[302:48355] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
2017-07-18 11:23:06.849179+0200 ThaliTest[302:48363] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
[ThaliCore] Browser.browser(_:foundPeer:withDiscoveryInfo:) found peer:8A0345A5-97B2-4955-A983-4FB2A1BB75A4:0
[ThaliCore] BrowserManager.foundPeerHandler peer:Peer(uuid: "8A0345A5-97B2-4955-A983-4FB2A1BB75A4", generation: 0)
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Received peerAvailabilityChanged event from native layer [{"peerAvailable":true,"peerIdentifier":"8A0345A5-97B2-4955-A983-4FB2A1BB75A4","generation":0}]'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Received peer availability changed event with {"peerAvailable":true,"peerIdentifier":"8A0345A5-97B2-4955-A983-4FB2A1BB75A4","generation":0}'
2017-07-18 11:23:06.924212+0200 ThaliTest[302:48363] [ViceroyTrace] [ICE][ERROR] 	Send BINDING_REQUEST failed(C01A0041).
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'handlePeerAvailabilityChanged - Emitting {"peerIdentifier":"8A0345A5-97B2-4955-A983-4FB2A1BB75A4","peerAvailable":true,"generation":0,"portNumber":null}'
2017-07-18 09:23:06 - DEBUG thaliMobile: 'Emitting peerAvailabilityChanged from handlePeer {"peerIdentifier":"8A0345A5-97B2-4955-A983-4FB2A1BB75A4","connectionType":"MPCF","peerAvailable":true,"generation":0,"newAddressPort":false}'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Issuing multiConnect for 8A0345A5-97B2-4955-A983-4FB2A1BB75A4 (syncValue: 13)'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Got multiConnect callback'
[ThaliCore] BrowserManager.connectToPeer(_:syncValue:retryCount:completion:) Peer(uuid: "8A0345A5-97B2-4955-A983-4FB2A1BB75A4", generation: 0) found active relay
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'multiConnectResolved: {"syncValue":"13","error":null,"portNumber":55242}'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Issuing multiConnect for 8A0345A5-97B2-4955-A983-4FB2A1BB75A4 (syncValue: 14)'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Got multiConnect callback'
[ThaliCore] BrowserManager.connectToPeer(_:syncValue:retryCount:completion:) Peer(uuid: "8A0345A5-97B2-4955-A983-4FB2A1BB75A4", generation: 0) found active relay
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'multiConnectResolved: {"syncValue":"14","error":null,"portNumber":55242}'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Issuing multiConnect for 8A0345A5-97B2-4955-A983-4FB2A1BB75A4 (syncValue: 15)'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Got multiConnect callback'
[ThaliCore] BrowserManager.connectToPeer(_:syncValue:retryCount:completion:) Peer(uuid: "8A0345A5-97B2-4955-A983-4FB2A1BB75A4", generation: 0) found active relay
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'multiConnectResolved: {"syncValue":"15","error":null,"portNumber":55242}'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Issuing multiConnect for 8A0345A5-97B2-4955-A983-4FB2A1BB75A4 (syncValue: 16)'
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'Got multiConnect callback'
[ThaliCore] BrowserManager.connectToPeer(_:syncValue:retryCount:completion:) Peer(uuid: "8A0345A5-97B2-4955-A983-4FB2A1BB75A4", generation: 0) found active relay
2017-07-18 09:23:06 - DEBUG thaliMobileNativeWrapper: 'multiConnectResolved: {"syncValue":"16","error":null,"portNumber":55242}'

About running only one connection per peer, in that case, we could control it by running only one NotificationAction per peer, so that shouldn't be a big deal, in fact, we did this using custom peer pool policy manager. Or we could also queue them, as Yaron said.
About this issue, I am little bit confused, because we receive only one peerAvailabilityChanged event, so we should start only one NotificationAction, but we call multiConnect 4 times. I will try to debug it later on.
@yaronyg According to your answer in #1941, should we then handle it on Node layer or ThaliCore?

@yaronyg to add context to @mlesnic question: in the native layer, both 'multiConnectToPeer()' and 'BrowserManager.connectToPeer()' don't have any mechanism to detect if multiple parallel connections to the same peer have been issued by the caller.
So right now the result is unpredictable, it may work or not based on timing.
I'm more than willing to add detection and error handling if we decide we should do so.

@enricogior Per this we are explicitly prohibited from ever having multiple outstanding multi-connect calls to the same PeerID. We currently enforce this in a really ham fisted way here. What we are doing is enquing each multiConnect request and then running them one at a time. We will only go to the next one after the first one has finished. In other words, unless there is some horrible bug, there should NEVER be more than one multiConnect outstanding, period. Not just one multiConnect per the same peerID. No, this is more draconian. There should only be one and only one multiConnect outstanding at once.
So it doesn't matter that we first 1000 multiConnects for the same peer (or different peers). One and only one multiConnect request will hit the native layer and the next one won't show up until the first one gets a response.
So what am I missing?

@yaronyg Yess, you're right, no idea how I missed it.. In that case, the issue is different here. @enricogior If you will be able to reproduce it, please provide full logs from all devices to understand what is actually happening here.

@yaronyg @mlesnic you guys are right, I got confused reading the log, the calls to connectToPeer() are done after each one is completed, so the problem is somewhere else.

Turned out the issue was testThaliNotificationClient, where in few places we create instance of NotificationClient, start it and do not stop after test. After that we had additional listeners for peerAvailabilityChanged and instead of firing one NotificationAction, we fired four. The fix is already on master_fix_ios_replication.


Fix running npm ls from atom, use npm utils for appc install, support loading alloy version from global npm

f07be5eadbc891256991c6dc3444807d28f45569 - Fixes a bug where npm ls -g wouldn't show us the packages that are installed because of Atom setting NODE_ENV to production and npm filtering all packages out
430ef2e22012aa64d3c2069eedc46bbba7cfeb40 - Moves the appc install code to use the utils code
1ef888947d3c003b8cd12c257dd23224248e6b60 - Adds support for loading the alloy version from the globally installed npm packages. We have to use npm root -g to do this as the majority of modules that perform global npm lookups make use of process.execPath which is correct for Node environment, but not Electron environments as it points to the renderer process

Warnings

:warning:

:mag: Can't find junit reports at ./junit_report.xml, skipping generating JUnit Report.

New dependencies added: @types/chai-as-promised and chai-as-promised.
@types/chai-as-promised
Author: Unknown
Description: TypeScript definitions for chai-as-promised
Homepage: http://npmjs.com/package/@types/chai-as-promised

Createdalmost 5 years agoLast Updated17 days agoLicenseMITMaintainers1Releases17Direct Dependencies@types/chai

README
Installation

npm install --save @types/chai-as-promised

Summary
This package contains type definitions for chai-as-promised (https://github.com/domenic/chai-as-promised/).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/chai-as-promised.
Additional Details

Last updated: Mon, 06 Jul 2020 22:39:46 GMT
Dependencies: @types/chai
Global values: none

Credits
These definitions were written by jt000, Yuki Kokubun, Leonard Thieu, Mike Lazer-Walker, Matt Bishop, and William Orr.

chai-as-promised
Author: Domenic Denicola
Description: Extends Chai with assertions about promises.
Homepage: https://github.com/domenic/chai-as-promised#readme

Createdalmost 9 years agoLast Updatedover 1 year agoLicenseWTFPLMaintainers1Releases29Direct Dependenciescheck-errorKeywordschai, chai-plugin, browser, async, testing, assertions, promises and promises-aplus

This README is too long to show.

  Generated by :no_entry_sign: dangerJS against 1ef888947d3c003b8cd12c257dd23224248e6b60


Import/export a chain of blocks

...to/from a file for off-line sync.

Import is now covered by teku transition blocks I think, and export via the API.
Closing.


Make chunk-size for catchup determined by receiver

Currently, it is determined by the caller. This is a DoS vulnerability because if you specify a large chunk-size you can get the node to do a large synchronous amount of work.

This is done!


Lazy val ports material ports in parent of modules where the lazy val is defined

Type of issue: bug(?) report

Impact: API modification (but bugfix?)

Development Phase: request
Other information

If the current behavior is a bug, please provide the steps to reproduce the problem:
See my Scastie example: https://scastie.scala-lang.org/fiOI89iyRkagqH66r7OHBA
Pasted below:
import chisel3._

class ChildModule extends MultiIOModule {
  val in = IO(Input(UInt(8.W)))
  lazy val x = IO(Input(UInt(4.W)))
  val out = IO(Output(UInt(8.W)))
  out := in
}

class MyModule extends MultiIOModule {
  val in = IO(Input(UInt(8.W)))
  val out = IO(Output(UInt(8.W)))
  val mod = Module(new ChildModule)
  mod.in := in
  out := mod.out
}

println(chisel3.Driver.emitVerilog(new MyModule))

What is the current behavior?
This add x as a port to MyModule, not to ChildModule as one would expect.
What is the expected behavior?
I'm not 100% sure what the behavior should be, maybe add x as a port to ChildModule, maybe an error.
Please tell us about your environment:
What is the use case for changing the behavior?
The main issue with this is that the behavior can differ based on whether or not you access the lazy val. If it is accessed, it'll materialize in ChildModule, if not, it materializes in MyModule which means if you try to drive it, you get an exception because you're driving MyModules input instead of ChildModules input. Basically, this is very bizarre.

Good use case for linting.


docs: Update VCS and Adapter component diagram

Add colours to separte core, services and demo components

Signed-off-by: Rolson Quadras<EMAIL_ADDRESS>

governance should be a different colour than "core".

@scottallan

governance should be a different colour than "core".

@troyronda added a new colour, with governance label.


it happens to ask me to inpput gerrit password everytime when I open the IDE

Its a nice plugin. But in idea2020.1, it happens to ask me to inpput gerrit password everytime when I open the IDE, I dont know what`s happen

@rockingGitHub Probably this solution helps in your case? https://github.com/uwolfer/gerrit-intellij-plugin/issues/393


Some inputs inside ng-switch don't update the model when changed

Inputs that point to fields directly on the scope (e.g. data-ng-model="fieldName") don't update when inside of an ng-switch case. This works fine for fields that are inside an object (e.g. data-ng-model="item.fieldName").
Here is an example: http://jsfiddle.net/r4RKW/1/

Hi,
I am having this problem, however, I need to bind the ngModel from the parent.
The ng-model attribute of the directive is like "data.title", but the directive creates an element that needs to use the same model.
Inside the template of the directive exists a ng-switch that is troubling me.
How can I bind the model and still uses ng-switch in this case?

@jodinathan - if you provide a plunker (or similar) of your situation you are more likely to get a solution. It is difficult to help with just a description.

@petebacondarwin , here it is
http://jsbin.com/xiradi/edit?html,js,output
thanks

You should not be passing ngModel around like that.
Here is better way: http://jsbin.com/yihuyucamu/1/edit?html,js,output

Hi @petebacondarwin ,
I fixed your JSBIN: http://jsbin.com/behome/edit?html,js,output for anyone that comes here.
Thanks


Update Composer dependencies (2022-01-04-21-12)

Visual regression test passed!
View the visual regression test report


Now QUIC have been release (RFC 9000, RFC 9001 and RFC 9002)

It's not clear what the problem is here, but quiche has supported QUIC v1 for a while, so closing.


Coverage Converter Extension is failing to generate coverage file

Hi,
I am using the Coverage Converter Extension in my Azure DevOps pipeline after the VS Test task and the Coverage converter extension is failing with the below error.
I want to display the code coverage on the build summary. Could anyone please let me know why is it failing?
Have attached the log of Coverage Convertor and VS test task as well.
Generating coverage for file [e:\cache\Agent03\18\s\packages\MSTest.TestAdapter.1.2.1\build_common\ko\Microsoft.VisualStudio.TestPlatform.TestFramework.resources.dll]
Generating coverage for file [e:\cache\Agent03\18\s\packages\MSTest.TestAdapter.1.2.1\build_common\pl\Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.resources.dll]
[run] Error unexpected! Error[spawnSync C:\Windows\system32\cmd.exe ENAMETOOLONG] { Error: spawnSync C:\Windows\system32\cmd.exe ENAMETOOLONG
at Object.spawnSync (internal/child_process.js:1002:20)
at spawnSync (child_process.js:614:24)
at Object.execSync (child_process.js:661:13)
at executeVsTestCodeCoverage (e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:43:21)
at e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:20:13
at Generator.next ()
at e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:8:71
at new Promise ()
at __awaiter (e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:4:12)
at run (e:\cache\Agent03_tasks\CoverageConverter_aec0730c-83af-458f-92b8-37e81a9fed9d\0.1.24\index.js:16:12)
errno: 'ENAMETOOLONG',
code: 'ENAMETOOLONG',
syscall: 'spawnSync C:\Windows\system32\cmd.exe',
path: 'C:\Windows\system32\cmd.exe',
spawnargs:
[ '/d',
'/s',
'/c',
'""C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\PSP.Common.Implementation.Tests\bin\Release\PSP.Common.Implementation.Tests.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\PSP.Configuration.Implementation.Tests\bin\Release\PSP.Configuration.Implementation.Tests.dll" "e:\cache\Agent03\18\s\PSP.Cryptography.Implementation.Test\bin\Release\Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.Interface.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\net45\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\netstandard1.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\netstandard1.0\Microsoft.VisualStudio.TestPlatform.TestFramework.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\uap10.0\Microsoft.VisualStudio.TestPlatform.TestFramework.Extensions.dll" "e:\cache\Agent03\18\s\packages\MSTest.TestFramework.1.4.0\lib\uap10.0\Microsoft.VisualStudio.TestPlatform.TestFramework.dll"  /EnableCodeCoverage"' ],
error: [Circular],
status: null,
signal: null,
output: null,
pid: 0,
stdout: null,
stderr: null }
15_VsTest - testAssemblies.txt
Coverage Converter.txt

Hey @SRP07 ,
Thanks for using the app.
I took a look in the error and it seems that you need to be more specific in your criteria to find the tests. It seems that you have a lot of projects and tests to run, so when the tool try to read all the test and execute the convert we are getting error saying the name of the files is too long.
I would recommend you to try to change your filter for the tests.
In Test Files option, try this:
*\bin*\PSP..Tests.dll
The idea with this filter is to get only tests from your Project, which seems to start with PSP.***
If that still showing the error and we are getting only those files. So try for a specific project like:
In Test Files option, try this:
**\bin*\PSP.SOIManager.Implementation.Tests.dll
If you get the error post the log again please. Let me know how it goes.

Hi Rogeriohsjr,
Thanks for your reply, I tried running the tasks with the filter that you had mentioned in your reply but I got the below errors.
Also, which filter pattern is supported for Test Files option in your task is it the same this is supported for VS Test task? Is it the below one supported,
https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/file-matching-patterns?view=azure-devops
Here are the logs for the error,

Echo (Coverage Converter) task failed when used Test file as **\bin**.Tests.dll
16_Echo.txt

Echo task failed when used Test file as \bin\PSP..Tests.dll
3_Echo.txt

Echo task failed when used Test file as *\bin\PSP.SOIManager.Implementation.Tests.dll
4_Echo.txt

Also attaching the log of successfully executed VS test task for reference,
3_VsTest - testAssemblies.txt

Hey @SRP07 ,
We use findMatch.
https://github.com/Rogeriohsjr/CoverageConverter/blob/a89b3a5f1555a90e57a1dece9525aac1f9a9510b/buildAndReleaseTask/index.ts#L106

Your first example has filtered better, that is an advance, but for some reason we still showing an error.

My bad, I forgot one *(star) between PSP and Test, but your first example filtered what I wanted before. SO we can ignore this.

This one it is missing one *(star), in my example I said: *\bin\PSP.SOIManager.Implementation.Tests.dll in your example you said: *\bin\PSP.SOIManager.Implementation.Tests.dll, this one should filter one project to see if it works.

Another test I would say, try one project, like the third example and see if it pass. I think you solved the first issue of the name too long, now we have another issue happening, which is in the log from the first example.
Let me know how it goes.


New Contribution

Contributor: wheato
SSH Public key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF2ejzSDPTmuEhpS6GVmjckvU2RaNpDs1QTqbhH8xpEW
Attestation: [any form of attestation for contribution (e.g., signature) - Optional]

Start Contribution


Wait for guide to be published before tagging it with a taxon

We have seen some flakiness with this test where it will reach the tagging step before the guide is available in the publishing-api.
Waiting for the guide to be viewable on the frontend means it will be available for tagging.
https://ci.integration.publishing.service.gov.uk/job/publishing-e2e-tests/job/run-tests-continually/126/
https://ci.integration.publishing.service.gov.uk/job/publishing-e2e-tests/job/run-tests-continually/131/

Did you include the right links there? I'm a bit confused as they seem to relate to different tests.
Code looks good, but these sort of fixes always make me nervous of what we might be hiding so be good to understand the reason (as per discard draft)

Doh, I've copied the right URL in this time.


[SPARK-17410] [SPARK-17284] Move Hive-generated Stats Info to HiveClientImpl

What changes were proposed in this pull request?
After we adding a new field stats into CatalogTable, we should not expose Hive-specific Stats metadata to MetastoreRelation. It complicates all the related codes. It also introduces a bug in SHOW CREATE TABLE. The statistics-related table properties should be skipped by SHOW CREATE TABLE, since it could be incorrect in the newly created table. See the Hive JIRA: https://issues.apache.org/jira/browse/HIVE-13792
Also fix the issue to fill Hive-generated RowCounts to our stats.
This PR is to handle Hive-specific Stats metadata in HiveClientImpl.
How was this patch tested?
Added a few test cases.

Test build #64978 has started for PR 14971 at commit efd879d.

Test build #64979 has started for PR 14971 at commit c9cdf44.

Test build #64979 has finished for PR 14971 at commit c9cdf44.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64979/
Test FAILed.

Merged build finished. Test FAILed.

Test build #64978 has finished for PR 14971 at commit efd879d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/64978/
Test PASSed.

Merged build finished. Test PASSed.

Test build #65220 has started for PR 14971 at commit d3dcb56.

Still need a test case for verifying alter table drop/add partitions

Found bugs in the master and 2.0 branch when adding alter table drop/add partitions.

Test build #65220 has finished for PR 14971 at commit d3dcb56.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65220/
Test PASSed.

... Very surprised about Hive... Any ALTER TABLE SET/UNSET TBLPROPERTIES statements can invalidate the Hive-generated statistics...
hiveClient.runSqlHive(s"ANALYZE TABLE $oldName COMPUTE STATISTICS")
hiveClient.runSqlHive(s"DESCRIBE FORMATTED $oldName").foreach(println)

Table Parameters:
	COLUMN_STATS_ACCURATE	true
	numFiles            	1
	numRows             	500
	rawDataSize         	5312
	spark.sql.statistics.numRows	500
	spark.sql.statistics.totalSize	5812
	totalSize           	5812
	transient_lastDdlTime<PHONE_NUMBER>

hiveClient.runSqlHive(s"ALTER TABLE $oldName SET TBLPROPERTIES ('foofoo' = 'a')")
hiveClient.runSqlHive(s"DESCRIBE FORMATTED $oldName").foreach(println)

Table Parameters:
	COLUMN_STATS_ACCURATE	false
	foofoo              	a
	last_modified_by    	xiaoli
	last_modified_time<PHONE_NUMBER>
	numFiles            	1
	numRows             	-1
	rawDataSize         	-1
	spark.sql.statistics.numRows	500
	spark.sql.statistics.totalSize	5812
	totalSize           	5812
	transient_lastDdlTime<PHONE_NUMBER>

Test build #65232 has started for PR 14971 at commit 9e18ba1.

Test build #65232 has finished for PR 14971 at commit 9e18ba1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65232/
Test PASSed.

cc @hvanhovell @cloud-fan Now, the code is ready for review.

@hvanhovell @cloud-fan Could you help me review this PR? https://github.com/apache/spark/pull/15090 is changing the same code path for column-level statistics.
Thanks!

retest this please

Test build #65350 has started for PR 14971 at commit 9e18ba1.

Test build #65350 has finished for PR 14971 at commit 9e18ba1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65350/
Test PASSed.

Will this change break existing behaviour? The MetastoreRelation can have table statistics if the hive table is already analyzed.
BTW, I'd like to have this behaviour:

HiveClient.getTable should return a CatalogTable with stats if this table has stats properties of hive.
HiveExternalCatalog.getTable should get the table via hive client, and overwrite the stats if this table has stats properties of spark, i.e. we trust spark rather than hive.

Any ideas?

It does not break the existing behavior. If the MetastoreRelation has the Hive-generated table statistics, we create a statistics here. If we have Spark-generated statistics, we overwrite the hive-generated one in restoreTableMetadata.
Thus, the current code completely matches what you wants. : )

Let me write a test case to ensure this correctly works and also put more comments in the code.

Test build #65526 has started for PR 14971 at commit 2e4d398.

Test build #65529 has started for PR 14971 at commit 5dfa17e.

Test build #65526 has finished for PR 14971 at commit 2e4d398.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65526/
Test PASSed.

Test build #65529 has finished for PR 14971 at commit 5dfa17e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65529/
Test PASSed.

Merged build finished. Test PASSed.

Test build #65546 has started for PR 14971 at commit 2f40c7f.

Test build #65546 has finished for PR 14971 at commit 2f40c7f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65546/
Test FAILed.

Merged build finished. Test FAILed.

Test build #65548 has started for PR 14971 at commit 3376bd6.

Test build #65548 has finished for PR 14971 at commit 3376bd6.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

retest this please

Test build #65553 has started for PR 14971 at commit 3376bd6.

Test build #65553 has finished for PR 14971 at commit 3376bd6.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65553/
Test FAILed.

Merged build finished. Test FAILed.

Test build #65703 has started for PR 14971 at commit 7ad08fe.

Test build #65703 has finished for PR 14971 at commit 7ad08fe.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65703/
Test PASSed.

Test build #65795 has started for PR 14971 at commit f4c0ebb.

Test build #65796 has started for PR 14971 at commit 4c89d92.

Test build #65795 has finished for PR 14971 at commit f4c0ebb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65795/
Test PASSed.

Test build #65796 has finished for PR 14971 at commit 4c89d92.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65796/
Test PASSed.

Test build #65878 has started for PR 14971 at commit 50ce04e.

Test build #65878 has finished for PR 14971 at commit 50ce04e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65878/
Test PASSed.

Recently, CBO introduces many changes in this part. Let me revisit it. Thank you for the reviews! @cloud-fan

Test build #77036 has started for PR 14971 at commit 22a2c00.

Test build #77037 has started for PR 14971 at commit cce31db.

Test build #77036 has finished for PR 14971 at commit 22a2c00.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77036/
Test PASSed.

Test build #77037 has finished for PR 14971 at commit cce31db.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77037/
Test PASSed.

Test build #77066 has started for PR 14971 at commit aa9a36e.

Test build #77066 has finished for PR 14971 at commit aa9a36e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77066/
Test FAILed.

Test build #77071 has started for PR 14971 at commit 1e4182d.

Test build #77071 has finished for PR 14971 at commit 1e4182d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77071/
Test PASSed.

Test build #77176 has started for PR 14971 at commit 2048c97.

LGTM

Test build #77176 has finished for PR 14971 at commit 2048c97.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77176/
Test FAILed.

seems like a valid test failure

Test build #77196 has started for PR 14971 at commit ea7abd4.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77196/
Test FAILed.

retest this please

Test build #77204 has started for PR 14971 at commit ea7abd4.

Test build #77204 has finished for PR 14971 at commit ea7abd4.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77204/
Test PASSed.

Merged build finished. Test PASSed.

Thanks! Merging to master.


deflate decompression error after around 20% of the file is decompressed

I'm currently migrating from zip to async_zip because my program uses tokio IO everywhere, except for in zip files. I'm using the GitHub main branch, not crates.io because of #64. Here is the function I wrote for extracting a given reader to an output directory:
/// Extract the `input` zip file to `output_dir`
pub async fn extract_zip(
    input: impl AsyncRead + AsyncSeek + Unpin,
    output_dir: &Path,
) -> Result<()> {
    let mut zip = ZipFileReader::new(input).await?;
    for i in dbg!(0..zip.file().entries().len()) {
        dbg!(i);
        let entry = zip.file().entries()[i].entry();
        let path = output_dir.join(entry.filename());

        if entry.dir() {
            create_dir_all(&path).await?;
        } else {
            if let Some(up_dir) = path.parent() {
                if !up_dir.exists() {
                    create_dir_all(up_dir).await?;
                }
            }
            copy(&mut zip.entry(i).await?, &mut File::create(&path).await?).await?;
        }
    }
    Ok(())
}

It's almost identical to your example extractor, minus the sanitation because I trust the download sources (for now at least).
I was getting deflate decompression errors at seemingly random places. So I tried debugging it by printing out the indices and the total length (as shown in the code) and I came to a weird conclusion. It seems decompression fails at around 15%-20% of the total length. I have no idea what's going on, and thanks in advance for any help.

Just pushed https://github.com/Majored/rs-async-zip/commit/28a932f7ef0c29e682419bad9ab50714150c1fee which I think fixes this problem.
We were using the uncompressed size rather than the compressed size when reading. Because all the compression algorithms used are self-terminating, this didn't manifest itself. The upstream error will only ever occur when the compressed size is larger than the uncompressed size, which is what I think was happening here.
If you could pull and test again, that would be helpful.

Yup it works now! Thanks for the quick fix

I also had an issue with writing zip files, which seems to have been fixed by this too!


Weird errors with dart2js and checked mode with functions and Object arguments

With dart2js & checked mode, I get the following exception when running the code at the bottom:
Uncaught Error: type 'constructor' is not a subtype of type '(($int, String) -> void) -> void'
    at Object.wrapException (js_helper.dart:1730)
    at RuntimeFunctionType._check$2 (js_helper.dart:3538)
    at RuntimeFunctionType._assertCheck$1 (js_helper.dart:3521)
    at Object.main (game_web.dart:3)
    at iterable.dart:276
    at init.currentScript (iterable.dart:276)
    at iterable.dart:276
    at iterable.dart:276
wrapException @ js_helper.dart:1730
_check$2 @ js_helper.dart:3538
_assertCheck$1 @ js_helper.dart:3521
main @ game_web.dart:3
(anonymous) @ iterable.dart:276
init.currentScript @ iterable.dart:276
(anonymous) @ iterable.dart:276
(anonymous) @ iterable.dart:276

void main() {
  doWeird(oneArgFunc);
  print('works');
  doWeird(oneArgFuncWeird);
  print("don't get here");
}

oneArgFunc(arg) => null;

oneArgFuncWeird(Object arg) => null;

doWeird(OnHijackCallback callback) => null;

typedef void OnHijackCallback(HijackCallback callback);

typedef void HijackCallback(int stream, String sink);

CC @rakudrama

Currently this is breaking pkg/shelf tests when run w/ dart2js.

FYI @sigmundch – this breaks with the latest pkg/test expectAsyncN methods – I'm guessing we'll see a LOT of folks hit this.

Recent changes to make pkg/test strong-mode clean have raised this issue.

So it appears the issue was that we weren't checking that functions are subtypes of object. Funnily this doesn't come up that easily because the compiler optimizes away checks like is Object, so you need these nested scenarios to reproduce it.
Note that you can also see this issue without check mode by doing is checks on typedefs. For example:
typedef void T(void callback());
void m(Object arg) {}
main() => print('${m is T}');

incorrectly prints false.
CL https://codereview.chromium.org/2599073002/ is out for review


Bug during meetings

Found a bug in the game that when a player dies during a vote, his position immediately changes to the very end (it must be so that the position does not change until the next meeting takes place)
Positions of players before kill:

Kill animation

Positions of the players after the kill

Hello!
This is intended because the mod is focused on high player count

Can make an additional option in the settings to enable or disable this feature?

Why is it so important?

It's not that it's important, but for the "Town Of Us" and "The Other Roles" mod, a more important function, because when guessing the player, he abruptly changes position and goes to the very end and the orientation is lost who was alive and guessed, and who was already dead

In fact, you can leave this function


Allow arbitrary scaling laws for centroid sizes

As discussed in #30 it makes sense to allow other scaling laws for centroid sizes than 4*q*(1-q). For example, 2*sqrt(q*(1-q)) could be useful if the underlying distribution needs to be estimated. Sometimes only one-sided extreme quantiles are interesting. For example, in case of response times, where slow values (quantiles close to 100%) are more interesting, it could make sense to have a scaling law like (q<0.5)?1.:4.*q*(1-q).

I have been noodling on this a bit in conjunction with your "Improved bounds" comments and I understand now why the root limit provides such good access.
The simplest error bound is proportional to the count for each centroid.  This is the rationale of the original bound.
The measured accuracy for the t-digest in practical tests is much better than this due to the use of interpolation.  If we assume the ideal case that the contents of each centroid are uniformly distributed between the mid-points to the adjacent centroids, then linear interpolation between these points should give us a piece-wise linear approximation of the empirical CDF.  The error of this approximation is obviously second-order in the centroid count, not linear.  This means that the root limit on centroid size should actually give the desired constant relative accuracy in q near the extremes and the original size limit should give us over-kill.
The real benefit, is that the root limit gives not only an asymptotic bound on the number of required centroids, but also gives a substantially smaller number of centroids in practice as reasonable numbers of data points.  At 10^6 data points with $1/\delta = 50$, the standard limit gives 321 centroids (best case) and the root limit gives less than 80 for a 4:1 savings.  With 100 samples, the two approaches give the same number of centroids.

I have been noodling on this a bit in conjunction with your "Improved bounds" comments and I understand now why the root limit provides such good access.
The simplest error bound is proportional to the count for each centroid. This is the rationale of the original bound.
The measured accuracy for the t-digest in practical tests is much better than this due to the use of interpolation. If we assume the ideal case that the contents of each centroid are uniformly distributed between the mid-points to the adjacent centroids, then linear interpolation between these points should give us a piece-wise linear approximation of the empirical CDF. The error of this approximation is obviously second-order in the centroid count, not linear. This means that the root limit on centroid size should actually give the desired constant relative accuracy in q near the extremes and the original size limit should give us over-kill.
The real benefit, is that the root limit gives not only an asymptotic bound on the number of required centroids, but also gives a substantially smaller number of centroids in practice as reasonable numbers of data points. At 10^6 data points with $1/\delta = 50$, the standard limit gives 321 centroids (best case) and the root limit gives less than 80 for a 4:1 savings. With 100 samples, the two approaches give the same number of centroids.

I am closing this since all the recent implementations use the root limit. This root limit gives a fixed and well understood bound on size of the digest as well as providing good empirical error bounds.
There has been no serious demand for alternative limits.


Implement HelloRetryRequest

When the client doesn't send a key share from a supported group, the server should send a HelloRetryRequest message.  If the client hasn't generated key shares for all supported groups, it should generate one and retry the ClientHello.

Fixed by #109

Well, maybe not.  That patch doesn't cover the case where the server gets an incomplete DH offer.

Related to this, groups we don't know about in the ClientHello key_shares should be skipped over.  Currently they cause a handshake failure, because share.SizeValid() for those shares is false. This is going to become a problem with the GREASE RFC being adopted for TLS 1.3, which will intentionally inject invalid group IDs into key_shares (and other extension fields).
https://www.ietf.org/mail-archive/web/tls/current/msg22319.html


VSCode plugin stopped working for the attached program

Please find the below program.
service.txt

Tested on beta1 and working fine. Hence closing the issue. If the issue can be further observed, please reopen


Wrapping doesn't work at all when there is an argument list?

 Here are some examples:
    """Split audio at silences to keep under the size limit.

    It's important to split near the middle of a silent section to prevent splitting on a spoken word and causing
    issues with transcription and diarization.

    Args:
        silent_sections: list of silent sections in ms.
        duration: total length of audio in ms
        audio_size: total size of audio file in bytes
        max_file_size: maximum file size that may exist after splits

    Returns:
        List of points in ms to use to split the audio file into chunks.
    """

Running docformatter on the above does nothing, unless I specify --force-wrap which does what I want for the long line, but botches the argument list:
    """Split audio at silences to keep under the size limit.

    It's important to split near the middle of a silent section to
    prevent splitting on a spoken word and causing issues with
    transcription and diarization.

    Args:     silent_sections: list of silent sections in ms.
    duration: total length of audio in ms     audio_size: total size of
    audio file in bytes     max_file_size: maximum file size that may
    exist after splits

    Returns:     List of points in ms to use to split the audio file
    into chunks.
    """

Compare to what happens if I remove the lists, and also remove --force-wrap:
    """Split audio at silences to keep under the size limit.

    It's important to split near the middle of a silent section to
    prevent splitting on a spoken word and causing issues with
    transcription and diarization.
    """

Is wrapping all or nothing; if there are lists no lines get wrapped? Or are my arg/returns lists malformed? Any insight is appreciated!

+1, docformatter is wrapping summaries nicely for me but not descriptions (i.e. the paragraph under the summary):
        docformatter \
        --wrap-summaries 120 \
        --wrap-descriptions 120 \
        --in-place \
        --pre-summary-newline \
        --close-quotes-on-newline \
        --recursive \
        .

This second line should be reformatted into a small paragraph but is not:
        """
        Initializes a new model and infers the task type from the model definitions.

        This method creates a new model instance based on the provided configuration file. It loads the model configuration, infers the task type if not specified, and initializes the model using the appropriate class from the task map.

        Parameters:
            cfg (str): Path to the model configuration file in YAML format.
            task (str | None): The specific task for the model. If None, it will be inferred from the config.
            model (torch.nn.Module | None): A custom model instance. If provided, it will be used instead of creating a new one.
            verbose (bool): If True, displays model information during loading.

        Raises:
            ValueError: If the configuration file is invalid or the task cannot be inferred.
            ImportError: If the required dependencies for the specified task are not installed.

        Examples:
            >>> model = Model()
            >>> model._new('yolov8n.yaml', task='detect', verbose=True)
        """


Disabled building of the app for non-Win32 platforms

The app is Win32-only (the diff_dir function is only implemented if _WIN32 is defined).

Fix the issues in the latest commits and closed this PR.
This library is in alpha stage and has not been maintained for a long time. The library should work fine, but please do not rely on the current API. API changes are planned.


RAC4691: Enhance the sprint-release script to accept partial failure

RAC4691
Test Done
Tested with 2 private jobs:
SprintTag: run "create tag" stage
SprintRelease: run "jump version" and "create tag" stage

@panpan0000 @changev @yyscamper @anhou

BUILD on-build-config #44 : FAILURE

test this please

:+1:

👍


Update npm version of rogue-cli

Right now npm version of rogue-cli is outdated and not compatible with rogue-app.

upgraded it. v0.6.13 contains your latest PRs


Window#size with for selenium with chromedriver returns larger than expected

On travis using Window#size with selenium and chrome returns a size larger than [window.outerWidth, window.outerHeight], by 1 or 2 pixels in both directions.  Not sure why - needs more investigation

I have same issue, setting size , and I get screenshot, the image size is different on server and my mahcine, do you find any workaround or fix for that?

@RezaRahmati Nope -- I'm guessing it has to do with the window manager being used.  Also on some systems there is a delay between changing the window size and it actually changing, so if you're getting a screenshot immediately after changing the size you may wait to add a slightly delay.

Not much we can do about this, I'm assuming its a rounding issue. Closing


#69 CLI: Move Linting to Linter Class

Closes #69
🔋 Small refactoring, increases test coverage

You are introducing JMockit with this change. Since we are using Spring Boot on server side, there is already Mockito available in the server codebase. I wanted to kindly ask you if it would be much effort for you to rewrite your tests with Mockito. My intention is to keep the number of used libraries low - to make contributions easier.

@fmueller, sure, I was just not sure which library is better to use and used JMockit. I will change it, thanks for the tip.

@fmueller I've switched from JMockit to Mockito in a2e4d2b

LGTM

👍


Assignment 13 -- Finishing previous assignments

Try to complete previous assignments with the help of assistant in the class.
Report your ID and name.
Make a table and list all your assignments from #1 to #14.
Add a column for status of each assignment, whether finished (✔) or not yet (❌).
Add another column for estimation date for finishing when a assignment has not yet finished.

Estimation 6 hours
For discussion, please mention me using @dudung.

Muhammad Kamal's Assignment 13 - Finishing Previous Assignments
Muhammad Kamal (10222087)
Status Table

Assignment Number
Assignment Name
Status
Estimation Date

Assignment 01
Platform preparation #1
✔
Done (12/09/2024)

Assignment 02
Software and platform installation #3
✔
Done (19/09/2024)

Assignment 03
Python basics, Jupyter Notebook and GitHub gist #5
✔
Done (26/09/2024)

Assignment 04
Data lake, and line & scatter plot #6
✔
Done (03/10/2024)

Assignment 05
Review data lake and visualization #7
✔
Done (11/10/2024)

Assignment 06
Hybrid training and resume #8
✔
Done (20/10/2024)

Assignment 07
Midterm survey and random number #9
✔
Done (29/10/2024)

Assignment 08
Midterm #10
✔
Done (31/10/2024)

Assignment 09
Random walk and ABM #11
✔
Done (07/11/2024)

Assignment 10
Introduction to model #12
✔
Done (14/11/2024)

Assignment 11
Survey responses and intro to machine learning #13
✔
Done (23/11/2024)

Assignment 12
Hands-on practice: Generate binary classification data for perceptron #14
✔
Done (28/11/2024)

Jonathan Sugijanto's Assignment 13
ID            :10222007
Name      :Jonathan Sugijanto
A list of my progress in the last 12 assignments can be seen in the table below.

Assignment No.
Status
Finished date

01
✔
(exc) September 19, 2024

02
✔
(exc) September 25, 2024

03
✔
(exc) October 8, 2024

04
✔
(exc) October 16, 2024

05
✔
(exc) October 16, 2024

06
❌
(est) December 16, 2024

07
❌
(est) December 16, 2024

08
✔
(exc) October 31, 2024

09
❌
(est) December 16, 2024

10
❌
(est) December 16, 2024

11
❌
(est) December 16, 2024

12
❌
(est) December 16, 2024

Note: "exc" stands for exact while "est" stands for estimated

Assignments
Status
Estimation date for finishing

Assignment 01
:heavy_check_mark:
-

Assignment 02
:heavy_check_mark:
-

Assignment 03
:heavy_check_mark:
-

Assignment 04
:heavy_check_mark:
-

Assignment 05
:heavy_check_mark:
-

Assignment 06
:heavy_check_mark:
-

Assignment 07
:heavy_check_mark:
-

Assignment 08
:heavy_check_mark:
-

Assignment 09
:heavy_check_mark:
-

Assignment 10
:x:
December 13, 2024

Assignment 11
:heavy_check_mark:
-

Assignment 12
:x:
December 13, 2024

Assignments
Status
Estimation date for finishing

Assignment 01
:heavy_check_mark:
-

Assignment 02
:heavy_check_mark:
-

Assignment 03
:heavy_check_mark:
-

Assignment 04
❌
15 Desember 2024

Assignment 05
✔
-

Assignment 06
:heavy_check_mark:
-

Assignment 07
❌
15 Desember 2024

Assignment 08
:heavy_check_mark:
-

Assignment 09
:heavy_check_mark:
-

Assignment 10
❌
15 Desember 2024

Assignment 11
:heavy_check_mark:
-

Assignment 12
❌
15 Desember 2024

Assignment Number
Assignment Name
Status
Estimation Date

01
Platform preparation
✔
-

02
Software and platform installation
✔
-

03
Python basics, Jupyter Notebook and GitHub gist
✔
-

04
Data lake, and line & scatter plot
✔
-

05
Review data lake and visualization
✔
-

06
Hybrid training and resume
✔
-

07
Midterm survey and random number
✔
-

08
Midterm
✔
-

09
Random walk and ABM
✔
-

10
Introduction to model
✔
-

11
Survey responses and intro to machine learning
✔
-

12
Hands-on practice: Generate binary classification data for perceptron
✔
-

Ahmad Royyan Fatah - 10222065
Assignment 13 - Finishing previous assignments

Assignment Number
Assignment Name
Status
Estimation Date

Assignment 01
Platform preparation #1
✔
Done (19/09/2024)

Assignment 02
Software and platform installation #3
✔
Done (19/09/2024)

Assignment 03
Python basics, Jupyter Notebook and GitHub gist #5
✔
Done (03/10/2024)

Assignment 04
Data lake, and line & scatter plot #6
✔
Done (15/11/2024)

Assignment 05
Review data lake and visualization #7
✔
Done (14/10/2024)

Assignment 06
Hybrid training and resume #8
✔
Done (15/11/2024)

Assignment 07
Midterm survey and random number #9

09/12/2024

Assignment 08
Midterm #10
✔
Done (31/10/2024)

Assignment 09
Random walk and ABM #11
✔
Done (14/11/2024)

Assignment 10
Introduction to model #12

10/12/2024

Assignment 11
Survey responses and intro to machine learning #13

11/12/2024

Assignment 12
Hands-on practice: Generate binary classification data for perceptron #14
✔
Done (5/12/2024)

Muhammad Syamsuddiin (10223075)

Assignment Number
Assignment Name
Status
Estimation Date

Assignment 01
Platform preparation
✅
12 Sep 2024

Assignment 02
Software and platform installation
✅
21 Sep 2024

Assignment 03
Python basics, Jupyter Notebook and GitHub gist
✅
01 Oct 2024

Assignment 04
Data lake, and line & scatter plot
✅
08 Oct 2024

Assignment 05
Review data lake and visualization
✅
14 Oct 2024

Assignment 06
Hybrid training and resume
✅
23 Oct 2024

Assignment 07
Midterm survey and random number
✅
30 Oct 2024

Assignment 08
Midterm
✅
31 Oct 2024

Assignment 09
Random walk and ABM
✅
06 Nov 2024

Assignment 10
Introduction to model
✅
19 Nov 2024

Assignment 11
Survey responses and intro to machine learning
✅
05 Dec 2024

Assignment 12
Hands-on practice: Generate binary classification data for perceptron
✖
13 Dev 2024

Assignment
Status
Estimation Date

Assignment 01: Platform preparation
✔

Assignment 02: Software and platform installation
✔

Assignment 03: Python basics, Jupyter Notebook and GitHub gist
✔

Assignment 04: Review data lake and visualization
✔

Assignment 05: Review data lake and visualization
✔

Assignment 06: Hybrid training and resume
✔

Assignment 07: Midterm survey and random number
✔

Assignment 08: Midterm
✔

Assignment 09: Random walk and ABM
✔

Assignment 10: Introduction to model
✖
15/12/2024

Assignment 11: Survey responses and intro to machine learning
✖
15/12/2024

Assignment 12: Hands-on practice: Generate binary classification data for perceptron
✖
15/12/2024

Azwa Aliyah Zaki (10222080)
Below is the table containing my progress on the assignments and will be regularly updated.

Assignment
Status
Estimation Date

1
✔
-

2
✔
-

3
❌
6 Dec 2024

4
❌
6 Dec 2024

5
❌
7 Dec 2024

6
❌
7 Dec 2024

7
✔
-

8
✔
-

9
✔
-

10
❌
8 Dec 2024

11
✔

12
❌
5 Dec 2024

Assignment
Status
Estimation Date

Assignment 01: Platform preparation 1
✅

Assignment 02: Software and platform installation 2
✅

Assignment 03: Python basics, Jupyter Notebook and GitHub gist 3
✅

Assignment 04: Review data lake and visualization 4
✅

Assignment 05: Review data lake and visualization 5
✅

Assignment 06: Hybrid training and resume 6
✅

Assignment 07: Midterm survey and random number 7
✅

Assignment 08: Midterm 8
✅

Assignment 09: Random walk and ABM 9
✅

Assignment 10: Introduction to model 10
✅

Assignment 11: Survey responses and intro to machine learning 11
✅

Assignment 12: Hands-on practice: Generate binary classification data for perceptron 12
✅

Jonathan Lijaya (10222109)

Assignments
Status
Estimation Date

Assignment 1
✔
-

Assignment 2
✔
-

Assignment 3
✔
-

Assignment 4
✔
-

Assignment 5
✔
-

Assignment 6
✔
-

Assignment 7
✔
-

Assignment 8
✔
-

Assignment 9
✔
-

Assignment 10
✔
-

Assignment 11
✔
-

Assignment 12
✔
-

Assignment Number
Assignment Name
Status
Estimation Date

Assignment 01
Platform preparation #1
[✔]
-

Assignment 02
Software and platform #2
[✔]
-

Assignment 03
Python basics, Jupyter Notebook and GitHub #3
[✔]
-

Assignment 04
Data lake, and line & scatter plot #4
[✔]
-

Assignment 05
Review data lake and visualization  #5
[✔]
-

Assignment 06
Hybrid training and resume #6
[✔]
-

Assignment 07
Midterm survey and random number
[❌]
15 Des 2024

Assignment 08
Midterm #8
[✔]
-

Assignment 09
Random walk and ABM #9
[✔]
-

Assignment 10
Introduction to #10
[✔]
-

Assignment 11
Survey responses and intro to machine learning #11
[✔]
-

Assignment 12
Hands-on practice: Generate binary classification data for perceptron
[❌]
15 Des 2024

Assignment Number
Assignment Name
Status
Estimated Date

Assignment 1
Platform Preparation
✅
-

Assignment 2
Software and Platform
✅
-

Assignment 3
Python Basics, Jupyter Notebook and GitHub
✅
-

Assignment 4
Data Lake, and Line & Scatter Plot
✅
-

Assignment 5
Review Data Lake and Visualization
✅
-

Assignment 6
Hybrid Training and Resume
✅
-

Assignment 7
Midterm Survey and Random Number
✅
-

Assignment 8
Midterm
✅
-

Assignment 9
Random Walk and ABM
✅
-

Assignment 10
Introduction to Model
✅
-

Assignment 11
Survey Responses and Intro to Machine Learning
✅
-

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✅
-

Assignments
Status
Estimation Date

Assignment 1
✔
-

Assignment 2
✔
-

Assignment 3
✔
-

Assignment 4
✔
-

Assignment 5
✔
-

Assignment 6
✔
-

Assignment 7
❌
15 Desember 2024

Assignment 8
✔
-

Assignment 9
❌
15 Desember 2024

Assignment 10
❌
15 Desember 2024

Assignment 11
❌
15 Desember 2024

Assignment 12
✔
-

| Assignment Number | Assignment Name | Status |Estimated Date |
|--------|--------|--------|--------|--------|
| Assignment 1 | #1  | ✔ | - |
| Assignment 2| #3  | ✔ | - |
| Assignment 3 | #5  |✔l | - |
| Assignment 4 | #6  | ✔ | - |
| Assignment 5 | #7  | ✔ | - |
| Assignment 6 | #8  | ✔l | - |
| Assignment 7 | #9  | ✔ | - |
| Assignment 8 | #10  | ✔ | - |
| Assignment 9 | #11  | ✔ | - |
| Assignment 10 | #12  |✔ | - |
| Assignment 11| #13  | ✔ | - |
| Assignment 12 | #14  | ✔ | - |

Assignment No.
Assignment Name
Status
Estimated Finish Date

1
Platform preparation
:white_check_mark:
-

2
Software and platform installation
[x]
-

3
Python basics, Jupyter Notebook and GitHub gist
[x]
-

4
Data lake, and line & scatter plot
[x]
-

5
Review data lake and visualization
[x]
-

6
Hybrid training and resume
[x]
-

7
Midterm survey and random number.
[x]
-

8
Midterm
[x]
-

9
Random walk and ABM
[x]
-

10
Introduction to model
[x]
-

11
Survey responses and intro to machine learning
[x]
-

12
Hands-on practice: Generate binary classification data for perceptron
[x]
-

Ahmad Haffiz Fildzah (10222001)

Assignment No.
Assignment Name
Status
Estimated Finish Date

1
Platform preparation
:white_check_mark:
-

2
Software and platform installation
:white_check_mark:
-

3
Python basics, Jupyter Notebook and GitHub gist
:white_check_mark:
-

4
Data lake, and line & scatter plot
:white_check_mark:
-

5
Review data lake and visualization
:white_check_mark:
-

6
Hybrid training and resume
:white_check_mark:
-

7
Midterm survey and random number.
:white_check_mark:
-

8
Midterm
:white_check_mark:
-

9
Random walk and ABM
:white_check_mark:
-

10
Introduction to model
:white_check_mark:
-

11
Survey responses and intro to machine learning
:white_check_mark:
-

12
Hands-on practice: Generate binary classification data for perceptron
:white_check_mark:
-

DARELL TIMOTHY T (10222014) - ASSIGNMENT 13 : PREVIOUS ASSIGNMENTS
Status Table

Assignment No
Assignment Name
Status
Estimated Date

1
Platform preparation
✅
-

2
Software and Platform Installation
✅
-

3
Python Basics, Jupyter Notebook, Github Gist
✅
-

4
Data lake, and line & scatter plot
✅
-

5
Review data lake and visualization
✅
-

6
Hybrid training and resume
✅
-

7
Midterm survey and random number
✅
-

8
Midterm
✅
-

9
Random walk and ABM
✅
-

10
Introduction to model
✅
-

11
Survey responses and intro to machine learning
✅
-

12
Hands-on practice: Generate binary classification data for perceptron
✅
-

Darell Timothy Tarigan (10222014)

Assignment No.
Assignment Name
Status
Estimated Date

1
Platform Preparation
✅
-

2
Software and Platform Installation
✅
-

3
Python Basics, Jupyter Notebook, Github Gist
✅
-

4
Data lake, and line & scatter plot
✅
-

5
Review data lake and visualization
✅
-

6
Hybrid training and resume
✅
-

7
Midterm survey and random number
✅
-

8
Midterm
✅
-

9
Random walk and ABM
✅
-

10
Introduction to model
✅
-

11
Survey responses and intro to machine learning
✅
-

12
Hands-on practice: Generate binary classification data for perception
✅
-

Assignment No.
Assignment Name
Status
Estimated Date

1
Platform Preparation
✅
-

2
Software and Platform Installation
✅
-

3
Python Basics, Jupyter Notebook, Github Gist
✅
-

4
Data lake, and line & scatter plot
✅
-

5
Review data lake and visualization
✅
-

6
Hybrid training and resume
-
15 Desember

7
Midterm survey and random number
✅
-

8
Midterm
✅ (belum diunggah di Gist assigment)
15 Desember

9
Random walk and ABM
✅
-

10
Introduction to model
✅
-

11
Survey responses and intro to machine learning
✅
-

12
Hands-on practice: Generate binary classification data for perception
-
15 Desember

Abraham heven philia saragih -  10223038

Status Table

No
Assignment Name
Status
Estimatid deadline

1
Platform Preparation
✅
-

2
Software and Platform Installation
✅
-

3
Python Basics, Jupyter Notebook, Github Gist
✅
-

4
Platform Preparation
✅
-

5
Review data lake and visualization
✅
-

6
Hybrid training and resume
❌
15 December 2024

7
Midterm survey and random number
✅
-

8
Midterm
✅
-

9
Random walk and ABM
✅
-

10
Introduction to model
❌
15 December 2024

11
Survey responses and intro to machine learning
❌
14 December 2024

12
Hands-on practice: Generate binary classification data for perception
✅
-

Assignment Number
Assignment Name
Status
Estimation date for finishing

Assignment 01
Platform preparation #1
✔
-

Assignment 02
Software and platform installation #3
✔
-

Assignment 03
Python basics, Jupyter Notebook and GitHub gist #5
✔
-

Assignment 04
Data lake, and line & scatter plot #6
✔
-

Assignment 05
Review data lake and visualization #7
✔
-

Assignment 06
Hybrid training and resume #8
✔
-

Assignment 07
Midterm survey and random number #9
✔
-

Assignment 08
Midterm #10
✔
-

Assignment 09
Random walk and ABM #11
✔
-

Assignment 10
Introduction to model #12
✔
-

Assignment 11
Survey responses and intro to machine learning #13
✔
-

Assignment 12
Hands-on practice: Generate binary classification data for perceptron #14
✔
-

Afifah Ulya Nadira -10222090

Assignments
Status
Estimation Date

1
✔
-

2
✔
-

3
✔
-

4
✔
-

5
✔
-

6
✔
-

7
✔
-

8
✔
-

9
✔
-

10
✔
-

11
✔
-

12
✔
-

Olvandri Nouva Pratama Assignment 13 - Finishing Previous Assignments
Olvandri Nouva Pratama - 10223033

Assignment Number
Assignment Name
Status
Estimation Date

1
Platform Preparation
✅
-

2
Software and platform installation
✅
-

3
Python basics, Jupyter Notebook and GitHub Gist
✅
-

4
Data lake, and line & scatter plot
✅
-

5
Review data lake and visualization
✅
-

6
Hybrid training and resume
✅
-

7
 Midterm survey and random number
✅
-

8
 Midterm
✅
-

9
Random walk and ABM
✅
-

10
Introduction to model
✅
-

11
Survey responses and intro to machine learning
-
16 Dec 2024

12
Hands-on practice: Generate binary classification data for perceptron
✅
-

Muhammad Fathin Abdul Aziz (10222044)

Assignment Number
Assignment Name
Status

Assignment 01
Platform preparation #1
✔

Assignment 02
Software and platform installation #3
✔

Assignment 03
Python basics, Jupyter Notebook and GitHub gist #5
✔

Assignment 04
Data lake, and line & scatter plot #6
✔

Assignment 05
Review data lake and visualization #7
✔

Assignment 06
Hybrid training and resume #8
✔

Assignment 07
Midterm survey and random number #9
✔

Assignment 08
Midterm #10
✔

Assignment 09
Random walk and ABM #11
✔

Assignment 10
Introduction to model #12
✔

Assignment 11
Survey responses and intro to machine learning #13
✔

Assignment 12
Hands-on practice: Generate binary classification data for perceptron #14
✔

Ilham Ghufroni (10221012)

Table for Assignment Checklist

Assignment Number
Assignment Name
Status
Estimation Date for Finishing

Assignment 01
Platform Preparation #1
✅
-

Assignment 02
Software and Platform Installation #3
✅
-

Assignment 03
Python basics, Jupyter Notebook and GitHub Gist #5
✅
-

Assignment 04
Data Lake, and Line & Scatter Plot #6
✅
-

Assignment 05
Review Data Lake and Visualization #7
✅
-

Assignment 06
Hybrid Training and Resume #8
✅
-

Assignment 07
Midterm Survey and Random Number #9
✅
-

Assignment 08
Midterm #10
✅
-

Assignment 09
Random Walk and ABM #11
✅
-

Assignment 10
Introduction to Model #12
✅
-

Assignment 11
Survey Responses and Intro to Machine Learning #13
✅
-

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron #14
✅
-

Melinda Alberta (10222066)

Assignment Number
Assignment Name
Status
Estimation Date for Finishing

Assignment 01
Platform preparation
✔
-

Assignment 02
Software and Platform Installation
✔
-

Assignment 03
Python basics, Jupyter Notebook and GitHub Gist
✔
-

Assignment 04
Data lake, and line & scatter plot
✔
-

Assignment 05
Review Data Lake and Visualization
✔
-

Assignment 06
Hybrid Training and Resume
✔
-

Assignment 07
Midterm Survey and Random Number
✔
-

Assignment 08
Midterm
✔
-

Assignment 09
Random Walk and ABM
✔
-

Assignment 10
Introduction to Model
✔
-

Assignment 11
Survey Responses and Intro to Machine Learning
✔
-

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔
-

Aufa Dirham Hafizh (10222083)

Assignment Number
Assignment Name
Status

Assignment 01
Platform preparation
✔

Assignment 02
Software and Platform Installation
✔

Assignment 03
Python basics, Jupyter Notebook and GitHub Gist
✔

Assignment 04
Data lake, and line & scatter plot
✔

Assignment 05
Review Data Lake and Visualization
✔

Assignment 06
Hybrid Training and Resume
✔

Assignment 07
Midterm Survey and Random Number
✔

Assignment 08
Midterm
✔

Assignment 09
Random Walk and ABM
✔

Assignment 10
Introduction to Model
✔

Assignment 11
Survey Responses and Intro to Machine Learning
✔

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔

Nashwan Chakap Nanggala - 10222036,

No Assignments
Status
Date

1
Submitted
5 December 2024

2
Submitted
15 October 2024

3
Submitted
14 October 2024

4
Submitted
14 October 2024

5
Submitted
17 October 2024

6
Submitted
21 October 2024

7
Submitted
31 October 2024

8
Submitted
31 October 2024

9
Submitted
14 November 2024

10
Submitted
14 November 2024

11
Submitted
2 December 2024

12
Submitted
3 December 2024

Assignment 13 - Finshing Previous Assignment
Nama : Nashwan Chakap Nanggala
ID Student :  10222036

No Assignments
Status
Date

1
Submitted
5 December 2024

2
Submitted
15 October 2024

3
Submitted
14 October 2024

4
Submitted
14 October 2024

5
Submitted
17 October 2024

6
Submitted
21 October 2024

7
Submitted
31 October 2024

8
Submitted
31 October 2024

9
Submitted
14 November 2024

10
Submitted
14 November 2024

11
Submitted
2 December 2024

12
Submitted
3 December 2024

No
Name
Status
Date

1
Platform preparation
✔
13/9/24

2
Software and Platform Installation
✔
22/9/24

3
Python basics, Jupyter Notebook and GitHub Gist
✔
28/9/24

4
Data lake, and line & scatter plot
✔
8/10/24

5
Review Data Lake and Visualization
✔
7/12/24

6
Hybrid Training and Resume
✔
7/12/24

7
Midterm Survey and Random Number
✔
19/12/24

8
Midterm
✔
31/10/24

9
Random Walk and ABM
✔
19/12/24

10
Introduction to Model
✔
21/12/24

11
Survey Responses and Intro to Machine Learning
✔
21/12/24

12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔
21/12/24

Nasya Nabila (10222112)

No Assignments
Status
Date

1
✓
18 September 2024

2
✓
25 September 2024

3
✓
4 October 2024

4
✓
24 October 2024

5
✓
23 October 2024

6
✖
-

7
✓
20 Desember 2024

8
✓
31 October 2024

9
✓
20 Desember 2024

10
✓
20 Desember 2024

11
✓
20 Desember 2024

12
✓
21 Desember 2024

Assignment Number | Assignment Name | Status
-- | -- | --

Assignment Number
Assignment Name
Status

Assignment 01
Platform preparation
✅

Assignment 02
Software and Platform Installation
✅

Assignment 03
Python basics, Jupyter Notebook and GitHub Gist
✅

Assignment 04
Data lake, and line & scatter plot
✅

Assignment 05
Review Data Lake and Visualization
✅

Assignment 06
Hybrid Training and Resume
✅

Assignment 07
Midterm Survey and Random Number
✅

Assignment 08
Midterm
✅

Assignment 09
Random Walk and ABM
✅

Assignment 10
Introduction to Model
✅

Assignment 11
Survey Responses and Intro to Machine Learning
✅

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✅

Assignment Number
Assignment Name
Status

Assignment 01
Platform preparation #1
✅

Assignment 02
Software and platform installation #3
✅

Assignment 03
Python basics, Jupyter Notebook and GitHub gist #5
✅

Assignment 04
Data lake, and line & scatter plot #6
✅

Assignment 05
Review data lake and visualization #7
✅

Assignment 06
Hybrid training and resume #8
✅

Assignment 07
Midterm survey and random number #9
✅

Assignment 08
Midterm #10
✅

Assignment 09
Random walk and ABM #11
✅

Assignment 10
Introduction to model #12
✅

Assignment 11
Survey responses and intro to machine learning #13
✅

Assignment 12
Hands-on practice: Generate binary classification data for perceptron #14
✅

Nomor Tugas
Nama Tugas
Status

Tugas 1
Persiapan platform
✅

Tugas 2
Instalasi perangkat lunak dan platform
✅

Tugas 3
Dasar-dasar Python, Jupyter Notebook dan GitHub gist
✅

Tugas 4
Danau data, dan diagram garis & sebaran
✅

Tugas 5
Tinjauan data lake dan visualisasi
✅

Tugas 6
Pelatihan hibrida dan resume
✅

Tugas 7
Survei tengah semester dan nomor acak
✅

Tugas 8
Ujian Tengah Semester
✅

Tugas 9
Jalan acak dan ABM
✅

Tugas 10
Pengantar model
✅

Tugas 11
Respons survei dan pengenalan pembelajaran mesin
✅

Tugas 12
Praktik langsung: Menghasilkan data klasifikasi biner untuk perceptron
✅

**Angel Betesda Silaban (10223031) **

Nomor Tugas
Nama Tugas
Status

Tugas 1
Persiapan platform
✅

Tugas 2
Instalasi perangkat lunak dan platform
✅

Tugas 3
Dasar-dasar Python, Jupyter Notebook dan GitHub gist
✅

Tugas 4
Danau data, dan diagram garis & sebaran
✅

Tugas 5
Tinjauan data lake dan visualisasi
✅

Tugas 6
Pelatihan hibrida dan resume
✅

Tugas 7
Survei tengah semester dan nomor acak
✅

Tugas 8
Ujian Tengah Semester
✅

Tugas 9
Jalan acak dan ABM
✅

Tugas 10
Pengantar model
✅

Tugas 11
Respons survei dan pengenalan pembelajaran mesin
✅

Tugas 12
Praktik langsung: Menghasilkan data klasifikasi biner untuk perceptron
✅

Assignment Number
Assignment Name
Status

Assignment 01
Platform preparation
✔

Assignment 02
Software and Platform Installation
✔

Assignment 03
Python basics, Jupyter Notebook and GitHub Gist
✔

Assignment 04
Data lake, and line & scatter plot
✔

Assignment 05
Review Data Lake and Visualization
✔

Assignment 06
Hybrid Training and Resume
✔

Assignment 07
Midterm Survey and Random Number
✔

Assignment 08
Midterm
✔

Assignment 09
Random Walk and ABM
✔

Assignment 10
Introduction to Model
✔

Assignment 11
Survey Responses and Intro to Machine Learning
✔

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔

Aldi Wahyu Permana - 10223039

Assignment Number
Assignment Name
Status

Assignment 01
Platform preparation
✔

Assignment 02
Software and Platform Installation
✔

Assignment 03
Python basics, Jupyter Notebook and GitHub Gist
✔

Assignment 04
Data lake, and line & scatter plot
✔

Assignment 05
Review Data Lake and Visualization
✔

Assignment 06
Hybrid Training and Resume
✔

Assignment 07
Midterm Survey and Random Number
✔

Assignment 08
Midterm
✔

Assignment 09
Random Walk and ABM
✔

Assignment 10
Introduction to Model
✔

Assignment 11
Survey Responses and Intro to Machine Learning
✔

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔

Muhammad Rasyid Ghifari (10223064)
List of Assignment

No
Assignments
Assignments Name
Status

1
Assignment 1
Platform preparation
✔

2
Assignment 2
Software and Platform Installation
✔

3
Assignment 3
Python basics, Jupyter Notebook and GitHub Gist
✔

4
Assignment 4
Data lake, and line & scatter plot
✔

5
Assignment 5
Review Data Lake and Visualization
✔

6
Assignment 6
Hybrid Training and Resume
✔

7
Assignment 7
Midterm Survey and Random Number
✔

8
Assignment 8
Midterm
✔

9
Assignment 9
Random Walk and ABM
✔

10
Assignment 10
Introduction to Model
✔

11
Assignment 11
Survey Responses and Intro to Machine Learning
✔

12
Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔

Kristofer Adrian (13123062)
No | Assigenments Name | Status
1 | Platform preparation | Done
2 | Software and Platform Installation | Done
3 | Python basics, Jupyter Notebook and GitHub Gist | Done
4 | Data lake, and line & scatter plot | Done
5 | Review Data Lake and Visualization |Done
6 | Hybrid Training and Resume|
7 | Midterm Survey and Random Number|
8 | Midterm| Done
9 | Random Walk and ABM| Done
10 | Introduction to Model|
11 | Survey Responses and Intro to Machine Learning| Done
12 | Hands-on Practice: Generate Binary Classification Data for Perceptron|

Kayla Sabira Yusuf (10223094)

Assignment Number- | Assignment Name | Status
-- | -- | --
1 | Platform preparation | ✅
2 | Software and Platform Installation | ✅
3 | Python basics, Jupyter Notebook and GitHub Gist | ✅
4 | Data lake, and line & scatter plot | ✅
5 | Review Data Lake and Visualization | ✅
6 | Hybrid Training and Resume | ✅
7 | Midterm Survey and Random Number | ✅
8 | Midterm | ✅ | 31/10/24
9 | Random Walk and ABM | ✅
10 | Introduction to Model | ✅
11 | Survey Responses and Intro to Machine Learning | ✅
12 | Hands-on Practice: Generate Binary Classification Data for Perceptron | ✅

Kayla Sabira Yusuf (10223094)

Assignment Number | Assignment Name | Status
-- | -- | --
Assignment 01 | Platform preparation | ✅
Assignment 02 | Software and Platform Installation | ✅
Assignment 03 | Python basics, Jupyter Notebook and GitHub Gist | ✅
Assignment 04 | Data lake, and line & scatter plot | ✅
Assignment 05 | Review Data Lake and Visualization | ✅
Assignment 06 | Hybrid Training and Resume | ✅
Assignment 07 | Midterm Survey and Random Number | ✅
Assignment 08 | Midterm | ✅
Assignment 09 | Random Walk and ABM | ✅
Assignment 10 | Introduction to Model | ✅
Assignment 11 | Survey Responses and Intro to Machine Learning | ✅
Assignment 12 | Hands-on Practice: Generate Binary Classification Data for Perceptron | ✅

Kayla Sabira Yusuf (10223094)

Assignment Number-
Assignment Name
Status

Assignment 01
Platform preparation
✅

Assignment 02
Software and Platform Installation
✅

Assignment 03
Python basics, Jupyter Notebook and GitHub Gist
✅

Assignment 04
Data lake, and line & scatter plot
✅

Assignment 05
Review Data Lake and Visualization
✅

Assignment 06
Hybrid Training and Resume
✅

Assignment 07
Midterm Survey and Random Number
✅

Assignment 08
Midterm
✅

Assignment 09
Random Walk and ABM
✅

Assignment 10
Introduction to Model
✅

Assignment 11
Survey Responses and Intro to Machine Learning
✅

Assignment 12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✅

Gwen Sevilen 10223067

Assignment Number
Assignment Name
Status

1
Platform preparation
✔

2
Software and Platform Installation
✔

3
Python basics, Jupyter Notebook and GitHub Gist
✔

4
Data lake, and line & scatter plot
✔

5
Review Data Lake and Visualization
✔

6
Hybrid Training and Resume
✔

7
Midterm Survey and Random Number
✔

8
Midterm
✔

9
Random Walk and ABM
✔

10
Introduction to Model
✔

11
Survey Responses and Intro to Machine Learning
✔

12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔

Assignment No.
Status

01
✅

02
✅

03
✅

04
✅

05
✅

06
:white_check_mark:

07
:white_check_mark:

08
✅

09
:white_check_mark:

10
:white_check_mark:

11
:white_check_mark:

12
:white_check_mark:

Eliza Putri Hapsani (10222103)

No.
Assignment
Status

01
Platform preparation
✔

02
Software and Platform Installation
✔

03
Python basics, Jupyter Notebook and GitHub Gist
✔

04
Data lake, and line & scatter plot
✔

05
Review Data Lake and Visualization
✔

06
Hybrid Training and Resume
✔

07
Midterm Survey and Random Number
✔

08
Midterm
✔

09
Random Walk and ABM
✔

10
Introduction to Model
❌

11
Survey Responses and Intro to Machine Learning
✔

12
Hands-on Practice: Generate Binary Classification Data for Perceptron
✔

10222049_Afrah Yani

Assignment
Status

Assignment 01 -- Platform preparation #1
✔

Assignment 02 -- Software and platform installation #3
✔

Assignment 03 -- Python basics, Jupyter Notebook and GitHub gist #5
✔

Assignment 04 -- Data lake, and line & scatter plot #6
✔

Assignment 05 -- Review data lake and visualization #7
✔

Assignment 06 -- Hybrid training and resume #8
✔

Assignment 07 -- Midterm survey and random number. #9
✔

Assignment 08 -- Midterm #10
✔

Assignment 09 -- Random walk and ABM #11
✔

Assignment 10 -- Introduction to model #12
✔

Assignment 11 -- Survey responses and intro to machine learning #13
✔

Assignment 12 -- Hands-on practice: Generate binary classification data for perceptron #14
✔


Moon UI Console

Add UI console with the following commands:
list
create
delete
get browsers | devices
exit
clear

This allows flexible browser session manipulation.

Fixed in https://github.com/aerokube/moon2/pull/236


⚠ St. Lawrence Global Observatory CKAN Sitemap has degraded performance

In d89bc41, St. Lawrence Global Observatory CKAN Sitemap (https://catalogue.ogsl.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 22203 ms

Resolved: St. Lawrence Global Observatory CKAN Sitemap performance has improved in b9921e6 after 14 minutes.


[BUG] generated response body is always dynamic when status code is 202

Describe the bug
When the response status code is 202, the response body type is not generated properly.
For example, change "200" to "202" in pet_service_json.json:
"/pet/{petId}": {
  "get": {
    "tags": [
      "pet"
    ],
    "summary": "Find pet by ID",
    "description": "Returns a single pet",
    "operationId": "getPetById",
    "produces": [
      "application/xml",
      "application/json"
    ],
    "parameters": [
      {
        "name": "petId",
        "in": "path",
        "description": "ID of pet to return",
        "required": true,
        "type": "integer",
        "format": "int64"
      }
    ],
    "responses": {
      "202": {
        "description": "successful operation",
        "schema": {
          "$ref": "#/definitions/Pet"
        }
      },
      "400": {
        "description": "Invalid ID supplied"
      },
      "404": {
        "description": "Pet not found"
      }
    },
  },

The generated code looks like this:
Future<chopper.Response> petPetIdGet //...

But it should look like this:
Future<chopper.Response<Pet>> petPetIdGet //...

The  type is lost when the status is 202.
I have a swagger JSON file full of such 202 responses, and currently the only workaround is to manually replace them with 200.
Library versions used:
Latest example project

Same thing if schema was under responses.200.content.application/json.schema which is for OpenAPI 3
It should be able to handle:
responses.200.content.application/json.schema
Currently, it only handles:
responses.200.schema
Ref:
https://swagger.io/docs/specification/describing-responses/
Example:
{
   "paths":{
      "/health":{
         "get":{
            "responses":{
               "200":{
                  "description":"Default Response",
                  "content":{
                     "application/json":{
                        "schema":{
                           "type":"object",
                           "properties":{
                              "message":{
                                 "type":"string",
                                 "pattern":"ok"
                              },
                              "uptime":{
                                 "type":"number"
                              },
                              "date":{
                                 "type":"string",
                                 "format":"date-time"
                              }
                           },
                           "required":[
                              "message",
                              "uptime",
                              "date"
                           ],
                           "additionalProperties":false
                        }
                     }
                  }
               }
            }
         }
      }
   }
}


Bug: Text doesn't properly scale with zooming in and out

Good day,
When zooming in and out, in the quest and dialogue box view, the text does not scale together with the boxes. The text seems to always remain the same size. In larger quests and dialogues, where zooming out would be very useful, the feature becomes unusable because the text doesn't scale down with the boxes, resulting in text falling behind the borders of the box and not being readable anywhere.
Another small annoyance that we noticed together with this; when zooming in and out, the zooming doesn't happen on the cursor, but rather the top left of the screen. It makes zooming in and out on specific locations rather difficult, and requires the user to also active move towards the right position during the zooming action.
Currently we run v<IP_ADDRESS>. Have not updated yet to the latest version, but I don't see any mention of this issue in the history, so I assume this issue is still there.
Still loving the software; keep it up!

Thanks for the feedback!
Since I use the zoom feature not that much I did not bothered me much so far, but seeing that people seem to use the zoom feature more than I thought I will take care of this in the upcoming release.

Fixed with v<IP_ADDRESS>


Updating to hadoop 3.1.3

What changes were proposed in this pull request?
Updating spark build to use hadoop-3.1.3 up from hadoop-3.1.0 in order to get fix for https://issues.apache.org/jira/browse/HADOOP-16109.
I observed this bug in pre-prod and have seen it before, although it's rare. For awhile I had thought we had truncated dataframe parquet files. But since finding this bug report it seems to match our error pretty closely.
I had to make it so guava 27.0-jre makes it to the assembly jars; otherwise we get runtime error from hadoop-3.1.3. They apparently upgraded guava in the hadoop stack since 3.1.0.
Update: this has now been seen in production: https://sentry.io/organizations/toast/issues/1405471263/?project=189022
How was this patch tested?
Re-built spark and deployed to a standalone host with Zeppelin running in local mode. Read and queried the same dataframe and query that fails on our current spark build with hadoop-3.1.0.
Original stack trace of error (if you want to copy/paste it):
java.io.EOFException: Reached the end of stream with 1227 bytes left to read
	at org.apache.parquet.io.DelegatingSeekableInputStream.readFully(DelegatingSeekableInputStream.java:104)
	at org.apache.parquet.io.DelegatingSeekableInputStream.readFullyHeapBuffer(DelegatingSeekableInputStream.java:127)
	at org.apache.parquet.io.DelegatingSeekableInputStream.readFully(DelegatingSeekableInputStream.java:91)
	at org.apache.parquet.hadoop.ParquetFileReader$ConsecutiveChunkList.readAll(ParquetFileReader.java:1174)
	at org.apache.parquet.hadoop.ParquetFileReader.readNextRowGroup(ParquetFileReader.java:805)
	at org.apache.spark.sql.execution.datasources.parquet.VectorizedParquetRecordReader.checkEndOfRowGroup(VectorizedParquetRecordReader.java:301)
	at org.apache.spark.sql.execution.datasources.parquet.VectorizedParquetRecordReader.nextBatch(VectorizedParquetRecordReader.java:256)
	at org.apache.spark.sql.execution.datasources.parquet.VectorizedParquetRecordReader.nextKeyValue(VectorizedParquetRecordReader.java:159)
	at org.apache.spark.sql.execution.datasources.RecordReaderIterator.hasNext(RecordReaderIterator.scala:39)
	at org.apache.spark.sql.execution.datasources.FileScanRDD$$anon$1.hasNext(FileScanRDD.scala:101)
	at org.apache.spark.sql.execution.datasources.FileScanRDD$$anon$1.nextIterator(FileScanRDD.scala:181)
	at org.apache.spark.sql.execution.datasources.FileScanRDD$$anon$1.hasNext(FileScanRDD.scala:101)
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.scan_nextBatch_0$(Unknown Source)
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.agg_doAggregateWithKeys_0$(Unknown Source)
	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
	at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
	at org.apache.spark.sql.execution.WholeStageCodegenExec$$anonfun$13$$anon$1.hasNext(WholeStageCodegenExec.scala:636)
	at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:409)
	at org.apache.spark.shuffle.sort.UnsafeShuffleWriter.write(UnsafeShuffleWriter.java:187)
	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
	at org.apache.spark.scheduler.Task.run(Task.scala:123)
	at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Pictures below:

Update April 2021:
I did further tests of this upgrade by building an analytics container and worker AMI and deploying these to preprod. Instructions for how I did this are here. The G2 application in cluster and local mode have been fine as has the converter workflows.

Have we tested this with  spark-application yet? just want to be sure we test that works before merging as that is another source of classpath hell.

Have we tested this with spark-application yet? just want to be sure we test that works before merging as that is another source of classpath hell.

Right, I haven't done that yet, but will do so before merging and put results here.

Have we tested this with spark-application yet? just want to be sure we test that works before merging as that is another source of classpath hell.

Right, I haven't done that yet, but will do so before merging and put results here.

See update form April 2021 in description above.


Restoring queue(s) after switching off and on speakers

I'm doing home automation with Home Assistant, and as part of this, my speakers get switched off via a smart plug when I leave my home, and get switched on automatically when I return. However, it seems that the queues are saved on the speakers in a non-persistent way since they are gone after switching the speakers back on. I have experimented with SoCo to save the queues before switching speakers off, and restoring them afterwards. This works to some extent, more precisely, it appears to work fine for queues containing songs from my local library (served by a NAS via Samba), but not for, e.g., queues containing a Deezer playlist. My question is whether this might be possible with soco-cli? I must admit that I do not expect this, since it seems to be a problem with SoCo (or even Sonos itself), but I thought that I'd ask anyways :-)
Just in case, here's the code I'm using at the moment:
import json
import time
import traceback

from soco.data_structures import DidlMusicTrack, Queue
from soco.snapshot import Snapshot
from soco.discovery import by_name, discover

state.persist('pyscript.sonos_system_state')

ignored_attributes = {'device', 'media_metadata', 'queue', "__len__"}

@service
def save_sonos_system_state():
    start_time = time.time()

    devices = [d.group.coordinator for d in task.executor(discover)]
    uids = [d.uid for d in devices]
    assert len(uids) == len(set(uids))

    try:
        state.delete("pyscript.sonos_system_state")
    except NameError:
        pass
    pyscript.sonos_system_state = ""
    state.setattr("pyscript.sonos_system_state.devices", "")

    failed_devices = []
    for device in devices:
        try:
            snapshot = Snapshot(device, snapshot_queue=True)
            task.executor(snapshot.snapshot)
            snapshot_dict = to_dict(snapshot)
            snapshot_json = json.dumps(snapshot_dict)
            state.setattr(f"pyscript.sonos_system_state.{device.uid}", snapshot_json)

            temp = pyscript.sonos_system_state
            temp = device.player_name if temp == "" else f"{temp}, {device.player_name}"
            pyscript.sonos_system_state = temp

            temp = state.getattr("pyscript.sonos_system_state")["devices"]
            temp = device.uid if temp == "" else f"{temp},{device.uid}"
            state.setattr(f"pyscript.sonos_system_state.devices", temp)

            log.debug(f"Device {device.player_name} (UID: {device.uid}) saved successfully")
        except Exception:
            failed_devices.append(device)
            log.error(f"Error while saving device {device.player_name} (UID: {device.uid}):\n" + repr(traceback.format_exc()))

    duration = int(time.time() - start_time)
    success_devices = [d for d in devices if d not in failed_devices]
    log.info(
        f"Saving Sonos system state done: Saved {len(success_devices)} devices ({pyscript.sonos_system_state}), took {duration}s")

@service
def restore_sonos_system_state():
    try:
        state.get("pyscript.sonos_system_state")
    except NameError:
        log.warning("Sonos restore called, but no saved system state found. Nothing to do...")
        return

    start_time = time.time()

    state_attributes = state.getattr("pyscript.sonos_system_state")
    device_uids = state_attributes["devices"].split(",")

    device_names = {}
    failed_uids = []
    for device_uid in device_uids:
        try:
            snapshot_json = state_attributes[device_uid]
            snapshot_dict = json.loads(snapshot_json)
            snapshot = from_dict(snapshot_dict)
            device_names[device_uid] = snapshot.device.player_name
            task.executor(snapshot.restore, True)
            log.debug(f"Device {snapshot.device.player_name} (UID: {device_uid}) restored successfully")
        except Exception:
            log.error(f"Error while restoring device {device_uid}:\n" + repr(traceback.format_exc()))
            failed_uids.append(device_uid)

    if len(failed_uids) > 0:
        log.error(f"Errors occured while restoring device states (see above). State is not deleted (in case it's a "
                  f"temporary problem) - try service call again later...")
    else:
        state.delete("pyscript.sonos_system_state")

    duration = int(time.time() - start_time)
    success_uids = [u for u in device_uids if u not in failed_uids]
    log.info(f"Sonos system restore done: restored {len(success_uids)} devices ({', '.join(map(lambda u : device_names[u], success_uids))}), took {duration}s")

def to_dict(snapshot):
    result = {
        'attributes': {k: v for k, v in snapshot.__dict__.items() if k not in ignored_attributes},
        'device_uid': snapshot.device.uid,
        'device_name': snapshot.device.player_name
    }
    if snapshot.queue:
        result['queue'] = [{
            "elements": [e.to_dict() for e in q],
            "number_returned": q.number_returned,
            "total_matches": q.total_matches,
            "update_id": q.update_id
        } for q in snapshot.queue]
    return result

def from_dict(snapshot_dict):
    device = find_device(snapshot_dict["device_uid"], snapshot_dict["device_name"])
    snapshot = Snapshot(device)

    for k, v in snapshot_dict["attributes"].items():
        snapshot.__dict__[k] = v

    if 'queue' in snapshot_dict:
        snapshot.queue = []
        for q in snapshot_dict['queue']:
            queue = Queue([], q["number_returned"], q["total_matches"], q["update_id"])
            for e in q['elements']:
                track = DidlMusicTrack.from_dict(e)
                track.uri = track.resources[0].uri  # hack to avoid SoCo crashing - with this it works :-)
                queue.append(track)
            snapshot.queue.append(queue)

    return snapshot

def find_device(uid, name):
    devices = [d.group.coordinator for d in task.executor(discover) if d.uid == uid]
    if len(devices) == 0:
        raise Exception(f"Did not find device {name} (UID: {uid})")
    if len(devices) > 1:
        raise Exception(f"Found more then one device with UID {uid}: {', '.join(d.player_name for d in devices)}")
    device = devices[0]
    if device.player_name != name:
        log.warning(f"UID {device.uid}: Name of device ({device.player_name}) differs from name in snapshot ({name}). "
                    f"This might be because the device has been renamed. Restoring to this device anyways.")
    return device

In case you are wondering: There's of course some Home Assistant specific stuff in there - e.g. the state stuff etc. The main point is that I'm reading the queues, translate them into a JSON serializable dictionary, and save them into the (persistent) Home Assistant state, and (obviously :-) ) go the other direction for restoring the queues.

Hi @csoltenborn:
Thanks for contributing this issue.

... but not for, e.g., queues containing a Deezer playlist. My question is whether this might be possible with soco-cli? I must admit that I do not expect this, since it seems to be a problem with SoCo (or even Sonos itself), but I thought that I'd ask anyways :-)

Working with music services in SoCo is a little complex, and requires SoCo to authenticate with the service as a separate step, before it can add content to the queue. The gory details are at https://github.com/SoCo/SoCo/pull/883.
This is a Sonos limitation, and I suspect it's the problem you're hitting.
SoCo music service authentication is not currently supported in SoCo-CLI for various reasons, so it wouldn't help in this case.

Thanks for letting me know! Looks like a pretty recent development :-) - I then wait for 0.30 to be released and give it another try. I will then close this issue to keep your issue list clean...


Rounded Rectangle's border radius should not scale with height of Rounded Rectangle

Preflight Checklist

[x] I agree to follow the Code of Conduct that this project adheres to.
[x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
A clear and concise description of what the bug is.
I create a Rounded Rectangle and then I want it taller, I drag the bottom edge to increase height, and the border radius becomes larger also. The same doesn't happen if I increase the rectangle's width. I think that's correct, the behavior when increasing the width, and expect the same from increasing the height.
To Reproduce
Steps to reproduce the behavior:

Go to diagrams.net draw.io
Click on rounded rectangle
place it on screen and make taller
see huge border radii

Expected behavior
Not huge border radii
Screenshots

draw.io version (In the Help->About menu of the draw.io editor):

draw.io version 20.2.1

Desktop (please complete the following information):

OS: MacOS
Browser Chrome
Version 103.0.5060.134

Smartphone (please complete the following information):

N/A

Additional context
N/A

Tick "Abs. Arc Size" under Properties:


Update Dependency to Support Latest surrealdb SDK Library Naming Change

I noticed the library currently depends on surrealdb.js version 1.0.0-beta.9, but the latest version is beta 20. In beta 18, the library was renamed from surrealdb.js to just surrealdb. We're currently using the latest version and it required changing the imports to surrealdb instead of surrealdb.js. On your end, and from what I can tell,  this mainly affects import { type RecordId } from "surrealdb.js".
Would you be open to updating the library to support this change? It would ensure compatibility with the latest versions. If not, possibly making a beta version of surrealdb-client-generator to support those of us on SDK beta > 17.

Closing this out as I just noticed that beta 20 is being used. Sorry about that!